ROS:indigo
Ubuntu:14.04
目的:一台计算机通过Optitrack获得刚体(crazyflie2.0)的姿态信息并广播到同一局域网的其他计算机上(如果只有一台笔记本可以利用虚拟机,文末会提到)
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
网络设置之后会讲
2.motive软件配置
下载及标定
http://blog.csdn.net/banzhuan133/article/details/77938083
选择构建刚体(crazyflie2.0)之后,我们可以看到刚体的实时信息
这里需要注意的是,要给Rigid Body命名,比如这里叫cf1。
之后就是重要的设置网络的部分。
首先要将网络IP设置和软件PC的网络连接路由IP一致,一定要勾选Broadcast,端口一般选择默认端口即可。
注意,有时候会出现找不到你所要广播的路由的情况,这里Local Interface里的路由是哪里来的呢?
对应的就是网络连接里的各个局域网,如果是虚拟连接(如下图1,2),则直接修改IPv4即可,如果是WLAN,直接连接。之后重启motive即可。一般来说,假设连接的局域网IP是192.168.0.190,那么创建一个向路由192.168.0.1广播的地址即可。
3.关闭防火墙
把软件所在PC防火墙都暂时全部关闭,十分重要!!!
4.测试运行
这时候如果直接运行
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也能得到这个结果。这就要提到IP了,上述显示的连接到192.168.0.1:3883,后面是端口,前面是软件所在PC所在IP,也就是vrpn这个节点到哪里去打包optitrack数据,假设对应将launch文件的地址改为192.168.0.190,之后重新运行,如果正确会显示如下
Connection established
Found new sender:cf1
Creating new tracker cf1
总结,这个过程最重要的有两个地方,IP设置一定要对,防火墙一定要关。
5.虚拟机
采用虚拟机的话,选择桥接模式则和上述过程一致(推荐),需要连接到同一局域网内,选择NAT模式的话直接创建一个有线连接即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)