发明内容
本申请提供了一种控制方法、装置和车辆,有助于减少用户在等待推荐车位时的等待时长,也有助于提升用户的泊车体验。
本申请中的车辆可以为广义概念上的车辆,可以是交通工具(如商用车、乘用车、摩托车、飞行车、火车等),工业车辆(如:叉车、挂车、牵引车等),工程车辆(如挖掘机、推土车、吊车等),农用设备(如割草机、收割机等),游乐设备,玩具车辆等,本申请实施例对车辆的类型不作具体限定。
第一方面,本申请提供了一种控制方法,该方法包括:获取第一空闲车位集合,该第一空闲车位集合包括第一空闲车位和第二空闲车位;在获取到第一泊车轨迹时,控制显示装置显示第一推荐车位集合,该第一推荐车位集合包括该第一空闲车位,该第一泊车轨迹为车辆泊入该第一空闲车位的轨迹;在获取到第二泊车轨迹时,控制该显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合,该第二推荐车位集合包括该第一空闲车位和该第二空闲车位,该第二泊车轨迹为该车辆泊入该第二空闲车位的轨迹。
基于上述技术方案,在获取到第一空闲车位集合后,可以先获取第一空闲车位集合中的第一空闲车位对应的第一泊车轨迹,并在获取到该第一泊车轨迹后控制显示装置显示第一推荐车位集合;随后获取第一空闲车位集合中第二空闲车位对应的第二泊车轨迹,并在获取到该第二泊车轨迹后控制显示装置显示第二推荐车位集合。这样,无需在所有空闲车位对应的泊车轨迹均规划完成后再向用户推荐车位,在获取了某个空闲车位对应的泊车轨迹后便可以向用户推荐该车位,有助于减少用户在等待推荐车位时的等待时长,也有助于提升用户的泊车体验。
在一些可能的实现方式中,控制该显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合也可以理解为增量式得向用户推荐车位。
在一些可能的实现方式中,获取到第一泊车轨迹,包括:根据车辆当前的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息,确定该第一泊车轨迹。
在一些可能的实现方式中,获取到第一泊车轨迹,包括:向云端服务器发送车辆当前的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息;接收云端服务器根据车辆当前的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息确定的该第一泊车轨迹。
基于上述技术方案,车辆可以向云端服务器发送车辆当前所在的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息,从而云端服务器可以结合上述信息规划第一泊车轨迹。由于云端服务器的计算能力更强,这样有助于提升规划得到泊车轨迹的效率,进一步缩短用户等待推荐车位的等待时长,有助于提升用户的泊车体验。
在一些可能的实现方式中,获取到第二泊车轨迹,包括:根据车辆当前的位姿、该第二空闲车位的位姿以及车辆周围的障碍物的信息,确定该二泊车轨迹。
在一些可能的实现方式中,获取到第二泊车轨迹,包括:向云端服务器发送车辆当前的位姿、该第二空闲车位的位姿以及车辆周围的障碍物的信息;接收云端服务器根据车辆当前的位姿、该第二空闲车位的位姿以及车辆周围的障碍物的信息确定的该第二泊车轨迹。
在一些可能的实现方式中,在获取到第一泊车轨迹之前,该方法还包括:确定优先级信息,该优先级信息用于指示获取该第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据第一车位参数、第二车位参数和用户的历史泊车记录中的至少一项,确定优先级信息,该优先级信息用于指示获取该第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级;其中,该第一车位参数包括该第一空闲车位和该车辆的相对位姿以及该第二空闲车位和该车辆的相对位姿,该第二车位参数包括该第一空闲车位周围障碍物的信息和该第二空闲车位周围障碍物的信息。
基于上述技术方案,在获取该第一泊车轨迹之前,可以先通过第一车位参数、第二车位参数和历史泊车记录中的至少一项,确定获取第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级。这样,有助于进一步缩短用户等待推荐车位的等待时长,可以保证最先呈现给用户的推荐车位大概率也是用户最满意的车位,有助于提升用户的泊车体验。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该优先级信息、该第一泊车轨迹和该第二泊车轨迹,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
基于上述技术方案,在控制显示装置显示该第二推荐车位集合时,还可以显示该第一空闲车位和该第二空闲车位的推荐优先级。这样,可以使得用户明确获知对空闲车位的推荐优先级排序,也帮助用户更好进行决策,有助于提升用户的泊车体验。
结合第一方面,在第一方面的某些实现方式中,根据该优先级信息、该第一泊车轨迹和该第二泊车轨迹,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级,包括:根据该第一泊车轨迹和该第二泊车轨迹,确定泊车参数,该泊车参数包括该车辆分别泊入该第一空闲车位和该第二空闲车位的换档次数、泊车风险和泊车时间中的至少一项;根据该优先级信息和该泊车参数,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
基于上述技术方案,通过结合优先级信息、车辆在泊入不同车位时的换档次数、泊车风险和泊车时间中的至少一项对空闲车位进行综合评价,有助于提升向用户推荐车位时的准确性。同时,可以使得用户明确获知对空闲车位的推荐优先级排序,也帮助用户更好进行决策,有助于提升用户的泊车体验。
结合第一方面,在第一方面的某些实现方式中,该第一空闲车位的推荐优先级大于该第二空闲车位的推荐优先级,该方法还包括:在预设时长内未检测到用户从该第二推荐车位集合中选择车位的操作时,控制该车辆自动泊入该第一空闲车位。
基于上述技术方案,在预设时长内未检测到用户从推荐车位集合中选择车位时,可以直接控制车辆自动泊入该推荐优先级较高的车位,避免了用户从多个推荐车位中选择车位的繁琐操作,有助于提升用户的泊车体验。
在一些可能的实现方式中,在获取到该第二泊车轨迹之前,若检测到用户从该第一推荐车位集合中选择该第一空闲车位且确定泊入该第一空闲车位的输入,控制车辆泊入该第一空闲车位且停止获取该第二泊车轨迹。
基于上述技术方案,用户可以随时打断增量式车位推荐过程,在已推荐的车位中选择第一空闲车位立刻泊入,无需在多个空闲车位的泊车轨迹均规划出来后再向用户进行车位推荐,有助于缩短用户在等待推荐车位时的等待时长。同时,在确定泊入该第一空闲车位时可以停止获取其他空闲车位对应的泊车轨迹,有助于降低计算开销。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:在检测到用户从该第二推荐车位集合中选择该第一空闲车位的输入时,控制该显示装置显示该第一泊车轨迹且提示用户是否泊入该第一空闲车位;在检测到用户确定泊入该第一空闲车位的输入时,根据该第一泊车轨迹,控制该车辆泊入该第一空闲车位。
基于上述技术方案,用户可以从已推荐车位选择某个车位,从而获取泊入对应车位的泊车轨迹的可视化结果。在确认泊入该车位时,车辆可以自动泊入该车位。
结合第一方面,在第一方面的某些实现方式中,该第一空闲车位集合还包括第三空闲车位,该方法还包括:在检测到用户选择该第三空闲车位的输入时,获取第三泊车轨迹,该第三泊车轨迹为该车辆泊入该第三空闲车位的轨迹;控制该显示装置从显示该第二推荐车位集合切换至显示第三推荐车位集合,该第三推荐车位集合包括该第三空闲车位。
基于上述技术方案,在增量式车位推荐过程中检测到用户选择空闲车位中还未被推荐的车位的输入后,可以随时触发增量式重推荐,避免计算资源浪费在用户不期望的车位上,有助于缩短用户等待自己期待区域的推荐车位的等待时长,从而有助于提升用户的泊车体验。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:控制该显示装置显示该第一空闲车位集合。
基于上述技术方案,在增量式车位推荐过程中,可以方便用户通过显示装置查看到空闲车位和推荐车位。
在一些可能的实现方式中,空闲车位集合中的车位的颜色与推荐车位集合中车位的颜色不同。这样,可以帮助用户快速区分哪些车位属于空闲车位且属于未被推荐的车位,哪些车位属于空闲车位且属于被推荐的车位。
结合第一方面,在第一方面的某些实现方式中,该获取第一空闲车位集合之前,该方法还包括:确定该车辆的速度小于或者等于预设速度阈值。
在一些可能的实现方式中,该确定该车辆的速度小于或者等于预设速度阈值,包括:确定车辆的速度为0。
第二方面,本申请提供了一种控制装置,该装置包括:获取单元,用于获取第一空闲车位集合,该第一空闲车位集合包括第一空闲车位和第二空闲车位;控制单元,用于在该获取单元获取到第一泊车轨迹时,控制显示装置显示第一推荐车位集合,该第一推荐车位集合包括该第一空闲车位,该第一泊车轨迹为车辆泊入该第一空闲车位的轨迹;该控制单元,还用于在该获取单元获取到第二泊车轨迹时,控制该显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合,该第二推荐车位集合包括该第一空闲车位和该第二空闲车位,该第二泊车轨迹为该车辆泊入该第二空闲车位的轨迹。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:第一确定单元,用于根据第一车位参数、第二车位参数和用户的历史泊车记录中的至少一项,确定优先级信息,该优先级信息用于指示获取该第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级;其中,该第一车位参数包括该第一空闲车位和该车辆的相对位姿以及该第二空闲车位和该车辆的相对位姿,该第二车位参数包括该第一空闲车位周围障碍物的信息和该第二空闲车位周围障碍物的信息。
结合第二方面,在第二方面的某些实现方式中,该控制单元,还用于:根据该优先级信息、该第一泊车轨迹和该第二泊车轨迹,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:第二确定单元,用于根据该第一泊车轨迹和该第二泊车轨迹,确定泊车参数,该泊车参数包括该车辆分别泊入该第一空闲车位和该第二空闲车位的换档次数、泊车风险和泊车时间中的至少一项;该控制单元,用于:根据该优先级信息和该泊车参数,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
结合第二方面,在第二方面的某些实现方式中,该第一空闲车位的推荐优先级大于该第二空闲车位的推荐优先级,该装置还包括检测单元,该控制单元,用于:在预设时长内该检测单元未检测到用户从该第二推荐车位集合中选择车位的操作时,控制该车辆自动泊入该第一空闲车位。
结合第二方面,在第二方面的某些实现方式中,该装置还包括检测单元,该控制单元,用于:在该检测单元检测到用户从该第二推荐车位集合中选择该第一空闲车位的输入时,控制该显示装置显示该第一泊车轨迹且提示用户是否泊入该第一空闲车位;在该检测单元检测到用户确定泊入该第一空闲车位的输入时,根据该第一泊车轨迹,控制该车辆泊入该第一空闲车位。
结合第二方面,在第二方面的某些实现方式中,该第一空闲车位集合还包括第三空闲车位,该获取单元,还用于在用户选择该第三空闲车位时,获取第三泊车轨迹,该第三泊车轨迹为该车辆泊入该第三空闲车位的轨迹;该控制单元,还用于控制该显示装置从显示该第二推荐车位集合切换至显示第三推荐车位集合,该第三推荐车位集合包括该第三空闲车位。
结合第二方面,在第二方面的某些实现方式中,该控制单元,还用于控制该显示装置显示该第一空闲车位集合。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:第三确定单元,用于在该获取单元获取该第一空闲车位集合之前,确定该车辆的速度小于或者等于预设速度阈值。
第三方面,本申请提供了一种控制装置,该装置包括处理单元和存储单元,其中存储单元用于存储指令,处理单元执行存储单元所存储的指令,以使该装置执行第一方面中任一种可能的控制方法。
第四方面,本申请提供了一种控制系统,该控制系统包括传感器和计算平台,该计算平台包括第二方面中任一种可能的控制装置,或者,包括第三方面所述的控制装置。
结合第四方面,在第四方面的某些实现方式中,该控制系统还包括显示装置。
结合第四方面,在第四方面的某些实现方式中,该计算平台位于云端服务器中。
第五方面,本申请提供了一种车辆,该车辆包括第二方面中任一种可能的控制装置,或者,包括第三方面所述的控制装置,或者,包括第四方面所述的控制系统。
第六方面,本申请提供了一种服务器,该服务器包括第二方面或者第三方面中任一种可能的控制装置。
结合第六方面,在第六方面的某些实现方式中,该服务器还包括通信单元,该通信单元用于接收车辆发送的车辆的传感器采集的数据;向该车辆发送推荐车位集合的信息。
第七方面,提供了一种移动终端,该移动终端包括第二方面或者第三方面中任一种可能的控制装置。
第八方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中任一种可能的控制方法。
需要说明的是,上述计算机程序代码可以全部或者部分存储在第一存储介质上,其中第一存储介质可以与处理器封装在一起的,也可以与处理器单独封装,本申请实施例对此不作具体限定。
第九方面,本申请提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中任一种可能的控制方法。
第十方面,本申请提供了一种芯片,该芯片包括电路,该电路用于执行上述第一方面中任一种可能的控制方法。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“至少一项”是指一项或一项以上。例如,“A和B中的至少一项”,类似于“A和/或B”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和B中的至少一项,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例中采用诸如“第一”、“第二”的前缀词,仅仅为了区分不同的描述对象,对被描述对象的位置、顺序、优先级、数量或内容等没有限定作用。本申请实施例中对序数词等用于区分描述对象的前缀词的使用不对所描述对象构成限制,对所描述对象的陈述参见权利要求或实施例中上下文的描述,不应因为使用这种前缀词而构成多余的限制。此外,在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1是本申请实施例提供的车辆100的一个功能框图示意。车辆100可以包括感知系统120、显示装置130和计算平台150,其中,感知系统120可以包括感测关于车辆100周边的环境的信息的一种或多种传感器。例如,感知系统120可以包括定位系统,定位系统可以是全球定位系统(global positioning system,GPS),也可以是北斗系统或者其他定位系统。感知系统120还可以包括惯性测量单元(inertial measurement unit,IMU)、激光雷达、毫米波雷达、超声雷达以及摄像装置中的一种或者多种。
车辆100的部分或所有功能可以由计算平台150控制。计算平台150可包括一个或多个处理器,例如处理器151至15n(n为正整数),处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如中央处理单元(central processing unit,CPU)、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital signal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路(application-specificintegrated circuit,ASIC)或可编程逻辑器件(programmable logic device,PLD)实现的硬件电路,例如现场可编程门阵列(field programmable gate array,FPGA)。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,处理器还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(neural network processingunit,NPU)、张量处理单元(tensor processing unit,TPU)、深度学习处理单元(deeplearning processing unit,DPU)等。此外,计算平台150还可以包括存储器,存储器用于存储指令,处理器151至15n中的部分或全部处理器可以调用存储器中的指令,以实现相应的功能。
座舱内的显示装置130主要分为两类,第一类是车载显示屏;第二类是投影显示屏,例如抬头显示装置(head up display,HUD)。车载显示屏是一种物理显示屏,是车载信息娱乐系统的重要组成部分,座舱内可以设置有多块显示屏,如数字仪表显示屏,中控屏,副驾驶位上的乘客(也称为前排乘客)面前的显示屏,左侧后排乘客面前的显示屏以及右侧后排乘客面前的显示屏,甚至是车窗也可以作为显示屏进行显示。抬头显示,也称平视显示系统。主要用于在驾驶员前方的显示设备(例如档风玻璃)上显示例如时速、导航等驾驶信息。以降低驾驶员视线转移时间,避免因驾驶员视线转移而导致的瞳孔变化,提升行驶安全性和舒适性。HUD例如包括组合型抬头显示(combiner-HUD,C-HUD)系统、风档型抬头显示(windshield-HUD,W-HUD)系统、增强现实型抬头显示系统(augmented reality HUD,AR-HUD)。应理解,HUD也可以随着技术演进出现其他类型的系统,本申请对此不作限定。
如前所述,当前在进行车位推荐时,车辆需要将周围空间内所有车位的相关特征均计算出来后才进行推荐,这样会导致用户等待推荐车位的时间较长,从而导致用户体验较差。
本申请实施例提供了一种泊车方法、装置和车辆,有助于减少用户在等待推荐车位时的等待时长,也有助于提升用户的泊车体验。
图2示出了本申请实施例提供的泊车系统200的示意图。如图2所示,该系统200包括感知数据处理装置210、车位推荐装置220、规划装置230和控制装置240。
感知数据处理装置210用于接收车辆的传感器采集的数据并根据该数据确定空闲车位及其位置信息。感知数据处理装置210可以将空闲车位以及其位置信息发送给车位推荐装置220以及规划装置230。
规划系统230在接收到感知数据处理装置210发送的空闲车位以及其位置信息后,可以采用规划算法对空闲车位进行规划,并将规划后的车位对应的泊车轨迹发送给车位推荐系统220。
车位推荐系统220可以根据感知数据处理装置210发送的空闲车位以及其位置信息、规划系统230发送的规划后的车位的泊车轨迹以及由显示装置260输入的用户意图,对车位进行综合分值计算和动态排序,并控制显示装置260增量式得向用户提示推荐车位的信息。
控制装置240可以连接车辆硬件250。在车位推荐系统220确定用户从推荐车位中选择某个车位的操作时,可以指示规划装置230向控制装置240发送该车位对应的泊车轨迹。控制装置240可以根据该车位对应的泊车轨迹控制车辆硬件250,从而使得车辆完成自动泊车操作。
可选地,上述车辆硬件250和/或显示装置260也可以位于该泊车系统200中。
以上感知数据处理装置210、车位推荐装置220、规划装置230和控制装置240可以位于上述计算平台150中,显示装置260可以为上述显示装置130。车辆硬件250可以包括转向系统、制动系统和换档系统等。
图3示出了本申请实施例提供的控制方法300的示意性流程图。该方法300可以由图1所示的车辆100执行,或者,该方法300可以由上述计算平台150执行,或者,该方法300可以由计算平台150和传感器组成的系统执行,或者,该方法300可以由上述计算平台150中的片上系统(system-on-chip,SoC)执行,或者,该方法300可以由计算平台150中的处理器执行,或者,该方法300可以由上述泊车系统200执行,或者,该方法300可以由移动终端(例如,手机)执行。下面以执行主体是车俩为例进行说明。该方法300包括:
S310,获取第一空闲车位集合,该第一空闲车位集合包括第一空闲车位和第二空闲车位。
可选地,该空闲车位可以为被划分了车位线的区域(例如,矩形区域)且该区域中不存在障碍物(例如,车辆、地锁、摩托车等)。
或者,该空闲车位也可以是未被划分车位线的区域。车辆可以根据车辆周围障碍物的信息进行区域划分,并将其中某些区域确定为空闲车位所在的区域。
可选地,该获取第一空闲车位集合之前,该方法300还包括:确定该车辆的速度小于或者等于预设速度阈值。
可选地,确定该车辆的速度小于或者等于预设速度阈值,包括:确定车辆的速度为0。
示例性的,在车辆进入某个停车区域(例如,地上停车场或者地下停车场)且车辆的速度为0时,可以通过座舱外的传感器采集的数据确定车辆周围的一个或者多个空闲车位。如该座舱外的传感器包括但不限于摄像头、毫米波雷达、厘米波雷达或者激光雷达中的至少一项。
可选地,该方法300还包括:控制该显示装置显示该第一空闲车位集合。
示例性的,车辆可以通过中控屏显示车辆周围的一个或者多个空闲车位的信息。
可选地,控制该显示装置显示该第一空闲车位集合,包括:控制该显示装置以第一颜色显示该第一空闲车位集合中的每个空闲车位。
S320,在获取到第一泊车轨迹时,控制显示装置显示第一推荐车位集合,该第一推荐车位集合包括该第一空闲车位,该第一泊车轨迹为车辆泊入该第一空闲车位的轨迹。
可选地,获取到第一泊车轨迹,包括:根据车辆当前的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息,确定该第一泊车轨迹。
可选地,获取到第一泊车轨迹,包括:车辆向云端服务器发送车辆当前的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息;车辆接收云端服务器根据车辆当前的位姿、该第一空闲车位的位姿以及车辆周围的障碍物的信息确定的该第一泊车轨迹。由于云端服务器的计算能力更强,这样有助于提升规划得到泊车轨迹的效率,进一步缩短用户等待推荐车位的等待时长,有助于提升用户的泊车体验。
可选地,车辆可以随机确定获取第一泊车轨迹的优先级大于获取该第一空闲车位集合中除第一空闲车位以外的其他车位的泊车轨迹的优先级。
这样,在获取到第一空闲车位集合后,可以先获取第一空闲车位集合中的第一空闲车位对应的第一泊车轨迹,并在获取到该第一泊车轨迹后控制显示装置显示第一推荐车位集合。这样,无需在对所有空闲车位对应的泊车轨迹均规划完成后才向用户推荐车位,而是在获取了某个空闲车位对应的泊车轨迹后便可以向用户推荐该车位,有助于减少用户在等待推荐车位时的等待时长,也有助于提升用户的泊车体验。
可选地,控制显示装置显示第一推荐车位集合,包括:控制显示装置以第二颜色显示第一推荐车位集合,该第一颜色与该第二颜色不同。
S330,在获取到第二泊车轨迹时,控制该显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合,该第二推荐车位集合包括该第一空闲车位和该第二空闲车位,该第二泊车轨迹为该车辆泊入该第二空闲车位的轨迹。
可选地,控制显示装置显示第二推荐车位集合,包括:控制显示装置以该第二颜色显示第二推荐车位集合。
以上控制该显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合也可以理解为增量式得向用户推荐车位。
可选地,获取到第二泊车轨迹,包括:根据车辆当前的位姿、该第二空闲车位的位姿以及车辆周围的障碍物的信息,确定该二泊车轨迹。
可选地,获取到第二泊车轨迹,包括:向云端服务器发送车辆当前的位姿、该第二空闲车位的位姿以及车辆周围的障碍物的信息;接收云端服务器根据车辆当前的位姿、该第二空闲车位的位姿以及车辆周围的障碍物的信息确定的该第二泊车轨迹。
可选地,在获取到第一泊车轨迹之前,该方法还包括:确定优先级信息,该优先级信息用于指示获取该第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级。
可选地,该确定优先级信息,包括:根据第一车位参数、第二车位参数和用户的历史泊车记录中的至少一项,确定优先级信息,该优先级信息用于指示获取该第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级;其中,该第一车位参数包括该第一空闲车位和该车辆的相对位姿以及该第二空闲车位和该车辆的相对位姿,该第二车位参数包括该第一空闲车位周围障碍物的信息和该第二空闲车位周围障碍物的信息。
示例性的,第一车位参数可以用于反应空闲车位相对于驾驶员的目视特征。例如,空闲车位相对于驾驶员的目视特征可以包括车位两对角线连线交点相对于驾驶员的目视距离和目视角度。
示例性的,第二车位参数可以用于反应空闲车位的空闲度特征。车位空闲度特征决定了车辆自动规划泊入的难易程度。
示例性的,历史泊车记录包括在过去一段时间内用户驾驶车辆泊车或者车辆自动泊车时,车辆的起始位置和最终泊入车位的信息。
可选地,该方法300还包括:根据该优先级信息、该第一泊车轨迹和该第二泊车轨迹,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。这样,在控制显示装置显示该第二推荐车位集合时,还可以显示该第一空闲车位和该第二空闲车位的推荐优先级,使得用户明确获知空闲车位的推荐优先级排序,也帮助用户更好进行决策,有助于提升用户的泊车体验。
可选地,根据该优先级信息、该第一泊车轨迹和该第二泊车轨迹,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级,包括:根据该第一泊车轨迹和该第二泊车轨迹,确定泊车参数,该泊车参数包括该车辆分别泊入该第一空闲车位和该第二空闲车位的换档次数、泊车风险和泊车时间中的至少一项;根据该优先级信息和该泊车参数,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
示例性的,该换档次数可以包括泊车轨迹中前进档(D档)与倒车档(R档)的交替次数。
示例性的,该泊车风险项可以反映在整个过程中规划的泊车轨迹与障碍物的碰撞风险。
示例性的,该泊车时间可以为车辆跟踪规划的泊车轨迹所需时间,所需时间由泊车轨迹的长度和车辆泊车时的速度规划结果共同决定。
可选地,该第一空闲车位的推荐优先级大于该第二空闲车位的推荐优先级,该方法300还包括:在预设时长内未检测到用户从该第二推荐车位集合中选择车位的操作时,控制该车辆自动泊入该第一空闲车位。
可选地,在获取到该第二泊车轨迹之前,若检测到用户从该第一推荐车位集合中选择该第一空闲车位的输入,控制该显示装置显示该第一泊车轨迹且停止获取该第二泊车轨迹。
可选地,该方法300还包括:在检测到用户从该第二推荐车位集合中选择该第一空闲车位的输入时,控制该显示装置显示该第一泊车轨迹且提示用户是否泊入该第一空闲车位;在检测到用户确定泊入该第一空闲车位的输入时,根据该第一泊车轨迹,控制该车辆泊入该第一空闲车位。
可选地,该第一空闲车位集合还包括第三空闲车位,该方法300还包括:在检测到用户选择该第三空闲车位的输入时,获取第三泊车轨迹,该第三泊车轨迹为该车辆泊入该第三空闲车位的轨迹;控制该显示装置从显示该第二推荐车位集合切换至显示第三推荐车位集合,该第三推荐车位集合包括该第三空闲车位。这样,在增量式车位推荐过程中,在检测到用户选择空闲车位中还未被推荐的车位的输入后,可以随时触发增量式重推荐,避免计算资源浪费在用户不期望的车位上,有助于缩短用户等待自己期待区域的推荐车位的等待时长,有助于提升用户的泊车体验。
图4示出了本申请实施例提供的另一系统400的示意性框图。该系统400包括空闲车位感知模块401、首选车位评价模块402、缓存池403、首选优先级队列模块404、异步线性规划队列模块405、车位可泊性评价模块406、综合推荐分值计算模块407、推荐优先级队列模块408、人机交互界面(human machine interface,HMI)显示模块409、HMI人类意图获取模块410、哈希存储池411和泊车跟踪控制模块412。
空闲车位感知模块401用于获取车辆座舱外传感器采集的数据并根据该数据确定车辆周围的空闲车位集合。如编号1的连线所示,空闲车位感知模块401可以将确定的空闲车位集合发送给首选车位评价模块402。
可选地,编号11的虚线连线表示用户可以选择性的介入首选车位评价模块402的计算过程中,参与首选车位评价。
首选车位评价模块402用于对空闲车位集合进行评分。如编号2的连线所示,首选车位评价模块402可以将空闲车位集合中每个车位以及每个车位对应的评分发送给缓存池403。
缓存池403在接收每个车位以及每个车位对应的评分后将其缓存下来,直到首选车位评价模块402传递完毕。这个过程耗时非常短,因为首选车位评价模块402在计算每个车位的评分时耗时很短。
如编号3的连线所示,当缓存池缓403存完毕后,一次性连续地将缓存的每个车位以及每个车位对应的评分发送给首选优先级队列模块404。首选优先级队列模块404可以以O(n)的时间复杂度基于每个车位的评分构建一大顶堆,n为感知到的空闲车位个数。
本申请实施例中,通过缓存池403对每个车位以及每个车位对应的评分进行缓存,可以系统400计算的复杂度,或者,可以降低构建堆的时间复杂度。
如编号4的连线所示,首选优先级队列模块404发送相关车位信息给异步线性规划队列模块405。异步线性规划队列模块405可以按照仅规划队头车位、队头车位在一定时间内规划完毕弹出丢弃后才能再规划新的队头车位、队头车位超出阈值时间仍未规划完毕则弹出并重新推入队尾且待后续时间充足时重新规划或者队头车位规划失败则弹出丢弃的准则,结合泊车轨迹规划算法依次进行空闲车位的泊车轨迹进行规划。每个车位的规划结果按照车位的标识与泊入轨迹建立哈希映射,并经由编号13连线储存到哈希存储池411中备用。一方面,车位的泊车轨迹可以用于发送给泊车跟踪控制模块412,从而由泊车跟踪控制模块412根据该泊车轨迹对车辆进行跟踪和控制;另一方面,车位的泊车轨迹可以用于HMI显示模块409的可视化显示。
以上队头车位可以理解为堆顶的车位,或者,队头车位也可以理解为根据上述首选车位评价模块402确定的评分较高的车位。例如,首选优先级队列模块404可以对n个空闲车位的评分进行排序,并选择n个空闲车位中评分靠前的m个队头车位发送给异步线性规划队列模块405。
异步线性规划队列模块405对队头车位的泊车轨迹规划完毕后,可以将队头车位的泊车轨迹经由编号5连线发送给车位可泊性评价模块406。
车位可泊性评价模块406可以根据队头车位中每个车位的可用泊车轨迹计算车位的可泊性分值并通过由编号6连线发送给综合推荐分值计算模块407。
综合推荐分值计算模块407可以根据首选车位评价模块402计算的分值和车位可泊性评价模块406计算的分值,确定对应车位的综合推荐分值。综合推荐分值计算模块407可以将车位的综合推荐分值经由编号7连线发送给推荐优先级队列模块408。
可选地,综合推荐分值计算模块407可以将首选车位评价模块402计算的分值和车位可泊性评价模块406计算的分值进行加权,从而确定对应车位的综合推荐分值。
推荐优先级队列模块408是一以推荐分值为基础的大顶堆。推荐优先级队列模块408不断接收从编号7连线传递的包括推荐分值的车位的信息,且不断以O(logn)的时间复杂度更新大顶堆,n为当前在堆中的车位数量。
本申请实施例中,由于在异步线性规划队列模块405处进行可行泊车轨迹规划时的耗时不可忽略,所以可以增量式的对推荐优先级队列模块408进行更新,从而可以避免需要在对所有空闲车位对应的泊车轨迹规划完成后才确定该推荐优先级队列模块408中的推荐车位。这样,可以不在推荐优先级队列模块408之前增加缓存池并以O(n)的时间复杂度调整建堆。
HMI显示模块409经由编号8连线对推荐优先级队列模块408只读,且负责对推荐优先级队列模块408中推荐车位进行动态可视化。HMI显示模块409可以通过编号9连线为用户提供可视化的推荐车位,以帮助用户进行泊车的决策。
HMI人类意图获取模块410可以通过编号10的连线获取用户选定某个推荐车位的意图信息,或者,HMI人类意图获取模块410可以获取用户从空闲车位且未被推荐的车位中选择某个空闲车位的输入,并将用户选择的空闲车位的信息发送给首选车位评价模块402,编号为11的虚线表示用户可以介入首选车位评价模块402的计算过程,也可不介入首选车位评价模块402的计算过程而是由系统400全自动走完所有流程。
在检测到用户选择某个推荐车位的操作时,HMI人类意图获取模块410可以将该推荐车位的信息经由编号12连线发送给哈希存储池411。哈希存储池411可以以O(1)的时间复杂度调取泊入该推荐车位的泊车轨迹,并经由编号14连线发送给泊车跟踪控制模块412。泊车跟踪控制模块412可以由控制车辆自动泊入该推荐车位。
以上O(1)的时间复杂度表示从检测到用户选择某个推荐车位到哈希存储池411索引得到该推荐车位的轨迹所耗费的时间。
可选地,当车辆的位置发生变化时,系统400可以重新执行上述图4所示的流程。
本申请实施例中,当车辆的位置变化时,感知到的空闲车位相对于车辆的相对位姿也会发生相应的变化,可能之前确定的空闲车位集合中的某些车位超出了车俩的感知范围,新的空闲车位进入了车辆的感知范围,进而分步计算的分值也可能发生变化。因此,对于本申请实施例中各种存储数据结构的存储生命周期来说,当车辆的位置有变化,可以对相关存储结构中的数据进行清空并在检测到车辆停稳后重新执行上述流程。
可选地,本申请实施例还提供了一种异步机制,如图4中的双实线框所示,首选车位评价模块402、缓存池403、首选优先级队列模块404、车位可泊性评价模块406、综合推荐分值计算模块407、推荐优先级队列模块408和哈希存储池411均为主线程的功能模块,除此之外,主线程还负责接收其他节点的消息、向其他节点发送消息、运行状态机等。主线程以一定的频率循环执行相关功能模块。
示例性的,该其他节点包括机器人操作系统(robot operating system,ROS)下的节点。
可选地,异步线性规划队列模块405和哈希存储池411可以分别位于不同的队列中。
示例性的,异步线性规划队列模块405和哈希存储池411可以分别位于异步线程和主线程中。异步线程和主线程可以同属一个进程。在主线程中,首选优先级队列模块404一次性地顺序弹出车位到异步线性规划队列模块405后,无需等待异步线程规划队列模块405计算的结果(例如,计算得到的每个车位的可用泊车轨迹),便可执行主线程的其他功能模块,只需在定期循环的主线程中加入读取异步线性规划队列模块405返回的计算结果到哈希存储池411的步骤即可(如图4中编号13的连线)。
如图4中双虚线框所示,空闲车位感知模块401、HMI显示模块409、泊车跟踪控制模块412可以分别为独立的进程,这些进程产生消息,或者,对接收消息进行相关处理,与上述实施例中描述的主线程以触发式的方式进行交互。
示例性的,空闲车位感知模块401可以感知到客观存在的空闲车位的信息,然后在主线程每次循环接收其他节点的数据时交由主线程处理。主线程每次循环时均会组装一些相关消息发送给其他节点,主线程中推荐优先级队列模块408会在主线程的每次循环中发送推荐车位的信息给HMI显示模块409且由HMI显示模块409进行显示。一种可能实现的方式是,只有当发给HMI显示模块409的推荐车位的信息发生改变时,HMI显示模块409进行重新渲染绘制;在检测到用户选择某个推荐车位或者经过车辆默认选择某个综合推荐分值最高的推荐车位触发后,哈希存储池411可以通过主线程向泊车跟踪控制模块412发送该推荐车位的泊车轨迹,从而泊车跟踪控制模块412进行实际的泊车跟踪。
基于上述异步架构,将较为耗时可能造成阻塞的泊车轨迹规划放在了另一个线程中,主线程异步无阻塞地获取其规划结果。这样的机制可以达到如下技术效果:推荐车位可以增量式的在HMI界面上显示。用户可以无等待快速切换点选已推荐车位,获取泊入对应车位的泊车轨迹的可视化结果;用户可以随时打断增量式车位推荐过程,在已推荐的车位中任意选择某个车位无等待立刻泊入;在增量式车位推荐过程中,用户可以选择某个还未被推荐的空闲车位,即用户可以介入到首选车位评价模块402的计算过程中,随时触发增量式重推荐。
以上通过图4所示的系统架构介绍了本申请实施例中向用户推荐车位的一种可能的实现方式。下面介绍上述实施例中所涉及的首选车位评价模块402、车位可泊性评价模块406和综合推荐分值计算模块407在进行分值计算时一些可能的实现方式。
(A)首选车位评价模块402的计算过程
对于感知到的空闲车位,在保持车辆不动或者车辆的速度小于预设速度阈值的前提下,各个车位均存在规划出泊车轨迹的所需时间,且不同车位的所需规划时间有长有短。考虑到用户的舒适性体验,一方面需要尽可能快的出现推荐车位推荐给用户,另一方面向推荐的车位应充分考虑用户的使用体验。
基于如上考虑,在图4所示的系统400中设计了两步优先级队列。首选车位评价模块402对空闲车位做出初步打分,将预测所需规划时间较短的车位和最大化用户舒适度的车位赋予较高的分值。首选车位评价模块402优先把分值高的车位放到后续规划和推荐流程,达到尽可能快的出现可用的且有很大概率能满足用户需求的舒适车位推荐给用户的效果。否则,如果让规划时间耗费过长的难例车位或者用户看不到的车位优先走后续流程,可能造成较差的用户体验。例如,放入到异步线性规划队列模块405中的车位规划时间过长或者规划时间超出预设时间阈值,可能会造成用户长时间看不到推荐结果。即便增量式推荐了几个可用车位,用户也很大概率不满意,需要进一步等待其他推荐车位出现。
可选地,首选车位评价模块402在进行首选车位评分时可以参考以下四个评价维度中的一个或者多个:空闲车位相对于驾驶员的目视特征、符合驾驶员目视习惯的个性化特征、车位空间空闲度特征、驾驶员意图特征。
a.空闲车位相对于驾驶员的目视特征
示例性的,空闲车位相对于驾驶员的目视特征可以包括车位两对角线连线交点相对于驾驶员的目视距离和目视角度两个维度。
目视距离越远的车位,遮挡可能会越多,且从主观意愿上来讲,大部分驾驶员都不会选择目视距离较远的车位,毕竟车停在当前位置已经是经过驾驶员初步感性筛选过的。
目视角度反应了驾驶员观察车位的自然程度,对于目视角度较差的车位,驾驶员有时需要以一种极不自然的身体位姿去观察车位;同时,具有较好目视特征的车位是在驾驶员的接管边界之内,驾驶员不需要耗费过多精力去警惕未知的东西突然出现。
图5示出了本申请实施例提供的一种驾驶员目视特征示意图。为了方便量化,可以以在地面的二维投影来计算,如图5所示,O点可以为驾驶员座位中心处。经过O点,与车辆侧边平行向前的方向为x轴正方向。各车位的目视向量以O点为起点,对应车位对角线连线交点为终点。
示例性的,记为目视向量,目视角度θ和目视距离L可以通过如下公式(1)和(2)计算:
示例性的,可以将目视角度在[-π,π)归一为[0,1),归一化的目视角度为归一化的目视距离为可以为在x轴上的分向量。例如,与x轴正方向重合时的归一化结果为1;与x轴正方向夹角为±90°时的归一化结果为0.5;与x轴正方向夹角为±180°时的归一化结果为0。
示例性的,目视特征分值s0可以通过如下公式(3)和(4)计算:
可以看到,目视特征分值s0的计算与和有关。在以α、β、γ决定的目视角度区间范围内,角度分值为1;否则为0。对于可以看到距离越远,距离分值对s0的贡献越小。
可选地,常数α、β和γ的值与用户相关,可基于用户历史泊车数据确定。例如,α、β和γ可以由过去一段时间内(例如,1个月)或者过去k次(例如,k为100)泊车过程中用户选择的车位所在的扇形区域确定,每个扇形区域可以对应不同α、β和γ。上述公式(3)和(4)中的α、β和γ可以分别为多个扇形区域中使用频率最高的α、β和γ。
以上空闲车位相对于驾驶员的目视特征可以由上述第一车位参数确定。
b.符合驾驶员目视习惯的个性化特征
示例性的,首选车位评价模块402可以将车位区域按照归一化的目视角度分为多个区域。例如,目视角度可以分为[0,0.25)、[0.25,0.5)、[0.5,0.75)、[0.75,1)四个区域。根据用户历史泊车数据中记录的用户选择四个区域的车位的频率,确定反映驾驶员目视习惯的个性化特征的分值,记作s1。
可选地,对于横跨多个区域的车位,可以按照车辆在多个区域中每个区域的投影面积确定车辆所在的区域。例如,某次泊车过程中车辆泊入的区域横跨目视角度为[0,0.25)、[0.25,0.5)这两个区域,且车辆在目视角度为[0,0.25)的区域中的投影面积大于车辆在目视角度为[0.25,0.5)的区域中的投影面积,那么可以认为车辆所在的区域为目视角度为[0,0.25)的区域。
以上符合驾驶员目视习惯的个性化特征可以由用户的历史泊车记录确定。
c.车位空间空闲度特征
车位空间空闲度特征决定了车辆自动规划泊入的难易程度。对于车位及周边环境较为空旷的场景,大部分情况规划难度低且规划时间短;而对于车位较狭窄或者车位周边环境狭窄的极限场景,大多规划难度高且对应的规划时间较长。记车位空间空闲度特征分值为s2。基于上述分析,首选车位评价模块402可以建立一种评估车位空间空闲度特征的方法,旨在对泊车规划所需时间做出有效预测。
示例性的,以泊入待评估车位快速规划为基础,选用一种较为简单、考虑代价较少、或者不进行优化步骤的规划算法,以较短的时间快速规划出一条粗略的泊车轨迹。如果在给定的较短时间阈值内没有规划出来或者规划失败,则置s2为0;或者,基于该泊车轨迹,在各档位段均匀采样规划的自车位姿,并以采样的自车位姿所对应的自车边界开始向与边界垂直的方向向外扩展,直到距离障碍物边界一定距离。例如,在车位外部,可以扩展到障碍物表面;在车位内部,出于自车和他车安全考虑,考虑相邻车位占据或障碍物的语义信息,如果相邻车位中是其他车辆则扩展到距离其他车辆表面第一距离阈值;或者,如果相邻车位中是非车辆则扩展到距离障碍表面第二距离阈值,其中,第一距离阈值可以大于第二距离阈值。首选车位评价模块402采样的每一规划点均可以获得对应的扩展宽度,对各采样点的扩展宽度取均值并作归一化处理,可以得到车位空间空闲度分值s2。
以上车位空间空闲度特征可以由上述第二车位参数确定。
d.驾驶员意图特征
可选地,驾驶员可以参与到首选车位评价模块402的计算过程中,记驾驶员意图特征分值为s3。驾驶员可以按照意愿选择一个或多个车位,表明驾驶员希望首选车位评价模块402对选定的车位及其周边相近车位进行优先推荐。s3的计算方式可以为对于驾驶员选定的车位,分值为1;以车位的对角线交点代表车位,其余车位的s3分值可以为距离选定车位最近距离的归一化结果。
基于上述四个评价维度,有以下两种首选车位评分的计算方式。记首选车位评价模块402输出的首选车位分值为ssum,1。
方式一:全自动评价
此种评价方式中不需要用户参与,可以根据如下公式(5)计算ssum,1:
ssum,1=ω0s0+ω1s1+ω2s2(5)
其中,ω0、ω1和ω2分别为空闲车位相对于驾驶员的目视特征、符合驾驶员目视习惯的个性化特征、车位空间空闲度特征对应的权重。
可选地,ω0、ω1和ω2可以为预设值(例如,分别为0.4、0.3和0.3),或者,ω0、ω1和ω2也可以是在实际应用中进行标定得到的。
方式二:半自动评价
此种方式需要用户参与,考虑到用户直接选定倾向的推荐车位,那么s0、s1并无太大意义。在此种方式中,可以采用s2、s3分值进行综合评价。示例性的,可以根据如下公式(6)计算ssum,1:
ssum,1=ω3s2+ω4s3(6)
其中,ω3和ω4分别为车位空间空闲度特征和驾驶员意图特征对应权重。
可选地,ω3和ω4可以为预设值(例如,分别为0.4和0.6),或者,ω3和ω4也可以是在实际应用中进行标定得到的。
可选地,ω4可以大于ω3。因为对于用户的意图车位来说,用户多等待一些时间换取想要的车位的推荐也是可接受的。
(B)车位可泊性评价模块406的计算过程
如图4中编号5的连线,车位可泊性评价模块406的输入是异步线性规划队列模块405的输出。异步线性规划队列模块405的输出是可以直接下发给控制进行跟踪控制的泊车轨迹。因此,车位可泊性评价模块406是基于泊车轨迹的。同时,由于是基于可以直接跟踪控制的泊车轨迹进行的计算,因此车位可泊性评价模块406对于车位可泊性的评价是准确的。
可选地,车位可泊性评价模块406在进行车位可泊性的评分时可以参考以下三个评价维度中的一个或者多个:泊车换挡次数、泊车风险和泊车时间。
a.泊车换挡次数
泊车换挡次数是指异步线性规划队列模块405规划的可用泊车轨迹中D档与R档的交替次数。整个泊车过程中,换挡次数越多,用户体验越差。示例性的,记对多个空闲车位的换挡次数归一化后的换挡次数为g,则泊车换挡次数分值s4可以由如下公式(7)计算得到:
s4=1-g(7)
可以看到,泊车换挡次数越多,此项分值越小。
b.泊车风险
泊车风险项评估在整个过程中规划的泊车轨迹与障碍物的碰撞风险。
示例性的,记泊车风险分值为s5,规划的整段泊车轨迹中车辆距离障碍物的最小归一化距离为d,泊车风险分值s5可以由公式(8)计算得到:
s5=d(8)
可以看到,泊车轨迹中车辆距离障碍物的距离越大,泊车风险越小,此项分值越大。
c.泊车时间
泊车时间项评估跟踪规划的泊车轨迹所需时间。所需时间由整段泊车轨迹的长度和车辆泊车时的速度规划结果共同决定,其计算是基于实际可用的泊车轨迹进行的。
示例性的,记多个空闲车位对应的泊车时间归一化后的泊车时间为t,泊车时间分值s6可以由公式(9)计算得到:
s6=1-t(9)
可以看到,泊车用时越长,泊车时间项的分值越小。
示例性的,基于上述评价维度,记车位可泊性评价分值为ssum,2,其计算方式可以由如下公式(10)确定:
ssum,2=ω5s4+ω6s5+ω7s6(10)
其中,ω5、ω6和ω7分别为泊车换挡次数分值、泊车风险分值和泊车时间分值对应的权重。
可选地,ω5、ω6和ω7可以为预设值(例如,分别为0.4、0.3和0.3),或者,ω5、ω6和ω7也可以是在实际应用中进行标定得到的。
(C)综合推荐分值计算模块407的计算过程
在计算完首选车位评价分值ssum,1和车位可泊性评价分值ssum,2后,可以通过如下公式(11)计算最终推荐给用户的车位推荐分值ssum:
ssum=ωsum,1ssum,1+ωsum,2ssum,2(11)
其中,ωsum,1、ωsum,2分别为选车位评价分值ssum,1和车位可泊性评价分值ssum,2对应权重。
可选地,ωsum,1和ωsum,2可以为预设值(例如,分别为0.3和0.7),或者,ωsum,1和ωsum,2也可以是在实际应用中进行标定得到的。
在计算完毕ssum后,即可经由图4所示编号7的连线,增量式的更新车位推荐优先级队列。
可选地,考虑推荐车位的外显特征以及用户体验,HMI显示模块409可以显示多种乐行的车位:空闲车位、增量式推荐车位、用户在推荐车位中选择的车位、用户在非推荐车位且空闲车位中选择的车位。这几种车位可按照颜色进行区分。
示例性的,图6示出了本申请实施例提供的一种HMI。对于空闲车位感知模块401感知得到的空闲车位1-5,其可视化颜色为颜色1。在车辆刚停下来时,通过空闲车位感知模块401可以获得空闲车位1-5的信息,通过显示屏将其用颜色1显示出来。
对于增量式推荐车位,由上述实施例可知,推荐优先级队列模块408得到的推荐的车位的数量是不断增加的,推荐车位增量式出现。HMI显示模块409可以周期性地读取推荐优先级队列模块408中的推荐车位以及推荐车位的优先级,并在推荐车位发生改变时进行增量式可视化。可视化的方式可以基于拷贝的推荐车位的优先级逐个弹出,并依弹出顺序以能够直观表示优先级的方式进行车位可视化(其可视化颜色为颜色2并辅以优先级编号)。
示例性的,图7示出了本申请实施例提供的一组HMI。
如图7中的(a)所示的HMI,在T1时刻,首选车位评价模块402计算得到空闲车位1、空闲车位2、空闲车位3、空闲车位4和空闲车位5的首选车位分值。首选车位评价模块402可以将计算得到的各个空闲车位的首选车位分值发送给缓存池403由缓存池403缓存下来。缓存池403在缓存完毕后可以一次性地将各个车位的首选车位分值发送给首选优先级队列模块404。首先优先级队列模块404可以对空闲车位1-5的首选车位分值进行排序,从而确定空闲车位1、空闲车位2、空闲车位3、空闲车位4和空闲车位5的首选车位分值依次降低。首选优先级队列模块404可以将排序后的各个空闲车位的信息发送给异步线性规划队列模块405。异步线性规划队列模块405可以依次对空闲车位1、空闲车位2、空闲车位3、空闲车位4和空闲车位5的可用泊车轨迹进行规划。在异步线性规划队列模块405规划得到空闲车位1的可用泊车轨迹后,通过车位可泊性评价模块406可以计算得到空闲车位1对应的可泊性评价分值。综合推荐分值计算模块407可以根据空闲车位1的首选车位分值和可泊性评价分值,在计算得到空闲车位1的综合推荐分值后,将空闲车位1的综合推荐分值发送给推荐优先级队列模块408。由于此时推荐优先级队列模块408中仅保存有空闲车位1的综合推荐分值,那么当HMI显示模块409(或者,车载显示屏)读取该推荐优先级队列模块408保存的信息后,可以将空闲车位1的颜色由颜色1调整为颜色2,且将“空闲车位1”更新为“推荐车位1”。
如图7中的(b)所示的HMI,在T1时刻之后的T2时刻,异步线性规划队列模块405规划得到空闲车位2的可用泊车轨迹后,通过车位可泊性评价模块406可以计算得到空闲车位2对应的可泊性评价分值。综合推荐分值计算模块407可以根据空闲车位2的首选车位分值和可泊性评价分值,在计算得到空闲车位2的综合推荐分值后,将空闲车位2的综合推荐分值发送给推荐优先级队列模块408。此时推荐优先级队列模块408中保存有空闲车位1和空闲车位2的综合推荐分值。那么当HMI显示模块409(或者,车载显示屏)读取该推荐优先级队列模块408保存的信息后,可以将空闲车位2的颜色由颜色1调整为颜色2,且将“空闲车位2”更新为“推荐车位2”。
一个实施例中,图7中的(b)中还可以显示推荐车位1和推荐车位2的推荐优先级。例如,在空闲车位1对应的综合推荐分值大于空闲车位2的综合推荐分值时,通过将图7中的(a)所示的“空闲车位2”更新为“推荐车位2”,表示空闲车位1的推荐优先级大于空闲车位2的推荐优先级。又例如,在空闲车位2对应的综合推荐分值大于空闲车位1的综合推荐分值时,HMI显示模块409可以将图7中的(a)所示的“空闲车位2”更新为“推荐车位1”且将“推荐车位1”更新为“推荐车位2”,从而表示空闲车位2的推荐优先级大于空闲车位1的推荐优先级。
对于用户在非推荐的车位且空闲车位中选择的车位,其可视化颜色为颜色3。在检测到用户选择此类车位时,可以确定用户参与到首选车位评价中。如上述实施例中所述,这样有助于避免计算资源浪费用户在不期望的区域。
示例性的,图8示出了本申请实施例提供的另一组HMI。
如图8中的(a)所示,在检测到用户选择空闲车位4的操作时,空闲车位4的颜色由颜色1更新为颜色3。同时,系统400可以清空缓存池403和首选优先级队列模块404。首选车位评价模块402可以根据用户的意图对多个空闲车位的首选车位分值进行重新计算(例如,通过上述公式(6)重新计算多个空闲车位的首选车位分值)。例如,首选车位评价模块402重新计算得到空闲车位1-5的首选车位分值。首选车位评价模块402可以将重新计算得到的各个空闲车位的首选车位分值发送给缓存池403由缓存池403缓存下来。缓存池403在缓存完毕后可以一次性地将各个空闲车位的首选车位分值发送给首选优先级队列模块404。首选优先级队列模块404可以对空闲车位1-5的首选车位分值进行排序,从确定空闲车位4、空闲车位5、空闲车位3、空闲车位2和空闲车位1的首选车位分值依次降低。首选优先级队列模块404可以将重新排序后的各个车位的信息发送给异步线性规划队列模块405。
如图8中的(b)所示,在异步线性规划队列模块405接收到首选优先级队列模块404发送的重新排序后的各个车位的信息后,由于已经规划得到空闲车位1的可用泊车轨迹,可以依次对空闲车位4、空闲车位5、空闲车位3和空闲车位2的可用泊车轨迹进行规划。示例性的,在规划得到空闲车位4的可用泊车轨迹后,可以计算得到空闲车位4的综合推荐分值。在空闲车位4的综合推荐分值大于空闲车位1的综合推荐分值时,HMI显示模块409可以将图8中的(a)所示的“空闲车位4”更新为“推荐车位1”且将“推荐车位1”更新为“推荐车位2”,表示空闲车位4的推荐优先级大于空闲车位1的推荐优先级。
对于用户在推荐车位中选择的车位,其可视化颜色为颜色4。在检测到用户从推荐车位选择某个车位的操作时,车辆可以控制HMI显示模块409按照颜色4可视化出泊入对应车位可用泊车轨迹。对于此类车位,用户选定确认后即可无等待直接泊入,不存在选定车位后规划失败提示用户重新选择的情况。同时,用户可以无等待地在此类车位中快速切换选择,观察在切换选定过程中HMI可视化出的各个车位的可用泊车轨迹,辅助用户进行车位选择。
示例性的,图9示出了本申请实施例提供的另一组HMI。
如图9中的(a)所示,在检测到用户点击推荐车位2的操作时,推荐车位2的颜色可以由颜色2更新为颜色4,同时显示如图9中的(b)所示的HMI界面。
如图9中的(b)所示,该HMI界面上包括提示框901,其中提示框901中包括提示信息“已为您显示出自动泊入推荐车位2的泊车轨迹,是否自动泊入推荐车位2”和点击泊入控件902。
在整个车位推荐过程中,根据上述实施例中的描述过程,对某一车位来说,可视化的颜色随时间推移可能有如下几种模式:
(1)颜色1-颜色2-颜色4:用户未参与到首选车位评价,经过HMI显示模块409显示推荐车位后由用户选定某个推荐车位。
(2)颜色1-颜色3-颜色2-颜色4:用户参与到首选车位评价,经过HMI显示模块409显示推荐车位后由用户选定某个推荐车位。
(3)颜色1-颜色2:用户未参与到首选车位评价,经过HMI显示模块409显示推荐车位后用户未选定任意一个推荐车位。
(4)颜色1-颜色3-颜色2:用户参与到首选车位评价,经过HMI显示模块409显示推荐车位后用户未选定任意一个推荐车位。
(5)颜色1:空闲车位规划失败且空闲车位未被推荐。
(6)颜色1-颜色3-颜色1:用户参与到首选车位评价,但空闲车位规划失败且未被推荐。
(7)颜色1-颜色3-颜色2-颜色4-颜色2-颜色4:用户参与到首选车位评价且切换了推荐车位。
(8)颜色1-颜色2-颜色4-颜色2-颜色4:用户未参与到首选车位评价且切换了推荐车位。
一个实施例中,在整个车位推荐中,用户可以介入的有两处,一是在首选车位评价处,二是在推荐车位中选定确认最终泊入车位处。下面结合实施例描述用户全程参与的过程。
用户参与到首选车位评价
在检测到车辆停下来且用户介入首选车位评价之前,首选车位评价模块402可以基于上述实施例中计算得到的s0、s1、s2,进行全自动评价,并进行后续推荐流程。用户介入的时间段可以在所有的空闲车位均经过推荐计算完毕之前;否则,若已经计算得到推荐车位,用户可以直接选择车位泊入,也就没有参与到首选车位评价的意义了。
当检测到用户从空闲车位中选择了一个或者多个车位时,该一个或多个车位作可以作为驾驶员意图车位。在用户选定意图车位后,如图4所示,系统400可以保留哈希存储池411中规划的泊车轨迹数据、清空缓存池和首选优先级队列且中断异步线性规划队列模块405对泊车轨迹的规划。基于上述实施例,根据s2、s3半自动评价方式重新填充缓存池和首选优先级队列,并将对应车位以及车位的首选评价分值依次放入到异步线性规划队列模块405中。
若异步线性规划队列模块405从首选优先级队列模块404接收到的某个车位已有规划结果,意味着之前的推荐过程已处理该车位,可以直接使用哈希存储池411中存储的该车位对应的可用泊车轨迹而不需要重新规划,且将该车位直接弹出丢弃即可(或者,将该车位从异步线性规划队列模块405中丢弃);否则,若在哈希存储池411中未找到该车位,则需耗费时间进行规划并将规划得到的该车位的泊车轨迹发送给车位可泊性评价模块406。
在新的车位到来之前,已在推荐优先级中的车位,可以基于重新计算的首选车位评价分值和保留的可泊性分值重新计算综合推荐分值,并基于重新计算的综合推荐分值调整推荐优先级队列。从异步线性规划队列模块405弹出的新的车位对应的泊车轨迹可以按照正常流程放入到后续模块。
可选地,在所有的空闲车位均经过推荐计算完毕之前,上述参与到首选车位评价的过程可以多次进行。这样的机制可总结为增量式重推荐,有助于避免让计算资源浪费在用户不期望的车位区域内,进一步提升了用户的泊车体验。
用户参与到推荐车位选择
在HMI显示模块409已可视化的推荐车位中,用户可以基于可视化出的信息任选一推荐车位进行最终的全自动泊入。可视化信息包括各推荐车位的优先级信息和用户从中选择某个推荐车位且未点击确认泊入时该车位的泊车轨迹信息。在已推荐车位中用户可以随意切换点选,并最终选择一个推荐车位。
示例性的,图10示出了本申请实施例提供的另一组HMI。
如图10中的(a)和(b)所述,在检测到用户选择推荐2车位1且点击控件902的操作时,系统400可以控制车辆自动泊入推荐车位2。
一个实施例中,整个车位推荐过程用户也可以全程不参与,即完全自动化进行泊车。用户可以不参与首选车位评价过程且也不参与到推荐车位选择过程。在所有空闲车位均经过推荐计算并可视化到HMI界面上后,经过一定时间阈值(例如,20秒)后未检测到用户选择某个推荐车位的操作,此时由系统400选择推荐分值最高的车位自动泊入。对于用户的常用停车区域,如到家后的固定停车位,可适当将时间阈值减小,用户在常用区域不需要过多等待即可全自动泊入,进而进一步提升用户体验。
图11示出了本申请实施例提供的控制装置1100的示意性框图。如图11所示,该控制装置1100包括:获取单元1110,用于获取第一空闲车位集合,该第一空闲车位集合包括第一空闲车位和第二空闲车位;控制单元1120,用于在该获取单元获取到第一泊车轨迹时,控制显示装置显示第一推荐车位集合,该第一推荐车位集合包括该第一空闲车位,该第一泊车轨迹为车辆泊入该第一空闲车位的轨迹;该控制单元1120,还用于在该获取单元获取到第二泊车轨迹时,控制该显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合,该第二推荐车位集合包括该第一空闲车位和该第二空闲车位,该第二泊车轨迹为该车辆泊入该第二空闲车位的轨迹。
可选地,该装置1100还包括:第一确定单元,用于根据第一车位参数、第二车位参数和用户的历史泊车记录中的至少一项,确定优先级信息,该优先级信息用于指示获取该第一泊车轨迹的优先级大于获取该第二泊车轨迹的优先级;其中,该第一车位参数包括该第一空闲车位和该车辆的相对位姿以及该第二空闲车位和该车辆的相对位姿,该第二车位参数包括该第一空闲车位周围障碍物的信息和该第二空闲车位周围障碍物的信息。
可选地,该控制单元1120,还用于:根据该优先级信息、该第一泊车轨迹和该第二泊车轨迹,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
可选地,该装置1100还包括:第二确定单元,用于根据该第一泊车轨迹和该第二泊车轨迹,确定泊车参数,该泊车参数包括该车辆分别泊入该第一空闲车位和该第二空闲车位的换档次数、泊车风险和泊车时间中的至少一项;该控制单元1120,用于:根据该优先级信息和该泊车参数,控制该显示装置显示该第一空闲车位和该第二空闲车位的推荐优先级。
可选地,该第一空闲车位的推荐优先级大于该第二空闲车位的推荐优先级,该装置1100还包括检测单元,该控制单元1120,用于:在预设时长内该检测单元未检测到用户从该第二推荐车位集合中选择车位的操作时,控制该车辆自动泊入该第一空闲车位。
可选地,该装置1100还包括检测单元,该控制单元1120,用于:在该检测单元检测到用户从该第二推荐车位集合中选择该第一空闲车位的输入时,控制该显示装置显示该第一泊车轨迹且提示用户是否泊入该第一空闲车位;在该检测单元检测到用户确定泊入该第一空闲车位的输入时,根据该第一泊车轨迹,控制该车辆泊入该第一空闲车位。
可选地,该第一空闲车位集合还包括第三空闲车位,该获取单元1110,还用于在该检测单元检测到用户选择该第三空闲车位时,获取第三泊车轨迹,该第三泊车轨迹为该车辆泊入该第三空闲车位的轨迹;该控制单元1120,还用于控制该显示装置从显示该第二推荐车位集合切换至显示第三推荐车位集合,该第三推荐车位集合包括该第三空闲车位。
可选地,该控制单元1120,还用于控制该显示装置显示该第一空闲车位集合。
可选地,该装置1100还包括:第三确定单元,用于在该获取单元获取该第一空闲车位集合之前,确定该车辆的速度小于或者等于预设速度阈值。
例如,获取单元1110可以是图1中的计算平台或者计算平台中的处理电路、处理器或者控制器。以获取单元1110为计算平台中的处理器151为例,处理器151可以获取一个或者多个传感器采集的数据并根据该数据确定车辆周围的第一空闲车位集合。
又例如,控制单元1120可以是图1中的计算平台或者计算平台中的处理电路、处理器或者控制器。以控制单元1120为计算平台中的处理器152为例,处理器152可以根据处理器151确定的第一空闲车位集合,先获取第一泊车轨迹并在获取到该第一泊车轨迹时控制显示装置显示该第一推荐车位集合。再获取第二泊车轨迹并在获取到该第二泊车轨迹时控制显示装置从显示该第一推荐车位集合切换至显示第二推荐车位集合。或者,在获取到该第二泊车轨迹时,增量式显示推荐车位。
以上获取单元1110所实现的功能和控制单元1120所实现的功能可以由不同的处理器实现,或者,还可以由相同的处理器实现。本申请实施例对此不作限定。
应理解以上装置中各单元的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的单元可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各单元的功能,其中处理器例如为通用处理器,例如CPU或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的单元可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部单元的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为ASIC,通过对电路内元件逻辑关系的设计,实现以上部分或全部单元的功能;再如,在另一种实现中,该硬件电路为可以通过PLD实现,以FPGA为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部单元的功能。以上装置的所有单元可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。
以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以SoC的形式实现。该SoC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。
本申请实施例还提供了一种装置,该装置包括处理单元和存储单元,其中存储单元用于存储指令,处理单元执行存储单元所存储的指令,以使该装置执行上述实施例执行的方法或者步骤。
可选地,若该装置位于车辆中,上述处理单元可以是图1所示的处理器151-15n。
本申请实施例还提供了一种控制系统,该路径规划系统包括一个或者多个传感器和计算平台,其中,该计算平台包括上述装置1100。
示例性的,该一个或者多个传感器可以位于车辆中,该计算平台可以位于云端服务器或者车辆中。
本申请实施例还提供了一种车辆,该车辆可以包括上述装置1100或者上述控制系统。
本申请实施例还提供了一种服务器,该服务器可以包括上述装置1100。
本申请实施例还提供了一种移动终端,该服务器可以包括上述装置1100。
示例性的,该移动终端可以为手机。用户可以通过手机上显示的推荐车位的信息,选择将车辆泊入对应的推荐车位中。例如,手机在检测到用户选择了某个推荐车位且确定泊入该推荐车位后,可以将该推荐车位的信息发送给车辆,从而车辆可以根据该推荐车位对应的泊车轨迹,控制车辆泊入该推荐车位。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述方法。
本申请实施例还提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述方法。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者上电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应理解,本申请实施例中,该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。
还应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖。在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。