多个ROS1主节点通信配置

我的配置:

ubuntu20.04

ros-noetic

先决条件:

1、hostname

2、bashrc

3、/etc/hosts 文件

4、同主包

5、swarm-formation仿真

配置:

1、hostname

a b c 电脑依次修改

sudo hostnamectl set-hostname name1
sudo hostnamectl set-hostname name2
sudo hostnamectl set-hostname name3
​
hostname
--查看是否修改成功

2、bashrc

a b c 电脑依次修改

export ROS_MASTER_URI=http://a_ip:11311
export ROS_HOSTNAME=name1
​
export ROS_MASTER_URI=http://b_ip:11311
export ROS_HOSTNAME=name2
​
export ROS_MASTER_URI=http://c_ip:11311
export ROS_HOSTNAME=name3

3、/etc/hosts文件

sudo nano /etc/hosts
​
文件内部添加:
a_ip name1
b_ip name2
c_ip name3

测试:ping 其他主机

4、同主包

sudo apt-get install python3-catkin-pkg python3-rospkg python3-yaml ros-noetic-roslaunch ros-noetic-rostest ros-noetic-rospy ros-noetic-rosunit
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
cd src
git clone https://github.com/fkie/multimaster_fkie.git
cd ..
catkin_make
source devel/setup.bash
写一个launch文件:change.launch
​
<launch>
    <node pkg="fkie_master_discovery" type="master_discovery"           name="master_discovery" output="screen"/>
    <node pkg="fkie_master_sync" type="master_sync" name="master_sync" output="screen"/>
</launch>

测试: a b c 建立同主通信 roslaunch demo change.launch

tipe:demo包需要自己create一个

5、swarm-formation仿真

https://github.com/ZJU-FAST-Lab/Swarm-Formation
--官方链接

最终测试:

在a 电脑上 各开两个终端,a输入:

roslaunch demo change.launch
当观察到建立完全的同步通信之后,再:
​
a主机:
roslaunch ego_planner rviz.launch
roslaunch ego_planner normal_hexagon.launch
​
b c主机:
roslaunch ego_planner normal_hexagon.launch

将出现最终的视频的结果!

https://youtu.be/O3wnqhsXTGk

注意:

多通信过于多的时候,说明实际的主机无法完成繁重的通信需求,可参考的策略是:关闭上网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刚数学的木头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值