ROS基础知识学习笔记(1)—数据类型

ROS基础知识学习笔记(1)—数据类型

(一)std_msgs(Standard ROS Messages)标准数据类型

参考网站:http://wiki.ros.org/std_msgs

ROS Message Types

Bool
Byte
ByteMultiArray
Char
ColorRGBA
Duration
Empty
Float32
Float32MultiArray
Float64
Float64MultiArray
Header
Int16
Int16MultiArray
Int32
Int32MultiArray
Int64
Int64MultiArray
Int8
Int8MultiArray
MultiArrayDimension
MultiArrayLayout
String
Time
UInt16
UInt16MultiArray
UInt32
UInt32MultiArray
UInt64
UInt64MultiArray
UInt8
UInt8MultiArray

典型的数据类型如下

  1. 维度标签
    维度大小
    维度跨度
    ROS基础知识学习笔记(1)—数据类型_第1张图片

  2. 解释:一个3通道、640*480的图片,数据总数3x480x640=921600
    第一层:一共有480行,每一行有数据921600/480=3x640=1920
    第二层:每一行有640列,一列数据有3个
    第三层:三个数据、三个通道正好对应

specification of data layout 数据布局规范(就是定义数组有几维,定义每一维度的大小)
ROS基础知识学习笔记(1)—数据类型_第2张图片

ROS基础知识学习笔记(1)—数据类型_第3张图片

ROS基础知识学习笔记(1)—数据类型_第4张图片

(二)common_msgs

参考网站http://wiki.ros.org/common_msgs

  1. actions (actionlib_msgs)
  2. diagnostics (diagnostic_msgs)
  3. geometric primitives (geometry_msgs)
  4. robot navigation (nav_msgs)
  5. common sensors (sensor_msgs)

3.geometry_msgs(先只写这个,好理解)

ROS Message Types
Stamped表示带有时间戳
WithCovariance表示协方差

  1. 加速度
    Accel
    AccelStamped
    AccelWithCovariance
    AccelWithCovarianceStamped
  2. Inertia
    InertiaStamped

  3. Point
    Point32
    PointStamped
  4. 多边形
    Polygon
    PolygonStamped
  5. 位姿:位置和方向
    Pose
    Pose2D
    PoseArray
    PoseStamped
    PoseWithCovariance
    PoseWithCovarianceStamped
  6. 四元数(表示旋转)
    Quaternion
    QuaternionStamped
  7. 自由空间两个自由坐标系的转换
    Transform
    TransformStamped
  8. 自由空间角速度和线速度(刚体有六个自由度,注意不是点,点只有三个自由度)
    Twist
    TwistStamped
    TwistWithCovariance
    TwistWithCovarianceStamped
  9. 向量(3x1)可以表示空间中的点、角速度、线速度、加速度
    Vector3
    Vector3Stamped
  10. 力和力矩
    Wrench
    WrenchStamped

(三)总结

都是一些基础的数据类型,对以后做导航和定位都有用。
目前有两个点不太清楚:
第一,加上时间戳的数据是怎么回事
第二,数据加上协方差是不确定度,怎么实现的?为什么是6x6的协方差矩阵?

刚接触ros不久还在认真学习,欢迎交流。

你可能感兴趣的