方法一,开机运行bash命令实现自运行roscore命令

一,书写autoLoad.sh

sudo nano roscore.sh

写下下面内容:

#! /bin/bash 
#将系统的ros环境变量加入
source /opt/ros/indigo/setup.bash
roscore

在有桌面环境的终端运行下面命令:

gnome-session-properties

点击Add添加:

ros开机启动roscore及launch文件_环境变量

名称随意

commd写:​​bash sh地址​​ 这是后台运行,不谈出命令窗口

bash  /home/chengyangkj/roscore.sh

如果想要弹出命令窗口:

gnome-terminal -x  /home/chengyangkj/roscore.sh

ros开机启动roscore及launch文件_开机启动_02


同理自启动launch文件也是把launch命令添加到roscore文件即可:

此时需要加入自己工作空间的环境变量

#! /bin/bash 
#将系统的ros环境变量加入
source /opt/ros/melodic/setup.bash
#将自己工作空间环境变量加入
source /home/chengyangkj/catkin_ws/devel/setup.sh
roscore
roslaunch linorobot bringup.launch

到这里成功实现开机自动启动roscore和launch文件

方法二:使用ros官方方法实现开机启动

2.1 安装(melodic版本)

cd catkin_ws/src
git clone https://github.com/clearpathrobotics/robot_upstart.git
cd …
catkin_make

2.2 设置某个Package的launch文件为开机启动

假设需要启动功能包myrobot_bringup下的base.launch文件,运行如下命令:

rosrun robot_upstart install myrobot_bringup/launch/base.launch

默认下次启动时生效。其中myrobot 会被自动识别为service名,示例中service名就是myrobot。
2.3 service 手动启动和停止

sudo service myrobot start #启动服务
sudo service myrobot stop #关闭服务

2.4 查看log

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