@Pigmon
2018-11-20T18:09:17.000000Z
字数 1581
阅读 1291
列表项
实习
不属于其他模块的,公用的功能
其他模块与ROS(I/O 通信)的抽象层
针对 vehicle_config.proto 的车辆参数配置功能,主要是 VehicleConfigHelper 类。
vehicle_config.proto 中包含的信息有:
- 车辆的长宽高
- 车辆各边线与车辆中心点(通常是后轴中点)的距离
- 最小转弯半径
- 最大加/减速
- 最大转角
- 最大转弯速度
- 前后轮距
- 车轮中心高
等
也是车辆参数配置
global_flagfile.txt 中配置了地图和具体车辆配置文件的路径
mkz_config.pb.txt 就是 vehicle_config.proto 的 mkz8 的参数配置。
数学库
一个日志系统,主要是 Monitor 和 MonitorBuffer 两个类
定义了一系列的协议格式
- car_sound.proto (Say, Beep)
- drive_event.proto (event = ?)
- error_code.proto
- geometry.proto (点,四元数)
- gnss_status.proto
- header.proto (协议头:时间戳,模块ID,Sequence number,雷达时间戳,激光雷达时间戳,摄像头时间戳,数据版本,StatusPb)
- pnc_point.proto (规划控制 Planning and Control 中的点数据定义,如路径点等)
- vehicle_signal.proto (转向灯,前灯,喇叭等)
- vehicle_state.proto (车辆的位姿,速度,加速度等)
API 返回状态,提供API执行结果的输出提示。
时间戳,计时方面的功能
看起来是消息队列监听的封装,只有一个 TransformListener 类
一些基本功能,如字符串处理等
维护当前车辆状态的 VehicleStateProvider 类。状态包括位姿,速度等。
所有模块的抽象基类
基于 Google log 的另一个 log 系统
控制模块
输入:
- 规划的路径
- 车辆状态
- HMI 自动模式修改请求
输出:(to canbus)
- 转向
- 油门
- 制动
主要围绕 data recoder
TODO
包含 conti radar, delphi esr, mobile eye 3 个产品的协议配置。
ESR:Electronically Scanning Radar 电子扫描雷达
这里主要包括自带的 ESD CAN,以及Fake Can 和 Socket Can Raw 的全套部件(can client 程序,协议配置,消息模块,传感器接口)
can_client 中除了3种Can卡的client程序外,还有can_client_factory,用来生成 can_client 的工厂类。
消息模块
消息管理器,收发,协议数据结构
一些常量定义,以及消息中用到的基本类型的封装
can_card_parameter.proto
所有 Can 卡的总体配置,包括 商标,接口类型,通信频道ID等配置
sensor_canbus_conf.proto
TODO
TODO
class Parser // gps 时间与系统时间的转换
class Stream // 处理链接,流读写的抽象基类
rtcm_decode.h
time_conversion.h // gps 时间戳与 Unix 系统时间的转换
ROS 的 launch 文件
config.proto // GPS接收器的数据格式定义
gnss_best_pose.proto