首页 > 化学装置 专利正文
自动驾驶转向控制方法及系统与流程

时间:2022-02-06 阅读: 作者:专利查询

自动驾驶转向控制方法及系统与流程

1.本发明涉及自动驾驶数据处理技术领域,特别是涉及一种自动驾驶转向控制方法及系统。


背景技术:

2.随着车联网的发展,自动驾驶技术得到快速发展和应用。自动驾驶技术中,自动驾驶控制模块接收上游规划模块、定位模块、底盘模块的消息,自动驾驶控制模块根据规划模块的规划轨迹以及定位模块的车辆位置、底盘模块的车辆状态计算出控制指令,下发给底盘模块执行,使车辆按照目标轨迹行驶。其中,自动驾驶控制又分为横向控制和纵向控制;横向控制主要是通过设计的控制算法控制自动驾驶车辆的转向,使之能够沿着目标路径行驶;纵向控制通过控制车辆的油门踏板开度、制动踏板开度或速度、加减速度,使车辆达到目标轨迹对应的车速或程序中设置的目标车速。横纵向控制目标的计算,影响着自动驾驶车辆的稳定性、准确性、安全性以及舒适性。
3.目前在自动驾驶实现中,横向控制算法主要分为基于车辆运动学的跟踪算法和基于动力学的优化算法,这二者都有弊端。基于运动学的车辆控制方法不考虑车辆动力学特性,因此在车速过快或者曲率变化率过大的情况下该算法无法满足车辆的稳定性控制要求,而且当车辆进入轨迹后半段接近于轨迹终点时,因预瞄距离不断改变,控制效果变差。基于动力学的车辆控制方法考虑了车辆动力学特性,计算准确,稳态误差小,适用于中高速自动驾驶场景,而缺点在于其算法要求道路曲率连续,因此在泊车等低速场景下有其弊端。


技术实现要素:

