< >
Home » Turtlebot4入门教程 » 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 终端相同的方式设置

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none