Ros感知主要结构体

1.sensor_msgs::LaserScan

#
# 测量的激光扫描角度,逆时针为正
# 设备坐标帧的0度面向前(沿着X轴方向)
#

Header header//是一个结构体,包含seq、stamp、frame—id。
    //seq扫描顺序增加的id序列;
    //stamp激光数据的时间戳;//stamp可能对应每次扫描开始的时间
    //frame-id是扫描数据的名字
float32 angle_min        # scan的开始角度 [弧度]
float32 angle_max        # scan的结束角度 [弧度]
float32 angle_increment  # 测量的角度间的距离 [弧度]
float32 time_increment   # 测量间的时间 [秒]
float32 scan_time        # 扫描间的时间 [秒]
float32 range_min        # 最小的测量距离 [米]
float32 range_max        # 最大的测量距离 [米]
float32[] ranges         # 测量的距离数据 [米] (注意: 值 < range_min 或 > range_max 应当被丢弃)
float32[] intensities    # 强度数据 [device-specific units]

 

2. sensor_msgs::PointCloud

 Point32_()
    : x(0.0)
    , y(0.0)
    , z(0.0) {}//float

ChannelFloat32_()//each channel have a name and paras of all points
    : name()           //basic_string
    , values()  {}    //vector<float>, values.size()==point.size()

struct PointCloud_
{ Header_ header; vector
< Point32_> point; vector<ChannelFloat32_> channels; //each pointcloud have many points and several channels(eg: intensity) }

 

3.sensor_msgs/CameraInfo

std_msgs/Header header;//
uint32 height;//
uint32 width;
string distortion_model;
float64[] D;
float64[9] K;
float64[9] R;
float64[12] P;
uint32 binning_x;
uint32 binning_y;
sensor_msgs/RegionOfInterest roi;
//http://docs.ros.org/kinetic/api/sensor_msgs/html/msg/CameraInfo.html

 

4.sensor_msgs/Image

std_msgs/Header header;
uint32 height;    //image height, that is, number of rows
uint32 width;    // image width, that is, number of columns
string encoding;  //Encoding of pixels -- channel meaning, ordering, size
uint8 is_bigendian;//is this data bigendian?
uint32 step;    // Full row length in bytes
uint8[] data;    //actual matrix data, size is (step * rows)

 

 

未完待续。。。

 

posted @ 2020-06-01 17:58  寒江小筑  阅读(403)  评论(0编辑  收藏  举报