一、概述

  common_msgs包含其他ROS软件包广泛使用的消息。这些消息包括动作消息(actionlib_msgs),诊断消息(diagnostic_msgs),几何图元(geometry_msgs),机器人导航(nav_msgs)和常用传感器(sensor_msgs),例如激光测距仪,照相机,点云。

  以下仅列举较常用的msgs。

二、actionlib_msgs

  消息类型:actionlib_msgs/GoalID.msg  包括

  1. time stamp
  2. string id

actionlib_msgs/GoalStatus.msg

  1. uint8 PENDING = # server端尚未处理的goal
  2. uint8 ACTIVE = # server端正在处理的goal
  3. uint8 PREEMPTED = # goal 在开始执行后收到取消请求
  4. uint8 SUCCEEDED = # goal 被 server端成功发送
  5. uint8 ABORTED = # goal 无法实现
  6. uint8 REJECTED = # goal 未经处理就被拒绝
  7. uint8 PREEMPTING = # goal执行后收到取消请求
  8. uint8 RECALLING = # goal 在执行前被取消,但是 action 未确认goal被取消
  9. uint8 RECALLED = # goal在执行前被成功取消
  10. uint8 LOST = # client判断goal丢失而非server判断
  11. GoalID goal_id
  12. uint8 status
  13. string text

二、geometry_msgs

1、geometry_msgs/Pose.msg位姿

  1. Point position
  2. Quaternion orientation

2、geometry_msgs/Pose2D.msg更推荐使用3D

  1. float64 x
  2. float64 y
  3. float64 theta

3、geometry_msgs/PoseArray.msg位姿数组

  1. std_msgs/Header header
  2. geometry_msgs/Pose[] poses

4、geometry_msgs/Quaternion.msg四元数

  1. float64 x
  2. float64 y
  3. float64 z
  4. float64 w

5、geometry_msgs/Transform.msg坐标转换

  1. geometry_msgs/Vector3 translation
  2. geometry_msgs/Quaternion rotation

6、geometry_msgs/Twist.msg 线速度和角速度

  1. geometry_msgs/Vector3 linear
  2. geometry_msgs/Vector3 angular

7、geometry_msgs/Vector3.msg向量,类似于提供一个模板,如用于表示位置

  1. float64 x
  2. float64 y
  3. float64 z

8、geometry_msgs/Wrench.msg 不常见,但是可能会被用来考虑动力学的约束

  1. geometry_msgs/Vector3 force  #力
  2. geometry_msgs/Vector3 torque  #力矩

三、nav_msgs

1、nav_msgs / GridCells.msg 二维栅格

  1. std_msgs/Header header
  2. float32 cell_width
  3. float32 cell_height
  4. geometry_msgs/Point[] cells

2、nav_msgs/GetMap.srv 栅格地图

  1. nav_msgs/OccupancyGrid map

3、nav_msgs/MapMetaData.msg 地图分辨率、长宽、初始点

  1. time map_load_time
  2. float32 resolution
  3. uint32 width
  4. uint32 height
  5. geometry_msgs/Pose origin

4、nav_msgs/GetPlan.srv 上为请求,下为响应

  1. geometry_msgs/PoseStamped start起始位姿
  2. geometry_msgs/PoseStamped goal目标位姿
  3. float32 tolerance如果目标被遮挡,可以容忍多少约束
  4. ---
  5. nav_msgs/Path plan

5、nav_msgs/OccupancyGrid.msg 栅格地图信息

  1. std_msgs/Header header
  2. nav_msgs/MapMetaData info
  3. int8[] data

6、 nav_msgs/SetMap.srv 地图初始位姿

  1. nav_msgs/OccupancyGrid map
  2. geometry_msgs/PoseWithCovarianceStamped initial_pose
    ---
  3. bool success

7、nav_msgs/Odometry.msg 位姿和线速度角速度

  1. std_msgs/Header header #pose是header.frame_id声明的
  2. string child_frame_id #twist是 child_frame_id声明的
  1. geometry_msgs/PoseWithCovariance pose
    geometry_msgs/TwistWithCovariance twist

8、nav_msgs/Path.msg 路径,其实是很多姿态组成的数组

  1. std_msgs/Header header
  2. geometry_msgs/PoseStamped[] poses

