REF:
source code :apollo/tree/master/modules/planning
https://github.com/ApolloAuto/apollo/blob/master/docs/specs/Class_Architecture_Planning_cn.md
https://github.com/ApolloAuto/apollo/tree/master/modules/planning README.md
改变:
- 3.0以前,Apollo 用一套规划算法处理所有case.
- 3.5之后,改成场景base 的规划算法,scenario-based planning
针对不同场景(车道中心保持,停车(车库停车,靠边停车 ...),掉头,十字路口(有红绿灯,无红绿灯 ...),选用不同的规划算法,生成profile,再执行。
其中decider --是基于规则的规划--也不是最理想的,会有bug,有遗漏...
- Apollo FSM: A finite state machine that determines the vehicle state given its location and routing together with HD Map.
- 有限状态机,还是有缺陷的,bug易发。
- Planning Dispatcher: Call an appropriate planner given the vehicle's state and some other relevant information
- Planner: Obtain the required context data and other information, decide a corresponding vehicle intention, execute the required planning tasks for this intention and generate the planning trajectory. It will also update the context for future jobs.
- Deciders & Optimizers: A set of stateless libraries that implement decision tasks and various optimizations. Optimizers specifically optimize the vehicle's trajectory and speed. Deciders are rule-based decision makers that