美文网首页
ROS多机通信/在多台机器上使用ROS系统/多台电脑使用同一个主

ROS多机通信/在多台机器上使用ROS系统/多台电脑使用同一个主

作者: __tudou__ | 来源:发表于2017-12-18 17:26 被阅读0次

    实现目标:当机器人运行后,在另外一台电脑(除了机器人自身电脑外)控制,监控机器人。

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------

    最近经常有实验室同学问ROS多机通信,让帮忙配置,特别是需要在移动机器上做实验的时候。写在这里方便新手查阅。

    因为移动机器人上面电脑往往没有显示屏,或者我们需要远程监控,因此需要在另外一台电脑上面监控机器人运行状态。

    其实这里叫多机通信并不是很确切,通信是指另外的概念。这里更多是指多台电脑共用同一个ROS节点。

    网上教程很多,但是实现目的不同,对于新手而言有点难搞,这里的实现步骤针对于文首提到的实现目标。

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------

    (0)为两台电脑安装同步通信包及ssh服务

    $sudo apt-get install chrony

    $sudo apt-get install openssh-server

    (1)两台电脑准备好后,在各自终端命令行查找本机IP。

    $ ifconfig

    记录得到的两个IP地址这里假设为:

    机器人:192.168.1.101

    监控机:192.168.1.102

    (2)在./bashrc文件中添加配置信息。

    机器人电脑中$sudo gedit ~/.bashrc

    添加

    ROS_MASTER_URI=http://192.168.1.101:11311

    ROS_IP=http://192.168.1.101

    监控电脑中$sudo gedit ~/.bashrc

    添加

    ROS_MASTER_URI=http://192.168.1.101:11311

    ROS_IP=http://192.168.1.102

    (3)配置完后source更新文件

    $ source ./bashrc(两台电脑都要执行)

    (4)获取主机名

    $ hostname

    这里假设为 机器人为:robot  监控机为:home

    记录两台电脑主机名,如果复杂可以修改,修改方法自行百度

    (5)使用ssh服务从机登录主机并控制主机

    $ ssh robot@192.168.1.101

    确定提示内容,输入密码即可登录,登录后该terminal即为有主机权限的terminal可直接进行命令行操作

    $ roscore

    打开主机master,即为两台电脑共用的master,在该terminal下可实现对主次节点的开启和关闭

    (6)从机订阅主机话题

    $ rostopic list

    查看主机节点话题

    重开terminal,即为从机自身terminal可以订阅监视,同时在rviz可以订阅,也可以直接往话题发消息

    相关文章

      网友评论

          本文标题:ROS多机通信/在多台机器上使用ROS系统/多台电脑使用同一个主

          本文链接:https://www.haomeiwen.com/subject/vzvmwxtx.html