1.本技术涉及自动驾驶技术领域,特别涉及一种自动驾驶车辆的横向控制方法、装置及车辆。
背景技术:2.目前,自动驾驶车辆通常通过横向控制算法,比如pid算法对车辆的方向转角进行控制,具体地:通过控制算法计算的方向盘转角控制量,并通过自动驾驶车辆的转向系统用于反馈方向盘转角控制量,以实现车辆与行驶轨迹的横向匹配控制。
3.然而,转向系统的转向器自由行程相对较大,往往存在转向间隙,使得行驶过程中容易出现较大横向偏差的情况,而较大的横向偏差会大大降低横向控制的精度,并导致实际行驶轨迹与目标轨迹偏差较大,进而降低车辆的安全可靠性,并降低用户的自动驾驶体验。
技术实现要素:4.本技术提供一种自动驾驶车辆的横向控制方法、装置及车辆,以解决相关技术中自动驾驶车辆的转向器存在转向间隙,容易导致横向偏差较大的情况,横向控制的精度低,车辆的安全可靠性以及自动驾驶体验较差等问题。
5.本技术第一方面实施例提供一种自动驾驶车辆的横向控制方法,包括以下步骤:获取自动驾驶车辆的方向盘的转角控制量;在检测到所述转角控制量小于或等于预设偏移阈值时,根据转向角增益比例因子修正所述转角控制量;根据修正后的转角控制量控制所述自动驾驶车辆的转向系统执行横向控制动作。
6.进一步地,所述修正后的转角控制量δ为:
7.δ=s*α,
8.其中,s为转向角增益比例因子,α为转角控制量。
9.进一步地,在修正所述转角控制量之前,还包括:获取所述自动驾驶车辆的实际车辆结构参数和/或实时车辆状态参数;根据所述实际车辆结构参数和/或实时车辆状态参数计算所述转向角增益比例因子
10.进一步地,所述获取自动驾驶车辆的方向盘的转角控制量,包括:检测所述自动驾驶车辆的当前横向偏移量和当前方向盘转角;根据当前横向偏移量和当前方向盘转角计算方向盘的转角控制量。
11.进一步地,还包括:在检测到所述转角控制量大于预设偏移阈值时,根据所述转角控制量控制所述自动驾驶车辆的转向系统执行横向控制动作。
12.本技术第二方面实施例提供一种自动驾驶车辆的横向控制装置,包括:获取模块,用于获取自动驾驶车辆的方向盘的转角控制量;修正模块,用于在检测到所述转角控制量小于或等于预设偏移阈值时,根据转向角增益比例因子修正所述转角控制量;第一控制模块,用于根据修正后的转角控制量控制所述自动驾驶车辆的转向系统执行横向控制动作。
13.进一步地,所述修正后的转角控制量δ为:
14.δ=s*α,
15.其中,s为转向角增益比例因子,α为转角控制量。
16.进一步地,还包括:计算模块,用于在修正所述转角控制量之前,获取所述自动驾驶车辆的实际车辆结构参数和/或实时车辆状态参数,根据所述实际车辆结构参数和/或实时车辆状态参数计算所述转向角增益比例因子。
17.进一步地,所述获取模块进一步用于检测所述自动驾驶车辆的当前横向偏移量和当前方向盘转角,并根据当前横向偏移量和当前方向盘转角计算方向盘的转角控制量。
18.进一步地,还包括:第二控制模块,用于在检测到所述转角控制量大于预设偏移阈值时,根据所述转角控制量控制所述自动驾驶车辆的转向系统执行横向控制动作。
19.本技术第三方面实施例提供一种车辆,包括上述实施例所述的自动驾驶车辆的横向控制装置。
20.由此,本技术至少具有如下有益效果:
21.通过放大过小的转角控制量消除转向间隙,以及时修正自动驾驶车辆的横向偏差,有效降低实际行驶轨迹与目标轨迹的偏差,规避自动驾驶车辆机械结构本身存在的转向间隙对于横向控制的影响,提高自动驾驶车辆横向控制的精度,并提高车辆的安全可靠性,提升用户的自动驾驶体验。由此,解决了相关技术中自动驾驶车辆的转向器存在转向间隙,容易导致横向偏差较大的情况,横向控制的精度低,车辆的安全可靠性以及自动驾驶体验较差等技术问题。
22.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
23.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
24.图1为根据本技术实施例提供的自动驾驶车辆的横向控制方法的流程示意图;
25.图2为根据本技术实施例提供的转向角增益比例因子效果图;
26.图3为根据本技术一个实施例提供的自动驾驶车辆的横向控制方法的流程示意图;
27.图4为根据本技术实施例提供的自动驾驶车辆的横向控制装置的示例图。
具体实施方式
28.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
29.自动驾驶横向控制算法多采用pid算法,通过对方向盘转角的控制,实现车辆与行驶轨迹的横向匹配控制。车辆转向机构由转向操纵机构、转向器、转向传动机构、助力装置等关键部件组成,其中转向器的机械结构对横向控制影响较大,尤其是使用循环球式转向器的车辆,自由行程相对较大。
30.正是由于方向盘自由行程的存在,对自动驾驶的横向控制产生一定的影响:
31.1)自动驾驶系统控制的转向角度值小于转向系统自由间隙时,车辆转向系统不动作或达不到自动驾驶系统控制的角度值;
32.2)车辆转向系统反馈的方向盘转角位置与车轮实际的偏转位置存在误差,地面不平引起的车辆角度波动无法正常反馈出来。
33.上述两个问题造成自动驾驶车辆在实际行驶过程中出现很大的横向偏差。车辆的实际行驶方向会在地面外力作用下出现偏斜,车辆的行驶轨迹表现为不稳定的曲线行驶,与目标行驶轨迹存在较大差异。
34.为了解决上述自动驾驶车辆横向偏差大的问题,本技术实施例提出优化算法,实现车辆的精准横向控制。
35.下面参考附图描述本技术实施例的自动驾驶车辆的横向控制方法、装置、及车辆。针对上述背景技术中心提到的相关技术中自动驾驶车辆的转向器存在转向间隙,容易导致横向偏差较大的情况,横向控制的精度低,车辆的安全可靠性以及自动驾驶体验较差的问题,本技术提供了一种自动驾驶车辆的横向控制方法,在该方法中,通过放大过小的转角控制量消除转向间隙,以及时修正自动驾驶车辆的横向偏差,有效降低实际行驶轨迹与目标轨迹的偏差,规避自动驾驶车辆机械结构本身存在的转向间隙对于横向控制的影响,提高自动驾驶车辆横向控制的精度,并提高车辆的安全可靠性,提升用户的自动驾驶体验。由此,解决了相关技术中自动驾驶车辆的转向器存在转向间隙,容易导致横向偏差较大的情况,横向控制的精度低,车辆的安全可靠性以及自动驾驶体验较差等技术问题。
36.具体而言,图1为本技术实施例所提供的一种自动驾驶车辆的横向控制方法的流程示意图。
37.如图1所示,该自动驾驶车辆的横向控制方法包括以下步骤:
38.在步骤s101中,获取自动驾驶车辆的方向盘的转角控制量。
39.可以理解的是,本技术实施例可以通过横向控制算法输出转角控制量。其中,横向控制算法可以具体选择,比如pid算法等,对此不作具体限定。
40.在本实施例中,获取自动驾驶车辆的方向盘的转角控制量,包括:检测自动驾驶车辆的当前横向偏移量和当前方向盘转角;根据当前横向偏移量和当前方向盘转角计算方向盘的转角控制量。
41.可以理解的是,本技术实施例在获取当前横向偏移量和当前方向盘转角之后,利用横向控制算计算得到转角控制量。其中,转角控制量α的计算公式为:
42.α=f(δyaw,δdis,
…
),
43.其中,δyaw为当前航向偏差,δdis为当前横向偏移量,f为当前方向盘转角。
44.在步骤s102中,在检测到转角控制量小于或等于预设偏移阈值时,根据转向角增益比例因子修正转角控制量。
45.在本实施例中,修正后的转角控制量δ为:
46.δ=s*α,
47.其中,s为转向角增益比例因子,α为转角控制量。
48.在本实施例中,预设偏移阈值可以根据实际情况进行标定,比如可以设置为4
°
等,对此不作具体限定。其中,
49.本技术实施例经过实际测试,由于转向器自由行程的存在,因此方向盘角度处于(-7
°
~+7
°
)之间时,车轮偏转角度与方向盘转角之间无法建立有效的对应关系,车轮偏转角度处于随机位置状态在直线行驶状态下。当车辆实际行驶方向与目标方向存在
±4°
的偏差时,车辆横向控制算法输出的方向盘目标角度在
±7°
范围之内,因此,本技术实施例可以取4
°
作为预设偏移阈值。
50.在本技术实施例中,在修正转角控制量之前,还包括:获取自动驾驶车辆的实际车辆结构参数和/或实时车辆状态参数;根据实际车辆结构参数和/或实时车辆状态参数计算转向角增益比例因子。
51.可以理解的是,转向角增益比例因子s对于最终的控制结果会产生很大的影响,且影响参数s修正值大小的因素有很多,比如车辆结构参数、车辆状态参数等,其中,车辆状态参数可以包括各轮胎气压等;同时,由于无法用理论进行实际推导和优化,因此,本技术实施例需要根据车辆实际测试效果确定,测试获取转向角增益比例因子s示例如下:
52.(1)选择长度不低于预设距离、且平直的测试道路,其中,预设距离可以根据实际测试情况设置,比如可以设置为1km或2km等,不做具体限定;
53.(2)设置转向角增益比例因子;
54.(3)启动系统并进入自动驾驶状态,使车辆保持预设速度、并按照预先录制的直线轨迹行驶;其中,预设速度可以根据实际测试情况设置,比如可以设置为20km/h或者30km/h等,不做具体限定;
55.(4)对比车辆实际行驶轨迹和目标轨迹的横向偏差;
56.(5)重新设置转向角增益比例因子,并重复上述步骤;
57.(6)通过数据处理,获取目标轨迹与实际轨迹的平均偏差e。
58.通过实验得到多个不同转向角增益比例因子下的车辆横向偏移量,如图2所示,从图中可以看出,当转向角增益比例因子为11时,车辆横向偏差达到最小,能够很好的跟踪目标轨迹,由此可以确定最终的优化模型。
59.在步骤s103中,根据修正后的转角控制量控制自动驾驶车辆的转向系统执行横向控制动作。
60.需要说明的是,在横向控制算法进行精细控制时,当输出较小的方向盘转角控制量,而车辆转向系统自由间隙远大于该控制量,车辆转向系统不会对该控制量做出反应,此时需要放大横向控制算法输出的方向盘转角控制量。
61.因此,本技术实施例可以在转角控制量过小时放大控制量,通过对pid算法输出的方向盘角度控制量进行调整,改进横向偏差过大的问题,从而在车辆行驶方向出现偏差时,及时输出一定的转向角,确保能消除转向间隙,促使转向轮能够产生偏转角度,使车辆的行驶方向得到及时校正。
62.在本实施例中,还包括:在检测到转角控制量大于预设偏移阈值时,根据转角控制量控制自动驾驶车辆的转向系统执行横向控制动作。
63.可以理解的是,在转向盘角度控制量较大时,车轮本身会对控制做出反馈,因此不进行放大,以横向控制算法输出控制量作为最终转向盘角度控制量。
64.下面将通过一个具体实施例对自动驾驶车辆的横向控制方法进行阐述,如图3所示,预设偏移阈值以4
°
为例,具体如下:
65.(1)获取当前方向盘转角和当前横向偏移量;
66.(2)根据横向控制算法计算方向盘转角控制量α;
67.(3)判断转角控制量α是否小于或等于4
°
,如果小于,则进入状态1;否则,进入状态2;其中,状态1:|α|≤4
°
,修正后的转角控制量δ=s*α,s为转向角增益比例因子;状态2:|α|》4
°
,修正后的转角控制量δ=α;
68.(4)转角控制量经过状态1或2的修正后得到修正后的转角控制量,根据修正后的转角控制量控制车辆转向系统执行横向控制动作。
69.综上,本技术实施例建立优化模型,巧妙的从算法层面,规避了机械结构对自动驾驶的部分影响,有效的提高了自动驾驶车辆横向控制的精度,实现车辆的精准横向控制,尤其适用于采用循环球式转向器的越野车、商用车等车型。
70.根据本技术实施例提出的自动驾驶车辆的横向控制方法,通过放大过小的转角控制量消除转向间隙,以及时修正自动驾驶车辆的横向偏差,有效降低实际行驶轨迹与目标轨迹的偏差,规避自动驾驶车辆机械结构本身存在的转向间隙对于横向控制的影响,提高自动驾驶车辆横向控制的精度,并提高车辆的安全可靠性,提升用户的自动驾驶体验。
71.其次参照附图描述根据本技术实施例提出的自动驾驶车辆的横向控制装置。
72.图4是本技术实施例的自动驾驶车辆的横向控制装置的方框示意图。
73.如图4所示,该自动驾驶车辆的横向控制装置10包括:获取模块100、修正模块200和第一控制模块300。
74.其中,获取模块100用于获取自动驾驶车辆的方向盘的转角控制量;修正模块200用于在检测到转角控制量小于或等于预设偏移阈值时,根据转向角增益比例因子修正转角控制量;第一控制模块300用于根据修正后的转角控制量控制自动驾驶车辆的转向系统执行横向控制动作。
75.进一步地,修正后的转角控制量δ为:
76.δ=s*α,
77.其中,s为转向角增益比例因子,α为转角控制量。
78.进一步地,本技术实施例的装置10还包括:计算模块。其中,计算模块用于在修正转角控制量之前,获取自动驾驶车辆的实际车辆结构参数和/或实时车辆状态参数,根据实际车辆结构参数和/或实时车辆状态参数计算转向角增益比例因子。
79.进一步地,获取模块100进一步用于检测自动驾驶车辆的当前横向偏移量和当前方向盘转角,并根据当前横向偏移量和当前方向盘转角计算方向盘的转角控制量。
80.进一步地,本技术实施例的装置10还包括:第二控制模块。第二控制模块用于在检测到转角控制量大于预设偏移阈值时,根据转角控制量控制自动驾驶车辆的转向系统执行横向控制动作。
81.需要说明的是,前述对自动驾驶车辆的横向控制方法实施例的解释说明也适用于该实施例的自动驾驶车辆的横向控制装置,此处不再赘述。
82.根据本技术实施例提出的自动驾驶车辆的横向控制装置,通过放大过小的转角控制量消除转向间隙,以及时修正自动驾驶车辆的横向偏差,有效降低实际行驶轨迹与目标轨迹的偏差,规避自动驾驶车辆机械结构本身存在的转向间隙对于横向控制的影响,提高自动驾驶车辆横向控制的精度,并提高车辆的安全可靠性,提升用户的自动驾驶体验。
83.此外,本实施例还提供一种车辆,包括上述实施例的自动驾驶车辆的横向控制装置。该车辆通过放大过小的转角控制量消除转向间隙,以及时修正自动驾驶车辆的横向偏差,有效降低实际行驶轨迹与目标轨迹的偏差,规避自动驾驶车辆机械结构本身存在的转向间隙对于横向控制的影响,提高自动驾驶车辆横向控制的精度,并提高车辆的安全可靠性,提升用户的自动驾驶体验。
84.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
85.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
86.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
87.应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
88.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。