1、roslaunch文件启动小海龟
我们在学习ROS时都启动过自带的小海龟范例,安装ROS环境后也会通过启动小海龟来验证环境是否安装成功。尝试使用roslaunch文件启动小海龟项目时,在根目录下新建turtlesim.launch文件,内容如下
<launch>
<node pkg="turtlesim" name="turtlesim" type="turtlesim_node" </node>
<node pkg="turtlesim" name="turtle_teleop_key" type="turtle_teleop_key" </node>
</launch>
新建终端,进入该目录下,运行
roslaunch turtlesim.launch
如果此时roscore还没有启动,launch文件会默认启动。同时桌面出现小海龟的界面。但此时没有节点单独启动时的终端界面,无法利用键盘控制海龟的移动。
2、shell文件启动小海龟
当需要和节点进行交互或者有其他配置项的时候,可以尝试通过shell脚本来启动。同样在根目录下新建turtlesim.sh文件,内容如下:
#!/bin/bash
gnome-terminal -t "roscore" -- bash -c "roscore" #新建终端,执行-c后面的命令
sleep 1 #执行下一个命令前,最好能等待上一个命令执行完成,否则容易造成启动失败,当节点启动比较慢时,最好将等待的时间变长
gnome-terminal -t "turtlesim_node" -- bash -c "rosrun turtlesim turtlesim_node"
sleep 1
gnome-terminal -t "turtle_teleop_key" -- bash -c "rosrun turtlesim turtle_teleop_key"
在终端中运行turtlesim.sh
sh turtlesim.sh
出现
鼠标移动到turtle_teleop_key终端上点击一次后,即可通过键盘上的方向键控制小海龟移动。
在节点少,程序小的情况下可以一个一个节点来启动,测试运行效果;但是当工程规模大,需要的节点多时就显得比较费劲,通过launch文件或者shell脚本可以将需要的节点同时启动,省去了繁琐的启动过程。