ROS功能包开机自启动设置

这篇博客介绍了如何使用robot_upstart功能包在ROS的kinetic和melodic版本中设置开机自启动。首先,详细说明了针对不同版本的安装步骤,包括源码安装和依赖管理。接着,讲解了添加自启动任务的过程,包括启动roscore,创建并装载包含所有ROS节点的launch文件。此外,还提供了启动、重启和停止任务的命令,以及如何卸载自启动任务和清理日志的步骤。
摘要由CSDN通过智能技术生成

这里使用robot_upstart功能包来设置开机自启动,值得注意的是kinetic与melodic版本的robot_upstart功能包会稍有区别。

1.安装robot_upstart

(1)如果是melodic版本ROS系统,直接用apt install的方法安装就行了,亲测可用。

sudo apt install ros-melodic-robot-upstart

(2)如果是kinetic版本ROS系统,直接用apt install的方法安装会报错缺一些依赖。所以还需要用源码方式安装,并手动安装依赖。

cd ~/catkin_ws/src
git clone https://github.com/clearpathrobotics
/robot_upstart.git 
cd ..
#如果编译无响应,请将~/catkin_ws/build中的文件全部删除后重试
catkin_make
#用rosdep安装robot_upstart所需依赖项
rosdep install robot_upstart

2.添加自启动任务

(1)由于robot_upstart是ROS节点,启动前需要先开启roscore。

roscore

(2)然后可以用robot_upstart的帮助命令查看其用法。

rosrun robot_upstart install -h

(3)将需要启动的所有ROS节点集中写到一个launch文件,我这里写到了miiboo_bringup/launch/myrobot.launch这个文件,文件内容如下。

<launch>
  <!-- launch sensor -->
  <include file="$(find miiboo_bringup)/launch/miiboo_all_sensor.launch"/>
 
  <!-- launch nav -->
  <include file="$(find miiboo_nav)/launch/miiboo_nav.launch" />
 
  <!-- launch manage -->
  <include file="$(find nav_manage)/launch/nav_manage.launch"/>
</launch>

(4)装载该launch文件

rosrun robot_upstart
 install miiboo_bringup/launch/myrobot.launch --job myrobot --interface wlan0 --logdir ~/myrobot.log

其中,

--job指定任务的别名

--interface指定网络接口,一定要设置,不然无法实现多机ROS通信

--logdir指定日志存放目录

3.启动、重启、停止任务

(1)启动任务

sudo systemctl daemon-reload && sudo systemctl start myrobot

(2)重启任务

sudo systemctl restart myrobot

(3)停止任务

sudo systemctl stop myrobot

4.卸载自启动任务

(1)由于robot_upstart是ROS节点,启动前需要先开启roscore。

roscore

(2)卸载

rosrun robot_upstart uninstall myrobot

(3)删除日志

sudo rm -rf ~/myrobot.log

参考文献

[1] 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值