执行新的命令操作时,均需要启动一个新的终端然后输入命令。
基础操作:
- 启动 ROS Master:
roscore
- 启动小海龟仿真器:
rosrun turtlesim turtlesim_node
- 启动小海龟键盘控制节点:
rosrun turtlesim turtle_teleop_key
- 此时按键盘上的方向键即可操控小海龟运行
其他操作:
提前说明:有小伙伴曾反馈指令有问题,输入后会报错。经查实,是因为不同行的问题,如果指令都在同一行,则会出现问题。所以不要把不同行的代码在同一行输入!
另外建议大家多多使用 TAB 键自动补全功能,可以有效减少出错概率。比如输入第一行指令时,在输入完 ‘/spawn’,按两下 TAB 键,即可实现自动补全,然后对坐标进行更改即可,这样命令输入效率高,出错率小。
新生一只小海龟:
rosservice call /spawn "x: 5.0
y: 5.0
theta: 0.0
name: 'turtle2'"
让第一只小海龟绕圈跑:
代码中的x,y,z为坐标及角度信息,按照意愿自行修改即可。
-r 10
表示让命令以一定的频率控制小海龟运行(1s 10次),可以自行修改或者删除。
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 1.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 1.0"
同理,让第二只小海龟绕圈跑:
rostopic pub -r 10 /turtle2/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 1.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 1.0"
一只小海龟追赶另外一只小海龟实例:
- 安装小海龟坐标变换功能包:
sudo apt install ros-melodic-turtle-tf
- 运行功能包:
roslaunch turtle_tf turtle_tf_demo.launch
- 启动小海龟键盘控制节点:
rosrun turtlesim turtle_teleop_key
- 此时按键盘上的方向键即可操控第一只小海龟运行,第二只小海龟会自动跟踪第一只小海龟