方法一,开机运行bash命令实现自运行roscore命令
一,书写autoLoad.sh
sudo nano roscore.sh
写下下面内容:
#! /bin/bash
#将系统的ros环境变量加入
source /opt/ros/indigo/setup.bash
roscore
在有桌面环境的终端运行下面命令:
gnome-session-properties
点击Add添加:
名称随意
commd写:bash sh地址
这是后台运行,不谈出命令窗口
bash /home/chengyangkj/roscore.sh
如果想要弹出命令窗口:
gnome-terminal -x /home/chengyangkj/roscore.sh
同理自启动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