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.980327348

apollo.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.006024521

apollo.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_XX

apollo.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_NORMAL

apollo.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)的关系,参见 消息格式。

文档意见反馈

如果您在使用文档时遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。

控制模块apollo_sensor_gnss_odometry