一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制车辆转向的方法、装置和存储介质与流程

2021-11-09 19:38:00 来源:中国专利 TAG:


1.本发明涉及机器人技术,尤其涉及一种控制车辆转向的方法、装置和存储介质。


背景技术:

2.转向功能是机器人技术应用场景落地中比较重要的功能设计,比如无人驾驶汽车的倒车入库以及侧方停车等应用场景。然而,相关技术中,控制机器人转向的方法尚需优化。


技术实现要素:

3.为解决相关技术问题,本发明实施例提供一种控制车辆转向的方法、装置和存储介质。
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.图1为本发明实施例控制车辆转向的方法的流程示意图;
41.图2为本发明实施例控制第一滑板车掉头的行驶状态切换示意图;
42.图3为本发明实施例控制第二滑板车掉头的行驶状态切换示意图;
43.图4为本发明应用实施例控制滑板车掉头时滑板车状态机的状态切换示意图;
44.图5为本发明实施例控制车辆转向的装置的结构示意图;
45.图6为本发明实施例控制车辆转向的装置的硬件结构示意图。
具体实施方式
46.以下结合说明书附图及实施例对本发明的技术方案作进一步详细的阐述。
47.在对本发明实施例的技术方案进行详细说明之前,首先对相关技术中控制机器人转向的方法存在的问题进行简单说明。
48.相关技术中,通常基于路径规划算法和路径跟踪控制器来控制机器人转向。
49.具体地,针对具备非圆形底盘和非完整约束运动系统的机器人,受限于自身的结构设计(即非圆形底盘)以及运动模型(即非完整约束运动系统对应的运动模型)的约束,使得这一类机器人无法做到原地转动,即无法原地转向。因此,为了控制所述机器人在狭小环境(例如走廊、街道两侧的步行通道等)中转向,并避开障碍物,可以根据机器人的当前位置和目标位置实时规划一条路径,规划的路径可以包含前进和后退等多种运动模式,并满足机器人的转弯半径的约束以及避障的需求。实际应用时,可以利用混合a星(hybrid a*,hybird a star)算法对机器人进行路径规划;hybrid a*算法是一种发展自a星(a*,a star)算法的基于网格的搜索算法,相较于a*算法,hybrid a*算法考虑到了机器人的方向问题以及机器人的最大转向问题,hybrid a*算法的启发项函数采用了a*算法搜索到的路径产生的综合代价函数,能加快网格搜索的速度,a*算法搜索到的路径可以是dubins路径、reeds-shepp路径等;实际应用时,也可以利用hybrid a*算法结合动态窗口法(dwa,dynamic window approach)算法对机器人进行路径规划。另外,对机器人进行路径规划后,通常还需要设计与规划的路径对应的路径跟踪控制器,以控制机器人基于规划的路径转向;所述控制器可以是比例积分微分(pid,proportional integral and differentiation)控制器、生产计划控制(ppc,program planning and control)控制器、模型预测控制(mpc,model predictive control)控制器等。
50.上述基于路径规划算法和路径跟踪控制器来控制机器人转向的方法存在以下问题:
51.第一,路径规划算法对机器人的实时定位精确度以及机器人所处环境的地图的质量有较高的要求,如果使用上述方法控制机器人转向,需要机器人具备高精确度的实时定位系统以及高质量的环境地图。
52.第二,路径规划算法的复杂度较高,对计算平台的计算能力有较高的要求,如果使用上述方法控制机器人转向,由于机器人的计算能力有限,无法保证路径规划算法的运行频率,因此,实现实时的路径规划的难度较大。
53.第三,路径规划算法缺乏完备性,如果使用上述方法控制机器人转向,可能会存在无法规划路径的情况。
54.第四,如果使用上述方法控制机器人转向,需要精度较高的路径跟踪控制器。
55.基于此,在本发明的各种实施例中,针对具备非圆形底盘和非完整约束运动系统
的机器人,并在所述机器人不具备全局定位系统(即高精确度的实时定位系统)、不具备全局地图(即高质量的环境地图)以及计算能力有限的情况下,利用贪婪算法的思想,通过两个预设策略控制机器人转向,并在监测到障碍物时进行策略切换,使得机器人能够在狭小环境(例如走廊、街道两侧的步行通道等)中成功转向,并避开障碍物,提升用户体验。
56.本发明实施例提供了一种控制车辆转向的方法,如图1所示,所述方法包括以下步骤:
57.步骤101:监测到针对车辆的转向事件;
58.步骤102:根据监测到的转向事件,确定所述车辆的目标行驶状态;所述目标行驶状态至少包含所述车辆转向后的行驶方向;
59.步骤103:控制所述车辆基于两个预设策略转换行驶状态,直至所述车辆的行驶状态由监测到所述转向事件时的行驶状态转换为所述目标行驶状态;
60.其中,所述两个预设策略对应的偏移方向和行进方向不同;所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,进行策略切换。其中,车辆转换行驶状态的过程中,监测到的障碍物会影响车辆沿当前偏移方向和行进方向的行驶。
61.需要说明的是,在本发明的各种实施例中,所述车辆可以是滑板车、无人驾驶汽车等;当然,本发明实施例提供的控制车辆转向的方法也可以应用于任一具备非圆形底盘和非完整约束运动系统的机器人,例如为银行或酒店辅助服务的智能机器人。另外,在本发明的各种实施例中,“行驶方向”的含义是所述车辆的车头朝向的方向;“偏移方向”的含义是所述车辆的行驶方向偏移的方向,即所述车辆的车头转动的方向,包括左和右;“行进方向”的含义是所述车辆基于所述行驶方向移动的方向,包括前和后;“转向”的含义是车辆的行驶方向朝指定偏移方向偏移指定角度;所述指定角度大于0
°
,且小于或等于360
°
;当所述指定角度为180
°
时,“转向”即为“掉头”。
62.在步骤101中,实际应用时,所述监测到针对车辆的转向事件可以存在多种情况;比如,接收到用户发出的转向指令,所述转向指令可以是用户通过与所述车辆建立了通信连接的终端发出的语音指令或文本指令;再比如,监测到用户针对所述车辆的操作,所述操作可以是按键操作(例如触发了所述车辆上的转向按键),也可以是用户对所述车辆的方向组件的操作(例如转动方向盘、转动车把手等);再比如,通过所述车辆上的传感器(例如摄像头)监测到所述车辆的行驶方向存在障碍物,所述障碍物可以是静止的物体,也可以是动态的物体,例如墙壁、马路边沿、行人、车辆等。
63.基于此,在一实施例中,所述监测到针对车辆的转向事件,可以包括以下之一:
64.接收到第一指令;所述第一指令用于触发所述转向事件;
65.监测到第一操作;所述第一操作用于触发所述转向事件;
66.监测到所述车辆的行驶方向存在障碍物。
67.实际应用时,监测到所述转向事件时,所述车辆可以处于静止状态或移动状态,所述静止状态和所述移动状态都可以作为所述车辆的行驶状态(可以将所述静止状态看作移动速度为0的行驶状态)。所述转向事件可以包含所述车辆转向的方向(即所述指定偏移方向)以及所述车辆转向的角度(即所述指定角度),比如,接收到用户通过与所述车辆建立了通信连接的终端发出的“向左转向180
°
(或向左掉头)”的语音指令;再比如,监测到用户将所述车辆的方向组件向右转动90
°
的操作。或者,可以基于所述转向事件,确定所述指定偏
移方向和所述指定角度;比如,监测到所述车辆的行驶方向存在障碍物时,可以根据监测到的障碍物的体积和形状,确定所述指定偏移方向为左,并确定所述指定角度为45
°

