自动驾驶方法及存储介质、电子设备
技术领域
本发明总体来说涉及一种自动驾驶技术,具体而言,涉及一种自动驾驶方法及存储介质、电子设备。
背景技术
随着自动驾驶技术的发展,配送车能以低速在限定区域行驶。但因其速度较低,通常不能在机动车道行驶,而是在非机动车道上行驶。配送车在非机动车道上行驶与在机动车道上行驶相比,行驶环境更加复杂。
然而,现有的自动驾驶技术多是针对车辆在机动车道上行驶的情况,并不适用于在非机动车上运行的配送车。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
本发明的一个主要目的在于克服上述现有技术的至少一种缺陷,提供一种自动驾驶方法,其包括:
规划出行驶路径;
将行驶路径所经过的且路面宽度大于或等于2倍子车道宽度的道路划分出多条子车道,所述子车道的宽度满足车辆在子车道内行驶而不会超出该子车道;
车辆在一子车道内沿所述行驶路径行驶时能通过更换子车道行驶来避让行驶路径上的障碍物。
根据本发明的一个具体实施例,所述子车道的宽度为wl,
wl=k·(wc+emax),
其中,
k为预设安全系数,且k>1;
emax为车辆沿预设行驶路径行驶时偏离预设行驶路径的最大值;
wc为车辆的宽度。
根据本发明的一个具体实施例,若车辆位于一个子车道内,且与障碍物之间的距离在第一预设范围内,变更子车道行驶;
其中,所述第一预设范围为(a1·dsafe,a3·dsafe),a3为预设安全系数,dsafe为避免障碍物与车辆相撞的预设安全距离,且a3>a1>1。
根据本发明的一个具体实施例,若同时满足车辆与障碍物之间的距离位于第二预设范围内且障碍物的速度在第三预设范围内时,则按照低于或等于障碍物的速度沿行驶路径行驶;
其中,所述第二预设范围为[a4·dsafe,a2·dsafe),a2为预设安全系数,a4为预设的急停系数,且a3>a1>a2>a4≥1;所述第三预设范围为(a5·vcar,vcar), vcar为预设速度,a5<1,a5为预设的减速系数。
根据本发明的一个具体实施例,若车辆与障碍物之间的距离位于第四预设范围内时,则以速度vcar沿所述行驶路径行进;
其中,所述第四预设范围为(a1·dsafe,∞)。
根据本发明的一个具体实施例,若车辆与障碍物之间的距离在第五预设范围内时,则停止行驶;
其中,所述第五预设范围为[0,a4·dsafe)。
根据本发明的一个具体实施例,在更换子车道以后,若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则以vcar的速度沿所述行驶路径行进;
其中,所述第四预设范围为(a1·dsafe,∞),所述第六预设范围为(vcar,∞)。
根据本发明的一个具体实施例,在更换子车道以后,若车辆与障碍物之间的距离在第五预设范围内时,则停止行驶;
其中,所述第五预设范围为[0,a4·dsafe)。
根据本发明的一个具体实施例,按照低于或等于障碍物的速度沿行驶路径行驶后,
若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则以vcar的速度沿所述行驶路径行进,
其中,所述第四预设范围为(a1·dsafe,∞),所述第六预设范围为(vcar,∞)。
根据本发明的一个具体实施例,按照低于或等于障碍物的速度沿行驶路径行驶后,
若车辆与障碍物之间的距离在第五预设范围内时,则停止行驶,
其中,所述第五预设范围为[0,a4·dsafe)。
根据本发明的一个具体实施例,停止行驶后,若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则以vcar的速度沿所述行驶路径行进,
其中,所述第六预设范围为(vcar,∞)。
本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的自动驾驶方法。
本发明还提出了一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的自动驾驶方法。
由上述技术方案可知,本发明的自动驾驶方法的优点和积极效果在于:
非机动车道通常都是没有进行车道划分的,虚拟地将非机动车道划分成多个子车道,车辆在沿其中一个子车道内行进时让出其他部分的道路,保证了其他交通参与者的路权并使交通顺畅,也便于交通参与者对车辆的进行方向作出预判,提升行驶安全程度。同时,车辆能通过变更子车道来避让前方的障碍物,这样就避免障碍物阻碍车辆行进,车辆能快速地到达目的地。
附图说明
通过结合附图考虑以下对本发明的优选实施例的详细说明,本发明的各种目标、特征和优点将变得更加显而易见。附图仅为本发明的示范性图解,并非一定是按比例绘制。在附图中,同样的附图标记始终表示相同或类似的部件。其中:
图1是根据一示例性实施方式示出的一种自动驾驶方法的流程图;
图2是根据一示例性实施方式示出的一种自动驾驶方法的流程图;
图3是根据一示例性实施方式示出的一种电子设备的结构示意图;
图4是根据一示例性实施方式示出的一种存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
参照图1,图1显示了一种自动驾驶方法的流程图,其包括:
步骤S110:规划出车辆的行驶路径。
该车辆可以是配送车,也可以是其他能在非机动车道行驶的车辆。车辆上安装有车载卫星导航装置,可以通过车载卫星导航装置测得车辆的位置信息,从而能实现对车辆进行定位。为车辆设定目的地后,可以根据车辆自身的位置以及目的地的位置在地图上规划出车辆的行驶路径。该行驶路径可以按照最短路程的原则来规划,以使得车辆行驶的路程达到最短。该行驶路径可以为沿非机动车道延伸的路径。
行驶路径中的任一点的曲率κ与车辆最小转弯半径Rmin满足κ<1/Rmin,这样,车辆矩能通过行驶路径上的任何一个弯。
步骤S120:将行驶路径所经过的路面宽度大于或等于2倍子车道宽度的道路划分出多个子车道,子车道的宽度满足车辆在子车道内行驶而不会超出该子车道。车辆行驶至子车道区域时沿其中一条子车道行走。
在本实施例中,将行驶路径中路面宽度大于或等于2倍子车道宽度的道路划分出两个子车道。两个子车道并排设置,均沿该道路延伸。车辆可以在任意一子车道内沿该子车道行驶。子车道的宽度wl可以采用以下算式计算出来,
wl=k·(wc+emax),
其中,emax为车辆沿预设行驶路径行驶时偏离预设行驶路径的最大值,这个最大值可以通过多次试验测得。wc为车辆的宽度,该车辆的宽度优选为车辆的最大宽度值。k为预设安全系数,且k>1,由于k>1,这就为车辆的行驶留出了安全裕量。
步骤S130:车辆在一子车道内沿所述行驶路径行驶时能通过更换子车道行驶来避让行驶路径上的障碍物。步骤S130包括步骤S131~S133。
车辆通过信息采集单元所获取的障碍物信息来判断是否具有障碍物、该障碍物与车辆的距离以及障碍物的速度。该障碍物可以是行人、自行车等妨碍车辆通行的人和物品。当车辆在一子车道内行驶时,车辆检测到该子车道的前方具有障碍物,则行驶到另一子车道内来避让该障碍物。
非机动车道通常都是没有进行车道划分的,虚拟地将非机动车道划分成多个子车道,车辆在沿其中一个子车道内行进时让出其他部分的道路,保证了其他交通参与者的路权并使交通顺畅,也便于交通参与者对车辆的进行方向作出预判,提升行驶安全程度。同时,车辆能通过变更子车道来避让前方的障碍物,这样就避免障碍物阻碍车辆行进,车辆能快速地到达目的地。
参照图2,步骤S131:采集车辆的位置信息,测量车辆与障碍物之间的距离,进入步骤S132;
车辆的信息采集单元包括摄像头、雷达和激光测距器中的一种或多种装置。车辆上的机器视觉系统对摄像头采集的图像进行分析,通过辨别障碍物的特征来识别出障碍物的类别,如果该摄像头采集的图像为深度图像,还能根据深度图像获得障碍物与车辆之间的距离。车辆上可以配备雷达,通过雷达接收到的反射波来判断车辆前方是否具有障碍物,也可以获得障碍物与车辆之间的粗略距离。激光测距器则可以精确地测量到障碍物与车辆之间的距离。车辆上优选同时安装有摄像头、雷达和激光测距器,通过对这三者获取的信息进行综合分析能获得更准确的障碍物信息。
步骤S132:若同时满足车辆在一子车道内以及车辆与障碍物之间的距离在第一预设范围内则进入到步骤S133;
在该步骤中,判断车辆是否在一子车道内时,若车辆当前被限定为沿一子车道行驶则该车辆在一子车道内;也可以通过对车辆进行定位来获得车辆的当前位置,判断该当前位置是否处在一子车道内来判断车辆是否在一子车道内。
第一预设范围为(a1·dsafe,a3·dsafe),a3为预设安全系数,dsafe为避免障碍物与车辆相撞的预设安全距离,且a3>a1>1。dsafe可以是车辆以最大速度行驶时,从检测到障碍物至刹车完全停住时的车辆行驶的距离。
步骤S133:车辆变更子车道;
车辆与障碍物之间的距离在(a1·dsafe,a3·dsafe)的范围内进行变更子车道,该距离小于a3·dsafe可以避免车辆过晚的变更子车道以防车辆与障碍物相碰撞,该距离大于a1·dsafe可以避免车辆过早变更子车道而频繁变道行驶。
进一步地,自动驾驶方法还包括步骤S134和步骤S135,
在步骤S132中,若不能同时满足步骤S132中的条件,则从步骤S132 进入到步骤134;在步骤S131中还采集障碍物的速度,障碍物的速度也通过车辆的信息采集单元获得。
步骤S134:若同时满足车辆与障碍物的距离位于第二预设范围内且障碍物的速度在第三预设范围内时,则进入到步骤S135;
其中,第二预设范围为[a4·dsafe,a2·dsafe),a2为预设安全系数,a4为预设的急停系数,且a3>a1>a2>a4≥1;第三预设范围为(a5·vcar,vcar),vcar为预设速度,a5<1,a5为预设的减速系数。
步骤S135:车辆按照低于或等于障碍物的速度沿行驶路径行驶;
车辆与障碍物之间的距离在[a4·dsafe,a2·dsafe)的范围内进行减速行驶,且行驶的速度小于或等于障碍物的速度,这使车辆能在没有划分子车道的路段跟随在障碍物后面行驶以避免车辆与障碍物相撞。同时车辆只有距离障碍物在a2·dsafe以内时才进行减速,避免减速过早而导致车辆行驶缓慢。
进一步地,自动驾驶方法还包括步骤S136和步骤S137,
在步骤S134中,如果不能同时满足步骤S134中的条件时则进入到步骤 S136;
步骤S136:若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则进入到步骤S137中;其中,第四预设范围为(a1·dsafe,∞),第六预设范围为(vcar,∞)。
步骤S137:车辆以速度vcar按照行驶路径行进。
速度vcar是一个预设的速度,车辆在距离障碍物大于a1·dsafe以该速度均速的行驶。
进一步地,自动驾驶方法还包括步骤S138和步骤S139,
在步骤S136中,如果不能满足S136中的条件则进入到步骤S138;
步骤S138:若车辆与障碍物之间的距离在第五预设范围内时,则进入到步骤S139;其中,第五预设范围为[0,a4·dsafe)。
步骤S139:车辆停止行驶。
车辆与障碍物之间的距离在[0,a4·dsafe)的范围内进行刹车来停止行驶。车辆与障碍物之间的距离在一个比较小的距离内时,通过紧急停止来避免车辆与障碍物之间相撞。
进一步地,自动驾驶方法包括步骤S140和步骤S141,
步骤S133执行后进入到步骤S140;
步骤S140:测量车辆与障碍物的距离以及障碍物的速度;
步骤S141:若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则进入到步骤S137中;其中,第四预设范围为(a1·dsafe,∞),第六预设范围为(vcar,∞)。
在本步骤中,在进行换道后如果满足步骤S141中的条件,那么车辆以速度vcar按照行驶路径继续行进。更换子车道后,在保证安全的前提下以速度vcar行驶能快速达到目的地。
进一步地,自动驾驶方法还包括步骤S142,
在不能满足S141中的条件时,进入到步骤S142;
步骤142:若车辆与障碍物之间的距离在第五预设范围内时,则进入到步骤S139,否则进入到步骤S140;
在本步骤中,在进行换道后,如果车辆与障碍物之间的距离在第五预设范围内时则停车避让障碍物。这样能避免在换道时,进入另一子车道内后与另一子车道内的障碍物相互碰撞。
如果车辆不需要停止行驶则重新进入步骤S140,以重新开始循环判断。
进一步地,步骤S135执行后进入到步骤S140。
车辆按照低于或等于障碍物的速度沿行驶路径行驶后,若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则车辆以vcar的速度沿所述行驶路径行进。这样,车辆在减速后满足步骤S140中的条件时可以恢复速度,以使得车辆能快速的到达目的地。
如果减速后,车辆与障碍物之间的距离在第五预设范围内时则停车避让障碍物。这样,车辆减速后,障碍物与车辆之间的距离仍然过近时车辆能停车来避让障碍物。
进一步地,自动驾驶方法还包括步骤S143和步骤S144,
执行完步骤S139后进入到步骤S143;
步骤S143:测量车辆与障碍物的距离以及障碍物的速度;
步骤S144:若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则进入到步骤S137中,否则回到步骤S139中。
在该步骤中,车辆停止行驶后,若同时满足车辆与障碍物之间的距离是在第四预设范围内,且障碍物的速度在第六预设范围内时,则车辆以vcar的速度沿所述行驶路径行进。
在本发明的示例性实施例中,还提供了一种能够实现上述自动驾驶方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图3来描述根据本发明的这种实施方式的电子设备800。图3 显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备800以通用计算设备的形式表现。电子设备800 的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线 830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序 /实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN) 和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线 830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述自动驾驶方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图4所示,描述了根据本发明的实施方式的用于实现上述自动驾驶方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是 CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。