ROS中搭建分布式系统 主从机模式

您所在的位置:网站首页 ros分布式 ROS中搭建分布式系统 主从机模式

ROS中搭建分布式系统 主从机模式

2024-07-09 08:46| 来源: 网络整理| 查看: 265

系统介绍:

机器人端(主机): 设备:工控机sz 主机名:sz-Default-string 固定IP:192.168.5.101 远程PC(从机): 设备:笔记本Dell 主机名:ubuntu 固定IP:192.168.5.2

0.准备工作:

将系统连接在一个局域网下,为了方便不再修改Hosts文件中的绑定域名,在局域网中将机器人端(主机)和远程PC(从机)设置成固定IP。 (在本项目中,机器人端是通过网线与路由器连接;远程PC端通过wifi接入机器人的路由器。 )

1.在hosts文件中配置主从机IP

目的:让两台机器分别认识下对方,以便后面可以进行双向通信。 若PC端为虚拟机,应将网络设置成“桥接模式”。

A:先找到主机、从机的IP与Hostname

在终端输入ifconfig,查看本机IP,如下

sz@sz-Default-string:~$ifconfig

可看到下图:在这里插入图片描述 由于本系统中机器人端与自带路由器有线连接(要关毕wifi ,防止接入其他wifi网络,导致找不到IP),所以从enpls0中找到,机器人端IP为:192.168.5.101(这个IP是固定好了的)。 备注:要是是接入wifi网络的,应该从wn中找本机IP。

再查看机器人端的Hostname: 输入命令:hostname

sz@sz-Default-string:~$ hostname

看到机器人主机名为:sz-Default-string 在这里插入图片描述 因此,可得知,机器人端的IP和hostname分别为: IP:192.168.5.101 hostname:sz-Default-string

同理,可得到远程PC(从机)的IP和hostname分别为: IP:192.168.5.2 hostname:ubuntu

B.配置机器人端(主机)IP和hostname

将机器人端的IP和hostname加入到 /etc/hosts中:

sz@sz-Default-string:~$ sudo vim /etc/hosts

在这里插入图片描述 C.配置从机端的IP和hostname

rosfun@ubuntu:~$ sudo vim /etc/hosts

在这里插入图片描述 D.测试是否互通 在机器人端输入:

sz@sz-Default-string:~$ ping ubuntu

在这里插入图片描述 在笔记本电脑端输入:

rosfun@ubuntu:~$ ping sz-Default-string

在这里插入图片描述 至此,这一步骤结束,配置成功。

2.设置ROS_MASTER_URI

URI:URI(Uniform Resource Identifier,统一资源标识符)就是在IMS网络中IMS用户的“名字”,也就是IMS用户的身份标识。 A:机器人端(主机): 输入命令:

sz@sz-Default-string:~$ sudo vim ~/.bashrc

在bashrc文件夹中添加:

export Hostname=sz-Default-string export ROS_MASTER_URI=http://sz-Default-string:11311

B.远程笔记本端(从机) 输入命令:

rosfun@ubuntu:~$ sudo vim ~/.bashrc

在bashrc文件夹中添加:

export Hostname=ubuntu export ROS_MASTER_URI=http://sz-Default-string:11311 3.测试是否配置成功

机器人端运行:

$ roscore $ rosrun turtlesim turtlesim_node

远程笔记本端运行:

$ rosrun turtlesim turtle_teleop_key

用PC的键盘可以实现对主机中小乌龟的控制,则多机通信配置正确。

附本人在搭建此过程中遇到的报错和命令需求: https://blog.csdn.net/Twilightzr/article/details/115582438



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3