无人车横向控制方法和装置与流程

文档序号:12785729阅读:449来源:国知局
无人车横向控制方法和装置与流程

本发明涉及无人车技术领域,特别是一种无人车横向控制方法和装置。



背景技术:

随着科技的发展,汽车保有量急剧增加,交通环境恶化,道路事故频发,无人驾驶汽车作为智能交通的一部分,能够有效缓解驾驶员疲劳,降低事故发生率,提高道路和车辆利用率。无人车是无人驾驶汽车的简称,无人车可以通过自身安装的传感器检测道路信息,自主完成路径规划并抵达目的地。通过获取组合导航系统数据,控制中心发出方向盘转角指令信号,实现无人车的横向控制。

现有技术中采用PID(Proportion Integral Differential,比例微分积分)控制算法和预瞄点算法实现无人车的横向控制。PID控制算法是对系统偏差做PID运算,获得车辆车轮转角;预瞄点算法从规划路径中获取预瞄点,通过当前位置和预瞄位置的偏差运算获取车轮转角,控制车辆按规划路径行驶。但是,这样的算法往往会导致频繁输出转角控制指令,造成方向盘抖动,行驶不平稳。



技术实现要素:

本发明的一个目的在于提高无人车行驶的平稳度。

根据本发明的一个实施例,提出一种无人车横向控制方法,包括:确定多个预瞄点;获取车辆航向角与各个预瞄点处航向角的角度差;确定最小的角度差为车轮转角变化量。

可选地,确定多个预瞄点包括:从预定路径上选择与车辆位置点的距离在预定预瞄距离范围内的多个点作为预瞄点。

可选地,车辆位置点为车辆当前位置或经过系统时延后车辆所处的预测点位置。

可选地,车辆航向角为车辆当前航向角或经过系统时延后车辆所处的预测点位置的预测点车辆航向角。

可选地,还包括:根据当前车辆转弯半径、当前速度和系统时延确定预测点位置和预测点车辆航向角。

可选地,获取车辆航向角与各个预瞄点处航向角的角度差包括:根据预测点位置、预测点车辆航向角和预瞄点的位置确定到各个预瞄点的车轮转角;根据车辆轴距、车轮转角和当前速度确定车辆到各个预瞄点的曲线距离;根据曲线距离和当前速度确定从车辆预测点位置到各个预瞄点的行驶时间;根据行驶时间、当前速度、车轮转角确定到各个预瞄点的角度差。

可选地,还包括:将角度差最小的预瞄点作为唯一预瞄点。

通过这样的方法,能够获取多个预瞄点,并选出最小的角度差,从而避免了车辆频繁的大幅度转向,提高了无人车行驶的平稳度。

根据本发明的另一个实施例,提出一种无人车横向控制装置,包括:预瞄点确定单元,用于确定多个预瞄点;角度差获取单元,用于获取车辆航向角与各个预瞄点处航向角的角度差;转角变化确定单元,用于确定最小的角度差为车轮转角变化量。

可选地,预瞄点确定单元用于从预定路径上选择与车辆位置点的距离在预定预瞄距离范围内的多个点作为预瞄点。

可选地,车辆位置点为车辆当前位置或经过系统时延后车辆所处的预测点位置。

可选地,车辆航向角为车辆当前航向角或经过系统时延后车辆所处的预测点位置的预测点车辆航向角。

可选地,还包括:预测点确定单元,用于根据当前车辆转弯半径、当前速度和系统时延确定预测点位置和预测点车辆航向角。

可选地,角度差获取单元包括:车轮转角确定子单元,用于根据预测点位置、预测点车辆航向角和预瞄点的位置确定到各个预瞄点的车轮转角;曲线距离确定子单元,用于根据车辆轴距、车轮转角和当前速度确定车辆到各个预瞄点的曲线距离;行驶时间确定子单元,用于根据曲线距离和当前速度确定从车辆预测点位置到各个预瞄点的行驶时间;角度差确定子单元,用于根据行驶时间、当前速度、车轮转角确定到各个预瞄点的角度差。

