apollo_localization_pose
/apollo/localization/pose 数据通道(Channel)是 Apollo 系统的定位模块输出的包含定位数据消息的通道。
通过本文档,开发者可以了解到 /apollo/localization/pose 通道里各数据字段的含义。
前提条件
您需要提前了解:
通道数据解释
/apollo/localization/pose 通道示例
参考快速上手播放 demo_3.5.record 的数据包后,您可以通过 Cyber Monitor 工具查看数据包里的全部的通道信息。
其中,/apollo/localization/pose 通道内的数据如下所示。
ChannelName: /apollo/localization/pose
MessageType: apollo.localization.LocalizationEstimate
FrameRatio: 100.18
RawMessage Size: 384 Bytes
header:
timestamp_sec: 1620887202.668302536
pose:
position:
x: 427418.857238968
y: 4438577.160479160
z: 35.368224774
orientation:
qx: -0.004299701
qy: -0.006711883
qz: -0.996721749
qw: 0.080512230
linear_velocity:
x: 1.627240114
y: -8.999281328
z: 0.027009255
linear_acceleration:
x: 0.253053322
y: -1.187401568
z: -0.294651518
angular_velocity:
x: -0.002736431
y: 0.003200833
z: 0.009089972
heading: -1.409531021
linear_acceleration_vrf:
x: -0.062101887
y: 1.208791026
z: -0.309427851
angular_velocity_vrf:
x: 0.002275052
y: -0.003483066
z: 0.009113362
euler_angles:
x: 0.012687744
y: -0.009652916
z: -2.980327348
uncertainty:
position_std_dev:
x: 0.029759098
y: 0.033565582
z: 0.012526811
orientation_std_dev:
x: 0.078841062
y: 0.084099695
z: 0.051813654
linear_velocity_std_dev:
x: 0.021566490
y: 0.023933487
z: 0.006024521
measurement_time: 1620887202.660790920
msf_status:
local_lidar_consistency: MSF_LOCAL_LIDAR_CONSISTENCY_03
gnss_consistency: MSF_GNSS_CONSISTENCY_03
local_lidar_status: MSF_LOCAL_LIDAR_NORMAL
local_lidar_quality: MSF_LOCAL_LIDAR_VERY_GOOD
gnsspos_position_type: PSRDIFF
msf_running_status: MSF_SOL_LIDAR_XX
sensor_status:
imu_delay_status: IMU_DELAY_NORMAL
imu_missing_status: IMU_MISSING_NORMAL
imu_data_status: IMU_DATA_NORMAL整个数据通道内的数据可以分为两部分:CyberRT 框架定义的元数据和通道对应的消息格式(Message)所定义的消息数据。
CyberRT 框架定义的元数据
该部分包括 ChannelName、MessageType、FrameRatio、RawMessage Size 数据字段,参见 数据通道。
ChannelName: /apollo/localization/pose
MessageType: apollo.perception.LocalizationEstimate
FrameRatio: 0.00
RawMessage Size: 16863 Bytes (16.47 KB)其中,MessageType 定义了当前通道对应的消息格式(Message)为apollo.localization.LocalizationEstimate。
消息格式(Message)所定义的消息数据
该部分数据字段由 apollo.localization.LocalizationEstimate 消息格式(Message)定义。
header:
timestamp_sec: 1620887202.668302536
pose:
position:
x: 427418.857238968
y: 4438577.160479160
z: 35.368224774
orientation:
qx: -0.004299701
qy: -0.006711883
qz: -0.996721749
qw: 0.080512230
linear_velocity:
x: 1.627240114
y: -8.999281328
z: 0.027009255
linear_acceleration:
x: 0.253053322
y: -1.187401568
z: -0.294651518
angular_velocity:
x: -0.002736431
y: 0.003200833
z: 0.009089972
heading: -1.409531021
linear_acceleration_vrf:
x: -0.062101887
y: 1.208791026
z: -0.309427851
angular_velocity_vrf:
x: 0.002275052
y: -0.003483066
z: 0.009113362
euler_angles:
x: 0.012687744
y: -0.009652916
z: -2.980327348
uncertainty:
position_std_dev:
x: 0.029759098
y: 0.033565582
z: 0.012526811
orientation_std_dev:
x: 0.078841062
y: 0.084099695
z: 0.051813654
linear_velocity_std_dev:
x: 0.021566490
y: 0.023933487
z: 0.006024521
measurement_time: 1620887202.660790920
msf_status:
local_lidar_consistency: MSF_LOCAL_LIDAR_CONSISTENCY_03
gnss_consistency: MSF_GNSS_CONSISTENCY_03
local_lidar_status: MSF_LOCAL_LIDAR_NORMAL
local_lidar_quality: MSF_LOCAL_LIDAR_VERY_GOOD
gnsspos_position_type: PSRDIFF
msf_running_status: MSF_SOL_LIDAR_XX
sensor_status:
imu_delay_status: IMU_DELAY_NORMAL
imu_missing_status: IMU_MISSING_NORMAL
imu_data_status: IMU_DATA_NORMAL下一小节,将逐一详细介绍这部分消息的数据字段含义。
apollo.localization.LocalizationEstimate 等消息格式(Message)定义的数据字段
apollo.localization.LocalizationEstimate 消息格式(Message)
其定义了如下重要数据字段。
| 数据名称 | 数据解释 | Protobuf Message 定义 |
|---|---|---|
| header | 头信息 | 由 apollo.common.Header 定义 |
| pose | 位置姿态 | 由 apollo.localization.Pose 定义 |
| uncertainty | 不确定度 | 由 apollo.localization.Uncertainty 定义 |
| measurement_time | 测量时间 | 双精度浮点 double |
| trajectory_point | 轨迹点(暂时没有作用) | apollo.localization.Uncertainty 定义 |
| msf_status | 融合定位状态 | apollo.localization.MsfStatus 定义 |
| sensor_status | 传感器状态 | apollo.localization.MsfSensorMsgStatus 定义 |
apollo.localization.Pose 消息格式(Message)
在 CyberMonitor 工具中查看/apollo/localization/pose 可以看到第一部分 pose 字段的具体数据,该字段数据是由 apollo.localization.Pose 消息格式(Message)定义的。
pose 示例如下:
pose:
position:
x: 427418.857238968
y: 4438577.160479160
z: 35.368224774
orientation:
qx: -0.004299701
qy: -0.006711883
qz: -0.996721749
qw: 0.080512230
linear_velocity:
x: 1.627240114
y: -8.999281328
z: 0.027009255
linear_acceleration:
x: 0.253053322
y: -1.187401568
z: -0.294651518
angular_velocity:
x: -0.002736431
y: 0.003200833
z: 0.009089972
heading: -1.409531021
linear_acceleration_vrf:
x: -0.062101887
y: 1.208791026
z: -0.309427851
angular_velocity_vrf:
x: 0.002275052
y: -0.003483066
z: 0.009113362
euler_angles:
x: 0.012687744
y: -0.009652916
z: -2.980327348apollo.localization.Pose 消息格式(Message)定义了如下的重要数据字段。
| 数据名称 | 数据解释 | 取值范围 | 单位/字段类型 |
|---|---|---|---|
| position | ENU坐标系下的位置坐标 | - | apollo.common.PointENU |
| position-x | ENU坐标系下的x轴位置坐标 | -∞,+∞ | m |
| poxition-y | ENU坐标系下的y轴位置坐标 | -∞,+∞ | m |
| position-z | ENU坐标系下的z轴位置坐标 | -∞,+∞ | m |
| orientation | ENU坐标系下的姿态值(四元数) | - | apollo.common.Quaternion |
| orientation-x | ENU坐标系下的x轴姿态值(四元数) | -1.0, 1.0 | 1 |
| orientation-y | ENU坐标系下的y轴姿态值(四元数) | -1.0, 1.0 | 1 |
| orientation-z | ENU坐标系下的z轴姿态值(四元数) | -1.0, 1.0 | 1 |
| orientation-w | ENU坐标系下的w轴姿态值(四元数) | -1.0, 1.0 | 1 |
| linear_velocity | ENU坐标系下的线速度 | - | apollo.common.Point3D |
| linear_velocity-x | ENU坐标系下的x轴线速度 | -∞,+∞ | m/s |
| linear_velocity-y | ENU坐标系下的y轴线速度 | -∞,+∞ | m/s |
| linear_velocity-z | ENU坐标系下的z轴线速度 | -∞,+∞ | m/s |
| linear_acceleration | ENU坐标系下的线加速度 | - | apollo.common.Point3D |
| linear_acceleration-x | ENU坐标系下的x轴线加速度 | -∞,+∞ | m/s2 |
| linear_acceleration-y | ENU坐标系下的y轴线加速度 | -∞,+∞ | m/s2 |
| linear_acceleration-z | ENU坐标系下的z轴线加速度 | -∞,+∞ | m/s2 |
| angular_velocity | ENU坐标系下的角速度 | - | apollo.common.Point3D |
| angular_velocity-x | ENU坐标系下的x轴角速度 | -∞,+∞ | rad/s |
| angular_velocity-y | ENU坐标系下的y轴角速度 | -∞,+∞ | rad/s |
| angular_velocity-z | ENU坐标系下的z轴角速度 | -∞,+∞ | rad/s |
| heading | 朝向角 | -π, π | rad |
| linear_acceleration_vrf | 车辆坐标系下的线加速度 | - | apollo.common.Point3D |
| linear_acceleration_vrf-x | 车辆坐标系下的x轴线加速度 | -∞,+∞ | m/s2 |
| linear_acceleration_vrf-y | 车辆坐标系下的y轴线加速度 | -∞,+∞ | m/s2 |
| linear_acceleration_vrf-z | 车辆坐标系下的z轴线加速度 | -∞,+∞ | m/s2 |
| angular_velocity_vrf | 车辆坐标系下的角速度 | - | apollo.common.Point3D |
| angular_velocity_vrf-x | 车辆坐标系下的x轴角速度 | -∞,+∞ | rad/s |
| angular_velocity_vrf-y | 车辆坐标系下的y轴角速度 | -∞,+∞ | rad/s |
| angular_velocity_vrf-z | 车辆坐标系下的z轴角速度 | -∞,+∞ | rad/s |
| euler_angles | ENU坐标系下的姿态(欧拉角) | - | apollo.common.Point3D |
| euler_angles-x | ENU坐标系下的x轴姿态(欧拉角) | -π, π | rad |
| euler_angles-y | ENU坐标系下的y轴姿态(欧拉角) | -π, π | rad |
| euler_angles-z | ENU坐标系下的z轴姿态(欧拉角) | -π, π | rad |
apollo.localization.Uncertainty 消息格式(Message)
uncertainty 示例如下:
uncertainty:
position_std_dev:
x: 0.029759098
y: 0.033565582
z: 0.012526811
orientation_std_dev:
x: 0.078841062
y: 0.084099695
z: 0.051813654
linear_velocity_std_dev:
x: 0.021566490
y: 0.023933487
z: 0.006024521apollo.localization.Uncertainty 消息格式(Message)使用标准差来表示定位结果的置信度,定义了以下字段:
| 数据名称 | 数据解释 | 取值范围 | 单位/字段类型 |
|---|---|---|---|
| position_std_dev | 位置标准差 | - | apollo.common.Point3D |
| position_std_dev-x | 位置x轴标准差 | 0,+∞ | m |
| position_std_dev-y | 位置y轴标准差 | 0,+∞ | m |
| position_std_dev-z | 位置z轴标准差 | 0,+∞ | m |
| orientation_std_dev | 姿态标准差 | - | apollo.common.Point3D |
| orientation_std_dev-x | 姿态x轴标准差 | 0,+∞ | rad |
| orientation_std_dev-y | 姿态y轴标准差 | 0,+∞ | rad |
| orientation_std_dev-z | 姿态z轴标准差 | 0,+∞ | rad |
| linear_velocity_std_dev | 线速度标准差 | - | apollo.common.Point3D |
| linear_velocity_std_dev-x | 线速度x轴标准差 | 0,+∞ | m/s |
| linear_velocity_std_dev-y | 线速度y轴标准差 | 0,+∞ | m/s |
| linear_velocity_std_dev-z | 线速度z轴标准差 | 0,+∞ | m/s |
| linear_acceleration_std_dev | 线加速度标准差 | - | apollo.common.Point3D |
| linear_acceleration_std_dev-x | 线加速度x轴标准差 | 0,+∞ | m/s2 |
| linear_acceleration_std_dev-y | 线加速度y轴标准差 | 0,+∞ | m/s2 |
| linear_acceleration_std_dev-z | 线加速度z轴标准差 | 0,+∞ | m/s2 |
| angular_velocity_std_dev | 角速度标准差 | - | apollo.common.Point3D |
| angular_velocity_std_dev-x | 角速度x轴标准差 | 0,+∞ | rad/s |
| angular_velocity_std_dev-y | 角速度y轴标准差 | 0,+∞ | rad/s |
| angular_velocity_std_dev-z | 角速度z轴标准差 | 0,+∞ | rad/s |
apollo.common.TrajectoryPoint 消息格式(Message)
trajectory_point 暂时没有应用,不做介绍。
apollo.localization.MsfStatus 消息格式(Message)
msf_status 示例如下:
msf_status:
local_lidar_consistency: MSF_LOCAL_LIDAR_CONSISTENCY_03
gnss_consistency: MSF_GNSS_CONSISTENCY_03
local_lidar_status: MSF_LOCAL_LIDAR_NORMAL
local_lidar_quality: MSF_LOCAL_LIDAR_VERY_GOOD
gnsspos_position_type: PSRDIFF
msf_running_status: MSF_SOL_LIDAR_XXapollo.localization.MsfStatus 消息格式(Message)定义了以下字段。
| 数据名称 | 数据解释 | 取值范围 | 单位/字段类型 |
|---|---|---|---|
| local_lidar_consistency | LiDAR 定位一致性 | - | apollo.localization.LocalLidarConsistency |
| gnss_consistency | GNSS 定位一致性 | - | apollo.localization.GnssConsistency |
| local_lidar_status | LiDAR 定位状态 | - | apollo.localization.LocalLidarStatus |
| local_lidar_quality | LiDAR 定位质量 | - | apollo.localization.LocalLidarQuality |
| gnsspos_position_type | GNSS 定位类型 | - | apollo.localization.GnssPositionType |
| msf_running_status | 融合定位运行状态 | - | apollo.localization.MsfRunningStatus |
apollo.localization.MsfSensorMsgStatus 消息格式(Message)
sensor_status 示例如下:
sensor_status:
imu_delay_status: IMU_DELAY_NORMAL
imu_missing_status: IMU_MISSING_NORMAL
imu_data_status: IMU_DATA_NORMALapollo.localization.MsfSensorMsgStatus 消息格式(Message)定义了以下字段:
| 数据名称 | 数据解释 | 取值范围 | 单位/字段类型 |
|---|---|---|---|
| imu_delay_status | IMU 消息延迟状态 | delay_normal,delay_1,delay_2,delay_3,delay_abnormal | apollo.localization.ImuMsgDelayStatus |
| imu_missing_status | IMU 消息丢失状态 | missing_normal,missing_1,missing_2,missing_3,missing_4,missing_5,missing_abnormal | apollo.localization.ImuMsgMissingStatus |
| imu_data_status | IMU 消息状态 | data_normal,data_abnormal,data_other | apollo.localization.ImuMsgDataStatus |
深入了解 LocalizationEstimate 数据类型
深入了解 apollo.localization.LocalizationEstimate 等消息格式(Message)定义,参见 localization.proto 文件。关于 protobuf 与 消息格式(Message)的关系,参见 消息格式。
文档意见反馈
如果您在使用文档时遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。