摘要
通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识。接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发。本章将从树莓派3的开发环境搭建入手,为后续ros开发、slam导航及语音交互算法做准备。本章内容: 1.安装系统ubuntu_mate_16.04 2.安装ros-kinetic 3.装机后一些实用软件安装和系统设置 4.PC端与robot端ROS网络通信 5.Android手机端与robot端ROS网络通信 6.树莓派USB与tty串口号绑定 7.开机自启动ROS节点
7.开机自启动ROS节点
在后续教程学习完后,基本上所有的机器人算法就开发的差不多了。于是,我们就需要在机器人上电开机时,自启动想要启动的ROS节点,让机器人立马进入工作状态。 由于我自己尝试过网上的教程,将ROS节点启动命令放入系统开机自启动脚本的方法,亲测不成功。后来仔细研究才知道,需要系统完全启动,建立起ROS运行的必须环境后,ROS节点程序才能开始工作,所以系统开机自启脚本行不通。 于是,经过我自己的研究,找到了一种简单的方法,将要启动的roslaunch命令加入机器人的~/.bashrc文件的末尾。这样在系统启动后,执行用户自动登录时,~/.bashrc会被调用,这样就可以实现ROS节点启动了。关于用户自动登录的设置可以参考前面的相关内容。 添加到~/.bashrc文件末尾的内容如下,根据自己的需要,将命令替换成自己的ROS节点启动命令。
#robot auto start
if rostopic list ; then
echo "roscore and robot_auto_start started!"
else
#launch roscore
nohup roscore
#launch
sleep 30
...
fi
设置完成后,sudo reboot就可以了。