可选地,还包括:唯一预瞄点确定单元,用于将角度差最小的预瞄点作为唯一预瞄点。

这样的装置能够获取多个预瞄点,并选出最小的角度差作为车轮转角,从而避免了车辆频繁的大幅度转向,提高了无人车行驶的平稳度。

根据本发明的又一个实施例,提出一种无人车横向控制装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行上文中任意一种无人车横向控制方法。

这样的装置能够获取多个预瞄点,并选出最小的角度差作为车轮转角,从而避免了车辆频繁的大幅度转向,提高了无人车行驶的平稳度。

根据本发明的再一个实施例,提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上文中任意一种无人车横向控制方法的步骤。

这样的计算机可读存储介质能够执行上文中的无人车横向控制方法,从而避免了车辆频繁的大幅度转向,提高了无人车行驶的平稳度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的无人车横向控制方法的一个实施例的流程图。

图2为本发明的无人车横向控制方法中确定预瞄点的一个实施例的流程图。

图3为本发明的无人车横向控制方法的又一个实施例的流程图。

图4为本发明的无人车横向控制方法中确定角度差的一个实施例的流程图。

图5为本发明的无人车横向控制方法的再一个实施例的流程图。

图6为本发明的无人车横向控制装置的一个实施例的示意图。

图7为本发明的无人车横向控制装置的另一个实施例的示意图。

图8为本发明的无人车横向控制装置中角度差获取单元的一个实施例的示意图。

图9为本发明的无人车横向控制装置的一个实施例的效果图。

图10为本发明的无人车横向控制装置的再一个实施例的示意图。

图11为本发明的无人车横向控制装置的另外一个实施例的示意图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明的无人车横向控制方法的一个实施例的流程图如图1所示。

在步骤101中,确定多个预瞄点。在一个实施例中,可以根据预定路径在探测范围内选取多个点作为预瞄点。

在步骤102中,获取车辆航向角与各个预瞄点处航向角的角度差。在一个实施例中,车辆航向角可以是车辆当前的航向角。预瞄点处的航向角可以是车辆行驶到预瞄点位置时的航向角。在一个实施例中,可以计算车辆到达各个预瞄点的路径,得到到达各个预瞄点处的航向角,进而计算车辆当前航向角与预瞄点处航向角的角度差。在一个实施例中,还可以根据车辆到达各个预瞄点的路径直接计算角度差。

在步骤103中,将车辆当前航向角与各个预瞄点处航向角的角度差进行比较,确定最小的角度差为车轮转角变化量。在一个实施例中,还可以将该车轮转角变化量对应的预瞄点作为唯一预瞄点,以该唯一预瞄点为基准进行车辆驱动操作。

通过这样的方法,能够获取多个预瞄点,并选出最小的角度差,从而避免了车辆频繁的大幅度转向,提高了无人车行驶的平稳度。

本发明的无人车横向控制方法中确定预瞄点的一个实施例的流程图如图2所示。

在步骤201中,确定预定路径上的点。在一个实施例中,无人车上的探测器能够获取一定范围内的预定路径探测数据,可以获取能够探测到的预定路径上的所有点到无人车的距离。

在步骤202中,从预定路径上的点中选择与车辆位置点的距离在预定预瞄距离范围内的多个点作为预瞄点。在一个实施例中,可以根据测试效果或具体需要设定预定预瞄距离范围,将预定预瞄距离范围内预定路径上的所有点作为预瞄点。在一个实施例中,也可以设定选点数量,从预定预瞄距离范围内预定路径上选择多个点作为预瞄点。

通过这样的方法,能够从预定路径上选择多个点作为预瞄点,一方面能够保证无人车不会偏离预定路径,另一方面也避免车辆频繁计算预瞄点,提高车辆平稳度。

