SLAM+语音机器人DIY系列:(五)树莓派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,然后就可以在相应的机器上启动需要的节点了。
后记
------SLAM+语音机器人DIY系列【目录】快速导览------
第1章:Linux基础
第2章:ROS入门
第3章:感知与大脑
第4章:差分底盘设计
第5章:树莓派3开发环境搭建
第6章:SLAM建图与自主避障导航
2.google-cartographer机器人SLAM建图
第7章:语音交互与自然语言处理
第8章:高阶拓展
2.centos7下部署Django(nginx+uwsgi+django+python3)
参考文献
[1] 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.