在智能驾驶的控制执行过程中,通常输出给执行器的指令主要以加速度(或制动)和转向角的形式。这些指令通常通过车辆控制单元(VCU)或执行器控制器传递到物理执行机构(如电动转向系统、制动系统、加速器等)。因此,控制闭环一般在执行器端闭合,智能驾驶控制系统更多地关注高层的规划和控制指令输出,确保执行器能够根据系统要求进行精确操作。同时,智能驾驶系统也可能通过感知反馈进行更高层次的控制闭环,比如车速、位置、障碍物距离等用于调整策略和路径。这种架构使得系统具有更好的模块化和鲁棒性,各个控制环节都能够独立优化,提升整车的控制精度和稳定性。

然而,这种趋势也带来了新的挑战,如系统安全性和冗余设计,因为一旦将整个闭环交给智驾系统,系统的故障将影响到整体的车辆安全。为此,研发中会引入更多的冗余控制机制和故障处理策略,确保在出现问题时仍能安全应对。
实际上,随着智能驾驶系统能力的增强,研发趋势确实正在朝着将车身闭环控制与智能驾驶系统深度融合的方向发展。本文将以技术的视角详细讲述如何从智驾的角度对整个车身底盘进行全局控制。这种对车身的综合控制能力,标准称之为VMC(Vehicle Motion Control,车辆运动控制)。

VMC的控制原理
VMC 主要负责根据车辆的动力学模型和当前状态,计算出控制车辆所需的力和力矩,以实现稳定的行驶控制。它通过接收来自传感器的数据,如车辆速度、加速度、转向角度等,以及来自其他功能模块的指令,如目标速度、路径规划等,进行实时计算并输出控制信号给执行器,以提高车辆的行驶稳定性、安全性和操控性。
抛开智驾上层来讲,以下表示的是 VMC 底盘控制的原理图:

基于如上分析我们可以很清楚的看到,智驾系统想要接管整个底盘域的前端控制,就必须着手解决以上几个关键环节中的参数调节与控制。即首先,智驾系统需要代替底盘控制端充分采集到车辆运动传感器、转向传感器、制动传感器以及车轮传感器提供的如上数据信息。这些信息既用于感知端目标与自车目标相对位置、速度等信息的判断,也是自车规控模块轨迹计算的前提。其次,结合自车底盘ECU提供的稳定性判断、控制策略制定和协调控制,智驾系统需要充分的车身数据分析与控制执行决策。最后,通过横纵向控制执行端ECU,实现车辆的闭环控制。

这里我们将重点分析各个采集控制模块具体需要做哪些信息采集及逻辑计算。

VMC控制的理论模型
VMC理论模型通常基于车辆动力学原理建立,以下是其主要的理论模型及相关公式说明。由于VMC表示整个车身的整体且全面的运动理论学,因此需要充分的将横向、纵向和横摆三个方面的理论学综合加以分析。
1、纵向动力学模型
车辆的纵向运动主要受驱动力、制动力和空气阻力等因素影响。根据牛顿第二定律,车辆纵向动力学方程可表示为:
主要由发动机或电机提供,可以表示为
,其中是传动系统输入扭矩,是传动系统效率,
是车轮半径。
车辆纵向阻力包括滚动阻力、空气阻力和坡度阻力等,可以表示为:

滚动阻力,
是空气阻力,
是坡度阻力,
是重力加速度,f是滚动阻力系数,
是空气密度,
是空气阻力系数,
是车辆迎风面积,
是道路坡度。
2、车辆横向动力学理论学

