CN109477723B - 自动驾驶车辆运动规划和可重新配置的运动规划处理器 - Google Patents
自动驾驶车辆运动规划和可重新配置的运动规划处理器 Download PDFInfo
- Publication number
- CN109477723B CN109477723B CN201780035817.4A CN201780035817A CN109477723B CN 109477723 B CN109477723 B CN 109477723B CN 201780035817 A CN201780035817 A CN 201780035817A CN 109477723 B CN109477723 B CN 109477723B
- Authority
- CN
- China
- Prior art keywords
- collision
- motion planning
- edge
- cost
- autonomous vehicle
- 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.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 175
- 238000001514 detection method Methods 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 28
- 230000008447 perception Effects 0.000 claims description 11
- 230000001953 sensory effect Effects 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 abstract description 6
- 238000013461 design Methods 0.000 description 21
- 238000003860 storage Methods 0.000 description 16
- 230000003068 static effect Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 239000003607 modifier Substances 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 230000008672 reprogramming Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000010813 municipal solid waste Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000011449 brick Substances 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000984642 Cura Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/165—Anti-collision systems for passive traffic, e.g. including static obstacles, trees
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/166—Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种用于自动驾驶车辆的运动规划的***,该***包括多个传感器,与多个传感器电通信的多个检测器,以及与多个检测器和自动驾驶车辆的计算***电通信的运动规划模块。运动规划模块存储一规划图,其中每个节点隐式地或显示地表示时间和变量,所述时间和变量定义自动驾驶车辆的一状态和/或一操作环境。可重新配置的处理器可包括碰撞检测模块和,可选的一最短路径模块。可在编程阶段将预先计算的碰撞数据和反应逻辑/物理节点映射的规划图数据传送至处理器,同时可在运行期间使用该预先计算的碰撞数据和规划图数据。
Description
相关申请的交叉引用
本申请要求于2016年6月10日提交的美国临时申请序列号No.62/348,230和于2017 年1月30日提交的美国临时申请序列号No.62/451,816的优先权,其全部内容,包括所有附图、表格和图形,均通过引用并入本文。
技术领域
本发明涉及一种自动驾驶车辆运动规划和可重新配置的运动规划处理器。
背景技术
运动规划是确定机器人如何在真实世界操作的一个过程。它是在机器人的起始位置到目标状态之间找到一条无碰撞路径。例如,机器人可能想要移动其手臂来抓取想要的物体,而不与其自身或任何其它物体产生碰撞。执行运动规划以驾驭和操纵物体的能力对应对那些不受严格控制或设计复杂的自然环境而言是至关重要的。机器人首先感知其周围的物理世界的信息,然后计算机确定如何控制物理机器人,使得机器人可在感知的环境中自如行走。
对于包括自动驾驶车辆在内的许多技术而言,高速和低功率的运动规划是一项重要且具有挑战性的任务。自动驾驶车辆面临的挑战包括避免与静态(例如,道路上留下的吊杆或东西)和动态(例如,骑自行车者、行人或其它车辆)障碍物碰撞的能力,高频率重新计划的能力以及处理动态障碍物会如何移动等不确定性问题的能力。
在许多情况下,机器人(包括自动驾驶车辆)的主要限制因素是它们能否在有障碍物的环境中进行实时运动规划。运动规划算法往往是计算密集型的,需要对每个运动进行大量的碰撞检查。
发明内容
提供了用于自动驾驶车辆的专用机器人运动规划硬件。除了用于自动车辆和其他机器人的运动规划的***和设备之外,还描述了一种可重新配置的处理器,其可以实现用于自动车辆和其他机器人的各种专用机器人运动规划硬件。可重新配置的处理器可以执行特定机器人和/或特定场景的运动规划,然后被重新配置以解决不同机器人和/或场景的运动规划。所述专用机器人运动规划硬件可以完全在硬件电路,或硬件处理器执行的软件中,或硬件电路和由硬件处理器执行的软件的结合中,执行碰撞检测和/或找到最短路径的运动规划操作。可以认为硬件和/或软件功能由“运动规划模块”体现。
用于自主车辆的运动规划的***可包括多个传感器,与多个传感器电通信的多个检测器,以及与多个检测器电通信的运动规划模块和自动驾驶车辆的计算***。运动规划模块存储规划图,其中每个节点隐式地或明确地表示时间和变量,所述时间和变量定义自动驾驶车辆的状态和/或操作环境。运动规划模块从多个检测器接收感知数据和样本轨迹,调整沿着规划图中的每个边缘的碰撞概率以解释所述样本轨迹,其中碰撞概率导致与感知数据中的障碍物碰撞,以及确定一条考虑到成本和碰撞概率的路径,并将该路径输出至计算***。多个检测器可包括物体检测器和障碍物***。可以包括成本网格,成本网格从物体检测器接收由体素流给出的障碍物位置,并为每个体素分配一个成本修饰器,然后将成本修饰器发送给运动规划模块。
运动规划模块可以包括硬件处理器和存储器。内存存储器可以存储在实时运动规划之前离线生成的规划图,例如网格或其他概率道路图。在一些情况下,运动规划模块包括用于执行并行碰撞检测的硬件碰撞检测单元。在一些情况下,运动规划模块包括可重配置的碰撞检测加速度。预先计算的碰撞数据可以存储在运动规划模块的存储器中,使得在运动规划期间,当接收到感知数据时,运动规划模块的硬件处理器将感知数据与存储在存储器中的预先计算的碰撞数据进行比较以确定碰撞。
在即时操作期间,可以为规划图的边缘分配一个或多个变量的信息。一个变量可以是成本,第二个变量可以是风险。可以从与环境中的物体检测(静态和可选地具有可计算轨迹的运动物体)相关联的成本网格中获得成本信息。可以通过对物体***的输出进行采样来获得风险信息。然后,运动规划模块生成考虑了成本和风险的路径,表示合法的运动规划,并输出该运动规划,使得机器人可以根据运动规划实现运动。
运动规划模块可以编程用于各种机器人和预期的任务场景。可以针对不同的机器人重新使用、重新编程运动规划模块(即,可重新配置的)或者可以针对特定机器人设计运动规划模块。机器人的一种类型可以为自动驾驶车辆。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在限制所要求保护的主题的范围。
附图说明
图1示出了在一般静态环境中的运动规划问题的示例图示。
图2示出了用于自动驾驶车辆的运动规划的实时***的示例。
图3示出了根据本发明某些实施例的运动规划模块的示例架构。
图4示出了用于单个运动的示例,可重新配置的碰撞检测架构。
图5示出了使用框而不是体素的策略的示例碰撞检测架构。
图6A-6D示出了PRM中单个运动的扫描体积的表示如何随表示策略而变化。图6A示出了实际的扫描体积。图6B包括用于运动的所有单独体素。图6C示出了使用87个框而不是单个体素描述的相同扫描体素。图6D示出了在允许增加10%的体积的情况下,仅由38 个框覆盖的体积。
图7示出了用于示例实现的Bellman Ford计算单元的基本微体系结构布局。
图8示出了用于示例实现的片上网络的示例路由器微体系结构。
图9示出了用于示例实现的互连网络的平面图。
图10示出了在5,000个采样环境中模拟的两种尺寸的路线图在不同时间完成的概率。
图11A示出了碰撞检查延迟数量与路线图中的边缘数量的关系图。
图11B示出了最短路径搜索延迟与路线图中的边缘数量的关系图。
图12示出了硬件预算与表示的体积增加之间产生平衡的可视化。
具体实施方式
提供了用于自动驾驶车辆的专用机器人运动规划硬件。用于自动驾驶车辆的机器人运动规划硬件涉及风险感知机器人运动规划。除了用于自动驾驶车辆和其他机器人的运动规划的***和设备之外,还描述了一种可重新配置的处理器,其可以实现用于自动驾驶车辆和其他机器人的各种专用机器人运动规划硬件。可重新配置的处理器可以执行特定机器人和/或场景的运动规划,然后可对可重新配置的处理器进行重构以解决不同机器人和/或场景的运动规划。
如本文所用,“场景”是指一类环境,例如“其上具有物体的桌子”或“其上具有物体的书架”。场景包括障碍物数量及其位置、大小和形状的分布。场景还包括机器人起始姿势和具有各种机器人部件位置的目标姿势的分布。在任何特定时间,机器人需要为从一个场景中抽取的一个任务执行运动规划。例如,如果场景是“其上有物体的3英尺高的桌子”-给出了障碍物数量、障碍物位置、障碍物大小/形状以及机器人开始姿势和目标姿势的分布–预计机器人不需要具备将其臂移动到桌子下面的能力。作为另一个示例,在许多场景中,机器人不太可能需要能够将其臂移动到其自身后面。这种场景的先验知识可以节省资源(并给予更多硬件)来解决预期的运动规划问题。如果在给定环境中可能有多个场景,则可以使用一个合成场景,该合成场景实际上是可能场景的合并,或者当场景变化时可重新配置该机器人运动规划硬件。
如本文所用,“车辆”是指可以在地面上,在水上或水中,在天空中或其任何组合中行进的任何移动机器。地面车辆的示例包括火车、公共汽车、小汽车、卡车、摩托车和轻便摩托车。水上交通工具的示例包括潜水艇、船只和休闲船只。空中运载工具的示例包括无人机、飞机、直升机和四旋翼飞行器。只要车辆具有动力并且可以自主控制,地面车辆、水上交通工具和空中运载工具都被认为在“车辆”的范围内。自动驾驶车辆是“机器人”的特殊情况,因此根据应用本文所述的关于“机器人”的几个方面也可以实现在自动驾驶车辆上。应该理解,对“自动驾驶”的引用不需要完全自主并且可以包括半自动车辆。
如本文所用,“风险感知”是指包括在车辆或其他机器人的操作环境中的动态障碍物的未来轨迹的概率估计,这些动态障碍物的未来轨迹可能具有一些不确定性。
体素是障碍物的表示(并且可以是体素的集合)。在一些实施方式中,体素被定义为空间中的点(x,y,z),并且可选地t,其中x,y和z是定义空间中的点的坐标,t是隐式或显示地表示障碍物在那个空间中的时间的值。隐式时间是指反映时间的参数,但不必直接指示时间。隐式时间的一个例子是从起始点开始的跳数。显式时间是指直接指示时间的值-是否与实际时间相关联或表示为从开始时间开始的时间增量(例如,以秒为单位)。因此,静态障碍物是[0,H]中所有t的(x,y,z)点相同的障碍物。在一些情况下,一个或多个附加变量可以(与x,y,z和t值中的任何一个值或所有值一起)包括在体素中(或代替x,y,z和t 值中的任何一个值或所有值)。这些变量包括与机器人/车辆的状态和/或其环境有关的任何合适的信息。示例包括但不限于湿度、雨、坡度、速度、加速度、方位角和角度。
在一些实施方式中,障碍物可以由通过任何多边形(例如,三角形)制成的网格模型而不是体素来表示,其中三角形的每个顶点用其3D坐标系来描述。
所述专用机器人运动规划硬件可以完全在硬件电路,或存储在存储器且由硬件处理器执行的软件中,或硬件电路和存储在存储器的组合且由硬件处理器执行的软件中,执行碰撞检测和/或找到最短路径的运动规划操作。可以认为硬件和/或软件功能由“运动规划模块”体现。
如在背景技术中所提到的,运动规划是指用于识别机器人将经历的运动,以便从一个位置移动到另一个位置直到机器人达到期望位置的过程。对于由关节连接的一组刚体形成的铰接机器人,运动规划确定从一个姿势到另一个姿势的移动,直到达到目标姿势。对于可能具有或不具有多个维度和操作自由度的车辆,运动规划确定从一个位置或姿势到另一个位置或姿势的移动,其中确定的方式通铰接机器人类似,向所述铰接机器人分配更多或更少的位置以作为机器人配置空间的一部分。
例如,可以通过为其所有关节分配位置来描述铰接机器人的姿势。所有这些关节位置的空间称为机器人的配置空间,或称为“C空间”,表示为Q。Q中的(关节位置的)某些配置将导致与机器人环境中的障碍物或机器人自身碰撞;Q的剩余部分被称为“自由空间”。因此,可以认为机器人运动规划问题需要通过自由空间从一些启动配置qo到一组目标配置(G)中的任何配置g找到无碰撞路径。
图1示出了在一般静态环境中的运动规划问题的示例图示。参考图1,C空间(机器人的配置空间)100可以包括障碍物碰撞区域102,104和自由空间110。可以通过自由空间110 找到从起始配置122(q0)到在一组目标配置124(g∈G)内的配置中的路径120。
对于车辆实施例,除了可以形成障碍物碰撞区域102,104的静态障碍物之外,其它障碍物是相关的,特别是动态障碍物,动态障碍物包括表示在已知/某些轨迹中移动的物体(例如,一个落砖、一个滚动罐)和那些由有意识的生命体(例如,骑自行车的人、行人、鸟)控制的物体。在自动驾驶车辆的情况下,这些动态障碍物对运动规划提出了挑战,这些挑战涉及非常快得执行运动规划的能力和分析动态物体可以如何移动的不确定性。自动驾驶车辆周围的环境可以快速变化,车辆执行运动规划的能力必须跟上这些变化。
创建运动规划通常涉及四个组件:感知、规划图构建、碰撞检测和路径搜索。
感知组件涉及使用传感器和处理器的组合来产生环境模型。可以通过任何合适的计算机视觉和传感架构来执行感知。通常,环境模型可以被认为是占用网格的形式,占用网格是一种数据结构,这种数据结构表示空间的哪个区域在环境的离散视图中包含障碍物。
规划图构建组件涉及在机器人的配置空间中创建姿势图和运动图。在一些情况下,图中的每个节点完全定义特定姿势中的机器人的状态,并且每个边缘定义姿势之间的运动。在某些情况下,例如对自动驾驶车辆实施例有用的情况,规划图构建组件涉及与车辆行为相关的一组变量,这组变量与时间隐式或显示地组合。也就是说,在一个实施方式中,与铰接机器人实施例类似的参数(例如,空间坐标x,y和可选的z)以及隐式时间或显式时间可以定义节点。在其它实施方式中,可以包括角度θ、速度、加速度或其它有关参数来代替或补充一个或多个空间参数。离线(即,在实时运动规划之前)进行规划图构建。
碰撞检测组件涉及确定机器人的运动是否与其自身或环境碰撞。碰撞检测的一部分是离线执行的。该部分可包括预先计算的碰撞数据。作为规划图构建的一部分而生成的图在碰撞检测的离线部分期间被修改,从而产生规划图的输出。规划图可以是但不限于概率路线图 (PRM)、PRM*、快速探索随机树图(RRT),RRT*或网格。
路径搜索组件可以找遍规划图,检查规划图中是否有从起始位置到目标位置的一条路径,同时识别一条或多条最佳或理想的路径。
可以通过本文描述的技术加速规划图构建、碰撞检测和路径搜索,并且在一些实施例中,可以以可重新配置的方式实现规划图构建、碰撞检测和路径搜索。
图2示出了用于自动驾驶车辆的运动规划的实时***的示例。参考图2,***200包括传感器201、物体检测器202、物体***203、成本网格204和运动规划模块205。
传感器201可以是用于机器人的任何合适的传感器。传感器的示例包括光/照片(包括 IR)、声音(例如,基于反射的),化学、定向和位置(例如,全球定位***)。应当理解,由机器人捕获和分析的环境不一定仅是在机器人的当前位置和目标位置之间的直接路径中的环境。机器人可能仅在迂回路线中具有有效路径(并且该路径甚至可能不在目标姿势或状态的总视线中)。机器人可以包括或与任何各类传感器***通信,可以通过各类传感器***检测和分析环境。例如,机器人可以具有一个或多个能够(例如,通过红外线)接收红色、绿色、蓝色和深度信息的相机传感器。作为另一个示例,相机(或其他传感器)可以位于环境中的一个或多个位置,例如在环境中的墙壁、天花板、地面和/或物体上(例如在桌子、盒子等上) 和/或在太空中(例如,卫星、无人机)。从环境中的传感器捕获的环境信息可以经由有线或无线装置传输到机器人(和/或物体检测器202和/或物体***203)。
物体检测器202使用来自一个或多个传感器201的输入来确定物体信息。物体检测器202 可用于确定传感器数据中是否存在障碍物。物体检测器202可用于识别静态物体,同时还可以包括(通过硬件或软件)检测具有一定/可计算路径的运动物体(例如,掉下来的砖头)的功能。对于用到道路的车辆,物体检测器202可以是道路检测器,道路检测器识别道路上的已知静态障碍物的位置(且该静态障碍物可包括相对于道路图根据车辆的位置识别的物体)。
物体***203使用来自一个或多个传感器201的输入来识别动态物体,并为每个识别的物体输出未来轨迹随时间的概率分布。物体***203用于检测和跟踪具有不确定运动的障碍物。例如,物体***203可以从一个或多个传感器201的数据中识别出道路上存在另一辆汽车(所识别的动态物体)。物体***203相对于汽车的输出可以在一个或多个相关轨迹上的给定时间指示该动态物体在自动驾驶车辆前方突然转动的可能性为10%,而动态物体(由于,例如前方的停车标志)突然减速的可能性为90%。
可以认为传感器201、物体检测器202以及在一些情况下物体***203的各方面是运动规划的感知元件的一部分。
成本网格204(或“成本图”)包括可用于表示障碍物的数据结构。成本网格204可用于包含特别有关某些活动和/或位置的信息,还可用于识别环境中的特定物体。成本网格204的物体表示的格式可以包括体素的值、由三角形形成的网格模型,其中三角形的每个顶点用3D 坐标、概率占用网格或octomap来描述,3D坐标、概率占用网格或octomap作为一些示例。
在用于自动驾驶车辆的示例实施方式中,成本网格204可以根据车辆周围的特征生成成本图(“道路特定成本图”)。例如,对于汽车而言,可能更想要停在车道的中间,这是为了不驶入沿着相反方向行进的车流的车道中,还为了更少的变道而不是更多的变道等。另外,可以考虑例如曲率和坑洞之类的道路特征。因此,成本网格204将根据汽车周围的道路特征生成成本图,其类似于占用网格,但是每个体素携带成本修改器。举例来说,如果前方是直行道路,右侧是紧急车道,左侧是另一个方向的车道,那么网格中会有一块低成本(甚至负成本)的体素,右侧是一块成本较高的体素,左侧是一块成本非常高的体素。类似地,当道路弯曲时,则用于道路外的区域的成本修改器可表示为较高的成本,以尽可能地减少驶离道路的车辆数量。可以分配成本修改器以最小化变道。用于道路的成本网格204的每个体素可以包括x坐标和y坐标,但不需要时间作为值。体素可以包括例如速度之类的信息,以支持限速。当然,可以根据需要使用其它参数。
运动规划模块205从成本网格204接收与检测到的对象相对应的体素和分配成本,并从所识别的动态物体的物体***203输出的估计中采样轨迹,以生成车辆(这可通过自动驾驶车辆的合适硬件执行)或其他机器人的运动规划。
运动规划模块205包括硬件处理器和存储器。所采用的存储器类型可以是任何合适的存储介质,例如动态随机存取存储器、闪存、磁电存储器、磁阻存储器、基于光学的存储器等。
规划图存储在存储器中。如上所述,规划图可以是网格、PRM、PRM*或其他合适的图。运动规划模块205处的硬件处理器对在物体***203处输出的轨迹进行采样以调整成本/ 风险。换句话说,运动规划模块205沿着图的每个边缘调整碰撞的概率,这可包括成本和/ 或风险值,以解释样本轨迹。样本轨迹可映射到体素(或障碍物的其它表示)且可用于执行碰撞检测。因此,该运动规划硬件是风险感知运动规划硬件。
在示例中,运动规划模块205根据每个动态障碍物的未来轨迹的概率估计对轨迹进行采样,并且对每个样本执行碰撞检测。碰撞中的边缘可以增加其估计的碰撞概率。如果有200 个样本,则每个轨迹上的碰撞会使边缘的概率碰撞增加1/200。该值存储为规划图的边缘的一部分,并在执行最短路径算法期间使用(例如,可重新配置和硬件实现的最短路径模块,参见使用Bellman-Ford算法的描述)。这些值可以存储在与规划图的边缘相关联的运动规划模块205中。
在一些情况下,碰撞检测可涉及使用例如但不限于在2016年1月5日提交的PCT /US2016/012204,“Specialized Robot Motion Planning Hardware and Methods ofMaking and Using Same”中所述的方法,该专利的全部内容通过引用并入本文。
下文提供了一种由所述运动规划模块执行的示例过程。
运动规划模块205通过计算和评估规划图中的每个边缘的风险来生成运动图,该运动图平衡了与其他障碍物碰撞的风险和到达目标地点的效率。可能导致与确定物体(例如,那些静态障碍物)碰撞的存储在运动规划模块205处的规划图的边缘,可能存在被移除或被分配的风险。在自动驾驶车辆的许多实际应用中,边缘保持但被分配风险(可能是非常小/可忽略不计或非常大/最大的分配值)。分配给边缘的风险可以基于静态物体的预定义风险值(例如, 100%)。为了确保与不确定障碍物的碰撞的高概率,运动规划模块205可根据概率估计对轨迹的分布进行采样,同时计算与规划图中的每个边缘碰撞的概率。
在运动规划模块205对轨迹进行采样并且(基于分配给边缘的风险)确定边缘的碰撞概率之后,运动规划模块通过考虑成本和碰撞风险来确定到目标位置的最“短”路径。例如,到达目标地点的最快方法可以是快速超过笔直前行的骑自行车者,但是该路径可具有2%的可能性(例如,碰撞估计)撞倒骑自行车者,这个代价太高了(是一个不好/坏的决定)。其它路径选择可能包括绕着骑自行车者前进。作为另一个示例,即使撞上垃圾桶的可能性更大,但是撞上垃圾桶的成本要比撞上一只狗的成本小得多。因此,撞上垃圾桶的有效成本要比撞上狗的有效成本低很多。如果碰撞概率为100%,则有效成本最大。在另一个示例中-对于使用风险约束的情况,如果每条轨迹的碰撞概率需要小于5%,则可以执行搜索,该搜索可以找到最小的路径成本,其具有碰撞概率小于5%的约束力。相反,如果需要折衷风险与效率的成本函数,则运动规划模块可以使用这两个项计算修改的成本,然后运行最短路径算法。从运动规划模块205输出该路径并将该路径发送到机器人以使机器人相应移动。
通常,对于移动机器人,每条路径可能具有一些碰撞概率,否则车辆应保持静止。然而,对于车辆而言,保持静止通常不是合理的选择。例如,与之相反,大多数驾驶员可能会采用 0.1%的碰撞风险阈值,以作为适当充分的与效率平衡。机器人,或者在这种情况下,自动驾驶车辆、设计师可以选择特定的权衡。知道权衡的运动规划模块205可以计算最短路径。
通过平衡或至少考虑风险与效率,运动规划模块205提供风险意识的运动规划。在一个实施例中,考虑到在时间H处的一组期望目标位置(或者,对时间H处的位置的偏好),运动规划模块205可以包括:(a)基于可能的碰撞去除边缘,或者增加每个边缘的成本或风险;(b)根据道路布局移除或增加每个边缘的成本;和/或(c)使用最低成本和可能的风险约束计算规划。
在运行期间,成本和成本发生的概率将发生变化。因此,由运动规划模块205执行的运动规划本质上可以是迭代的。也就是说,重新规划可以包括制定规划,进行单个运动,然后再次重复运动规划过程的步骤。在这种情况下,在车辆原点处发展网格(或其他计划图)来保持一致性是非常有用的(并且由于车辆越来越靠近障碍物,因此规划的分辨率也可以降低)。
所描述的***200可以实现为车辆的一部分,该车辆包括车载计算机处理器和电的和/ 或机械连接的致动***,其可以对车辆***(例如,刹车、发动机、方向盘等)进行调节。可以包括存储***以及为各种组件供电的电源和/或连接件。传感器201可以是传感器***的一部分,通过该传感器***可以检测和分析环境。示例传感器***包括但不限于光学传感器、微波传感器、声学传感器和形式为摄像机的传感器、图像传感器、红外传感器、超声波收发器、麦克风、力传感器、电容传感器、加速度计、陀螺仪和温度传感器。传感器***可以包括用于对来自传感器的信号进行一些处理和/或对该传感器进行控制的硬件。传感器***可以包括车辆内的组件和远离车辆的部件。例如,在一些情况下,传感器***可以包括可以位于环境中的传感器,可以在车辆处或远离机器人的位置处分析传感器的输出并将该输出传送到机器人,以用于运动规划(在可以提供的其它应用中)。
车载计算机处理器可以与用于运动规划模块205的处理器或处理***和/或由物体检测器202和物体***203使用的处理器中的任何一个分开或相同。处理***可以包括一个或多个处理器,用于根据存储在车辆和/或运动规划模块205(和/或***200的其它组件)的存储***上的软件的指令来变换或操纵数据。处理***的处理器的示例包括通用中央处理器、专用处理器和逻辑设备、图形处理单元(GPU)、以及任何其它类型的处理设备,其组合或变体。处理***可以是或者包括在片上***(SoC)以及一个或多个其他组件中,例如网络连接组件、视频显示组件等。此外,运动规划模块205的各方面,包括碰撞检测和/或最短路径确定,可以用硬件实现(该硬件可以支持可重新配置性)。
存储***包括物理存储设备形式的存储介质。术语“存储介质”不应被定义为暂时或传播信号。车辆的存储***可以包括能够与处理***通信的附加元件,例如控制器。
简单的(即,不包括风险意识的)或具有风险意识的运动规划模块可被重构,以用于各类机器人和运动规划应用,或者可以是针对机器人和场景的。
可以理解的是,运动规划模块的碰撞检测单元的生成方法如下:使用机器人描述(例如,机器人的碰撞几何结构、机器人的每个关节的自由度和机器人的关节限制)和场景描述生成 PRM(或其它规划图);然后识别PRM中会与障碍物(已知的障碍物和机器人本身的部件) 的每个部件碰撞的所有可能的边缘。对于硬连线解决方案,可以生成逻辑电路,例如每个边缘的OR电路,其中OR为边缘可与之碰撞的障碍物的部件的表示。对于可重新配置的解决方案,逻辑电路可以在可重新配置的架构(例如,FPGA)中实现,或者存储为由运动规划模块的硬件处理器应用的软件表示。或者,边缘的列表可存储在运动规划模块的硬件处理器中或由运动规划模块的硬件处理器搜索到。
一旦硬连线或存储在运动规划模块中,机器人就可以使用运动规划模块来执行实时运动规划。
图3示出了根据本发明某些实施例的运动规划模块的示例架构。参考图3,运动规划模块300可以包括碰撞检测模块310和最短路径模块320。碰撞检测模块310或最短路径模块 320中的一个或两个可以是可重新配置的。
运动规划模块300的一些实现可以使用基于软件的最短路径算法而无需使用最短路径加速的硬件架构。编程阶段允许用户针对感兴趣的问题配置和重新配置设备。将用于特定机器人和所涉及的规划图的预先计算的碰撞数据发送到芯片的运动规划模块300(虚线箭头指示在编程阶段期间发生的通信,而实线指示在运行期间发生的通信。
当最短路径模块320用硬件实现时,规划图的拓扑也被映射到硬件单元的可重新配置的结构上,以能够快速确定最短路径。映射步骤涉及使用其逻辑邻居的地址和边缘权重来编程每个物理节点。这允许架构可重新配置为不同的规划图拓扑。
有利地,如本文所述的最短路径硬件可以用于除运动规划之外的应用中。因此,设想最短路径模块可以应用于其它应用。
返回图3,在运行时阶段期间,主机(例如,机器人***)将感知数据发送到运动规划模块300。感知数据是当前环境中存在体素的流。碰撞检测模块310计算哪些运动是安全的并且在完成计算时将结果发送到最短路径模块320(没有进一步的主机-设备通信)。碰撞检测模块310通过消除碰撞中的边缘来相应地修改规划图。然后,最短路径模块320运行并将路径P返回给主机。
用户可以存储与不同机器人/规划图组合相关的各种配置文件。在切换到新组合时,通过例如将预先计算的碰撞数据提供给碰撞检测模块310的可重新配置实现为设备重新编程,并且可选地规划图形数据和逻辑/物理节点实现为设备重新编程,其中逻辑/物理节点映射到最短路径模块320的可重新配置。
碰撞检测模块310可包括硬件处理器;存储器;存储在存储器中的预先计算的碰撞数据,使得在运动规划期间,当接收到感知数据时,硬件处理器将感知数据与存储在存储器中的预先计算的碰撞数据进行比较以确定碰撞。
最短路径模块320可以包括实现最短路径算法的并行硬件单元(参见例如图7中所示的示例);和将逻辑拓扑映射到并行硬件单元的物理拓扑上以识别逻辑邻居的电路(参见例如图 8和9)。对于运动规划,最短路径模块320接收所确定的碰撞以输出规划。
操作可重新配置的运动规划模块的示例方法可以包括:执行第一编程阶段以针对特定机器人和特定场景对模块进行编程,使用编程的运动规划模块执行运动规划,然后通过执行第二编程阶段以针对新的特定机器人和/或新的特定场景对模块进行编程来重新配置运动规划模块。然后重新配置的模块可用于运动规划。
用于机器人运动规划加速的示例可重新配置的架构
该架构可以应用于自动驾驶车辆或任何普通机器人的实施例。应当注意,虽然具体描述了PRM或路线图,但是可以使用其它规划图。碰撞检测工作流涉及四个阶段。首先,在编程阶段建立具有足够鲁棒性的PRM。接下来,PRM在离散的环境视图中进行彻底的碰撞检查。在运动规划模块的编程阶段期间,预计算数据被发送到碰撞检测模块(例如,碰撞检测模块310)并以易于访问的方式存储。在实时期间,碰撞检测模块在障碍物信息中流动并标记处于碰撞中的边缘。上文描述了一般架构并且图3中示出了该一般架构。
PRM建在一个不包含可变障碍物的空间中。可以通过包括例如墙壁或桌子之类的固定对象来利用有关场景的任何先验知识,否则PRM构造发生在无障碍物环境中。PRM足够大,可以抵抗预期的障碍物。该架构与PRM的构建方式无关。在该实施例中,针对从感兴趣的场景的参数化表示随机生成的数千个样本环境测试了一个大图(大约数十万个边缘)。保留有用的和关键的边缘,去除在解决方案中不经常使用的边缘。在每个步骤重复该启发式过程若干次以确保PRM保持高成功率并且不会遭受路径质量降级。虽然这比为单个环境构建PRM 更耗时,但此步骤只需执行一次。
在预编程阶段期间可以执行一定量的碰撞检测。可以在此阶段执行几何测试,以节省运行时间。以下示例说明使用体素来表示障碍物的碰撞检测。应当理解,可以使用其它障碍物表示。可以将环境离散化为体素的3D区域。然后,预先计算PRM中的每个运动的扫描体积与离散空间中的体素之间的所有可能的碰撞。
在该步骤之后,每个运动具有与其碰撞的相应的一组体素。感知***现在仅需要产生占用网格(例如,自动驾驶车辆实施例中的成本网格),成本网格表示离散化环境中的哪些空间区域被障碍物占据,随后对于每个运动,检查是否有任何障碍物体素存在于它的一组碰撞体素中。对于发生这种情况的所有运动,必须暂时从PRM中移除相应的边缘,直到环境发生变化。应当注意,预先计算的碰撞数据和PRM特定于给定的机器人和用例。如果机器人发生变化或者场景发生剧烈变化,则必须重新计算PRM,同时重新计算碰撞数据。这些结构将存储在配置文件中。可以存储与不同机器人/规划图组合相关的各种配置文件。在切换到新组合后,可以重新编程设备。在针对相同用例的查询之间(例如,如果仅障碍物或目标改变位置),则不需要重新编程。软复位恢复标记为冲突的边缘,下一个查询可以立即开始。即使环境可能有一些变化,同样的场景也不需要重新编程。
一旦逻辑上创建了上述体素集,就可以创建可以在运行时快速查询集的架构。作为可重新配置性特征的一部分,在编程阶段,用户将规划图(例如,PRM)和预先计算的碰撞数据发送到碰撞检测模块310。将PRM中的每个运动分配给基本上为产品的“模板”和的边缘模块。各个边缘模块而不是硬编码逻辑功能包含存储机制(例如,锁存器、电容器、磁隧道结器件等)以能够检查任何体素集。为了实现并行性并使碰撞检查延迟与边缘数量无关,存在大量这些可编程的边缘模块,每个可编程的边缘模块用于PRM中的每个运动。
在该编程阶段期间,每个运动与之碰撞的每个体素被发送到运动规划模块硬件,并且体素被存储在适当的边缘模块中。
图4示出了用于单个运动的示例可重新配置的碰撞检测架构。该架构实现单个边缘。参考图4,用于单个运动的可重新配置的检测架构400包括控制逻辑410,存储机构(421-1,... 421-n)的并行“边缘模块”和比较器(422-1,...422-n)和NOR逻辑门430,以对并行线的输出进行或(OR)运算并输出碰撞结果。
尽管锁存器被示出为用于各个边缘模块的存储机构,但是如上所述,可以使用任何合适的存储机构。
在运行时阶段期间,碰撞检测器模块(例如,使用图4的边缘模块实现的碰撞检测模块 310)以体素ID流式传输并将它们分发到所有单独的边缘模块。每个边缘模块将该体素ID 与其所有存储的数据进行比较,如果两者匹配则输出true,这意味着特定边缘处于碰撞中。碰撞检测器模块聚合来自边缘模块的结果,并输出表示碰撞的当前编程的PRM中的运动的位向量。
由于可重新配置性,可能会出现一些挑战。每个运动与不同体积的空间碰撞,因此与不同数量的体素碰撞。当实现可编程电路时,这可能是一个问题,因为必须使模块足够大以容纳各种尺寸的边缘。通过基于与它们碰撞的体素的数量创建可变大小的可编程碰撞检测电路,可以实现硬件效率。然后,编程阶段涉及一种策略,该策略基于与它们碰撞的体素的数量将 PRM中的边缘映射到适当的碰撞检测电路。
可能出现的另一个挑战是需要大量硬件。两个主要因素导致这种可重新配置策略需要比硬编码设计更多的硬件资源。存储碰撞数据(并实现可重新配置性)所需的状态非常重要。如果运动与1,000个体素碰撞,并且每个体素用15位表示,那么该单个边缘消耗15,000位状态,即使使用简单的锁存器作为存储机制,这也是非常昂贵的。第二个因素是无法使用逻辑最小化器来减小电路的大小,这可以在使用硬编码逻辑表达式时完成。在单个边缘内和具有重叠扫描体积的边缘之间的表达式中存在大量冗余。如果构建专用电路,可以利用这种冗余来大幅降低逻辑表达式的复杂性并减少其实现所需的硬件资源。即使冗余仍然存在,在可重新配置的情况下也会丢失这些节省。
体素锁存策略允许体素的任意组合以形成边缘的扫描体积。在实践中,扫描体积的体素连接并形成连续体积。在扫描体积的描述中存在顺序的事实意味着应该存在压缩数据的方法。显式存储包括在扫描体积中的每个单独体素的表示的替代方案可以是存储存在的连续体素的表示。矩形棱镜(为方便起见,称为“框”)可以仅用框的一对相对角的坐标来表示。这可以实现大量节省,因为存储框所需的状态等同于存储两个体素所需的状态。每个框必须只覆盖两个以上的原始体素以减少状态。
为了使用基于框的表示而不是单独的体素,必须找到包括所有原始体素的框集合。这可以被认为类似于集合覆盖优化问题。在集合覆盖问题中,有一组称为“全集”的元素和全集子集的集合。问题的优化版本涉及找到其联合等于全集的最小子集数。在这个应用中,扫描体积是全集,并且子集的集合包括所有可能的矩形棱镜,矩形棱镜与这个扫描体积重叠。为了减少设计所需的状态,必须找到覆盖扫描体积所需的最小数量的框。集合覆盖优化问题是 NP困难问题,所以必须计算近似解。首先,选择一个框,该框覆盖扫描体积离散化版本中最大数量的体素,其不包括任何外来体素。从全集中移除覆盖的体素(覆盖的体素在后续迭代中变得“不在意”,因为框可以重叠),然后递归,直到覆盖原始集合中的所有体素为止。作为实验实施例,这个策略是在一个有50,000个边缘的PRM上实现的。结果发现,对于15 位分辨率,每个扫描体积与平均2,000个体素碰撞。这个版本的集合覆盖问题的近似解决方案需要平均127个框来完全覆盖扫描体积(不包括额外的体积)。
有趣的是,如果放宽完美的覆盖要求,并且框表示可以包括原始扫描体积中不存在的一些体素,则所需的框数量可以显著减少。现在问题有多个轴需要考虑。作为一个硬约束,至少必须覆盖原始扫描体积。在该约束下,在平衡所包括的额外体素的数量的同时实现该覆盖所需的框的数量都被最小化。对算法实施另一步以结合该优化。在上述集合覆盖之后,结果通过一系列合并运行。在每次迭代时,算法选择两个框,当两个框合并时,这两个框导致最小的额外体积添加到集合中。下面将更详细地讨论该算法的功效。只有当检查框中的成员资格的硬件足够简单以证明这种改变时,才能存储框的表示而不是单个体素。逻辑上,检查体素是否在由6个比对组成的框内。如果最接近原点的框的顶点是(x1;y1;z1)并且距离原点最远的框的顶点是(x2;y2;z2),则检查体素是否位于(vx;vy;vz))在框内并且检查以下不等式是否成立:
x1≤vx≤x2;y1≤vy≤y2;z1≤vz≤z2
该任务可以在一个周期内完成,其中六个比较器并联,或者可以多路复用较少的比较器以使用较少的区域。
图5示出了使用框而不是体素的策略的示例性碰撞检测架构。本文示出了单个框。参考图5,可重新配置的检测架构500可以包括控制逻辑510,存储机制的并行模块(521-1,..., 521-n)和比较器(522-1,...,522-n)的并行模块,以及AND逻辑门530,以与(AND)计算并行模块的输出,并输出碰撞结果。与图4所示的示例一样,框策略方法可以使用任何合适的存储机制(尽管图中示出了锁存器)。
每个动作的模块是许多这种框的逻辑OR。在图5中,可以看出使用框而不是体素让设计变得更加简洁。在编程期间,对角的坐标被锁定。在运行时,将进入的体素与表示框的角的保存值进行比较,以查看体素是否落入框内(例如,将进入的体素与保存的值进行比较,并且结果为ANDed)。
图6A-6D示出了PRM中单个运动的扫描体积的表示如何随表示策略而变化。图6A示出了实际的扫描体积。图6B包括用于运动的所有单独体素。如果专门为该扫描体积构造硬编码电路,则运动消耗大约10,000个晶体管。如果设计如上所述明确表示每个体素的可编程电路,则需要超过660,000个晶体管,增加超过65倍。图6C示出了使用87个框而不是单个体素描述的相同扫描体积。该策略的必要结构消耗不到200,000个晶体管。这导致硬编码电路的增加不到4倍。
边缘模块的聚合结果的输出可用于分配成本或从PRM移除边缘。一旦完成碰撞检测(以及移除或分配PRM边缘的成本),就在PRM上执行图搜索以确定连接并构建路径。虽然图搜索不是传统运动规划算法的瓶颈,但如果碰撞检测加速,它可能称为限制因素。设计可编程架构以加速图形处理的一个挑战是实现可以处理任何预期图形拓扑但仍具有合理资源要求的设计。有利地,提前静态构造所描述的PRM,这可以保证某些特性,例如其最大程度、最大边缘权重和最大路径成本。与允许任意图形相比,能够限制这些数量使得能够设计紧凑得多和有效得多的存储结构和数据路径。在所示的示例中,数据流架构被设计为执行Bellman-Ford算法。然而,可以修改其它最短路径算法以体现在硬件中,其中电路包括支持以识别尽管不是物理邻居的逻辑邻居。
图7示出了根据示例实现的BellmanFord计算单元的基本微架构布局。总体架构涉及节点阵列,该节点阵列由Bellman-Ford计算单元(BFCU)形成并且通过低成本互连网络连接,其中低成本互连网络用于实现可重新配置拓扑。图8示出了用于示例实现的片上网络的示例路由器微体系结构;图9示出了互连网络的平面图。路径搜索架构的操作分为三个阶段。预处理阶段涉及创建从逻辑图到物理硬件资源的映射。编程阶段使用手头关于图的必要信息配置架构的数据结构。在运行阶段,分布式Bellman-Ford算法运行以计算最短路径。
Bellman-Ford算法是单源短路径算法。首先,除源之外的所有节点都被初始化为无穷大的成本。在每次迭代中,每个节点通过将邻居的当前成本添加到邻居的边缘权重来检查每个邻居,以获得更好的最短路径。该算法通常以分布式方式用于实现路由信息协议,不同之处在于传送整个路由表,而不仅仅传送邻居成本。
需要一种实现Bellman-Ford算法的数据流架构以避免昂贵的存储器访问。针对特定图 (或网格,在自动驾驶车辆环境中),这种架构设计简单,但是其复杂性随着可编程的需要而不断加深。
图中的每个逻辑节点静态地分配给运动规划硬件模块上的物理BFCU。在编程阶段, BFCU中的若干表被填充。节点的逻辑邻居的每个的物理地址存储在表中。这些邻居中的每一个的边缘权重存储在另一个表中。这些表只能填充一次,并且可以重复使用,直到切换到不同的图。
每个BFCU还有一个寄存器,该寄存器将当前最佳成本存储到目的地(在此应用中,Bellman-Ford被视为单个目的地而非单个源算法)。这些寄存器都被初始化为表示无穷大的最大值。为了开始最短路径搜索,将目标节点映射到的BFCU更新为零成本。然后,目标节点在其邻居表上进行迭代,并向每个邻居发送一条消息,其成本(零)被添加到该邻居的边缘权重。当邻居收到此消息时,它会将此新成本与当前成本进行比较。如果新成本低于其当前成本,则会发生一些事情。首先,节点更新其最佳寄存器以及其下一跳跃指针。其次,它在自己的邻居表上开始迭代以查找其邻居的物理地址,并向每个邻居发送一条消息,并将其成本添加到该邻居的边缘权重。
决定发送后添加的值而不是先添加的值看起来是偶然的,但其实是至关重要的。接收后添加的值允许节点评估是在单个周期中处理消息还是丢弃消息,而不是等待一个周期来访问具有邻居权重的表,进行添加,然后进行比较(这将需要额外的状态以存储在表格查找期间到达的消息)。即使处理新的最佳成本并在邻居表上迭代需要几个周期,但每个BFCU可以在每个周期保持一条消息的量。如果在收到新的成本更新消息时,BFCU正在遍历表格以发送更新,则会出现两种可能性。如果新成本得到改进,那么此表格中的尚未发送的消息是陈旧的,因此可以中止迭代并且用该新成本重新开始迭代。如果新成本未得到改进,则消息被丢弃。在每个周期中不间断地处理消息的能力消除了对计算节点中输入缓冲区的需求,并且意味着并且网络可以指望能够在每个时钟周期弹出每个节点的消息,这对于互连网络来说非常重要。
除了成本更新消息之外,BFCU还处理另外两种类型的消息。如果BFCU收到下一个跳跃查询,它会以相邻的地址作为响应,从而获得最佳成本。这类消息允许提取路径本身。BFCU 还可以接收最佳成本查询,并以其最佳成本寄存器的当前值进行响应。
尽管BFCU的行为很简单,但必须做出若干设计选择以保持BFCU的大小足够小以使架构可以扩展到大的图形尺寸。例如,如果允许每个节点具有无限数量的逻辑邻居,则邻居地址表将需要很大。该策略涉及预先计算规划图,因此可以保证每个节点最多有四个邻居,而不会影响规划图的质量。如果有必要,可以通过将具有太多邻居的节点逻辑分割为与零的边缘权重连接的多个节点来克服此限制。必须以最大路径和边缘成本进行类似的决策。
分布式Bellman-Ford算法经常实现了水平分割广告策略,以允许网络更有效地处理失败的链路。在当前的架构中,在图形搜索开始之前传达碰撞(在规划图中有效地失败的链路),从而消除了为此保持水平分割的需要。将更昂贵的路由公告回节点的下一跳仍然不必要地占用网络带宽。但是,模拟显示这些冗余消息对性能的影响可忽略不计(路径搜索完成时间增加不到1%)。通过不实施水平分割来降低复杂性。
这些决定都有助于保持每个BFCU的面积足迹足够小。每个节点需要大约6,000个晶体管。其中,70%的晶体管由可编程状态组成,其余为组合逻辑。这种适度的大小使得实现解决具有挑战性的问题所需的计算节点数量成为可能。
为了实现Bellman-Ford实施,每个BFCU都需要能够与其逻辑邻居进行通信。但是,由于设计必须是可重新配置的,因此该通信必须通过网络进行,以便大量物理BFCU可以模拟所需图形拓扑的行为。网络使BFCU能够抽象出通信问题并表现得好像它实际连接到其逻辑邻居,即使它们可能在物理上不相邻。
该网络在空间和功率方面也必须是高效的,因为有用的设计将具有数千个节点。提出的微体系结构强调简单性是一种能够扩展到大型网络规模的第一类约束。简化或优化网络可以通过多种方式实现。首先是因为BFCU间的消息非常小,所以每条消息都可以组成单个飘动。由于每条消息都是一个飘动,因此多个飘动很少紧接着传播。这样可以在每个端口只使用一个缓冲区条目来维护性能,因为不需要覆盖信用返回延迟。路由器的每个输出方向都有一个相关的信用。信用从1开始并且在该方向上发送消息时递减。一旦该消息腾出邻居中的缓冲器条目,信用就直接从邻近路由器返回带外。实现此单个缓冲区输入方案可将面积减少40%。
在进一步检查时,中间转向缓冲器似乎也未充分利用。它没有通过释放东/西方向的资源来帮助提高量,而是在没有任何好处的情况下引入转向惩罚。完全卸下转向缓冲器时性能几乎没有变化。部分是因为分布式Bellman-Ford算法产生的流量较低,并且因为BFCU可以在每个周期服务一条消息,所以消息很少在等待弹出的输入缓冲区中停止(只当两条消息同时到达同一节点)。通过直接将东和西输入缓冲区连接到北/南/弹出多路复用器,这种优化使路由器的尺寸进一步减小。
此外,我们的分布式Bellman Ford算法的属性避免实现任何饥饿避免协议,这通常是此路由器所需要的。因为此网络中的新消息仅在算法处理时生成(当收到更高的成本时),在算法上保证网络中任何位置的停顿最终导致网络的其余部分静止。静止释放了消息继续所需的任何资源。模拟显示这些停顿极为罕见。图8所示的路由器架构设计消耗了7,500个晶体管。其中大约65%的晶体管是四个单入口输入缓冲器,它显示了降低每个单独路由器的缓冲需求的重要性。
所提出的可重新配置的网络的设计的一个目标是能够通过各种网络实现良好性能。为了实现这一点,必须将逻辑规划图配置智能映射到物理BFCU。为最小化通信延迟,逻辑邻居理想地映射到物理上相邻的BFCU,但由于规划图的拓扑结构,这并不总是可行的。BFCU 的物理网络是2D网格,而逻辑规划图不可能是平面的,因为它是在机器人的高维配置空间中创建的。
在预处理阶段期间,使用模拟退火方法来获得解决该映射问题的可接受解决方案。模拟退火是寻找复杂状态空间的最优的经典技术。首先,将逻辑节点随机分配到物理网格上的位置。***初始化时具有一定的“温度”和冷却速率。在每次迭代时,***尝试转换为邻居状态。通过随机选择节点(节点A)生成邻居状态。选择节点A的逻辑邻居中的一个(节点B),并且在节点B的邻近区域中随机选择物理位置。通过交换节点A以及当前映射到该位置的任何逻辑节点来构造邻居状态。如果这种新状态降低***的能量(在本申请中,定义为逻辑邻居之间的平均物理距离),则接受该新状态。如果这种新状态增加***能量,则接受该新状态的概率取决于***的当前温度。温度越高,***越可能接受更高能量的邻居状态。接受更高的能量状态允许算法突破局部最小值。每次迭代,温度在冷却速率下呈指数下降。
最短路径架构和碰撞检测架构之间的接口出现在互连网络上的点处。这些点可以称为“控制节点”。图9示出了位于互连网络周边的控制节点。碰撞检测模块向控制节点发送表示哪些运动(图形边缘)在碰撞中的位向量。对于碰撞中的每个运动,控制节点将消息发送到分配给边缘任一侧的节点的BFCU,以指示BFCU不应将该边缘用于下一个查询。控制节点还负责在完成时收集路径本身。为此,设置参数(在编程阶段期间)以指导控制节点如何评估最短路径搜索的状态。这些状态包括在开始探测源节点的最佳成本之前要等待的周期数,以及指示完成的条件。这些条件可以通过静态分析来确定,这将在下面更详细地讨论。控制节点的大小由保持边缘ID映射到所涉及配置的物理地址所需的存储支配。该映射使控制节点能够将碰撞检测结果转发到网络上的适当位置。如果实现128 x 128网格,则每个控制节点消耗近190,000个晶体管,几乎所有晶体管都是映射表。
对于这个示例实现,由于取放任务在机器人中无处不在,因此对该放取任务进行了评估。针对由Kinova制造的六自由度Jaco II机械臂产生各种尺寸的PRM。在由随机放置和大小随机的障碍物和不同的源/目的地对组成的采样环境进行实验。测试了解决从4,000到256,000 个边缘的PRM问题的***的行为,但是区域和时间数字将集中在128×128个实现,解决 16,000个节点,32,000个边缘PRM的问题。这个尺寸足以解决机器人领域的挑战性问题。
Synopsys工具链和NanGate 15nm Open Cell Library用于合成设计并获得性能、面积和功率估计。以下数字适用于具有16,384个节点(128 x 128)的实现。区域以晶体管数量给出,其应该与技术节点无关,但是延迟和功率估计取决于这种积极的特征尺寸。
由于碰撞检测架构与所使用的规划图中的边缘是完全平行的,因此其延迟仅取决于碰撞检测架构必须处理的障碍物体素的数量。对于在该实验中采样的随机取放环境,平均存在750 个障碍物体素,其意味着碰撞检查平均需要750个周期,因为每个体素仅需要单个周期来处理。
为了测试所提出的最短路径架构的有效性,为互连网络和相关的BFCU编写了周期精确的模拟器。虽然Verilog用于设计,RTL模拟器用于测试较小实现的功能正确性,但在RTL 模拟器中运行数千个16,384节点实现的时间实验是有时间限制。模拟器在开发微体系结构的同时快速探索设计空间,并有效地分析最终结果。
对于16,000个节点图,平均完成时间为360个周期。除了图搜索的速度之外,必须评估的设计的一个方面是检测搜索完成的方法。图10示出了在5,000个采样环境中模拟的两种尺寸的路线图在不同时间完成的概率。数据的静态分析用于选择参数并在编程阶段配置路径提取模块以识别完成。对于16,000个节点图,策略在99%的时间内正确地识别完成。这平均发生于270额外的周期之前。
这种方法是可以接受的,因为虽然不能严格保证在检索路径时路径搜索已经完成运行,但它永远不会返回无效路径,只是次优路径。如果参数选择得当,应该很少出现这种情况,但是如果这不是适当的应用程序,则保证算法以由图中的节点数量限定的速率静止,且可以使用更加保守的参数设置。
将高精度的完整路径搜索和检测完成的时间相加得到平均630个周期。然而,如在硬件设计中常见的那样,移动数据需要花费与计算一样多的时间。存在950个周期的额外开销以将碰撞传送到BFCU并实际提取路径。包括执行碰撞检测的时间,总平均延迟是从障碍物体素到达到路径已经准备输出的这段时间的2330个周期。Synopsys的合成表明该设计可以很容易地以1GHz记时,这转换为2.3微秒的延迟。这种延迟比传统的基于采样的规划器快5 个数量级,并且比之前提出的加速器快了两个数量级。
16,384个节点设计总共消耗约23亿个晶体管。即使使用简化的框表示,大部分空间也被碰撞检测模块给占用了。下一个最大的组件是网络节点,其受四个单入缓存器控制。Synopsys估计设计的功耗为35瓦。与区域数量类似,功耗大部分来自碰撞检测模块,剩余的则来自网络。
图11A示出了碰撞检查延迟与路线图中的边缘数量的关系图。图11B显示了最短路径搜索延迟与路线图中的边缘数量的关系图。考虑性能是如何相对于问题大小扩展也是重要的。图11A示出了执行碰撞检测的时间与PRM中的边缘数量无关,因为每个边缘都有专用硬件。 16,384节点实现可以处理多达32,768个边缘,但设计可以轻松扩展到更大的实现。通过示出在CPU和GPU上实现相同的预计算的策略,与专用硬件相比,图11A还有助于说明有多少益处是来自积极的预先计算。CPU版本是一个高度优化的C程序,其在具有8GB的RAM 的4核Haswell i7上运行,并且配备了OpenMP指令以利用所有硬件线程。GPU版本是在TeslaK80上运的调整好的CURA内核。与在运行时运行基于传统采样的计划程序相比,这两种策略的速度大约提高了10倍,但仍然比建议的解决方案慢得多。
图11B示出了所提出的可重新配置的Bellman-Ford基于硬件的最短路径算法的定标行为,并且示出了对这种定制硬件解决方案的需求。每个节点配备有专用硬件,这允许性能通过图表与平均跳跃数线性地成比例。通过提出的定制硬件解决方案,示出了最短路径搜索在 CPU和GPU上的性能。CPU是四核Haswell i7,其Klampt中运行最短路径实现,Klampt是一个经过优化的机器人软件包。GPU使用特斯拉K80上的nvGraph图形分析API运行最短路径。因为所提出的架构涉及将最短路径与碰撞检测紧密耦合,而GPU涉及通过PCI-e 进行通信,所以任一实现都没有包括数据移动开销以使得公平(因此该图严格涉及计算时间)。即便如此,GPU的计算时间实际上比CPU针对小的图像大小所花费的计算时间要慢,跨越大约32,000个边缘,并且比本文提出的建议解决方案保持慢几个数量级。这表明,为了使最短路径的延迟与加速碰撞检测的数量相同级,需要定制硬件解决方案。
以下是必须评估的执行碰撞检测的框化策略的几个方面。第一方面是在追求降低硬件成本的情况下大力减少扫描体积表示中的框数量的技术。使用上述用于框化碰撞检测的算法,在50,000边缘路线图上扫描参数空间以评估硬件预算与表示的体积增加之间的平衡。
图12示出了硬件预算与表示的体积增加之间的平衡的可视化。精确表示原始体素化体积的平均框数为127。然而,使用上述算法,框的预算只有64,每个表示的平均体积仅增加11%。特别要注意的是,这种优化是安全的,因为体积只是被添加,而永远不会被移除,因此碰撞运动永远不会被错误地标记为可用。考虑到每个框表示的大小等于两个体素,很明显与用体素来表示体积相比,用框表示体积的效率要大得多。另一个问题是这种更粗略的表示多久会降低架构查找最佳路径的能力。使用单个体素表示和允许体积增加10%的框化策略,针对 5,000个采样拾放环境测试了50,000个边缘PRM。允许体积增加10%导致故障率仅增加 0.13%。在剩余的路径中,平均路径长度增加了0.59%。与使用框的完美覆盖相比,硬件成本降低了50%,抵消了这一小的惩罚。这些结果表明,利用框表示进行碰撞检测的策略有效地减少了所需的硬件资源,并保持了路径质量。
Claims (23)
1.一种用于自动驾驶车辆的运动规划的***,其特征在于,所述***包括:
多个传感器;
多个检测器,其与所述多个传感器电通信;以及
一运动规划模块,其与所述多个检测器电通信,还与自动驾驶车辆的一计算***电通信,
其中所述运动规划模块存储一规划图,所述规划图包括多个由边缘连接的节点,其中每个节点隐式地或明确地表示时间和变量,所述时间和变量定义所述自动驾驶车辆的一状态和/或一操作环境,且所述运动规划模块从所述多个检测器接收感知数据,根据每个动态障碍物的未来轨迹的概率估计对轨迹进行采样以获得样本轨迹,对每个样本执行碰撞检测,调整沿着所述规划图中的每个边缘的碰撞概率的相应表示以解释所述样本轨迹,其中所述边缘导致与所述感知数据中的障碍物碰撞,以及确定一条考虑到成本和碰撞概率的路径,并将所述路径输出至所述计算***。
2.根据权利要求1所述的***,其特征在于,所述多个检测器包括一物体***,所述物体***识别所述环境中的动态物体并输出所述动态物体的未来轨迹的概率分布,以供所述运动规划模块采样。
3.根据权利要求1所述的***,其特征在于,所述多个检测器包括一物体检测器,所述物体检测器生成感知数据,所述感知数据包括表示环境中的识别物体的障碍物的表示。
4.根据权利要求1所述的***,其特征在于,所述运动规划模块包括硬件处理器、存储器和多个碰撞检测单元,每个碰撞检测单元表示所述规划图的边缘中的相应一个边缘。
5.根据权利要求1所述的***,其特征在于,所述运动规划模块包括一可重新配置的架构。
6.根据权利要求1至3中任一项所述的***,其特征在于,所述运动规划模块包括:
一硬件处理器;
一存储器,其中所述规划图存储在所述存储器中;以及
存储在所述存储器中的预先计算的碰撞数据,使得在运行期间,当接收到感知数据时,所述硬件处理器将所述感知数据与存储在所述存储器中的预先计算的碰撞数据进行比较以确定碰撞。
7.根据权利要求6所述的***,其特征在于,利用新的自动驾驶车辆或新场景的新预先计算的碰撞数据来更新所述预先计算的碰撞数据。
8.一种运动规划设备,其特征在于,包括:
一硬件处理器;
存储器;和
存储在所述存储器中的一规划图,所述规划图包括多个由边缘连接的节点,其中每个节点隐式地或明确地表示时间和变量,所述时间和变量定义一自动驾驶车辆的一状态和/或一操作环境,其中所述硬件处理器接收表示环境中的识别的物体的障碍物的表示,并采样表示所述环境中的识别的动态物体的障碍物的轨迹以获得样本轨迹,对每个样本执行碰撞检测;沿着所述规划图中的每个边缘调整碰撞概率相应表示以解释所述样本轨迹,其中所述边缘导致与所述障碍物的表示碰撞;以及确定一条考虑到成本和碰撞概率的路径。
9.根据权利要求8所述的运动规划设备,其特征在于,所述规划图包括与所述边缘相关联地存储的至少一个通道。
10.根据权利要求9所述的运动规划设备,其特征在于,所述至少一个通道包括成本。
11.根据权利要求9或10所述的运动规划设备,其特征在于,所述至少一个通道包括风险。
12.根据权利要求8所述的运动规划设备,其特征在于,还包括多个碰撞检测单元,其中每个检测单元识别所述障碍物与所述规划图的边缘中的相应一个边缘之间的碰撞。
13.一种为自动驾驶车辆执行运动规划的方法,其特征在于,包括:
接收表示环境中的识别的物体的障碍物的表示;
采样所述环境中的识别的动态物体的障碍物的轨迹以获得样本轨迹,对每个样本执行碰撞检测;
对于导致与障碍物的表示碰撞的一规划图中的每个边缘,基于所述样本轨迹调整相应的成本值以解释碰撞概率,其中所述规划图包括多个由边缘连接的节点,其中每个节点隐式地或明确地表示时间和变量,所述时间和变量定义所述自动驾驶车辆的状态和/或操作环境;以及确定一条考虑成本和/或风险的路径。
14.根据权利要求13所述的方法,其特征在于,还包括:
接收分配的成本值;以及
对于导致与障碍物的表示碰撞的所述规划图中的每个边缘,调整所述边缘的相应成本值以解释所分配的成本值。
15.根据权利要求14所述的方法,其特征在于,确定所述路径包括:确定所识别的动态物体的碰撞概率与所识别的物体的碰撞的分配的成本值之间的一有效成本。
16.根据权利要求14所述的方法,其特征在于,确定所述路径包括:使用所述碰撞的分配的成本值计算运动规划,所述路径识别具有最低成本的路径,所述最低成本受到关于所述路径的碰撞概率的风险约束的应用的影响。
17.根据权利要求13至16中任一项所述的方法,其特征在于,在所述自动驾驶车辆的每次移动之后重复所述方法。
18.一种操作可重新配置的运动规划模块的方法,其特征在于,所述方法包括:
执行第一编程阶段以为特定自动驾驶车辆和可选的特定场景配置运动规划模块,所述第一编程阶段包括:
接收第一规划图;并且对于所述第一规划图的每个边缘,接收用于所述边缘的预先计算的碰撞数据,以及接收可选地与所述边缘相关联的成本,其中预先计算的碰撞数据以体素的形式或以基于框的表示的形式,其中基于框的表示包括框,框定义为一对相对角的坐标;
将所述第一规划图和所述预先计算的碰撞数据存储在所述运动规划模块的存储器中;
使用为特定自动驾驶车辆和可选的特定场景配置的运动规划模块执行实时运动规划;以及
执行第二编程阶段以为新的特定自动驾驶车辆和/或新的特定场景配置所述运动规划模块,所述第二编程阶段包括:
接收第二规划图;并且对于所述第二规划图的每个边缘,接收用于所述边缘的预先计算的碰撞数据,以及接收可选地与所述边缘相关联的成本;
将所述第二规划图和所述预先计算的碰撞数据存储在所述运动规划模块的存储器中。
19.根据权利要求18所述的方法,其特征在于,使用为特定自动驾驶车辆和可选地特定场景配置的运动规划模块执行实时运动规划包括:
接收感知数据;
将所述感知数据与存储在所述存储器中的预先计算的碰撞数据进行比较以确定碰撞;以及
确定最短路径,可选地考虑成本确定最短路径。
20.根据权利要求18所述的方法,其特征在于,所述第一编程阶段还包括:
基于所接收的规划图,编程一电路,电路将逻辑拓扑映射到实现一最短路径算法的并行硬件单元的物理拓扑上。
21.一种运动规划模块,其特征在于,包括:
一硬件处理器;
存储器;和
存储在所述存储器中的预先计算的碰撞数据,其中预先计算的碰撞数据以体素的形式或以基于框的表示的形式,其中基于框的表示包括框,框定义为一对相对角的坐标,使得在运行期间,当接收到感知数据时,所述硬件处理器将所述感知数据与存储在所述存储器中的预先计算的碰撞数据进行比较以确定碰撞,其中所述硬件处理器被配置为执行如权利要求18至20中任一项所述的方法。
22.根据权利要求21所述的运动规划模块,其特征在于,还包括存储在所述存储器中的规划图,其中,为运行之前的特定自动驾驶车辆和可选的特定场景生成所述规划图,其中所述预先计算的碰撞数据与所述规划图的边缘相关联。
23.根据权利要求21或22所述的运动规划模块,其特征在于,还包括:
一最短路径模块,包括:
实现最短路径算法的并行硬件单元;和
可编程电路,其基于接收的规划图将逻辑拓扑映射到所述并行硬件单元的物理拓扑上,
所述最短路径模块在运行时间期间接收确定的碰撞以输出规划。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662348230P | 2016-06-10 | 2016-06-10 | |
US62/348,230 | 2016-06-10 | ||
US201762451816P | 2017-01-30 | 2017-01-30 | |
US62/451,816 | 2017-01-30 | ||
PCT/US2017/036880 WO2017214581A1 (en) | 2016-06-10 | 2017-06-09 | Motion planning for autonomous vehicles and reconfigurable motion planning processors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109477723A CN109477723A (zh) | 2019-03-15 |
CN109477723B true CN109477723B (zh) | 2023-02-21 |
Family
ID=60578208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780035817.4A Active CN109477723B (zh) | 2016-06-10 | 2017-06-09 | 自动驾驶车辆运动规划和可重新配置的运动规划处理器 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11429105B2 (zh) |
EP (2) | EP3449214B1 (zh) |
JP (2) | JP7181092B2 (zh) |
CN (1) | CN109477723B (zh) |
ES (1) | ES2903532T3 (zh) |
PL (1) | PL3449214T3 (zh) |
TW (1) | TWI758296B (zh) |
WO (1) | WO2017214581A1 (zh) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107206592B (zh) | 2015-01-26 | 2021-03-26 | 杜克大学 | 专用机器人运动规划硬件及其制造和使用方法 |
US11429105B2 (en) | 2016-06-10 | 2022-08-30 | Duke University | Motion planning for autonomous vehicles and reconfigurable motion planning processors |
US10518770B2 (en) * | 2017-03-14 | 2019-12-31 | Uatc, Llc | Hierarchical motion planning for autonomous vehicles |
US20210166568A1 (en) * | 2017-06-16 | 2021-06-03 | FLIR Belgium BVBA | Collision avoidance systems and methods |
US10599161B2 (en) * | 2017-08-08 | 2020-03-24 | Skydio, Inc. | Image space motion planning of an autonomous vehicle |
US10860019B2 (en) | 2017-09-08 | 2020-12-08 | Motional Ad Llc | Planning autonomous motion |
WO2019139815A1 (en) * | 2018-01-12 | 2019-07-18 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
CN108363393B (zh) * | 2018-02-05 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种智能运动设备及其导航方法和存储介质 |
TWI822729B (zh) | 2018-02-06 | 2023-11-21 | 美商即時機器人股份有限公司 | 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備 |
DE112019000279T5 (de) * | 2018-02-09 | 2020-08-27 | Nvidia Corporation | Steuern autonomer fahrzeuge anhand sicherer ankunftszeiten |
GB201803292D0 (en) * | 2018-02-28 | 2018-04-11 | Five Ai Ltd | Efficient computation of collision probabilities for safe motion planning |
DE102018104104A1 (de) * | 2018-02-23 | 2019-08-29 | Valeo Schalter Und Sensoren Gmbh | Fahrerunterstützungsverfahren für ein Fahrzeug |
ES2928250T3 (es) * | 2018-03-21 | 2022-11-16 | Realtime Robotics Inc | Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo |
US11255679B2 (en) * | 2018-04-19 | 2022-02-22 | Uatc, Llc | Global and local navigation for self-driving |
US10579754B1 (en) | 2018-09-14 | 2020-03-03 | Hewlett Packard Enterprise Development Lp | Systems and methods for performing a fast simulation |
US10809732B2 (en) * | 2018-09-25 | 2020-10-20 | Mitsubishi Electric Research Laboratories, Inc. | Deterministic path planning for controlling vehicle movement |
CN113227927A (zh) * | 2018-12-04 | 2021-08-06 | 杜克大学 | 在具有动态对象环境中促进运动规划的设备、方法和物体 |
JP7241517B2 (ja) * | 2018-12-04 | 2023-03-17 | 三菱電機株式会社 | 航法装置、航法パラメータ計算方法およびプログラム |
US11911908B2 (en) | 2018-12-21 | 2024-02-27 | Intrinsic Innovation Llc | Dynamic probabilistic motion planning |
US10809734B2 (en) * | 2019-03-13 | 2020-10-20 | Mobile Industrial Robots A/S | Route planning in an autonomous device |
CN111830957A (zh) * | 2019-04-19 | 2020-10-27 | 北京京东尚科信息技术有限公司 | 一种路径规划方法和装置 |
US11179850B2 (en) | 2019-04-24 | 2021-11-23 | Intrinsic Innovation Llc | Robot motion planning |
CN110069434A (zh) * | 2019-04-28 | 2019-07-30 | 北京超维度计算科技有限公司 | 一种高性能弹性计算hec的终端算力部署***和方法 |
US11373318B1 (en) | 2019-05-14 | 2022-06-28 | Vulcan Inc. | Impact detection |
KR102647646B1 (ko) * | 2019-05-15 | 2024-03-13 | 현대자동차주식회사 | 엣지 컴퓨팅에 기초한 이동체 동작 방법 및 장치 |
US11634126B2 (en) | 2019-06-03 | 2023-04-25 | Realtime Robotics, Inc. | Apparatus, methods and articles to facilitate motion planning in environments having dynamic obstacles |
CN110196596B (zh) * | 2019-06-04 | 2022-05-27 | 南阳理工学院 | 一种基于碰撞风险分析的四轮移动机器人模糊避障方法 |
US11875678B2 (en) | 2019-07-19 | 2024-01-16 | Zoox, Inc. | Unstructured vehicle path planner |
WO2021033574A1 (ja) * | 2019-08-21 | 2021-02-25 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
WO2021041223A1 (en) | 2019-08-23 | 2021-03-04 | Realtime Robotics, Inc. | Motion planning for robots to optimize velocity while maintaining limits on acceleration and jerk |
WO2021063486A1 (en) * | 2019-10-01 | 2021-04-08 | Huawei Technologies Co., Ltd. | Automatic root cause analysis of failures in autonomous vehicle |
JP7382201B2 (ja) * | 2019-10-11 | 2023-11-16 | 株式会社日立製作所 | 車両管制システム、演算装置 |
CN110954104B (zh) * | 2019-10-29 | 2021-12-28 | 中国人民解放军战略支援部队航天工程大学 | 一种航天器抵近操作路径规划方法 |
CN111006666B (zh) * | 2019-11-21 | 2021-10-29 | 深圳市优必选科技股份有限公司 | 机器人路径规划方法、装置、存储介质和机器人 |
CN112859829B (zh) * | 2019-11-28 | 2023-01-20 | 北京百度网讯科技有限公司 | 一种车辆控制方法、装置、电子设备和介质 |
US11675366B2 (en) | 2019-12-27 | 2023-06-13 | Motional Ad Llc | Long-term object tracking supporting autonomous vehicle navigation |
TW202146189A (zh) | 2020-01-22 | 2021-12-16 | 美商即時機器人股份有限公司 | 於多機器人操作環境中之機器人之建置 |
CN115279559A (zh) * | 2020-03-06 | 2022-11-01 | 医达科技公司 | 使用深度传感器在机器人路径规划中避障的方法和*** |
US11592843B2 (en) | 2020-04-08 | 2023-02-28 | Lockheed Martin Corporation | Autonomous aircraft local planning to avoid obstructions |
JP7450297B2 (ja) * | 2020-04-14 | 2024-03-15 | リアルタイム ロボティクス, インコーポレーテッド | センサーの配置を含むロボット操作環境の構成 |
CN113671941A (zh) * | 2020-05-15 | 2021-11-19 | 北京京东乾石科技有限公司 | 一种轨迹规划方法、装置、设备和存储介质 |
CN111736631B (zh) * | 2020-07-09 | 2023-03-21 | 纪关荣 | 一种农药喷洒机器人的路径规划方法及*** |
FR3117979A1 (fr) * | 2020-12-21 | 2022-06-24 | Psa Automobiles Sa | Procédé et dispositif de contrôle d’un véhicule autonome |
FR3117974A1 (fr) * | 2020-12-21 | 2022-06-24 | Psa Automobiles Sa | Procédé et dispositif de contrôle d’un véhicule |
US11430459B2 (en) | 2020-12-31 | 2022-08-30 | Robert Bosch Gmbh | Self-calibration dynamic spatiotemporal beamforming system |
US11686650B2 (en) * | 2020-12-31 | 2023-06-27 | Robert Bosch Gmbh | Dynamic spatiotemporal beamforming |
CN112987799B (zh) * | 2021-04-16 | 2022-04-05 | 电子科技大学 | 一种基于改进rrt算法的无人机路径规划方法 |
EP4326587A1 (en) * | 2021-04-23 | 2024-02-28 | Motional AD LLC | Predicting agent trajectories |
DE102021212697A1 (de) * | 2021-11-11 | 2023-05-11 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Bestimmen eines Bewegungspfades für ein mobiles Gerät |
KR20230071435A (ko) * | 2021-11-16 | 2023-05-23 | 성균관대학교산학협력단 | 데이터 전송 방법 및 장치, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 |
CN114056351B (zh) * | 2021-11-26 | 2024-02-02 | 文远苏行(江苏)科技有限公司 | 自动驾驶方法及装置 |
US11981328B2 (en) | 2022-02-02 | 2024-05-14 | Ford Global Technologies, Llc | Vehicle object avoidance |
CN114756026B (zh) * | 2022-04-07 | 2024-04-19 | 青岛沃柏斯智能实验科技有限公司 | 一种实验环境安全检查的巡视控制*** |
TWI781074B (zh) * | 2022-05-20 | 2022-10-11 | 東元電機股份有限公司 | 利用影像辨識進行側邊跟隨之自動跟隨車 |
US20240001959A1 (en) * | 2022-06-30 | 2024-01-04 | Zoox, Inc. | Vehicle motion planner |
CN115049309B (zh) * | 2022-07-19 | 2023-01-13 | 中环洁环境有限公司 | 一种垃圾收运路线规划方法和*** |
CN115774427A (zh) * | 2022-11-11 | 2023-03-10 | 劢微机器人科技(深圳)有限公司 | 时间窗调整方法、装置、设备及计算机可读存储介质 |
CN116119025B (zh) * | 2023-02-23 | 2023-08-11 | 哈尔滨工业大学 | 一种模块化可重构卫星分布式自组织重构方法及其*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4862373A (en) * | 1987-05-13 | 1989-08-29 | Texas Instruments Incorporated | Method for providing a collision free path in a three-dimensional space |
WO1999024914A1 (en) * | 1997-11-12 | 1999-05-20 | Lockheed Martin Corporation | System and method for avoiding collisions between vector and solid objects |
WO2005103848A1 (en) * | 2004-04-22 | 2005-11-03 | Frontline Robotics | Open control system architecture for mobile autonomous systems |
US7865277B1 (en) * | 2007-05-07 | 2011-01-04 | The United States Of America As Represented By The Secretary Of The Navy | Obstacle avoidance system and method |
JP2012190405A (ja) * | 2011-03-14 | 2012-10-04 | Toyota Motor Corp | 経路情報修正装置、軌道計画装置、及びロボット |
CN103278164A (zh) * | 2013-06-13 | 2013-09-04 | 北京大学深圳研究生院 | 一种复杂动态场景下机器人仿生路径规划方法及仿真平台 |
CN104960509A (zh) * | 2014-01-29 | 2015-10-07 | 大陆汽车***公司 | 用于基于碰撞置信度最小化自动制动侵扰的方法 |
CN107206592A (zh) * | 2015-01-26 | 2017-09-26 | 杜克大学 | 专用机器人运动规划硬件及其制造和使用方法 |
Family Cites Families (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4949277A (en) | 1988-03-09 | 1990-08-14 | North American Philips Corporation | Differential budding: method and apparatus for path planning with moving obstacles and goals |
US6089742A (en) | 1989-11-01 | 2000-07-18 | Warmerdam; Thomas P. H. | Method and apparatus for controlling robots and the like using a bubble data hierarchy placed along a medial axis |
US5544282A (en) | 1991-04-05 | 1996-08-06 | Chen; Pang C. | Method and apparatus for planning motions of robot manipulators |
US5347459A (en) | 1993-03-17 | 1994-09-13 | National Research Council Of Canada | Real time collision detection |
US5835684A (en) * | 1994-11-09 | 1998-11-10 | Amada Company, Ltd. | Method for planning/controlling robot motion |
US6004016A (en) | 1996-08-06 | 1999-12-21 | Trw Inc. | Motion planning and control for systems with multiple mobile objects |
US5795297A (en) | 1996-09-12 | 1998-08-18 | Atlantis Diagnostics International, L.L.C. | Ultrasonic diagnostic imaging system with personal computer architecture |
JPH11296229A (ja) | 1998-02-13 | 1999-10-29 | Komatsu Ltd | 車両の誘導装置 |
JPH11249711A (ja) * | 1998-03-03 | 1999-09-17 | Yokogawa Electric Corp | 制御装置 |
US6259988B1 (en) | 1998-07-20 | 2001-07-10 | Lockheed Martin Corporation | Real-time mission adaptable route planner |
JP2002073130A (ja) | 2000-06-13 | 2002-03-12 | Yaskawa Electric Corp | ロボットの大域動作経路計画方法とその制御装置 |
US6629037B1 (en) * | 2000-06-26 | 2003-09-30 | Westerngeco, L.L.C. | Optimal paths for marine data collection |
JP2003012077A (ja) | 2001-07-02 | 2003-01-15 | Japan Furakkusu:Kk | 植物運搬用箱 |
DE10200680B4 (de) | 2002-01-10 | 2004-03-25 | Siemens Ag | Minimale Schwingungsanregung beim Verfahren mit Ruckbegrenzung durch Adaption von Ruckprofilen |
US10065317B2 (en) | 2016-06-30 | 2018-09-04 | General Electric Company | Control system for coordinating robotic machines to collaborate on tasks |
WO2004095520A2 (en) | 2003-04-22 | 2004-11-04 | Berkeley Process Control, Inc. | System of path planning for robotic manipulators based on maximum acceleration and finite jerk constraints |
JP4251545B2 (ja) * | 2003-07-11 | 2009-04-08 | 独立行政法人科学技術振興機構 | 移動ロボット用経路計画システム |
JP3834307B2 (ja) | 2003-09-29 | 2006-10-18 | ファナック株式会社 | ロボットシステム |
US7447593B2 (en) * | 2004-03-26 | 2008-11-04 | Raytheon Company | System and method for adaptive path planning |
DE102004059966B3 (de) | 2004-12-13 | 2006-06-22 | Siemens Ag | Verfahren und Einrichtung zur Bewegungsführung eines bewegbaren Maschinenelements einer numerisch gesteurten Maschine |
JP2006224740A (ja) | 2005-02-16 | 2006-08-31 | Advics:Kk | 車両用走行支援装置 |
US20060235610A1 (en) | 2005-04-14 | 2006-10-19 | Honeywell International Inc. | Map-based trajectory generation |
US20060247852A1 (en) | 2005-04-29 | 2006-11-02 | Kortge James M | System and method for providing safety-optimized navigation route planning |
JP4577248B2 (ja) * | 2006-03-23 | 2010-11-10 | トヨタ自動車株式会社 | 移動体の経路探索システム、経路探索方法及び経路探索プログラム |
JP5112666B2 (ja) | 2006-09-11 | 2013-01-09 | 株式会社日立製作所 | 移動装置 |
EP1901150B1 (en) | 2006-09-14 | 2008-10-29 | Abb Research Ltd. | A method and device for avoiding collisions between an industrial robot and an object |
US7974737B2 (en) | 2006-10-31 | 2011-07-05 | GM Global Technology Operations LLC | Apparatus and method of automated manufacturing |
EP1972415B1 (en) | 2007-03-23 | 2019-01-02 | Honda Research Institute Europe GmbH | Robots with collision avoidance functionality |
US8380424B2 (en) | 2007-09-28 | 2013-02-19 | The Boeing Company | Vehicle-based automatic traffic conflict and collision avoidance |
JP2009116860A (ja) * | 2007-10-19 | 2009-05-28 | Yamaha Motor Powered Products Co Ltd | 車両 |
EP2085279B1 (en) | 2008-01-29 | 2011-05-25 | Ford Global Technologies, LLC | A system for collision course prediction |
JP2009217330A (ja) * | 2008-03-07 | 2009-09-24 | Toyota Motor Corp | 移動ロボットシステム及びその制御方法 |
US8571745B2 (en) * | 2008-04-10 | 2013-10-29 | Robert Todd Pack | Advanced behavior engine |
US8315738B2 (en) | 2008-05-21 | 2012-11-20 | Fanuc Robotics America, Inc. | Multi-arm robot system interference check via three dimensional automatic zones |
US8706452B2 (en) | 2008-06-26 | 2014-04-22 | Siemens Product Lifecycle Management Software Inc. | System and method for collision-free CAD design of pipe and tube paths |
JP5086942B2 (ja) * | 2008-09-02 | 2012-11-28 | トヨタ自動車株式会社 | 経路探索装置、経路探索方法、及び経路探索プログラム |
KR101554515B1 (ko) | 2009-01-07 | 2015-09-21 | 삼성전자 주식회사 | 로봇의 경로계획장치 및 그 방법 |
KR101105325B1 (ko) | 2009-09-08 | 2012-01-16 | 부산대학교 산학협력단 | 실제 로봇의 다중 경로계획 방법 |
US8386080B2 (en) | 2009-09-15 | 2013-02-26 | Harris Corporation | Robotic apparatus implementing collision avoidance scheme and associated methods |
JP4975075B2 (ja) | 2009-09-30 | 2012-07-11 | クラリオン株式会社 | ナビゲーション装置および経路演算方法 |
WO2011056633A1 (en) | 2009-10-27 | 2011-05-12 | Battelle Memorial Institute | Semi-autonomous multi-use robot system and method of operation |
US20110153080A1 (en) | 2009-12-22 | 2011-06-23 | Siemens Product Lifecycle Management Software Inc. | Method and apparatus for industrial robotic pathscycle time optimization using fly by |
US20120061155A1 (en) | 2010-04-09 | 2012-03-15 | Willow Garage, Inc. | Humanoid robotics system and methods |
US8855812B2 (en) | 2010-07-23 | 2014-10-07 | Chetan Kapoor | System and method for robot safety and collision avoidance |
JP2012056023A (ja) | 2010-09-09 | 2012-03-22 | Toyota Motor Corp | ロボットの動作生成システム及び動作生成方法 |
EP3327697A1 (en) * | 2010-09-24 | 2018-05-30 | iRobot Corporation | Systems and methods for vslam optimization |
US8509982B2 (en) | 2010-10-05 | 2013-08-13 | Google Inc. | Zone driving |
JP5774361B2 (ja) | 2011-04-28 | 2015-09-09 | 本田技研工業株式会社 | 軌道計画方法、軌道計画システム及び軌道計画・制御システム |
JP2012243029A (ja) * | 2011-05-18 | 2012-12-10 | Toyota Central R&D Labs Inc | 経路探索機能付き移動体 |
WO2013002099A1 (ja) | 2011-06-29 | 2013-01-03 | 三菱電機株式会社 | 部品供給装置 |
TW201318793A (zh) | 2011-11-08 | 2013-05-16 | Univ Minghsin Sci & Tech | 機器人光學定位系統及其定位方法 |
JP5724919B2 (ja) | 2012-03-22 | 2015-05-27 | トヨタ自動車株式会社 | 軌道生成装置、移動体、軌道生成方法及びプログラム |
DE112013001597T5 (de) | 2012-03-22 | 2014-12-11 | Israel Aerospace Industries Ltd. | Planung und Überwachung von Autonomen-Mission |
KR20130112507A (ko) | 2012-04-04 | 2013-10-14 | 인하대학교 산학협력단 | S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법 |
KR101441187B1 (ko) * | 2012-07-19 | 2014-09-18 | 고려대학교 산학협력단 | 자율 보행 로봇 경로 계획 방법 |
JP6069923B2 (ja) | 2012-07-20 | 2017-02-01 | セイコーエプソン株式会社 | ロボットシステム、ロボット、ロボット制御装置 |
EP2890529A2 (en) | 2012-08-31 | 2015-07-08 | Rethink Robotics Inc. | Systems and methods for safe robot operation |
CN104812535A (zh) | 2012-10-11 | 2015-07-29 | Abb技术有限公司 | 自动产生用于将机器人从停止位置返回预设重启位置的无碰撞返回程序的方法和设备 |
KR102009482B1 (ko) | 2012-10-30 | 2019-08-14 | 한화디펜스 주식회사 | 로봇의 경로계획 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록 매체 |
US9405296B2 (en) | 2012-12-19 | 2016-08-02 | Elwah LLC | Collision targeting for hazard handling |
US8972057B1 (en) | 2013-01-09 | 2015-03-03 | The Boeing Company | Systems and methods for generating a robotic path plan in a confined configuration space |
US9233470B1 (en) | 2013-03-15 | 2016-01-12 | Industrial Perception, Inc. | Determining a virtual representation of an environment by projecting texture patterns |
JP5962560B2 (ja) | 2013-03-22 | 2016-08-03 | トヨタ自動車株式会社 | 経路探索装置、移動体、経路探索方法及びプログラム |
US9280899B2 (en) | 2013-08-06 | 2016-03-08 | GM Global Technology Operations LLC | Dynamic safety shields for situation assessment and decision making in collision avoidance tasks |
JP6057862B2 (ja) | 2013-08-29 | 2017-01-11 | 三菱電機株式会社 | 部品供給装置および部品供給装置のプログラム生成方法 |
JP5897624B2 (ja) | 2014-03-12 | 2016-03-30 | ファナック株式会社 | ワークの取出工程をシミュレーションするロボットシミュレーション装置 |
JP5877867B2 (ja) | 2014-04-25 | 2016-03-08 | ファナック株式会社 | 複数台のロボットのシミュレーション装置 |
DE102014212898A1 (de) | 2014-07-03 | 2016-01-07 | Robert Bosch Gmbh | Verfahren zum Ermitteln einer Notfall-Trajektorie und Verfahren zum teilautomatisierten oder automatisierten Führen eines Ego-Fahrzeugs |
US11576543B2 (en) | 2014-07-18 | 2023-02-14 | Ali Ebrahimi Afrouzi | Robotic vacuum with rotating cleaning apparatus |
JP5980873B2 (ja) | 2014-10-17 | 2016-08-31 | ファナック株式会社 | ロボットの干渉領域設定装置 |
US9403275B2 (en) | 2014-10-17 | 2016-08-02 | GM Global Technology Operations LLC | Dynamic obstacle avoidance in a robotic system |
US20160121487A1 (en) | 2014-11-03 | 2016-05-05 | Qualcomm Incorporated | Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior |
CN107206590B (zh) | 2015-02-13 | 2021-02-05 | Abb瑞士股份有限公司 | 用于避免两个机器人之间的碰撞的方法 |
US10019006B2 (en) | 2015-04-08 | 2018-07-10 | University Of Maryland, College Park | Surface vehicle trajectory planning systems, devices, and methods |
US9687982B1 (en) | 2015-05-27 | 2017-06-27 | X Development Llc | Adapting programming of a robot and/or control of the robot based on one or more parameters of an end effector of the robot |
US20160357187A1 (en) * | 2015-06-05 | 2016-12-08 | Arafat M.A. ANSARI | Smart vehicle |
US20170004406A1 (en) * | 2015-06-30 | 2017-01-05 | Qualcomm Incorporated | Parallel belief space motion planner |
US9707681B2 (en) | 2015-07-27 | 2017-07-18 | Siemens Industry Software Ltd. | Anti-collision management of overlapping robotic movements |
KR101724887B1 (ko) | 2015-08-10 | 2017-04-07 | 현대자동차주식회사 | 전방 도로 형상과 연결을 분석해 차선 변경과 타이밍을 결정하는 자율주행 제어 장치 및 방법 |
EP3357790A4 (en) | 2015-09-29 | 2019-06-19 | Sony Corporation | DEVICE AND METHOD FOR DAMAGE REDUCTION AND PROGRAM |
KR20170044987A (ko) | 2015-10-16 | 2017-04-26 | 한국전기연구원 | 저크가 제한된 궤적 생성 방법 |
KR101748632B1 (ko) | 2015-10-29 | 2017-06-20 | 한국과학기술연구원 | 로봇의 구동 경로를 계획하기 위한 로봇 제어 시스템 및 로봇 구동 경로 계획방법 |
US9632502B1 (en) * | 2015-11-04 | 2017-04-25 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
US10496766B2 (en) * | 2015-11-05 | 2019-12-03 | Zoox, Inc. | Simulation system and methods for autonomous vehicles |
EP3171133B1 (en) | 2015-11-19 | 2020-03-11 | Sikorsky Aircraft Corporation | Kinematic motion planning with regional planning constraints |
US10093021B2 (en) | 2015-12-02 | 2018-10-09 | Qualcomm Incorporated | Simultaneous mapping and planning by a robot |
US10012984B2 (en) * | 2015-12-14 | 2018-07-03 | Mitsubishi Electric Research Laboratories, Inc. | System and method for controlling autonomous vehicles |
US10705528B2 (en) | 2015-12-15 | 2020-07-07 | Qualcomm Incorporated | Autonomous visual navigation |
US10665115B2 (en) | 2016-01-05 | 2020-05-26 | California Institute Of Technology | Controlling unmanned aerial vehicles to avoid obstacle collision |
JP6576255B2 (ja) | 2016-01-25 | 2019-09-18 | キヤノン株式会社 | ロボット軌道生成方法、ロボット軌道生成装置、および製造方法 |
US9645577B1 (en) * | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
WO2017168187A1 (en) | 2016-03-31 | 2017-10-05 | Siemens Industry Software Ltd. | Method and system for determining optimal positioning of a plurality of robots in a simulated production environment |
WO2017192144A1 (en) | 2016-05-05 | 2017-11-09 | Harman International Industries, Incorporated | Systems and methods for driver assistance |
US9687983B1 (en) | 2016-05-11 | 2017-06-27 | X Development Llc | Generating a grasp pose for grasping of an object by a grasping end effector of a robot |
US9880561B2 (en) | 2016-06-09 | 2018-01-30 | X Development Llc | Sensor trajectory planning for a vehicle |
US11429105B2 (en) | 2016-06-10 | 2022-08-30 | Duke University | Motion planning for autonomous vehicles and reconfigurable motion planning processors |
US9981383B1 (en) | 2016-08-02 | 2018-05-29 | X Development Llc | Real-time trajectory generation for actuators of a robot to reduce chance of collision with obstacle(s) |
US10131053B1 (en) | 2016-09-14 | 2018-11-20 | X Development Llc | Real time robot collision avoidance |
US10345815B2 (en) | 2016-09-14 | 2019-07-09 | Qualcomm Incorporated | Motion planning and intention prediction for autonomous driving in highway scenarios via graphical model-based factorization |
DE102016120763B4 (de) | 2016-10-31 | 2019-03-14 | Pilz Gmbh & Co. Kg | Verfahren zur kollisionsfreien Bewegungsplanung |
WO2018087550A2 (en) | 2016-11-09 | 2018-05-17 | Inventive Cogs (Campbell) Limited | Vehicle route guidance |
KR102518532B1 (ko) | 2016-11-11 | 2023-04-07 | 현대자동차주식회사 | 자율주행차량의 경로 결정장치 및 그 방법 |
US10296012B2 (en) | 2016-12-21 | 2019-05-21 | X Development Llc | Pre-computation of kinematically feasible roadmaps |
US11040450B2 (en) | 2017-02-07 | 2021-06-22 | Veo Robotics, Inc. | Dynamically determining and monitoring workspace safe zones using semantic representations of workpieces |
US11541543B2 (en) | 2017-02-07 | 2023-01-03 | Veo Robotics, Inc. | Dynamic, interactive signaling of safety-related conditions in a monitored environment |
US10430641B2 (en) | 2017-03-08 | 2019-10-01 | GM Global Technology Operations LLC | Methods and systems for object tracking using bounding boxes |
KR101937269B1 (ko) | 2017-05-15 | 2019-01-14 | 한국생산기술연구원 | 로봇 모션 경로 계획방법 |
US11014240B2 (en) | 2017-09-05 | 2021-05-25 | Abb Schweiz Ag | Robot having dynamic safety zones |
US10782694B2 (en) | 2017-09-07 | 2020-09-22 | Tusimple, Inc. | Prediction-based system and method for trajectory planning of autonomous vehicles |
EP3486612B1 (en) | 2017-11-20 | 2020-07-01 | Robert Bosch GmbH | Method for generating a trajectory |
US10466707B2 (en) | 2017-12-22 | 2019-11-05 | X Development Llc | Planning robot stopping points to avoid collisions |
ES2928250T3 (es) | 2018-03-21 | 2022-11-16 | Realtime Robotics Inc | Planificación del movimiento de un robot para diversos entornos y tareas y mejora del funcionamiento del mismo |
US11216009B2 (en) | 2018-06-25 | 2022-01-04 | Intrinsic Innovation Llc | Robot coordination in a shared workspace |
CN112601641B (zh) | 2018-08-23 | 2024-03-08 | 实时机器人有限公司 | 用于机器人运动规划的碰撞检测 |
CN113227927A (zh) | 2018-12-04 | 2021-08-06 | 杜克大学 | 在具有动态对象环境中促进运动规划的设备、方法和物体 |
EP3725472A1 (de) | 2019-04-16 | 2020-10-21 | Siemens Aktiengesellschaft | Verfahren zum ermitteln einer trajektorie eines roboters |
US11179850B2 (en) | 2019-04-24 | 2021-11-23 | Intrinsic Innovation Llc | Robot motion planning |
JP7222803B2 (ja) | 2019-04-25 | 2023-02-15 | 株式会社日立製作所 | 軌道計画装置、軌道計画方法及びプログラム |
-
2017
- 2017-06-09 US US16/308,693 patent/US11429105B2/en active Active
- 2017-06-09 ES ES17811131T patent/ES2903532T3/es active Active
- 2017-06-09 JP JP2018564836A patent/JP7181092B2/ja active Active
- 2017-06-09 EP EP17811131.6A patent/EP3449214B1/en active Active
- 2017-06-09 EP EP18209405.2A patent/EP3537248A1/en not_active Withdrawn
- 2017-06-09 WO PCT/US2017/036880 patent/WO2017214581A1/en unknown
- 2017-06-09 PL PL17811131T patent/PL3449214T3/pl unknown
- 2017-06-09 CN CN201780035817.4A patent/CN109477723B/zh active Active
- 2017-06-12 TW TW106119452A patent/TWI758296B/zh active
-
2022
- 2022-03-30 JP JP2022054900A patent/JP7431273B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4862373A (en) * | 1987-05-13 | 1989-08-29 | Texas Instruments Incorporated | Method for providing a collision free path in a three-dimensional space |
WO1999024914A1 (en) * | 1997-11-12 | 1999-05-20 | Lockheed Martin Corporation | System and method for avoiding collisions between vector and solid objects |
WO2005103848A1 (en) * | 2004-04-22 | 2005-11-03 | Frontline Robotics | Open control system architecture for mobile autonomous systems |
US7865277B1 (en) * | 2007-05-07 | 2011-01-04 | The United States Of America As Represented By The Secretary Of The Navy | Obstacle avoidance system and method |
JP2012190405A (ja) * | 2011-03-14 | 2012-10-04 | Toyota Motor Corp | 経路情報修正装置、軌道計画装置、及びロボット |
CN103278164A (zh) * | 2013-06-13 | 2013-09-04 | 北京大学深圳研究生院 | 一种复杂动态场景下机器人仿生路径规划方法及仿真平台 |
CN104960509A (zh) * | 2014-01-29 | 2015-10-07 | 大陆汽车***公司 | 用于基于碰撞置信度最小化自动制动侵扰的方法 |
CN107206592A (zh) * | 2015-01-26 | 2017-09-26 | 杜克大学 | 专用机器人运动规划硬件及其制造和使用方法 |
Non-Patent Citations (1)
Title |
---|
A Motion Planning Processor on Reconfgurable Hardware;Nuzhet Atay等;《Computer Science and Engineering 》;20050923;1-8 * |
Also Published As
Publication number | Publication date |
---|---|
JP2019517702A (ja) | 2019-06-24 |
WO2017214581A1 (en) | 2017-12-14 |
US20190163191A1 (en) | 2019-05-30 |
CN109477723A (zh) | 2019-03-15 |
EP3449214A4 (en) | 2019-05-22 |
US11429105B2 (en) | 2022-08-30 |
ES2903532T3 (es) | 2022-04-04 |
EP3449214A1 (en) | 2019-03-06 |
JP7431273B2 (ja) | 2024-02-14 |
TWI758296B (zh) | 2022-03-21 |
EP3449214B1 (en) | 2021-12-15 |
JP2022084895A (ja) | 2022-06-07 |
JP7181092B2 (ja) | 2022-11-30 |
TW201801965A (zh) | 2018-01-16 |
PL3449214T3 (pl) | 2022-04-04 |
EP3537248A1 (en) | 2019-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109477723B (zh) | 自动驾驶车辆运动规划和可重新配置的运动规划处理器 | |
JP7479064B2 (ja) | 動的障害物を有する環境における動作計画を容易にする装置、方法及び物品 | |
CN110345955B (zh) | 用于自动驾驶的感知与规划协作框架 | |
US11970161B2 (en) | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects | |
CN111380534B (zh) | 用于自动驾驶车辆的基于st图学习的方法 | |
CN112703147A (zh) | 用于控制车辆的移动的***和方法 | |
US10816985B2 (en) | Method on moving obstacle representation for trajectory planning | |
CN115551758A (zh) | 非结构化车辆路径规划器 | |
WO2021222375A1 (en) | Constraining vehicle operation based on uncertainty in perception and/or prediction | |
JP2019182415A (ja) | 自動運転車両(adv)に用いるピッチ角の補正方法 | |
US20210114622A1 (en) | Movement control | |
JP2022532920A (ja) | レーダーデータからのヨーレート | |
JP2023533507A (ja) | 人間の運転振る舞いに基づいて軌跡プランナを最適化するシステム及び方法 | |
CN110390240A (zh) | 自动驾驶车辆中的车道后处理 | |
CN117794803A (zh) | 使用具有响应型代理预测的树搜索和/或代理滤波进行车辆轨迹控制 | |
CN115855022A (zh) | 使用深度神经网络执行自主路径导航 | |
CN114636414A (zh) | 高清晰度城市地图绘制 | |
CN116917827A (zh) | 驾驶仿真中的代理转换 | |
US11926346B2 (en) | Behavior planning for autonomous vehicles in yield scenarios | |
US20210398014A1 (en) | Reinforcement learning based control of imitative policies for autonomous driving | |
CN115061499B (zh) | 无人机控制方法及无人机控制装置 | |
CN111033418B (zh) | 用于自动驾驶车辆的速度控制命令自动校准*** | |
JP2023001859A (ja) | 駐車に適した車両進路計画立案の並列処理 | |
JP2023502598A (ja) | 統計モデルを用いる衝突モニタリング | |
Cai et al. | Intelligent Systems in Motion: A Comprehensive Review on Multi-Sensor Fusion and Information Processing From Sensing to Navigation in Path Planning |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220728 Address after: North Carolina Applicant after: DUKE University Applicant after: BROWN University Address before: North Carolina Applicant before: DUKE University |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |