使用robot_upstart
功能包即可实现节点的开机自启
安装功能包
安装robot_upstart
功能包,本文使用的Ubuntu20对应的ROS版本为noetic
sudo apt-get install ros-noetic-robot-upstart
如果使用的是Ubuntu18,则还需要安装setpriv
sudo apt-get install setpriv
自启动设置
设置自启,以下命令即可设置<package_name>
功能包下的<launch_file>.launch
文件开机自启
rosrun robot_upstart install <package_name>/launch/<launch_file>.launch
# 启动任务,只需要启动功能包的名字<package_name>即可
sudo systemctl daemon-reload && sudo systemctl start <package_name>
sudo service <package_name> start
停止任务
sudo service <package_name> stop
卸载自启动任务
sudo service <package_name> stop
rosrun robot_upstart uninstall <package_name>
如果对launch文件进行了更改,则需要重新设置开机自启
# 卸载自启动任务
sudo service <package_name> stop
rosrun robot_upstart uninstall <package_name>
# 重新设置自启动任务
rosrun robot_upstart install <package_name>/launch/<launch_file>.launch
sudo systemctl daemon-reload && sudo systemctl start <package_name>
sudo service <package_name> start