,其中
是前轮横向力,
是后轮横向力。轮胎横向力通常采用线性或非线性轮胎模型来计算,例如采用线性轮胎模型时
,其中Cf和Cr分别是前轮和后轮的侧偏刚度,
和
分别是前轮和后轮的侧偏角。
3、横摆动力学理论学
Iz是车辆绕 z 轴的转动惯量,wz是车辆横摆角速度,Mz是车辆绕 z 轴的力矩。车辆绕 z 轴的力矩主要由轮胎横向力产生,可以表示为
,其中a和b分别是车辆质心到前轴和后轴的距离。
基于如上分析,VMC 通常以车辆的稳定性和跟踪性能为目标,设定目标函数。例如,可以设定目标函数为最小化车辆实际状态与期望状态之间的误差,如车辆横向偏差、横摆角偏差等。
根据车辆动力学方程和目标函数,通过控制算法计算控制输入,如车辆的转向角、驱动力等。常用的控制算法有线性二次调节器(LQR)、模型预测控制(MPC)等。以 LQR 为例,通过求解 Riccati 方程得到最优反馈增益矩阵,然后根据车辆状态误差计算控制输入。

VMC更适合放到智驾域控端还是底盘端?
将 VMC放到智驾域控端和放到底盘域控端都存在一定的风险,难以简单地判断哪个风险更大,需要从不同角度进行分析。
1、将 VMC 放到智驾域控端风险
首先,是系统复杂性增加。
由于智驾域控主要负责自动驾驶的感知、决策和控制等功能,将 VMC 整合到智驾域控端会增加系统的复杂性。这可能导致系统的可靠性降低,因为更多的功能集成在一起,一旦出现问题,可能会影响多个系统的正常运行。
其次,是通信延迟。
智驾域控通常需要处理大量的传感器数据和进行复杂的计算,这可能会导致通信延迟。如果 VMC 的控制指令不能及时传递到底盘执行机构,可能会影响车辆的稳定性和安全性。
最后,是软件兼容性问题。
智驾域控和底盘系统可能来自不同的供应商,将 VMC 放到智驾域控端可能会出现软件兼容性问题。这可能需要更多的时间和资源来进行集成和测试,增加了项目的风险。
2、将 VMC 放到底盘域控端的风险
首先,是缺乏全局信息。
底盘域控主要负责车辆的底盘控制,如制动、转向和悬挂等。如果将 VMC 放到底盘域控端,可能会缺乏自动驾驶系统的全局信息,如车辆的位置、速度、目标等。这可能会影响 VMC 的控制效果,降低车辆的行驶稳定性和安全性。
其次,升级较困难。
如果需要对 VMC 进行升级或改进,可能需要对底盘域控进行相应的升级。这可能会比较困难,因为底盘系统通常比较复杂,升级过程可能会影响车辆的正常运行。
进一步讲,将VMC控制模块放在底盘域也有一些功能局限性。
底盘域控的计算能力和存储容量可能有限,这可能会限制 VMC 的功能和性能。例如,在处理复杂的车辆动力学模型和控制算法时,可能会出现计算能力不足的问题。
那么,在自动驾驶控制中,到底应该将VMC放置在何处呢?
如上分析,将 VMC 放到智驾域控端和放到底盘域控端都存在一定的风险。在实际应用中,需要根据具体的需求和系统架构来进行权衡和选择。同时,为了降低风险,需要进行充分的测试和验证,确保系统的可靠性和安全性。
实际上放置的具体位置需要综合考虑多方面因素。
如果放在智驾域控端,其优势比较明显,即信息集成度高、协同控制能力强。由于智驾域控通常能够获取丰富的环境感知信息和车辆自身状态信息,将 VMC 放在这里可以更好地结合自动驾驶的全局规划和决策,实现更精准的车辆运动控制。

