本方案可以用于树莓派和Ubuntu两个系统,测试过都可以正常工作,执行步骤如下。
- 创建启动脚本
- 使用桌面自启动方式自动调用脚本
- 设置脚本执行方式
使用Ubuntu进行解释说明,然后针对树莓派的特殊情况加以说明。
1.创建启动脚本
- 在目录中创建文件:touch auto.sh
- 修改内容为:
source /opt/ros/kinetic/setup.bash
source /home/suoxd/catkin_ws/devel/setup.bash
#roscore 如果只是启动服务器
roslaunch /the-path-of-launch-file/file-name.launch
2.使用桌面启动调用脚本
- 进入目录(如果没有创建 mkdir ./config/autostart):cd ./config/autostart
- 增加desktop文件(文件名任意),并修改内容为:
[Desktop Entry]
Type=Application
Name=autocar
Terminal=true
Exec=/the-path-of-bash-file/auto.sh
在Ubuntu中此处Terminal建议设为True,方便通过终端的打印信息调试错误,但在树莓派上需要把这个删除才能正常运行,否则无法正常启动。
3.设置脚本执行方式
脚本直接运行默认是用dash,因此需要进行修改为bash,修改方式为在终端输入
dpkg-reconfigure dash (需要root权限)
然后在窗口中选择“否”即可。
上面方式将系统所有脚本文件都改用了执行方式,如果不希望变动,可以直接在2.2中的Exec中指定执行方式如下:
Exec=bash /the-path-of-bash-file/auto.sh