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

车辆的横向控制方法、装置、车辆及存储介质与流程

2022-06-11 09:23:00 来源:中国专利 TAG:


1.本技术涉及自动驾驶技术领域,特别涉及一种车辆的横向控制方法、装置、车辆及存储介质。


背景技术:

2.横向控制算法分为基于运动学模型的控制和基于动力学模型的控制两类。其中,基于运动学模型的控制属于传统控制类别,主要算法有pid(proportion integration differentiation,比例积分微分)、purepursuit(纯跟踪算法)和stanley(斯坦利算法)等,无需知道车辆的参数,如质量、轴距等,将其视为黑盒,通过车辆与外界耦合的几何参数从而实现对车辆运动的控制;基于动力学模型的控制属于现代控制类别,主要算法有lqr(linear quadratic regulator,线性二次型调节器)、mpc(model predictive control,模型预测控制)、滑模控制等,其需要知道车辆的动力学参数,从而可以对车辆进行精确建模,但鲁棒性较弱。
3.相关技术中,针对慢速行驶车辆的控制,考虑控制及建模的简便性,一般都是选择运动学模型控制算法中的stanley算法作为车辆的横向控制算法。
4.然而,现有的stanley算法在车辆偏移目标路径时存在控制输入震荡的问题,表现在实车上就是方向盘不停的左右打,导致车头左右摆动,降低用户的驾乘体验,亟待解决。


技术实现要素:

5.本技术提供一种车辆的横向控制方法、装置、车辆及存储介质,以解决stanley算法在车辆偏移目标路径时存在控制输入震荡的问题,从而使车辆控制相对平滑,鲁棒性较强。
6.本技术第一方面实施例提供一种车辆的横向控制方法,包括以下步骤:获取当前车辆的当前航向角、当前位置和所述当前位置在预设规划路径中的预瞄点;
7.根据所述预瞄点与所述当前位置的坐标位置计算得到横向误差,并根据所述航向角和所述预瞄点的切线计算得到朝向误差;
8.将所述横向误差和所述朝向误差带入预设的stanley算法计算得到所述当前车辆的前轮转角;以及
9.根据所述前轮转角和方向盘转角的预设关系得到所述方向盘转角,并根据所述方向盘转角对所述当前车辆进行控制。
10.可选地,在获取所述当前车辆的当前航向角、所述当前位置和所述当前位置在预设规划路径中的预瞄点之前,还包括:
11.基于预设的比例区间对所述前轮转角和所述方向盘转角进行标定,得到所述预设关系,其中,所述预设的比例区间为[10,15]。
[0012]
可选地,所述预设规划路径由采集离散路径点,通过用三次样条插值得到,计算公式如下:
[0013][0014]
其中,hn为步长,hn=x
n 1-xn,n为整数,xn为所述离散路径点的横坐标,y0、y1和y2所述离散路径点的纵坐标,为三对角矩阵。
[0015]
可选地,所述预设的stanley算法为:
[0016]
δ=θ
p
arctan(kef/(1 v));
[0017]
其中,δ为前轮转角,θ
p
为所述预瞄点的朝向误差,kef为增益参数,v为当前车速。
[0018]
可选地,在根据所述方向盘转角对所述当前车辆进行控制之后,还包括:
[0019]
获取所述当前车辆的控制结果;
[0020]
根据所述控制结果优化所述增益参数。
[0021]
本技术第二方面实施例提供一种车辆的横向控制装置,包括:
[0022]
获取模块,用于获取当前车辆的当前航向角、当前位置和所述当前位置在预设规划路径中的预瞄点;
[0023]
第一计算模块,用于根据所述预瞄点与所述当前位置的坐标位置计算得到横向误差,并根据所述航向角和所述预瞄点的切线计算得到朝向误差;
[0024]
第二计算模块,用于将所述横向误差和所述朝向误差带入预设的stanley算法计算得到所述当前车辆的前轮转角;以及
[0025]
控制模块,用于根据所述前轮转角和方向盘转角的预设关系得到所述方向盘转角,并根据所述方向盘转角对所述当前车辆进行控制。
[0026]
可选地,在获取所述当前车辆的当前航向角、所述当前位置和所述当前位置在预设规划路径中的预瞄点之前,所述获取模块,还用于:
[0027]
基于预设的比例区间对所述前轮转角和所述方向盘转角进行标定,得到所述预设关系,其中,所述预设的比例区间为[10,15]。
[0028]
可选地,所述获取模块,所述预设规划路径由采集离散路径点,通过用三次样条插值得到,计算公式如下:
[0029][0030]
其中,hn为步长,hn=x
n 1-xn,n为整数,xn为所述离散路径点的横坐标,y0、y1和y2所
述离散路径点的纵坐标,为三对角矩阵。
[0031]
可选地,所述第二计算模块,所述预设的stanley算法为:
[0032]
δ=θ
p
arctan(kef/(1 v));
[0033]
其中,δ为前轮转角,θ
p
为所述预瞄点的朝向误差,kef为增益参数,v为当前车速。
[0034]
可选地,在根据所述方向盘转角对所述当前车辆进行控制之后,所述控制模块,还用于:
[0035]
获取所述当前车辆的控制结果;
[0036]
根据所述控制结果优化所述增益参数。
[0037]
本技术第三方面实施例提供一种车辆,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的车辆的横向控制方法。
[0038]
本技术第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的车辆的横向控制方法。
[0039]
由此,通过计算车辆当前坐标位置与预瞄点之间的横线误差,并通过车辆航向角与预瞄点的切线计算得到朝向误差,将横向误差与朝向误差代入stanley算法得到前轮转角,由前轮转角得到方向盘转角,并根据方向盘转角对车辆进行控制。由此,解决了stanley算法在车辆偏移目标路径时存在控制输入震荡的问题,从而使车辆控制相对平滑,鲁棒性较强。
[0040]
本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
[0041]
本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0042]
图1为根据本技术实施例提供的车辆的横向控制方法的流程图;
[0043]
图2为根据本技术一个实施例提供的车辆的横向控制方法的示意图;
[0044]
图3为根据本技术一个实施例提供的标准stanley算法的轨迹跟踪示意图;
[0045]
图4为根据本技术一个实施例提供的改进stanley算法的轨迹跟踪示意图;
[0046]
图5为根据本技术实施例提供的车辆的横向控制装置的方框示意图;
[0047]
图6为根据本技术实施例提供车辆示意图。
具体实施方式
[0048]
下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
[0049]
下面参考附图描述本技术实施例的车辆的横向控制方法、装置、车辆及存储介质。针对上述背景技术中心提到的stanley算法在车辆偏移目标路径时存在控制输入震荡的问题,本技术提供了一种车辆的横向控制方法,在该方法中,通过计算车辆当前坐标位置与预瞄点之间的横线误差,并通过车辆航向角与预瞄点的切线计算得到朝向误差,将横向误差与朝向误差代入stanley算法得到前轮转角,由前轮转角得到方向盘转角,并根据方向盘转角对车辆进行控制。由此,通过一种改进stanley算法,解决了stanley算法在车辆偏移目标路径时存在控制输入震荡的问题,从而使车辆控制相对平滑,鲁棒性较强。
[0050]
具体而言,图1为本技术实施例所提供的一种车辆的横向控制方法的流程示意图。
[0051]
如图1所示,该车辆的横向控制方法包括以下步骤:
[0052]
在步骤s101中,获取当前车辆的当前航向角、当前位置和当前位置在预设规划路径中的预瞄点。
[0053]
可选地,在一些实施例中,预设规划路径由采集离散路径点,通过用三次样条插值得到,计算公式如下:
[0054][0055]
其中,hn为步长,hn=x
n 1-xn,n为整数,为三对角矩阵,通过将数据节点和指定的首尾端点条件代入矩阵方程解矩阵方程即可求得;xn为离散路径点的横坐标,y0、y1和y2离散路径点的纵坐标。
[0056]
具体而言,车辆的当前航向角和当前位置均可以由定位传感器、地图、或者全球定位系统(global positioning system,gps)获取,预瞄点即为当前位置在车辆的预设规划路径中的最近点。
[0057]
在步骤s102中,根据预瞄点与当前位置的坐标位置计算得到横向误差,并根据航向角和预瞄点的切线计算得到朝向误差。
[0058]
具体而言,在获取到当前车辆的当前位置和当前位置在预设规划路径中的预瞄点后,本技术实施例可以基于当前位置的坐标以及预瞄点的坐标通过相关技术中的计算方式计算得到横向误差;
[0059]
朝向误差θ
p
可以通过公式(1)计算得到
[0060][0061]
其中,l为车辆轴距,ld为预瞄距离,ld=kv,v为当前车速,k为比例增益,sinα(t)=e
p
/ld,e
p
为预瞄点处的横向误差。
[0062]
在步骤s103中,将横向误差和朝向误差带入预设的stanley算法计算得到当前车
离散路径点的纵坐标。
[0079]
步骤三:由定位传感器或者gps获取车辆当前位置和当前航向角。
[0080]
步骤四:根据当前位置在车辆的行驶轨迹中获取预瞄点。
[0081]
步骤五:根据最近点获取横向误差;根据最近点切线获取朝向误差。
[0082]
步骤六:根据横向误差、朝向误差分别由stanley算法和改进stanley算法计算获得前轮转角。
[0083]
标准stanley算法:
[0084]
δ=θ
p
arctan(kef/v);
[0085]
改进stanley算法:
[0086]
δ=θ
p
arctan(kef/(1 v));
[0087]
δ为前轮转角,kef为增益参数,v为当前车速
[0088]
其中:θ
p
为预瞄点朝向误差
[0089][0090]
l为车辆轴距,ld为预瞄距离,ld=kv,v为当前车速,k为比例增益,sinα(t)=e
p
/ld,e
p
为预瞄点处的横向误差。
[0091]
步骤六:由前轮转角和方向盘转角比例获得方向盘转角,输入实车进行控制。
[0092]
步骤七:根据控制效果整定参数,即通过调整kef的大小来优化控制效果,跟踪误差大,调大kef,反之调小,通常选取跟踪误差开始明显抖动时对应的kef的一半作为最优参数。
[0093]
图3为标准stanley算法的轨迹跟踪,图4为改进stanley算法的轨迹跟踪,由图3与图4对比可知,改进stanley相对标准stanley算法对轨迹跟踪更为贴合。
[0094]
根据本技术实施例提出的车辆的横向控制方法,通过计算车辆当前坐标位置与预瞄点之间的横线误差,并通过车辆航向角与预瞄点的切线计算得到朝向误差,将横向误差与朝向误差代入stanley算法得到前轮转角,由前轮转角得到方向盘转角,并根据方向盘转角对车辆进行控制。由此,解决了stanley算法在车辆偏移目标路径时存在控制输入震荡的问题,从而使车辆控制相对平滑,鲁棒性较强。
[0095]
其次参照附图描述根据本技术实施例提出的车辆的横向控制装置。
[0096]
图5是本技术实施例的车辆的横向控制装置的方框示意图。
[0097]
如图5所示,该车辆的横向控制装置10包括:获取模块100、第一计算模块200、第二计算模块300和控制模块400。
[0098]
其中,获取模块100,用于获取当前车辆的当前航向角、当前位置和当前位置在预设规划路径中的预瞄点;
[0099]
第一计算模块200,用于根据预瞄点与当前位置的坐标位置计算得到横向误差,并根据航向角和预瞄点的切线计算得到朝向误差;
[0100]
第二计算模块300,用于将横向误差和朝向误差带入预设的stanley算法计算得到当前车辆的前轮转角;以及
[0101]
控制模块400,用于根据前轮转角和方向盘转角的预设关系得到方向盘转角,并根据方向盘转角对当前车辆进行控制。
volatile memory),例如至少一个磁盘存储器。
[0122]
如果存储器601、处理器602和通信接口603独立实现,则通信接口603、存储器601和处理器602可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0123]
可选的,在具体实现上,如果存储器601、处理器602及通信接口603,集成在一块芯片上实现,则存储器601、处理器602及通信接口603可以通过内部接口完成相互间的通信。
[0124]
处理器602可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
[0125]
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的车辆的横向控制方法。
[0126]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0127]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0128]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0129]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或n个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器
(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0130]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0131]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0132]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0133]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献