4.为此,本发明的一个目的在于提出一种自动驾驶转向控制方法,以在低速场景下,实现准确的转向控制,同时满足车辆的稳定性控制要求。
5.本发明提供一种自动驾驶转向控制方法,包括:
6.获取规划模块发送的规划轨迹信息、底盘模块发送的车辆底盘信息以及定位模块发送的车辆位置信息,所述规划轨迹信息包括由一系列的轨迹点组成的规划行驶轨迹;
7.根据所述车辆位置信息在所述规划轨迹信息中找到距离车辆最近的轨迹点,记为匹配点;
8.根据所述匹配点和所述规划轨迹信息确定车辆的剩余行车距离;
9.判断所述剩余行车距离是否大于基于运动学的跟踪算法中预设的预瞄距离;
10.若所述剩余行车距离大于所述预瞄距离,则采用基于运动学的跟踪算法计算车辆前轮偏角,以进行转向控制;
11.若所述剩余行车距离小于或等于所述预瞄距离,则采用基于动力学的lqr算法计算车辆前轮偏角,以进行转向控制。
12.根据本发明提供的自动驾驶转向控制方法,融合了基于运动学的跟踪算法和基于动力学的lqr算法,在剩余行车距离大于预瞄距离的情况下,采用基于运动学的跟踪算法计
算车辆前轮偏角,避开规划曲率对车辆横向控制的影响,充分发挥基于运动学的跟踪算法在低速自动驾驶场景下的优点;在剩余行车距离小于或等于预瞄距离的情况下,采用基于动力学的lqr算法计算车辆前轮偏角,避开跟踪算法中预瞄距离因终点限制不断减小导致计算失准的问题,从而能够在低速场景下,实现准确的转向控制,同时满足车辆的稳定性控制要求。
13.另外,根据本发明上述的自动驾驶转向控制方法,还可以具有如下附加的技术特征:
14.进一步地,根据所述匹配点和所述规划轨迹信息确定车辆的剩余行车距离的步骤中,采用下式计算车辆的剩余行车距离:
15.s=s
f-sm;
16.其中,s为所述剩余行车距离,sf为所述规划行驶轨迹中起始轨迹点与末尾轨迹点之间的距离,sm为所述匹配点与所述规划行驶轨迹中起始轨迹点之间的距离。
17.进一步地,所述方法还包括:
18.根据所述车辆底盘信息、所述匹配点与所述规划轨迹信息,判断车辆是否达到终点;
19.若车辆达到终点,则终止车辆前轮偏角的计算;
20.若车辆未达到终点,则重新选择新的匹配点进行下一次车辆前轮偏角的计算。
21.进一步地,根据所述车辆底盘信息、所述匹配点与所述规划轨迹信息,判断车辆是否达到终点的步骤具体包括:
22.获取所述车辆底盘信息中车辆的速度和加速度,以及判断所述匹配点与所述规划轨迹信息中的末尾轨迹点是否重合;
23.若所述速度和所述加速度均为0,且所述匹配点与所述规划轨迹信息中的末尾轨迹点重合,则判定车辆达到终点;
24.若所述速度为0、所述加速度为0、所述匹配点与所述规划轨迹信息中的末尾轨迹点重合中任一条件不满足,则判定车辆未达到终点。
25.进一步地,若车辆未达到终点,则重新选择新的匹配点进行下一次车辆前轮偏角的计算的步骤具体包括:
26.若车辆未达到终点,则根据所述车辆位置信息,在所述规划行驶轨迹中选择距离车辆当前位置最近的轨迹点作为新的匹配点,再根据新的匹配点进行下一次车辆前轮偏角的计算。
27.本发明的另一个目的在于提出一种自动驾驶转向控制系统,以在低速场景下,实现准确的转向控制,同时满足车辆的稳定性控制要求。
28.本发明提供一种自动驾驶转向控制系统,包括:
29.获取模块,用于获取规划模块发送的规划轨迹信息、底盘模块发送的车辆底盘信息以及定位模块发送的车辆位置信息,所述规划轨迹信息包括由一系列的轨迹点组成的规划行驶轨迹;
30.查找模块,用于根据所述车辆位置信息在所述规划轨迹信息中找到距离车辆最近的轨迹点,记为匹配点;
31.确定模块,用于根据所述匹配点和所述规划轨迹信息确定车辆的剩余行车距离;
32.第一判断模块,用于判断所述剩余行车距离是否大于基于运动学的跟踪算法中预设的预瞄距离;
33.第一控制模块,用于若所述剩余行车距离大于所述预瞄距离,则采用基于运动学的跟踪算法计算车辆前轮偏角,以进行转向控制;
34.第二控制模块,用于若所述剩余行车距离小于或等于所述预瞄距离,则采用基于动力学的lqr算法计算车辆前轮偏角,以进行转向控制。
35.根据本发明提供的自动驾驶转向控制系统,融合了基于运动学的跟踪算法和基于动力学的lqr算法,在剩余行车距离大于预瞄距离的情况下,采用基于运动学的跟踪算法计算车辆前轮偏角,避开规划曲率对车辆横向控制的影响,充分发挥基于运动学的跟踪算法在低速自动驾驶场景下的优点;在剩余行车距离小于或等于预瞄距离的情况下,采用基于动力学的lqr算法计算车辆前轮偏角,避开跟踪算法中预瞄距离因终点限制不断减小导致计算失准的问题,从而能够在低速场景下,实现准确的转向控制,同时满足车辆的稳定性控制要求。
36.另外,根据本发明上述的自动驾驶转向控制系统,还可以具有如下附加的技术特征:
37.进一步地,所述确定模块用于采用下式计算车辆的剩余行车距离:
38.s=s
f-sm;
39.其中,s为所述剩余行车距离,sf为所述规划行驶轨迹中起始轨迹点与末尾轨迹点之间的距离,sm为所述匹配点与所述规划行驶轨迹中起始轨迹点之间的距离。
40.进一步地,所述系统还包括:
41.第二判断模块,用于根据所述车辆底盘信息、所述匹配点与所述规划轨迹信息,判断车辆是否达到终点;
42.终止模块,用于若车辆达到终点,则终止车辆前轮偏角的计算;
43.重新计算模块,用于若车辆未达到终点,则重新选择新的匹配点进行下一次车辆前轮偏角的计算。
44.进一步地,所述第二判断模块具体用于:
45.获取所述车辆底盘信息中车辆的速度和加速度,以及判断所述匹配点与所述规划轨迹信息中的末尾轨迹点是否重合;
46.若所述速度和所述加速度均为0,且所述匹配点与所述规划轨迹信息中的末尾轨迹点重合,则判定车辆达到终点;
47.若所述速度为0、所述加速度为0、所述匹配点与所述规划轨迹信息中的末尾轨迹点重合中任一条件不满足,则判定车辆未达到终点。
48.进一步地,所述重新计算模块具体用于:
49.若车辆未达到终点,则根据所述车辆位置信息,在所述规划行驶轨迹中选择距离车辆当前位置最近的轨迹点作为新的匹配点,再根据新的匹配点进行下一次车辆前轮偏角的计算。
50.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实施例了解到。
附图说明
51.本发明实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
52.图1是根据本发明一实施例的自动驾驶转向控制方法的流程图;
53.图2是根据本发明另一实施例的自动驾驶转向控制方法的流程图;
54.图3是根据本发明一实施例的自动驾驶转向控制系统的结构框图。
具体实施方式
55.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
56.请参阅图1,本发明一实施例提供的自动驾驶转向控制方法,包括步骤s101~s106:
57.s101,获取规划模块发送的规划轨迹信息、底盘模块发送的车辆底盘信息以及定位模块发送的车辆位置信息,所述规划轨迹信息包括由一系列的轨迹点组成的规划行驶轨迹。
58.其中,规划轨迹信息反映了车辆规划行驶的路线,规划行驶轨迹中具有起始轨迹点和末尾轨迹点,起始轨迹点和末尾轨迹点之间存在多个轨迹点,所有的轨迹点共同组成了规划行驶轨迹。底盘模块发送的车辆底盘信息至少包括车辆的车速、加速度等数据。定位模块发送的车辆位置信息反映了车辆当前实际位置。
59.s102,根据所述车辆位置信息在所述规划轨迹信息中找到距离车辆最近的轨迹点,记为匹配点。
60.其中,根据车辆当前实际位置,在规划行驶轨迹中的所有轨迹点中,找到距离车辆最近的轨迹点,并将其记为匹配点。
61.s103,根据所述匹配点和所述规划轨迹信息确定车辆的剩余行车距离。
62.其中,具体采用下式计算车辆的剩余行车距离:
63.s=s
f-sm;
64.其中,s为所述剩余行车距离,sf为所述规划行驶轨迹中起始轨迹点与末尾轨迹点之间的距离,sm为所述匹配点与所述规划行驶轨迹中起始轨迹点之间的距离。
65.s104,判断所述剩余行车距离是否大于基于运动学的跟踪算法中预设的预瞄距离。
66.其中,预瞄距离l是在基于运动学的跟踪算法中预先设定好的,可以是经验值,也可以通过人工进行校准。
67.s105,若所述剩余行车距离大于所述预瞄距离,则采用基于运动学的跟踪算法计算车辆前轮偏角,以进行转向控制。
68.其中,若s>l,则采用基于运动学的跟踪算法计算车辆前轮偏角,以进行转向控制。
69.s106,若所述剩余行车距离小于或等于所述预瞄距离,则采用基于动力学的lqr算
法计算车辆前轮偏角,以进行转向控制。
70.其中,若s≤l,则采用基于动力学的lqr算法计算车辆前轮偏角,以进行转向控制。
71.具体实施时,可以通过设置布尔类型状态变量use_dynamic_methed来实现两种算法的选择,具体来讲,若s>l,则布尔类型状态变量use_dynamic_methed=false,此时,采用基于运动学的跟踪算法计算车辆前轮偏角,然后发布计算结果,以进行转向控制。若s≤l,则布尔类型状态变量use_dynamic_methed=true,此时,采用基于动力学的lqr算法计算车辆前轮偏角,然后发布计算结果,以进行转向控制。
72.此外,请参阅图2,作为一个具体示例,所述方法还包括步骤s201~s203:
73.s201,根据所述车辆底盘信息、所述匹配点与所述规划轨迹信息,判断车辆是否达到终点。
74.其中,根据所述车辆底盘信息、所述匹配点与所述规划轨迹信息,判断车辆是否达到终点的步骤具体包括:
75.获取所述车辆底盘信息中车辆的速度和加速度,以及判断所述匹配点与所述规划轨迹信息中的末尾轨迹点是否重合;
76.若所述速度和所述加速度均为0,且所述匹配点与所述规划轨迹信息中的末尾轨迹点重合,则判定车辆达到终点;
77.若所述速度为0、所述加速度为0、所述匹配点与所述规划轨迹信息中的末尾轨迹点重合中任一条件不满足,则判定车辆未达到终点。
78.s202,若车辆达到终点,则终止车辆前轮偏角的计算。
79.其中,若车辆达到终点,说明车辆低速行驶过程(例如泊车)已经结束,则终止车辆前轮偏角的计算。
80.s203,若车辆未达到终点,则重新选择新的匹配点进行下一次车辆前轮偏角的计算。
81.其中,若车辆未达到终点,则重新选择新的匹配点进行下一次车辆前轮偏角的计算的步骤具体包括:
82.若车辆未达到终点,则根据所述车辆位置信息,在所述规划行驶轨迹中选择距离车辆当前位置最近的轨迹点作为新的匹配点,再根据新的匹配点进行下一次车辆前轮偏角的计算,能够提升控制精度。
83.根据上述的自动驾驶转向控制方法,融合了基于运动学的跟踪算法和基于动力学的lqr算法,在剩余行车距离大于预瞄距离的情况下,采用基于运动学的跟踪算法计算车辆前轮偏角,避开规划曲率对车辆横向控制的影响,充分发挥基于运动学的跟踪算法在低速自动驾驶场景下的优点;在剩余行车距离小于或等于预瞄距离的情况下,采用基于动力学的lqr算法计算车辆前轮偏角,避开跟踪算法中预瞄距离因终点限制不断减小导致计算失准的问题,从而能够在低速场景下,实现准确的转向控制,同时满足车辆的稳定性控制要求。
84.请参阅图3,本发明一实施例提出的自动驾驶转向控制系统,包括:
85.获取模块,用于获取规划模块发送的规划轨迹信息、底盘模块发送的车辆底盘信息以及定位模块发送的车辆位置信息,所述规划轨迹信息包括由一系列的轨迹点组成的规划行驶轨迹;
86.查找模块,用于根据所述车辆位置信息在所述规划轨迹信息中找到距离车辆最近的轨迹点,记为匹配点;
87.确定模块,用于根据所述匹配点和所述规划轨迹信息确定车辆的剩余行车距离;
88.第一判断模块,用于判断所述剩余行车距离是否大于基于运动学的跟踪算法中预设的预瞄距离;
89.第一控制模块,用于若所述剩余行车距离大于所述预瞄距离,则采用基于运动学的跟踪算法计算车辆前轮偏角,以进行转向控制;
90.第二控制模块,用于若所述剩余行车距离小于或等于所述预瞄距离,则采用基于动力学的lqr算法计算车辆前轮偏角,以进行转向控制。
91.本实施例中,所述确定模块用于采用下式计算车辆的剩余行车距离:
92.s=s
f-sm;
93.其中,s为所述剩余行车距离,sf为所述规划行驶轨迹中起始轨迹点与末尾轨迹点之间的距离,sm为所述匹配点与所述规划行驶轨迹中起始轨迹点之间的距离。
94.本实施例中,所述系统还包括:
95.第二判断模块,用于根据所述车辆底盘信息、所述匹配点与所述规划轨迹信息,判断车辆是否达到终点;
96.终止模块,用于若车辆达到终点,则终止车辆前轮偏角的计算;
97.重新计算模块,用于若车辆未达到终点,则重新选择新的匹配点进行下一次车辆前轮偏角的计算。
98.本实施例中,所述第二判断模块具体用于:
99.获取所述车辆底盘信息中车辆的速度和加速度,以及判断所述匹配点与所述规划轨迹信息中的末尾轨迹点是否重合;
100.若所述速度和所述加速度均为0,且所述匹配点与所述规划轨迹信息中的末尾轨迹点重合,则判定车辆达到终点;
101.若所述速度为0、所述加速度为0、所述匹配点与所述规划轨迹信息中的末尾轨迹点重合中任一条件不满足,则判定车辆未达到终点。
102.本实施例中,所述重新计算模块具体用于:
103.若车辆未达到终点,则根据所述车辆位置信息,在所述规划行驶轨迹中选择距离车辆当前位置最近的轨迹点作为新的匹配点,再根据新的匹配点进行下一次车辆前轮偏角的计算。
104.根据本实施例提供的自动驾驶转向控制系统,融合了基于运动学的跟踪算法和基于动力学的lqr算法,在剩余行车距离大于预瞄距离的情况下,采用基于运动学的跟踪算法计算车辆前轮偏角,避开规划曲率对车辆横向控制的影响,充分发挥基于运动学的跟踪算法在低速自动驾驶场景下的优点;在剩余行车距离小于或等于预瞄距离的情况下,采用基于动力学的lqr算法计算车辆前轮偏角,避开跟踪算法中预瞄距离因终点限制不断减小导致计算失准的问题,从而能够在低速场景下,实现准确的转向控制,同时满足车辆的稳定性控制要求。
105.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供
指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
106.计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
107.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
108.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
109.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。