cartographer源码分析(20)-sensor-data.h
来源:互联网 发布:西班牙手机网络 编辑:程序博客网 时间:2024/06/06 16:44
源码可在https://github.com/learnmoreonce/SLAM 下载
文件:data.h#ifndef CARTOGRAPHER_MAPPING_DATA_H_#define CARTOGRAPHER_MAPPING_DATA_H_#include "cartographer/common/time.h"#include "cartographer/sensor/point_cloud.h"#include "cartographer/sensor/range_data.h"#include "cartographer/transform/rigid_transform.h"namespace cartographer {namespace sensor {/* Data是针对某一类的传感器的数据的封装,数据成员含:1,传感器类型,包括imu,雷达,里程计2,测量时间,time3,Imu测量值,(imu:惯性测量单元是测量物体三轴姿态角(或角速率)以及加速度的装置。)4,rangefinder,测距仪,5,odometer_pose,里程计,指(如装在汽车上的)测量行程的装置。构造函数有3个,每一类传感器对应一个构造函数.*/// This type is a logical union, i.e. only one type of sensor data is actually// filled in. It is only used for time ordering sensor data before passing it// on.struct Data { enum class Type { kImu, kRangefinder, kOdometer }; struct Imu { Eigen::Vector3d linear_acceleration; //线性加速度,m/s2 Eigen::Vector3d angular_velocity; //角速度, rad/s };//测距仪.基本原理是向待测距的物体发射激光脉冲并开始计时,接收到反射光时停止计时。这段时间即可以转换为激光器与目标之间的距离。 struct Rangefinder { Eigen::Vector3f origin; //sensor的位姿 PointCloud ranges; //测距点云 }; Data(const common::Time time, const Imu& imu) //传感器类型是imu : type(Type::kImu), time(time), imu(imu) {} Data(const common::Time time, const Rangefinder& rangefinder)//传感器类型是雷达 : type(Type::kRangefinder), time(time), rangefinder(rangefinder) {} Data(const common::Time time, const transform::Rigid3d& odometer_pose) //传感器类型是里程计 : type(Type::kOdometer), time(time), odometer_pose(odometer_pose) {} Type type; common::Time time; Imu imu; Rangefinder rangefinder; transform::Rigid3d odometer_pose;};} // namespace sensor} // namespace cartographer#endif // CARTOGRAPHER_MAPPING_DATA_H_/*rigidbody:刚体 */
测试代码:
本文发于:
* http://www.jianshu.com/u/9e38d2febec1
* https://zhuanlan.zhihu.com/learnmoreonce
* http://blog.csdn.net/learnmoreonce
* slam源码分析微信公众号:slamcode
阅读全文
0 0
- cartographer源码分析(20)-sensor-data.h
- cartographer源码分析(17)-sensor-point_cloud.h
- cartographer源码分析(19)-sensor-range_data.h
- cartographer源码分析(21)-sensor-ordered_multi_queue.h
- cartographer源码分析(22)-sensor-collator.h
- cartographer源码分析(23)-sensor-voxel_filter.h
- cartographer源码分析(24)-sensor-configuration.h
- cartographer源码分析(18)-sensor-compressed_point_cloud
- cartographer源码分析(3)-common-port.h
- cartographer源码分析(4)-common-time.h
- cartographer源码分析(5)-common-rate_time.h
- cartographer源码分析(6)-common-histogram.h
- cartographer源码分析(7)-common-math.h
- cartographer源码分析(8)-common-make_unique.h
- cartographer源码分析(5)-common-fixed_ratio_sampler.h
- cartographer源码分析(9)-common-mutex.h
- cartographer源码分析(10)-common-thread_pool.h
- cartographer源码分析(11)-common-blocking_queue.h
- 数据结构基础知识-线性表
- 0727Link
- 锁定Excel
- CSS之float
- ndk-build
- cartographer源码分析(20)-sensor-data.h
- TensorFlow实现自编码器
- Java多线程系列----Fork/Join框架介绍
- error C2360: initialization of 'j' is skipped by 'case' label
- HDU6047(数学题)
- 85 Maximal Rectangle (最大矩形)
- hdu 6053 莫比乌斯函数(容斥)
- hpuoj 【1287】数组最值 【水题】
- 爬去杭电hdu做题情况