ROS命令行工具 小乌龟入门

时间:2024-03-23 22:01:06

Run Turtlesim

roscore #打开主进程


rosrun turtlesim turtlesim_node #运行turtlesim 包中的turtlesim_node节点,打开小乌龟控制台


rosrun turtlesim turtle_teleop_key # 运行turtlesim 包中的turtle_teleop_key节点,使鼠标可以移动小乌龟

Turtlesim Comms: List Nodes

rosnode list #显示系统上所有运行的节点
ROS命令行工具 小乌龟入门
rosout是一个ROS主进程自动启动的节点,它负责把日志消息聚合、筛选并记录到文本文件中。

Turtlesim Comms: List Topics

rostopic list #显示所有主题
ROS命令行工具 小乌龟入门

我们可以看到,一些主题和我们前面讨论的rosout节点相关。还有一些主题在turtle1命名空间下分组在一起。在turtle1命名空间下分组的所有主题都由turtlesim节点提供,和我们在虚拟世界中看到的乌龟相关联。

cmd_vel主题发布一条消息,会命令乌龟在给定速度下移动。

turtle1 还包括一个颜色传感器turtlesim_node 会在颜色传感器主题发布传感器读数。

最后,turtlesim_node 在post节点发布乌龟的位置和方向。

这里的主题名称 大致反应了它们的目的,但并非一定如此。有时候,你需要进一步了解某个特定主题的详细信息。

Turtlesim Comms: Get Topics Info

即便有主题列表,有些地方仍不够清楚。例如: rostopic list命令并没有告诉我们哪些节点正在发布消息到某个主题或者订阅该主题,或者正在传递哪些消息类型。要获得这些信息,你需要使用rostopic info ×××命令。

我们首先获取关于cmd_vel主题命令的消息:
ROS命令行工具 小乌龟入门

cmd_vel主题有一个发布者teleop_turtle,以及一个订阅者turtlesim。我们使用键盘通过teleop_turtle命令乌龟。

cmd_vel主题相关联的消息类型是twist消息,它是几何图形消息包的一部分。

Turtlesim Comms: Message Information

ROS命令行工具 小乌龟入门

rosmsg show ×××命令在控制台打印出消息类型。我们进一步了解一下cmd_vel主题, rosmsg show geometry_msgs/Twist,geometry_msgs/Twist在上一张图中能看到。

尽管ROS消息工具对了解消息内容非常有用,它并不能提供所有相关信息,我们还可以使用另一个工具,rosed,它是一个简单的bash命令,利用它你可以在ROS环境中轻松查看并编辑文件。我们用它来查看twist消息定义。
ROS命令行工具 小乌龟入门

ROS命令行工具 小乌龟入门

Turtlesim Comms: Echo a Topic

有时候,要了解当前情况,最好的方式是查看发布到主题的消息本身。例如,当乌龟向左和向右旋转时,实际上是围绕哪个轴旋转?旋转单位是什么?旋转是使用弧度还是度数表示的?要知道这些问题的答案,可以使用rostopic echo
ROS命令行工具 小乌龟入门

上一篇
下一篇