ros树莓派实现多机通信

1.PC端配置

1. PC端(主机)bashrc设置

打开.bashrc 文件,输入以下命令:

export ROS_IP=`hostname -I | awk '{print $1}'`
export ROS_HOSTNAME=`hostname -I | awk '{print $1}'`
export ROS_MASTER_URI=http://`hostname -I | awk '{print $1}'`:11311

设置完成后保存,关闭当前打开的终端重新打开或者在当前打开的每个终端中重新加载一下.bashrc

source ~/.bashrc

获取 PC 的 IP 地址并记录下来

ifconfig
#或者
hostname -i

ifconfig的话,在输出的信息中找到如下行(不同版本可能略有差异,但是都会包含 netmask 和
broadcast 关键字)

inet 192.168.31.202 netmask 255.255.255.0 broadcast 192.168.31.255

192.168.31.202即为PC的ip地址,请记住它,后面需要用到。

2.获取机器人端(从机)的ip

  1. 可用Advanced_IP_Scanner工具扫描,查看Name 若有raspberry pi 即是 树莓派的ip地址
  2. 另外,也可树莓派外接显示器(如果是在树莓派开机的状态下连接显示器,则需要重新启动树莓派显示器才有用),在终端输入:
hostname -i

或者

ifconfig
  1. 如果树莓派连接的是手机热点,则除了使用显示器获取ip外,还可以借助该方法,在手机上安装终端app,输入ip neigh即可查看连接到热点的ip。

注意:使用手机热点连接的情况下,关闭手机热点重新打开后,分配的ip地址会变,与原来不同。

2.机器人端配置(每一台机器人都需要)

登录每个机器人端,使用编辑器打开/etc/hosts 文件(操作/etc/hosts 文件需要管理员权限)

sudo vim /etc/hosts

在文件中增加下面这一行(如果已经存在 master_ip 行,则修改 IP 地址为你 PC的 IP 地址即可(在第一步中所获得的),例如 192.168.31.202 为我 PC 的 IP 地址)

192.168.31.202 master_ip

打开.bashrc 文件

vim ~/.bashrc

在文件末尾添加:

export ROS_IP=`hostname -I | awk '{print $1}'`
export ROS_HOSTNAME=`hostname -I | awk '{print $1}'`
export ROS_MASTER_URI=http://master_ip:11311

设置完成后保存,关闭当前打开的终端重新打开或者在当前打开的每个终端中重新加载一下.bashrc

source ~/.bashrc

3.多机器人系统网络连通性测试

配置完成后,便可在PC端使用ssh形式访问机器人端,如:

ssh xtark@192.168.101.134

为方便起见,可以在.bashrc文件中给ssh命令取别名,这样就不用每次输入这么长串的命令了。

alias xtark='ssh xtark@192.168.31.37'

以后直接在终端输入xtark即可。

网络连通性测试:

  1. PC 端启动 roscore 节点:roscore
  2. 每台机器人端分别检查有无话题,即在终端输入:rostopic list
  3. 每台机器人都可以输出以下话题为工作正常:
/rosout
/rosout_agg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CHH3213

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值