在一个实施例中,由于无人车的软硬件系统会存在系统时延,因此为了减少误差,可以以车辆经过系统时延后的预测位置作为车辆位置计算角度差,从而提高准确度。

本发明的无人车横向控制方法的又一个实施例的流程图如图3所示。

在步骤301中,根据当前车辆转弯半径、当前速度和系统时延确定预测点位置和预测点车辆航向角。在一个实施例中,可以获取车辆当前行驶速度、当前车辆航向角,结合配置的系统时延进行计算。

在步骤302中,从预定路径上选择与车辆位置点的距离在预定预瞄距离范围内的多个点作为预瞄点。在一个实施例中,可以采用图2实施例中的方式获取多个预瞄点。在一个实施例中,车辆位置点可以为车辆当前位置,也可以为预测点位置。

在步骤303中,获取经过系统时延后车辆所处的预测点位置的预测点车辆航向角与各个预瞄点处航向角的角度差。

在步骤304中,确定最小的角度差为车轮转角变化量,将角度差最小的预瞄点作为唯一预瞄点。

通过这样的方法,能够先根据车辆的系统时延计算预测点位置和预测点车辆航向角,进而以预测点位置和预测点车辆航向角为基准计算角度差,从而弥补了系统时延造成的影响,提高了角度差计算的准确性。

本发明的无人车横向控制方法中确定角度差的一个实施例的流程图如图4所示。

在步骤401中,根据预测点位置、预测点车辆航向角和预瞄点的位置确定到各个预瞄点的车轮转角。

在步骤402中,根据车辆轴距、车轮转角和当前速度确定车辆到各个预瞄点的曲线距离。

在步骤403中,根据曲线距离和当前速度确定从车辆预测点位置到各个预瞄点的行驶时间。

在步骤404中,根据行驶时间、当前速度、车轮转角确定到各个预瞄点的角度差。

通过这样的方法,能够根据车辆行驶数据和车辆自身状态数据确定角度差,运算过程清晰且复杂度小,提高了计算效率且降低了对无人车硬件的要求,有利于提高无人车的反应速度,且有利于推广应用。

本发明的无人车横向控制方法的再一个实施例的流程图如图5所示。

在步骤501中,在预定时间、事件或周期的激发下开始无人车横向定位过程。

在步骤502中,获取无人车道路数据和车辆信息。无人车道路数据可以采用矩阵R进行标识。

在步骤503中,提取矩阵R中的车辆当前位置S、当前速度V和车辆当前航向角Vehicle_A。

在步骤504中,获取前一周期的车轮转角WA。

在步骤505中,基于系统设定或服务器数据得到车辆轴距WL。

在步骤506中,计算车辆当前位置到预瞄点位置的转弯半径WR,在一个实施例中,可以如公式

WR=WL*WA (1)

计算转弯半径WR。

在步骤507中,基于系统设定或服务器数据得到系统时延T。

在步骤508中,计算车辆当前位置到预测位置的弧长AL。在一个实施例中,可以采用公式

AL=V*T (2)

计算弧长AL。

在步骤509中,计算车辆当前位置到预测点位置的直线距离LD。在一个实施例中,可以采用公式

LD=2*WR*sin(AL/(2WR)) (3)

计算直线距离LD。

在步骤510中,确定车辆预测点位置相对于当前位置的坐标(Xc,Yc),并获取车辆预测点位置相对大地的坐标(XC,YC)。在一个实施例中,可以采用公式(4)(5)计算(Xc,Yc),采用公式(6)(7)计算(XC,YC):

Xc=LD2/(2*WR) (4)

Yc=sqrt(LD2*(1-LD2/(4*WR2))) (5)

XC=Xc*cos(Vehicle_A-π/2)-Yc*sin(Vehicle_A-π/2)

+Xc (5)

YC=Xc*sin(Vehicle_A-π/2)+Yc*cos(Vehicle_A-π/2)

+Yc (6)

在步骤511中,确定预定点位置的航向变化量C_Y。在一个实施例中,可以采用公式:

