ROS和Optitrack通信

来源:互联网 发布:怎么用dede建站 编辑:程序博客网 时间:2024/05/15 08:09

ROS:indigo

Ubuntu:虚拟机14.04(不用虚拟机也可以,在文末会提到)

目的:通过Optitrack获得刚体(crazyflie2.0)的姿态信息,并传给ROS

1.vrpn及网络配置

cd ~/catkin_ws/src

git clone https://github.com/clearpathrobotics/vrpn_client_ros.git

sudo apt-get install ros-indigo-vrpn

安装好之后

cd ~/catkin_ws

catkin_make

之后设置网络

http://blog.csdn.net/banzhuan133/article/details/77887599

2.motive软件配置

下载及标定

http://blog.csdn.net/banzhuan133/article/details/77938083

选择构建刚体(crazyflie2.0)之后,我们可以看到刚体的实时信息


这里需要注意的是,要给Rigid Body命名,比如这里叫cf1。

之后就是重要的设置网络的部分。


首先要将网络IP设置和虚拟机的网络连接路由IP一致,一定要勾选Broadcast,端口一般选择默认端口即可。

3.测试

这时候如果直接运行

roslaunch vrpn_client_ros sample.launch

会出现如下结果

[ INFO] [1506435969.779817154]: Connecting to VRPN server at 192.168.0.1:3883
[ INFO] [1506435970.780847711]: Connection established

这实际上并没有接收到Optitrack的广播信息,因为此时你运行

rostopic echo your_topic_name

并不会找到tf话题,甚至不连接Optitrack也能得到这个结果。这个问题困扰了我很久,我开始以为是防火墙的原因,然后我打开Windows defender将它关了,还是不行。

后面,真的是防火墙的原因,但是我没操做对。正确步骤

打开网络和共享中心--Windows防火墙--启用或关闭Windows防火墙,全部关闭,然后再重新跑一遍就可以了。

正确的结果会出现如下

Connection established

Found new sender:cf1

Creating new tracker cf1


总结,这个过程最重要的有两个地方,IP设置一定要对,防火墙一定要关


4.非虚拟机

如果不采用虚拟机的话,那么就需要两个电脑,一个运行Motive,一个运行Ubuntu,然后连接到同一个局域网,之后遵循两个基本点,IP ,防火墙,OK!






原创粉丝点击