文章目录

前言

ubuntu18.04

ROS Melodic

一、编写启动脚本

新建一个后缀为a.sh(名称任取,后缀为.sh即可)的脚本,内容按照如下格式填写,其中每个​​gnome-terminal -- bash -c "cd /home/mobot/catkin_ws1;source devel/setup.bash;roslaunch rslidar_sdk start.launch"​​中的双引号里面对应启动一个launch文件,为了防止一个launch还没启动完就启动了另一个launch导致启动失败,通过​​sleep 10 wait​​等待10秒钟(具体等待多久合适可以自己测试一下,一般要不了10秒)再启动下一个launch.

#! /bin/bash
#根据系统启动相应版本的roscore
sudo chmod 777 /dev/ttyTHS0
gnome-terminal -- bash -c "cd /home/mobot/catkin_ws1;source devel/setup.bash;roslaunch rslidar_sdk start.launch"
sleep 10
wait
gnome-terminal -- bash -c "cd /home/mobot/pcl_ws;source devel/setup.bash;roslaunch pcl_test pcl_test.launch"
sleep 10
wait
gnome-terminal -- bash -c "cd /home/mobot/pcl_ws;source devel/setup.bash;roslaunch euclidean_cluster euclidean_cluster.launch"
sleep 10
wait
gnome-terminal -- bash -c "cd /home/mobot/serial_ws;source devel/setup.bash;rosrun serial_test1 serial_test1"
sleep 10
wait
exit 0

在上面的脚本中,​​sudo chmod 777 /dev/ttyTHS0​​需要输入密码,为了开机时自动输入密码,新建一个start.sh,内容如下:

这里先启动roscore,再通过​​echo '666' | sudo -S "./a.sh"​​自动输入密码执行上面的a.sh,密码就是666.

#! /bin/bash
gnome-terminal -- bash -c "source /opt/ros/melodic/setup.bash;roscore"
sleep 10
wait
cd /home/mobot
echo '666' | sudo -S "./a.sh"
sleep 10
wait
exit 0

二、添加到自启动

搜索并打开"启动应用程序"(如果是英文系统则搜索“startup applications”)

Ubuntu18.04开机自启动ROS程序_ubuntu

点击"添加"

Ubuntu18.04开机自启动ROS程序_后缀_02

名称和注释任取,点击“浏览”,选择start.sh

Ubuntu18.04开机自启动ROS程序_ubuntu_03

选择start.sh,注意只需选择sh启动文件即可,不需要在启动文件前面加启动命令,然后点“添加”。

Ubuntu18.04开机自启动ROS程序_后缀_04

然后重启电脑测试即可