CN113359696A - 用于自主运载工具的系统、方法和存储介质 - Google Patents
用于自主运载工具的系统、方法和存储介质 Download PDFInfo
- Publication number
- CN113359696A CN113359696A CN202110236327.9A CN202110236327A CN113359696A CN 113359696 A CN113359696 A CN 113359696A CN 202110236327 A CN202110236327 A CN 202110236327A CN 113359696 A CN113359696 A CN 113359696A
- Authority
- CN
- China
- Prior art keywords
- commands
- rate
- control
- steering
- vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000012545 processing Methods 0.000 claims description 36
- 230000003068 static effect Effects 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 description 63
- 231100000817 safety factor Toxicity 0.000 description 48
- 238000004891 communication Methods 0.000 description 36
- 230000008569 process Effects 0.000 description 34
- 230000033001 locomotion Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 10
- 230000008447 perception Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 230000000712 assembly Effects 0.000 description 5
- 238000000429 assembly Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000009472 formulation Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 244000145841 kine Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 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
- 239000004576 sand Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000180579 Arca Species 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation 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
-
- 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
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
- G05D1/0236—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons in combination with a laser
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- 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
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0953—Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
-
- 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/02—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 ambient conditions
- B60W40/06—Road conditions
- B60W40/072—Curvature of the road
-
- 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
-
- 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/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/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/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0242—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
-
- 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/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- 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/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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/0259—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means
- G05D1/0263—Control of position or course in two dimensions specially adapted to land vehicles using magnetic or electromagnetic means using magnetic strips
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0278—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0285—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
-
- 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
-
- 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/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
- B60W2050/0031—Mathematical model of the vehicle
- B60W2050/0033—Single-track, 2D vehicle model, i.e. two-wheel bicycle model
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/10—Historical data
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- 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
- B60W2710/00—Output or target parameters relating to a particular sub-units
- B60W2710/20—Steering systems
-
- 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
-
- 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/10—Longitudinal speed
- B60W2720/103—Speed profile
-
- 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
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/12—Lateral 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
- B60W2754/00—Output or target parameters relating to objects
- B60W2754/10—Spatial relation or speed relative to objects
- B60W2754/20—Lateral distance
-
- 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
- B60W2754/00—Output or target parameters relating to objects
- B60W2754/10—Spatial relation or speed relative to objects
- B60W2754/30—Longitudinal distance
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Human Computer Interaction (AREA)
- Electromagnetism (AREA)
- Mathematical Physics (AREA)
- Optics & Photonics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明涉及用于自主运载工具的系统、方法和存储介质。在本说明书中描述的主题通常涉及用于自主运载工具的控制架构。在一个示例中,使用控制电路来接收参考轨迹、横向约束集和速率约束集。控制电路至少部分地基于参考轨迹和横向约束集来确定转向指令集,并且至少部分地基于速率约束集来确定速率指令集。使用控制电路,根据转向指令集和速率指令集对运载工具进行导航。
Description
技术领域
本说明书涉及一种用于自主运载工具的控制架构。
背景技术
自主运载工具可用于将人和/或货物(例如,包裹、对象或其它物品)从一个地点运输到另一地点。例如,自主运载工具可以导航到某人的地点,等待该人登上该自主运载工具,并导航到所指定的目的地(例如,由该人选择的地点)。为了在环境中进行导航,这些自主运载工具装配有用于检测周围的对象的各种传感器。
发明内容
本说明书所说明的主题涉及用于控制自主运载工具的系统和技术。通常,系统被配置为接收对运载工具的速率和/或位置的一个或多个约束,基于这些约束来确定转向和速率命令,并且使用转向和速率命令来导航运载工具。
特别地,示例技术包括:在运载工具正在自主模式下操作期间:使用控制电路来接收参考轨迹、横向约束集和速率约束集;使用控制电路,至少部分地基于参考轨迹和横向约束集来确定转向命令集;使用控制电路,至少部分地基于速率约束集来确定速率命令集,其中,独立于转向命令集来确定速率命令集;以及使用控制电路,根据转向命令集和速率命令集来导航运载工具。
另一种示例技术包括:在运载工具正在自主模式下操作期间:使用控制电路来接收参考轨迹、横向约束集和速率约束集;使用控制电路来确定运载工具的预测路径和预测路径的速率分布,其中预测路径和速率分布是基于参考轨迹、横向约束集和速率约束集的;使用控制电路,至少部分地基于预测路径和速率分布来确定沿着预测路径的运载工具的参考点以及与该参考点相关联的速率命令;使用控制电路,至少部分地基于运载工具的参考点来确定转向命令;以及使用控制电路,根据转向命令和速率命令来导航运载工具。
另一种示例技术包括:在运载工具正在自主模式下操作期间:使用控制电路来接收参考轨迹、横向约束集和速率约束集;使用控制电路来确定参考轨迹的曲率;使用控制电路,基于参考轨迹的曲率、横向约束集和速率约束集来确定转向命令集和速率命令集;以及使用控制电路,根据转向命令集和速率命令集来导航运载工具。
另一示例技术包括:使用控制电路来确定控制场景;根据确定为控制场景满足第一条件集:使用控制电路来选择第一组控制组件;在控制电路中使用第一组控制组件来确定第一转向命令集和第一速率命令集;以及使用控制电路,根据第一转向命令集和第一速率命令集来导航运载工具;根据确定为控制场景满足第二条件集:使用控制电路来选择第二组控制组件,其中第二组控制组件与第一组控制组件不同;在控制电路中使用第二组控制组件,来确定第二转向命令集和第二速率命令集;以及使用控制电路,根据第二转向命令集和第二速率命令集来导航运载工具;以及根据确定为控制场景满足第三条件集:使用控制电路来选择第三组控制组件,其中,第三组控制组件包括来自第一组控制组件的组件和来自第二组控制组件的组件;在控制电路中使用第三组控制组件来确定第三转向命令集和第三速率命令集;以及使用控制电路,根据第三转向命令集和第三速率命令集来导航运载工具。
另一示例技术包括:在运载工具正在自主模式下操作期间:使用控制电路来接收规则集,其中规则集包括第一规则子集;使用控制电路来接收经分类的对象数据;使用控制电路,至少部分地基于规则集和经分类的对象数据来确定参考轨迹;使用控制电路,从规则集中选择第一规则子集;使用控制电路,至少部分地基于参考轨迹、经分类的对象数据和所选择的第一规则子集来确定转向命令集和速率命令集;以及使用控制电路,根据转向命令集和速率命令集来导航运载工具。
另一示例技术包括:在运载工具正在自主模式下操作期间:使用控制电路来接收与运载工具的当前状态相对应的状态信息;使用控制电路,基于移动模型来预测运载工具的将来状态,其中移动模型包括动力学模型和运动学模型;使用控制电路,至少部分地基于运载工具的当前状态和运载工具的预测的将来状态来确定转向命令集和速率命令集;以及使用控制电路,根据转向命令集和速率命令集来导航运载工具。
其它示例技术包括一个或多个存储介质,存储有被一个或多个计算装置执行时使得进行所述的方法的指令。
这些和其它方面、特征和实现可以被表示为用于进行功能的方法、设备、系统、组件、程序产品、部件或步骤以及以其它方式表示。
这些和其它方面、特征和实现将从以下描述(包括权利要求书)变得清楚。
附图说明
图1示出具有自主能力的自主运载工具的示例。
图2例示示例“云”计算环境。
图3例示计算机系统。
图4示出自主运载工具的示例架构。
图5示出可以由感知模块使用的输入和输出的示例。
图6示出LiDAR系统的示例。
图7示出操作中的LiDAR系统。
图8示出LiDAR系统的操作的附加细节。
图9示出规划模块的输入和输出之间的关系的框图。
图10示出在路径规划中使用的有向图。
图11示出控制模块的输入和输出的框图。
图12示出控制器的输入、输出和组件的框图。
图13A-图13E示出自主运载在环境中导航行车道的示例。
图14A-图14G示出控制架构的示例。
图15是用于确定转向和速率命令的示例处理的流程图。
图16是用于确定转向和速率命令的示例处理的流程图。
图17是用于确定转向和速率命令的示例处理的流程图。
图18是用于确定转向和速率命令的示例处理的流程图。
图19是用于确定转向和速率命令的示例处理的流程图。
图20是用于确定转向和速率命令的示例处理的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的各方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.硬件概述
3.自主运载工具架构
4.自主运载工具输入
5.自主运载工具规划
6.自主运载工具控制
7.使用柱的对象检测的计算系统
8.示例点云和柱
9.用于检测对象并基于对象的检测来操作运载工具的示例处理
总体概述
在复杂环境(例如,城市环境)中驾驶的自主运载工具引起了很大的技术挑战。为了使自主运载工具到达环境中的目的地,运载工具确定到目的地的轨迹(有时称为路线)。一旦已经确定了该轨迹,就确定导致运载工具沿着该轨迹行进的特定转向和速率命令。
这里描述了使用各种控制架构来确定轨迹的转向和速率命令的系统和技术。一旦确定了转向和速率命令,就使用这些命令来导航自主运载工具。
硬件概述
图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的位置、线速度和加速度、角速度和加速度、以及航向(例如,AV100的前端的方向)。传感器121的示例是GPS、测量运载工具线加速度和角速率两者的惯性测量单元(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通过通信信道传输到AV100。
在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到AV 100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与自主运载工具进行的和在自主运载工具之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、WiFi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库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的数据,并且确定表示AV100为了到达(例如,抵达)目的地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之前行驶到中间节点。(当提到AV100在节点之间行驶时,意味着AV 100在由相应节点表示的两个物理位置之间行驶。)边缘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的信息,例如从数据库、计算机网络等接收到的信息。
用于运载工具的控制架构
图13A-图13C例示AV 100在环境190中导航行车道的示例。如图13A所示,AV 100至少部分地基于轨迹414和横向约束1304来导航行车道。通过(如图4所示的)规划模块404来确定轨迹414。规划模块404使用目的地信息、地图信息、位置信息、传感器信息和/或其它数据来确定轨迹414。在一些实施例中,轨迹414是AV 100用于导航以到达目的地的一般路线。例如,如图13A所示,轨迹414指定了AV 100将在行车道上向前行驶,但是没有指定用于使AV100执行以便向前行驶的精确转向或速率命令(例如,油门输入1106和转向输入1108)。在一些示例中,轨迹414可以指定AV 100要转到不同的行车道上,但是没有指定用于使AV 100执行以进行转弯的精确的转向或速率命令。
基于地图信息、传感器信息和/或其它数据来确定横向约束1304(也称为“管”约束)。横向约束1304指示在AV 100沿着轨迹414行进时AV 100可以在不同的时间点安全地偏离轨迹414的到左和右的最大距离。例如,横向约束1304将AV 100保持在行车道的安全行驶车道内。如果AV 100偏离到横向约束1304外部,则AV 100可能进入行驶车道之外的危险区域。在一些示例中,行车道上的车道标记用于确定横向约束1304。在一些示例中,行车道的边缘用于确定横向约束1304。在一些示例中,行车道附近或行车道上的障碍物用于确定横向约束1304。AV 100上的一个或多个传感器可以检测车道标记、行车道的边缘以及行车道附近或行车道上的障碍物。
控制模块406(如图4所示)使用轨迹414、横向约束1304和其它信息(诸如速率约束、AV位置418和AV速度等)来确定将导致AV 100沿着轨迹414行进的控制命令(也称为控制功能420a-c)(例如,转向、加油门、制动)。根据横向约束1304,控制模块406可以调整轨迹414以将AV 100保持在横向轨迹约束1304的边界内。
图13B例示了示例AV 100在具有障碍物1306(例如,道路一侧的另一运载工具、行人或其它危险)的环境190中导航行车道。由于障碍物1306,调整横向约束1304。调整横向约束1304以使AV 100与障碍物1306保持安全距离(例如三英尺)。如果如图13B所示AV 100将继续沿着轨迹414,则AV 100可能违反横向约束1304并且以小于安全距离的距离通过障碍物。
图13C例示了示例AV 100以经调整的轨迹414在环境190中导航行车道。经调整的轨迹414将AV 100保持在经调整的横向约束1304内,并且允许AV100以至少在AV 100与障碍物1306之间的安全距离(例如,三英尺或更多)通过障碍物1306。为了沿经调整的轨迹414行进,控制模块404基于经调整的横向约束1304和其它信息(诸如速率约束、AV位置418和AV速度等)来确定转向和速率命令(例如,油门输入1106和转向输入1108)。
vs=vxcos(μ)-vysin(μ)
为了易读性考虑,将κ(s)简单地表示为κ,这是因为在这里针对由s参数化的轨迹将始终参考κ。因此,该表达式可以用于在空间和时间参数化之间进行转换。
以上定义了曲线坐标系中的状态空间。所有状态都是相对于AV 100的重心(CoG)定义的。可以引入附加的三个松弛变量作为附加输入,以允许对运动学模型进行软约束。运动学模型使用以下变量:
状态变量:
输入变量:
松弛变量(输入):
可以如下所述来对将线性动力学自行车模型与上述运动学自行车模型相组合的公式进行公式化。组合的公式化与上述运动学公式化有一些差异,包括:
1)状态空间包括横向速率vy和横摆角速度ωz;
2)该公式化包括运动学模型和动力学模型的融合;
3)为了降低模型阶次,简单的转向系统模型是可选的;以及
4)没有对声明进程变量s进行公式化。
由于大多数公式化细节都从上述运动学自行车模型继承而来,因此下面仅列出了不同之处。与低速运动学模型的示例性组合线性动力学自行车模型的状态变量如下所述:
状态变量:
输入变量:
松弛变量(输入):
管理这些状态变量的动力学方程被描述为动力学和运动学部分的混合:动力学部分:
其中,vsat=ηdynvx+(1-ηdyn)
σtrans∶=运动学和动力学转变的刚度
vtrans∶=运动学和动力学转变速率
运动学部分:
vy,kine=ωz,kinelr
其中,
kvy,kine∶=vy相对于运动动力学的收敛速率的调谐参数
kωz,kine∶=ωz相对于运动动力学的收敛速率的调谐参数
使用sigmoid函数将动力学部分和运动学部分组合成单个移动模型:
组合运动学模型与动力学模型避免了动态公式化过程中出现的低速率奇异性。由于数值的可行性问题,该低速率奇异性可能使AV系统120无法找到解。使用sigmoid函数组合两个模型可以为组合的移动模型维持连续可微分向量场。虽然移动模型的运动学部分管理低速率动力学,但该模型的动力学部分的速率由vsat保护,vsat也取决于sigmoid函数中使用的比率ηdyn。
图13E示出了用于组合运动学模型和动力学模型的sigmoid函数的示例。如图13E所示,在大约0.5m/s以下使用移动模型的运动学部分,并且在大约2m/s以上使用移动模型的动力学部分。在大约0.5到2m/s之间,sigmoid函数可在运动学模型和动力学模型之间实现平稳转变。
图14A例示了用于(如图4所示的)控制模块406的控制架构1400A的示例。在一些实施例中,控制架构1400A包括具有嵌入式处理电路的微控制器。由规划模块404来提供参考轨迹(例如,如图13A和13B所示的调整之前的轨迹414)、横向约束1304和速率约束(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界(例如,基于AV 100的舒适度水平所选择的加速度/减速度边界意图向乘客提供超出边界的加速度/减速度可能会降低乘客的舒适度)、由领先运载工具施加的限制)。横向约束1304和参考轨迹(例如,经由约束适配器1404)被提供给路径优化器1406,并且速率约束被提供给速率优化器1408。
在一些实施例中,以第一频率(例如50Hz)从规划模块404提供横向约束1304和/或参考轨迹。如果路径优化器1406以不同的频率(例如20Hz)操作,则约束适配器1404用于将横向约束和/或参考轨迹调整为路径优化器1406的频率。约束适配器1404与路径优化器1406串联操作。在一些实施例中,约束适配器1404对参考路径和相对于AV 100的位置的速率约束进行采样,以生成被提供给路径优化器1406的参考轨迹(例如,参考路径被转换为时域)。在一些实施例中(例如,如果路径优化器1406以与规划模块404相同的频率操作),直接从计划模块404(例如,不通过约束适配器1404)向路径优化器1406提供横向约束1304和参考轨迹。
路径优化器1406至少部分地基于参考轨迹和横向约束1304来确定转向命令集(例如,转向输入1108)。该转向命令集在横向约束1304内调整参考轨迹以避免诸如图13C所示等的潜在障碍物。在一些实施例中,由路径优化器1406确定的转向命令使得AV 100使用经调整的轨迹而将AV 100大致保持位于横向约束1304之间的中心,诸如图13C所示等。
在一些实施例中,路径优化器1406部分地基于AV 100随时间经过的横向位置来确定转向命令集。横向位置是基于多个因素确定的。这些因素包括AV100到障碍物(例如,停在路肩上的运载工具)的距离、AV 100与参考轨迹的距离以及横向变化的阈值(例如,运载工具的最大转弯速率)。在一些实施例中,当确定转向命令集时,基于每个因素的重要性对这些因素中的每个进行加权(例如,给更重要的因素赋予更大的加权值)。
速率优化器1408与路径优化器1406(以及在某些实施例中,约束适配器1404)并行操作。速率优化器1408至少部分地基于速率约束来确定速率命令集(例如,油门输入1106)。速率命令集将AV 100的速率控制在速率约束内。例如,速率命令可以使AV 100与AV正跟随的领先运载工具保持安全距离。在控制架构1400A中,在不考虑转向命令或横向约束的情况下确定速率命令,并且在不考虑速率命令或速率约束的情况下确定转向命令(例如,通过使用并行操作的不同模块来独立地从转向命令确定速率命令)。
在一些实施例中,速率优化器1408部分地基于AV 100随时间经过的目标速率来确定速率命令集。目标速率是满足舒适度因素的速率约束集内的速率(例如,加速率/减速率在预定的加速度/减速度舒适度边界内)。
在已经确定了转向命令集和速率命令集之后,线控驱动模块1412根据转向命令和速率命令来导航AV 100。在一些实施例中,控制网关1410接收转向和速率命令,并且在将命令传递到线控驱动模块1412之前执行安全检查。控制网关1410与线控驱动模块1412串联操作。在一些实施例中,控制网关1410确定转向命令和速率命令是否满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值)。如果满足安全因素,则将转向和速率命令传递到线控驱动模块1412,以根据这些命令导航AV 100。如果不满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),则会阻止AV 100根据转向和速率命令进行导航。
图14B例示了用于(如图4所示的)控制模块406的控制架构1400B的示例。在一些实施例中,控制架构1400B包括具有嵌入式处理电路的微控制器。控制架构1400B用轨迹优化器1414、跟踪器参考生成器1416和路径跟踪器1418来替换如图14A所示的约束适配器1404、路径优化器1406和速率优化器1408。由规划模块404来提供参考轨迹(例如,如图13A和13B所示的调整之前的轨迹414)、横向约束1304和速率约束(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界(例如,基于AV 100的舒适度水平所选择的加速度/减速度边界意图向乘客提供超出边界的加速度/减速度可能会降低乘客的舒适度)、由领先运载工具施加的限制)。
轨迹优化器1414基于参考轨迹、横向约束集和速率约束集来确定AV 100的预测路径和预测路径的速率分布。预测路径是在横向约束内调整参考轨迹的路径。速率分布包括AV 100被预测为沿着预测路径行进的速率。
跟踪器参考生成器1416与轨迹优化器1414串联操作。跟踪器参考生成器1416至少部分地基于预测路径和速率分布来确定沿着预测路径的AV 100的参考点和与参考点相关联的速率命令。参考点可以是例如预测路径上的最接近AV 100的位置的点。在一些实施例中,跟踪器参考生成器1416部分地基于AV 100的随时间经过的目标速率来确定速率命令。目标速率是满足舒适度因素(例如,加速率/减速率在预定的加速度/减速度舒适度边界内)的速率约束集内的速率。
在一些实施例中,预测路径包括第一频率(例如20Hz)的路径数据。跟踪器参考生成器1416将路径数据的频率增加到高于第一频率的第二频率(例如100Hz)。在一些实施例中,将路径数据的频率增加到第二频率包括在路径数据中的不连续处之间进行插值(例如,缓和转向或速率的急剧变化)。
跟踪器参考生成器1416向路径跟踪器1418提供参考点,并且在一些实施例中,向控制网关1410提供速率命令。
路径跟踪器1418至少部分地基于运载工具的参考点来确定转向命令。在一些实施例中,路径跟踪器1418部分地基于AV 100随时间经过的横向位置来确定转向命令。横向位置是根据多个因素确定的。这些因素包括AV 100到障碍物(例如,停在路肩上的运载工具)的距离、AV 100与参考轨迹的距离以及横向变化的阈值(例如,不影响乘客舒适度的情况下运载工具的最大转弯速率)。在一些实施例中,在确定转向命令时基于每个因素的重要性来对这些因素中的每一个进行加权。在一些实施例中,路径跟踪器1418使用运载工具在预测路径上的参考点,基于动力学自行车模型来确定转向命令。
线控驱动模块1412根据转向命令和速率命令来导航AV 100。在一些实施例中,控制网关1410接收来自路径跟踪器1418的转向命令和来自跟踪器参考生成器1416的速率命令,然后在将命令传递到线控驱动模块1412之前执行安全检查。控制网关1410与线控驱动模块1412串联操作。在一些实施例中,控制网关1410确定转向命令和速率命令是否满足安全因素(例如,转向命令和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值)。如果满足安全因素,则转向和速率命令被传递到线控驱动模块1412,以根据这些命令导航AV 100。如果不满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),则会阻止AV 100根据转向和速率命令进行导航。
图14C示出了用于(如图4所示的)控制模块406的控制架构1400C的示例。在一些实施例中,控制架构1400C包括具有嵌入式处理电路的微控制器。控制架构1400C将控制架构1400A的模块和控制架构1400B的模块组合在一起。代替使用如图14B所示的轨迹优化器1414,控制架构1400C使用如图14A所示的约束适配器1404、路径优化器1406和速率优化器1408。路径优化器1406确定如参考图14A所描述的转向命令集,并且速率优化器1408确定如参考图14A所描述的速率命令集。
在一些实施例中,转向命令集包括第一频率(例如20Hz)的转向数据。跟踪器参考生成器1416将转向数据的频率增加到高于第一频率的第二频率(例如100Hz)。在一些实施例中,将转向数据的频率增加到第二频率包括在转向数据中的不连续处之间进行插值(例如,缓和转向时的急剧变化)。跟踪器参考生成器1416基于第二频率的转向数据来确定预测路径。跟踪器参考生成器1416然后至少部分地基于AV 100的当前状态来确定沿着预测路径的AV 100的参考点。参考点可以是例如预测路径上的最接近AV 100的位置的点。
跟踪器参考生成器1416向路径跟踪器1418提供参考点和转向命令集,并且在一些实施例中,向控制网关1410提供速率命令集。
路径跟踪器1418至少部分地基于运载工具的参考点来调整转向命令集中的一个或多个转向命令。在一些实施例中,路径跟踪器1418确定运载工具的当前状态与运载工具在预测路径上的参考点之间的横向误差,并且使用该横向误差来确定如何调整转向命令中的一个或多个。在一些实施例中,路径跟踪器1418使用运载工具在预测路径上的参考点,基于动力学自行车模型确定如何调整转向命令中的一个或多个。
线控驱动模块1412根据转向命令(包括任何经调整的命令)和速率命令来导航AV100。在一些实施例中,控制网关1410接收来自路径跟踪器1418的经调整的转向命令集和来自跟踪器参考生成器1416的速率命令集,然后在将命令传递到线控驱动模块1412之前执行安全检查。控制网关1410与线控驱动模块1412串联操作。在一些实施例中,控制网关1410确定转向命令和速率命令是否满足安全因素(例如,转向命令和速率命令可能导致碰撞或危险/非法机动动作的估计可能性是大于还是小于阈值)。如果满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),则转向和速率命令被传递到线控驱动模块1412以根据这些命令导航AV 100。如果不满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),则会阻止AV 100根据转向和速率命令进行导航。
图14D示出了用于(如图4所示的)控制模块406的控制架构1400D的示例。在一些实施例中,控制架构1400D包括具有嵌入式处理电路的微控制器。控制架构1400D用组合模型预测控制器(MPC)1420来替换如图14A和14B所述的模块。组合MPC 1420接收来自规划模块404的参考轨迹(例如,如图13A和13B所示的调整之前的轨迹414)、横向约束1304和速率约束(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界(例如,基于AV 100的舒适度水平所选择的加速度/减速度边界意图向乘客提供超出边界的加速度/减速度可能会降低乘客的舒适度)、由领先运载工具施加的限制)。
组合MPC 1420确定参考轨迹的曲率。基于参考轨迹的曲率、横向约束集和速率约束集,组合MPC 1420然后确定转向命令集和速率命令集。
在一些实施例中,组合MPC 1420部分地基于AV 100随时间经过的横向位置来确定转向命令集。横向位置是根据多个因素确定的。这些因素包括AV100到障碍物(例如,停在路肩上的运载工具)的距离、AV 100与参考轨迹的距离以及横向变化的阈值(例如,运载工具的最大转弯速率)。在一些实施例中,在确定转向命令集时基于每个因素的重要性来对这些因素中的每一个进行加权。
在一些实施例中,组合MPC 1420部分地基于AV 100随时间经过的目标速率来确定速率命令集。目标速率是满足舒适度因素(例如,加速率/减速率在预定的加速度/减速度舒适度边界内)的速率约束集内的速率。
在已经确定了转向命令集和速率命令集之后,线控驱动模块1412根据转向命令和速率命令来导航AV 100。在一些实施例中,控制网关1410接收来自MPC 1420的转向命令和速率命令,并且在将命令传递到线控驱动模块1412之前执行安全检查。控制网关1410与线控驱动模块1412串联操作。在一些实施例中,控制网关1410确定转向命令和速率命令是否满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性是大于还是小于阈值)。如果满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),则转向和速率命令被传递到线控驱动模块1412以根据这些命令导航AV 100。如果不满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),则会阻止AV 100根据转向和速率命令进行导航。
在一些实施例中,组合MPC 1420在确定速率和转向命令时使用AV 100的运动的运动学和动力学模型的组合。组合MPC 1420接收与AV 100的当前状态(例如,速率、加速度、转向角、转向率、航向)相对应的状态信息。然后,基于组合了动力学和运动学模型的移动模型来预测AV 100的将来状态。以上参考图13D-13E描述了移动模型(包括动力学和运动学部分)。如上所述,使用sigmoud函数来组合动力学模型和运动学模型。在低速率(例如,低于大约0.5m/s)时,使用运动学模型(例如,不使用动力学模型)。在较高速率(例如,高于约2m/s)时,使用动力学模型(例如,不使用运动学模型)。在中间速率时,使用两个模型的组合,其中基于sigmoud函数来组合这些模型。
在预测AV 100的将来状态之后,组合MPC至少部分地基于运载工具的当前状态(例如,当前速率、加速度、转向角、转向率、航向)和如由组合移动模型所确定的运载工具的预测将来状态来确定转向命令集和速率命令集。
在已经确定了转向命令集和速率命令集之后,线控驱动模块1412根据转向命令和速率命令来导航AV 100。在一些实施例中,控制网关1410从MPC1420接收转向和速率命令,并在将命令传递到线控驱动模块1412之前执行安全检查。控制网关1410与线控驱动模块1412串联操作。在一些实施例中,控制网关1410确定转向命令和速率命令是否满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性是大于还是小于阈值)。如果满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),则转向和速率命令被传递到线控驱动模块1412以根据这些命令导航AV 100。如果不满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),则会阻止AV100根据转向和速率命令进行导航。
图14E示出了用于(如图4所示的)控制模块406的控制架构1400E的示例。在一些实施例中,控制架构1400E包括具有嵌入式处理电路的微控制器。控制架构1400E与图14D所示的控制架构1400D的类似之处在于使用组合MPC1420来确定速率和转向命令。
如图14E所示,规划模块404和组合MPC 1420这两者从规则手册1422接收规则。规则手册1422定义了用于针对AV 100提供行为预期的高级约束。由规则手册1422提供的规则被按规则的层级结构排列,其中仅在检查了层级较高的规则之后才检查层级较低的规则。
规则手册1422包括被选择由规划模块404和组合MPC 1420这两者使用的规则的子集。在一些实施例中,被选择由组合MPC 1420使用的规则的子集包括与连续值(例如,速率、加速度、距离)相关联的规则。未被选择由组合MPC 1420使用的规则包括与离散值(例如,AV100是移动还是停止)相关联的规则。规划模块404和组合MPC 1420两者所使用的规则的示例包括邻近规则(例如,基于到诸如另一运载工具等的被跟踪对象的距离来约束速率和横向位置)、车道驻留规则(例如,基于车道边界来约束横向位置)、与速率有关的约束(例如,最大速率限制、最小速率限制、在停止标志处停止)以及基于乘客舒适度的加速度/减速度约束(例如,将加速度/减速度约束为乘客舒适度因素内的速率(例如,避免急刹车或突然加速))。
邻近规则是对AV 100的速度和横向位置的非线性不等式约束。邻近规则的目的是优化AV 100的速度和横向位置,并找到用于在不超过距被跟踪对象的最小横向间隙距离的情况下使AV 100的速度最大化的轨迹。换句话说,邻近规则为组合MPC 1420提供了用于在间隙距离和在障碍物附近施加(例如,为了安全)的速度降低之间进行折中的方式。
图14F例示了在实现邻近规则时所使用的参数的示例。邻近规则引入了速度约束其由两个分量构成。第一个分量是随着到要避开的障碍物1426的纵向距离而平方减小的速度分量。第二个分量是随着与障碍物1426的间隙而增大的速度分量。值被作为运行时参数而提供至组合MPC 1420,其中该运行时参数被计算为到障碍物的纵向距离。只要障碍物1426接近AV 100,则该距离等于0,其中对于该距离,如以下所示分别使用AV 100的后部长度和前部长度lr和lf:
值dlon是参考轨迹上的(从AV 100的当前地点开始)到障碍物1426正约束AV 100的地点的纵向距离。值sk是沿着参考轨迹的在第k个水平阶段的进程(同样从AV 100的当前地点开始)。基于该距离,该约束的纵向速度分量可以分别根据舒适的加速率和减速率acomf,accel和acomf,dece来确定,如以下所示:
这得到针对每个阶段的两个附加的运行时参数左右之间的区别允许AV 100能够避开右侧的左踪迹和左侧的右踪迹。这是决定AV 100应在哪个方向改变以避开障碍物1426所需的信息。以上的所有计算都是针对相对于参考轨迹的左/右踪迹而分别执行的。
其中a和c是sigmoid函数的系数。通常,邻近规则指定了:AV 100离障碍物越远,AV 100可以行驶的速度越高。选择sigmoid参数,使得该函数是平滑的无大的二阶梯度并且实现了vref的最大值。
使用以上定义的纵向速度分量和横向速度分量,可以按照如下来定义由于邻近规则而引起的所得速度约束:
返回到图14E,规划模块404和组合MPC 1420这两者从感知模块404接收经分类的对象数据。经分类的对象数据描述了检测到的已被分组为类型的对象,例如行人、自行车、机动车、交通标志等。然后,规划模块404至少部分地基于来自规则手册1422的规则(例如,包括未被组合MPC 1420使用的至少一些规则)和经分类的对象数据来确定参考轨迹。
然后,将参考轨迹提供给组合MPC 1420。组合MPC 1420至少部分地基于参考轨迹、经分类的对象数据和来自规则手册1422的所选规则子集(例如,转向命令集和速率命令集独立于规则手册1422中的至少一些规则或者在不基于该至少一些规则来确定)(例如,独立于参考轨迹的确定)来确定转向命令集和速率命令集。
在已经确定了转向命令集和速率命令集之后,线控驱动模块1412根据转向命令和速率命令来导航AV 100。在一些实施例中,根据该转向命令集和该速率命令集来导航AV100包括:违反被选择由组合MPC 1420使用的至少一个规则。例如,来自规则手册1422中的一些规则包括了在条件证明了违规的情况下允许超出有限数量的规则的松弛变量。
在一些实施例中,控制网关1410从MPC 1420接收转向和速率命令,并在将命令传递到线控驱动模块1412之前执行安全检查。控制网关1410与线控驱动模块1412串联操作。在一些实施例中,控制网关1410确定转向命令和速率命令是否满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性是大于还是小于阈值)。如果满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),则转向和速率命令被传递到线控驱动模块1412以根据这些命令来导航AV100。如果不满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),则会阻止AV 100根据转向和速率命令进行导航。
图14G例示了用于(如图4所示的)控制模块406的控制架构1400G的示例。在一些实施例中,控制架构1400G包括具有嵌入式处理电路的微控制器。控制架构1400G将图14D的组合MPC 1420添加到如图14C所示的控制架构1400C。第一转向命令集和第一速率命令集由如参考图14C所述的路径优化器1406、速率优化器1408、跟踪器参考生成器1416和路径跟踪器1418来确定。第二转向命令集和第二速率命令集由如参考图14D所述的组合MPC 1420来确定。
控制网关1410确定AV 100的控制场景。在一些实施例中,控制场景是基于AV 100的当前位置(例如,世界的不同区域可以使用不同的控制场景)。在一些实施例中,控制场景随着时间经过动态地改变(例如,正在操作运载工具的区域改变)。在一些实施例中,控制场景是基于AV 100的能力(例如,处理器速率、可用传感器)。在一些实施例中,控制场景是预先确定的并且随时间(例如,当基于AV 100的能力确定控制场景时)保持静态。
如果控制场景满足第一条件集(例如,AV 100不具有组合MPC 1420所需的能力),则控制网关1410选择如由路径优化器1406、速率优化器1408、跟踪器参考生成器1416和路径跟踪器1418所确定的第一转向命令集和第一速率命令集。在已经选择了第一转向命令集和第一速率命令集之后,线控驱动模块1412根据第一转向命令集和第一速率命令集来导航AV 100。
如果控制场景满足第二条件集(例如,AV 100不具有路径优化器1406、速率优化器1408、跟踪器参考生成器1416和路径跟踪器1418中的一个或多个的所需能力),则控制网关1410选择如由组合MPC 1420所确定的第二转向命令集和第二速率命令集。在已经选择了第二转向命令集和第二速率命令集之后,线控驱动模块1412根据第二转向命令集和第二速率命令集来导航AV 100。
如果控制场景满足第三条件集(例如,AV 100能够使用图14G中所示的所有模块),则控制网关1410组合第一转向命令集和第二转向命令集以生成第三转向命令集。控制网关1410还组合第一速率命令集和第二速率命令集以生成第三速率命令集。在已经生成了第三转向命令集和第三速率命令集之后,线控驱动模块1412根据第三转向命令集和第三速率命令集来导航AV 100。
用于确定转向和速率命令的示例处理
图15是用于确定转向和速率命令的示例处理1500的流程图。处理1500被描述为由控制电路(例如,图4的控制模块406)执行。在一些实施例中,控制电路包括具有嵌入式处理电路的微控制器。在一些实施例中,处理1500可以由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当编程的图1的AV系统120(或其一部分)可以执行处理1500。
在块1502处,在运载工具(例如,AV 100)正在自主模式(例如,具有自动转向、加速、制动和导航的完全或高度自主模式(例如,级3、级4或级5))下操作时,控制电路(例如,控制模块406)接收参考轨迹(例如,来自规划模块404的相对于时间的路径)、横向约束集(例如,“管”约束-运载工具可以在不同的时间点安全地偏离参考轨迹的到左和右的最大距离)和速率约束集(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界)。在一些实施例中,横向约束对应于车道边界。在一些实施例中,调整横向约束以避开行车道上或附近的障碍物(例如停放的小汽车)。在一些实施例中,接收参考轨迹包括:使用控制电路(例如,在约束适配器1404处),对(例如,来自规划模块404的)参考路径和相对于运载工具的位置的速率约束集进行采样以生成参考轨迹(例如,时域中的参考路径)。在一些实施例中,约束适配器1404以与路径优化器1406的速率(例如20Hz)不同的速率(例如50Hz)运行。
在块1504,控制电路至少部分地基于参考轨迹和横向约束集(例如,调整横向约束内的参考轨迹以避开对象的转向命令集)来(例如,在路径优化器1406处)确定转向命令集。在一些实施例中,确定转向命令集包括基于多个转向因素来确定运载工具随时间的横向位置,这些转向因素包括运载工具到障碍物(例如,停在路肩上的运载工具)的距离、运载工具与参考轨迹的距离以及横向变化的阈值(例如,运载工具的最大转弯速率)。在一些实施例中,控制电路至少部分地基于所确定的运载工具随时间的横向位置来确定转向命令集。
在一些实施例中,该转向命令集包括第一频率(例如20Hz)的转向数据。在一些实施例中,确定转向命令集包括:(例如,在跟踪器参考生成器1416处)将转向数据的频率增加到高于第一频率的第二频率(例如100Hz);基于第二频率的转向数据(例如,在跟踪器参考生成器1416处)确定预测路径;至少部分地基于运载工具的当前状态(例如,在跟踪器参考生成器1416处)确定沿着预测路径的运载工具的参考点(例如,预测路径上的最接近运载工具的位置的点);以及至少部分地基于运载工具的参考点(例如,在路径跟踪器1418处)确定转向命令集。在一些实施例中,将转向数据的频率增加到第二频率包括:在转向数据中的不连续处之间进行插值(例如,缓和转向时的急剧变化)。在一些实施例中,至少部分地基于运载工具的参考点来确定转向命令集包括确定运载工具的当前状态与运载工具在预测路径上的参考点之间的横向误差。在一些实施例中,使用运载工具在预测路径上的参考点,基于动力学自行车模型来确定转向命令集。
在一些实施例中,转向命令集包括第一转向数据。在一些实施例中,确定转向命令集包括:(例如,在组合MPC 1420处)确定参考轨迹的曲率;基于参考轨迹的曲率、横向约束集和速率约束集(例如,在组合MPC 1420处)确定第二转向数据;以及(例如,在控制网关1410处)组合第一转向数据和第二转向数据以生成转向命令集。
在块1506,控制电路至少部分地基于速率约束集(例如,在速率优化器1408处)确定速率命令集(例如,在速率约束内控制运载工具的速率的速率命令集)。在一些实施例中,该速率命令集独立于转向命令集来确定(例如,不考虑转向命令或横向约束来确定速率命令,并且不考虑速率命令或速率约束来确定转向命令)。在一些实施例中,确定速率命令集包括:确定速率约束集内的满足舒适度因素(例如,加速度/减速度在预定的加速度/减速度舒适度边界内)的运载工具随时间的目标速率;以及至少部分地基于所确定的运载工具随时间的目标速率来确定速率命令集。
在块1508处,控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集未能满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),控制电路放弃根据转向命令集和速率命令集对运载工具的导航。
图16是用于确定转向和速率命令的示例处理1600的流程图。处理1600被描述为由控制电路(例如,图4的控制模块406)执行。在一些实施例中,控制电路包括具有嵌入式处理电路的微控制器。在一些实施例中,处理1600可以由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的图1的AV系统120(或其一部分)可以执行处理1600。
在块1602处,在运载工具(例如,AV 100)正在自主模式(例如,具有自动转向、加速、制动和导航的完全或高度自主模式(例如,级3、级4或级5))下操作时,控制电路(例如,控制模块406)接收参考轨迹(例如,来自规划模块404的相对于时间的路径)、横向约束集(例如,“管”约束-运载工具可以在不同的时间点安全地偏离参考轨迹的到左和右的最大距离)和速率约束集(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界)。在一些实施例中,横向约束对应于车道边界。在一些实施例中,调整横向约束以避开行车道上或附近的障碍物(例如停放的小汽车)。
在块1604处,控制电路(例如,在轨迹优化器1414处)确定运载工具的预测路径(例如,在横向约束内调整参考轨迹以避开对象的路径)和预测路径的速率分布(例如,包括预测运载工具沿着预测路径行进的速率的分布)。预测的路径和速率分布是基于参考轨迹、横向约束集和速率约束集。
在块1606,控制电路至少部分地基于预测路径和速率分布(例如,在跟踪器参考生成器1416处)确定沿着预测路径的运载工具的参考点(例如,预测路径上的最接近运载工具的位置的点)和与参考点相关联的速率命令。在一些实施例中,确定速率命令包括:确定速率约束集内的满足舒适度因素(例如,加速度/减速度在预定的加速度/减速度舒适度边界内)的运载工具随时间的目标速率;以及至少部分地基于所确定的运载工具随时间的目标速率来确定速率命令集。在一些实施例中,预测路径包括第一频率(例如20Hz)的路径数据。在一些实施例中,确定沿着预测路径的运载工具的参考点包括(例如,在跟踪器参考生成器1416处)将路径数据的频率增加到高于第一频率的第二频率(例如,100Hz)。在一些实施例中,将路径数据的频率增加到第二频率包括在路径数据中的不连续处之间进行插值(例如,缓和转向或速率的急剧变化)。
在块1608,控制电路至少部分地基于运载工具的参考点(例如,在路径跟踪器1418处)确定转向命令。在一些实施例中,确定转向命令包括基于多个转向因素来确定运载工具随时间的横向位置,这些转向因素包括运载工具到障碍物(例如,停在路肩上的运载工具)的距离、运载工具与参考轨迹的距离以及横向变化的阈值(例如,运载工具的最大转弯速率)。在一些实施例中,控制电路至少部分地基于所确定的运载工具随时间的横向位置来确定转向命令集。在一些实施例中,使用运载工具在预测路径上的参考点,基于动力学自行车模型来确定转向命令。
在一些实施例中,转向命令包括第一转向数据。在一些实施例中,确定转向命令包括:(例如,在组合MPC 1420处)确定参考轨迹的曲率;基于参考轨迹的曲率、横向约束集和速率约束集(例如,在组合MPC 1420处)确定第二转向数据;以及(例如,在控制网关1410处)组合第一转向数据和第二转向数据以生成转向命令。
在块1610,控制电路根据转向命令和速率命令(例如,在线控驱动模块1412处)对运载工具进行导航。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令和速率命令满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),控制电路根据转向命令和速率命令(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令和速率命令未满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),控制电路放弃根据转向命令和速率命令对运载工具的导航。
图17是用于确定转向和速率命令的示例处理1700的流程图。处理1700被描述为由控制电路(例如,图4的控制模块406)执行。在一些实施例中,控制电路包括具有嵌入式处理电路的微控制器。在一些实施例中,处理1700可以由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当编程的图1的AV系统120(或其一部分)可以执行处理1700。
在块1702处,在运载工具(例如,AV 100)正在自主模式(例如,具有自动转向、加速、制动和导航的完全或高度自主模式(例如,级3、级4或级5))下操作时,控制电路(例如,控制模块406)接收参考轨迹(例如,来自规划模块404的相对于时间的路径)、横向约束集(例如,“管”约束-运载工具可以在不同的时间点安全地偏离参考轨迹的到左和右的最大距离)和速率约束集(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界)。在一些实施例中,横向约束对应于车道边界。在一些实施例中,调整横向约束以避开行车道上或附近的障碍物(例如停放的小汽车)。
在块1704,控制电路(例如,在组合MPC 1420处)确定参考轨迹的曲率。
在块1706,控制电路基于参考轨迹的曲率、横向约束集和速率约束集(例如,在组合MPC 1420处)确定转向命令集和速率命令集。在一些实施例中,确定转向命令集包括基于多个转向因素来确定运载工具随时间的横向位置,这些转向因素包括运载工具到障碍物(例如,停在路肩上的运载工具)的距离、运载工具与参考轨迹的距离以及横向变化的阈值(例如,运载工具的最大允许转弯速率)。在一些实施例中,控制电路至少部分地基于所确定的运载工具随时间的横向位置来确定转向命令集。在一些实施例中,确定速率命令集包括:确定速率约束集内的满足舒适度因素(例如,加速率/减速率在预定的加速度/减速度舒适度边界内)的运载工具随时间的目标速率;以及至少部分地基于所确定的运载工具随时间的目标速率来确定速率命令集。
在块1708处,控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集未能满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),控制电路放弃根据转向命令集和速率命令集对运载工具的导航。
图18是用于确定转向和速率命令的示例处理1800的流程图。处理1800被描述为由控制电路(例如,图4的控制模块406)执行。在一些实施例中,控制电路包括具有嵌入式处理电路的微控制器。在一些实施例中,处理1800可由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的图1的AV系统120(或其一部分)可以执行处理1800。
在块1802,控制电路(例如,控制模块406)确定运载工具(例如,AV 100)的控制场景。在一些实施例中,控制场景是基于运载工具的位置(例如,绘制行车道的地图)。在一些实施例中,控制场景是基于运载工具的能力(例如,处理器速率、可用传感器)。在一些实施例中,控制场景随着时间动态地改变(例如,正在操作运载工具的当前环境改变)。在一些实施例中,控制场景是预先确定的并且随时间(例如,当基于运载工具的能力确定控制场景时)保持静态。
在块1804,控制电路确定控制场景是符合第一条件集、第二条件集还是第三条件集。
在块1806,根据确定为控制场景符合第一条件集(例如,运载工具不具有组合MPC所需的能力),控制电路选择第一组控制组件。
在块1808,控制电路使用第一组控制组件来确定第一转向命令集和第一速率命令集。在一些实施例中,使用第一组控制组件来确定第一转向命令集和第一速率命令集包括:接收参考轨迹(例如,来自规划模块404的相对于时间的路径)、横向约束集(例如,“管”约束-运载工具可以在不同的时间点安全地偏离参考轨迹的到左和右的最大距离)和速率约束集(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界);至少部分地基于参考轨迹和横向约束集(例如,在路径优化器1406处)确定第一转向命令集(例如,在横向约束内调整参考轨迹以避开对象的转向命令集);以及至少部分地基于该速率约束集(例如,在速率优化器1408处)确定第一速率命令集(例如,在速率约束内控制运载工具的速率的速率命令集)。在一些实施例中,横向约束对应于车道边界。在一些实施例中,调整横向约束以避开行车道上或附近的障碍物(例如停放的小汽车)。在一些实施例中,第一速率命令集独立于第一转向命令集来确定(例如,不考虑转向命令或横向约束来确定速率命令,并且不考虑速率命令或速率约束来确定转向命令)。
在一些实施例中,第一转向命令集包括第一频率(例如20Hz)的转向数据。在一些实施例中,确定第一转向命令集包括:(例如,在跟踪器参考生成器1416处)将转向数据的频率增加到高于第一频率的第二频率(例如,100Hz);基于第二频率的转向数据(例如,在跟踪器参考生成器1416处)确定预测路径;至少部分地基于运载工具的当前状态(例如,在跟踪器参考生成器1416处)确定沿着预测路径的运载工具的参考点(例如,预测路径上的最接近运载工具的位置的点);以及至少部分地基于运载工具的参考点(例如,在路径跟踪器1418处)确定第一转向命令集。在一些实施例中,将转向数据的频率增加到第二频率包括:在转向数据中的不连续处之间进行插值(例如,缓和转向时的急剧变化)。在一些实施例中,至少部分地基于运载工具的参考点来确定第一转向命令集包括确定运载工具的当前状态与运载工具在预测路径上的参考点之间的横向误差。在一些实施例中,使用运载工具在预测路径上的参考点,基于动力学自行车模型来确定第一转向命令集。
在一些实施例中,控制电路接收预测路径的速率分布(例如,包括预测运载工具沿着预测路径行驶的速率的分布),并且至少部分地基于速率分布(例如,在跟踪器参考生成器1416处)确定第一速率命令集。在一些实施例中,速率分布包括第一频率(例如20Hz)的速率数据。在一些实施例中,确定第一速率命令集包括(例如,在跟踪器参考生成器1416处)将速率数据的频率增加到高于第一频率的第二频率(例如,100Hz)。
在块1810处,控制电路根据第一转向命令集和第一速率命令集(例如,在线控驱动模块1412处)对运载工具进行导航。
在块1812,根据确定为控制场景符合第二条件集,控制电路选择第二组控制组件。第二组控制组件不同于第一组控制组件。
在块1814,控制电路使用第二组控制组件来确定第二转向命令集和第二速率命令集。在一些实施例中,使用第二组控制组件来确定第二转向命令集和第二速率命令集包括:接收参考轨迹(例如,来自规划模块404的相对于时间的路径)、横向约束集(例如,“管”约束-运载工具可以在不同的时间点安全地偏离参考轨迹的到左和右的最大距离)和速率约束集(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界);(例如,在组合MPC 1420处)确定参考轨迹的曲率;以及基于参考轨迹的曲率、横向约束集和速率约束集(例如,在组合MPC 1420处)确定第二转向命令集和第二速率命令集。在一些实施例中,横向约束对应于车道边界。在一些实施例中,调整横向约束以避开行车道上或附近的障碍物(例如停放的小汽车)。
在块1816处,控制电路根据第二转向命令集和第二速率命令集(例如,在线控驱动模块1412处)对运载工具进行导航。
在块1818,根据确定为控制场景符合第三条件集,控制电路选择第三组控制组件。第三组控制组件包括来自第一组控制组件的组件和来自第二组控制组件的组件。
在块1820,控制电路使用第三组控制组件来确定第三转向命令集和第三速率命令集。在一些实施例中,使用第三组控制组件来确定第三转向命令集和第三速率命令集包括:接收参考轨迹(例如,来自规划模块404的相对于时间的路径)、横向约束集(例如,“管”约束-运载工具可以在不同的时间点安全地偏离参考轨迹的到左和右的最大距离)和速率约束集(例如,行车道速率限制、运载工具的物理加速度/减速度限制、预定的加速度/减速度舒适度边界);至少部分地基于参考轨迹和横向约束集(例如,在路径优化器1406处)确定第四转向命令集(例如,在横向约束内调整参考轨迹以避开对象的转向命令集);至少部分地基于速率约束集(例如,在速率优化器1408处)确定第四速率命令集(例如,在速率约束内控制运载工具的速率的速率命令集);(例如,在组合MPC 1420处)确定参考轨迹的曲率;基于参考轨迹的曲率、横向约束集和速率约束集(例如,在组合MPC 1420处)确定第五转向命令集和第五速率命令集;(例如,在控制网关1410处)组合第四转向命令集和第五转向命令集以生成第三转向命令集;以及(例如,在控制网关1410处)组合第四速率命令集和第五速率命令集以生成第三转向命令集。在一些实施例中,第四速率命令集独立于第四转向命令集来确定(例如,不考虑转向命令或横向约束来确定速率命令,并且不考虑速率命令或速率约束来确定转向命令)。在一些实施例中,横向约束对应于车道边界。在一些实施例中,调整横向约束以避开行车道上或附近的障碍物(例如停放的小汽车)。
在块1822处,控制电路根据第三转向命令集和第三速率命令集(例如,在线控驱动模块1412处)导航运载工具。
图19是用于确定转向和速率命令的示例处理1900的流程图。处理1900被描述为由控制电路(例如,图4的控制模块406)执行。在一些实施例中,控制电路包括具有嵌入式处理电路的微控制器。在一些实施例中,处理1900可由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的图1的AV系统120(或其一部分)可以执行处理1900。
在块1902处,在运载工具(例如,AV 100)正在自主模式(例如,具有自动转向、加速、制动和导航的完全或高度自主模式(例如,级3、级4或级5))下操作时,控制电路(例如,控制模块406)(例如,在规划模块404和组合MPC1420处)接收(例如,来自规则手册1422的)规则集。规则集包括第一规则子集(例如,由规划模块404和组合MPC 1420两者使用的规则)。
在一些实施例中,规则集被按规则的层级结构排列(例如,仅在检查了层级较高的规则之后才检查层级较低的规则)。在一些实施例中,第一规则子集包括与连续值相关联的规则(例如,第一规则集使用连续的变量(例如,速率、加速度、距离),而第二规则集中的一些规则是离散的(例如,移动或停止的))。
在一些实施例中,第一规则子集包括邻近规则(例如,基于到诸如另一运载工具等的被跟踪对象的距离来约束速率和横向位置)。在一些实施例中,第一规则子集包括车道驻留规则(例如,基于车道边界来约束横向位置)。在一些实施例中,第一规则子集包括与运载工具的速率有关的一个或多个约束(例如,最大速率限制、最小速率限制、在停止标志处停止)。在一些实施例中,第一规则子集包括与运载工具的加速度有关的一个或多个约束(例如,将加速度/减速度约束为乘客舒适度因素内的速率(例如,避免急刹车或突然加速))。
在块1904,控制电路接收(例如,在规划模块404和组合MPC 1420处)接收经分类的对象数据(例如,来自感知模块402)(例如,检测到的已被分组为类型的对象,例如行人、自行车、机动车、交通标志等)。
在块1906,控制电路至少部分地基于规则集(例如,包括规则集中的不在第一规则子集中的至少一些规则)和经分类的对象数据(例如,在规划模块404处)确定参考轨迹。
在块1906,控制电路(例如,在组合MPC 1420处)选择来自规则集中的第一规则子集(例如,不从规则手册1422中选择规则集中的所有规则)。
在块1908,控制电路至少部分地基于参考轨迹、经分类的对象数据和所选择的第一规则子集(例如,在组合MPC 1420处)(例如,独立于确定参考轨迹)来确定转向命令集合速率命令集(例如,转向命令集和速率命令集是独立于或者并非基于来自规则手册1422的规则集中的至少一些规则而确定的)。
在块1910处,控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据转向命令集和速率命令集来导航运载工具包括违反第一规则子集中的至少一个规则(例如,与正常被允许以维持速率的情况相比,AV 100可能更接近对象)。
在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集未能满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),控制电路放弃根据转向命令集和速率命令集对运载工具的导航。
图20是用于确定转向和速率命令的示例处理2000的流程图。处理2000被描述为由控制电路(例如,图4的控制模块406)执行。在一些实施例中,控制电路包括具有嵌入式处理电路的微控制器。在一些实施例中,处理2000可以由位于一个或多个地点的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的图1的AV系统120(或其一部分)可以执行处理2000。
在块2002,在运载工具(例如,AV 100)正在自主模式(例如,具有自动转向、加速、制动和导航的完全或高度自主模式(例如,级3、级4或级5))下操作时,控制电路(例如,控制模块406)(例如,在组合MPC 1420处)接收与运载工具的当前状态(例如,速率、加速度、转向角、转向率、航向)相对应的状态信息。
在块2004,控制电路基于移动模型(例如,在组合MPC 1420处)预测运载工具的将来状态。移动模型包括动力学模型和运动学模型(例如,如参照图13D-13E所描述的)。在一些实施例中,基于运载工具的当前速率(例如,使用sigmoid函数)来混合线性动力学模型和运动学模型。在一些实施例中,在运载工具的当前速率低于第一阈值(例如,0.5m/s;运动学模型是低速模型)时,移动模型使用低速运动学模型(例如,不使用动力学模型),而在运载工具的当前速率高于不同于第一阈值的第二阈值(例如,2m/s)时,移动模型使用动力学模型(例如,不使用低速运动学模型)。在一些实施例中,动力学模型是线性动力学自行车模型(例如,如参考图13D所述)。
在块2006,控制电路至少部分地基于运载工具的当前状态和运载工具的预测将来状态(例如,在组合MPC 1420处)确定转向命令集和速率命令集。
在块2008,控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性小于阈值),控制电路根据转向命令集和速率命令集(例如,在线控驱动模块1412处)导航运载工具。在一些实施例中,根据(例如,在控制网关1410处)确定为转向命令集和速率命令集未能满足安全因素(例如,转向和速率命令可能导致碰撞或危险/非法机动动作的估计可能性大于阈值),控制电路放弃根据转向命令集和速率命令集对运载工具的导航。
以下项目描述了本说明书中公开的实施例。
1.一种系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有被所述一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
在运载工具在自助模式下运作的情况下:
使用控制电路接收参考轨迹、横向约束集、以及速率约束集;
使用控制电路,至少部分基于所述参考轨迹和所述横向约束集来确定转向命令集;
使用控制电路,至少部分基于所述速率约束集来确定速率命令集,其中所述速率命令集是独立于所述转向命令集而确定的;
使用控制电路,根据所述转向命令集和所述速率命令集来对所述运载工具进行导航。
2.项目1所述的系统,其中,确定所述转向命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
3.项目1-2中任一项的系统,其中,确定所述速率命令集包括:
确定所述运载工具相对于时间的目标速率,所述目标速率在所述速率约束集内满足舒适度因素;
至少部分基于所确定的所述运载工具相对于时间的目标速率,确定所述速率命令集。
4.项目1-3中任一项的系统,其中接收所述参考轨迹包括:
使用所述控制电路,相对于所述运载工具的位置对参考路径和所述速率约束集进行采样,以生成所述参考轨迹。
5.项目1-4中任一项的系统,其中所述转向命令集包括第一频率的驾驶数据,并且确定所述转向命令集包括:
使用所述控制电路,将所述驾驶数据的频率增加到比所述第一频率高的第二频率;
使用所述控制电路,基于所述第二频率的驾驶数据来确定预测路径;
使用所述控制电路,至少部分基于所述运载工具的当前状态,来确定所述运载工具沿所述预测路径的参考点;以及
使用所述控制电路,至少部分基于所述运载工具的所述参考点,来确定所述转向命令集。
6.项目5的系统,其中将所述驾驶数据的频率增加至所述第二频率包括在所述驾驶数据的不连续处之间进行插值。
7.项目5-6中任一项的系统,其中至少部分基于所述运载工具的所述参考点来确定所述转向命令集包括:确定所述运载工具的当前状态与所述运载工具在所述预测路径上的参考点之间的横向误差。
8.项目5-7中任一项的系统,其中所述转向命令集是基于动力学自行车模型、使用所述运载工具在所述预测路径上的参考点来确定的。
9.项目1-8中任一项的系统,其中所述转向命令集包括第一驾驶数据,并且确定所述转向命令集包括:
使用所述控制电路,确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集、以及所述速率约束集来确定第二驾驶数据;以及
使用所述控制电路,将所述第一驾驶数据和所述第二驾驶数据组合以生成所述转向命令集。
10.项目1-9中任一项的系统,其中所述指令还使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
11.项目1-10中任一项的系统,其中所述控制电路包括具有嵌入式处理电路的微控制器。
12.一种方法,包括:
在运载工具在自助模式下运作的情况下:
使用控制电路接收参考轨迹、横向约束集、以及速率约束集;
使用控制电路,至少部分基于所述参考轨迹和所述横向约束集来确定转向命令集;
使用控制电路,至少部分基于所述速率约束集来确定速率命令集,其中所述速率命令集是独立于所述转向命令集而确定的;
使用控制电路,根据所述转向命令集和所述速率命令集来对所述运载工具进行导航。
13.项目12所述的方法,其中,确定所述转向命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
14.项目12-13中任一项所述的方法,其中,确定所述速率命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
15.项目12-14中任一项的方法,其中接收所述参考轨迹包括:
使用所述控制电路,相对于所述运载工具的位置对参考路径和所述速率约束集进行采样,以生成所述参考轨迹。
16.项目12-15中任一项的方法,其中所述转向命令集包括第一频率的驾驶数据,并且确定所述转向命令集包括:
使用所述控制电路,将所述驾驶数据的频率增加到比所述第一频率高的第二频率;
使用所述控制电路,基于所述第二频率的驾驶数据来确定预测路径;
使用所述控制电路,至少部分基于所述运载工具的当前状态,来确定所述运载工具沿所述预测路径的参考点;以及
使用所述控制电路,至少部分基于所述运载工具的所述参考点,来确定所述转向命令集。
17.项目16的方法,其中将所述驾驶数据的频率增加至所述第二频率包括在所述驾驶数据的不连续处之间进行插值。
18.项目16-17中任一项的方法,其中至少部分基于所述运载工具的所述参考点来确定所述转向命令集包括:确定所述运载工具的当前状态与所述运载工具在所述预测路径上的参考点之间的横向误差。
19.项目16-18中任一项的方法,其中所述转向命令集是基于动力学自行车模型、使用所述运载工具在所述预测路径上的参考点来确定的。
20.项目12-19中任一项的方法,其中所述转向命令集包括第一驾驶数据,并且确定所述转向命令集包括:
使用所述控制电路,确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集、以及所述速率约束集来确定第二驾驶数据;以及
使用所述控制电路,将所述第一驾驶数据和所述第二驾驶数据组合以生成所述转向命令集。
21.项目12-20中任一项的方法,其中所述指令还使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
22.项目12-21中任一项的方法,其中所述控制电路包括具有嵌入式处理电路的微控制器。
23.一个或多个非暂时性存储介质,存储有被所述一个或多个计算装置执行时使得进行项目12-22中任一项所述的方法的指令。
24.一种系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有被所述一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
在运载工具在自助模式下运作的情况下:
使用控制电路接收参考轨迹、横向约束集、以及速率约束集;
使用控制电路确定所述运载工具的预测路径和所述预测路径的速率分布,其中所述预测路径和所述速率分布是基于所述参考轨迹、所述横向约束集和所述速率约束集;
使用所述控制电路,至少部分基于所述预测路径和所述速率分布,确定沿所述预测路径的所述运载工具的参考点以及与所述参考点相关联的速率命令;
使用所述控制电路,至少部分基于所述运载工具的所述参考点来确定转向命令;以及
使用所述控制电路,根据所述转向命令和所述速率命令对所述运载工具进行导航。
25.项目24的系统,其中,确定所述转向命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
26.项目24-25中任一项的系统,其中,确定所述速率命令集包括:
确定所述运载工具相对于时间的目标速率,所述目标速率在所述速率约束集内满足舒适度因素;
至少部分基于所确定的所述运载工具相对于时间的目标速率,确定所述速率命令集。
27.项目24-26中任一项的系统,其中所述预测路径包括第一频率的路径数据,并且确定所述运载工具沿所述预测路径的参考点包括使用所述控制电路、将所述路径数据的频率增加到比所述第一频率高的第二频率。
28.项目27的系统,其中,将路径数据的频率增加到所述第二频率包括在所述路径数据的不连续处之间进行插值。
29.项目24-28中任一项所述的系统,其中,所述转向命令是基于动力学自行车模型使用所述运载工具在所述预测路径上的所述参考点来确定的。
30.项目24-29中任一项的系统,其中所述转向命令包括第一驾驶数据,并且确定所述转向命令包括:
使用所述控制电路,确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集、以及所述速率约束集来确定第二驾驶数据;以及
使用所述控制电路,将所述第一驾驶数据和所述第二驾驶数据组合以生成所述转向命令。
31.项目24-30中任一项的系统,其中,所述指令还使得进行包括以下的操作:
根据确定为所述转向命令和所述速率命令满足安全因素,根据所述转向命令和所述速率命令对所述运载工具进行导航;以及
根据确定为所述转向命令和所述速率命令不满足安全因素,放弃根据所述转向命令和所述速率命令对所述运载工具进行导航。
32.项目24-31中任一项的系统,其中所述控制电路包括具有嵌入式处理电路的微控制器。
33.一种方法,包括:
在运载工具在自助模式下运作的情况下:
使用控制电路接收参考轨迹、横向约束集、以及速率约束集;
使用控制电路确定所述运载工具的预测路径和所述预测路径的速率分布,其中所述预测路径和所述速率分布是基于所述参考轨迹、所述横向约束集和所述速率约束集;
使用所述控制电路,至少部分基于所述预测路径和所述速率分布,确定沿所述预测路径的所述运载工具的参考点以及与所述参考点相关联的速率命令;
使用所述控制电路,至少部分基于所述运载工具的所述参考点来确定转向命令;以及
使用所述控制电路,根据所述转向命令和所述速率命令对所述运载工具进行导航。
34.项目33的方法,其中,确定所述转向命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
35.项目33-34中任一项的方法,其中,确定所述速率命令包括:
确定所述运载工具相对于时间的目标速率,所述目标速率在所述速率约束集内满足舒适度因素;
至少部分基于所确定的所述运载工具相对于时间的目标速率,确定所述速率命令集。
36.项目33-35中任一项的方法,其中所述预测路径包括第一频率的路径数据,并且确定所述运载工具沿所述预测路径的参考点包括使用所述控制电路、将所述路径数据的频率增加到比所述第一频率高的第二频率。
37.项目36的方法,其中,将路径数据的频率增加到所述第二频率包括在所述路径数据的不连续处之间进行插值。
38.项目33-37中任一项所述的方法,其中,所述转向命令是基于动力学自行车模型使用所述运载工具在所述预测路径上的所述参考点来确定的。
39.项目33-38中任一项的方法,其中所述转向命令包括第一驾驶数据,并且确定所述转向命令包括:
使用所述控制电路,确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集、以及所述速率约束集来确定第二驾驶数据;以及
使用所述控制电路,将所述第一驾驶数据和所述第二驾驶数据组合以生成所述转向命令。
40.项目33-39中任一项的方法,还包括:
根据确定为所述转向命令和所述速率命令满足安全因素,根据所述转向命令和所述速率命令对所述运载工具进行导航;以及
根据确定为所述转向命令和所述速率命令不满足安全因素,放弃根据所述转向命令和所述速率命令对所述运载工具进行导航。
41.项目33-40中任一项的方法,其中所述控制电路包括具有嵌入式处理电路的微控制器。
42.一个或多个非暂时性存储介质,存储有被所述一个或多个计算装置执行时使得进行项目33-41中任一项所述的方法的指令。
43.一种系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有被所述一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
在运载工具在自助模式下运作的情况下:
使用控制电路接收参考轨迹、横向约束集、以及速率约束集;
使用所述控制电路,确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集、以及所述速率约束集来确定转向命令集和速率命令集;以及
使用所述控制电路,根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
44.项目43的系统,其中确定所述转向命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
45.项目43-44中任一项的系统,其中,确定所述速率命令包括:
确定所述运载工具相对于时间的目标速率,所述目标速率在所述速率约束集内满足舒适度因素;
至少部分基于所确定的所述运载工具相对于时间的目标速率,确定所述速率命令集。
46.项目43-45中任一项的系统,其中,所述指令进一步使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
47.项目43-46中任一项的系统,其中,所述控制电路包括具有嵌入式处理电路的微控制器。
48.一种方法,包括:
在运载工具在自助模式下运作的情况下:
使用控制电路接收参考轨迹、横向约束集、以及速率约束集;
使用所述控制电路,确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集、以及所述速率约束集来确定转向命令集和速率命令集;以及
使用所述控制电路,根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
49.项目48的方法,其中确定所述转向命令集包括:
基于多个驾驶因素来确定所述运载工具相对于时间的横向位置,所述驾驶因素包括所述运载工具到障碍物的距离、所述运载工具相对于所述参考轨迹的距离、以及横向改变的阈值;以及
至少部分基于所确定的所述运载工具相对于时间的横向位置,确定所述转向命令集。
50.项目48-49中任一项的方法,其中,确定所述速率命令包括:
确定所述运载工具相对于时间的目标速率,所述目标速率在所述速率约束集内满足舒适度因素;
至少部分基于所确定的所述运载工具相对于时间的目标速率,确定所述速率命令集。
51.项目48-50中任一项的方法,其中,所述指令进一步使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
52.项目48-51中任一项的方法,其中,所述控制电路包括具有嵌入式处理电路的微控制器。
53.一个或多个非暂时性存储介质,存储有在被一个或多个计算装置执行时使得进行如项目48-52中任一项所述的方法的指令。
54.一种系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有被所述一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
使用控制电路,确定自主运载工具的控制场景;
根据确定为控制场景符合第一条件集:
使用控制电路选择第一组控制组件;
使用控制电路中的第一组控制组件,确定第一转向命令集和第一速率命令集;以及
使用控制电路根据第一转向命令集和第一速率命令集,对运载工具进行导航;
根据确定为控制场景符合第二条件集:
使用控制电路选择第二组控制组件,其中第二组控制组件不同于第一组控制组件;
使用控制电路中的第二组控制组件,确定第二转向命令集和第二速率命令集;以及
使用控制电路根据第二转向命令集和第二速率命令集,对运载工具进行导航;
根据确定为控制场景符合第三条件集:
使用控制电路选择第三组控制组件,其中第三组控制组件包括来自第一组控制组件的组件和来自第二组控制组件的组件;
使用控制电路中的第三组控制组件,确定第三转向命令集和第三速率命令集;以及
使用控制电路根据第三转向命令集和第三速率命令集,对运载工具进行导航。
55.项目54的系统,其中控制场景随时间动态改变。
56.项目54的系统,其中控制场景是预先确定的,并且随时间保持静态。
57.项目54-56中任一项的系统,其中,使用控制电路中的第一组控制组件来确定第一转向命令集和第一速率命令集包括:
使用控制电路来接收参考轨迹、横向约束集、和速率约束集;
使用控制电路,至少部分基于参考轨迹和横向约束集来确定第一转向命令集;以及
使用控制电路,至少部分基于速率约束集来确定第一速率命令集。
58.项目57的系统,其中,第一转向命令集包括第一频率的转向数据,并且确定第一转向命令集包括:
使用控制电路将转向数据的频率增加到高于第一频率的第二频率;
使用控制电路,基于第二频率的转向数据来确定预测路径;
使用控制电路,至少部分基于运载工具的当前状态来确定运载工具沿预测路径的参考点;以及
使用控制电路,至少部分基于运载工具的参考点来确定第一转向命令集。
59.项目58的系统,其中,将转向数据的频率增加到第二频率包括在转向数据中的不连续处之间进行插值。
60.项目58-59中任一项的系统,其中至少部分基于所述运载工具的所述参考点来确定所述第一转向命令集包括:确定所述运载工具的当前状态与所述运载工具在所述预测路径上的参考点之间的横向误差。
61.项目58-60中任一项的系统,其中,第一转向命令集是基于动力学自行车模型使用运载工具在预测路径上的参考点来确定的。
62.项目58-61中任一项的系统,其中,所述指令还使得进行包括以下的操作:
使用控制电路来接收针对预测路径的速率分布;以及
使用控制电路,至少部分基于速率分布来确定第一速率命令集。
63.项目62的系统,其中速率分布包括第一频率的速率数据,并且确定第一速率命令集包括使用控制电路将速率数据的频率增加到高于第一频率的第二频率。
64.项目54-63中任一项的系统,其中,使用控制电路中的第二组控制组件来确定第二转向命令集和第二速率命令集包括:
使用控制电路接收参考轨迹、横向约束集和速率约束集;
使用控制电路确定参考轨迹的曲率;
使用控制电路,基于参考轨迹的曲率、横向约束集和速率约束集来确定第二转向命令集和第二速率命令集。
65.项目54-64中任一项的系统,其中使用控制电路中的第三组控制组件来确定第三转向命令集和第三速率命令集包括:
使用控制电路接收参考轨迹、横向约束集和速率约束集;
使用控制电路,至少部分基于参考轨迹和横向约束集来确定第四转向命令集;
使用控制电路,至少部分基于速率约束集确定第四速率命令集,其中,第四速率命令集是独立于第四转向命令集所确定的;
使用控制电路确定参考轨迹的曲率;
使用控制电路,基于参考轨迹的曲率、横向约束集和速率约束集来确定第五转向命令集和第五速率命令集;
使用控制电路,将第四转向命令集和第五转向命令集组合以生成所述第三转向命令集;以及
使用控制电路,将第四速率命令集和第五速率命令集组合以生成所述第三速率命令集。
66.项目54-65中任一项的系统,其中,控制电路包括具有嵌入式处理电路的微控制器。
67.一种方法,包括:
使用控制电路,确定自主运载工具的控制场景;
根据确定为控制场景符合第一条件集:
使用控制电路选择第一组控制组件;
使用控制电路中的第一组控制组件,确定第一转向命令集和第一速率命令集;以及
使用控制电路根据第一转向命令集和第一速率命令集,对运载工具进行导航;
根据确定为控制场景符合第二条件集:
使用控制电路选择第二组控制组件,其中第二组控制组件不同于第一组控制组件;
使用控制电路中的第二组控制组件,确定第二转向命令集和第二速率命令集;以及
使用控制电路根据第二转向命令集和第二速率命令集,对运载工具进行导航;
根据确定为控制场景符合第三条件集:
使用控制电路选择第三组控制组件,其中第三组控制组件包括来自第一组控制组件的组件和来自第二组控制组件的组件;
使用控制电路中的第三组控制组件,确定第三转向命令集和第三速率命令集;以及
使用控制电路根据第三转向命令集和第三速率命令集,对运载工具进行导航。
68.项目67的方法,其中控制场景随时间动态改变。
69.项目67的方法,其中控制场景是预先确定的,并且随时间保持静态。
70.项目67-69中任一项的方法,其中,使用控制电路中的第一组控制组件来确定第一转向命令集和第一速率命令集包括:
使用控制电路来接收参考轨迹、横向约束集、和速率约束集;
使用控制电路,至少部分基于参考轨迹和横向约束集来确定第一转向命令集;以及
使用控制电路,至少部分基于速率约束集来确定第一速率命令集。
71.项目70的方法,其中,第一转向命令集包括第一频率的转向数据,并且确定第一转向命令集包括:
使用控制电路将转向数据的频率增加到高于第一频率的第二频率;
使用控制电路,基于第二频率的转向数据来确定预测路径;
使用控制电路,至少部分基于运载工具的当前状态来确定运载工具沿预测路径的参考点;以及
使用控制电路,至少部分基于运载工具的参考点来确定第一转向命令集。
72.项目71的方法,其中,将转向数据的频率增加到第二频率包括在转向数据中的不连续处之间进行插值。
73.项目71-72中任一项的方法,其中至少部分基于所述运载工具的所述参考点来确定所述第一转向命令集包括:确定所述运载工具的当前状态与所述运载工具在所述预测路径上的参考点之间的横向误差。
74.项目71-73中任一项的方法,其中,第一转向命令集是基于动力学自行车模型使用运载工具在预测路径上的参考点来确定的。
75.项目71-74中任一项的方法,还包括:
使用控制电路来接收针对预测路径的速率分布;以及
使用控制电路,至少部分基于速率分布来确定第一速率命令集。
76.项目75的方法,其中速率分布包括第一频率的速率数据,并且确定第一速率命令集包括使用控制电路将速率数据的频率增加到高于第一频率的第二频率。
77.项目67-76中任一项的方法,其中,使用控制电路中的第二组控制组件来确定第二转向命令集和第二速率命令集包括:
使用控制电路接收参考轨迹、横向约束集和速率约束集;
使用控制电路确定参考轨迹的曲率;
使用控制电路,基于参考轨迹的曲率、横向约束集和速率约束集来确定第二转向命令集和第二速率命令集。
78.项目67-77中任一项的方法,其中使用控制电路中的第三组控制组件来确定第三转向命令集和第三速率命令集包括:
使用控制电路接收参考轨迹、横向约束集和速率约束集;
使用控制电路,至少部分基于参考轨迹和横向约束集来确定第四转向命令集;
使用控制电路,至少部分基于速率约束集确定第四速率命令集,其中,第四速率命令集是独立于第四转向命令集所确定的;
使用控制电路确定参考轨迹的曲率;
使用控制电路,基于参考轨迹的曲率、横向约束集和速率约束集来确定第五转向命令集和第五速率命令集;
使用控制电路,将第四转向命令集和第五转向命令集组合以生成所述第三转向命令集;以及
使用控制电路,将第四速率命令集和第五速率命令集组合以生成所述第三转向命令集。
79.项目67-78中任一项的方法,其中,控制电路包括具有嵌入式处理电路的微控制器。
80.一个或多个非暂时性存储介质,存储有在由一个或多个计算装置执行时使得进行项目67-79中任一项所述的方法的指令。
81.一种系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有在被一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
在运载工具以自主模式运作时:
使用控制电路接收规则集,其中规则集包括第一规则子集;
使用控制电路接收经分类的对象数据;
使用控制电路,至少部分基于规则集和经分类对象数据来确定参考轨迹;
使用控制电路,从规则集选择第一规则子集;
使用控制电路,至少部分基于参考轨迹、经分类对象数据和所选第一规则子集,确定转向命令集和速率命令集;以及
使用控制电路,根据转向命令集和速率命令集来导航运载工具。
82.项目81的系统,其中,根据转向命令集和速率命令集来导航运载工具包括违反第一规则子集中的至少一个规则。
83.项目81或82中的系统,其中,规则集按照规则的层级来安排。
84.项目81-83中任一项的系统,其中第一规则子集包括与连续值相关联的规则。
85.项目81-84中任一项的系统,其中第一规则子集包括邻近规则。
86.项目81-85中任一项的系统,其中第一规则子集包括车道驻留规则。
87.项目81-86中任一项的系统,其中第一规则子集包括对运载工具速率的一个或多个约束。
88.项目81-87中任一项的系统,其中第一规则子集包括对运载工具的加速度的一个或多个约束。
89.项目81-88中任一项的系统,其中所述指令进一步使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
90.项目81-89中任一项的系统,其中所述控制电路包括具有嵌入式处理电路的微控制器。
91.一种方法,包括:
在运载工具以自主模式运作时:
使用控制电路接收规则集,其中规则集包括第一规则子集;
使用控制电路接收经分类的对象数据;
使用控制电路,至少部分基于规则集和经分类对象数据来确定参考轨迹;
使用控制电路,从规则集选择第一规则子集;
使用控制电路,至少部分基于参考轨迹、经分类对象数据和所选第一规则子集,确定转向命令集和速率命令集;以及
使用控制电路,根据转向命令集和速率命令集来导航运载工具。
92.项目91的方法,其中,根据转向命令集和速率命令集来导航运载工具包括违反第一规则子集中的至少一个规则。
93.项目91或92中的方法,其中,规则集按照规则的层级来安排。
94.项目91-93中任一项的方法,其中第一规则子集包括与连续值相关联的规则。
95.项目91-94中任一项的方法,其中第一规则子集包括邻近规则。
96.项目91-95中任一项的方法,其中第一规则子集包括车道驻留规则。
97.项目91-96中任一项的方法,其中第一规则子集包括对运载工具速率的一个或多个约束。
98.项目91-97中任一项的方法,其中第一规则子集包括对运载工具的加速度的一个或多个约束。
99.项目91-98中任一项的方法,其中所述指令进一步使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
100.项目91-99中任一项的方法,其中所述控制电路包括具有嵌入式处理电路的微控制器。
101.一个或多个非暂时性存储介质,存储有在被一个或多个计算装置执行时使得进行项目91-100中任一项所述的方法的指令。
102.一种系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有在被一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
在运载工具以自主模式运作时:
使用控制电路,接收与运载工具的当前状态相对应的状态信息;
使用控制电路,基于移动模型来预测运载工具的将来状态,其中移动模型包括动力学模型和运动学模型;
使用控制电路至少部分基于运载工具的当前状态和运载工具的预测将来状态,确定转向命令集和速率命令集;以及
使用控制电路,根据转向命令集和速率命令集对交通工具进行导航。
103.项目102的系统,其中,线性动力学模型和运动学模型基于运载工具的当前速率被混合。
104.项目102或103的系统,其中,移动模型在运载工具的当前速率低于第一阈值的情况下使用运动学模型,并且在运载工具的当前速率高于与第一阈值不同的第二阈值的情况下使用动力学模型。
105.项目102-104中任一项的系统,其中动力学模型是线性动力学自行车模型。
106.项目102-105中任一项的系统,其中所述指令进一步使得进行包括以下的操作:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
107.项目102-106中任一项的系统,其中所述控制电路包括具有嵌入式处理电路的微控制器。
108.一种方法,包括:
在运载工具以自主模式运作时:
使用控制电路,接收与运载工具的当前状态相对应的状态信息;
使用控制电路,基于移动模型来预测运载工具的将来状态,其中移动模型包括动力学模型和运动学模型;
使用控制电路至少部分基于运载工具的当前状态和运载工具的预测将来状态,确定转向命令集和速率命令集;以及
使用控制电路,根据转向命令集和速率命令集对交通工具进行导航。
109.项目108的方法,其中,线性动力学模型和运动学模型基于运载工具的当前速率被混合。
110.项目108或109的方法,其中,移动模型在运载工具的当前速率低于第一阈值的情况下使用运动学模型,并且在运载工具的当前速率高于与第一阈值不同的第二阈值的情况下使用动力学模型。
111.项目108-110中任一项的方法,其中动力学模型是线性动力学自行车模型。
112.项目108-111中任一项的方法,还包括:
根据确定为所述转向命令集和所述速率命令集满足安全因素,根据所述转向命令集和所述速率命令集对所述运载工具进行导航;以及
根据确定为所述转向命令集和所述速率命令集不满足安全因素,放弃根据所述转向命令集和所述速率命令集对所述运载工具进行导航。
113.项目108-112中任一项的方法,其中所述控制电路包括具有嵌入式处理电路的微控制器。
114.一个或多个非暂时性存储介质,存储有在被一个或多个计算装置执行时使得进行项目108-113中任一项所述的方法的指令。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以授权权利要求的具体形式从本申请授权的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
相关申请的交叉引用
本申请要求于2020年3月3日提交的美国临时申请62/984,702的权益,其全部内容通过引用合并于此。
Claims (21)
1.一种用于自主运载工具的系统,包括:
一个或多个计算机处理器;以及
一个或多个非暂时性存储介质,存储有被一个或多个计算机处理器执行时使得进行包括以下的操作的指令:
使用控制电路,确定所述自主运载工具的控制场景;
根据确定为所述控制场景符合第一条件集:
使用所述控制电路,选择第一组控制组件;
使用所述控制电路中的所述第一组控制组件,确定第一转向命令集和第一速率命令集;以及
使用所述控制电路,根据所述第一转向命令集和所述第一速率命令集来对所述运载工具进行导航;
根据确定为所述控制场景符合第二条件集:
使用所述控制电路,选择第二组控制组件,其中所述第二组控制组件不同于所述第一组控制组件;
使用所述控制电路中的所述第二组控制组件,确定第二转向命令集和第二速率命令集;以及
使用所述控制电路,根据所述第二转向命令集和所述第二速率命令集来对所述运载工具进行导航;
根据确定为所述控制场景符合第三条件集:
使用所述控制电路,选择第三组控制组件,其中所述第三组控制组件包括来自所述第一组控制组件的组件和来自所述第二组控制组件的组件;
使用所述控制电路中的所述第三组控制组件,确定第三转向命令集和第三速率命令集;以及
使用所述控制电路,根据所述第三转向命令集和所述第三速率命令集来对所述运载工具进行导航。
2.如权利要求1所述的系统,其中,所述控制场景随时间动态改变。
3.如权利要求1所述的系统,其中,所述控制场景是预先确定的,并且随时间保持静态。
4.如权利要求1所述的系统,其中,使用所述控制电路中的所述第一组控制组件来确定所述第一转向命令集和所述第一速率命令集包括:
使用所述控制电路来接收参考轨迹、横向约束集和速率约束集;
使用所述控制电路,至少部分基于所述参考轨迹和所述横向约束集来确定所述第一转向命令集;以及
使用所述控制电路,至少部分基于所述速率约束集来确定所述第一速率命令集。
5.如权利要求4所述的系统,其中,所述第一转向命令集包括第一频率的转向数据,以及其中,确定所述第一转向命令集包括:
使用所述控制电路将所述转向数据的频率增加到高于所述第一频率的第二频率;
使用所述控制电路,基于所述第二频率的转向数据来确定预测路径;
使用所述控制电路,至少部分基于所述运载工具的当前状态来确定所述运载工具沿所述预测路径的参考点;以及
使用所述控制电路,至少部分基于所述运载工具的参考点来确定所述第一转向命令集。
6.如权利要求5所述的系统,其中,将所述转向数据的频率增加到所述第二频率包括在所述转向数据的不连续处之间进行插值。
7.如权利要求5所述的系统,其中,至少部分基于所述运载工具的所述参考点来确定所述第一转向命令集包括:确定所述运载工具的当前状态与所述运载工具在所述预测路径上的参考点之间的横向误差。
8.如权利要求5所述的系统,其中,所述第一转向命令集是基于动力学自行车模型、使用所述运载工具在所述预测路径上的参考点来确定的。
9.如权利要求5所述的系统,其中,所述指令还使得进行包括以下的操作:
使用所述控制电路接收所述预测路径的速率分布;以及
使用所述控制电路,至少部分基于所述速率分布来确定所述第一速率命令集。
10.如权利要求9所述的系统,其中,所述速率分布包括所述第一频率的速率数据,以及其中,确定所述第一速率命令集包括使用所述控制电路将所述速率数据的频率增加到高于所述第一频率的第二频率。
11.如权利要求1-10中任一项所述的系统,其中,使用所述控制电路中的所述第二组控制组件来确定所述第二转向命令集和所述第二速率命令集包括:
使用所述控制电路接收参考轨迹、横向约束集和速率约束集;
使用所述控制电路确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集和所述速率约束集来确定所述第二转向命令集和所述第二速率命令集。
12.如权利要求1所述的系统,其中,使用所述控制电路中的所述第三组控制组件来确定所述第三转向命令集和所述第三速率命令集包括:
使用所述控制电路接收参考轨迹、横向约束集和速率约束集;
使用所述控制电路,至少部分基于所述参考轨迹和所述横向约束集来确定第四转向命令集;
使用所述控制电路,至少部分基于所述速率约束集来确定第四速率命令集,其中,所述第四速率命令集是独立于所述第四转向命令集所确定的;
使用所述控制电路确定所述参考轨迹的曲率;
使用所述控制电路,基于所述参考轨迹的曲率、所述横向约束集和所述速率约束集来确定第五转向命令集和第五速率命令集;
使用所述控制电路,将所述第四转向命令集和所述第五转向命令集组合以生成所述第三转向命令集;以及
使用所述控制电路,将所述第四速率命令集和所述第五速率命令集组合以生成所述第三速率命令集。
13.如权利要求1所述的系统,其中,所述控制电路包括具有嵌入式处理电路的微控制器。
14.一种用于自主运载工具的方法,包括:
使用控制电路,确定所述自主运载工具的控制场景;
根据确定为所述控制场景符合第一条件集:
使用所述控制电路,选择第一组控制组件;
使用所述控制电路中的所述第一组控制组件,确定第一转向命令集和第一速率命令集;以及
使用所述控制电路,根据所述第一转向命令集和所述第一速率命令集来对所述运载工具进行导航;
根据确定为所述控制场景符合第二条件集:
使用所述控制电路,选择第二组控制组件,其中所述第二组控制组件不同于所述第一组控制组件;
使用所述控制电路中的所述第二组控制组件,确定第二转向命令集和第二速率命令集;以及
使用所述控制电路,根据所述第二转向命令集和所述第二速率命令集来对所述运载工具进行导航;
根据确定为所述控制场景符合第三条件集:
使用所述控制电路,选择第三组控制组件,其中所述第三组控制组件包括来自所述第一组控制组件的组件和来自所述第二组控制组件的组件;
使用所述控制电路中的所述第三组控制组件,确定第三转向命令集和第三速率命令集;以及
使用所述控制电路,根据所述第三转向命令集和所述第三速率命令集来对所述运载工具进行导航。
15.如权利要求14所述的方法,其中,所述控制场景随时间动态改变。
16.如权利要求14所述的方法,其中,使用所述控制电路中的所述第一组控制组件来确定所述第一转向命令集和所述第一速率命令集包括:
使用所述控制电路来接收参考轨迹、横向约束集和速率约束集;
使用所述控制电路,至少部分基于所述参考轨迹和所述横向约束集来确定所述第一转向命令集;以及
使用所述控制电路,至少部分基于所述速率约束集来确定所述第一速率命令集。
17.如权利要求16所述的方法,其中,所述第一转向命令集包括第一频率的转向数据,以及其中确定所述第一转向命令集包括:
使用所述控制电路将所述转向数据的频率增加到高于所述第一频率的第二频率;
使用所述控制电路,基于所述第二频率的转向数据来确定预测路径;
使用所述控制电路,至少部分基于所述运载工具的当前状态来确定所述运载工具沿所述预测路径的参考点;以及
使用所述控制电路,至少部分基于所述运载工具的参考点来确定所述第一转向命令集。
18.如权利要求17所述的方法,其中,将所述转向数据的频率增加到所述第二频率包括在所述转向数据的不连续处之间进行插值。
19.如权利要求17或18所述的方法,其中,所述第一转向命令集是基于动力学自行车模型、使用所述运载工具在所述预测路径上的参考点来确定的。
20.如权利要求16-18中任一项所述的方法,还包括:
使用所述控制电路接收针对预测路径的速率分布;以及
使用所述控制电路,至少部分基于所述速率分布来确定所述第一速率命令集。
21.一个或多个存储介质,存储有被一个或多个计算装置执行时使得进行如权利要求14-20中任一项所述的方法的指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062984702P | 2020-03-03 | 2020-03-03 | |
US62/984,702 | 2020-03-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113359696A true CN113359696A (zh) | 2021-09-07 |
Family
ID=75377408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110236327.9A Withdrawn CN113359696A (zh) | 2020-03-03 | 2021-03-03 | 用于自主运载工具的系统、方法和存储介质 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11794775B2 (zh) |
KR (2) | KR102594120B1 (zh) |
CN (1) | CN113359696A (zh) |
DE (1) | DE102021105001A1 (zh) |
GB (2) | GB2612910B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836750A (zh) * | 2021-11-03 | 2021-12-24 | 西南交通大学 | 一种列控系统车载设备现场测试案例执行距离的估算方法 |
CN115626158B (zh) * | 2022-12-07 | 2023-03-07 | 深圳曦华科技有限公司 | 车辆转向防剐蹭方法及相关装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11590968B2 (en) * | 2018-10-31 | 2023-02-28 | Intel Corporation | Methods and apparatus to mitigate hard-braking events |
CN113811470B (zh) * | 2019-05-15 | 2023-03-21 | 日产自动车株式会社 | 车辆的行驶控制方法及行驶控制装置 |
US11511576B2 (en) * | 2020-01-24 | 2022-11-29 | Ford Global Technologies, Llc | Remote trailer maneuver assist system |
KR20210124603A (ko) * | 2020-04-06 | 2021-10-15 | 현대자동차주식회사 | 차량의 자율 주행 제어 장치, 그를 포함한 시스템 및 그 방법 |
CN113110045B (zh) * | 2021-03-31 | 2022-10-25 | 同济大学 | 一种基于计算图的模型预测控制实时优化并行计算方法 |
US11541910B1 (en) * | 2022-01-07 | 2023-01-03 | Plusai, Inc. | Methods and apparatus for navigation of an autonomous vehicle based on a location of the autonomous vehicle relative to shouldered objects |
US11840257B2 (en) * | 2022-03-25 | 2023-12-12 | Embark Trucks Inc. | Lane change determination for vehicle on shoulder |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009184633A (ja) * | 2008-02-08 | 2009-08-20 | Denso Corp | 車両制御システム |
US20160325753A1 (en) * | 2015-05-10 | 2016-11-10 | Mobileye Vision Technologies Ltd. | Road profile along a predicted path |
CN107231798A (zh) * | 2014-08-29 | 2017-10-03 | 艾斯森德有限公司 | 用于监控车辆制动系统运行的方法和装置 |
US20180154899A1 (en) * | 2016-12-02 | 2018-06-07 | Starsky Robotics, Inc. | Vehicle control system and method of use |
CN108334086A (zh) * | 2018-01-25 | 2018-07-27 | 江苏大学 | 一种基于软约束二次规划mpc的无人驾驶车辆路径跟踪控制方法 |
DE102018102027A1 (de) * | 2017-01-31 | 2018-08-02 | GM Global Technology Operations LLC | Effizientes situationsbewusstsein durch ereigniserzeugung und episodischen speicherabruf für autonome antriebssysteme |
DE102017211556A1 (de) * | 2017-07-06 | 2019-01-10 | Robert Bosch Gmbh | Verfahren zur Routenplanung für ein Kraftfahrzeug mit einem automatisierten Fahrzeugsystem und Kraftfahrzeug mit einem automatisierten Fahrzeugsystem |
KR20190100895A (ko) * | 2019-07-05 | 2019-08-29 | 엘지전자 주식회사 | 자율주행시스템에서 장난감 장치를 활용한 차량 제어 방법 및 이를 위한 장치 |
CN110532636A (zh) * | 2019-08-05 | 2019-12-03 | 东南大学 | 一种面向多场景的智能驾驶自主车道保持性能检测方法 |
JP2020017271A (ja) * | 2018-07-17 | 2020-01-30 | バイドゥ ユーエスエイ エルエルシーBaidu USA LLC | 自動運転車両のためのマルチモーダル運動計画フレームワーク |
KR20200011582A (ko) * | 2016-03-23 | 2020-02-03 | 누토노미 인크. | 차량 주행 및 무인 운전을 용이하게 하는 것 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9818136B1 (en) * | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US9008890B1 (en) * | 2013-03-15 | 2015-04-14 | Google Inc. | Augmented trajectories for autonomous vehicles |
DE102013013867A1 (de) * | 2013-08-20 | 2015-03-12 | Audi Ag | Kraftfahrzeug und Verfahren zur Steuerung eines Kraftfahrzeugs |
US9754490B2 (en) * | 2015-11-04 | 2017-09-05 | Zoox, Inc. | Software application to request and control an autonomous vehicle service |
US10671076B1 (en) | 2017-03-01 | 2020-06-02 | Zoox, Inc. | Trajectory prediction of third-party objects using temporal logic and tree search |
US10569651B2 (en) * | 2017-05-15 | 2020-02-25 | Baidu Usa Llc | Speed control and steering control assistant based on pitch status and roll status of autonomous driving vehicle |
FR3070658B1 (fr) * | 2017-09-06 | 2019-08-30 | IFP Energies Nouvelles | Procede de determination d'une vitesse a atteindre pour un premier vehicule precede par un deuxieme vehicule, en particulier pour un vehicule autonome |
US10737717B2 (en) | 2018-02-14 | 2020-08-11 | GM Global Technology Operations LLC | Trajectory tracking for vehicle lateral control using neural network |
US20190286151A1 (en) | 2018-03-14 | 2019-09-19 | GM Global Technology Operations LLC | Automated driving systems and control logic for cloud-based scenario planning of autonomous vehicles |
US11169528B2 (en) | 2018-05-11 | 2021-11-09 | Uatc, Llc | Initial trajectory generator for motion planning system of autonomous vehicles |
US10678253B2 (en) | 2018-05-24 | 2020-06-09 | GM Global Technology Operations LLC | Control systems, control methods and controllers for an autonomous vehicle |
US10836395B2 (en) | 2018-11-16 | 2020-11-17 | Great Wall Motor Company Limited | Efficient optimal control with dynamic model for autonomous vehicle |
US10852746B2 (en) * | 2018-12-12 | 2020-12-01 | Waymo Llc | Detecting general road weather conditions |
WO2020129208A1 (ja) | 2018-12-20 | 2020-06-25 | 三菱電機株式会社 | 走行計画生成装置および自動運転システム |
US11073834B2 (en) * | 2019-04-30 | 2021-07-27 | Baidu Usa Llc | Path generation for static obstacle avoidance |
WO2020227486A1 (en) * | 2019-05-07 | 2020-11-12 | Optimus Ride, Inc. | Cost calculation system and method |
CN110271534B (zh) | 2019-06-14 | 2021-05-28 | 百度在线网络技术(北京)有限公司 | 自动驾驶车辆的控制方法、装置、计算机设备和存储介质 |
KR20210128531A (ko) | 2020-04-16 | 2021-10-27 | 현대모비스 주식회사 | 자율주행 모드에서의 조향 제어 장치 및 방법 |
-
2021
- 2021-03-02 GB GB2216101.2A patent/GB2612910B/en active Active
- 2021-03-02 DE DE102021105001.4A patent/DE102021105001A1/de active Pending
- 2021-03-02 US US17/249,465 patent/US11794775B2/en active Active
- 2021-03-02 GB GB2102934.3A patent/GB2597346B/en active Active
- 2021-03-03 KR KR1020210028023A patent/KR102594120B1/ko active IP Right Grant
- 2021-03-03 CN CN202110236327.9A patent/CN113359696A/zh not_active Withdrawn
-
2023
- 2023-09-01 US US18/460,288 patent/US20230406348A1/en active Pending
- 2023-10-20 KR KR1020230141399A patent/KR20230151960A/ko not_active Application Discontinuation
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009184633A (ja) * | 2008-02-08 | 2009-08-20 | Denso Corp | 車両制御システム |
CN107231798A (zh) * | 2014-08-29 | 2017-10-03 | 艾斯森德有限公司 | 用于监控车辆制动系统运行的方法和装置 |
US20160325753A1 (en) * | 2015-05-10 | 2016-11-10 | Mobileye Vision Technologies Ltd. | Road profile along a predicted path |
KR20200011582A (ko) * | 2016-03-23 | 2020-02-03 | 누토노미 인크. | 차량 주행 및 무인 운전을 용이하게 하는 것 |
US20180154899A1 (en) * | 2016-12-02 | 2018-06-07 | Starsky Robotics, Inc. | Vehicle control system and method of use |
DE102018102027A1 (de) * | 2017-01-31 | 2018-08-02 | GM Global Technology Operations LLC | Effizientes situationsbewusstsein durch ereigniserzeugung und episodischen speicherabruf für autonome antriebssysteme |
DE102017211556A1 (de) * | 2017-07-06 | 2019-01-10 | Robert Bosch Gmbh | Verfahren zur Routenplanung für ein Kraftfahrzeug mit einem automatisierten Fahrzeugsystem und Kraftfahrzeug mit einem automatisierten Fahrzeugsystem |
CN108334086A (zh) * | 2018-01-25 | 2018-07-27 | 江苏大学 | 一种基于软约束二次规划mpc的无人驾驶车辆路径跟踪控制方法 |
JP2020017271A (ja) * | 2018-07-17 | 2020-01-30 | バイドゥ ユーエスエイ エルエルシーBaidu USA LLC | 自動運転車両のためのマルチモーダル運動計画フレームワーク |
KR20190100895A (ko) * | 2019-07-05 | 2019-08-29 | 엘지전자 주식회사 | 자율주행시스템에서 장난감 장치를 활용한 차량 제어 방법 및 이를 위한 장치 |
CN110532636A (zh) * | 2019-08-05 | 2019-12-03 | 东南大学 | 一种面向多场景的智能驾驶自主车道保持性能检测方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836750A (zh) * | 2021-11-03 | 2021-12-24 | 西南交通大学 | 一种列控系统车载设备现场测试案例执行距离的估算方法 |
CN115626158B (zh) * | 2022-12-07 | 2023-03-07 | 深圳曦华科技有限公司 | 车辆转向防剐蹭方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230406348A1 (en) | 2023-12-21 |
KR102594120B1 (ko) | 2023-10-25 |
GB2612910A (en) | 2023-05-17 |
GB2597346A (en) | 2022-01-26 |
DE102021105001A1 (de) | 2021-09-09 |
GB202102934D0 (en) | 2021-04-14 |
KR20230151960A (ko) | 2023-11-02 |
GB2612910B (en) | 2023-12-27 |
GB202216101D0 (en) | 2022-12-14 |
KR20210112249A (ko) | 2021-09-14 |
US11794775B2 (en) | 2023-10-24 |
GB2597346A8 (en) | 2022-06-22 |
US20210276588A1 (en) | 2021-09-09 |
GB2597346B (en) | 2022-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111915917B (zh) | 计算机实现的方法、存储介质和运载工具 | |
US11794775B2 (en) | Control architectures for autonomous vehicles | |
CN113196011A (zh) | 运动图构建和车道级路线规划 | |
CN111190418A (zh) | 使用多维包络调整运载工具的横向间隙 | |
CN112634633B (zh) | 利用自主运载工具对多路停车交叉口进行导航 | |
US11814075B2 (en) | Conditional motion predictions | |
CN115328110A (zh) | 用于自主运载工具的系统和方法以及存储介质 | |
CN113195333A (zh) | 使用线性时间逻辑的自主运载工具操作 | |
US20220283587A1 (en) | Controlling an autonomous vehicle using a proximity rule | |
CN114812589A (zh) | 用于运载工具的方法、自主运载工具和存储介质 | |
CN117083575A (zh) | 轨迹检查器 | |
CN114625118A (zh) | 运载工具、用于运载工具的方法以及存储介质 | |
CN113970924A (zh) | 用于运载工具的方法和系统 | |
CN112486163A (zh) | 基于导航信息的可用性的自主运载工具的操作 | |
CN112394384A (zh) | 基于环境的预定义特征的定位 | |
CN112166068B (zh) | 电动助力转向扭矩补偿 | |
US11447134B2 (en) | Vehicle route modification to improve vehicle location information | |
KR20230093184A (ko) | 제약으로서의 차선 커넥터 | |
CN113196356A (zh) | 交通灯估计 | |
CN115220439A (zh) | 用于运载工具的系统和方法以及存储介质 | |
US20220258761A1 (en) | Controlling an autonomous vehicle using variable time periods | |
CN114815799A (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 |
Application publication date: 20210907 |
|
WW01 | Invention patent application withdrawn after publication |