发明内容
本发明的目的是针对现有技术中的问题,而提供一种自动驾驶窄路掉头方法、系统以及车辆。自动驾驶窄路掉头方法能实现自动驾驶车在遇到窄路的情况下,根据当前车辆的行车方向以及与道路边缘的碰撞关系,实时调整车辆的姿态,保证了车辆运动学约束的同时,又保证了行车的安全性。
为实现本发明的目的所采用的技术方案是:
一种自动驾驶窄路掉头方法,包括步骤:
S1.判断当前的前向跟踪路径是否可行,是则沿该前向跟踪路径前进实现掉头;否则在车辆沿所述前向跟踪路径前进到预定位置时停车并切换行车方向;
S2.根据车辆当前位置以及倒车参考路径实时生成后向跟踪路径,使车辆沿所述后向跟踪路径倒车,并根据车辆位置实时生成前向跟踪路径,然后返回步骤S1;所述后向跟踪路径位于所述倒车参考路径的外侧。
进一步的,若车辆在沿所述后向跟踪路径倒车时判断有风险,则在倒车到相应的位置时停止,切换前进方向。
优选的,所述前向跟踪路径是基于车辆当前位置相对于原始参考路径的最近点之后的原始参考路径段,所得到的满足车辆运动学约束的纯跟踪路径。
优选的,所述倒车跟踪路径是基于车辆当前位置,所生成的一条满足车辆运动学约束的的跟踪路径。
优选的,所述倒车参考路径是基于车辆当前位置相对原始参考路径的最近点反向所生成的一条直线路径;所述后向跟踪路径位于所述倒车参考路径的外侧。
优选的,所述后向跟踪路径为一段有限长度的路径,其向后延伸一端截止到公路上一点,以防止车辆与公路边界碰撞。
优选的,所述原始参考路径为表示车辆掉头路径的U形状线路径。
本发明另一目的还在于提供一种自动驾驶窄路掉头系统,包含有自动驾驶窄路掉头控制模块,所述自动驾驶窄路掉头控制模块采用所述的自动驾驶窄路掉头方法控制车辆进行自动驾驶窄路掉头。
本发明另一目的还在于提供一种车辆,包括自动驾驶控制器,所述自动驾驶控制器中包含有自动驾驶窄路掉头控制模块,所述自动驾驶窄路掉头控制模块采用所述的自动驾驶窄路掉头方法控制车辆进行自动驾驶窄路掉头。
本发明能实现自动驾驶车在遇到窄路的情况下,根据当前车辆的行车方向以及与道路边缘的碰撞关系,实时调整车辆的姿态,保证了车辆运动学约束的同时,又保证了行车的安全性。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1及2所示,一种自动驾驶窄路掉头方法,包括步骤:
S1.路径校验的步骤:
判断当前的前向跟踪路径1是否可行,是则沿该前向跟踪路径1前进实现掉头;否则在车辆沿所述前向跟踪路径前进到预定位置时停车,并切换行车方向;以图4为例,若根据前向跟踪路径1判断不可行,则在前侧的风险区域7以内的位置停止,如停止在图5所示的位置A处;
S2.路径处理的步骤:
根据车辆当前的位置A以及倒车参考路径3实时生成后向跟踪路径2,使车辆沿所述后向跟踪路径2倒车,并根据车辆位置实时生成前向跟踪路径,然后返回步骤S1。
本发明中,路径校验,是对算法最终结束条件的处理,通过观察前进路径的合理性来判断是否完成窄路掉头。路径处理,是窄路掉头算法的核心部分,是在窄路情况下对车辆前进后退的路径规划和切换,同时保证车辆的安全性。
具体的,在车辆运行过程中,车辆控制系统始终从当前位置生成一条满足车辆运动学约束的虚拟前向跟踪路径,通过判断该条路径可行走来决定车辆是否完成了窄路掉头的操作。如果该前向跟踪路径与马路边缘有一定碰撞,说明该条路径不安全,则进入路径处理过程;如果该前向跟踪路径与马路边缘没有碰撞,则说明该条路径可以前进,则可以结束掉整个算法过程。
在狭窄的道路上,车辆无法保证在不倒车的情况下完成掉头,如图4所示,虚线部分为路径转弯半径不能完成车辆正常转弯半径的区域,车辆在跟踪原始路径的时候,实际的行驶路径必然会与路牙发生碰撞。本发明中通过车辆实时行进方向与路牙的碰撞情况来进行前向和后向的路径处理,实现了车辆的掉头,并保证不与路牙碰撞。
具体的掉头的处理过程,包括前进路径处理与倒车路处理。
前进路径处理:如果当前车辆处于前进方向,则车辆实时生成前向的跟踪路径,观察是否会与路牙发生碰撞,如果没有发生碰撞的话,说明窄路掉头完成;如果有碰撞的话,则让车辆前进到距离碰撞风险区域有一定距离阈值的地方,同时停车并切换行车方向,令其倒车行驶。如图4所示。
倒车路径处理:如果当前车辆处于倒车方向下,则需要车辆生成两条跟踪路径,第一条路径是前向跟踪路径,根据车辆位置在原始参考路径找到最近点,利用纯跟踪算法,基于从最近点之后的参考路径得到前向的纯跟踪路径,第二条路径是倒车跟踪路径,同样根据车辆位置在原始参考路径找到最近点,基于该点向后生成一条虚拟的倒车参考路径,再利用纯跟踪算法生成一条倒车跟踪路径。如图5所示。
进一步的,本发明中,若车辆在沿所述后向跟踪路径倒车时判断有风险,如进入后侧的风险区5内,如再行走,则将要与公路10的边缘相撞,或接近公路的边缘,为防止风险,则在倒车到相应的位置时停止,切换前进方向。这样可以有效防止车辆在倒车的过程中造成碰撞或掉下公路的危险。同时,车辆如果在倒车时发现前向跟踪路径没有碰撞,则直接切换到前进方向,进行前进操作。
本发明中,所述前向跟踪路径,是基于车辆当前位置相对于原始参考路径6的最近点B之后的原始参考路径段,利用纯跟踪算法所得到的满足车辆运动学约束的纯跟踪路径,以图4为例,当车辆掉头时,其前后跟踪路径则是与公路的另一侧会发生碰撞,并会冲出公路边界后才能回到掉头后直线返回线路上的。
需要说明的是,所述的最近点B在参考路径上的位置,根据车辆的位置A实时对应变化,实时确定;所述参考路径为连接自左向右的路径9及自右向左的反向路径8的表示车辆掉头运动轨迹的U形状的路径,原始参考路径指的就是车辆本来要运行的轨迹,在窄路下,表达了车辆要走的趋势,图3-6中的参考路径的具体弧形形状仅仅是一种示例,它其实就代表着在这个地方要转弯。
其中,所述倒车跟踪路径2,是基于车辆当前位置,利用纯跟踪算法所生成的满足车辆运动学约束的的跟踪路径。优选的,所述后向跟踪路径为一段有限长度的路径,其向后延伸一端截止到公路上一点,以防止车辆与公路边界碰撞。
由于车辆是要掉头的,因此不可能永远让它倒车,因此倒车的路径是有限长度的,可以通过设置两种条件以控制其生成长度:一种是生成的倒车跟踪路径如果超过了一定长度阈值,如5米的话,就直接截断掉;第二种是实时检测判断生成的倒车纯跟踪路径是否在某个点上与马路边缘发生碰撞,如是就同样截断,采用没有碰撞的那一段来倒车。
其中,所述倒车参考路径3,是基于车辆当前位置相对原始参考路径的最近点B所反向所生成的一条直线路径;所述后向跟踪路径3为弧形段,位于所述倒车参考路径3的外侧。由于车辆在不能前进掉头时,必须要通过倒车来调整位置,然后在调整好位置后再前进,为了便于控制以及实现,本发明提出了找寻原始路径上的最近点,然后反向找一段直线出来,作为倒车参考路径,然后让车辆去反向跟踪这条倒车参考路径(即在倒车参考路径的外侧,沿倒车跟踪路径倒车,而不越过该倒车参考路径)来实现方便倒车,这种方式比较简单也容易实现。
由于倒车跟踪路径是根据倒车参考路径得到的,倒车参考路径是一条直线,而这条直线一般会与车辆有一定的偏差,因此车辆需要利用纯跟踪算法去倒追这条直线的倒车参考路径,目的是慢慢地靠近这条直线,而且车辆肯定有转弯半径,不可能直接原地转弯就追上了,所以倒车跟踪路径表现为弧线。
需要说明的是,本发明中所述的纯跟踪的路径规划思路也可以通过PID方法或者模型预测控制等算法来实现,不限于使用纯跟踪的算法实现。
如果不考虑掉头,则车辆在公路上行进时,沿自左向右的路径9向前行走,然后沿实际的掉头路径11进行掉头,然后返回到自右向左的反向路径8中行走,实现掉头,这样从图3可以看出,车辆在沿实际的掉头路径11进行掉头时,车辆会冲出公路或与公路碰撞,不能保证车辆掉头的安全性。参见图5-6所示,而通过本发明的技术方案,考虑了车辆运动学约束,所提出的前进倒车方向切换逻辑保证了车辆行车安全性,也比较符合人类窄路掉头的驾驶习惯,保证了行车合理性的同时,提升了车辆智能性。
本发明还在于提供一种自动驾驶窄路掉头系统,包括有自动驾驶窄路掉头控制模块,所述自动驾驶窄路掉头控制模块采用所述的自动驾驶窄路掉头方法控制车辆进行自动驾驶窄路掉头。由于采用上述的自动驾驶窄路掉头方法控制车辆进行自动驾驶窄路掉头,因此,该自动驾驶窄路掉头控制系统保证了车辆行车安全性,也比较符合人类窄路掉头的驾驶习惯,保证了行车合理性的同时,提升了车辆智能性。
本发明还在于提供一种车辆,包括自动驾驶控制器,所述自动驾驶控制器包含有自动驾驶窄路掉头控制模块,所述自动驾驶窄路掉头控制模块采用所述的自动驾驶窄路掉头方法控制车辆进行自动驾驶窄路掉头。由于车辆采用上述的自动驾驶窄路掉头方法控制车辆进行自动驾驶窄路掉头,因此,该自动驾驶车辆保证了车辆行车安全性,也比较符合人类窄路掉头的驾驶习惯,保证了行车合理性的同时,提升了车辆智能性。
以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。