CN114846425A - 移动机器人的预测和规划 - Google Patents
移动机器人的预测和规划 Download PDFInfo
- Publication number
- CN114846425A CN114846425A CN202080087147.2A CN202080087147A CN114846425A CN 114846425 A CN114846425 A CN 114846425A CN 202080087147 A CN202080087147 A CN 202080087147A CN 114846425 A CN114846425 A CN 114846425A
- Authority
- CN
- China
- Prior art keywords
- trajectory
- target
- proxy
- self
- reward
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 claims abstract description 70
- 238000009826 distribution Methods 0.000 claims abstract description 49
- 238000005070 sampling Methods 0.000 claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 claims abstract description 4
- 238000000034 method Methods 0.000 claims description 118
- 230000009471 action Effects 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 38
- 238000009499 grossing Methods 0.000 claims description 24
- 230000033001 locomotion Effects 0.000 claims description 24
- 238000010845 search algorithm Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002829 reductive effect Effects 0.000 claims description 4
- 238000005259 measurement Methods 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims 7
- 239000003795 chemical substances by application Substances 0.000 description 48
- 230000006399 behavior Effects 0.000 description 46
- 230000006870 function Effects 0.000 description 32
- 238000004422 calculation algorithm Methods 0.000 description 23
- 238000001514 detection method Methods 0.000 description 19
- 230000002441 reversible effect Effects 0.000 description 16
- 238000013459 approach Methods 0.000 description 14
- 230000001133 acceleration Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000036461 convulsion Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 230000036961 partial effect Effects 0.000 description 5
- 230000008447 perception Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000010348 incorporation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006386 neutralization reaction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004393 prognosis Methods 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000007372 rollout process Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4044—Direction of movement, e.g. backwards
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4046—Behavior, e.g. aggressive or erratic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Life Sciences & Earth Sciences (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Bioinformatics & Computational Biology (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
在至少一个代理存在的情况下,移动机器人的自我动作是自主规划的。在采样阶段,基于概率目标分布从可用目标集中为代理采样目标,被观察代理轨迹用于确定概率目标分布。基于概率轨迹分布,从与所采样的目标相关联的可能轨迹集合中采样代理轨迹,所述可能轨迹集合中的每个轨迹均到达相关联目标的位置。在模拟阶段,从可用自我动作集合选择自我动作,以及基于所选择的自我动作、所采样的代理轨迹和移动机器人的当前状态,模拟(i)移动机器人的行为,以及(ii)代理的同步行为,以评估所选择的自我动作的可行性。
Description
技术领域
本公开涉及自主车辆和其他移动机器人的规划和预测。
背景技术
一种迅速兴起的技术是可以在城市道路上自行导航的自主车辆(AV)。这些车辆不仅必须在人和其他车辆之间执行复杂的机动,而且它们必须经常这样做,同时保证对发生不良事件的可能性进行严格限制,不良事件例如与环境中的这些其他代理发生碰撞。自主车辆,也称为自动驾驶车辆,是指具有用于监控其外部环境的传感器***和能够利用这些传感器自主做出和执行驾驶决策的控制***的车辆。这尤其包括自主适应车辆的速度和基于来自传感器***的感知输入的行进方向的能力。完全自主或“无人驾驶”车辆具有足够的决策能力,无需人类驾驶员的任何输入即可运行。然而,本文使用的术语自主车辆适用于半自主的车辆,它有更多的限制自主决策能力,因此仍然需要人类驾驶员一定程度的监督。其他的移动机器人正在开发中,例如用于在内部和外部的工业区运送货物物资。这样的移动机器人也没人,并属于一类称为UAV(无人自主车辆)的移动机器人。自主空中移动机器人(无人机)也正在开发中。
发明内容
这里解决的一个核心问题是预测代理的行为,以便可以评估移动机器人可能采取的行动(自我动作)。这允许以考虑对其他车辆的预测的方式来规划自我动作。此处教导的解决方案的一个主要优点是可解释性。解释和证明自主***做出的决策的能力变得越来越重要,特别是当这些决策可能对安全至关重要时(例如在自主驾驶中)。在自主汽车和其他移动机器人的背景下,提高自主决策的透明度最终意味着可以更稳健地配置、测试和调试此类***,并最终以更可靠和可预测的方式运行。本发明使用概率预测以保持可解释性的方式适应预测中的不确定性。
本发明的第一方面提供了一种在存在至少一个代理(参与者)的情况下为移动机器人自主规划自我动作的计算机实现的方法,该方法包括:
接收代理的被观察轨迹;
在采样阶段:
基于概率目标分布从可用目标集中为所述代理采样目标,所述被观察轨迹用于确定所述概率目标分布;以及
基于概率轨迹分布,从与所采样的目标相关联的可能轨迹集合中采样代理轨迹,所述可能轨迹集合中的每个轨迹均到达相关联目标的位置;以及
在模拟阶段:
从可用自我动作集合中为所述移动机器人选择自我动作,以及
基于所选择的自我动作、所采样的代理轨迹和移动机器人的当前状态,模拟(i)所述移动机器人的行为,以及(ii)代理的同步行为,以评估在当前移动机器人状态下所选择的自我动作的可行性。
在实施例中,可以在目标识别阶段:通过为每个目标确定在(a)第一基本最优轨迹和(b)最佳可用轨迹之间的奖励差来计算目标分布,其中所述第一基本最优轨迹从所述被观察轨迹的初始状态到目标位置,所述最佳可用轨迹结合了(b.i)从所述被观察轨迹的初始状态到当前状态的被观察轨迹和(b.ii)从当前状态到目标位置的第二基本最优轨迹,其中所述概率轨迹分布通过确定所述可能轨迹集合中的每个轨迹的奖励来确定。也就是说,最佳可用轨迹被约束为将被观察轨迹与当前状态相匹配。
从初始状态到目标位置的第一基本最优轨迹可以独立于当前状态来计算,或者至少可以不被约束为将被观察轨迹与当前状态匹配。
每个轨迹的奖励和每个目标的奖励差异可以使用奖励函数来确定,该奖励函数对减少的旅行时间进行奖励同时惩罚不安全的轨迹。奖励函数还可以惩罚其他奖励因素,例如缺乏舒适度(例如,纵向加加速度、纬向加加速度和路径曲率中的一个或更多个)。
采样阶段和(在适用的情况下)目标识别阶段可能是“开环”,因为代理轨迹不会尝试对代理的反应行为进行建模(即,它们没有明确建模代理对移动机器人和/或任何其他代理采取的动作的任何反应)。
然而,这并不意味着模拟阶段仅限于开环模拟。在模拟阶段,采样的代理轨迹可用于以开环或闭环方式模拟代理的行为。通过闭环模拟,可以基于采样的代理轨迹(可以是开环)和模拟的代理观察集合和/或模拟的传感器反馈来确定模拟的闭环代理轨迹。模拟的观察/反馈可能会导致模拟的闭环代理轨迹以反应方式偏离采样的代理轨迹。例如,闭环轨迹可以模拟自适应巡航控制和/或比例控制的效果(不必在轨迹采样/目标识别阶段对这些效果进行建模)。
每个轨迹可以采取状态序列的形式。状态可以对特定时间实例的位置信息进行编码,但也可以对运动信息进行编码,例如(瞬时)速度、航向、加速度(数值和/或方向)、加加速度(加速度的一阶时间导数)等中的一个或更多个。更通常地,轨迹可以编码空间信息(路径分量),也可以编码运动信息(运动分量)。
通过闭环模拟,运动分量可以被视为指标,允许代理的实际模拟运动以反应方式偏离该指标。
第一轨迹和第二轨迹可以在第一搜索过程中确定,第一搜索过程寻求优化第一轨迹和第二轨迹的奖励或预算费用。在所描述的示例中,在轨迹搜索过程中使用了预算费用,并且预算费用仅考虑到目标位置的旅行时间,而忽略任何其他费用因素(尽管在确定费用差异和个体轨迹的奖励时仍然可以考虑任何此类其他因素用)。
如将理解的,术语“最小化费用”和“最大化回报”是完全同义的。所描述的实施例涉及的最大化奖励是由奖励函数定义的,这完全等同于通过费用函数定义的最小化费用。术语的选择并不意味着费用/回报的任何特定数字表示——较低的费用/较高的回报可以用较低或较高的数值来表示。
可能轨迹集合可以在第二搜索过程中确定,第二搜索过程可以自由地探索额外的轨迹。这可能包括没有到达目标位置的轨迹,但在这种情况下,只有在第二树搜索过程中找到的轨迹确实到达了相关目标的位置时,它们才会被添加到可能轨迹集合中。
第一搜索过程和/或第二搜索过程在可能的代理动作的搜索空间上执行,其中每个轨迹对应于被搜索代理动作或搜索空间内的被搜索代理动作序列。
采样阶段可以包括基于为所述代理确定的概率当前动作分布,从可能的当前代理动作集合中采样当前代理动作。
概率目标分布使用所述被观察轨迹和所采样的当前代理动作来确定。
概率目标分布包括在给定所述被观察轨迹和所采样的当前代理机动时每个目标的条件概率。
所述当前动作分布由概率机动检测器基于所述代理的一个或多个观察,例如所述被观察轨迹的一个或多个状态来确定。
第一搜索过程和/或第二搜索过程可以基于采样的当前代理动作。
模拟阶段可以包括在选择的自我动作已经完成之后确定移动机器人的预测状态。
可以执行模拟阶段的多次迭代,其中对当前移动机器人状态(如上)执行初始迭代,并且针对在先前迭代中确定的预测移动机器人状态执行每个后续迭代,直到满足终止条件(例如,模拟行为被确定为违反避免碰撞条件,或者移动机器人被确定为到达期望的移动机器人位置;在一些实施例中,附加的终止条件可以是对可以执行的迭代次数的限制)。在这种情况下,每个后续迭代都将涉及为移动机器人选择进一步的自我动作,并根据进一步的自我动作和先前迭代的预测移动机器人状态来模拟其行为,以在给定预测的自我状态的情况下评估进一步的自我动作的可行性——结果是在多次迭代中评估多个选择的自我动作的时间序列,以预测未来越来越远的移动机器人状态。
可以在模拟阶段(的每次迭代)中概率性地选择自我动作,例如使用概率探索技术。
轨迹采样阶段和模拟阶段的多次迭代构成了单个“卷展(rollout)”。
所述方法可以包括执行多个卷展,并且在每个卷展中,可以重复采样阶段,以对该卷展中要考虑的代理目标、相应代理轨迹和(在适用的情况下)当前代理动作进行采样。在多次卷展中,由于采样的概率性质,这通常会导致在不同的卷展中考虑不同的代理目标、轨迹和(在适用的情况下)当前动作。在每次卷展中,可以执行模拟阶段的一次或多次迭代,具体取决于需要多少次迭代才能达到终止条件。
也就是说,在每次卷展中,可以对单个代理轨迹进行采样,并将其用作该卷展的模拟阶段的所有迭代的基础。
多次卷展根据概率树搜索算法执行,例如蒙特卡洛树搜索(MCTS),其中搜索树的根节点代表移动机器人的当前状态,树的边缘代表选择的自我动作,附加节点代表预测状态。通过在模拟阶段的迭代中自我动作的连续选择,可以在每次卷展中探索树的分支。
每个动作可以采取基本机动的形式,也可以是由多个基本机动序列形成的宏观动作。
本文的其他方面提供了一种计算机程序,计算机程序包括被编程或以其他方式配置为执行本文公开的任何方法的一个或更多个计算机,以及被配置为对计算机***进行编程以执行任何此类方法的计算机程序。
参考国际专利申请号PCT/EP2019/078062和PCT/EP2019/078072(在先申请),每一个都通过引用整体并入本文。
PCT/EP2019/078062公开了一种基于“逆向规划”的预测形式。逆向规划是指一类预测方法,它假设代理将以可预测的方式规划其决策。可以对可能的机动或行为执行逆向规划,以便基于相关观察(机动检测的一种形式)推断代理的当前机动/行为。也可以对可能的目标执行逆向规划,以推断代理的可能目标(一种目标识别形式)。目标识别和机动检测通常会在不同的时间尺度上运行。与机动检测相比,目标识别通常考虑到未来更长的时间段。PCT/EP2019/078072尤其公开了一种基于蒙特卡洛树搜索(MCTS)的移动机器人规划框架。这提供了一个结构化框架,用于推理移动机器人规划者做出的决策可能产生的影响。其实施例结合了来自逆向规划的预测,以便在MCTS规划框架内模拟(“卷展”)外部代理的预测行为。
下面描述在概率规划框架内结合目标识别的实施例。特别地,所描述的实施例考虑了MCTS框架内的逆向规划目标识别的一种形式。在某种程度上,这些扩展了早期应用程序的教导。
在上文中,参考了轨迹的费用和在搜索过程的上下文中的预算费用。在下面的描述中,前者是用“奖励”(而不是费用)来描述的,而术语“费用”(而不是预算费用)用于搜索过程的上下文中。
附图说明
为了更好地理解本发明,并且为了展示本发明的实施例可以如何实施,参考以下附图,其中:
图1显示了一个示例驾驶场景,其中有自我车辆和自我车辆附近的多个代理;
图2显示了预测和规划***的示意框图;
图3显示了在基于模拟的测试中完成四个代表性场景实例所需的平均驾驶时间;
图4显示了一个结果图,展示了在场景随着时间的推移而发展时***为给定代理预测目标的能力;目标是概率预测的,图表显示了正确目标的概率,在每个场景实例中,该概率随着时间的推移而增加;
图5至图8分别示意性地说明了四个场景实例;
图9显示了AV运行时堆栈的示意功能框图;
图10显示了应用于概率目标识别的示例逆向规划方法的流程图;
图11显示了一种机动规划方法的示意功能框图,该方法结合了来自逆向规划的目标预测;以及
图12显示了由MCTS机动规划器构建的搜索树的示例。
具体实施方式
I.概述
本发明的所述实施例提供了用于自主车辆的集成预测和规划***。
图2显示了***200的示意框图,其依次被显示为包括目标识别模块202和自我规划模块212。使用概率性的行为预测框架,在一个或更多个代理(例如其他司机、骑自行车者、行人等)存在的情况下,***能够评估和规划移动机器人的动作(自我动作),例如作为自动驾驶车辆(自我车辆——缩写为EV或AV),。
目标识别模块202被示为包括以下(子)模块:逆向规划模块204、代理(非自我)目标生成器206和机动检测器208。机动检测器208使用如后所述的蒙特卡洛树搜索(MCTC)算法来规划机动。
自我规划模块212被示为包括以下(子)模块:路线规划器214、自我目标生成器216和机动规划器218。为简单起见,机动规划器218可以被称为规划器。除非另有说明,以下对规划器的引用指的是机动规划器218。
代理目标生成器206为驾驶场景中的一个或更多个代理中的每一个确定一个或更多个可用目标集合。可用目标是基于上下文信息确定的,诸如道路布局等。自我目标生成器216以相同的方式操作,确定自我车辆可用的一个或更多个目标。将由AV执行的目标由路线规划器214选择。
机动规划器218规划将由AV采取的最佳机动,以便到达选定目标的位置。机动规划器218使用逆向规划器204提供的目标概率210和相关代理轨迹预测212来计算机动规划220。逆向规划器204是预测组件,预测组件基于代理也合理规划以便到达它们自己期望的目标的假设下预测代理行为。
机动是本文考虑的一种动作形式。如下文进一步详细描述的,以下示例考虑基本机动和作为预定义的机动序列的“宏观动作”。然而,该描述更普遍地适用于可由移动机器人采取并相应地规划的其他形式的动作。
目标识别模块202和自我规划模块214使用共同的机动库和“宏观动作”(预定义的机动序列),并且都利用速度平滑函数224来平滑计算的轨迹以及利用奖励函数226使用基于度量的方法来评估与特定目标相关的轨迹,其中某些因素(例如朝着期望目标的进展)得到奖励,而其他因素(例如缺乏安全性、舒适度等)则受到惩罚。特定轨迹相对于给定目标的可能性是在代理有意图执行关于这些指标(即最大化奖励)的最优轨迹的假设下估计的。
预测其他车辆的意图和驾驶轨迹的能力是自主驾驶的关键问题。由于需要基于有限的观察数据进行快速和准确的预测,这个问题变得非常复杂,这些数据源自具有耦合的多代理交互的动态演化环境。
在这种情况下使预测易于处理的一种方法是假设代理使用有限数量的不同行为之一。这些行为通常代表高级机动,例如车道跟随、车道变换、转弯、停止等。某种类型的分类器将用于根据被观察驾驶轨迹检测车辆当前执行的机动,然后使用当前机动预测未来的轨迹,以通知受控的自我车辆的规划。这种方法的局限性在于它们只检测其他车辆的当前机动,因此使用这种预测的规划器基本上受限于检测到的机动的时间尺度。
另一种方法是为每个其他车辆指定有限的可能目标集合(例如各种道路出口点),并根据车辆观察到的本地状态规划到每个目标的完整轨迹。虽然这种方法可以生成长期预测,但它受到以下事实的限制:生成的轨迹必须由车辆相对紧密地跟随才能产生高置信度的预测。
最近基于深度学习的方法在自主驾驶中的轨迹预测显示出有希望的结果。预测模型在大型数据集上进行训练,这些数据集通过涉及穿越城市道路的传感车辆的数据收集活动变得可用。由此产生的传感器信息(通常是各种形式的视觉和激光雷达,有时还包括雷达)用于通过从视频预测到更具体考虑环境线索的更加情境化的预估等模型进行预估。几秒钟内的可靠预测仍然是一个难题,部分原因是难以捕捉交通的耦合演变。在解决如图5到8所示的场景方面还有很多剩余的要做。其中一些方法的另一个重要限制是难以将硬约束纳入到必须是可微分的优化目标中(例如,避免对给定的情况进行无意义的预测)。最后,这类方法最显着的限制之一是难以以一种易于与有效表示多维和分层任务目标的规划方法有效集成的形式提取可解释的预测。
为了解决上述问题,本文描述的***200的基本原理是,为了预测车辆的未来机动,需要一些关于为什么——即,为了什么目的——车辆执行其当前和过去的机动,这将提供有关其预期目标的线索。了解其他车辆的目标可以预测与它们的目标相关的未来机动和轨迹。这种长期预测有助于在更长的时间尺度内进行规划,以实现可能不会出现的机会,如图1中的示例所示。在某种程度上,预测是围绕对被观察轨迹的解释构建的高水平机动,目标识别过程有助于为调试目的进行直观解释,其详细程度如图1所示。
图1显示了具有四个可能目标的交汇点场景。标记为EV的自我车辆的目标是到达位置G1。车3匀速向东行驶。车2减速直至到达其所示的停车位置。EV可能会推断出车2正在停止,因为它打算到达G2,但必须等到车3通过,然后转向G2。这为自我车辆提供了在车2等待时转向道路的机会。
最终,随着世界朝着使自主***更值得信赖的方向发展,这些解释概念和证明(解释)***决策的能力越来越重要。在目前的情况下,这适用于基于目标的预测以及这些预测如何影响自主驾驶决策。
为此,集成的规划和预测***200利用了使用有限机动空间的计算优势(其表达足以解释观察到的行为),但将方法扩展到规划和机动序列(即,规划)的预测。这是通过理性逆向规划的新颖集成来实现的,以识别其他车辆的目标,蒙特卡洛树搜索(MCTS)[6]为自我车辆规划最优机动。逆向规划和MCTS利用共享的已定义机动集合来构建可通过合理性原则解释的规划,即规划相对于给定指标是最优的。***200不是直接匹配规划,而是评估被观察轨迹对于给定目标合理的程度,提供关于轨迹可变性的稳健性。所描述的MCTS算法对车辆动力学及其耦合相互作用的闭环正向模拟,但是通过将控制与机动分离,***200能够优化机动之间的速度曲线,并且可以利用简化的开环控制来提高逆向规划效率。
***200已经在四种城市驾驶场景的模拟中进行了评估,包括图1中的场景、环形交叉路口进入和密集车道合并,表明***200可以稳健地识别其他车辆的目标并在不同场景初始化下生成近于最优的规划。可以在每个场景中为识别的目标和机动预测提取直观的解释,从而证明***的决策。本次评估的更多详情载于下文附录A。
II.初步和问题定义
是与局部邻域中的自我车辆(包括自我车辆)交互的车辆集合。在时间t,每个车辆都处于本地状态接受本地观察并可以选择动作(自我车辆和代理的)联合状态表示为符号sa:b用于表示元组(sa,…,sb),类似地用于观察经由p(oi|st)取决于联合状态,动作经由取决于观察。在***200中,本地状态包含车辆的姿态、速度和加速度(在此,速度和速度可互换使用);观测包含附近车辆的姿势和速度;动作控制车辆的转向和加速度。
联合状态序列s1:n,n≥1的概率由下式给出
规划问题被定义为找到一个最优“策略”π*,该策略为自我车辆ε选择动作,以实现指定目标gε,同时通过定义的奖励函数优化驾驶轨迹。
其中,Ri(s1:n)是s1:n对于车辆i的奖励(见下文第III-E节)。直观地说,最大化(3)需要优化实现目标的概率和生成轨迹的奖励。在所描述的实现中,(3)是使用有限规划期距来近似的(详见第III-G节)。
虽然附录A中详述的实验使用了具有固定目标的场景,但上述问题公式允许该方法通过路线规划器模块驾驶通过完整路线,路线规划器模块是根据自我车辆在路线上的当前位置不断更新自我车辆的目标位置gε。
III.方法
A.***概述
所描述的方法依赖于两个假设:(1)每个车辆试图从可能的目标集合中到达某个(未知的)目标位置,以及(2)每个车辆都遵循从有限的定义机动库中生成的规划。
***200近似最优策略π*如下:对于每个其他车辆,列举其可能的目标并为到每个目标的该车辆反向规划,给出目标的概率和预测轨迹。由此产生的目标概率和轨迹通知蒙特卡洛树搜索(MCTS)算法的模拟过程,以生成自我车辆的最优机动规划。为了保持所需的搜索深度较浅并因此保持高效,逆向规划和MCTS都对宏观动作进行规划,宏观动作使用上下文信息灵活连接机动。图2提供了***200中组件的概览。
以下部分更详细地描述了图2中所示的***200的每个组件。
B.机动
假设在任何时候,每个车辆都在执行有限数量的机动220a中的一个。在本示例中,***200使用以下机动:车道跟随、左/右车道变换、左/右转弯、让路、停止。
每个机动ω指定适用性和终止条件。当且仅当状态满足机动的适用性条件时,机动在给定状态下可用。例如,左车道变换仅适用于车辆左侧具有相同行驶方向的车道(也可以检查空间限制)。如果状态满足终止条件,则机动终止。
如果适用,机动指定车辆要遵循的局部轨迹局部轨迹包括全局坐标系中的参考路径和沿路径的目标速度。为便于说明,假设和si使用相同的表示和索引,但通常情况并非如此(例如,可以通过纵向位置而不是时间来索引,可以内插到时间索引)。在示例***200中,参考路径是通过拟合到从道路拓扑中提取的点集合的贝塞尔曲线函数生成的,并且使用类似于[10]的域启发式方法设置目标速度。一般而言,***200假定车辆将在可能时尝试以局部速度限制行驶。该目标降低为同一车道上前方较慢车辆的速度(如果有)或作为行驶路径上局部曲率的函数。
让路机动使车辆在驶向给定位置时减速到某个指定的速度,给定位置通常是迎面而来的车辆具有优先权的交叉点或转弯点。在该位置,如果指定车道畅通,则机动终止(允许车辆在不完全停止的情况下继续下一个机动),否则它完全停止车辆,然后在指定车道畅通后终止。当用作***200的一部分时,如果***200预测安全进入,则允许提前终止让路(参见附录A)。
车道跟随和让路机动在其终止条件中具有开放参数:对于车道跟随,参数指定行驶距离;对于让路,该参数指定对于迎面而来的车辆必须监控的车道。这些开放参数由我们在下一节中定义的宏观动作自动设置。
与MPDM[9]等方法相比,这里的机动与控制分离。这种分离有两个目的:首先,在构建机动序列时,每个机动必须优化其预测后续机动的速度曲线。如果控制被集成到独立的策略中,这是不可能的,就像在MPDM中一样。访问轨迹允许***200跨轨迹的连接执行速度平滑机动,这在第III-D节中描述。其次,可以在逆向规划和MCTS中的不同控制模型(开环、闭环)下模拟机动,这在预测精度和模拟效率之间提供了不同的权衡。
C.宏观动作
宏动作222b以灵活的方式连接一个或多个机动。使用宏观动作以两种重要方式减轻了规划器的负担:它们指定常见的机动序列,并且它们根据上下文信息(通常是道路布局)自动设置机动中的自由参数。表I定义了***200中使用的宏观动作222b的示例。宏观动作的适用条件由宏观动作中的第一个机动的适用条件以及可选的附加条件给出(参见表I)。宏观动作的终止条件由宏观动作中最后一个机动的终止条件给出。
请注意,在此上下文中使用的宏机动不定义可分解动作的层次结构;它们只是定义动作序列。
逆向规划(III-F节)和MCTS(III-G节)都搜索宏观动作而不是机动,这通过降低搜索深度显着提高了它们的效率。
表1:我们***中使用的宏观动作。每个宏观动作连接一个或多个机动并设置它们的参数(参见第III-C节)
D.速度平滑
为了适应驾驶行为的自然变化并获得车辆i跨机动的可行轨迹,将速度平滑函数224应用于优化给定轨迹中的目标速度。设是参考路径上的纵向位置及是其对应的目标速度,对于1≤t≤n。点之间的目标速度的分段线性插值表示为κ:x→v。给定两个时间步之间经过的时间Δt;最大速度和加速度vmax/amax,和设置一个平滑问题被定义为
xt+1=xt+vtΔt
0<vt<vmax
vt≤κ(xt)
其中λ>0是给定最优化目标的加速部分的权重。将目标速度视为上限的最后一个约束会导致更真实的制动行为***200。
等式(4)是一个非线性非凸优化问题,可以解决,例如,使用原始对偶内点方法(例如IPOPT[27])。根据问题的解(x2:n,v2:n),***200进行插值以获得在原始点处的可实现速度。如果对于所有t,则***200可以根据该解对进行插值。否则,***200可以从xn开始解决类似的问题,并重复该过程直到所有都在界限内。
速度平滑应该慎重对待输入轨迹中的零速度,这表示完全停止。实现此目的的一种简单方法是将轨迹拆分为由停止事件分隔的段,并将平滑函数应用于每个段。
E.奖励函数
如上所述,“奖励函数”和“费用函数”是描述同一事物的两种方式,即惩罚(即阻止)某些轨迹特征并奖励(即鼓励)其他轨迹特征的函数226。函数226的输出(给定轨迹的奖励或费用)如何以数字表示并不重要,特定术语(奖励或费用)的选择并不意味着任何特定的数字表示。与较高的数值相比,较低的数值可能代表较低的费用/较高的回报或较高的费用/较低的回报,术语的选择并不意味着对此有任何限制。唯一的要求是数字表示与执行任何费用/奖励优化的方式一致。
在本例中,车辆i的轨迹s1:n的奖励定义为K个奖励分量的加权和
F.目标识别
p(gi|s1:t)∝L(s1:t|gi)p(gi) (6)
其中,L(s1:t|gi)是i在给定目标gi的情况下,被观察轨迹的可能性,以及p(gi)指定目标gi的先验概率。
可能性是根据两个规划之间奖励差异的函数计算的:在速度平滑后从i的初始观察状态到目标gi的最优轨迹的奖励跟踪被观察轨迹直到时间t,然后以最佳方式继续到目标gi的轨迹奖励平滑仅应用于t之后的轨迹。然后,可能性定义为
其中β是一个缩放参数(例如β=1)。该定义假设车辆通过优化驾驶来实现目标是理性的,但允许存在一定程度的偏差。如果一个目标无法到达,我们将其概率设置为零。
速度平滑不适用于已经被观察轨迹部分,即s1:t,否则,速度平滑的效果可能是冲刷掉暗示某些目标的证据。
算法一:目标识别算法:
输入:车辆i,当前机动ωi,观测s1:t
返回:目标概率p(gi|s1:t,ωi)
2.设置先验概率p(gi)(例如统一)
返回p(gi|s1:t)∝L(s1:t|gi)p(gi)
1)目标生成:启发式函数用于根据车辆i的位置和上下文信息,如道路布局和交通规则,生成可能的目标集合***200为车辆当前道路的终点定义一个目标,为每个可到达的连接道路的终点定义多个目标,以自我车辆的视野区域为界(例如,如图1所示)。不包括不可行的目标,例如车辆后面的位置。
除了仅取决于车辆位置和道路布局/规则的静态目标之外,还可以定义动态目标,例如这取决于当前的交通。例如,在下面附录A中考虑的密集合并场景中,动态添加停止目标以模拟车辆的意图,以允许自我车辆在车辆前方并入。
2)机动检测:机动检测用于检测车辆当前执行的机动(在时间t),允许逆向规划在向前的规划之前完成机动。***200的机动检测模块为每个车辆i计算当前机动的概率p(ωi)。一种选择是贝叶斯变化点检测算法,例如CHAMP[19]。机动检测方法本身是已知的,因此不再详细描述。在下面详述的实验中,使用了模拟检测器。
由于不同的当前机动可能暗示不同的目标,因此针对每个可能的当前机动p(ωi)>0执行逆向规划。因此,每个当前机动产生其自己的目标后验概率,表示为p(gi|s1:t,ωi)。为了提高效率,逆向规划可能仅限于机动的某些子集,例如最可能的机动。
3)逆向规划:逆向规划是使用A*搜索[12]对宏观动作进行的。A*在完成产生初始轨迹的当前机动ωi后开始。每个搜索节点q对应于一个状态初始节点处于状态宏观动作根据它们应用于s的适用性条件进行过滤。A*选择下一个宏观动作,该动作通向一个对目标gi的估计总费用最低的节点q',由下式给出f(q')=l(q')+h(q')。
在这里,术语“费用”用于与标准A*术语保持一致,并将A*搜索使用的更简单的费用定义与第III-E节中定义的奖励函数区分开来。通过仅考虑旅行时间(见下文),费用h近似于奖励,这足以满足A*搜索的目的。但是,可以在这种情况下定义不同形式的费用/回报。
到达节点q'的费用l(q')由从i在初始搜索节点中的位置到其在q'中的位置的行驶时间给出,遵循导致q'的宏观动作返回的轨迹。估计从q'到目标gi的剩余费用的费用启发式h(q')是由i在q'的位置在限速下通过直线到达目标的行驶时间给出的。根据A*理论,这个h(q')的定义是可以接受的,它确保搜索返回一个最优规划。找到最优规划后,从规划中的机动和当前机动的初始段中提取完整的轨迹
为了最小化逆向规划的计算费用,在当前实现中,使用开环控制执行宏观动作。这意味着使用理想化的驾驶模型来模拟轨迹,该模型以线性插值目标速度执行轨迹。其次,***200在所有其他车辆未规划在其被观察轨迹之后使用恒速车道跟随模型的假设下运行。这个假设允许让路机动和变换左/右宏观动作来预测何时交通畅通。第三,在搜索过程中没有应用平滑,并且使用了仅基于近似驾驶时间的替代费用定义。最后,在逆向规划期间不检查碰撞;由于使用了开环控制和其他车辆的恒定速度,可能存在不可避免地发生碰撞的情况(请注意,预测的碰撞仍然会被检测到并被解释,只是不在这个特定的上下文中——见下文)。这些简化产生了抽象级别,该抽象级别具有低计算费用并且对于目标概率而言具有足够的信息。然而,应当理解,这仅仅是一种可能的实现方式,并且可以在其他实现方式中采用其他设计选择。
4)轨迹预测:在本示例中,***200预测在给定车辆和目标的情况下多个似乎合理的轨迹212,而不是单个最优轨迹。这是有益的,因为在某些情况下,不同的轨迹可能(接近)最优,但可能导致不同的预测,这可能需要自我车辆的不同行为。
为了预测给定目标的多条轨迹和相关概率,第二A*搜索会运行一段固定的时间,并且可以自由地计算具有相关奖励的规划集合(最多一些固定数量的规划)。每当A*搜索找到一个达到目标的节点时,就会将相应的规划添加到规划集合中。A*搜索可能会找到未达到目标的轨迹,但这些轨迹不会添加到下一阶段考虑的规划集合中。给定到目标gi的计算出的轨迹集合具有初始机动ωi和平滑后的相关奖励使用玻尔兹曼分布计算轨迹上的分布:
其中γ是比例因子(例如γ=1),η是归一化器。这编码了这样一个假设,即更接近最优的轨迹(就其奖励而言)更有可能。
G.自我车辆规划
为了计算自我车辆的最佳规划,目标概率和轨迹预测用于通知蒙特卡洛树搜索(MCTS)算法[6]。MCTS将时差强化学习[25]中使用的统计反向传播算子与动态树扩展相结合,以将搜索重点放在当前状态上。算法2给出了MCTS算法实现的伪代码(该算法的实现是MCTS[16]的“基于卷展”的版本)。
算法2:蒙特卡洛树搜索算法
返回:状态st下自我车辆ε的最优机动
执行D模拟:
1.搜索节点q.s←st(根节点)
2.搜索深度d←0
采样当前机动ωi~p(ωi)
4.当d<dmax做
选择适用于q.s中ε的宏观动作μ
r←rcoll
否则,如果d=dmax-1,则
r←rterm
使用(9)沿着生成模拟的搜索分支(q,μ,q')进行反向传播r
开始下一个模拟
返回st,μ∈argmaxμQ(root,μ)中ε的机动。
采样的轨迹将用于在闭环或开环模式下模拟其他车辆的运动(详见下文)。与A*搜索一样,搜索树中的每个节点q都对应一个状态并且宏观机动根据它们应用于s的适用性条件进行过滤。在使用某种探索技术(例如UCB1[3])选择宏观动作μ后,根据宏观动作生成的轨迹和其他车辆的采样轨迹向前模拟当前搜索节点中的状态,从而产生部分轨迹和带有状态的新搜索节点q'。
否则,如果新状态实现了自我目标gε,则反向传播的奖励计算为 即作为根据等式(5)计算的轨迹的奖励;在这种情况下,这是用于评估其他代理的可能轨迹的相同奖励函数226(假设其他车辆以与自我车辆同样的方式推理)。
如果搜索在没有碰撞或达到目标的情况下达到其最大深度dmax,则奖励设置为r←rterm,它可以是一个常数,也可以基于类似于A*搜索的启发式奖励估计。
奖励r通过生成模拟的搜索分支(q,ω,q’)进行反向传播,使用由下式定义的1步骤离策略更新函数
其中δ是在q中选择宏观动作μ的次数。模拟完成后,算法从根节点argmaxμQ(root,μ)中选择在st中执行的最佳宏观动作。
MCTS算法以给定的频率重新运行,以考虑自上次MCTS调用以来的新观察结果(不重复利用来自过去搜索树的信息)。
在算法2中,第9行中的索引τ用于表示生成的模拟中的当前时间点(不一定是“现实世界”中的当前时间点)。在第一次模拟迭代中d=0,τ←t(当前时间),即模拟从t开始,宏观动作在时间ι结束。对于下一次迭代,τ←ι(即上一次模拟迭代的完成时间等)。
模拟从当前时间t开始,因此过去的轨迹不是采样轨迹的一部分。第一次迭代(d=0)总是从每个代理在时间t观察到的状态开始。为了反映这一点,算法2(和其他地方)中第6行中样本轨迹的符号可以写为其中始终等于(在时间t的实际轨迹)。
两种不同的控制模式用于模拟机动和宏观动作。自我车辆的运动始终使用闭环模式,而其他车辆可以在闭环或开环模式下进行模拟。
1)闭环模拟:闭环模拟结合使用比例控制和自适应巡航控制(ACC)。两个独立的比例控制器控制车辆的加速和转向。如果在受控车辆前方有另一辆车靠近,则将控制权交给ACC,以使车辆与前车保持安全距离。由于P/ACC控制的组合实现了近似平滑控制,因此没有应用速度平滑。根据车辆的观察,在每个时间步长中监控机动中的终止条件。ACC本身是已知的,因此ACC算法的细节在此不再描述。
2)开环模拟:开环模拟的工作方式与A*搜索相同(参见第III-F3节),通过直接按照轨迹指定的方式设置车辆的位置和速度。因此,在开环控制中没有自动距离保持。速度平滑应用于轨迹以提高预测的真实性。机动中的终止条件,例如“等到迎面而来的交通畅通”,例如如在让路机动中使用的,假设非受控车辆使用恒速车道跟踪模型,等待到预测交通畅通来实现的。
***200因此通过利用有限机动库的计算优势来集成扩展视野上的规划和预测。通过合理的逆向规划过程识别其他车辆的目标,可以实现对扩展视野的预测。附录A中列出的评估表明,***200能够稳健地识别其他车辆在不同城市驾驶场景中的目标,从而改进决策制定,同时允许对预测进行直观解释以证明(解释)***决策的合理性。***200是通用的,因为它使用相对标准的规划技术,可以用其他相关技术代替,例如基于POMDP的近似规划器[23]。此外,虽然上述示例侧重于其他车辆的预测,但***200的基本原理是通用的,并且可以扩展到包括对其他交通参与者(例如骑自行车者)的预测,或应用于移动机器人与其他机器人/人类交互的其他领域。***200也可以被扩展以解决人类的非理性偏见。
目标检测示例:
通过进一步说明,现在将描述目标概率的示例计算。
以下描述涉及观察O,包括上述上下文中的观察到的状态代理。
图10显示了一种逆向规划方法的示意流程图,该方法基于奖励差异从有限的可用目标集合中概率性地推断外部参与者的目标。这是由逆向规划器204实施的逆向规划方法的一个示例。
图10的右侧显示了应用于具有两个可用目标的场景的步骤的说明性示例:
1.G1-沿着当前道路继续行驶,其被定义为可见道路尽头的目标位置(更一般地,作为当前道路上汽车前方的参考点);
2.G2–存在右转,根据出口位置定义。
给定被观察汽车的可能目标集合和汽车执行的过去的基本机动序列,可以使用逆向规划过程计算目标的后验分布。如上所述,该方法在给定观察序列O(例如,被观察轨迹τn,如上述示例)、目标的先验分布P(G)和似然函数L(O|G)的情况下,计算可能目标G的贝叶斯后验P(G|O)~L(O|G)P(G)。
目标是根据目标位置定义的,符号Gi可用于表示该区域的目标位置。目标位置Gi可以是空间中的一个点,但也可以是区域或可以对应于沿道路的特定距离,例如目标位置可以定义为垂直于道路的线,在这种情况下,汽车一旦到达该线就被称为到达目标(无论其在道路上的横向位置如何)。
给定目标Gi∈G的可能性L(O|Gi)定义为两个规划各自奖励之间的差异:
1.从汽车的初始位置rt(在时间t)到目标位置Gi的最优规划,即从rt到Gi的最优规划,而不考虑任何被观察汽车在时间t之后的行为。这可以作为基本机动、宏观动作或多个基本机动序列而不是宏观动作来执行。通过多个基本机动,将与之相关的部分轨迹组合起来,以提供从初始位置rt到达目标Gi的最优完整轨迹(不考虑时间t后任何实际被观察汽车行为);以及
2.“最佳可用”规划——这被定义为从时间t到时间t+Δt之间观察到的任何汽车行为的从rt到目标位置Gi的最佳规划,即从rt到Gi得到的最佳规划,附加约束条件是该规划必须与在随后的时间间隔ΔT中实际观察到的行为相匹配。换句话说,作为从汽车初始位置rt到目标Gi的最佳规划,使得该规划尊重观察结果O。这假设汽车更有可能执行最优规划以实现目标,但允许一定程度的偏差。这也可以作为基本机动、宏观动作或多个基本机动序列而不是宏观动作来执行。对于多个基本机动,与其相关联的部分轨迹被组合以提供用于从初始位置rt到达目标Gi的“最佳可用”完整轨迹,但考虑到汽车在从t到t+Δt的区间内实际观察到的行为。最佳可用轨迹具有与实际观察轨迹匹配的间隔[t,t+Δt]的观察部分和后续时间间隔的未来部分,选择以最小化与最佳可用完整轨迹相关的整体奖励(即观察到的部分和未来部分的全部奖励)。
这是一种目标识别形式,因为它考虑了到达目标的完整路径(可能基于与多个机动相关的多个部分轨迹)。
分配给完整轨迹的奖励可以考虑各种因素,如下所述。这些包括驾驶时间(惩罚需要更长时间才能达到目标的轨迹)、安全性(惩罚不安全的轨迹)和舒适度(例如惩罚过度颠簸的轨迹)。
例如,汽车的初始位置rt可能是汽车的第一个观察位置。一种合理的方法是使用由自我汽车的传感器范围定义的过去观察的移动窗口来定义初始位置rt。
在图10中的步骤1004为每个目标G1,G2计算最优规划(以上1)。计算后,这允许为每个目标G1,G2确定最优轨迹,例如,使用A*搜索(详见下文)。计算出最优轨迹后,就可以计算出与最优轨迹相关的全部奖励(也将在下文描述)。最优轨迹是一条完整的轨迹,即从初始位置rt到达所讨论的目标。
在图10的示例中,轨迹由沿轨迹在时间上均匀分布的点表示,因此均匀分布的点意味着恒定的速度,而增加(或减少)点之间的距离则意味着加速(或减速)。白色圆圈用于表示最优轨迹点。由此可以看出,对于目标G1,最优轨迹是一条沿着道路以恒定速度继续的直线路径,而对于目标G2,最优轨迹随着汽车接近出口的转折点而逐渐变慢。
在步骤1006为每个目标G1,G2计算最佳可用规划(以上2)。如所指出的,这些考虑到时间t(当汽车在其初始位置rt时)和当前时间t+Δt之间的实际观察O。这些观察结果O可能包括观察到的低水平迹线τ,在图10中使用黑色圆圈表示。
在那种情况下,观察O可以替代地或附加地包括汽车的当前机动,即每个目标的概率可以根据汽车当前正在执行的机动来估计。它们可能还包括过去观察到的机动。
尽管在图10中没有明确显示,但如上所述,概率机动检测用于预测汽车当前可能的机动的概率分布。因此,根据可能的当前机动的分布p(M|τ),当前的机动可能不是绝对已知的,而只是概率性的。在这种情况下,在规划过程中,在每个MCTS卷展开始时,首先从中p(M|τ)采样当前机动Mj(即,包括Mj的观察O),然后从该当前机动Mj的目标概率分布p(G|O)中采样目标。
根据最佳可用规划,可以确定最佳可用轨迹(详见下文),这反过来允许为最佳可用轨迹确定完整奖励(也在下文中描述)。这也是从初始位置rt到目标位置Gi的完整轨迹意义上的完全的轨迹。最佳可用轨迹具有在时间t和t+Δt之间的观察到的部分,它与实际被观察轨迹相匹配(即图10中的黑色圆圈),另外最佳可用轨迹还包括时间t+ΔT之后的未来部分,在图10中使用斜阴影圆圈表示。
在所描绘的示例中,可以看出,目标G1的最佳可用轨迹的观察部分(黑色圆圈)和未来部分(斜阴影圆圈)都相当好地匹配该目标G1的最优轨迹(白色圆圈)。因此,目标G1的奖励差异——即最优轨迹的奖励与最佳可用轨迹的奖励之间的差异——相对较低。
然而,对于目标G2,被观察轨迹(黑色圆圈)与最优轨迹(白色圆圈)的偏差相当大,因为汽车在时间t+Δt上未能达到最优轨迹所需的程度。这种差异本身不一定会导致显着的奖励差异(它可能会或可能不会取决于实施的细节)。然而,作为观察到的行为的结果,可以看出最佳可用轨迹的未来部分(即时间t+Δt后的部分)必须包括急剧制动(这反映了一个事实,即考虑到汽车的情况,从汽车当前位置到G2的最高奖励路径必须涉及急剧制动)——这会受到奖励函数的惩罚。这种与最优轨迹奖励的差异意味着目标G2的奖励差异更高。
在步骤1008,对于每个目标G1,G2,目标似然L(O|G)根据在步骤1004计算的最优规划和在步骤1006计算的针对该目标的最佳可用规划之间的奖励差异来计算。这进而允许基于目标似然性和目标先验来计算目标后验P(G|O)(步骤1010)。
先验P(G)可用于编码有关某些目标的“固有”概率的知识。例如,可以观察到,在图10的场景中,右转的汽车相对较少存在,可以用P(G2)<P(G1)编码为先验。这将有效地使目标G1偏向于G2。对于没有这种先验知识的场景,可以简单地假设每个目标都是同样可能的,没有对特定汽车的个体行为的任何观察,即P(G1)=P(G2),如算法2的示例,其中使用了统一的目标先验分布。
上面假设,给定一个目标,给定汽车的初始位置rt可以确定该目标的最优规划,并且可以根据后续时间间隔ΔT中的观察确定该目标的最佳可用规划。此外,它假设,给定一个最优(或最佳可用)规划,可以确定一个最优(或最佳可用)轨迹。以这种方式将目标映射到轨迹的一种机制使用A*搜索,如上所述。
当前机动和目标采样示例:
图11显示了一种机制的示意图,通过该机制,可以通过机动规划器218将逆向规划的结果应用为MCTS卷展的一部分。这应用了上述与算法2相关的原理,其中利用关于其他代理的概率预测的不同采样多次执行MCTS。
机动检测器208以上述方式检测目标参与者的当前机动概率分布。对于每个机动Mi∈M(M作为可用机动的有限集合),这提供了目标参与者当前正在执行该机动的概率,给定被观察轨迹τ,即
P(M|τ)
每个MCTS的卷展都按如下方式开始。对于彼此的汽车:
1.从预测的当前机动及其概率的集合中对当前机动进行采样,即,基于P(M|τ对当前机动Mj进行采样(框1104);
2.从对应于采样的当前机动的目标后验P(G|O)采样一个目标,即,将上述逆向规划步骤与采样的当前机动Mj一起应用(框1106)。
这些样本,即采样的当前机动Mj和采样的目标Gi,在MCTS过程的整个卷展过程中使用。上面的步骤1和2将在每个MCTS卷展开始时执行,并且在整个卷展过程中使用样本目标和轨迹。
在图11中,简写符号P(G|Mj)和P(G|Mk)分别用于表示给定当前机动Mj和Mk的目标后验——注意观察O可能比简单的当前机动更广泛(例如,包含先前机动的序列)。使用这种符号,如果在上面的步骤1中对机动Mj进行了采样,那么将在步骤2中对目标后验P(G|Mj)进行采样;而如果Mk被采样,则将使用目标后验P(G|Mk)。
虽然图11中没有描述,但轨迹概率将被确定为目标,例如以上描述的方式使用A*搜索。
示例搜索树:
图12显示了应用上述算法2时可能构建的蒙特卡洛树的示例。
作为示例,图12显示了从根节点D02到根节点的三个直接子节点的边缘D04a-c,分别标记为D06a-c。这些边缘D04a-c中的每一个代表在给定它们从其延伸的节点(在本例中为根节点D02)的驾驶场景状态s0的情况下可以执行的不同机动。这些子节点中的每一个代表驾驶场景的后续状态-分别为s1A,s1B,s1C-在自我车辆执行相应机动的情况下预测,从状态s0开始。
例如,边缘D04a-c可以分别对应于关于父状态s0的多车道驾驶场景中的“跟随车道”、“向左切换车道”和“向右切换车道”。在状态s0中,自我车辆处于当前车道-执行跟随车道机动以在适用的时间间隔内保持在当前车道;向左切换车道和向右切换车道被执行以尝试分别移动到当前车道的左侧和右侧的车道。状态s1A,s1B,s1C是通过根据相关机动推进父状态s0获得的,同时考虑到相关时间间隔内的外部代理行为。
算法2的每次卷展都会探索树的一个分支,直到满足相关的终止条件(碰撞、达到目标或达到最大深度)。举例来说,在它们各自分支的末端处的叶节点D8、D10被示出,可以注意到叶节点在发生碰撞或达到目标或处于最大深度的位置。给定分支中的各个节点对应于在该卷展的模拟阶段的相应迭代中模拟的状态。
上述技术在“车载”或“车外”上下文中实现。在场外环境中,上述技术人员可以在移动机器人的规划器中实施以实时规划动作。在这种情况下,可以从使用其车载传感器捕获的传感器信号中得出观察结果。在车外环境中,上述技术也可以在模拟运行时堆栈的规划器中实现,以便基于模拟驾驶场景测试运行时堆栈的性能。模拟在自动驾驶汽车的安全和其他性能测试中越来越重要。
请注意车外模拟与规划过程固有的模拟之间的区别。在上面,运行多个模拟以评估和规划自我动作/机动。这是规划过程的一部分,这些模拟将在车载或车外环境中运行。在车载环境中,被观察代理轨迹将来自实时的真实物理传感器测量。在车外环境中,将模拟被观察代理轨迹,并将规划和预测过程应用于模拟代理观察,以用于安全或其他性能测试、培训等目的。
示例AV堆栈
图9显示了AV运行时堆栈A1的某些功能组件的高度示意性功能框图,即感知组件A2、预测组件A4和AV规划器A6。
感知组件A2从AV的车载传感器***A8接收传感器数据。机载传感器***A8可以采用不同的形式,但通常包括各种传感器,例如图像捕获设备(相机)、LiDAR单元等、卫星定位传感器(GPS等)、运动传感器(加速度计、陀螺仪等)等,它们共同提供丰富的传感器数据,可以从中提取有关周围环境的详细信息以及该环境中AV和其他参与者(车辆、行人等)的状态。
路线规划器214在图9中示出,逆向规划器204和基于MCTS的机动规划器218分别作为预测和规划组件A4、A6的一部分示出。
然而请注意,本技术不限于使用利用AV本身的车载光学传感器(图像捕获设备、激光雷达等)捕获的图像数据等。使用外部捕获的传感器数据,例如由在AV附近的外部图像捕获单元捕获的CCTV图像等,可替代地或附加地应用该方法。在那种情况下,用于实施该方法的传感器输入中的至少一些可以由AV通过一个或多个无线通信链路从外部传感器数据源接收。
感知组件A2处理传感器数据以便从中提取这样的信息。这通常会涉及各种形式的机器学习(ML)/人工智能(AI)处理。在当前上下文中相关的感知组件A2的功能包括定位(框A10)、对象检测(框A12)和对象跟踪(框A14)。
执行定位以提供对周围环境和AV在其中的位置的感知。为此可以使用多种定位技术,包括视觉和基于地图的定位。
对象检测应用于传感器数据,以检测和定位环境中的外部对象,例如车辆、行人和其他外部参与者,其行为需要AV能够安全响应。这可以例如包括一种形式的3D边界盒检测,其中估计环境内和/或相对于自我车辆的对象的位置、方向和大小。例如,这可以应用于(3D)图像数据,例如RGBD(红绿蓝深度)、LiDAR点云等。这允许在地图上确定此类外部参与者的位置和其他物理属性。
对象跟踪用于跟踪环境中检测到的对象的任何移动。结果是通过对象跟踪随时间确定的每个代理的观察轨迹。观察轨迹是运动物体的历史,它捕捉到了运动物体随时间的轨迹,也可以捕捉到物体在不同时间点的历史速度、加速度等其他信息。
结合使用对象检测和对象跟踪,可以在确定的AV周围环境地图上全面定位和跟踪外部参与者。
对象检测和对象跟踪本身是众所周知的,并且可以使用各种公开可用的最先进模型在当前上下文中执行。
通过结合定位、对象检测和对象跟踪,感知组件A2提供了自我车辆周围环境的全面表示,该环境中任何外部参与者的当前状态(可检测到的位置、航向、速度等),以及AV能够追踪的此类参与者的历史痕迹。这会实时不断更新,以提供最新的位置和环境认知。
预测组件A4使用此信息作为预测分析的基础,在预测分析中,它预测AV附近外部参与者的未来行为。下面描述了合适的预测方法的例子。
AV规划器A6使用提取的关于自我周围环境和其中的外部代理的信息,以及预测组件A4提供的行为预测,作为AV规划的基础。也就是说,预测组件A4的预测分析在数据处理组件从传感器数据中提取的信息之上添加了一层预测信息,这反过来又被AV规划器A6用作AV规划决策的基础。这通常是分层规划过程的一部分,其中AV规划器A6做出各种高级决策,然后是执行更高级别决策所需的越来越低级别的决策。最终结果是一系列实时的、低级别的动作决策。为了执行这些决策,AV规划器A6生成控制信号,这些控制信号至少部分输入到AV的驱动机制A16,以控制车辆的速度和航向(例如,通过转向、刹车、加速、换档)等。还产生控制信号以执行辅助动作,如发信号。
场景提取组件A3使用感知组件A2的输出来确定自我车辆遇到的驾驶场景。确定的驾驶场景包括从捕获的传感器数据中提取的驾驶场景参数,这些参数提供了AV遇到的真实场景的表示,该表示简洁但足够详细,可用作现实模拟的基础。这是用结构化场景描述语言表述的,可以用作此类模拟的基础。
模拟器A5接收遇到的驾驶场景的参数,并可以基于这些参数运行模拟。如上所述,这些是MCTS规划过程固有的模拟。
预测组件A4的一个功能是对预测的外部代理行为进行建模,以作为模拟的一部分运行。也就是说,执行一个外部代理行为模型来预测遇到的驾驶场景中任何外部参与者的行为,以便可以将预测的行为结合到机动规划所基于的模拟中。
在车外模拟接触中,运行时堆栈A1的部分或全部组件可以以完全相同的方式运行,但在模拟输入上运行,例如模拟代理轨迹。
本文对组件、功能、模块等的引用表示可以以各种方式在硬件级别实现的计算机***的功能组件。这包括图1的各种组件和图2的目标识别模块202和自我规划模块212,以及它们的各种子模块。计算机***包括一个或更多个可以是可编程的或不可编程的计算机。计算机包括一个或更多个处理器,这些处理器执行上述功能组件的功能。处理器可以采用通用处理器的形式,例如CPU(中央处理单元)或加速器(例如GPU)等,或者更专业的硬件处理器形式,例如FPGA(现场可编程门阵列)或ASIC(应用-特定集成电路)。也就是说,处理器可以是可编程的(例如基于指令的通用处理器、FPGA等)或不可编程的(例如ASIC)。这样的计算机***可以在车载或车外环境中实现。
本文的第一方面在存在至少一个代理的情况下为移动机器人自主规划自我动作的计算机实现的方法,该方法包括:接收代理的被观察轨迹;在采样阶段:基于概率目标分布从可用目标集中为所述代理采样目标,所述被观察轨迹用于确定所述概率目标分布;以及基于概率轨迹分布,从与所采样的目标相关联的可能轨迹集合中采样代理轨迹,所述可能轨迹集合中的每个轨迹均到达相关联目标的位置;以及在模拟阶段:从可用自我动作集合中为所述移动机器人选择自我动作,以及基于所选择的自我动作、所采样的代理轨迹和移动机器人的当前状态,模拟(i)所述移动机器人的行为,以及(ii)代理的同步行为,以评估在当前移动机器人状态下所选择的自我动作的可行性。
该方法可以在目标识别阶段包括:通过为每个目标确定在(a)第一基本最优轨迹和(b)最佳可用轨迹之间的奖励差来计算目标分布,其中所述第一基本最优轨迹从所述被观察轨迹的初始状态到目标位置,所述最佳可用轨迹结合了(b.i)从所述被观察轨迹的初始状态到当前状态的被观察轨迹和(b.ii)从当前状态到目标位置的第二基本最优轨迹,其中所述概率轨迹分布通过确定所述可能轨迹集合中的每个轨迹的奖励来确定。
概率轨迹分布包括在给定所述被观察轨迹时每个可用目标的概率,每个可用目标的概率计算为目标的先验概率与在给定目标时所述被观察轨迹的似然的乘积,所述似然基于所述奖励差异的指数。
概率轨迹分布包括所述可能轨迹中的每一个轨迹基于其奖励的指数的概率。
每个轨迹的奖励和每个目标的奖励差异可以使用奖励函数来确定,该奖励函数对减少的旅行时间进行奖励同时惩罚不安全的轨迹。
奖励函数也可以惩罚缺乏舒适度。
采样的代理轨迹是开环,但是所述模拟阶段是闭环,基于采样的开环代理轨迹确定模拟的闭环代理轨迹,模拟的闭环轨迹以对移动机器人的模拟行为作出反应的方式偏离采样的开环轨迹。
或者,采样的代理轨迹可以是开环的,并且模拟阶段可以是开环的。
目标识别阶段可以是开环的。
每个轨迹可以具有路径分量和运动分量。
每个轨迹可以采取状态序列的形式,每个状态在特定时刻编码空间信息和运动信息。
运动分量可以用作指标,允许代理在模拟阶段以反应方式偏离该指标(例如,使用上述模拟的闭环形式)。
第一轨迹和第二轨迹可以在第一搜索过程中确定,第一搜索过程寻求优化第一轨迹和第二轨迹的奖励或预算费用。
在轨迹搜索过程中可以使用预算费用,并且预算费用可以仅考虑到目标位置的旅行时间,并且可以忽略在确定第一轨迹和最佳可用轨迹之间的奖励差异时考虑的至少一个其他费用因素。
可能轨迹集合可以在第二搜索过程中确定,第二搜索过程可以自由探索额外的轨迹,包括没有到达目标位置的轨迹,但是在第二搜索过程中找到的轨迹只有在确实到达相关目标的位置时,才会被添加到可能轨迹集合中。
可以在可能的代理动作的搜索空间上执行第一搜索过程和/或第二搜索过程,其中每个轨迹对应于被搜索代理动作或搜索空间内的被搜索代理动作序列。
采样阶段可以包括基于为代理确定的概率当前动作分布,从可能的当前代理动作集合中采样当前代理动作。
第一搜索过程和/或第二搜索过程可以基于采样的当前代理动作。
可以使用被观察轨迹和采样的当前代理动作来确定概率目标分布。
概率目标分布可以包括在给定被观察轨迹和采样的当前代理机动时每个目标的条件概率。
当前动作分布可以由概率机动检测器基于代理的一个或多个观察,例如被观察轨迹的一个或更多个状态来确定。
模拟阶段可以包括在选择的自我动作已经完成之后确定移动机器人的预测状态。
基于所采样的代理轨迹执行所述模拟阶段的多次迭代,基于当前移动机器人状态执行初始迭代并且基于所采样的代理轨迹,进一步选择的自我动作和在先前迭代中确定的预测的移动机器人状态来执行每个后续迭代,直到满足终止条件,由此在多次迭代中评估多个选择的自我动作的时间序列。
轨迹采样阶段和所述模拟阶段的多次迭代构成单个卷展,并且所述方法包括执行多次卷展,其中,在每次卷展中,重复所述采样阶段以对代理目标和相应的代理轨迹进行采样,以用于每次卷展中执行的模拟阶段的一个或更多个迭代。
在每个卷展中对当前代理动作进行采样以用于该卷展。
多次卷展是根据概率树搜索算法执行的,其中搜索树的根节点代表所述移动机器人的当前状态,所述树的边缘代表选择的自我动作,并且附加节点代表预测状态,其中通过在卷展中执行的模拟阶段的一个或更多个迭代中的自我动作的连续选择,在每次卷展中探索树的分支。
可以在模拟阶段的每次迭代中概率性地选择自我动作。
每个动作是基本机动或是由多个基本机动的序列形成的宏观动作。
该方法可以在规划器中实施,以便为移动机器人规划基本上最优的自我动作或动作系列。
可以基于通过上述搜索树反向传播的奖励来确定基本上最优的自我动作或自我动作系列,针对确定为发生碰撞的节点计算每个奖励,针对确定为在没有碰撞的情况下达到自我目标的节点计算每个奖励,或者在没有碰撞且没有达到自我目标的情况下分支终止的节点计算每个奖励。
对于确定为在没有碰撞的情况下达到目标的每个节点,奖励可以是为包含该节点的分支计算的模拟式自我轨迹的奖励。
使用与计算代理的概率目标分布和与其相关的可能轨迹集合的概率轨迹分布相同的奖励函数来计算所述模拟式自我轨迹的奖励。
被观察代理轨迹可以来自物理传感器测量,也可以是在车外模拟器中生成的模拟代理轨迹。
可能的轨迹可以是已经应用了速度平滑和/或其他运动平滑的平滑轨迹。
速度平滑和/或其他运动平滑可以应用于第一轨迹和第二轨迹,但不能应用于被观察轨迹。
本文的其他方面可以提供一种计算机***,该计算机***包括被编程或以其他方式配置为实现第一方面或其任何实施例的方法的一个或更多个计算机,以及被配置为对计算机***进行编程以便执行任何此类方法的计算机程序。计算机***可以在移动机器人或车外模拟器(例如)中实现。
附录A–评估
我们在模拟具有不同场景初始化的四种城市驾驶场景中评估我们的***。我们表明:
我们的方法正确识别其他车辆的目标
目标识别导致改善驾驶行为
我们可以为识别的目标和预测提取直观的解释,以证明***的决策是正确的
可以在补充材料中找到显示我们***在每个场景中的预测和规划步骤的视频。
A.场景
我们使用以下场景:
S1 T字路口(图5):自我车辆从西面接近T字路口,其目标是到达东端(蓝色目标)。车辆V1与相邻车道上的自我车辆在同一条道路上,它的目标是退出道路并向南行驶(紫色目标),它会在自我前面更改为自我车道。车辆V2从南边接近T字路口,它的目标是向东行驶(蓝色目标),V2必须在路口让路。
S2 X路口(图6):自我车辆从南面接近X路口,其目标是到达西端(蓝色目标)。车辆V1从西端接近X路口,其目标是到达东端(黄色目标)。车辆V2从东端接近X路口,其目标是到达北端(紫色目标),V2必须等待V1通过。
S3环岛(图7):自我车辆从西接近环岛,其目标是向东行驶(绿色目标)。车辆V1在环岛内,它的目标是向南出去(橙色目标)。
S4并道(图8):自我车辆从东面接近主干道,其目标是到达北端(紫色目标)。其他几辆车在主干道上,在红灯后排队。车辆V1留有空隙供自我车辆并入。车辆V2向南行驶(绿色目标)。对于每个场景,我们生成100个实例,其中包含随机偏移的初始纵向位置(偏移~[-10,+10]米)和针对包括自我车辆的每个车辆从范围[5,10]米/秒采样的初始速度。
B.基线和参数
我们比较了我们***的以下版本。Full:使用目标识别和MCTS的完整***。MAP:与Full类似,但MCTS仅使用每辆车最可能的目标和轨迹。CVel:没有目标识别的MCTS,被恒速车道跟踪预测所取代。Cons:与CVel类似,但使用保守的让路机动,等待优先车道上的所有迎面而来的车辆都通过。所有这些基线都在MCTS中使用闭环模拟。我们还使用闭环(Full-CL)和开环(Full-OL)模拟评估完整基线。
机动、宏观行动和目标生成启发式如本文前面所定义。对于其他车辆和生成的目标,我们最多生成3个预测轨迹。我们通过给出0.95的概率来纠正当前的机动,其余的概率均匀地用于其他机动,从而模拟了对其他车辆当前机动的噪声检测。MCTS以1Hz的频率运行,执行D=30次模拟,最大搜索深度为d=5。碰撞奖励和最大搜索深度设置为rcoll=rterm=-1。可实现目标的先验概率是一致的。
C.结果
图5-8显示了我们完整***不同规划阶段的场景实例的快照。条形图给出了与其最可能的当前机动相关联的其他车辆的目标概率。对于每个目标,我们展示了从车辆到目标的最可能轨迹预测,其厚度与其概率成正比。我们为每个场景中的目标识别和机动预测提取了直观的解释,这些解释在附图说明中给出。
图4显示了在四个场景实例中分配给正确目标的概率随时间的演变。可以看出,当其他目标被理性原则排除时,概率接近正确目标。我们在所有场景实例中都观察到了这种行为。
图3显示了每个基线完成场景实例所需的平均时间(以秒为单位)和标准偏差。(S1)。所有基线切换通道以响应V1切换车道。由于逆向规划,Full和MAP比其他基线更早地预测V1的减速,允许他们稍微提前切换车道。CVel和Cons仅在V1已经开始减速时才切换车道,并且无法解释V1的行为。(S2)Cons需要更多的时间来完成场景,因为它等待V2以清除车道,而V2又必须等待V1通过。Full和MAP预见到这种行为,使他们能够更早地安全进入道路。由于V2的速度为零,CVel产生相同的结果,但不能完全证明(解释)其决定,因为它无法解释V2的等待行为。(S3)CVel和Cons都需要更多时间来完成场景。在这里,CVel中的恒速预测和Cons中的等待实际清除,总计相当于自我车辆的进入时间。Full和MAP能够更早进入,因为他们识别到V1的目标是退出环岛。MAP比Full更早进入,因为它完全致力于V1的最可能目标,而Full表现出更加谨慎的行为,因为V1目标的剩余不确定性可能会导致猛撞。(S4)Cons必须等到V1决定缩小间距,之后自我才能进入道路,因此需要更多时间。Full和MAP识别V1的目标,可以安全进入。CVel再次基于V1的恒定速度产生相同的行为,但无法解释V1的等待行为。
Full-CL和Full-OL实现了相同的场景实例完成率(100%),并且需要相同的行驶时间。我们发现,在我们特定,OL就足以。
图7:S3:车辆V1在环岛内,(a)最初我们将V1的所有目标归于均匀分布。(b)当V1从环岛的内侧车道变为外侧车道并降低其速度时,它显著地使自我预测偏向于V1将在下一个出口离开的信念,因为这是该目标的理性行动过程,(c)当V1接近出口并继续减速时,对V1将离开的自我信念进一步增加,从而鼓励自我在V1仍在环岛时进入环岛。(d)/(e)V1出去,此时自我已经进入环岛。
图8:S4:两辆车在路口停在红绿灯处,车辆V1从后面接近,车辆V2朝相反方向交叉,(a)最初,我们将V1和V2的所有目标均匀分布。(b)由于速度变化非常小,两辆车的目标概率保持接近一致,(c)V1已经开始减速,此时更容易指示驶离道路,因为根据奖励函数,北面目标不需要很早减速。因此,自我等待。(d)V1的零速度揭示了其当前位置的停止目标,将分布向其移动,因为停止对于北/东目标是不合理的。解释是V1希望自我并入。(e)给定识别的目标,自我并入V1前面的道路。
参考
上文对以下内容进行了参考,其中的每一个都通过引用整体并入本文:
[3]P.Auer,N.Cesa-Bianchi,and P.Fischer.Finite-time analysis of themultiarmed bandit problem.Machine Learning,47(2-3):235-256,2002.(P.Auer、N.Cesa-Bianchi和P.Fischer,2002年,机器学习,47(2-3):235–256页,多臂***问题的有限时间分析。)
[6]C.Browne,E.Powley,D.Whitehouse,S.Lucas,P.Cowl-ing,P.Rohlfshagen,S.Tavener,D.Perez,S.Samothrakis and S.Colton.A survey of Monte Carlo treesearchmeth-ods.IEEE Transactions on Computational Intelligence andAI inGames,4(1):1–43,2012.(C.Browne、E.Powley、D.Whitehouse、S.Lucas、P.Cowl-ing、P.Rohlfshagen、S.Tavener、D.Perez、S.Samothrakis和S.Colton。游戏中的计算智能和人工智能IEEE汇报,2012年,4(1):1-43页,蒙特卡洛树搜索方法的调查。)
[9]E.Galceran,A.Cunningham,R.Eustice,and E.Olson.Multipolicydecision-making for autonomous driving via changepoint-based behaviorprediction:Theory and experiment.Autonomous Robots,41(6):1367–1382,2017.(E.Galceran、A.Cunningham、R.Eustice和E.Olson,2017年,自主机器人,41(6):1367-1382页,通过基于变化点的行为预测进行自动驾驶的多策略决策制定:理论与实验。)
[10]C.G′amez Serna and Y.Ruichek.Dynamic speed adap-tation for pathtracking based on curvature information and speed limits.Sensors,17(1383),2017.(C.G′amez Serna和Y.Ruichek,2017年,传感器,17(1383),基于曲率信息和速度限制的路径跟踪动态速度自适应。)
[12]P.Hart,N.Nilsson,and B.Raphael.A formal basis for the heuristicdetermination of minimum cost paths.In IEEE Transactions on Systems Scienceand Cybernetics,volume 4,pages 100–107,July 1968.(P.Hart、N.Nilsson和B.Raphael,1968年7月,在IEEE***科学与控制论汇报,第4卷,第100-107页,启发式确定最小费用路径的正式基础。)
[16]L.Kocsis and C.Szepesv′ari.Bandit based Monte-Carlo planning.InProceedings of the 17th European Conference on Machine Learning,pages 282–293.Springer,2006.(L.Kocsis和C.Szepesv'ari,2006年,斯普林格,在第17届欧洲机器学习会议论文集上,第282-293页,基于Bandit的蒙特卡罗规划。)
[19]S.Niekum,S.Osentoski,C.Atkeson,and A.Barto.Online Bayesianchangepoint detection for articulated motion models.In IEEE InternationalConference on Robotics and Automation,IEEE,2015.(S.Niekum、S.Osentoski、C.Atkeson和A.Barto,2015年,IEEE,在IEEE机器人与自动化国际会议上,关节运动模型的在线贝叶斯变点检测。)
[23]A.Somani,N.Ye,D.Hsu,and W.S.Lee.DESPOT:online POMDP planning withregularization.In Advances in Neural Information Processing Systems,pages1772–1780,2013.(A.Somani、N.Ye、D.Hsu和W.S.Lee,2013年,在神经信息处理***的进展中,第1772-1780页,DESPOT:带有正则化的在线POMDP规划。)
[25]R.Sutton and A.Barto.Reinforcement Learning:An Introduction.MITPress,2018.(R.Sutton和A.Barto,2018年,麻省理工学院出版社,强化学习:简介。)
[27]A.W¨achter and L.Biegler.On the implementation of an interior-point filter line-search algorithm for large-scale nonlinearprogramming.Mathematical Programming,106(1):25–57,2006.(A.W¨achter和L.Biegler,2006年,数学编程,106(1):25–57页,大规模非线性规划的内点滤波器线搜索算法的实现)。
Claims (38)
1.一种在存在至少一个代理的情况下为移动机器人自主规划自我动作的计算机实现方法,所述方法包括:
接收代理的被观察轨迹;
在采样阶段:
基于概率目标分布从可用目标集中为所述代理采样目标,所述被观察轨迹用于确定所述概率目标分布;以及
基于概率轨迹分布,从与所采样的目标相关联的可能轨迹集合中采样代理轨迹,所述可能轨迹集合中的每个轨迹均到达相关联目标的位置;以及
在模拟阶段:
从可用自我动作集合中为所述移动机器人选择自我动作,以及
基于所选择的自我动作、所采样的代理轨迹和移动机器人的当前状态,模拟(i)所述移动机器人的行为,以及(ii)代理的同步行为,以评估在当前移动机器人状态下所选择的自我动作的可行性。
2.根据权利要求1所述的方法,包括:
在目标识别阶段:
通过为每个目标确定在(a)第一基本最优轨迹和(b)最佳可用轨迹之间的奖励差来计算目标分布,其中所述第一基本最优轨迹从所述被观察轨迹的初始状态到目标位置,所述最佳可用轨迹结合了(b.i)从所述被观察轨迹的初始状态到当前状态的被观察轨迹和(b.ii)从当前状态到目标位置的第二基本最优轨迹,其中所述概率轨迹分布通过确定所述可能轨迹集合中的每个轨迹的奖励来确定。
3.根据权利要求2所述的方法,其中所述概率轨迹分布包括在给定所述被观察轨迹时每个可用目标的概率,每个可用目标的概率计算为目标的先验概率与在给定目标时所述被观察轨迹的似然的乘积,所述似然基于所述奖励差异的指数。
4.根据权利要求2或3所述的方法,其中,所述概率轨迹分布包括所述可能轨迹中的每一个轨迹基于其奖励的指数的概率。
5.根据权利要求4所述的方法,其中每个轨迹的奖励和每个目标的奖励差异使用奖励函数来确定,该奖励函数对减少的旅行时间进行奖励同时惩罚不安全的轨迹。
6.根据权利要求5所述的方法,其中,所述奖励函数还惩罚缺乏舒适度。
7.根据前述权利要求中任一项所述的方法,其中,所述采样的代理轨迹是开环,但是所述模拟阶段是闭环,基于采样的开环代理轨迹确定模拟的闭环代理轨迹,所述模拟的闭环轨迹以对移动机器人的模拟行为作出反应的方式偏离采样的开环轨迹。
8.根据权利要求1至6中任一项所述的方法,其中,所述采样的代理轨迹是开环,以及所述模拟阶段是开环。
9.根据权利要求7或8所述的方法,其中,所述目标识别阶段是开环。
10.根据前述权利要求中任一项所述的方法,其中,每个轨迹具有路径分量和运动分量。
11.根据权利要求10所述的方法,其中每个轨迹采用状态序列的形式,每个状态在特定时刻编码空间信息和运动信息。
12.根据从属于权利要求7的权利要求11所述的方法,其中,所述运动分量被用作指标,在所述模拟阶段,所述代理被允许以反应方式偏离所述指标。
13.根据权利要求2或任何从属于权利要求2的权利要求所述的方法,其中,所述第一轨迹和第二轨迹是在第一搜索过程中确定的,所述第一搜索过程寻求优化所述第一轨迹和第二轨迹的奖励或预算费用。
14.根据权利要求13所述的方法,其中,在轨迹搜索过程中使用预算费用,以及所述预算费用仅考虑到所述目标位置的旅行时间并且忽略在确定所述第一轨迹和最佳可用轨迹之间的奖励差异时考虑的至少一个其他费用因素。
15.根据权利要求13或14所述的方法,其中,所述可能轨迹集合是在第二搜索过程中确定的,所述第二搜索过程可以自由探索额外的轨迹,包括没有到达目标位置的轨迹,但是在第二搜索过程中找到的轨迹只有在确实到达相关目标的位置时,才会被添加到所述可能轨迹集合中。
16.根据权利要求13至15中任一项所述的方法,其中,所述第一搜索过程和/或第二搜索过程在可能的代理动作的搜索空间上执行,其中每个轨迹对应于被搜索代理动作或搜索空间内的被搜索代理动作序列。
17.根据前述权利要求中任一项所述的方法,其中,所述采样阶段包括基于为所述代理确定的概率当前动作分布,从可能的当前代理动作集合中采样当前代理动作。
18.根据从属于权利要求16的权利要求17所述的方法,其中,所述第一搜索过程和/或第二搜索过程是基于所采样的当前代理动作。
19.根据权利要求17或18所述的方法,其中,所述概率目标分布使用所述被观察轨迹和所采样的当前代理动作来确定。
20.根据权利要求19所述的方法,其中,所述概率目标分布包括在给定所述被观察轨迹和所采样的当前代理机动时每个目标的条件概率。
21.根据权利要求17至20中任一项所述的方法,其中,所述当前动作分布由概率机动检测器基于所述代理的一个或多个观察,例如所述被观察轨迹的一个或更多个状态来确定。
22.根据前述权利要求中任一项所述的方法,其中,所述模拟阶段包括在所选择的自我动作已经完成之后确定所述移动机器人的预测状态。
23.根据权利要求22所述的方法,其中,基于所采样的代理轨迹执行所述模拟阶段的多次迭代,基于当前移动机器人状态执行初始迭代并且基于所采样的代理轨迹,进一步选择的自我动作和在先前迭代中确定的预测的移动机器人状态来执行每个后续迭代,直到满足终止条件,由此在多次迭代中评估多个选择的自我动作的时间序列。
24.根据权利要求23所述的方法,其中,所述轨迹采样阶段和所述模拟阶段的多次迭代构成单个卷展,并且所述方法包括执行多次卷展,其中,在每次卷展中,重复所述采样阶段以对代理目标和相应的代理轨迹进行采样,以用于所述每次卷展中执行的模拟阶段的一个或更多个迭代。
25.根据从属于权利要求17的权利要求24所述的方法,其中,在每个卷展中对当前代理动作进行采样以用于该卷展。
26.根据权利要求24至25中任一项所述的方法,其中,所述多次卷展根据概率树搜索算法执行,其中搜索树的根节点代表所述移动机器人的当前状态,所述树的边缘代表选择的自我动作,并且附加节点代表预测状态,其中通过在卷展中执行的模拟阶段的一个或更多个迭代中的自我动作的连续选择,来在每次卷展中探索树的分支。
27.根据权利要求23至26中任一项所述的方法,其中,在所述模拟阶段的每次迭代中概率性地选择所述自我动作。
28.根据前述权利要求中任一项所述的方法,其中,每个动作是基本机动或是由多个基本机动的序列形成的宏观动作。
29.根据前述权利要求中任一项所述的方法,在规划器中实施,以便为所述移动机器人规划基本上最优的自我动作或动作系列。
30.根据从属于权利要求26的权利要求29所述的方法,其中,所述基本上最优的自我动作或自我动作系列基于通过所述搜索树反向传播的奖励来确定,针对确定为发生碰撞的节点计算每个奖励,针对确定为在没有碰撞的情况下达到自我目标的节点计算每个奖励,或者在没有碰撞且没有达到自我目标的情况下分支终止的节点计算每个奖励。
31.根据权利要求30所述的方法,其中,对于确定为在没有碰撞的情况下达到目标的每个节点,所述奖励是为包含节点的分支计算的模拟式自我轨迹的奖励。
32.根据从属于权利要求5的权利要求31所述的方法,其中,使用与计算代理的概率目标分布和与其相关的可能轨迹集合的概率轨迹分布相同的奖励函数来计算所述模拟式自我轨迹的奖励。
33.根据前述权利要求中任一项所述的方法,其中,所述被观察代理轨迹源自物理传感器测量,或者是在车外模拟器中生成的模拟代理轨迹。
34.根据前述权利要求中任一项所述的方法,其中,所述可能的轨迹是已应用了速度平滑和/或其他运动平滑的平滑轨迹。
35.根据从属于权利要求2的权利要求34所述的方法,其中,将速度平滑和/或其他运动平滑应用于所述第一轨迹和第二轨迹而不是所述被观察轨迹。
36.一种计算机***,包括一个或更多个计算机,所述计算机被编程或以其他方式配置为实现如权利要求1至35中任一项所述的方法。
37.根据权利要求36所述的计算机***,在移动机器人或车外模拟器中实现。
38.一种计算机程序,被配置为对计算机***进行编程以执行根据权利要求1至35中任一项所述的方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EPPCT/EP2019/078072 | 2019-10-16 | ||
EPPCT/EP2019/078062 | 2019-10-16 | ||
PCT/EP2019/078062 WO2020079066A1 (en) | 2018-10-16 | 2019-10-16 | Autonomous vehicle planning and prediction |
PCT/EP2019/078072 WO2020079074A2 (en) | 2018-10-16 | 2019-10-16 | Autonomous vehicle planning |
GBGB2001308.2A GB202001308D0 (en) | 2020-01-30 | 2020-01-30 | Prediction and planning for mobile robots |
GB2001308.2 | 2020-01-30 | ||
PCT/EP2020/061232 WO2021073781A1 (en) | 2019-10-16 | 2020-04-22 | Prediction and planning for mobile robots |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114846425A true CN114846425A (zh) | 2022-08-02 |
Family
ID=69800120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080087147.2A Pending CN114846425A (zh) | 2019-10-16 | 2020-04-22 | 移动机器人的预测和规划 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230042431A1 (zh) |
EP (1) | EP4046058A1 (zh) |
CN (1) | CN114846425A (zh) |
GB (1) | GB202001308D0 (zh) |
WO (1) | WO2021073781A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114766022A (zh) * | 2019-11-06 | 2022-07-19 | 俄亥俄州创新基金会 | 使用多时域优化的车辆动力学和动力总成控制***和方法 |
GB202008353D0 (en) | 2020-06-03 | 2020-07-15 | Five Ai Ltd | Simulation in autonomous driving |
EP3920103A1 (en) * | 2020-06-05 | 2021-12-08 | Robert Bosch GmbH | Device and method for planning an operation of a technical system |
CN111679679B (zh) * | 2020-07-06 | 2023-03-21 | 哈尔滨工业大学 | 基于蒙特卡洛树搜索算法的机器人状态规划方法 |
CN112230659A (zh) * | 2020-10-16 | 2021-01-15 | 深圳裹动智驾科技有限公司 | 精准规划运动轨迹的方法、智能控制设备及自动驾驶车辆 |
CN113156959B (zh) * | 2021-04-27 | 2024-06-04 | 东莞理工学院 | 复杂场景自主移动机器人自监督学习及导航方法 |
EP4339051A4 (en) * | 2021-05-28 | 2024-07-10 | Huawei Tech Co Ltd | METHOD AND DEVICE FOR DETERMINING A DRIVING STRATEGY, DEVICE AND VEHICLE |
US20230102929A1 (en) * | 2021-09-24 | 2023-03-30 | Embark Trucks, Inc. | Autonomous vehicle automated scenario characterization |
CN114083539B (zh) * | 2021-11-30 | 2022-06-14 | 哈尔滨工业大学 | 一种基于多智能体强化学习的机械臂抗干扰运动规划方法 |
WO2023135271A1 (en) | 2022-01-13 | 2023-07-20 | Five AI Limited | Motion prediction and trajectory generation for mobile agents |
CN116673968B (zh) * | 2023-08-03 | 2023-10-10 | 南京云创大数据科技股份有限公司 | 基于强化学习的机械臂轨迹规划要素选择方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3485337B1 (en) * | 2016-09-23 | 2020-10-21 | Apple Inc. | Decision making for autonomous vehicle motion control |
-
2020
- 2020-01-30 GB GBGB2001308.2A patent/GB202001308D0/en not_active Ceased
- 2020-04-22 US US17/769,266 patent/US20230042431A1/en active Pending
- 2020-04-22 EP EP20720823.2A patent/EP4046058A1/en active Pending
- 2020-04-22 WO PCT/EP2020/061232 patent/WO2021073781A1/en unknown
- 2020-04-22 CN CN202080087147.2A patent/CN114846425A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021073781A9 (en) | 2021-09-23 |
GB202001308D0 (en) | 2020-03-18 |
US20230042431A1 (en) | 2023-02-09 |
EP4046058A1 (en) | 2022-08-24 |
WO2021073781A1 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114846425A (zh) | 移动机器人的预测和规划 | |
US11726477B2 (en) | Methods and systems for trajectory forecasting with recurrent neural networks using inertial behavioral rollout | |
US11900797B2 (en) | Autonomous vehicle planning | |
Teng et al. | Motion planning for autonomous driving: The state of the art and future perspectives | |
US11755018B2 (en) | End-to-end interpretable motion planner for autonomous vehicles | |
Huang et al. | Driving behavior modeling using naturalistic human driving data with inverse reinforcement learning | |
Duan et al. | Hierarchical reinforcement learning for self‐driving decision‐making without reliance on labelled driving data | |
US11243532B1 (en) | Evaluating varying-sized action spaces using reinforcement learning | |
Li et al. | Real-time trajectory planning for autonomous urban driving: Framework, algorithms, and verifications | |
Jeong et al. | Surround vehicle motion prediction using LSTM-RNN for motion planning of autonomous vehicles at multi-lane turn intersections | |
US20230359202A1 (en) | Jointly Learnable Behavior and Trajectory Planning for Autonomous Vehicles | |
Sukthankar | Situation awareness for tactical driving | |
JP2021504812A (ja) | 自律車両のための物体相互作用予測システムおよび方法 | |
CN116134292A (zh) | 用于性能测试和/或训练自动驾驶车辆规划器的工具 | |
Muzahid et al. | Deep reinforcement learning-based driving strategy for avoidance of chain collisions and its safety efficiency analysis in autonomous vehicles | |
Lodhi et al. | Autonomous vehicular overtaking maneuver: A survey and taxonomy | |
Yang et al. | Prediction Based Trajectory Planning for Safe Interactions Between Autonomous Vehicles and Moving Pedestrians in Shared Spaces | |
Hubmann | Belief state planning for autonomous driving: Planning with interaction, uncertain prediction and uncertain perception | |
WO2023242223A1 (en) | Motion prediction for mobile agents | |
Arbabi et al. | Planning for autonomous driving via interaction-aware probabilistic action policies | |
Bahram | Interactive maneuver prediction and planning for highly automated driving functions | |
US20230229826A1 (en) | Method for assigning a lane relationship between an autonomous vehicle and other actors near an intersection | |
Carvalho | A review of ROS based autonomous driving platforms to carry out automated driving functions | |
Trentin | MULTIMODAL INTERACTION-AWARE MOTION PREDICTION IN URBAN ENVIRONMENTS | |
Ren et al. | Motion Planning and Control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |