ROS是分布式的节点,这样的话我们就可以将程序运行上的节点放到大型机器上面,分担机器人运行的压力。接下来我们来看一下怎么实现分布式通讯,怎么在多机上运行统一的程序。
ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。
那么我们如何来实现分布式多机通讯呢:
- 设置IP地址,确保底层链路的联通,假设我们有两台机器,机器A,和机器B,我们首先要保证两台计算机的底层数据通讯是没有问题的。
1、ifconfig命令可以查看机器B的ip地址,假设是192.168.31.255
2、然后通过ifconfig命令查看一下机器A本地的ip地址,假设是192.168.31.199
接下来将对方的ip地址设置到自己的host文件里面
3、sudo gedit /ect/hosts
然后设置ip地址:
我们通过ping hcx-pc命令。如果成功的话则说明robot这台计算机向hcx这台计算机通讯是没有问题的。一样的我们需要像hcx-pc这台计算机进行一样的操作。
那么我们两台计算机之间的底层通讯是没有问题的了。
那么我们如何来实现分布式多机通讯呢?
我们在ros系统当中只能存在一个rosmaster,也就是roscore这个命令只能运行到一台机器上。那么我们就需要在另一台计算机上面告诉rosmaster,这台计算机是运行到哪一个地方的。
我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!