Skip to content

face_follower_cn

Juan Rojas edited this page Dec 2, 2016 · 1 revision

<< 返回主页

EN | 中文

#示例 1 - 脸部跟随



#####导航栏

  1. 概要
  2. 示例视频
  3. 运行
  4. 程序框架
  5. 常见问题




###概要


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

Clone this wiki locally