万网怎么做网站,两当网站建设,哎呀哎呀在线观看视频高清国语,百度极速版免费下载在机器人开发经常遇到使用两个板子通信问题#xff0c;比如一个板子跑底层的运动控制#xff0c;一个板子跑定位导航。为了确保两个板子之间的ROS通信流畅#xff0c;我们需要在两个板子的.bashrc文件中添加必要的环境变量配置。首先#xff0c;确保你的 /etc/hosts 文件中…在机器人开发经常遇到使用两个板子通信问题比如一个板子跑底层的运动控制一个板子跑定位导航。为了确保两个板子之间的ROS通信流畅我们需要在两个板子的.bashrc文件中添加必要的环境变量配置。首先确保你的 /etc/hosts 文件中包含对方板子的IP和主机名解析。接下来我们详细说明如何修改两个板子的.bashrc文件。 (可选) 修改第一个板子 (ubuntu-22) 的 /etc/hosts 文件 在 /etc/hosts 文件中添加第二个板子的IP和主机名解析 sudo nano /etc/hosts
添加以下内容 192.168.31.126 nvidia-desktop 可选修改第二个板子 (nvidia-desktop) 的 /etc/hosts 文件 在 /etc/hosts 文件中添加第一个板子的IP和主机名解析 sudo nano /etc/hosts
添加以下内容 192.168.31.125 ubuntu-22 修改第一个板子 (ubuntu-22) 的 .bashrc 文件 打开 .bashrc 文件进行编辑 nano ~/.bashrc 在文件末尾添加以下内容 # 设置ROS Master URI export ROS_MASTER_URIhttp://192.168.31.125:11311 # 设置本地ROS主机名 export ROS_HOSTNAME192.168.31.125 保存并关闭文件然后使修改生效 source ~/.bashrc 修改第二个板子 (nvidia-desktop) 的 .bashrc 文件 打开 .bashrc 文件进行编辑 nano ~/.bashrc 在文件末尾添加以下内容 # 设置ROS Master URI export ROS_MASTER_URIhttp://192.168.31.125:11311 # 设置本地ROS主机名 export ROS_HOSTNAME192.168.31.126 保存并关闭文件然后使修改生效 source ~/.bashrc 这样配置完成后两个板子应该可以通过ROS进行低延迟通信。确保在每次修改后使用 source ~/.bashrc 命令使配置生效。
附录1设置ROS Master URI 为什么设为11311设为别的可以吗
设置 ROS_MASTER_URI 中的端口号 11311 是因为这是ROS默认使用的端口号但你可以将其设置为其他未被占用的端口号只要确保双方都使用相同的端口即可。 以下是详细说明 使用默认端口 11311 原因11311 是ROS默认的主节点Master端口号。这样设置可以避免修改默认设置减少配置错误的可能性。 好处大多数ROS文档和示例都使用 11311遵循默认值可以简化配置和调试。 使用自定义端口 你可以将端口号设置为其他值只要确保双方一致并且端口未被其他服务占用。 修改端口号步骤 选择一个未被占用的端口号例如 11411。 配置ROS Master 在运行ROS Master的板子上假设为 ubuntu-22设置 .bashrc 文件 export ROS_MASTER_URIhttp://192.168.31.125:11411 export ROS_HOSTNAME192.168.31.125 连接到ROS Master 在另一块板子假设为 nvidia-desktop上设置 .bashrc 文件 export ROS_MASTER_URIhttp://192.168.31.125:11411 export ROS_HOSTNAME192.168.31.126 使更改生效 source ~/.bashrc 验证自定义端口配置 启动ROS Master roscore -p 11411 或者 roscore --port 11411 网络连接测试在每个板子上运行 ping 命令测试到对方板子的连接 ping 192.168.31.126 # 在 ubuntu-22 上 ping 192.168.31.125 # 在 nvidia-desktop 上 ROS通信测试使用 rostopic 和 rosnode 命令测试ROS话题和节点通信。例如 rostopic pub /test_topic std_msgs/String data: Hello from board1 # 在 ubuntu-22 上 rostopic echo /test_topic # 在 nvidia-desktop 上 总结 默认端口 11311 是最常用和推荐的设置因为它是ROS的默认值简化了配置过程。 自定义端口 可以使用但需要确保双方配置一致并且选定的端口未被其他服务占用。 这样无论你选择使用默认端口还是自定义端口都可以实现两个板子之间的低延迟ROS通信。 附录2取消主从机配置
如果不再想使用ROS的主从机配置可以通过重置相关的环境变量来恢复默认配置。以下是具体步骤
1. 清除ROS_HOSTNAME和ROS_MASTER_URI环境变量 在当前终端会话中运行以下命令 unset ROS_HOSTNAME unset ROS_MASTER_URI 2. 从.bashrc文件中移除相关设置 编辑您的~/.bashrc文件移除之前添加的关于ROS_HOSTNAME和ROS_MASTER_URI的行 nano ~/.bashrc 找到并删除以下行 export ROS_HOSTNAME192.168.41.3 export ROS_MASTER_URIhttp://192.168.41.3:11311 保存并退出编辑器然后重新加载.bashrc文件 source ~/.bashrc 3. 验证恢复默认设置 在终端中运行以下命令确保相关环境变量已被清除 echo $ROS_HOSTNAME echo $ROS_MASTER_URI 这两个命令应该不输出任何内容表示环境变量已经被清除。 4. 运行roscore 现在可以尝试再次运行roscore验证是否已经恢复默认配置 roscore 通过以上步骤您应该能够将ROS恢复到默认的配置不再使用主从机设置。如果仍然遇到问题请提供具体的错误信息以便进一步诊断。