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模式的话直接创建一个有线连接即可。

ROS和Optitrack通信相关推荐

  1. ROS配置分布式通信

    ROS配置分布式通信关键是,机器人和 PC 要处于同一网段. 虚拟机网络适配器设置成桥接. ifconfig查看虚拟机和机器人端的网络连接状态,看是否处于一个网段.下面两图,说明机器人和 PC 都是一 ...

  2. Jetson nano 使用ROS 实现串口通信,并且解析通信协议(C++)

    Jetson nano 使用ROS 实现串口通信 1:首先安装ros下的serial库 sudo apt-get install ros-melodic-serial 其中的melodic根据自己的r ...

  3. [基于STM32底盘控制与ROS上层导航小车制作] 第五节 实现STM32与ubuntu系统下的ROS串口DMA通信,传输底盘速度等信息

    系列文章目录 第一节 stm32电机驱动与编码器读取反馈 第二节 stm32电机pid控制 第三节 stm32线速度标定 第四节 stm32添加mpu6050得到angle角度 第五节 实现STM32 ...

  4. [carla入门教程]-5 使用ROS与carla通信

    本专栏教程将记录从安装carla到调用carla的pythonAPI进行车辆操控并采集数据的全流程,带领大家从安装carla开始,到最终能够熟练使用carla仿真环境进行传感器数据采集和车辆控制. 第 ...

  5. 基于ROS与optitrack的四旋翼飞机开发流程

    本文将一些注意点记录下来,适合于开发调试: 目前只是分段调试通了,带后续联合开发的时候在来补充还有没有什么注意点(过程也算麻烦,也算不麻烦): ROS组网,optitrack 台式机(windows系 ...

  6. 4WD机器人运动控制MDK工程(实现ROS与STM32F407通信)

    关注微信公众号"混沌无形",后台回复:13462EE.免费获取完整工程源码! 本文参考STM32F1与ROS的通信工程:https://blog.csdn.net/qq_36349 ...

  7. ROS之socket通信---TCP/UDP

    1.UDP通信: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <s ...

  8. ROS机器人DIY教程:ROS和STM32通信(常规通信方式和rosserial)之通过上层修改底层参数

    本文主要介绍怎么编写代码实现在上层修改底层参数的相关知识,主要讲解使用两种通信方式来实现 1.rosserial方法,rosserial是官方对arduino提供的一种简单的通信协议,本人对这个库进行 ...

  9. 彻底搞懂ros多机通信机制

    ros可以在两台机器上共享运行,我们该如何配置呢? 以我的电脑PC和嵌入式板卡RV1126进行操作: 1.首先,两台机器肯定要相互通信(有线,无线都可以),我的是无线.运行ifconfig,搞清楚两台 ...

最新文章

  1. 003_SpringBoot整合Filter
  2. css背景图background - 多背景定义
  3. 例子---随机数/不重复的随机数
  4. resultMap标签与resultType的异同
  5. qt 子窗口写到线程就卡死_Qt多线程创建
  6. linux的manual手册不存在,在 Linux 命令行下使用“原力”
  7. java中添加图片_java中添加图片的问题__ImageIcon_panel1_import_image1_useImage__169IT.COM
  8. 代码修改之后MSbuild编译不出最新的dll解决方法
  9. win10系统任务栏不显示最小化窗口的处理步骤
  10. 我的孤独自学之路----kali 安装及更新源
  11. mini-smooth-signature.js:小程序canvas带笔锋手写签名,支持微信/支付宝/钉钉/QQ等多平台小程序使用
  12. 致敬科比,实现查询科比每赛季数据的Web服务器
  13. RGB颜色值与十六进制颜色码
  14. 高中时候想的一个脑洞大开的故事
  15. jupyter notebook 常用魔法函数 Magic Function%time %timeit %who %pip %cd
  16. 一键编译安装LAMP环境
  17. ActiveMQ系列—ActiveMQ中的Queue和Topics
  18. java poi jar包下载_poi.jar下载-poi.jar包下载 (3.8/3.9/3.10)版--pc6下载站
  19. Python学习之爬虫(小甲鱼)
  20. 2018农历新年第一天

热门文章

  1. 68.第十五章 运维自动化之系统部署 -- 利用Cobbler实现自动化安装(三)
  2. 模仿天猫实战【SSM版】——项目起步
  3. 迅雷自带的影音如何删除
  4. python调用通达信函数_Python读取通达信本地数据
  5. 眼睑下垂不仅影响容貌,还会影响孩子视力发育
  6. Android利用IP地址定位城市(全世界可用)
  7. 企业即时通讯系统可以二次开发哪些功能
  8. android 社交类ui设计,社交类APP个人主页UI设计
  9. 为什么选用MySQl数据库?
  10. 计算机启动老是检测硬盘怎么解决,电脑每次开机都要自检怎么办?为什么每次开机都要自检?...