自动驾驶控制概况

yuan〇 yuan〇     2023-04-07     675

关键词:

文章目录

1. 第一章行为决策在自动驾驶系统架构中的位置

    Claudine Badue[1]等人以圣西班牙联邦大学(UFES)开发的自动驾驶汽车(Intelligent Autonomous Robotics Automobile,IARA)为例,提出了自动驾驶汽车的自动驾驶系统的典型架构。如图所示,自动驾驶系统主要由感知系统(Perception System)和规划决策系统(Decision Making System)组成。感知系统主要由交通信号检测模块(Traffic Signalization Detector,TSD)、移动目标跟踪模块(Moving Objects Tracker,MOT)、定位与建图模块(Localizer and Mapper)等组成。规划决策系统主要由全局路径规划模块(Route Planner)、局部路径规划模块(Path Planner)、行为决策模块(Behavior Selector)、运动规划模块(Motion Planner)、自主避障模块(Obstacle Avoider)以及控制模块(Controller)组成。

图1-1 自动驾驶系统架构图

    路径跟踪控制在此架构中主要是由控制模块实现。控制模块接收最终由自主避障模块修改的运动计划轨迹,计算并发送相应的控制指令给方向盘、油门和制动器的执行器,以使汽车在现实世界规则允许的情况下执行修改后的轨迹。

2. 路径跟踪控制的种类

    自动驾驶汽车路径跟踪控制算法,主要是控制车辆按照上层路径规划器规划好的路径进行无偏差横纵向控制。目前自动驾驶汽车横向控制算法主要分为两种,包括有模型和无模型的控制方法[2]。无模型横向控制方法即传统的比例-积分-微分控制(Proportional Integral Derivative,PID),另一种是基于模型的横向控制方法,其中根据控制模型的不同,控制器又可分为有基于运动学模型的控制器和基于动力学模型的控制器。

    车辆运动学模型通常将车辆简化为一个质点,即为质点模型;或将车辆的垂直方向移动忽略、将车辆的同车轴的车轮角速度相同、将车辆的朝向简化为前轮的朝向,即简化为自行车模型,基于该模型的控制方法主要有纯跟踪控制(Pure Pursuit)算法、Stanley 控制算法,后轮反馈控制算法(Rear wheel feedback)。该类型控制器通常是通过控制航向角和横向误差来计算转向角,易于实现,但该模型仅适用于不考虑车辆动力学的低速行驶工况,如自动泊车控制系统。如果考虑复杂城市工况和高速交通环境时,则基于运动学模型的控制器的可靠性和鲁棒性并不高,因此就需要引入车辆动力学模型。

     基于车辆动力学模型的控制算法主要有线性二次型调节器(Linear Quadratic Regulator,LQR)、模型预测控制(Model Predictive Control,MPC)、滑模控制(Sliding Model Control,SMC)等,由于其考虑了车辆高速行驶时车身与外界干扰项等多重因素,如轮胎的非线性变化、车辆横摆与侧倾约束、路面曲率变化等,进一步提高了车辆行驶于复杂工况的安全性和可 靠性。目前的车辆动力学模型通常是简化了的二自由度单车模型,其保留了车辆的横摆和侧向运动,在能够准确描述车辆动力学的基础上尽量简化了车辆模型,以减少算法的计算量,确保控制系统的实时性。

2.1 基于自行车模型的路径跟踪控制算法

2.1.1 纯跟踪控制(Pure Pursuit)算法

     纯追踪控制是最早提出的路径跟踪策略之一。由于其易于实现和令人满意的性能,已被证明是车辆控制不可或缺的工具。在DARPA挑战赛中,有多个团队采用了纯追踪的控制算法[3]

     从自行车模型出发,纯跟踪算法以车后轴为切点, 车辆纵向车身为切线, 通过控制前轮转角,使车辆可以沿着一条经过目标路点(goal point)的圆弧行驶,如图2-1所示。

     通过正弦定理求出曲率、偏转角与车轴之间的关系: k = 2 sin ⁡ α l d k = \\frac2\\sin \\alpha l_d k=ld2sinα式中 l d l_d ld——车辆当前位置到目标路点的距离;
     A Α A——目前车身姿态和目标路点的夹角。

