一种自动泊车方法以及装置与流程

文档序号:26839446发布日期:2021-10-08 20:54阅读:148来源:国知局
一种自动泊车方法以及装置与流程

1.本技术涉及汽车领域,尤其涉及一种自动泊车方法以及装置。


背景技术:

2.随着汽车智能化的发展,自动泊车辅助系统(auto parking assist,apa)已经成为许多畅销车型的必备特性之一。
3.在apa中,可以在车速为0时采用耗费时长较长的路径规划算法规划车辆至目标位置的行车路径,然后按照行车路径进行泊车。在车辆偏离行车路径之后,重新采用路径规划算法规划至目标位置的路径,然后根据重新规划的路径将车辆行驶至目标位置。然而,首次规划路径和重新规划路径采用的是相同的方式,导致重新规划路径耗费较长的时长,实时性较低,降低用户体验。并且,因重新规划路径将使用较长的时长,而车速通常不为0,容易因实时性低而引入误差,导致泊车不成功。因此,如何准确快速地进行泊车,成为亟待解决的问题。


技术实现要素:

4.本技术公开了智能驾驶或者无人驾驶领域的一种自动泊车方法以及自动泊车装置,应用于自动泊车场景,用于通过优化搜索算法规划出最优的行车路径,并实时规划纠偏路径,从而实现将车辆从当前位置泊入目标位置,兼顾了行车路径的最优性和纠偏路径规划的实时性,提高泊车成功率。
5.第一方面,本技术提供一种自动泊车方法,其特征在于,包括:获取目标位置的信息和车辆实时位置信息;通过优化搜索算法、目标位置的信息和车辆实时位置信息,得到车辆至目标位置的行车路径;根据行车路径指示车辆根据行车路径行驶至目标位置,其中,当车辆偏离行车路径的距离超过纠偏阈值,则根据车辆的当前位置和行车路径得到纠偏路径,并根据纠偏路径指示车辆根据纠偏路径行驶回行车路径,从而继续根据行车路径行驶至目标位置。
6.本技术实施例中,在通过优化搜索算法规划得到最优的行车路径之后,在车辆按照行车路径行驶时,若检测到车辆与行车路径之间的距离超过纠偏阈值,则根据车辆的位置和行车路径,快速准确地规划出与行车路径相切的纠偏路径,提高规划纠偏路径的效率,满足纠偏路径规划的实时性,使车辆可以根据该纠偏路径,准确快速地行驶回行车路径,并根据行车路径行驶至目标位置。本技术考虑了车辆实际的工况的不同,在不同的工况下采用的不同的算法规划行车路径和纠偏路径。根据车辆在泊车的不同阶段的特点采用了不同的路径生成算法,即在路径规划阶段采用了优化搜索算法规划出最优的行车路径,在纠偏阶段采用了几何的方式快速规划纠偏路径。因此,有效的集成了优化搜索算法和几何算法的优点,实现了路径最优和实时性的结合,可以满足车辆的自动泊车的实时性需求,实现准确快速地将车辆行驶至目标位置。
7.在一种可能的实施方式中,优化搜索算法包括优化函数,通过优化搜索算法、目标
位置的信息和车辆实时位置信息,得到车辆至目标位置的行车路径,可以包括:获取精度误差范围,精度误差范围为车辆的传感器的误差的范围;根据精度误差范围、优化函数、目标位置的信息和车辆实时位置信息,得到行车路径,优化函数以预设的最小碰撞距离为约束条件。
8.因此,本技术实施方式中,结合了传感器的精度误差范围来规划行车路径,使得到的行车路径更准确,提高泊车的成功性。并且,还最小碰撞距离作为优化函数的约束条件,规划出空间余量最优的行车路径,提高了后续车辆按照行车路径泊车的容错性,即使车辆少量偏离行车路径,也可以成功行驶至目标位置。
9.在一种可能的实施方式中,根据精度误差范围、优化函数、目标位置的信息和车辆实时位置信息,得到行车路径,可以包括:根据精度误差范围、调整系数和优化函数,计算车辆从实时位置行驶至目标位置的路径中车辆与目标位置相关的各个边界的边界距离,各个边界为基于目标位置的环境信息确定,调整系数用于结合精度误差范围确定车辆与各个边界的距离的误差范围;然后,根据边界距离计算对应的转向半径;根据转向半径以及所述车辆实时位置信息确定车辆从当前位置至目标位置的行车路径。
10.本技术实施方式中,可以先根据优化函数规划出车辆与目标位置相关的各个边界的边界距离,从而根据边界距离计算行车路径中的转向半径,然后根据转向半径拟合出车辆行驶至目标位置的行车路径。因优化函数以最小碰撞距离作为约束条件,因此,通过优化函数计算出来的边界距离也满足约束条件,进而根据该边界距离规划出来的行车路径也满足约束条件,使边界距离大于最小碰撞距离,得到空间余量更优的行车路径,从而避免车辆按照行车路径行驶时的碰撞,提高车辆的安全性,并且提高了车辆按照行车路径行驶时的容错性。
11.在一种可能的实施方式中,优化函数包括目标函数和约束函数,约束函数以预设的最小碰撞距离和最小转向半径为约束条件,目标函数用于在约束函数的约束下,计算车辆行驶至目标位置的路径的过程中车辆与目标位置相关的各个边界的最小距离,以得到边界距离。其中,因目标位置相关的边界可能有多条,则计算出来的最小距离也可能是多个,即车辆与多条边界中的每条边界之间的最小距离。
12.本技术实施方式中,优化函数具体可以分为目标函数和约束函数,可以在约束函数的约束下,通过目标函数来规划行车路径,从而可以规划出空间余量最优的行车路径,提高泊车的成功率。
13.在一种可能的实施方式中,在获取车辆实时位置信息之前,上述方法还可以包括:若车辆处于车位内,且车辆与车位的边界距离小于阈值,则根据车辆的当前位置生成抬升路径;根据抬升路径指示车辆根据抬升路径行驶至标定位置,标定位置中车辆与车位的边界距离不小于阈值。后续获取到的车辆实时位置信息中可以包括车辆的车尾至车头的方向与所述车位的至少一条边界线之间的角度,该角度用于结合边界距离计算车辆驶出车位的转向半径。
14.本技术实施方式中,当车辆处于车位内,且车辆与车位的边界距离小于阈值,表示车辆不能直接从当前位置行驶至目标位置,需要调整车辆的位置,将车辆调整至可以行驶至目标位置的位置。因此,本技术实施方式中,通过抬升路径调整车辆的位置,提高车辆泊至目标位置的成功率。在车辆按照抬升路径行驶之后,车辆与车位的边界之间的角度可能
改变,因此,在规划行车路径之前,可以根据车辆的车尾至车头的方向与边界之间的角度,来规划行车路径中车辆启动时的转向半径,提高行车路径规划的效率。
15.在一种可能的实施方式中,根据转向半径确定车辆至目标位置的行车路径,可以包括:根据转向半径,采用样条曲线或者螺旋线进行拟合,得到行车路径。因此,本技术实施方式中,可以通过样条曲线或者螺旋线,按照转向半径进行拟合,得到更平顺的行车路径,提高用户体验。
16.在一种可能的实施方式中,车辆的当前位置和行车路径得到纠偏路径,可以包括:根据车辆的当前位置,规划出与行车路径相切的曲线,从而得到纠偏路径。因此,本技术实施方式中,可以根据车辆的当前位置和行车路径,快速规划出与行车路径相切的曲线,从而得到纠偏路径,提高了生成纠偏路径的实时性。
17.在一种可能的实施方式中,车辆的当前位置和行车路径得到纠偏路径,可以包括:根据车辆当前的转向半径和车辆的当前位置,规划出与行车路径相切的曲线,得到纠偏路径。本技术实施方式中,可以根据车辆当前的转向半径,和行车路径对应的转向半径,按照几何算法规划出与行车路径相切的路径,从而准确快速地得到纠偏路径,提高了生成纠偏路径的实时性。
18.在一种可能的实施方式中,车辆实时位置信息为根据感知传感器、车辆的运动学传感器、第三方定位系统或者第三方车姿传感器中的其中一种或多种采集到的定位信息得到。因此,本技术实施方式中,可以结合一种或者多种定位传感器或者定位系统采集到的定位信息对车辆进行定位,提高车辆实时位置信息的准确性,提高后续规划的行车路径的准确性,提高车辆泊车的成功率。
19.在一种可能的实施方式中,在得到行车路径之后,还获取与行车路径对应的车速信息。可以结合行车路径和车速信息指示车辆根据车速信息按照行车路径行驶至目标位置。
20.在一种可能的实施方式中,获取与行车路径对应的车速信息,可以包括:根据预设车速范围和行车路径,采用样条插值算法,拟合得到速度曲线。因此,本技术实施方式中,车辆可以按照预设车速范围和行车路径进行行驶,使得车辆可以成功泊入目标位置。
21.在一种可能的实施方式中,上述方法还可以包括:检测行车路径中的障碍物信息;若障碍物与车辆的距离在报警范围内,则生成报警信息,并根据报警信息进行报警,报警信息用于提示障碍物与车辆的距离在报警范围内;若障碍物的距离与车辆的距离在制动范围内,则指示车辆制动,使车辆停止行驶。
22.因此,本技术实施方式中,当行车路径中存在障碍物时,可以进行报警或者制动,可以提高车辆行驶的安全性。
23.在一种可能的实施方式中,根据报警信息进行报警之后,上述方法还可以包括:若接收到行驶信号,则指示车辆根据行车路径继续行驶至目标位置。因此,在进行报警之后,本技术实施方式中,当接收到用户的行驶指令,可以指示控制车辆继续行驶,提高用户体验。
24.在一种可能的实施方式中,上述方法还可以包括:若接收到终止信号,则指示车辆终止行驶至目标位置。因此,本技术实施方式中,当接收到终止信号时,可以终止自动泊车,提供了一种终止自动泊车的方式。
25.在一种可能的实施方式中,终止信号为方向盘转矩大于退出阈值后生成;或者,终止信号为制动踏板开度大于制动阈值后生成;或者,终止信号为接收到的信号。本技术实施方式中,用户可以通过多种方式退出自动泊车,从而终止泊车或者由用户控制泊车,提高用户体验。
26.第二方面,本技术提供一种自动泊车装置,该自动泊车装置包括:
27.定位模块,用于获取目标位置的信息和车辆实时位置信息;
28.轨迹规划模块,用于通过优化搜索算法、目标位置的信息和车辆实时位置信息,得到车辆至目标位置的行车路径;
29.泊车控制模块,用于根据行车路径指示车辆根据行车路径行驶至目标位置;
30.其中,当车辆偏离行车路径的距离超过纠偏阈值,轨迹规划模块,还用于根据车辆的当前位置和行车路径生成纠偏路径,并根据纠偏路径指示所述车辆根据所述纠偏路径行驶回所述行车路径,泊车控制模块还用于根据纠偏路径指示车辆根据纠偏路径行驶回行车路径。
31.第二方面及第二方面任一种可能的实施方式产生的有益效果可参照第一方面及第一方面任一种可能实施方式的描述。
32.在一种可能的实施方式中,优化搜索算法包括优化函数,轨迹规划模块,具体用于:获取精度误差范围,精度误差范围为车辆的传感器的误差的范围;根据精度误差范围、优化函数、目标位置的信息和车辆实时位置信息,得到行车路径,其中,优化函数以预设的最小碰撞距离为约束条件。
33.在一种可能的实施方式中,轨迹规划模块,具体用于:根据精度误差范围、调整系数和优化函数,计算车辆行驶至目标位置的路径中车辆与目标位置相关的各个边界的边界距离,各个边界为基于目标位置的环境信息确定,调整系数用于结合精度误差范围确定车辆与各个边界的距离的误差范围;根据边界距离计算对应的转向半径;根据转向半径确定车辆至目标位置的行车路径。
34.在一种可能的实施方式中,优化函数包括目标函数和约束函数,约束函数以预设的最小碰撞距离和最小转向半径为约束条件,目标函数用于在约束函数的约束下,计算车辆行驶至目标位置的路径的过程中车辆与目标位置对应的各个边界的最小距离,以得到边界距离。
35.在一种可能的实施方式中,在获取车辆实时位置信息之前,轨迹规划模块,还用于:若车辆处于车位内,且车辆与车位的边界距离小于阈值,则根据车辆的当前位置生成抬升路径;
36.泊车控制模块,还用于根据抬升路径指示车辆根据抬升路径行驶至标定位置,标定位置中车辆与车位的边界距离不小于阈值;
37.其中,车辆实时位置信息包括车辆的车尾至车头的方向与所述车位的至少一条边界线之间的角度,该角度用于结合边界距离计算车辆驶出车位的转向半径。
38.在一种可能的实施方式中,轨迹规划模块,具体可以用于:根据车辆的当前位置,规划出与行车路径相切的曲线,从而得到纠偏路径。
39.在一种可能的实施方式中,轨迹规划模块,具体用于:根据车辆当前的转向半径以及车辆的当前位置规划出与行车路径相切的曲线,得到纠偏路径。
40.在一种可能的实施方式中,车辆实时位置信息为根据感知传感器、车辆的运动学传感器、第三方定位系统或者第三方车姿传感器中的其中一种或多种采集到的定位信息得到。
41.在一种可能的实施方式中,轨迹规划模块,还用于:根据预设车速范围和行车路径,采用样条差值算法,拟合得到与行车路径对应的速度曲线。
42.在一种可能的实施方式中,自动泊车装置还包括:感知模块和预警模块;
43.感知模块,用于检测行车路径中的障碍物信息;
44.预警模块,用于若障碍物与车辆的距离在报警范围内,则生成报警信息,并根据报警信息进行报警,报警信息用于提示障碍物与车辆的距离在报警范围内;
45.泊车控制模块,还用于若障碍物的距离与车辆的距离在制动范围内,则指示车辆制动,使车辆停止行驶。
46.在一种可能的实施方式中,根据报警信息进行报警之后,方法还包括:泊车控制模块,还用于若接收到行驶信号,则根据该行驶信号指示车辆根据行车路径继续行驶至目标位置。
47.在一种可能的实施方式中,泊车控制模块,还用于若接收到终止信号,则根据该终止信号指示车辆终止行驶至目标位置。
48.在一种可能的实施方式中,终止信号为方向盘转矩大于退出阈值后生成;或者,终止信号为制动踏板开度大于制动阈值后生成;或者,终止信号为接收到的信号。
49.第三方面,本技术提供一种自动泊车装置,包括:处理器和存储器,其中,处理器和存储器通过线路互联,处理器调用存储器中的程序代码用于执行上述第一方面任一项所示的自动泊车方法中与处理相关的功能。
50.在一种可能的设计中,该自动泊车装置为芯片或片上系统。
51.第四方面,本技术实施例提供一种芯片系统,该芯片系统包括处理器,用于支持自动泊车装置实现上述本技术第一方面或第一方面的任意实施方式中所涉及的功能,例如,例如处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存自动泊车装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
52.其中,上述任一处提到的处理器,可以是一个通用中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制上述第一方面或第一方面的任意实施方式中自动泊车方法的程序执行的集成电路。
53.第五方面,本技术实施例提供一种泊车系统,包括自动泊车装置和传感器,该传感器用于检测目标位置的信息或者车辆实时位置信息,自动泊车装置用于执行如上述第一方面或第一方面任一可选实施方式中与处理相关的功能。
54.第六方面,本技术实施例提供了一种数字处理芯片,芯片包括处理器和存储器,存储器和处理器通过线路互联,存储器中存储有指令,处理器用于执行如上述第一方面或第一方面任一可选实施方式中与处理相关的功能。
55.第七方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可选实施方式中的方法。
56.第八方面,本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面任一可选实施方式中的方法。
附图说明
57.图1本技术实施例提供的一种车辆的结构示意图;
58.图2为本技术实施例提供的一种自动泊车方法的流程示意图;
59.图3a为本技术实施例提供的一种自动泊车方法的应用场景示意图;
60.图3b为本技术实施例提供的另一种自动泊车方法的应用场景示意图;
61.图4为本技术实施例提供的规划行车路径的一种示意图;
62.图5为本技术实施例提供的目标位置的一种示意图;
63.图6为本技术实施例提供的一种行车路径和车速曲线示意图;
64.图7为本技术实施例提供的一种规划抬升路径的场景示意图;
65.图8为本技术实施例提供的一种边界距离的场景示意图;
66.图9为本技术实施例提供的一种仰角示意图;
67.图10a为本技术实施例提供的车辆偏离行车路径的场景示意图;
68.图10b为本技术实施例提供的一种纠偏路径示意图;
69.图11为本技术实施例提供的一种自动泊车方法的流程示意图;
70.图12a为本技术实施例提供的一种泊车模式选择示意图;
71.图12b为本技术实施例提供的另一种泊车模式选择示意图;
72.图13为本技术实施例提供的一种选择目标位置示意图;
73.图14为本技术实施例提供的另一种选择目标位置示意图;
74.图15为本技术实施例提供的一种行车路径规划示意图;
75.图16a为本技术实施例提供的一种行车路径规划示意图;
76.图16b为本技术实施例提供的另一种行车路径规划的场景示意图;
77.图16c为本技术实施例提供的另一种行车路径规划的场景示意图;
78.图17a为本技术实施例提供的另一种行车路径规划的场景示意图;
79.图17b为本技术实施例提供的另一种抬升路径规划的场景示意图;
80.图18为本技术实施例提供的一种障碍物报警示意图;
81.图19a为本技术实施例提供的一种泊车示意图;
82.图19b为本技术实施例提供的一种泊车示意图;
83.图20为本技术实施例提供的一种自动泊车装置的结构示意图;
84.图21为本技术实施例提供的另一种自动泊车装置的结构示意图;
85.图22为本技术实施例提供的另一种车辆的结构示意图;
86.图23为本技术实施例提供的一种芯片的结构示意图。
具体实施方式
87.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属
于本技术保护的范围。
88.本技术实施例提供的自动泊车方法可以应用于各种泊车场景。示例性地,本技术可以应用于控制车辆进行自动泊车的场景,或者,本技术提供的自动泊车方法可以由车辆来执行。此外,本技术也可以应用于对各类机器人进行泊入或泊出的场景,例如货运机器人、探测机器人、扫地机器人或其他类型的机器人,此处以货运机器人为例对应用场景作进一步描述,当货运机器人在进行运输或者运输完成之后,需要将货运机器人停入指定的位置或区域。在泊入指定位置或区域时,需要规划更多的空间余量,避免碰撞。
89.应理解,本技术所提及的泊车,是指将车辆从当前位置行驶至指定位置的过程,如将车辆泊入车位,或者从车位中泊出等过程。
90.下面结合附图,对本技术的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
91.为了便于理解本方案,本技术实施例中首先结合图1对车辆的结构进行介绍,请先参阅图1,图1为本技术实施例提供的车辆的一种结构示意图,车辆100配置为完全或者部分地自动泊车模式。例如,车辆100可以在处于自动泊车模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的是否存在障碍物,基于障碍物的信息来控制车辆100。在车辆100处于自动泊车模式中时,也可以将车辆100置为在没有和人交互的情况下操作。
92.车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个部件。另外,车辆100的每个子系统和部件可以通过有线或者无线互连。
93.行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,行进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。
94.其中,引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如,汽油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
95.传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是全球定位gps系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,imu)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
96.其中,定位系统122可用于估计车辆100的地理位置。imu 124用于基于惯性加速度
来感知车辆100的位置和朝向变化。在一个实施例中,imu 124可以是加速度计和陀螺仪的组合。雷达126可利用无线电信号来感知车辆100的周边环境内的物体,具体可以表现为毫米波雷达或激光雷达。在一些实施例中,除了感知物体以外,雷达126还可用于感知物体的速度和/或前进方向。激光测距仪128可利用激光来感知车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
97.控制系统106为控制车辆100及其组件的操作。控制系统106可包括各种部件,其中包括转向系统132、油门134、制动单元136、计算机视觉系统140、线路控制系统142以及障碍避免系统144。
98.其中,转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。油门134用于控制引擎118的操作速度并进而控制车辆100的速度。制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍体。计算机视觉系统140可使用物体识别算法、运动中恢复结构(structure from motion,sfm)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。线路控制系统142用于确定车辆100的行驶路线以及行驶速度。在一些实施例中,线路控制系统142可以包括横向规划模块1421和纵向规划模块1422,横向规划模块1421和纵向规划模块1422分别用于结合来自障碍避免系统144、gps 122和一个或多个预定地图的数据为车辆100确定行驶路线和行驶速度。障碍避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的障碍体,前述障碍体具体可以表现为实际障碍体和可能与车辆100发生碰撞的虚拟移动体。在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
99.车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。在一些实施例中,外围设备108为车辆100的用户提供与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3g蜂窝通信,例如cdma、evd0、gsm/gprs,或者4g蜂窝通信,例如lte。或者5g蜂窝通信。无线通信系统146可利用无线局域网(wireless local area network,wlan)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或zigbee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,dsrc)设备,这些设备可包括车辆和/或
路边台站之间的公共和/或私有数据通信。
100.电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
101.车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如存储器114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。处理器113可以是任何常规的处理器,诸如商业可获得的中央处理器(central processing unit,cpu)。可选地,处理器113可以是诸如专用集成电路(application specific integrated circuit,asic)或其它基于硬件的处理器的专用设备。尽管图1功能性地图示了处理器、存储器、和在相同块中的计算机系统112的其它部件,但是本领域的普通技术人员应该理解该处理器、或存储器实际上可以包括不存储在相同的物理外壳内的多个处理器、或存储器。例如,存储器114可以是硬盘驱动器或位于不同于计算机系统112的外壳内的其它存储介质。因此,对处理器113或存储器114的引用将被理解为包括可以并行操作或者可以不并行操作的处理器或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
102.在此处所描述的各个方面中,处理器113可以位于远离车辆100并且与车辆100进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆100内的处理器113上执行而其它则由远程处理器113执行,包括采取执行单一操纵的必要步骤。
103.在一些实施例中,存储器114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。存储器114也可包含额外的指令,包括向行进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。除了指令115以外,存储器114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150或扬声器152等。
104.计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可以用个can总线和车辆100内的其他系统或者部件进行通信,如计算机系统112可利用来自控制系统106的输入以便控制转向系统132来避免由传感器系统104和障碍避免系统144检测到的障碍体。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
105.可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,存储器114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
106.可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1不应理解为对本技术实施例的限制。本技术提供的自动泊车方法,可以由计算机系统112、雷达126、激光测距仪130或者外围设备,如车载电脑148或者其他车载终端等来执行。例如,本技术提供的方法可以由车载电脑148来执行,车载电脑148可以为车辆规划行车路径以及对应的速度曲线,并根据行车路径和速度曲线生成控制指令,将控制指令发送至计算机系统112,由计算机系统112控制车辆的控制系统106中的转向系统132、油门134、制动单元136、计算机视觉系统140、线路控制系统142或者障碍避免系统144等,从而实现车辆的自动泊车。
107.上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本技术实施例不做特别的限定。
108.泊车场景是车辆使用中常用的场景。例如,当无需使用车辆时,需要将车辆泊入车位,或者,当需要使用车辆时,需要将车辆从车位中泊出。在一些常用的方式中,针对车辆的自动泊车,提供了多种方式。例如,在一种泊车系统中,针对垂直车位和水平车位的泊车入库,可以通过超声波雷达和摄像探头获取车辆周边车位信息和障碍物信息,然后将探测信息传递给泊车控制器。泊车控制器接收前述信号后,规划出行车路径,当探测器检测到障碍物且当前行车路径不再可行,则会进行路径重规划。泊车控制器同时根据规划的路径生成控制信号传递给后续的执行系统,使得车辆按照行车路径行驶。然而,此泊车系统只支持水平车位和垂直车位的泊车入库,而不支持斜向泊车入库,也不具备泊车出库的功能。此外该系统泊车轨迹的规划没有考虑到感知传感器的误差和车辆定位模块的误差,所规划的路径偏理想化,而实际应用中,光线、距离等均会对摄像头、超声波传感器的精度带来较大的影响。此外,在控制系统延迟、转向系统机械特性等约束下,车辆在泊车过程中不可避免的偏离原规划路径,若仅是根据传感器测量数据判断行车路径不再可行时再调用路径规划算法,生成新的行车路径,这也导致泊车的成功率不高,降低用户体验。
109.又例如,在另一种泊车系统中,车辆前端、后端及侧面均布置可测障碍物距离的传感器,首先将将车辆方向盘向着泊出方向相反的方法转动至极限位置并使得车辆后退至距车库线的防碰撞安全位置;而后车辆换挡并调整方向盘与泊出方向同向至极限位置,使得车辆前进至距车库线的防碰撞安全位置。整个泊车出库过程中不断重复上述过程,直至根据本车辆侧方与前方车辆的距离确定车辆可以直接驶出。而由于自动泊车的使用通常会出现因车位狭小、或者因为周边障碍物变化使得驾驶员自身泊出操作困难的场景。在此系统中,车辆在车库内每次都过将方向盘转到极限位置进行腾挪,没有高效利用当前车辆位置信息和车位横纵向空间。且由于腾挪过程中,车辆前后均需要离车库线保持一定安全距离,方向盘转至极限位置只注重每次腾挪将车身角度调整至最大,在一些工况下会出现车辆前后侧都到达安全距离的情况。车辆初始位置靠内侧的狭小车位中,很容易造成车辆进退两难,卡在车位中,同样也导致泊车的成功率不高,降低用户体验。
110.还例如,在另一种泊车系统中,采用车辆外置传感器感知车位的相关参数,然后调用路径规划算法生成行车路径,在泊车过程中该系统根据车轮脉冲计数器对车辆位置进行实时定位。当检测到车辆偏离原规划路径达到一定阈值后,该系统将再次调用轨迹规划算法生成纠偏路径。该方法考虑了车辆控制系统、转向系统、传动系统等响应时延、当泊车过
程中,车辆偏离原规划路径时,系统将实时生成纠偏路径,使车辆可以成功驶入车位。然而,采用车轮脉冲计数器进行车辆的定位和车辆偏离判断,但是实际应用中,车轮脉冲计数器会引入累计误差,并且随着方向盘转角不断变化和路面不平整的影响其定位误差越来越大。所以仅依赖车轮脉冲计数器进行定位很容易引起路径纠偏的误判。且首次规划路径和重新规划路径采用的是相同的方式,导致重新规划路径耗费较长的时长,实时性较低,降低用户体验。并且,因重新规划路径将使用较长的时长,而车速通常不为0,容易因实时性低而引入误差,导致泊车不成功。
111.通常,若行车路径规划是基于单一的优化搜索算法或者单一的几何算法进行,不能兼顾最优性和实时性。例如仅采用计算开销较大的搜索类算法生成车辆至目标位置的行车路径,当泊车过程中由于感知、控制误差导致车辆偏离行车路径至一定阈值之后,继续采用搜索类算法规划行车路径,而搜索类算法规划行车路径的实时性较低,而此时车速通常不为0,容易因实时性低而引入误差,导致泊车不成功。而仅采用几何法根据车辆当前位置和终点泊车位置利用几何关系构建多个相切的圆弧轨迹,实时性好,但是往往生成的路径较为理想化,没有考虑外在误差因素的影响。
112.结合上述描述,本技术实施例提供了一种自动泊车方法,可应用于图1中示出的车辆100中。请参阅图2,图2为本技术实施例提供的自动泊车方法的一种流程示意图,本技术实施例提供的自动泊车方法可以包括:
113.201、获取目标位置的信息和车辆实时位置信息。
114.其中,目标位置可以是用户指定的泊车位置,也可以是根据环境确定的泊车位置。示例性地,该目标位置可以是车库中的某一个车位,也可以是车位外的指定位置,或者,还可以是用户指定停车的位置等。目标位置的信息可以包括目标位置的长度、宽度、相对于车辆的实时位置的方向或距离等信息。
115.车辆实时位置信息可以包括车辆当前的位置的信息,如车辆当前位置的经度或纬度等信息。此外,车辆实时位置信息中还可以包括车辆相对于目标位置的信息,如相对于目标位置的距离或方向等信息。
116.在一种可能的实施方式中,车辆实时位置信息可以是由一种定位装置得到,或者是由多种定位装置采集到的信息进行融合得到。具体地,车辆实时位置信息可以是由感知传感器、车辆的运动学传感器、第三方定位系统或者第三方车姿传感器中的其中一种得到,或者是对其中的多种装置采集到的定位信息进行融合得到。例如,可以通过车辆的摄像头、超声波雷达、激光雷达等感知传感器采集到第一定位信息,车辆运动学传感器如轮速里程计或惯性测量元件(inertial measurement unit,imu)等可以采集到车辆的第二定位信息,第三方定位系统如全球卫星导航系统(global navigation satellite system,gnss)或全球定位系统(global positioning system,gps)等可以采集到车辆的第三定位信息,第三方车姿传感器如水平仪、陀螺仪等可以采集到车辆的第四定位信息。其中,可以将第一定位信息、第二定位信息、第三定位信息或者第四定位信息中的其中一种作为车辆的定位信息,也可以对其中的多种定位信息进行融合,得到车辆实时位置信息。例如,若其中一个传感器采集到的经纬度坐标为p1(x1,y1),另一个传感器采集到的经纬度坐标为p2(x2,y2),则可以对p1和p2进行加权运算,或者求中间位置等方式,计算出车辆更准确的位置。
117.通常,在一些天气、光线、定位信号强弱、地形差异大等场景下,定位的车辆实时位
置可能不准确。例如视觉系统、超声波雷达、激光雷达等传感器在收到光线、天气、电磁波等外部干扰时会有不可忽略的精度损失,从而导致后续规划的行车路径也不准确。而本技术实施方式中,可以通过多种方式采集车辆实时位置信息,且可以通过对多种装置采集到的定位信息进行融合得到车辆实时位置信息,从而提高得到的车辆实时位置信息的精度,减少车辆实时位置信息的误差,提高后续规划的行车路径的精确性,提高泊车成功率,进而提高用户体验。
118.在一个场景示例中,本技术实施例应用的场景可以是停车场中,车辆在停车场中行驶,搜索停车位,可以在车辆的显示界面中显示可用的停车位,由用户选择停车位,用户选择的停车位即目标位置。例如,应用的场景可以如图3a所示,用户选择停车位之后,可以根据车辆的激光测距仪、雷达的定位装置,测量车位的信息,如车位的长度、宽度或障碍物等信息,以及还可以测量车辆相对于车辆的位置的信息。又例如,本技术实施例应用的场景可以是车辆出库的场景,如图3b所示,当车辆停在车位中时,可以在车辆的显示界面中显示车辆当前的位置以及周围的环境,由用户选择车辆驶出车位并到达的地点,即目标位置。通常,目标位置可以设定在离停车位边界横向、纵向不超过10米的范围内,进而可以快速地规划出行车路径,提高泊车效率。
119.202、通过优化搜索算法搜索得到车辆至目标位置的行车路径。
120.其中,在得到车辆实时位置信息和目标位置的信息之后,通过优化搜索算法搜索车辆行驶至目标位置的行车路径,从而规划出最优的行车路径。
121.具体地,可以基于最优的空间余量,使用优化搜索方法来规划车辆至目标位置的行车路径,并获取与行车路径对应的车速信息,使得车辆在通过该行车路径行驶时,可以预留更多的空间,从而使车辆可以成功行驶至目标位置,避免车辆碰撞或其他不安全问题等。
122.可能地,步骤202可以是在车辆的速度低于车速阈值的场景下执行,该车速阈值可以是根据实际应用场景确定的,本技术对此不作限定。例如,可以在车速较低时,如车速为0km/h或者1km/h等,通过优化搜索算法规划行车路径和车速信息,从而可以为路径规划预留更多的规划时间,使规划得到的路径更精确。
123.在一种可能的实施方式中,步骤202具体可以包括:获取精度误差范围,该精度范围可以是车辆中用于定位车辆实时位置的传感器的误差的范围。然后根据车辆精度误差范围、优化函数、目标位置的信息和车辆实时位置信息,规划车辆行驶至目标位置的行车路径。其中,优化函数以预设的最小碰撞距离作为约束条件,从而避免车辆碰撞。本技术实施方式中,考虑了车辆的传感器的精度误差范围,提高了规划的行车路径的精确性,提高泊车的成功率。并且,可以根据预设的最小碰撞距离为约束条件规划行车路径,从而使得到的行车路径在约束条件的约束范围内,从而避免车辆碰撞,提高车辆安全性。且通过预设的最小碰撞距离为约束条件,并结合了精度误差范围规划行车路径,在使车辆避免碰撞的同时,还可以为车辆预留更多的行驶空间,提高后续泊车的容错性,提高泊车的成功率,提高用户体验。
124.在一种更具体的实施方式中,规划行车路径的具体步骤可以包括:根据精度误差范围、调整系数和优化函数,计算车辆行驶至目标位置的路径中,车辆与目标位置相关的各个边界的边界距离,然后根据边界距离计算车辆的转向半径,然后根据转向半径规划车辆至目标位置的行车路径。其中,调整系数用于结合精度误差范围修正边界距离,从而提高边
界距离的准确性。与目标位置相关的各个边界为根据目标位置的环境信息确定,该环境信息可以是目标位置周边的环境的信息,可以由车辆的摄像头、传感器或者gnss等采集得到。例如,该环境信息可以包括目标位置周边的边界线(如车道线)、车位的边界线或者障碍物的位置等信息,相应地,与目标位置相关的各个边界可以包括车位的边界线、车道线等边界线。具体地,在以预设的最小碰撞距离作为约束计算得到边界距离之后,根据该边界计算车辆可行驶至目标位置的最小半径,从而规划出不小于该最小转向半径的车辆行驶至目标位置的路径中的转向半径,并根据该转向半径规划出车辆行驶至目标位置的行车路径。因此,本技术实施例可以使车辆在避免碰撞的前提下,成功驶入目标位置,提高车辆泊车的成功率。
125.示例性地,参阅图4,以目标位置为图示p3,车辆实时位置为图示p0为例。其中,p3可以是图4中车位的范围,具体地,p3的范围可以根据实际应用场景进行设定。并且,当车辆在p3的范围中,车头和与车头最近的车位边界线的距离不小于第一阈值,车尾与最近的车位边界线的距离不小于第二阈值,车身与车位长边线的距离不小于第三阈值等,此处的车身是指车辆的车头与车尾之间的两个侧面。目标位置相关的边界可以如图4中所示的车位边界线ab、bc、cd以及车道线ef。在车辆从p0行驶至p3的路径中,车头与车道线ef之间的边界距离表示为d1,车身和车位中靠近车辆的短边线cd的距离表示为d2,车尾和车位中远离车辆的短边线ab的距离表示为d3。然后以最小碰撞距离作为约束条件,计算出d1、d2和d3的最优取值范围。其中,d1、d2和d3均不小于预设的最小碰撞距离,即将最小碰撞距离作为约束条件。然后结合d3的取值范围和车辆的最小转向半径确定出p2点的具体位置,r3不小于车辆的最小转向半径。在确定出p2点之后,计算车辆从p1至p2所对应的转向半径r1和r2,分别按照半径r1和r2规划出两段相切的圆弧线,并对两段相切的圆弧线进行平滑处理,得到车辆从p1至p2的曲线。因此,本技术以预设的最小碰撞距离为约束条件,规划车辆的行车路径,得到空间余量最优的行车路径,从而提高车辆在按照该行车路径泊车时的容错率,提高车辆泊车的成功率。
126.在一种具体的实施方式中,根据转向半径规划出车辆行驶至目标位置的行车路径的具体方式可以包括:根据转向半径,采用样条曲线或者螺旋线等曲线进行拟合,得到行车路径。可以理解为,在根据转向半径得到两段相切的圆弧线之后,可以通过曲线拟合的方式进行平滑处理,得到更平滑的曲线。例如,如前述图4中所示,当计算出转向半径r1和r2之后,规划出以r1和r2为半径的两段相切的圆弧线,然后对该两段相切的圆弧线采用螺旋曲线进行拟合,规划出车辆从p1至p2的行车路径的曲线。因此,可以通过样条曲线或螺旋线将行车路径曲率连续变化,使得泊车过程十分平顺,提升了用户的驾驶体验。
127.此外,当目标位置对应的环境中并无明显边界线时,可以根据环境为目标位置设定边界线。例如,当用户驾驶车辆至无车位边界线的车位时,若周围存在车辆,如图5所示,则按照环境中的车辆的位置,规划出停车位,使得车辆可以停入安全的位置。在本技术实施例中,所示的车位边界线、车道线等,可以是实际存在的边界线,也可以是依据目标位置的周边环境规划的边界线,以下不再赘述。
128.在一种更具体的实施方式中,优化函数可以包括目标函数和约束函数。该约束函数将预设的最小碰撞距离和车辆的最小转向半径作为约束条件,目标函数则用于在约束函数的约束下,计算车辆行驶至目标位置的路径的过程中,车辆距离目标位置相关的各个边
界的最小距离,得到边界距离。其中,目标位置相关的边界可能存在多条,可以计算车辆距离每条边界之间的最小距离,因此得到的边界距离也可以包括多个值。
129.示例性地,与前述图4对应的目标函数可以包括:max[min(d1-δ1*sv(loc),d2-δ2*sv(loc),d3-δ3*sv(loc))],约束函数可以包括:s.tg(r1,r2,r3,d1,d3,d3)<=0。其中,sv(loc)为定位系统的精度误差范围,δ1为与d1对应的调整系数,δ2为d2对应的调整系数,δ3为d3对应的调整系数。δ1*sv(loc)可以理解为结合精度误差范围和调整系数确定的与d1对应的误差范围,δ2*sv(loc)可以理解为结合精度误差范围和调整系数确定的d2的误差范围,δ3*sv(loc)可以理解为结合精度误差范围和调整系数确定的d3的误差范围。d1-δ1*sv(loc)可以理解为结合误差范围修正后的边界距离。因此,本技术可以结合精度误差范围和调整系数,确定边界距离的误差范围,从而可以结合该误差范围对边界距离进行修正,从而得到更精确的边界距离,提高后续得到的行车路径的准确性,提高泊车成功率。
[0130]
其中,调整系数的值与车辆与边界的距离的值具有映射关系,即边界距离的值与对车辆定位传感器的精度相关联。例如,边界距离的值越大,车辆定位传感器的误差可能也就越大,因此调整系数可能也越大。示例性地,可以预先设置映射表,该映射表中可以包括距离与调整系数的映射关系。示例性地,该映射表如表1所示,
[0131]
距离(m)调整系数[0,2)0.02[2,4)0.03[4,6)0.04
[0132]
表1
[0133]
为便于理解,可以理解为,通过修正前的边界距离,确定对应的调整系数,然后根据该调整系数集合车辆的传感器的精度误差范围,确定边界距离的误差范围,然后根据边界距离的误差范围修正边界距离,得到修正后的边界距离。通常,在通过车辆的传感器或者第三方定位系统对车辆的位置进行定位时,可能存在误差。因此,本技术实施方式中,在目标函数中增加了精度误差范围和调整系数,考虑了车辆定位的误差,使得构建的行车路径更精确,容错性更高,提高车辆根据行车路径的泊车成功率。
[0134]
因此,本技术实施方式中,可以通过优化搜索算法搜索出空间余量最优的行车路径,且引入了车辆的定位装置的误差和车辆的转向系统约束,大大提高了泊车途中的容错性,降低了泊车途中对车辆各个模块的精度的要求,提高泊车成功率。
[0135]
可选地,在规划出行车路径之后,还拟合出与该行车路径对应的车速信息。使车辆可以根据该车速信息按照行车路径进行行驶,成功行驶至目标位置。
[0136]
在一种具体的实施方式中,在得到行车路径之后,可以根据预设车速范围和行车路径,采用样条插值算法,拟合得到速度曲线。该预设车速范围可以包括车辆行驶的最大车速或者最小车速。例如,当车辆在车库中入库或者出库时,若车速限定为低于30km/h,则该预设车速范围可以是不大于30km/h。又例如,根据预设车速范围和行车路径,采用样条插值算法,拟合得到速度曲线。例如,参阅图6,车速曲线与泊车曲线对应,且车速最大不超过限定的30km/h,使得车辆可以根据拟合得到的车速曲线按照行车路径行驶。本技术实施方式中,可以采用样条插值算法,计算出与行车路径对应的车速曲线,使得车辆可以根据行车路径和对应的车速曲线,成行驶至目标位置。
[0137]
在一种可能的实施方式中,若车辆处于车位内,且车辆与车位的边界距离小于阈值,则可以根据车辆的当前位置生成抬升路径,根据该抬升路径指示车辆根据该抬升路径行驶至标定位置,该标定位置中车辆与车位的边界的距离不小于阈值。可以理解为,在步骤201之前,若车辆与车位的边界线的距离较近,可能无法直接驶出车位,此时可以生成抬升路径,将车辆行驶至标定位置,增加车辆与车位的边界线的距离。例如,参阅前述图1中所示的车辆,可以由处理器113或者车载电脑148等设备生成抬升指令,通过can总线传输至控制系统106,使得控制系统106通过控制转向系统132、油门134或者制动单元136等,控制车辆行驶至标定位置。示例性地,如图7所示,其中,车辆的车头与车位边界线cd的距离d0小于阈值,即车头与车位边界线cd的距离较近,可能无法直接驶出车位。因此,可以根据车辆当前的位置,生成抬升路径801,从而调整车辆的位置,为车辆在车位中预留更多的泊出空间。按照抬升路径将车辆行驶至标定位置之后,如图8所示,车头与车位边界线cd之间的距离d0`不小于阈值,从而使后续为车辆规划出库路径时具有更多的空间余量,提高车辆出库的成功率。
[0138]
在一种可能的实施方式中,在根据抬升路径将车辆行驶至标定位置之后,车辆与车位的边界之间的角度可能改变,因此,在步骤201中,车辆实时位置信息中可以包括车辆与至少一条边界线之间的角度,该角度用于结合前述的边界距离规划车辆行驶出车位时的转向半径。示例性地,如图9所示,其中,当车辆行驶至标定位置之后,可以计算车辆的车身(即车头至车尾之间的两个侧面)平行的直线902与边界线bc之间的角度α。然后规划与直线902相切的曲线901,根据角度α计算与直线902相切的曲线的转向半径,然后根据该转向半径确定出曲线901。且半径r1可以大于或者等于车辆的最小转向半径,进而可以根据该转向半径确定车辆启动时的方向盘转角,从而成功驶出车位。
[0139]
需要说明的是,本技术实施例中,可以以车辆中的其中一个点为中心规划行车路径中的曲线,例如,可以是车辆的后轴的中心点,也可以是车辆的中心的点,还可以是车辆前轴的中心的点等,本技术实施例中,计算的转向半径也可以是以该点与圆弧线的中心点的距离,以下不再赘述。
[0140]
203、根据行车路径指示车辆根据行车路径行驶至目标位置。
[0141]
其中,在根据优化搜索算法得到行车路径之后,根据该行车路径指示车辆按照该行车路径行驶至目标位置。
[0142]
具体地,可以根据该行车路径生成控制指令,该控制指令用于指示车辆根据行车路径和车速信息行驶至目标位置。
[0143]
此外,还可以结合行车路径和车速信息生成控制指令,从而控制车辆的行驶路径和车速,从而使车辆可以成功行驶至目标位置。
[0144]
具体地,车辆可以参阅前述图1所示,可以由处理器113执行步骤201和202,然后处理器根据行车路径和速度曲线生成控制指令,通过can总线将控制指令发送至控制系统106,如通过控制指令控制转向系统132按照行车路径中的转向半径进行转向,通过控制油门134和制动单元136调整车辆的车速,使车辆可以按照规划的速度曲线行驶。
[0145]
又例如,参阅前述图1所示的车辆结构,步骤201-203可以由车载电脑148执行,当车载电脑生成控制指令之后,可以通过用户接口116将控制指令发送至处理器113,然后由处理器113根据该控制指令进行处理,从而控制转向系统132按照行车路径中的转向半径进
行转向,通过控制油门134和制动单元136调整车辆的车速,使车辆可以按照规划的速度曲线行驶。
[0146]
204、判断车辆偏离行车路径的距离超过纠偏阈值,若是,则执行步骤205,若否,则执行步骤207。
[0147]
在车辆按照行车路径向目标位置行驶的途中,对车辆的实时位置信息进行监控,从而监测车辆是否按照行车路径行驶。当车辆按照行车路径行驶时,则可以继续行驶车辆,当车辆偏离行车路径的距离超过纠偏路径时,则可以根据几何算法生成纠偏路径,从而根据纠偏路径控制车辆行驶回行车路径。
[0148]
具体地,可以根据车辆的实时位置判断车辆偏离行车路径的距离是否超过纠偏阈值,若车辆的实时位置偏离行车路径超过纠偏阈值,则可以根据几何算法生成纠偏路径,即执行步骤205。当车辆的实时位置偏离行车路径的距离未超过纠偏阈值,则控制车辆继续行驶至目标位置。
[0149]
可以理解为,当车辆偏离行车路径超过纠偏阈值时,车辆可能无法成功泊至目标位置,因此需要生成纠偏路径,使车辆可以行驶回行车路径,从而成功泊至目标位置。
[0150]
更进一步地,车辆偏离行车路径的距离的计算方式可以包括:以车辆的某一个点为中心,该点可以与规划行车路径时的中心点相同,例如,可以是以车辆的后轴的中心、前轴的轴心或者车辆的中心等,然后计算该点与行车路径的垂直距离,得到车辆偏离行车路径的距离。
[0151]
示例性地,如图10a所示,以车辆的后轴中心为中心,确定与车身和行车路径相之间的垂直距离,如图10a中车辆偏离行车路径的距离为d4。当d4超过预设的纠偏阈值时,即可生成纠偏路径,并根据纠偏路径指示车辆驶回行车路径。
[0152]
205、根据车辆的当前位置与行车路径生成纠偏路径。
[0153]
其中,在检测到车辆偏离行车路径的距离超过纠偏阈值时,根据车辆的当前位置和行车路径生成纠偏路径。
[0154]
具体地,可以根据车辆的当前位置,生成与行车路径相切的曲线,得到纠偏路径。因此,可以根据车辆的当前位置和行车路径,按照几何算法的方式生成与行车路径相切的纠偏路径,提高了生成纠偏路径的实时性,使车辆可以快速行驶回行车路径中,提高泊车成功率。例如,可以以车辆的当前位置为起点,规划出与行车路径相切的圆弧线,该圆弧线与行车路径相切的点即为该圆弧线的终端,从而得到纠偏路径。
[0155]
为便于理解,本技术以下实施方式中将根据车辆的当前位置和行车路径生成纠偏路径称为按照几何算法规划出纠偏路径,以下不再赘述。
[0156]
通常,可以是在车辆的行驶途中规划纠偏路径,此时车辆拥有一定的车速,因此,为提高纠偏路径规划的实时性和准确性,可以通过几何算法快速规划出纠偏路径,提高纠偏路径规划的实时性,使车辆可以及时准确地行驶回行车路径。并且,在通过几何算法及时准确地规划出纠偏路径的同时,因几何算法可以及时规划纠偏路径,可以减少因车辆的行驶而引入的误差,提高纠偏路径的精确性。例如,若规划纠偏路径的时长较长,车辆在定位出的当前位置时和规划出纠偏路径之间的时段内,可能因车速较高,而导致车辆已偏离当前位置,从而使纠偏路径不准确,无法行驶回纠偏路径。而本技术提供的通过几何算法快速规划纠偏路径,规划纠偏路径所需的时长较短,因车辆行驶而引入的偏离距离也就较短,从
而可以减少因车辆的行驶而引入的误差,提高纠偏路径的精确性。
[0157]
在一种具体的实施方式中,步骤205具体可以包括:根据车辆的当前位置和车辆的转向半径,规划与行车路径相切的曲线,得到纠偏路径。具体地,可以首先根据行车路径的转向半径,规划出与行车路径相切的圆弧线,并计算该圆弧线对应的半径,得到纠偏路径。进一步地,为了使纠偏路径更平顺,可以根据车辆的转向半径采用样条曲线或者螺旋线的方式进行拟合,拟合车辆的当前位置至圆弧线之间的曲线,从而得到纠偏路径。
[0158]
示例性地,如图10b所示,当车辆偏离行车路径的距离超过纠偏阈值时,根据行车路径的转向半径r1,规划与行车路径相切的圆弧线1001,该圆弧线的半径为r0。为了使纠偏路径更平滑,此时可以基于车辆的当前位置和车辆的转向半径,根据样条曲线或者螺旋线拟合车辆行驶至圆弧线1001的曲线1002,从而得到纠偏路径。并且,r0和r1的差值通常可以规划为较小,从而使车辆的转向角度变化较小,使车辆按照纠偏路径行驶回行车路径的过程更平顺,提高用户体验。因此,可以通过纠偏路径使车辆可以行驶回行车路径。且通过样条曲线或者螺旋线拟合的方式,使纠偏路径的曲率可以连续变化,使得泊车过程更平顺,提高用户的驾驶体验。
[0159]
此外,除了生成纠偏路径,还生成与纠偏路径对应的车速信息,该车速信息的生成方式与前述行车路径对应的车速信息类似,此处不再赘述。
[0160]
206、根据纠偏路径指示车辆行驶回行车路径。
[0161]
其中,在规划得到纠偏路径之后,根据该纠偏路径指示车辆按照该纠偏路径行驶回行车路径,从而可以行驶至目标位置。
[0162]
具体地,纠偏路径包括车辆的转向半径,该转向半径与车辆的方向盘转角相关,例如,转向半径与方向盘转角有映射关系,该映射关系在不同的场景或者不同的车辆中可能不相同。因此可以通过控制车辆的转向系统、油门以及制动单元,控制车辆按照纠偏路径和对应的车速进行行驶。基于前述图1,若本技术由车载电脑148执行,则车载电脑148可以通过用户接口116向处理器113发送纠偏指令,通过处理器113操控控制系统106中的转向系统132、油门134和制动单元136,从而控制车辆按照纠偏路径行驶。
[0163]
207、控制车辆继续行驶至目标位置。
[0164]
其中,在确定车辆正常在行车路径中行驶时,未出现偏离行车路径的距离超过纠偏阈值,则控制车辆继续按照行车路径和对应的车速信息进行行驶,使车辆行驶至目标位。
[0165]
因此,本技术实施方式中,在通过优化搜索算法规划出行车路径之后,若车辆偏离行车路径,可以通过几何算法快速规划出纠偏路径,使车辆及时行驶回行车路径,从而及时准确地驶入泊车位置,提高泊车的成功率,提高用户体验。可以理解为,本技术实施方式中,可以结合不同的工况,通过不同的方式为车辆规划行车路径,如车速较低时通过优化搜索方法规划行车路径,可以得到准确的行车路径,而在泊车途中,车辆具有一定的车速,可以通过几何算法快速地规划出纠偏路径,从而提高了泊车的成功率。结合了最优行车路径和实时性的特点,提高泊车效率和成功率,提高用户体验。
[0166]
在一种可能的实施方式中,当通过车辆的传感器检测到行车路径中存在障碍物时,检测该障碍物的信息,如障碍物与车辆的距离、障碍物的类型、体积、高度等信息。当障碍物与车辆的距离报警范围内时,生成报警信息,并根据该报警信息进行报警,提示用户障碍物与车辆的距离在报警范围内。障碍物的信息具体可以由车辆的雷达、激光测距仪、相机
等传感器来检测。例如,在将车辆按照行车路径从车位中泊车时,检测到行车路径中存在行人,若该行人与车辆的距离小于5米,则在车辆的中控屏中显示报警提示信息,提示用户车辆周围存在行人。当障碍物的距离与车辆的距离在制动范围内时,生成制动指令,通过该制动指令控制车辆制动,从而停止行驶。例如,在将车辆按照行车路径从车位中泊车时,检测到行车路径中存在行人,若该行人与车辆的距离小于1米,则通过制动指令控制车辆的制动单元,使车辆制动,避免车辆碰撞到障碍物。并且,在检测到障碍物与车辆的距离在制动范围内时,可以持续进行报警,无需中断,从而使用户可以及时观测到障碍物。
[0167]
在一种可能的实施方式中,在根据报警信息进行报警之后,若接收到用户输入的行驶信号,则控制车辆根据行车路径继续行驶至目标位置。例如,在根据报警信息进行报警之后,若用户确定该障碍物并不能对车辆形成碰撞,则可以在车辆中进行继续行驶的输入操作,如点击中控屏中的“继续行驶”按钮、或者踩油门等操作,车载电脑或者处理器等设备可以根据用户的输入操作接收到行驶信号,然后由车载电脑或者处理器等设备生成继续行驶指令,从而控制车辆继续按照行车路径行驶至目标位置。
[0168]
在一种可能的实施方式中,在车辆根据行车路径和车速信息向目标位置行驶的途中,若接收到终止信号,则控制车辆终止行驶至目标位置。
[0169]
可选的,终止信号可以包括但不限于通过以下一种或者多种方式得到:该终止信号可以是在车辆的方向盘转矩大于退出阈值后生成;或者,该终止信号可以是制动踏板开大于制动阈值后生成;或者,该终止信号为接收到的信号。例如,当用户需要退出自动泊车模式时,可以转动方向盘,使方向盘的转矩大于退出阈值,此时可以由车辆的转向系统生成终止信号,后续由用户通过方向盘、制动踏板或者油门踏板等控制车辆行驶。又例如,用户可以踩踏自动踏板,使制动踏板的开度大于制动阈值,从而退出自动泊车模式。还例如,若本技术由车载电脑执行,中控屏中可以显示车辆自动泊车的相关信息,用户可以直接在中控屏中点击退出按钮,从而退出自动泊车模式。然后由用户控制车辆,提高用户体验。
[0170]
前述对本技术提供的自动泊车方法的流程进行了详细介绍,下面结合图11,以具体的应用场景为例对本技术提供的自动泊车方法所应用的场景进行更详细的介绍。
[0171]
1101、确定泊车模式,若为泊入模式,则执行步骤1102,若选择泊出模式,则执行步骤1103。
[0172]
其中,本技术可以由车辆的处理器来执行,也可以由接入车辆的设备,如车载电脑、倒车雷达、行车记录仪等设备来执行。示例性地,若本技术由车载电脑来执行,车辆内部可以设置有中控屏,用于显示车辆的状态、定位或者导航等信息。
[0173]
在用户启动自动泊车功能时,可以在中控屏中提示用户选择泊车模式。泊车模式可以包括泊入模式和泊出模式。示例性地,如图12a所示,可以在中控屏中显示自动泊车,在用户点击自动泊车之后,如图12b所示,显示提示用户选择泊车模式,包括泊入模式和泊出模式,泊入模式即将车辆泊入车位中,泊出模式即将车辆从车位中驶出。
[0174]
1102、选择停车位。
[0175]
当用户选择泊入模式之后,根据用户的输入选择停车位,即目标位置。
[0176]
本技术中所提及的车位,可以是垂直车位,也可以是水平车位,还可以是斜向的车位,或者还可以是未设置车位边界线的车位等。垂直车位是指车位长边方向垂直于车道的车位,平行车位是指车位长边方向平行于车道的车位,而斜向车位是指车位长边方向与车
道方向介于平行和垂直之间,通常情况下,斜向车位的车位长边方向与车道方向的夹角处于(30
°
,60
°
)或者(120
°
,150
°
)区间内。
[0177]
其中,在选择停车位之前,还检测预设范围内的停车位的信息。例如,车载电脑可以与停车场的管理系统建立通信连接,接收停车场的管理系统发送的可用车位分布,或者,车辆可以通过感知传感器,如相机、雷达等,检测车辆预设范围内可用的停车位等。在确定车辆的预设范围内存在可用的车位时,可以在中控屏中显示可用的车位,由用户选择可用的车位。示例性地,如图13所示,在确定车辆周围存在可用的车位时,在中控屏中显示可用的车位,由用户选择可用的车位,如用户选择p2车位之后,车载电脑可以根据接收到的信息确定该车位的长度或宽度等信息,或者,通过车辆中的相机、激光测距仪或者雷达等,检测到该车位的长度或宽度等信息。
[0178]
选择泊入模式的场景可以例如,用户驾驶车辆在车库中开启泊入模式,车辆在小于等于30km/h的速度下搜索车位,当搜索到停车位之后在提示用户,可以是在显示界面中显示提醒,如在显示界面中显示可用的车位,也可以是通过语音提示进行提醒,如通过语音提示用户周围存在可用停车位,用户可以通过语音与车辆交互。用户可以根据提示选择期望停入的车位。
[0179]
1103、泊出点设置。
[0180]
当用户选择泊出模式之后,可以根据用户的输入操作选择泊出点,即目标位置。
[0181]
示例性地,如图14所示,若车辆当前停在车位中,在用户选择泊出模式之后,可以继续由用户选择泊出点,即将车辆从车位中驶出的终点。
[0182]
选择泊出模式的场景可以例如,车辆停在车位中,用户通过显示界面或者语音交互选择泊出模式,然后通过语音或者显示界面选择期望泊出到达的位置。
[0183]
1104、对车辆进行实时定位。
[0184]
其中,可以通过车辆中的雷达、激光测距仪、gnss或者相机等其中的一种或者多种设备或传感器等,精确定位出车辆的实时位置。
[0185]
需要说明的是,步骤1104可以是在步骤1101之前执行,也可以是在1101之后执行,可以持续对车辆的实时位置进行监控。
[0186]
具体地,可以通过车辆内设置的传感器或者第三方定位系统等,对车辆的实时位置进行定位,确定车辆相对于目标位置的位置。例如,车辆中可以包括摄像头、超声波、雷达、激光雷达中的至少一种或者多种的组合,在获取到摄像头、超声波、雷达、激光雷达中的至少一种或者多种采集到的信息之后,与车辆运动学传感器如轮速计、imu等采集到的信息进行融合,推测车辆当前的位置。或者,更进一步地,还可以结合gnss或者第三方位姿传感器如手机水平仪,进一步提高车辆当前位置的精度。因此,本技术实施方式中,将感知数据与本车运动学传感器数据融合,也可融合第三方定位系统gnss或者第三方位姿传感器,提高定位精度,并能够测量坡度,从而可以进一步提高行车路径的准确性,提高车辆泊车的成功率。
[0187]
1105、规划空间余量最优的行车路径。
[0188]
在确定车辆的实时位置以及对应的目标位置,如停车位或者泊出点等之后,以最小碰撞距离作为约束条件,规划出空间余量最优的行车路径。使车辆在按照行车路径行驶时,与目标位置的边界线或者环境中的边界线之间的距离不小于最小碰撞距离,提高车辆
行驶的安全性,且提高了车辆行驶至目标位置时的空间余量,提高泊车的容错性,进而提高车辆成功泊至目标位置的成功率。
[0189]
具体的行车路径规划方式可以参阅前述步骤202,此处不再赘述,下面对一些具体的应用场景进行介绍。
[0190]
通常,在泊入模式中,针对不同的停车位或者车辆相对于车位的不同位置,可能规划出的最优行车路径也不相同。具体地,当车辆相对于目标位置的位置在标定范围内时,即可直接规划至目标位置的行车路径,而当车辆相对于目标位置的位置不在标定范围内,即车辆无法直接行使至目标位置,则可以先规划车辆行驶至标定范围内的路径,和车辆从标定范围内行驶至目标位置的行车路径。该标定范围可以是根据车辆的最小转向半径和目标位置的信息来确定的。例如,若目标位置为垂直车位,则当车辆的最小转向半径越大,标定范围中车辆距离垂直车位的距离也就越远;当车辆的最小转向半径越小,标定范围中车辆距离垂直车位的距离就可以越近。
[0191]
一种场景中,如图15所示,当车位为垂直车位,且车辆相对于车位的位置在预设的标定范围内,如车辆与车位的右长边距离在可倒入车位范围内,该标定范围可以是根据车辆的最小转向半径和车位的大小来确定的,此场景下可以根据最小碰撞距离,直接规划出半径为r的圆弧与车位中心轴相切于p1点的“c”字型的行车路径。在该行车路径中,当车辆到达p1点时,即可使车辆平行与车位长边的方向后退至p2点,将车辆泊入车位中。其中,可以根据优化函数,计算车辆从p0行驶至p2点的过程中,车辆和车道线ef、以及车辆和车位边界线ab、cd之间的最小距离,得到边界距离,具体的计算方式可以参阅前述步骤202中的相关描述。
[0192]
另一种场景中,如图16a所示,当车位为垂直车位,且车辆相对于车位的距离不在预设的标定范围内,如图16a中所示车辆与车位的距离太近,需要规划车辆行驶至标定范围内的路径和车辆从标定范围内行驶至垂直车位的行车路径。此时可以采用“c字”型和“人”字型的行车路径,使车辆首先行驶至标定范围内,然后从标定范围内行驶至垂直车位。如图16b所示,首先,确定车辆可停入车位的位置范围,此处以标定范围内的任意一个点p2点代替,若需将车辆行驶至p2点,可以采用倒车的方式,将车辆行驶至可行驶至p2点的范围,此处以p1点代替。p3在车位与边界线cd垂直的中心轴上。将车辆在p1点时车尾和车位的边界线ab的距离表示为d1,p2点的车头与车道线ef的距离表示为d2,以及车辆在p2和p3之间的圆弧上车辆与边界线cd的最小距离表示为d3,然后根据公式:max[min(d1-δ1*sv(loc),d2-δ2*sv(loc),d3-δ3*sv(loc))],计算出d1、d2和d3的最优取值范围。在确定了d1、d2和d3的最优取值范围之后,如图16c所示,即可确定p1、p2和p3点的具体位置,即可规划车辆从p0点到p1点的转向半径r1,车辆从p1点至p2点的转向半径r2以及车辆行驶至p3点的转向半径r3。然后通过转向半径r1、r2和r3,采用圆弧线对p0至p1、p1至p2以及p2至p3点的路径进行拟合,即可得到车辆行驶至垂直车位的行车路径的曲线。然后根据预设的车速范围,如限速30km/h,规划与行车路径的曲线对应的车速曲线。
[0193]
另一种车辆出库的场景中,如图17a所示,其中,车位为水平车位,在用户设置p3作为泊出点之后,规划从车辆当前位置p3至p0的行车路径。首先,判断车身与车位边界线cd之间的距离是否小于预设的值,若否,表示车身并未过于靠近下边界,则可以直接规划从p3至p0的行车路径。若车身与车位边界线cd之间的距离小于预设的值,表示车身过于靠近下边
界,则首先需要规划抬升路径,将车辆行驶至可出库的标定范围内,如图17a中所示的p2点。其中,车辆从p1点行驶至p3点的路径与车辆从p3点行驶至p1点的路径类似,具体的规划方式可以参阅前述图4对应的描述,此处不再赘述。示例性地,可以首先可以构建车辆成功行驶出车辆时,车辆的起始点的位置,参阅图17b。车辆当前位置表示为p0(x0,y0),p1(x1,y1)为车辆以r1为转向半径行进至车头距边界线cd设定最小安全距离时后轴中心的位置点,p2(x2,y2)为车辆以最小转向半径由p1点后退的位置,车辆的后轴中心处于p2点时车辆的中心处于车位的中心,车辆在p1点时,车辆与车位边界线cd之间的距离不小于预设的最小碰撞距离,优化函数可以包括:目标函数:max[abs(y2-y0)],约束函数s.tg(r1,d1,d2,d3)<=0,d1、d2和d3可以参阅前述图4。根据优化函数,计算出r1的值,即可得到抬升路径中车辆的转向半径,根据p1点的位置、车辆当前的位置p0和转向半径r1,拟合出从p0至p1的圆弧线,得到抬升路径。在得到抬升路径,并控制车辆行驶至p1点之后,规划车辆从p1点至p3点的出库路径,即行车路径。计算车辆在p1点中车辆的车尾至车头的方向和车位边界线bc之间的角度。以车辆在p1点处的位姿计算“s”型曲线p1-p2中两个转向半径r1、r2,其中,车头与车道线ef之间的边界距离表示为d1,车辆和车位边界线cd的距离表示为d2,车尾和车位边界线ab的距离表示为d3,参阅前述图4,根据优化函数中的目标函数:max[min(d1-δ1*sv(loc),d2-δ2*sv(loc),d3-δ3*sv(loc))],和约束函数:s.tg(r1,r2,r3,d1,d3,d3)<=0。计算d1、d2和d3的最优值,并根据d1、d2和d3的最优值,利用圆弧线拟合p1-p2之间曲线,并计算对应的转向半径r1和r2,得到p1-p2的行车路径。
[0194]
1106、根据行车路径拟合得到车速曲线。
[0195]
在得到行车路径之后,根据行车路径和预设的车速范围进行拟合得到与行车路径对应的车速曲线。
[0196]
具体地,拟合得到车速曲线的方式与前述步骤202类似,具体参数前述步骤202中的相关描述,此处不再赘述。
[0197]
1107、泊车控制。
[0198]
在得到行车路径和车速曲线之后,根据该行车路径和车速曲线指示车辆按照该行车路径和车速曲线行驶。
[0199]
具体地,若本技术实施例由车载电脑来执行,则车载电脑生成控制指令之后,将该控制指令发送至车辆内部的处理器,由车辆内部的处理器根据该控制指令,控制车辆的转向系统、油门、制动单元等,从而控制车辆按照控制指令所指示的行车路径和车速进行行驶。
[0200]
1108、判断车辆是否偏离行车路径的距离是否大于纠偏阈值,若是,则执行步骤1109,若否,则执行步骤1114。
[0201]
在控制车辆按照行车路径和车速曲线行驶时,对车辆的实时位置进行监测,当检测到车辆的实时位置偏离行车路径的距离大于纠偏阈值,则使用几何算法规划纠偏路径,即执行步骤1109,若检测到车辆的实时位置并未偏离行车路径超过纠偏阈值,则继续控制车辆按照行车路径和车速曲线行驶,即执行步骤1114。
[0202]
1109、使用几何算法规划纠偏路径。
[0203]
其中,在检测到车辆在按照行车路径行驶的途中,偏离行车路径超过纠偏阈值,则可以使用几何算法快速规划纠偏路径,使车辆行驶回行车路径。
[0204]
通常,车辆在按照行车路径和车速曲线行驶的途中,车速通常不为0,此时可以采用样条曲线或者螺旋线,准确、快速地规划出与原行车路径相切的纠偏路径。规划纠偏路径的方式与前述步骤205类似,此处不再赘述。
[0205]
1110、判断车辆与障碍物的距离是否小于报警阈值,若是,则执行步骤1111,若否,则执行步骤1114。
[0206]
在控制车辆按照行车路径和车速曲线行驶时,还对车辆预设范围内的环境进行监测,在检测到车辆预设范围内存在障碍物时,检测该障碍物与车辆的具体距离。然后判断车辆与障碍物的距离是否小于报警阈值。当车辆与障碍物的距离小于报警阈值时,即可生成报警信息并报警,即执行步骤1111。若车辆与障碍物的距离不小于阈值,则可以继续泊车,即执行步骤1114。
[0207]
具体地,可以通过车辆中的相机、激光测距仪、雷达或者红外装置等,检测行车路径中是否存在障碍物,如行人、路障或者其他物品等。例如,可以通过车辆中设置的360度摄像头,监测车辆周围的环境,通过图像识别来识别出车辆周围的障碍物。
[0208]
1111、生成报警信息。
[0209]
其中,在检测到车辆与障碍物的距离小于报警阈值时,生成报警信息,并根据该报警信息进行报警,提醒用户车辆周围存在障碍物。
[0210]
具体地,可以通过语音提示的方式进行报警,也可以通过显示界面中显示图像或者播放视频等方式进行报警。示例性地,如图18所示,在检测到距离车辆2米的位置存在障碍物时,在车辆的中控屏中显示提示信息,提示车辆与障碍物的距离,并显示障碍物相对于车辆的位置,从而使用户可以直观地观察到障碍物,提高车辆行驶的安全性。
[0211]
1112、判断车辆与障碍物的距离是否小于制动阈值,若是,则执行步骤1112,若否,则执行步骤1114。
[0212]
在检测到车辆与障碍物的距离小于报警阈值之后,持续检测车辆与障碍物的距离,并判断车辆与障碍物的距离是否小于制动阈值。若车辆与障碍物的距离小于制动阈值,则控制车辆制动,即执行步骤1113。若车辆与障碍物的距离不小于制动阈值,则可以继续泊车,即执行步骤1114,同时可以若车辆与障碍物的距离持续小于报警阈值,则可以持续报警,提示用户车辆与障碍物的距离,从而提高车辆行驶的安全性。
[0213]
1113、控制车辆制动。
[0214]
其中,在检测到车辆与障碍物的距离小于制动阈值之后,即可控制车辆制动。
[0215]
具体地,可以生成制动指令,通过该制动指令通过车辆的制动单元,实现车辆的制动,避免车辆与障碍物发生碰撞,提高车辆的安全性。
[0216]
1114、继续泊车。
[0217]
其中,在检测到车辆按照行车路径和车速曲线进行正常行驶,未偏离行车路径或者未检测到车辆附近存在障碍物等,则可以继续按照行车路径和车速曲线将车辆行驶至目标位置。
[0218]
1115、泊车检测,若泊车成功,则执行步骤1116,若泊车不成功,则执行步骤1104。
[0219]
在按照行车路径和车速曲线完成泊车之后,检测泊车是否成功。若车辆在目标位置内,则可以确定泊车成功,可以退出泊车,若车辆与目标位置的距离超过预设的值,则确定泊车不成功,对车辆进行实时定位,并重新规划行车路径,即执行步骤1104。
[0220]
例如,若目标位置为某一个车位,若车辆泊入指定的停车位内,与车位的边界线的距离均不小于阈值,如图19a所示,则确定泊车成功。若车辆未泊入指定的停车位或者未完全泊入指定的停车位内,如车辆与车位的某一条或者多条边界线的距离小于阈值,或者车辆与车位的某一条或者多条边界线重合,则表示车辆未泊车成功,如图19b所示,则需要重新规划行车路径,即执行步骤1104。
[0221]
1116、退出泊车。
[0222]
其中,在检测到车辆已成功行驶至目标位置之后,即可退出泊车。
[0223]
在一种可能的场景中,在接收到终止信号之后,即控制车辆退出泊车模式。
[0224]
其中,该终止信号可以是检测到方向盘转矩大于退出阈值后生成,或者,该终止信号可以是检测到制动踏板的开度大于制动阈值后生成,或者,该终止信号为接收到的用户输入的信号。
[0225]
例如,当用户需要退出自动泊车模式时,可以点击中控屏中显示的退出按钮,车载电脑接收用户通过输入操作输入的终止信号,退出自动泊车模式。在此场景中,还可以生成制动指令,控制车辆制动。
[0226]
又例如,当用户需要退出自动泊车模式进行手动操作时,可以转动方向盘或者踩踏制动踏板,从而退出自动泊车模式。
[0227]
本技术实施方式中,在以最小碰撞距离为约束条件根据优化搜索算法搜索出空间余量最优的行车路径的基础上,通过几何算法及时准确地规划出纠偏路径,使车辆及时行驶回行车路径中,提高车辆泊车的成功率。并且,规划纠偏路径时车速通常不为0,通过几何算法规划纠偏路径,实时性更高,避免因规划时长较长而引入的误差,进一步提高车辆泊车的成功率。分析了泊车过程中不同阶段工况的不同,根据不同阶段的特点采用了不同的路径生成算法,有效的集成了优化搜索算法和几何算法的优点,实现了路径空间最优和实时性的结合。工况的不同表现在:在搜索到车位提示驾驶员确认泊车期间以及泊车换挡期间系统有充足的时间调用基于搜索的算法进行最优轨迹的规划。然而在车辆行进过程中,检测到车辆偏离原行车路径超过设定的值后,对纠偏路径生成算法的实时性要求较高,期望能够快速生成一条纠偏至原最优路径的轨迹,因此可采用几何法高效准确地规划出纠偏路径,提高泊车成功率,从而提高用户体验。
[0228]
基于前述图2-19b对应的自动泊车方法,下面对本技术提供的自动泊车装置从逻辑上划分的结构进行说明。该自动泊车装置用于执行前述图2-19b对应的自动泊车方法。
[0229]
首先,示例性地,本技术提供的自动泊车装置的结构可以参阅图20,该自动泊车装置可以包括如下所述。
[0230]
定位模块2002,用于获取目标位置的信息和车辆实时位置信息;
[0231]
轨迹规划模块2004,用于通过优化搜索算法、目标位置的信息和车辆实时位置信息,得到车辆至目标位置的行车路径;
[0232]
泊车控制模块2005,用于根据行车路径指示车辆根据行车路径行驶至目标位置;
[0233]
其中,当车辆偏离行车路径的距离超过纠偏阈值,轨迹规划模块2004,还用于根据车辆的位置和行车路径得到纠偏路径,泊车控制模块2005还用于根据纠偏路径指示车辆根据纠偏路径行驶回行车路径。
[0234]
在一种可能的实施方式中,优化搜索算法包括优化函数,轨迹规划模块2004,具体
用于:获取精度误差范围,精度误差范围为车辆的传感器的误差的范围;根据精度误差范围、优化函数、目标位置的信息和车辆实时位置信息,得到行车路径,其中,优化函数以预设的最小碰撞距离为约束条件。
[0235]
在一种可能的实施方式中,轨迹规划模块2004,具体用于:根据精度误差范围、调整系数和优化函数,计算车辆行驶至目标位置的路径中车辆与目标位置相关的各个边界的边界距离,各个边界为基于目标位置的环境信息确定,调整系数用于结合精度误差范围确定车辆与各个边界的距离的误差范围;根据边界距离计算对应的转向半径;根据转向半径确定车辆至目标位置的行车路径。
[0236]
在一种可能的实施方式中,优化函数包括目标函数和约束函数,约束函数以预设的最小碰撞距离和最小转向半径为约束条件,目标函数用于在约束函数的约束下,计算车辆行驶至目标位置的路径的过程中车辆与目标位置对应的各个边界的最小距离,以得到边界距离。
[0237]
在一种可能的实施方式中,在获取车辆实时位置信息之前,轨迹规划模块2004,还用于:若车辆处于车位内,且车辆与车位的边界距离小于阈值,则根据车辆的当前位置生成抬升路径;
[0238]
泊车控制模块2005,还用于根据抬升路径指示车辆根据抬升路径行驶至标定位置,标定位置中车辆与车位的边界距离不小于阈值;
[0239]
其中,车辆实时位置信息包括车辆的车尾至车头的方向与所述车位的至少一条边界线之间的角度,该角度用于结合边界距离计算车辆驶出车位的转向半径。
[0240]
在一种可能的实施方式中,轨迹规划模块2004,具体可以用于:根据车辆的当前位置,规划出与行车路径相切的曲线,从而得到纠偏路径。
[0241]
在一种可能的实施方式中,轨迹规划模块2004,具体用于:根据车辆当前的转向半径以及车辆的当前位置规划出与行车路径相切的曲线,得到纠偏路径。
[0242]
在一种可能的实施方式中,车辆实时位置信息为根据感知传感器、车辆的运动学传感器、第三方定位系统或者第三方车姿传感器中的其中一种或多种采集到的定位信息得到。
[0243]
在一种可能的实施方式中,轨迹规划模块2004,还用于:根据预设车速范围和行车路径,采用样条差值算法,拟合得到与行车路径对应的速度曲线。
[0244]
在一种可能的实施方式中,自动泊车装置还包括:感知模块和预警模块2006;
[0245]
感知模块,用于检测行车路径中的障碍物信息;
[0246]
预警模块2006,用于若障碍物与车辆的距离在报警范围内,则生成报警信息,并根据报警信息进行报警,报警信息用于提示障碍物与车辆的距离在报警范围内;
[0247]
泊车控制模块2005,还用于若障碍物的距离与车辆的距离在制动范围内,则指示车辆停止行驶。
[0248]
在一种可能的实施方式中,根据报警信息进行报警之后,方法还包括:泊车控制模块2005,还用于若接收到行驶信号,则根据该行驶信号指示车辆根据行车路径继续行驶至目标位置。
[0249]
在一种可能的实施方式中,泊车控制模块2005,还用于若接收到终止信号,则根据该终止信号指示车辆终止行驶至目标位置。
[0250]
在一种可能的实施方式中,终止信号为方向盘转矩大于退出阈值后生成;或者,终止信号为制动踏板开度大于制动阈值后生成;或者,终止信号为接收到的信号。
[0251]
此外,自动泊车装置还可以包括人机交互模块2001或者感知模块2003等,自动泊车装置与车辆执行机构2007建立有连接。
[0252]
其中,该自动泊车装置可以用于执行本技术提供的自动泊车方法,该自动泊车装置可以是车载电脑148、处理器113、激光测距仪、雷达或者其他外围设备等。车辆执行机构2007可以包括前述图1中的控制系统106、行进系统102等。
[0253]
为便于理解,下面对本技术提供的自动泊车装置的结构进行示例性介绍。
[0254]
人机交互模块2001,用于通过图像、视频、音频传递给驾驶员相关信息,同时接收用户的操作,包括泊车模式的选择、泊车功能的启动、暂停和退出选择功能等。泊车模式如泊车入库模式或者泊车出库模式。针对泊车入库模式,人机交互模块2001还用于接收泊入车位的选择,针对泊车出库,人机交互模块2001还用于接收用户设置的泊出点;行车路径曲线的显示和周边环境以及告警信息的显示功能;泊车功能的启动、暂停和退出选择功能。
[0255]
感知模块2003用于检测车位信息、障碍物信息,硬件上采用摄像头、超声波、雷达、激光雷达中的至少一种或者多种的组合。
[0256]
定位模块2002将感知数据与本车传感器如轮速计、imu的数据进行融合,推测车辆当前的行进位置;该模块也可以结合第三方定位系统gnss或者第三方位姿传感器如水平仪等,进一步提高位姿精度。
[0257]
轨迹规划模块2004,具体包括行车路径和车速曲线的规划。对于路径规划,本技术又将其分为两种模式:基于空间余量最优的搜索式的行车路径规划和基于几何法的实时纠偏路径规划,参阅前述图2和图11中的相关介绍。
[0258]
泊车控制模块2005,用于接收轨迹规划模块2004输出的泊车轨迹位置和速度信息,采用比例-积分-微分控制(proportion integration differentiation,pid)、模型预测控制等算法分别计算加减速度信号和方向盘转角信号,然后分别传给车辆制动系统、动力系统、转向系统控制车辆采取相应动作。
[0259]
预警模块2006,用于实时检测泊车过程中泊车通行域内突然探测到的障碍物或者进入的行人、车辆等,并根据障碍物距离和运动学信息进行风险预测,并采取相应告警或者制动操作。
[0260]
车辆执行机构2007可以包括车辆内部的控制系统或者行进系统等,如前述图1中所示的行进系统102或者控制系统106等。车辆执行机构2007用于接收泊车控制模块2005的控制指令,从而控制车辆行驶,使车辆可以在泊车控制模块2005的控制下按照行车路径或者纠偏路径进行行驶。
[0261]
请参阅图21,本技术提供的另一种自动泊车装置的结构示意图,如下所述。
[0262]
该自动泊车装置可以包括处理器2101、存储器2102和收发器2103。该处理器2101、存储器2102和收发器2103通过线路互联。其中,存储器2102中存储有程序指令和数据。
[0263]
存储器2102中存储了前述图2或图11中的步骤对应的程序指令以及数据。
[0264]
处理器2101用于执行前述图2或图11中任一实施例所示的自动泊车装置执行的方法步骤。
[0265]
收发器2103为可选的,可以是数据传输的接口,也可以是无线或者有线收发模块
等。收发器2103用于向车辆的处理器或者控制系统传输指令或者数据等。
[0266]
本技术实施例还提供一种泊车系统,该泊车系统可以包括自动泊车装置以及一个或多个传感器,该一个或多个传感器用于采集车辆的位置信息或者目标位置的信息,该自动泊车装置用于执行前述图2或图11中任一项实施例中的方法的步骤。
[0267]
本技术实施例还提供了一种车辆,结合上述对图1的描述,请参阅图22,图22为本技术实施例提供的车辆的一种结构示意图,其中,车辆100上可以部署有图10和图11对应实施例中所描述的自动泊车装置,用于实现图2至图19b对应实施例中车辆的功能。由于在部分实施例中,车辆100还可以包括通信功能,则车辆100除了包括图1中所示的组件,还可以包括:接收器2201和发射器2202,其中,处理器113可以包括应用处理器1131和通信处理器1132。在本技术的一些实施例中,接收器2201、发射器2202、处理器113和存储器114可通过总线或其它方式连接。
[0268]
处理器113控制车辆的操作。具体的应用中,车辆100的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0269]
接收器2201可用于接收输入的数字或字符信息,以及产生与车辆的相关设置以及功能控制有关的信号输入。发射器2202可用于通过第一接口输出数字或字符信息;发射器2202还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器2202还可以包括显示屏等显示设备。
[0270]
本技术实施例中,应用处理器1131,用于执行图2-图19b对应实施例中的自动泊车方法的步骤。
[0271]
需要说明的是,对于应用处理器1131执行自动泊车方法的具体实现方式以及带来的有益效果,均可以参考图2至图19b对应的各个方法实施例中的叙述,此处不再一一赘述。
[0272]
本技术实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于生成车辆行驶速度的程序,当其在计算机上行驶时,使得计算机执行如前述图2至图19b所示实施例描述的方法中车辆所执行的步骤。
[0273]
本技术实施例还提供一种数字处理芯片。该数字处理芯片中集成了用于实现上述处理器113,或者处理器113的功能的电路和一个或者多个接口。当该数字处理芯片中集成了存储器时,该数字处理芯片可以完成前述实施例中的任一个或多个实施例的方法步骤。当该数字处理芯片中未集成存储器时,可以通过接口与外置的存储器连接。该数字处理芯片根据外置的存储器中存储的程序代码来实现上述实施例中第一终端或自动泊车装置执行的动作。
[0274]
本技术实施例中还提供一种包括计算机程序产品,当其在计算机上行驶时,使得计算机执行如前述图2至图19b所示实施例描述的方法中车辆所执行的步骤。
[0275]
本技术实施例中还提供一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行如前述图2至图19b所示实施例描述的方法中车辆所执行的步骤。
[0276]
本技术实施例提供的自动泊车装置或车辆具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图2至图19b所示实施例描述的自动泊车方法。可选地,所述存储单元为所述芯片
内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)等。
[0277]
具体的,请参阅图23,图23为本技术实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络处理器npu 230,npu 230作为协处理器挂载到主cpu(host cpu)上,由host cpu分配任务。npu的核心部分为运算电路230,通过控制器2304控制运算电路2303提取存储器中的矩阵数据并进行乘法运算。
[0278]
在一些实现中,运算电路2303内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路2303是二维脉动阵列。运算电路2303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2303是通用的矩阵处理器。
[0279]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器2302中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器2301中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2308中。
[0280]
统一存储器2306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,dmac)2305,dmac被搬运到权重存储器2302中。输入数据也通过dmac被搬运到统一存储器2306中。
[0281]
biu为bus interface unit即,总线接口单元2310,用于axi总线与dmac和取指存储器(instruction fetch buffer,ifb)2309的交互。
[0282]
总线接口单元2310(bus interface unit,简称biu),用于取指存储器2309从外部存储器获取指令,还用于存储单元访问控制器2305从外部存储器获取输入矩阵a或者权重矩阵b的原数据。
[0283]
dmac主要用于将外部存储器ddr中的输入数据搬运到统一存储器2306或将权重数据搬运到权重存储器2302中或将输入数据数据搬运到输入存储器2301中。
[0284]
向量计算单元2307包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如batch normalization(批归一化),像素级求和,对特征平面进行上采样等。
[0285]
在一些实现中,向量计算单元2307能将经处理的输出的向量存储到统一存储器2306。例如,向量计算单元2307可以将线性函数和/或非线性函数应用到运算电路2303的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2307生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2303的激活输入,例如用于在神经网络中的后续层中的使用。
[0286]
控制器2304连接的取指存储器(instruction fetch buffer)2309,用于存储控制器2304使用的指令;
[0287]
统一存储器2306,输入存储器2301,权重存储器2302以及取指存储器2309均为on-chip存储器。外部存储器私有于该npu硬件架构。
[0288]
其中,循环神经网络中各层的运算可以由运算电路2303或向量计算单元2307执行。
[0289]
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,asic,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
[0290]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0291]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用clu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0292]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0293]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0294]
本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0295]
最后应说明的是:以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1