基于MFAC的车辆路径跟踪控制:复现中科院一区论文实践
基于MFAC(无模型自适应控制)的车辆路径跟踪控制; 复现中科院一区论文A Novel Dual Successive Projection-Based Model-Free Adaptive Control Method and Application to an Autonomous Car; 主要内容为基于CarSim的半实物仿真;所需版本:CarSim2020、MATLAB2018b以上;

最近在研究车辆路径跟踪控制相关内容,发现了中科院一区一篇超有意思的论文——A Novel Dual Successive Projection-Based Model-Free Adaptive Control Method and Application to an Autonomous Car,并且打算基于此做个复现,采用的是基于CarSim的半实物仿真。这过程中,用到的软件版本为CarSim2020以及MATLAB2018b以上。
一、MFAC无模型自适应控制简介
MFAC(无模型自适应控制),简单来讲,它不依赖于被控对象精确的数学模型。在车辆路径跟踪控制场景下,传统控制方法往往需要花费大量精力去建立车辆动力学精确模型,但实际中车辆运行工况复杂,精确建模困难重重。而MFAC则另辟蹊径,通过在线估计受控系统的伪偏导数,实现对系统的有效控制。
二、基于CarSim与MATLAB的联合仿真搭建
1. 环境准备
确保安装好CarSim2020和MATLAB2018b以上版本。这里要注意软件安装路径等设置,后续可能会涉及到路径调用等问题。
2. CarSim设置
在CarSim中,需要对车辆模型进行相关参数配置,比如车辆的质量、轴距、轮胎特性等。这些参数对车辆动力学特性有着关键影响。以设置车辆质量为例,在CarSim的参数设置界面中找到“Vehicle Mass”选项,根据实际研究的车辆类型输入准确数值。
3. MATLAB中的代码实现
在MATLAB中,我们要实现基于MFAC的控制算法。下面简单展示部分关键代码及分析:
% 初始化参数
lambda = 0.95; % 遗忘因子
eta = 0.01; % 步长
theta = zeros(2,1); % 初始伪偏导数估计值
u_prev = 0; % 上一时刻控制输入
y_prev = 0; % 上一时刻输出
for k = 1:N % N为仿真步数
% 获取当前时刻CarSim输出的车辆状态,例如横向偏差y
y = get_CarSim_output();
% MFAC核心算法
phi = [y - y_prev; u_prev];
theta = theta + eta * (y - phi' * theta) * phi / (lambda + phi' * phi);
u = u_prev + theta(1) * (y - y_prev) / theta(2);
% 将控制输入u发送到CarSim中
send_control_input_to_CarSim(u);
u_prev = u;
y_prev = y;
end
代码分析:
- 首先初始化了一系列参数,像遗忘因子
lambda,它在更新伪偏导数估计值时起到调节历史数据影响程度的作用。步长eta则控制每次迭代中伪偏导数估计值的更新幅度。 - 在循环中,通过
getCarSimoutput()函数获取CarSim输出的车辆状态,这里假设获取的是横向偏差y,这是路径跟踪控制中的关键反馈信息。 phi向量的构建结合了当前与上一时刻的输出和控制输入,用于计算伪偏导数的更新量。- 根据MFAC算法更新伪偏导数估计值
theta,进而得到当前时刻的控制输入u,并通过sendcontrolinputtoCarSim(u)函数将控制输入发送回CarSim,实现闭环控制。
三、仿真结果与分析
经过上述设置与代码实现,运行基于CarSim和MATLAB的联合仿真。从结果来看,基于MFAC的车辆路径跟踪控制在不同工况下都展现出了较好的跟踪性能。车辆能够较为准确地沿着预设路径行驶,横向偏差等指标都在可接受范围内。

基于MFAC(无模型自适应控制)的车辆路径跟踪控制; 复现中科院一区论文A Novel Dual Successive Projection-Based Model-Free Adaptive Control Method and Application to an Autonomous Car; 主要内容为基于CarSim的半实物仿真;所需版本:CarSim2020、MATLAB2018b以上;

当然,在复现过程中也遇到了不少问题,比如软件之间的数据交互延迟、参数调优困难等。但通过不断调整和尝试,都逐步得到了解决。后续还可以进一步优化算法,考虑更多实际因素对车辆路径跟踪的影响,比如路面摩擦系数变化、车辆载荷变动等。

这次基于MFAC的车辆路径跟踪控制复现之旅,不仅深入了解了MFAC算法的魅力,也熟悉了CarSim与MATLAB联合仿真的流程,收获满满。希望这篇博文能给同样在相关领域探索的小伙伴一些启发。


AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)