C_Y=V*T*tan(WA)/WL (7)

计算预定点位置的航向变化量C_Y。

在步骤512中,获取车辆预测点位置与预定路径上点的距离,取最近点(XR,YR)。

在步骤513中,根据预定预瞄距离,得到多个预瞄点,均以(XP,YP)表示。在一个实施例中,可以以(XR,YR)为起始点,根据预定预瞄距离修改(XR,YR)坐标,得到(XP,YP)。

在步骤514中,计算车辆预测点位置与各个预瞄点位置的横向偏差BIAS,可以根据公式:

BIAS=(XP-XC)*sin(π+Vehicle_A+C_Y)-(YP-YC)*

cos(π+Vehicle_A+C_Y) (8)

计算横向偏差BIAS。

在步骤515中,计算车轮转角WA_A,转弯半径RL,曲线距离SL,行驶时间T_T。可以采用公式:

WA_A=arctan((2*WL*BIAS)/L2) (9)

计算车轮转角WA_A,其中,L为车辆预测点位置与该预瞄点的直线距离;

可以采用公式:

RL=WL/tan(WA_A) (10)

计算车辆转弯半径RL;

采用公式:

SL=2*RL*arcsin(L/(2*RL)) (11)

计算曲线长度SL;

采用公式:

T_T=SL/V (12)

计算行驶时间T_T。

在步骤516中,计算车轮转角变化量WA_A_C。在一个实施例中,可以采用公式:

WA_A_C=(V*T_T*tan(WA_A))/WL (13)

计算车轮转角变化量WA_A_C。

在步骤517中,车辆在预瞄点位置的航向角Vehicle_A_F。在一个实施例中,可以利用公式:

Vehicle_A_F=Vehicle_A+WA_A_C (14)

计算车辆在预瞄点位置的航向角Vehicle_A_F。

在步骤518中,预瞄点航向角角度差处理,获取角度差最小的车轮转角WA,该最小的车轮转角WA对应的预瞄点即为唯一预瞄点。

在步骤519中,流程结束,等待下一次横向控制计算。

通过这样的方法,能够根据车辆行驶数据和车辆自身状态数据确定角度差,运算过程清晰且复杂度小,提高了计算效率且降低了对无人车硬件的要求,有利于提高无人车的反应速度,且有利于推广应用。

本发明的无人车横向控制装置的一个实施例的示意图如图6所示。预瞄点确定单元601能够确定多个预瞄点。在一个实施例中,可以根据预定路径在探测范围内选取多个点作为预瞄点。角度差获取单元602能够获取车辆航向角与各个预瞄点处航向角的角度差。在一个实施例中,可以计算车辆到达各个预瞄点的路径,得到到达各个预瞄点处的航向角,进而计算车辆当前航向角与预瞄点处航向角的角度差。在一个实施例中,还可以根据车辆到达各个预瞄点的路径直接计算角度差。转角变化确定单元603能够将车辆当前航向角与各个预瞄点处航向角的角度差进行比较,确定最小的角度差为车轮转角变化量。在一个实施例中,还可以将该车轮转角变化量对应的预瞄点作为唯一预瞄点,以该唯一预瞄点为基准进行车辆驱动操作。

这样的装置能够获取多个预瞄点,并选出最小的角度差,从而避免了车辆频繁的大幅度转向,提高了无人车行驶的平稳度。

在一个实施例中,预瞄点确定单元601可以先确定预定路径上的点,进而从预定路径上选择与车辆位置点的距离在预定预瞄距离范围内的多个点作为预瞄点。在一个实施例中,无人车上的探测器能够获取一定范围内的预定路径探测数据,可以获取能够探测到的预定路径上的所有点到无人车的距离。在一个实施例中,可以根据测试效果或具体需要设定预定预瞄距离范围,将预定预瞄距离范围内预定路径上的所有点作为预瞄点。在一个实施例中,也可以设定选点数量,从预定预瞄距离范围内预定路径上选择多个点作为预瞄点。

