博舍

ROS节点开机自启动 智能机器人怎么开机启动不了

ROS节点开机自启动

在开发ROS项目中我们常常想实现电脑开机以后自动运行一些节点,这里就涉及到了Ubuntu中的一些开机自启动问题,ROS节点的启动与其他脚本的自动运行不一样,不能只写使用rc.local的方式写入,这是因为在那个时候,bash环境还没启动,因此加载不了ROS环境,从而导致启动ROS节点失败。

因此我们需要采用其他的方法来启动ROS节点,对于在Ubuntu中启动ROS节点有两种方法可以尝试,第1种是使用ubuntu自带的startupApplication来设置启动时候的脚本,第2种则是使用ROS中带有的自启动服务robot_upstart实现。

1startupApplication

第一种方法是使用ubuntu自带的startupApplication来设置启动时候的脚本,此时bash环境有效。

首先新建一个mytest.sh文件然后填入以下内容[6],这里是启动了一个turtlebot的节点和一个小海龟的例子

#!/bin/bash###BEGININITINFO#Provides:xxxx.com#Required-Start:$local_fs$network#Required-Stop:$local_fs#Default-Start:2345#Default-Stop:016#Short-Description:mylaunchservice#Description:mylaunchservicetest###ENDINITINFOgnome-terminal-xbash-c"source/opt/ros/kinetic/setup.bash;roslaunchturtlebot_bringupminimal.launch"#新建终端启动节点sleep8#等待8秒gnome-terminal-xbash-c"source/opt/ros/kinetic/setup.bash;rosrunturtlesimturtlesim_node"&waitexit0

其中gnome-terminal-xbash-c表示新建bash终端并执行c后面的语句,命令通过’;;’,隔开,!注意,如果是ubuntu18.04的系统[6],gnome-terminal-xbash-c需要改写成gnome-terminal–bash-c

接下来,对mytest.sh文件修改权限

sudochmod777mytest.sh

这里最好是先测试一下你自己写的.sh文件是否可以运行

./mytest.sh

在ubuntu1604中搜索“startupApplication”会找到配置软件选定我们新建的mytest.sh文件这里需要注意,我们需要把当前的账户设置为自动登录

这样重启以后会自动进入桌面然后ros节点,注(我在测试的过程中发现,这种方法必须要设置账户自动登录,应该是进入桌面以后才能运行我们设置的启动脚本)

上述的方法适合自己在调试设备的时候使用,当我们在做产品或者项目的时候,不希望把电脑账户密码告知其他人时,上述的这种方法就无效了,这时候我们可以使用ROS自带的启动服务,将一个ROS包设置为自启动状态,让电脑在开机以后自动启动一个指定的ROS包,然后我们将需要启动的节点全部封装为一个launch文件写入在这个包中。

2ROSrobot_upstart安装服务

step1:安装环境

sudoapt-getinstallros-kinetic-robot-upstart

step2:在ROS工作空间下创建一个名为的包auto_start

catkin_create_pkgauto_startstd_msgsroscpprospy

step3:在auto_start包下新建一个launch目录,并在launch文件夹中新建一个名为auto_start.launch的文件,写入内容:

step4:将auto_start.launch文件在小强主机中注册为auto开机启动服务

a.首先将之前注册的startup服务停止和删除,如果是第一次安装startup,请直接跳到b

sudoserviceautostop//这里注意auto为注册时候使用的名称rosrunrobot_upstartuninstallauto

b.重新注册startup开机启动服务

rosrunrobot_upstartinstallauto_start/launch/auto_start.launchsudosystemctldaemon-reload&&sudosystemctlstartauto

这时候我们开机以后,直接新建终端,使用rostopiclist就可以看到有消息列表了,使用的环境为Ubuntu1604+ROSK版和Ubuntu1804M版

参考

【1】小强机器人:https://doc.bwbot.org/en/books-online/xq-manual/topic/27.html

对于运行有问题的小伙伴欢迎邮件或留言讨论cenruping@vip.qq.com

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