SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——4.PC端与robot端ROS网络通信
摘要
通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识。接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发。本章将从树莓派3的开发环境搭建入手,为后续ros开发、slam导航及语音交互算法做准备。本章内容:
4.PC端与robot端ROS网络通信
PC端与robot端ROS网络通信的设置,其实很简单。就是要在PC端和机器人端都要指明master和hostname这两个东西,我们都知道ROS基于的是一个分布式的通信机制,支持多机通信,并且只能有一个master设备作为对其他分部式设备的统一管理。
由于大部分节点算法都是运行在机器人上,PC端只是用于远程调试,为了系统的效率与稳定性,我把机器人端作为master。如图24。
(图24)PC端与robot端ROS网络通信
首先,配置机器人端的ROS网络参数,打开机器人用户目录下的~/.bashrc配置文件,在最后添加两个环境变量,如图25。
(图25)配置机器人端的ROS网络参数
不难发现在机器人上mater和host的IP是一样的,因为机器人被指定为了整个ROS网络的master设备。修改好后,需要重启系统使设置参数生效。
然后,配置PC端的ROS网络参数。这里需要提醒一下,需要让PC端与机器人出于同一局域网下,如果PC端使用的是虚拟机运行ubuntu建议用物理桥接的方式给虚拟机连网。打开PC端用户目录下的~/.bashrc配置文件,在最后添加两个环境变量,如图26。
(图26)配置PC端的ROS网络参数
不难发现PC端上master填的是机器人IP地址,host为PC本地IP。修改好后,需要重启系统使设置参数生效。
设置好PC端与robot端ROS网络通信,在正是进行ROS多机通信时,需要首先在机器人上启动节点管理里master,启动命令是roscore,然后就可以在相应的机器上启动需要的节点了。
后记
如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加QQ技术交流群(117698356)
参考文献
[1] 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.
下载更多资料:www.xiihoo.com
QQ技术讨论群: 117698356
B站视频教程:https://space.bilibili.com/66815220
Github源码:https://github.com/xiihoo/Books_Robot_SLAM_Navigation
Gitee源码(国内访问速度快):https://gitee.com/xiihoo-robot/Books_Robot_SLAM_Navigation