本发明涉及无人驾驶汽车技术领域,特别涉及一种车辆变道的控制方法、一种车辆变道的控制装置以及一种计算机存储介质。
背景技术:
无人驾驶汽车是目前车辆技术领域中的一个重要的研究方向,其中,无人驾驶汽车的变道控制也成为无人驾驶汽车的智能控制中的一项重要内容。目前已有的无人驾驶汽车的自动变道控制均不是很完善,都或多或少地存在一些严重的安全隐患,例如,有的很容易引起横向控制超调而出现失控,有的需要提前减速而容易被后方来车追尾。
例如,目前已有的一种基于梯形侧向加速度虚拟理想轨迹跟随的自动变道控制方法,其预先为智能车设定一条基于时间的横向运动轨迹曲线,在仅考虑车速和方向盘实际转角因素的影响下去跟随车辆侧向加速度。然而,这种方案很难考虑到具体的路况和侧向加速度传感器测量误差及控制误差等因素的影响,而且设定的横向运动轨迹曲线一旦结束而车头没有与车道平齐将严重影响变道过程结束后车道信息的识别,从而存在较为严重的安全隐患。
技术实现要素:
基于此,本发明实施例的目的在于提供一种车辆变道的控制方法、一种车辆变道的控制装置以及一种计算机存储介质,以提高汽车等车辆在自动变道过程中的安全性。
为达到上述目的,本发明实施例采用以下技术方案:
一种车辆变道的控制方法,包括步骤:
选择目标车道,获得目标车道的车道中线;
根据当前车速确定预瞄距离和预瞄夹角,根据预瞄距离和预瞄夹角确定当前预瞄点;
根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差;
根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求;
在满足预瞄点更新条件时,返回所述根据当前车速确定预瞄距离和预瞄夹角、根据预瞄距离和预瞄夹角确定当前预瞄点的步骤,直至确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内。
一种车辆变道的控制装置,包括:
目标车道确定模块,用于选择目标车道,获得目标车道的车道中线;
当前预瞄点确定模块,用于根据当前车速确定预瞄距离和预瞄夹角,并根据预瞄距离和预瞄夹角确定当前预瞄点,还用于在满足预瞄点更新条件时,重新根据当前车速确定预瞄距离和预瞄夹角、根据预瞄距离和预瞄夹角确定当前预瞄点,直至确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内;
转向控制模块,用于根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差,并根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求。
一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的车辆变道的控制方法。
基于如上所述的实施例的方案,其在确定目标车道后,获得目标车道的车道中线,并基于当前车速确定出当前预瞄点,从而根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差,根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求,控制车辆的转向,并在满足预瞄点更新条件时,重新确定当前预瞄点,重复上述过程,直到确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内,从而预瞄点并不是直接设定在目标车道的车道中线上,而是在变道过程中设定多个预瞄点来逐渐逼近目标车道的车道中线,从而有效避免了自动变道过程中的横向控制超调,提高了车辆在自动变道过程中的安全性。
附图说明
图1是一个实施例中的车辆变道的控制方法的流程示意图;
图2是一个具体示例中的车辆变道的控制方法的流程示意图;
图3是一个应用示例中的确定目标车道的车道中线的原理示意图;
图4是一个应用示例中车辆变道过程中确定的预瞄点的示意图;
图5是一个应用示例中车辆变道过程中的横向预瞄控制的原理示意图;
图6是一个应用示例中前方有车辆时确定预瞄点的原理示意图;
图7是另一个具体示例中的车辆变道的控制方法的流程示意图;
图8是一个应用示例中目标车道外侧车辆时确定预瞄点的原理示意图;
图9是一个实施例中的车辆变道的控制装置的结构示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“或/及”包括一个或多个相关的所列项目的任意的和所有的组合。
图1中示出了一个实施例中的车辆变道的控制方法的流程示意图。如图1所示,该实施例中的方法包括:
步骤s101:选择目标车道,获得目标车道的车道中线;
步骤s102:根据当前车速确定预瞄距离和预瞄夹角,根据预瞄距离和预瞄夹角确定当前预瞄点;
步骤s103:根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差;
步骤s104:根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求;
步骤s105:在满足预瞄点更新条件时,返回所述根据当前车速确定预瞄距离和预瞄夹角、根据预瞄距离和预瞄夹角确定当前预瞄点的步骤,直至确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内。
基于如上所述的实施例的方案,其在确定目标车道后,获得目标车道的车道中线,并基于当前车速确定出当前预瞄点,从而根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差,根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求,控制车辆的转向,并在满足预瞄点更新条件时,重新确定当前预瞄点,重复上述过程,直到确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内,从而预瞄点并不是直接设定在目标车道的车道中线上,而是在变道过程中设定多个预瞄点来逐渐逼近目标车道的车道中线,从而有效避免了自动变道过程中的横向控制超调,提高了汽车等车辆在自动变道过程中的安全性。
其中,在一个具体示例中,上述横向偏差可以指当前预瞄点到当前车辆航向的延伸线的垂直距离,航向角误差可以指当前车辆航向的延伸线与当前预瞄点处目标轨迹切线之间的夹角。
在上述确定目标车道的车道中线时,可以是通过将当前车辆所处的当前车道的车道中线向目标车道平移一个车道宽度,获得目标车道的车道中线。
在车辆变道的过程中,可能会面临一些特殊的情况,例如在当前车辆所处的当前车道的前方有车辆,目标车道远离当前车道的外侧车道有车辆,在这些情况下,因此也需要考虑避免这些情况下的横向控制超调。以下结合这两种情况分别进行说明。
图2示出了一个具体示例中的车辆变道的控制方法的流程示意图,该具体示例中是以当前车辆所处的当前车道的前方有车辆的情况下的变道控制的过程为例进行说明。其变道控制的过程包括下述步骤s201至步骤s209。
步骤s201:选择目标车道,获得目标车道的车道中线。
在选择目标车道时,可以结合地图数据和当前的道路交通环境来确定,所选择的目标可以是位于当前车辆行驶方向的左边的车道,也可以是位于当前车辆行驶方向的右边的车道。
在获得目标车道的车道中线时,结合图3所示,目标车道的车道中线与当前车道的车道中线的距离为一个车道宽度,因此,直接将当前车道的车道中线向目标车道的方向平移一个车道宽度,即可获得目标车道的车道中线。具体可以是基于当前车辆所处的当前车道的车道中线,以及预先设定好的车道宽度,通过将当前车辆所处的当前车道的车道中线向目标车道平移一个车道宽度的方式得到。其中,在道路规划建设的过程中,通常都是采用标注的车道宽度来进行道路建设,因此车道宽度通常是一个固定值。
步骤s202:根据第一预瞄点更新策略、当前车速确定预瞄距离和预瞄夹角,根据预瞄距离和预瞄夹角确定当前预瞄点。
这里的第一预瞄点更新策略,仅仅是为了与下述需要考虑当前车辆所处的当前车道的前方有车辆时预瞄点设定方式的差异性相区分,将此时设定预瞄点的方式命名为第一预瞄点更新策略,在本示例中,可以与上述图1所示的实施例中确定当前预瞄点的方式相同。可以理解,在本实施例的方案中,第一预瞄点更新策略的目标是逐步设定的各当前预瞄点能够逐渐逼近目标车道的车道中线。
在本发明的各实施例中,为了避免自动变道过程中出现横向控制超调现象,变道过程中的预瞄点的选取是采取了渐近式计算方案,即预瞄点并非直接设定在目标车道的车道中线上,而是逐渐地逼近目标车道中线。在确定当前预瞄点时,可以是以车速为因子确定预瞄距离和预瞄夹角,从而可以根据预瞄距离和预瞄夹角确定当前预瞄点。图4示出了一个应用示例中车辆变道过程中渐进式设定的各预瞄点的示意图,如图4所示,在变道过程中,逐步设定的各预瞄点通过渐近的方式逐渐逼近目标车道的车道中线,组成了预瞄点镞。
在基于车速设定预瞄距离和预瞄夹角时,可以通过标定实验设定好车速与预瞄距离和预瞄夹角的对应关系后,将该对应关系可以存储下来,在实际变道过程中,基于车速查找到对应的预瞄距离和预瞄夹角。可以理解的是,车速与预瞄距离和预瞄夹角的对应关系,可以是一个具体的车速对应一个具体的预瞄距离的值和一个具体的预瞄夹角的值,在实际变道过程中,直接查找到对应的值即可。另一方面,车速与预瞄距离和预瞄夹角的对应关系,也可以是对应的函数关系式,即对应关系中,与具体的车速对应的预瞄距离和预瞄夹角,不是具体的预瞄距离和预瞄夹角的值,而是分别能够得到预瞄距离的值的函数关系式和能够得到预瞄夹角的值的函数关系式,在实际变道过程中,在查找到该数关系式后,再基于各函数关系式确定出具体的预瞄距离和预瞄夹角的值。具体的对应关系的形式,可以基于标定实验结果确定。
步骤s203:根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差。
横向偏差e定义为当前预瞄点到当前车辆航向的延伸线之间的垂直距离,航向角误差ea定义为当前车辆航向的延伸线与当前预瞄点处目标轨迹切线之间的夹角。其计算公式可以为:
e=dsinθ
ea=α-β
其中,d是当前车辆的质心与当前预瞄点的距离,θ是当前车辆的质心和当前预瞄点的连线与车辆航向之间的夹角,α,β分别是车辆航向角和目标轨迹在当前预瞄点处的切线角。
步骤s204:根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求。
在获得横向偏差和航向角偏差后,即可根据横向偏差和航向角偏差向转向控制器输出方向盘转角请求,实现横向预瞄控制。一个应用示例中的横向预瞄控制的原理示意图如图5所示,其采用两个离散pid(比例,积分,微分),分别以横向偏差和航向角偏差作为输入,然后将两个pid输出结果之和作为方向盘转角请求输出给eps(电子助力转向)转向控制器。
步骤s205:判断是否满足预瞄点更新条件。若满足,则进入步骤s206。若不满足,则继续等待直至满足预瞄点更新条件,或者在已经完成变道过程时(例如确定的当前预瞄点已经在目标车道的车道中线的预定距离范围内)时,结束当前的变道过程。
其中,这里的预瞄点更新条件,可以结合实际技术需要进行设定。例如,在一个具体应用示例中,这里的预瞄点更新条件,可以设定为一个预定时间段,该预定时间段可以以毫秒为单位进行设定。在尚未完成变道过程的情况下,则可以自上一次更新了当前预瞄点时,间隔了该预定时间段之后,认为满足了预瞄点更新条件。
步骤s206:判断当前车辆所处的当前车道的前方是否有车辆。若没有,则返回上述步骤s202,采用常规的第一预瞄点更新策略重新确定当前预瞄点。若有,则进入步骤s207。
其中,对当前车辆所处的当前车道的前方是否有车辆进行判定时,可以目前已有的采用任何可能的方式进行。
步骤s207:判断当前车辆当前所处位置与目标车道的车道中线之间的第一距离是否大于第一距离阈值,若否,则返回上述步骤s202,采用常规的第一预瞄点更新策略重新确定当前预瞄点,若是,则进入步骤s208。
步骤s208:判断第一横向间距减去一半当前车辆的车身宽度的差值是否大于或者等于第一长度,若是,则返回上述步骤s202,采用常规的第一预瞄点更新策略重新确定当前预瞄点,若否,则进入步骤s209。
其中,第一横向间距为当前车道的前方车辆与连线延长线的横向距离,连线延长线为当前车辆与当前预瞄点的连线的延长线。
步骤s209:按照第二预瞄点更新策略、当前车速确定预瞄距离和预瞄夹角,根据预瞄距离和预瞄夹角确定当前预瞄点。然后,返回步骤s703。
可见,在本实施例的方案中,第二预瞄点更新策略的目标,是在逐步设定的各当前预瞄点逐渐地逼近目标车道的车道中线时,能够使得第一横向间距减去一半当前车辆的车身宽度的差值大于或者等于第一长度,以满足前方有车辆时能够避免横向控制超调的需求。
由此可见,结合图6所示的一个应用示例中的前方有车辆时确定预瞄点的原理示意图,在本实施例的方案中,在变道前当前车辆所处的当前车道的前方有车辆时,在变道的前半段(当前车辆当前所处位置与目标车道的车道中线之间的第一距离大于第一距离阈值)设定渐近式预瞄点时,考虑到在超越前车时必须要与前车保持足够安全的横向间距,因此通过向目标车道侧渐次平移预瞄点,直至当前车道的前方车辆与当前车辆(本车)和预瞄点连线延长线的第一横向间距比车身宽度的一半宽第一长度。该第一长度可以结合实际技术需要进行设置,例如50厘米,当然也可以基于车道宽度设定为其他值。
另一方面,在上述示例中,是在满足了当前车辆当前所处位置与目标车道的车道中线之间的第一距离小于第一距离阈值时,以及第一横向间距减去一半当前车辆的车身宽度的差值大于或者等于第一长度时,直接返回步骤s202采用第一预瞄点更新策略重新确定当前预瞄点为例进行说明,在实际技术应用中,也可以是继续采用第二预瞄点更新策略重新确定当前预瞄点,可以结合实际技术需要进行设定。
图7示出了另一个具体示例中的车辆变道的控制方法的流程示意图,该具体示例中是以目标车道远离当前车道的外侧车道有车辆的情况下的变道控制的过程为例进行说明。其变道控制的过程包括下述步骤s701至步骤s709。其中,下述步骤s701-s705的处理过程与上述步骤s201-s205的处理过程相同,因此在下述示例中不再展开叙述。
步骤s701:选择目标车道,获得目标车道的车道中线。
步骤s702:根据第一预瞄点更新策略、当前车速确定预瞄距离和预瞄夹角,根据预瞄距离和预瞄夹角确定当前预瞄点。
步骤s703:根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差。
步骤s704:根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求。
步骤s705:判断是否满足预瞄点更新条件。若满足,则进入步骤s706。若不满足,则继续等待直至满足预瞄点更新条件,或者在已经完成变道过程时(例如确定的当前预瞄点已经在目标车道的车道中线的预定距离范围内)时,结束当前的变道过程。
步骤s706:目标车道远离当前车道的外侧车道是否有车辆压线行驶。若没有,则返回上述步骤s702,若有,则进入步骤s707。
其中,对目标车道远离当前车道的外侧车道是否有车辆压线行驶进行判定时,可以目前已有的采用任何可能的方式进行。
步骤s707:判断当前车辆当前所处位置与目标车道的车道中线之间的第二距离是否小于第二距离阈值,若否,则返回上述步骤s702,若是,则进入步骤s708。
步骤s708:判断第二横向间距减去一半当前车辆的车身宽度的差值是否大于或者等于第二长度,若是,则返回上述步骤s702,若否,则进入步骤s709。
其中,第二横向间距为当前预瞄点与目标车道远离当前车道的外侧车道的车辆之间的横向距离。
步骤s709:按照第三预瞄点更新策略、当前车速确定预瞄距离和预瞄夹角,根据预瞄距离和预瞄夹角确定当前预瞄点。然后,返回步骤s703。
可见,在本实施例的方案中,第三预瞄点更新策略的目标,是在逐步设定的各当前预瞄点逐渐地逼近目标车道的车道中线时,能够使得第二横向间距减去一半当前车辆的车身宽度的差值大于或者等于第二长度,以满足目标车道远离当前车道的外侧车道有车辆压线行驶时能够避免横向控制超调的需求。
由此可见,结合图8所示的一个应用示例中的目标车道远离当前车道的外侧车道有车辆压线行驶时确定预瞄点的原理示意图,在本实施例的方案中,在目标车道的外侧车道有车辆压线行驶时,在变道的后半段(当前车辆当前所处位置与目标车道的车道中线之间的第二距离小于第二距离阈值)设定渐近式预瞄点时,考虑要与待变车道的外侧车道的车辆保持足够安全的横向间距,因此,通过向目标车道侧渐次平移预瞄点,直至预瞄点与待变车道的外侧车道车辆之间的横向间距比车身宽度的一半宽第二长度。该第二长度可以结合实际技术需要进行设置,例如50厘米,当然也可以基于车道宽度设定为其他值。
另一方面,在上述示例中,是在满足了当前车辆当前所处位置与目标车道的车道中线之间的第二距离大于第二距离阈值时,以及第二横向间距减去一半当前车辆的车身宽度的差值大于或者等于第二长度时,直接返回步骤s702采用第一预瞄点更新策略重新确定当前预瞄点为例进行说明,在实际技术应用中,也可以是直接采用第三预瞄点更新策略重新确定当前预瞄点,可以结合实际技术需要进行设定。
基于与上述方法相同的思想,本发明实施例还提供一种车辆变道的控制装置。图9示出了一个实施例中的车辆变道的控制装置的结构示意图。如图9所示,该实施例的装置包括:
目标车道确定模块901,用于选择目标车道,获得目标车道的车道中线;
当前预瞄点确定模块902,用于根据当前车速确定预瞄距离和预瞄夹角,并根据预瞄距离和预瞄夹角确定当前预瞄点,还用于在满足预瞄点更新条件时,重新根据当前车速确定预瞄距离和预瞄夹角、根据预瞄距离和预瞄夹角确定当前预瞄点,直至确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内;
转向控制模块903,用于根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差,并根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求。
基于如上所述的实施例的方案,其在确定目标车道后,获得目标车道的车道中线,并基于当前车速确定出当前预瞄点,从而根据所述当前预瞄点和当前车辆航向确定横向偏差和航向角偏差,根据所述横向偏差和航向角偏差向转向控制器输出方向盘转角请求,控制车辆的转向,并在满足预瞄点更新条件时,重新确定当前预瞄点,重复上述过程,直到确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内,从而预瞄点并不是直接设定在目标车道的车道中线上,而是在变道过程中设定多个预瞄点来逐渐逼近目标车道的车道中线,从而有效避免了自动变道过程中的横向控制超调,提高了汽车等车辆在自动变道过程中的安全性。
其中,在一个具体示例中,上述横向偏差可以指当前预瞄点到当前车辆航向的延伸线的垂直距离,航向角误差可以指当前车辆航向的延伸线与当前预瞄点处目标轨迹切线之间的夹角。
目标车道确定模块901在确定目标车道的车道中线时,可以是通过将当前车辆所处的当前车道的车道中线向目标车道平移一个车道宽度,获得目标车道的车道中线。
在车辆变道的过程中,可能会面临一些特殊的情况,例如在当前车辆所处的当前车道的前方有车辆,因此也需要考虑避免这些情况下的横向控制超调。
因此,在该实施例的一个具体示例中,如图9所示,该实施例的装置还可以包括:前方车辆探测模块904、第一距离探测模块905。
其中,前方车辆探测模块904,探测当前车辆所处的当前车道的前方是否有车辆。
第一距离探测模块905,确定当前车辆当前所处位置与目标车道的车道中线之间的第一距离,并判定该第一距离是否大于第一距离阈值;
此时,上述当前预瞄点确定模块902,还在满足预瞄点更新条件时,若前方车辆探测模块904的探测结果为是,且第一距离探测模块905的探测结果为是,重新根据当前车速确定预瞄距离和预瞄夹角、根据预瞄距离和预瞄夹角确定当前预瞄点,直至第一横向间距减去一半当前车辆的车身宽度的差值大于或者等于第一长度。其中,第一横向间距为当前车道的前方车辆与连线延长线的横向距离,连线延长线为当前车辆与当前预瞄点的连线的延长线。
在车辆变道的过程中,还可能会面临目标车道远离当前车道的外侧车道有车辆的特殊情况,因此也需要考虑避免这些情况下的横向控制超调。
因此,在该实施例的另一个具体示例中,如图9所示,该实施例的装置还可以包括:外侧车辆探测模块906、第二距离探测模块907。
其中,外侧车辆探测模块906,探测目标车道远离当前车道的外侧车道是否有车辆压线行驶。
第二距离探测模块907,确定当前车辆当前所处位置与目标车道的车道中线之间的第二距离,并判定该第二距离是否小于第二距离阈值。
此时,当前预瞄点确定模块902,还在满足预瞄点更新条件时,若外侧车辆探测模块的探测结果为是,且第二距离探测模块的探测结果为是,重新根据当前车速确定预瞄距离和预瞄夹角、根据预瞄距离和预瞄夹角确定当前预瞄点,直至第二横向间距减去一半当前车辆的车身宽度的差值大于或者等于第二长度、且确定的当前预瞄点在所述目标车道的车道中线的预定距离范围内。其中,第二横向间距为当前预瞄点与目标车道远离当前车道的外侧车道的车辆之间的横向距离。
本实施例的车辆变道的控制装置中的其他技术特征,可以与上述车辆变道的控制方法实施例中的相同。
基于如上所述的示例,一个实施例中还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上所述的车辆变道的控制方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。