一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆的横向控制方法和控制器与流程

2021-10-24 11:44:00 来源:中国专利 TAG:横向 控制器 驾驶 车辆 控制


1.本技术涉及自动驾驶领域,尤其涉及一种车辆的横向控制方法和控制器。


背景技术:

2.随着汽车数量的不断增长以及车辆技术的发展,自动驾驶技术逐渐成为车辆研究领域的热点。在车辆的自动驾驶过程中,如何实现对自动驾驶车辆的横向控制是车辆的自动控制中的重要部分。
3.现有技术中,比例积分微分算法(proportion integral differential,pid)是自动控制中最为成熟、应用最为广泛的一种算法。pid算法不需要考虑车辆模型,可以直接根据当前位置和目标位置,通过比例、积分和微分的闭环计算,实现车辆的横向控制。
4.然而,pid算法在实现自动控制过程中,存在容易产生超调、控制精度低等问题。因此,如何提高车辆的横向控制的准确度成为亟待解决的问题。


技术实现要素:

5.本技术提供一种车辆的横向控制方法和控制器,用以解决如何提高车辆的横向控制的准确度的问题。
6.第一方面,本技术提供一种车辆的横向控制方法,包括:获取车辆的行驶信息、所述车辆的横向偏差、航向角偏差;根据所述横向偏差、所述航向角偏差、所述行驶信息和道路信息,确定目标前轮转角;根据所述目标前轮转角控制并转动所述车辆的前轮。
7.可选地,所述获取车辆的横向偏差、航向角偏差和所述车辆的行驶信息,包括:获取所述车辆的行驶信息,所述行驶信息包括所述车辆当前所在的第一位置和行驶方向;根据所述第一位置、所述行驶方向和目标轨迹,确定所述横向偏差和所述航向角偏差。
8.可选地,所述根据所述第一位置、所述行驶方向和所述目标轨迹,确定所述横向偏差和所述航向角偏差,包括:根据所述车辆的行驶方向和所述第一位置,确定自车坐标系,所述自车坐标系以所述车辆的行驶方向为x轴的正向,以垂直所述x轴的左侧方向为y轴的正向;根据所述自车坐标系和所述目标轨迹,确定所述x轴与所述目标轨迹的夹角为航向角偏差;根据所述自车坐标系和所述目标轨迹,确定所述目标轨迹在所述y轴上的距离为所述横向偏差。
9.可选地,所述根据所述横向偏差、所述航向角偏差、所述行驶信息和道路信息,确定目标前轮转角,包括:
根据所述横向偏差和所述航向角偏差,确定所述车辆的第一前轮转角;根据所述行驶信息和所述道路信息,确定所述车辆的第二前轮转角;根据所述第一前轮转角和所述第二前轮转角,确定目标前轮转角。
10.可选地,所述根据所述横向偏差和所述航向角偏差,确定所述车辆的第一前轮转角,包括:将所述横向偏差和所述航向角偏差输入线性二次型调节器,得到一系列最优前轮转角,所述一系列最优前轮转角用于将所述车辆从当前轨迹横向移动到所述目标轨迹;确定所述一系列最优前轮转角中的第一个最优前轮转角为第一前轮转角。
11.可选地,所述线性二次型调节器的公式为:其中,,所述n为所述线性二次型调节器的规划中将所述车辆从当前轨迹横向移动到目标轨迹需要移动的次数,为所述线性二次型调节器的规划中第t次移动的横向偏差和航向角偏差,,为横向偏差,为航向角偏差,为所述线性二次型调节器的规划中第t次移动的最优前轮转角,为测量模型。
12.可选地,所述根据所述行驶信息和所述道路信息,确定所述车辆的第二前轮转角,包括:根据所述行驶信息中的当前车速,确定预设时长后所述车辆的第二位置;根据所述第二位置和所述道路信息,确定所述第二位置的道路曲率;根据所述道路曲率,确定所述车辆的第二前轮转角。
13.可选地,所述根据所述第一前轮转角和所述第二前轮转角,确定目标前轮转角,包括:根据所述第一前轮转角和所述第二前轮转角之和,确定所述目标前轮转角。
14.可选地,所述自车坐标系的原点为所述车辆的后轴的中心点。
15.可选地,所述目标轨迹,包括以下任意一种:所述目标轨迹为所述车辆所在车道的中心线所形成的轨迹;所述目标轨迹为所述车辆变道后所在车道的中心线所形成的轨迹。
16.第二方面,本技术提供一种车辆的横向控制装置,包括:获取模块,用于获取车辆的行驶信息、所述车辆的横向偏差、航向角偏差;处理模块,用于根据所述横向偏差、所述航向角偏差、所述行驶信息和道路信息,确定目标前轮转角;控制模块,用于根据所述目标前轮转角控制并转动所述车辆的前轮。
17.可选地,获取模块,用于:获取车辆的行驶信息,行驶信息包括车辆当前所在的第一位置和行驶方向。
18.根据第一位置、行驶方向和目标轨迹,确定横向偏差和航向角偏差。
19.可选地,获取模块,具体用于:根据车辆的行驶方向和第一位置,确定自车坐标系,自车坐标系以车辆的行驶方向为x轴的正向,以垂直x轴的左侧方向为y轴的正向。
20.根据自车坐标系和目标轨迹,确定x轴与目标轨迹的夹角为航向角偏差。
21.根据自车坐标系和目标轨迹,确定目标轨迹在y轴上的距离为横向偏差。
22.可选地,获取模块,还用于:根据车辆的前后轮距离和横向偏差,计算横向偏差。
23.可选地,处理模块,用于:根据横向偏差和航向角偏差,确定车辆的第一前轮转角。
24.根据行驶信息和道路信息,确定车辆的第二前轮转角。
25.根据第一前轮转角和第二前轮转角,确定目标前轮转角。
26.可选地,处理模块,具体用于:将横向偏差和航向角偏差输入线性二次型调节器,得到一系列最优前轮转角,一系列最优前轮转角用于将车辆从当前轨迹横向移动到目标轨迹。
27.确定一系列最优前轮转角中的第一个最优前轮转角为第一前轮转角。
28.可选地,线性二次型调节器的公式为:其中,,n为线性二次型调节器的规划中将车辆从当前轨迹横向移动到目标轨迹需要移动的次数,为线性二次型调节器的规划中第t次移动的横向偏差和航向角偏差,,为横向偏差,为航向角偏差,为线性二次型调节器的规划中第t次移动的最优前轮转角,为测量模型。
29.可选地,处理模块,具体用于:根据行驶信息中的车速,确定预设时长后车辆的第二位置。
30.根据第二位置和道路信息,确定第二位置的道路曲率。
31.根据道路曲率,确定车辆的第二前轮转角。
32.可选地,处理模块,具体用于:根据第一前轮转角和第二前轮转角之和,确定目标前轮转角。
33.可选地,自车坐标系的原点为车辆的后轴的中心点。
34.可选地,目标轨迹,包括以下任意一种:目标轨迹为车辆所在车道的中心线所形成的轨迹。
35.目标轨迹为车辆变道后所在车道的中心线所形成的轨迹。
36.第三方面,本技术提供一种车辆的横向控制控制器,包括:存储单元和处理单元;存储单元用于存储程序指令;处理单元用于调用存储单元中的程序指令执行第一方面及第一方面任一种可能的设计中的车辆的横向控制方法。
37.第四方面,本技术提供一车辆,所述车辆中设置有第三方面及第三方面任一种可能的设计中的横向控制控制器。
38.第五方面,本技术提供一种可读存储介质,可读存储介质中存储有计算机程序,当控制器的至少一个处理单元执行该计算机程序时,控制器执行第一方面及第一方面任一种可能的设计中的车辆的横向控制方法。
39.第六方面,本技术提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当控制器的至少一个处理单元执行该计算机程序时,控制器执行第一方面及第一方面任一种可能的设计中的车辆的横向控制方法。
40.本技术提供的车辆的横向控制方法,通过周期性获取车辆的行驶信息、横向偏差、航向角偏差;根据横向偏差和航向角偏差构建车辆模型;根据横向偏差和航向角偏差,确定车辆的第一前轮转角;根据行驶信息和道路信息,确定车辆的第二前轮转角;根据第一前轮转角和第二前轮转角之和,确定目标前轮转角;根据目标前轮转角控制并转动车辆的前轮的手段,实现了在保证较高的控制精度的基础上,极大降低了车辆模型的计算量,提高了运算效率,提高了车辆的横向控制的准确度,从而提高无人驾驶车辆的安全性的效果。
附图说明
41.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为本技术一实施例提供的一种车辆的横向控制的场景示意图;图2为本技术一实施例提供的一种车辆的横向控制方法的结构示意图;图3为本技术一实施例提供的一种车辆的横向控制方法的流程图;图4为本技术一实施例提供的一种自车坐标系的示意图;图5为本技术一实施例提供的一种自车坐标系的示意图;图6为本技术一实施例提供的一种自车坐标系的示意图;图7为本技术一实施例提供的一种车辆的横向控制装置的结构示意图;图8为本技术一实施例提供的一种控制器的硬件结构示意图。
具体实施方式
43.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
45.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
46.再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。
47.应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。
48.此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
49.随着汽车数量的不断增长以及车辆技术的发展,自动驾驶技术逐渐成为车辆研究领域的热点。目前,自动驾驶车辆被广泛应用于物流配送、港口运输、自动泊车等领域。并且,在道路交通中,自动驾驶技术在车辆中的使用,实现了车辆在异常情况下预警,以及面对突发事故时的紧急控制,在降低道路交通事故发生率方面有着重要的意义和巨大的应用价值。
50.车辆的自动驾驶技术,其实质为车辆在行驶过程的控制指令的生成与执行。这些控制指令将用于控制车辆按照某一速度匀速行驶、按照某一加速度加速或者减速行驶、转向等。在车辆的自动驾驶中,车辆的横向控制和纵向控制是其中最为主要的两种控制方式。其中,纵向控制主要用于实现车辆的加速或者减速。其中,横向控制主要用于实现车辆的转向。即,通过转向的方式,将车辆从当前的行驶轨迹移动移动到目标轨迹,以使车辆沿着目标轨迹行驶。在该横向控制过程中,如果对车辆的转向控制不精准,则可能导致车辆无法沿着目标轨迹行驶,进而不能较好的满足自动驾驶的需求。
51.目前,实现车辆的横向控制的方法主要包括比例积分微分算法(proportion integral differential,pid)和模型预测控制算法(model predictive control,mpc)两种。其中,pid算法不需要考虑车辆模型,可以直接根据当前位置和目标位置,通过比例、积分和微分的闭环计算,实现车辆的横向控制。pid算法是连续系统中技术最为成熟、应用最为广泛的一种控制算法。其优点是运算量不大,控制器设计简单易实现。其缺点在于控制过程中容易产生超调、达到稳态时间长、控制精度不高。该pid算法的主要公式及实现原理可以如下述公式所示:其中,mpc算法用于在每一时刻,确定该时刻对应的控制指令,并使用该控制指令实现对车辆的控制。其中,控制器可以在每一时刻获取属于该时刻的当前测量信息。控制器根据该当前测量信息,在线求解一个有限时间开环优化问题。该有限时间开环优化问题将求解得到一个控制序列。该控制序列中的第一个元素将被作为该时刻的控制指令作用于该车辆。在下一个采样时刻,控制器将重复上述过程,并将新的当前测量信息初始条件重新求解,得到新的控制指令。该mpc算法充分考虑了车辆动力学模型的约束状态。其优点在于控制精度高。其缺点在于计算复杂度高,运算量大,每一控制指令的运算时间长。
52.针对现有技术中存在的问题,本技术提出了一种车辆的横向控制方法。该方法所使用的线性二次型最调节器(linear quadratic regulator,lqr)的车辆模型引入的约束变量包括横向偏差和航向角偏差。相较于现有技术常用的引入4个约束变量,本技术实现了在保证较高的控制精度的基础上,极大降低了车辆模型的计算量,提高了运算效率的效果。同时,本技术还使用前馈控制算法对lqr调节器的计算结果进行优化,进一步提高了车辆的横向控制的准确度,从而提高无人驾驶车辆的安全性。
53.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
54.图1示出了本技术一实施例提供的一种车辆的横向控制的场景示意图。其中车辆上的箭头用于指示车辆的行驶方向。该次横向控制中,车辆需要从第一车道变道到第二车道。假设在当前时刻,车辆尚未开始横向移动,该车辆为移动前车辆。该移动前车辆所在位置如图所示。该移动前车辆的中线所对应的方向为该车辆的当前轨迹。在横向控制控制器的控制下,该移动前车辆一边继续向前行驶,一边横向移动,最终到达移动后车辆所在位置。该移动后车辆在第二车道。该移动后车辆的中线与目标轨迹重合。该横向移动过程中,该车辆的行驶轨迹可以如图中的行驶轨迹所示。在该横向移动过程中,车辆可以周期性生成控制指令,控制车辆调整前轮转角,从而控制车辆以该行驶轨迹,从移动前车辆所在位置行驶到移动后车辆所在位置。
55.其中,在每一周期中,车辆的横向控制控制器生成控制指令的方法可以如图2所示。横向控制控制器获取目标轨迹和车辆底盘信号。其中,目标轨迹可以根据该车辆的位置信息以及导航路线或者路况确定。例如,当导航指示车辆右转,而车辆不在最右侧车道时,可以通过横向控制指示车辆向右侧变道。即,车辆需要从图1所示的第一车道变道到第二车道。又如,当路况指示如图1所示的第一车道出现交通事故,且车辆在第一车道时,可以通过横向控制指示车辆变道到第二车道。其中,目标轨迹的确定过程可以由其他控制器根据车辆的位置信息以及导航路线或者路况确定。当其他控制器确定该目标轨迹后,其他控制器可以将该目标轨迹发送到横向控制控制器。其中,车辆底盘信号中可以包括设置于车辆底盘的多个传感器获取的数据信号。例如,车速、加速度、角速度、位置信息等。
56.当横向控制控制器获取目标轨迹和车辆底盘信号后,横向控制控制器可以根据目标轨迹和车辆底盘信号建立车辆模型。横向控制控制器可以通过lqr调节器实现对该车辆模型的求解。同时,横向控制控制器还可以根据目标轨迹和车辆底盘信号实现车辆的前馈控制。该前馈控制可以通过观察情况、收集整理信息、掌握规律、预测趋势,确预计未来可能出现的问题,提前采取措施,将可能发生的偏差消除在萌芽状态中。单纯的前馈控制是开环控制,是按扰动进行补偿的。本技术通过综合利用lqr调节器实现对该车辆模型的求解结果和前馈控制的控制量,确定最终的目标前轮转角。横向控制控制器可以将该目标前轮转角输出到用于控制前轮转角的控制器中。该控制器可以根据该目标前轮转角控制车辆的前轮进行转动,实现对车辆的控制。
57.本技术中,以控制器为执行主体,执行如下实施例的车辆的横向控制方法。具体地,该执行主体可以为控制器的硬件装置,或者为控制器中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实施例的软件应用的代码。
58.图3示出了本技术一实施例提供的一种车辆的横向控制方法的流程图。在图1和图2所示实施例的基础上,如图3所示,以横向控制控制器为执行主体,本实施例的方法可以包括如下步骤:s101、获取车辆的行驶信息、车辆的横向偏差、航向角偏差。
59.本实施例中,横向控制控制器可以周期性获取车辆的行驶信息、横向偏差、航向角偏差。每一周期内,车辆获取该行驶信息、横向偏差、航向角偏差后,可以使用这些数据计算该周期内车辆的目标前轮转角。当进入下一周期后,车辆可以获取下一周期的行驶信息、横向偏差、航向角偏差,并计算下一周期的目标前轮转角。其中,每一周期的时长可以为20毫秒。即,每20毫秒,横向控制控制器可以获取一次行驶信息、横向偏差、航向角偏差,并根据这些数据计算在接下来的20毫秒内车辆行驶时的目标前轮转角。
60.一种示例中,在一个周期内,横向控制控制器获取行驶信息、横向偏差、航向角偏差的步骤可以包括:步骤1、横向控制控制器获取车辆的行驶信息,行驶信息包括车辆当前所在的第一位置和行驶方向。
61.本步骤中,横向控制控制器可以通过安装在车辆上的传感器,获取车辆的行驶信息。该行驶信息可以包括车辆当前所在的第一位置和行驶方向。该行驶信息还可以包括车速、加速度、角速度、位置信息等。该传感器可以安装在车辆底盘,或者该传感器还可以安装在车辆的四周等位置。
62.其中,第一位置可以用于指示该车辆所在车道,以及该车辆在该车道中的位置。例如,该车辆可以在左侧第一车道,该车辆的中心点可以在距离左侧白线2米、距离右侧白线1.5米处。具体地,横向控制控制器获取的第一位置可以为该横向控制控制器或者其他控制器根据道路信息和该车辆的经纬度位置确定的。或者,横向控制控制器获取的第一位置还可以为该横向控制控制器或者其他控制器根据传感器获取的二维或者三维的道路信息计算得到的。其中,行驶方向用于指示该车辆的车头的正前方所对应的方向。
63.步骤2、横向控制控制器根据第一位置、行驶方向和目标轨迹,确定横向偏差和航向角偏差。
64.本步骤中,横向控制控制器可以根据车辆的第一位置和行驶方向建立自车坐标系。该自车坐标系可以如图4或者图5所示。其中,横向控制控制器可以以车辆的行驶方向为x轴的正向,以垂直x轴的左侧方向为y轴的正向。其中坐标原点为车辆的后轴的中心点。目标轨迹可以以轨迹点的方式以转换为该自车坐标系下的一系列坐标点。当车辆的在如图5所示的直道上行驶时,车辆的当前轨迹可以与该自车坐标系的x轴重合。当车辆在如图4所示的弯道上行驶时,车辆的当前轨迹可以如图4所示。
65.横向控制控制器确定自车坐标系的x轴和目标轨迹的夹角为航向角偏差。例如,在图5所示的道路中x轴与目标轨迹的方向相同,此时,航向角偏差为0。又如,当车辆向目标轨迹移动过程中,车辆的行驶方向可以如图6所示。其中,目标轨迹如图6中虚线所示。在目标轨迹与y轴的交点处做x轴投影。该x轴投影与x轴平行。该x轴投影与目标轨迹可以存在一定的夹角,该夹角即为航向角偏差。需要注意的是,当该目标轨迹偏向x轴投影左侧时,该航向角偏差为。当该目标轨迹偏向x轴投影右侧时,该航向角偏差为。又如,在如图4所示的
道路中,目标轨迹与自车坐标系的y轴存在交点。在该交点处,可以做目标轨迹的切线和x轴投影。如图4所示,该切线与该x轴投影重合,此时,该航向角偏差为0。当该切线不与该x轴投影重合时,当该切线偏向x轴投影左侧时,该航向角偏差为。当该切线偏向x轴投影右侧时,该航向角偏差为。其中,为大于0的角度。
66.横向控制控制器根据目标轨迹在y轴上的交点,确定横向偏差。例如,如图4、图5和图6所示,目标轨迹与y轴存在一个交点。该交点在y轴上对应的值即为横向偏差。
67.一种示例中,目标轨迹可以由其他控制器确定后发送到横向控制控制器。其他控制器可以根据预设频率更新并将发送该目标轨迹。该预设频率可以为100毫米/次。其中,该目标轨迹可以为其他控制器根据车辆所在车道的中心线所形成的轨迹。该目标轨迹的使用用于辅助车辆在自动驾驶时,保持在车道中间行驶。其中,目标轨迹还可以为其他控制器根据导航或者路况确定车辆需要变道后,确定的车辆变道后所在车道的中心线。该目标轨迹的使用用于辅助车辆避开当前车道的道路异常情况,或者该目标轨迹的使用用于辅助车辆根据导航路线自动驾驶。
68.s102、根据横向偏差、航向角偏差、行驶信息和道路信息,确定目标前轮转角。
69.本实施例中,横向控制控制器可以根据横向偏差、航向角偏差构建车辆模型。横向控制控制器根据该车辆模型,通过目标函数优化,确定目标前轮转角。横向控制控制器还可以根据行驶信息和道路信息,进一步对该目标前轮转角进行优化,确定更加准确的目标前轮转角。
70.一种示例中,目标前轮转角的计算过程可以分为如下三个步骤:步骤1、横向控制控制器根据横向偏差和航向角偏差,确定车辆的第一前轮转角。
71.本步骤中,横向控制控制器可以根据横向偏差和航向角偏差,确定车辆模型。该车辆模型可以表示为:其中,为横向偏差变化率和航向角偏差变化率组成的矩阵。为横向偏差和航向角偏差组成的矩阵。为前轮转速。其中,和可以分别表示为:可以分别表示为:其中,为横向偏差变化率,为航向角偏差变化率。为横向偏差,为航向角偏差。
72.其中,a、b、w为根据当前车速、前轮和后轮之间的轴距和参考前轮转角确定的矩阵,可以分别表示为:
其中,为车辆的当前车速,该车速可以由安装于车辆底盘的传感器实时获取后上传到横向控制控制器。l为前轮和后轮之间的轴距。为参考前轮转角。
73.将上述车辆模型离散化后,可以得到一个线性二次型调节器的线性系统,具体表示为:其中,,n为lqr的规划中将车辆从当前轨迹横向移动到目标轨迹需要移动的次数。为线性二次型调节器的规划中第t次移动的横向偏差和航向角组成的矩阵。为线性二次型调节器的规划中第t次移动的最优前轮转角。为测量模型。
74.其中,可以根据上述车辆模型中的a、b、w计算得到,其计算过程可以由如下公式表示:以由如下公式表示:以由如下公式表示:其中,i为单位矩阵。其中,dt表示求导。表示该逆矩阵。
75.其中,横向控制控制器在获取到横向偏差和航向角偏差后,可以将该横向偏差和航向角偏差组成的矩阵作为的初始值。即的初始值可以表示为:
横向控制控制器中所使用的lqr调节器用于根据上述公式,寻找一系列最优前轮转角。当横向控制控制器使用这些前轮转角控制车辆的前轮转动时,可以实现在付出最小努力的情况下,将车辆从当前轨迹横向移动到目标轨迹。该一系列最优前轮转角可以包括。需要实现在付出最小努力的情况下,将车辆从当前轨迹横向移动到目标轨迹,通常需要满足尽量小和尽量小两个目标。其中,尽量小实现与目标轨迹的不断贴近,从而将车辆的横向偏差和航向角偏差状态调节到零点。尽量小实现为控制付出最小的努力。
76.在上述两个目标的实现过程中,两个目标通常是冲突的。因为较大的控制作用,即较大的能更快地将的状态调节到零点。因此在lqr调节器的作用就是根据需要,设计出一组控制率,来实现上面两个目标的权衡。为此可以定义如下二次代价函数:其中,q和r为常量,用于分别指示偏差状态和前轮转角的相对权重。其取值为经验值。n为lqr调节器的规划中将车辆从当前轨迹横向移动到目标轨迹需要移动的次数。表示第次移动时,x矩阵的转置。表示第次移动时横向偏差和航向角偏差组成的矩阵。
77.当横向控制控制器通过lqr调节器计算得到一系最优列前轮转角,即后,横向控制控制器可以将其中的第一个最优前轮转角,即作为第一前轮转角。
78.步骤2、横向控制控制器根据行驶信息和道路信息,确定车辆的第二前轮转角。
79.本步骤中,横向控制控制器可以获取行驶信息中的当前车速。根据该当前车速,横向控制控制器可以预估预设时长后,该车辆将会行驶到的第二位置。例如,当车辆沿着如图4或者图5所示的当前轨迹行驶时,横向控制控制器可以根据当前车速和预设时长,确定车辆的行驶距离。沿着当前轨迹向前行驶距离的位置即为第二位置。其中,预设时长可以为1秒。
80.横向控制控制器可以根据第二位置和道路信息,确定该第二位置的道路曲率。例如,当道路为如图5所示的直道时,该道路曲率为0。又如,当道路为如图4所示的弯道是,该道路曲率根据第二位置的切线方向角对弧长的转动率确定。横向控制控制器可以根据该道路曲率确定该车辆的第二前轮转角。该第二前轮转角用于指示该车辆在该道路曲率的道路上,沿着当前轨迹行驶需要的前轮转角。
81.步骤3、横向控制控制器根据第一前轮转角和第二前轮转角之和,确定目标前轮转
角。
82.本步骤中,当第一前轮转角或者第二前轮转角为向左转时,该第一前轮转角或者第二前轮转角为正数。当横向控制控制器为向右转时,该横向控制控制器为负数。因此,横向控制控制器可以通过计算第一前轮转角和第二前轮转角之和,确定目标前轮转角。
83.s103、根据目标前轮转角控制并转动车辆的前轮。
84.本实施例中,横向控制控制器在获取目标前轮转角后,可以将该目标前轮转角输出到执行器中。执行器根据该目标前轮转角控制前轮转动。车辆将在前轮发生转动后按照当前车速继续向前行驶。
85.并且,由于上述s101至s103的过程仅为一个周期的控制过程。因此,随着横向控制控制器周期性计算得到目标前轮转角,车辆会周期性的转动前轮。车辆会在一次次转动前轮并继续行驶过程中不断变化行驶方向,从而实现从当前轨迹横向移动到目标轨迹。该车辆在该过程中的行驶轨迹可以如图1所示。
86.本技术提供的车辆的横向控制方法,横向控制控制器可以周期性获取车辆的行驶信息、横向偏差、航向角偏差。横向控制控制器可以根据横向偏差和航向角偏差构建车辆模型。横向控制控制器根据横向偏差和航向角偏差,确定车辆的第一前轮转角。横向控制控制器根据行驶信息和道路信息,确定车辆的第二前轮转角。横向控制控制器根据第一前轮转角和第二前轮转角之和,确定目标前轮转角。根据目标前轮转角控制并转动车辆的前轮。本技术中,通过使用横向偏差和航向角偏差构建车辆模型,实现了在保证较高的控制精度的基础上,极大降低了车辆模型的计算量,提高了运算效率的效果。其次,本技术还计算了第二前轮转角,降低了道路本身导致的误差,进一步提高了车辆的横向控制的准确度,从而提高无人驾驶车辆的安全性。
87.图7示出了本技术一实施例提供的一种车辆的横向控制装置的结构示意图,如图7所示,本实施例的车辆的横向控制装置10用于实现上述任一方法实施例中对应于控制器的操作,本实施例的车辆的横向控制装置10包括:获取模块11,用于获取车辆的行驶信息、车辆的横向偏差、航向角偏差。
88.处理模块12,用于根据横向偏差、航向角偏差、行驶信息和道路信息,确定目标前轮转角。
89.控制模块13,用于根据目标前轮转角控制并转动车辆的前轮。
90.一种示例中,获取模块11,用于:获取车辆的行驶信息,行驶信息包括车辆当前所在的第一位置和行驶方向。
91.根据第一位置、行驶方向和目标轨迹,确定横向偏差和航向角偏差。
92.一种示例中,获取模块11,具体用于:根据车辆的行驶方向和第一位置,确定自车坐标系,自车坐标系以车辆的行驶方向为x轴的正向,以垂直x轴的左侧方向为y轴的正向。
93.根据自车坐标系和目标轨迹,确定x轴与目标轨迹的夹角为航向角偏差。
94.根据自车坐标系和目标轨迹,确定目标轨迹在y轴上的距离为横向偏差。
95.一种示例中,获取模块11,还用于:根据车辆的前后轮距离和横向偏差,计算横向偏差。
96.一种示例中,处理模块12,用于:
根据横向偏差和航向角偏差,确定车辆的第一前轮转角。
97.根据行驶信息和道路信息,确定车辆的第二前轮转角。
98.根据第一前轮转角和第二前轮转角,确定目标前轮转角。
99.一种示例中,处理模块12,具体用于:将横向偏差和航向角偏差输入线性二次型调节器,得到一系列最优前轮转角,一系列最优前轮转角用于将车辆从当前轨迹横向移动到目标轨迹。
100.确定一系列最优前轮转角中的第一个最优前轮转角为第一前轮转角。
101.一种示例中,线性二次型调节器的公式为:其中,,n为线性二次型调节器的规划中将车辆从当前轨迹横向移动到目标轨迹需要移动的次数,为线性二次型调节器的规划中第t次移动的横向偏差和航向角偏差,,为横向偏差,为航向角偏差,为线性二次型调节器的规划中第t次移动的最优前轮转角,为测量模型。
102.一种示例中,处理模块12,具体用于:根据行驶信息中的车速,确定预设时长后车辆的第二位置。
103.根据第二位置和道路信息,确定第二位置的道路曲率。
104.根据道路曲率,确定车辆的第二前轮转角。
105.一种示例中,处理模块12,具体用于:根据第一前轮转角和第二前轮转角之和,确定目标前轮转角。
106.一种示例中,自车坐标系的原点为车辆的后轴的中心点。
107.一种示例中,目标轨迹,包括以下任意一种:目标轨迹为车辆所在车道的中心线所形成的轨迹。
108.目标轨迹为车辆变道后所在车道的中心线所形成的轨迹。
109.本技术实施例提供的车辆的横向控制装置10,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
110.图8示出了本技术实施例提供的一种控制器的硬件结构示意图。如图8所示,该控制器20,用于实现上述任一方法实施例中对应于控制器的操作,本实施例的控制器20可以包括:存储单元21,处理单元22和通信单元24。
111.存储单元21,用于存储计算机程序。该存储单元21可能包含高速随机存取存储单元(random access memory,ram),也可能还包括非易失性存储(non

volatile memory,nvm),例如至少一个磁盘存储单元,还可以为u盘、移动硬盘、只读存储单元、磁盘或光盘等。
112.处理单元22,用于执行存储单元21存储的计算机程序,以实现上述实施例中的车辆的横向控制方法。具体可以参见前述方法实施例中的相关描述。该处理单元22可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理单元、数字信号处理
单元(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理单元可以是微处理单元或者该处理单元也可以是任何常规的处理单元等。结合发明所公开的方法的步骤可以直接体现为硬件处理单元执行完成,或者用处理单元中的硬件及软件模块组合执行完成。
113.可选地,存储单元21既可以是独立的,也可以跟处理单元22集成在一起。
114.当存储单元21是独立于处理单元22之外的器件时,控制器20还可以包括总线23。该总线23用于连接存储单元21和处理单元22。该总线23可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
115.通信单元24,可以通过总线23与处理单元21连接。通信单元24可以用于从车辆的传感器中获取行驶信息,以及可以向车辆的其他控制其发送执行指令。
116.本实施例提供的控制器可用于执行上述的车辆的横向控制方法,其实现方式和技术效果类似,本实施例此处不再赘述。
117.本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理单元执行时用于实现上述的各种实施方式提供的方法。
118.其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理单元,从而使处理单元能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理单元的组成部分。处理单元和计算机可读存储介质可以位于专用集成电路(application specific integrated circuits, asic)中。另外,该asic可以位于用户设备中。当然,处理单元和计算机可读存储介质也可以作为分立组件存在于通信设备中。
119.具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储单元(static random

access memory,sram),电可擦除可编程只读存储单元(electrically

erasable programmable read

only memory,eeprom),可擦除可编程只读存储单元(erasable programmable read only memory,eprom),可编程只读存储单元(programmable read

only memory,prom),只读存储单元(read

only memory,rom),磁存储单元,快闪存储单元,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
120.本技术还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。设备的至少一个处理单元可以从计算机可读存储介质中读取该计算机程序,至少一个处理单元执行该计算机程序使得设备实施上述的各种实施方式提供的方法。
121.本技术实施例还提供一种芯片,该芯片包括存储单元和处理单元,存储单元用于存储计算机程序,处理单元用于从存储单元中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
122.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
123.其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理单元上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本技术可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
124.当各个模块以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理单元执行本技术各个实施例方法的部分步骤。
125.应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
126.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