这里使用robot_upstart功能包来设置开机自启动
1.安装robot_upstart
(1)如果是melodic版本ROS系统,直接用apt install的方法安装就行了。
sudo apt install ros-melodic-robot-upstart
2.添加自启动任务
(1)由于robot_upstart是ROS节点,启动前需要先开启roscore。
roscore
(2) 在个工作空间里新建一个软件包auto_start
catkin_create_pkg auto_start std_msgs roscpp
在软件包里新建一个launch文件夹,在launch文件夹里再新建一个start.launch文件
(3)将需要启动的所有ROS节点集中写到start.launch文件,文件内容如下。
(4)装载该launch文件
rosrun robot_upstart install auto_start/launch/start.launch --job myrobot --logdir ~/myrobot.log
其中,
–job指定任务的别名 ,可任意选取
–logdir指定日志存放目录
3.查看、启动、重启、停止任务
(1)启动任务
sudo systemctl daemon-reload && sudo systemctl start myrobot
(2)查看任务状态
systemctl status myrobot
(3) 重启电脑,利用rostopic list查看节点是否运行
(4)重启任务
sudo systemctl restart myrobot
(5)停止任务
sudo systemctl stop myrobot
4.卸载自启动任务
(1)由于robot_upstart是ROS节点,启动前需要先开启roscore。
roscore
(2)卸载
rosrun robot_upstart uninstall myrobot
(3)删除日志
sudo rm -rf ~/myrobot.log
5.查看任务状态时可能会出现没有安装setpriv的错误
sudo apt install setpriv
安装即可