一、概述

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

  以下仅列举较常用的msgs。

二、actionlib_msgs

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

 time stamp
string id

actionlib_msgs/GoalStatus.msg

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

二、geometry_msgs

1、geometry_msgs/Pose.msg位姿

 Point position
Quaternion orientation

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

 float64 x
float64 y
float64 theta

3、geometry_msgs/PoseArray.msg位姿数组

 std_msgs/Header header
geometry_msgs/Pose[] poses

4、geometry_msgs/Quaternion.msg四元数

 float64 x
float64 y
float64 z
float64 w

5、geometry_msgs/Transform.msg坐标转换

 geometry_msgs/Vector3 translation
geometry_msgs/Quaternion rotation

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

 geometry_msgs/Vector3 linear
geometry_msgs/Vector3 angular

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

 float64 x
float64 y
float64 z

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

 geometry_msgs/Vector3 force  #力
geometry_msgs/Vector3 torque  #力矩

三、nav_msgs

1、nav_msgs / GridCells.msg 二维栅格

 std_msgs/Header header
float32 cell_width
float32 cell_height
geometry_msgs/Point[] cells

2、nav_msgs/GetMap.srv 栅格地图

 nav_msgs/OccupancyGrid map

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

 time map_load_time
float32 resolution
uint32 width
uint32 height
geometry_msgs/Pose origin

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

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

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

 std_msgs/Header header
nav_msgs/MapMetaData info
int8[] data

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

 nav_msgs/OccupancyGrid map
geometry_msgs/PoseWithCovarianceStamped initial_pose
---
bool success

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

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

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

std_msgs/Header header
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. [阿里移动推荐算法]比赛_快速入门_4_19_update_仅供参考,思维不要受局限

    [这里只讲快速入门——即破题,正负样本不平衡.特征数量等问题就自己多看论文或者其他资料吧~~如果还有数据挖掘相关基础知识不了解的,建议看看<数据挖掘导论>] [以下是理解错误案例]:错误的 ...

  2. iOS马甲包上架总结

    https://www.jianshu.com/p/da0a259338ea iOS马甲包上架首先明白一点,这个上架的app马甲包一定是不合规的.不然也不会使用马甲包上架. 上架过程中遇到的坑. 因为 ...

  3. SI架构设计与实践

    拆分数据表 水平拆分: 水平拆分 路由算法 pavarotti17 f(pavarotti17) 路由算法——扩容 路由算法——非均匀分布 拆分表的数据访问——SQL转发 si的策略 MySQL集群替 ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定引用右对齐

    <!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...

  5. C语言入门---第九章 C语言指针

    没学指针就是没学C语言! 指针是C语言的精华,也是C语言的难点. 所谓指针,也就是内存的地址,所谓指针变量,也就是保存了内存地址的变量.不过人们往往不会区分两者的概念,而是混淆在一起使用. ===== ...

  6. Python学习笔记004

    变量 变量的命名规则1. 要具有描述性2. 变量名只能_,数字,字母组成,不可以是空格或特殊字符(#?<.,¥$*!~)3. 不能以中文为变量名4. 不能以数字开头,下划线或者小写字母开头,驼峰 ...

  7. 四、linux基础-系统目录_安装_相关命令_调度

    4 系统目录-安装-版本4.1系统目录Linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录. 在装完Linux系统以后会自动生成一下等目录, ...

  8. 从七牛服务下载PDF文件

    /** * 从七牛下载PDF文件 * @param request * @param response * @param exhiId * @throws MalformedURLException ...

  9. 【Java】变量命名规范

    Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包.类.变量等的命名规范. (一)Package(包)的命名 P ...

  10. 窥探QQ基础数据库架构演变史

    作为腾讯最核心最基础的后台服务之一,QQ基础数据库是存储QQ用户帐户信息和关系链信息的海量集群,它承载了百万级每秒的访问量.十亿级的账户数.百亿级关系链.如此大规模的集群,它是如何从300万的数量级一 ...