图2-1 纯追踪控制示意图

    前轮的转向角 δ \\delta δ 的表达式为: δ = arctan ⁡ ( k L ) \\delta = \\arctan (kL) δ=arctan(kL)    纯追踪算法控制量的的最终表达式: δ ( t ) = arctan ⁡ ( 2 L sin ⁡ ( α ( t ) l d ) \\delta (t) = \\arctan (\\frac2L\\sin (\\alpha (t)l_d) δ(t)=arctan(ld2Lsin(α(t))    为了更好的理解纯追踪控制器的原理,我们定义一个新的量: e l e_l el—— 车辆当前姿态和目标路点在横向上的误差,由此可得夹角正弦: sin ⁡ ( α ) = e l l d \\sin (\\alpha ) = \\frace_ll_d sin(α)=ldel    圆弧的弧度就可重写为: k = 2 l d 2 e l k = \\frac2l_d^2e_l k=ld22el    考虑到本质是横向上的跟踪偏差(Cross Track Error, CTE),由上式可知纯追踪控制器其实是一个横向转角的 P P P控制器,其 P P P系数为 2 / ( l d ) 2 2/(l_d)^2 2/(ld)2;这个P控制器受到参数 l d l_d ld(即前视距离)的影响很大,如何调整前视距离变成纯追踪算法的关键;通常来说, l d l_d ld 被认为是车速的函数,在不同的车速下需要选择不同的前视距离。一种最常见的调整前视距离的方法就是将前视距离表示成车辆纵向速度的线形函数,即 l d = k v x l_d = kv_x ld=kvx,那么前轮的转角公式就变成了: δ ( t ) = arctan ⁡ ( 2 L sin ⁡ ( α ( t ) ) k v x ( t ) ) \\delta (t) = \\arctan (\\frac2L\\sin (\\alpha (t))kv_x(t)) δ(t)=arctan(kvx(t)2Lsin(α(t)))    通常来说,会使用最大、最小前视距离来约束前视距离,越大的前视距离意味着轨迹的追踪越平滑,小的前视距离会使得追踪更加精确(当然也会带来控制的震荡),如图2-2 所示。

    驾驶员在实际驾驶过程中会观察车辆前方一定距离范围内的道路信息,以获得一定的预见性,提前对车辆进行调整,从而取得良好的控制效果。在路径跟踪过程中,前视距离与车速的大小有直接的关系。当车速较高时,需要较大的前视距离;当车速较低时,较小的前视距离可以达到很好的跟踪精度。

图2-2 前视距离对控制的影响

2.1.2 后轮反馈控制算法(Rear wheel feedback)

    后轮反馈控制是利用后轮中心的跟踪偏差来进行转向控制量计算的方法,最早由Claude Samson[4]提出。如图2-3所示,先找到车辆后轮距离参考轨迹上最近的点。

图2-3 后轮反馈控制示意图

    该点满足的轨迹曲线方程为: s ( t ) = arg ⁡ min ⁡ ∥ ( x r ( t ) , y r ( t ) ) − ( x r e f ( γ ) , y r e f ( γ ) ) ∥ \\rm s(t) = \\arg \\min \\left\\| (x_r(t),y_r(t)) - (x_ref(\\gamma ),y_ref(\\gamma )) \\right\\|\\rm s(t)=argmin(xr(t),yr(t))(xref(γ),yref(γ))    对该曲线进行求导,得: t ^ = ( ∂ x r e f ∂ s ∣ s ( t ) , ∂ y r e f ∂ s ∣ s ( t ) ) ∥ ( ∂ x r e f ( s ( t ) ) ∂ s , ∂ y r e f ( s ( t ) ) ∂ s ) ∥ \\rm \\hat t = \\frac\\left( \\left. \\frac\\partial x_ref\\partial s \\right|_s(t)\\rm,\\left. \\frac\\partial y_ref\\partial s \\right|_s(t) \\right)\\left\\| \\left( \\frac\\partial x_ref\\left( s(t) \\right)\\partial s,\\frac\\partial y_ref\\left( s(t) \\right)\\partial s \\right) \\right\\| t^= (sxref(s(t)),syref(s(t))) (sxref s(t),syref s(t))    车辆和切线之间的角度差为: θ t = θ − arctan ⁡ 2 ( ∂ y r e f ( s ( t ) ) ∂ s , ∂ x r e f ( s ( t ) ) ∂ s

自动驾驶自主避障概况

文章目录前言1.自主避障在自动驾驶系统架构中的位置2.自主避障算法分类2.1人工势场法(APF)2.1.1引力势场的构建2.1.2斥力势场的构建2.1.3人工势场法的改进2.2TEB(Timed-Eastic-Band,定时弹性带)2.3栅格法2.4向量场直方... 查看详情

自动驾驶高精度地图比较研究

整理自文献:《自动驾驶地图的数据标准比较研究》作者:詹骄,郭迟,雷婷婷,屈宜琪,吴杭彬,刘经南1国内外相关标准概况1.1国外相关标准概况目前国际上流行的自动驾驶地图数据标准主要有NDS、OpenDrive、Kiwi和OpenStreetMap等... 查看详情

l4级别自动驾驶是啥意思?

参考技术Al4级别自动驾驶是什么意思?L4级自动驾驶的意思指高度自动驾驶,能够实现驾驶全程无需驾驶员任何操作,但也会有限制条件,比如限制车辆车速不能超过一定值,且驾驶区域相对固定。一般需依靠可实时更新的道路... 查看详情

满足自动驾驶远程遥控的线控底盘整车控制器vcu

满足自动驾驶远程遥控的线控底盘整车控制器VCU 1  自动驾驶线控底盘VCU功能介绍满足自动驾驶及遥控驾驶的线控底盘整车控制器VCU作为新能源及自动驾驶电动汽车的核心主控制单元,通过硬线或CAN等方式与自驾仪、电机控... 查看详情

自动驾驶技术基本知识介绍

参考技术A自动驾驶车,是一种无须人工干预而能够感知其周边环境和导航的车辆。它利用了包括雷达、激光、超声波、GPS、里程计、计算机视觉等多种技术来感知其周边环境,通过先进的计算和控制系统,来识别障碍物和各种... 查看详情

自动驾驶决策控制与行为预测运动规划综述文章

有两篇博文,对自动驾驶的综述写的不错,​​自动驾驶决策控制及运动规划史上最详细最接地气综述​​​,​​​自动驾驶路径规划与行为预测最接地气详细综述​​美中不足的是,如果想要获取参考文献的话,需要付一些... 查看详情

满足自动驾驶远程遥控的线控底盘整车控制器vcu

满足自动驾驶远程遥控的线控底盘整车控制器VCU 1  自动驾驶线控底盘VCU功能介绍满足自动驾驶及遥控驾驶的线控底盘整车控制器VCU作为新能源及自动驾驶电动汽车的核心主控制单元,通过硬线或CAN等方式与自驾仪、电机控... 查看详情

智能网联汽车—自动/辅助驾驶技术

目录文章目录目录智能网联汽车自动驾驶技术的分级标准迈向自动驾驶的技术路径自动驾驶对5G网络能力的需求智能网联汽车智能网联汽车,是指搭载先进车载传感器、控制器、执行器等装置,并融合现代通信与网络技术,实现... 查看详情

智能网联汽车—自动/辅助驾驶技术

目录文章目录目录智能网联汽车自动驾驶技术的分级标准迈向自动驾驶的技术路径自动驾驶对5G网络能力的需求智能网联汽车智能网联汽车,是指搭载先进车载传感器、控制器、执行器等装置,并融合现代通信与网络技术,实现... 查看详情

自动驾驶控制算法之车辆横向控制(project)(代码片段)

本文为深蓝学院-自动驾驶控制与规划-第三章作业目录1projectionintroduction2思路提示2.1 ComputeControlCmd2.2ComputeLateralErrors3CorerCase3.1Lowspeedoperation3.2Extradampingonheading3.3Steerintoconstantradiuscurve4 ROS+LGSVL联合仿真5深蓝学院-自动驾驶控制与... 查看详情

nvidiaagxxaviergmsl自动驾驶控制器设计方案(代码片段)

...xff0c;工业机器视觉等场景的图像、激光点云等计算需求。自动驾驶技术,环境感知 查看详情

自动驾驶7-3自动驾驶汽车简介全面总结

恭喜,你已经完成了第一个我们的自动驾驶汽车专业课程。您在本课程中学到的概念是所有自动驾驶架构。让我们总结一下到目前为止您在本专业中学到的东西。在课程的第一周,您了解了自动驾驶的分类汽车以及自动... 查看详情

自动驾驶自动驾驶感知系统与关键技术介绍

文章目录1、自动驾驶感知系统介绍1.1什么是自动驾驶?1.2什么是自动驾驶系统?1.3自动驾驶技术概览(以环境感知系统为主)1.4自动驾驶行业现状1、自动驾驶感知系统介绍1.1什么是自动驾驶?百度百科定义&#x... 查看详情

《自动驾驶入门:从建模到跟随》学习笔记小车建模及话题控制(代码片段)

《自动驾驶入门:从建模到跟随》学习笔记(一)小车建模及话题控制1.小车Xacro建模2.Topic通信在学习《自动驾驶入门:从建模到跟随》课程时,记录了学习过程中的编程练习,课后作业以及发现的问题... 查看详情

基于模型参考自适应控制(mrac)的自动驾驶方向盘(油门)控制方法

...仿真。如有错误请不吝赐教~背景举个例子,目前公司自动驾驶车队主要有几款不同的车型,不同车型的方向盘型号都不同,可能有的用国产转向器,有的用进口转向器,有的 查看详情

自动驾驶车辆控制最终项目作业实现分析(代码片段)

本项目是多伦多大学在Coursera上提供的自动驾驶汽车入门课程的最终项目作业。“controller2d.py”文件包含一个控制器对象。我在update_controls方法中实现了控制器。[视频]https://www.youtube.com/watch?v=Pu3B4sGw5uc&pbjreload=10自动驾驶... 查看详情

l4自动驾驶标准是啥?

参考技术AL4级自动驾驶,属于“高度自动驾驶”。除了某些特殊情况,一般无需人类干预。依靠特殊地图工作的自动驾驶汽车属于4级自动驾驶,只要是有地图的地方,这类汽车都能实现完全自动驾驶,而无需人类干预,但并非... 查看详情

自动驾驶6-4高级转向控制-mpcadvancedsteeringcontrol-mpc

在上一个视频中,我们研究了斯坦利控制器用于横向路径跟踪控制。在本视频中,我们将探索先进的应用控制策略,称为模型预测控制或MPC,了解如何合并控制器设计中的动态建模。特别是在这个视频中,我... 查看详情