ros基础介绍(1)

         我们跳过ros系统的安装和运行过程,直接进入理论部分。

ros基础概念

ros系统里面的基础框架为:节点、话题、服务和参数

话题和服务是节点之间的两种通讯方式。

话题模型其组成如图所示: 为单向通信

一个节点为发布者(publisher),另一个为订阅者(subscriber)。话题主题为(/example),消息类型为(std_msgs/String)

ros基础介绍(1)_第1张图片 话题模型(发布/订阅)
 

 服务模型如下图所示:为双向通信

一个节点为请求节点(request),另一个为应答节点(response)

ros基础介绍(1)_第2张图片 服务模型

节点

        一个节点就是ros程序包里面的一个可执行文件。可以通过ros的各种库与其它节点进行通信。节点可以发布/订阅一个话题,也可以提供/使用某种服务

下面介绍几个节点常用命令:

rosnode:显示当前运行的node节点信息

rosnode list:列出活跃的节点

rosnode  info + 节点名:返回一个特定节点的信息

rosrun:使用包名直接运行一个包内的节点--- rosrun [package_name] [node_name]

话题

话题就是节点之间的一种通信机制,节点可以发布消息到话题,也可以订阅消息到话题

        常用命令:rostopic

rostopic -h:使用帮助选项查看rostopic的子命令

rostopic echo + 话题:可以显示在某个话题上发布的数据

rostopic list:列出所有当前订阅和发布的话题

rostopic type :用来查看所发布话题的消息类型。  使用方式:rostopic type [topic]

rostopic pub:把数据发布到当前某个正在广播的话题上。使用方式:rostopic pub [topic] [msg_type] [args]

rostopic hz:用来查看数据发布的频率。使用方式:rostopic hz [topic]

关于话题之间订阅/发布的消息(msg)也有一些命令用来查看

        常用命令:rosmsg

rosmsg:查看消息的详细情况。使用方法:rosmsg show [msg type].  (msg type就是 rostopic type 的结果)

有一些图形工具可以辅助查看:

       常用工具 rqt_graph,rqt_plot

   rqt_graph:创建一个显示当前系统运行情况的动态图形

   rqt_plot:实时显示一个发布到某个话题上的数据变化图形

服务和参数

服务是节点之间的另一种通讯方式。服务允许节点发送一个请求(request)并获得响应(response)

         常用命令:rosservice

rosservice list :输出可用服务的信息

rosservice call :调用带参数的服务 。使用方法:rosservice call [service] [args]

rosservice type: 输出服务类型

服务器参数的数据修改常用命令:rosparam

rosparam set:设置参数

rosparam get: 获取参数

 rosparam load :从文件读取参数

rosparam dump :向文件中写入参数

rosparam delete :删除参数

rosparam list :列出参数名

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(ros,机器人,slam)