-
Notifications
You must be signed in to change notification settings - Fork 6
face_follower_cn
EN | 中文
#示例 1 - 脸部跟随
#####导航栏
baxter_face_follower 是一个使 baxter 识别你的脸并进行跟随的程序结点 (node) 。
到目前为止这个程序结点 (node) 只在运行于 Ubuntu 12.04 的 ROS Hydro 版本上进行测试。如果你在该版本或者其它版本上运行我们的代码期间遇到问题,请联系我们。
#####文件位置:
- ./demos/demos_sysu_baxter/src/face_follower.py
- ./demos/demos_sysu_baxter/launch/face_follwer.launch
#####订阅的话题 (Subscriptions):
- /cameras/head_camera/camera_info (remap from /camera_info)
- /roi
#####发布的话题 (Publications):
- /robot/head/command_head_pan
上传中……敬请期待!
在你运行这个程序结点 (node) 前, 请确认你的电脑已经正确与 baxter 建立了连接。然后请在终端中运行:
$ roslaunch baxter_demos baxter_face_follower.launch
如果想要获取更多信息或者寻求帮助,可以参阅接下来的 常见问题 部分。
当你运行上面所说的 launch 文件时,它按顺序启动了四个程序结点 (node) 。
第一个被启动的程序结点 (node) 关闭了 baxter 左手位置的摄像头 (left_hand_camera) 。第二个被启动的程序结点 (node) 打开了 baxter 头部位置的摄像头 (head_camera) 。这是因为基于 baxter 内部带宽的限制, baxter 身上同时开启的摄像头的数量最多只能达到2个。 参阅官方说明文档
第三个程序结点 (node) 运行了 rbx1 代码集中的 face_tracker2 。我们的代码需要该程序结点 (node) 进行人脸识别的计算。这意味着你需要先将 rbx1 的代码集下载到你本地的工作空间 (workspace) 中。下载 rbx1 代码,请参阅常见问题部分的Q2。
第四个程序结点 (node) 就是我们编写的用于跟踪脸部的,其中使用到了PD算法。
问1. 可以让图像处理得更快/更精准些吗?
答1. 当然可以。默认的头部位置摄像头 (head_camera) 获取的图像分辨率为480x300。你可以在 launch 文件中对该参数进行更改。请在以下的分辨率中选择其中一个进行更改:1280x800, 960x600, 640x400, 480x300, 384x240, 320x200。选择的分辨率越大,图像处理的速度会越慢,但对脸部的识别会更加精确。
问2. 为什么会出现错误提示 “ResourceNotFound: rbx1_vision” (无法定位 rbx1_vision 资源) 且无法正常运行程序?
答2. 应该没有正确下载 rbx1 代码集导致的。根据下面的命令提示下载 Hydro 版本的 rbx1 代码集:
$ roscd
$ cd src
$ git clone https://github.com/pirobot/rbx1.git
$ cd rbx1
$ git checkout hydro_devel
$ cd ..
$ catkin_make
**问3**. 为什么出现错误提示 “Failed to get current head state from /robot/head/head_state” (无法从 /robot/head/head_state 话题中获得当前头部状态) 且进程终止了?
**答3**. 请确认你可以正常与 baxter 进行连接。如果你输入:
$ rostopic list | grep head_sate
正常情况下你会看到话题 (topic) /robot/head/head_state。