学生休息室

分享技术和现实生活中的例子,学生如何在他们的日常项目中使用MATLAB和Simulink # studentsuccess万博1manbetx

无人驾驶汽车模拟轨迹跟踪控制器

嗨,大家好!在这个博客中,我们将看到如何轨迹跟踪控制器可以在MATLAB和Simulink实现车辆跟随一个预定义的路径。万博1manbetx在我们开始之前,一个大谢谢你了我的同事,大卫·巴恩斯,Munish拉吉,罗山Hingnekar为他们的努力来建立这个博客的内容。

动机

作为一个学生在MathWorks项目团队的一部分,我们经常与学生互动。在几个这样的交互,学生建议类似于其他赛车休息室视频,我们应该建立一些内容关于如何模拟自行车路径跟踪应用程序的模型。他们还提到,它可以进一步用于圈时间在仿真软件仿真模型。万博1manbetx所以受学生和我们的两个强大的工具箱,车辆动力学blockset,自动驾驶的工具箱,我们决定想出一系列的视频演示工作流可以很容易地实现。
这是给我们学生的动机。现在,让我们看看技术动力!
轨迹跟踪的一个重要部分的自主驾驶车辆的目标是控制横向和纵向运动遵循一个预定义的路径。例如,在公式学生无人驾驶比赛,车辆需要同时计划在第一圈和跟踪的路径。此外,在随后的圈,车辆跟踪以更高速度的优化路径。因此,控制器需要高的跟踪精度,避免重大偏离路径。
目前,有多种控制策略解决轨迹跟踪问题。然而,在这个博客中,我们将关注以下三个轨迹跟踪控制器:
  • 纯追求控制器
  • 斯坦利控制器
  • 模型预测控制(MPC)
总结一下即将到来的部分中,我们将首先生成一个参考轨迹。然后,我们将构建一个汽车模型。最后,我们将展示如何轻松地实现上述三种控制策略来控制车辆的纵向和横向运动。

参考轨迹

你可以跳过这一步如果你已经记录了车辆姿态数据。然而,如果你想产生一个参考轨迹,可以使用驾驶场景设计师应用。该应用程序使您能够设计合成驾驶场景测试你的自主驾驶系统。在这种情况下,我们利用一段美国高速公路场景出现在预先构建的场景。然后,我们指定车辆及其轨迹和出口MAT-file轨迹数据。

汽车模型

轨迹跟踪问题的准确性取决于车辆动力学模型。基于车辆动力学模型的保真度,你可以决定哪些控制器是最适合不同的驾驶条件。车辆动力学blockset提供了一系列车辆身体块来实现车辆模型计算车辆运动。在模型中,我们使用了车辆身体3自由度双声道块,轮胎在部队获得的结合滑动轮2自由度块。此外,矢量化轮胎子系统接受输入从一个简化的动力系统的子系统。
现在,在随后的章节中,我们使用相同的车辆动力学模型的控制器模型和这些控制器将旨在生成所需的转向角,加速,减速命令。
首先一个基本的纵向和横向车辆动力学模型,请查看这个视频教程:

控制器

纯追求控制器

作为实现控制策略的第一选择,我们继续追求纯粹的控制器。简而言之,这是一个路径跟踪算法计算轨迹曲率将车辆从一个点到另一个地方。按照配方,可以计算出车辆车轮转向角跟踪参考轨迹。
在转向角公式可以看到,其中一个变量是超前距离。一般来说,它是沿着道路车辆应该多远从当前位置计算角速度的命令。这是一个重要的优化因素确保控制器的跟踪精度。小超前距离会导致一个振荡路径和准确跟踪而大的超前距离导致较少的振荡路径,然而,它可能导致可怜的跟踪。
现在我们已经提供了一个简要介绍纯追求控制器,下图显示了其在仿真软件的实现。万博1manbetx
的实现中,我们使用了单纯的追求块,计算目标方向角基于两个输入端口,姿势和参考轨迹。块,您可以调整控制器通过设置超前距离。进一步,基于上述公式,得到所需的车轮转向角允许车辆按照轨迹如下图所示。
参考视频教程:

斯坦利控制器

搬到我们的下一个控制器,斯坦利控制器实现的美国国防部高级研究计划局斯坦福车队挑战赛。它是一种非线性控制律的航迹误差和航向角降到最低前轮相对于参考路径。计算转向角命令,调整车辆当前的体式与参考。
在仿真软件模型的控制器,我们使用了万博1manbetx横向控制器斯坦利块。块基于上述公式计算转向角。有趣的是,您可以选择使用控制器设置车辆模型的类型。例如,对于低速跟踪如停车场可以使用运动自行车模型,和赛车等高速跟踪最好使用动态自行车模型。进一步,你可以调整位置,偏航率,转向收益提高控制器的精度。
纯追求控制器模型,我们建立了车辆路径跟踪模型使用斯坦利控制器。车辆模型和参考轨迹保持相同。模拟模型很明显,在高速环境下车辆成功地跟踪期望轨迹实现30 m / s的最大速度。
参考视频教程:

模型预测控制(MPC)

最后,让我们看看MPC的实现路径跟踪应用程序在仿真软件。万博1manbetx简而言之,MPC解决在线优化算法寻找最优控制行动,推动预测输出参考。它可以处理多输入多输出系统,可能他们的输入和输出之间的相互作用。它也可以处理输入和输出约束。然而,不利的一面是,在计算上是昂贵的。
详细请注意我们不会在这一节中我们已经有了一个惊人的MATLAB技术演讲视频系列题为理解模型预测控制。你可以看视频学习MPC是如何工作的,也会发现这种多变量控制技术的好处。
实现MPC控制器,最初,我们开始与通用MPC控制器块。然而,路径跟踪控制系统块是一个更好的选择,在轨迹。在一般情况下,块是为了保持自我中心的车辆行驶直或弯曲的道路而跟踪一组速度和保持一个安全距离领先的车辆。然而,我们实现了它遵循一组轨迹通过设置速度的参考车辆的速度和距离基于曲率曲率端口。进一步的输出块纵向加速度,我们连接踏板地图来获取所需的加速和减速命令。
最后,在选择合适的设计参数,如预测地平线,控制地平线,等等,我们模拟了模型和完全可以看到车辆跟踪路径。

参考视频教程:

时间来构建您自己的模型

博客并不涵盖所有的技术细节上面的控制器,而是提供了一个在MATLAB和Simulink实现这些控制器的概述。万博1manbetx我们希望我们提供足够的背景和资源,使您开始使用轨迹跟踪模型。现在轮到你来使用这些资源作为参考在更具挑战性的赛道驾驶汽车。
另外,如果这个博客相关的任何疑问请随时与我们联系racinglounge@mathworks.com

|
  • 打印

评论

要发表评论,请点击此处登录到您的MathWorks帐户或创建一个新帐户。