1 背景
在Apollo中,有比较多的Decider(决策器),上篇博客《自动驾驶—Motion Planning之Decider》中笔者也大概介绍了每个Deicder的作用。
本篇博客笔者主要介绍换道的决策内容,因为在自动驾驶中(严格意义上来讲,目前还属于辅助驾驶),变道的灵活性是用户评价该功能是否好用很重要的一部分,变道迟缓或者激进都是不好的体验,所以本篇博客会结合Apollo中的LaneChangeDecider、MCTS决策器及他们在量产中的使用做些介绍。
2 LaneChange
在自动驾驶中,变道使用的规划算法是一个核心组件,它负责确定车辆如何在保持安全和效率的同时,从当前车道转移到相邻车道。这些规划算法通常涉及多个层次和多个阶段的决策过程,通过下面四个模块的说明,读者可以进一步了解整个变道的过程。
(1)全局路径规划(Routing)
- 结合高精地图信息,全局路径规划会生成从当前位置到目的地的全局路径,考虑到道路网络、交通规则、交通流量等因素,全局路径规划算法会根据车道信息生成一条或者多条行驶路线。
(2)行为决策层(Behavior Planning)
- 在全局路径规划的基础上,行为决策层会结合实时感知数据(如周围车辆、行人、障碍物等)进行更具体的决策。
- 这一层会评估当前交通状况,判断是否适合变道,以及选择最佳的变道时机和方式。
- 行为决策层可能会使用决策树、规则基系统、有限状态机等方法来实现。
(3)运动规划(Motion Planning)
- 运动规划层负责生成具体的轨迹,使车辆能够按照行为决策层的决策进行变道。
- 这一层会考虑车辆的动力学约束(如加速度、减速服务器托管网度、转向角度等),以及乘客的舒适性、安全性等因素。
- 运动规划算法可能会使用采样基方法(Lattice,RRT等)、优化方法(如模型预测控制、轨迹优化等)来生成满足约束的轨迹。
2.1 Apollo之LaneChange
Apollo中的Lane Chan服务器托管网ge Decider(换道决策器)是其自动驾驶系统中一个重要的组成部分,主要负责产生是否换道的决策并更新换道状态。
换道决策器在LaneFollow场景下被调用,是第一个task。它的作用是对车辆的换道状态进行管理,包括换道中(IN_CHANGE_LANE
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
import json from pyecharts.charts import Line from pyecharts import options # 首先使用文件打开数据 f_us = open(‘Desktop/python/Project/数据可视化…