一种智能车转向控制方法及装置
技术领域
本发明涉及智能驾驶技术领域,特别是涉及一种智能车转向控制方法及装置。
背景技术
智能驾驶技术在交通安全、环境保护及缓解交通压力等方面都有巨大的应用潜力,目前已成为发达国家、汽车厂商及科技公司研究的重点。智能驾驶研究涉及机械电子、模式识别、人工智能、控制科学及软件工程等诸多学科知识,其中,智能车转向控制技术是研究的重要内容之一。
对于智能车转向控制,需要考虑智能车对期望路径的位置跟踪以及航向跟踪,因此需要将路径的位置信息和道路航向信息同时加入到路径跟踪控制中。因此希望有满足上述要求的几何曲线,可以指导车辆的转向并且预测运动轨迹。当前类似的曲线例如贝塞尔曲线满足上述要求,但其整个曲线的曲率变化不易控制,使得车辆的转向出现大范围摆动,从而不太适合用作智能车的路径跟踪曲线。
此外,在进行路径跟踪控制中,还需要考虑车辆的行驶安全性,并且尽可能地使转角合理而平滑变化;以及在避障的路径跟踪中,需要精确避开障碍物。
因此,希望有一种技术方案来克服或至少减轻现有技术的上述缺陷中的至少一个。
发明内容
本发明的目的在于提供智能车转向控制方法及装置来克服或至少减轻现有技术的上述缺陷中的至少一个。
为实现上述目的,本发明提供一种智能车转向控制方法,所述智能车转向控制方法包括:步骤1,采集自车的行驶信息、期望路径信息及障碍物信息;步骤2,根据所述步骤1中采集到的各所述信息,选取最小预瞄距离和最大预瞄距离;步骤3,根据所述步骤2中确定的所述最小和最大预瞄距离,确定当前预瞄距离和对应该当前预瞄距离的当前预瞄点;步骤4,根据所述步骤3中选取的所述当前预瞄点以及车辆信息,生成一双圆弧合成曲线;步骤5,根据所述步骤4中的所述双圆弧合成曲线,确定前轮期望转角;步骤6,判断所述步骤4中确定的所述双圆弧合成曲线是否符合安全行驶原则,若符合安全行驶原则,则将所述步骤5中确定的所述前轮期望转角确定为最终前轮期望转角,若不符合安全行驶原则,则返回所述步骤3。
进一步地,所述智能车转向控制方法还包括:步骤7,根据所述自车的行驶信息的当前车速,将车辆速度减小到设定速度,该设定车速是根据最大预瞄距离所要求的最高车速,所述最终前轮期望转角是当前车速根据安全行驶原则所确定的最大转角;所述步骤3中选取的当前预瞄距离达到所述步骤2中的所述最大预瞄距离的情形下,若仍不满足所述步骤6中的安全行驶原则,则进入步骤7。
进一步地,所述步骤4包括:根据所述步骤3中的所述当前预瞄点以及车辆的后轴中点,确定车辆圆弧线和预瞄点圆弧线;步骤43,根据所述车辆圆弧线和预瞄点圆弧线,生成所述双圆弧合成曲线,所述双圆弧合成曲线连接所述当前预瞄点和车辆的后轴中点,并在所述车辆的后轴中点处与车辆的朝向相切,在所述当前预瞄点处与道路的切线相切,并且整个曲线光滑连续。
进一步地,“根据所述步骤3中的所述当前预瞄点以及车辆的后轴中点,确定车辆圆弧线和预瞄点圆弧线”具体包括:
所述车辆圆弧线的确定方法为:以所述车辆的后轴中点为起点,以所述当前预瞄点为终点,并在所述车辆的后轴中点处与车辆的朝向相切,其表达式为:
x1=xc1+R1 cos(α1),y1=yc1+R1 sin(α1),α1∈(αM1,αP1);
其中,(xc1,yc1)是所述车辆圆弧线的圆心,R1是半径,αM1和αP1是圆心指向 M点和P点的方向角,α1是从αM1到αP1的变量;
所述预瞄点圆弧线的确定方法为:以所述当前预瞄点为起点,以所述车辆的后轴中点为终点,并在所述当前预瞄点处与道路的切线相切,其表达式为:
x2=xc2+R2 cos(α2),y2=yc2+R2 sin(α2),α2∈(αM2,αP2);
其中,(xc2,yc2)是所述预瞄点圆弧线的圆心,R2是半径,αM2和αP2是圆心指向M点和P点的方向角,α2是从αM2到αP2的变量;
α1和α2通过统一的自变量t分别表示为:
α1=(1-t)αM1+t·αP1,α2=(1-t)αM2+t·αP2,0≤t≤1。
进一步地,所述双圆弧合成曲线的表达式为:
x=(1-t)x1+t·x2,y=(1-t)y1+t·y2;
所述双圆弧合成曲线从所述车辆圆弧线性渐变到所述预瞄点圆弧线,并且越靠近车辆时,所述双圆弧合成曲线越靠近所述车辆圆弧线,反之越靠近所述预瞄点圆弧线。
进一步地,所述步骤5具体包括:步骤51,按照如下公式确定车辆后轴中点在所述双圆弧合成曲线上的曲率半径R0;
其中:x和y是双圆弧合成曲线上每个点的横坐标和纵坐标;
x'和y'分别是x和y对自变量参数t的一阶导数,x''和y''分别是x和y对自变量参数t的二阶导数;
步骤52,根据所述步骤51中确定好的车辆后轴中点在所述双圆弧合成曲线上的曲率半径R0,按照如下公式确定所述前轮期望转角;
θt=arctan(L/R0)
其中:L是车辆的前后轴间距,期望转角的正负号可以根据自车当前曲率圆弧向左或向右偏来确定。
进一步地,所述步骤6中,所述步骤4中确定的所述双圆弧合成曲线的最小曲率半径对应的车辆离心加速度不大于设定的最大离心加速度,则符合安全行驶原则;反之为不符合安全行驶原则。
进一步地,所述步骤3具体包括:步骤31,以所述最大预瞄距离为上限,设定最小预瞄距离为所述当前预瞄距离;步骤32,在所述双圆弧合成曲线不满足安全行驶的情形下,增大所述当前预瞄距离,直至增大到所述最大预瞄距离为止。
本发明还提供一种智能车转向控制装置,所述智能车转向控制装置包括:采集模块,其用于采集自车的行驶信息、期望路径信息及障碍物信息;最小和最大预瞄距离确定模块,其用于接收所述采集模块采集到的各所述信息,并根据采集到的各所述信息,选取最小和最大预瞄距离;当前预瞄距离选取模块,其用于接收所述最小和最大预瞄距离,确定当前预瞄距离并输出对应该当前预瞄距离的当前预瞄点信息;双圆弧合成曲线模块,其用于接收所述车辆信息和当前预瞄点信息,并根据所述当前预瞄点,生成一双圆弧合成曲线;前轮期望转角确定模块,其用于接收所述双圆弧合成曲线,并根据所述双圆弧合成曲线,确定并输出前轮期望转角;安全行驶识别模块,其用于接收所述车辆信息、双圆弧合成曲线和前轮期望转角,并判断所述双圆弧合成曲线是否符合安全行驶原则,在所述双圆弧曲线符合安全行驶原则的情形下,所述前轮期望转角确定为最终前轮期望转角。
进一步地,所述智能车转向控制装置还包括:车速控制模块,在所述当前预瞄距离选取模块选取的当前预瞄距离达到所述最大预瞄距离仍不符合安全行驶原则的情形下,将车辆速度减小到设定速度,设定车速是根据最大预瞄距离所要求的最高车速,所述最终前轮期望转角是当前车速根据安全行驶所确定的最大转角。
本发明为智能车的智能转向(路径跟踪,并且包括变道或避障)提供的期望路径是双圆弧合成曲线,依据双圆弧合成曲线可以精确计算车辆的期望转角,以使受控车辆按照该期望转角进行转向,因此可以控制车辆按照双圆弧合成曲线进行转向,并在转向过程中车辆的车身与期望路径的朝向基本一致,曲率变化容易控制,转向较为平缓,本发明适用于纯路径跟踪以及换道避障情景下的跳变路径。
此外,这种方法对各种型号的车辆具有广泛适应性,并且减少了参数的选取和调试。
附图说明
图1是本发明确定前轮转角算法的流程图。
图2是本发明圆弧的确定方法示意图。
图3是本发明双圆弧合成曲线示意图。
图4是本发明合成曲线换道及避障示意图。
具体实施方式
在附图中,使用相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面结合附图对本发明的实施例进行详细说明。
在本发明的描述中,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
如图1所示,本发明所提供的智能车转向控制方法包括:
步骤1,采集自车的行驶信息、期望路径信息及障碍物信息。需要说明的是,障碍物信息既包括存在障碍物的情形,也包括不存在障碍物的情形。“自车的行驶信息”包括车辆位置信息、朝向信息以及车速信息。
步骤2,根据所述步骤1中采集到的各所述信息,选取最小预瞄距离和最大预瞄距离。
步骤3,根据所述步骤2中确定的所述最小预瞄距离和最大预瞄距离,确定当前预瞄距离和对应该当前预瞄距离的当前预瞄点。
步骤4,根据所述步骤3中选取的所述当前预瞄点以及所述步骤1中采集到的车辆信息,生成双圆弧合成曲线。此步骤中的车辆信息包括车辆位置信息和朝向信息。
步骤5,根据所述步骤4中的所述双圆弧合成曲线,确定前轮期望转角。
步骤6,判断所述步骤4中确定的所述双圆弧合成曲线是否符合安全行驶原则,若符合安全行驶原则,则将所述步骤5中确定的所述前轮期望转角确定为最终前轮期望转角,若不符合安全行驶原则,则返回所述步骤3。
“安全行驶原则”包括所述步骤4中确定的所述双圆弧合成曲线的最小曲率半径对应的车辆离心加速度不大于设定的最大离心加速度,则为符合安全行驶原则;反之为不符合安全行驶原则。“最大离心加速度”根据人们乘车舒适性/行车安全性/地面摩擦等来设定,例如设定为2m/s2,即0.2个重力加速度为最大离心加速度。
本实施例为智能车的智能转向(路径跟踪,并且包括变道或避障)提供的期望路径是双圆弧合成曲线,依据双圆弧合成曲线可以精确计算车辆的期望转角,以使受控车辆按照该期望转角进行转向,并且最终使车身与路径朝向一致。因此本实施例可以控制车辆按照双圆弧合成曲线进行转向,并最终使车辆的车身与期望路径的朝向保持基本一致,而且转向的曲率变化容易控制,转向较为平缓,从而本实施例适用于纯路径跟踪以及换道避障情景下的跳变路径。“跳变路径”可以理解为在换道时,当前跟踪的道路会切换到相邻道路,在横向方向上会有很大的跳变,因此这个瞬间,路径是跳变的。
此外,本实施例计算期望转角只需测量自车相关参数和设定最小最大预瞄距离,而无其它可调系数,从而增强了算法的适应性和调试便捷性。
在一个实施例中,步骤2中,最小预瞄距离和最大预瞄距离的选取方法具体如下:
在不存在障碍物的情形下,最小预瞄距离和最大预瞄距离是人为选取,例如,最小预瞄距离为一倍的速度,最大为四倍的速度,当然,上述的“一倍”和“四倍”的具体数值仅为举例说明,实际选取过程根据车辆的实际行驶工况选取。当存在障碍物的情形下,最小预瞄距离和最大预瞄距离需要根据安全避障来确定。
在一个实施例中,对于双圆弧合成曲线的当前预瞄距离,是自动变化的,目的是为了保证满足安全行驶原则,即保证车辆的离心加速度。所述步骤3具体包括:
步骤31,以所述最大预瞄距离为上限,设定最小预瞄距离为所述当前预瞄距离。
步骤32,在所述双圆弧合成曲线不满足安全行驶原则的情形下,增大所述当前预瞄距离,直至增大到所述最大预瞄距离为止。
本实施例考虑了行车安全性,并根据安全行驶原则自动调整预瞄距离,从而可以避免车辆按照双圆弧合成曲线进行转向的过程中路径跳变带来的期望转角跳变。
在一个实施例中,所述步骤3中选取的当前预瞄距离达到所述步骤2中的所述最大预瞄距离的情形下,若仍不满足所述步骤6中的安全行驶原则,则进入步骤7。本实施例针对的是在当前预瞄距离达到步骤2中确定的最大预瞄距离dp,max,仍然不能满足车辆的安全行驶原则所提出的控制策略。针对该情形,本实施例所提供的所述智能车转向控制方法还包括:
步骤7,根据所述自车的行驶信息的当前车速,将车辆速度减小到设定速度,该设定车速是根据最大预瞄距离所要求的最高车速,所述最终前轮期望转角是当前车速根据安全行驶原则所确定的最大转角。
也就是说,如果当前预瞄距离增大到设定的最大预瞄距离,仍然不能满足最大离心加速度的限制,那么说明对于当前的转向条件来说此时的车速过大,则需要进行减速转向,并且当前期望转角为当前车速根据安全行驶原则所确定的最大前轮转角,减速的幅度则是根据最大预瞄距离对应的期望转角以及最大离心加速度来综合确定。
在一个实施例中,如图2所示,所述步骤4具体包括:
根据所述步骤3中的所述当前预瞄点以及车辆的后轴中点,确定车辆圆弧线和预瞄点圆弧线。根据所述车辆圆弧线和预瞄点圆弧线,生成所述双圆弧合成曲线,所述双圆弧合成曲线连接所述当前预瞄点和车辆的后轴中点,并在所述车辆的后轴中点处与车辆的朝向相切,在所述当前预瞄点处与道路的切线相切,并且整个曲线光滑连续。
优选地,“根据所述步骤3中的所述当前预瞄点以及车辆的后轴中点,确定车辆圆弧线和预瞄点圆弧线”具体包括:
所述车辆圆弧线的确定方法为:所述车辆圆弧线是依据车辆以固定前轮转角进行圆弧转弯运动,并且正好使车辆后轴中点M经过当前预瞄点P,那么,所述车辆圆弧线则为当前所寻找的车辆圆弧。也就是说,以所述车辆的后轴中点为起点,以所述当前预瞄点为终点,并在所述车辆的后轴中点处与车辆的朝向相切,其表达式为:
x1=xc1+R1 cos(α1),y1=yc1+R1 sin(α1),α1∈(αM1,αP1) (1)
其中,(xc1,yc1)是车辆圆弧线的圆心,R1是车辆圆弧线的半径,αM1是圆心指向车辆后轴中点M的方向角,αP1是圆心指向当前预瞄点P的方向角,α1是从αM1到αP1的变量。
所述预瞄点圆弧线的确定方法为:假设当前预瞄点P为虚拟的车辆后轴中点M',以当前预瞄点P所在路径朝向的反方向为车辆朝向,以当前车辆后轴中点M为虚拟的当前预瞄点P',使车辆由M'点按照圆弧运动到达P'点所生成的圆弧,即为预瞄点圆弧。也就是说,以所述当前预瞄点为起点,以所述车辆的后轴中点为终点,并在所述当前预瞄点处与道路的切线相切,其表达式为:
x2=xc2+R2 cos(α2),y2=yc2+R2 sin(α2),α2∈(αM2,αP2) (2)
其中,(xc2,yc2)是预瞄点圆弧线的圆心,R2是预瞄点圆弧线的半径,αM2是圆心指向车辆后轴中点M的方向角,αP2是圆心指向当前预瞄点P的方向角,α2是从αM2到αP2的变量。
所述车辆圆弧线的半径R1和预瞄点圆弧线的半径R2可以依据如下圆弧转弯半径R计算方法获得:
1.如果车身朝向正对着当前预瞄点,那么R为无穷大,此时需要将半径设定为最大半径Rmax,设定为100000m。
2.如果车身没有正对着当前预瞄点,则定义车辆后轴中点M坐标为 (xr,yr),当前预瞄点P坐标为(xt,yt),这两对坐标值为已知,并且圆心(圆弧中心)O的坐标(xc,yc)一定是在第二轴的延长线上,那么根据几何关系,圆心 O的坐标应满足如下公式:
(xc-xr)2+(yc-yr)2=(xc-xt)2+(yc-yt)2 (3)
yc=k·xc+b (4)
其中,k和b由第二轴两轮的坐标来确定,具体确定方法如下:
两点确定一条直线,第二轴左轮和右轮的坐标已知,那么根据这两个坐标点就可以确定唯一的一条直线,那么这条直线的斜率k和截距b由此计算出来。
当得到圆心O坐标后,圆弧半径R为:
圆弧曲线的起点和终点可以由圆心O到各点的方向角αM和αP来确定。
在一个实施例中,如图3所示,所述双圆弧合成曲线是在所述车辆圆弧线和所述预瞄点圆弧线确定的两组圆弧参数R1、xc1、yc1、αM1、αP1以及R2、xc2、 yc2、αM2、αP2后,上述公式(1)和公式(2)的自变量分别为α1和α2,所以需要设定一个统一的自变量t,满足(6)式:
α1=(1-t)αM1+t·αP1,α2=(1-t)αM2+t·αP2,0≤t≤1 (6)
由所述车辆圆弧线和所述预瞄点圆弧线生成双圆弧合成曲线规则如下:
越往车的一侧,双圆弧合成曲线越靠近车辆圆弧线,越往当前预瞄点一侧,双圆弧合成曲线越靠近预瞄点圆弧线。因此,确定如下的线性合成曲线关系式:
x=(1-t)x1+t·x2,y=(1-t)y1+t·y2 (7)
联立式(1)、(2)、(6)和(7),可得合成曲线关于自变量t的参数方程。
所述双圆弧合成曲线从所述车辆圆弧线性渐变到所述预瞄点圆弧线,并且越靠近车辆时,所述双圆弧合成曲线越靠近所述车辆圆弧线,反之越靠近所述预瞄点圆弧线。所述双圆弧合成曲线的特点是在车辆后轴中点M点处与车辆朝向相切,在当前预瞄点P点处与路径朝向相切,并且曲率连续平滑变化,从而保证了车辆的平滑路径跟踪。
在一个实施例,所述步骤5中,当前期望转角的确定方法如下:
步骤51,确定车辆后轴中点在所述双圆弧合成曲线上的曲率半径R0,具体方法如下:
当前期望转角通过所述双圆弧合成曲线在所述车辆的后轴中点处的曲率半径R0来获得,并且符合安全行驶原则,如果符合安全行驶原则,则当前期望转角即为最终期望转角,否则需要经过增大预瞄距离,重新计算双圆弧合成曲线和该双圆弧合成曲线的当前期望转角,直到符合安全行驶原则为止。所述双圆弧合成曲线在每个点处的曲率半径可以根据下面的参数方程的曲率公式计算出来:
其中:x和y是双圆弧合成曲线上每个点的横坐标和纵坐标。
x'和y'分别是x和y对自变量参数t的一阶导数,x''和y''分别是x和y对自变量参数t的二阶导数。
那么,根据(9)式可以求得在所述车辆的后轴中点处的曲率半径R0。
步骤52,根据所述步骤51中确定好的车辆后轴中点在所述双圆弧合成曲线上的曲率半径R0,确定所述前轮期望转角,具体方法如下:如果将合成曲线作为当前跟踪路径,那么车辆当前点处的曲率半径R0就可根据式(9)得到。假如当前预瞄点不变,按照这个曲线每个点处的曲率半径运动,那么前轮期望转角就可以实时计算得到:
θt=arctan(L/R0)
其中:L是车辆的前后轴间距。期望转角的正负号可以根据自车当前曲率圆弧向左或向右偏来确定。
以上各实施例主要针对跟踪期望路径的行驶工况,利用本发明所提供的所述双圆弧合成曲线供车辆进行路径跟踪。下面针对避开障碍物(简称为“避障”) 的行驶工况,利用本发明所提供的所述双圆弧合成曲线进行路径跟踪,所述双圆弧合成曲线可以精确控制车辆进行安全避障行驶,其实施需要根据自车车速、相对距离、相对速度等来确定避障的最大预瞄距离,然后再根据安全行驶的原则对预瞄距离自动选取,并获得期望转角和车速。
在一个实施例中,如图4所示,当需要避障时,需要考虑到安全避障的原则,并且最大预瞄距离需要根据自车车速、相对距离、相对速度等来确定。
安全避障的原则是:在保证不与前车碰撞的前提下,限制自车的离心加速度,而如果以最大的离心加速度仍然不能安全避障时,则在避障的同时降低车速。预瞄距离的自动选取原则是:保证上述安全避障,并且在避障完成时,自车在前进方向上不得超出前车;同时需要满足自车圆弧运动时的最大离心加速度的限制。
保证行驶安全和乘坐舒适性,设定自车的最大离心加速度为amax=2m/s2。假设自车的车速为v0,前车为v1,满足v0>v1,自车与前车的距离为d01,那么自车超过前车的时间为:
t0=d01/(v0-v1)
那么自车在t0时间内的运动距离,即避障的纵向距离为:
dlc=v0·t0
这也是避障时的最大预瞄距离。在避障过程中,以dlc为最大预瞄距离的限制,对当前预瞄距离进行自动选取,并按照上述各实施例中给出的方法,得到可以保证安全行驶和避障的期望转角车速,从而实现车辆的精确避障。
本发明还提供一种智能车转向控制装置,智能车转向控制装置包括采集模块、最小和最大预瞄距离确定模块、当前预瞄距离选取模块、双圆弧合成曲线模块、前轮期望转角确定模块和安全行驶识别模块。其中:
采集模块用于采集自车的行驶信息、期望路径信息及障碍物信息。“自车的行驶信息”包括车辆位置信息、朝向信息以及车速信息。
最小和最大预瞄距离确定模块用于接收所述采集模块采集到的各所述信息,并根据采集到的各所述信息,选取最小和最大预瞄距离。
当前预瞄距离选取模块用于接收所述最小和最大预瞄距离,确定当前预瞄距离并输出对应该当前预瞄距离的当前预瞄点信息。
双圆弧合成曲线模块用于接收所述车辆信息和当前预瞄点信息,并根据所述当前预瞄点,生成双圆弧合成曲线。“车辆信息”包括车辆位置信息和朝向信息。
前轮期望转角确定模块用于接收所述双圆弧合成曲线,并根据所述双圆弧合成曲线,确定并输出前轮期望转角。
安全行驶识别模块用于接收所述车辆信息、双圆弧合成曲线和前轮期望转角,并判断所述双圆弧合成曲线是否符合安全行驶原则,在所述双圆弧曲线符合安全行驶原则的情形下,所述前轮期望转角确定为最终前轮期望转角。
最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。本领域的普通技术人员应当理解:可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。