文章目录
一. 使用ubuntu系统相关方法
这种方法就是自己创建一个脚本文件,脚本中会配置ros的环境以及launch对应文件的命令
1.1 先创建一个脚本文件
- 新建一个.sh文件,名字自启
- 编辑脚本内容
- eg:
#!/bin/bash
#配置环境
source /opt/ros/kinetic/setup.bash
source /home/omen/catkin_ws/devel/setup.bash
#配置rosTCP通信的IP地址
export ROS_IP=192.168.27.23
export ROS_MASTER_URI=http://192.168.27.23:11311
#执行对应的launch文件
roslaunch package_name xxx.launch
- 给定脚本可执行权限
sudo chmod 777 xxx.sh
1.2 配置开机启动脚本
有两种方法,如下
使用ubuntu自带应用配置
首先打开终端,输入命令打开软件
gnome-session-properties
或者在屏幕左上角的搜索中输入:开机启动管理(中文)或者 Startup Applications Preferences(英文),也可以打开应用
然后可以新建一个启动项, 编辑对应内容
- name : 名字
- command : 命令,eg:gnome-terminal -x your_command.sh
- comment :注释
注意:sh文件的权限,必须是可运行的, 路径为绝对路径!!!
即可完成配置
使用rc.local配置启动
ubuntu开机启动会自动执行rc.local文件中的内容,所以我们只需要编辑rc.local文件即可,这样不需要图形界面也可以配置,对于远程连接用户比较友好
sudo gedit /etc/rc.local
打开后如下
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
我们可以在 exit 0 的上一行添加我们需要启动的脚本文件的路径即可,注意是绝对路径
即可完成配置
二. 使用ros功能包 robot-upstart
2.1 二进制安装功能包
sudo apt-get install ros-kinetic-robot-upstart
注:ros-kinetic-robot-upstart 是对应ros版本为kinetic,其他版本自行替换版本号即可
2.2 注册需要自启动的服务
roscore
rosrun robot_upstart install diff_bringup/launch/bringup.launch
注意:
- 运行之后对应自启动的服务名称,默认是工程名(下划线之前的部分)
- 运行之后可能会提示执行一行命令,执行即可
现在建立的service名称为diff,下面均以diff为例
使用以下命令开启对应服务
sudo service diff start
可以使用 以下命令查看已有服务名称
service --status-all
使用以下命令关闭对应服务
sudo service diff stop
使用以下命令卸载开机自启动服务
rosrun robot_upstart uninstall diff