一、在学习 Turtlesim 功能包之前,我们先了解功能包的内容:
1.首先, Turtlesim 功能包的地址位于:/opt/ros/melodic/lib/turtlesim ,功能包中包括如下几个文件,这些文件将在后续讲解中进行调用,请记住他们的文件名哦~
【备注】通常安装好ROS桌面版之后,会附带 Turtlesim 功能包,如果没有,请读者自行安装!
2.在 Turtlesim 功能包中我们可以发现有很多可爱的 turtle 图标,ROS的每一个发行版本基本都会对应一个图标。
二、运行 Turtlesim 功能包
1.通过 roscore 启动 ros maste
roscore
2.通过 rosrun turtlesim turtlesim_node 启动海龟控制器节点,对应的节点名为:turtlesim
rosrun turtlesim turtlesim_node
3.通过 rosrun turtlesim turtle_teleop_key 命令启动海龟键盘控制节点,对应的节点名为:teleop_turtle
rosrun turtlesim turtle_teleop_key
4.感兴趣的读者可以运行下述指令,海龟将绘制正方形:
rosrun turtlesim draw_square
三、了解 Turtlesim 功能包运行过程中各节点的状态以及话题信息:
1.我们通过 rosnode list 命令查看“节点”列表,通过 rostopic list 命令查看“话题”列表:
rosnode list
rostopic list
2.我们通过 rqt_graph 命令更加直观的查看信息:
rqt_graph
3.我们使用键盘控制节点对海龟进行控制,同时我们使用 rostopic echo /turtle1/cmd_vel
命令对话题信息进行监听,监听数据如下:
rostopic echo /turtle1/cmd_vel
4.我们可以使用 rosnode info /turtlesim 命令对海龟控制器节点信息进行订阅:
rosnode info /turtlesim
四、Turtlesim 功能包 所订阅的话题 “/turtle1/cmd_vel” 消息数据类型 [geometry_msgs/Twist] 分析:
1.我们使用 rosmsg show geometry_msgs/Twist 对消息数据类型进行分析,结果如下:
rosmsg show geometry_msgs/Twist
到此,我们可以知道话题 “/turtle1/cmd_vel” 的入口参数了。
五、通过 rqt 界面发布话题信息,使海龟进行运动
- 通过 rqt 命令打开界面:
rqt
2.在窗口上面的工具栏选择 plugins>topics>Message Publisher
3.topic 选择/turtle1/cmd_vel Type选择geometry_msgs/Twist Freq 为消息发布频率 单位为HZ