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
典型的数据类型如下
-
维度标签
维度大小
维度跨度 -
解释:一个3通道、640*480的图片,数据总数3x480x640=921600
第一层:一共有480行,每一行有数据921600/480=3x640=1920
第二层:每一行有640列,一列数据有3个
第三层:三个数据、三个通道正好对应
specification of data layout 数据布局规范(就是定义数组有几维,定义每一维度的大小)
(二)common_msgs
参考网站http://wiki.ros.org/common_msgs
- actions (actionlib_msgs)
- diagnostics (diagnostic_msgs)
- geometric primitives (geometry_msgs)
- robot navigation (nav_msgs)
- common sensors (sensor_msgs)
3.geometry_msgs(先只写这个,好理解)
ROS Message Types
Stamped表示带有时间戳
WithCovariance表示协方差
- 加速度
Accel
AccelStamped
AccelWithCovariance
AccelWithCovarianceStamped - Inertia
InertiaStamped - 点
Point
Point32
PointStamped - 多边形
Polygon
PolygonStamped - 位姿:位置和方向
Pose
Pose2D
PoseArray
PoseStamped
PoseWithCovariance
PoseWithCovarianceStamped - 四元数(表示旋转)
Quaternion
QuaternionStamped - 自由空间两个自由坐标系的转换
Transform
TransformStamped - 自由空间角速度和线速度(刚体有六个自由度,注意不是点,点只有三个自由度)
Twist
TwistStamped
TwistWithCovariance
TwistWithCovarianceStamped - 向量(3x1)可以表示空间中的点、角速度、线速度、加速度
Vector3
Vector3Stamped - 力和力矩
Wrench
WrenchStamped
(三)总结
都是一些基础的数据类型,对以后做导航和定位都有用。
目前有两个点不太清楚:
第一,加上时间戳的数据是怎么回事
第二,数据加上协方差是不确定度,怎么实现的?为什么是6x6的协方差矩阵?
刚接触ros不久还在认真学习,欢迎交流。