Turtlebot4入门教程-演示-控制多个机器人
Turtlebot4入门教程-演示-控制多个机器人
说明:
- 本教程将介绍如何控制多个TurtleBot4
相关设备:
- Turtlebot4机器人套件:采购地址
ROS_DOMAIN_ID
ROS_DOMAIN_ID是 ROS2 中用于更改 ROS2 进程用于通信的端口的环境变量
这有效地允许我们将不同的 ROS2 进程与同一网络上的彼此通信分开
通过为每个机器人分配一个唯一的ROS_DOMAIN_ID来利用这一点,将确保机器人之间不会发生通信。ROS_DOMAIN_ID可以设置为 0 到 101 之间的任何值,包括 0 和 101 。
设置ROS_DOMAIN_ID
必须在四个位置,设置ROS_DOMAIN_ID环境变量:Create® 3、RPi4终端、RPi4 Robot Upstart Job、用户电脑PC
对于 RPi4 图像 v0.1.3 或更高版本,已经安装了一个脚本ros_config.sh,可以方便地在前3个位置设置ROS_DOMAIN_ID
如果您使用的是早期版本,您可以将脚本复制到/usr/local/bin/您的树莓派上
还需要更新您的脚本,方法是从此处install.py下载并替换./usr/local/bin
只需打开ros_config.sh您的树莓派并按照说明操作即可。请注意,此脚本也可用于在fastrtps和cyclonedds中间件之间切换
确认设置后,脚本会将更改应用到 Create® 3 并重新启动 Create® 应用程序
这可能需要大约一分钟左右的时间
该脚本还将卸载 TurtleBot 4 Robot Upstart 作业,并使用新设置重新安装它
最后,它会将ROS_DOMAIN_ID添加到~/.bashrcRPi4 的文件中
要将更改应用于当前的 RPi4 终端,您需要调用source ~/.bashrc
Create® 3 应用程序重新启动后,尝试ros2 topic list在您的 PC 和 RPi4 上调用以确保所有主题都可见
Create® 3
- 要手动设置Create® 3的ROS_DOMAIN_ID ,请转到webserver网络服务器。Navigate to Application导航到应用程序->Configuration配置。设置Domain ID域 ID,然后单击“Save保存”。然后重新启动应用程序
RPi4 Terminal终端
要在 RPi4 终端上手动设置ROS_DOMAIN_IDexport ROS_DOMAIN_ID=# ,只需调用,替换#为您的 ID 号
请注意,这只会应用于您当前的终端。要将此环境变量应用于所有新终端,请将此行添加到您的~/.bashrc文件中
RPi4 机器人Upstart Job
要更改TurtleBot 4 Robot Upstart 作业的ROS_DOMAIN_ID,需要重新安装该作业
停止turtlebot4服务
sudo systemctl stop turtlebot4.service
- 卸载它
uninstall.py
再次安装它
v0.1.3 或更高版本
install.py <model> --domain #
- v0.1.2
install.py <model> #
用户电脑PC
- ROS_DOMAIN_ID可以在用户 PC 上以与RPi4 终端相同的方式设置
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号