开机自动启动ros节点--robot_upstart

转自:https://blog.youkuaiyun.com/sunyoop/article/details/78261461?locationNum=2&fps=1

1.安装package,默认是indigo版本

[html]  view plain  copy
  1. sudo apt-get install ros-indigo-robot-upstart  

2.相信您已经安装了好多的ros package,我这里没有新建package,采用的是turtlebot_navigation

在turtlebot_navigation/launch目录下创建文件start.launch

[html]  view plain  copy
  1. start.launch   
  2. <launch>  
  3.     <!-- kobuki -->  
  4.     <include file="$(find turtlebot_bringup)/launch/minimal.launch" />  
  5.     <include file="$(find turtlebot_navigation)/launch/hokuyo_gmapping_demo.launch" />  
  6. </launch>  

3.执行install命令

[html]  view plain  copy
  1. rosrun robot_upstart install turtlebot_navigation/launch/start.launch  

命令在/etc/ros/indigo/下新建一个文件夹turtlebot.d,将start.launch拷贝到里面,并执行。‘

如果以后想修改start.launch,到/etc/ros/indigo/这个目录下,如果到turtlebot_navigation/launch下修改是没有用的


4.开启/关闭服务

[html]  view plain  copy
  1. $sudo service turtlebot start  
  2. [sudo] password for ubuntu:   
  3. turtlebot start/running, process 12335  

[html]  view plain  copy
  1. $ sudo service turtlebot stop  
  2. turtlebot stop/waiting  

从命令可以看出,ros robot_upstart将启动脚本当成一个系统服务,类似samba,udev,network来启动。

还记得我们在适配hokuyo laser时,修改了串口属性,使之生效的命令也是

[html]  view plain  copy
  1. sudo service udev restart  

注意事项:这里服务的取名应该是turtlebot_navigation的“_”前部分

如果用的package是robot_autoup那么创建的服务名字就是robot,相应的文件夹名字就是robot.d


5.查看日志

[html]  view plain  copy
  1. sudo tail -f /var/log/upstart/turtlebot.log  

启动时的log和节点运行的log都在这里面


6.robot_upstart install启动命令参数分析

[html]  view plain  copy
  1. usage: install [-h] [--job JOB] [--interface ethN] [--user NAME]  
  2.                [--setup path/to/setup.bash] [--rosdistro DISTRO]  
  3.                [--master http://MASTER:11311] [--logdir path/to/logs]  
  4.                [--augment] [--provider [upstart|systemd]] [--symlink]  
  5.                pkg/path [pkg/path ...]  

[html]  view plain  copy
  1. --job   指定job(service)名称,如果没有制定,就使用package中的一部分  
  2. --interface 指定网络接口  
  3. --user  指定用户启动launch脚本  
  4. --setup 指定使用特殊工程下的setup.bash文件。  
  5. --rosdistro 指定ros的发布版本  
  6. --master    指定ROS_MASTER_URI  
  7. --logdir    指定日志文件目录  
  8. --augment=False 不创建job,只是拷贝用户文件。默认job已经创建成功  
  9. pkg/path        安装job launch的package和path名称,保持路径以包名开头(不可使用绝对或workspace最top路径)  
  10. --provider  指定 provider 在无法自动检测正确的 provider 情况下  
  11. --symlink=False 创建软链接,而不是拷贝启动脚本。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值