之前按照网上广为流传的一种方法如下:
1.将多个要启动的ros node写入同一个launch文件: 如my_robot_name_2dnav/launch/nav_patrol.launch 2.将要启动的roslaunch命令加入~/.bashrc文件中: 在~/.bashrc文件末尾添加如下内容: ... ... source /opt/ros/indigo/setup.bash source ~/catkin_ws/devel/setup.bash export ROS_MASTER_URI=http://192.168.192.166:11311 export ROS_HOSTNAME=192.168.192.166 #robot auto start if rostopic list ; then echo "roscore and robot_auto_start started!" else date >> ~/start_log.txt echo ":nav_patrol running" >> ~/start_log.txt nohup roslaunch my_robot_name_2dnav nav_patrol.launch & >> ~/start_log.txt sleep 30 fi ... ... 3.实现系统开机自动登录功能 sudo apt-get install lightdm vim /etc/lightdm/lightdm.conf 将#autologin-user= 改为 autologin-user=ubuntu 4.sudo reboot就ok了 但始终不能达到预期的目标,故作如下改动 1、 将: export ROS_MASTER_URI=http://192.168.192.166:11311 export ROS_HOSTNAME=192.168.192.166#robot auto start if rostopic list ; then echo "roscore and robot_auto_start started!" else date >> ~/start_log.txt echo ":nav_patrol running" >> ~/start_log.txt nohup export ROS_MASTER_URI=http://192.168.192.166:11311 sleep 30 fi |
全部删掉,在这地方写上一条roslaunch的语句如下:
roslaunch my_robot_name_2dnav nav_patrol.launch
2、实现系统开机自动登录功能,将
将#autologin-user= 改为 autologin-user=username(此处即为自己的用户名)