由于在做ROS的实际工程中经常要启动好多的launch文件,比较麻烦,特想把他们写在一起,
用一个命令就能执行。现有两种方法:
1.重写一个大型的launch文件,将所有的节点的启动配置信息都包含进去。
2. 通过bash写.sh文件的形式,将命令行一起写入一个脚本。
直接按照一步步执行顺序写,会出现问题:因为有的一个命令在终端一直在执行,无法接下的命令。
这就需要将前一个命令放到后台&,同时由于节点发布的先后顺序,需要进行延时操作sleep n.
注:要让ROS的关键词能够在终端识别,还得先source下ROS环境。
例子:
#!/bin/bash
#source /opt/ros/hydro/setup.bash
source /opt/ros/hydro/setup.bash
source /home/agv/hydro_ws/devel/setup.bash
ROS_PACKAGE_PATH=~/hydro_ws/src:$ROS_PACKAGE_PATH
ROS_WORKSPACE=~/hydro_ws/src
echo roslaunch turtlebot_bringup
roslaunch turtlebot_bringup minimal.launch &
sleep 15
echo turtlebot_bringup 3dsensor.launch
roslaunch turtlebot_bringup 3dsensor.launch &
sleep 15
echo turtlebot_rviz_launchers
roslaunch turtlebot_rviz_launchers view_robot.launch &