CN113165668A - 利用机器学习使用运动规划来操作运载工具 - Google Patents
利用机器学习使用运动规划来操作运载工具 Download PDFInfo
- Publication number
- CN113165668A CN113165668A CN201980077613.6A CN201980077613A CN113165668A CN 113165668 A CN113165668 A CN 113165668A CN 201980077613 A CN201980077613 A CN 201980077613A CN 113165668 A CN113165668 A CN 113165668A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- motion
- motion segment
- constraints
- operating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 284
- 238000010801 machine learning Methods 0.000 title claims abstract description 99
- 239000013598 vector Substances 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000003860 storage Methods 0.000 claims description 22
- 230000001133 acceleration Effects 0.000 claims description 18
- 230000036461 convulsion Effects 0.000 claims description 6
- 230000000386 athletic effect Effects 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 2
- 238000004220 aggregation Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000004931 aggregating effect Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 36
- 230000015654 memory Effects 0.000 description 28
- 238000012549 training Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000008447 perception Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000001556 precipitation Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010001488 Aggression Diseases 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000016571 aggressive behavior Effects 0.000 description 1
- 208000012761 aggressive behavior Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000010344 pupil dilation Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 231100000430 skin reaction Toxicity 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- G—PHYSICS
- 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/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/10—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
- B60W40/105—Speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0013—Planning or execution of driving tasks specially adapted for occupant comfort
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
- B60W60/0016—Planning or execution of driving tasks specially adapted for safety of the vehicle or its occupants
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
- B60W60/0017—Planning or execution of driving tasks specially adapted for safety of other traffic participants
-
- 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/3602—Input other than that of destination using image analysis, e.g. detection of road signs, lanes, buildings, real preceding vehicles using a camera
-
- 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/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/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/228—Command input arrangements located on-board unmanned vehicles
-
- 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/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- 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/80—Arrangements for reacting to or preventing system or operator failure
- G05D1/81—Handing over between on-board automatic and on-board manual control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0004—In digital systems, e.g. discrete-time systems involving sampling
- B60W2050/0005—Processor details or data handling, e.g. memory registers or chip architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2520/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2555/00—Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
- B60W2555/60—Traffic rules, e.g. speed limits or right of way
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2400/00—Special features of vehicle units
- B60Y2400/30—Sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Aviation & Aerospace Engineering (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Game Theory and Decision Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Traffic Control Systems (AREA)
Abstract
一种使用机器学习利用运动规划来操作运载工具的技术,包括:使用位于环境内的运载工具的一个或多个处理器存储用于在环境内操作运载工具的多个约束。运载工具的一个或多个传感器接收用于描述环境的传感器数据。一个或多个处理器从所存储的多个约束和所接收的传感器数据中提取特征向量。特征向量包括用于描述位于环境内的对象的第一特征。使用运载工具的机器学习电路基于特征向量生成第一运动段。所存储的多个约束的违反次数低于阈值。一个或多个处理器根据所生成的第一运动段来操作运载工具。
Description
相关申请的交叉引用
本申请要求于2018年12月18日提交的美国临时申请62/781,573的权益。
技术领域
本说明书通常涉及运载工具的操作,并且具体涉及利用机器学习使用运动规划来操作运载工具。
背景技术
运载工具从初始地点到最终目的地的导航通常需要用户或运载工具的决策系统选择通过路网从初始地点到最终目的地的路线。该路线可能涉及满足诸如不超过最大驾驶时间等的目标。然而,复杂的路线可能需要许多决策,这使得传统的路线选择算法不切实际。有时使用传统的贪婪算法来选择从初始地点到最终目的地的有向图上的路线。然而,如果道路上的大量其它运载工具使用这种贪婪算法,则所选择的路线可能变得超载并且行驶可能变慢。另外,停放的运载工具、建筑区域和行人的存在使路线选择和导航变得复杂。
发明内容
提供了利用机器学习使用运动规划(例如,最小违反运动规划)来操作运载工具的技术。该技术包括使用位于环境内的运载工具的一个或多个处理器来存储用于在环境内操作运载工具的多个约束。运载工具的一个或多个传感器接收描述环境的传感器数据。一个或多个处理器从所存储的多个约束和所接收的传感器数据中提取特征向量。特征向量包括描述位于环境内的对象的第一特征。运载工具的机器学习电路用于基于特征向量生成第一运动段。对所存储的多个约束的违反次数低于阈值。一个或多个处理器根据所生成的第一运动段来操作运载工具。
这些技术还包括使用一个或多个处理器存储用于操作运载工具的多个约束。一个或多个处理器接收用于操作运载工具的多个运动段。多个运动段中的至少第一运动段包括运载工具要行驶的距离。针对所接收的多个运动段中的各运动段,确定对所存储的多个约束的相应违反次数。机器学习电路根据所存储的多个约束和所接收的多个运动段来生成第二运动段。第二运动段对所存储的多个约束的违反次数小于所接收的多个运动段中的各运动段对所存储的多个约束的违反次数。根据第二运动段操作运载工具。
这些和其它方面、特征和实现可被表示为方法、设备、系统、组件、程序产品、用于进行功能的方法或步骤以及其它方式。
从以下的包括权利要求书的说明书,这些和其它方面、特征和实现将变得明显。
附图说明
图1例示根据一个或多个实施例的具有自主能力的自主运载工具(AV)的示例。
图2例示根据一个或多个实施例的示例“云”计算环境。
图3例示根据一个或多个实施例的计算机系统。
图4例示根据一个或多个实施例的用于AV的示例架构。
图5例示根据一个或多个实施例的可由感知模块使用的输入和输出的示例。
图6例示根据一个或多个实施例的LiDAR系统的示例。
图7例示根据一个或多个实施例的操作中的LiDAR系统。
图8更详细地例示根据一个或多个实施例的LiDAR系统的操作。
图9例示根据一个或多个实施例的规划模块的输入和输出之间的关系的框图。
图10例示根据一个或多个实施例的在路径规划中使用的有向图。
图11例示根据一个或多个实施例的控制模块的输入和输出的框图。
图12例示根据一个或多个实施例的控制器的输入、输出和组件的框图。
图13例示根据一个或多个实施例的利用机器学习使用运动规划的运载工具的操作环境的框图。
图14例示根据一个或多个实施例的运载工具违反较低排名约束以避免与对象碰撞的示例。
图15例示根据一个或多个实施例的用于运载工具的操作的机器学习架构的框图。
图16例示根据一个或多个实施例的利用机器学习使用运动规划来操作运载工具的处理。
图17例示根据一个或多个实施例的利用机器学习使用运动规划来操作运载工具的替代处理。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.系统概述
3.自主运载工具架构
4.自主运载工具输入
5.自主运载工具规划
6.自主运载工具控制
7.利用机器学习的运动规划的操作环境
8.避免碰撞的约束违反的示例
9.运动规划的机器学习架构
10.利用运动规划操作运载工具的处理
总体概述
自主运载工具(AV)在环境内操作期间使用传感器来检测对象并确定与对象的距离。传感器包括诸如照相机和LiDAR等的视觉传感器。LiDAR是一种遥感装置,其使用脉冲激光束栅格来测量从对象到装置的距离。为了操作AV,AV的视觉传感器用于接收表示环境的传感器数据。AV的一个或多个处理器用于存储在环境内操作运载工具的约束。例如,约束可以指定AV的最大速率。处理器从约束和所接收的传感器数据中提取特征向量。特征向量包括描述位于环境内的对象的第一特征。例如,第一特征可以描述对象的位置或速率。运载工具的机器学习电路用于基于特征向量生成第一运动段。生成第一运动段,使得第一运动段对约束的违反次数低于阈值。一个或多个处理器根据所生成的第一运动段来操作运载工具。
系统概述
图1示出具有自主能力的自主运载工具100的示例。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全自主运载工具、高度自主运载工具和有条件自主运载工具。
如本文所使用的,自主运载工具(AV)是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,RAM和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿过的部分,并且可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的一些空间(例如,小于50%)。例如,具有相距远的车道标记的道路可能在标记之间容纳两个或更多个运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,并且因此可被解释为具有比车道标记之间的空间窄的车道,或具有车道之间的两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如乡村区域沿着通道的岩石和树木)来定义车道。
“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV系统是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV系统并入在AV内。在实施例中,AV系统跨若干地点分布。例如,AV系统的一些软件是在类似于下面关于图2描述的云计算环境200的云计算环境中实现的。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全自主运载工具、高度自主运载工具和有条件自主运载工具,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分自主运载工具和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第4级和第5级运载工具系统可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全自主运载工具到人类操作的运载工具范围内的任何级别的运载工具受益。
参考图1,AV系统120使AV 100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV系统120包括被装备以从计算机处理器146接收操作命令并对其进行操作的装置101。在实施例中,计算处理器146与下面参考图3描述的处理器304类似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV系统120包括用于测量或推断AV 100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和线加速度、角速度和角加速度、以及航向(例如,AV 100的前端的方向)。传感器121的示例是GNSS、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122,LiDAR 123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
在实施例中,AV系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到AV 100。
在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV系统120。在实施例中,远程数据库134嵌入在如图2中所描述的云计算环境200中。通信接口140将从传感器121收集的数据或与AV 100操作有关的其它数据传输到远程数据库134。在实施例中,通信接口140向AV 100传输与遥操作有关的信息。在一些实施例中,AV 100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV 100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。在一个实现中,这种数据可以存储在AV 100上的存储器144中,或者通过通信信道从远程数据库134传输到AV100。
位于AV 100上的计算装置146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV系统120执行其自主驾驶能力。
在实施例中,AV系统120包括耦接到计算装置146的计算机外围设备132,用于向AV100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,外围设备132类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
示例云计算环境
图2例示示例“云”计算环境。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算系统中,一个或多个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机系统206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,并且每行包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成若干组。在实施例中,服务器节点类似于图3中描述的计算机系统。数据中心204a具有许多分布在多个机架上的计算系统。
云202包括云数据中心204a、204b和204c以及用于连接云数据中心204a、204b和204c并有助于促进计算系统206a-f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(Frame Relay)等)进行传输。此外,在网络表示多个子网络的组合的实施例中,在每个底层子网络上使用不同的网络层协议。在一些实施例中,网络表示一个或多个互连网际网络(诸如公共因特网等)。
计算系统206a-f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算系统206a-f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、自主运载工具(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算系统206a-f在其它系统中实现或作为其它系统的一部分实现。
计算机系统
图3例示计算机系统300。在实现中,计算机系统300是一种专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机系统、便携式计算机系统、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。
在实施例中,计算机系统300包括总线302或用于传达信息的其它通信机制、以及与总线302耦接以处理信息的硬件处理器304。硬件处理器304是例如通用微处理器。计算机系统300还包括主存储器306,诸如随机存取存储器(RAM)或其它动态存储装置,该主存储器306耦接到总线302以存储信息和指令,该信息和指令由处理器304执行。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器304可访问的非暂时性存储介质中时,使计算机系统300变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机系统300还包括只读存储器(ROM)308或耦接到总线302的其它静态存储装置,用于存储处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置310,并且该存储装置310耦接到总线302以存储信息和指令。
在实施例中,计算机系统300通过总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接到总线302,用于向处理器304传送信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器304,并用于控制光标在显示器312上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
根据一个实施例,本文的技术由计算机系统300响应于处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列而执行。这些指令从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置310的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线302的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器304以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统300的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机系统300还包括耦接到总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机系统300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机系统300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机系统300接收用于处理的代码。接收到的代码在接收到时由处理器304执行,和/或存储在存储装置310中,或存储在其它非易失性存储装置中以便以后执行。
自主运载工具架构
图4例示用于自主运载工具(例如,图1所示的AV 100)的示例架构400。架构400包括感知模块402(有时称为感知电路)、规划模块404(有时称为规划电路)、控制模块406(有时称为控制电路)、定位模块408(有时称为定位电路)和数据库模块410(有时称为数据库电路)。各模块在AV 100的操作中发挥作用。共同地,模块402、404、406、408和410可以是图1所示的AV系统120的一部分。在一些实施例中,模块402、404、406、408和410中的任何模块是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。
在使用中,规划模块404接收表示目的地412的数据,并且确定表示AV 100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线)的数据。为了使规划模块404确定表示轨迹414的数据,规划模块404从感知模块402、定位模块408和数据库模块410接收数据。
感知模块402使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划模块404。
规划模块404还从定位模块408接收表示AV位置418的数据。定位模块408通过使用来自传感器121的数据和来自数据库模块410的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位模块408使用来自GNSS(全球导航卫星系统)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位模块408所使用的数据包括具有行车道几何属性的高精度地图、描述路网连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。
控制模块406接收表示轨迹414的数据和表示AV位置418的数据,并且以将使得AV100行驶轨迹414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转,则控制模块406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得AV 100左转,并且油门和制动将使得AV 100在进行转弯之前暂停并等待经过的行人或运载工具。
自主运载工具输入
图5例示感知模块402(图4)所使用的输入502a-502d(例如,图1中所示的传感器121)和输出504a-504d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)系统(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)来获得与其视线中的物理对象有关的数据的技术。LiDAR系统产生LiDAR数据作为输出504a。例如,LiDAR数据是用于构造环境190的表示的3D或2D点(也称为点云)的集合。
另一输入502b是RADAR(雷达)系统。RADAR是使用无线电波来获得与附近的物理对象有关的数据的技术。RADAR可以获得与不在LiDAR系统的视线内的对象有关的数据。RADAR系统502b产生RADAR数据作为输出504b。例如,RADAR数据是用于构造环境190的表示的一个或多个射频电磁信号。
另一输入502c是照相机系统。照相机系统使用一个或多个照相机(例如,使用诸如电荷耦合器件[CCD]等的光传感器的数字照相机)来获取与附近的物理对象有关的信息。照相机系统产生照相机数据作为输出504c。照相机数据通常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。在一些示例中,照相机系统具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机系统能够感知深度。尽管照相机系统所感知的对象在这里被描述为“附近”,但这是相对于AV而言的。在使用中,照相机系统可被配置为“看见”远处的(例如,AV前方的远至1公里或更远的)对象。因此,照相机系统可以具有为了感知遥远的对象而优化的诸如传感器和镜头等的特征。
另一输入502d是交通灯检测(TLD)系统。TLD系统使用一个或多个照相机来获得与交通灯、街道标志和提供视觉导航信息的其它物理对象有关的信息。TLD系统产生TLD数据作为输出504d。TLD数据经常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。TLD系统与包含照相机的系统的不同之处在于:TLD系统使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉导航信息的物理对象有关的信息,使得AV 100能够访问这些对象所提供的所有相关导航信息。例如,TLD系统的视角可以为约120度或更大。
在一些实施例中,使用传感器融合技术来组合输出504a-504d。因而,将个体输出504a-504d提供至AV 100的其它系统(例如,提供至如图4所示的规划模块404),或者可以采用相同类型的单个组合输出或多个组合输出(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型的单个组合输出或多个组合输出(例如,使用不同的各个组合技术或组合不同的各个输出或者这两者)的形式,将组合输出提供至其它系统。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:在将一个或多个数据处理步骤应用到组合输出之前,将输出组合。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将输出组合。
图6例示LiDAR系统602的示例(例如,图5所示的输入502a)。LiDAR系统602从发光器606(例如,激光发射器)发射光604a-604c。LiDAR系统所发射的光通常不在可见光谱中;例如,经常使用红外光。所发射的光604b中的一些光遇到物理对象608(例如,运载工具)并且反射回到LiDAR系统602。(从LiDAR系统发射的光通常不会穿透物理对象,例如,实心形式的物理对象。)LiDAR系统602还具有用于检测反射光的一个或多个光检测器610。在实施例中,与LiDAR系统相关联的一个或多个数据处理系统生成表示LiDAR系统的视场614的图像612。图像612包括表示物理对象608的边界616的信息。这样,图像612用于确定AV附近的一个或多个物理对象的边界616。
图7例示操作中的LiDAR系统602。在该图所示的情境中,AV 100接收采用图像702的形式的照相机系统输出504c和采用LiDAR数据点704的形式的LiDAR系统输出504a两者。在使用中,AV 100的数据处理系统将图像702与数据点704进行比较。特别地,在数据点704中也识别在图像702中识别出的物理对象706。这样,AV 100基于数据点704的轮廓和密度来感知物理对象的边界。
图8例示LiDAR系统602的操作的附加细节。如上所述,AV 100基于LiDAR系统602所检测到的数据点的特性来检测物理对象的边界。如图8所示,诸如地面802等的平坦对象将以一致的方式反射从LiDAR系统602发射的光804a-804d。换句话说,由于LiDAR系统602使用一致的间隔发射光,因此地面802将以相同的一致间隔将光反射回到LiDAR系统602。在AV100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR系统602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR系统602所发射的光804e-804f将以与预期一致方式不一致的方式从点810a-810b反射。根据该信息,AV 100可以确定存在对象808。
路径规划
图9例示(例如,如图4所示的)规划模块404的输入和输出之间的关系的框图900。一般而言,规划模块404的输出是从起点904(例如,源地点或初始地点)到终点906(例如,目的地或最终地点)的路线902。路线902通常由一个或多个路段定义。例如,路段是指要在街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果AV 100是诸如四轮驱动(4WD)或全轮驱动(AWD)小汽车、SUV或小卡车等的能够越野的运载工具,则路线902包括诸如未铺面路径或开阔田野等的“越野”路段。
除路线902之外,规划模块还输出车道级路线规划数据908。车道级路线规划数据908用于在特定时间基于路线902的路段的条件来驶过这些路段。例如,如果路线902包括多车道公路,则车道级路线规划数据908包括轨迹规划数据910,其中AV 100可以使用该轨迹规划数据910以例如基于出口是否临近、多个车道中的一个或多个车道是否存在其它运载工具、或者在几分钟或更少时间的过程中变化的其它因素来从这多个车道中选择某车道。类似地,在一些实现中,车道级路线规划数据908包括路线902的某路段特有的速率约束912。例如,如果该路段包括行人或非预期交通,则速率约束912可以将AV 100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
在实施例中,向规划模块404的输入包括(例如,来自图4所示的数据库模块410的)数据库数据914、当前地点数据916(例如,图4所示的AV位置418)、(例如,用于图4所示的目的地412的)目的地数据918和对象数据920(例如,如图4所示的感知模块402所感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在AV 100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于AV 100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10例示在路径规划中(例如,由规划模块404(图4))使用的有向图1000。一般而言,如图10所示的有向图那样的有向图1000用于确定任何起点1002和终点1004之间的路径。在现实世界中,分隔起点1002和终点1004的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两条车道)。
在实施例中,有向图1000具有表示起点1002和终点1004之间的AV 100可能占用的不同地点的节点1006a-1006d。在一些示例中,例如,在起点1002和终点1004表示不同的都市区域时,节点1006a-1006d表示道路的路段。在一些示例中,例如,在起点1002和终点1004表示相同道路上的不同地点时,节点1006a-1006d表示该道路上的不同位置。这样,有向图1000包括不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大规模的另一有向图的子图。例如,起点1002和终点1004相距远(例如,相距许多英里)的有向图的大部分信息处于低粒度,并且该有向图是基于所存储的数据,但该有向图还包括用于该有向图中的表示AV 100的视场中的物理地点的一部分的一些高粒度信息。
节点1006a-1006d不同于无法与节点重叠的对象1008a-1008b。在实施例中,在粒度低时,对象1008a-1008b表示汽车不能穿过的地区,例如无街道或道路的区域。在粒度高时,对象1008a-1008b表示AV 100的视场中的物理对象,例如其它汽车、行人、或AV 100不能与之共用物理空间的其它实体。在实施例中,对象1008a-1008b的一部分或全部是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,诸如行人或其它小汽车等)。
节点1006a-1006d通过边缘1010a-1010c连接。如果两个节点1006a-1006b通过边缘1010a连接,则AV 100可以在一个节点1006a和另一节点1006b之间行驶,例如,而不必在到达另一节点1006b之前行驶到中间节点。(当提到AV 100在节点之间行驶时,意味着AV100在由相应节点表示的两个物理位置之间行驶。)边缘1010a-1010c通常是双向的,从某种意义上,AV 100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边缘1010a-1010c是单向的,从某种意义上,AV 100可以从第一节点行驶到第二节点,然而AV 100不能从第二节点行驶到第一节点。在边缘1010a-1010c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或物理约束因而仅能沿一个方向穿过的其它特征的情况下,边缘1010a-1010c是单向的。
在实施例中,规划模块404使用有向图1000来识别由起点1002和终点1004之间的节点和边缘组成的路径1012。
边缘1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在AV 100选择该边缘的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边缘1010a所表示的物理距离是另一边缘1010b所表示的物理距离的两倍,则第一边缘1010a的关联成本1014a可以是第二边缘1010b的关联成本1014b的两倍。影响时间的其它因素包括预期交通、交叉口的数量、限速等。另一典型的资源是燃料经济性。两个边缘1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边缘1010a与另一边缘1010b相比需要更多的燃料。
在规划模块404识别起点1002和终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,在将边缘的个体成本相加到一起时具有最小总成本的路径。
自主运载工具控制
图11例示(例如,如图4所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102而操作,该控制器1102例如包括:与处理器304类似的一个或多个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多个计算机处理器);与主存储器306、ROM 308和存储装置310类似的短期和/或长期数据存储装置(例如,存储器,随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多个处理器)执行时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4所示的)规划模块404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合AV 100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合AV 100的制动器(例如,减速控制)的数据。转向输入1108表示转向角度,例如AV的转向控制(例如,方向盘、转向角致动器或用于控制转向角度的其它功能)应被定位成实现期望输出1104的角度。
在实施例中,控制器1102接收在调整提供至油门和转向的输入时使用的反馈。例如,如果AV 100遇到诸如山丘等的干扰1110,则AV 100的测量速率1112降至低于期望输出速率。在实施例中,任何测量输出1114均被提供至控制器1102,使得例如基于测量速率和期望输出之间的差分1113来进行所需的调整。测量输出1114包括测量位置1116、测量速度1118(包括速率和航向)、测量加速度1120和AV 100的传感器可测量的其它输出。
在实施例中,例如通过诸如照相机或LiDAR传感器等的传感器预先检测与干扰1110有关的信息,并且该信息被提供至预测性反馈模块1122。然后,预测性反馈模块1122将控制器1102可用于相应地调整的信息提供至控制器1102。例如,如果AV 100的传感器检测到(“看见”)山丘,则控制器1102可以使用该信息来准备在适当时间接合油门,以避免显著减速。
图12例示控制器1102的输入、输出和组件的框图1200。控制器1102具有影响油门/制动器控制器1204的操作的速率分析器1202。例如,速率分析器1202根据例如由控制器1102接收到并由速率分析器1202处理后的反馈,来指示油门/制动器控制器1204使用油门/制动器1206进行加速或进行减速。
控制器1102还具有影响方向盘控制器1210的操作的横向跟踪控制器1208。例如,横向跟踪控制器1208根据例如由控制器1102接收到并由横向跟踪控制器1208处理后的反馈,来指示方向盘控制器1210调整转向角致动器1212的位置。
控制器1102接收用于确定如何控制油门/制动器1206和转向角致动器1212的若干输入。规划模块404提供控制器1102例如选择AV 100开始操作时的航向并确定在AV 100到达交叉口时穿过哪个道路路段所使用的信息。定位模块408例如将描述AV 100的当前地点的信息提供至控制器1102,使得控制器1102可以确定AV 100是否处于基于正控制油门/制动器1206和转向角致动器1212的方式而预期的地点。在实施例中,控制器1102接收来自其它输入1214的信息,例如从数据库、计算机网络等接收到的信息。
利用机器学习的运动规划的操作环境
图13例示根据一个或多个实施例的利用机器学习使用运动规划的AV 1308的操作环境1304。操作环境1304包括AV 1308和运载工具1316。操作环境1304表示地理区域,诸如州、城镇、临近地区、或者路网或路段。操作环境1304可以是上文参考图1例示和描述的环境190的示例。在其它实施例中,操作环境1304包括除本文描述的对象之外的附加对象。
操作环境1304包括作为AV 1308外部的物理实体的对象。对象可以是静态或动态的。静态对象可以包括但不限于:道路路段、交通信号、建筑物、位于道路路段上的停车空间、公路出口或入口坡道、邻近可驾驶区域的路缘、将可驾驶区域的两个车道分开的中线、以及在环境1304内不移动的任何其它对象。动态对象可以包括但不限于:未停放的另一运载工具、行人、骑车者和在环境1304内移动的任何其它对象。运载工具1316是动态对象的示例。
在驾驶模式中,AV 1308使用传感器数据1352(例如,LiDAR数据或立体照相机数据)来检测并分类或标记环境1304中的静态对象和动态对象。经分类/标记的对象及其动态特性(如果有的话,例如位置、速度或航向)由规划模块1336使用以预测AV 1308与操作环境1304内的对象(例如,运载工具1316)之间的碰撞、生成通过环境1304的安全轨迹、并且操作AV 1308以沿着安全轨迹驾驶通过操作环境1304。
当沿着轨迹行驶时,AV 1308的一个或多个视觉传感器1344接收描述环境1304的传感器数据1352。视觉传感器1344感测环境1304的状态(诸如运载工具1316的存在和结构等),并将传感器数据1352和表示状态的语义数据传输到规划模块1336。视觉传感器1344通信地耦接到规划模块1336以传输传感器数据1352和语义数据。视觉传感器1344包括可见光、红外或热(或两者兼有)光谱的一个或多个单目或立体摄像机、LiDAR、RADAR、超声波传感器、飞行时间(TOF)深度传感器,并且可以包括温度传感器、湿度传感器和降水传感器。视觉传感器1344可以是以上参考图1例示和描述的传感器122-123的示例。
在一个实施例中,传感器数据1352包括LiDAR点云数据或照相机图像。AV 1308的LiDAR传感器用于利用脉冲激光照射目标(例如,运载工具1316)并且测量反射脉冲。然后,可以使用激光返回时间及波长的差来生成传感器数据1352并创建运载工具1316的数字3D表示。LiDAR点云数据的结构允许由规划模块1336处理大量原始测量数据。
在一个实施例中,规划模块1336使用运载工具1316的动态特性来估计运载工具1316的轨迹。规划模块1336还估计运载工具1316的所估计轨迹与AV 1308的计划轨迹之间的交叉的点和时间。规划模块1336确定运载工具1316的潜在行为,并且向各个潜在行为分配概率以确定AV 1308与运载工具1316碰撞的可能性。
除了确定轨迹以及交叉点和时间之外,规划模块1336还存储用于操作AV 1308的多个约束。各个约束限制AV 1308的操作。例如,约束可以是基于交通规则的AV 1308的最大限速。另一约束可以指定AV 1308必须在红灯处停止。规划模块1336可以从服务器136接收旨在增加由AV 1308的乘客传感器测量的乘客舒适性级别的一个或多个约束。例如,约束可以指定与由位于AV 1308上的乘客传感器测量的乘客舒适性级别相关联的AV 1308的最大速率或最大加速度。乘客传感器包括专用传感器以记录诸如乘客的面部表情、皮肤电导率、脉搏和心率、乘客的体温、瞳孔扩大和AV座位扶手上的压力等的数据。可以使用不同的传感器(例如,心率监测器、血压计、瞳孔计、红外温度计、或皮肤电反应传感器)或不同的传感器的组合来记录各类型的数据。规划模块1336基于由乘客传感器检测到的升高的心率或皮肤电导级别来确定运动约束。
在实施例中,用于操作AV 1308的约束以分层顺序排名,其中各个约束的排名与AV1308的导航安全性级别相对应。例如,指定50mph的最大限速的约束比指定AV 1308应当加速以避免与运载工具1316碰撞的约束排名更低。因此规划模块1336可以临时违反较低排名约束以便满足较高排名约束。
在一个实施例中,规划模块1336生成运动段的操作度量。运动段是AV 1308的期望操作可以被分解成的离散运动。例如,期望操作可以包括在没有碰撞的情况下离开交叉口。运动段可以包括AV 1308以40mph向前行驶或者将其定向改变30°。规划模块1336通过确定运动段对约束的违反次数的加权聚合来生成该运动段的操作度量。例如,约束可以指定AV1308应当以50mph的最大速率操作并且以15°的最大角度右转向。运动段可以包括AV 1308以25mph操作但是以20°的角度右转向。因此,规划模块1336将违反次数确定为1。为了生成操作度量,规划模块1336通过约束的排名对约束的各个违反进行加权。运动段的操作度量可以表示为OM=∑i(Ri×Vi),其中,Ri表示约束i的排名,并且Vi表示运动段是否违反了约束i。例如,如果未违反约束i,则Vi=0,并且如果违反了约束i,则Vi=1。
在一个实施例中,规划模块1336针对各个运动段生成多个操作度量。使用针对运动段的约束的相应违反次数来生成操作度量。例如,可以通过根据约束的排名或约束与导航安全性的关联对约束进行分组来生成操作度量。运动段的操作度量可以表示为(OM1,OM2,OM3),其中,OM1表示基于导航安全性的第一操作度量,OM2表示基于交通规则的第二操作度量,并且OM3表示基于乘客舒适性的第三操作度量。
根据操作度量与运载工具的导航安全性的关联,以分层顺序对各个操作度量进行排名。与避免AV 1308与运载工具1316的碰撞相关联的操作度量比与增加由AV 1308的乘客传感器所测量的乘客舒适性级别相关联的另一操作度量排名更高。例如,基于导航安全性的操作度量OM1比基于交通规则的操作度量OM2排名更高。进而,OM2排名高于基于乘客舒适性的操作度量OM3。
如上所述,运动段是AV 1308的期望操作可以被分解成的离散动作或运动。在一个实施例中,规划模块1336从服务器136接收用于操作AV 1308的多个运动段,或者使用其它方法生成用于操作AV 1308的多个运动段。用于生成运动段的其它方法可以包括基于栅格的搜索、基于区间的搜索或用于运动规划的几何算法。例如,运动段可以包括AV 1308在特定方向上行驶的距离d。在另一示例中,运动段包括AV 1308为了避免与运载工具1316的碰撞的定向。运动段可以包括环境1304的两个时空地点之间的轨迹。运动段可以包括AV 1308的避免AV 1308与运载工具1316的碰撞的速率。例如,规划模块1336确定为运载工具1316将要在t1秒内与AV 1308相距特定距离d1的交叉地点l1处穿过街道。避免碰撞运动的运动段可以包括基于(d1/t1)的AV 1308的速率,使得AV 1308可以在运载工具1316穿过街道之前安全地通过交叉地点l1。
在一个实施例中,规划模块1336确定针对各个运动段的约束的相应违反次数。规划模块1336可以模拟AV 1308的操作以确定针对各个运动段的相应违反次数。在其它实施例中,规划模块1336可以使用基于具有碰撞检查、随机化规划或约束优化和滚动时域控制的输入空间离散化的方法来确定针对各个运动段的相应违反次数。
规划模块从约束和所接收的传感器数据1352中提取特征向量。特征向量包括作为约束和传感器数据1352的紧凑、非冗余表示的一个或多个特征。例如,特征向量可以包括描述视觉传感器1344已识别的运载工具1316的结构或形状的特征。所提取的特征向量的特征可以包括运载工具1316的时空地点(坐标)、运载工具1316的速率(例如,25mph)或运载工具1316的定向(北)。
从约束中提取的特征可以包括AV 1308的最大限速、AV 1308的最大加速度限制、或AV 1308的最大急动度。AV 1308的急动度是指以m/s3表示的AV 1308的加速度的变化率或加速度的时间导数。AV 1308的最大限速、最大加速度和最大急动度与由AV 1308的乘客传感器测量的乘客舒适性级别相对应。例如,如果AV 1308的加速度减小,则乘客舒适性级别通常增加。如果AV 1308的急动度增加,则乘客舒适性级别通常降低。
所提取的特征向量的特征可以表示AV 1308根据特定运动段的操作是否引起交通灯违反。例如,运动段可能要求AV 1308在灯变红时加速并驾驶通过交通灯,以使AV 1308避免与在AV 1308处直行的运载工具1316碰撞。在这种情况下,规划模块1336确定为没有其它运载工具驾驶通过交通灯,并且AV 1308可以安全地加速并且驾驶通过交通灯以避免碰撞。运动段引起交通灯违反,但避免与运载工具1316的碰撞。
所提取的特征向量的特征可以表示当根据运动段行驶时AV 1308与运载工具1316碰撞的可能性。例如,规划模块1336确定为运载工具1316将要在t2秒内与AV 1308相距特定距离d2的交叉位置l2处穿过街道。规划模块1336估计运载工具1336的速率和轨迹。规划模块1336还确定在运载工具1316在其当前轨迹上以其当前速率继续的情况下AV 1308与运载工具1316碰撞的可能性。下面参考图14例示并描述AV 1308违反较低排名约束以避免与运载工具1316碰撞的示例。
所提取的特征向量的特征可以表示由位于AV 1308上的乘客传感器测量的乘客舒适性级别。特征与当AV 1308根据特定运动段行驶时的乘客舒适性相关联。例如,约束可以指定当AV 1308以小于30mph驾驶时乘客体验特定舒适性级别。如果运动段包括40mph的速率,则特征将表示当AV 1308正在特定运动段上驾驶时乘客不会体验到舒适性。
在一个实施例中,规划模块1336从约束和所接收的运动段中提取特征向量。特征向量包括描述AV 1308到运载工具1316的横向间距的特征。AV 1308到运载工具1316的横向间距表示AV 1308与运载工具1316碰撞的可能性。例如,如果横向间距较大,则AV 1308与运载工具1316碰撞的可能性将较小。AV 1308到运载工具1316的横向间距也可以用于确定乘客舒适性级别。例如,如果横向间距较大,则AV 1308中的乘客将更舒适。特征向量被传输到AV 1308的机器学习电路以生成用于操作AV 1308的运动段1312。运动段1312实现AV 1308的导航目标,同时减少所违反的约束的次数并且增加所提供的乘客舒适性的量。
机器学习电路可以是AV 1308的规划模块1336或其它组件的一部分。机器学习电路从包括输入(约束和传感器数据1352)和期望输出(运动段)的训练数据构建模型。在一个实施例中,机器学习电路基于特征向量生成AV 1308的运动段1312,使得约束的违反次数低于阈值。特征向量包括与运载工具1316的位置和地点有关的信息。因此,机器学习电路使用特征向量来确定最佳运动段1312,该最佳运动段将避免与运载工具1316的碰撞并且同时减少所存储的约束的违反次数。描述该运动段1312的信息从规划模块1336传输到控制模块1340以在减少约束的违反次数的同时操作AV 1308。
在一个实施例中,机器学习电路基于所提取的特征向量生成用于对约束进行排名的分层顺序。在该实施例中,特征向量的特征表示各个约束影响导航安全性的程度。例如,特征可以表示特定约束与安全性无关而仅影响乘客感觉舒适的程度。在该实例中,机器学习电路将向该特定约束指派较低排名。使用包括作为输入的运动约束列表和作为输出的分层排名的数据集来训练机器学习电路。
在一个实施例中,规划模块1336如上所述接收通过其它方式生成的多个运动段。机器学习电路使用这些运动段和约束作为训练数据。在确定哪些运动段将违反约束以及被违反约束的优先级或排名时训练机器学习电路。然后,机器学习模型生成AV 1308的运动段1312。针对运动段131的约束的违反次数低于针对各个运动段的约束的相应违反次数。与机器学习电路的操作和训练有关的进一步细节在下文中参考图14。
规划模块1336将所提取的特征向量的特征聚合到运动规划图中。如上所述,运动规划是将期望操作(诸如在不碰撞的情况下离开交叉口等)分解为AV 1308的离散运动的处理。在一个实施例中,规划模块1336接收AV 1308的期望操作的描述,并将约束和所接收的运动段聚合到运动规划图中。运动规划图用于生成运动段1312以操作AV 1308。规划模块1336遍历运动规划图以产生用于AV 1308的油门和转向的速率和转向命令。
在一个实施例中,运动规划图覆盖在AV 1308的配置空间(时空地点、速率、定向等)上。AV 1308的各个配置与运动规划图的顶点相关联。AV 1308被允许从各个顶点移动到相邻顶点,只要它们之间的路径避免与对象(例如,运载工具1316)碰撞即可。运动规划图还包括多个边缘。各个边缘与运动段相对应。规划模块1336通过针对各个运动段识别运动规划图的与该运动段相对应的边缘来确定针对各个约束的相应违反次数。然后,规划模块1336确定与所识别的边缘相关联的约束的违反次数。以上参考图10例示并描述了示例运动规划图。
在一个实施例中,规划模块1336使用所存储的约束和所接收的运动段来生成最小违反运动规划图。最小违反运动规划图的各个边缘与相应运动段的操作度量的值相关联。在一个实施例中,机器学习电路使用约束、运动段和传感器数据1352作为训练数据,并且基于特征向量生成运动规划图的多个边缘的各相应运动段的操作度量的值。例如,如果用于避免碰撞的65mph的最小速率约束被添加到最小违反运动规划图,则针对乘客舒适性指定60mph的最大速率的约束可能被暂时违反。因此,机器学习电路对用于指定最大速率的约束的加权低于对用于指定最小速率以避免碰撞的约束的加权。
在一个实施例中,机器学习电路通过针对运动规划图的各边缘识别根据相应运动段操作AV 1308将导致操作度量低于阈值的可能性,来生成运动段1312。机器学习电路使用约束作为输入并遍历运动规划图的边缘以确定各运动段的可能性。在这样做时,机器学习电路通过生成运动规划图的新边缘来生成运动段1312。与新边缘相关联的约束的违反次数低于与运动规划图的各个其它边缘相关联的约束的相应违反次数。
在一个实施例中,在完成约束的排名之后,机器学习电路使用特征向量(基于排名后的约束)来生成运动段1312。机器学习电路优于其它运动段而选择运动段1312。机器学习电路优化其选择,使得根据运动段1312操作AV 1308导致违反具有较高排名的第一约束。例如,第一约束可以指定AV 1308应加速到65mph以避免与运载工具1316碰撞。机器学习确定为根据其它运动段操作AV 1308导致违反具有较低排名的第二约束。例如,第二约束可以根据交通规则指定最大限速为45mph。
在一个实施例中,机器学习电路生成与上述多个操作度量中的各操作度量相对应的系数。系数被用于按照运动段与导航安全性的关系的顺序对各运动段的操作度量进行加权。例如,运动段的成本函数可以表示为Cost=a1×OM1+a2×OM2+a3×OM3,其中,a1、a2和a3是由机器学习电路基于使用AV的先前动作和所观察的传感器数据1352的训练而生成的系数。系数的较高值将对成本函数中较高的特定操作度量进行加权并且使规划模块偏置以避免选择违反与该操作度量相关联的约束的运动段。在另一实施例中,机器学习电路使用(从约束和运动段提取的)特征向量来生成用于对操作度量进行排名的分层顺序。在一个实施例中,规划模块1336通过将与导航安全性相关联的第一操作度量(例如,OM1)排名得高于与乘客舒适性相关联的第二操作度量(例如,OM2)来生成运动段1312。机器学习电路用于优化运动段1312的操作度量OM1。
规划模块1336还使用最小违反运动规划图来确定AV 1308的速率、加速度或定向,使得所生成的运动约束的违反次数最小。在一个实施例中,基于采样的运动规划被用于基于所生成的运动约束的排名分层来进行针对这些运动约束的模型检查。最小违反运动图的遍历得到满足导航目标的若干潜在轨迹中的安全性级别最大化的AV 1308的轨迹。所生成的轨迹包括运动段1312。
在一个实施例中,在规划模块1336接收到由其它方法生成的运动段之后,机器学习电路基于从约束和运动段中提取的特征来生成新的运动段。机器学习电路尝试使新运动段对约束的违反次数最小化。规划模块1336验证机器学习电路的操作。规划模块1336确定新运动段对约束的违反次数是否实际上低于各个其它所接收的运动段对约束的违反次数。规划模块1336构建包括所接收的运动段和新运动段的组。规划模块1336从该组中选择用于操作AV 1308的最佳运动段。上述成本函数或多个操作度量在所选择的最佳运动段上被优化。规划模块1336还生成第一得分,该第一得分指示所选择的最佳运动段实际上是由机器学习电路生成的新运动段的可能性。第一得分用于验证机器学习电路的质量和收敛。如下面参考图14所述,使用所生成的第一得分训练机器学习电路,以生成优化操作度量的运动段1312。优化操作度量的该运动段1312对约束的违反次数低于其它运动段的相应违反次数。
在一个实施例中,机器学习电路通过首先生成针对各接收到的运动段的第二得分来生成运动段1312。第二得分指示运动段对约束的违反次数低于所接收的运动段的各个其它运动段对约束的违反次数的可能性。以这种方式,机器学习电路可以简单地选择具有最高得分的所接收运动段。第二得分还可以用于验证机器学习电路的操作。还使用得分和所接收运动段来训练机器学习电路,以生成运动段1312。该训练配置机器学习电路,使得运动段1312对约束的违反次数低于各个所接收运动段对约束的相应违反次数。
在一个实施例中,基于采样的运动规划用于进行针对运动约束的排名分层的模型检查。规划模块1336对约束和传感器数据1352进行采样以生成运动段1312。根据运动段1312操作AV 1308使得操作度量OM低于阈值。在一个实施例中,采样包括遍历最小违反运动图以生成AV 1308的轨迹。该轨迹使满足导航目标的若干潜在轨迹中的安全性级别最大化。所生成的轨迹包括运动约束1312。
控制模块1340根据所生成的运动段1312操作AV 1308。控制模块1340使用来自规划模块1336的运动段1312来操作AV 1308的(以上参考图4示出和描述的)制动420c、转向420a和油门420b。AV 1308的操作可以包括违反较低优先级约束,例如基于提供乘客舒适性级别的最大加速度约束。在一个实施例中,控制模块1340根据运动段1312在离散的可驾驶区域内操作AV 1308,同时执行碰撞检查或概率性地探测运载工具1316周围的可驾驶区域。在另一实施例中,如果运载工具1316正在移动,则控制模块1340从运载工具1320的运动推断其意图,诸如让路或侵略性行为等。基于运动段1312,如果与运载工具1316碰撞的预测时间降到阈值以下,则控制模块1340操作转向控制器102、制动器103、挡位、加速踏板。
在这里公开的实施例的益处和优点中,不同且复杂的运动段可以由AV系统生成并评价,以最小化操作成本、最小化临时违反交通规则的次数、并且防止碰撞。所公开的实施例增加了AV以及行人和其它运载工具的导航安全性。通过根据导航安全性以分层顺序对运动约束进行排名,AV可以选择较低优先级规则来临时违反,以增加运载工具安全性。使用所公开的实施例操作AV得到增加的乘客舒适性、增加的乘客和行人安全性、对AV的更低的磨损和破坏、减少的行驶时间、减少的行驶距离等。还实现了路网上其它运载工具的增加的安全性。
用于避免碰撞的约束违反的示例
图14示出根据一个或多个实施例的AV 1308违反较低排名约束以避免与运载工具1316碰撞的示例。图14描绘了环境1400,其中AV 1308和运载工具1316这两者都在驾驶。AV1308开始在车道1408中根据轨迹1432从初始地点1412朝向目的地地点1416驾驶。AV 1308的规划模块1336存储用于操作AV 1308的第一约束,该第一约束指定AV 1308不应当与另一对象碰撞。车道1408的最大限速为55mph。规划模块1336还存储与用于操作AV 1308的55mph的最大限速相对应的第二约束。第一约束(避免碰撞)排名高于第二约束(遵守限速)。规划模块1336生成用于操作AV 1308以满足所存储的第一约束和第二约束的运动段1428。运动段1428指定AV 1308的定向(朝向目的地地点1416)以及50mph的速率。因此AV 1308根据运动段1428来操作。
AV 1308接近车道1408中的在AV 1308前面的交叉口1436。另一方面,运载工具1316也在与车道1408成直角的车道1440中根据轨迹1424朝向交叉口1436驾驶。AV 1308的视觉传感器1344生成描述环境1400的传感器数据1352并感测运载工具1316的存在和运动。基于由视觉传感器1344生成的传感器数据1352,AV 1308的规划模块1336确定运载工具1316正根据轨迹1424朝向交叉口1436驾驶。规划模块1336还基于运载工具1316的速率和运动段1428确定为AV 1308与运载工具1316碰撞的可能性高于阈值。规划模块1336还确定为AV 1308和运载工具1316可能在轨迹1424、1432相交的地点1420处碰撞。规划模块确定交叉的点和时间。
规划模块1336从所存储的约束和所接收的传感器数据1352中提取特征向量。特征向量包括描述运载工具1316的大小、形状、速率和方向的特征。AV 1308的机器学习电路基于特征向量生成新的运动段1404,使得所存储的约束的违反次数被最小化。机器学习电路估计存在针对AV 1308的两个选项:减慢以避免碰撞、或者加速。已经使用所存储的AV 1308的行为训练的机器学习电路确定为AV 1308太靠近地点1420,并且因此将无法充分地减慢以避免碰撞。机器学习电路确定为将AV 1308的速率增加到60mph并更快驾驶通过交叉口1436将避免碰撞,但临时违反指定55mph的最大速率的第二约束。由于第一约束比第二约束排名高,因而机器学习电路临时违反第二约束以满足第一约束(避免碰撞)。因此,机器学习电路生成指定AV 1308的60mph速率的运动段1404。
AV 1308的控制模块1340根据运动段1404操作AV 1308,使得AV 1308安全驾驶通过交叉口1436并且避免与运载工具1316碰撞。
运动规划的机器学习架构
图15示出根据一个或多个实施例的用于运动规划的AV 1308的机器学习架构1500的框图。架构1500包括特征提取模块1508和机器学习电路1516。在其它实施例中,架构1500包括比这里所描述的组件更多或更少的组件。类似地,功能能够以与这里描述的方式不同的方式分布在组件和/或不同实体之间。
参考图13和图15,特征提取模块1508从传感器数据1352、所接收的运动段1504和约束中提取特征向量1512。特征向量1512描述运载工具1316的位置和速率以及AV 1308可以采取的不同可能路径。特征1512a表示运载工具1316的时空地点。如果运载工具1316的位置太靠近AV 1308,则机器学习电路1516生成用以避免碰撞的运动段1312。特征1512b表示运载工具1316的速率。如果运载工具1316急速远离AV 1308,则机器学习电路生成用以最小化成本(例如增加乘客舒适性)的运动段1312。
特征1512c表示运载工具1316的定向。如果运载工具1316朝向AV 1308前进,则机器学习电路1516将选择运动段1312,使得AV 1308驶离。特征1512d表示根据运动段1504之一操作AV 1308是否导致交通灯违反。如果没有要满足的较高排名约束,则机器学习电路1516将避免违反由特征1512d表示的约束。特征1512e表示当根据运动段行驶时AV 1308与运载工具1316碰撞的可能性。如果特征1512e例示碰撞的可能性低,则机器学习电路1516可以选择该运动段。在一个实施例中,特征提取模块1508(例如,经由线性判别分析(LDA)或主分量分析(PCA)等)应用维度降低以将特征向量1512中的数据量减少到更小、更具代表性的数据集。
机器学习电路1516是使用特征向量1512、训练数据1524和约束1520来训练的。训练数据1524包括所存储的AV 1308的操作,诸如当AV 1308被呈现若干运动段的选项时做出的选择等。在一个实施例中,机器学习电路1516由此被配置为生成运动段1312,使得对约束1520的违反次数低于各个所接收的运动段的相应违反次数。在另一实施例中,机器学习电路1516被配置为生成运动段1312,使得根据运动段1312操作AV 1308降低了操作度量OM。
在一个实施例中,当应用于所接收的运动段的特征时,机器学习电路1516估计运动段是否优化操作度量OM。作为机器学习电路1516的训练的一部分,通过识别已经被确定为具有关注属性的特征的第一训练集(优化操作度量OM)来形成特征和训练数据1524的训练集,并且在某些实施例中,形成缺少该关注属性的特征的第二训练集。
在一个实施例中,使用监督机器学习来利用第一训练集和第二训练集的特征向量1512训练机器学习电路1516。在其它实施例中,可以使用不同的机器学习技术(诸如深度学习、神经网络、线性支持向量机(线性SVM)、增强其它算法增强(例如AdaBoost)、逻辑回归、朴素贝叶斯、基于存储器的学习、随机森林、袋装树、决策树、增强树或增强树桩等)。
使用机器学习的运动规划的处理
图16示出根据一个或多个实施例的使用机器学习利用运动规划来操作AV 1308的处理1600。在一个实施例中,图16的处理由规划模块1336进行。在其它实施例中,其它实体(例如,AV 1308或服务器136的一个或多个组件)进行处理1600的一些或全部步骤。同样,实施例可以包括不同和/或附加步骤,或者以不同顺序进行各步骤。
AV 1308使用一个或多个处理器存储(1604)用于在环境1304内操作AV 1308的约束1520。各约束限制AV 1308的操作。例如,约束可以是基于交通规则针对AV 1308的最大限速。另一约束可以指定AV 1308必须在红灯处停止。规划模块1336可以从服务器136接收一个或多个约束,这些约束旨在提高由AV 1308的乘客传感器测量的乘客舒适性级别。
AV 1308使用一个或多个传感器1344接收(1608)描述环境1304的传感器数据1352。在一个实施例中,传感器数据1352包括LiDAR点云数据或照相机图像。例如,AV 1308的LiDAR传感器用于以脉冲激光照射目标(例如运载工具1316)并测量反射脉冲。然后可以使用激光返回时间和波长的差异来生成传感器数据1352并创建运载工具1316的数字3D表示。
AV 1308使用一个或多个处理器从约束1520和所接收的传感器数据1352中提取(1612)特征向量1512。特征向量1512包括描述运载工具1316的特征1512a。特征1512a表示运载工具1316的时空地点。如果运载工具1316的位置太靠近AV 1316,则机器学习电路1516生成用以避免碰撞的运动段1312。
AV 1308使用机器学习电路1516基于特征向量1512生成(1616)运动段1312。运动段1312对约束1520的违反次数低于阈值。在一个实施例中,机器学习电路1516被配置为生成运动段1312,使得对约束1520的违反次数小于各运动段对约束1520的违反次数。在另一实施例中,机器学习电路1516被配置为生成运动段1312,使得根据运动段1312操作AV 1308减小了操作度量OM。
AV 1308使用一个或多个处理器根据所生成的运动段1312来操作(1620)AV 1308。
使用机器学习的运动规划的替代处理
图17示出根据一个或多个实施例的使用机器学习利用运动规划来操作AV 1308的替代处理1700。在一个实施例中,图17的处理可以由规划模块1336进行。在其它实施例中,其它实体(例如,AV 1308或服务器136的一个或多个组件)进行处理1700的一些或全部步骤。同样,实施例可以包括不同和/或附加步骤,或者以不同顺序进行各步骤。
AV 1308使用一个或多个处理器来存储(1704)用于操作运载工具的多个约束1520。各约束限制AV 1308的操作。例如,约束可以基于交通规则指定AV 1308的最大限速。另一约束可以指定AV 1308必须在红灯处停止。规划模块1336可以从服务器136接收一个或多个约束,这些约束旨在提高由AV 1308的乘客传感器测量的乘客舒适性级别。
AV 1308使用一个或多个处理器接收(1708)用于操作AV 1308的多个运动段1504。各运动段指定AV 1308的动作。例如,多个运动段1504中的第一运动段可以包括AV 1308行驶的距离或AV 1308运行的速率。
针对所接收的多个运动段1504中的各运动段,AV 1308确定(1712)对所存储的多个约束1520的相应违反次数。运动段在其指示AV 1308进行与约束相反的行为时违反该约束。例如,约束可以指定AV 1308的最大速率应为30mph,而运动段指定AV 1308的60mph的操作速率。例如,AV 1308可能暂时违反排名较低的约束(例如提供舒适的乘坐)以满足排名较高的约束(例如,避免与运载工具1316碰撞)。
AV 1308使用机器学习电路1516根据所存储的多个约束1520和所接收的多个运动段1504生成(1716)第二运动段。第二运动段对约束1520的违反次数低于所接收的多个运动段1504中的各运动段对约束1520的相应违反次数。AV 1308因此在最小化其违反的约束的次数的同时实现了其导航目标。
AV 1308使用一个或多个处理器根据第二运动段来操作(1720)AV 1308。
附加实施例
在一个实施例中,运载工具的一个或多个处理器存储用于操作运载工具的多个约束。一个或多个处理器接收用于操作运载工具的多个运动段。至少第一运动段包括运载工具行驶的距离。对于各运动段,确定对所存储的约束的相应违反次数。机器学习电路根据所存储的约束和所接收的运动段来生成第二运动段。机器学习电路确定为第二运动段对约束的违反次数低于所接收的运动段中的各运动段对约束的违反次数。一个或多个处理器根据第二运动段来操作运载工具。
在一个实施例中,一个或多个处理器将所存储的约束和所接收的运动段聚合为运动规划图。
在一个实施例中,确定所存储的约束的相应违反次数包括:针对各运动段,识别运动规划图的与该运动段相对应的边缘。确定与所识别的边缘相关联的所存储约束的违反次数。
在一个实施例中,由机器学习电路生成的第二运动段与运动规划图的第二边缘相对应。与第二边缘相关联的所存储约束的违反次数低于与运动规划图的其它边缘相关联的所存储约束的相应违反次数。
在一个实施例中,基于所存储约束的相应违反次数来针对各运动段生成操作度量。
在一个实施例中,机器学习电路根据所存储约束和所接收的运动段生成与各操作度量相对应的系数。
在一个实施例中,根据操作度量与运载工具的导航安全性的关联,以分层顺序对各操作度量进行排名。
在一个实施例中,与避免运载工具与对象碰撞相关联的第一操作度量被排名为比与增加由运载工具的乘客传感器测量的乘客舒适性级别相关联的第二操作度量的排名高。
在一个实施例中,机器学习电路基于所存储约束和所接收的运动段来生成用于对操作度量进行排名的分层顺序。
在一个实施例中,第二运动段的生成包括将与导航安全性相关联的第三操作度量排名为比不与导航安全性相关联的第四操作度量的排名高。机器学习电路减少第二运动段的第三操作度量。
在一个实施例中,从包括所接收的运动段和第二运动段的组中识别用于操作运载工具的第三运动段。在所识别的第三运动段上减少操作度量。
在一个实施例中,生成指示所识别的第三运动段包括第二运动段的可能性的得分。使用所生成的得分来训练机器学习电路,以生成第四运动段。与所生成的第四运动段相对应的所存储约束的违反次数低于所接收的运动段中的各运动段对所存储约束的相应违反次数。
在一个实施例中,第二运动段的生成包括生成针对所接收的运动段中的各运动段的得分。该得分指示运动段对所存储约束的相应违反次数低于所接收的运动段中的各个其它运动段对所存储约束的相应违反次数的可能性。
在一个实施例中,第二运动段的生成包括从所存储约束和所接收的运动段中提取特征向量。特征向量至少包括描述当根据第五运动段来操作运载工具时运载工具与对象的横向间距的第一特征。一个或多个处理器将特征向量发送到机器学习电路以生成第二运动段。
在一个实施例中,基于所接收的运动段来训练机器学习电路,以生成用于操作运载工具的第六运动段。第六运动段对所存储约束的违反次数低于所接收的运动段中的各运动段对所存储约束的相应违反次数。
在一个实施例中,特征向量的第二特征包括运载工具根据第七运动段行驶时与对象碰撞的可能性。
在一个实施例中,特征向量的第三特征包括当运载工具根据所接收的运动段中的第八运动段行驶时的乘客舒适性级别。乘客舒适性级别由位于运载工具上的乘客传感器测量。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
Claims (20)
1.一种方法,包括:
使用位于环境内的运载工具的一个或多个处理器存储用于在所述环境内操作所述运载工具的多个约束;
使用所述运载工具的一个或多个传感器接收用于描述所述环境的传感器数据;
使用所述一个或多个处理器从所存储的多个约束和所接收的传感器数据中提取特征向量,其中,所述特征向量包括用于描述位于所述环境内的对象的第一特征;
使用所述运载工具的机器学习电路基于所述特征向量生成第一运动段,使得对所存储的多个约束的违反次数低于阈值;以及
使用所述一个或多个处理器根据所生成的第一运动段来操作所述运载工具。
2.根据权利要求1所述的方法,其中,所生成的第一运动段包括所述运载工具的用以避免与所述对象碰撞的定向。
3.根据权利要求1或2所述的方法,其中,所提取的特征向量的第二特征包括以下各项其中至少之一:
所述对象的时空地点;
所述对象的速率;以及
所述对象的定向。
4.根据权利要求1至3中任一项所述的方法,其中,
所提取的特征向量的第三特征包括所述运载工具的最大速率、所述运载工具的最大加速度和所述运载工具的最大急动度其中至少之一;以及
所述最大速率、所述最大加速度和所述最大急动度其中至少之一与所述运载工具的一个或多个乘客传感器所测量的乘客舒适性级别相对应。
5.根据权利要求1至4中任一项所述的方法,其中,所提取的特征向量的第四特征表示根据所述第一运动段操作所述运载工具是否导致违反交通灯。
6.根据权利要求1至5中任一项所述的方法,其中,所生成的第一运动段包括以下各项其中至少之一:
所述环境的两个时空地点之间的轨迹;以及
所述运载工具的用以避免该运载工具与所述对象碰撞的速率。
7.根据权利要求1至6中任一项所述的方法,还包括:
使用所述一个或多个处理器将所提取的特征向量的多个特征聚合为运动规划图,其中:
运动规划图包括多个边缘;以及
所述多个边缘中的各边缘与所接收的多个运动段中的各运动段相对应。
8.根据权利要求7所述的方法,其中,基于所述特征向量生成用于操作所述运载工具的第一运动段包括:
使用所述一个或多个处理器,优于与所述多个边缘中的第二边缘相对应的第二运动段而选择与所述多个边缘中的第一边缘相对应的第一运动段,其中:
根据所述第一运动段来操作所述运载工具导致违反具有较高排名的第一约束;以及
根据所述第二运动段来操作所述运载工具导致违反具有较低排名的第二约束。
9.根据权利要求7所述的方法,其中,
所述运动规划图包括最小违反运动规划图;以及
所述多个边缘中的各边缘与相应运动段的操作度量的值相关联。
10.根据权利要求9所述的方法,还包括:使用所述机器学习电路基于所述特征向量来生成所述运动规划图的所述多个边缘中的各相应运动段的操作度量的值。
11.根据权利要求9所述的方法,其中,生成用于操作所述运载工具的第一运动段包括:使用所述机器学习电路针对所述运动规划图的多个边缘中的各边缘来识别根据相应运动段操作所述运载工具导致操作度量低于阈值的可能性。
12.根据权利要求9所述的方法,还包括:使用所述一个或多个处理器对所存储的多个约束和所接收的传感器数据进行采样以生成用于在所述环境内操作所述运载工具的第三运动段,其中,根据所述第三运动段来操作所述运载工具导致与操作所述运载工具相关联的操作度量低于阈值。
13.根据权利要求9所述的方法,其中,
所述操作度量还包括所存储的多个约束的违反次数的加权聚合;以及
对所存储的多个约束中的约束的各违反是利用该约束的排名进行加权的。
14.根据权利要求1至13中任一项所述的方法,其中,
用于在所述环境内操作所述运载工具的多个约束按分层顺序进行排名;以及
所述多个约束中的各约束的排名与所述运载工具的导航安全性级别相对应。
15.根据权利要求14所述的方法,还包括:使用所述机器学习电路基于所提取的特征向量生成用于对所述多个约束进行排名的分层顺序。
16.一种运载工具,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,其存储有指令,所述指令在由所述一个或多个计算机处理器执行时使得所述一个或多个计算机处理器:
存储用于在环境内操作所述运载工具的多个约束;
使用所述运载工具的一个或多个传感器接收用于描述所述环境的传感器数据;
从所存储的多个约束和所接收的传感器数据中提取特征向量,其中,所述特征向量包括用于描述位于所述环境内的对象的第一特征;
使用所述运载工具的机器学习电路基于所述特征向量生成第一运动段,使得对所存储的多个约束的违反次数低于阈值;以及
根据所生成的第一运动段来操作所述运载工具。
17.根据权利要求16所述的运载工具,其中,所生成的第一运动段包括所述运载工具的用以避免与所述对象碰撞的定向。
18.根据权利要求16或17所述的运载工具,其中,所提取的特征向量的第二特征包括所述对象的时空地点、所述对象的速率和所述对象的定向其中至少之一。
19.一个或多个非暂时性存储介质,其存储指令,所述指令在由一个或多个计算装置执行时使得所述一个或多个计算装置:
存储用于在环境内操作运载工具的多个约束;
使用所述运载工具的一个或多个传感器接收用于描述所述环境的传感器数据;
从所存储的多个约束和所接收的传感器数据中提取特征向量,其中,所述特征向量包括用于描述位于所述环境内的对象的第一特征;
使用所述运载工具的机器学习电路基于所述特征向量生成第一运动段,使得对所存储的多个约束的违反次数低于阈值;以及
根据所生成的第一运动段来操作所述运载工具。
20.根据权利要求19所述的一个或多个非暂时性存储介质,其中,所生成的第一运动段包括所述运载工具的用以避免与所述对象碰撞的定向。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862781573P | 2018-12-18 | 2018-12-18 | |
US62/781,573 | 2018-12-18 | ||
PCT/US2019/064603 WO2020131399A1 (en) | 2018-12-18 | 2019-12-05 | Operation of a vehicle using motion planning with machine learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113165668A true CN113165668A (zh) | 2021-07-23 |
Family
ID=68988316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980077613.6A Pending CN113165668A (zh) | 2018-12-18 | 2019-12-05 | 利用机器学习使用运动规划来操作运载工具 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11899464B2 (zh) |
KR (1) | KR102569134B1 (zh) |
CN (1) | CN113165668A (zh) |
DE (1) | DE112019004832T5 (zh) |
GB (2) | GB2608567B (zh) |
WO (1) | WO2020131399A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6643417B2 (ja) * | 2018-08-02 | 2020-02-12 | Hapsモバイル株式会社 | システム、制御装置及び軽航空機 |
GB2588013B (en) | 2018-12-18 | 2022-10-05 | Motional Ad Llc | Operation of a vehicle using multiple motion constraints |
US11899464B2 (en) | 2018-12-18 | 2024-02-13 | Motional Ad Llc | Operation of a vehicle using motion planning with machine learning |
US20210058814A1 (en) * | 2019-08-22 | 2021-02-25 | Toyota Motor Engineering & Manufacturing North America, Inc. | Methods and systems for processing traffic data from vehicles |
US11945440B2 (en) | 2019-08-23 | 2024-04-02 | Motional Ad Llc | Data driven rule books |
US20210248460A1 (en) * | 2020-02-07 | 2021-08-12 | Uatc, Llc | Systems and Methods for Optimized Multi-Agent Routing Between Nodes |
US11325594B2 (en) * | 2020-02-10 | 2022-05-10 | GM Global Technology Operations LLC | Sensor fusion based on intersection scene to determine vehicle collision potential |
US11429107B2 (en) | 2020-02-21 | 2022-08-30 | Argo AI, LLC | Play-forward planning and control system for an autonomous vehicle |
US11643105B2 (en) | 2020-02-21 | 2023-05-09 | Argo AI, LLC | Systems and methods for generating simulation scenario definitions for an autonomous vehicle system |
US20200326721A1 (en) * | 2020-06-26 | 2020-10-15 | Intel Corporation | Occupancy verification device and method |
US20220080962A1 (en) * | 2020-09-14 | 2022-03-17 | Motional Ad Llc | Vehicle operation using a behavioral rule model |
US11521394B2 (en) * | 2020-10-09 | 2022-12-06 | Motional Ad Llc | Ground plane estimation using LiDAR semantic network |
US11648959B2 (en) | 2020-10-20 | 2023-05-16 | Argo AI, LLC | In-vehicle operation of simulation scenarios during autonomous vehicle runs |
US20220126876A1 (en) * | 2020-10-23 | 2022-04-28 | Motional Ad Llc | Vehicle operation using behavioral rule checks |
US12019449B2 (en) * | 2021-02-18 | 2024-06-25 | Argo AI, LLC | Rare event simulation in autonomous vehicle motion planning |
US11623738B1 (en) * | 2021-11-12 | 2023-04-11 | Beta Air, Llc | System and method for the prioritization of flight controls in an electric aircraft |
US12030518B2 (en) | 2021-04-06 | 2024-07-09 | Atieva, Inc. | Lane changing based only on local information |
RU2767826C1 (ru) | 2021-05-24 | 2022-03-22 | Общество с ограниченной ответственностью «Яндекс Беспилотные Технологии» | Способ и устройство для управления автомобилем |
US20230020503A1 (en) * | 2021-07-08 | 2023-01-19 | Ford Global Technologies, Llc | Machine control |
US11845454B2 (en) * | 2021-09-14 | 2023-12-19 | Motional Ad Llc | Operational envelope detection with situational assessment |
US11851091B2 (en) | 2021-09-14 | 2023-12-26 | Motional Ad Llc | Immobility detection within situational context |
US20230221128A1 (en) * | 2022-01-11 | 2023-07-13 | Motional Ad Llc | Graph Exploration for Rulebook Trajectory Generation |
US20230331252A1 (en) * | 2022-04-15 | 2023-10-19 | Gm Cruise Holdings Llc | Autonomous vehicle risk evaluation |
US20240042993A1 (en) * | 2022-08-04 | 2024-02-08 | Motional Ad Llc | Trajectory generation utilizing diverse trajectories |
WO2024073033A1 (en) * | 2022-09-30 | 2024-04-04 | Tesla, Inc. | Labeling training data using high-volume navigation data |
US12037012B2 (en) * | 2022-10-14 | 2024-07-16 | Motional Ad Llc | Ensemble-based vehicle motion planner |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645577B1 (en) * | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
US20180011494A1 (en) * | 2016-07-05 | 2018-01-11 | Baidu Usa Llc | Standard scene-based planning control methods for operating autonomous vehicles |
US20180150081A1 (en) * | 2018-01-24 | 2018-05-31 | GM Global Technology Operations LLC | Systems and methods for path planning in autonomous vehicles |
US10019011B1 (en) * | 2017-10-09 | 2018-07-10 | Uber Technologies, Inc. | Autonomous vehicles featuring machine-learned yield model |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1944189B2 (en) | 2005-08-04 | 2020-06-03 | Volvo Car Corporation | Automatic collision management system |
JP5125400B2 (ja) | 2007-10-19 | 2013-01-23 | トヨタ自動車株式会社 | 車両走行制御装置 |
JP5029329B2 (ja) * | 2007-12-05 | 2012-09-19 | トヨタ自動車株式会社 | 走行軌跡生成方法及び走行軌跡生成装置 |
DE102008062916A1 (de) | 2008-12-23 | 2010-06-24 | Continental Safety Engineering International Gmbh | Verfahren zur Ermittlung einer Kollisionswahrscheinlichkeit eines Fahrzeuges mit einem Lebewesen |
WO2011009009A1 (en) | 2009-07-15 | 2011-01-20 | Massachusetts Institute Of Technology | Methods and apparati for predicting and quantifying threat being experienced by a modeled system |
WO2010101749A1 (en) | 2009-03-05 | 2010-09-10 | Massachusetts Institute Of Technology | Predictive semi-autonomous vehicle navigation system |
JP5766941B2 (ja) | 2010-12-01 | 2015-08-19 | トヨタ自動車株式会社 | 走行支援装置 |
US8698639B2 (en) | 2011-02-18 | 2014-04-15 | Honda Motor Co., Ltd. | System and method for responding to driver behavior |
DE102013013867A1 (de) | 2013-08-20 | 2015-03-12 | Audi Ag | Kraftfahrzeug und Verfahren zur Steuerung eines Kraftfahrzeugs |
EP2848487B1 (en) | 2013-09-12 | 2020-03-18 | Volvo Car Corporation | Manoeuvre generation for automated drive |
US9135803B1 (en) * | 2014-04-17 | 2015-09-15 | State Farm Mutual Automobile Insurance Company | Advanced vehicle operator intelligence system |
DE112015001152A5 (de) | 2014-05-22 | 2016-12-22 | Conti Temic Microelectronic Gmbh | Verfahren und Vorrichtung zur Erhöhung der Sicherheit bei einem Überholvorgang eines Fahrzeuges |
JP2016007989A (ja) | 2014-06-26 | 2016-01-18 | クラリオン株式会社 | 車両制御装置及び車両制御方法 |
KR101610544B1 (ko) | 2014-11-21 | 2016-04-07 | 현대자동차주식회사 | 차량의 자율 주행 시스템 및 방법 |
JP6074553B1 (ja) | 2015-04-21 | 2017-02-01 | パナソニックIpマネジメント株式会社 | 情報処理システム、情報処理方法、およびプログラム |
JP6699831B2 (ja) * | 2016-04-28 | 2020-05-27 | トヨタ自動車株式会社 | 運転意識推定装置 |
JP6756174B2 (ja) | 2016-07-12 | 2020-09-16 | 株式会社デンソー | 車両制御装置 |
US10699305B2 (en) | 2016-11-21 | 2020-06-30 | Nio Usa, Inc. | Smart refill assistant for electric vehicles |
US10403145B2 (en) | 2017-01-19 | 2019-09-03 | Ford Global Technologies, Llc | Collison mitigation and avoidance |
FR3063265B1 (fr) * | 2017-02-28 | 2019-04-05 | Renault S.A.S | Dispositif de controle de trajectoire d un vehicule |
WO2018172849A1 (en) | 2017-03-20 | 2018-09-27 | Mobileye Vision Technologies Ltd. | Trajectory selection for an autonomous vehicle |
KR102406507B1 (ko) * | 2017-03-27 | 2022-06-10 | 현대자동차주식회사 | 딥러닝 기반 자율주행 차량 제어 장치, 그를 포함한 시스템 및 그 방법 |
CN118274868A (zh) * | 2017-06-14 | 2024-07-02 | 御眼视觉技术有限公司 | 用于自主导航的装置和方法 |
US10216189B1 (en) | 2017-08-23 | 2019-02-26 | Uber Technologies, Inc. | Systems and methods for prioritizing object prediction for autonomous vehicles |
US20190120640A1 (en) | 2017-10-19 | 2019-04-25 | rideOS | Autonomous vehicle routing |
US10156850B1 (en) | 2017-12-08 | 2018-12-18 | Uber Technologies, Inc. | Object motion prediction and vehicle control systems and methods for autonomous vehicles |
DE112019000065T5 (de) * | 2018-02-02 | 2020-03-05 | Nvidia Corporation | Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug |
US20180164822A1 (en) | 2018-02-09 | 2018-06-14 | GM Global Technology Operations LLC | Systems and methods for autonomous vehicle motion planning |
US10860023B2 (en) * | 2018-06-25 | 2020-12-08 | Mitsubishi Electric Research Laboratories, Inc. | Systems and methods for safe decision making of autonomous vehicles |
US11048252B2 (en) * | 2018-10-19 | 2021-06-29 | Baidu Usa Llc | Optimal path generation for static obstacle avoidance |
US11827241B2 (en) * | 2018-10-29 | 2023-11-28 | Motional Ad Llc | Adjusting lateral clearance for a vehicle using a multi-dimensional envelope |
US11648951B2 (en) * | 2018-10-29 | 2023-05-16 | Motional Ad Llc | Systems and methods for controlling actuators based on load characteristics and passenger comfort |
DK201970121A1 (en) * | 2018-10-30 | 2020-06-04 | Aptiv Technologies Limited | GENERATION OF OPTIMAL TRAJECTORIES FOR NAVIGATION OF VEHICLES |
WO2020112799A1 (en) | 2018-11-26 | 2020-06-04 | Voznesensky Michael | Routing graph management in autonomous vehicle routing |
JP7361775B2 (ja) | 2018-12-10 | 2023-10-16 | ホアウェイ クラウド コンピューティング テクノロジーズ カンパニー リミテッド | 自律運転のための個人運転スタイル学習 |
US11899464B2 (en) | 2018-12-18 | 2024-02-13 | Motional Ad Llc | Operation of a vehicle using motion planning with machine learning |
GB2588013B (en) | 2018-12-18 | 2022-10-05 | Motional Ad Llc | Operation of a vehicle using multiple motion constraints |
-
2019
- 2019-12-05 US US16/704,366 patent/US11899464B2/en active Active
- 2019-12-05 GB GB2215006.4A patent/GB2608567B/en active Active
- 2019-12-05 CN CN201980077613.6A patent/CN113165668A/zh active Pending
- 2019-12-05 GB GB2018358.8A patent/GB2592293B/en active Active
- 2019-12-05 WO PCT/US2019/064603 patent/WO2020131399A1/en active Application Filing
- 2019-12-05 KR KR1020207035780A patent/KR102569134B1/ko active IP Right Grant
- 2019-12-05 DE DE112019004832.5T patent/DE112019004832T5/de active Pending
-
2021
- 2021-05-03 US US17/306,858 patent/US11320826B2/en active Active
-
2022
- 2022-04-04 US US17/712,431 patent/US12019450B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9645577B1 (en) * | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
US20180011494A1 (en) * | 2016-07-05 | 2018-01-11 | Baidu Usa Llc | Standard scene-based planning control methods for operating autonomous vehicles |
US10019011B1 (en) * | 2017-10-09 | 2018-07-10 | Uber Technologies, Inc. | Autonomous vehicles featuring machine-learned yield model |
US20180150081A1 (en) * | 2018-01-24 | 2018-05-31 | GM Global Technology Operations LLC | Systems and methods for path planning in autonomous vehicles |
Also Published As
Publication number | Publication date |
---|---|
US12019450B2 (en) | 2024-06-25 |
US11899464B2 (en) | 2024-02-13 |
GB2592293A (en) | 2021-08-25 |
US20210255635A1 (en) | 2021-08-19 |
KR20210100007A (ko) | 2021-08-13 |
WO2020131399A1 (en) | 2020-06-25 |
US11320826B2 (en) | 2022-05-03 |
GB2592293B (en) | 2022-11-30 |
GB2608567A (en) | 2023-01-04 |
US20220283586A1 (en) | 2022-09-08 |
GB202018358D0 (en) | 2021-01-06 |
GB202215006D0 (en) | 2022-11-23 |
KR102569134B1 (ko) | 2023-08-22 |
GB2608567B (en) | 2023-06-14 |
US20200192391A1 (en) | 2020-06-18 |
DE112019004832T5 (de) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11320826B2 (en) | Operation of a vehicle using motion planning with machine learning | |
KR102505300B1 (ko) | 복수의 모션 제약을 사용하는 차량의 동작 | |
KR20210055617A (ko) | 미리 계산되거나 동적으로 생성된 궤적 뱅크로부터의 궤적 예측 | |
CN111190418A (zh) | 使用多维包络调整运载工具的横向间隙 | |
US20200385024A1 (en) | Autonomous vehicle operation using linear temporal logic | |
CN112417636A (zh) | 计算机实现的方法和用于运载工具自行操作的系统 | |
CN115328110A (zh) | 用于自主运载工具的系统和方法以及存储介质 | |
CN114812589A (zh) | 用于运载工具的方法、自主运载工具和存储介质 | |
US11731653B2 (en) | Conditional motion predictions | |
KR102626145B1 (ko) | 거동 규칙 검사를 사용한 차량 작동 | |
CN113044025A (zh) | 用于运载工具的安全系统 | |
CN115079687A (zh) | 用于自主运载工具的系统、方法和存储介质 | |
CN112014859A (zh) | 估计速率分布 | |
KR20220110068A (ko) | 기동 생성을 사용한 차량 작동 | |
CN115220439A (zh) | 用于运载工具的系统和方法以及存储介质 | |
CN114938674A (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 |