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

用于自动驾驶的基于学习的控制器的制作方法

2021-10-12 17:14:00 来源:中国专利 TAG:驾驶 公开 实施 方式 总体上


1.本公开的实施方式总体上涉及操作自动驾驶车辆。更具体地,本公开的实施方式涉及用于自动驾驶的基于学习的控制器。


背景技术:

2.以自动模式(例如,无驾驶员)操作的车辆可减轻乘坐者、尤其是驾驶员的某些驾驶相关的责任。当在自动模式下操作时,车辆可使用车载传感器导航到各种位置,从而允许车辆以最少的人机交互或者在一些情况下不需要任何乘客来行进。
3.自动驾驶车辆的车辆控制器可以产生控制命令以根据期望的路径或路线使车辆移动。控制器可以利用静态控制算法。
4.模型预测控制器可以生成将在将来的时间帧上应用的、使受控对象沿着预测的路径移动的命令序列。可以针对不同的项对命令序列进行优化,例如,横向轨迹误差、行驶方向误差以及速度、加速度、行驶方向等的突然变化。将命令序列中的第一个应用于受控对象。在随后的时间(例如,下一个周期),重复该过程,并且在每个周期将新的命令序列中的第一个应用于受控对象。
5.这种控制器可用于控制和操作自动驾驶车辆(adv),以沿目标路径以目标速度行进。mpc(模型预测控制)可以使用静态优化算法和静态车辆模型来生成优化的命令序列。然而,这些控制算法可能不考虑车辆环境的变化或车辆的变化。无论车辆的环境是什么以及车辆的物理状态改变了多少,控制器都将使用相同的算法来实现期望的速度和转向行为。这会降低安全性并引起不舒服的驾驶体验。


技术实现要素:

6.本公开的实施方式提供了用于操作自动驾驶车辆adv的方法、存储有指令的非暂时性机器可读介质以及数据处理系统。
7.在本公开的一方面,用于操作自动驾驶车辆adv的方法包括:利用模型预测控制mpc控制器生成控制命令,所述mpc控制器包括使用成本函数的优化器,所述成本函数配置有与所述成本函数的成本项相关联的一个或多个权重;将所述控制命令应用于所述adv的动态模型以模拟所述adv的行为;基于对响应于所述控制命令的所述动态模型的评估来调整所述一个或多个权重,从而得到所述mpc控制器的调整的成本函数;以及利用具有所述调整的成本函数的所述mpc控制器,生成用于实现所述adv的移动的第二控制命令。
8.在本公开的另一方面,公开了存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使所述处理器执行操作自动驾驶车辆adv的操作,所述操作包括:利用模型预测控制mpc控制器生成控制命令,所述mpc控制器包括使用成本函数的优化器,所述成本函数配置有与所述成本函数的成本项相关联的一个或多个权重;将所述控制命令应用于所述adv的动态模型以模拟所述adv的行为;基于对响应于所述控制命令的所述动态模型的评估来调整所述一个或多个权重,从而得到所述mpc控制器的调整的成本函数;以及利用具有
所述调整的成本函数的所述mpc控制器,生成用于实现所述adv的移动的第二控制命令。
9.在本公开的又一方面,数据处理系统包括:处理器;以及存储器,联接到所述处理器以存储指令,所述指令在由所述处理器执行时致使所述处理器执行操作自动驾驶车辆adv的操作,所述操作包括:利用模型预测控制mpc控制器生成控制命令,所述mpc控制器包括使用成本函数的优化器,所述成本函数配置有与所述成本函数的成本项相关联的一个或多个权重;将所述控制命令应用于所述adv的动态模型以模拟所述adv的行为;基于对响应于所述控制命令的所述动态模型的评估来调整所述一个或多个权重,从而得到所述mpc控制器的调整的成本函数;以及利用具有所述调整的成本函数的所述mpc控制器,生成用于实现所述adv的移动的第二控制命令。
附图说明
10.本公开的实施方式在附图的图示中以示例性的方式而非限制性的方式示出,在附图中,相同的附图标记指示类似的元件。
11.图1是示出根据一个实施方式的网络化系统的框图。
12.图2是示出根据一个实施方式的自动车辆的示例的框图。
13.图3a至图3b是示出根据一个实施方式的与自动车辆一起使用的感知和规划系统的示例的框图。
14.图4示出根据一个实施方式的用于自动驾驶的系统架构的框图。
15.图5示出根据一个实施方式的基于场景控制自动驾驶车辆的过程。
16.图6示出根据一个实施方式的基于学习的模型预测控制器。
17.图7示出根据一个实施方式的用于根据基于学习的模型预测控制器来控制自动驾驶车辆的系统。
具体实施方式
18.将参考以下讨论的细节来描述本公开的各种实施方式和各方面,并且附图将示出各种实施方式。以下描述和附图是本公开的示例,而不应被解释为限制本公开。本文描述了许多具体细节,以提供对本公开的各种实施方式的透彻理解。然而,在某些情况下,为了提供对本公开的实施方式的简洁讨论,没有描述公知的或常规的细节。
19.在说明书中提及“一个实施方式”或“实施方式”意味着结合该实施方式描述的特定特征、结构或特性可包括于本公开的至少一个实施方式中。在说明书各处出现的表达“在一个实施方式中”不一定均指同一实施方式。
20.根据一些实施方式,在线学习系统基于自动驾驶车辆(adv)的当前物理环境和adv的当前物理状态来更新用于控制器(例如,模型预测控制器)的参数。mpc可以基于所预测的adv的移动来产生一系列优化的控制命令。这些预测的移动将依目标路径或路线(包括沿着路线上的路点的位置和行驶方向)而行进,同时各项进行优化以减少不希望的状况(例如,速度、加速度和行驶方向的大的变化)。因此,控制命令通过mpc来优化,并且当被施加到adv控制致动器时,将使adv依目标路径行进。
21.然后将这些控制命令应用于表示adv的车辆动态模型,以模拟adv如何响应。在模拟中,考虑实时环境状况,例如车流量、道路状况(例如,潮湿、打滑、有冰)、感测的障碍物
等。adv还可以具有增加adv质量的乘客或其它货物物品。燃料、电池电量状态或电池健康状态也可以改变。在模拟中可以考虑这些变化。基于仿真来评估和调整mpc控制器的优化参数(例如,权重或系数)。
22.调整的mpc控制器用于产生考虑了adv的当前环境状况的一个或多个控制命令。这种调整可以周期性地进行,例如,基于每个行驶周期。以这种方式,在行驶的同时,mpc控制器被周期性地“在线”调整。在本公开中讨论了其它方面和细节。
23.图1是示出根据本公开的一个实施方式的自动车辆网络配置的框图。参照图1,网络配置100包括可通过网络102通信地联接至一个或多个服务器103至104的自动车辆101。尽管示出了一个自动车辆,但是多个自动车辆可彼此联接和/或通过网络102联接至服务器103至104。网络102可为有线或无线的任何类型的网络,诸如局域网(lan)、诸如因特网的广域网(wan)、蜂窝网络、卫星网络或其组合。一个或多个服务器103至104可为任何类型的服务器或服务器群集,诸如web或云服务器、应用服务器、后端服务器或其组合。服务器103至104可为数据分析服务器、内容服务器、交通信息服务器、地图和兴趣点(mpoi)服务器、或位置服务器等。
24.自动车辆是指能够配置为处于自动模式的车辆,在该自动模式中,车辆在很少或没有来自驾驶员的输入的情况下导航通过环境。这种自动车辆可包括具有一个或多个传感器的传感器系统,该传感器配置为检测关于车辆在其中操作的环境的信息。车辆及其相关联的一个或多个控制器使用所检测的信息来导航通过环境。自动车辆101可在手动模式、全自动模式或部分自动模式下操作。
25.在一个实施方式中,自动车辆101包括但不限于感知和规划系统110、车辆控制系统111、无线通信系统112、用户界面系统113和传感器系统115。自动车辆101还可包括在普通车辆中包括的某些公共部件,诸如发动机、车轮、方向盘、变速器等,其可由使用各种通信信号和/或命令的感知和规划系统110和/或车辆控制系统111来控制,所述通信信号和/或命令诸如为加速信号或命令、减速信号或命令、转向信号或命令、制动信号或命令等。
26.部件110至115可经由互连件、总线、网络或其组合彼此通信地联接。例如,部件110至115可经由控制器区域网络(can)总线彼此通信地联接。can总线是车辆总线标准,其设计成允许微控制器和设备在没有主计算机的应用中彼此通信。can总线是一种基于消息的协议,最初设计成用于汽车内的多路电线,但是也用于许多其它环境。
27.现在参考图2,在一个实施方式中,传感器系统115包括但不限于一个或多个摄像机211、全球定位系统(gps)单元212、惯性测量单元(imu)213、雷达单元214、和光检测和测距(lidar)单元215。gps系统212可包括收发器,收发器可操作为提供关于自动车辆的位置的信息。imu单元213可基于惯性加速度来感测自动车辆的位置和方向变化。雷达单元214可表示利用无线电信号来感测自动车辆的本地环境内的对象的系统。在一些实施方式中,除了感测对象之外,雷达单元214还可感测对象的速度和/或行驶方向。lidar单元215可使用激光来感测自动车辆所处的环境中的对象。lidar单元215可包括一个或多个激光源、激光扫描仪和一个或多个检测器、以及其它系统部件。照相机211可包括用于捕获自动车辆周围环境的图像的一个或多个设备。照相机211可为静态照相机和/或视频照相机。例如,通过将照相机安装在旋转和/或倾斜平台上,照相机可为能够机械移动。
28.传感器系统115还可包括其它传感器,诸如声纳传感器、红外传感器、转向传感器、
油门传感器、制动传感器和音频传感器(例如麦克风)。音频传感器可配置为从自动车辆周围的环境捕获声音。转向传感器可配置成感测方向盘、车辆的车轮或其组合的转向角。油门传感器和制动传感器分别感测车辆的油门位置和制动位置。在一些情况下,油门传感器和制动传感器可集成为集成的油门/制动传感器。
29.在一个实施方式中,车辆控制系统111包括但不限于转向单元201、油门单元202(也称为加速单元)和制动单元203。转向单元201用于调整车辆的方向或行驶方向。油门单元202用于控制电动机或发动机的速度,该电动机或发动机又控制车辆的速度和加速度。制动单元203通过提供摩擦来使车辆减速,以减慢车辆的车轮或轮胎的速速。注意,如图2所示的部件可用硬件、软件或其组合来实现。
30.回到图1,无线通信系统112将允许在自动车辆101和外部系统之间进行通信,所述外部系统诸如是设备、传感器、其它车辆等。例如,无线通信系统112可直接或经由通信网络与一个或多个设备进行无线通信,诸如网络102上的服务器103至104。无线通信系统112可使用任何蜂窝通信网络或无线局域网(wlan)与另一部件或系统进行通信,例如使用wifi进行通信。无线通信系统112可例如使用红外链路、蓝牙等直接与设备(例如,乘客的移动设备、显示设备、车辆101内的扬声器)通信。用户界面系统113可为在车辆101内实现的外围设备的部分,包括例如键盘、触摸屏显示设备、麦克风和扬声器等。
31.自动车辆101的一些或全部功能可由感知和规划系统110进行控制或管理,特别是当在自动驾驶模式下操作时。感知和规划系统110包括从传感器系统115、控制系统111、无线通信系统112和/或用户界面系统113接收信息的必要硬件(例如,一个或多个处理器、存储器、存储装置)和软件(例如,操作系统、规划和路线程序),处理所接收的信息,规划从起始点到目的点的路线或路径,然后基于规划和控制信息驾驶车辆101。替代地,感知和规划系统110可与车辆控制系统111集成在一起。
32.例如,作为乘客的用户可例如经由用户界面指定行程的开始位置和目的地。感知和规划系统110获得行程相关数据。例如,感知和规划系统110可从mpoi服务器获得位置和路线信息,mpoi服务器可为服务器103至104的部分。位置服务器提供位置服务,以及mpoi服务器提供地图服务和特定位置的poi。替代地,可将这种位置和mpoi信息本地缓存在感知和规划系统110的永久存储设备中。
33.当自动车辆101沿着路线移动时,感知和规划系统110还可从交通信息系统或服务器(tis)获得实时交通信息。注意,服务器103至104可由第三方实体操作。替代地,服务器103至104的功能可与感知和规划系统110集成在一起。基于由实时交通信息、mpoi信息和位置信息、以及传感器系统115检测或感测的实时本地环境数据(例如,障碍物、物体、附近车辆),感知和规划系统110可例如经由控制系统111规划最佳路线,并驾驶车辆101,从而安全和有效地到达指定目的地。
34.服务器103可以是为各种客户机执行数据分析服务的数据分析系统。在一个实施方式中,数据分析系统103包括数据收集器121和机器学习引擎122。数据收集器121收集来自各种车辆的驾驶统计123,所述车辆是自动车辆或由人类驾驶员驾驶的常规车辆。驾驶统计123包括指示由车辆的传感器在不同时间点捕获的车辆的驾驶命令(例如,油门、制动器、转向命令)和响应(例如,速度、加速度、减速度、方向)的信息。驾驶统计123还可包括描述在不同时间点的驾驶环境的信息,例如,路线(包括开始位置和目的地位置)、mpoi、道路状况、
天气状况等。
35.基于驾驶统计123,机器学习引擎122为各种目的生成或训练一组规则、算法和/或预测模型124。在一个实施方式中,算法124可以包括由本公开的模型预测控制器使用的算法。然后,算法124可以被上载到adv上,以在自动驾驶期间被实时地利用。
36.图3a和图3b是示出根据一个实施方式的与自动车辆一起使用的感知和规划系统的示例的框图。系统300可实现为图1的自动车辆101的一部分,包括但不限于感知和规划系统110、控制系统111和传感器系统115。参照图3a至图3b,感知和规划系统110包括但不限于定位模块301、感知模块302、预测模块303、决策模块304、规划模块305、控制模块306、路由模块307和基于学习的mpc 308。
37.模块301至308中的一些或全部可用软件、硬件或其组合来实现。例如,这些模块可安装在永久存储设备352中,加载到存储器351中,并且由一个或多个处理器(未示出)执行。注意,这些模块中的一些或全部可通信地联接至图2的车辆控制系统111的一些或全部模块,或与图2的车辆控制系统111的一些或全部模块集成。模块301至308中的一些可集成在一起作为集成模块。
38.定位模块301确定自动车辆300的当前位置(例如,利用gps单元212),并管理与用户的行程或路线相关的任何数据。定位模块301(也称为地图和路线模块)管理与用户的行程或路线有关的任何数据。用户可例如经由用户界面登录,并指定行程的开始位置和目的地。定位模块301与自动车辆300的诸如地图和路线信息311的其它部件通信,以获得行程相关数据。例如,定位模块301可从位置服务器以及地图和poi(mpoi)服务器获得位置和路线信息。位置服务器提供位置服务,以及mpoi服务器提供地图服务和特定位置的poi,其可作为地图和路线信息311的部分进行高速缓存。当自动车辆300沿着路线移动时,定位模块301还可从交通信息系统或服务器获得实时交通信息。
39.基于由传感器系统115提供的传感器数据和由定位模块301获得的定位信息,由感知模块302确定对周围环境的感知。感知信息可表示普通驾驶员将感知到驾驶员正在驾驶的车辆周围的东西。该感知可包括车道配置、交通灯信号、另外的车辆的相对位置、行人、建筑物、人行道、或其它交通相关标志(例如,停车标志、让路标志)等,例如,以对象的形式。车道配置包括描述一条或多条车道的信息,例如,车道的形状(例如,直线或曲率)、车道的宽度、道路中多少车道、单向或双向车道、合并或分裂车道、退出车道等。
40.感知模块302可包括计算机视觉系统或计算机视觉系统的功能,以处理和分析由一个或多个相机捕获的图像,从而识别自动车辆环境中的对象和/或特征。对象可包括交通信号、道路边界、其它车辆、行人和/或障碍物等。计算机视觉系统可使用对象识别算法、视频跟踪和其它计算机视觉技术。在一些实施方式中,计算机视觉系统可映射环境,跟踪对象,以及估计对象的速度等。感知模块302还可基于由诸如雷达和/或lidar的其它传感器提供的其它传感器数据来检测对象。
41.对于每个对象,预测模块303均预测对象在环境下将表现的行为。基于根据一组地图/路线信息311和交通规则312在时间点感知驾驶环境的感知数据,执行预测。例如,如果对象是处于相反方向的车辆并且当前驾驶环境包括交叉路口,则预测模块303将预测车辆是否可能直接向前移动或转弯。如果感知数据指示交叉路口没有交通灯,则预测模块303可预测车辆在进入交叉路口之前可能必须完全停止。如果感知数据指示车辆当前处于仅左转
弯车道或仅右转弯车道,则预测模块303可预测车辆将更可能分别进行左转弯或右转弯。
42.对于每个对象,决策模块304均做出关于如何处理对象的决定。例如,对于特定对象(例如,交叉路口中的另外的车辆)及其描述该对象的元数据(例如,速度、方向、转向角),决策模块304决定如何遇到该对象(例如,超车、让路、停止、通过)。决策模块304可根据可存储在持久存储装置352中的诸如交通规则或驾驶规则312的一组规则来作出此类决定。
43.路由模块307配置为提供从起始点到目的点的一个或多个路线或路径。对于例如从用户接收的从开始位置到目的地位置的给定行程,路由模块307获得路线和地图信息311,并确定从开始位置到目的地位置的所有可能的路线或路径。路由模块307可为它确定的从开始位置到达目的地位置的每条路线生成地形图形式的参考线。参考线指的是没有来自其它车辆、障碍物或交通状况的任何干扰的理想路线或路径。也就是说,如果在道路上没有其它车辆、行人或障碍物,则adv应该精确地或紧密地遵循参考线。然后将地形图提供给决策模块304和/或规划模块305。决策模块304和/或规划模块305考虑由其它模块提供的其它数据,例如来自定位模块301的交通状况、由感知模块302感知的驾驶环境以及由预测模块303预测的交通状况,检查所有可能的路线以选择和修改最佳路线之一。用于控制adv的实际路径或路线可接近或不同于由路由模块307提供的参考线,这取决于在该时间点的特定驾驶环境。
44.基于所感知的对象中的每个的决定,规划模块305使用由路由模块307提供的参考线作为基础来规划自动车辆的路径或路线以及驾驶参数(例如,距离、速度和/或转向角度)。也就是说,对于给定的对象,决策模块304决定对该对象做什么,而规划模块305决定如何做。例如,对于给定的对象,决策模块304可决定通过该对象,而规划模块305可确定是在该对象的左侧还是右侧通过。规划和控制数据由规划模块305生成,包括描述车辆300将如何在下一移动循环(例如,下一路线/路径段)中移动的信息。例如,规划和控制数据可指示车辆300以每小时30英里(mph)的速度移动10米,然后以25mph的速度改变到右车道。
45.基于规划和控制数据,控制模块306根据规划和控制数据所限定的路线或路径,通过向车辆控制系统111发送适当的命令或信号来控制和驾驶自动车辆。规划和控制数据包括足够的信息,以便在沿着路径或路线的不同时间点,使用适当的车辆设置或驾驶参数(例如,油门、制动、转向命令)将车辆从路线或路径的第一点驾驶到第二点。
46.在一个实施方式中,规划阶段在多个规划周期中执行,规划周期也称为驾驶周期,例如,在100毫秒(ms)的每个时间间隔中执行。对于每个规划周期或驾驶周期,将基于规划和控制数据发出一个或多个控制命令。也就是说,对于每100ms,规划模块305均规划下一路线段或路径段,例如,包括目标位置和adv到达目标位置所需的时间。替代地,规划模块305可进一步指定特定速度、方向和/或转向角等。在一个实施方式中,规划模块305可为诸如5秒的下一预定时间段内规划路线段或路径段。对于每个规划周期,规划模块305基于在前一个周期中规划的目标位置来规划当前周期的目标位置(例如,下一个5秒)。然后,控制模块306基于当前周期的规划和控制数据生成一个或多个控制命令(例如,油门、制动器、转向控制命令)。
47.注意,决策模块304和规划模块305可集成为集成模块。决策模块304/规划模块305可包括导航系统或导航系统的功能,以确定自动车辆的行驶路径。例如,导航系统可确定一系列速度和方向行驶方向,以影响自动车辆沿着基本上避免感知障碍的路径的移动,同时
通常使自动车辆沿着基于道路的路径前进到最终目的地。可根据经由用户界面系统113的用户输入来设置目的地。导航系统可在自动车辆运行时动态地更新行驶路径。导航系统可结合来自gps系统的数据和一个或多个地图,以便确定自动车辆的行驶路径。
48.基于学习的mpc 308包括具有优化器和车辆模型的mpc控制器。优化器可以使用成本函数和车辆模型来生成沿着目标车辆轨迹依车辆路径而行进的控制命令(例如,油门、转向和/或制动命令)序列。这些命令是在针对不同成本项(例如,横向轨迹误差、行驶方向误差、速度、转向、加速度、转向变化率和/或加速度变化率)进行优化的同时生成的。每个成本项可以在成本函数中来表示,以减少不希望的行为。可将权重与每个项相关联并将权重应用于每个项(例如,乘法)以修改每个项对总计算成本的影响。
49.基于学习的mpc模块可以是在线学习模块,这意味着它例如在车辆行驶时基于新数据(例如,车辆环境和物理参数)连续更新mpc控制器。基于学习的mpc 308可以与另一模块集成,例如,规划模块305和/或控制模块306。
50.下面示出mpc控制器的成本函数的一般示例,其中j是总计算成本,w
x
是对应于项x(x=1,2,
……
)的权重,以及n是沿着adv的目标轨迹的点。
[0051][0052]
可以通过最小化计算成本j来优化这些项。这些项可以包括以下至少一个:横向轨迹误差(针对adv距目标轨迹的距离进行制约)、行驶方向误差(针对在某点处的adv行驶方向和目标轨迹方向之间的误差进行制约)、速度成本(针对速度变化进行制约)、转向成本(针对转向变化进行制约)、加速度成本(针对加速度变化进行制约)、转向变化率(针对转向变化得多快进行制约)、制动成本(针对制动进行制约)和加速度变化率(针对加速度变化得多快进行制约)。在一些实施方式中,成本函数包括上述项中的至少两个。在其它实施方式中,成本函数包括上述所有项。在考虑上述项的同时,可以产生顺序的控制命令(油门、转向、制动)以最优地依目标轨迹行进。
[0053]
这些项由mpc优化器通过使用adv的静态模型来生成。mpc预测静态模型响应于不同的控制命令将如何沿着轨迹移动,以基于adv的静态模型来确定优化的控制命令序列,并最小化成本函数。
[0054]
mpc本身不考虑adv中的环境因素或当前物理状态,随着车辆沿着轨迹行进到预期目的地,环境因素或当前物理状态两者都可以发生变化。mpc控制器的车辆模型可以是包括车辆尺寸和质量的简化车辆模型。车辆模型可以是静态的,意味着它随时间变化(例如,从一个帧到另一个帧)是恒定的。
[0055]
基于学习的mpc控制器308将利用静态mpc控制器生成的这些控制命令馈送到包括车辆质量和几何形状(例如,形状和尺寸)的车辆动态模型中,但是还可包括另外的动态参数,所述另外的动态参数对adv如何响应不同的控制命令以及adv在adv的不同环境状况下和在adv的不同物理状态(例如,满罐、空罐、低电池电量、湿式制动等)下如何响应而进行建模。动态模型还更精确地确定adv如何响应特定的命令(例如,在较高的速度vs较低的速度)
和较大的转向角。可以通过实际测试实体adv来生成动态车辆模型,以更准确地表示adv在不同速度、道路状况、转向角、载有不同乘客和货物载荷等情况下将如何表现。
[0056]
基于学习的mpc 308基于对车辆动态模型响应于控制命令的行为进行评估来调整模型预测控制器。可以调整mpc的权重。然后,调整的模型预测控制器可用于产生用于物理adv的控制命令。这可以周期性地重复,例如,基于每个行驶周期。更多方面和细节将在其它部分中讨论。
[0057]
图4是示出根据一个实施方式的用于自动驾驶的系统架构的框图。系统架构400可以表示如图3a和图3b所示的自动驾驶系统的系统架构。参照图4,系统架构400包括但不限于应用层401、规划和控制(pnc)层402、感知层403、驱动器层404、固件层405和硬件层406。应用层401可以包括与自动驾驶车辆的用户或乘客交互的用户接口或配置应用,例如,与用户接口系统113相关联的功能。pnc层402可以包括至少规划模块305和控制模块306的功能。感知层403可以包括至少感知模块302的功能。在一个实施方式中,存在包括预测模块303和/或决策模块304的功能的附加层。替换地,此类功能可以包括在pnc层402和/或感知层403中。系统架构400还包括驱动器层404、固件层405和硬件层406。固件层405可以至少表示传感器系统115的功能,其可以以现场可编程门阵列(fpga)的形式实现。硬件层406可以表示自动驾驶车辆的硬件,例如控制系统111。层401至403可以经由装置驱动器层404与固件层405和硬件层406通信。
[0058]
图5示出根据一些实施方式的利用基于学习的模型预测控制器来控制adv的过程500。操作501包括利用mpc控制器生成控制命令,所述mpc控制器包括具有与成本函数的成本项相关联的一个或多个权重的成本函数。所述控制命令还不能根据adv的当前的环境状况和物理属性进行调整。
[0059]
操作502包括将控制命令应用到adv的动态模型以模拟adv的行为。尽管在操作501中使用的mpc控制器可以包括adv的简化模型,但是动态模型可以通过考虑adv的更精细和非线性的行为来更精确地建模adv的行为,这可以通过测试和实验来确定。
[0060]
此外,尽管不是必需的,但是可以在可以包括当前在adv周围感测的对象和结构的虚拟环境中执行对动态模型的仿真,以在生成控制命令时考虑adv的当前环境。虚拟环境可以包括adv周围的当前环境的二维或三维表示。尽管简化了,但是所述环境可以包括限定对象(例如,行人、车辆、结构)的边界以及道路边界的几何结构。可以基于来自传感器系统115的感测数据,和/或来自地图和路线信息311、定位模块301、和感知与规划系统110的其它模块的信息来生成所述虚拟环境。
[0061]
操作503包括基于对响应于控制命令的动态模型的评估来调整一个或多个权重,从而生成mpc控制器的调整的成本函数。例如,所述操作可以基于对响应于控制命令的动态模型的评估来确定与一个或多个权重相关联的一个或多个得分。评估还可以仅基于adv周围的一个或多个环境状况,例如潮湿、车流量等。如所讨论的,在框501处使用的mpc控制器可以包括成本函数,所述成本函数具有在沿着目标轨迹跟踪adv时被优化的项。这些项中的每一个都可以具有相关联的权重,以用于调整(例如相对于另一个)每个项的重要程度。可以基于动态模型如何在模拟环境中表现来评估每个项(例如评分)。
[0062]
例如,如果环境状况是潮湿的(这使得adv比通常更容易打滑),则可以将转向项评估为不利(低分),以阻止转向改变。相应地,与这些项相关联的权重然后可以被调整为增
加,以进一步制约潮湿状况下的转向。这里,调整的mpc将产生用于较小的主动转向的新的控制命令。
[0063]
在另一个示例中,在模拟环境中对动态模型的分析可以示出动态模型移动得过于接近感测的对象,例如路边、行人或其他车辆。再次,将对项进行评估,并且可以增加用于横向轨迹误差和行驶方向误差的权重,以进一步制约这些误差,使得adv更积极地沿着目标轨迹行进。当不再感测到物体时,则可以降低这些权重(例如,在随后的循环中)以放松adv控制并改善adv乘坐舒适性。
[0064]
在另一个示例中,adv可以感测到车流量低。在这些状况下,可以减小与速度项相关联的权重,使得速度增加被较少地制约。因此,当车流量低时,基于学习的mpc可以更积极地提高速度(例如,朝向速度限制约束)。相反,当车流量高时,可以增加与速度成本项相关联的权重,以进一步制约较快的速度。
[0065]
在另一个示例中,当车流量高时,可以减小与制动相关联的权重,以减小对制动的制约。应当理解,尽管“高”车流量和“低”车流量是相对术语;但是,可实施阈值或其它已知机制以推断车流量是低还是高。
[0066]
在另一个示例中,adv在行驶时经历物理变化。例如,制动器可以变热或变湿,从而改变车辆对制动命令的响应。adv可以搭载改变adv的质量的乘客或货物。adv箱中的汽油的量、或电动adv的充电状态或健康状态也可以改变车辆响应油门、转向和制动命令的方式。当adv经历物理变化时,相同的结果可以导致不同的adv行为。adv的物理属性的改变可以由adv的传感器系统感测,并且用于更新adv的动态模型和/或用于直接评估成本项的权重。因此,动态模型和/或权重可以表示adv的当前状态。
[0067]
操作504包括利用具有调整的成本函数的mpc控制器生成用于实现adv的移动的第二控制命令。以这种方式,基于学习的mpc控制器使用针对adv的当前物理属性和adv的当前环境而优化的控制算法。应当理解,adv的当前环境包括adv的有效环境,例如,在与adv的控制命令相关的adv周围的有效周界内。这可以是例如10米、20米、30米、40米等。这种周界可以根据应用而变化,并且可以通过常规测试和实验来确定。
[0068]
图6示出根据一些实施方式的基于学习的mpc模块308。向模型预测控制模块602提供参考。参考可以包括例如adv的目标adv轨迹、当前行驶方向和当前速度。
[0069]
mpc模块602可以包括车辆模型670和成本函数674。成本函数可以包括成本项678和相关联的权重676。mpc模块可产生未来命令序列672(例如,油门、制动器和转向),所述未来命令序列672将预测性地影响车辆模型的移动,使得车辆模型根据所述参考行进,同时最小化成本函数。
[0070]
取命令序列中的第一个并将其应用于车辆动态模型606,以模拟比在mpc模块602处生成的车辆行为更精确的车辆行为表示。如所讨论的,所述车辆动态模型606可以包括adv的动态响应,所述动态响应可以基于对实际adv的测试来确定。这种响应可以是非线性的,并且比mpc模块602的车辆模型670更准确地反映adv的动态行为。如上所述,车辆动态模型还可以包括在驾驶期间可能变化的adv的物理属性(例如,制动湿度、燃料状态、电池状态、乘客和货物)。车辆动态模型可以基于这些物理属性调整对控制命令的响应。
[0071]
环境模块608可收集描述当前adv周围的环境状况609的信息,例如行人、另外的车辆、道路边界或建筑物、道路状况(潮湿、打滑、,冰雪)、天气状况和车流量。
[0072]
参数评估模块610可以相对于参考评估车辆动态行为,例如,以查看车辆动态模型如何良好地跟踪轨迹。车辆动态模型可以根据mpc模块602生成的预测轨迹来生成不同的轨迹,因为车辆模型是不同的。在参数评估模块610处,可以针对当前环境状况来评估动态模型对控制命令的响应行为。
[0073]
在一些实施方式中,对响应于控制命令的动态模型的评估基于以下至少一个:动态模型与行人、另外的车辆或建筑物的接近程度;参考速度约束的动态模型的速度;相对于加速度约束的动态模型的加速度;动态模型相对于道路边界或路径的位置;可引起乘坐不适的行驶方向或速度的变化;以及控制力。可以基于每个项在动态模型中执行的好坏程度,针对成本函数的权重生成得分611。例如,如果动态模型的预测路径变得过于接近行人,则可以调整权重以增加对速度、加速度和加速度增加的制约。
[0074]
在配置调整模块处,可评估一个或一个以上权重的多个置换,直到得分达到所需范围为止。产生期望范围内分数的那些一个或多个权重可以作为调整的成本函数的一个或多个权重。在新配置生成器614处,利用调整的权重生成调整的成本函数。然后将调整的成本函数用作有效成本函数。换句话说,具有调整的成本函数的mpc控制器然后可以生成另一个控制命令。
[0075]
被馈送到车辆控制的控制命令可以是由更新的mpc控制器生成的另一个控制命令序列的第一个。如上所述,mpc控制器在满足目标控制对象的同时通过最小化成本函数来优化项(在这种情况下,是调整的成本函数),从而产生控制命令序列。本文中,目标控制对象沿着参考轨迹行进。
[0076]
图7中示出具有控制模块306的adv系统,控制模块306使用基于学习的mpc模块来控制adv。规划模块305可以生成控制模块用作参考的路径或路线。所述路径或路线可以由规划模块基于参考线路来确定,如在其它部分中所描述的。路径或路线可以被认为是基于学习的mpc模块602将试图跟踪的目标轨迹。
[0077]
如所讨论的,基于学习的mpc模块可以动态地调整(例如,当adv正在行驶时)以考虑adv的实时环境状况。这些环境状况可以从服务器104和103以及定位模块301、地图和路线信息311、传感器系统115和其它模块收集。在调整到环境并考虑adv的物理属性之后,mpc模块可以生成并优化待被传送到控制系统111的控制命令(例如,油门、转向和/或制动)。
[0078]
应当理解,mpc可以针对单个行驶循环产生油门、转向和/或制动命令。换句话说,针对单个行驶循环,可以产生多个命令(对于不同的控制单元),并将其传送到相应的控制单元(例如,转向致动器、油门致动器、制动致动器),以实现adv的相应和成比例的移动。
[0079]
传感器系统115可以将adv信息反馈回控制模块306,例如当前行驶方向、当前转向、当前速度等。基于学习的mpc模块可以周期性地进行自调整,从而控制模块生成控制命令,所述控制命令考虑了可能随时间变化的、adv周围的环境因素和adv的物理属性。
[0080]
注意,如上文示出和描述的部件中的一些或全部可以在软件、硬件或其组合中实施。例如,此类部件可实施为安装并存储在永久性存储装置中的软件,所述软件可通过处理器(未示出)加载在存储器中并在存储器中执行以实施贯穿本技术所述的过程或操作。替代地,此类部件可实施为编程或嵌入到专用硬件(诸如,集成电路(例如,专用集成电路或asic)、数字信号处理器(dsp)或现场可编程门阵列(fpga))中的可执行代码,所述可执行代码可经由来自应用的相应驾驶程序和/或操作系统来访问。另外,此类部件可实施为处理器
或处理器内核中的特定硬件逻辑,作为可由软件部件通过一个或多个特定指令访问的指令集的一部分。
[0081]
前述详细描述中的一些部分已经根据在计算机存储器内对数据位的运算的算法和符号表示而呈现。这些算法描述和表示是数据处理领域中的技术人员所使用的方式,以将他们的工作实质最有效地传达给本领域中的其他技术人员。本文中,算法通常被认为是导致所期望结果的自洽操作序列。这些操作是指需要对物理量进行物理操控的操作。
[0082]
然而,应当牢记,所有这些和类似的术语均旨在与适当的物理量关联,并且仅仅是应用于这些量的方便标记。除非在以上讨论中以其它方式明确地指出,否则应当了解,在整个说明书中,利用术语(诸如所附权利要求书中所阐述的术语)进行的讨论是指计算机系统或类似电子计算装置的动作和处理,所述计算机系统或电子计算装置操控计算机系统的寄存器和存储器内的表示为物理(电子)量的数据,并将所述数据变换成计算机系统存储器或寄存器或者其它此类信息存储设备、传输或显示装置内类似地表示为物理量的其它数据。
[0083]
本公开的实施方式还涉及用于执行本文中的操作的设备。这种计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光存储介质、闪存存储器装置)。
[0084]
前述附图中所描绘的过程或方法可以由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,体现在非暂时性计算机可读介质上)或两者的组合。尽管所述过程或方法在上文是依据一些顺序操作来描述的,但是应当了解,所述操作中的一些可以按不同的顺序执行。此外,一些操作可以并行地执行而不是顺序地执行。
[0085]
本公开的实施方式并未参考任何特定的编程语言进行描述。应认识到,可以使用多种编程语言来实施如本文描述的本公开的实施方式的教导。
[0086]
在以上的说明书中,已经参考本公开的具体示例性实施方式对本发明的实施方式进行了描述。将显而易见的是,在不脱离所附权利要求书中阐述的本公开的更宽泛精神和范围的情况下,可以对本发明做出各种修改。因此,应当在说明性意义而不是限制性意义上来理解本说明书和附图。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