CN116907520A - 用于运载工具的方法和系统以及存储介质 - Google Patents
用于运载工具的方法和系统以及存储介质 Download PDFInfo
- Publication number
- CN116907520A CN116907520A CN202211609812.7A CN202211609812A CN116907520A CN 116907520 A CN116907520 A CN 116907520A CN 202211609812 A CN202211609812 A CN 202211609812A CN 116907520 A CN116907520 A CN 116907520A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- path
- travel path
- location
- environment
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 230000008859 change Effects 0.000 claims description 25
- 230000033001 locomotion Effects 0.000 claims description 22
- 238000011156 evaluation Methods 0.000 claims description 13
- 230000002441 reversible effect Effects 0.000 claims description 9
- 230000001131 transforming effect Effects 0.000 claims description 8
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 13
- 238000004590 computer program Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 26
- 238000007726 management method Methods 0.000 description 23
- 230000008447 perception Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 16
- 230000009466 transformation Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 9
- 238000005070 sampling Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000007613 environmental effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005096 rolling process Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3691—Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Atmospheric Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Ecology (AREA)
- Environmental & Geological Engineering (AREA)
- Environmental Sciences (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及一种用于运载工具的方法和系统以及存储介质。还提供了用于栅格中的双向路径优化的方法、系统和计算机程序产品。示例性方法可以包括:接收与运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
Description
技术领域
本发明涉及一种用于运载工具的方法和系统以及存储介质,尤其涉及栅格中的双向路径优化技术。
发明内容
一种用于运载工具的方法,包括:接收与所述运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
一种用于运载工具的系统,包括:至少一个处理器;以及存储有指令的至少一个非暂时性存储介质,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作:接收与所述运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
至少一个非暂时性存储介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行以下操作:接收与所述运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
附图说明
图1是可以实现包括自主系统的一个或多于一个组件的运载工具的示例环境;
图2是包括自主系统的运载工具的一个或多于一个系统的图;
图3是图1和图2的一个或多于一个装置和/或一个或多于一个系统的组件的图;
图4是自主系统的某些组件的图;
图5A是示出模型预测控制系统的示例的框图。
图5B和图5C是模型预测控制系统可能遇到的示例环境的图示。
图6A是由模型预测控制系统使用的示例坐标框架变换的图示。
图6B是利用基函数评估二维栅格以提供模型预测控制系统所使用的连续可微栅格评估的图示。
图6C是由模型预测控制系统使用的示例占位地图的图示。
图7A至图7C是由模型预测控制系统使用的示例附加约束和成本的图示。
图8是由模型预测控制系统确定的示例行驶路径的图示。
图9是示出由一个或多于一个处理器实现以使用模型预测控制系统确定行驶路径的例程的示例的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本公开的透彻理解。然而,本公开所描述的实施例可以在没有这些具体细节的情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形式例示的,以避免不必要地使本公开的方面模糊。
在附图中,为了便于描述,例示了示意要素(诸如表示系统、装置、模块、指令块和/或数据要素等的那些要素等)的具体布置或次序。然而,本领域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或布置并不意在意味着要求特定的处理次序或序列、或处理的分离。此外,除非明确描述,否则在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其他要素结合。
此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或多于两个其他示意要素之间或之中的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,要素之间的一些连接、关系或关联未在附图中例示,以便不使本公开内容模糊。此外,为了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信,本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多于一个信号路径(例如,总线)。
尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点这两者都是触点,但它们不是相同的触点。
在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定实施例的目的而包括的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,并且可以与“一个或多于一个”或者“至少一个”互换使用,除非上下文另有明确说明。还将理解的是,如本文所使用的术语“和/或”是指并且包括关联的列出项中的一个或多于一个的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多于一个其他特征、整数、步骤、操作、要素、组件和/或其群组。
如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、系统、装置或系统的组件、以及/或者它们的组合等)而言,这意味着该一个单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如,传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外,即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是指包括数据的网络分组(例如,数据分组等)。
如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当…时”、“在…时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定…时”、“响应于确定为“或”在检测到[所陈述的条件或事件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”意在是意味着“至少部分基于”。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其他情况下,尚未详细描述众所周知的方法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
总体概述
在一些方面和/或实施例中,本文所述的系统、方法和计算机程序产品包括和/或实现模型预测控制系统(本文中称为“MPC系统”)。作为非限制性示例,MPC系统可以使用占位地图(例如,具有对象的占位栅格表示)来确定行驶路径。
占位栅格表示可以用于MPC系统的运动规划处理。占位栅格表示可以在表示环境空间约束以及包括移动对象和/或概率测量的可能性方面提供灵活性。然而,来自运动规划处理的输出(例如,行驶路径)可能需要平滑处理(例如,连续优化)以考虑更准确的运载工具动力学和所规划的行驶路径的舒适度。此外,由于因占位栅格表示的离散性质而导致占位栅格表示可能无法用于平滑处理中的优化,因此在平滑处理像相对于运动规划处理的环境表示方面可能存在差异。因此,在一些情况下,MPC系统可以基于参考路径来确定占位地图中的行驶路径。MPC系统可以通过例如基于采样的运动规划处理来确定参考路径,并将参考路径变换到占位地图中。MPC系统可以确定占位地图中的潜在路径,确定与潜在路径相关联的成本,并且基于所确定的成本来选择潜在路径(例如,选择最低成本路径)。以这种方式,可以增加安全性,并且可以通过在与路径规划处理相同的环境表示(例如,占位地图)中确定行驶路径来实现计算节省。
对于自主运载工具,在有限空间中导航自主运载工具可能是复杂的任务。例如,一个困难可能是自主运载工具具有非完整运载工具运动约束。作为示例,自主运载工具的前轮转向设计可能意味着前进运动无法允许在没有碰撞的情况下的所有目标位置的可达性。因此,在一些情况下,MPC系统可以基于参考路径和纵向方向变量来确定占位地图中的行驶路径。纵向方向变量可以是被调整为在前进或后退驾驶之间改变的变量。MPC系统可以通过调整纵向方向变量来确定潜在路径,由此提供具有前进和后退驾驶的路径优化,以实现完全的机动性。
此外,参考路径可以从自主运载工具的当前地点延伸到目的地地点。为了减少计算时间(或节省计算资源),MPC系统可以使用到MPC范围的设置数量的预测步长来确定行驶路径。MPC范围可以是占位地图中的接近参考路径(例如,靠近参考路径或在参考路径上)的中间地点。在求解循环的每次迭代时,可以(考虑到自主运载工具的当前地点的变化)更新MPC范围以与相对于当前地点的针对设置数量的预测步长的预期行驶距离相对应。MPC范围可以被认为是滚动范围(receding horizon)。此外,求解循环的每次迭代还可以更新占位地图以与环境中的变化(例如,移动对象、现在正在移动的静态对象等)相对应。因此,在一些情况下,MPC系统可以基于参考路径和纵向方向变量来确定到占位地图中的MPC范围(或中间点)的行驶路径。
借助本文所述的系统、方法和计算机程序产品的实现,自主运载工具或AV系统可以确定占位地图中的行驶路径。因此,本发明的系统通常可以是对自主运载工具和MPC系统的路径优化的改进。
现在参考图1,例示示例环境100,在该示例环境100中,包括自主系统的运载工具以及不包括自主系统的运载工具进行操作。如所例示的,环境100包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载工具到基础设施(V2I)装置110、网络112、远程自主运载工具(AV)系统114、队列管理系统116和V2I系统118。运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)系统114、队列管理系统116和V2I系统118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如,建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、无线连接、或者有线或无线连接的组合与运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)系统114、队列管理系统116和V2I系统118中的至少一者互连。
运载工具102a-102n(单独称为运载工具102且统称为运载工具102)包括被配置为运输货物和/或人员的至少一个装置。在一些实施例中,运载工具102被配置为与V2I装置110、远程AV系统114、队列管理系统116和/或V2I系统118经由网络112进行通信。在一些实施例中,运载工具102包括小汽车、公共汽车、卡车和/或火车等。在一些实施例中,运载工具102与本文所述的运载工具200(参见图2)相同或类似。在一些实施例中,一组运载工具200中的运载工具200与自主队列管理器相关联。在一些实施例中,如本文所述,运载工具102沿着相应的路线106a-106n(单独称为路线106且统称为路线106)行驶。在一些实施例中,一个或多于一个运载工具102包括自主系统(例如,与自主系统202相同或类似的自主系统)。
对象104a-104n(单独称为对象104且统称为对象104)例如包括至少一个运载工具、至少一个行人、至少一个骑车者和/或至少一个构造物(例如,建筑物、标志、消防栓等)等。各对象104(例如,位于固定地点处并在一段时间内)是静止的或(例如,具有速度且与至少一个轨迹相关联地)移动。在一些实施例中,对象104与区域108中的相应地点相关联。
路线106a-106n(单独称为路线106且统称为路线106)各自与连接AV可以导航所沿着的状态的一系列动作(也称为轨迹)相关联(例如,规定该一系列动作)。各个路线106始于初始状态(例如,与第一时空地点和/或速度等相对应的状态),并且结束于最终目标状态(例如,与不同于第一时空地点的第二时空地点相对应的状态)或目标区(例如,可接受状态(例如,终止状态)的子空间)。在一些实施例中,第一状态包括一个或多于一个个体将要搭载AV的地点,并且第二状态或区包括搭载AV的一个或多于一个个体将要下车的一个或多于一个地点。在一些实施例中,路线106包括多个可接受的状态序列(例如,多个时空地点序列),这多个状态序列与多个轨迹相关联(例如,限定多个轨迹)。在示例中,路线106仅包括高级别动作或不精确的状态地点,诸如指示在车行道交叉口处转换方向的一系列连接道路等。附加地或可替代地,路线106可以包括更精确的动作或状态,诸如例如车道区域内的特定目标车道或精确地点以及这些位置处的目标速率等。在示例中,路线106包括沿着具有到达中间目标的有限前瞻视界的至少一个高级别动作的多个精确状态序列,其中有限视界状态序列的连续迭代的组合累积地与共同形成在最终目标状态或区处终止的高级别路线的多个轨迹相对应。
区域108包括运载工具102可以导航的物理区域(例如,地理区)。在示例中,区域108包括至少一个州(例如,国家、省、国家中所包括的多个州中的单独州等)、州的至少一部分、至少一个城市、城市的至少一部分等。在一些实施例中,区域108包括至少一个已命名干道(本文称为“道路”),诸如公路、州际公路、公园道路、城市街道等。附加地或可替代地,在一些示例中,区域108包括至少一个未命名道路,诸如行车道、停车场的一段、空地和/或未开发地区的一段、泥路等。在一些实施例中,道路包括至少一个车道(例如,道路的运载工具102可以穿过的部分)。在示例中,道路包括与至少一个车道标记相关联的(例如,基于至少一个车道标记所识别的)至少一个车道。
运载工具到基础设施(V2I)装置110(有时称为运载工具到万物(Vehicle-to-Everything)(V2X)装置)包括被配置为与运载工具102和/或V2I系统118进行通信的至少一个装置。在一些实施例中,V2I装置110被配置为与运载工具102、远程AV系统114、队列管理系统116和/或V2I系统118经由网络112进行通信。在一些实施例中,V2I装置110包括射频识别(RFID)装置、标牌、照相机(例如,二维(2D)和/或三维(3D)照相机)、车道标记、路灯、停车计时器等。在一些实施例中,V2I装置110被配置为直接与运载工具102进行通信。附加地或可替代地,在一些实施例中,V2I装置110被配置为与运载工具102、远程AV系统114和/或队列管理系统116经由V2I系统118进行通信。在一些实施例中,V2I装置110被配置为与V2I系统118经由网络112进行通信。
网络112包括一个或多于一个有线和/或无线网络。在示例中,网络112包括蜂窝网络(例如,长期演进(LTE)网络、第三代(3G)网络、第四代(4G)网络、第五代(5G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、以及/或者这些网络中的一部分或全部的组合等。
远程AV系统114包括被配置为与运载工具102、V2I装置110、网络112、队列管理系统116和/或V2I系统118经由网络112进行通信的至少一个装置。在示例中,远程AV系统114包括服务器、服务器组和/或其他类似装置。在一些实施例中,远程AV系统114与队列管理系统116位于同一位置。在一些实施例中,远程AV系统114参与运载工具的组件(包括自主系统、自主运载工具计算和/或由自主运载工具计算实现的软件等)中的一部分或全部的安装。在一些实施例中,远程AV系统114在运载工具的寿命期间维护(例如,更新和/或更换)这些组件和/或软件。
队列管理系统116包括被配置为与运载工具102、V2I装置110、远程AV系统114和/或V2I系统118进行通信的至少一个装置。在示例中,队列管理系统116包括服务器、服务器组和/或其他类似装置。在一些实施例中,队列管理系统116与拼车公司(例如,用于控制多个运载工具(例如,包括自主系统的运载工具和/或不包括自主系统的运载工具)的操作等的组织)相关联。
在一些实施例中,V2I系统118包括被配置为与运载工具102、V2I装置110、远程AV系统114和/或队列管理系统116经由网络112进行通信的至少一个装置。在一些示例中,V2I系统118被配置为与V2I装置110经由不同于网络112的连接进行通信。在一些实施例中,V2I系统118包括服务器、服务器组和/或其他类似装置。在一些实施例中,V2I系统118与市政当局或私营机构(例如,用于维护V2I装置110的私营机构等)相关联。
提供图1所例示的要素的数量和布置作为示例。与图1例示的要素相比,可以存在附加的要素、更少的要素、不同的要素和/或不同布置的要素。附加地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个不同要素进行的一个或多于一个功能。附加地或可替代地,环境100的至少一组要素可以进行被描述为由环境100的至少一个不同组的要素进行的一个或多于一个功能。
现在参考图2,运载工具200包括自主系统202、动力总成控制系统204、转向控制系统206和制动系统208。在一些实施例中,运载工具200与运载工具102(参见图1)相同或类似。在一些实施例中,运载工具200具有自主能力(例如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和/或装置使得运载工具200能够在无人类干预的情况下部分地或完全地操作,其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。对于完全自主运载工具和高度自主运载工具的详细描述,可以参考SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义(SAE International's standard J3016:Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle AutomatedDriving Systems),其全部内容通过引用而被包含。在一些实施例中,运载工具200与自主队列管理器和/或拼车公司相关联。
自主系统202包括传感器套件,该传感器套件包括诸如照相机202a、LiDAR传感器202b、雷达(radar)传感器202c和麦克风202d等的一个或多于一个装置。在一些实施例中,自主系统202可以包括更多或更少的装置和/或不同的装置(例如,超声波传感器、惯性传感器、(以下论述的)GPS接收器、以及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计传感器等)。在一些实施例中,自主系统202使用自主系统202中所包括的一个或多于一个装置来生成与本文所述的环境100相关联的数据。由自主系统202的一个或多于一个装置生成的数据可以由本文所述的一个或多于一个系统使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中,自主系统202包括通信装置202e、自主运载工具计算202f和安全控制器202g。
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷耦合器件(CCD)等的光传感器的数字照相机、热照相机、红外(IR)照相机和/或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图像可以采用格式(例如,RAW、JPEG和/或PNG等)。在一些实施例中,照相机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像数据并将该图像数据传输到自主运载工具计算202f和/或队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)的多个照相机。在这样的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确定多个照相机中的至少两个照相机的视场中的到一个或多于一个对象的深度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离(例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包括为了感知在相对于照相机202a一个或多于一个距离处的对象而优化的诸如传感器和镜头等的特征。
在实施例中,照相机202a包括被配置为捕获与一个或多于一个交通灯、街道标志和/或提供视觉导航信息的其他物理对象相关联的一个或多于一个图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多于一个图像相关联的交通灯数据(TLD数据)。在一些示例中,照相机202a生成与包括格式(例如,RAW、JPEG和/或PNG等)的一个或多于一个图像相关联的TLD数据。在一些实施例中,生成TLD数据的照相机202a与本文所述的包含照相机的其他系统的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼眼镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多于一个照相机,以生成与尽可能多的物理对象有关的图像。
激光检测和测距(LiDAR)传感器202b包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。LiDAR传感器202b包括被配置为从发光器(例如,激光发射器)发射光的系统。由LiDAR传感器202b发射的光包括在可见光谱之外的光(例如,红外光等)。在一些实施例中,在操作期间,由LiDAR传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到LiDAR传感器202b。在一些实施例中,由LiDAR传感器202b发射的光不会穿透该光遇到的物理对象。LiDAR传感器202b还包括至少一个光检测器,该至少一个光检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中,与LiDAR传感器202b相关联的至少一个数据处理系统生成表示LiDAR传感器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些示例中,与LiDAR传感器202b相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样的示例中,该图像用于确定LiDAR传感器202b的视场中的物理对象的边界。
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为发射(脉冲的或连续的)无线电波的系统。由雷达传感器202c发射的无线电波包括预先确定的频谱内的无线电波。在一些实施例中,在操作期间,由雷达传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一些实施例中,与雷达传感器202c相关联的至少一个数据处理系统生成表示雷达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传感器202c的视场中的物理对象的边界。
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相关联(例如,表示该音频信号)的数据的一个或多于一个麦克风(例如,阵列麦克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或类似装置。在一些实施例中,本文所述的一个或多于一个系统可以接收由麦克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于运载工具200的位置(例如,距离等)。
通信装置202e包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控(DBW)系统202h进行通信的至少一个装置。例如,通信装置202e可以包括与图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括运载工具到运载工具(V2V)通信装置(例如,用于实现运载工具之间的数据的无线通信的装置)。
自主运载工具计算202f包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或DBW系统202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f包括诸如客户端装置、移动装置(例如,蜂窝电话和/或平板电脑等)和/或服务器(例如,包括一个或多于一个中央处理单元和/或图形处理单元等的计算装置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运载工具计算202f被配置为与自主运载工具系统(例如,与图1的远程AV系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)、V2I装置(例如,与图1的V2I装置110相同或类似的V2I装置)和/或V2I系统(例如,与图1的V2I系统118相同或类似的V2I系统)进行通信。
安全控制器202g包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或DBW系统202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生成和/或传输的控制信号的控制信号。
DBW系统202h包括被配置为与通信装置202e和/或自主运载工具计算202f进行通信的至少一个装置。在一些示例中,DBW系统202h包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,DBW系统202h的一个或多于一个控制器被配置为生成和/或传输控制信号以操作运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡风玻璃雨刮器等)。
动力总成控制系统204包括被配置为与DBW系统202h进行通信的至少一个装置。在一些示例中,动力总成控制系统204包括至少一个控制器和/或致动器等。在一些实施例中,动力总成控制系统204从DBW系统202h接收控制信号,并且动力总成控制系统204使运载工具200开始向前移动、停止向前移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行左转和/或进行右转等。在示例中,动力总成控制系统204使提供至运载工具的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载工具200的至少一个轮旋转或不旋转。
转向控制系统206包括被配置为使运载工具200的一个或多于一个轮旋转的至少一个装置。在一些示例中,转向控制系统206包括至少一个控制器和/或致动器等。在一些实施例中,转向控制系统206使运载工具200的两个前轮和/或两个后轮向左或向右旋转,以使运载工具200左转或右转。
制动系统208包括被配置为使一个或多于一个制动器致动以使运载工具200减速和/或保持静止的至少一个装置。在一些示例中,制动系统208包括被配置为使与运载工具200的一个或多于一个轮相关联的一个或多于一个卡钳在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或可替代地,在一些示例中,制动系统208包括自动紧急制动(AEB)系统和/或再生制动系统等。
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态或条件的性质的至少一个平台传感器(未明确例示出)。在一些示例中,运载工具200包括诸如全球定位系统(GPS)接收器、惯性测量单元(IMU)、轮速率传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传感器等的平台传感器。
现在参考图3,例示装置300的示意图。如所例示的,装置300包括处理器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个装置(例如,运载工具102的系统的至少一个装置);以及/或者网络112的一个或多于一个装置(例如,网络112的系统的一个或多于一个装置)。在一些实施例中,运载工具102的一个或多于一个装置(例如,运载工具102的系统的一个或多于一个装置)、以及/或者网络112的一个或多于一个装置(例如,网络112的系统的一个或多于一个装置)包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300包括总线302、处理器304、存储器306、存储组件308、输入接口310、输出接口312和通信接口314。
总线302包括许可装置300的组件之间的通信的组件。在一些情况下,处理器304包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或加速处理单元(APU)等)、麦克风、数字信号处理器(DSP)、以及/或者可被编程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)等)。存储器306包括随机存取存储器(RAM)、只读存储器(ROM)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、紧凑盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带、CD-ROM、RAM、PROM、EPROM、FLASH-EPROM、NV-RAM和/或另一类型的计算机可读介质、以及相应的驱动器。
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息的传感器(例如,全球定位系统(GPS)接收器、加速度计、陀螺仪和/或致动器等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示器、扬声器和/或一个或多于一个发光二极管(LED)等)。
在一些实施例中,通信接口314包括许可装置300与其他装置经由有线连接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、接口和/或蜂窝网络接口等。
在一些实施例中,装置300进行本文所述的一个或多于一个处理。装置300基于处理器304执行由诸如存储器306和/或存储组件308等的计算机可读介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂时性计算机可读介质)在本文被限定为非暂时性存储器装置。非暂时性存储器装置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的存储空间。
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多于一个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连线电路以进行本文所述的一个或多于一个处理。因此,除非另外明确说明,否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如,数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中,将信息通信至该数据存储部或至少一个数据结构,或者搜索该数据存储部或至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、输入数据、输出数据或其任何组合。
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装置(例如,与装置300相同或类似的另一装置)的存储器中的软件指令。如本文所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少一个组件)进行本文所述的一个或多于一个处理。在一些实施例中,模块以软件、固件和/或硬件等来实现。
提供图3所例示的组件的数量和布置作为示例。在一些实施例中,与图3所例示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组件或不同布置的组件。附加地或可替代地,装置300的一组组件(例如,一个或多于一个组件)可以进行被描述为由装置300的另一组件或另一组组件进行的一个或多于一个功能。
现在参考图4,例示出自主运载工具计算400(有时称为“AV堆栈”)的示例框图。如所例示的,自主运载工具计算400包括感知系统402(有时称为感知模块)、规划系统404(有时称为规划模块)、定位系统406(有时称为定位模块)、控制系统408(有时称为控制模块)和数据库410。在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在运载工具的自动导航系统(例如,运载工具200的自主运载工具计算202f)中和/或在该自动导航系统中实现。附加地或可替代地,在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在一个或多于一个独立系统(例如,与自主运载工具计算400相同或类似的一个或多于一个系统等)中。在一些示例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库41包括在位于运载工具中的一个或多于一个独立系统以及/或者如本文所述的至少一个远程系统中。在一些实施例中,自主运载工具计算400中所包括的系统中的任意和/或全部以软件(例如,存储器中所存储的软件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)等)、或者计算机软件和计算机硬件的组合来实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程系统(例如,与远程AV系统114相同或类似的自主运载工具系统、与队列管理系统116相同或类似的队列管理系统116、以及/或者与V2I系统118相同或类似的V2I系统等)进行通信。
在一些实施例中,感知系统402接收与环境中的至少一个物理对象相关联的数据(例如,感知系统402检测至少一个物理对象所使用的数据),并对该至少一个物理对象进行分类。在一些示例中,感知系统402接收由至少一个照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机的视场内的一个或多于一个物理对象相关联(例如,表示该一个或多于一个物理对象)。在这样的示例中,感知系统402基于物理对象(例如,自行车、运载工具、交通标志和/或行人等)的一个或多于一个分组来对至少一个物理对象进行分类。在一些实施例中,基于感知系统402对物理对象进行分类,感知系统402将与物理对象的分类相关联的数据传输到规划系统404。
在一些实施例中,规划系统404接收与目的地相关联的数据,并且生成与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线(例如,路线106)相关联的数据。在一些实施例中,规划系统404定期地或连续地从感知系统402接收数据(例如,上述的与物理对象的分类相关联的数据),并且规划系统404基于感知系统402所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。在一些实施例中,规划系统404从定位系统406接收与运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划系统404基于定位系统406所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。
在一些实施例中,定位系统406接收与运载工具(例如,运载工具102)在区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位系统406接收与至少一个LiDAR传感器(例如,LiDAR传感器202b)所生成的至少一个点云相关联的LiDAR数据。在某些示例中,定位系统406从多个LiDAR传感器接收与至少一个点云相关联的数据,并且定位系统406基于各个点云来生成组合点云。在这些示例中,定位系统406将该至少一个点云或组合点云与数据库410中所存储的区域的二维(2D)和/或三维(3D)地图进行比较。然后,基于定位系统406将至少一个点云或组合点云与地图进行比较,定位系统406确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质(诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其他行驶信号灯等)的空间地点的地图。在一些实施例中,基于感知系统所接收到的数据来实时地生成地图。
在另一示例中,定位系统406接收由全球定位系统(GPS)接收器所生成的全球导航卫星系统(GNSS)数据。在一些示例中,定位系统406接收与运载工具在区域中的地点相关联的GNSS数据,并且定位系统406确定运载工具在区域中的纬度和经度。在这样的示例中,定位系统406基于运载工具的纬度和经度来确定运载工具在区域中的位置。在一些实施例中,定位系统406生成与运载工具的位置相关联的数据。在一些示例中,基于定位系统406确定运载工具的位置,定位系统406生成与运载工具的位置相关联的数据。在这样的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的一个或多于一个语义性质相关联的数据。
在一些实施例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408控制运载工具的操作。在一些示例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408通过生成并传输控制信号以使动力总成控制系统(例如,DBW系统202h和/或动力总成控制系统204等)、转向控制系统(例如,转向控制系统206)和/或制动系统(例如,制动系统208)进行操作,来控制运载工具的操作。在示例中,在轨迹包括左转的情况下,控制系统408传输控制信号以使转向控制系统206调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地,控制系统408生成并传输控制信号以使运载工具200的其他装置(例如,前灯、转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
在一些实施例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型(例如,至少一个多层感知器(MLP)、至少一个卷积神经网络(CNN)、至少一个递归神经网络(RNN)、至少一个自动编码器和/或至少一个变换器等)。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408单独地或与上述系统中的一个或多于一个结合地实现至少一个机器学习模型。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型作为管道(例如,用于识别位于环境中的一个或多于一个对象的管道等)的一部分。省略了机器学习模型的实现的示例以免模糊本发明。
数据库410存储传输至感知系统402、规划系统404、定位系统406和/或控制系统408的、从其接收到的、以及/或者由其更新的数据。在一些示例中,数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具计算400的至少一个系统的存储组件(例如,与图3的存储组件308相同或类似的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2D和/或3D地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多个城市的多个部分、多个城市、县、州和/或国家(State)(例如,国家)等的2D和/或3D地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)可以沿着一个或多于一个可驾驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路等)驾驶,并且使至少一个LiDAR传感器(例如,与LiDAR传感器202b相同或类似的LiDAR传感器)生成与表示该至少一个LiDAR传感器的视场中所包括的对象的图像相关联的数据。
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中,数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)、自主运载工具系统(例如,与远程AV系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)中和/或V2I系统(例如,与图1的V2I系统118相同或类似的V2I系统)等中。
模型预测控制系统
图5A是示出模型预测控制系统500(本文中称为“MPC系统500”)的示例的框图。MPC系统500可以使用栅格中的双向路径优化来确定自主运载工具的行驶路径。MPC系统500可以包括非结构化区域规划系统502和控制系统408。非结构化区域规划系统502可以是如本文所述的规划系统404的一部分或与规划系统404分离。非结构化区域规划系统502可以确定自主运载工具的行驶路径,并且控制系统408可以根据所确定的行驶路径执行自主运载工具的控制。
非结构化区域规划系统502可以周期性地或连续地从感知系统402和/或定位系统406接收运载工具环境数据504。运载工具环境数据504可以包括来自感知系统402的数据(例如,与上述的物理对象的分类和对象地点相关联的数据)以及/或者来自定位系统406的与运载工具(例如,运载工具102)的更新位置相关联的数据。
转到图5B和图5C,图5B和图5C是MPC系统500可能遇到的示例环境506A和506B的图示。在环境506A和506B的每一个中,MPC系统500可以确定其自身的运载工具(称为“自我508”)在环境中的状态(地点、朝向、速度等)。例如,如由定位系统406所示,MPC系统500可以从运载工具环境数据504获得自我508的状态。MPC系统500还可以确定:其他运载工具510的状态(地点、朝向、速度等);其他对象512(例如,诸如人等的移动对象、或者诸如物理环境等的固定对象)的状态(地点、朝向、速度等);环境的局部边界514;行驶方向516;以及/或者目标位置518的地点。MPC系统500可以从运载工具环境数据504以及/或者基于来自数据库410的2D和/或3D地图获得其他运载工具510的状态、其他对象512的状态、局部边界514和/或行驶方向516。例如,可以利用感知系统402检测、跟踪和报告其他运载工具510和移动的其他对象512的状态。例如,可以存储并从2D和/或3D地图提取固定对象的状态、局部边界514和/或行驶方向516。MPC系统500可以从用户输入(例如,经由输入接口310)或其他系统(例如,经由通信接口314)(诸如从用户装置或远程服务(诸如队列管理系统116或远程AV系统114等)等)确定目标位置518的地点。
环境506A可以是诸如车道环境等的结构化环境。环境506A可以被良好地定义,并且机动动作可以相对容易地决定(例如,车道内的细微调整、车道变换、或者从一个结构化环境转向另一结构化环境)。环境506B可以是非结构化环境,诸如停车环境、(例如,具有行人的)共享环境或无结构化环境(例如,未被分类为结构化(诸如环境506A等)的环境)等。在环境506B的情况下,由于环境被较少地定义(例如,存在较少的边界,如车道或用于管理环境的规则)并且自主运载工具可能被卡住(在边界和移动对象之间等),因此机动动作可能更困难。值得注意的是,在环境506B中,MPC系统500可以不依赖于其他智能体以遵循特定道路结构和/或可预测的移动模式。因此,环境506B存在固有的非结构化。
在一些情况下,MPC系统500(或规划系统404)可以根据基于环境条件确定运载工具是在非结构化环境还是结构化环境中来使操作模式在结构化模式或非结构化模式之间切换。例如,MPC系统500(或规划系统404)可以通过确定环境的某些特性是否满足某些环境条件(例如,车道标记存在和/或车道中的自我地点等)来确定自我508是否在结构化环境中。如果自我508在结构化环境中,则MPC系统500可以确定以结构化模式进行操作;否则,MPC系统500可以确定以非结构化模式进行操作。省略了结构化模式如何进行操作的详情,以精简对如本文所述的非结构化模式的理解。
在一些情况下,MPC系统500(或规划系统404)可以考虑来自结构化模式和非结构化模式这两者的输出。在一些情况下,MPC系统500可以确定结构化模式是否能够找到解,并且如果结构化模式不能找到解,则继续进行非结构化模式。在一些情况下,MPC系统500可以(在两个模式都确定了解的情况下)评估哪个模式求解了更好的解。例如,可以对来自结构化模式的确定行驶路径和来自非结构化模式的行驶路径进行评分,并且可以选择具有更高得分的行驶路径。例如,在一些情况下,MPC系统500可以基于评分规则(诸如解的舒适度量、解如何快速地使自主运载工具到达目的地、关于场景中的智能体的安全度量和/或解中的碰撞的存在等)来确定得分。
返回到图5A,在MPC系统500执行非结构化模式的情况下,非结构化模式可以使得MPC系统500使用非结构化区域规划系统502来确定行驶路径。非结构化区域规划系统502可以包括参考路径引擎502A、占位地图引擎502B和行驶路径引擎502C。如本文所述,MPC系统500可以接收与运载工具的环境相关联的运载工具环境数据。
参考路径引擎502A可以生成到运载工具的目的地地点(可替代地称为“目标位置518”)的参考路径704(参见图7A和7C)。例如,参考路径引擎502A可以基于运载工具环境数据来生成到目的地地点的参考路径704。
在一些情况下,参考路径引擎502A可以在地理坐标系604中或在占位地图坐标系608中(参见以下论述的图6A)确定参考路径704。在地理坐标系604中确定参考路径704的情况下,参考路径引擎502A可以迭代地计算参考路径704,并且确定是否将发生与对象的碰撞。例如,参考路径引擎502A可以将参考路径704变换到占位地图坐标系608,并且确认在占位地图坐标系608中将不会与对象发生碰撞。在占位地图坐标系608中确定参考路径704的情况下,参考路径引擎502A可以迭代地计算参考路径704,并且确定是否将发生与对象的碰撞。在一些情况下,为了确定是否将发生与对象的碰撞,参考路径引擎502A可以确定自我508的覆盖区(footprint)的任何点是否与占位地图的任何对象的地点重叠(例如,在阈值距离内)。以这种方式,参考路径704可以在占位地图中(在占位地图坐标系608中)表示。
在一些情况下,参考路径引擎502A可以通过基于采样的例程来确定参考路径704。假设MPC系统500可以访问参考路径704的最新确定,参考路径引擎502A可以从MPC系统500相对于行驶路径的确定来迭代地且单独地(例如,异步地)确定参考路径704。因此,以这种方式,MPC系统500可以依赖于同一占位地图来进行路径优化(例如,确定行驶路径)和路径规划(例如,确定参考路径704)。
在一些情况下,参考路径引擎502A可以考虑到在占位地图中表示的静态对象来确定参考路径704。例如,参考路径引擎502A(或以下论述的占位地图引擎502B)可以确定对象是否是静态的(例如,对象是否在超过阈值时间段内没有移动),并且如果对象是静态的,则将静态对象添加到占位地图。以这种方式,路径规划和路径优化这两者都可以避免与静态对象的碰撞。参考路径引擎502A在执行基于采样的例程时,可以通过评估离散决策(例如,自我508是否应超过左侧或右侧的对象)来确定行驶路径714。相反,为了确定行驶路径,MPC系统500可以考虑围绕参考路径704的最佳运动来确定行驶路径。
占位地图引擎502B可以使用运载工具环境数据504来确定环境的占位地图。例如,占位地图可以识别环境中的至少一个障碍物。占位地图还可以至少识别自我508的当前状态和目标位置518。占位地图可以是环境空间约束(例如,自我508、其他运载工具510、其他对象512和局部边界514等)的栅格表示。例如,占位地图引擎502B可以通过迭代地获得自我508的状态、其他运载工具510的状态、其他对象512的状态、环境的局部边界514、行驶方向516和/或目标位置518的地点(本文中也称为“表示数据”)来确定占位地图。占位地图引擎502B可以将表示数据从地理坐标系604变换到占位地图坐标系608以构建占位地图。假设MPC系统500可以访问占位地图的最新确定,占位地图引擎502B可以从MPC系统500相对于行驶路径的确定来迭代地且单独地(例如,异步地)确定占位地图。占位地图引擎502B(例如,如本文所述,通过对参考路径进行变换)可以将参考路径704包括在占位地图中。
行驶路径引擎502C可以至少部分地基于参考路径704和纵向方向变量来确定到占位地图中的中间地点(例如,以下论述的MPC范围716)的行驶路径。例如,中间地点可以是参考路径704上的接近自主运载工具的当前地点的点。在一些情况下,中间地点可以在参考路径704上的当前地点和目的地地点之间。在一些情况下,中间地点(例如,MPC范围716)可以基于相对于当前地点的预定义距离。行驶路径引擎502C(或控制系统408)可以至少部分地基于行驶路径来生成针对运载工具的致动命令(例如,转向角和油门)。
纵向方向变量可以是某范围的连续数(例如,从-1到1(包括端值))。在一些情况下,满足数值阈值的连续数表示第一纵向方向,并且不满足数值阈值的连续数表示第二纵向方向。例如,第一纵向方向可以是运载工具的前进方向(例如,运载工具前进移动),并且第二纵向方向可以是后退方向(例如,运载工具后退移动)。例如,如果纵向方向变量大于(或等于)零,则可以满足数值阈值。
在一些情况下,占位地图引擎502B可以确定运载工具在物理坐标系中的物理地点,并且通过将运载工具的物理地点从物理坐标系变换到占位地图的坐标系来确定运载工具的占位地图地点。例如,占位地图引擎502B可以从运载工具环境数据获得运载工具的物理地点,并且将坐标框架变换应用于物理地点,以将物理坐标系中的物理地点变换到占位地图的坐标系。此外,为了确定到中间地点的行驶路径,行驶路径引擎502C可以使用运载工具的占位地图地点来确定到中间地点的行驶路径。
在一些情况下,占位地图引擎502B可以将参考路径704从物理坐标系变换到占位地图的坐标系。例如,占位地图引擎502B可以将坐标框架变换应用于参考路径704以将物理坐标系中的参考路径704变换到占位地图的坐标系。此外,为了确定到中间地点的行驶路径,行驶路径引擎502C可以使用占位地图的坐标系中的参考路径704来确定到占位地图中的中间地点的行驶路径。
在一些情况下,占位地图引擎502B可以将参考路径704和运载工具的物理地点从物理坐标系变换到占位地图的坐标系。例如,占位地图引擎502B可以将坐标框架变换应用于参考路径704和运载工具的物理地点,以将物理坐标系中的参考路径704和运载工具的物理地点变换到占位地图的坐标系。此外,为了确定到中间地点的行驶路径,行驶路径引擎502C可以使用占位地图的坐标系中的参考路径704和运载工具的物理地点来确定到占位地图中的中间地点的行驶路径。
在一些情况下,行驶路径引擎502C可以将行驶路径从占位地图的坐标系变换到物理坐标系。例如,行驶路径引擎502C可以将坐标框架变换应用于行驶路径,以将占位地图的坐标系中的行驶路径变换到物理坐标系。在这种情况下,行驶路径引擎502C可以使用物理坐标系中的行驶路径来生成针对运载工具的致动命令。
在一些情况下,行驶路径引擎502C可以使用占位地图生成至少一个可微占位地图评估。例如,行驶路径引擎502C可以将对象(例如,栅格地点Y中的对象X)的离散栅格占位转换成对象的可微占位地图评估。可微占位地图评估可以避免对象表示中的非连续跳跃。在这种情况下,为了确定到中间地点的行驶路径,行驶路径引擎502C可以使用至少一个可微占位地图评估来确定到中间地点的行驶路径。例如,为了生成至少一个可微占位地图评估,行驶路径引擎502C可以将至少一个基函数应用于占位地图。例如,至少一个基函数可以是至少一个三阶B样条基函数。可以在通过引用而被全部并入的17/535,542中找到使用三阶B样条基函数来确定至少一个可微占位地图评估的详情。
在一些情况下,为了确定行驶路径,行驶路径引擎502C可以至少部分地基于运载工具的至少一个物理约束以及多个可变控制输入的变化来确定多个潜在路径。然后,行驶路径引擎502C可以至少部分地基于目标函数的加权策略来确定与多个潜在路径中的各潜在路径相关联的成本。然后,行驶路径引擎502C可以至少部分地基于所确定的与多个潜在路径中的各潜在路径相关联的成本来从多个潜在路径中选择行驶路径。
为了确定多个潜在路径,行驶路径引擎502C可以通过针对预设数量的预测步长调整可变控制输入来生成多个潜在路径。为了生成多个潜在路径,行驶路径引擎502C可以在与当前地点到中间地点相对应的时间段内生成多个可变控制输入集合,其中在这多个可变控制输入集合之间具有多个步长(称为“预测步长”)。可变控制输入可以包括纵向方向变量的转向角和纵向方向。注意,在一些情况下,控制输入还可以包括油门量。各可变控制输入集合可以根据运载工具的至少一个物理约束来顺次定义用以遍历到多个步长中的各步长的控制输入。例如,第一控制输入集合可以定义从当前地点到中间地点的第一潜在路径,使得运载工具将穿过第一定义路径,而第二控制输入集合可以定义从当前地点到中间地点的第二潜在路径,使得运载工具将穿过第二定义路径。各控制输入可以在各步长处在运载工具的物理约束内。例如,各可变控制输入(在各步长处)可以满足运载工具的操作能力的物理条件。作为示例,转向角和/或油门的某些变化(在该步长处)对于运载工具在物理上可能是可能的,而转向角和/或油门的其他某些变化(在该步长处)对于运载工具在物理上可能是不可能的。各控制输入集合中的各控制输入可以在相应步长处满足运载工具的至少一个物理约束。多个可变控制输入集合中的各可变控制输入可以根据各控制输入指示的步长的地点来定义潜在路径。
在一些情况下,运载工具的至少一个物理约束包括运载工具的方向盘的操作的转向角。例如,方向盘的操作的转向角可以被约束到转向角的设置范围(例如,从当前航向起的+/-45度)。在一些情况下,运载工具的至少一个物理约束将行驶路径的笛卡尔解空间约束在与参考路径704相距预定距离的区域内。例如,笛卡尔解空间可以是占位地图的坐标系内的在相对于参考路径704的预定距离内的地理区域,使得各步长可以位于笛卡尔解空间内。在一些情况下,运载工具的至少一个物理约束将运载工具航向约束在相对于参考路径704上的给定点的预定航向范围内。例如,相对于参考路径704上的给定点的预定航向范围可以是从运载工具的当前地点相对于参考路径704定义的+/-度航向。
在一些情况下,多个潜在路径中的各潜在路径可以包括多个单位距离步长。各个单位距离步长可以与从当前地点到中间地点的多个步长其中之一相对应。在一些情况下,各单位距离步长可以被定义为当前地点与中间地点之间(穿过潜在路径)的距离与步长数量的比。
为了确定与多个潜在路径中的各潜在路径相关联的成本,行驶路径引擎502C可以使用目标函数针对多个潜在路径中的各潜在路径生成成本。例如,针对潜在路径,可以至少部分地基于目标函数的加权策略以及占位地图和针对潜在路径的控制输入来确定成本。加权策略可以针对潜在路径的特性指派至少一个子成本。例如,加权策略可以指派多个子成本。多个子成本可以至少包括第一子成本、第二子成本和第三子成本。
第一子成本可以是无碰撞运动成本。无碰撞运动成本可以是基于针对运载工具覆盖区的点集合中的各点相对于环境中的至少一个障碍物的、对于所有预测步长的碰撞成本的累积。例如,在运载工具覆盖区的点集合中的第一点与环境中的至少一个障碍物的位置重叠、然后运载工具覆盖区的点集合中的第二点不与环境中的至少一个障碍物的位置重叠的情况下,碰撞成本可以成比例地更高。对于所有预测步长,碰撞成本的累积可以将跨所有预测步长的所有点的所有碰撞成本加在一起,以指示与环境的任何物理交互。加权策略可以将相对较高的权重指派给这样的交互,由此避免选择任何这样的行驶路径。
第二子成本可以是舒适成本。舒适成本可以是至少基于在各预测步长处、纵向方向变量的变化率和转向角的变化率。例如,舒适成本可以随着纵向方向变量的变化率或转向角的变化率的增加而成比例地更高。加权策略可以针对变化率指派权重,由此确保在当前地点到中间地点之间的舒适(例如,为了人类舒适)穿过。
第三子成本可以是跟踪成本。跟踪成本可以是基于在各预测步长处、在跟踪目标地点与参考路径704的参考航向的第一差以及在跟踪目标地点与参考路径704的参考地点的第二差。在一些情况下,在各预测步长处,第一差是(如由针对该步长的控制输入所示的)转向角与由参考路径704表示的转向角之间的差。在一些情况下,在各预测步长处,第二差是(如由针对该步长的控制输入所示的)地点与由参考路径704表示的相应地点之间的差。加权策略可以针对第一差和第二差指派不同的权重,由此优选收敛到中间地点。
在一些情况下,加权策略可以包括针对无碰撞运动成本、舒适成本和跟踪成本的多个权重,以优选不同的成本。例如,针对跟踪成本的多个权重中的权重集合可以包括针对在最终预测步长之前的中间预测步长的中间权重、以及针对最终预测步长的最终权重。中间权重可以实质上小于最终权重。例如,这可以优选结束于更靠近参考路径704而不是更远离参考路径704的潜在路径。
在一些情况下,行驶路径引擎502C可以将针对多个潜在路径中的各潜在路径的无碰撞运动成本、舒适成本和跟踪成本中的各成本加在一起,以确定潜在行驶路径的合计成本。这样,可以确定各多个潜在路径的合计成本,并且可以考虑各潜在路径的相对益处。
行驶路径引擎502C可以选择最低成本行驶路径。例如,行驶路径引擎502C可以通过对潜在路径的成本进行排序(例如,从最高到最低)并选择最低成本潜在路径作为行驶路径来确定最低成本行驶路径。在一些情况下,行驶路径引擎502C可以确定所选择的行驶路径是否具有比成本阈值小的成本;如果所选择的行驶路径具有比成本阈值小的成本,则继续进行;并且如果所选择的行驶路径不具有比成本阈值小的成本,则迭代地重新确定行驶路径,直到所选择的行驶路径具有比成本阈值小的成本为止(或者如果在无令人满意的解的情况下超过阈值迭代计数器,则确定为错误并进行安全停止机动动作)。
如上所述,一旦选择了行驶路径,行驶路径引擎502C(或控制系统408)就可以至少部分地基于行驶路径来生成针对运载工具的致动命令(例如,转向角和油门)。因此,所公开的方法和系统可以是基于栅格的路径处理,其根据成本将环境表示用于规划算法(例如,参考路径704)和路径选择这两者。例如,在路径选择例程中具有占位地图可以允许MPC系统500准确地表示空间约束,从而允许紧密的空间导航。此外,MPC系统500可以使用纵向方向变量来实现复杂机动动作的全范围运动。
此外,基于占位地图的空间约束和用于机动性的后退驾驶(例如,纵向方向变量)的组合可以同样适用于在自主运载工具之外的非结构化环境中进行的路径优化。因此,用以确定行驶路径的非结构化模式也可以应用于3D中的无人机导航、移动机器人导航(诸如清洁机器人、监视机器人、农业机器人等)、以及自主船等。此外,通过在选择过程中并入时间分量,该方法和系统可以用于轨迹选择。此外,占位地图可以包括环境的测量的概率属性以及与环境中的某些对象碰撞的风险相关联的成本,由此扩展路径规划以包括概率属性。
示例
在一些情况下,MPC系统500可以使用时不变(例如,使用单位距离步长)和双向(例如,使用纵向方向变量)的MPC求解器(例如,作为行驶路径引擎502C的一部分)来确定行驶路径。在这种情况下,MPC系统500可以与转向控制或前进/后退控制分开地确定油门(或速率)控制。例如,在一些MPC求解器中,MPC求解器可以随时间传播运载工具状态以确定轨迹的解(例如,优化或最低成本解)。然而,在该示例中,MPC系统500可以使用单位距离步长(而不是时间步长)来确定到MPC范围716的行驶路径而不是轨迹。因此,MPC系统500可以在空间上而不是在时间上进行规划。特别地,MPC系统500可以确定作为目标函数(1)的局部极小值的行驶路径,使得满足方程约束(2)、状态约束(3)和输入约束(4)。通常,本文公开的函数或方程是示例函数或方程。
方程(1):目标函数
其中:是1至N个状态向量z的行驶路径,并且/>是用以获得作为以下结合图7A至图7C详细论述的成本Jstage(zk,uk,pk)和Jterminal(zN,pN)的最小值的行驶路径的输入,其中pk和pN是占位地图中的对象(例如,运载工具、行人以及边界(诸如路缘等)等)。
方程(2):方程约束
zk+1=f(zk,uk)
方程(3):状态约束
方程(4):输入约束
其中:z是(所有可能的状态向量的集合Z中的)状态向量,其中x是运载工具的x地图坐标,y是运载工具的y地图坐标,θ是运载工具的航向,d是纵向方向变量,并且δ是运载工具的转向角;u是(所有可能的输入向量的集合U中的)输入向量,其中ud′是随着行进(progress)的方向变量的变化率,并且uδ′是随着行进的转向角的变化率;N是当前地点和MPC范围716(例如,接近参考路径704的中间地点)之间的单位距离步长λk的预设数量。
例如,在一些情况下,单位距离步长λk的预设数量N可以是可改变的设计参数。更多的步长使用更多的计算时间来确定行驶路径,但MPC范围716可以进一步沿着参考路径704。单位距离步长λk的预设数量N可以是固定的或可变的。单位距离步长λk可以表示每步长所行驶的最大距离。因此,对于行驶到MPC范围716的距离更长的情况,可以使用更多的步长。
在一些情况下,MPC系统500的MPC求解器可以迭代地确定行驶路径。例如,MPC求解器可以确定从当前地点到MPC范围716的行驶路径,但MPC系统500(或控制系统404)可以仅执行所确定行驶路径的第一部分。然而,应当理解,MPC系统500可以执行所确定行驶路径的部分或全部。在下一求解循环中,MPC求解器可以针对新MPC范围确定新行驶路径。MPC范围716可以被称为滚动范围(在求解循环的单独迭代的过程中)。在一些情况下,占位地图可以在各求解循环时(或当新数据可用时)更新。以这种方式,MPC求解器可以考虑新的测量结果。
在一些情况下,单位距离步长λk的预设数量N可以是在50至100之间的范围内的数量。在一些情况下,求解循环可以具有10Hz的频率。50至100之间的范围和10Hz的频率是示例,并且不旨在限制。
在一些情况下,可以通过选择参考路径704上的在运载工具的(针对当前步长的)当前地点与目的地地点之间的点来确定MPC范围716。例如,MPC系统500可以选择参考路径704上的在当前地点的阈值距离内的地点。阈值距离可以与MPC求解器的有限范围相对应(例如,基于单位距离步长λk的预设数量N)。
在一些情况下,上述的一些或所有约束可以被转换成非常高的成本(例如,其他成本的10倍、100倍等)。以这种方式,非连续约束可以使得MPC系统的MPC求解器能够以数值方式求解这种非线性优化。
方程约束可以根据状态导数(5)通过相对于行进的状态导数来定义运载工具状态更新方程。
方程(5):状态导数
其中:L是运载工具的长度。以这种方式,可以改变决策变量(例如,纵向方向变量d和转向角δ)以根据以下论述的成本Jstage(zk,uk,pk)和Jterminal(zN,pN)找到局部极小行驶路径。如上所述,纵向方向变量可以是连续的(而对于正向或反向方向,纵向方向变量是二元(即,离散)值)。
在一些情况下,MPC系统500可以使用进度缩放值σ,该进度缩放值σ针对单位距离步长λk来参数化每预测步长的最大行驶距离。在这种情况下,根据行驶距离积分(6),可以通过在预测范围上对方向变量进行积分并乘以进度缩放来获得行驶距离s(λ)。
方程(6):行驶距离积分
此外,在这种情况下,进度缩放变量可以根据利用进度缩放变量缩放的运载工具状态更新方程(7)来实现最大行驶距离的参数化。
方程(7):运载工具状态更新方程
随着进度缩放值σ增加,针对相同数量N的单位距离步长λk,行驶路径的路径长度可以增加。作为示例,设置为80个步长的N可以具有50毫秒的计算时间,并且调整进度缩放值σ可以使得MPC系统500能够考虑附加的潜在路径以搜索更优(例如,更低成本)的解。
在一些情况下,MPC系统500可以获得数据(例如,运载工具环境数据)并更新占位地图。这样,在新信息指示环境的变化时,可以更新pk和pN。
转到图6A,图6A是由MPC系统500使用的示例坐标框架变换602的图示。坐标框架变换602可以包括地理坐标系604、主体坐标系606和占位地图坐标系608、以及至少一个对象坐标系610。地理坐标系604可以定义地理区域的2D或3D空间系,诸如GPS坐标系等。主体坐标系606可以定义自我508的2D或3D空间系。占位地图坐标系608可以定义局部地理区域的2D或3D空间系。至少一个对象坐标系610可以定义至少一个对象的2D或3D空间系。注意,占位地图的各对象可以具有相应的对象坐标系610以定义该对象的2D或3D空间系。特别地,诸如其他运载工具510、其他对象512、局部边界514和参考路径704等的对象可以各自具有对象坐标系610。
坐标框架变换602还可以包括从一个坐标系到另一坐标系的变换612A至612E。例如,变换612A至612E可以包括:从地理坐标系604到对象坐标系610的第一变换612A;从地理坐标系604到占位地图坐标系608的第二变换612B;从地理坐标系604到主体坐标系606的第三变换612C;从占位地图坐标系608到对象坐标系610的第四变换612D;以及从主体坐标系606到对象坐标系610的第五变换612E。
如本文所述,MPC系统500可以更新占位地图,然后将环境(例如,其他对象等)、参考路径704和自我508从它们在地理坐标系604中的状态变换到占位地图坐标系608。然后,MPC系统500可以确定占位地图坐标系608中的行驶路径。MPC系统500然后可以将行驶路径从占位地图坐标系608变换到地理坐标系604,以供控制系统404使用。以这种方式,MPC系统500可以在没有内部变换的情况下确定行驶路径,由此避免在行驶路径的确定期间的附加计算。此外,由于可以使用浮点数来更准确地跟踪给定数量的变化,因此从地理坐标系604到占位地图坐标系608的变换可以使用浮点数实现更高的准确度。作为示例,与(占位地图坐标系608中的)10到10.5米的变化相比,浮点数的准确度对于(地理坐标系604中的)5000到5000.5米的变化可能更差。注意,由于各对象对于求解循环被视为静止的,因此占位地图坐标系608可以在求解循环期间被认为是惯性系。
以这种方式,占位地图可以用于确定行驶路径。然而,由于MPC系统500的MPC求解器可以使用连续函数而不是离散栅格表示来确定行驶路径,因此MPC系统500可以确定可微占位地图评估以避免对象表示中的非连续跳跃。例如,为了实现由占位地图编码的MPC求解器的成本函数,MPC系统500可以生成占位地图的梯度(被称为连续可微栅格评估)。
转到图6B,图6B是利用基函数624评估二维栅格622以提供由MPC系统500使用的连续可微栅格评估626的图示620。可以利用基函数624评估二维栅格622以确定连续可微栅格评估626。例如,可以从4×4区域中采样二维栅格622中的各评估点,例如作为基函数624的有限支持的结果。连续可微栅格评估626可以为MPC系统500的MPC求解器的基于梯度的方法提供分析偏导数。如本文所述,基函数624可以是三阶B样条基函数。
转到图6C,图6C是由MPC系统500使用的示例占位地图630的图示。占位地图630可以包括自我508、其他运载工具510和其他对象512等。占位地图630还可以包括栅格表示632。栅格表示632可以具有标准和/或任意形状的栅格。尽管未示出,但占位地图630可以包括指示栅格表示632的连续可微栅格评估626的数据。由于利用连续可微栅格评估626生成了占位地图,因此MPC系统500可以确定成本Jstage(zk,uk,pk)和Jterminal(zN,pN)。
图7A至7C是由MPC系统500使用的示例附加约束和成本的图示。图7A是附加约束的图示702,而图7B和图7C是由Jstage(zk,uk,pk)和Jterminal(zN,pN)确定的某些成本的图示711和713。
在一些情况下,MPC系统500可以进一步约束(占位地图的)笛卡尔解空间,使得(仅)某些状态向量z可以针对任何给定的u是许可的。在图7A中,附加约束可包括相对于参考路径704的航向约束706和/或边界约束708。如本文所述,参考路径704可以由基于采样的例程来确定。
航向约束706约束相对于参考路径704的运载工具航向,以强制执行通常跟踪参考路径704的航向。例如,航向约束706可以移除具有如下的状态向量z的潜在路径,这些状态向量z具有比航向阈值(诸如2Δθmax等)大的航向θ,其中2Δθmax是参考路径704上的与状态向量z相对应的点处的航向θ的范围。因此,如图7A所示,对于不同的单位距离步长λk,航向约束706被描绘在参考路径704上的数个地点处。
边界约束708约束相对于参考路径704的运载工具地点,以强制执行通常跟踪参考路径704的行驶路径。例如,边界约束708可以移除具有如下的状态向量z的潜在路径,这些状态向量z具有比相对于参考路径704的距离阈值大的地点[x,y]。因此,如图7A所示,边界约束708被描绘为与参考路径704相距设置距离的人工边界。
以这种方式,MPC系统500可以收敛到通常跟踪参考路径704的所确定行驶路径,而不需要所确定行驶路径与行驶路径714完全相同。因此,参考路径704可以初始化MPC系统500的MPC求解器,以允许MPC求解器比在没有参考路径704的情况下更快地收敛。例如,MPC系统500可以确定行驶路径,例如使用参考路径704比不使用参考路径704快10倍。
在一些情况下,成本Jstage(zk,uk,pk)和Jterminal(zN,pN)可以遵循成本层级。例如,成本层级可以(按顺序)是无碰撞运动目标、舒适目标和跟踪目标。特别地,阶段成本Jstage(zk,uk,pk)可以由阶段成本方程(8)定义,并且终端成本Jterminal(zN,pN)可以由终端成本方程(9)定义。
方程(8):阶段成本方程
方程(9):终端成本方程
其中:Jtarget(zk,pk)和Jtarget(zN,pN)是与关于图7C详细论述的跟踪目标相关联的成本。Jtarget(zk,pk)和Jtarget(zN,pN)是在中间步长和终端步长处相同的跟踪函数。和/>是与舒适目标相关联的成本。wc·ζ(zk,pk)和wc·ζ(zN,pN)是与无碰撞运动目标相关联的成本。如本文至少关于图7B所述,ζ(zk,pk)和ζ(zN,pN)是在中间步长和终端步长处相同的碰撞成本函数。
跟踪目标可以由跟踪成本方程(10)定义。
方程(10):跟踪成本方程
Jtarget(zk,pk)=wθ,k·((xT-xk)2+(yT-yk)2)+wθ,k·(θT-θk)2
其中:xT、yT和θT是参考路径704在不同单位距离步长λk处的目标地点和航向。wθ,k、wtarget,k、wc、wd、wδ′和wd′各自是方程的各相应分量的权重。在一些情况下,wθ,k比wθ,N小得多,并且wtarget,k比wtarget,N小得多。例如,“小得多”可以意味着权重是大小的1/10和大小的1/100等。
转到图7B,图7B描绘碰撞成本函数ζ(zk,pk)可以如何确定成本的图示711。特别地,自我508可以具有与运载工具的覆盖区相关联的多个点710和712。为了计算碰撞成本,MPC系统500可以确定多个点710和712中的任一个是否与占位地图的任何对象重叠(例如,具有在相对于对象的地点的阈值距离内的地点)。在这种情况下,点712不与对象重叠,并且点710与对象重叠。例如,如果没有点重叠,则碰撞成本可以是小的(例如,零),并且如果任何(例如,一个或多于一个)点重叠,则碰撞成本可以是大的(相对于其他成本)。在一些情况下,潜在路径的碰撞成本是所有预测步长的所有覆盖区探测点的累积成本。
转到图7C,图7C描绘与(与跟踪目标相关联的)跟踪函数Jtarget(zk,pk)相关联的成本可以如何影响到MPC范围716的确定行驶路径714的图示713。特别地,参考路径704从自我508延伸出。通过使用跟踪成本方程(10),MPC系统500的MPC求解器确定了行驶路径714,该行驶路径714针对单位距离步长λk的中间步长与参考路径704偏离,同时更靠近MPC范围716(即,中间地点)收敛。这样,MPC系统500可以继续大体上跟踪参考路径704,但具有求出用于例如舒适和平滑运动的更低成本解的灵活性。例如,在一些情况下,MPC系统500可以在求解循环的每次迭代时调整MPC范围716(例如,MPC范围716滚动)时跟踪MPC范围716。特别地,跟踪成本方程(10)可以对中间步长使用小得多的权重,同时在MPC范围716附近使用较大的权重来为中间步长提供灵活性(例如,降低偏离成本),并且在MPC范围716附近提供收敛(例如,增加在MPC范围716附近偏离的成本)。
图8是由MPC系统500在栅格表示632内确定的示例行驶路径802的图示800。如本文所述,MPC系统500可以使用到目的地地点808的参考路径704来确定行驶路径802。参考路径704可以包括跟踪目标804和采样节点806。采样节点806可以是如下的点,这些点是在执行基于采样的例程时从占位地图中选择的,并且在这些点中,评估离散决策(例如,自我508应继续前进还是后退、超过左侧或右侧的对象等)以构建参考路径704。跟踪目标804可以描绘行驶路径714的不同求解循环上的MPC范围716。例如,可以基于自主运载工具针对各求解循环按沿着参考路径704传播的各预测步长可以行驶的距离来确定跟踪目标804。如图8所示,行驶路径802可以在大体上跟踪参考路径704的同时,偏离参考路径704。
在MPC系统500的MPC求解器确定行驶路径714之后,MPC系统500可以确定针对自主运载工具的控制命令。例如,MPC系统500可以基于所确定的路径714来确定致动命令(例如,转向命令和油门命令)。作为示例,低级别转向控制器可以使用转向参考(11)。
方程(11):转向参考:
其中,δr(t)是运载工具相对于时间的转向角,并且是运载工具的转向角相对于时间的变化率。考虑到所确定的行驶路径714,可以通过在时间t获得运载工具姿态的测量结果并查询当前行进s(t)来确定转向角δr(t)。然后可以通过将当前行进s(t)输入到转向角查询方程(12)来确定转向角δr(t)。
方程(12):转向角查询
δr(t)=δ(s(t))
之后,可以根据转向率链式法则(13)应用链式法则以确定转向角的变化率
方程(13):转向率链式法则
其中:是针对预测步长所确定的随着行进uδ′的转向角,并且/>是行进相对于时间的变化率。可以从速率控制器获得行进相对于时间的变化率/>(例如,针对自主运载工具的当前速率的反馈)。此外,速率控制器可以考虑到所确定的行驶路径来确定速率命令或加速度命令。
在一些情况下,当MPC系统500的MPC求解器无法确定具有可接受成本(例如,对于超过预设数量的循环而言小于成本阈值)的行驶路径时,MPC系统500可以确定停止路径。停止路径可以是利用紧急停止机动动作的恒定转向角。以这种方式,如果MPC系统500无法确定具有可接受成本的行驶路径,则MPC系统500确定为进行紧急停止机动动作并维持自主运载工具的安全性。
模型预测控制系统的示例流程图
图9是例示由一个或多于一个处理器实现以使用MPC系统500确定行驶路径的例程的示例的流程图。图9所例示的流程图仅是为了例示的目的而提供的。将理解,可以移除图9所例示的例程900的步骤中的一个或多于一个,或者可以改变步骤的次序。此外,为了说明清楚示例的目的,在各个数据流阶段期间进行各种操作的上下文中描述一个或多于一个特定系统组件。然而,可以使用其他系统布置以及跨系统组件的处理步骤的分布。
在框902处,MPC系统500可以接收与运载工具的环境相关联的运载工具环境数据。例如,如本文所述,MPC系统500可以从定位系统406(连续地或周期性地)接收自我508的状态,以及/或者从感知系统402和/或基于来自数据库410的2D和/或3D地图接收其他运载工具510的状态、其他对象512的状态、局部边界514和/或行驶方向516。
在框904处,MPC系统500可以使用运载工具环境数据来确定环境的占位地图,该占位地图识别环境中的至少一个障碍物。例如,如本文所述,MPC系统500的占位地图引擎502B可以异步地获得运载工具环境数据,将该数据变换到地图坐标系中,并且生成(具有可微占位地图评估的)占位地图。
在框906处,MPC系统500可以生成到运载工具的目的地地点的参考路径。例如,如本文所述,MPC系统500的参考路径引擎502A使用基于采样的例程可以异步地生成参考路径。
在框908处,MPC系统500可以至少部分地基于参考路径和纵向方向变量来确定到占位地图中的中间地点的行驶路径,其中中间地点接近参考路径上的点。例如,如本文所述,MPC系统500可以生成潜在路径,确定潜在路径的成本,并且选择最低成本潜在路径作为行驶路径。可替代地,MPC系统500可以使用MPC求解器并根据方程(1)至(13)来确定最低成本行驶路径。
在框910处,MPC系统500可以至少部分地基于行驶路径来生成针对运载工具的致动命令。例如,如本文所述,MPC系统500可以根据自主运载工具在行驶路径上的行进来确定转向角和转向角变化率。
在先前描述中,已经参考许多具体细节描述了本公开的方面和实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
示例
条款1.一种方法,包括:接收与运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
条款2.根据条款1所述的方法,还包括:确定所述运载工具在物理坐标系中的物理地点;以及通过将所述运载工具的物理地点从所述物理坐标系变换到所述占位地图的坐标系来确定所述运载工具的占位地图地点,其中,确定到所述中间地点的行驶路径包括:使用所述运载工具的所述占位地图地点来确定到所述中间地点的行驶路径。
条款3.根据条款2所述的方法,还包括:将所述参考路径从所述物理坐标系变换到所述占位地图的坐标系,其中至少部分地基于所述参考路径和所述纵向方向变量来确定到所述占位地图中的中间地点的行驶路径包括:使用所述占位地图的坐标系中的参考路径来确定到所述占位地图中的中间地点的行驶路径;以及将所述行驶路径从所述占位地图的坐标系变换到所述物理坐标系,其中至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令包括:使用所述物理坐标系中的行驶路径来生成针对所述运载工具的致动命令。
条款4.根据条款1至3中任一项所述的方法,其中,所述纵向方向变量包括某范围的连续数。
条款5.根据条款4所述的方法,其中,满足数值阈值的连续数表示第一纵向方向,并且不满足所述数值阈值的连续数表示第二纵向方向。
条款6.根据条款5所述的方法,其中,所述第一纵向方向是前进,并且所述第二纵向方向是后退。
条款7.根据条款1至6中任一项所述的方法,还包括:使用所述占位地图来生成至少一个可微占位地图评估,其中确定到所述中间地点的行驶路径包括:使用所述至少一个可微占位地图评估来确定到所述中间地点的行驶路径。
条款8.根据条款7所述的方法,其中,生成所述至少一个可微占位地图评估包括:将至少一个三阶B样条基函数应用于所述占位地图。
条款9.根据条款1至8中任一项所述的方法,其中,确定所述行驶路径包括:至少部分地基于所述运载工具的至少一个物理约束以及多个可变控制输入的变化来确定多个潜在路径;至少部分地基于加权策略来确定与所述多个潜在路径中的各潜在路径相关联的成本;以及至少部分地基于所确定的与所述多个潜在路径中的各潜在路径相关联的成本,从所述多个潜在路径中选择所述行驶路径。
条款10.根据条款9所述的方法,其中,所述运载工具的所述至少一个物理约束包括所述运载工具的方向盘的操作角度。
条款11.根据条款9所述的方法,其中,所述多个潜在路径中的各潜在路径包括多个单位距离步长,以及其中,所述多个单位距离步长中的各单位距离步长与至少一个可变控制输入相关联。
条款12.根据条款9所述的方法,其中,所述至少一个物理约束将所述行驶路径的笛卡尔解空间约束在与所述参考路径相距预定距离的区域内。
条款13.根据条款9所述的方法,其中,所述至少一个物理约束将运载工具航向约束在相对于所述参考路径上的给定点的预定航向范围内。
条款14.根据条款9所述的方法,其中,至少部分地基于所述加权策略来确定与所述多个潜在路径中的各潜在路径相关联的成本包括:确定所述多个潜在路径中的各潜在路径的无碰撞运动成本、舒适成本和跟踪成本。
条款15.根据条款14所述的方法,其中,所述无碰撞运动成本是基于针对运载工具覆盖区的点集合中的各点相对于所述环境中的至少一个障碍物的、针对所有预测步长的成本的累积。
条款16.根据条款14所述的方法,其中,所述舒适成本是至少基于在各预测步长处所述纵向方向变量的变化率和转向角的变化率。
条款17.根据条款14所述的方法,其中,所述跟踪成本是基于在各预测步长处、在跟踪目标地点处与所述参考路径的参考航向的第一差以及在所述跟踪目标地点处与所述参考路径的参考地点的第二差。
条款18.根据条款14所述的方法,其中,所述加权策略包括针对所述无碰撞运动成本、所述舒适成本和所述跟踪成本的多个权重,以及其中,针对所述跟踪成本的所述多个权重中的权重集合包括针对最终预测步长之前的中间预测步长的中间权重和针对所述最终预测步长的最终权重,其中所述中间权重实质上小于所述最终权重。
条款19.一种系统,包括:至少一个处理器;以及存储有指令的至少一个非暂时性存储介质,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作:接收与运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
条款20.至少一个非暂时性存储介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行以下操作:接收与运载工具的环境相关联的运载工具环境数据;使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;生成到所述运载工具的目的地地点的参考路径;至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
相关申请的交叉引用
本申请要求2022年4月20日提交的标题为“BIDIRECTIONAL PATH OPTIMIZATIONIN AGRID”的美国临时专利申请63/332,976的权益,其全部内容通过引用而被并入本文。
Claims (20)
1.一种用于运载工具的方法,包括:
接收与所述运载工具的环境相关联的运载工具环境数据;
使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;
生成到所述运载工具的目的地地点的参考路径;
至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及
至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
2.根据权利要求1所述的方法,还包括:
确定所述运载工具在物理坐标系中的物理地点;以及
通过将所述运载工具的物理地点从所述物理坐标系变换到所述占位地图的坐标系来确定所述运载工具的占位地图地点,
其中,确定到所述中间地点的行驶路径包括:使用所述运载工具的所述占位地图地点来确定到所述中间地点的行驶路径。
3.根据权利要求2所述的方法,还包括:
将所述参考路径从所述物理坐标系变换到所述占位地图的坐标系,其中至少部分地基于所述参考路径和所述纵向方向变量来确定到所述占位地图中的中间地点的行驶路径包括:使用所述占位地图的坐标系中的参考路径来确定到所述占位地图中的中间地点的行驶路径;以及
将所述行驶路径从所述占位地图的坐标系变换到所述物理坐标系,其中至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令包括:使用所述物理坐标系中的行驶路径来生成针对所述运载工具的致动命令。
4.根据权利要求1至3中任一项所述的方法,其中,所述纵向方向变量包括某范围的连续数。
5.根据权利要求4所述的方法,其中,满足数值阈值的连续数表示第一纵向方向,并且不满足所述数值阈值的连续数表示第二纵向方向。
6.根据权利要求5所述的方法,其中,所述第一纵向方向是前进,并且所述第二纵向方向是后退。
7.根据权利要求1至6中任一项所述的方法,还包括:使用所述占位地图来生成至少一个可微占位地图评估,其中确定到所述中间地点的行驶路径包括:使用所述至少一个可微占位地图评估来确定到所述中间地点的行驶路径。
8.根据权利要求7所述的方法,其中,生成所述至少一个可微占位地图评估包括:将至少一个三阶B样条基函数应用于所述占位地图。
9.根据权利要求1至8中任一项所述的方法,其中,确定所述行驶路径包括:
至少部分地基于所述运载工具的至少一个物理约束以及多个可变控制输入的变化来确定多个潜在路径;
至少部分地基于加权策略来确定与所述多个潜在路径中的各潜在路径相关联的成本;以及
至少部分地基于所确定的与所述多个潜在路径中的各潜在路径相关联的成本,从所述多个潜在路径中选择所述行驶路径。
10.根据权利要求9所述的方法,其中,所述运载工具的所述至少一个物理约束包括所述运载工具的方向盘的操作角度。
11.根据权利要求9所述的方法,其中,所述多个潜在路径中的各潜在路径包括多个单位距离步长,以及其中,所述多个单位距离步长中的各单位距离步长与至少一个可变控制输入相关联。
12.根据权利要求9所述的方法,其中,所述至少一个物理约束将所述行驶路径的笛卡尔解空间约束在与所述参考路径相距预定距离的区域内。
13.根据权利要求9所述的方法,其中,所述至少一个物理约束将运载工具航向约束在相对于所述参考路径上的给定点的预定航向范围内。
14.根据权利要求9所述的方法,其中,至少部分地基于所述加权策略来确定与所述多个潜在路径中的各潜在路径相关联的成本包括:确定所述多个潜在路径中的各潜在路径的无碰撞运动成本、舒适成本和跟踪成本。
15.根据权利要求14所述的方法,其中,所述无碰撞运动成本是基于针对运载工具覆盖区的点集合中的各点相对于所述环境中的至少一个障碍物的、针对所有预测步长的成本的累积。
16.根据权利要求14所述的方法,其中,所述舒适成本是至少基于在各预测步长处所述纵向方向变量的变化率和转向角的变化率。
17.根据权利要求14所述的方法,其中,所述跟踪成本是基于在各预测步长处、在跟踪目标地点处与所述参考路径的参考航向的第一差以及在所述跟踪目标地点处与所述参考路径的参考地点的第二差。
18.根据权利要求14所述的方法,其中,所述加权策略包括针对所述无碰撞运动成本、所述舒适成本和所述跟踪成本的多个权重,以及其中,针对所述跟踪成本的所述多个权重中的权重集合包括针对最终预测步长之前的中间预测步长的中间权重和针对所述最终预测步长的最终权重,其中所述中间权重实质上小于所述最终权重。
19.一种用于运载工具的系统,包括:
至少一个处理器;以及
存储有指令的至少一个非暂时性存储介质,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器进行以下操作:
接收与所述运载工具的环境相关联的运载工具环境数据;
使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;
生成到所述运载工具的目的地地点的参考路径;
至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及
至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
20.至少一个非暂时性存储介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行以下操作:
接收与运载工具的环境相关联的运载工具环境数据;
使用所述运载工具环境数据来确定所述环境的占位地图,所述占位地图识别所述环境中的至少一个障碍物;
生成到所述运载工具的目的地地点的参考路径;
至少部分地基于所述参考路径和纵向方向变量来确定到所述占位地图中的中间地点的行驶路径,其中所述中间地点接近所述参考路径上的点;以及
至少部分地基于所述行驶路径来生成针对所述运载工具的致动命令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/332,976 | 2022-04-20 | ||
US17/744,252 | 2022-05-13 | ||
US17/744,252 US20230339505A1 (en) | 2022-04-20 | 2022-05-13 | Bidirectional path optimization in a grid |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116907520A true CN116907520A (zh) | 2023-10-20 |
Family
ID=88360826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211609812.7A Withdrawn CN116907520A (zh) | 2022-04-20 | 2022-12-14 | 用于运载工具的方法和系统以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116907520A (zh) |
-
2022
- 2022-12-14 CN CN202211609812.7A patent/CN116907520A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11295477B1 (en) | Deep learning-based camera calibration | |
US20220355825A1 (en) | Predicting agent trajectories | |
US11640562B1 (en) | Counterexample-guided update of a motion planner | |
CN116580366A (zh) | 用于运载工具的方法、系统和存储介质 | |
WO2023249857A1 (en) | Semi-closed loop rollouts for data augmentation | |
CN116892931A (zh) | 用于运载工具的方法、系统和可读介质 | |
US20230339505A1 (en) | Bidirectional path optimization in a grid | |
CN116907520A (zh) | 用于运载工具的方法和系统以及存储介质 | |
US11634158B1 (en) | Control parameter based search space for vehicle motion planning | |
US20230227032A1 (en) | Vehicle Dynamics Classification for Collision and Loss of Control Detection | |
US11643108B1 (en) | Generating corrected future maneuver parameters in a planner | |
US20240051568A1 (en) | Discriminator network for detecting out of operational design domain scenarios | |
US20230063368A1 (en) | Selecting minimal risk maneuvers | |
US20230382427A1 (en) | Motion prediction in an autonomous vehicle using fused synthetic and camera images | |
US20230294741A1 (en) | Agent importance prediction for autonomous driving | |
US20240126254A1 (en) | Path selection for remote vehicle assistance | |
US20230159054A1 (en) | Encoding homotopy constraints in spatio-temporal grids | |
US20240123996A1 (en) | Methods and systems for traffic light labelling via motion inference | |
US20230169780A1 (en) | Automatically detecting traffic signals using sensor data | |
US20240124016A1 (en) | Ensemble-based vehicle motion planner | |
Paul et al. | A Comprehensive Review of Navigation System, Design, and Safety Issues for Autonomous Vehicle Development | |
WO2024035738A1 (en) | Methods and systems for obstacle representation | |
WO2024073608A1 (en) | Motion forecasting in autonomous vehicles using a machine learning model trained with cycle consistency loss | |
WO2023028437A1 (en) | Selecting minimal risk maneuvers | |
CN116125965A (zh) | 用于运载工具的系统和方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20231020 |