机器人端(ROS/UBUNTU)开机自启动的方法和步骤

前端之家收集整理的这篇文章主要介绍了机器人端(ROS/UBUNTU)开机自启动的方法和步骤前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

(一)

如果人工手动启动机器人,当给机器人加电时候,我们需要ssh到机器人端,然后启动激光的驱动launch文件,机器人启动的launch文件,导航的launch文件等,这对机器人的操作很不方便。

登录turtlebot
workstation@workstation:~$ ssh turtlebot@192.168.1.143
turtlebot

机器人室内定位和导航
turtlebot:roslaunch turtlebot_bringup minimal.launch
turtlebot:roslaunch turtlebot_navigation amcl_demo.launch map_file:=/tmp/my_map.yaml //导航命令
workstation:roslaunch turtlebot_rviz_launchers view_navigation.launch --screen //图形界面

如果我们希望当机器人上电以后,会自动启动一些传感器的驱动文件,定位导航,建图所需要的文件,并能按照我们的设定实现一定的功能,比如相应客户端的命令,并按照客户端的指令来动作,或者开机以后,自动对所在的环境进行建图和导航等。我们需要进行开机自启动的设置。

本文即介绍机器人开机自启动的方法和步骤

(二)

目前关于机器人开机自启动的设置大体上有下面几种方法

1、使用自启动的ros包upstart

该包是通过创建一个服务来启动一些基本的launch文件,要是启动多个launch文件,可以通过把多个launch文件写入到一个launch中这样的方法来启动。

2、利用ubuntu自带的开机启动文件

在开机启动文件rc.local文件中直接写入ros命令来达到开机启动效果

(三)

由于upstart使用和设置起来都比较方便,所以最终我们选择使用upstart的自启动方法

step1安装upstart

sudo apt-get install ros-indigo-robot-upstart


step2把要启动的节点都放在startall.launch文件

运行rosrun robot_upstart install + startall.launch(带路径)

startall.launch所在的位置为

home/dmchen/catkin_ws/src/start/launch

rosrunrobot_upstartinstall--interfaceeth0--masterhttp://192.168.10.203:11311 start/launch/startall.launch

其中install后面的参数介绍:

其中192.168.10.203是机器人底盘IP

install后面可以有下面一些参数:

usage: install [-h] [--job JOB] [--interface ethN] [--user NAME]

[--setup path/to/setup.bash] [--rosdistro DISTRO]

[--master http://MASTER:11311] [--logdir path/to/logs]

[--augment]

pkg/path [pkg/path ...]

必须的参数

pkgpath Package and path to install job launch files from要启动的launnch文件的package和其路径

可选参数

--job Specify job name. If unspecified,will be constructed from package name.

--interface Specify network interface name to associate job with.指定与操作有关网络的interface名字,可以在terminal中用ifconfig查看

--user Specify user to launch job as.

--setup Specify workspace setup file for the job launch context.

--rosdistro Specify ROS distro this is for.

--master Specify an alternative ROS_MASTER_URI for the job launch context.

--logdir Specify an a value for ROS_LOG_DIR in the job launch context.

--augment=False Bypass creating the job,and only copy user files. Assumes the job was prevIoUsly created.


step3启动、停止、卸载服务

sudoservicecsststart

其中csst为我们机器人所用的ubuntu系统的名字。

停止服务

sudo service csst stop

卸载

rosrunrobot_upstartuninstallcsst


step4重启即可实现开机自启动

重启命令:

1)、reboot

2)、shutdown-r now立刻重启(root用户使用)

3)、shutdown-r 10过10分钟自动重启(root用户使用)

4)、shutdown-r 20:35在时间为20:35时候重启(root用户使用)

如果是通过shutdown命令设置重启的话,可以用shutdown-c命令取消重启

如果出现问题

sudo tail /var/log/upstart/robot.log -n 30

可以使用top命令可以查看处理器的运行状况

参考资料:

1、http://wiki.ros.org/robot_upstart

2、http://docs.ros.org/indigo/api/robot_upstart/html/install.html

猜你在找的Ubuntu相关文章