这样的装置能够从预定路径上选择多个点作为预瞄点,一方面能够保证无人车不会偏离预定路径,另一方面也避免车辆以固定距离的路径上的点作为预瞄点而导致的频繁修改车轮转角,提高车辆平稳度。

在一个实施例中,由于无人车的软硬件系统会存在系统时延,因此为了减少误差,可以以车辆经过系统时延后的预测位置作为车辆位置计算角度差以提高准确度。本发明的无人车横向控制装置的另一个实施例的示意图如图7所示。其中,预瞄点确定单元701、角度差获取单元702和转角变化确定单元703的结构和功能与图6所示的实施例中相似。无人车横向控制装置还包括预测点确定单元704,能够根据当前车辆转弯半径、当前速度和系统时延确定预测点位置和预测点车辆航向角。在一个实施例中,可以获取车辆当前行驶速度、当前车辆航向角,结合配置的系统时延进行计算。预瞄点确定单元701从预定路径上选择与车辆位置点的距离在预定预瞄距离范围内的多个点作为预瞄点。在一个实施例中,车辆位置点可以为车辆当前位置,也可以为预测点位置。角度差获取单元702能够获取经过系统时延后车辆所处的预测点位置的预测点车辆航向角与各个预瞄点处航向角的角度差。转角变化确定单元703能够确定最小的角度差为车轮转角变化量,将角度差最小的预瞄点作为唯一预瞄点。

这样的装置能够先根据车辆的系统时延计算预测点位置和预测点车辆航向角,进而以预测点位置和预测点车辆航向角为基准计算角度差,从而弥补了系统时延造成的影响,提高了角度差计算的准确性。

本发明的无人车横向控制装置中角度差获取单元的一个实施例的示意图如图8所示。其中,车轮转角确定子单元801能够根据预测点位置、预测点车辆航向角和预瞄点的位置确定到各个预瞄点的车轮转角。曲线距离确定子单元802能够根据车辆轴距、车轮转角和当前速度确定车辆到各个预瞄点的曲线距离。行驶时间确定子单元803能够根据曲线距离和当前速度确定从车辆预测点位置到各个预瞄点的行驶时间。角度差确定子单元804能够根据行驶时间、当前速度、车轮转角确定到各个预瞄点的角度差。

这样的装置能够根据车辆行驶数据和车辆自身状态数据确定角度差,运算过程清晰且复杂度小,提高了计算效率且降低了对无人车硬件的要求,有利于提高无人车的反应速度,且有利于推广应用。

本发明的无人车横向控制装置的一个实施例的效果图如图9所示。采用MATLAB进行仿真调试,其中,平滑曲线所示的为规划路径,星形标识所示的为无人车实际行驶路径。从对比可以看出,无人车实际行驶路径基本符合规划路径,且更为平滑,从而能够在保证无人车不会偏离预定路径的同时,避免车辆以固定距离的路径上的点作为预瞄点而导致的频繁修改车轮转角,提高车辆平稳度。

本发明无人车横向控制装置的另一个实施例的结构示意图如图10所示。无人车横向控制装置包括存储器1010和处理器1020。其中:存储器1010可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储物品三维重建方法的对应实施例中的指令。处理器1020耦接至存储器1010,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器1020用于执行存储器中存储的指令,能够实现无人车横向控制,且提高无人车行驶的稳定度。

在一个实施例中,还可以如图11所示,无人车横向控制装置1100包括存储器1110和处理器1120。处理器1120通过BUS总线1130耦合至存储器1110。该无人车横向控制装置1100还可以通过存储接口1140连接至外部存储装置1150以便调用外部数据,还可以通过网络接口1160连接至网络或者另外一台计算机系统(未标出)。此处不再进行详细介绍。

在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够实现无人车横向控制,且提高无人车行驶的稳定度。

在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现无人车横向控制方法的对应实施例中的方法的步骤。本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1