同时,智驾系统还可以与自动驾驶的其他功能模块(如感知、决策等)进行更紧密的协同工作,提高整个自动驾驶系统的效率和性能。例如,在进行自动超车时,VMC 可以与决策模块密切配合,根据当前车辆状态和周围环境,精确控制车辆的加速、转向和制动,实现安全、快速的超车动作。
当然,将 VMC 集成到智驾域控端会使系统的复杂度大幅提高,增加了开发、调试和维护的难度。一旦出现问题,可能会影响整个自动驾驶系统的正常运行。同时,也会提高对计算资源要求。因为,此时智驾域控通常需要处理大量的感知数据和进行复杂的决策计算,再加上 VMC 的功能,可能会对计算资源提出更高的要求,增加硬件成本。
如果放到底盘域控端,其明显的优势就是其较强的专业性。底盘域控专注于车辆底盘系统的控制,对车辆的动力学特性有更深入的了解和更专业的控制能力。将 VMC 放到底盘域控端可以充分发挥其在车辆运动控制方面的专业优势,确保车辆的稳定性和操控性。
当然这种控制的局限性也很明显。首先就是信息局限性。由于底盘域控获取的信息相对有限,可能无法充分了解自动驾驶的全局规划和决策,导致 VMC 的控制效果受到一定影响。例如,在进行自动泊车时,如果底盘域控不能及时获取停车位的准确位置和周围环境信息,可能会影响泊车的准确性和效率。其次是协同难度较大。与智驾域控端的其他功能模块协同工作相对困难,可能需要额外的通信和协调机制,这也就增加了系统的复杂性。
基于以上的优劣势分析,不难看出,VMC 的放置位置没有绝对的答案,需要根据具体的自动驾驶系统架构、应用场景和技术要求来进行选择。在一些高端的自动驾驶系统中,可以采用分布式架构,将 VMC 的部分功能分别放在智驾域控端和底盘域控端,实现优势互补。例如,在正常行驶情况下,由智驾域控端的 VMC 模块根据全局规划和决策进行宏观的车辆运动控制,而在紧急情况下,底盘域控端的 VMC 模块可以迅速响应,确保车辆的安全。同时,无论 VMC 放在哪里,都需要建立可靠的通信机制和安全机制,确保各个模块之间能够及时、准确地传递信息,并在出现故障时能够及时采取相应的安全措施,保障自动驾驶的安全可靠运行。

基于以上分析,VMC 的理论模型基于车辆动力学方程,通过设定目标函数和采用控制算法,计算控制输入以实现对车辆的稳定控制。实际应用中,还需要考虑模型的准确性、计算效率以及传感器噪声等因素的影响。

当然,让智驾系统直接控制VMC系统,并非其擅长的。因此,从最开始的逻辑实现到后续的性能评估和系统改进,是整个智驾系统不断提升性能,走的更远的必要条件。
这里的性能评估,反馈变量可以用于评估 VMC 系统的性能。通过分析车辆实际速度、横摆角速度等变量在不同工况下的表现,可以判断 VMC 系统的稳定性、响应速度和控制精度等方面的性能是否达到设计要求。根据反馈变量提供的信息,可以对 VMC 系统进行不断改进和优化。例如,通过分析车辆在不同路况下的行驶数据,可以调整控制算法的参数,提高系统对各种路况的适应性;或者通过收集大量的反馈数据进行机器学习和数据分析,进一步提升 VMC 系统的性能和智能化水平。

如何降低将 VMC 集成到智驾域控端所带来的系统复杂度?
实际上要回答这个问题需要了解如何在自动驾驶控制中实现 VMC 和其他功能模块的协同工作。

同时,实现数据同步也是一个需要重点解决的问题。由于各模块之间的数据采集和处理时间可能不同,因此需要实现数据同步,确保各模块之间的数据一致性。数据同步可以通过硬件同步或软件同步的方式实现。硬件同步可以采用同步时钟信号的方式,确保各模块之间的数据采集时间一致。软件同步则可以通过时间戳、数据缓存等方式,实现数据的同步处理。
此外,还应该建立故障检测与处理机制。在自动驾驶系统中,各模块之间的通信可能会出现故障,因此需要建立故障检测与处理机制,确保系统的可靠性和安全性。故障检测可以通过监测通信状态、数据校验等方式实现。当检测到通信故障时,系统应能够及时采取相应的处理措施,如切换到备用通信通道、重新启动通信模块等,以确保系统的正常运行。
本文转载自公众号:焉知汽车
作者:Aimmie
原文链接:https://mp.weixin.qq.com/s/w0f3wlPfgXJ4B1Gs9Xe1Eg
