• ROS常用库(三)API学习之常用common_msgs(上)


    一、概述

      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    = 0   # server端尚未处理的goal
     2 uint8 ACTIVE       = 1   # server端正在处理的goal
     3 uint8 PREEMPTED = 2   # goal 在开始执行后收到取消请求
     4 uint8 SUCCEEDED = 3   # goal 被 server端成功发送
     5 uint8 ABORTED     = 4   # goal 无法实现
     6 uint8 REJECTED    = 5   # goal 未经处理就被拒绝
     7 uint8 PREEMPTING = 6   # goal执行后收到取消请求
     8 uint8 RECALLING    = 7   # goal 在执行前被取消,但是 action 未确认goal被取消
     9 uint8 RECALLED     = 8   # goal在执行前被成功取消
    10 uint8 LOST            = 9   #  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 上为请求,下为响应

    geometry_msgs/PoseStamped start起始位姿
    geometry_msgs/PoseStamped goal目标位姿
    float32 tolerance如果目标被遮挡,可以容忍多少约束
    ---
    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声明的
    3 geometry_msgs/PoseWithCovariance pose 
    4 geometry_msgs/TwistWithCovariance twist

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

    std_msgs/Header header
    geometry_msgs/PoseStamped[] poses  

    四、结语

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

    博文主要是总结自己的学习,因此有很多知识点没有提到,仅仅提了个人比较容易遗忘的或者非常重要的知识点。很多资料来源于网络和对一些课程的整理,侵权删。格式没花精力调整,望谅解。
  • 相关阅读:
    窗口切换快捷键
    简单排序算法
    (转)Zen Coding 让 Notepad++ 代码书写健步如飞
    (转)图解SQL的Join
    第6章 AJAX
    今天是五四青年节
    看到的php的小知识
    (转)Notepad++配合QuickText打造快速高效的文本编辑器
    一种非常好的产生"唯一"临时文件的办法
    (转)linux 目录结构及其含义
  • 原文地址:https://www.cnblogs.com/JuiceCat/p/12359332.html
Copyright © 2020-2023  润新知