如何与 PC(运行 Gazebo)通信 Raspberry Pi 4 并获取 Pi 上的传感器主题?
How to comunicate the Raspberry Pi 4 with a PC (runing Gazebo) and get sensors topic on the Pi?
我在 Gazebo 9 和 ROS melodic 上有 运行 一些 UUV 模拟器,在 PC 上有 Ubuntu 18.04。因此,我喜欢将 rasppbery Pi 4 与 PC(运行 Gazebo UUV 模拟器)连接起来,并在 Rasppbery Pi 中开发一个节点,例如为我提供 Gazebo UUV 模拟器上的相机流数据。所以我的问题是如何将 PI 与 PC(运行 Gazebo UUV 模拟器)进行通信,并可以从 Pi 中的 Gazebo UUV 模拟器获取相机主题或任何其他传感器主题?
任何帮助谢谢
是的,您可以使用 ROS 进行跨设备通信,但有几件事需要先完成。
- 您需要确保
ROS_MASTER_URI
设置正确。这是一个环境变量,它告诉 ROS 在哪里寻找 roscore
。默认设置为 localhost:11311
。所以在 Pi 上你需要做:export ROS_MASTER_URI=http://<master_ip>:<master_port>
.
- 接下来您需要确保 ROS 确实可以解析名称并进行连接。确保计算机有 pi 的 IP/Hostname 信息,反之亦然。对于 Ubuntu 18.04,通过在
/etc/hosts
中为两台机器设置 IP/hostname 来执行此操作。还要确保主机名与 /etc/hostname
匹配
之后,您可以在主机上启动 ROS node/core,Pi 将能够像正常情况一样查看主题并与之交互。
我在 Gazebo 9 和 ROS melodic 上有 运行 一些 UUV 模拟器,在 PC 上有 Ubuntu 18.04。因此,我喜欢将 rasppbery Pi 4 与 PC(运行 Gazebo UUV 模拟器)连接起来,并在 Rasppbery Pi 中开发一个节点,例如为我提供 Gazebo UUV 模拟器上的相机流数据。所以我的问题是如何将 PI 与 PC(运行 Gazebo UUV 模拟器)进行通信,并可以从 Pi 中的 Gazebo UUV 模拟器获取相机主题或任何其他传感器主题?
任何帮助谢谢
是的,您可以使用 ROS 进行跨设备通信,但有几件事需要先完成。
- 您需要确保
ROS_MASTER_URI
设置正确。这是一个环境变量,它告诉 ROS 在哪里寻找roscore
。默认设置为localhost:11311
。所以在 Pi 上你需要做:export ROS_MASTER_URI=http://<master_ip>:<master_port>
. - 接下来您需要确保 ROS 确实可以解析名称并进行连接。确保计算机有 pi 的 IP/Hostname 信息,反之亦然。对于 Ubuntu 18.04,通过在
/etc/hosts
中为两台机器设置 IP/hostname 来执行此操作。还要确保主机名与/etc/hostname
匹配
之后,您可以在主机上启动 ROS node/core,Pi 将能够像正常情况一样查看主题并与之交互。