ROS-Master 被关闭

使用robot_upstart 实现ROS程序开机自启动

安装包 sudo apt-get install ros-indigo-robot-upstart
配置自启动launch 如:rosrun robot_upstart install test_bringup/launch/start.launch
service 启动和停止:

sudo service test start
sudo service test stop

实验

  1. 系统重启后start.launch 就启动了。

  2. 手动launch 其他 launch文件


    微信截图_20190618111900.png

    可以看出是正常启动了。

  3. 手动关闭test服务 'sudo service test stop'

  4. 直接 rosrun 其他节点会报错 (说明ros master被关闭了)


    微信截图_20190618113323.png

5.使用 roswtf 检测


微信截图_20190618112056.png

6.重新 手动launch 其他 launch文件, master被重新开启


微信截图_20190618112935.png

结果

从上面的实验可以是得出,自启动后,开启新launch,再关闭自启动服务,会将ros master关闭。新launch不会保持master不被关闭。 但是重新手动launch新的launc文件,master会被重新打开。

【Tips】指定interface和master参数限制外部访问权限。
rosrun robot_upstart install --interface lo --master "http://127.0.0.1:11311" --user root --setup /home/test/ros_ws/setup.bash bringup/launch/test_start.launch --logdir /home/test/logs

参考文档:
robot_upstart源码:https://github.com/clearpathrobotics/robot_upstart.git

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容