本文主要介绍localization模块
版本信息: ubuntu16.04,apollo2.5,docker
1.Localization使用的算法
RTK算法(Real Time Kinematic):合并GPS和IMU信息。
MSF算法(multi-sensor fusion):融合多个传感器信息,包括 GPS, IMU, 和LiDAR
1.1 算法的输入信息
RTK算法:输入IMU,GPS信息
MSF算法:输入IMU,GPS,LiDAR,Localization map信息和参数配置文件
IMU
IMU(Inertial Measurement Unit):惯性测量单元,主要提供物体姿态信息,如三轴的角速度和加速度。
topic:/apollo/sensor/gnss/imu
输入格式:modules/drivers/gnss/proto/imu.proto
message Imu {
optional apollo.common.Header header = 1;
// The time of IMU measurement, seconds since the GPS epoch (Jan 6, 1980).
optional double measurement_time = 2; // In seconds.
// When measurement_span is non-zero, the gyroscope and accelerometer
// measurements are averaged for the period from
// (measurement_time - measurement_span) to measurement_time. Usually,
// measurement_span = 1 / sampling_frequency.
//
// When measurement_span is 0, angular_velocity and linear_acceleration are
// instantaneous at measurement_time.
optional float measurement_span = 3 [default = 0.0]; // In seconds.
// Forward/left/up in meters per square second.
optional apollo.common.Point3D linear_acceleration = 4;
// Around forward/left/up axes in radians per second.
optional apollo.common.Point3D angular_velocity = 5;
}
举例:
header {
timestamp_sec: 1523917547.85
}
measurement_time: 1207952765.83
measurement_span: 0.00499999988824
linear_acceleration { //线加速度
x: -0.164657831192
y: -0.844970345497
z: 11.2289190292
}
angular_velocity { //角速度
x: 0.0260528154901
y: -0.00899050934794
z: -0.00442620494063
}
GPS
GPS(Global Positioning System):全球定位系统,主要提供物体的经度,纬度和高度等信息