ROS多机通信测试ORBSLAM2

3 篇文章 0 订阅


目标:在pc- rex下运行ORBSLAM2代码,尝试使用另外一台机器pc- yangqing显示出来。

ROS分布式多机通信

首先,使两台pc机位于同一网络中,这里我用的是手机热点。
注意:如果使用虚拟机,需要把虚拟机网络设置为桥接模式,方法是:虚拟机 ->设置 ->网路适配器 ->桥接模式(自动):
在这里插入图片描述

在两台pc上分别输入命令查看IP:

ifconfig

查看pc的局域网IP地址:
在这里插入图片描述
将两台pc的/etc/hosts文件中加入对方的IP和计算机名,分别在两台pc终端输入命令:

sudo gedit /etc/hosts

rex机输入yangqing的IP和计算机名:
在这里插入图片描述
另一台计算机同理。
测试网络是否连通,rex终端输入

ping yangqing

yangqing终端输入

ping rex

如果能接受数据,表示两台pc连通,则进行下一步。

设置ROS_MASTER_URI

整个分布式系统只能有一个Master,需要在每个设备(这里是两个pc)都设置。这里设置yangqing为主机,rex为从机。

主机yangqing中断输入:

sudo gedit ~/.bashrc

在末尾加入:

export ROS_HOSTNAME=yangqing
export ROS_MASTER_URI=http://yangqing:11311

然后更新一下:

source ~/.bashrc

从机rex终端输入:

sudo gedit ~/.bashrc

在末尾加入:

export ROS_HOSTNAME=rex
export ROS_MASTER_URI=http://yangqing:11311

然后更新一下:

source ~/.bashrc

测试

主机yangqing终端输入:

roscore
rosrun turtlesim turtlesim_node

从机rex不用启动ROS,终端输入:

rostopic list

可以查看话题,终端输入:

rostopic pub -r 1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, -1.8]'

这时主机yangqing乌龟转圈则说明测试成功。

运行ORBSLAM2

从机rex连接USB摄像头,运行ORBSLAM2。
在主机yangqing端,在rviz可以找到图像话题并显示,但是并不能找到其他话题比如位姿、点云。
想了一会知道了:ORBSLAM2有自己的输出窗口,信息传送到Viewer.cc中,而不是通过节点发布出来,因此没有这些话题。

淦~

收尾

后面的方向可以是编几个节点发布这些话题,然后用rviz显示。
或者使用CCM-SLAM,因为已知它是发布话题的SLAM。

考虑一会后选择CCM-SLAM。
实现步骤是:

  1. CCM跑数据集
  2. CCM跑摄像头
  3. ROS多机通信跑CCM摄像头

奥利给~

后续

ROS多机通信运行CCMSLAM:https://blog.csdn.net/klsjadkls/article/details/116237166

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值