/****************Apollo源码分析****************************
在apollo/modules目录中,
(识别车辆行人路况标志等),并预测下一步发展;然后把已知信息都传入规划模块(planning),规划出之后的轨道;
控制模块(control)将轨道数据转换成对车辆的控制信号,通过汽车交互模块(canbus)控制汽车.
下面这个文件是一个比较重要的数据结构文件,它定义了车辆的很多初始化配置。
syntax = "proto2";
package apollo.common;
import "modules/common/proto/header.proto";
import "modules/common/proto/geometry.proto";
message Transform {
optional bytes source_frame = 1; // Also known as "frame_id."
optional bytes target_frame = 2; // Also known as "child_frame_id."
// Position of target in the source frame.
optional Point3D translation = 3;
// Activate rotation from the source frame to the target frame.
optional Quaternion rotation = 4;
}
message Extrinsics {
repeated Transform tansforms = 1;
}
// Vehicle parameters shared among several modules.
// By default, all are measured with the SI units (meters, meters per second,
// etc.).
message VehicleParam {
// Car center point is car reference point, i.e., center of rear axle.
optional double front_edge_to_center = 1;
optional double back_edge_to_center = 2;
optional double left_edge_to_center = 3;
optional double right_edge_to_center = 4;
optional double length = 5;
optional double width = 6;
optional double height = 7;
optional double min_turn_radius = 8;
optional double max_acceleration = 9;
optional double max_deceleration = 10;
// The following items are used to compute trajectory constraints in planning.
// vehicle max steer angle
optional double max_steer_angle = 11;
// vehicle max steer rate; how fast can the steering wheel turn.
optional double max_steer_angle_rate = 12;
// ratio between the turn of steering wheel and the turn of wheels
optional double steer_ratio = 13;
// the distance between the front and back wheels
optional double wheel_base = 14;
// Tire effective rolling radius (vertical distance between the wheel center
// and the ground).
optional double wheel_rolling_radius = 15;
}
message VehicleConfig {
optional apollo.common.Header header = 1;
optional VehicleParam vehicle_param = 2;
optional Extrinsics extrinsics = 3;
}
syntax = "proto2";
package apollo.common;
import "modules/common/proto/header.proto";
import "modules/common/proto/geometry.proto";
message Transform {
optional bytes source_frame = 1; // Also known as "frame_id."大框架ID
optional bytes target_frame = 2; // Also known as "child_frame_id."子框架
// Position of target in the source frame.
optional Point3D translation = 3;//3D点云
// Activate rotation from the source frame to the target frame.
optional Quaternion rotation = 4;
}
message Extrinsics {
repeated Transform tansforms = 1;
}
// Vehicle parameters shared among several modules.
// By default, all are measured with the SI units (meters, meters per second,
// etc.).
message VehicleParam {
// Car center point is car reference point, i.e., center of rear axle.汽车的中心,上 下 左 右 这个很重要。
optional double front_edge_to_center = 1;
optional double back_edge_to_center = 2;
optional double left_edge_to_center = 3;
optional double right_edge_to_center = 4;
optional double length = 5;
optional double width = 6;
optional double height = 7;
optional double min_turn_radius = 8;
optional double max_acceleration = 9;
optional double max_deceleration = 10;
// The following items are used to compute trajectory constraints in planning.
// vehicle max steer angle
optional double max_steer_angle = 11;
// vehicle max steer rate; how fast can the steering wheel turn.
optional double max_steer_angle_rate = 12;
// ratio between the turn of steering wheel and the turn of wheels
optional double steer_ratio = 13;
// the distance between the front and back wheels
optional double wheel_base = 14;
// Tire effective rolling radius (vertical distance between the wheel center
// and the ground).
optional double wheel_rolling_radius = 15;
}
message VehicleConfig {
optional apollo.common.Header header = 1;
optional VehicleParam vehicle_param = 2;
optional Extrinsics extrinsics = 3;
}