赞
踩
机器人端(主机):
设备:工控机sz
主机名:sz-Default-string
固定IP:192.168.5.101
远程PC(从机):
设备:笔记本Dell
主机名:ubuntu
固定IP:192.168.5.2
将系统连接在一个局域网下,为了方便不再修改Hosts文件中的绑定域名,在局域网中将机器人端(主机)和远程PC(从机)设置成固定IP。
(在本项目中,机器人端是通过网线与路由器连接;远程PC端通过wifi接入机器人的路由器。 )
目的:让两台机器分别认识下对方,以便后面可以进行双向通信。
若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
至此,这一步骤结束,配置成功。
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
机器人端运行:
$ roscore
$ rosrun turtlesim turtlesim_node
远程笔记本端运行:
$ rosrun turtlesim turtle_teleop_key
用PC的键盘可以实现对主机中小乌龟的控制,则多机通信配置正确。
附本人在搭建此过程中遇到的报错和命令需求:
https://blog.csdn.net/Twilightzr/article/details/115582438
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。