的robot_ROS节点开机自启动(robot_upstart方法)

这里使用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

f7b255118b5fa34649249f6bd4cf2f82.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值