message LocalizationEstimate {
optional apollo.common.Header header = 1;
optional apollo.localization.Pose pose = 2;
optional Uncertainty uncertainty = 3;
// The time of pose measurement, seconds since 1970-1-1 (UNIX time).
optional double measurement_time = 4; // In seconds.
// Future trajectory actually driven by the drivers
repeated apollo.common.TrajectoryPoint trajectory_point = 5;
// msf status
optional MsfStatus msf_status = 6;
// msf quality
optional MsfSensorMsgStatus sensor_status = 7;
}
modules/common/proto/header.proto:
message Header {
// Message publishing time in seconds.
optional double timestamp_sec = 1;
// Module name.
optional string module_name = 2;
// Sequence number for each message. Each module maintains its own counter for
// sequence_num, always starting from 1 on boot.
optional uint32 sequence_num = 3;
// Lidar Sensor timestamp for nano-second.
optional uint64 lidar_timestamp = 4;
// Camera Sensor timestamp for nano-second.
optional uint64 camera_timestamp = 5;
// Radar Sensor timestamp for nano-second.
optional uint64 radar_timestamp = 6;
// data version
optional uint32 version = 7 [default = 1];
optional StatusPb status = 8;
optional string frame_id = 9;
}
modules/localization/proto/pose.proto:
message Pose {
// Position of the vehicle reference point (VRP) in the map reference frame.
// The VRP is the center of rear axle.
optional apollo.common.PointENU position = 1;
// A quaternion that represents the rotation from the IMU coordinate
// (Right/Forward/Up) to the
// world coordinate (East/North/Up).
optional apollo.common.Quaternion orientation = 2;
// Linear velocity of the VRP in the map reference frame.
// East/north/up in meters per second.
optional apollo.common.Point3D linear_velocity = 3;
// Linear acceleration of the VRP in the map reference frame.
// East/north/up in meters per square second.
optional apollo.common.Point3D linear_acceleration = 4;
// Angular velocity of the vehicle in the map reference frame.
// Around east/north/up axes in radians per second.
optional apollo.common.Point3D angular_velocity = 5;
// Heading
// The heading is zero when the car is facing East and positive when facing
// North.
optional double heading = 6;
// Linear acceleration of the VRP in the vehicle reference frame.
// Right/forward/up in meters per square second.
optional apollo.common.Point3D linear_acceleration_vrf = 7;
// Angular velocity of the VRP in the vehicle reference frame.
// Around right/forward/up axes in radians per second.
optional apollo.common.Point3D angular_velocity_vrf = 8;
// Roll/pitch/yaw that represents a rotation with intrinsic sequence z-x-y.
// in world coordinate (East/North/Up)
// The roll, in (-pi/2, pi/2), corresponds to a rotation around the y-axis.
// The pitch, in [-pi, pi), corresponds to a rotation around the x-axis.
// The yaw, in [-pi, pi), corresponds to a rotation around the z-axis.
// The direction of rotation follows the right-hand rule.
optional apollo.common.Point3D euler_angles = 9;
}
message Uncertainty {
// Standard deviation of position, east/north/up in meters.
optional apollo.common.Point3D position_std_dev = 1;
// Standard deviation of quaternion qx/qy/qz, unitless.
optional apollo.common.Point3D orientation_std_dev = 2;
// Standard deviation of linear velocity, east/north/up in meters per second.
optional apollo.common.Point3D linear_velocity_std_dev = 3;
// Standard deviation of linear acceleration, right/forward/up in meters per
// square second.
optional apollo.common.Point3D linear_acceleration_std_dev = 4;
// Standard deviation of angular velocity, right/forward/up in radians per
// second.
optional apollo.common.Point3D angular_velocity_std_dev = 5;
// TODO: Define covariance items when needed.
}
message TrajectoryPoint {
// path point
optional PathPoint path_point = 1;
// linear velocity
optional double v = 2; // in [m/s]
// linear acceleration
optional double a = 3;
// relative time from beginning of the trajectory
optional double relative_time = 4;
// longitudinal jerk
optional double da = 5;
// The angle between vehicle front wheel and vehicle longitudinal axis
optional double steer = 6;
// Gaussian probability information
optional GaussianInfo gaussian_info = 7;
}
message TrajectoryPoint {
// path point
optional PathPoint path_point = 1;
// linear velocity
optional double v = 2; // in [m/s]
// linear acceleration
optional double a = 3;
// relative time from beginning of the trajectory
optional double relative_time = 4;
// longitudinal jerk
optional double da = 5;
// The angle between vehicle front wheel and vehicle longitudinal axis
optional double steer = 6;
// Gaussian probability information
optional GaussianInfo gaussian_info = 7;
}