问什么要以小海龟的例子开始
本节以小海龟为例,讲解ROS的运行机制,可以将小海龟看作我们真实控制的机器人来理解。
一 。运行ROS程序的一般步骤(以小海龟为例)
1.启动 ROS Master(启动 ROS 节点管理器,需启动它来管理后续节点)
启动 ROS Master $roscore
2.启动节点(即,各种功能)
启动小海龟仿真器 $ rosrun turtlesim turtlesim_node
启动海龟控制节点 $ rosrun turtlesim turtle_teleop_key
注:
rosrun格式: ros + 功能包名 + 节点名
二。 通过一些工具分析一下上面小海龟例例子运行时,ROS的机制
可视化工具
rqt_graph(名字中包含qt,可看出这是基于qt的可视化工具)
**功能:**显示节点计算图
非可视化工具(节点,话题,服务)
1. rosnode(节点
相关的命令)
eg:
2. rostopic(话题
相关的命令)
rostopic list
查看话题列表
rostopic pub
发布话题消息
用法: rostopic pub + [-r] +话题名 + 话题的数据结构
(点两次tab键,会自动出现服务的数据结构,并且可以直接在上面填数据)
eg: rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
-r
(可选)rate(频率):后跟数字表示一秒钟发布话题几次;不加-r,默认只发布一次话题。
3. rosservice(服务
相关的命令)
rosservice list
显示当前所有的服务内容(注:客户端要请求(call)
服务端)
rosservice call
发布请求
用法: rosservice call + 服务名 + 服务的数据结构
(点两次tab键,会自动出现服务的数据结构,并且可以直接在上面填数据,如下)
注:
由于服务(service)时双向的,有请求(call)就有回应(response),所以在请求服务命令输入完,回车后,会出现回应(response),如下面最后一行