1. 需求和来源
在ros的调试中,树莓派放置机器人机身内部,电脑或者笔记本不方便作为交互时
想让机器人开机后就要达到运行效果
那么需设置liunx开机后自动运行提前设置好的launch文件等
2. 设置自动登录
以Ubuntu Mate为例,设置liunx开机后自动运行提前设置好的launch文件的前提是系统自动登录,具体操作参考 Ubuntu Mate 开机自动登录
3. 创建启动脚本
以在kinetic版本,启动功能包hh里的hydrogen.launch为例:
在功能包 hh 的文件夹中创建启动脚本 ros_start.sh
脚本内容如下:
#! /bin/bash
source /opt/ros/kinetic/setup.sh
source /home/username/catkin_ws/devel/setup.bash
roslaunch hh hydrogen.launch
exit 0
4. 设置启动脚本
不同的Linux桌面系统,开机启动并不相同,Ubuntu Mate使用Mate桌面系统
它使用启动应用程序来设置启动项
也可以在 终端terminal 输入如下命令启动图形化设置界面
$ mate-session-properties
其中,mate指的是Ubuntu使用的桌面系统
可通过下面指令查看
$ echo $DESKTOP_SESSION
# mate
添加启动脚本,设置命令:
$ mate-terminal -x /home/username/catkin_ws/src/hh/ros_start.sh
其中,username为主机名
现在开始,系统每次启动后
都会开启一个终端执行脚本 ros_start.sh 中的 hydrogen.launch 文件
这样就达到所需效果了
谢谢!