控制
控制模块简介
控制模块负责生成控制命令来驾驶车辆并保持其所需的轨迹 [1]。在本文档中,我们概述了当前的方法,从简单的 PID 控制器 到更先进的 模型预测控制 (Model Predictive Control, MPC) 。
用于路径点跟踪的 PID 控制器
概述:
PID控制器是我们自动驾驶流程中的基本控制算法之一。它连续计算“误差”值作为所需设定点(在本例中为路径点)与当前车辆位置之间的差异。
组件:
顾名思义,PID 控制器包括三个组件:
- 比例(Proportional, P):提供控制输出以校正当前位置误差。
- 积分 (Integral, I):纠正过去累积的错误。
- 微分(Derivative,D):根据当前的变化率来预测和对抗未来的误差趋势。
应用:
我们使用 PID 控制器主要用于路点跟踪、保持车道位置并确保车辆遵循预定路径且偏差最小。
用于轨迹跟踪的模型预测控制
概述:
模型预测控制 (MPC) [2] 是一种先进的控制技术,它使用车辆动力学模型来预测其在定义范围内的未来状态。在每个时间步,MPC 算法都会考虑车辆动力学、约束和所需轨迹,解决优化问题以找到最佳控制输入。
主要特征:
MPC 控制器涉及三个关键功能来决定执行哪些操作来控制车辆的运动:
- 预测模型:根据车辆的当前状态和潜在的控制输入来预测车辆的未来状态。
- 优化:不断解决优化问题,以确定预测范围内的最佳控制操作。
- 滚动优化机制:仅实施优化序列的第一个控制动作,并在下一个时间步重新评估,以适应不断变化的条件。
应用:
MPC 控制器在需要精确轨迹跟踪的场景中将发挥重要作用,特别是在具有动态障碍物、急转弯和变化的路况的复杂驾驶环境中。通过预测未来状态和约束,与传统控制器相比,MPC 提供了增强的路径跟踪精度和鲁棒性。
实施路线图:
- 维护和微调现有的 PID 控制器,以确保基本的路径点跟踪功能。
- 开发代表车辆动力学的数学模型。
- 集成与我们的 MPC 系统架构兼容的优化求解器。
- 设计和实现 MPC 框架,确保其考虑车辆约束。
- 在各种场景的模拟中测试 MPC,并细化模型和控制器参数。在各种场景的模拟中测试 MPC,并细化模型和控制器参数。
- 在实际测试中逐步部署和评估 MPC,从低复杂性环境开始,逐步升级到更具挑战性的场景。
参考文献
- Paden, Brian, et al. "A survey of motion planning and control techniques for self-driving urban vehicles." IEEE Transactions on intelligent vehicles 1.1 (2016): 33-55.
- Rajamani, Rajesh. "Vehicle dynamics and control." Springer Science & Business Media, 2011.