项目需要开机启动ros,写写已知的几种方式
- 通过ubuntu自带的Startup Applications 来开启管理,或者通过命令 gnome-session-properties开启
这个参考已经有的启动项就行,启动ros的话得通过shell脚本来实现
- rc.local 中添加脚本执行,记得脚本中最后阻塞命令使用
&
来后台运行 路径 ·/etc/rc.local
启动脚本,最后加个exit 0
- 通过update-rc.d 命令来实现,把脚本放到/etc/init.d/路径下,权限可执行
通过命令 sudo update-rc.d autostart.sh default 95
这样就可以开机执行autostart.sh 的脚本了
- 通过ros的官方包,有个robot_upstart 可以添加ros启动的launch
官网:http://docs.ros.org/jade/api/robot_upstart/html/
这个算是官方正品
- 用通过python 使用roslaunch和subprocess来代替shell脚本,直接看官方的实例就行,问的很
链接http://wiki.ros.org/roslaunch/API%20Usage 就是这么简单
启动roscore的话使用subprocess执行下roscore
- shell脚本中的问题,想启动ros,得再shell脚本中指明环境变量,因为,开机得时候不会执行source .bashrc
所以要这样
前两个source 是让脚本能执行ros cmd
后面得export是知名环境变量,让roscore 启动到对应master URI
其实在roscore 后面制定参数国际也行,没试