Kinect输出的数据包括640*480的rgb颜色数据以及depth深度数据,计划采用的实验平台是Xilinx提供的Zybo平台,由于Kinect的数据量大,加上3D建模的算法较为复杂,想要在Zybo平台上实现所有的功能恐怕是心有余而力不足,所以就需要在Zybo上做一些相对简单的处理,再将数据发送至PC端实现一些较为复杂的算法和图形显示功能。
由于Zybo上的ROS暂时还未实现,暂且先用两台PC做实验。
在多台机器上部署ROS并不复杂,记住以下几点
- 只能有一个主控制器
ROS master
,选择一台机器运行 - 所有的机器必须配置为使用相同的主控制器,通过设置环境变量
ROS_MASTER_URI
实现 - 所有的机器端口之间都必须有完整的双向连接
- 每台机器都必须要有一个自己的名字,其他的机器通过名字解析 具体设置可以参考ROS/NetworkSetup
实验步骤
这里的MASTER_IP
和SLAVE_IP
分别代表两台机器的IP地址,请自行更改
1.在主机运行
$ export ROS_MASTER_URI=http://MASTER_IP:11311
$ export ROS_IP=MASTER_IP
$ roscore
$ rosrun rospy_tutorials listener.py
2.在从机运行
$ export ROS_MASTER_URI=http://MASTER_IP:11311
$ export ROS_IP=SLAVE_IP
$ rosrun rospy_tutorials talker.py
注意:在bash
中使用export只对当前终端有效,如果新开终端,需要重新设置,所以建议将export ROS_MASTER_URI
和 export ROS_IP
直接写入~/.bash文件