方法一:
若启动roslaunch文件,可将如下代码段写入~/.bashrc的后面。
1. if rostopic list; then
2. echo "........."
3. echo "roscore and roslaunch started!"
4. else
5. roslaunch test_ros start.launch
6. sleep 15
7. fi
因为每次开启一个树莓派终端,系统都会先执行一遍bashrc中的内容,所以如果已经完成了开机自启动,还需要再打开新终端的时候,就会执行if中的第1,2,3行,第一行的rostopic list就会在新的终端中打印出ros的topic列表,方便查看,也避免再次执行roslaunch。
优点:方便查找和修改
缺点:在执行较复杂的roslaunch指令时可能会存在部分节点没打开的情况。
备注:
Word中插入代码段方法参考:CodeInWord|在word中优雅展现的代码|代码高亮|word中插入代码|代码格式化
树莓派设置开机自启动的两种设置方式_白云毅的博客-CSDN博客_树莓派开机自启动程序
方法二:
【step1】如下编写sh脚本文件
(*其中第三行为对应ROS工程的环境变量,第四行为roslaunch指令)
#!/bin/bash
source /opt/ros/melodic/setup.bash
source /home/pi/search_ws_Final/search_ws/devel/setup.sh
roslaunch searching seach.launch
exit 0
【step2】推荐直接将sh文件放在主目录下
【step3】修改sh文件和rc.local的权限,执行如下命令:
sudo chmod +x bafsros.sh
sudo chmod 777 /etc/rc.local
【step4】修改rc.local,执行如下命令:
sudo nano /etc/rc.local
打开后在最后exit 0前增加一行如下,即sh文件的地址:
exec ./home/pi/bafsros.sh