四、结语

常用传感器的sensor_msgs放在(下)讲。

ROS常用库(三)API学习之常用common_msgs(上)的更多相关文章

  1. ROS常用库(四)API学习之常用common_msgs(下)

    一.前言 承接ROS常用库(三)API学习之常用common_msgs(上). 二.sensor_msgs 1.sensor_msgs / BatteryState.msg #电源状态 uint8 P ...

  2. 《ORACLE数据库管理与开发》第三章学习之常用函数记录

    <ORACLE数据库管理与开发>第三章学习之常用函数记录 注:文章中的*代表所要操作的列名 1.lower(*)/upper(*),将此列下的值转为小写/大写 2.initcap(*):把 ...

  3. Servlet 常用API学习(三)

    Servlet常用API学习 (三) 一.HTTPServletRequest简介 Servlet API 中定义的 ServletRequest 接口类用于封装请求消息. HttpServletRe ...

  4. IOS学习:常用第三方库(GDataXMLNode:xml解析库)

    IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...

  5. Servlet 常用API学习(二)

    Servlet常用API学习 一.HTTP简介 WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议. HTTP是 hypertext transfer pr ...

  6. Servlet 常用API学习(一)

    Servlet常用API学习 一.Servlet体系结构(图片来自百度图片) 二.ServletConfig接口 Servlet在有些情况下可能需要访问Servlet容器或借助Servlet容器访问外 ...

  7. Python爬虫学习==>第五章:爬虫常用库的安装

    学习目的: 爬虫有请求库(request.selenium).解析库.存储库(MongoDB.Redis).工具库,此节学习安装常用库的安装 正式步骤 Step1:urllib和re库 这两个库在安装 ...

  8. Swing学习篇 API [一]Swing常用组件

    1.按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且 ...

  9. robotframework的学习笔记(十三)------Robot Framework常用库简介

    标准库 Robot Framework可以直接导入使用的库,包括: Builtin:包含经常需要的关键字.自动导入无需import,因此总是可用的 Dialogs:提供了暂停测试执行和从用户的输入方式 ...

随机推荐

  1. Java基础知识笔记第一章:入门

    java的地位: java具有面向对象,与平台无关,安全,稳定和多线程等优良特性,是目前软件设计中优秀的编程语言. java的特点: 1.简单 2.面向对象 3.平台无关 jre(java runti ...

  2. 使用tag标签是SEO优化的重要性是什么?

    使用tag标签是SEO优化的重要性是什么? tag标签是一种SEO技术,在网站优化的过程中,更准确.更具体地用关键词对文章进行分类,对SEO优化具有重要的作用. 但是,很多新人站长在发表文章时不太注意 ...

  3. java代理模式的实现方法

    package com.sample.sping_ireport.cglib; import java.lang.reflect.InvocationHandler; import java.lang ...

  4. Spark入门:第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2

    三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bi ...

  5. postInvalidate 解决View.GONE,没有刷新的问题

    问题描述:布局: <ScrollView id="scroll"> <LinearLayout id="container"> < ...

  6. intelliJ IDEA 全屏键盘手

    从MyEclipse到IntelliJ IDEA --让你脱键盘,全键盘操作 从MyEclipse转战到IntelliJ IDEA的经历 我一个朋友写了一篇"从Eclipse到Android ...

  7. 对iOS开发的一些认识

    从事iOS工作这么久了,我觉得对它的认识也越来越深刻.尤其是越发明白自己从事的工作属于“客户端开发”.“软件工程”分类中. 我更喜欢“客户端开发”这个词语,相对“前端开发”而言.因为前者更能充分说明面 ...

  8. 指定GPU运行python程序

    一.命令行运行python程序时 1.首先查看哪些GPU空闲,nvidia-smi显示当前GPU使用情况. nvidia-smi 2.然后指定空闲的GPU运行python程序. CUDA_VISIBL ...

  9. python学习第二课——while循环

    #while循环基础语句 while 1==1: print('OK') #死循环 #如何阻止死循环 count=0 while count<10: print('第'+(str)(count) ...

  10. Spark教程——(5)PySpark入门

    启动PySpark: [root@node1 ~]# pyspark Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 ...