FEATURED · 精选文章

自动驾驶横向控制算法仿真:Stanley与MPC在PreScan-ROS-Simulink平台中的实现与对比

发布时间 / 2026/9/4 7:45:27
来源 / 创域科博编辑部
栏目 / 资讯中心
自动驾驶横向控制算法仿真:Stanley与MPC在PreScan-ROS-Simulink平台中的实现与对比 简介本资源是一套面向计算机、电子信息工程及数学等专业学习者的自动驾驶控制算法实践方案聚焦横向控制核心环节集成PreScan仿真环境、ROS通信框架与Simulink建模平台完整实现Stanley与MPC两种主流横向控制算法。资源共1636个文件以719个C源码.cpp和475个头文件.h/.hh为主体辅以CMake构建脚本、README说明文档、测试数据.dat、Shell配置脚本及少量Python/Markdown辅助文件总大小仅3.27MB结构紧凑、模块清晰便于理解算法逻辑与系统集成流程。已有1176人下载学习适合具备一定控制理论基础与编程能力的学习者参考调试——可直接复现闭环控制效果深入掌握路径跟踪原理、状态反馈设计及ROS-Simulink协同仿真机制并基于现有代码自主扩展功能或适配新场景。1. 项目概述与核心价值最近在整理过往的项目资料翻到了一个挺有意思的“古董”压缩包标题是“基于PreScan、ROS、Simulink实现自动驾驶控制算法横向控制采用StanleyMPC.rar”。这让我想起了几年前为了验证一套自动驾驶控制算法的效果在仿真环境里折腾得昏天暗地的日子。这个项目本质上是一个高保真、跨平台的自动驾驶算法仿真验证框架它巧妙地将三个业界主流工具——PreScan、ROS和Simulink——串联起来构建了一个从感知、决策到控制的完整闭环仿真链路。对于从事自动驾驶算法开发、特别是车辆控制方向的朋友来说这种架构非常具有参考价值它能让你在投入昂贵的实车测试前高效、低成本地对算法进行充分验证和迭代。简单来说这个框架解决了几个核心痛点第一它提供了一个接近真实的虚拟交通环境PreScan负责里面有车辆、行人、交通标志和复杂的道路拓扑第二它模拟了自动驾驶系统关键的感知和定位信息流ROS作为中间件第三它允许你使用强大的数学建模和算法设计工具Simulink来搭建控制器并直接在这个虚拟世界里“跑起来”观察控制效果。横向控制同时集成了经典的Stanley方法和更先进的模型预测控制MPC这本身就是一个很好的对比研究案例。无论你是想学习如何搭建这样的联合仿真平台还是想深入理解Stanley和MPC在自动驾驶横向控制中的具体实现与差异这个项目都能提供一个非常扎实的起点。2. 技术栈深度解析为什么是PreScan、ROS与Simulink在动手复现或理解这个项目之前我们得先弄明白为什么选这三样工具以及它们各自扮演什么角色。这绝不是简单的软件堆砌而是基于功能互补和业界实践形成的黄金组合。2.1 PreScan高保真场景与传感器仿真引擎PreScan是一个用于高级驾驶辅助系统ADAS和自动驾驶开发的仿真平台。它的核心价值在于能快速构建高度逼真的三维交通场景并内置了丰富的传感器物理模型。场景构建你可以像搭积木一样从数据库里拖拽出各种道路高速、城市、乡村、交通标志、建筑物、绿化带并放置车辆、行人、自行车等动态元素。这对于测试算法在不同场景如十字路口、环岛、拥堵跟车下的鲁棒性至关重要。传感器仿真这是PreScan的强项。它能够模拟摄像头输出RGB图像、深度图、毫米波雷达输出点云、距离、速度、激光雷达高精度点云、超声波雷达、GPS/IMU等。这些传感器的输出并不是“完美”的理想信号而是包含了噪声、天气影响雨、雾、雪、遮挡等真实物理特性的数据使得算法测试更接近现实。与本案的关联在这个项目中PreScan扮演了“虚拟世界”和“传感器供应商”的角色。它生成车辆周围的环境信息并通过其接口发送给外部控制器。注意PreScan是商业软件license费用不菲。对于学习和研究可以关注其提供的试用版或寻找高校/企业合作资源。一些开源替代方案如CARLA、LGSVL Simulator也能提供类似功能但集成方式会完全不同。2.2 ROS自动驾驶系统的“神经系统”机器人操作系统ROS在这里并非一个真正的操作系统而是一个分布式通信中间件框架。在自动驾驶仿真中ROS起到了至关重要的“粘合剂”和“消息总线”作用。通信枢纽PreScan仿真出的传感器数据如图像话题/camera/image_raw、激光雷达点云话题/lidar/points、车辆状态如位姿/vehicle/pose、速度/vehicle/speed都需要以标准化的方式发布出来。Simulink设计好的控制算法需要订阅这些话题来获取输入并将计算出的控制指令如转向角/control/steering、油门刹车/control/commands发布出去。ROS的话题Topic和服务Service机制完美实现了这种松耦合的、异步的数据交换。模块化与复用将感知、定位、规划、控制等模块都定义为ROS节点有利于代码的模块化和管理。未来你想替换掉PreScan换用其他仿真器或真实传感器只需要保证新数据源能按照约定的ROS话题格式发布数据Simulink控制器无需做大的改动即可接入极大地提高了系统的可扩展性。工具链丰富RViz可以实时可视化传感器数据和车辆轨迹rqt可以图形化查看话题流量rosbag可以录制和回放仿真数据这些工具对于调试和算法分析无比方便。2.3 Simulink控制算法的快速原型与实现平台Simulink是MathWorks公司推出的基于模型的设计MBD环境特别适合动态系统建模、仿真和多域仿真。在自动驾驶控制领域它是算法工程师的“主力画板”。图形化建模控制算法如PID、Stanley、MPC本质上是一套数学方程和逻辑。在Simulink中你可以通过拖拽积分器、增益、查找表、状态机、MATLAB Function等模块以框图的方式直观地搭建出算法模型这比纯代码编写更易于理解和沟通尤其是对于复杂的多输入多输出系统。强大的求解器与代码生成Simulink内置了多种数值积分求解器能够高效、稳定地对连续或离散系统进行仿真。更关键的是通过Simulink Coder可以将搭建好的图形化模型直接自动生成C/C代码这部分代码经过优化可以部署到实车的嵌入式控制器中实现了从仿真到产品的无缝衔接。与ROS的集成MathWorks提供了ROS Toolbox使得Simulink能够直接作为ROS网络中的一个节点。你可以在Simulink模型中插入ROS Subscribe和ROS Publish模块分别用来接收来自PreScan通过ROS的车辆状态、路径信息和发送控制指令回给PreScan通过ROS来驱动虚拟车辆。这样Simulink控制器就完全融入到了ROS生态中。三者协作流程整个仿真流程可以概括为——PreScan创建场景并模拟传感器数据通过其ROS接口发布Simulink中的控制器模型订阅这些ROS话题进行控制计算计算结果再通过ROS话题发布回PreScanPreScan根据控制指令更新自车动力学模型从而改变其在虚拟世界中的状态形成闭环。ROS贯穿始终负责所有数据的路由和传输。3. 核心算法实现Stanley与MPC横向控制详解这个项目的算法核心在于横向控制即控制车辆的方向盘或前轮转角使车辆能够沿着期望的路径行驶。项目同时实现了Stanley和MPC两种方法这为我们提供了很好的对比视角。3.1 Stanley方法简洁高效的路径跟踪器Stanley方法得名于2005年斯坦福大学在DARPA挑战赛中使用的自动驾驶车辆它是一种基于几何模型的路径跟踪控制器以其简单、直观、计算量小著称。3.1.1 原理与公式拆解Stanley控制器的核心思想是消除两个误差航向误差和横向位置误差。 假设我们有一条由一系列点构成的期望路径每个路径点都包含位置(x, y)和航向角ψ_des。 对于车辆当前状态位置(x, y)航向角ψ速度v我们需要计算前轮转角δ。航向误差纠正ψ_e ψ_des - ψ。直接让车辆转向以对齐期望航向。横向误差纠正e为前轴中心到最近路径点的横向距离有正负通常规定车辆在路径左侧时e为正。单纯按比例纠正e会导致低速时过于激进高速时响应不足。因此Stanley引入了一个与速度v相关的软化项arctan(k * e / v)。其中k为增益系数。综合控制律最终的前轮转角命令由两部分相加得到δ ψ_e arctan(k * e / v)3.1.2 Simulink实现要点在Simulink中实现Stanley关键模块和步骤包括最近点查找需要实现一个模块可用MATLAB Function输入当前车辆前轴中心坐标和路径点集输出最近的路径点索引、横向误差e和该点处的期望航向角ψ_des。这是精度和性能的关键。误差计算计算航向误差ψ_e。控制律计算利用Arctangent函数模块和增益模块实现δ ψ_e atan(k*e / (v eps))公式。这里加一个极小值eps是为了防止速度v为零时除零错误。前轮转角限幅物理方向盘转角是有限的必须通过Saturation模块对输出δ进行限幅。调试参数主要调节增益k。k值越大对横向误差的纠正越激进但可能引起振荡k值越小跟踪收敛慢可能有稳态误差。通常需要根据车速范围进行调试。实操心得Stanley实现在低速、曲率不大的路径上表现非常稳定。但在高速或急弯时由于它本质上是纯反馈控制且未考虑车辆动力学特性容易出现超调甚至失稳。在实际Simulink调试时我发现对横向误差e进行低通滤波能有效抑制高频噪声带来的方向盘抖动让控制输出更平滑。3.2 模型预测控制MPC面向优化与约束的控制MPC是一种高级控制策略它通过在线求解一个有限时域内的优化问题来得到控制序列。相比StanleyMPC能够显式地处理系统的多输入多输出耦合、状态与控制量的约束并一定程度上预测未来状态因此性能通常更优也更适合复杂的车辆动力学模型。3.2.1 MPC核心思想三步走模型预测基于当前车辆状态和一个假设的未来控制输入序列利用车辆动力学模型预测未来一段时间预测时域Np内系统的状态输出轨迹。优化求解在预测时域内构建一个优化问题。其目标函数通常要求跟踪误差与参考路径的偏差最小同时控制变化不要过于剧烈。约束条件包括前轮转角范围执行器限制、转角变化率限制舒适性、甚至轮胎摩擦圆约束稳定性。然后在线求解这个优化问题得到一组最优的未来控制序列。滚动实施只取优化得到的控制序列中的第一个元素即当前时刻的最优控制量施加给真实系统这里是Simulink车辆模型。到下一个采样时刻重复上述过程基于新的测量状态重新进行预测和优化。3.2.2 Simulink中的实现架构在Simulink中实现MPC比Stanley复杂得多通常有两种方式使用MPC ToolboxMathWorks提供的专业工具箱可以定义线性或非线性模型、设置目标函数和约束然后自动生成MPC控制器对象。这种方式开发快但定制化程度和底层理解可能受限。基于优化求解器手动构建更灵活、更贴近原理的方式。可以使用Simulink中的MATLAB Function模块调用fmincon等优化求解器来在线求解。步骤包括定义预测模型在MATLAB Function中编写车辆动力学模型如自行车模型的离散状态方程。构建优化问题在函数中构造目标函数如预测状态与参考状态的二次型偏差加权和加上控制量的加权和并设置优化变量未来控制序列的上下界约束。接口处理该模块的输入是当前状态和参考轨迹输出是求解得到的最优控制量转向角。3.2.3 关键参数与调试预测时域Np与控制时域NcNp决定了“看多远”Nc决定了“优化多长的控制序列”。Np太短则预见性不足太长则计算负担重且模型误差影响大。通常Nc ≤ Np。需要折中选取。采样时间TsMPC的求解周期。必须大于求解优化问题所需的时间以保证实时性。在仿真中可设置得稍大如0.05s或0.1s。权重矩阵Q, RQ是状态误差的权重R是控制量的权重。增大Q中横向误差对应的权重会让控制器更积极地去消除跟踪误差增大R会让控制器倾向于使用更柔和的控制动作。调试过程就是平衡跟踪性能与控制平滑性的过程。车辆模型精度MPC的性能严重依赖于预测模型的准确性。使用简单的运动学自行车模型计算快但在高速大侧向加速度时误差大使用考虑轮胎侧偏的动力学子模型更精确但计算复杂优化问题更难解。踩坑实录最初实现MPC时我使用了完整的动力学子模型结果每个采样步长的求解时间超过0.2秒完全无法实时运行。后来简化为线性时变LTV模型在每个采样点对非线性模型进行线性化并离散化虽然损失了一点精度但求解速度提升了一个数量级满足了实时仿真要求。这是工程实践中典型的精度与效率的权衡。4. 联合仿真环境搭建与配置实战理解了组件和算法接下来就是如何把它们“拧”在一起工作。这个过程会遇到很多工具链配置和通信同步的问题。4.1 软件环境准备与版本匹配这是第一步也是最容易出问题的一步。版本不匹配会导致各种诡异的接口错误。MATLAB/Simulink建议使用较新的版本如R2021a或R2022b以确保对ROS Toolbox的良好支持。务必安装ROS Toolbox、Automated Driving Toolbox用于参考路径处理等和Optimization Toolbox如果手动实现MPC。ROS需要确定与MATLAB版本兼容的ROS发行版。例如MATLAB R2022b官方支持ROS Noetic适用于Ubuntu 20.04和ROS 2 Humble。项目如果较老可能基于ROS Melodic。强烈建议使用Ubuntu系统因为ROS的原生支持最好。可以在Windows上使用WSL2安装Ubuntu和ROS但跨平台通信配置更复杂。PreScan同样需要确认其支持的MATLAB版本。PreScan通常通过一个MATLAB API或特定的ROS插件与外部世界通信。你需要安装对应的PreScan-ROS接口包。版本匹配检查清单查阅MATLAB ROS Toolbox文档确认其支持的ROS发行版。查阅PreScan官方文档确认其支持的MATLAB版本和ROS接口方式。确保Ubuntu、ROS、MATLAB三者的版本在一条兼容链上。4.2 ROS网络配置与通信测试假设我们在Ubuntu上运行ROS Master和PreScan或PreScan的接口节点在Windows上运行MATLAB/Simulink通过ROS Toolbox连接ROS网络。设置ROS网络确保所有机器在同一局域网。在UbuntuROS Master主机上设置ROS_MASTER_URIhttp://ubuntu_ip:11311和ROS_IPubuntu_ip。在Windows的MATLAB中使用setenv(ROS_MASTER_URI,http://ubuntu_ip:11311)和rosinit(ubuntu_ip)来连接到ROS Master。启动PreScan-ROS接口按照PreScan手册启动其仿真并开启ROS输出。这时应该在ROS中能看到PreScan发布的话题例如/prescan/vehicle/pose、/prescan/sensor/camera等。使用rostopic list和rostopic echo命令进行验证。测试MATLAB ROS连接在MATLAB命令行中使用rostopic list应该能看到与Ubuntu端相同的列表。订阅一个话题如poseSub rossubscriber(/prescan/vehicle/pose); poseMsg receive(poseSub, 10);检查是否能收到数据。4.3 Simulink-ROS控制器建模与集成这是项目的核心建模部分。创建Simulink模型新建一个Simulink模型。配置ROS网络在Model Settings - Model Properties - Callbacks - InitFcn中可以添加上述的rosinit命令使模型打开时自动连接ROS。搭建控制器结构从ROS Toolbox库中拖入Subscribe模块配置其话题名为从PreScan接收车辆状态的话题如/vehicle/state消息类型根据PreScan发布的消息定义选择如nav_msgs/Odometry。同样拖入Subscribe模块接收参考路径信息如/planning/reference_path。设计一个路径处理与误差计算子系统输入是车辆状态和参考路径输出是横向误差、航向误差、最近点曲率等。设计控制算法核心子系统。这里可以做成一个可配置的开关选择使用Stanley还是MPC。两个算法的输入都是误差和车辆状态速度等输出都是期望的前轮转角delta_des。拖入Publish模块配置其话题名为发送控制指令的话题如/control/steering消息类型为std_msgs/Float64或自定义控制消息。将delta_des连接到此模块。配置仿真参数求解器类型选择固定步长Fixed-step步长与ROS消息发布频率、控制器运算周期相匹配如0.01s或0.02s。仿真模式选择“外部”External这样Simulink会与ROS网络保持同步运行。4.4 PreScan场景与车辆动力学配置搭建测试场景在PreScan中创建一个场景例如一条带有直道、弯道和S形曲线的测试道路。放置一辆主车Ego Vehicle和若干干扰车辆。配置传感器为主车添加必要的虚拟传感器如一个前置摄像头用于可选视觉算法测试一个理想定位传感器输出真值位姿和速度用于控制反馈。确保这些传感器的数据被配置为通过ROS接口输出。配置车辆动力学模型PreScan内置了多种车辆动力学模型从简单的运动学模型到复杂的多体动力学模型。为了公平比较Stanley和MPC建议选择一个具有较高保真度的模型如“TruckSim接口”或“车辆动力学模型”它能更好地反映轮胎侧偏等非线性特性对控制器的要求更高。配置执行器接口将车辆的控制输入转向、油门、刹车与ROS话题绑定。这样PreScan就会订阅Simulink通过ROS发布出来的控制指令并驱动车辆模型。5. 仿真实验、结果分析与对比环境搭好后就可以进行激动人心的仿真实验了。设计不同的测试场景来全面评估两个控制器的性能。5.1 测试场景设计双移线Double Lane Change检验控制器对快速、大幅值路径变化的跟踪能力和稳定性。这是ISO标准的操纵稳定性测试工况。连续S弯检验控制器在连续转向输入下的响应平滑性和相位滞后。不同速度下的圆周行驶低速如30 km/h和高速如80 km/h下跟踪同一半径的圆形路径可以检验控制器对不同动力学工况的适应性。包含坡道和颠簸的路面检验控制器在非理想路面激励下的鲁棒性。5.2 关键性能指标KPI需要定量地比较Stanley和MPC以下是一些核心指标指标描述评估意义最大横向误差在整个跟踪过程中车辆与参考路径之间横向距离绝对值的最大值。直接反映跟踪精度。均方根横向误差RMSE横向误差的均方根值。反映整个过程的平均跟踪精度。最大航向误差车辆航向与参考路径航向之差的最大值。反映方向控制的准确性。转向角变化率方向盘转角随时间的变化率绝对值平均或最大值。反映控制的平滑性和乘坐舒适性。控制量饱和时间占比转向角达到物理极限饱和的时间占总时间的比例。反映控制器在极限工况下的表现饱和占比高说明控制器“力不从心”。计算时间每个控制周期内算法求解所需的时间平均值和最大值。评估实时性必须小于采样周期。5.3 典型结果分析与解读基于我过往的仿真经验通常会出现以下趋势中低速、平缓路径Stanley和MPC都能很好地完成任务横向误差可能都在厘米级。Stanley因为计算简单计算时间远小于MPC此时Stanley性价比极高。高速、急弯或双移线MPC的优势开始显现。由于MPC基于模型预测并考虑约束它能更好地“预见”到即将到来的弯道提前柔和地打方向因此最大横向误差和转向角变化率通常优于Stanley。Stanley可能会因为反应滞后和未考虑动力学约束出现明显的超调或转向抖动。存在干扰或模型失配如果车辆模型参数如轮胎刚度与控制器内使用的模型有差异MPC的性能可能会下降因为它依赖于模型的准确性。而Stanley作为纯反馈的几何控制器对模型依赖较小鲁棒性可能相对更好但性能上限也低。计算负荷Stanley的计算时间基本是微秒级而MPC即使是线性MPC也在毫秒级非线性MPC可能达到几十甚至上百毫秒。这是MPC在实际部署时必须面对的挑战。实操心得在Simulink中我们可以使用To Workspace模块将关键信号如横向误差、转向角记录到MATLAB工作区。仿真结束后用MATLAB脚本绘制对比曲线图如路径跟踪轨迹对比图、横向误差随时间变化图、转向角输入图并计算上述KPI指标。这种数据驱动的分析比单纯“看动画”要可靠得多。另外一定要用rosbag记录下整个仿真过程的ROS话题数据便于后续回放和深入分析。6. 常见问题排查与调试技巧在搭建和运行这个联合仿真项目时你几乎一定会遇到下面这些问题。这里把我踩过的坑和解决方法总结一下。6.1 通信类问题问题MATLAB无法连接到ROS Master。排查首先在Ubuntu端用roscore启动master然后用hostname -I和echo $ROS_MASTER_URI确认IP和URI。在Windows端关闭所有防火墙在MATLAB中用ping ubuntu_ip测试网络连通性。解决确保MATLAB中设置的ROS_MASTER_URI完全正确。有时需要以管理员身份运行MATLAB。如果使用WSL2需要配置WSL2的网络桥接。问题Simulink收不到PreScan发来的ROS消息。排查在Ubuntu端用rostopic echo /prescan/vehicle/pose看是否有数据输出。在MATLAB端用rostopic echo /prescan/vehicle/pose看是否同样有数据。如果Ubuntu有而MATLAB没有是网络或ROS域名解析问题。解决检查并统一所有设备的/etc/hosts文件确保主机名和IP映射正确。或者在所有ROS相关设置中直接使用IP地址避免使用主机名。问题控制指令发送了但PreScan中的车辆不动。排查首先在MATLAB或Ubuntu端用rostopic echo /control/steering查看控制指令话题是否有数据数值是否合理单位是否是弧度。然后检查PreScan中车辆控制执行器的接口配置是否订阅了正确的话题名和消息类型。解决仔细核对PreScan中ROS接口的配置页面确保话题名称、消息类型与Simulink发布端完全一致包括大小写。一个常见的错误是PreScan期望的消息是geometry_msgs/Twist包含线速度和角速度而Simulink发布的是单纯的前轮转角消息类型不匹配导致指令被忽略。6.2 算法与仿真类问题问题车辆跟踪路径时剧烈振荡甚至发散。Stanley大概率是增益k设置过大。尝试大幅减小k值。同时检查横向误差e的计算是否正确正负号以及车辆速度v是否传入了正确的值避免为零。MPC原因较多。首先检查预测模型是否正确特别是状态方程的离散化是否准确。其次检查权重矩阵Q和R可能状态误差的权重过大导致控制过于激进尝试增大控制权重R。最后检查约束是否合理比如前轮转角限幅是否太小。通用检查Simulink仿真步长是否太小或太大。步长太大会导致离散化误差大步长太小可能引发数值问题。尝试使用不同的固定步长如0.01s, 0.02s, 0.05s。问题MPC求解器报错或求解时间过长。报错“约束不可行”说明优化问题在当前状态下无解。可能是初始猜测值太差或者约束条件相互冲突如路径曲率太大而车辆最大转向角太小无法跟踪。可以尝试放松约束或提供一个更好的初始解例如用上一时刻的解作为初始猜测。求解时间过长这是MPC的固有挑战。首先尝试减少预测时域Np和控制时域Nc。其次检查是否使用了非线性动力学模型考虑改用线性时变LTV模型或完全线性模型。最后确保优化求解器如fmincon的选项设置合理例如迭代次数上限、容忍度等避免陷入无意义的精细求解。问题仿真运行速度远慢于实时。排查联合仿真涉及三个大型软件的数据交换和同步本身就有开销。使用MATLAB Profiler或Simulink的仿真性能分析器找出耗时最长的部分。解决降低仿真精度在Simulink中将变步长求解器改为固定步长并适当增大步长。简化模型PreScan场景不要过于复杂减少非必要的动态物体和传感器。Simulink中的控制器模型特别是MPC检查是否有可以简化的部分。调整同步PreScan、ROS和Simulink可能以不同的速率运行。确保它们的数据发布/订阅周期与Simulink的固定步长相匹配或成整数倍关系避免不必要的等待。6.3 工具与配置类问题问题Simulink模型在“外部模式”下编译或运行出错。排查错误信息通常与编译器或依赖库有关。解决确保已安装MATLAB支持的C/C编译器如MinGW-w64。对于ROS相关模块确保MATLAB的ROS Toolbox支持当前ROS版本并且相关自定义消息的MATLAB定义已生成使用rosgenmsg命令。问题参考路径导入和处理麻烦。解决可以在PreScan中记录一条手动驾驶的轨迹作为参考路径并导出为数据文件。在Simulink中使用From File模块读取或在初始化脚本中加载到工作区再通过Constant或Signal Builder模块输入给控制器。更专业的方法是在ROS中运行一个全局路径规划节点如加载高精地图实时发布参考路径给控制器。这个基于PreScan、ROS和Simulink的联合仿真项目就像为自动驾驶控制算法搭建了一个功能完备的“数字风洞”。它让你能安全、快速、低成本地验证想法对比不同算法的优劣。从经典的Stanley到现代的MPC不仅仅是换了一个控制器更是从几何控制到优化控制、从无模型到模型驱动设计思维的转变。在实际操作中你会深刻体会到模型精度、计算实时性和控制性能之间的三角博弈。最终最好的控制器不一定是最复杂的那个而是在满足实时性约束下对特定场景和车辆平台最鲁棒、最可靠的那个。希望这份详细的拆解能帮你少走弯路更高效地开启你的自动驾驶控制算法探索之旅。本文还有配套的精品资源点击获取
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