68.在步骤102中,实际应用时,所述根据监测到的转向事件,确定所述车辆的目标行驶状态,可以包括:
69.根据所述转向事件,确定所述车辆转向的指定偏移方向和指定角度;
70.根据确定的指定偏移方向和指定角度,以及所述车辆在监测到所述转向事件时的行驶状态,确定所述目标行驶状态。
71.具体地,举例来说,假设在车辆向北行驶时,接收到第一指令,所述第一指令为用户通过与所述车辆建立了通信连接的终端发出的“向左转向180
°
(或向左掉头)”的语音指令,即所述指定偏移方向为左,所述指定角度为180
°
,此时,可以确定所述车辆转向后的行驶方向为南,即所述目标行驶状态至少包含车辆向南行驶;或者,假设在车辆处于静止状态时,监测到第一操作,所述第一操作为用户将所述车辆的方向组件向右转动90
°
的操作,即所述指定偏移方向为右,所述指定角度为90
°
,此时,可以确定所述车辆转向后的行驶方向为东,即所述目标行驶状态至少包含车辆向东行驶;或者,假设在车辆向南行驶时,监测到车辆前方存在障碍物,此时,可以根据监测到的障碍物的体积和形状,确定所述指定偏移方向为左,所述指定角度为45
°
,进而可以确定所述车辆转向后的行驶方向为南偏东45
°
,即所述目标行驶状态至少包含车辆向南偏东45
°
行驶。当然,所述目标行驶状态还可以包含所述车辆转向后的行驶速度;所述车辆转向后的行驶速度可以由研发人员根据设计需求确定,也可以由用户根据使用需求确定。
72.在步骤103中,实际应用时,所述车辆可以包括:方向组件、至少一个前轮和至少一个后轮;在所述车辆前进或后退时,控制所述方向组件向左或向右偏移,可以控制所述车辆的行驶方向向左或向右偏移,并以偏移的角度对应的转弯半径前进或后退;这里,控制所述方向组件向左或向右偏移的角度越大,偏移的角度对应的转弯半径越小。同时,所述车辆可以是一种运动模型近似满足阿克曼(ackermann)转向模型的运动装置,即所述车辆的前后轮均可转向,并且所述车辆的前后轮的转向角度可以相同或不同。基于此,所述车辆的转向原理可以是:根据所述指定角度,确定所述车辆的方向组件需要偏移的角度,并控制所述车辆的方向组件偏移确定的角度,使得所述车辆以相应的转弯半径前进或后退,达到所述车辆的车体转过所述指定角度的效果。
73.基于此,在一实施例中,所述控制所述车辆基于两个预设策略转换行驶状态,可以包括:
74.基于第一策略,控制所述车辆的行驶方向朝第一方向偏移第一角度,并控制所述车辆前进;监测到所述车辆的行进方向存在障碍物时,进行策略切换,基于第二策略,控制所述车辆的行驶方向朝第二方向偏移第二角度,并控制所述车辆后退。
75.这里,所述第一方向与所述指定偏移方向相同,可以根据所述指定偏移方向确定所述第一方向,假设所述指定偏移方向为左,即所述第一方向也为左;所述第二方向与所述第一方向相反。所述第一角度和所述第二角度可以相同或不同,具体是根据所述指定角度以及所述车辆的方向组件能够偏移的角度范围确定的。举例来说,假设所述车辆的方向组件向左偏移的最大角度为45
°
,向右偏移的最大角度为50
°
;此时,可以确定所述第一角度的范围为:大于0
°
,且小于或等于45
°
;并确定所述第二角度的范围为:大于0
°
,且小于或等于
50
°
。当所述指定角度小于或等于所述第一角度的最大值时,可以将所述指定角度确定为所述第一角度;当所述指定角度大于所述第一角度的最大值时,可以将所述第一角度的最大值确定为所述第一角度;当所述指定角度小于或等于所述第二角度的最大值时,可以将所述指定角度确定为所述第二角度;当所述指定角度大于所述第二角度的最大值时,可以将所述第二角度的最大值确定为所述第二角度。
76.实际应用时,可以通过将所述车辆的后轮速度设置为正向的速度来控制所述车辆前进,并通过将所述车辆的后轮速度设置为负向的速度来控制所述车辆后退。
77.在一实施例中,所述控制所述车辆基于两个预设策略转换行驶状态,可以包括:
78.基于第三策略,控制所述车辆的行驶方向朝第三方向偏移第三角度,并控制所述车辆后退;检测到所述车辆的行进方向存在障碍物时,进行策略切换,基于第四策略,控制所述车辆的行驶方向朝第四方向偏移第四角度,并控制所述车辆前进。
79.实际应用时,所述第三方向与所述指定偏移方向相反,可以根据所述指定偏移方向确定所述第三方向,假设所述指定偏移方向为左,即所述第三方向为右;所述第四方向与所述第三方向相反。所述第三角度和所述第四角度可以相同或不同,具体确定所述第三角度和所述第四角度的方式与上述确定所述第一角度和所述第二角度的方式相同,这里不再赘述。
80.实际应用时,用户可以根据自身需求确定先基于第一策略控制所述车辆转换行驶状态还是先基于第三策略控制所述车辆转换行驶状态;当然,研发人员也可以为所述车辆设置预设规则,使得所述车辆可以基于自身所处环境的障碍物信息确定先基于第一策略控制所述车辆转换行驶状态还是先基于第三策略控制所述车辆转换行驶状态。
81.实际应用时,所述第一角度、所述第二角度、所述第三角度和所述第四角度对应的转弯半径可以根据车辆偏移角度与转弯半径的对应关系确定,而车辆偏移角度与转弯半径的对应关系可以由研发人员根据设计需求确定。在狭小环境中,转弯半径越小,控制所述车辆转向的效率越高。以及,在转向过程中,所述第一角度、所述第二角度、所述第三角度或所述第四角度是可以动态调整的,具体的,可根据行进方向上障碍物的大小,或者行进方向上障碍物与车辆的距离等进行动态调整。
82.实际应用时,以滑板车的掉头事件为例,假设所述滑板车在向北前进的行驶过程中,监测到了向左掉头(即向左转向180
°
,所述指定偏移方向为左,所述指定角度为180
°
)的事件,此时,可以控制所述滑板车的车把手(即所述方向组件)向左(即所述第一方向)偏移最大角度(即所述第一角度),同时,给所述滑板车的后轮一个向前的速度,这样,所述滑板车可以最小的转弯半径沿圆弧前进,直至所述滑板车的行驶状态转换为向南前进;在所述滑板车沿圆弧前进时,如果监测到了前进方向存在障碍物,此时,可以控制所述滑板车的车把手向右(即所述第二方向)偏移最大角度(即所述第二角度),同时,给所述滑板车的后轮一个向后的速度,这样,所述滑板车可以最小的转弯半径沿圆弧后退,直至所述滑板车的行驶状态转换为向南前进;当然,在所述滑板车沿圆弧后退时,如果监测到了后退方向存在障碍物,可以重新控制所述滑板车的车把手向左偏移最大角度,并给所述滑板车的后轮一个向前的速度,即重新控制所述滑板车沿圆弧前进;如此,根据行进方向是否存在障碍物,控制所述滑板车在沿圆弧前进的状态和沿圆弧后退的状态中循环切换,直至所述滑板车的行驶状态转换为向南前进,完成控制所述滑板车向左掉头的事件。这里,在所述滑板车沿圆弧
前进时,所述滑板车的角速度可以采用如下公式表示:
[0083][0084]
其中,ω表示所述滑板车的角速度,v表示所述滑板车的后轮的速度,δ表示所述滑板车的车把手向左偏移的角度,l表示所述滑板车的车身长度;v、δ和l可以根据用户需要设置。
[0085]
在所述滑板车沿圆弧后退时,所述滑板车的角速度可以采用如下公式表示:
[0086][0087]
其中,-v表示所述滑板车的后轮的速度,-δ表示所述滑板车的车把手向右偏移的角度。
[0088]
可见,所述滑板车在沿圆弧前进或沿圆弧后退时,角速度的方向和大小保持不变;如此,通过在切换策略时使所述滑板车的车把手向左或向右均偏移最大角度,以使所述滑板车以最小转弯半径沿圆弧前进或后退,可以最快地实现滑板车掉头的过程。
[0089]
实际应用时,滑板车掉头所需区域与l相关联;具体地,针对同一狭小环境,例如宽度固定的小巷,l较大的滑板车切换策略的次数较多。假设第一滑板车的车身长度为l1,第二滑板车的车身长度为l2,l2大于l1,在控制第一滑板车和第二滑板车在同一小巷(宽度为1.5米)中掉头的过程可以如图2和图3所示,控制第一滑板车201在小巷200中掉头仅需切换一次策略,而控制第二滑板车301在小巷200中掉头需要切换三次策略。
[0090]
实际应用时,在所述车辆转换行驶状态的过程中,监测到的所述车辆的行进方向存在的障碍物可能是静态障碍物(例如墙壁、马路边沿等)或动态障碍物(例如小动物、车辆等),需要在确定监测到的障碍物是静态障碍物的情况下,再进行策略切换;因此,在进行策略切换之前,需要判断监测到的障碍物是否是静态障碍物,在确定监测到的障碍物是静态障碍物的情况下,进行策略切换;在监测到的障碍物是动态障碍物的情况下,可以不进行策略切换,并控制所述车辆等待预设时长,使得监测到的动态障碍物不再影响所述车辆的行驶。
[0091]
基于此,在一实施例中,所述方法还可以包括:
[0092]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,判断所述障碍物是否为静态障碍物,得到第一判断结果;
[0093]
在所述第一判断结果表征所述障碍物为静态障碍物的情况下,进行策略切换;
[0094]
在所述第一判断结果表征所述障碍物为动态障碍物的情况下,控制所述车辆等待第一时长,并在所述第一时长后基于等待前的策略转换行驶状态。
[0095]
实际应用时,所述第一时长可以根据用户需要设置,比如5秒。
[0096]
实际应用时,可以利用所述车辆的传感器(例如摄像头)直接判断监测到的障碍物是静态障碍物还是动态障碍物;也可以设置第二时长(比如2秒),在监测到所述车辆的行进方向存在障碍物时,控制所述车辆等待所述第二时长,并在等待后判断监测到的障碍物是否发生位移,或者判断是否还能够监测到障碍物。
[0097]
实际应用时,为了避免所述车辆与监测到的所述车辆的行进方向存在的障碍物相撞,在监测到所述车辆的行进方向存在障碍物时,需要控制所述车辆减速,使得所述车辆能
够避开监测到的障碍物。
[0098]
基于此,在一实施例中,所述方法还可以包括:
[0099]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,基于第一规则,控制所述车辆减速行驶;所述第一规则是根据所述车辆的预测轨迹确定的;所述预测轨迹是根据监测得到的所述车辆的行驶速度确定的;
[0100]
在所述车辆的行驶速度减小至第一速度的情况下,进行策略切换。
[0101]
实际应用时,所述第一速度可以由研发人员根据设计需求确定,也可以由用户根据使用需求确定;比如,可以将所述第一速度设置为0。
[0102]
具体地,实际应用时,可以基于预设周期(比如1秒)对所述车辆的行驶速度进行采样(即实时获取采样速度),针对每个采样速度,可以结合所述车辆的转弯半径和预先设置的第三时长(比如2秒),确定所述车辆在第三时长内的预测轨迹,所述预测轨迹为半径为所述车辆的转弯半径的圆形的一部分(即一条弧线),利用确定的预测轨迹以及监测到的所述车辆的行驶方向存在的障碍物,确定第一规则,所述第一规则用于使所述车辆在进行策略切换时的行驶速度减小至第一速度(比如0);这里,预测轨迹随着采样速度的改变而改变,第一规则随着预测轨迹的改变而改变;由于采样速度是实时获取的,因此,预测轨迹和第一规则也是实时更新的;也就是说,所述基于第一规则,控制所述车辆减速行驶,即实时规划所述车辆的行驶速度,当规划的行驶速度为第一速度时,可以确定所述车辆已到达监测到的障碍物所处的位置,需要进行策略却换。如此,可以使所述车辆避开监测到的障碍物,提升用户体验。
[0103]
本发明实施例提供的控制车辆转向的方法,监测到针对车辆的转向事件;根据监测到的转向事件,确定所述车辆的目标行驶状态;所述目标行驶状态至少包含所述车辆转向后的行驶方向;控制所述车辆基于两个预设策略转换行驶状态,直至所述车辆的行驶状态由监测到所述转向事件时的行驶状态转换为所述目标行驶状态;其中,所述两个预设策略对应的偏移方向和行进方向不同;所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,进行策略切换;如此,可以使得车辆在狭小环境中成功转向,并避开障碍物,进而提升用户体验。
[0104]
下面结合应用实施例对本发明再作进一步详细的描述。
[0105]
在本应用实施例中,所述车辆为滑板车,监测到的所述转向事件为向左掉头的事件,即所述指定偏移方向为左,所述指定角度为180
°
。所述滑板车是一种运动模型近似满足ackermann转向模型的运动装置;所述滑板车的掉头原理是:将车把手(即上述方向组件)向左或向右转动到最大转动角度,以使得所述滑板车按照最小转弯半径前进或后退,直至车身转过180
°
,即实现掉头的目的;监测到所述转向事件后,基于第一策略和第二策略控制所述滑板车掉头,也就是说,所述第一方向为左,所述第二方向为右;同时,所述第一角度和所述第二角度相同,均为所述滑板车的车把手的最大转动角度。
[0106]
在所述滑板车的掉头过程中,所述滑板车的状态机(scooter turnround statemachine)可以划分为8个状态:初始化状态(initialstate)、调头任务完成后的终止状态(terminatestate)、车把手往左转的状态(turnleftstate)、车把手往右转的状态(turnrightstate)、滑板车前进的状态(forwardstate)、滑板车后退的状态(backwardstate)、滑板车前进时遇到障碍物的状态(forwardcollisionstate)以及滑板车
后退时遇到障碍物的状态(backwardcollisionstate)。
[0107]
基于此,本应用实施例提供的控制车辆转向的方法可以包括以下步骤:
[0108]
步骤1:监测到滑板车向左掉头的事件;之后执行步骤2。
[0109]
这里,步骤1的具体实现过程与图1所示的控制车辆转向的方法中步骤101的具体实现过程相同,这里不多赘述。
[0110]
步骤2:控制所述滑板车沿圆弧前进或后退,在监测到滑板车的行进方向存在障碍物时,切换scooter turnround statemachine的状态,直至scooter turnround statemachine达到terminatestate状态。
[0111]
具体地,步骤2的scooter turnround statemachine的状态切换过程可以如图4所示,最开始,所述滑板车处于initialstate状态,在监测到滑板车向左掉头的事件后,所述滑板车切换为turnleftstate状态,此时可以由一个计数器(turning_counter)监测滑板车的车把手向左转动的角度是否达到了最大角度(max_turning_counter),在确定滑板车的车把手向左转动的角度达到了最大角度时,可以将所述滑板车切换为forwardstate状态;在监测到滑板车的行进方向存在障碍物时,将所述滑板车切换为forwardcollisionstate状态,并通过另一个计时器(collision_counter)监测障碍物静止不动的时间是否达到最大时间(max_collision_counter),来判断所述障碍物是否为静态障碍物,若是,则将所述滑板车切换为turnrightstate状态,若不是,则不切换所述滑板车的状态;此时,同样可以由turning_counter监测滑板车的车把手向右转动的角度是否达到了max_turning_counter,并在确定滑板车的车把手向右转动的角度达到了max_turning_counter时,将所述滑板车切换为backwardstate状态;之后,在监测到滑板车的行进方向存在障碍物时,将所述滑板车切换为backwardcollisionstate状态,并同样通过collision_counter监测障碍物静止不动的时间是否达到max_collision_counter,来判断所述障碍物是否为静态障碍物,若是,则将所述滑板车切换为turnleftstate状态,若不是,则不切换所述滑板车的状态;如此不断循环,直到所述滑板车的车身转过180度,可以将所述滑板车切换为terminatestate状态。
[0112]
这里,步骤2的具体实现过程与图1所示的控制车辆转向的方法中步骤201的具体实现过程相同,这里不多赘述。
[0113]
本应用实施例提供的控制车辆转向的方法,具备以下优点:
[0114]
第一,利用了贪婪算法的思想,即滑板车为调头而前进或后退的过程中直到遇到障碍物才会切换状态,不需要对滑板车进行路径规划,节约了滑板车的计算资源。
[0115]
第二,能够改善滑板车在狭小环境中的活动能力,实现滑板车掉头的目的,并避开障碍物,提升了用户体验。
[0116]
为了实现本发明实施例的方法,本发明实施例还提供了一种控制车辆转向的装置,如图5所示,控制车辆转向的装置500包括监测单元501、第一处理单元502和第二处理单元503;其中,
[0117]
所述监测单元501,用于监测到针对车辆的转向事件;
[0118]
所述第一处理单元502,用于根据监测到的转向事件,确定所述车辆的目标行驶状态;所述目标行驶状态至少包含所述车辆转向后的行驶方向;
[0119]
所述第二处理单元503,用于控制所述车辆基于两个预设策略转换行驶状态,直至
所述车辆的行驶状态由监测到所述转向事件时的行驶状态转换为所述目标行驶状态;其中,
[0120]
所述两个预设策略对应的偏移方向和行进方向不同;
[0121]
所述第二处理单元503,还用于:
[0122]
在所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,进行策略切换。
[0123]
在一实施例中,所述第二处理单元503,还用于:
[0124]
基于第一策略,控制所述车辆的行驶方向朝第一方向偏移第一角度,并控制所述车辆前进;监测到所述车辆的行进方向存在障碍物时,进行策略切换,基于第二策略,控制所述车辆的行驶方向朝第二方向偏移第二角度,并控制所述车辆后退。
[0125]
在一实施例中,所述第二处理单元503,还用于:
[0126]
基于第三策略,控制所述车辆的行驶方向朝第三方向偏移第三角度,并控制所述车辆后退;检测到所述车辆的行进方向存在障碍物时,进行策略切换,基于第四策略,控制所述车辆的行驶方向朝第四方向偏移第四角度,并控制所述车辆前进。
[0127]
在一实施例中,所述第二处理单元503,还用于:
[0128]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,基于第一规则,控制所述车辆减速行驶;所述第一规则是根据所述车辆的预测轨迹确定的;所述预测轨迹是根据监测得到的所述车辆的行驶速度确定的;
[0129]
在所述车辆的行驶速度减小至第一速度的情况下,进行策略切换。
[0130]
在一实施例中,所述第二处理单元503,还用于:
[0131]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,判断所述障碍物是否为静态障碍物,得到第一判断结果;
[0132]
在所述第一判断结果表征所述障碍物为静态障碍物的情况下,进行策略切换;
[0133]
在所述第一判断结果表征所述障碍物为动态障碍物的情况下,控制所述车辆等待第一时长,并在所述第一时长后基于等待前的策略转换行驶状态。
[0134]
在一实施例中,所述监测单元501,还用于:
[0135]
接收到第一指令;所述第一指令用于触发所述转向事件;或者,
[0136]
监测到第一操作;所述第一操作用于触发所述转向事件;或者,
[0137]
监测到所述车辆的行驶方向存在障碍物
[0138]
实际应用时,所述监测单元501、所述第一处理单元502和所述第二处理单元503可由控制车辆转向的装置500中的处理器结合通信接口实现。
[0139]
需要说明的是:上述实施例提供的控制车辆转向的装置500在进行车辆控制时,仅以上述各程序模块的划分进行举例说明,实际应用时,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的控制车辆转向的装置500与控制车辆转向的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0140]
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种控制车辆转向的装置,如图6所示,所述控制车辆转向的装置60包括:
[0141]
通信接口61,能够与其它电子设备进行信息交互;
[0142]
处理器62,与所述通信接口61连接,以实现与其它电子设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的方法;
[0143]
存储器63,用于存储能够在所述处理器62上运行的计算机程序。
[0144]
具体地,所述处理器62用于执行以下操作:
[0145]
监测到针对车辆的转向事件;
[0146]
根据监测到的转向事件,确定所述车辆的目标行驶状态;所述目标行驶状态至少包含所述车辆转向后的行驶方向;
[0147]
控制所述车辆基于两个预设策略转换行驶状态,直至所述车辆的行驶状态由监测到所述转向事件时的行驶状态转换为所述目标行驶状态;其中,
[0148]
所述两个预设策略对应的偏移方向和行进方向不同;
[0149]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,进行策略切换。
[0150]
在一实施例中,所述处理器62,还用于执行以下操作:
[0151]
基于第一策略,控制所述车辆的行驶方向朝第一方向偏移第一角度,并控制所述车辆前进;监测到所述车辆的行进方向存在障碍物时,进行策略切换,基于第二策略,控制所述车辆的行驶方向朝第二方向偏移第二角度,并控制所述车辆后退。
[0152]
在一实施例中,所述处理器62,还用于执行以下操作:
[0153]
基于第三策略,控制所述车辆的行驶方向朝第三方向偏移第三角度,并控制所述车辆后退;检测到所述车辆的行进方向存在障碍物时,进行策略切换,基于第四策略,控制所述车辆的行驶方向朝第四方向偏移第四角度,并控制所述车辆前进。
[0154]
在一实施例中,所述处理器62,还用于执行以下操作:
[0155]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,基于第一规则,控制所述车辆减速行驶;所述第一规则是根据所述车辆的预测轨迹确定的;所述预测轨迹是根据监测得到的所述车辆的行驶速度确定的;
[0156]
在所述车辆的行驶速度减小至第一速度的情况下,进行策略切换。
[0157]
在一实施例中,所述处理器62,还用于执行以下操作:
[0158]
所述车辆转换行驶状态的过程中,监测到所述车辆的行进方向存在障碍物时,判断所述障碍物是否为静态障碍物,得到第一判断结果;
[0159]
在所述第一判断结果表征所述障碍物为静态障碍物的情况下,进行策略切换;
[0160]
在所述第一判断结果表征所述障碍物为动态障碍物的情况下,控制所述车辆等待第一时长,并在所述第一时长后基于等待前的策略转换行驶状态。
[0161]
在一实施例中,所述处理器62,还用于执行以下操作:
[0162]
接收到第一指令;所述第一指令用于触发所述转向事件;
[0163]
监测到第一操作;所述第一操作用于触发所述转向事件;
[0164]
监测到所述车辆的行驶方向存在障碍物。
[0165]
需要说明的是:所述处理器62具体执行上述操作的过程详见方法实施例,这里不再赘述。
[0166]
当然,实际应用时,控制车辆转向的装置60中的各个组件通过总线系统64耦合在一起。可理解,总线系统64用于实现这些组件之间的连接通信。总线系统64除包括数据总线
之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统64。
[0167]
本发明实施例中的存储器63用于存储各种类型的数据以支持控制车辆转向的装置60的操作。这些数据的示例包括:用于在控制车辆转向的装置60上操作的任何计算机程序。
[0168]
上述本发明实施例揭示的方法可以应用于处理器62中,或者由处理器62实现。处理器62可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器62中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器62可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器62可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器63,处理器62读取存储器63中的信息,结合其硬件完成前述方法的步骤。
[0169]
在示例性实施例中,控制车辆转向的装置60可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或者其他电子元件实现,用于执行前述方法。
[0170]
可以理解,本发明实施例的存储器(存储器63)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0171]
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器63,上述计算机程序可由控制车辆转向的装置60的处理器62执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器。
[0172]
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0173]
另外,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
[0174]
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献