假设我有一个机器人运行ROS,它有一个raspberry pi,或者一个jetson。我想在我的笔记本电脑上看到传感器读数或RVIZ上的东西。或者用连接到我笔记本电脑的有线Xbox控制器控制机器人.我是否可以在笔记本电脑上写一个节点,通过局域网连接到机器人(rpi/jetson)或zigbee模块什么的?
还是我必须在我的笔记本电脑上创建roscore的另一个实例,并让他们通过zigbee模块/lan相互交谈?那会很乏味的..。请不要告诉我这是唯一的选择。
编辑:介绍了用局域网连接机器人和计算机的部分。如果现在有人能告诉我如何用射频模块把它与机器人的罗盘连接起来,我会非常感激的。
发布于 2021-01-31 08:44:35
如果机器人计算机(例如jetson或pi)和膝上型计算机在同一个局域网上,那么您只需要运行一个roscore,比如在机器人上运行。
您需要设置两个环境变量,ROS_MASTER_URI和ROS_IP。在这两台计算机上,ROS_MASTER_URI应设置为http://ROBOT_IP:11311,而ROS_IP应设置为其所在计算机的IP地址。换句话说,在机器人计算机上,ROS_IP等于ROS_MASTER_URI中的IP地址,但是在笔记本电脑上,它等于该笔记本电脑的IP地址。
一旦设置了这些环境变量,您就可以使用ROS主题与机器人“交谈”,就像这些ROS主题在同一台机器上一样。您的代码不需要更改。
有关更多信息,请参见官方的wiki 在多台机器上运行ROS。
https://stackoverflow.com/questions/65976880
复制相似问题