CoDrivingLLM
思路
1.输入和输出
输入
算法的输入包括车辆当前时刻的状态 S t S_t St ,这个状态包含了车辆的位置、速度、行驶方向等信息;以及参与协同驾驶的联网自动驾驶汽车列表C,用于确定需要进行决策的车辆集合。
输出
输出为车辆下一时刻的状态 S t + 1 S_{t + 1} St+1,这是经过算法计算和决策后得到的车辆新状态,用于车辆的实际行驶控制。
2. 推理模块
2.1 初始化决策缓冲区D和场景描述缓冲区sce:
为每辆联网自动驾驶汽车初始化决策缓冲区D,用于存储每辆车的决策结果;初始化场景描述缓冲区sce,用于存储对驾驶场景的描述信息 。
2.2 生成场景描述:
遍历车辆列表C,对于每辆车i,根据当前时刻的车辆状态 S t S_t St生成其场景描述 s c e i sce_i scei,这个描述包含了车辆自身的状态以及周围环境的信息,如其他车辆的位置、速度等。然后将生成的场景描述 s c e i sce_i scei添加到场景描述缓冲区sce中。
2.3 生成冲突描述:
基于场景描述缓冲区sce中的信息,使用冲突协调器生成冲突描述con。冲突协调器会分析场景中车辆之间可能存在的冲突情况,例如车辆行驶路径的交叉、速度差异可能导致的碰撞风险等,并生成相应的冲突描述
2.4 筛选冲突描述:
再次遍历车辆列表C,对于每辆车i,从冲突描述con中筛选出与本车相关的冲突描述coni,并进行排序,以便后续针对性地处理冲突。
3.记忆模块
3.1检索相关记忆:
对于每辆车i,根据其场景描述(sce_i)和冲突描述coni,从记忆数据库中检索与之最相关的过往记忆m。这些记忆包含了过去类似场景下的决策经验和结果
3.2生成决策提示:
结合检索到的记忆m、当前场景描述(sce_i)和冲突描述coni,生成用于大语言模型推理的决策提示。这个提示信息为大语言模型提供了丰富的上下文,帮助其做出更合理的决策。推理决策:使用大语言模型基于生成的决策提示进行推理,得出最终的语义决策di,例如车辆应该加速、减速、转弯等。
3.3存储决策:
将每辆车i的最终决策di添加到决策缓冲区D中,以便后续用于更新车辆状态。
4.环境模块
4.1更新车辆状态:
根据公式 5 和公式 6,利用决策缓冲区D中的决策信息更新车辆下一时刻的状态 S t + 1 S_{t + 1} St+1。这两个公式可能涉及车辆运动学和动力学的计算,将语义决策转化为车辆的实际控制量,如加速度、转向角度等,从而确定车辆的新位置、速度等状态信息。
4.2评估决策并存储:
对本次决策对驾驶场景产生的影响进行评估,例如是否成功避免了冲突、是否提高了交通效率等。然后将评估结果和相关信息添加到记忆数据库中,为后续的驾驶决策提供更多的经验参考,实现系统的学习和优化。