CN114364591A - 用于交通工具导航系统和方法 - Google Patents
用于交通工具导航系统和方法 Download PDFInfo
- Publication number
- CN114364591A CN114364591A CN202080055767.8A CN202080055767A CN114364591A CN 114364591 A CN114364591 A CN 114364591A CN 202080055767 A CN202080055767 A CN 202080055767A CN 114364591 A CN114364591 A CN 114364591A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- pedestrian
- navigation system
- navigation
- host 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 179
- 230000009471 action Effects 0.000 claims abstract description 471
- 238000004458 analytical method Methods 0.000 claims abstract description 112
- 230000004044 response Effects 0.000 claims abstract description 110
- 230000000116 mitigating effect Effects 0.000 claims abstract description 16
- 230000033001 locomotion Effects 0.000 claims description 61
- 239000000872 buffer Substances 0.000 claims description 52
- 230000000007 visual effect Effects 0.000 claims description 15
- 230000001419 dependent effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 251
- 230000006870 function Effects 0.000 description 112
- 230000001133 acceleration Effects 0.000 description 110
- 238000001514 detection method Methods 0.000 description 84
- 230000008569 process Effects 0.000 description 66
- 238000010191 image analysis Methods 0.000 description 61
- 239000003795 chemical substances by application Substances 0.000 description 58
- 238000013459 approach Methods 0.000 description 57
- 238000004422 calculation algorithm Methods 0.000 description 49
- 230000015654 memory Effects 0.000 description 45
- 230000008859 change Effects 0.000 description 41
- 230000003334 potential effect Effects 0.000 description 34
- 238000012360 testing method Methods 0.000 description 31
- 230000006399 behavior Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 24
- 238000010801 machine learning Methods 0.000 description 24
- 206010001488 Aggression Diseases 0.000 description 22
- 238000005259 measurement Methods 0.000 description 22
- 239000013598 vector Substances 0.000 description 21
- 238000013528 artificial neural network Methods 0.000 description 20
- 230000008901 benefit Effects 0.000 description 20
- 230000002787 reinforcement Effects 0.000 description 20
- 241000282414 Homo sapiens Species 0.000 description 19
- 238000013507 mapping Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 17
- 238000012795 verification Methods 0.000 description 17
- 239000000243 solution Substances 0.000 description 16
- 238000012549 training Methods 0.000 description 16
- 230000002040 relaxant effect Effects 0.000 description 15
- 238000009826 distribution Methods 0.000 description 13
- 230000007774 longterm Effects 0.000 description 13
- 230000003068 static effect Effects 0.000 description 13
- 230000009977 dual effect Effects 0.000 description 12
- 230000006698 induction Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 12
- 230000002829 reductive effect Effects 0.000 description 12
- 241000237858 Gastropoda Species 0.000 description 11
- 241001465754 Metazoa Species 0.000 description 11
- 238000012986 modification Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 238000005096 rolling process Methods 0.000 description 9
- 239000000654 additive Substances 0.000 description 8
- 230000000996 additive effect Effects 0.000 description 8
- 230000006378 damage Effects 0.000 description 8
- 230000001186 cumulative effect Effects 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 230000004313 glare Effects 0.000 description 7
- 238000003384 imaging method Methods 0.000 description 7
- 230000036961 partial effect Effects 0.000 description 7
- 230000009467 reduction Effects 0.000 description 7
- 238000005520 cutting process Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000003623 enhancer Substances 0.000 description 6
- 230000002708 enhancing effect Effects 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 230000016571 aggressive behavior Effects 0.000 description 5
- 230000034994 death Effects 0.000 description 5
- 231100000517 death Toxicity 0.000 description 5
- 230000004438 eyesight Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 230000001953 sensory effect Effects 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 241000282412 Homo Species 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 4
- 208000012761 aggressive behavior Diseases 0.000 description 4
- 230000003042 antagnostic effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000005206 flow analysis Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000007500 overflow downdraw method Methods 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 238000007619 statistical method Methods 0.000 description 4
- 239000000725 suspension Substances 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 208000027418 Wounds and injury Diseases 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000009474 immediate action Effects 0.000 description 3
- 208000014674 injury Diseases 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 238000002940 Newton-Raphson method Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000010367 cloning Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 230000036461 convulsion Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 210000000887 face Anatomy 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000035484 reaction time Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 229910052727 yttrium Inorganic materials 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 235000006679 Mentha X verticillata Nutrition 0.000 description 1
- 235000002899 Mentha suaveolens Nutrition 0.000 description 1
- 235000001636 Mentha x rotundifolia Nutrition 0.000 description 1
- 239000007983 Tris buffer Substances 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000003667 anti-reflective effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013434 data augmentation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000003897 fog Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 229910052761 rare earth metal Inorganic materials 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009476 short term action Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 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
- 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/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental 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
- 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
- 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
-
- 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/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18145—Cornering
-
- 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
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- 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/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- 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
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/143—Alarm means
-
- 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
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- 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
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/05—Type of road, e.g. motorways, local streets, paved or unpaved roads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/402—Type
- B60W2554/4029—Pedestrians
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4042—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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4045—Intention, e.g. lane change or imminent movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4048—Field of view, e.g. obstructed view or direction of gaze
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
- B60W2554/802—Longitudinal 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/80—Spatial relation or speed relative to objects
- B60W2554/806—Relative heading
-
- 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/18—Braking system
-
- 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
- B60W2754/00—Output or target parameters relating to objects
- B60W2754/10—Spatial relation or speed relative to objects
-
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
- B60W60/0017—Planning or execution of driving tasks specially adapted for safety of other traffic participants
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/86—Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
- G01S13/867—Combination of radar systems with cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
- G01S2013/9318—Controlling the steering
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
- G01S2013/93185—Controlling the brakes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
- G01S2013/9319—Controlling the accelerator
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S13/00—Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
- G01S13/88—Radar or analogous systems specially adapted for specific applications
- G01S13/93—Radar or analogous systems specially adapted for specific applications for anti-collision purposes
- G01S13/931—Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
- G01S2013/9323—Alternative operation using light waves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Traffic Control Systems (AREA)
Abstract
提供了用于交通工具导航的系统和方法。在一个实现方式中,至少一个处理器可以从相机接收表示交通工具的环境中的特征的至少一个所捕获的图像。处理器可标识在图像中表示的交叉路口和交叉路口附近的行人。处理器可基于交通工具的路线选择信息来确定交通工具相对于交叉路口的导航动作;以及基于所确定的导航动作来确定交通工具相对于交叉路口的预测路径,并基于对图像的分析来确定行人的预测路径。处理器可以进一步基于这些预计路径来确定交通工具是否预计与行人碰撞;并且,作为响应,使与交通工具相关联的系统实现碰撞缓解动作。
Description
相关申请的交叉引用
本申请要求2019年6月6日提交的第62/858082号美国临时专利申请、2019年6月20日提交的第62/864203号美国临时专利申请、以及2019年7月25日提交的第62/878523号美国临时专利申请号的优先权的权益。以上申请通过引用以其整体并入本文。
背景
技术领域
本公开总体上涉及自主交通工具导航。附加地,本公开涉及用于根据潜在事故责任约束进行导航的系统和方法。
背景技术
随着技术继续进步,能够在道路上导航的完全自主交通工具的目标即将实现。自主交通工具可能需要考虑各种因素,并且基于这些因素做出适当的决定,以安全地并且准确地到达预期目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如,从相机捕获的信息)、来自无线电检测与测距或激光检测与测距的信息,并且也可以使用从其他源(例如,从GPS设备、速度传感器、加速计、悬架传感器等)获得的信息。同时,为了导航到目的地,自主交通工具可能也需要标识其在特定道路内的位置(例如,多车道道路内的特定车道),在其他交通工具旁边导航,避开障碍物和行人,观察交通信号和标志,在适当的交叉口或立体交叉道路处从一条道路行驶到另一条道路,并对交通工具操作期间发生或形成的任何其他情况作出响应。此外,导航系统可能需要遵守某些施加的约束。在一些情况下,这些约束可能与主交通工具与一个或多个其他对象(诸如其他交通工具、行人等)之间的相互作用有关。在其他情况下,约束可能与为主交通工具实现一个或多个导航动作时要遵循的责任规则有关。
在自主驾驶领域,对于可行的自主交通工具系统,存在两个重要的考虑因素。第一个是安全保证的标准化,包括每个自驾驶汽车必须满足以确保安全的要求以及那些要求可以如何被验证。第二个是可扩展性,因为导致释放的成本的工程解决方案将无法扩展到数百万辆汽车,并可能阻止自主交通工具的广泛采用,甚至可能阻止自主交通工具的不特别广泛的采用。因此,存在对安全保证的可解释的数学模型和遵守安全保证要求同时可扩展到数百万辆汽车的系统的设计的需要。
发明内容
与本公开一致的实施例提供了用于自主交通工具导航的系统和方法。所公开的实施例可以使用相机来提供自主交通工具导航特征。例如,与所公开的实施例一致,所公开的系统可以包括监视交通工具环境的一个、两个或更多个相机。所公开的系统可以基于例如对由这些相机中的一个或多个相机捕获的图像的分析来提供导航响应。导航响应还可以考虑其他数据,包括例如全球定位系统(GPS)数据、传感器数据(例如,来自加速计、速度传感器、悬架传感器等)和/或其他地图数据。
在实施例中,用于主交通工具的导航系统可以包括至少一个处理器。处理器可以被编程为用于:从相机接收表示交通工具的环境中的特征的至少一个所捕获的图像;标识在该至少一个所捕获的图像中表示的交叉路口的至少部分;以及标识该交叉路口附近的行人的在该至少一个所捕获的图像中的表示。处理器可以被编程为用于:至少部分地基于交通工具的路线选择信息来确定该交通工具相对于交叉路口的导航动作;基于所确定的导航动作,确定交通工具相对于交叉路口的预测路径;以及基于对至少一个所捕获的图像的分析来确定行人的预测路径。处理器可以进一步被编程为用于至少部分地基于交通工具的预计路径并基于行人的预测路径来确定交通工具是否预计与行人碰撞;以及响应于交通工具预计与行人碰撞的确定,使与该交通工具相关联的至少一个系统实现碰撞缓解动作。
在实施例中,用于对主交通工具进行导航的方法可以包括:从相机接收表示交通工具的环境中的特征的至少一个所捕获的图像;标识在该至少一个所捕获的图像中表示的交叉路口的至少部分;以及标识该交叉路口附近的行人的在该至少一个所捕获的图像中的表示。该方法可以进一步包括:至少部分地基于交通工具的路线选择信息来确定该交通工具相对于交叉路口的导航动作;根据所确定的导航动作来确定交通工具相对于交叉路口的预测路径;以及基于对至少一个所捕获的图像的分析来确定行人的预测路径。该方法可以进一步包括:至少部分地基于交通工具的预计路径并基于行人的预测路径来确定交通工具是否预计与行人碰撞;以及响应于交通工具预计与行人碰撞的确定而使与该交通工具相关联的至少一个系统实现碰撞缓解动作。
与其他公开的实施例相一致的,非瞬态计算机可读存储介质可以存储程序指令,该程序指令是由至少一个处理设备可执行的,并执行本文描述的步骤和/或方法中的任何步骤和/或方法。
上述一般说明和以下详细说明仅为示例性和解释性的,并且不是权利要求的限制。
附图说明
并入本公开并构成本公开一部分的所附附图示出了各个公开的实施例。在附图中:
图1是符合所公开的实施例的示例性系统的图解表示。
图2A是包括符合所公开的实施例的系统的示例性交通工具的图解侧视图表示。
图2B是符合所公开的实施例的图2A中所示的交通工具和系统的图解俯视图表示。
图2C是包括符合所公开的实施例的系统的交通工具的另一实施例的图解俯视图表示。
图2D是包括符合所公开的实施例的系统的交通工具的又一实施例的图解俯视图表示。
图2E是包括符合所公开的实施例的系统的交通工具的又一实施例的图解俯视图表示。
图2F是符合所公开的实施例的示例性交通工具控制系统的图解表示。
图3A是符合所公开的实施例的包括后视镜(rearview mirror)和用于交通工具成像系统的用户接口的交通工具的内部的图解表示。
图3B是符合所公开的实施例的被配置为定位在后视镜后面并抵靠交通工具挡风玻璃的相机支架的示例的图示。
图3C是符合所公开的实施例的图3B中所示的相机支架从不同角度的图示。
图3D是符合所公开的实施例的被配置为定位在后视镜后面并抵靠交通工具挡风玻璃的相机支架的示例的图示。
图4是被配置为存储用于执行符合所公开的实施例的一个或多个操作的指令的存储器的示例性框图。
图5A是示出了符合所公开的实施例的用于基于单目图像分析而引起一个或多个导航响应的示例性过程的流程图。
图5B是示出了符合所公开的实施例的用于在一组图像中检测一个或多个交通工具和/或行人的示例性过程的流程图。
图5C是示出了符合所公开的实施例的用于在一组图像中检测道路标记和/或车道几何形状信息的示例性过程的流程图。
图5D是示出了符合所公开的实施例的用于在一组图像中检测交通灯的示例性过程的流程图。
图5E是示出了符合所公开的实施例的用于基于交通工具路径而引起一个或多个导航响应的示例性过程的流程图。
图5F是示出了符合所公开的实施例的用于确定领先交通工具是否正在改变车道的示例性过程的流程图。
图6是示出了符合所公开的实施例的用于基于立体图像分析而引起一个或多个导航响应的示例性过程的流程图。
图7是示出了符合所公开的实施例的用于基于对三组图像的分析而引起一个或多个导航响应的示例性过程的流程图。
图8是可以由符合所公开实施例的用于自主交通工具的导航系统的一个或多个特定编程处理设备实现的模块的框图表示。
图9是符合所公开的实施例的导航选项图。
图10是符合所公开的实施例的导航选项图。
图11A、图11B和图11C提供符合所公开的实施例的合并区中的主交通工具的导航选项的示意性表示。
图11D提供了符合所公开的实施例的双合并场景的图解性描绘。
图11E提供了在符合所公开实施例的双合并场景中可能有用的选项图。
图12提供了符合所公开的实施例的主交通工具的环境的所捕获的表示性图像连同潜在的导航约束一起的示图。
图13提供了符合所公开的实施例的用于对交通工具进行导航的算法流程图。
图14提供了符合所公开的实施例的用于对交通工具进行导航的算法流程图。
图15提供了符合所公开的实施例的用于对交通工具进行导航的算法流程图。
图16提供了符合所公开的实施例的用于对交通工具进行导航的算法流程图。
图17A和图17B提供了符合所公开的实施例的主交通工具导航入环岛的图解性图示。
图18提供了符合所公开的实施例的用于对交通工具进行导航的算法流程图。
图19图示出符合所公开的实施例的主交通工具在多车道公路上驾驶的示例。
图20A和图20B图示出符合所公开的实施例的交通工具在另一交通工具前面切入的示例。
图21图示出符合所公开的实施例的交通工具跟随另一交通工具的示例。
图22图示出符合所公开的实施例的交通工具离开停车场并且并入可能繁忙的道路的示例。
图23图示出符合所公开的实施例的交通工具在道路上行驶。
图24A、图24B、图24C和图24D图示出符合所公开的实施例的四个示例场景。
图25图示出符合所公开的实施例的示例场景。
图26图示出符合所公开的实施例的示例场景。
图27图示出符合所公开的实施例的示例场景。
图28A和图28B图示出符合所公开的实施例的其中交通工具跟随另一交通工具的场景的示例。
图29A和图29B图示出符合所公开的实施例的切入场景中的示例归责。
图30A和图30B图示出符合所公开的实施例的切入场景中的示例归责。
图31A、图31B、图31C和图31D图示出符合所公开的实施例的漂移场景中的示例归责。
图32A和图32B图示出符合所公开的实施例的双向交通场景中的示例归责。
图33A和图33B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图34A和图34B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图35A和图35B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图36A和图36B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图37A和图37B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图38A和图38B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图39A和图39B图示出符合所公开的实施例的路线优先级场景中的示例归责。
图40A和图40B图示出符合所公开的实施例的交通灯场景中的示例归责。
图41A和图41B图示出符合所公开的实施例的交通灯场景中的示例归责。
图42A和图42B图示出符合所公开的实施例的交通灯场景中的示例归责。
图43A、图43B和图43C图示出符合所公开的实施例的示例易受伤害的道路使用者(VRU)场景。
图44A、图44B和图44C图示出符合所公开的实施例的示例易受伤害的道路使用者(VRU)场景。
图45A、图45B和图45C图示出符合所公开的实施例的示例易受伤害的道路使用者(VRU)场景。
图46A、图46B、图46C和图46D图示出符合所公开的实施例的示例易受伤害的道路使用者(VRU)场景。
图47是符合所公开的实施例的可以在其中使用碰撞预测的示例场景的图示
图48、图49和图50图示出符合所公开的实施例的可以针对主交通工具和/或行人确定的示例包络。
图51是图示出符合所公开的实施例的、用于确定圆形包络之间的碰撞时间的示例技术的示图。
图52是符合所公开的实施例的对应于圆形包络的碰撞预测的示例时间线的图示
图53是图示出符合所公开的实施例的用于确定碰撞时间的示例精细分析的图。
图54是示出符合所公开的实施例的用于对主交通工具进行导航的示例过程的流程图。
具体实施方式
以下具体实施方式参考了所附附图。只要有可能,在附图和以下描述中使用相同的附图标记指代相同或相似的部分。虽然本文描述了若干说明性的实施例,但修改、改编和其他实现方式也是可能的。例如,可以对附图中图示出的组件进行替换、添加、或修改,并且可以通过对所公开的方法进行替换、重新排序、移除或添加步骤来修改本文所描述的说明性方法。因此,以下具体实施方式并不限于所公开的实施例和示例。相反,适当的范围由所附权利要求来限定。
自主交通工具概览
如贯穿本公开所使用的,术语“自主交通工具”指代能够在不具有驾驶员输入的情况下实现至少一个导航改变的交通工具。“导航改变”指代交通工具的转向、制动、或加速度/减速度中的一者或多者的改变。要成为自主的,交通工具不需要是完全自动的(例如,在没有驾驶员或没有驾驶员输入的情况下完全地操作的)。相反,自主交通工具包括可以在某些时间段内在驾驶员控制下操作且在其他时间段内在没有驾驶员控制的情况下操作的交通工具。自主交通工具还可包括仅控制交通工具导航的一些方面的交通工具,交通工具导航的一些方面诸如转向(例如,在交通工具车道约束之间维持交通工具路线)或在某些情形下(但并非在所有情形下)的一些转向操作,但可能将交通工具导航的其他方面留给驾驶员(例如,制动或在某些情形下进行制动)。在某些情况下,自主交通工具可处理交通工具的制动、速度控制和/或转向的一些方面或所有方面。
由于人类驾驶员通常依赖于视觉提示和观察以便控制交通工具,因此交通基础设施被相应地构建,其中车道标记、交通标志、和交通灯被设计成用于将视觉信息提供给驾驶员。鉴于交通基础设施的这些设计特征,自主交通工具可以包括相机和分析从交通工具的环境捕获的视觉信息的处理单元。视觉信息可以包括例如表示交通基础设施的可被驾驶员观察到的组成部分(例如,车道标记、交通标志、交通灯等)和其他障碍物(例如,其他交通工具、行人、杂物等)的图像。附加地,自主交通工具还可以使用存储的信息,诸如在导航时提供交通工具的环境的模型的信息。例如,交通工具可以使用GPS数据、传感器数据(例如,来自加速计、速度传感器、悬架传感器等)和/或其他地图数据来提供与其在行驶时的环境相关的信息,并且该交通工具(以及其他交通工具)可以使用该信息在模型上定位其自身。一些交通工具还可以能够在它们之间进行通信、共享信息、改变具有危险的或交通工具周围环境的变化的对等交通工具等。
系统概览
图1是符合所公开的示例性实施例的系统100的框图表示。取决于特定实现方式的要求,系统100可以包括各种组件。在一些实施例中,系统100可以包括处理单元110、图像采集单元120、位置传感器130、一个或多个存储器单元140、150、地图数据库160、用户接口170、和无线收发器172。处理单元110可以包括一个或多个处理设备。在一些实施例中,处理单元110可以包括应用处理器180、图像处理器190或任何其他合适的处理设备。类似地,取决于特定应用的要求,图像采集单元120可以包括任何数量的图像采集设备和组件。在一些实施例中,图像采集单元120可以包括一个或多个图像捕获设备(例如,相机、CCD或任何其他类型的图像传感器),诸如图像捕获设备122、图像捕获设备124和图像捕获设备126。系统100还可以包括将处理单元110通信地连接到图像采集单元120的数据接口128。例如,数据接口128可以包括用于将由图像采集单元120采集的图像数据传送到处理单元110的任何一个或多个有线和/或无线链路。
无线收发器172可以包括一个或多个设备,该一个或多个设备被配置成通过使用射频、红外频率、磁场或电场通过空中接口向一个或多个网络(例如,蜂窝、互联网等)交换传输。无线收发器172可以使用任何已知的标准来传送和/或接收数据(例如,Wi-Fi、蓝牙智能、802.15.4、ZigBee等)。这种传输可以包括从主交通工具到一个或多个远程定位的服务器的通信。此类传输也可以包括主交通工具与主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如,用于鉴于主交通工具的环境中的目标交通工具或与目标交通工具一起促进主交通工具的导航的协调),或者甚至包括向传送方交通工具附近的未指定接收方进行的广播传输。
应用处理器180和图像处理器190都可以包括各种类型的基于硬件的处理设备。例如,应用处理器180和图像处理器190中的任一者或两者可以包括微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器,或适用于运行应用以及适用于图像处理和分析的任何其他类型的设备。在一些实施例中,应用处理器180和/或图像处理器190可以包括任何类型的单核或多核处理器、移动设备微控制器、中央处理单元等。可以使用各种处理设备,包括例如可从诸如等制造商获得的处理器,并且各种处理设备可以包括各种架构(例如x86处理器、等)。
在一些实施例中,应用处理器180和/或图像处理器190可以包括可从 获得的EyeQ系列处理器芯片中的任何处理器芯片。这些处理器设计各自包括具有本地存储器和指令集的多个处理单元。此类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,使用在332Mhz下操作的90nm微米技术。架构由两个浮点超线程32位RISC CPU(核)、五个视觉计算引擎(VCE)、三个向量微码处理器Denali 64位移动DDR控制器、128位内部声学互连、双16位视频输入和18位视频输出控制器、16通道DMA、以及若干外围设备组成。MIPS34K CPU管理五个VCE、三个VMPTM和DMA、第二MIPS34K CPU和多通道DMA以及其他外围设备。五个VCE、三个和MIPS34K CPU可以执行多功能捆绑应用所需的密集的视觉计算。在另一个示例中,作为第三代处理器并且比强大六倍的可在所公开的实施例中使用。在其他示例中,和/或可以在所公开的实施例中使用。当然,任何更新的或未来的EyeQ处理设备也可以与所公开的实施例一起使用。
本文所公开的处理设备中的任何处理设备都可以被配置成执行某些功能。配置处理设备(诸如,所描述的EyeQ处理器或其他控制器或微处理器中的任一者)以执行某些功能可以包括对计算机可执行指令进行编程,并使这些指令可供处理设备用来在处理设备的操作期间执行。在一些实施例中,配置处理设备可以包括直接利用架构指令对处理设备进行编程。在其他实施例中,配置处理设备可以包括将可执行指令存储在处理设备在操作期间可访问的存储器上。例如,处理设备可以在操作期间访问存储器以获得并且执行所存储的指令。在任一情况下,配置为执行本文公开的感测、图像分析和/或导航功能的处理设备表示控制主交通工具的多个基于硬件的组件的专用基于硬件的系统。
虽然图1描绘了处理单元110中包括两个分开的处理设备,但可以使用更多或更少的处理设备。例如,在一些实施例中,可以使用单个处理设备来完成应用处理器180和图像处理器190的任务。在其他实施例中,这些任务可以由多于两个的处理设备执行。此外,在一些实施例中,系统100可以包括一个或多个处理单元110,而不包括其他组件,诸如图像采集单元120。
处理单元110可以包括各种类型的设备。例如,处理单元110可以包括各种设备,诸如,控制器、图像预处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器、或用于图像处理和分析的任何其他类型的设备。图像预处理器可以包括用于捕获、数字化和处理来自图像传感器的成像的视频处理器。CPU可以包括任何数量的微控制器或微处理器。支持电路可以是本技术领域中一般公知的任何数量的电路,包括高速缓存、电源、时钟和输入-输出电路。存储器可以存储软件,该软件当由处理器执行时控制系统的操作。存储器可以包括数据库和图像处理软件。存储器可以包括任何数量的随机存取存储器、只读存储器、闪存、磁盘驱动器、光存储、磁带存储、可移动存储和其他类型的存储。在一个实例中,存储器可以与处理单元110分开。在另一实例中,存储器可以被集成到处理单元110中。
每个存储器140、150可以包括软件指令,该软件指令当由处理器(例如,应用处理器180和/或图像处理器190)执行时可以控制系统100的各个方面的操作。这些存储器单元可以包括各种数据库和图像处理软件,以及例如诸如神经网络或深度神经网络之类的经训练的系统。存储器单元可以包括随机存取存储器、只读存储器、闪存、盘驱动器、光存储、磁带存储、可移动存储和/或任何其他类型的存储。在一些实施例中,存储器单元140、150可以与应用处理器180和/或图像处理器190分开。在其他实施例中,这些存储器单元可以被集成到应用处理器180和/或图像处理器190中。
位置传感器130可以包括适合于确定与系统100的至少一个组件相关联的位置的任何类型的设备。在一些实施例中,位置传感器130可以包括GPS接收器。此类接收器可以通过处理由全球定位系统卫星广播的信号来确定用户的位置和速度。来自位置传感器130的位置信息可以供应用处理器180和/或图像处理器190使用。
在一些实施例中,系统100可包括用于测量交通工具200的速度的组件,诸如速度传感器(例如,速度计)。系统100也可以包括一个或多个加速计(单轴或多轴),用于沿一个或多个轴测量交通工具200的加速度。
存储器单元140、150可包括指示已知地标位置的数据库或以任何其他形式组织的数据。环境的传感信息(诸如图像、无线电检测与测距信号、来自光检测与测距或对两个或多个图像的立体处理的深度信息)可与位置信息(诸如GPS坐标、交通工具的自我运动等)一起被处理,以确定交通工具相对于已知地标的当前位置,并细化交通工具位置。该技术的某些方面包括在称为REMTM的定位技术中,该定位技术正由本申请的受让方销售。
用户接口170可包括适于将信息提供给系统100的一个或多个用户或从系统100的一个或多个用户接收输入的任何设备。在一些实施例中,用户接口170可以包括用户输入设备,包括例如触摸屏、麦克风、键盘、指点设备、轨迹轮、相机、旋钮、按钮等。利用此类输入设备,用户可能能够通过键入指令或信息、提供语音命令、使用按钮、指点器、或眼球跟踪能力在屏幕上选择菜单选项、或通过用于将信息传输至系统100的任何其他合适的技术,来将信息输入或命令提供给系统100。
用户接口170可以配备有一个或多个处理设备,该一个或多个处理设备被配置成将信息提供给用户或从用户接收信息,并处理该信息以供例如应用处理器180使用。在一些实施例中,此类处理设备可执行用于识别和跟踪眼球移动、接收和解释语音命令、识别和解释在触摸屏上做出的触摸和/或手势、对键盘输入或菜单选择进行响应等的指令。在一些实施例中,用户接口170可以包括显示器、扬声器、触觉设备和/或用于向用户提供输出信息的任何其他设备。
地图数据库160可以包括用于存储对系统100有用的地图数据的任何类型的数据库。在一些实施例中,地图数据库160可以包括与各种项目(包括道路、水景、地理特征、商业、感兴趣的地点、餐馆、加油站等)在参考坐标系中的位置相关的数据。地图数据库160可以不仅存储此类项目的位置,也存储与这些项目相关的描述符,包括例如与所存储的特征中的任何特征相关联的名称。在一些实施例中,地图数据库160在物理上可以与系统100的其他组件一起被定位。替代地或附加地,地图数据库160或其部分可以相对于系统100的其他组件(例如,处理单元110)远程地定位。在此类实施例中,来自地图数据库160的信息可以通过至网络的有线或无线数据连接(例如,通过蜂窝网络和/或互联网等)来下载。在一些情况下,地图数据库160可以存储稀疏数据模型,该稀疏数据模型包括针对主交通工具的某些道路特征(例如,车道标记)或目标轨迹的多项式表示。地图数据库160也可以包括可以用于确定或更新主交通工具相对于目标轨迹的已知位置的各种识别的地标的存储的表示。地标表示可以包括诸如地标类型、地标位置、以及其他潜在标识符之类的数据字段。
图像捕获设备122、124和126可以各自包括适于从环境中捕获至少一个图像的任何类型的设备。此外,可以使用任何数量的图像捕获设备来采集用于输入到图像处理器的图像。一些实施例可以仅包括单个图像捕获设备,而其他实施例可包括两个、三个、甚至四个或更多的图像捕获设备。下面将参考图2B-图2E进一步描述图像捕获设备122、124和126。
一个或多个相机(例如,图像捕获设备122、124和126)可以是包括在交通工具上的感测块的一部分。各种其他传感器可以被包括在感测块中,并且可以依赖这些传感器中的任何或所有传感器来形成交通工具的感测导航状态。除了相机(前向、侧向、后向等),其他传感器(诸如无线电检测与测距、光检测与测距和声学传感器)也可以被包括在感测块中。附加地,感测块可以包括一个或多个配置为用于传输和传送/接收与交通工具环境有关的信息的组件。例如,此类组件可以包括无线收发器(RF等),其可以从相对于主交通工具远程地定位的源接收基于传感器的信息或与主交通工具的环境相关的任何其他类型的信息。此类信息可以包括从除主交通工具以外的交通工具系统接收的传感器输出信息或相关信息。在一些实施例中,此类信息可以包括从远程计算设备、集中式服务器等接收的信息。此外,相机可以采用多种不同配置:单相机单元、多相机、相机集群、长FOV、短FOV、广角、鱼眼等。
系统100或其各种组件可以并入各种不同平台。在一些实施例中,系统100可以被包括在交通工具200上,如图2A所示。例如,如上文相对于图1所述,交通工具200可以配备有处理单元110和系统100的任何其他组件。虽然在一些实施例中,交通工具200可以仅配备有单个图像捕获设备(例如,相机),但在其他实施例中(诸如结合图2B-图2E所讨论的那些实施例中)可以使用多个图像捕获设备。例如,如图2A所示,交通工具200的图像捕获设备122和124中的任一者可以是ADAS(高级驾驶员辅助系统)成像集合的一部分。
交通工具200上所包括的、作为图像采集单元120的一部分的图像捕获设备可以被定位在任何合适的位置。在一些实施例中,如图2A-图2E和图3A-图3C所示,图像捕获设备122可以位于后视镜附近。该位置可以提供与交通工具200的驾驶员的视线类似的视线,这可以辅助确定对驾驶员可见和不可见的事物。图像捕获设备122可以被定位在后视镜附近的任何位置,但是将图像捕获设备122放置在后视镜的驾驶员侧可以进一步辅助获得代表驾驶员的视场和/或视线的图像。
也可以使用针对图像采集单元120的图像捕获设备的其他位置也可以被使用。例如,图像捕获设备124可以位于交通工具200的保险杠上或保险杠中。此类位置可能特别适于具有宽视场的图像捕获设备。位于保险杠的图像捕获设备的视线可能与驾驶员的视线不同,并且因此,保险杠图像捕获设备和驾驶员可能并不总是看到相同的对象。图像捕获设备(例如,图像捕获设备122、124和126)也可以位于其他位置。例如,图像捕获设备可以位于交通工具200的侧镜(side mirror)中的一者或两者之上或之中、交通工具200的车顶上、交通工具200的引擎盖上、交通工具200的后备箱上、交通工具200的侧部上,被安装在交通工具200的窗户中的任何窗户上,被定位在交通工具200的窗户中的任何窗户的后面或前面,以及被安装在交通工具200的前部和/或后部的灯具中或附近,等等。
除图像捕获设备外,交通工具200还可以包括系统100的各种其他组件。例如,处理单元110可以被包括在交通工具200上,与交通工具的引擎控制单元(ECU)集成或分开。交通工具200还可以配备有位置传感器130(诸如,GPS接收器),并且还可以包括地图数据库160以及存储器单元140和150。
如之前所讨论的,无线收发器172可以和/或通过一个或多个网络(例如,蜂窝网络、互联网等)接收数据。例如,无线收发器172可以将系统100收集的数据上传到一个或多个服务器,并从一个或多个服务器下载数据。经由无线收发器172,系统100可以接收例如对存储在地图数据库160、存储器140和/或存储器150中的数据的周期性或按需更新。类似地,无线收发器172可以将来自系统100的任何数据(例如,由图像采集单元120捕获的图像,由位置传感器130或其他传感器、交通工具控制系统接收的数据等)和/或由处理单元110处理的任何数据上传到一个或多个服务器。
系统100可以基于隐私级别设置将数据上传到服务器(例如,上传到云)。例如,系统100可以实现隐私级别设置,以调节或限制发送到服务器的数据(包括元数据)的类型,该服务器可以唯一地标识交通工具和/或交通工具的驾驶员/所有者。此类设置可以由用户经由例如无线收发器172来设置、由工厂默认设置或由无线收发器172接收的数据来初始化。
在一些实施例中,系统100可以根据“高”隐私级别来上传数据,并且在对设置进行设置之下,系统100可以传送数据(例如,与路线相关的位置信息、捕获的图像等),而不需要关于特定交通工具和/或驾驶员/所有者的任何细节。例如,当根据“高”隐私设置上传数据时,系统100可以不包括交通工具标识号(VIN)或交通工具驾驶员或所有者的姓名,并且可以替代地传送数据,诸如捕获的图像和/或与路线相关的有限位置信息。
还考虑了其他隐私级别。例如,系统100可以根据“中间”隐私级别向服务器传送数据,并包括在“高”隐私级别下未被包括的附加信息,诸如交通工具的品牌和/或型号和/或交通工具类型(例如,乘用车、运动型多用途车、卡车等)。在一些实施例中,系统100可以根据“低”隐私级别来上传数据。在“低”隐私级别设置下,系统100可以上传数据并包括足以唯一地标识特定交通工具、所有者/驾驶员和/或交通工具行驶路线的一部分或全部的信息。此类“低”隐私级别数据可以包括例如以下各项中的一项或多项:VIN、驾驶员/所有者姓名、交通工具出发前的起点、交通工具的预期目的地、交通工具的品牌和/或型号、交通工具的类型等。
图2A是符合所公开的实施例的示例性交通工具成像系统的图解侧视图表示。图2B是图2A中所示的实施例的图解俯视图图示。如图2B所图示,所公开的实施例可以包括交通工具200,在交通工具200的主体中包括系统100,该系统100具有被定位在交通工具200的后视镜附近和/或被定位成靠近交通工具200的驾驶员的第一图像捕获设备122、被定位在交通工具200的保险杠区域(例如,保险杠区域210中的一个)上或在保险杠区域中的第二图像捕获设备124、以及处理单元110。
如图2C所图示,图像捕获设备122和124两者均可以被定位在交通工具200的后视镜附近和/或被定位成靠近交通工具200的驾驶员。附加地,虽然在图2B和图2C中示出了两个图像捕获设备122和124,但应当理解,其他实施例可以包括多于两个的图像捕获设备。例如,在图2D和图2E所示的实施例中,第一图像捕获设备122、第二图像捕获设备124、和第三图像捕获设备126被包括在交通工具200的系统100中。
如图2D所图示,图像捕获设备122可以被定位在交通工具200的后视镜附近和/或被定位成靠近交通工具200的驾驶员,而图像捕获设备124和126可以被定位在交通工具200的保险杠区域(例如,保险杠区域210中的一个)上或保险杠区域中。并且如图2E所示,图像捕获设备122、124和126可以被定位在交通工具200的后视镜附近和/或被定位成靠近交通工具200的驾驶员座椅附近。所公开的实施例不限于图像捕获设备的任何特定数量和配置,并且图像捕获设备可以被定位在交通工具200内和/或交通工具200上的任何适当位置。
应当理解,所公开的实施例不限于交通工具,并且可以应用于其他情境。还应理解,所公开的实施例不限于特定类型的交通工具200,并且可以可适用于所有类型的交通工具,包括汽车、卡车、拖车和其他类型的交通工具。
第一图像捕获设备122可以包括任何合适类型的图像捕获设备。图像捕获设备122可以包括光轴。在一个实例中,图像捕获设备122可以包括具有全局快门的Aptina M9V024WVGA传感器。在其他实施例中,图像捕获设备122可以提供1280x960像素的分辨率,并且可以包括滚动快门。图像捕获设备122可以包括各种光学元件。在一些实施例中,可以包括一个或多个透镜,例如,从而为图像捕获设备提供期望的焦距和视场。在一些实施例中,图像捕获设备122可以与6mm透镜或12mm透镜相关联。在一些实施例中,图像捕获设备122可以被配置为捕获具有期望的视场(FOV)202的图像,如图2D所图示。例如,图像捕获设备122可以被配置为具有常规FOV,诸如在40度到56度的范围内,包括46度FOV、50度FOV、52度FOV或更大的FOV。或者,图像捕获设备122可以被配置为具有23到40度范围内的窄FOV,诸如28度FOV或36度FOV。此外,图像捕获设备122可以被配置为具有100到180度范围内的宽FOV。在一些实施例中,图像捕获设备122可以包括广角保险杠相机或具有高达180度FOV的相机。在一些实施例中,图像捕获设备122可以是具有约为2:1的纵横比(例如,HxV=3800x1900像素)且具有约100度水平FOV的7.2M像素图像捕获设备。可以使用此类图像捕获设备来代替三图像捕获设备配置。由于显著的透镜畸变,此类图像捕获设备的垂直FOV在其中图像捕获设备使用径向对称透镜的实现方式中可以显著小于50度。例如,此类透镜可能不是径向对称的,这将允许垂直FOV大于50度,而水平FOV为100度。
第一图像捕获设备122可以采集关于与交通工具200相关联的场景的多个第一图像。多个第一图像中的每一个可以作为一系列图像扫描线被采集,这些图像扫描线可以使用滚动快门来捕获。每个扫描线可以包括多个像素。
第一图像捕获设备122可以具有与第一系列的图像扫描线中的每个图像扫描线的采集相关联的扫描速率。扫描速率可以指图像传感器能够以其来采集与被包括在特定扫描线中的每个像素相关联的图像数据的速率。
图像捕获设备122、124和126可以包含任何合适类型和数量的图像传感器,例如,包括CCD传感器或CMOS传感器。在一个实施例中,CMOS图像传感器可以与滚动快门一起使用,使得一行中的每个像素被一次读取一个,并且对行的扫描在逐行的基础上进行,直到整个图像帧被捕获。在一些实施例中,行可以相对于帧从上到下顺序地被捕获。
在一些实施例中,本文公开的图像捕获设备(例如,图像捕获设备122、124和126)中的一个或多个可以构成高分辨率成像器,并且可以具有大于5M像素、7M像素、10M像素或更大的分辨率。
滚动快门的使用可能导致不同行中的像素在不同时间被曝光和捕获,这可能导致被捕获的图像帧中出现歪斜和其他图像伪像。另一方面,当图像捕获设备122被配置为使用全局或同步快门操作时,所有像素都可以被曝光达相同的时间量并在在共同的曝光时段内被曝光。结果,采用全局快门从系统收集的帧中的图像数据表示整个FOV(诸如FOV 202)在特定时间的快照。相反,在滚动快门应用中,帧中的每一行在不同的时间被曝光并且数据在不同的时间被捕获。因此,在具有滚动快门的图像捕获设备中,移动的对象可能出现失真。下文将更详细地描述这种现象。
第二图像捕获设备124和第三图像捕获设备126可以是任何类型的图像捕获设备。类似第一图像捕获设备122,图像捕获设备124和126中的每一个可以包括光轴。在一个实施例中,图像捕获设备124和126中的每一个可以包括具有全局快门的Aptina M9V024 WVGA传感器。替代地,图像捕获设备124和126中的每一个可以包括滚动快门。类似图像捕获设备122,图像捕获设备124和126可以被配置为包括各种透镜和光学元件。在一些实施例中,与图像捕获设备124和126相关联的透镜可以提供与同图像捕获设备122相关联的FOV(诸如FOV 202)相同或比其更窄的FOV(诸如FOV 204和206)。例如,图像捕获设备124和126可以具有40度、30度、26度、23度、20度或更小的FOV。
图像捕获设备124和126可以采集与同交通工具200相关联的场景有关的多个第二和第三图像。多个第二和第三图像中的每一个可以作为第二系列的图像扫描线和第三系列的图像扫描线而被采集,这些图像扫描线可以使用滚动快门捕获。每个扫描线或扫描行可以具有多个像素。图像捕获设备124和126可以具有与采集被包括在第二和第三系列中的图像扫描线中的每一个图像扫描线相关联的第二和第三扫描速率。
每个图像捕获设备122、124和126可以定位在相对于交通工具200的任何适当位置和取向。图像捕获设备122、124和126的相对定位可以被选择以辅助将从图像捕获设备采集的信息融合在一起。例如,在一些实施例中,与图像捕获设备124相关联的FOV(诸如FOV204)可以部分地或完全地重叠与图像捕获设备122相关联的FOV(诸如FOV 202),并且可以部分地或完全地重叠与图像捕获设备126相关联的FOV(诸如FOV 206)。
图像捕获设备122、124和126可以位于交通工具200上的任何适当的相对高度处。在一个实例中,图像捕获设备122、124和126之间可以存在高度差,这可以提供足够的视差信息以实现立体分析。例如,如图2A所示,两个图像捕获设备122和124处于不同的高度。图像捕获设备122、124和126之间也可以存在横向位移差,从而例如为处理单元110的立体分析给出附加视差信息。横向位移的差可以用dx表示,如图2C和图2D所示。在一些实施例中,在图像捕获设备122、124和126之间可以存在前后位移(例如,范围位移)。例如,图像捕获设备122可以位于图像捕获设备124和/或图像捕获设备126后面0.5米到2米或更远。这种类型的位移可以使图像捕获设备中的一个能够覆盖其他(多个)图像捕获设备的潜在盲点。
图像捕获设备122可以具有任何合适的分辨率能力(例如,与图像传感器相关联的像素数量),并且与图像捕获设备122相关联的(多个)图像传感器的分辨率可以高于、低于同图像捕获设备124和126相关联的(多个)图像传感器的分辨率,或者与同图像捕获设备124和126相关联的(多个)图像传感器的分辨率相同。在一些实施例中,与图像捕获设备122和/或图像捕获设备124和126相关联的(多个)图像传感器可以具有640x480、1024x768、1280x960的分辨率或任何其他合适的分辨率。
帧速率(例如,图像捕获设备在继续捕获与下一图像帧相关联的像素数据之前采集一个图像帧的一组像素数据所按照的速率)可以是可控的。与图像捕获设备122相关联的帧速率可以高于、低于同图像捕获设备124和126相关联的帧速率,或者与同图像捕获设备124和126相关联的帧速率相同。与图像捕获设备122、124和126相关联的帧速率可以取决于可以影响帧速率的定时的各种因素。例如,图像捕获设备122、124和126中的一个或多个可以包括可选像素延迟时段,该可选像素延迟时段被施加在对与图像捕获设备122、124和/或126中的图像传感器的一个或多个像素相关联的图像数据的采集之前或之后。一般地,可以根据设备的时钟速率(例如,每个时钟周期一个像素)来采集对应于每个像素的图像数据。附加地,在包括滚动快门的实施例中,图像捕获设备122、124和126中的一个或多个可以包括可选水平消隐时段,该可选水平消隐时段被施加在对与图像捕获设备122、124和/或126中的图像传感器的一行像素相关联的图像数据的采集之前或之后。此外,图像捕获设备122、124和/或126中的一个或多个可以包括可选垂直消隐时段,该可选垂直消隐时段被施加在对与图像捕获设备122、124和126的图像帧相关联的图像数据的采集之前或之后。
这些定时控制可以实现与图像捕获设备122、124和126相关联的帧速率的同步,即使在每个设备的线扫描速率不同的情形中。附加地,如下文将更详细地讨论的,除其他因素(例如,图像传感器分辨率、最大线扫描速率等)外,这些可选的定时控制可以实现从其中图像捕获设备122的FOV与图像捕获设备124和126的一个或多个FOV重叠的区域进行的图像捕获的同步,即使在图像捕获设备122的FOV不同于图像捕获设备124和126的FOV的情形中。
图像捕获设备122、124和126中的帧速率定时可以取决于相关联的图像传感器的分辨率。例如,假设两个设备的线扫描速率相似,如果一个设备包括具有640x480的分辨率的图像传感器,而另一个设备包括具有1280x960的分辨率的图像传感器,则将需要更多时间来从具有更高分辨率的传感器采集图像数据帧。
可能影响图像捕获设备122、124和126中的图像数据采集的定时的另一因素是最大线扫描速率。例如,从包括在图像捕获设备122、124和126中的图像传感器采集一行图像数据将需要某一最小的时间量。假设没有添加像素延迟时段,则采集一行图像数据的最小时间量将与特定设备的最大线扫描速率相关。与具有较低最大线扫描速率的设备相比,提供较高最大线扫描速率的设备具有提供较高帧速率的潜力。在一些实施例中,图像捕获设备124和126中的一个或多个可以具有高于与图像捕获设备122相关联的最大线扫描速率的最大线扫描速率。在一些实施例中,图像捕获设备124和/或126的最大线扫描速率可以是图像捕获设备122的最大线扫描速率的1.25、1.5、1.75或2倍或以上。
在另一个实施例中,图像捕获设备122、124和126可以具有相同的最大线扫描速率,但是图像捕获设备122可以在小于或等于其最大扫描速率的扫描速率下操作。系统可以被配置为使得图像捕获设备124和126中的一个或多个以等于图像捕获设备122的线扫描速率的线扫描速率操作。在其它实例中,系统可以被配置为使得图像捕获设备124和/或图像捕获设备126的线扫描速率可以为图像捕获设备122的线扫描速率的1.25、1.5、1.75或2倍或以上。
在一些实施例中,图像捕获设备122、124和126可以是不对称的。也就是说,它们可以包括具有不同视场(FOV)和焦距的相机。例如,图像捕获设备122、124和126的视场可以包括相对于交通工具200的环境的任何期望区域。在一些实施例中,图像捕获设备122、124和126中的一个或多个可以被配置为从交通工具200前方、交通工具200后方、交通工具200侧面或其组合的环境采集图像数据。
进一步,与每个图像捕获设备122、124和/或126相关联的焦距可以是可选的(例如,通过包括适当的透镜等),使得每个设备采集相对于交通工具200的期望距离范围内的对象的图像。例如,在一些实施例中,图像捕获设备122、124和126可以采集距离交通工具几米以内的特写对象的图像。图像捕获设备122、124和126还可以被配置为采集距交通工具更远范围(例如,25m、50m、100m、150m或更长)内的对象的图像。进一步,图像捕获设备122、124和126的焦距可以被选择成使得一个图像捕获设备(例如,图像捕获设备122)可以采集相对靠近交通工具(例如,在10m或20m内)的对象的图像,而其他图像捕获设备(例如,图像捕获设备124和126)可以可以采集距交通工具200更远的(例如,距交通工具大于20m、50m、100m、150m等的)对象的图像。
根据一些实施例,一个或多个图像捕获设备122、124和126的FOV可以具有广角。例如,具有140度的FOV可能是有利的,对于可以用于捕获交通工具200邻近区域的图像的图像捕获设备122、124和126尤其如此。例如,图像捕获设备122可以用于捕获交通工具200右侧或左侧区域的图像,并且在此类实施例中,图像捕获设备122具有宽FOV(例如,至少140度)可能是符合期望的。
与图像捕获设备122、124和126中的每一个相关联的视场可以取决于各自的焦距。例如,随着焦距的增加,相应的视场减小。
图像捕获设备122、124和126可以被配置为具有任何合适的视场。在一个特定示例中,图像捕获设备122可以具有46度的水平FOV,图像捕获设备124可以具有23度的水平FOV,并且图像捕获设备126可以具有23到46度之间的水平FOV。在另一实例中,图像捕获设备122可以具有52度的水平FOV,图像捕获设备124可以具有26度的水平FOV,并且图像捕获设备126可以具有26至52度之间的水平FOV。在一些实施例中,图像捕获设备122的FOV与图像捕获设备124和/或图像捕获设备126的FOV的比率可以在1.5到2.0之间变化。在其他实施例中,该比率可以在1.25和2.25之间变化。
系统100可以被配置为使得图像捕获设备122的视场至少部分地或全部地与图像捕获设备124和/或图像捕获设备126的视场重叠。在一些实施例中,系统100可以被配置为使得图像捕获设备124和126的视场例如落在图像捕获设备122的视场内(例如,窄于图像捕获设备122的视场),并且与图像捕获设备122的视场共享共同的中心。在其他实施例中,图像捕获设备122、124和126可以捕获相邻的FOV,或者可以在它们的FOV中具有部分的重叠。在一些实施例中,图像捕获设备122、124和126的视场可以对齐,使得FOV较窄的图像捕获设备124和/或126的中心可以位于FOV较宽的设备122的视场的下半部分中。
图2F是符合所公开的实施例的示例性交通工具控制系统的图解表示。如图2F所示,交通工具200可以包括节流系统220、制动系统230和转向系统240。系统100可以通过一个或多个数据链路(例如,用于传送数据的任何一个或多个有线或无线链路)向节流系统220、制动系统230、和转向系统240中的一个或多个提供输入(例如,控制信号)。例如,基于对由图像捕获设备122、124或126采集到的图像的分析,系统100可以向节流系统220、制动系统230、和转向系统240中的一个或多个提供控制信号以(例如,通过引起加速、转弯、车道偏移等)来对交通工具200进行导航。进一步地,系统100可以从节流系统220、制动系统230和转向系统24中的一个或多个接收指示交通工具200的操作状况(例如,速度、交通工具200是否正在制动或转弯等)的输入。下面结合图4-图7提供进一步的细节。
如图3A所示,交通工具200还可以包括用于与交通工具200的驾驶员或乘客交互的用户接口170。例如,交通工具应用中的用户接口170可以包括触摸屏320、旋钮330、按钮340、以及麦克风350。交通工具200的驾驶员或乘客也可以使用手柄(例如,位于交通工具200的转向柱上或转向柱附近的手柄,包括例如转向信号灯手柄)、按钮(例如,位于交通工具200的方向盘上的按钮)等来与系统100交互。在一些实施例中,麦克风350可以被定位成与后视镜310相邻。类似地,在一些实施例中,图像捕获设备122可以位于后视镜310附近。在一些实施例中,用户接口170还可以包括一个或多个扬声器360(例如,交通工具音频系统的扬声器)。例如,系统100可以经由扬声器360提供各种通知(例如,警报)。
图3B-图3D是符合所公开的实施例的示例性相机支架370的图示,该示例性相机支架370被配置为被定位在后视镜(例如,后视镜310)后面并抵靠交通工具挡风玻璃。如图3B所示,相机支架370可以包括图像捕获设备122、124和126。图像捕获设备124和126可以位于眩光屏蔽380的后面,该眩光屏蔽380可以齐平地抵靠交通工具挡风玻璃,并包括薄膜和/或抗反射材料的组合物。例如,眩光屏蔽380可以被定位成使得该眩光屏蔽380抵靠具有匹配的坡度的交通工具挡风玻璃而对齐。在一些实施例中,图像捕获设备122、124和126中的每一个都可以被定位在眩光屏蔽380的后面,例如,如图3D中所示。所公开的实施例不限于图像捕获设备122、124和126、相机支架370和眩光屏蔽380的任何特定配置。图3C是图3B中所示的相机支架370的从正面视角的图示。
如受益于本公开的本领域技术人员将领会的,可以对前述公开的实施例做出很多的变型和/或修改。例如,对于系统100的操作,并非所有组件都是必要的。进一步地,任何组件都可以位于系统100的任何适当部分中,并且组件可以被重新布置成各种配置,同时提供所公开的实施例的功能。因此,前面的配置是示例,并且,不管上面讨论的配置如何,系统100可以提供范围广泛的功能来分析交通工具200的周围环境并响应于该分析来对交通工具200进行导航。
如下文进一步详细讨论并且符合各个所公开实施例的,系统100可以提供与自主驾驶和/或驾驶员辅助技术相关的各种特征。例如,系统100可以分析图像数据、位置数据(例如,GPS位置信息)、地图数据、速度数据和/或来自被包括在交通工具200中的传感器的数据。系统100可以从例如图像采集单元120、位置传感器130、和其他传感器收集数据以用于分析。进一步地,系统100可以分析所收集的数据,以确定交通工具200是否应当采取某个动作,并且随后在没有人类干预的情况下自动地采取所确定的动作。例如,当交通工具200在没有人类干预的情况下导航时,系统100可以(例如,通过将控制信号发送到节流系统220、制动系统230、和转向系统240中的一者或多者)自动地控制交通工具200的制动、加速、和/或转向。进一步,系统100可以分析所收集的数据,并基于对所收集的数据的分析向交通工具乘员发出警告和/或警报。下文提供关于由系统100提供的各实施例的附加细节。
前向多成像系统
如上文所讨论的,系统100可以提供使用多相机系统的驾驶辅助功能。多相机系统可以使用一个或多个面向交通工具前进方向的相机。在其他实施例中,多相机系统可以包括一个或多个面向交通工具侧面或交通工具后部的相机。在一个实施例中,例如,系统100可以使用双相机成像系统,其中第一相机和第二相机(例如,图像捕获设备122和124)可以被定位在交通工具(例如,交通工具200)的前部和/或侧面。其他相机配置符合所公开的实施例,并且本文公开的配置是示例。例如,系统100可以包括任意数量的(例如,一个、二个、三个、四个、五个、六个、七个、八个等)相机的配置。此外,系统100可以包括相机的“集群”。例如,相机集群(包括任何适当数量的相机,例如,一个、四个、八个等)可以相对于交通工具前向的,或者可以面向任何其他方向(例如,面向回报、面向侧面、以一定角度等)因此,系统100可以包括多个相机集群,使每个集群按特定方向取向,以从交通工具环境的特定区域捕获图像。
第一相机的视场可以大于、小于或部分重叠于第二相机的视场。此外,第一相机可以被连接到第一图像处理器,该第一图像处理器用于对第一相机提供的图像执行单目图像分析,并且第二相机可以被连接到第二图像处理器,该第二图像处理器用于对第二相机提供的图像执行单目图像分析。可以组合第一和第二图像处理器的输出(例如,经处理的信息)。在一些实施例中,第二图像处理器可以从第一相机和第二相机两者接收图像以执行立体分析。在另一实施例中,系统100可以使用三相机成像系统,其中每个相机具有不同的视场。因此,该系统可以根据从位于交通工具前方和侧面不同距离处的对象导出的信息做出决策。对单目图像分析的引用可以指基于从单个视点(例如,从单个相机)捕获的图像执行图像分析的实例。立体图像分析可以指基于图像捕获参数的一个或多个变体的情况下捕获的两个或更多个图像执行的图像分析的实例。例如,适合于执行立体图像分析的被捕获的图像可以包括:从两个或更多个不同位置被捕获的图像、从不同视场被捕获的图像、使用不同焦距被捕获的图像、连同视差信息一起被捕获的图像等。
例如,在一个实施例中,系统100可以使用图像捕获设备122-126实现三相机配置。在这样的配置中,图像捕获设备122可以提供窄视场(例如,34度或从大约20到45度等范围中选择的其他值),图像捕获设备124可以提供宽视场(例如,150度或从大约100到大约180度的范围中选择的其他值),并且图像捕获设备126可以提供中间视场(例如,46度或从大约35度到大约60度的范围中选择的其他值)。在一些实施例中,图像捕获设备126可以充当主相机或主要相机。图像捕获设备122-126可以被定位在后视镜310的后面,并且被定位成基本上并排的(例如,相隔6cm)。进一步,在一些实施例中,如上文所讨论的,图像捕获设备122-126中的一个或多个可以安装在与交通工具200的挡风玻璃齐平的眩光屏蔽380后面。此类屏蔽可以用于最小化来自车内的任何反射对图像捕获设备122-126的影响。
在另一个实施例中,如上文结合图3B和图3C所讨论的,宽视场相机(例如,上述示例中的图像捕获设备124)可以安装成低于窄视场和主视场相机(例如,上述示例中的图像设备122和126)。此配置可以提供来自宽视场相机的自由视线。为了减少反射,相机可以安装在靠近交通工具200的挡风玻璃的位置,并可以在相机上包括偏振器,以抑制反射光。
三相机系统可以提供某些性能特性。例如,一些实施例可以包括基于来自另一个相机的检测结果来验证一个相机对对象的检测的能力。在上文所讨论的三相机配置中,处理单元110可以包括例如三个处理设备(例如,如上文所讨论的三个EyeQ系列处理器芯片),其中每个处理设备专用于处理由图像捕获设备122-126中的一个或多个捕获的图像。
在三相机系统中,第一处理设备可以从主相机和窄视场相机两者接收图像,并对窄FOV相机执行视觉处理,以例如检测其他交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。进一步,第一处理设备可以计算来自主相机的图像与来自窄相机的图像之间的像素视差,并创建交通工具200的环境的3D重建。然后,第一处理设备可以将3D重建与3D地图数据或与基于来自另一相机的信息计算的3D信息相组合。
第二处理设备可以从主相机接收图像并执行视觉处理,以检测其他交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。附加地,第二处理设备可以计算相机位移,并且基于该位移计算连续图像之间的像素视差,并创建场景的3D重建(例如,运动恢复结构(structure from motion))。第二处理设备可以将基于运动恢复结构的3D重建发送到第一处理设备来与立体3D图像组合。
第三处理设备可以接收从宽FOV相机接收图像并对这些图像进行处理,以检测交通工具、行人、车道标记、交通标志、交通灯和其他道路对象。第三处理设备可以进一步执行附加的处理指令以分析图像来标识图像中移动的对象,诸如正改变车道的交通工具、行人等。
在一些实施例中,独立地捕获和处理基于图像流的信息可以提供在系统中提供冗余的机会。此类冗余可以包括,例如,使用第一图像捕获设备和从该设备处理的图像来验证和/或补充通过从至少第二图像捕获设备捕获和处理的图像信息而获得的信息。
在一些实施例中,系统100可以使用两个图像捕获设备(例如,图像捕获设备122和124)为交通工具200提供导航辅助,并使用第三图像捕获设备(例如,图像捕获设备126)提供冗余并且验证对从其他两个图像捕获设备接收的数据的分析。例如,在此类配置中,图像捕获设备122和124可以提供用于由系统100进行立体分析来对交通工具200进行导航的图像,而图像捕获设备126可以提供用于由系统100进行单目分析的图像,以提供基于从图像捕获设备122和/或图像捕获设备124捕获的图像获得的信息的冗余和验证。即,图像捕获设备126(和相应的处理设备)可以被认为提供冗余子系统,用于对从图像捕获设备122和124导出的分析提供检查(例如,以提供自主紧急制动(AEB)系统)。此外,在一些实施例中,可以基于从一个或多个传感器接收的信息(例如,无线电检测与测距、光检测与测距、声学传感器、从交通工具外部的一个或多个收发器接收的信息等)来补充接收的信息的冗余和验证。
本领域技术人员将认识到,上述相机配置、相机放置、相机数量、相机位置等仅为示例。这些组件和相对于整个系统描述的其他组件,可以在不脱离所公开的实施例的范围的情况下,在各种不同的配置中组装和使用。关于使用多相机系统来提供驾驶员辅助和/或自主交通工具功能的进一步细节如下文。
图4是可以存储/编程有用于执行符合所公开的实施例的一个或多个操作的指令的存储器140和/或150的示例性功能框图。尽管以下指称存储器140,但本领域技术人员将认识到指令可以存储在存储器140和/或150中。
如图4所示,存储器140可以存储单目图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例不限于存储器140的任何特定配置。进一步,应用处理器180和/或图像处理器190可以执行被包括在存储器140中的模块402-408中的任何模块中所存储的指令。本领域技术人员将理解,在以下讨论中对处理单元110的引用可以单独或共同地指应用处理器180和图像处理器190。相应地可以由一个或多个处理设备执行以下过程中的任何过程的步骤。
在一个实施例中,单目图像分析模块402可以存储在由处理单元110执行时对由图像捕获设备122、124和126中的一者采集的一组图像执行单目图像分析的指令(诸如计算机视觉软件)。在一些实施例中,处理单元110可以将来自一组图像的信息与附加的传感信息(例如,来自无线电检测与测距的信息)组合以执行单目图像分析。如下文结合图5A-图5D所描述的,单目图像分析模块402可以包括用于检测一组图像内的一组特征的指令,该组特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象以及与交通工具环境相关联的任何其他特征。基于该分析,系统100(例如,经由处理单元110)可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度变化等,如下文结合导航响应模块408所讨论的。
在一个实施例中,单目图像分析模块402可以存储在由处理单元110执行时对由图像捕获设备122、124和126中的一者采集的一组图像执行单目图像分析的指令(诸如计算机视觉软件)。在一些实施例中,处理单元110可以将来自一组图像的信息与附加的传感信息(例如,来自无线电检测与测距、光检测与测距等的信息)组合以执行单目图像分析。如下文结合图5A-图5D所描述的,单目图像分析模块402可以包括用于检测一组图像内的一组特征的指令,该组特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象以及与交通工具环境相关联的任何其他特征。基于该分析,系统100(例如,经由处理单元110)可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度变化等,如下文结合确定导航响应所讨论的。
在一个实施例中,立体图像分析模块404可以存储在由处理单元110执行时对从图像捕获设备122、124和126中选择的图像捕获设备的组合所采集的第一组和第二组图像执行立体图像分析的指令(诸如计算机视觉软件)。在一些实施例中,处理单元110可以将来自第一组和第二组图像的信息与附加的传感信息(例如,来自无线电检测与测距的信息)组合以执行立体图像分析。例如,立体图像分析模块404可以包括用于基于由图像捕获设备124采集的第一组图像和由图像捕获设备126采集的第二组图像来执行立体图像分析的指令。如下文结合图6所描述的,立体图像分析模块404可以包括用于检测第一和第二组图像内的一组特征的指令,这些特征诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、危险对象等。基于分析,处理单元110可以引起交通工具200中的一个或多个导航响应,诸如转弯、车道偏移、加速度变化等,如下文结合导航响应模块408所讨论的。此外,在一些实施例中,立体图像分析模块404可以实现与经训练的系统(例如神经网络或深度神经网络)或未经训练的系统相关联的技术。
在一个实施例中,速度和加速度模块406可以存储被配置为用于分析从交通工具200中的一个或多个计算和机电设备接收的数据的软件,这些计算和机电设备被配置为用于引起交通工具200的速度和/或加速度的变化。例如,处理单元110可以执行与速度和加速度模块406相关联的指令,以基于从单目图像分析模块402和/或立体图像分析模块404的执行中导出的数据来计算交通工具200的目标速度。此类数据可以包括例如目标位置、速度和/或加速度、交通工具200相对于附近交通工具、行人或道路对象的位置和/或速度、交通工具200相对于道路车道标记的位置信息等。此外,处理单元110可以基于传感输入(例如,来自无线电检测与测距的信息)和来自交通工具200的其他系统(诸如交通工具200的节流系统220、制动系统230和/或转向系统240)的输入来计算交通工具200的目标速度。基于计算出的目标速度,处理单元110可以向交通工具200的节流系统220、制动系统230和/或转向系统240传送电子信号,以通过例如物理地压下交通工具200的制动器或松开交通工具200的加速器来触发速度和/或加速度的变化。
在实施例中,导航响应模块408可以存储处理单元110可执行以基于从单目图像分析模块402和/或立体图像分析模块404的执行中导出的数据来确定期望的导航响应的软件。此类数据可以包括与附近交通工具、行人和道路对象相关联的位置和速度信息、交通工具200的目标位置信息等。附加地,在一些实施例中,导航响应可以(部分地或全部地)基于地图数据、交通工具200的预定位置、和/或交通工具200与从单目图像分析模块402和/或立体图像分析模块404的执行中检测到的一个或多个对象之间的相对速度或相对加速度。导航响应模块408还可以基于传感输入(例如,来自无线电检测与测距的信息)和来自交通工具200的其他系统(诸如交通工具200的节流系统220、制动系统230和转向系统240)的输入来确定期望的导航响应。基于期望的导航响应,处理单元110可以向交通工具200的节流系统220、制动系统230和转向系统240传送电子信号,以通过例如转动交通工具200的方向盘实现预定角度的旋转来触发期望的导航响应。在一些实施例中,处理单元110可以使用导航响应模块408的输出(例如,期望的导航响应)作为执行速度和加速度模块406的输入,以用于计算交通工具200的速度的变化。
此外,本文公开的模块(例如,模块402、404和406)中的任何模块可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。
图5A是示出了符合所公开的实施例的基于单目图像而引起一个或多个导航响应的示例性过程500A的流程图。在步骤510,处理单元110可以经由处理单元110与图像采集单元120之间的数据接口128接收多个图像。例如,包括在图像采集单元120中的相机(诸如具有视场202的图像捕获设备122)可以捕获交通工具200前方(或例如到交通工具侧面或后部)区域的多个图像,并且通过数据连接(例如,数字、有线、USB、无线、蓝牙等)将这些图像传送到处理单元110。处理单元110可以在步骤520执行单目图像分析模块402以分析多个图像,如下文结合图5B-图5D进一步详细描述的。通过执行分析,处理单元110可以检测一组图像内的一组特征,诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯等等。
处理单元110也可以在步骤520执行单目图像分析模块402以检测各种道路危险,诸如例如卡车轮胎的零件、坠落的道路标志、松散货物、小动物等等。道路危险可能在结构、形状、大小和颜色上有所不同,这可能使检测此类危险更具挑战性。在一些实施例中,处理单元110可以执行单目图像分析模块402以对多个图像执行多帧分析来检测道路危险。例如,处理单元110可以估计连续图像帧之间的相机运动,并计算帧之间的像素视差,以构建道路的3D地图。然后,处理单元110可以使用3D地图来检测道路表面以及存在于道路表面上的危险。
在步骤530,处理单元110可以执行导航响应模块408,以基于在步骤520执行的分析和如上文结合图4所描述的技术,在交通工具200中引起一个或多个导航响应。导航响应可以包括例如转弯、车道偏移、加速度变化等。在一些实施例中,处理单元110可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。此外,多个导航响应可以同时、按顺序或以这些方式的任何组合出现。例如,处理单元110可以通过例如顺序地向交通工具200的转向系统240和节流系统220传送控制信号来引起交通工具200偏移通过一条车道并且然后加速。替代地,处理单元110可以通过例如同时向交通工具200的制动系统230和转向系统240传送控制信号来引起交通工具200在偏移车道的同时制动。
图5B是示出符合所公开的实施例的用于检测一组图像中的一个或多个交通工具和/或行人的示例性过程500B的流程图。处理单元110可以执行单目图像分析模块402以实现过程500B。在步骤540,处理单元110可以确定表示可能的交通工具和/或行人的候选对象集合。例如,处理单元110可以扫描一个或多个图像,将图像与一个或多个预定模式进行比较,并在每个图像内标识可能包含感兴趣对象(例如,交通工具、行人或其部分)的可能位置。预定模式可以以实现高“误命中率”和低“未命中率”的方式来设计。例如,处理单元110可以使用用于将候选对象标识为可能的交通工具或行人的、与预定模式的低相似度阈值。这样做可以允许处理单元110降低未命中(例如,未标识)表示交通工具或行人的候选对象的概率。
在步骤542,处理单元110可以基于分类标准来过滤候选对象集合以排除某些候选(例如,无关或不太相关的对象)。此类标准可以从与存储在数据库(例如,存储在存储器140中的数据库)中的对象类型相关联的各种属性中导出。属性可以包括对象形状、尺寸、纹理、位置(例如,相对于交通工具200的位置)等等。因此,处理单元110可以使用一组或多组标准来拒绝来自候选对象集合的假候选。
在步骤544,处理单元110可以分析多帧图像以确定候选对象集合中的对象是否表示交通工具和/或行人。例如,处理单元110可以跨连续帧跟踪所检测的候选对象,并累积与所检测的对象相关联的逐帧数据(例如,大小、相对于交通工具200的位置等)。附加地,处理单元110可以估计所检测的对象的参数,并将对象的逐帧位置数据与所预测的位置进行比较。
在步骤546,处理单元110可以为所检测的对象构造一组测量。此类测量可以包括例如与所检测的对象相关联的(相对于交通工具200的)位置、速度和加速度值。在一些实施例中,处理单元110可以基于使用一系列基于时间的观测的估计技术(诸如卡尔曼滤波器或线性二次估计(LQE))和/或基于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等)的可用建模数据来构造测量。卡尔曼滤波器可以基于对象尺度的测量,其中尺度测量与碰撞时间(例如,交通工具200到达对象的时间量)成比例。因此,通过执行步骤540-546,处理单元110可以标识出现在所捕获的图像的集合中的交通工具和行人,并导出与交通工具和行人相关联的信息(例如,位置、速度、大小)。基于标识和导出的信息,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5A所描述的。
在步骤548,处理单元110可以执行对一个或多个图像的光流分析,以降低检测到“误命中率”和未命中表示交通工具或行人的候选对象的概率。光流分析可以指,例如,在与其他交通工具和行人相关联的一个或多个图像中分析相对于交通工具200的、不同于道路表面运动的运动模式。处理单元110可以通过观察跨不同时间捕获的多个图像帧的对象的不同位置来计算候选对象的运动。处理单元110可以使用位置和时间值作为数学模型的输入来计算候选对象的运动。因此,光流分析可以提供检测交通工具200附近的交通工具和行人的另一方法。处理单元110可以结合步骤540-546执行光流分析,从而为检测交通工具和行人提供冗余,并增加系统100的可靠性。
图5C是示出符合所公开的实施例的用于检测一组图像中的道路标记和/或车道几何信息的示例性过程500C的流程图。处理单元110可以执行单目图像分析模块402以实现过程500C。在步骤550,处理单元110可以通过扫描一个或多个图像来检测一组对象。为了检测具有车道标记、车道几何信息和其他有关道路标记的段,处理单元110可以对该组对象进行过滤以排除那些被确定为无关的对象(例如,小坑洞、小岩石等)。在步骤552,处理单元110可以将在步骤550中检测到的属于相同道路标记或车道标记的段编组在一起。基于编组,处理单元110可以形成用于表示检测到的段的模型,诸如数学模型。
在步骤554,处理单元110可以构造与所检测的段相关联的一组测量。在一些实施例中,处理单元110可以创建所检测的段从图像平面到真实世界平面的投影。可以使用具有与物理属性(诸如检测到的道路的位置、坡度、曲率和曲率导数)相对应的系数的三次多项式来表征投影。在生成投影时,处理单元110可以考虑道路表面的变化以及与交通工具200相关联的俯仰和滚转速率。此外,处理单元110可以通过分析存在于道路表面上的位置和运动线索来对道路标高建模。进一步,处理单元110可以通过跟踪一个或多个图像中的一组特征点来估计与交通工具200相关联的俯仰和滚转速率。
在步骤556,处理单元110可以通过例如跨连续图像帧跟踪所检测的段并且累积与所检测的段相关联的逐帧数据来执行多帧分析。当处理单元110执行多帧分析时,在步骤554构造的该组测量可以变得更可靠并且与越来越高的置信度水平相关联。因此,通过执行步骤550-556,处理单元110可以标识出现在该组所捕获的图像内的道路标记,并导出车道几何信息。基于标识和导出的信息,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5A所描述的。
在步骤558,处理单元110可以考虑附加信息源,以在交通工具200的周围情境中进一步形成交通工具200的安全模型。处理单元110可以使用安全模型来定义其中系统100可以以安全方式执行交通工具200的自主控制的情境。为了形成安全模型,在一些实施例中,处理单元110可以考虑其他交通工具的位置和运动、检测到的道路边缘和障碍物,和/或从地图数据(诸如,来自地图数据库160的数据)中提取的一般道路形状描述。通过考虑附加的信息源,处理单元110可以提供用于检测道路标记和车道几何形状的冗余,并提高系统100的可靠性。
图5D是示出符合所公开的实施例的用于检测一组图像中的交通灯的示例性过程500D的流程图。处理单元110可以执行单目图像分析模块402以实现过程500D。在步骤560,处理单元110可以扫描该组图像并标识出现在图像中可能包括交通灯的位置处的对象。例如,处理单元110可以过滤所标识的对象以构造候选对象集合,排除那些不太可能对应于交通灯的对象。过滤可以基于与交通灯相关联的各种特性来完成,这些特性诸如形状、尺寸、纹理、位置(例如,相对于交通工具200),等等。此类属性可以基于交通灯和交通控制信号的多个示例,并存储在数据库中。在一些实施例中,处理单元110可以对反映可能的交通灯的候选对象集合执行多帧分析。例如,处理单元110可以跨连续图像帧跟踪候选对象,估计候选对象的真实世界位置,并过滤掉正在移动的那些对象(它们不太可能是交通灯)。在一些实施例中,处理单元110可以对候选对象执行颜色分析,并标识检测到的颜色出现在可能的交通灯内部的相对位置。
在步骤562,处理单元110可以分析交叉路口的几何形状。分析可以基于以下各项的任意组合:(i)在交通工具200的任一侧检测到的车道的数量,(ii)道路上检测到的标记(诸如箭头标记),以及(iii)从地图数据(诸如来自地图数据库160的数据)中提取的交叉路口的描述。处理单元110可以使用从单目分析模块402的执行中导出的信息来进行分析。此外,处理单元110可以确定在步骤560检测到的交通灯和出现在交通工具200附近的车道之间的对应关系。
当交通工具200逐渐接近交叉路口时,在步骤564,处理单元110可以更新与分析的交叉路口几何形状和检测到的交通灯相关联的置信水平。例如,估计出现在交叉路口的交通灯的数量与实际出现在交叉路口的交通灯的数量进行比较可能会影响置信水平。因此,基于置信水平,处理单元110可以将控制委托给交通工具200的驾驶员,以改善安全状况。通过执行步骤560-564,处理单元110可以标识出现在捕获的图像集合内的交通灯,并分析交叉路口几何信息。基于标识和分析,处理单元110可以在交通工具200中引起一个或多个导航响应,如上文结合图5A所描述的。
图5E是示出符合所公开的实施例的用于基于交通工具路径在交通工具200中引起一个或多个导航响应的示例性过程500E的流程图。在步骤570,处理单元110可以构造与交通工具200相关联的初始交通工具路径。可以使用以坐标(x,z)表示的一组点来表示交通工具路径,并且该组点中的两个点之间的距离di可能落在1到5米的范围内。在一个实施例中,处理单元110可以使用两个多项式(例如左道路多项式和右道路多项式)来构造初始交通工具路径。处理单元110可以计算两个多项式之间的几何中点,并将所得到的交通工具路径中包括的每个点以预定的偏移(例如,智能车道偏移)进行偏移――如果有预定的偏移的话(偏移的零值可以对应于在车道中间的行驶)。偏移可以在垂直于交通工具路径中任意两点之间的段的方向上。在另一实施例中,处理单元110可以使用一个多项式和估计的车道宽度来将交通工具路径的每个点偏移估计车道宽度的一半加上预定的偏移(例如,智能车道偏移)。
在步骤572,处理单元110可以更新在步骤570构建的交通工具路径。处理单元110可以使用更高的分辨率重构在步骤570构建的交通工具路径,使得表示交通工具路径的该组点中的两个点之间的距离dk小于上文描述的距离di。例如,距离dk可能落在0.1米到0.3米的范围内。处理单元110可以使用抛物线样条算法重构交通工具路径,抛物线样条算法可以产生与交通工具路径的总长度相对应的累计距离向量S(即,基于表示交通工具路径的该组点)。
在步骤574,处理单元110可以基于在步骤572构建的经更新的交通工具路径来确定前瞻点(以坐标表示为(xl,zl))。处理单元110可以从累计距离向量S中提取前瞻点,并且前瞻点可以与前瞻距离和前瞻时间相关联。前瞻距离可以具有范围为10到20米的下限,可以被计算为交通工具200的速度与前瞻时间的乘积。例如,随着交通工具200的速度减小,前瞻距离也可能减小(例如,直到前瞻距离到达下限)。前瞻时间的范围为从0.5秒至1.5秒,可以与一个或多个控制回路(诸如航向误差跟踪控制回路)的增益成反比,该一个或多个控制回路与在交通工具200中引起导航响应相关联。例如,航向误差跟踪控制回路的增益可能取决于偏航率回路的带宽、转向致动器回路、车辆横向动力学等。因此,航向误差跟踪控制回路的增益越高,前瞻时间越短。
在步骤576,处理单元110可以基于在步骤574确定的前瞻点来确定航向误差和偏航率命令。处理单元110可以通过计算前瞻点的反正切(例如,arctan(xl/zl))来确定航向误差。处理单元110可以将偏航率命令确定为航向误差和高水平控制增益的乘积。如果前瞻距离并非处于下限,则高水平控制增益可以等于:(2/前瞻时间)。否则,高水平控制增益可能等于:(2*交通工具200的速度/前瞻距离)。
图5F是示出了符合所公开的实施例的用于确定领先交通工具是否正在改变车道的示例性过程500F的流程图。在步骤580,处理单元110可以确定与领先交通工具(例如,在交通工具200前面行驶的交通工具)相关联的导航信息。例如,处理单元110可以使用上文结合图5A和图5B所描述的技术来确定领先交通工具的位置、速度(例如,方向和速率)和/或加速度。处理单元110也可以使用上文结合图5E描述的技术来确定一个或多个道路多项式、(与交通工具200相关联的)前瞻点和/或蜗牛踪迹(snail trail)(例如,描述由领先交通工具采取的路径的一组点)。
在步骤582,处理单元110可以分析在步骤580确定的导航信息。在一个实施例中,处理单元110可以计算蜗牛踪迹和道路多项式(例如,沿着踪迹)之间的距离。如果沿着踪迹的该距离的变化超过预定阈值(例如,在笔直道路上为0.1米到0.2米,在中等弯曲的道路上为0.3米到0.4米,并且在具有急弯的道路上为0.5米到0.6米),则处理单元110可以确定领先交通工具可能正在改变车道。在其中检测到多个交通工具在交通工具200前面行驶的情况下,处理单元110可以比较与每个交通工具相关联的蜗牛踪迹。基于该比较,处理单元110可以确定蜗牛踪迹与其他交通工具的蜗牛踪迹不匹配的交通工具可能正在改变车道。处理单元110可以附加地将(与领先交通工具相关联的)蜗牛踪迹的曲率与该领先交通工具正在其中行驶的道路段的预期曲率进行比较。预期曲率可以从地图数据(例如,来自地图数据库160的数据)、从道路多项式、从其他交通工具的蜗牛踪迹、从关于道路的先前知识等等中提取。如果蜗牛踪迹的曲率与道路段的预期曲率的差超过预定阈值,则处理单元110可以确定领先交通工具可能正在改变车道。
在另一实施例中,处理单元110可以在特定时间段(例如,0.5秒到1.5秒)内将领先交通工具的瞬时位置与(与交通工具200相关联的)前瞻点进行比较。如果领先交通工具的瞬时位置和前瞻点之间的距离在特定时间时段期间变化,且累计变化总和超过预定阈值(例如,在直线道路上为0.3米至0.4米,在中等弯曲的道路上为0.7米至0.8米,在具有急弯的道路上为1.3米至1.7米),则处理单元110可以确定在前交通工具可能在改变车道。在另一个实施例中,处理单元110可以通过将沿着蜗牛踪迹行驶的横向距离与蜗牛踪迹的预期曲率进行比较来分析该踪迹的几何形状。预期曲率半径可以根据(δz 2+δx 2)/2/(δx)来计算,其中δx表示横向行驶距离,并且δz表示纵向行驶距离。如果横向行驶距离与预期曲率之间的差超过预定阈值(例如,500米到700米),则处理单元110可以确定领先交通工具可能在改变车道。在另一实施例中,处理单元110可以分析领先交通工具的位置。如果领先交通工具的位置遮挡了道路多项式(例如,领先交通工具覆盖在道路多项式之上),则处理单元110可以确定领先交通工具可能正在改车道。如果领先交通工具的位置使得在领先交通工具前面检测到另一交通工具并且两交通工具的蜗牛踪迹不平行,则处理单元110可以确定(更近的)领先交通工具可能正在改变车道。
在步骤584,处理单元110可以基于在步骤582执行的分析来确定领先交通工具200是否正在改变车道。例如,处理单元110可以基于在步骤582执行的各个分析的加权平均值来作出确定。在此类方案下,例如,由处理单元110基于特定类型的分析而进行的、领先交通工具可能正在改变车道的决策可以被分配值“1”(并且“0”用于表示领先交通工具不可能正在改变车道的确定)。在步骤582执行的不同分析可以被分配不同的权重,并且所公开的实施例不限于分析和权重的任何特定组合。此外,在一些实施例中,分析可以利用经训练的系统(例如,机器学习或深度学习系统),该经训练的系统可以例如基于在当前位置捕获的图像估计交通工具当前位置前面的未来路径。
图6是示出了符合所公开的实施例的用于基于立体图像分析来引起一个或多个导航响应的示例性过程600的流程图。在步骤610,处理单元110可以经由数据接口128接收第一和第二多个图像。例如,包括在图像采集单元120中的相机(诸如具有视场202的图像捕获设备122和具有视场204的图像捕获设备124)可以捕获交通工具200前方区域的第一和第二多个图像,并通过数字连接(例如,USB、无线、蓝牙等)将它们传送到处理单元100。在一些实施例中,处理单元110可以经由两个或更多个数据接口接收第一和第二多个图像。所公开的实施例不限于任何特定的数据接口配置或协议。
在步骤620,处理单元110可以执行立体图像分析模块404,来对第一和第二多个图像执行立体图像分析,以创建交通工具前方道路的3D地图,并检测图像内的特征,诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、道路危险等等。立体图像分析可以以与上文结合图5A-图5D所描述的步骤相类似的方式来执行。例如,处理单元110可以执行立体图像分析模块404以检测第一和第二多个图像内的候选对象(例如,交通工具、行人、道路标记、交通灯、道路危险等),基于各种标准过滤掉候选对象的子集,并且执行多帧分析,构造测量,并确定剩余候选对象的置信水平。在执行以上步骤时,处理单元110可以考虑来自第一和第二多个图像两者的信息,而不是仅仅考虑来自一个图像集合的信息。例如,处理单元110可以分析出现在第一和第二多个图像两者中的候选对象的像素级数据(或来自两个被捕获的图像流之中的其他数据子集)的差异。作为另一示例,处理单元110可以通过观察出现在多个图像中的一者而不出现在另一者中的对象,或者相对于其他差异(其可能相对于出现在两个图像流中的对象而存在),来估计候选对象的位置和/或速度(例如,相对于交通工具200)。例如,可以基于与出现在这些图像流中一者或两者中的对象相关联的特征的轨迹、位置、移动特征等来确定相对于交通工具200的位置、速度和/或加速度。
在步骤630,处理单元110可以执行导航响应模块408,以基于在步骤620执行的分析和如上文结合图4所描述的技术来在交通工具200中引起一个或多个导航响应。导航响应可以包括例如转弯、车道偏移、加速度变化、速度变化、制动等等。在一些实施例中,处理单元110可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。此外,多个导航响应可以同时发生、按顺序发生或以这些方式的任何组合来发生。
图7是示出符合所公开的实施例的基于对三个图像集合的分析来引起一个或多个导航响应的示例性过程700的流程图。在步骤710,处理单元110可以经由数据接口128接收第一、第二和第三多个图像。例如,包括在图像采集单元120中的相机(诸如具有视场202的图像捕获设备122、具有视场204的图像捕获设备124和具有视场206的图像捕获设备126)可以捕获交通工具200前方和/或侧面区域的第一、第二和第三多个图像,并通过数字连接(例如,USB、无线、蓝牙等)将它们传送到处理单元110。在一些实施例中,处理单元110可以经由三个或更多个数据接口接收第一、第二和第三多个图像。例如,图像捕获设备122、124、126中的每一个可以具有用于向处理单元110传输数据的相关联的数据接口。所公开的实施例不限于任何特定的数据接口配置或协议。
在步骤720,处理单元110可以分析第一、第二和第三组图像,以检测图像内的特征,诸如车道标记、交通工具、行人、道路标志、公路出口匝道、交通灯、道路危险等等。分析可以以类似于上文结合图5A-图5D和图6描述的步骤的方式执行。例如,处理单元110可以对第一、第二和第三多个图像中的每一者执行单目图像分析(例如,经由执行单目图像分析模块402,并且基于上文结合图5A-图5D描述的步骤)。替代地,处理单元110可以对第一和第二多个图像、第二和第三多个图像、和/或第一和第三多个图像执行立体图像分析(例如,经由执行立体图像分析模块404并基于上文结合图6描述的步骤)。可以组合与第一、第二和/或第三多个图像的分析相对应的经处理的信息。在一些实施例中,处理单元110可以执行单目图像分析和立体图像分析的组合。例如,处理单元110可以对第一多个图像执行单目图像分析(例如,经由执行单目图像分析模块402)并对第二和第三多个图像执行立体图像分析(例如,经由执行立体图像分析模块404)。包括它们各自的位置和视场202、204和206的图像捕获设备122、124和126的配置可以影响对第一、第二和第三多个图像进行的分析的类型。所公开的实施例不限于图像捕获设备122、124和126的特定配置,或对第一、第二和第三多个图像进行的分析的类型。
在一些实施例中,处理单元110可以基于在步骤710和720采集和分析的图像对系统100执行测试。这种测试可以提供针对图像捕获设备122、124和126的某些配置的系统100的总体性能的指标。例如,处理单元110可以确定“误命中率”(例如,系统100错误地确定交通工具或行人的存在的情况)与“未命中率”的比例。
在步骤730,处理单元110可以基于从第一、第二和第三多个图像中的两者导出的信息来在交通工具200中引起一个或多个导航响应。对第一、第二和第三多个图像中的两者的选择可以取决于各种因素,诸如例如在多个图像中的每一者中检测到的对象的数量、类型和大小。处理单元110还可以基于图像质量和分辨率、图像中反映的有效视场、所捕获帧的数量、一个或多个感兴趣对象实际出现在帧中的程度(例如,对象在其中出现的帧的百分比、对象出现在每个此类帧中的比例等)等等来进行选择。
在一些实施例中,处理单元110可以通过确定从一个图像源导出的信息与从其他图像源导出的信息的一致程度来选择从第一、第二和第三多个图像中的两者导出的信息。例如,处理单元110可以组合从图像捕获设备122、124和126中的每一个导出(无论是通过单目分析、立体分析还是两者的任意组合)的经处理的信息,并确定跨从图像捕获设备122、124和126中的每一个图像捕获设备捕获的图像相一致的视觉指示符(例如,车道标记、检测到的交通工具及其位置和/或路径、检测到的交通灯等)。处理单元110还可以排除跨所捕获的图像不一致的信息(例如,正在改变车道的交通工具、指示交通工具过于靠近交通工具200的车道模型等)。因此,处理单元110可以基于一致和不一致信息的确定来选择从第一、第二和第三多个图像中的两者导出的信息。
导航响应可以包括例如转弯、车道偏移、加速度变化等。处理单元110可以基于在步骤720处执行的分析和如上文结合图4所描述的技术来引起一个或多个导航响应。处理单元110也可以使用从速度和加速度模块406的执行中导出的数据来引起一个或多个导航响应。在一些实施例中,处理单元110可以基于交通工具200与在第一、第二和第三多个图像中的任一者内检测到的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可以同时发生、按顺序发生或以以上方式的任何组合来发生。
强化学习和经训练的导航系统
以下章节讨论自主驾驶以及实现交通工具自主控制的系统和方法,无论该控制是完全自主的(自驾驶交通工具)还是部分自主的(例如,一个或多个驾驶员辅助系统或功能)。如图8所示,可以将自主驾驶任务划分为三个主要模块,包括感测模块801、驾驶策略模块803和控制模块805。在一些实施例中,模块801、803和805可以存储在系统100的存储器单元140和/或存储器单元150中,或者模块801、803和805(或其部分)可以距系统100远程地存储(例如,存储在系统100经由例如无线收发器172可访问的服务器中)。此外,本文公开的任何模块(例如,模块801、803和805)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。
感测模块801可以处置与感测主交通工具环境中的导航状态有关的各种任务,该感测模块可以使用处理单元110来实现。此类任务可能依赖于来自与主交通工具相关联的各种传感器和传感系统的输入。这些输入可以包括来自一个或多个记载相机的图像或图像流、GPS位置信息、加速计输出、用户反馈或到一个或多个用户接口设备、无线电检测与测距、光检测与测距等的用户输入。包括来自相机和/或任何其他可用传感器的感测可以连同地图信息一起被收集、分析并且形成“感测状态”,该感测状态描述从主交通工具环境中的场景中提取的信息。感测状态可以包括与目标交通工具、车道标记、行人、交通灯、道路几何形状、车道形状、障碍物、到其他对象/交通工具的距离、相对速度、相对加速度以及任何其他潜在感测信息相关的感测信息。可以实现有监督机器学习,以便基于提供到感测模块801的感测数据产生感测状态输出。感测模块的输出可以表示主交通工具的感测到的导航“状态”,该状态可以被传递到驾驶策略模块803。
虽然可以基于从与主交通工具相关联的一个或多个相机或图像传感器接收到的图像数据形成感测状态,但可以使用任何合适的传感器或传感器组合形成用于在导航中使用的感测状态。在一些实施例中,可以在不依赖捕获的图像数据的情况下形成感测状态。事实上,本文描述的导航原理中的任何导航原理均可以可适用于基于所捕获的图像数据形成的感测状态以及使用其他非基于图像的传感器形成的感测状态。感测状态也可以经由主交通工具外部的源确定。例如可以完全或部分地基于从远离主交通工具的源接收到的信息(例如,基于从其他交通工具共享的、从中央服务器共享的、或来自与主交通工具的导航状态相关的任何其他信息源的传感器信息、经处理的状态信息等)来形成感测状态。
驾驶策略模块803可以实现期望的驾驶策略,以便决定主交通工具响应于感测到的导航状态而要采取的一个或多个导航动作,该驾驶策略模块803在下文更详细地讨论并且可以使用处理单元110来实现。如果在主交通工具的环境中不存在其他代理(例如,目标交通工具或行人),则可以以相对简单的方式处置到驾驶策略模块803的感测状态输入。当感测状态需要与一个或多个其他代理协商时,任务变得更加复杂。用于生成驾驶策略模块803的输出的技术可以包括强化学习(下文将更详细地讨论)。驾驶策略模块803的输出可以包括用于主交通工具的至少一个导航动作,并且可以包括期望加速度(其可以转换为主交通工具的经更新的速度)、主交通工具的期望偏航率、期望轨迹,以及其他潜在的期望导航动作。
基于来自驾驶策略模块803的输出,控制模块805可以形成用于与主交通工具相关联的一个或多个致动器或受控设备的控制指令,该控制模块805也可以使用处理单元110来实现。此类致动器和设备可以包括可以作为与主交通工具相关联的导航操作的一部分而被控制的加速器、一个或多个转向控制设备、制动器、信号发射器、显示器或任何其他致动器或设备。控制理论的各方面可以用于生成控制模块805的输出。控制模块805可以负责形成并向主交通工具的可控组件输出指令,以便实现驾驶策略模块803的期望导航目标或要求。
回到驾驶策略模块803,在一些实施例中,通过强化学习训练的经训练的系统可以用于实现驾驶策略模块803。在其他实施例中,可以通过使用指定的算法“手动”解决在自主导航期间可能出现的各种场景而在没有机器学习方法的情况下实现驾驶策略模块803。然而,这种方法虽然可行,但可能导致过于简单并且可能缺乏基于机器学习的经训练的系统的灵活性的驾驶策略。例如,经训练的系统可以更好地被装配成用于处置复杂的导航状态,并且可以更好地确定出租车是在停车还是在停下以接载或放下乘客;确定行人是否打算在主交通工具前方穿过街道;平衡具有防御性的其他驾驶员的意外行为;在涉及目标交通工具和/或行人的密集交通中进行协商;决定何时暂停某些导航规则或扩充其他规则;对未感知到但可预期的状况(例如,行人是否会从汽车或障碍物后面出现)进行预期;等。基于强化学习的经训练的系统也可以更好地被装配成用于解决连续的且高维的状态空间以及连续的动作空间。
使用强化学习的系统训练可能涉及学习驾驶策略,以便从感知状态映射到导航动作。驾驶策略是函数π:S→A,其中S是一组状态并且是动作空间(例如,期望速度、加速度、偏航命令等)。状态空间为S=Ss x Sp,其中Ss是感测状态并且Sp是策略保存的状态的附加信息。以离散时间间隔工作,在时间t,可以观察当前状态st∈S,并且可以应用策略来获得期望的动作at=π(st)。
系统可以通过暴露于各种导航状态进行训练,使系统应用策略,提供回报(基于被设计成用于对理想导航行为进行回报的回报函数)。基于回报反馈,在产生符合期望的导航动作时,系统可以“学习”策略并变成经训练的。例如,学习系统可以观察当前状态st∈S并基于策略决定动作at∈A。基于所决定的动作(以及动作的实现),环境将移动到下一状态st∈S以供学习系统观察。对于响应于观察到的状态而形成的每个动作,对学习系统的反馈是回报信号r1,r2,...。
强化学习(RL)的目标是发现策略π。通常假设,在时间t,存在测量处于状态st并采取动作at的瞬时质量的回报函数rt。然而,在时间t采取动作at影响环境并且由此影响未来状态的值。因此,在决定采取何种动作时,不仅应考虑当前回报,还应考虑未来回报。在一些情况下,当系统确定如果现在采取回报较低的选项则将来可能实现更高的回报时,系统应采取特定的动作,即使它与低于另一个可用选项的回报相关联。为了将其形式化,观察策略π和初始状态s引发上的分布,其中,向量(r1,…,rT)的概率是代理开始于状态s0=s并从此遵循策略π的情况下观察回报r1,…,rT的概率。初始状态s的值可以定义为:
代替于将时间范围限制为T,未来回报可能会被打折以对于一些固定的γ∈(0,1)定义:
在任何情况下,最优策略都是以下的解
其中期望值超过初始状态s。
有几种可能的训练驾驶策略系统的方法。例如,可以使用模仿方法(例如,行为克隆),其中系统从状态/动作对学习,其中动作是好的代理(例如,人)响应于特定观察到的状态而选择的动作。假设对人类驾驶员进行观察。通过这种观察,许多形式(st,at)(其中st是状态,并且at人类驾驶员的动作)的示例可以被获得、观察和用作对驾驶策略系统进行训练的基础。例如,监督学习可以用于学习策略π,以使得π(st)≈at。存在这种方法的许多潜在优势。首先,不需要定义回报函数。其次,学习是有监督的,并且离线发生(在学习过程中不需要应用代理)。这种方法的缺点是,不同的人类驾驶员,甚至相同的人类驾驶员,在他们的策略选择中是不确定的。因此,学习对其而言||π(st)-at||非常小的函数通常是不可行的。并且,即使是小误差也可能随着时间的推移而累积,从而产生大误差。
另一种可能采用的技术是基于策略的学习。这里,策略可以用参数形式表示,并使用合适的优化技术(例如,随机梯度下降)直接优化。方法用于直接解决中给出的问题。当然存在很多方法来解决这个问题。这种方法的一个优点是它直接应付问题,因此通常会引起好的实际结果。一个潜在的缺点是,它通常需要“策略上(on-policy)”训练,即π的学习是迭代过程,在迭代j处我们有非完美策略πj,并且为了构建下一个策略πj,我们必须在基于πj进行动作的同时与环境交互。
系统也可以通过基于值的学习(学习Q或V函数)进行训练。假设可以学习到最优值函数V*的好的近似。可以构造最优策略(例如,通过依赖贝尔曼方程)。一些版本的基于值的学习可以离线实现(称为“策略外(off-policy)”训练)。基于值的方法的一些缺点可能源于其对马尔可夫假设的强依赖性和所要求的对复杂函数的近似(对值函数进行近似可能比直接对策略进行近似更困难)。
另一种技术可能包括基于模型的学习和规划(学习状态转换的概率并解决发现最优V的优化问题)。这些技术的组合也可以用于训练学习系统。在这种方法中,可以学习过程的动力学,即,采用(st,at)并且产生下一状态st+1上的分布的函数。一旦学习了该函数,就可以解决优化问题,以发现值为最优的策略π。这就是所谓的“规划”。这种方法的一个优点是,学习部分是有监督的并可以通过观察三元组(st,at,st+1)而离线地被应用。与“模仿”方法类似,这种方法的一个缺点可能是学习过程中的小误差可能会累积并产生执行不当的策略。
训练驾驶策略模块803的另一种方法可以包括将驾驶策略函数分解为语义上有意义的分量。这允许手动实现策略的部分,其可以确保策略的安全性,并允许使用强化学习技术实现策略的其他部分,其可实现对多种场景的适应性、防御/攻击行为之间的类人平衡以及与其他驾驶员的类人协商。从技术角度来看,强化学习方法可以组合几种方法,并且提供易处理的训练程序,其中训练中的大多数可以使用记录的数据或者自构建的模拟器执行。
在一些实施例中,驾驶策略模块803的训练可以依赖于“选项”机制。为了说明,考虑针对两车道公路的驾驶策略的简单场景。在直接RL方法中,将状态映射到的策略π,其中π(s)的第一分量是期望的加速命令,π(s)的第二分量是偏航率。在经修改的方法中,可以构造以下策略:
自动巡航控制(ACC)策略oACC:S→A:该策略始终输出偏航率并且仅改变速度,以实现平稳且无事故的驾驶。
ACC+左策略oL:S→A:该策略的纵向命令与ACC命令相同。偏航率是使交通工具朝向左车道中间居中的直接实现,同时确保安全的横向移动(例如,如果左侧有车,则不要向左移动)。
ACC+右策略oR:S→A:与oL相同,但交通工具可朝向右侧车道的中间居中。
这些策略可以称为“选项”。依靠这些“选项”,可以学习选择选项的策略πo:S→O,其中O是一组可用选项。在一个情形中,O={oACC,oL,oR}。选项选择器策略πo通过为每个s设置来定义实际策略π:S→A。
在实践中,策略函数可以分解为选项图表901,如图9所示。另一示例选项图表1000如图10所示。选项图可以表示组织为有向无环图(DAG)的分层决策集合。存在称为图表的根节点903的特殊节点。此节点没有传入节点。决策过程从根节点开始遍历通过图表,直到到达“叶”节点,“叶”节点指没有传出决策线的节点。如图9所示,例如,叶节点可以包括节点905、907和909。在遇到叶节点时,驾驶策略模块803可以输出与关联于叶节点的期望导航动作相关联的加速和转向命令。
诸如节点911、913和915等的内部节点例如可能引起在其可用选项中选择子的策略的实现。内部节点的可用子集合的包括经由决策线与特定内部节点相关联的所有节点。例如,在图9中被指定为“并道”的内部节点913包括三个子节点909、915和917(分别为“停留”、“右超车”和“左超车”),每个子节点通过决策线连接到节点913。
通过使得节点能够调整其在选项图表的层级结构中的位置,可以获得决策作出系统的灵活性。例如,节点中的任何一个都可以被允许声明自己为“关键的”每个节点都可以实现函数“是关键的”,如果节点处于其策略实现的关键部分,则该函数将输出“真”。例如,负责超车的节点可以在操纵过程中声明自己是关键的。这可以对节点u的可用子集合施加约束,该可用子集合可以包括作为节点u的子的所有节点v,并且对于这些节点v,存在从v到穿过指定为关键的所有节点的叶节点的路径。此类方法一方面可以允许在每个时步对在图表上期望路径的声明,而另一方面可以保持策略的稳定性,特别是在策略的关键部分正在实现时。
通过定义选项图表,学习驾驶策略π:S→A的问题可以被分解为针对图表的每个节点定义策略的问题,其中内部节点处的策略应该从可用子节点中选择。对于一些节点,可以手动实现相应的策略(例如,通过if-then(如果-则)类型算法指定响应于观察到的状态的一组动作),而对于其他节点,可以使用通过强化学习构建的经训练的系统来实现策略。手动或经训练/学习的方法之间的选择可能取决于与任务相关联的安全方面并且取决于其相对简单性。选项图表可以以使得节点中的一些节点易于实现而其他节点可以依赖于经训练的模型的方式来实现。此类方法可以确保系统的安全操作。
以下讨论提供了关于图9的选项图表在驾驶策略模块803内的作用的进一步细节。如上文所讨论的,到驾驶策略模块的输入是“感测状态”,它总结了例如从可用传感器获得的环境地图。驾驶策略模块803的输出是定义作为优化问题的解决方案的轨迹的一组期望(可选地,与一组硬约束一起)。
如上文所描述的,选项图表表示组织为DAG的分层决策集合。存在被称为图表的“根”的特殊节点。根节点是没有传入边缘(例如决策线)的仅有的节点。决策过程从根节点开始遍历通过图表,直到到达“叶”节点,即没有传出边缘的节点。每个内部节点都应该实现从其可用子中挑选子的策略。每个叶节点都应该实现基于从根到叶的整个路径定义期望集合(例如,主交通工具的导航目标集合)的策略。期望集合与基于感测状态直接定义的硬约束集合一起建立了优化问题,该优化问题的解决方案是交通工具的轨迹。硬约束可以被利用来进一步提高系统的安全性,并且期望可以用于提供系统的驾驶舒适性和类人驾驶行为。作为优化问题解决方案提供的轨迹进而定义应提供给转向、制动和/或引擎致动器以完成轨迹的命令。
回到图9,选项图表901表示针对两车道公路的选项图表,包括合并车道(意味着在某些点处,第三车道被合并到公路的右车道或左车道中)。根节点903首先决定主交通工具是处于平坦道路场景还是逐渐接近并道场景。这是可以基于感测状态实现的决策的示例。平坦道路节点911包括三个子节点:停留节点909、左超车节点917和右超车节点915。停留指主交通工具希望保持在同一车道上驾驶的情况。停留节点是叶节点(无传出边缘/线)。因此,停留节点定义了期望集合。它定义的第一期望可以包括期望的横向位置——例如,尽可能靠近当前行驶车道的中心。也可以存在平稳导航的期望(例如,在预定义或允许的最大加速度内)。停留节点也可以定义主交通工具如何对其他交通工具作出反应。例如,停留节点可以检查感测到的目标交通工具,并为每个检测到的目标交通工具分配语义含义,该语义含义可以转换为轨迹的分量。
可以向主交通工具的环境中的目标交通工具分配各种语义。例如,在一些实施例中,语义可以包括以下规定中的任何规定:1)不相关:指示场景中的感测到的交通工具当前是不相关的;2)下一车道:指示感测到的交通工具在相邻车道中,并且应该保持相对于该交通工具的适当偏移(精确偏移可以在优化问题中计算,该优化问题在给定期望和硬约束的情况下构造轨迹,并且精确偏移潜在地与交通工具相关——选项图表的停留叶设置目标交通工具的语义类型,该语义类型定义了相对于目标交通工具的期望);3)让路:主交通工具将尝试例如通过降低速度来让路给感测到的目标交通工具(尤其是当主交通工具确定目标交通工具可能要切入主交通工具的车道时);4)取路:主交通工具将尝试通过例如提高速度来取得通行权;5)跟随:主交通工具希望跟随在该目标交通工具之后保持平稳驾驶;6)左超车/右超车:这意味着主交通工具希望发起向左车道或向右车道的车道改变。左超车节点917和右超车节点915是尚未定义期望的内部节点。
选项图表901中的下一个节点是选择间隙节点919。此节点可负责选择主交通工具期望进入的特定目标车道中的两个目标交通工具之间的间隙。通过针对j的某个值选择形式为IDj的节点,主交通工具到达指定了轨迹优化问题的期望的叶——例如,主交通工具希望进行操纵以到达所选间隙。此类操纵可能涉及首先在当前车道加速/制动并且随后在适当的时间驶向目标车道,以进入选择的间隙。如果选择间隙节点919无法找到适当的间隙,则它将移动到中止节点921,中止节点921定义了返回当前车道中心并取消超车的期望。
返回并道节点913,当主交通工具逐渐接近并道时,它具有可以取决于特定情况的几个选项。例如,如图11A所示,主交通工具1105正在沿着两车道道路行驶,其中在该两车道道路的主车道或并道车道1111中均未检测到其他目标交通工具。在这种情况下,在到达并道节点913时,驾驶策略模块803可以选择停留节点909。也就是说,没有目标交通工具被检测为并道到道路上的情况下,保持在其当前车道内可能被期望。
在图11B中,情况略有不同。在此,主交通工具1105感测到从并道车道1111进入主车道1112的一个和多个目标交通工具1107。在这种情况下,一旦驾驶策略模块803遇到并道节点913,它可以选择发起左超车操纵以避免并道情况。
在图11C中,主交通工具1105遇到从并道车道1111进入主车道1112的一个或多个目标交通工具1107。主交通工具1105还检测在与主交通工具的车道相邻的车道中行驶的目标交通工具1109。主交通工具还检测到在与主交通工具1105相同的车道中行驶的一个或多个目标交通工具1110。在这种情况下,驾驶策略模块803可以决定调整主交通工具1105的速度以让路给目标交通工具1107并且前进到目标交通工具1115之前。这可以通过例如进展到选择间隙节点919来实现,选择间隙节点919进而将选择ID0(交通工具1107)与ID1(交通工具1115)之间的间隙作为适当的并道间隙。在这种情况下,并道情况的适当间隙定义了轨迹规划器优化问题的目标。
如上文所讨论的,选项图表的节点可以声明自己为“关键”,这可以确保所选选项通过关键节点。在形式上,每个节点可以实现函数IsCritical(是关键的)。在选项图上执行从根到叶的前向传递并解决轨迹规划器的优化问题之后,可以执行从叶回到根的后向传递。沿该后向传递,可以调用传递中的所有节点的IsCritical函数,并且可以保存所有关键节点的列表。在对应于下一时间帧的前向路径中,可能需要驾驶策略模块803选择穿过所有关键节点的从根节点到叶的路径。
图11A-图11C可以用于示出该方法的潜在益处。例如,在发起超车动作并且驾驶策略模块803到达对应于IDk的叶的情况下,当主交通工具处于超车操纵的中间时,不期望选择例如停留节点909。为了避免这种跳跃,IDj节点可以将自身指定为关键的。在操纵期间,可以监控轨迹规划器的成功,如果超车操纵按预期进展,则函数IsCritical将返回“真”值。这种方法可以确保在下一个时间帧内超车操纵将继续(而不是在完成最初选择的操纵之前跳到另一个潜在地不一致的操纵)。另一方面,如果对操纵的监控指示所选操纵没有按照预期进展,或者如果操纵已经变得不必要或不可能,则函数IsCritical可返回“假”值。这可以允许选择间隙节点在下一个时间帧中选择不同的间隙,或完全中止超车操纵。这种方法一方面可以允许在每个时步对选项图表上所期望的路径的声明,另一方面可以有助于在执行的关键部分中的同时提高策略的稳定性。
硬约束可能区别于导航期望,该硬约束将在下文更详细地讨论。例如,硬约束可以通过应用对规划的导航操作进行过滤的添加的层来确保安全驾驶。可以从感测状态确定牵涉的硬约束,这些牵涉的硬约束可手动地而非通过使用建立在强化学习之上的经训练的系统来编程和定义。然而,在一些实施例中,经训练的系统可以学习要应用和遵循的可适用的硬约束。此类方法可以促进驾驶策略模块803达到已经符合可适用的硬约束的所选动作,该方法可以减少或消除可能需要之后修改以符合可适用的硬约束的所选动作。然而,作为冗余安全措施,即使在驾驶策略模块803已被训练为计及预定硬约束的情况下,也可以将硬约束应用于驾驶策略模块803的输出。
存在潜在硬约束的许多示例。例如,硬约束可以结合道路边缘上的护栏来定义。在任何情况下,主交通工具都不被允许通过护栏。此类规则对主交通工具的轨迹引发硬横向约束。硬约束的另一示例可以包括道路颠簸(例如,减速带),道路颠簸可以在颠簸之前和穿过颠簸时引发对驾驶速度的硬约束。硬约束可以被认为是安全关键的,因此,硬约束可以被手动地定义,而不是仅依靠经训练的系统在训练期间学习约束来定义。
与硬约束相比,期望的目标可以是实现或达成舒适驾驶。如上所述,期望的示例可以包括将主交通工具定位在车道内与主交通工具车道中心相对应的横向位置的目标。另一期望可以包括要适配到其中的间隙的ID。注意,不要求主交通工具精确位于车道中心,但是替代地,尽可能靠近车道中心的期望可以确保主交通工具即使在偏离车道中心的情况下也趋向于迁移到车道中心。期望可以不是安全关键的。在一些实施例中,期望可能要求与其他驾驶员和行人协商。用于构造期望的一个方法可以依赖于选项图表,并且在该图表的至少一些节点中实现的策略可以基于强化学习。
对于被实现为基于学习训练的节点的选项图表901或选项图表1000的节点,训练过程可以包括将问题分解为有监督学习阶段和强化学习阶段。在有监督学习阶段,可以学习从(st,at)到的可微映射,使得这可能类似于“基于模型的”强化学习。然而,在网络的前向环路中,可以由实际值st+1代替,因此消除了误差累积的问题。预测的作用是将消息从未来动作传播回到过去动作。在这个意义上,该算法可能是“基于模型的”的强化学习与“基于策略的学习”的组合
在一些场景下可以提供的重要要素是从未来损失/回报回到对动作的决策的可微路径。利用选项图表结构,涉及安全约束的选项的实现通常是不可微的。为了克服这个问题,所学习的策略节点中的子的选择可以是随机的。也就是说,节点可以输出概率向量p,该概率向量p分配在选择特定节点的子的每个子时使用的概率。假设节点有k个子并且使a(1),...,a(k)是从每个子到叶的路径的动作。得到的预测动作因此是这可能得到从动作到p的可区分路径。在实践中,对于i~p,动作a可以被选择为a(i),a与之间的差可以称为加性噪声。
对于给定st,at的情况下对训练,有监督学习可以与真实数据一起使用。为了训练节点的策略,可以使用模拟器。之后,可以使用真实数据完成策略的微调。两个概念可使模拟更逼真。第一,使用模仿,可以使用“行为克隆”范式使用大型真实世界数据集构建初始策略。在一些情况下,得到的代理可能是合适的。在其他情况下,得到的代理至少为道路上的其他代理形成了非常好的初始策略。第二,使用自对弈(self-play),可以使用我们自己的策略可以来增强训练。例如,给定可能遇到的其他代理(汽车/行人)的初始实现,可以基于模拟器对策略进行训练。其他代理中的一些可能会被新策略代替,并且该过程可被重复。因此,策略可以继续改进,因为它应该对具有不同复杂程度的更多种类的其他代理进行响应。
此外,在一些实施例中,系统可以实现多代理方法。例如,系统可以考虑来自各种源的数据和/或从多个角度捕获的图像。此外,一些公开的实施例可以提供能量的经济性,因为可以考虑对不直接涉及主交通工具但可能对主交通工具具有影响的事件的预期,或者,甚至可能导致涉及其他交通工具的不可预测情况的事件的预期也可以是一种考虑因素(例如,无线电检测与测距可能“看穿”领先交通工具和对不可以避免的事件的预期,或者甚至是将影响主交通工具的事件的高可能性)。
具有施加的导航约束的经训练的系统
在自主驾驶的背景下,重要的顾虑是如何确保经训练的导航网络的所学习的策略是安全的。在一些实施例中,可以使用约束来训练驾驶策略系统,使得由经训练的系统选择的动作可以已经计及可适用的安全约束。附加地,在一些实施例中,可以通过将经训练的系统的所选动作传递通过主交通工具环境中的特定感测场景所牵涉的一个或多个硬约束来提供额外的安全层。这种方法可以确保主交通工具采取的动作限于那些被确认为满足可适用的安全约束的动作。
导航系统在其核心处可能包括基于策略函数的学习算法,该策略函数将观察到的状态映射到一个或多个期望动作。在一些实现方式中,学习算法是深度学习算法。期望动作可以包括预计使交通工具的预期回报最大化的至少一个动作。虽然在一些情况下,交通工具采取的实际动作可能对应于期望动作中的一个,但在其他情况下,采取的实际动作可以基于观察到的状态、一个或多个期望动作以及施加在学习导航引擎上的非学习的硬约束(例如,安全约束)来确定。这些约束可以包括各种类型的检测到的对象(例如,目标交通工具、行人、路侧或道路中的静止对象、路侧或道路中的移动对象、护栏等)周围的非驾驶区域。在一些情况下,区域的大小可以基于检测到的对象的检测到的运动(例如,速度和/或方向)而变化。其他约束可以包括当在行人的影响区域内通过时的最大行驶速度、最大减速度(计及主交通工具后面的目标交通工具间距)、在感测到的人行横道或铁路道口处强制停车等。
与通过机器学习训练的系统结合使用的硬约束可能会在自主驾驶中提供一定程度的安全性,该一定程度的安全性可能超过仅基于经训练的系统的输出的可用安全性的程度。例如,可以使用期望的约束集合作为训练指南来训练机器学习系统,并且,因此经训练的系统可以选择响应于计及并遵守可适用的导航约束的限制的感测导航状态的动作。然而,经训练的系统在选择导航动作方面仍具有一些灵活性,并且因此可能存在其中经训练的系统选择的动作可能不严格遵守相关的导航约束的至少一些情况。因此,为了要求选择的动作严格遵守相关的导航约束,经训练的系统的输出可以与使用学习/经训练的框架之外的、确保严格应用相关导航约束的非机器学习组件组合,与使用该非机器学习组件进行比较,利用使用该非机器学习组件来进行过滤,使用该非机器学习组件来进行调整,使用该非机器学习组件来进行修改等。
以下讨论提供了与经训练的系统的以及通过从将经训练的系统与经训练的/学习框架之外的算法组件相组合可能获得的潜在益处(尤其是从安全角度)有关的附加的细节。如所讨论的,策略的强化学习目标可以通过随机梯度提升来优化。目标(例如预期回报)可以被定义为
涉及预期的目标可以用于机器学习场景。然而,此类不受导航约束的目标可能不返回严格受这些约束约束的动作。例如,考虑回报函数,对于该回报函数,就表示要避免的罕见“转弯”事件(例如,事故)的轨迹而言,就其余轨迹而言,学习系统的一个目标可能是学习执行超车操纵。通常情况下,在无事故的轨迹中,会回报成功的、顺利的超车,并且惩罚停留在车道上而未完成超车——因此范围为[-1,1]。如果序列表示事故,则回报-r应该提供足够高的惩罚,以阻碍此类事故的发生。问题是,确保无事故驾驶的r的值应该是多少。
观察事故对的影响是加性项-pr,其中p是具有事故事件的轨迹的概率质量。如果该项是可忽略的,即p<<1/r,那么学习系统可能更倾向于执行事故的策略(或采用总体上鲁莽的驾驶策略),以便以便比以使一些超车操纵不成功完成为代价的更具防御性的策略更频繁地成功完成超车操纵。换言之,如果事故概率最大为p,则r必须被设置成使得r>>1/p。使p极其小(例如,约为p=10-9)可能是符合期望的。因此,r应该是大的。在策略梯度中,可以估计的梯度。以下的引理示出,随机变量的方差随着pr2增长,对于r>>1/p,该方差大于r。因此,估计目标可能是困难的,估计其梯度可能甚至是更困难的。
其中最后的近似值对于情况r≥1/p成立。
这个讨论示出,形式的反对可能无法在不导致方差问题的情况下确保函数安全。针对方差减少的基线减法可能无法对该问题提供足够的补救,因为问题将从的高方差转移到基线常数的同样高的方差,该基线常数的同样高的方差的估计将同样受到数值不稳定性的影响。此外,如果事故的概率为p,则在获得事故事件之前,应该平均对至少1/p个序列进行采样。这意味着对于旨在最小化的学习算法的1/p个样本序列的下限。这个问题的解决方案可以在本文所描述的架构设计中找到,而不是通过数值调节技术。这里的方法基于硬约束应该被注入到学习框架之外的概念。换言之,策略函数可以分解为可学习部分和不可学习部分。形式上,策略函数可以被构造为其中将(不可知的)状态空间映射到期望(例如,期望的导航目标等)的集合,而π(T)将期望映射到轨迹(该轨迹可以决定汽车应该如何在短距离内移动)。函数负责驾驶的舒适性并负责作出策略性决策,策略性决策诸如哪些其他交通工具应被超车或被让路,以及主交通工具在其车道内的期望位置等。从感测到的导航状态到期望的映射是策略该策略可以通过最大化预期回报来从经验中学习。产生的期望可以转换为驾驶轨迹上的成本函数。函数π(T)(不是所学习的函数)可以通过发现轨迹来实现,该轨迹可以使受制于对函数安全的硬约束的成本最小化。该分解可以确保函数安全,同时提供舒适的驾驶。
如图11D所描绘的,双并道导航情况提供了进一步说明这些概念的示例。在双并道中,交通工具从左侧和右侧二者逐渐接近并道区域1130。并且,从每一侧,诸如交通工具1133或交通工具1135之类的交通工具可以决定是否并道到并道区域1130的另一侧的车道中。在繁忙的交通中成功执行双并道可能需要大量的协商技巧和经验,并且可能难以通过列举场景中所有代理可能采取的所有可能轨迹以启发式或蛮力方法执行。在该双并道示例中,可以定义适用于双并道操纵的一组期望 可以是以下集合的笛卡尔积:其中[0,vmax]是主交通工具的期望目标速度,L={1,1.5,2,2.5,3,3.5,4}是车道单元中的期望横向位置,其中整数表示车道中心,小数表示车道边界,并且{g,t,o}是分配给n个其他交通工具中的每一个的分类标签。如果主交通工具将让路给其他交通工具,则该其他交通工具可以被分配有“g”;如果主交通工具将相对其他交通工具取路,则该其他交通工具可以被分配有“t”;或者如果主交通工具将相对其他交通工具保持偏移距离,则该其他交通工具可以被分配有“o”。
下文是期望的集合如何转换为驾驶轨迹上的成本函数的描述。驾驶轨迹可以表示为(x1,y1),...,(xk,yk),其中(xi,yi)为τ·i时主交通工具(在自我中心单元中)的(横向、纵向)位置。在一些实验中,τ=0.1秒且k=10。当然,也可以选择其他值。分配给轨迹的成本可能包括分配给期望速度、横向位置和分配给其他n个交通工具的标签的各个成本的加权和。
给定期望速度v∈[0,vmax].,则与速度相关联的轨迹的成本为
给定期望横向位置l∈L,则与期望横向位置相关联的成本为
其中dist(x,y,l)是从点(x,y)到车道位置l的距离。关于其他交通工具导致的成本,对于任何其他交通工具,(x′1,y′1),...,(x′k,y′k)可以表示主交通工具的自我中心单元中的其他交通工具,并且,i可以是最早点,针对该最早点i,存在j使得(xi,yi)和(x’j,y’j)之间的距离是小的。如果不存在这样的点,那么可以i可以被设置为i=∞。如果另一汽车被归类为“让路”,则τj>τi+0.5可能是符合期望的,τj>τi+0.5意味着主交通工具将在另一交通工具到达轨迹交点至少0.5秒之后到达同一点。将上文的约束转换为成本的可能公式是[τ(i-j)+0.5]+。
同样,如果另一汽车被归类为“取路”,则τj>τi+0.5可能是符合期望的,τj>τi+0.5可被转换为成本[τ(i-j)+0.5]+。如果另一汽车被归类为“偏移”,则i=∞可能是符合期望的,i=∞意味着主交通工具的轨迹和偏移汽车的轨迹不相交。这种情况可以通过对于轨迹之间的距离进行惩罚来转换为成本。
为这些成本中的每一成本分配权重可能会为轨迹规划器提供单一的目标函数π(T)。目标中可能会添加鼓励平稳驾驶的成本。而且,为了确保轨道的函数安全,可以在目标中添加硬约束。例如,(xi,yi)可能被禁止离开道路,并且如果|i–j|很小,则对于任何其他车辆的任何轨迹点(x’j,y’j),(xi,yi)可能被禁止接近(x’j,y’j)。
总之,策略πθ可以分解为从不可知状态到期望集合的映射,以及从期望到实际轨迹的映射。后一种映射不是基于学习的,并且可以通过解决优化问题来实现,该优化问题的成本取决于期望,该优化问题的硬约束可以保证策略的函数安全。
以下的讨论描述了从不可知状态到期望集合的映射。如上文所描述的,为了符合函数安全,仅依赖强化学习的系统可能遭受回报上的高且难以处理的方差。通过使用策略梯度迭代将问题分解为从(不可知的)状态空间到期望集合的映射,然后是不涉及基于机器学习训练的系统的实际轨迹的映射,可以避免这种结果。
处于各种原因,决策作出可以进一步被分解为语义上有意义的分量。例如,的大小可能是大的甚至是连续的。在关于图11D描述的双并道场景中,附加地,梯度估计器可能涉及项在此类表达式中,方差可能随着时间范围T而增长。在一些情况下,T的值可能约为250,其可能足够高以造成显著的方差。假设采样率是在10Hz的范围中并且并道区域1130是100米,则并道的准备可以在并道区域之前约300米处开始。如果主交通工具以每秒16米(约60km每小时)的速度行驶,则事件的T值可能约为250。
回到选项图表的概念,图11E中示出了可能表示图11D中所描绘的双并道场景的选项图表。如之前所讨论的,选项图表可以表示组织为有向无环图(DAG)的分层决策集合。图表中可能存在称为“根”节点1140的特殊节点,该节点可以是没有传入边缘(例如,决策线)的仅有的节点。决策过程从可以根节点开始遍历图表,直到到达“叶”节点,即没有传出边缘的节点。每个内部节点都可以实现策略函数,该策略函数从它的可用子中选择子。可能存在从选项图表上的遍历的集合到期望的集合的预定义的映射。换言之,选项图表上的遍历可能会自动转换为中的期望。图表中给定节点v,则参数向量θv可以指定选择v的子的策略。如果θ是所有θv的串接,则可以通过从图表的根遍历到叶来定义,而在每个节点v处使用θv定义的策略来选择子节点。
在图11E的双并道选项图表1139中,根节点1140可以首先决定主交通工具是否在并道区域(例如,图11D的区域1130)内,或者替代地主交通工具是否正在接近并道区域并且需要为可能的并道做准备。在两种情况下,主交通工具可能需要决定是否改变车道(例如向左侧或向右侧)或是否停留在当前车道中。如果主交通工具已经决定改变车道,则主交通工具可能需要决定状况是否适合继续并执行车道改变操纵(例如,在“走”节点1142处)。如果不可能改变车道,则主交通工具可以通过瞄准车道标记而尝试向所需车道“推进”(例如,在作为与期望车道中交通工具协商的部分的节点1144处)。替代地,主交通工具可以选择“停留”在同一车道上(例如,在节点1146处)。此类过程可以以自然的方式确定主交通工具的横向位置。例如,
这可以以自然的方式实现期望横向位置的确定。例如,如果主交通工具将车道从车道2改变为车道3,则“走”节点可以将期望横向位置设置为3,“停留”节点可以将期望横向位置设置为2,并且“推进”节点可以将期望横向位置设置为2.5。接下来,主交通工具可以决定是保持“相同”速度(节点1148)、“加速”(节点1150)还是“减速”(节点1152)。接下来,主交通工具可以进入“链状”结构1154,该“链状”结构1154覆盖其他交通工具并将其语义含义设置为集合{g,t,o}中的值。该过程可以设置相对于其他交通工具的期望。该链中所有节点的参数可以被共享(类似于循环神经网络)。
如上所述,双并道场景中的一个事件的长度可以约为T=250步。此类值(或任何其他合适的值,取决于特定的导航场景)可以提供足够的时间来查看主交通工具动作的后果(例如,如果主交通工具决定改变车道作为并道的准备,则主交通工具只有在成功完成并道后才会看到益处)。另一方面,由于驾驶的动态性,主交通工具必须以足够快的频率(例如,在上文所描述的情况下为10Hz)做出决策。
选项图表可以通过至少两种方式降低T的有效值。首先,给定较高级别的决策,可以为较低级别的决策定义回报,同时考虑较短的事件。例如,当主交通工具已经选择了“改变车道”和“走”节点时,可以通过查看2-3秒的事件(意味着T变为20-30而不是250)来学习为交通工具分配语义含义的策略。其次,对于高级别决策(诸如是改变车道还是停留在同一车道中),主交通工具可能不需要每0.1秒做出决策。相反,主交通工具可能能够以较低的频率(例如,每秒)做出决策,或实现“选项终止”函数,然后梯度仅在选项的每次终止后被计算。在两种情况下,T的有效值可能比其原始值小一个数量级。总而言之,每个节点处的估计器可以依赖于T的值,该T的值比原始250步小一个数量级,可以即时转换为更小的方差。
如上文所描述的,硬约束可以促进更安全的驾驶,并且可能存在几种不同类型的约束。例如,可以直接从感测状态定义静态硬约束。这些可能包括主交通工具环境内的减速带、速度限制、道路曲率、交叉口等,主交通工具环境可能牵涉对交通工具速度、航向、加速度、制动(减速度)的一个或多个约束等。静态硬约束还可能包括语义自由空间,该语义自由空间中主交通工具被禁止驶出自由空间,并且被禁止导航至过于靠近于物理障碍物。静态硬约束还可以限制(例如,禁止)不符合交通工具的运动学运动的各种方面的操纵,例如,静态硬约束可以被用于禁止可能导致主交通工具倾覆、滑动或失去控制的操纵。
硬约束也可能与交通工具相关联。例如,可以采用要求交通工具与其他交通工具保持至少一米的纵向距离以及与其他交通工具保持至少0.5米的横向距离的约束。也可以应用使得主交通工具将避免与一个或多个其他交通工具保持碰撞路线的约束。例如,时间τ可以是基于特定场景的时间的测量。主交通工具和一个或多个其他交通工具的预测轨迹可以从当前时间到时间τ而被考虑。当两个轨迹相交时,可以表示交通工具i到交点的到达时间和离开时间。也就是说,当每辆汽车的第一部分通过交点时,该汽车将到达该点,并且在汽车的最后部分通过交点之前将一定量的时间。该时间的量将到达时间与离开时间分开。假设(即,交通工具1的到达时间小于交通工具2的到达时间),则我们希望确保交通工具1在交通工具2到达之前已离开交点。否则,将导致碰撞。因此,可以实现使得的硬约束。此外,为了确保交通工具1和交通工具2不会以最小的数量相互错过,可以通过在约束中包括缓冲时间(例如,0.5秒或其他合适的值)来获得额外的安全裕度。与两个交通工具的预测交叉轨迹相关的硬约束可以表示为
跟踪主交通工具和一个或多个其他交通工具的轨迹的时间量τ可以变化。然而,在交叉口场景中,该处速度可能较低,τ可能较长,并且τ的可以被定义成使得主交通工具在小于τ秒内进入和离开该交叉口。
当然,对交通工具轨迹应用硬约束要求预测这些交通工具的轨迹。对于主交通工具而言,轨迹预测可能相对直接,因为主交通工具通常已经了解并且实际上正在任何给定时间规划预期轨迹。相对于其他交通工具,预测其他交通交通工具的轨迹可能不那么直接。对于其他交通工具,用于确定预测轨迹的基线计算可以依赖于其他交通工具的当前速度和航向,例如,基于对由主交通工具上的一个或多个相机和/或其他传感器(无线电检测与测距、光检测与测距、声学等)捕获的图像流的分析来确定。
然而,也可能存在一些例外情况,这些例外情况可以简化问题,或者至少给为另一交通工具预测的轨迹提供额外的置信度。例如,对于有车道指示且可能存在让路规则的结构化道路,其他交通工具的轨迹可以至少部分基于其他交通工具相对于车道的位置并且基于可适用的让路规则。因此,在一些情况下,当存在观察到的车道结构时,可以假设下一车道交通工具将遵守车道边界。也就是说,主交通工具可以假设下一车道交通工具将停留在其车道上,除非存在观察到的证据(例如,信号灯、强烈横向移动、跨车道边界的移动)表明下一车道交通工具将切入主交通工具的车道。
其他情况也可能提供有关其他交通工具预期轨迹的线索。例如,在停车标志、交通灯、环岛等处,在这些地方主交通工具可能具有通行权,可以假定其他交通工具将遵守该通行权。因此,除非存在违反规则的观察到的证据,否则其他交通工具可以被假设为沿着遵守主交通工具所拥有的通行权的轨道前进。
硬约束也可以相对于主交通工具环境中的行人被应用。例如,缓冲距离可以相对于行人被建立,使得主交通工具被禁止相对于任何观察到的行人导航比规定缓冲距离更近的距离。行人缓冲距离可以是任何合适的距离。在一些实施例中,相对于观察到的行人,缓冲距离可以至少为一米。
与交通工具的情况类似,也可以相对于行人和主交通工具之间的相对运动应用硬约束。例如,可以相对于主交通工具的预计轨迹监控行人的轨迹(基于航向方向和速度)。给定特定的行人轨迹,轨迹上的每个点p,t(p)可以表示行人到达点p所需的时间。为了保持距离行人至少1米的所需缓冲距离,t(p)必须大于主交通工具到达点p的时间(有足够的时间差使得主交通工具在行人前方以至少一米的距离经过),或者t(p)必须小于主交通工具到达点p的时间(例如,如果主交通工具制动以让路给行人)。在后一个示例中,硬约束可能仍要求主交通工具在比行人足够晚的时间到达点p,使得主交通工具可以从行人后面通过,并保持至少1米的所需缓冲距离。当然,可能存在行人硬约束的例外。例如,在主交通工具拥有通行权的情况下或在速度非常慢的情况下,并且这些地方没有观察到的行人会让路给主交通工具或以其他方式朝向主交通工具进行导航的证据,行人硬约束可以被放松(例如,放松到至少0.75米或0.50米的较小缓冲区)。
在一些示例中,在确定并非所有约束均能被满足的情况下,则可以放松约束。例如,在道路太窄以至于无法从两个路缘之间或一个路缘与停放的交通工具之间留出所需的间距(例如,0.5米)的情况下,如果存在缓解情况,则一个或多个约束可以被放松。例如,如果人行道上没有行人(或其他对象),可以在距离路缘0.1米处缓慢行驶。在一些实施例中,如果放松约束将改善用户体验,则可以放松约束。例如,为了避免坑洞,约束可以被放宽以允许交通工具导航得比通常所允许的更接近车道边缘、路缘或者行人。此外,在一些实施例中,当确定要放松的约束时,所选择放松的一个或多个约束被认为是对安全具有最小可用负面影响的那些约束。例如,与交通工具行驶到多靠近于路缘或混凝土护栏相关的约束可以在放松处理与其他交通工具的接近度的约束之前被放松。在一些实施例中,行人约束可能是最后要放松的,或者在某些情况下可能永远不会被放松。
图12示出了在主交通工具导航期间可以捕获和分析的场景示例。例如,如上文所描述的,主交通工具可以包括导航系统(例如,系统100),该导航系统可以从与主交通工具相关联的相机(例如,图像捕获设备122、图像捕获设备124和图像捕获设备126中的至少一个)接收表示主交通工具的环境的多个图像。图12中所示的场景是可以在时间t从沿预测轨迹1212在车道1210中行驶的主交通工具的环境中捕获的图像中的一个图像的示例。导航系统可以包括至少一个处理设备(例如,包括任何EyeQ处理器或上文所描述的其他设备),该处理设备被专门编程为用于接收多个图像并分析图像以响应于场景而确定动作。具体地,如图8所示,至少一个处理设备可以实现感测模块801、驾驶策略模块803和控制模块805。感测模块801可负责收集并输出从相机收集的图像信息,并以所标识的导航状态的形式将该信息提供给驱动策略模块803,驱动策略模块803可构成已通过机器学习技术训练的经训练的导航系统,诸如监督学习、强化学习等。基于由感测模块801提供给驾驶策略模块803的导航状态信息,驾驶策略模块803(例如,通过实施上文所描述的选项图表方法)可以响应于所标识的导航状态生成用于由主交通工具执行的期望的导航动作。
在一些实施例中,至少一个处理设备可以使用例如控制模块805将期望的导航动作直接转换为导航命令。然而,在其他实施例中,可以应用硬约束,使得相对于场景和期望导航动作可能牵涉的各种预定导航约束来测试由驾驶策略模块803提供的期望导航动作。例如,在驾驶策略模块803输出将使得主交通工具遵循轨迹1212的期望导航动作的情况下,该期望导航动作可以相对于与主交通工具环境的各个方面相关联的一个或多个硬约束而被测试。例如,所捕获的图像1201可以揭示场景中存在的路缘1213、行人1215、目标交通工具1217和静止对象(例如,翻转的箱子)。这些约束中的每一个约束都可能与一个或多个硬约束相关联。例如,路缘1213可以与静态约束相关联,该静态约束禁止主交通工具导航进入路缘或者经过路缘并进入人行道1214。路缘1213还可以与道路护栏包络相关联,该道路护栏包络定义了从路缘延伸离开(例如,0.1米、0.25米、0.5米、1米等)并沿该路缘延伸的距离(例如,缓冲区),该距离定义了主交通工具的非导航区。当然,静态约束也可以与其他类型的路边边界(例如,防护栏、混凝土柱、交通锥、塔架或任何其他类型的路边护栏)相关联。
应注意,距离和测距可以通过任何合适的方法确定。例如,在一些实施例中,距离信息可以由机载无线电检测与测距和/或光检测与测距系统提供。替代地或者附加地,距离信息可以从对从主交通工具的环境捕获的一个或多个图像的分析中导出。例如,可以确定图像中表示的所标识的对象的像素数量,并将该像素数量与图像捕获设备的已知视场和焦距几何进行比较,以确定比例和距离。例如,可以通过观察在已知时间间隔内从一个图像到另一个图像的对象之间的比例改变来确定速度和加速度。该分析可以指示朝向或远离主交通工具的运动方向,以及对象离开或靠近主交通工具的速度。穿越速度可以通过分析已知时间段内对象X的坐标位置从一个图像到另一个图像的改变来确定。
行人1215可以与定义缓冲区1216的行人包络相关联。在某些情况下,施加的硬约束可能会禁止主交通工具在距离行人1215(在相对于行人的任何方向上)1米的范围内进行导航。行人1215还可以定义行人影响区1220的位置。此类影响区可能与限制影响区内的主交通工具的速度的约束相关联。影响区可以从行人1215处延伸5米、10米、20米等。影响区的每个刻度可以与不同的速度限制相关联。例如,在距离行人1215的1米到5米的区内,主交通工具可能被限于第一速度(例如,10英里每小时、20英里每小时等),该第一速度可能小于从5米延伸到10米的行人影响区内的速度限制。可以使用影响区各阶段的任何刻度。在一些实施例中,第一阶段可以窄于从1米到5米,并且可以仅从一米延伸到二米。在其他实施例中,影响区的第一阶段可以从1米(行人周围的禁止导航区边界)延伸到至少10米的距离。第二阶段进而可以从10米延伸到至少约20米。第二阶段可能与主交通工具的最大行驶速度相关联,该最大行驶速度大于与行人影响区的第一阶段相关联的最大行驶速度。
主交通工具环境中检测到的场景也可能牵涉一个或多个静止对象约束。例如,在图像1201中,至少一个处理设备可以检测静止对象,诸如道路中存在的箱子1219。检测到的静止对象可以包括各种对象,诸如树、杆子、道路标志或道路中的对象中的至少一者。一个或多个预定义的导航约束可以与检测到的静止对象相关联。例如,此类约束可以包括静止对象包络,其中静止对象包络定义了对象周围的缓冲区,在该缓冲区内可以禁止主交通工具进行导航。缓冲区的至少一部分可以从检测到的静止对象的边缘延伸预定距离。例如,在由图像1201表示的场景中,至少0.1米、至少0.25米、至少0.5米或更长的缓冲区的距离可能与箱子1219相关联,使得主交通工具将经过箱子的右边或左边的至少一段距离(例如缓冲区距离),以避免与检测到的静止对象发生碰撞。
定义的硬约束还可能包括一个或多个目标交通工具约束。例如,可以在图像1201中检测目标交通工具1217。为确保主交通工具不与目标交通工具1217碰撞,可以采用一个或多个硬约束。在一些情况下,目标交通工具包络可能与单个缓冲区距离相关。例如,缓冲区可以由围绕目标交通工具在所有方向上的1米距离来定义。缓冲区可以定义从目标交通工具延伸至少一米的区,该区禁止主交通工具导航进入。
然而,目标交通工具1217周围的包络不需要通过固定的缓冲距离来定义。在某些情况下,与目标交通工具(或在主交通工具环境中检测到的任何其他可移动的对象)相关联的预定义硬约束可能取决于主交通工具相对于检测到的目标交通工具的方向。例如,在某些情况下,纵向缓冲区距离(例如,从目标交通工具向主交通工具前部或后部延伸的纵向缓冲区距离,诸如在主交通工具向目标交通工具行驶的情况下)可能至少为1米。横向缓冲区距离(例如,从目标交通工具延伸向主交通工具的任一侧的距离——诸如当主交通工具在与目标交通工具相同或者相对方向上行驶以使得主交通工具的一侧将邻近于目标交通工具的一侧而经过时)可以是至少0.5米。
如上文所描述的,目标交通工具或主交通工具环境中的行人的检测也可以牵涉其他约束。例如,可以考虑主交通工具和目标交通工具1217的预测轨迹,并且两条轨迹相交的情况下(例如,在交点1230处),硬约束可能要求或者其中主交通工具为交通工具1,并且目标交通工具1217为交通工具2。类似地,行人1215的轨迹(基于航向方向和速度)可以相对于主交通工具的预计轨迹被监控。给定特定的行人轨迹,轨迹上的每个点p,t(p)将表示行人到达点p(即图12中的点1231)所需的时间。为了保持距离行人至少1米所需的缓冲距离,t(p)必须大于主交通工具到达点p的时间(有足够的时间差使得主交通工具在行人前方以至少一米的距离经过),或者t(p)必须小于主交通工具到达点p的时间(例如,如果主交通工具制动以让路给行人)。在后一个示例中,硬约束仍将要求主交通工具在比行人足够晚的时间到达点p,使得主交通工具可以从行人后面通过并保持至少1米的所需缓冲距离。
也可以采用其他硬约束。例如,在至少一些情况下,可以采用主交通工具的最大减速度。此类最大减速度可以基于到跟随主交通工具的目标交通工具的检测到的距离来确定(例如,使用从后向相机收集的图像)。硬约束可能包括在感测到的人行横道或铁路道口处强制停车或其他可适用的约束。
对主交通工具环境中的场景的分析表明可能牵涉一个或多个预定义的导航约束的情况下,可以相对于主交通工具的一个或多个规划导航动作施加这些约束。例如,在场景的分析引起驾驶策略模块803返回期望的导航动作的情况下,可以相对于一个或多个所牵涉的约束来测试该期望的导航动作。如果期望的导航动作被确定为违反所牵涉的约束的任何方面(例如,如果期望导航动作将使交通工具承载在距离行人1215的0.7米的范围内,其中预定义的硬约束要求主交通工具保持距离行人1215至少1.0米),则可以基于一个或多个预定义的导航约束对期望的导航动作做出至少一个修改。以这种方式调整期望导航动作可以为主交通工具提供符合在主交通工具的环境中检测到的特定场景所牵涉的约束的导航动作。
在确定主交通工具的实际导航动作后,可以通过响应于确定的主交通工具实际导航动作引起主交通工具的导航致动器的至少一次调整来实现导航动作。此类导航致动器可以包括主交通工具的转向机制、制动器或加速器中的至少一者。
优先约束
如上文所描述的,导航系统可以采用各种硬约束,以确保主交通工具的安全操作。这些约束可以包括相对于行人、目标交通工具、道路障碍物或检测到的对象的最小安全行驶距离、在检测到的行人的影响区内通过时的最大行驶速度或主交通工具的最大减速度,等等。这些约束条件可以结合基于机器学习(有监督、强化或组合)训练的经训练的系统来施加,但也可以结合非经训练的系统(例如,采用算法直接解决主交通工具环境场景中出现的期待的情况的系统)而有用。
在任一种情况下,都可能存在约束的层级结构。换言之,某些导航约束可能优先于其他约束。因此,如果出现其中将引起所有所牵涉的约束均被满足的导航动作不可用的情况,则导航系统可以确定首先实现最高优先级约束的可用导航动作。例如,该系统可能使得交通工具首先避开行人,即使避开行人的导航将导致与另一交通工具或道路上检测到的对象发生碰撞。在另一个示例中,该系统可能导致交通工具在路缘上行驶以避开行人。
图13提供了示出用于实现基于对主交通工具的环境中的场景的分析而确定的所牵涉的约束的层级结构的算法的流程图。例如,在步骤1301,与导航系统相关联的至少一个处理设备(例如,EyeQ处理器等)可以从安装在主交通工具上的相机接收表示主交通工具的环境的多个图像。通过在步骤1303处对表示主交通工具环境的场景的一个或多个图像的分析,可以标识与主交通工具相关联的导航状态。例如,如图12所示,在场景的各种属性之中,导航状态可以指示主交通工具正沿着两车道道路1210行驶,指示目标交通工具1217正通过主交通工具前方的交叉路口,指示行人1215正等待穿过主交通工具行驶的道路,指示对象1219出现在主车道的前方。
在步骤1305,可以确定主交通工具导航状态所牵涉的一个或多个导航约束。例如,在分析由一个或多个所捕获的图像表示的主交通工具环境中的场景之后,至少一个处理设备可以确定通过所捕获的图像的图像分析而标识的对象、交通工具、行人等所牵涉的一个或多个导航约束。在一些实施例中,至少一个处理设备可以确定导航状态所牵涉的至少第一预定义导航约束和第二预定义导航约束,并且第一预定义导航约束可以不同于第二预定义的导航约束。例如,第一导航约束可能涉及在主交通工具的环境中检测到的一个或多个目标交通工具,并且第二导航约束可能涉及在主交通工具的环境中检测到的行人。
在步骤1307,至少一个处理设备可以确定与步骤1305中所标识的约束相关联的优先级。在所描述的示例中,与行人相关的第二预定义导航约束可能具有高于与目标交通工具相关的第一预定义导航约束的优先级。虽然可以基于各种因素确定或分配与导航约束相关联的优先级,但在一些实施例中,导航约束的优先级可以从安全角度与其相对重要性相关。例如,尽管在尽可能多的情况下遵守或满足所有实现的导航约束可能很重要,但一些约束可能比其他约束关联着更大的安全风险,并且因此可能被分配更高的优先级。例如,要求主交通工具保持与行人至少1米间距的导航约束可能比要求主交通工具保持与目标交通工具至少1米间距的约束具有更高的优先级。这可能是因为与行人碰撞可能具有比与其他交通工具碰撞更严重的后果。类似地,保持主交通工具与目标交通工具之间的间距可能比要求主交通工具避开道路上的箱子、在减速带上以低于某个速度的速度行驶或使主交通工具乘员暴露在不超过最大加速度水平的约束具有更高的优先级。
虽然驾驶策略模块803被设计为通过满足特定场景或导航状态所涉及的导航约束来最大化安全性,但在一些情况下,满足每个所牵涉的约束根本上是不可能的。在此类情况下,如步骤1309所示,每个所涉及的约束的优先级可以用于确定应首先满足哪个所牵涉的约束。继续上文的示例,在不可能同时满足行人间隙约束和目标交通工具间隙约束而只能满足其中一个约束的情况下,随后行人间隙约束的较高优先级可能使得在试图保持与目标交通工具的间隙之前满足该约束。因此,在正常情况下,至少一个处理设备可以基于主交通工具的所标识的导航状态来确定满足第一预定义导航约束和第二预定义导航约束两者的主交通工具的第一导航动作,其中第一预定义导航约束和第二预定义导航约束两者都可以被满足,如步骤1311所示。然而,在其中并非所有所牵涉的约束都能被满足的其他情况下,至少一个处理设备可以基于所标识的导航状态来确定满足第二预定义导航约束(即,更高优先级的约束)但不满足(具有低于第二导航约束的优先级的)第一预定义导航约束的主交通工具的第二导航动作,其中第一预定义导航约束和第二预定义导航约束不能同时被满足,如在步骤1313处所示的。
接下来,在步骤1315,为了对主交通工具实施确定的导航动作,至少一个处理设备可以响应于对主交通工具确定的第一导航动作或确定的第二导航动作而引起对主交通工具的导航致动器的至少一次调整。如先前示例中所述,导航致动器可以包括转向机制、制动器或加速器中的至少一者。
约束放松
如上文所讨论,可以出于为了安全目的而施加导航约束。这些约束可以包括相对于行人、目标交通工具、道路障碍物或检测到的对象的最小安全行驶距离、在检测到的行人的影响区内通过时的最大行驶速度或主交通工具的最大减速度,等等。这些约束可以施加在学习或非学习导航系统中。在某些情况下,这些约束可能会被放松。例如,在主交通工具在行人附近减速或停车然后缓慢前进以传达经过行人的意图的情况下,行人的响应可以从采集的图像中检测。如果行人的反应是保持静止或停止移动(和/或如果感测到与行人的目光接触),则可以理解为行人识别导航系统通过行人的意图。在此类情况下,系统可能会放松一个或多个预定义的约束,并实施较不严格的约束(例如,允许交通工具在距离行人0.5米的范围内而不是在更严格的1米边界内进行导航)。
图14提供了用于基于一个或多个导航约束的放松来实现主交通工具的控制的流程图。在步骤1401处,至少一个处理设备可以从与主交通工具相关联的相机接收表示主交通工具的环境的多个图像。在步骤1403处对图像的分析可以实现与主交通工具相关联的导航状态的标识。在步骤1405处,至少一个处理器可以确定与主交通工具的导航状态相关联的导航约束。导航约束可以包括由导航状态的至少一个方面牵涉的第一预定义导航约束。在步骤1407处,多个图像的分析可以揭示至少一个导航约束放松因素的存在。
导航约束放松因素可以包括任何合适的指标,该指标表明一个或多个导航约束可以在至少一个方面暂停、改变或以其他方式放松。在一些实施例中,至少一个导航约束放松因素可以包括(基于图像分析)确定行人的眼睛正在向主交通工具的方向看。在此类情况下,可以更安全地假设行人意识到主交通工具。因此,置信水平可能更高,行人不会参与导致行人进入主交通工具路径的意外动作。也可以使用其他约束放松因素。例如,至少一个导航约束放松因素可以包括:被确定为不移动的行人(例如,被推定为不太可能进入主交通工具路径的行人);或确定其运动速度要减慢的行人。导航约束放松因素也可以包括更复杂的动作,诸如在主交通工具已经停止后,确定行人不移动,然后恢复移动。在这种情况下,行人可以被假设为理解主交通工具具有通行权,并且停止的行人可能表示行人打算给主交通工具让路。可能导致一个或多个约束条件放松的其他情况包括路缘石的类型(例如,低路缘石或具有渐变坡度的路缘石可能允许放松的距离约束)、人行道上缺少行人或其他对象、发动机未运行的交通工具可能具有放松的距离,或行人面朝别处和/或移动离开主交通工具驶向的区域的情况。
导航约束放松因素的存在被标识的情况下(例如,在步骤1407),可以响应于约束放松因素的检测来确定或开发第二导航约束。该第二导航约束可以不同于第一导航约束,并且可以包括相对于第一导航约束放松的至少一个特征。第二导航约束可以包括基于第一约束的新生成的约束,其中新生成的约束包括在至少一个方面放松第一约束的至少一个修改。替代地,第二约束可以构成在至少一个方面不如第一导航约束严格的预定约束。在一些实施例中,此类第二约束可以仅保留用于在主交通工具的环境中标识约束放松因素的情况。无论第二约束是新生成的还是从完全地或部分地可用的预定约束集合中选择的,第二导航约束代替(可以在没有检测到相关导航约束放松因素的情况下应用的)更严格的第一导航约束的应用可以被称为约束放松,并可以在步骤1409中完成。
在步骤1407处检测到至少一个约束放松因素,并且在步骤1409处至少一个约束已经被放松的情况下,可以在步骤1411处确定主交通工具的导航动作。主交通工具的导航动作可以基于所标识的导航状态,并且可以满足第二导航约束。导航动作可以在步骤1413处通过响应于所确定的导航动作引起主交通工具的导航致动器的至少一次调整来实现。
如上文所描述的,导航约束和放松的导航约束的使用可以结合经训练(例如,通过机器学习)或未经训练(例如,编程为响应于特定导航状态以预定动作进行响应的系统)的导航系统来采用。在使用经训练的导航系统的情况下,某些导航情况下的放松的导航约束的可用性可以表示从经训练的系统响应到未经训练的系统响应的模式切换。例如,经训练的导航网络可以基于第一导航约束确定主交通工具的原始导航动作。但是,交通工具采取的动作可能与满足第一导航约束的导航动作不同。相反,所采取的动作可以满足更放松的第二导航约束,并且可以是由未经训练的系统开发的动作(例如,作为对主交通工具环境中特定条件的检测的响应,该条件诸如导航约束放松因素的存在)。
存在许多导航约束的示例,这些导航约束可以响应于在主交通工具环境中约束放松因素的检测而放松。例如,当预定义的导航约束包括与检测到的行人相关联的缓冲区并且缓冲区的至少部分从检测到的行人延伸一定距离时,放松的导航约束(新开发的、从存储器调用的来自预定集合的、或作为先前存在的约束的放松版本生成的)可以包括不同的或经修改的缓冲区。例如,不同的或经修改的缓冲区相对于行人的距离可能小于原始或未经修改的缓冲区相对于检测到的行人的距离。因此,鉴于放松的约束,在主交通工具的环境中检测到适当的约束放松因素的情况下,主交通工具可以被允许导航得更靠近检测到的行人。
如上文所提及的,导航约束的放松特征可以包括与至少一名行人相关联的缓冲区中的减小的宽度。然而,放松特征还可以包括与目标交通工具、检测到的对象、路边障碍物或在主交通工具环境中检测到的任何其他对象相关联的缓冲区中的减小宽度。
至少一个放松特征也可以包括导航约束特性的其他类型的修改。例如,放松特征可以包括与至少一个预定义导航约束相关联的速度的增加。放松特征也可以包括与至少一个预定义导航约束相关联的最大可允许加速度/减速度的增加。
如上文所描述的,虽然在某些情况下可以放松约束,但在其他情况下,可以增强导航约束。例如,在一些情况下,导航系统可能会确定条件使增强正常的导航约束集合是正当的。此类增强可以包括向预定义约束集合添加新约束或调整预定义约束的一个或多个方面。添加或调整可能会导致相对于正常驾驶条件下适用的预定义的一组约束更保守的导航。可以使增强约束是正当的条件包括传感器故障、不利环境条件(雨、雪、雾或与降低的能见度或降低的交通工具牵引力相关联的其他条件)等。
图15提供了基于一个或多个导航约束的增强来实现主交通工具的控制的流程图。在步骤1501处,至少一个处理设备可以从与主交通工具相关联的相机接收表示主交通工具的环境的多个图像。在步骤1503处对图像的分析可以实现与主交通工具相关联的导航状态的标识。在步骤1505处,至少一个处理器可以确定与主交通工具的导航状态相关联的导航约束。导航约束可以包括由导航状态的至少一个方面牵涉的第一预定义导航约束。在步骤1507处,多个图像的分析可以揭示至少一个导航约束增强因素的存在。
牵涉的导航约束可以包括上文(例如,关于图12)所讨论的导航约束中的任何导航约束或任何其他合适的导航约束。导航约束增强因素可以包括一个或多个导航约束可以在至少一个方面中被补充/增强的任何指标。导航约束的补充或增强可以逐集合地执行(例如,通过向预定约束集合添加新的导航约束),或者可以逐约束地执行(例如,修改特定约束,使得经修改的约束比原始约束更具限制性,或添加与预定约束相对应的新约束,其中新约束在至少一个方面比相应约束更具限制性)。附加地或者替代地,导航约束的补充或增强可以指基于层级结构从一组预定约束中进行的选择。例如,可以基于是否在主交通工具的环境中或相对于主交通工具检测到导航增强因素来选择一组增强的约束。在未检测到增强因素的正常条件下,可以从适用于正常条件的约束中提取所牵涉的导航约束。另一方面,在检测到一个或多个约束增强因素的情况下,可以从相对于一个或多个增强因素生成或预定义的增强约束中提取所牵涉的约束。增强的约束在至少一个方面可能比在正常条件下适用的相应约束更具限制性。
在一些实施例中,至少一个导航约束增强因素可以包括检测(例如,基于图像分析)主交通工具环境中的道路表面上冰、雪或水的存在。此类确定可以基于例如检测到:高于干燥道路预期反射率的区域(例如,指示道路上的冰或水);道路上指示有雪的白色区域;与道路上纵向沟槽(例如,雪地中的轮胎痕迹)的存在相一致的道路上的阴影;主交通工具挡风玻璃上的水滴或冰/雪颗粒;或道路表面上水或冰/雪的存在的任何其他适当指示符。
至少一个导航约束增强因素还可以包括检测主交通工具挡风玻璃外表面上的微粒。此类微粒可以损害与主交通工具相关联的一个或多个图像捕获设备的图像质量。虽然相对于主交通工具挡风玻璃(该挡风玻璃与安装在主交通工具挡风玻璃后面的相机相关)进行了描述,但在其他表面(例如,相机的透镜或透镜盖、前照灯透镜、后挡风玻璃、尾灯透镜或与主交通工具相关联的图像捕获设备可见的(或由传感器检测的)任何其他表面)上微粒的检测也可以指示导航约束增强因素的存在。
导航约束增强因素也可以作为一个或多个图像采集设备的属性而被检测。例如,由与主交通工具相关联的图像捕获设备(例如,相机)捕获的一个或多个图像的检测到的图像质量降低也可以构成导航约束增强因素。图像质量的下降可以与关联于图像捕获设备或与图像捕获设备相关联的组件的硬件故障或部分硬件故障相关联。这种图像质量下降也可能是由环境条件引起的。例如,主交通工具周围的空气中烟雾、雾、雨、雪等的存在也可能导致相对于主交通工具环境中可能存在的道路、行人、目标交通工具等的图像质量降低。
导航约束增强因素也可能与主交通工具的其他方面有关。例如,在一些情况下,导航约束增强因素可以包括与主交通工具相关联的系统或传感器的检测故障或部分故障。此类增强因素可以包括,例如,速度传感器、GPS接收器、加速计、相机、无线电检测与测距、光检测与测距、制动器、轮胎的故障或部分故障的检测,或与主交通工具相关的任何其他系统的故障或部分故障的检测,该系统可能影响主交通工具相对于与主交通工具导航状态相关的导航约束进行导航的能力。
导航约束增强因素的存在被标识的情况下(例如,在步骤1507),可以响应于约束增强因素的检测来确定或开发第二导航约束。该第二导航约束可以不同于第一导航约束,并且可以包括相对于第一导航约束增强的至少一个特征。第二个导航约束可能比第一个导航约束更具限制性,因为在主交通工具的环境中或与主交通工具相关联的环境中检测到约束增强因素可能表明主交通工具可能有相对于正常操作条件降低的至少一个导航能力。这种降低的能力可能包括减少的道路牵引力(例如,道路上的冰、雪或水;降低的轮胎压力等);受损的视力(例如,降低所捕获的图像质量的雨、雪、灰尘、烟、雾等);受损的检测能力(例如,传感器故障或部分故障、降低的传感器性能等);或主交通工具响应于检测到的导航状态导航的能力的任何其他降低。
在步骤1507处检测到至少一个约束增强因素并且在步骤1509处至少一个约束已经被增强的情况下,可以在步骤1511处确定主交通工具的导航动作。主交通工具的导航动作可以基于所标识的导航状态,并且可以满足第二导航(即,增强)约束。导航动作可以在步骤1513处通过响应于所确定的导航动作引起主交通工具的导航致动器的至少一次调整来实现。
如所讨论的,导航约束和增强的导航约束的使用可以结合经训练(例如,通过机器学习)或未经训练(例如,编程为响应于特定导航状态以预定动作响应的系统)的导航系统来采用。在使用经训练的导航系统的情况下,某些导航情况下的增强的导航约束的可用性可以表示从经训练的系统响应到未经训练的系统响应的模式切换。例如,经训练的导航网络可以基于第一导航约束确定主交通工具的原始导航动作。但是,交通工具采取的动作可能与满足第一导航约束的导航动作不同。相反,所采取的动作可以满足增强的第二导航约束,并且可以是由未经训练的系统开发的动作(例如,作为对主交通工具环境中特定条件的检测的响应,该条件诸如导航约束增强因素的存在)。
存在许多导航约束的示例,这些约束可以响应于在主交通工具环境中检测到的约束增强因素而被生成、被补充或被增强。例如,预定义的导航约束包括与检测到的行人、对象、交通工具等相关联的缓冲区,并且缓冲区的至少部分从检测到的行人/对象/交通工具的延伸一段距离时,增强的导航约束(新开发的、从存储器调用的来自预定集合的、或作为先前存在的约束的增强版本生成的)可以包括不同的或经修改的缓冲区。例如,不同的或者经修改的缓冲区可以具有相对于行人/对象/交通工具的可能大于原始或未经修改的缓冲区相对于检测到的行人/对象/交通工具的距离。因此,考虑到增强的约束,在主交通工具的环境中或相对于主交通工具检测到适当的约束增强因素的情况下,主交通工具可能被迫地导航为更远离于检测到的行人/对象/交通工具。
至少一个增强的特征也可以包括导航约束特性的其他类型的修改。例如,增强特征可以包括与至少一个预定义导航约束相关联的速度降低。增强的特征也可以包括与至少一个预定义导航约束相关联的最大可允许减速/加速度的降低。
基于长距离规划的导航
在一些实施例中,所公开的导航系统不仅可以响应于主交通工具环境中检测到的导航状态,还可以基于长距离规划确定一个或多个导航动作。例如,该系统可以考虑一个或多个导航动作对未来导航状态的潜在影响,该导航动作可用作为相对于检测到的导航状态进行导航的选项。考虑到可用的动作对未来状态的影响,可以使导航系统不仅能够基于当前检测到的导航状态,而且能够基于长距离规划来确定导航动作。在导航系统采用一个或多个回报函数作为从可用选项中选择导航动作的技术时,使用长距离规划技术的导航可能特别适用。可以相对于响应于检测到的主交通工具的当前导航状态而采取的可用导航动作分析潜在回报。然而,进一步地,还可以相对于响应于预计来自当前导航状态可用的动作的未来导航状态采取的动作来分析潜在回报。结果,在一些情况下,所公开的导航系统可以响应于检测到的导航状态而选择导航动作,即使在从响应于当前导航状态可以采取的可用动作中所选择的导航动作可能不会产生最高的回报。在系统确定所选的操作可能引起未来导航状态从而产生提供比所选操作(或者在一些情况下,相对于当前导航状态的任何可用操作)更高的回报的一个或多个潜在导航操作的情况下,这一点可能尤其正确。这一原则可以更简单地表述为:现在采取不太有利的动作,以便在未来产生更高的回报选项。因此,在长期预测指示回报的短期损失可能导致长期回报收益的情况下,所公开的能够进行长距离规划的导航系统可以选择次优短期动作。
一般地,自主驾驶应用可能涉及一系列规划问题,其中导航系统可能决定即时动作以优化长期目标。例如,当交通工具在环岛处遇到并道情况时,导航系统可以决定即时加速或制动命令,以启动进入环岛的导航。虽然对环岛处检测到的导航状态的即时动作可能牵涉响应于检测到的状态的加速或制动命令,但长期目标是成功并道,而所选命令的长期效果是并道的成功/失败。规划问题可以通过将问题分解为两个阶段来解决。首先,有监督学习可以被应用于基于当前预测的不久的将来(假设预测因素相对于当前的表示是可微的)。第二,可以使用循环神经网络对代理的完整轨迹进行建模,其中未解释的因素被建模为(加性)输入节点。这可能允许使用循环神经网络上的有监督学习技术和直接优化来确定长距离规划问题的解决方案。此类方法还可以通过在环境中加入对抗因素来实现稳健的策略的学习。
自主驾驶系统最基本的两个元素是感测和规划。感测涉及发现当前环境状态的紧凑表示,而规划涉及决定采取何种动作以优化未来目标。有监督机器学习技术对于解决感测问题非常有用。机器学习算法框架也可以用于规划部分,特别是强化学习(RL)框架,诸如上文所描述的框架。
RL可以按连续轮次的顺序执行。在轮次t,规划器(也称为代理或驾驶策略模块803)可以观察到状态st∈S,该状态表示代理和环境。然后它应该决定动作at∈A。执行该动作后,代理接收到即时回报并移动到新状态st+1。作为示例,主交通工具可以包括自适应巡航控制(ACC)系统,其中交通工具应自主地实现加速/制动,以便在保持平稳驾驶的同时与前面交通工具保持足够的距离。该状态可以建模为对其中xt是到领先交通工具的距离,并且vt是主交通工具相对于领先交通工具速度的速度。该动作将是加速命令(其中,如果at<0,则主交通工具减速)。回报可以是取决于|at|(反映驾驶的平稳性)和st(反映主交通工具与前一交通工具保持安全距离)的函数。规划器的目标是使累计回报最大化(可能达到一个时间范围或者达到未来回报的折扣总和)。为了这样做,规划器可能依赖于将状态映射为动作的策略π:S→A。
有监督学习(SL)可以被视为RL的一种特殊情况,其中st从S上的某个分布中采样,并且回报函数可能具有rt=-l(at,yt)的形式,其中l为损失函数,并且学习器观察yt的值,yt是观察状态st时要采取的最优动作的(可能有噪音的)值。一般RL模型与SL的特定情况之间可能存在一些差异,这些差异会使一般RL问题更具挑战性。
在一些SL情况下,学习器采取的动作(或预测)可能对环境没有影响。换言之,st+1和at是独立的。这可能有两个重要的含义。第一,在SL中,可以提前收集样本(s1,y1),...,(sm,ym),并且仅针对相对于样本具有良好精度的策略(或预测)开始进行搜索。相反,在RL中,状态st+1通常取决于所采取的动作(也取决于前一状态),而该所采取的动作进而取决于用于生成动作的策略。这将数据生成过程与策略学习过程联系起来。第二,因为动作不会影响SL中的环境,所以选择at对π的性能的贡献是局部的。具体地,at只影响即时回报的价值。相反,在RL中,在轮次t采取的动作可能会对未来轮中的回报值具有长期影响。
在SL中,“正确”答案yt以及回报rt=-θ(at,yt)的形状的知识可以为at的所有可能选择提供完整回报知识,从而实现回报相对于at的导数的计算。相反,在RL中,回报的“一次性”值可能是针对所采取的特定动作选择所观察到的全部。这可能被称为“老虎机(bandit)”反馈。这是需要将“探索”作为长期导航规划的部分的最重要的原因中的一个,因为在基于RL的系统中,如果只有“老虎机”反馈可用,则系统可能并不总是知道所采取的动作是否是最好的动作。
许多RL算法至少部分依赖于马尔可夫决策过程(MDP)的数学简洁模型。马尔可夫假设是,给定st和at的情况下,st+1的分布完全确定。这就产生了依据在MDP的状态上的平稳分布的给定策略的累计回报的闭合形式的表达式。策略的平稳分布可以表示为线性编程问题的解决方案。这就产生了两个算法族:1)关于原始问题的优化,可以称为策略搜索;以及2)关于对偶问题的优化,该优化的变量称为值函数Vπ。如果MDP从初始状态s开始,并且从此根据π来选择动作,则值函数确定预期累计回报。相关的量是状态-动作值函数Qπ(s,a),该函数确定了假设从状态s的开始的累计回报,即时选择的动作a,并且从这里开始根据π来选择动作。Q函数可以产生最优策略的特征(使用贝尔曼方程)。具体而言,Q函数可以表明最优策略是从S到A的确定性函数(实际上,它可以被表征为关于最优Q函数的“贪婪”策略)。
MDP模型的一个潜在优势是,它允许使用Q函数将未来耦合到当前。例如,假设主交通工具现在处于状态s,则Qπ(s,a)的值可能指示执行a对未来的影响。因此,Q函数可以提供动作a的质量的局部度量,从而使RL问题更类似于SL场景。
许多RL算法以某种方式近似V函数或Q函数。值迭代算法(例如Q学习算法)可能依赖于以下事实:最优策略的V和Q函数可能是从Bellman方程导出的一些操作符的固定点。动作方-评论方策略迭代算法旨在以迭代的方式学习策略,其中在迭代t处,“评论方”估计并且基于该估计,“动作方”改进策略。
尽管MDP具有数学上的简洁性以及切换到Q函数表示法的便捷性,但这种方法可能有一些局限性。例如,马尔可夫行为状态的近似概念可能是可以在一些情况中找到的全部。此外,状态的过渡可能不仅取决于代理的动作,还取决于环境中其他参与方的动作。例如,在上文所提及的ACC示例中,虽然自主交通工具的动力学可能是马尔可夫的,但下一个状态可能取决于另一辆车的驾驶员的行为,驾驶员的行为不一定是马尔可夫的。该问题的一个可能解决方案是使用部分观测的MDP,其中假设存在马尔可夫状态,但根据隐藏状态分布的观察是可以被看到的。
更直接的方法可以考虑MDP的博弈论概括(例如,随机游戏框架)。实际上,MDP的算法可以被概括为多代理博弈(例如,minimax-Q学习或Nash-Q学习)。其他方法可能包括其他参与方的显式建模和消失后悔学习算法。在多代理设置中学习可能比在单代理设置中学习更复杂。
通过偏离表设置,可以产生Q函数表示的第二个限制。表设置是在状态和动作的数量很小时,并且因此Q可以表示为一个具有|S|行和|A|列的表。然而,如果S和A的自然表示包括欧几里德空间,并且状态和动作空间是离散的,那么状态/动作的数量在维度上可能是指数的。在这种情况下,采用表设置可能不切实际。相反,Q函数可以由参数假设类别(例如,特定架构的神经网络)中的某个函数来近似。例如,可以使用深度Q网络(DQN)学习算法。在DQN中,状态空间可以是连续的,但动作空间可以保持为小的离散集合。可能存在处理连续动作空间的方法,但它们可能依赖于对Q函数进行近似。在任何情况下,Q函数都可能复杂且对噪声敏感,因此学习起来可能很困难。
另一种方法可能是使用循环神经网络(RNN)解决RL问题。在某些情况下,RNN可以与博弈论中的多代理博弈和针对对抗环境的稳健性的概念相结合。进一步,这种方法可能不明确依赖于任何马尔可夫假设。
以下更详细地描述了一种基于预测规划导航的方法。在该方法中,可以假设状态空间S是的子集,动作空间A是的子集。在许多应用中,这可能是一种自然的表示。如上文所描述的,RL与SL之间可能有两个关键区别:(1)由于过去的行为影响未来的回报,未来的信息可能需要传播回过去;(2)回报的“老虎机”性质会模糊(状态,动作)与回报之间的依赖性,这会使学习过程复杂化。
作为方法的第一步,可以观察到存在有趣的问题,其中回报的老虎机性质不是问题。例如,ACC应用的回报值(将在下面更详细地讨论)相对于当前状态和动作可以是可微的。事实上,即使回报是以“老虎机”的方式给予的,学习可微函数而使得的问题也可能是一个相对简单的SL问题(例如,一维回归问题)。因此,该方法的第一步可能是将回报定义为相对于s和a可微的函数或者使用回归学习算法以学习可微函数该可微函数最小化样本上的至少一些回归损失,其中实例向量为并且标量为rt。在一些情况下,为了创建训练集,可以使用探索元素。
为了解决过去和未来之间的联系,可以使用类似的想法。例如,假设一个可微函数可以被学习,使得学习这样的函数可以被表征为SL问题。可以被视为不久的将来的预测器。接下来,可以使用参数函数πθ:S→A描述从S映射到A的策略。将表示为神经网络可以实现使用循环神经网络(RNN)表示在T个轮次中运行代理的事件,其中下一个状态定义为在这里,可能由环境定义,并且可表示不久的将来的不可预测的方面。st+1以可微的方式依赖于st和at的事实可能实现未来的回报值与过去的行为之间的联系。策略函数的参数向量πθ可以通过在产生的RNN上的反向传播来学习。请注意,无需对νt施加明确的概率假设。特别是,不需要对马尔可夫关系的要求。相反,可以依赖循环网络在过去和未来之间传播“足够”的信息。直觉上,可能描述不久的将来的可预测的部分,而νt可能表达由于环境中其他参与方的行为而可能出现的不可预测的方面。学习系统应该学习对其他参与方的行为将是稳健的策略。如果||νt||是大的,则过去的动作与未来的回报值之间的联系对于学习有意义的策略而言可能过于嘈杂。以透明的方式明确表达系统的动态可以更容易地包含先验知识。例如,先验知识可以简化定义的问题。
如上文所讨论的,学习系统可能受益于相对于对抗环境的稳健性,对抗环境诸如主交通工具的环境,其中可能包括可能以意外方式进行动作的多个其他驾驶员。在不在νt上施加概率假设的模型中,可以考虑νt是以对抗方式选择的环境。在一些情况下,限制可能会被置于μt上,否则攻击者可能会使规划问题变得困难甚至不可能。一个自然限制可能是要求||μt||以常数为边界。
在自主驾驶应用中,针对对抗环境的稳健性可能很有用。以对抗性的方式选择μt甚至可以加快学习过程,因为它可以将学习系统集中到稳健的最优策略上。一个简单的博弈可以用来说明这个概念。状态为动作为即时损失函数为0.1|at|+[|st|-2]+,其中[x]+=max{x,0}为ReLU(校正线性单元)函数。下一个状态是st+1=st+at+vt,其中对于环境,vt∈[-0.5,0.5]是以对抗的方式选择的。这里,最优策略可以被写成具有ReLU的两层网络:at=-[st-1.5]++[-st-1.5]+。观察:当|st|∈(1.5,2]时,最优动作可能具有大于动作a=0的即时损失。因此,该系统可能会对未来进行规划,而可能不仅仅依靠即时损失。观察:损失相对于at的导数为0.1 sign(at),相对于st的导数为1[|st|>2]sign(st)。在其中st∈(1.5,2]的情况下,vt的对抗的选择将是设置vt=0.5,并且因此,每当at>1.5-st,轮次t+1都可能存在非零损失。在这种情况下,损失的导数可能会直接反向传播到at。因此,在at的选择是次优的情况下,vt的对抗性选择可以帮助导航系统获得非零的反向传播消息。这种关系可能有助于导航系统基于此类当前动作将在未来为引起更高回报的更优动作提供机会的期望来选择当前动作(即使该动作将引起次优回报或甚至损失)。
这种方法可以适用于几乎任何可能出现的导航情况。下面描述了应用于一个示例的方法:自适应巡航控制(ACC)。在ACC问题中,主交通工具可能试图与前方目标交通工具保持足够的距离(例如,距离目标交通工具1.5秒)。另一个目标可能是在保持期望间隙的同时尽可能平稳地行驶。表示这种情况的模型可以定义如下。状态空间为动作空间为状态的第一个坐标是目标汽车的速度,第二个坐标是主交通工具的速度,最后一个坐标是主交通工具与目标交通工具之间的距离(例如,主交通工具的位置减去沿道路曲线的目标位置)。主交通工具要采取的动作是加速,可以用at表示。数量τ可以表示连续轮次之间的时间差。尽管τ可以被设置为任何合适的量,但在一个示例中,τ可以是0.1秒。位置st可以表示为目标交通工具的(未知)加速度可以表示为
系统的完整动力学可以通过以下公式描述:
这可以描述为两个向量的和:
第一个向量是可预测部分,第二个向量是不可预测部分。轮次t的回报定义如下:
第一项可能导致对于非零加速度的处罚,从而鼓励平稳驾驶。第二项取决于到目标汽车的距离xt和期望距离之间的比率,该比率被定义为1米距离和1.5秒的中断距离之间的最大值。在一些情况下,该比率可能正好为1,但只要该比率在[0.7,1.3]范围内,该策略就可免除任何处罚,这可允许主交通工具在导航中的一些放松,这一特性对于实现平稳驾驶可能是重要的。
通过实现上文所概述的方法,主交通工具的导航系统(例如,通过导航系统的处理单元110内的驾驶策略模块803的操作)可以响应于观察到的状态而选择动作。所选择的动作不仅可以基于与相对于所感测的导航状态可用的响应动作相关联的回报的分析,还可以基于对未来状态、响应于未来状态的潜在动作以及与潜在动作相关联的回报的考虑和分析。
图16图示出基于检测和长距离规划的导航的算法方法。例如,在步骤1601,用于主交通工具的导航系统的至少一个处理设备110可以接收多个图像。这些图像可以捕获表示主交通工具的环境的场景,并且可以由上文所描述的任何图像捕获设备(例如,相机、传感器等)提供。在步骤1603对这些图像中的一个或多个图像的分析可以使至少一个处理设备110能够标识与(如上文所描述的)主交通工具相关联的当前导航状态。
在步骤1605、1607和1609,可以确定响应于所感测的导航状态的各种潜在导航动作。这些潜在的导航动作(例如,第一导航动作到第N可用导航动作)可以基于所感测的状态和导航系统的长距离目标来确定(例如,为了完成并道,顺利跟随在前交通工具,经过目标交通工具,避开道路上的对象,针对检测到的停车标志减速,避免目标交通工具切入,或任何其他可能推进系统的导航目标的导航操作)。
对于确定的潜在导航动作中的每个确定的潜在导航动作,系统可以确定预期回报。预期回报可以根据上文所描述的技术中的任何一个来确定,并且可以包括对相对于一个或多个回报函数的特定潜在动作的分析。可以针对分别在步骤1605、1607和1609中确定的潜在导航动作(例如,第一、第二和第N导航动作)中的每一个来确定预期回报1606、1608和1610。
在一些情况下,主交通工具的导航系统可以根据与预期回报1606、1608和1610(或任何其他类型的预期回报指标)相关联的值从可用的潜在动作中进行选择。例如,在一些情况下,可能会选择产生最高预期回报的动作。
在其他情况下,尤其是当导航系统参与长距离规划以确定主交通工具的导航动作时,系统可能不会选择产生最高预期回报的潜在动作。相反,系统可以看向未来以分析如果响应当前导航状态选择较低回报的动作是否有机会在以后实现较高的回报。例如,对于在步骤1605、1607和1609确定的任何或所有潜在动作,未来状态可以被确定。在步骤1613、1615和1617确定的每个未来状态可以表示基于由相应的潜在动作(例如,在步骤1605、1607和1609确定的潜在动作)修改的当前导航状态而预期产生的未来导航状态。
对于在步骤1613、1615和1617中预测的未来状态中的每一个未来状态,可以确定和评估一个或多个未来动作(作为响应于确定的未来状态可用的导航选项)。例如,在步骤1619、1621和1623处,可以开发与一个或多个未来动作相关联的预期回报的值或任何其他类型的指标(例如,基于一个或多个回报函数)。可以通过比较与每个未来动作相关联的回报函数的值或通过比较与预期回报相关联的任何其他指标来评估与一个或多个未来动作相关联的预期回报。
在步骤1625,主交通工具的导航系统可以基于预期回报的比较来为主交通工具选择导航动作,这不仅仅是基于相对于当前导航状态标识的潜在动作(例如,在步骤1605、1607和1609),而且也基于作为响应于预测未来状态的可用的潜在未来动作的结果而确定的预期回报(例如,在步骤1613、1615和1617确定)。步骤1625处的选择可以基于在步骤1619、1621和1623处执行的选项和回报分析。
在步骤1625处的导航动作的选择可能仅基于与未来动作选项相关联的预期回报的比较。在此类情况下,导航系统可以仅基于由动作产生的预期回报与潜在未来导航状态的比较来选择针对当前状态的动作。系统可以选择在步骤1605、1607或1609处标识的、与通过在步骤1619、1621和1623处的分析确定的最高未来回报值相关联的潜在动作。
步骤1625处导航动作的选择也可能仅基于当前动作选项的比较(如上文所描述的)。在这种情况下,导航系统可以选择在步骤1605、1607或1609处标识的、与最高预期回报1606、1608或1610相关联的潜在动作。执行这种选择可能几乎不考虑或不考虑未来的导航状态或者针对响应于预期未来导航状态的可用导航动作的未来预期回报。
另一方面,在一些情况下,步骤1625处的导航操作的选择可能基于与未来动作选项相关联的预期回报和与当前动作选项相关联的预期回报的比较。事实上,这可能是基于长距离规划的导航原则中的一个导航原则。例如,可以分析对未来动作的预期回报,以确定是否有任何回报可以使响应于当前导航状态选择较低的回报动作是正当的,以便响应于后续导航动作实现潜在的较高回报,该后续导航动作响应于未来导航状态预期是可用的。例如,预期回报1606的值或其他指标可以指示回报1606、1608和1610中的最高预期回报。另一方面,预期回报1608可以指示回报1606、1608和1610中的最低预期回报。可以在步骤1625进行导航动作选择中使用对未来状态、潜在未来动作和未来回报的分析,而不是简单地选择在步骤1605确定的潜在动作(即,产生最高预期回报1606的动作)。在一个示例中,可以确定在步骤1621标识的回报(响应于在步骤1615基于在步骤1607所确定的第二潜在动作而确定的未来状态的至少一个未来动作)可能高于预期回报1606。基于这个比较,尽管预期回报1606高于预期回报1608,但可能选择在步骤1607确定的第二潜在动作,而不是在步骤1605确定的第一潜在动作。在一个示例中,在步骤1605确定的潜在导航动作可以包括在检测到的目标交通工具前面的并道,而在步骤1607确定的潜在导航动作可以包括在目标交通工具后面的并道。虽然目标交通工具前面的并道的预期回报1606可能高于与目标交通工具后面的并道相关联的预期回报1608,但可以确定,目标交通工具后面的并道可能引起这样的未来状态:针对该未来状态,可能存在基于响应于当前感测到的导航状态的可用动作而产生的、甚至比预期回报1606、1608及其他回报更高的潜在回报的动作选项。
在步骤1625处的从潜在动作中进行的选择可以基于预期回报的任何合适比较(或与一个潜在动作(与其他潜在动作相比的)相关的任何其他度量或利益指标)。在一些情况下,如上文所描述的,如果第二潜在动作被预计为提供与高于与第一潜在动作相关联的回报的预期回报相关联的至少一个未来动作,则可以选择第二潜在动作,而不是第一潜在动作。在其他情况下,可以采用更复杂的比较。例如,与响应于预计的未来状态的动作选项相关联的回报可以跟与确定的潜在动作相关联的超过一个预期回报进行比较。
在一些场景下,如果至少一个未来动作预期产生的回报高于针对当前状态的潜在动作产生的预期回报的任何一个预期回报(例如,预期回报1606、1608、1610等),则基于预计的未来状态的动作和预期回报可能会影响针对当前状态的潜在动作的选择。在一些情况下,产生最高预期回报(例如,从与针对感测到的当前状态的潜在动作相关联的预期回报中,以及从与相对于潜在未来导航状态的潜在未来动作选项相关联的预期回报中)的未来动作选项可以用作选择针对当前导航状态的潜在动作的选择的指导。也就是说,在标识产生最高预期回报(或高于预定阈值的回报等)的未来动作选项之后,可以在步骤1625处选择潜在动作,该潜在动作可以引起与产生最高预期回报的所识别的未来动作相关联的未来状态。
在其他情况下,可用动作的选择可以基于预期回报之间的确定的差来作出。例如,如果与在步骤1621确定的未来动作相关联的预期回报与预期回报1606之间的差大于预期回报1608与预期回报1606之间的差(假设是+号的差),则可以选择在步骤1607确定的第二潜在动作。在另一示例中,如果与在步骤1621确定的未来动作相关联的预期回报和与在步骤1619确定的未来动作相关联的预期回报之间的差大于预期回报1608和预期回报1606之间的差,则可以选择在步骤1607确定的第二潜在动作。
已经描述了从针对当前导航状态的潜在动作中进行选择的几个示例。然而,任何其他合适的比较技术或标准可以用于通过基于扩展到预计未来状态的动作和回报分析的长距离规划来选择可用的动作。此外,尽管图16表示长距离规划分析中的两个层(例如,第一层考虑到针对当前状态的潜在动作引起的回报,第二层考虑到响应于预计未来状态的未来动作选项引起的回报),但基于更多层的分析是可能的。例如,在响应于当前导航状态从可用的潜在动作中进行选择中,可以使用三个、四个或更多个层的分析,而不是将长距离规划基于一个或两个层。
在步骤1627处从响应于感测的导航状态的潜在动作中进行选择之后,至少一个处理器可以响应于所选择的潜在导航动作而引起主交通工具的导航致动器的至少一次调整。导航致动器可以包括用于控制主交通工具的至少一个方面的任何合适的设备。例如,导航致动器可以包括转向机制、制动器或加速器中的至少一者。
基于推断的他方攻击性的导航
可以通过采集的图像流的分析来监控目标交通工具,以确定驾驶攻击性的指标。攻击性在本文中被描述为定性的或定量的参数,但也可以使用其他特征:感知的注意力水平(驾驶员的潜在损伤,分心的——手机,睡着的,等等。)。在一些情况下,目标交通工具可能被视为具有防御姿态,在某些情况下,目标交通工具可能被确定为具有更具攻击性的姿态。可以根据攻击性的指标选择或开发导航动作。例如,在一些情况下,可以跟踪相对于主交通工具的相对速度、相对加速度、相对加速度增加、跟车距离等,以确定目标交通工具是攻击性的还是防御性的。例如,如果确定目标交通工具具有超过阈值的攻击性,则主交通工具可能倾向于让路给目标交通工具。还可以基于目标交通工具相对于目标交通工具路径或附近一个或多个障碍物(例如,领先交通工具、道路中的障碍物、交通灯等)的确定行为来标识目标交通工具的攻击性。
作为对该概念的介绍,将描述示例实验,该示例实验关于主交通工具并道进入环岛,其中导航目标是通过并离开环岛。这种情况可能从主交通工具逐渐接近环岛的入口开始,并可能在主交通工具到达环岛的出口(例如,第二个出口)时结束。可以基于主交通工具是否始终与所有其他交通工具保持安全距离、主交通工具是否要尽快完成路线以及主交通工具是否遵守平稳加速策略来衡量成功与否。在本说明中,NT个目标交通工具可以随机放置在环岛上。为了对对抗性行为和典型行为的混合建模,在概率p的情况下,目标交通工具可以通过“攻击性”驾驶策略被建模成使得当主交通工具试图在目标交通工具前面并道时,攻击性目标交通工具加速。在概率1-p的情况下,目标交通工具可以通过“防御性”驾驶策略被建模成使得目标交通工具减速并让主交通工具并入。在这个实验中,p=0.5,并且可能不向主交通工具的导航系统提供有关其他驾驶员的类型的信息。其他驾驶员的类型可以在本事件开始时随机选择。
导航状态可以表示为主交通工具(代理)的速度和位置,以及目标交通工具的位置、速度和加速度。为了基于当前状态区分攻击性和防御性驾驶员,保持目标加速度观测可能很重要。所有目标交通工具均可以在表现环岛路径的一维曲线上移动。主交通工具可以在其自身的一维曲线上移动,该曲线在并道点处与目标交通工具的曲线相交,该并道点是两条曲线的原点。为了对合理的驾驶建模,所有交通工具加速度的绝对值可能由常数来上界定。速度也可能传递通过ReLU,因为向后行驶是不被允许的。注意,由于不允许向后驾驶,因此长期规划可能成为必要,因为代理不能反悔其过去的动作。
如上文所描述的,下一状态st+1可以分解为可预测部分和不可预测部分νt的总和。表达式可以表示交通工具位置和速度的动态(可以以可微的方式很好地定义),而νt可以表示目标交通工具的加速度。可以证明可以表示为仿射变换上的ReLU函数的组合,因此它相对于st和at是可微的。向量νt可以由模拟器以不可微的方式定义,并且可以针对一些目标实现攻击性行为,针对其他目标实现防御性行为。图17A和图17B中示出了来自此类模拟器的两个帧。在这个示例实验中,主交通工具1701在接近环岛入口时学会减速。它还学会了让路给攻击性交通工具(例如交通工具1703和交通工具1705),并在防御性交通工具(例如交通工具1706、交通工具1708和交通工具1710)前方并道时安全地继续。在由图17A和图17B所表示的示例中,没有向主交通工具1701的导航系统提供目标交通工具的类型。相反,通过基于观察到的(例如,目标交通工具的)位置和加速度的推断来确定特定交通工具是攻击性交通工具还是防御性交通工具。在图17A中,基于位置、速度和/或相对加速度,主交通工具1701可以确定交通工具1703具有攻击性倾向,并且因此,主交通工具1701可以停止并等待目标交通工具1703经过,而不是试图在目标交通工具1703前面并道。然而,在图17B中,目标交通工具1701识别出在交通工具1703后面行驶的目标交通工具1710表现出防御性倾向(同样,基于观察到的交通工具1710的位置、速度和/或相对加速度),并且因此,在目标交通工具1710前面和目标交通工具1703后面完成成功的并道。
图18提供了表示用于基于其他交通工具的预测攻击性对主交通工具进行导航的示例算法的流程图。在图18的示例中,可以基于目标交通工具相对于目标交通工具环境中的对象的所观察到的行为来推断与至少一个目标交通工具相关联的攻击性水平。例如,在步骤1801处,主交通工具导航系统的至少一个处理设备(例如,处理设备110)可以从与主交通工具相关联的相机接收表示主交通工具的环境的多个图像。在步骤1803,对接收到的图像中的一个或多个的分析可以使至少一个处理器能够在主交通工具1701的环境中标识目标交通工具(例如,交通工具1703)。在步骤1805,对接收到的图像中的一个或多个的分析可以使至少一个处理设备能够在主交通工具的环境中标识目标交通工具的至少一个障碍物。对象可能包括道路上的碎石、停车灯/交通灯、行人、其他交通工具(例如,在目标交通工具前面行驶的交通工具、停放的交通工具等)、道路中的箱子、路障、路缘或在主交通工具环境中可能遇到的任何其他类型对象。在步骤1807,对接收到的图像中的一个或多个的分析可以使至少一个处理设备能够确定目标交通工具相对于目标交通工具的至少一个所标识的障碍物的至少一个导航特征。
各种导航特征可以用于推断检测到的目标交通工具的攻击性水平,以便对目标交通工具开发适当的导航响应。例如,此类导航特征可以包括目标交通工具与至少一个所标识障碍物之间的相对加速度、目标交通工具与障碍物之间的距离(例如,目标交通工具在另一交通工具后面的跟车距离)和/或目标交通工具与障碍物之间的相对速度等。
在一些实施例中,目标交通工具的导航特征可以基于与主交通工具相关联的传感器(例如,无线电检测与测距、速度传感器、GPS等)的输出来确定。然而,在一些情况下,目标交通工具的导航特征可以部分地或完全地基于对主交通工具环境中的图像的分析来确定。例如,上文所描述的图像分析技术和例如通过引用并入本文的美国专利第9168868号中所描述的图像分析技术可以用于标识主交通工具的环境中的目标交通工具。并且,监控目标交通工具随着时间的推移在所捕获的图像中的位置和/或监控与目标交通工具相关联的一个或多个特征(例如,尾灯、头灯、保险杠、车轮等)的所捕获的图像中的位置可以实现目标交通工具与主交通工具之间或目标交通工具与主交通工具环境中的一个或多个其他对象之间的相对距离、速度和/或加速度的确定。
可以从目标交通工具的任何合适的观测导航特征或观测导航特征的任何组合,推断所标识的目标交通工具的攻击性水平。例如,可以基于任何观察到的特征和一个或多个预定阈值水平或任何其他合适的定性或定量分析来作出攻击性的确定。在一些实施例中,如果观察到目标交通工具以小于预定攻击性距离阈值的距离跟随主交通工具或另一交通工具,则可以将目标交通工具视为攻击性交通工具。另一方面,观察到目标交通工具以大于预定防御性距离阈值的距离跟随主交通工具或另一交通工具,则可以将该目标交通工具视为防御性交通工具。预定攻击性距离阈值不必与预定防御性距离阈值相同。另外,预定攻击性距离阈值和预定防御性距离阈值中的一个或两个可以包括值的范围,而不是亮线值。此外,预定攻击性距离阈值和预定防御性距离阈值都不必固定。相反,这些值或值的范围可能会随着时间的推移而改变,并且不同的阈值/阈值范围可以根据目标交通工具的观察特征而被应用。例如,应用的阈值可能取决于目标交通工具的一个或多个其他特征。较高的观测相对速度和/或加速度可能保证应用较大的阈值/范围。相反地,较低的相对速度和/或加速度(包括零相对速度和/或加速度)可能保证在进行攻击性/防御性推断时应用较小的距离阈值/范围。
攻击性/防御性推断也可能基于相对速度和/或相对加速度阈值。如果目标交通工具相对于另一交通工具的观察到的相对速度和/或相对加速度超过预定水平或范围,则可以认为目标交通工具具有攻击性。如果目标交通工具相对于另一交通工具的观察到的相对速度和/或相对加速度低于预定水平或范围,则可以认为目标交通工具具有防御性。
虽然攻击性/防御性的确定可能仅基于任何观察到的导航特征,但该确定也可能取决于观察到的特征的任何组合。例如,如上文所提到的,在一些情况下,仅基于观察到目标交通工具正以低于特定阈值或范围的距离跟随另一辆交通工具,就可能认为目标交通工具具有攻击性。然而,在其他情况下,如果目标交通工具以小于预定量(可能与仅基于距离进行确定时应用的阈值相同或不同)跟随另一辆交通工具,并且具有大于预定量或范围的相对速度和/或相对加速度,则该目标交通工具可以被认为具有攻击性。类似地,目标交通工具可以仅基于观察到目标交通工具正以大于某个阈值或范围的距离跟随另一交通工具而被视为防御性交通工具。然而,在其他情况下,如果目标交通工具以小于预定量(可能与仅基于距离进行确定时应用的阈值相同或不同)跟随在另一辆交通工具,并且具有小于预定量或范围的相对速度和/或相对加速度,则该目标交通工具可以被认为具有防御性。例如,如果交通工具加速度或减速度超过0.5G(例如,急动度5m/s3),交通工具在变道或弯道上的横向加速度为0.5G,交通工具使得另一交通工具执行上述任一操作,交通工具改变车道并使得另一辆交通工具以超过0.3G的减速度或3m/s3的急动度让路,和/或交通工具在不停车的情况下改变两条车道,则系统100可以进行攻击/防御。
应当理解,对超过某一范围的数量的引用可能表明该数量超过了与该范围相关的或者在该范围内的所有值。类似地,对低于某个范围的数量的引用可能表示该数量低于与该范围相关的或者在该范围内的所有值。附加地,虽然所描述的作出攻击性/防御性推断的示例是关于距离、相对加速度和相对速度而描述的,任何其他合适的量都可以被使用。例如,可以使用碰撞时间计算或目标交通工具的距离、加速度和/或速度的任何间接指标。还应注意,尽管上文的示例聚焦于目标交通工具相对于其他交通工具的情况,但可以通过观察目标交通工具相对于任何其他类型障碍物(例如,行人、路障、交通灯、碎片等)的导航特征来进行攻击性/防御性推断。
返回图17A和图17B中所示的示例,当主交通工具1701接近环岛时,导航系统(包括它的至少一个处理设备)可以从与主交通工具相关联的相机接收图像流。基于对所接收的图像中的一个或多个的分析,可以标识目标交通工具1703、目标交通工具1705、目标交通工具1706、目标交通工具1708和目标交通工具1710中的任何一者。进一步,导航系统可以分析所识别的目标交通工具中的一个或多个的导航特征。导航系统可能识别出目标交通工具1703和目标交通工具1705之间的间隙表示了并道进入环岛的第一次机会。导航系统可以分析目标交通工具1703,以确定与目标交通工具1703相关联的攻击性指标。如果目标交通工具1703被认为具有攻击性,则主交通工具导航系统可以选择让路给交通工具1703,而不是在交通工具1703前面并道。另一方面,如果目标交通工具1703被视为防御性交通工具,则主交通工具导航系统可以尝试在交通工具1703的前面完成并道动作。
当主交通工具1701逐渐接近环岛时,导航系统的至少一个处理设备可以分析所捕获的图像,以确定与目标交通工具1703相关联的导航特征。例如,基于这些图像,可以确定交通工具1703正以为主交通工具1701安全进入提供足够间隙的距离跟随交通工具1705。事实上,可以确定交通工具1703正以超过攻击性距离阈值的距离跟随交通工具1705,并且因此,基于该信息,主交通工具导航系统可能倾向于将目标交通工具1703识别为防御性的。然而,在一些情况下,如上文所讨论的,在作出攻击性/防御性确定时,可能会分析目标交通工具的超过一个的导航特征。为了进一步分析,主交通工具导航系统可以确定,当目标交通工具1703在目标交通工具1705后面的非攻击性距离处跟随时,交通工具1703的相对于交通工具1705的相对速度和/或相对加速度超过与攻击性行为相关联的一个或多个阈值。事实上,主交通工具1701可以确定目标交通工具1703正在相对于交通工具1705加速,并缩小交通工具1703和交通工具1705之间存在的间隙。基于对相对速度、加速度和距离(甚至交通工具1703和交通工具1705之间的间隙正在缩小的速率)的进一步分析,主交通工具1701可以确定目标交通工具1703表现得攻击性。因此,虽然可能存在足够的间隙,在该间隙中主交通工具可以安全导航,但是主交通工具1701可以预期在目标交通工具1703前方的并道将引起直接对主交通工具后方的交通工具攻击性地进行导航。此外,基于通过图像分析或其他传感器输出观察到的行为,如果主交通工具1701并道到交通工具1703前面,可以预期目标交通工具1703将继续向着主交通工具1701加速,或者将继续以非零相对速度向着主交通工具1701加速。从安全角度来看,这种情况可能是不期望的,也可能会导致主交通工具的乘客的不适。出于此类原因,如图17B所示,主交通工具1701可以选择让路给交通工具1703,并且在交通工具1703后面以及交通工具1710前面并道进入环岛,基于交通工具1710的导航特征中的一个或多个导航特征的分析,交通工具1710被认为是防御性的。
回到图18,在步骤1809处,主交通工具导航系统的至少一个处理设备可以基于目标交通工具相对于所识别障碍物的所识别的至少一个导航特征来确定主交通工具的导航动作(例如,在交通工具1710前面和交通工具1703后面并道)。为了实现导航动作(在步骤1811),所述至少一个处理设备可以响应于所确定的导航动作而引起主交通工具的导航致动器的至少一次调整。例如,在图17A中,可以应用制动以让路给的交通工具1703,并且,如图17B所示,可以与主交通工具车轮的转向一起应用加速器以使主交通工具在交通工具1703后面进入环岛。
如上文的示例所描述的,主交通工具的导航可以基于目标交通工具相对于另一交通工具或对象的导航特征。附加地,主交通工具的导航可以仅基于目标交通工具的导航特征,而无需特定地参考另一交通工具或对象。例如,在图18的步骤1807,对从主交通工具的环境捕获的多个图像的分析可以实现指示与目标交通工具相关联的攻击性水平的已识别目标交通工具的至少一个导航特征的确定。导航特征可以包括无需为了作出攻击性/防御性确定而参考其他对象或目标交通工具的速度、加速度等。例如,观察到的与目标交通工具相关联的加速度和/或速度超过预定阈值或落在或超过数值范围内可能指示攻击性的行为。相反地,观察到的与目标交通工具相关的加速度和/或速度低于预定阈值或落在或超过数值范围可能指示防御性的行为。
当然,在某些情况下,观察到的导航特征(例如,位置、距离、加速度等)可以相对于主交通工具进行参考,以便进行攻击性/防御性确定。例如,指示与目标交通工具相关联的攻击性水平的目标交通工具的观测导航特征可以包括目标交通工具和主交通工具之间的相对加速度增加,目标交通工具在主交通工具后面的跟车距离,目标交通工具和主交通工具之间的相对速度等。
基于事故责任约束的导航
如上述章节所描述的,规划的导航动作可以根据预定约束进行测试,以确保符合某些规则。在一些实施例中,该概念可以扩展到潜在事故责任的考虑。如下文所讨论的,自主导航的主要目标是安全。由于绝对安全可能是不可能的(例如,至少因为处于自主控制下的特定主交通工具无法控制其周围的其他交通工具——它只能控制自己的动作),因此在自主导航中使用潜在事故责任作为考虑因素并且实际上作为对规划动作的约束,可能有助于确保特定的自主交通工具不采取被视为不安全的任何动作,例如,可能将潜在事故责任归于主交通工具的动作。如果主交通工具仅采取安全且确定不会导致主交通工具自身故障或责任的事故的措施,则可以达到期望的事故避免的水平(例如,驾驶的每小时少于10-9次)。
自主驾驶的大多数当前的方法带来的挑战包括缺乏安全保证(或至少无法提供期望的安全水平),以及缺乏可扩展性。考虑保障多代理安全驾驶的问题。由于社会不太可能容忍由机器造成的道路事故死亡,因此可以接受的安全水平对于自主交通工具的接受而言至关重要。虽然目标可能是提供零事故,但这可能是不可能的,因为一个事故通常涉及多个代理,一个人可能会设想仅因其他代理的责任而发生事故的情况。例如,如图19所示,主交通工具1901在多车道公路上行驶,虽然主交通工具1901可以控制其自身相对于目标交通工具1903、目标交通工具1905、目标交通工具1907和目标交通工具1909的动作,但无法控制其周围目标交通工具的动作。因此,例如,如果交通工具1905在与主交通工具的碰撞过程中突然切入主交通工具的车道,主交通工具1901可能无法避免与目标交通工具中的至少一个目标交通工具发生事故。为了解决这一难题,自主交通工具从业者的一个典型反应是采用统计数据驱动的方法,在这种方法中,随着收集的里程数增加,安全验证变得更加严格。
为了理解数据驱动的安全方法的问题性质,然而,首先考虑由(人)驾驶每小时的事故引起的死亡的概率已知是10-6。可以合理地假设,如果社会接受机器在驾驶的任务中代替人类,那么死亡率应该降低三个数量级,即每小时10-9的概率。估计值与安全气囊的假设的死亡率和航空标准的假设死亡率相似。例如,10-9是机翼在空中自主脱离飞机的概率。然而,试图使用为驾驶的累积里程提供附加的置信度的数据驱动的统计方法来保证安全的尝试是不现实的。保证每小时驾驶10-9的死亡概率所需的数据量与其倒数(即109小时的数据)成正比,大约为300亿英里。此外多代理系统与其环境交互,并且可能无法离线验证(除非有一个模拟真实人类驾驶的真实模拟器,它具有丰富性和复杂性,诸如鲁莽驾驶,但验证模拟器的问题甚至比创建安全的自主交通工具代理更难)。并且对于规划与控制软件的任何改变都将需要相同量级的数据收集,这显然是难以处理的并且不切实际的。进一步,通过数据来开发系统不可避免地会遭遇所采取动作缺乏可阐释性和可解释性的问题——如果自主交通工具(AV)发生事故导致死亡,那么我们需要知道原因。因此,需要一种基于模型的安全方法,但汽车行业中现有的“函数安全”和ASIL要求并不是为了应对多代理环境而设计的。
开发自主交通工具安全驾驶模型的第二个主要挑战是可扩展性的需要。AV的根本前提超出了“建设一个更美好的世界”,而是基于没有驾驶员的移动可以比有驾驶员的移动成本更低。这个前提不可避免地与可扩展性的概念相耦合——在支持AV的大规模生产(以百万计)的意义上,并且更重要地在支持可忽略不计的增量成本以实现在新城市驾驶的意义上。因此,计算和感测的成本确实很重要,如果AV要大规模生产,验证的成本和在“各个地方”驾驶而非在选择的几个城市驾驶的能力也是维持生意的必要条件。
当前大多数方法的问题在于三个轴上的“蛮力”心态:(i)所需的“计算密度”;(ii)定义和创建高清地图的方式,以及(iii)传感器所需的规格。蛮力方法不利于可扩展性,并将重心转移到无限的机载计算无处不在的未来,在未来,构建和维护HD地图的成本变得可忽略不计且可扩展,并且可以以可忽略不计的成本开发、生产到汽车级的外来超高级传感器。上文的任何一项实现的未来确实是合理的,但拥有上文的所有项可能是低概率事件。因此,存在提供一个正式的模型的需要,该正式的模型将安全性和可扩展性整合到一个AV程序中,该AV程序可以被社会接受,并且在支持数百万辆车在发达国家的任何地方驾驶的意义上是可扩展的。
所公开的实施例表示了一种解决方案,该解决方案可以提供目标安全水平(甚至可能超过安全目标),并且还可以扩展到包括数百万辆(或更多)自主交通工具的系统。在安全方面,引入了一个称为“责任敏感安全”(RSS)的模型,该模型形式化了“事故责任”的概念,是可诠释并且可解释的,并将“责任”感融入机器人代理的动作中。RSS的定义与它的实现方式无关——这是促进创建令人信服的全球安全模型目标的关键特征。RSS是由观察到(如图19所示)代理在事故中扮演非对称角色,在事故中通常代理中的仅一个代理对事故负责,因此应对事故负责。RSS模型也包括在有限的感测条件下对“谨慎驾驶”的正式处理,在有限的感测条件下,并非所有代理都始终可见(例如,由于遮挡)。RSS模型的一个主要目标是保证代理永远不会造成它“有过错”的事故或者它应负责的事故。只有当模型具有符合RSS的有效策略(例如,将“感测状态”映射到动作的函数)时,模型才可能有用。例如,当前看似无辜的动作可能会在遥远的将来导致灾难性事件(“蝴蝶效应”)。RSS可能有用于构建短期未来的局部约束集合,以保证(或至少实际上保证)未来不会因主交通工具的动作而发生事故。
另一项贡献围绕着“语义”语言而发展,该语言由单元、测量以及动作空间以及如何将这些融入AV的规划、感测和致动的说明构成。为了获得语义感,在此情景中,指令考虑人类如何采取驾驶的教训,来思考“驾驶策略”。这些指令不是几何的——它们不是“以当前速度行驶13.7米,然后以0.8m/s2的速度加速”的形式。相反,这些指令具有语义性质——“跟随你前面的汽车”或“超过你左边的汽车”。人类驾驶策略的典型语言是关于纵向和横向目标,而不是通过加速度向量的几何单元。正式语义语言可能在多个方面有用,这些方面与规划的计算复杂性(不随时间和代理数量呈指数增长)以及安全性和舒适性的交互方式有关,与定义传感计算的方式、传感器模式的规格以及它们在融合方法中怎样交互有关。融合方法(基于语义语言)可以确保RSS模型在每小时驾驶中达到所需的10-9的死亡概率,同时仅对105小时的量级的驾驶数据的数据集执行离线验证。
例如,在强化学习设置中,可以在语义空间上定义Q函数(例如,当代理处于s∈S状态时,评估执行动作a∈A的长期质量的函数;给定这样的Q函数,动作的自然选择可能是选择具有最高质量的一个动作,π(s)=argmaxa Q(s,a)),在该语义空间中要检查的轨迹的数量在任何给定的时间都由104界定,不考虑用于规划的时间范围。该空间中的信噪比可能很高,这使得有效的机器学习方法能够成功地建模Q函数。在感测计算的情况下,语义可以允许区分影响安全的错误和影响驾驶舒适性的错误。我们定义了一个PAC模型(可能近似正确(PAC)),借用了Valiants PAC学习术语)用于感测,该模型与Q函数相关联,并示出了如何以符合RSS的方式将测量错误融入规划,同时允许优化驾驶舒适性。语义学语言对于该模型某些方面的成功可能很重要,因为其他误差(诸如全局坐标系的误差)的标准度量,可能不符合PAC传感模型。此外,语义语言可能是定义HD地图的重要使能因素,HD地图可以使用低带宽感测数据构建并且因此可以通过众包和支持可扩展性来构建。
总之,公开的实施例可以包括涵盖AV的重要成分的正式模型:感测、规划和动作。该模型有助于确保从规划角度来看,不会发生出于AV自身责任的事故。此外,通过PAC感测模型,即使存在感测误差,所描述的融合方法可能只需要离线收集非常合理量级的数据,以符合所述安全模型。此外,该模型可以通过语义语言将安全性和可扩展性联系在一起,从而为安全和可扩展的AV提供完整的方法。最后,值得注意的是,开发被行业和监管机构接受的安全模型可能是AV成功的必要条件。
RSS模型通常可以遵循经典的感测-规划-动作的机器人控制方法。感测系统可能负责了解主交通工具环境的当前状态。规划部分可以称为“驾驶策略”,并且可以通过一组硬编码指令、经训练的系统(例如,神经网络)或组合来实现,该规划部分可以负责根据实现驾驶目标的可用选项(例如,如何从左车道移动到右车道以退出公路)确定下一步的最优动作。动作部分负责实现规划(例如,用于交通工具转向、加速和/或制动等以实现选定的导航动作的致动器和一个或多个控制器的系统)。下文描述的实施例主要聚焦于感测和规划部分。
事故可能源于感测错误或规划错误。规划是一项多代理的尝试,因为还有对AV的动作做出反应的其他道路使用者(人和机器)。所描述的RSS模型旨在解决规划部分的安全问题。这可以称为多代理安全性。在统计方法中,规划错误概率的估计可以“在线”完成。也就是说,软件的每次更新之后,新版本必须驾驶数十亿英里,以提供可接受的规划错误频率估计水平。这显然是不可行的。作为替代,RSS模型可以提供100%的保证(或几乎100%的保证),即规划模块不会犯下出于AV的责任的错误(正式定义了“责任”的概念)。RSS模型还可以提供一种有效方法,该方法的验证不依赖于在线测试。
感测系统中的错误可能更容易验证,因为感测可以独立于交通工具动作,并且因此我们可以使用“离线”数据验证严重感测错误的概率。但是,即使是收集超过109小时的驾驶的离线驾驶数据也是具有挑战性的。作为所公开的感测系统的描述的部分,描述了可以使用显著较少量的数据来验证的融合方法。
所描述的RSS系统也可以扩展至数百万辆汽车。例如,所描述的语义驾驶策略和应用的安全约束可能符合即使在今天的技术中也可扩展到数百万辆汽车的感测和映射要求。
对于此类系统的基础构建块而言是一个全面的安全定义,即,AV系统可能需要遵守的最低标准。在下面的技术引理中,验证AV系统的统计方法被证明是不可行的,即使对于验证诸如“系统每小时发生N起事故”的简单的声明而言。这意味着基于模型的安全定义是验证AV系统的唯一可行工具。
Pr(z=0)≥e-2
证明我们使用不等式1-x≥e-2x(在附录A.1中证明完整性),以得到
推论1假设AV系统AV1发生的事故具有很小但不足的概率p1。给定1/p1样本的任何确定性验证程序,将以恒定的概率不区分AV1和不会发生事故的不同的AV系统AV0。
为了获得对此类概率的典型值的了解,假设我们期望每小时的事故概率为10-9,并且某个AV系统仅提供10-8概率。即使系统获得108小时的驾驶时间,存在验证过程将不能指示系统是危险的恒定的概率。
最后,注意该困难是针对验证单一、特定和危险的AV系统而言的。完整的解决方案不能视为单个系统,因为新版本、错误修正和更新将是必要的。从验证器的角度来看,每一改变,甚至是一行代码的改变,都会生成一个新的系统。因此,经过统计验证的解决方案,必须在每个小的修正或改变之后对新样本上在线进行统计验证,以计及新系统观察到的和达到的状态分布的变化。重复地和系统地获取如此大量的样本(即使如此,以恒定的概率,也无法验证系统)是不可行的。
进一步,任何统计声明都必须正式化,以进行衡量。声称系统发生的事故数量的统计属性比声称“它以安全的方式驾驶”要弱得多。为了说明这一点,必须正式定义什么是安全。
绝对安全是不可能的
如果动作之后没有事故在某个未来时间发生,则由c汽车采取的动作可能被视为绝对安全。可以看出,通过观察简单的驾驶场景(例如,如图19所描绘的)不可能实现绝对安全。从交通工具1901的角度来看,没有动作能够确保周围的汽车中没有汽车会撞上它。通过禁止自主驾驶汽车处于此类情况来解决这个问题也是不可能的。由于每一条具有两个以上车道的公路在某个时间点都会导致这种情况,禁止这种情境相当于要求留在车库里。该可能的结果可能乍一看令人失望。没有什么是绝对安全的。然而,如上文所定义的,此类绝对安全的要求可能过于苛刻,如人类驾驶员不遵守绝对安全要求的事实所证明的。相反,人类的表现为符合取决于责任的安全理念。
责任敏感的安全
绝对安全概念中缺少的重要方面是大多数事故的不对称性——通常是驾驶员中的一个驾驶员对事故有责任并且应当受到责备。在图19的示例中,例如,如果左车1909突然驾驶到中央车1901,则中央车1901不应受到责备。为了将考虑到AV 1901缺乏责任的事实正式化,AV 1901在自身车道上的行为可以被认为是安全的。为了这样做,描述了“事故归责”或事故责任的正式概念,这可以作为安全驾驶方法的前提。
作为示例,考虑了两个汽车cf、cr在直线的道路上一个在另一个后面以相同的道路驾驶。假设在前面的汽车cf因为道路上出现障碍物突然刹车,并设法避开障碍物。不幸地,cr没有与cf保持足够的距离,无法及时响应,并且撞到cf的后侧。显然,归责于cr;保持与前方汽车安全距离并为意外但合理的制动做好准备是后方车辆的责任,。
接下来,考虑更广泛的场景族:在多车道的道路上行驶,其中汽车可以自由地改变车道,切入其他汽车的路径,以不同的速度行驶,等等。为了简化下文的讨论,假设在平坦的表面上有一条直线的道路,其中横向和纵向轴分别为x轴和y轴。这可以在温和的条件下通过定义实际弯曲道路和直线道路之间的同态来实现。附加地,考虑离散时间空间。定义可能有助于两组直观上不同的情况的区分:简单的情况,该情况中不执行显著的横向操纵;更复杂的情况,涉及横向动作。
定义1(汽车走廊)汽车c的走廊的范围为[cx,left,cx,ight]×[±∞],其中cx,left、cx,right是c的最左角、最右角的位置。
定义2(切入)如果汽车c1(图20A和图20B中的汽车2003)在时间t-1未与c0的走廊相交,并且在时间t与c0的走廊相交,则汽车c1(图20A图和20B中的汽车2001)在时间t切入c0的走廊。
可以进一步区分走廊的前/后部分。术语“切入方向”可以描述相关道路边界方向上的移动。这些定义可以定义横向移动的情况。对于不存在此类情况的简单情况,诸如一辆汽车跟在另一辆汽车后面的简单情况,定义了安全纵向距离:
定义3(安全纵向距离)汽车cr(汽车2103)和处于cr的正面走廊中的另一辆汽车cf(汽车2105)之间的纵向距离2101(图21)相对于响应时间p是安全的,如果由cf执行任何制动命令a(|a|<amax,brake),如果cr将从时间p开始应用cr最大制动直到完全停止,则cr不会与cf碰撞。
下面的引理2将d计算为cr、cf的速度、响应时间ρ和最大加速度amax,brake的函数。ρ和amax,brake二者都是常数,应通过调节确定为一些合理的值。
引理2设cr为纵轴上位于cf后面的交通工具。设amax,brake,amax,accel为最大制动和加速命令,设ρ为cr的响应时间。设υr、υf为汽车的纵向速度,设lf,lr为他们的长度。定义υp,max=υr+ρ·amax,accel,并且定义以及设L=(lr+lf)/2。则,cr的最小安全纵向距离为:
证明设dt是时间t处的距离。为了防止事故,我们必须使对于每个t而言dt>L。为了构造dmin,我们需要在d0上寻找所需的最紧下界。显然,d0必须至少为L。只要两个汽车在T≥ρ秒之后没有停止,先前汽车的速度将为υf–T amax,brake,而cr的速度将由υρ,max–(T–ρ)amax,accel上界定因此,T秒后汽车之间的距离下界为:
注意Tr是cr到达完全停止(速度为0)的时间,Tf是另一辆车到达完全停止的时间。注意amax,brake(Tr–Tf)=υρ,max–υf+ρamax,brake,所以如果Tr≤Tf,要求d0>L是足够的。如果Tr>Tf,则
要求dTr>L并且重新排列项来得出证明额结论。
最后,定义了一个比较运算符,该比较运算符允许与某些“裕度”概念进行比较:在比较长度、速度等时,有必要将非常相似的量视为“相等”。
定义4(μ-比较)两个数a、b的μ-比较,如果a>b+μ,则是a>μb,如果a<b–μ,则是a<μb,并且如果|a–b|≤μ,则a=μb。
下文的比较(argmin、argmax等)是针对一些合适的μs的μ-比较。假设汽车c1、c2之间发生了事故。为了考虑谁应该为事故受到责备,定义了需要检查的相关时刻。这是事故发生前的某个时间点,直觉上是“不归路点”;在该点之后,无法采取任何措施防止事故的发生。
定义5(归责时间)事故的归责时间是事故之前的最早时间,其中:
汽车中的一辆汽车的走廊与其他汽车的走廊之间存在交叉点,以及
纵向距离不安全。
显然存在此类时刻,因为在事故发生的时候,这两种条件都成立。归责时间可以分为两个分类:
其中也发生切入的归责时间,即它们是一辆汽车的走廊和另一车辆的走廊的相交的第一时刻,并且交点在非安全距离中。
其中未发生切入的归责时间,即走廊已经存在了交叉点,在安全的纵向距离并且距离在归责时间处已经改变为不安全。
定义6(以横向速度的μ-落败)假设切入发生在汽车c1、汽车c2之间。在c1相对于切入的方向的横向速度比c2相对于切入方向的横向速度高了μ的情况下,我们说c1以横向速度μ-落败
应该注意的是,速度的方向很重要:例如,-1,1的速度(两辆车相撞)是平局,但是如果速度为1,1+μ/2,则以正方向朝着另一辆车的车应当受到责备。直觉上,这个定义会允许我们责备很快地横向地驾驶到另一辆汽车的汽车。
定义7(以横向位置(μ1,μ2)-获胜)假设切入发生在汽车c1、汽车c2之间。在c1相对于切入车道的中央的横向位置(最接近切入相关的走廊的中心)小于μ1(以绝对值)并且比c2相对于切入车道的中心的横向位置小了μ2的情况下,我们说以横向位置(μ1,μ2)-获胜。
直觉上,如果一辆汽车非常靠近车道中心(μ1),并且比另一辆汽车更近(μ2),则这辆汽车将不会受到责备。
定义8(归责)汽车c1、汽车c2之间的事故的归责或责任是归责时间的状态的函数,并且被定义如下:
如果归责时间不是切入的时间,则归责于后面的汽车。
如果归责时间也是切入时间,则归责于两辆汽车,除非针对汽车中的一辆汽车而言,不失一般性地,c1,对于一些预定义的μs而言拥有以下的两个条件:
它不会以横向速度落败,
它以横向位置获胜。
在这种情况下,c1是被赦免的。换言之,如果发生不安全切入,两辆汽车都应该受到责备,除非两辆汽车中的一辆汽车不是横向上(显著地)快,并且该辆汽车(显著地)靠近车道中心。这样,就可以捕获期望的行为:如果跟着汽车,则保持安全距离;并且如果切入只是在自己车道上行驶的汽车的走廊,则以安全的距离切入。遵循上文所描述的安全指南的自动化的基于控制器的系统不应导致过度防御性的驾驶,如下文所描述的。
处理有限的感测
在考虑了公路示例之后,第二个示例接下来解决了有限感测的问题。一种非常常见的人类反应,当针对事故而受到责备时,该人类反应落入“但我看不见他”的范畴。很多时候,这是真的。人类的感测能力是有限的,有时是因为没意识到地决定将注意力集中在道路的不同部分,有时是因为粗心,有时是因为身体的限制——不可能看到一个行人躲在一辆停着的汽车后面。在这些人类限制中,先进的自动感测系统可能只受制于后面的:道路的360°视野以及计算机从不粗心的事实,这些使自动感测系统超越了人类的感测能力。回到“但我看不见他”的示例,合适的答案是“嗯,你应该更加小心的。”为了正式化相对于有限的感测要注意什么,考虑图22中所描绘的场景。汽车2201(c0)正试图离开停车场,并道进入(可能)繁忙的道路,但是无法看到街道上是否有车,因为建筑物2203挡住了它的视线。假设这是一条城市狭窄街道,限速为30km/h。人类驾驶员的行为是慢慢并道进入道路,获得越来越多的视场,直到感测限制被消除。应该定义一个重要的时间点——被遮挡对象暴露于我们面前的第一时间;在该被遮挡对象的暴露之后,人将会像处理人可以感测的任何其他对象一样处理它。
定义9(暴露时间)对象的暴露时间是我们看到它的第一时间。
定义10(由于不合理的速度的过错)假设在暴露时间或之后,汽车c1(汽车2205)以速度υ>υlimit行驶,而c0没有这样做。则,过错只在c1。我们说c1由于不合理的速度而受到责备。
此扩展允许c0安全离开停车场。使用我们之前的责任敏感安全定义,以及动态υlimit定义(使用道路条件和速度限制,加上合理的裕度),唯一必要的是检查在最坏的情况下,如图所示,切入是否处于安全的纵向距离,同时假设c1不会超过υlimit。直觉上,这鼓励c0较慢地并且较远地驶离遮挡,从而缓慢增加其视场并且之后允许安全地并道进入街道。
将事故责任定义扩展到有限感测的基本情况后,一系列扩展可以解决类似情况。关于什么可以被遮挡(潜在地很快的汽车不能被遮挡在两辆停得很近的汽车之间,但是行人能)以及什么是它能执行的最坏情况的操纵(行人的υlimit比汽车的υlimit得多)的简单假设,意味着对驾驶的限制——必须针对最坏的情况做好准备,并且如果暴露时间突然到来,有做出反应的能力。在城市场景中的更详细的示例可以从可能被停放的车辆遮挡的行人场景采取。有行人的事故的事故过错可以被定义为:
定义11(与行人的事故的归责)有行人的事故的总归责于汽车,除非以下三种情况中的一个成立:
汽车以汽车的侧面撞击行人,并且相对于撞击的方向,汽车的横向速度小于μ。
行人在暴露时间或之后的速度大于υlimit。
汽车是完全停止的。
非正式地说,只有如果行人跑到汽车侧面上而撞到行人的汽车行驶得不比μ快,或者如果汽车处于停车位置,或者如果行人在某个方向(不一定是撞击的方向)跑得超越人类地快,汽车才不应受到责备。
虽然所描述的系统可能无法确保绝对安全,但可能会导致在自主交通工具中发生极少(如有)事故的场景。例如,如果所有汽车(和其他道路使用者)都能够成功地验证他们不会因为采取的动作所导致的事故而受到责备,那么事故可能会被消除。根据定义,针对每一次事故都存在至少一辆有责任的汽车。因此,如果没有汽车采取它可能会对导致的事故有责任的动作(符合如上文所描述的RSS模型),则永远不应该存在导致通过笨拙和不切实际的统计方法寻求的绝对安全或接近绝对安全的类型的任何事故。
并非所有道路都是简单结构。一些,如交叉路口和环岛,包含更复杂的情况,以及各种通行权规则。并不是所有被遮挡的对象都是汽车或行人,自行车和摩托车都被视为合法的道路使用者。本节中介绍的原则可以扩展到这些附加的情况。
责任敏感安全的有效验证条件
本节讨论RSS的实现方面。首先,需要注意的是,现在执行的动作可能具有蝴蝶效应,该蝴蝶效应例如在驾驶10分钟后会导致一连串的包含事故的事件。用“蛮力”方法检查所有可能的未来结果不仅是不实际的而且多半是不可能的。为了克服这一挑战,现在描述了上文所描述的责任敏感安全定义以及验证这些定义的计算有效方法。
计算上可行的安全验证。
计算上可行的验证的主要数学工具是“归纳法”。要通过归纳法证明一项声明,首先要证明简单情况的声明,然后,每个归纳法步骤都将证明扩展到越来越多的所涉及的情况。为了说明这种归纳法工具如何有助于安全验证,再次考虑汽车cr跟随另一辆车cf的简单示例(图21)。以下约束可以应用于cr的策略。在每个时间步骤t,策略可以选择任何加速命令,使得即使cf将应用–amax的减速度,在下一时间步骤处,汽车cr和汽车cf之间的结果距离将至少为安全纵向距离(定义3和引理2中定义)。如果不存在此类动作,cr必须应用减速度–amax。下面的引理使用归纳法来证明遵守上文的约束的任何策略都将永远不会造成与cf的事故。
引理3在定义3中给出的假设下,如果cr的策略遵守上文所给出的约束,它将永远不会造成与cf的事故。
证明证明是通过归纳法。对于归纳基础,从两辆车之间的距离是安全的初始状态开始(根据引理2)。归纳法步骤如下。考虑在某个时间t处cr和cf之间的距离。如果存在导致安全距离的动作(即使是cf造成最大减速度),我们很好。如果所有动作都不能保证安全距离,设t′<t是我们采取非最大减速度动作的最大时间。根据归纳法假设,在时间t'+1处,我们在安全距离中,并且从那里开始我们执行最大减速度。因此,根据安全距离的定义,从时间t'到现在不存在碰撞,这就总结了证明。
上文的示例表明了更一般的想法:在极端情况下,存在一些紧急操作可以由cr执行,并将cr引导回“安全状态。”应该注意,我们上文所描述的策略约束取决于仅一个未来时间步骤,因此可以以计算上有效的方式被验证。
为了概括RSS的足够本地属性的想法,我们首先定义了默认紧急策略(DEP),并将该默认紧急策略(DEP)用作定义动作采取的本定属性的构建块,我们称该动作采取为“谨慎”。然后示出,对于RSS,只采取谨慎的命令就足够了。
定义12(默认紧急策略)默认紧急策略(DEP)是指应用最大制动功率、相对于车道的0航向的最大航向改变。最大制动功率和航向改变是从汽车的物理参数(也可能是从天气和道路状况)导出的。定义13(安全状态)如果从状态开始执行DEP不会导致我们的过错的事故,则该状态是安全的。就像一辆车跟在另一辆车后面的简单情况一样,如果命令导致安全状态,则我们定义该命令为谨慎。定义14(谨慎命令)假设我们目前处于状态s0。如果下一个状态s1相对于其他交通工具现在可能执行的可能的命令组集合A是安全的,则命令a是谨慎的。上文的定义取决于其他交通工具可能执行的在集合A中的最坏情况下的指令。我们将根据最大制动/加速度和横向移动的合理上界构建集合A。
以下的定理再次通过归纳法证明,如果我们只发出谨慎的命令,就存在不会我们过错的事故。定理1假设在时间0,c处于安全状态,并且对于每个时间步骤,c只发出谨慎命令,在某个时间步骤不存在谨慎命令的情况下,c应用DEP。那么,c将永远不会造成它过错的事故。证明通过归纳法。归纳法的基础来自安全状态的定义,并且步骤来自谨慎命令的定义。
这种方法的一个益处是,可能不需要检查无限的未来,因为我们可以快速返回到安全状态,并从那里安全地继续。此外,考虑到我们将在t+1时再次规划的事实,并且因此(如果必要)将能够执行DEP,我们应该只检查在t时给出的命令,而不是我们可能考虑的可能更长的规划——我们可以在t+1时改变该规划。现在,当学习组件在运行时通过这个透明模型被验证时,将学习组件并入到系统中是可能的。最后,这个本地验证意味着完整的未来RSS,这是我们期望的目标。实现的障碍是谨慎性的定义涉及其他代理直到tbrake时所能执行的所有种类,这甚至对于适度的tbrake,是巨大的空间。为了解决这个,我们下一步将开发一种高效的可计算的方法,以可扩展的方式验证谨慎性,并且因此验证RSS。
有效的谨慎性验证
第一个观察结果是,当且仅当存在特定的交通工具状态是不安全的,该交通工具可以来自执行集合A的命令,从而在我们执行DEP时导致我们的过错的事故。因此,在单个目标车(表示为)的场景中,并且在一般情况下,该程序对于场景中的其他交通工具而言可以按顺序执行。
当考虑单个目标汽车,当且仅当存在导致c的过错的事故的表示为(都在集合A中)的针对的一系列命令,动作a是不谨慎的正如已经证明的那样,如果在时间0时,位于c的前部走廊成立,存在检查a的谨慎性的简单方法——我们只需要验证,即使将在一个时间步骤应用最大制动(并且我们将执行a),产生的纵向距离将保持安全。下面的引理给出了在相关的情况下谨慎的充分条件,其中也要考虑横向操纵。
证明假设a不谨慎,即存在导致了c的过错的事故的在事故之前,必须存在切入时间T。首先假设T>0。如果该切入是在安全纵向距离处,则不会存在我们过错的事故,因为DEP是通过-amax的减速度执行的,并且基于安全纵向距离的定义(并且我们在此假设响应时间ρ大于步骤的的时间分辨率)。如果切入是不安全的,根据引理的假设,这不是c的过错,因此事故也不是c的过错。
根据引理4,检查是否存在c的过错的不安全切入的问题仍然存在。下面给出了一种有效的算法,用于检查在时间t时的不安全切入的可能性。为了验证整个轨迹,我们离散了时间间隔[0,tbrake],并将该算法应用于所有时间间隔(在安全距离的定义中有稍大值p,以确保离散化不会造成伤害)设是界定的最小矩形的对角线的长度。对于每个t∈[0,tbrake]的时间t,定义clength(t)为时间t中的c的纵向“跨度”,并且设以类似的方式定义cwidth[t],并且
算法1:检查在时间t时非安全切入的可能性
输入:
y[t],vy[t],x[t],vx[t]are longitudinal/lateral position/velocity of cat time t
ay,min,ay,max are longitudinal acceleration boundaries
ax,max is a lateral acceleration absolute value boundary
L=L(t),W=W(t)
y[t]、vy[t]、x[t]、vx[t]是在时间0时c的纵向/横向位置/速度
ay,min、ay,max是纵向加速度边界
ax,max是横向加速度绝对值边界
L=L(t),W=W(t))
检查纵向可行性:
继续检查横向可行性
返回“非可行的”)
检查横向可行性:
如果位置x[t]不被视为相对于位置x[t]-W,(μ1,μ2)-以横向位置获胜。
不失一般性地假设vx[t]=-μ,如定义6中的。
否则
不失一般性地假设vx[t]=-2μ,如定义6中的。
如果ttop<0
返回“非可行的”
如果xmax<-W
返回“非可行的”
返回“可行的”)
以下定理证明了上文算法的正确性。
定理2如果算法1返回“不可行”,则在时间t不可能存在自我交通工具的过错的的非安全切入。为了证明该定理,我们依赖于以下关键引理,它们证明了算法1的两个构建块的正确性。从纵向可行性开始:
引理5在算法1的标记法下,如果检查纵向可行性程序通过返回“不可行”而结束,则在时间t时,不可能存在自我交通工具过错的非安全切入。
证明忽略切入操纵的横向方面,我们只检查c和之间的纵向距离不安全的可能性。显然位置界定可以在时间t由获得的位置。通过的事实,我们获得可获得的任何纵向非安全距离≥L。假设并且通过矛盾假设表示为的非安全纵向位置和距离是(使用由ay,min、ay,max界定的加速命令)是可获得的。通过的定义,我们有了并且因此汽车之间的距离较大,即 既然相对于(y[t],vy[t])的纵向安全的,根据纵向非安全的定义,得出的是所获得的速度必须小于ay,mint。然而,很明显,为了达到较低的速度,必须在整个时间窗口[0,t]内使用小于ay,min的平均加速度,从而与纵向非安全是使用由ay,min,ay,max所界定的命令获得的事实向矛盾。通过考虑情况的对称论证,证明完成。
接下来,横向可行性。
引理6在算法1的标记法下,如果检查横向可行性程序通过返回“不可行”而结束,则在时间t时,不可能存在自我交通工具过错的非安全切入。
请注意,在我们的案例中,切入中涉及的汽车的位置(在我们的示例中,是(x[t],x[t]-W)),这意味着一些(μ1,μ2)-以横向位置属性获胜,影响着过错。通过我们在vx[t]上的假设,我们获得在时间t时,在假设c将受到责备的之下,可以使用的最大横向速度为0:或者为了μ-“平局”横向速度(在c没有(μ1,μ2)-以横向位置获胜的情况下,这足以将过错推给它),或者为了μ-横向速度获胜(在c确实(μ1,μ2)-以横向位置获胜的情况下,这是必要的,以便将过错推给它)。留下了检查是否存在从开始,在 结束的操纵,该操纵使用使用由ax,max界定的的横向加速度,最终位置为 换句话说,以所需横向速度0结束的切入。
回顾来自算法的定义假设ttop<0。这意味着在使用最大横向加速度时为了达到横向速度0所需的时间,即,小于t。这意味着不存在它能够执行以及时达到期望速度的操纵,因此不存在有问题的操纵。无。因此,如果由于ttop<0,程序返回“不可行”,实际上,不存在c的过错的非安全切入的可行性。
考虑ttop>0的情况。然后,由于xmax<-W,程序返回了“不可行”。考虑的一系列的在时间范围[0,t]的横向速度分布,表示为 并且由a参数化。我们针对每一个a以与在算法中使用的定义的相同的方式定义注意对于所有我们现在定义针对所有时间t′0[0,t]的速度分布ua如下:
首先,可以看出ua满足约束其次,可以计算使用ua时行驶的距离,因为这相当于分段线性函数的积分。将到达位置定义为并注意算法中定义的xmax正好是第三,可以看出,行驶距离随a单调增加,并且是无界的。因此,对于任何期望的最终位置存在的a值。特别是,对于x=x[t]-W,存在这样的值,我们用acut表示它。
观察到,既然算法中定义的xmax<x[t]-W,我们有了acut>ax,max。这不足以示出无有效的操纵可以导致位置≥x[t]-W;这仅仅隐含于族U的成员。我们现在证明,即使在U的外部,所有达到最终位置x[t]-W的速度分布都必须使用在路上的至少acut的加速度值,使它们无效,并且因此完成证明。
现在,假设不对于所有τ都成立。然后,由于必然有一个点,在这个点如果[0,ttop(acut)]中存在这个点τlarge,则我们可以以如上文的相同的方式简单地使用中值定理以获得ζ0[0,τlarge],其中使用了过大的加速度。如果这个仅在[ttop(acut),t]中存在,则相似的论证将给我们点ζ0[τlarge,t],其中使用了小于-ax,max的加速度值,结束了论证。有了上述引理,定理2的证明是直接的。
安全性验证-遮挡
与处理观察到的对象类似,我们可以用与定理1类似的定理来定义相对于被遮挡对象的谨慎性的扩展,证明谨慎性意味着从不存在我们的过错的事故。
定义15(相对于被遮挡的对象的谨慎性)在时间t,如果对象的暴露时间为t+1并且我们在t+1发出默认应急策略(DEP)命令而不会发生我们的过错的事故的情况下,给出的命令“相对于被遮挡的对象是谨慎的”。
引理7如果我们只给出谨慎的(相对于被遮挡的对象和未被遮挡的对象)命令,将不存在有我们的过错的事故。
证明假设我们的过错的事故发生在时间t,暴露时间为t'≤t。根据谨慎性的假设,t'–1时给出的命令允许我们在t'时命令DEP,而不会因为事故而受到责备。如果存在我们的过错的事故,我们显然没有在时间t'命令DEP。但是从t'开始,我们相对于未被遮挡的对象是安全的,因此我们给出的命令是安全的,因为不存在我们的过错的事故。
这里,我们也提供了有效的方法来检查相对于被遮挡的对象的最坏情况假设的谨慎性,从而实现可行的、可扩展的RSS。
驾驶策略
驾驶策略是从感测状态(对我们周围世界的描述)到驾驶命令的映射(例如,该命令是下一秒的横向和纵向加速度,它确定在从现在起的一秒钟内汽车应在哪里并且以什么速度)。驾驶命令被传递给控制器,控制器的目标是将汽车实际移动到期望的位置/速度。
在前面的章节中,描述了正式的安全模型和由保证安全的驾驶策略发出的命令的建议的约束。安全约束是针对极端情况设计的。通常情况下,我们甚至不希望需要这些约束条件,而是希望构建引起舒适的搭乘的驾驶策略。本节的焦点是如何建立有效的驾驶策略,尤其是需要可以扩展到数百万辆汽车的计算资源的驾驶策略。目前,本次讨论并未解决如何获得感测状态的问题并假设乌托邦感测状态,该状态没有任何限制地忠实地表示了我们周围的世界。后面的章节将讨论传感状态不准确对驾驶策略的影响。
定义驾驶策略的问题用强化学习(RL)的语言表述,如上文各节所讨论的。在RL的每次迭代中,代理观察描述世界的状态,表示为st,并且应该基于将状态映射为动作的策略函数π选择动作,该动作表示为at。由于它的动作和其控制之外的因素(如其他代理的动作),世界的状态变为st+1。我们将(状态,动作)序列表示为每个策略都会引起(状态,动作)序列上的概率函数。该概率函数可能受代理所采取的动作的影响,但也取决于环境(特别是其他代理如何表现)。我们用Pπ表示π引起的(状态,动作)序列上的概率。策略的质量定义为其中是回报函数,该回报函数对序列s有多好进行测量。在大多数情况下,采取的形式,其中ρ(s,a)是瞬时回报函数,该瞬时回报函数对处于状态s并执行动作a的即时质量进行测量。为了简单性,我们坚持这个较简单的情况。
为了以上文的RL语言表达驾驶策略问题,设st是道路、以及自我交通工具和其他道路使用者的位置、速度和加速度的某个表示。设at为横向和纵向加速命令。下一个状态st+1取决于at以及其他代理将怎样表现。瞬时回报ρ(st,at)可能取决于与其他汽车的相对位置/速度/加速度、我们的速度与期望速度之间的差、我们是否遵循期望路线、我们的加速度是否舒适等。
确定策略在时间t应采取何种动作的一个挑战源于需要估计该动作对回报的长期影响的事实。例如,在驾驶策略的情境下,在时间t采取的动作目前看来可能是良好的动作(即,回报值ρ(st,at)是良好的),但可能在5秒后导致事故(即,5秒内的回报值将是灾难性的)。因此,我们需要估计当代理处于状态s时执行动作a的长期质量。这通常被称为Q函数,即Q(s,a)应反映在时间s执行动作a的长期质量。给定此类Q函数,动作的自然选择是挑选质量最高的一个π(s)=argmaxa Q(s,a)。
当前的问题是如何定义Q以及如何有效地评估Q。让我们首先做出(完全不现实的)简化假设,即st+1是(st,at)的某个确定性函数,即st+1=f(st,at)。熟悉马尔可夫决策过程(MDP)的人会注意到,该假设甚至比MDP的马尔可夫假设更强(即st+1有条件地独立于过去给定的(st,at))。如[5]中所述,即使是马尔可夫假设也不足以用于多代理场景(诸如驾驶),因此我们稍后将放松该假设。
在这种简化假设下,给定st,对于T步骤的每个决策序列(at,…,at+T),我们可以精确计算未来状态(st+1,...,st+T+1)以及时间t,…,T的回报值。将所有这些回报值求和为单个数字,例如,通过取其总和我们可以定义Q(s,a)如下:
也就是说,如果我们现在处于状态s并立即执行动作a,那么Q(s,a)是我们能够期望的最好的未来。
让我们讨论如何计算Q。第一个想法是将可能的动作集合A离散成有限集合并简单地遍历离散集合中的所有动作序列。然后,运行时间由离散动作序列的数量决定如果表示10个横向加速度和10个纵向加速度,则我们获得100T个可能性,即使T的值很小,这也变得不可行。当存在加快搜索速度的启发法(例如从粗到精的搜索)时,这种蛮力方法需要巨大的计算能力。
参数T通常被称为“规划的时间范围”,并且它控制计算时间与评估质量之间的自然权衡——T越大,我们对当前动作的评估越好(因为我们明确地研究其影响,其在未来更深),但另一方面,较大的T使计算时间呈指数增长。为了理解为什么我们需要一个大的T值,考虑其中我们在高速公路出口前200米并且我们应该取道这个出口的场景。当时间范围足够长时,累计回报将指示我们是否在t和t+T之间的某个时间τ到达出口车道。另一方面,在很短的时间范围内,即使我们采取正确的即时动作,我们也不知道它是否最终会把我们带到出口车道。
另一种方法尝试执行离线计算,以构建Q的近似值(表示为),然后在策略的在线运行期间,使用作为Q的近似值,而无需明确推出未来。构造这种近似的一种方法是将动作域和状态域离散化。用表示这些离散化集。离线运算可以针对每个来对Q(s,a)的值进行评估。然后针对每个我们定义为Q(s,a),此外,基于Bellman[2,3]的开创性工作,我们可以针对每个计算Q(s,a),基于动态编程过程(诸如值迭代算法),并且在我们的假设之下,总运行时间约为这种方法的主要问题是,在任何合理的近似中,都极大(由于维度的灾难)。事实上,感测状态应当表示针对每个其他相关的交通工具的在纵向位置和横向位置、速度和加速度的意义上的6个参数。即使我们将每个维度离散为仅10个值(非常粗糙的离散化),但因为我们有6个维度,因此为了描述单辆汽车,我们需要106个状态,并且为了要描述k辆汽车,我们需要106k个状态。这导致对于中的每个(s,a)存储Q的值的不切实际的存储器需求。
处理这种维度的灾难的一种方法是将Q限制为来自受限制的一类函数(通常称为假设类),诸如手动确定的特征或深层神经网络上的线性函数。例如,考虑深度神经网络,该深度神经网络在玩雅达利游戏的语境下对Q进行近似。这得到资源高效的解决方案,前提是可以对近似Q的一类函数高效地评估。然而,这种方法有几个缺点。首先,不知道所选函数类是否包含对期望的Q函数的良好近似。第二,即使存在此类函数,也不知道现有的算法是否将进行管理以有效地学习此类函数。到目前为止,对于学习复杂的多代理问题(诸如我们在驾驶过程中遇到的问题)的Q函数,还没有太多成功的案例。这项任务之所以困难,存在几个理论原因。如关于马尔可夫假设所提及的,潜在的现有的基本方法存在问题。但是,更严重的问题是,由于决策的时间分辨率,因此信噪比非常小,如以下所解释的。
考虑简单的场景,其中交通工具需要改变车道以便在200米内采取公路出口,并且道路目前是空的。最好的决定是开始作出车道改变。每0.1秒可以作出一次决定,因此在当前时间t,Q(st,a)的最优值应该是针对对应于向右的最小横向加速度的动作a。考虑对应于零横向加速度的动作a'。由于现在开始改变车道或在0.1秒开始改变车道之间的差别很小,因此Q(st,a)和Q(st,a')的值几乎相同。换言之,挑选a而不是a'几乎没有什么优势。另一方面,由于我们针对Q使用函数近似,并且由于在测量状态st时存在噪声,因此我们对Q值的近似可能是有噪声的。这会产生非常小的信噪比,导致极慢的学习,特别是针对大量用于神经网络近似类的随机学习算法。然而,如之中所提到的,该问题不是任何特定函数近似类的属性,而是Q函数定义中固有的。
总之,可用方法大致可以分为两大阵营。第一种是蛮力方法,它包括在多个动作序列上进行搜索或使感测状态域离散化并在存储器中维护巨大的表。这种方法可以得到非常精确的Q的近似,但无论是在计算时间方面还是在存储器方面都需要无限的资源。第二种是资源高效的方法,在该方法中,我们或者搜索动作的短序列,或者对Q应用函数近似。在这两种情况下,我们都通过对可能通过会导致糟糕的决策的Q的较不精确近似而付出代价。
如本文所描述的方法包括构造既节省资源又精确的Q函数,以偏离几何动作并适应语义动作空间,如下一节所描述的。
语义方法
作为所公开的语义方法的基础,考虑刚刚拿到他的驾照的青少年。他的父亲坐在他旁边,给他“驾驶策略”指令。这些指令不是几何的-它们没有采取“以当前速度驾驶13.7米,然后以0.8m/s2的速率加速”的形式。相反,这些指令具有语义性质——“跟随你前面的汽车”或“快速超过你左边的汽车”。我们格式化了用于这些指令的语义语言,并且将它们用作语义动作空间。我们然后定义语义动作空间上的Q函数。我们表明了语义动作可以具有非常长的时间范围,这允许我们对Q(s,a)进行评估而无需为未来的许多语义动作进行规划。是的,语义动作的总数仍然很少。这允许我们在仍资源高效的同时获得对Q函数的准确评估。此外,正如我们后面所示出的,我们结合学习技术来进一步改进质量函数,同时不会由于不同语义动作之间的显著差异而遭受小信噪比的影响。
现在定义语义动作空间。主要想法是确定横向目标和纵向目标,以及实现横向目标和纵向目标的激进性程度。横向目标是车道坐标系中的期望位置(例如,“我的目标是位于2号车道的中心”)。纵向目标有三种类型。第一种是相对于其他交通工具的相对位置和速度(例如,“我的目标是在3号车后方、以与其相同的速度、并且在距其2秒的距离的距离处”)。第二种是速度目标(例如,“以该道路允许速度乘以110%的速度驾驶”)。第三种是特定位置处的速度限制(例如,当逐渐接近交叉路口时,“停止线处的速度为0”,或当通过急弯时,“曲线上特定位置处最多为60kmh的速度”)。对于第三选项,我们可以替代地应用“速度分布”(路线上的几个离散点以及每个点处的期望速度)。横向目标的合理数量以16=4x4(最多4条相关车道中的4个位置)为界限。第一类型的纵向目标的合理数量以8x2x3=48(8辆相关汽车,无论是在其前面还是后面,并且3个相关距离)为界限。绝对速度目标的合理数量为10,速度约束数量的合理上限为2。为了实现给定的横向目标或纵向目标,我们需要应用加速度,并且然后应用减速度(或者反过来)。实现目标的激进性是实现目标的最大(绝对值)加速度/减速度。在目标和激进性被定义的情况下,我们有了封闭形式的公式使用运动学计算以实现目标。唯一剩下的部分是确定横向目标与纵向目标之间的组合(例如,“从横向目标开始,并且恰好在横向目标的中间,也开始应用纵向目标”)。具有5个混合时间和3个激进性级别的集合似乎就足够了。总之,我们获得了语义动作空间,其大小为≈104。
值得一提的是,完成这些语义动作所需的可变时间与决策作出过程的频率不同。为了对动态世界做出反应,我们应该以高频率作出决策——在我们的实现方式中,每100毫秒一次。相比之下,每个此类的决策都是基于构建完成某个语义动作的轨迹,这将有更长的时间范围(比如10秒)。我们使用较长的时间范围,因为它有助于我们更好地评估轨迹的短期前缀。下一节将讨论语义动作的评估,但在此之前,我们认为语义动作引发了足够的搜索空间。
如上文讨论的,语义动作空间引发所有可能几何曲线的子集,该子集的大小比枚举所有可能几何曲线小(在T中)。第一个直接的问题是,这个较小搜索空间的短期前缀的集合是否包含我们想要使用的所有几何命令。在以下的意义上,这确实是足够的。如果道路没有其他代理,则除了在某些位置设置横向目标和/或绝对加速命令和/或速度约束外,没有理由作出改变。如果道路包括其他代理,则我们可能希望与其他代理协商通行权。在这种情况下,相对于其他代理设置纵向目标就足够了。从长远来看,这些目标的具体实现可能会改变,但短期前缀不会改变太大。因此,我们获得了相关短期几何命令的良好覆盖。
构造语义动作的评估函数
我们定义了一组语义动作,以As表示。鉴于我们目前处于s状态,我们需要一种方法来选择最佳as 0As。为了解决这个问题,我们遵循与[6]的选项机制类似的方法。基本想法是将as视为元动作(或者选项)。对于元动作的每个选择,我们构造了表示元动作as的实现的几何轨迹(s1,a1),...,(sT,aT)。为了这样做,我们当然需要知道其他代理将如何对我们的动作作出反应,但是目前仍然依赖于(非现实的)假设,该假设是,对于一些已知的确定性函数f,st+1=f(st,at)。我们现在可以使用作为当我们处于状态s1时执行语义动作as的质量的良好近似。
这种方法可以产生强大的驾驶策略。然而,在某些情况下,可能需要更复杂的质量函数。例如,假设我们在出口车道之前跟随慢速卡车,其中我们需要取道出口车道。一个语义选项是在卡车后面保持缓慢地驾驶。另一选项是对该卡车超车,希望稍后我们能回到出口车道并及时进行退出。前面描述的质量测量不考虑在我们将对卡车超车之后将发生什么,并且因此即使有足够的时间来完成超车并返回到出口车道我们也不会选择第二语义动作。机器学习可以帮助我们构建语义动作的更好的评估,该更好的评估将考虑比即时语义动作更多的因素。如之前所讨论的,由于低信噪比(缺乏优势),在即时几何动作上学习Q函数是有问题的。这在考虑语义动作时没有问题,既因为执行不同的语义动作之间存在很大差异,也因为语义时间范围(我们考虑了多少语义动作)非常小(在大多数情况下可能少于三个)。
应用机器学习的另一个潜在优势是为了寻求通用化:我们可以通过手动检查道路属性,为每条道路设置适当的评估函数,这可能涉及某种尝试和错误。但是,我们能自动地推广到任何道路吗?在这里,如上文所讨论的,机器学习方法可以在多种道路类型上进行训练,以便推广到看不见的道路。根据所公开的实施例的语义动作空间可以允许潜在的好处:语义动作包含长时间范围的信息,因此我们可以在资源高效的同时获得对语义动作的质量的非常准确的评估。
其他代理的动力学
到目前为止,我们依赖于st+1是st和at的确定性函数的假设。如之前所强调的,由于我们的动作会影响其他道路使用者的行为,这种假设并不完全现实。虽然我们确实考虑了其他代理对我们的行为的一些反应(例如,我们假设如果我们执行安全切入,则我们后面的汽车会调整速度以避免从后面撞到我们),但假设我们对其他代理的所有动力学进行建模是不现实的。这个问题的解决方案是以高频率重新应用决策作出,并且通过这样做,不断地使我们的策略适应环境中超出我们建模范围的部分。在某种意义上,可以在每一步骤把这看作是世界的马尔可夫化。
感测
本节描述了感测状态,该感测状态是对场景的相关信息的描述,并形成了对驾驶策略模块的输入。总的来说,感测状态包含静态和动态对象。静态对象是车道、物理道路分隔物、速度约束、通行权约束以及遮挡物(例如,遮住并道道路相关部分的围栏)的信息。动态对象是交通工具(例如边界框、速度、加速度)、行人(边界框、速度、加速度)、交通灯、动态道路分隔物(例如施工区的圆锥体)、临时交通标志和警察活动、以及道路上的其他障碍物(例如动物、从卡车上掉落的床垫等)。
在任何合理的传感器设置中,我们不能期望获得准确的感测状态s。相反,我们查看原始传感器和映射数据(用x0X来表示这些数据),并且存在取得x并产生近似的感测状态的感测系统。
重要的是理解我们何时应该接受作为s的合理近似。回答这个问题的最终方法是检查这个近似值对我们的驾驶策略的总体表现的影响,特别是对安全性的影响。遵循我们的安全性-舒适性区分,这里我们再次区分导致非安全行为的感测错误和影响搭乘舒适性方面的感测错误。在说明细节之前,感测系统可能造成的错误的类型包括:
假否定:感测系统未命中对象
假肯定:感测系统指示“幽灵”对象。
测量不准确:感测系统正确地检测对象但错误地估计其位置或速度
语义不准确:感测系统正确地检测到对象但误解了其语义含义,例如交通灯的颜色
舒适性
回想一下,对于语义动作a,我们使用了Q(s,a)来表示我们对当前感测状态是s的给定情况的评估。我们的策略挑选动作π(s)=argmaxa Q(s,a)。如果我们注入而不是s,那么所选择的语义动作将是如果则应当被接受作为对s的良好近似。但是,只要相对于真实状态的质量s是几乎最优的,即,对于某个参数∈,挑选也不完全是坏的。在此类情况下,我们说相对于Q是∈精确的。自然地,我们不能期待感测系统总是∈精确的。因此,我们也允许感测系统以较小的概率δ发生故障。在此类情况下,我们说是概率地(以至少为1-δ的概率)、近似地(直到∈)正确,或者缩写为PAC(借用了Valiant的PAC学习技术)。
我们可以使用几个(∈,δ)对用于对系统的不同方面进行评估。例如,我们可以选择三个阈值∈1<∈2<∈3来表示轻度、中度和严重错误,并为三个阈值中的每一个设置不同的δ值。这得到以下定义。
定义17(PAC感测系统)设(((∈1,δ1),...,(∈k,δk))为(精度,置信度)对的集合,设S为感测状态域,设X为原始传感器和映射数据域,并且设D为X×S上的分布。设A为动作空间,Q:S×A→|为质量函数,并且π:S→A为使得π(s)∈argmaxaQ(s,a)。如果对于每个i∈{1,...,k},我们有则感测系统:X→S相对于上述参数是概率地-近似地-正确(PAC)。
在这里,定义取决于X×S上的分布D。需要强调的是,我们通过记录许多人类驾驶员的数据而不是通过遵循我们的自主驾驶汽车的特定策略来构建此分布。虽然后者看起来更合适,但它需要在线验证,这使得感测系统的开发不切实际。由于任何合理的策略对D的影响都很小,因此我们可以通过应用简单的数据扩充技术来构建适当的分布并且随后在感测系统每次重大更新后执行离线验证。该定义为使用的舒适搭乘提供了充分但非必要的条件。这是不必要的,因为它忽视了短期错误决策对搭乘的舒适性几乎没有影响的重要事实。例如,假设前方100米处有交通工具,并且这个交通工具比主交通工具慢。最佳决策是现在开始稍微加速。如果感测系统未命中该交通工具,但将在下一次(100毫秒后)检测到此交通工具,则两次搭乘之间的差异将不明显。为了简化演示,我们忽略了这个问题并且要求一个更强的条件。对多帧PAC定义的改编在概念上很直接,但更具技术性。
接下来,我们根据上文的PAC定义导出设计原则。回想我们已经描述了几种类型的感测错误。对于类型为“假否定”、“假肯定”和“语义不准确”的错误,错误要么将出现在不相关的对象上(例如,当我们直线前进时的左转的交通灯),要么将被定义的δ部分捕获。因此,我们聚焦于频繁发生的“不准确测量”类型的错误。
有些令人惊讶的是,我们将示出,通过自我精度(即,通过测量每个对象相对于主交通工具的位置精度)测量感测系统精度的流行方法不足以确保PAC感测系统。然后,我们将提出一种不同的方法来确保PAC感测系统,并将示出如何有效地获得它。我们从一些附加的定义开始。
对于场景中的每个对象o,设p(o)、是o在主交通工具坐标系中分别根据s、的位置。请注意,o与主交通工具之间的距离为||p|||。的加性误差为 相对于o与主交通工具之间的距离的相对误差是加性误差除以||p(o)||,即
对于远处的对象,要求加性误差很小是不现实的。事实上,考虑o是在距主交通工具150米的距离处的交通工具,并且设∈具有中等大小,比方说∈=0.1。对于加性精度,这意味着我们应该以高达10cm的精度来知晓交通工具的位置。这对于价格合理的传感器而言是不现实的。另一方面,对于我们需要对位置进行估计的高达10%的相对精度,这相当于15m的精度。达到这个是可行的(如下文所描述的)。
如果对于每个o∈O,p(o)与之间的(相对的)误差是最多∈,则感测系统以∈自我准确的方式来定位对象集合O。下面的示例表明∈自我精确的感测状态不能保证相对于每个合理的Q的PAC感测系统。实际上,考虑一种场景,其中主交通工具以30m/s的速度驾驶,并且在它前面的150米存在停止的交通工具。如果该交通工具在自我车道中并且不存在及时改变车道的选项,则我们现在必须以至少3m/s2的速率开始减速(否则,我们将无法及时停车,或者我们需要在以后强减速)。另一方面,如果交通工具在道路边上,则我们不需要应用强减速。假设p(o)是这些情况中的一种情况,而是另一种情况,这两个位置之间有5米的差。然后,的相对误差为
也就是说,对于∈的相当小的值(小于3.5%的误差),感测系统可能是∈自我精确的,但是,对于任何合理的Q函数,Q值是完全不同的,因为我们在我们需要强制动的情况和我们不需要强制动的情况之间感到困惑。
上文的示例示出,∈自我精确不能保证我们的感测系统是PAC。是否存在针对PAC感测系统而言是足够的另一属性取决于Q。我们将描述一系列Q函数,对于该一系列Q函数,存在可以保证PAC感测系统的简单的定位属性。∈自我精确的问题是,它可能会导致语义错误——在前述示例中,即使是∈自我精确的(其中∈<3.5%),它将交通工具错误地分配到正确的车道。为了解决这个问题,对于横向位置,我们依靠语义单元。
定义18(语义单位)车道中心是一条简单的自然曲线,即它是一条可微的、内射的映射l:[a,b]→|3,其中对于每个a≤t1<t2≤b,我们有长度等于t2-t1。车道的宽度是函数w:[a,b]→|+。点x∈|3在曲线上的投影是在曲线上最接近x的点,即tx=argmint∈[a,b]||l(t)-x||的点l(tx)。x相对于车道的语义纵向位置是tx并且x相对于车道的语义横向位置是l(tx)/w(tx)。语义速度和语义加速度被定义为上文的一阶和二阶导数。
与几何单位类似,对于语义纵向距离,我们使用相对误差:如果针对一些对象引发语义纵向距离而真实距离为p(o),则相对误差为(其中分母中的最大值处理其中对象具有几乎相同纵向距离的情况(例如,在另一条车道上在我们旁边的汽车)。由于语义横向距离很小,我们可以对这些语义横向距离使用加性误差。这得到以下定义:
定义19(语义单元中的误差)设e为车道,并假设主交通工具相对于车道的语义纵向距离为0。设是一个点,并且设plat(x)、plon(x)是相对于车道的到该点的语义横向距离和语义纵向距离。设为近似测量值。相对于x与p相对于x之间的距离定义为
横向速度和纵向速度的距离类似地定义。根据上文的定义,我们已经准备好定义Q的属性以及PAC感测系统的相应的充分条件。
作为直接推论,我们得到:
安全
本节讨论了可能导致不必要行为的感测误差的可能性。如前所述,在该策略不会导致主控AV的责任的事故的意义上,该策略是可证明安全的。由于硬件故障(例如,所有传感器故障或高速公路上的轮胎爆炸)、软件故障(模块中的一些模块中的严重缺陷)或感测错误,此类事故仍可能发生。我们的最终目标是此类事件的概率将是极小的——每小时此类事故的概率为10-9。为了理解这个数字,美国驾驶员在道路上花费的平均小时数(截至2016年)不到300小时。因此,在预期中,一个人需要活330万年才能处在由这些类型的事件引起的事故中。
我们首先定义什么是安全相关的感测错误。回想一下,在每个步骤处,我们的策略都会选择使Q(s,a)最大化的a的值,即π(s)=argmaxa Q(s,a)。我们通过针对每一个不谨慎的动作设Q(s,a)=-∞(见定义14)来确保安全。因此,第一种类型的安全评论方感测错误是如果我们的感测系统导致选择非安全动作。正式地,设是根据的决策,如果=-∞则我们说导致安全评论方未命中。第二种类型的安全评论方感测错误是,如果根据则所有动作都不安全,并且我们必须应用标准应急策略(例如,用力制动),而根据s存在安全动作,即maxa Q(s,a)>-∞。当我们的速度很高并且在我们后面存在一辆车时,这是很危险的。我们把这种错误称为安全评论方幽灵。
通常,安全评论方未命中是由假否定引起的,而安全评论方幽灵是由假肯定引起的。此类错误也可能由严重不正确的测量引起,但在大多数情况下,我们的舒适性目标确保我们远离安全定义的边界,并且因此合理的测量误差不太可能导致安全评论方错误。我们可以如何确保安全评论方的错误概率将是非常小的,比如说,小于每小时10-9?如引理1所示,在不作进一步假设的情况下,我们需要在109小时以上的驾驶中检查我们的系统。这是不现实的(或者至少是极其具有挑战性的)——它相当于记录一年中330万辆汽车的驾驶情况。此外,建立一个达到如此高精度的系统是一个巨大的挑战。系统设计和验证挑战二者的解决方案是依赖几个子系统,该子系统中的每一个子系统都是独立设计的,并且依赖于不同的技术,并且系统以确保提高其单个精度的方式融合在一起。
设我们构建了三个子系统,分别表示为s1、s2、s3(扩展到超过3个子系统很简单)。每个子系统都接收到安全/非安全,并应输出安全/非安全。大多数子系统(在我们的案例中为2个子系统)接受为安全的动作被视为是安全的。如果不存在被至少有2个子系统视为安全的动作,则应用默认紧急策略。基于以下定义,对该融合方案的性能分析如下:
定义21(单侧c近似独立)两个伯努利随机变量r1,r2被称为单侧c近似独立,如果
对于i0{1,2,3},表示为伯努利随机变量指示是否子系统i分别执行了安全评论方未命中/幽灵。相似地,em、eg指示融合系统的安全评论家未命中/幽灵我们依赖于的假设是,对于任何一对i≠j,随机变量是单侧c近似独立的,并且对于也同样成立。在解释为什么这个假设是合理的之前,让我们先分析一下它的含义。我们可以将em的概率定义为:
这一推论允许我们使用显著较少的数据集合来验证感测系统。例如,如果我们希望实现10-9的安全评论方错误概率,而不是采取109量级的示例,则采取105量级的示例并且分别测试每个系统就足够了。
可能存在产生非相关误差的传感器对。例如,无线电检测与测距在恶劣天气条件下工作良好,但可能由于不相关的金属对象而失效,这与相机相对,相机受到恶劣天气的影响,但不太可能受到金属对象的影响。看起来,相机和光检测与测距都有共同的误差源——例如,它们都受到雾天、大雨或雪的影响。然而,相机和光检测与测距的错误类型会有所不同——相机可能会因恶劣天气而未命中,而光检测与测距可能会因空气中粒子的反射而检测到幽灵。由于我们已经区分了这两种类型的误差,因此近似独立性仍然可能成立。
我们对安全重要的幽灵的定义要求所有动作至少针对两个传感器是非安全的。即使在困难的条件下(如大雾),这也不太可能发生。原因是,在此类情况中,受恶劣条件影响的系统(如光检测与测距)将指示非常防御性的驾驶,因为它们可以宣布高速和横向操纵为非安全动作。因此,主控AV将缓慢驾驶,并且然后即使需要紧急停车,由于较低的驾驶速度,也不会有危险。因此,我们的定义使驾驶风格适应道路条件。
建立可扩展的感测系统
已经描述了感测系统在舒适和安全方面的要求。接下来,描述了一种在可扩展的同时构建满足这些要求的感测系统的方法。感测系统有三个主要组件。第一组件是基于相机的长距离360度场景覆盖。相机的三个主要优点是:(1)高分辨率,(2)纹理,(3)价格。低廉的价格实现了可扩展的系统。纹理实现了理解场景的语义,场景的语义包括车道标记、交通灯、行人的意图以及更多。高分辨率可以实现长距离检测。此外,检测同一领域中的车道标记和对象可以实现出色的语义横向精度。相机的两个主要缺点是:(1)信息是2D的,并且估计纵向距离是困难的;(2)对光照条件(低日照、恶劣天气)的敏感性。我们使用系统的下两个组件克服了这些困难。
我们系统的第二个组件是语义高分辨率映射技术,称为“道路体验管理(REM)”(该“道路体验管理(REM)”涉及基于被预定并且被存储为道路段的目标轨迹的导航,以及在主交通工具环境中识别的已识别地标的位置(例如,在图像中)确定沿目标轨迹的精确位置的能力)。创建地图的一种常见几何方法是在地图创建过程中记录3D点的云(通过光检测与测距获得),然后通过将现有光检测与测距的点与地图中的点进行匹配来获得地图上的定位。这种方法有几个缺点。首先,每公里地图数据需要一个大存储器,因为我们需要保存很多点。这就需要昂贵的通信基础设施。第二,并非所有的汽车都装有光检测与测距传感器,因此地图非常不频繁地更新。这是有问题的,因为道路中可能发生变化(施工区、危险),并且基于光检测与测距的地图解决方案的“反映现实的时间”很大。相反,REM遵循基于语义的方法。其想法是利用大量配备了相机和软件的交通工具,这些软件可以检测场景中具有语义意义的对象(车道标记、路缘、电线杆、交通灯等)。如今,许多新车都配备了ADAS系统,可以用于众包地图创建。由于处理是在交通工具端完成的,因此只有少量语义数据需要传送到云。这允许以可扩展的方式非常频繁地更新地图。此外,自主交通工具可以通过现有通信平台(蜂窝网络)接收小尺寸地图数据。最后,基于相机可以获得地图上的高精度定位,而不需要昂贵的光检测与测距。
REM可以用于几个目的。首先,它让我们对道路的静态结构有了预见性(我们可以提前规划公路出口)。其次,它为我们提供了所有静态信息的另一个精确信息源,这些信息与相机检测一起产生了世界静态部分的稳健视图。第三,它解决了将2D信息从图像平面提升到3D世界的问题,如下所示。地图将所有车道描述为3D世界中的曲线。在地图上定位自我交通工具实现了轻松地将道路上的每个对象从图像平面提升到其3D位置。这就产生了一个定位系统,它遵循语义单元的精确度。该系统的第三个组件可能是补充无线电检测与测距和光检测与测距系统。这些系统可能服务两个目的。第一,它们可以提供极高的精确度以增强安全性。其次,他们可以给出速度和距离的直接测量值,这进一步提高了搭乘的舒适性
以下各节包括RSS系统的技术引理和几个实际考虑。
引理9对于所有x 0[0,0.1],1–x>e-2x成立。
证明设f(x)=1–x–e-2x。我们的目标是表明对于x 0[0,0.1],f(x)≥0。注意,f(0)=0,因此在前述范围内足以有f(x)≥0。明显地,f'(x)=–1+2e-2x。显然地,f’(0)=1,并且它是单调递减的,因此验证f'(0.1)>0就足够了,这在数值上很容易做到,f'(0.1)≈0.637。
高效的谨慎性验证-被遮挡的对象
与未被遮挡的对象一样,我们可以检查是否发出当前命令,以及发出当前命令后的DEP是否为RSS。为此,我们将我们的未来展开直到tbrake(t制动)时,这时假设暴露时间为1并且然后我们命令DEP,这对于定义的谨慎性而言是足够的。对于所有t'0[0,tbrake],我们检查是否会发生可归责事故——当假设被遮挡的对象上的最坏情况时。我们使用一些最坏情况下的操纵和安全距离规则。我们采用基于遮挡物的方法来寻找兴趣点——即,对于每个遮挡对象,我们计算最坏情况。这是一种关键的高效驾驶方法——例如,行人可以隐藏在汽车后面的多个位置,可以执行多个操纵,但存在执行位置和动作的单个最坏情况。
与未被遮挡的对象一样,我们可以检查是否发出当前命令,以及发出当前命令后的DEP是否为RSS。为此,我们将我们的未来展开直到tbrake时,这时假设暴露时间为1并且然后我们命令DEP,这对于定义的谨慎性而言是足够的。对于所有t'0[0,tbrake],我们检查是否会发生可归责事故——当假设被遮挡的对象上的最坏情况时。我们使用一些最坏情况下的操纵和安全距离规则。我们采用基于遮挡物的方法来寻找兴趣点——即,对于每个遮挡对象,我们计算最坏情况。这是一种关键的高效驾驶方法——例如,行人可以隐藏在汽车后面的多个位置,可以执行多个操纵,但存在能执行位置和动作的单个最坏情况。
接下来,考虑更精细的情况,即被遮挡的行人的情况。考虑停放的汽车后面的被遮挡的区域。例如,可以通过被遮挡的区域和交通工具c的前部/侧面的几何特性(三角形、矩形)找到被遮挡的区域和交通工具c前部/侧面中最近的点。正式地,我们可以考虑被遮挡的区域作为一个简单形状的少量凸区域的结合,并分别处理它们。此外,可以看出,如果行人可以从被遮挡的区域IFF撞上汽车前部(在vlimit(v限制)约束下),他可以使用可能的最短路径这样做。利用行人可以行进的最大距离为vlimit·t'的事实,我们可以获得针对正面碰撞可能性的简单检查。对于侧面碰撞,我们注意到,如果路径短于vlimit·t',则我们有责任的IFF,我们在碰撞方向上的横向速度大于μ。公开了一种用于相对于被遮挡的行人的谨慎性验证的算法,其在本文以自由伪代码描述。关键部分(即检查行人被交通工具遮挡的可归责的事故的可能性的存在的部分)是以上文所描述的简单方式完成的。
算法2:检查相对于被遮挡的行人的谨慎性
(对于t′∈[0,tbrakc]
滚动自身的未来直到t′
如果存在行人被交通工具遮挡的可归责的事故的可能性
返回“不谨慎的”
返回“谨慎的”)
关于验证模拟器的问题
如之前所讨论的,多代理安全性可能难以进行统计上验证,因为这应该以“在线”方式完成。有人可能会说,通过构建驾驶环境的模拟器,我们可以在“实验室”中验证驾驶策略。然而,验证模拟器忠实地表示现实与验证策略本身一样困难。要了解为什么这是真的,假设模拟器已在以下意义上被验证:在模拟器中应用驾驶策略π会导致的事故概率,而在真实世界中π的事故概率为p,其中(我们需要0将小于10-9。)接下来,将驾驶策略替换为π'。假设π'执行一个概率为10-8的奇怪的动作,使人类驾驶员感到困惑并导致事故。有可能(甚至很有可能)这个奇怪的动作没有在模拟器中建模,这与它在估计原始策略π的性能方面的卓越能力不矛盾。这证明,即使模拟器已显示为反映驾驶策略π的真实性,也不能保证反映另一驾驶策略的真实性。
基于车道的坐标系
RSS定义中可以作出的一个简化假设是,道路由恒定宽度的相邻的直车道组成。横向轴与纵向轴之间的区别以及纵向位置的顺序可能在RSS中发挥重要作用。此外,这些方向的定义清楚地基于车道形状。从平面上的(全局)位置到基于车道的坐标系的转换将问题简化为原始的“恒定宽度的直车道”情况。
假设车道的中心是平面上的光滑有向曲线r,其中其所有表示为r(1),...,r(k)的片,要么是直线,要么是圆弧。注意,曲线的平滑度意味着没有一对连续的片可以是线性的。正式地,曲线将“纵向”参数映射到平面中,即,曲线是形式r的函数:[Ymin,Ymax]→|2我们定义了一个连续车道宽度函数w:[Ymin,Ymax]→|+,将纵向位置Y映射为正车道宽度值。对于每个Y,从r的平滑度,我们可以定义Y位置处的曲线的法向单元向量,表示为r┴(Y)。我们自然地定义平面上位于车道中的点的子集,如下所示:
R={r(Y)+αw(Y)r┴(Y)|Y 0[Ymin,Ymax],α0[±1/2]}
非正式地,我们的目标是构建R的转换φ,转换使得为对于在车道上的两辆汽车,它们的“逻辑顺序”将会被保留:如果cr在曲线上“落后于”cf,则φ(cr)y<φ(cf)y。如果cl在曲线上在cr的左边,那么φ(cl)x<φ(cr)x。其中,正如在RSS,我们将y轴与“纵向”轴相关联,我们将x轴与“横向”轴相关联。
为了定义φ,我们依赖于的假设是,对于所有i,如果r(i)是半径ρ的圆弧,那么整个r(i)的车道宽度是≤ρ/2。注意,此假设对于任何实际道路都成立该假设微不足道地表明了,对于所有(x',y')0R,存在唯一对Y'0[Ymin,Ymax],α'0[±1/2],满足(x',y')=r(Y')+α'w(Y')r┴(Y')。我们现在可以定义φ:R→|2为φ(x',y')=(Y',α'),其中(Y',α')是满足(x',y')=r(Y')+α'w(Y')r┴(Y')的唯一值。
该定义捕获了车道坐标系中“横向操纵”的概念。考虑例如加宽的车道,汽车正好在车道的边界中的一个边界上驾驶(参见图23)。车道2301的加宽意味着汽车2303正在远离车道中心,因此具有相对于车道的横向速度。然而,这并不意味着它执行横向操纵。φ(x',y')x=α'(即到车道中心的横向距离(以w(Y')单元表示))的定义意味着车道边界具有±1/2的固定横向位置。因此,坚持在车道边界中的一个边界上的汽车不被视为执行任何横向移动。最后,可以看出,φ是同态。术语“基于车道的坐标系”在讨论φ(R)=[Ymin,Ymax]×[±1/2]时使用。因此我们获得了从一般车道几何形状到直线、纵向/横向坐标系的简化。
将RSS扩展到一般道路结构
本节描述了对于所有道路结构的RSS成立的完整定义。本节处理RSS的定义,而不是如何有效地确保策略遵循RSS。接下来引入路线优先级的概念,以捕捉存在多个单车道几何形状(例如交叉口)的任何情况。
第二个概括涉及双向道路,其中可能有两辆车以相对方向驾驶。对于这种情况下,已经建立的RSS定义仍然有效,具有对即将到来的车辆的“安全距离”的小范围的概括。受控制的交叉路口(使用交通灯支配交通流)可以通过路线优先级和双向道路的概念来完全地处理。没有明确路线定义的非结构化道路(例如停车场)也可以使用RSS进行处理。针对这种情况,RSS仍然有效,在这种情况下,唯一需要的修改是定义虚拟路线的方法和将每个汽车分配到(可能有几个)路线的方法。
路线优先级
现在引入了路线优先级的概念,以处理在一个场景中存在多个不同道路几何形状且在特定区域重叠的场景。如图24-图24D的示例包括环岛、交叉路口和进入高速公路的并道。已经描述了将一般车道几何形状转换为基于车道的几何形状的方法,该方法具有纵向轴和横向轴的一致含义。现在解决了存在不同道路几何形状的多个路线的场景。因此,当两个交通工具接近重叠区域时,两个交通工具都会切入另一辆车的正面走廊。当两个路线具有相同的几何形状时(如两个相邻高速公路车道的情况),不会发生这种现象。粗略地说,路线优先级的原则表明,如果路线r1、r2重叠,并且r1有r2之上的优先级,则进入来自r2的交通工具的正面走廊的来自r1的交通工具不会被视为执行切入。
为了正式地解释该概念,回想事故的过错取决于从车道坐标系导出的几何形状特性,以及取决于依赖于车道坐标系的最坏情况假设。设r1,...,rk是定义道路的结构的路线。作为简单的示例,考虑并道场景,如图24A所描绘的。假设两个汽车2401(c1)和2402(c2)分别在路线r1和r2上行驶,r1是优先的路线。例如,假设r1是公路车道,r2是并道车道。已经定义了每个路线的基于路线的坐标系之后,第一个观察是我们可以考虑任何路线的坐标系统中的任何操纵。例如,如果我们使用r2的坐标系,在r1上笔直驾驶看起来像并道到r2的左侧。定义RSS的一种方法是,汽车中的每一个都可以执行操纵2},如果该汽车对ri是安全的。然而,这意味着在优先路线上驾驶的c1相对于r2(并道路线)应该是非常保守的,因为c2可以正好地在路线上驾驶,因此可以以横向位置获胜。这是不自然的,因为在该情况下,公路上的汽车拥有通行权。为了克服这个问题,我们定义了某些区域,在这些区域中定义了路线优先级,并且路线中的仅一些路线被认为与安全相关。
定义22(路线优先级的事故责任)假设r1、r2是两条重叠的具有不同几何形状的路线。我们使用r1>[b,e]r2来表示r1在r1坐标系的纵向间隔[b,e](图25)中有在r2之上的优先权。假设驾驶在r1、r2路线上的汽车c1、c2之间存在事故。对于i 0{1,2},设指示如果我们考虑ri的坐标系则汽车针对事故应受责备。事故的归责如下:
如果r1>[b,e]r2,并且在相对于r1的归责时间上,汽车中的一辆汽车在r1系统的纵轴的间隔[b,e],则归责是根据b1。
否则,归责是根据b1∪b2。
为了说明定义,再次考虑并道进入公路的示例。图25中表示为“b”和“e”的线指示r1>[b,e]r2的b,e的值。因此,我们允许汽车在公路上自然驾驶,同时意味着并道的汽车相对于这些汽车必须是安全的。特别地,观察到,在汽车2401c1在有优先权的车道的中心并且没有横向速度地驾驶的情况下,汽车2401c1不会因为汽车2402c2在没有优先权的车道上驾驶的事故而应受责备,除非2402c2以安全距离切入2401c1的走廊。注意,最终结果与常规RSS非常相似——这与汽车在直线的道路上尝试执行车道改变的情况完全相同。注意,存在另一个代理使用的路线未知的情况。例如,在图26中,汽车2601可能无法确定汽车2602将采用路径“a”还是路径“b”。在此类情况中,可以通过迭代检查所有可能性来获得RSS。
双向交通
为了处理双向交通,对归责定义的修改是通过锐化依赖于前/后关系的部分,因为在此类情况中,这些部分的含义略有不同。考虑两辆汽车c1、c2在某个直线两车道道路上以相对的纵向方向(即,v1,long·v2,long<0)驾驶。在合理的城市场景中,相对于车道的驾驶方向可能为负,诸如汽车向对向车道偏移以对停放的卡车超车,或者汽车倒车进入停车场。因此,需要扩展安全纵向距离的定义,我们在假设负纵向速度不现实的情况下引入了该定义。回想,如果cf的最大制动允许cr在撞到cf前有足够的响应时间来制动,则cr和cf之间的距离是安全的。在我们的情况下,我们再次以略不同的方式考虑相对的汽车的“最坏情况”:当然,我们并不假设“最坏的情况”是相对的汽车向我们加速,但相对的汽车确实会刹车以避免撞车,但仅使用一些合理的制动力。为了捕获两辆汽车之间的责任差异,当汽车中的一辆汽车明显朝相对方向驾驶时,我们首先定义“正确”的驾驶方向。
在平行车道的RSS定义中,相关车道被定义为其中心最接近切入位置的车道。我们现在可以把我们自己精简为考虑这条车道(或者,在对称的情况下,分别处理这两条车道,如定义22所示)。在下面的定义中,术语“航向”表示横向速度除以纵向速度的反正切(弧度)。
定义23((μ1、μ2、μ3)-以正确的驾驶方向获胜)假设c1、c2以相对的方向驾驶,即v1,long·v2,long<0。设是xi、hi是c1、c2相对于车道的横向位置和航向。我们说c1(μ1、μ2、μ3)-如果所有以下条件成立,则以正确的驾驶方向获胜:
|h1|<μ1,
|h2-π|<μ2,
|x1|<μ3.
该事件的指标由WCDD(i)表示。
换句话说,如果c1以正确的方向靠近车道中心驾驶而c2采取相对的方向,则c1获胜,。最多一辆汽车能获胜,而且可能没有一辆汽车能获胜。直观地,假设在所讨论的情况下有碰撞。将更多的责任放在以正确的驾驶方向而落败的汽车c1上是合理的。这是通过针对汽车以正确的驾驶方向获胜的情况重新定义amax,brake来完成的。
定义24(合理制动功率)设αmax,brake,wcdd>0为常数,小于amax,brake。假设c1、c2以相对方向驾驶。如果ci(μ1,μ2,μ3)以正确的驾驶方向获胜,则表示为RBPi的每辆汽车的合理制动功率为amax,brake,wcdd,否则为amax,brake。
在以正确的驾驶方向获胜/未获胜的情况下,amax,brake,wcdd、amax,brake的准确值是应定义的常数,并可以取决于道路类型和每辆汽车驾驶的车道。例如,在狭窄的城市街道上,以正确的驾驶方向获胜并不意味着小得多的制动值:在密集交通中,我们确实希望汽车以类似的力制动,无论是否当有人明显偏离车道时。然而,考虑高速是被允许的农村双向道路的示例。当偏离到对向车道时,不能期望以正确方向驾驶的汽车应用非常强的制动力来避免撞击主交通工具——主交通工具将具有比汽车更多的责任。针对当两辆汽车在相同车道上而这些汽车中的一辆汽车倒车进入停车位时的情况,可以定义不同的常数。
接下来定义以相对方向驾驶的交通工具之间的安全距离,并立即导出该安全距离的准确值。
定义25(安全纵向距离-双向交通)以相对方向行驶并且二者都在彼此的正面走廊中的汽车c1与另一辆汽车c2之间的纵向距离相对于响应时间ρ是安全的,如果对于任何由c1,c2执行直到时间ρ的加速命令a,|a|<amax,accel,如果c1和c2将从时间ρ开始应用其合理的制动功率直到完全停止,则它们不会碰撞。
引理10设c1、c2如定义25所示。设RBPi、amax,accel为合理的制动(对于每个i)和加速命令,并且设ρ为汽车的响应时间。设v1,v2为汽车的纵向速度,并且设l1,l2为汽车的长度。定义vi,ρ,max=|vi|+ρ·amax,accel。设L=(lr+lf)/2。则,最小安全纵向距离为:
可以看出,总和中的项是在执行定义25的操纵时每辆汽车达到完全停止前的最大行驶距离。因此,为了使完全停止在大于L的距离处,初始距离必须大于该总和以及附加项L。
RSS的相同归责时间定义,以及定义25中定义的非安全纵向距离,用于定义双向交通场景的过错/事故责任。
定义26(双向交通中的归责)以相对方向驾驶的汽车c1、c2之间的事故的双向交通中的归责是归责时间时的状态的函数,并且定义如下:
如果归责时间也是切入时间,则归责如在常规RSS定义中的而定义。
否则,对于每一个i,如果在归责时间之后的某个t处,ci没有以至少RBPi的功率制动,则归责于ci。
例如,假设安全切入发生在归责时间之前。例如,c1已偏离到对向车道,以安全距离切入c2的走廊。注意,c2以正确的驾驶方向获胜,并且因此这个距离可能非常大——我们不期望c2执行很强的制动功率,而是仅执行合理的制动功率。然后,两辆汽车都有责任不碰撞到彼此。但是,如果切入不在安全距离内,则我们使用常规定义,注意如果c2在车道中心驾驶且没有横向移动,则c2不会受到责备。过错将完全在c1。这允许汽车自然地在车道中心驾驶,而不必担心可能不安全地偏离到该汽车的走廊中的交通。另一方面,允许安全偏离到对向车道,这是密集城市交通中要求的常见操纵。考虑启动倒车停车操纵的汽车的示例,该汽车应当在确保与该汽车后面的汽车的距离安全的情况下开始倒车。
交通灯
在包括具有交通灯的交叉路口的场景中,可能会认为交通灯场景的简单规则是“如果一辆汽车的路线有绿灯,而另一辆汽车的路线有红灯,那么责任在于其路线有红灯的汽车”。然而,这不是正确的规则,尤其是并非在所有情况下都正确的规则。例如,考虑图27中所描绘的场景。即使汽车2701在具有绿灯的路线上,我们不期望它忽略已经在交叉路口中的汽车2703。正确的规则是具有绿灯的路线有在具有红灯的路线之上的优先级。因此,我们获得从交通信号灯到前面描述的路线优先级概念的明显缩减。
非结构化道路
转向没有定义明确路线几何形状的道路,首先考虑根本没有任何车道结构的场景(例如停车场)。确保不会发生事故的方法是要求每辆汽车都沿直线驾驶,而如果发生航向的改变,该航向的改变必须在我方周围没有接近的汽车的情况下完成。这背后的基本原理是,汽车可以预测其他汽车将做什么,并相应地作出行为。如果其他汽车从这个预测偏离(通过改变航向),则其以足够长的距离完成,并且因此可以有足够的时间来校正预测。当存在车道结构时,它可以实现对其他汽车将做什么的更智能的预测。如果完全不存在车道结构,则汽车将根据其当前航向继续。从技术上说,这相当于根据每辆汽车的方向将该汽车分配到虚拟直线路线。接下来,考虑大型非结构化环岛的场景(例如,在巴黎凯旋门周围)。在这里,合理的预测是假设汽车将根据环岛的几何形状继续,同时保持该汽车的偏移。技术上,这相当于根据每辆汽车与环岛中心的当前偏移将每辆汽车分配给虚拟圆弧路线。
上文所描述的驾驶策略系统(例如,RL系统)可以与所描述的事故责任规则中的一个或多个一起实现,以提供在决定要实现的特定导航指令时考虑潜在事故责任的导航系统。此类规则可以在规划阶段内应用;例如,在一组编程指令内或在经训练的模型内,使得所提出的导航动作是由已经符合规则的系统形成的。例如,驾驶策略模块可以计及RSS所基于的一个或多个导航规则,或者可以使用RSS所基于的一个或多个导航规则来训练。附加地或者替代地,RSS安全约束可以作为过滤层应用,通过该过滤层,规划阶段提出的所有所提出的导航动作都将相对于相关事故责任规则进行测试,以确保所提出的导航动作是合规的。如果特定动作符合RSS安全约束,则该特定动作可以被实现。否则,如果所提出的导航动作不符合RSS安全约束(例如,如果所提出的动作可能基于上文所描述的规则中的一个或多个规则而导致主交通工具的事故责任),则该动作不被采取。
在实践中,特定的实现方式可能包括用于主交通工具的导航系统。主交通工具可以被配备有图像捕获设备(例如,一个或多个相机,诸如上文所描述的那些相机中的任何相机),该图像捕获设备在操作期间捕获表示主交通工具的环境的图像。使用图像信息,驾驶策略可以接收多个输入,并且输出为了实现主交通工具的导航目标的规划的导航动作。驾驶策略可能包括一组编程指令、经训练的网络等,该驾驶策略可以接收各种输入(例如,来自一个或多个相机的、示出了主交通工具的周围环境的图像,包括目标交通工具、道路、对象、行人等;来自光检测与测距或无线电检测与测距系统的输出;来自速度传感器、悬架传感器等的输出;表示主交通工具一个或多个目标的信息——例如,用于将乘客运载到特定位置的导航规划)。基于输入,处理器可以通过分析相机图像、光检测与测距输出、无线电检测与测距输出等来标识主交通工具环境中的目标交通工具。在一些实施例中,处理器可以通过分析一个或多个输入(诸如一个或多个相机图像、光检测与测距输出和/或无线电检测与测距输出)来标识主交通工具环境中的目标交通工具。进一步,在一些实施例中,处理器可以基于传感器输入的多数同意或者基于传感器输入的组合来标识主交通工具的环境中的目标交通工具(例如,通过分析一个或多个相机图像、光检测与测距输出和/或无线电检测与测距输出,并且接收基于输入的多数同意或者基于输入的组合标识目标交通工具的检测结果)。
基于驾驶策略模块可用的信息,可以以用于实现主交通工具的导航目标的一个或多个规划导航动作的形式提供输出。在一些实施例中,RSS安全约束可以被应用为规划导航动作的过滤器。也就是说,一旦开发了规划导航动作,就可以至少一个事故责任规则(例如,上文所讨论的事故责任规则的任何一个)对规划导航动作进行测试,以确定主交通工具相对于所识别的目标交通工具的潜在事故责任。并且,如所提及的,如果相对于至少一个事故责任规则对规划导航动作进行的测试指示如果采取了该规划导航动作则对于主交通工具而言可能存在潜在的事故责任,那么处理器可能使得主交通工具不实现该规划导航动作。另一方面,如果相对于至少一个事故责任规则对规划导航动作进行的测试指示如果采取了规划导航动作则对于主交通工具而言不会产生事故责任,那么处理器可以使得主交通工具实现该规划导航动作。
在一些实施例中,系统可以相对于至少一个事故责任规则来测试多个潜在导航动作。基于测试结果,系统可以将潜在导航动作过滤为多个潜在导航动作的子集。例如,在一些实施例中,子集可以仅包括这样的潜在导航动作:针对这些潜在导航动作,相对于至少一个事故责任规则的测试表明,如果采取了这些潜在导航动作,则针对主交通工具而言不会产生事故责任。然后,系统可以对不具有事故责任的潜在导航动作进行评分和/或排定优先级,并基于例如优化评分或最高优先级选择导航动作中的一个导航动作来实现。分数和/或优先级可以基于例如一个或多个因素,诸如被视为对乘客最安全、最高效、最舒适的潜在导航动作等。
在一些情况下,是否实现特定的规划航行动作的确定也可能取决于在规划动作之后的下一个状态中默认应急程序是否将是可用的。如果DEP可用,RSS过滤器可批准规划动作。另一方面,如果DEP将是不可用的,则下一个状态可能被视为不安全状态,并且规划导航动作可被拒绝。在一些实施例中,规划导航动作可以包括至少一个默认紧急程序。
所描述的系统的一个优点是,为了确保交通工具的安全动作,只需考虑主交通工具相对于特定目标交通工具的动作。因此,在多于一辆目标交通工具存在的情况下,可以相对于主交通工具附近的影响区内的目标交通工具(例如,在25米、50米、100米、200米等范围内)顺序地对主交通工具的规划动作针对事故责任规则进行测试。在实践中,至少一个处理器可以进一步编程为用于:基于对表示主交通工具环境的至少一个图像的分析(或基于光检测与测距或无线电检测与测距信息等)标识主交通工具的环境中的多个其他目标交通工具,并重复相对于至少一个事故责任规则对规划导航动作的测试,以确定主交通工具相对于多个其他目标交通工具中的每一个的潜在事故责任。如果相对于至少一个事故责任规则对规划导航动作进行的重复测试指示如果采取了该规划导航动作则针对主交通工具而言可能存在潜在的事故责任,那么处理器可使得主交通工具不实现该规划导航动作。如果相对于至少一个事故责任规则对规划导航动作进行的重复测试指示如果采取了该规划导航动作则针对主交通工具而言可能不产生潜在的事故责任,则处理器可使得主交通工具实现该规划导航动作。
如所提及的,上文所描述的规则中的任何一个均可以作为RSS安全测试的基础。在一些实施例中,至少一个事故责任规则包括这样的跟随规则:该规则定义了所标识的目标交通工具后面的、在其内主交通工具无法在不具有事故责任的可能性的情况下前进的距离。在其他情况下,至少一个事故责任规则包括这样的领先规则:该规则定义了所标识的目标交通工具的前方的、在其内主交通工具无法在不具有事故责任的可能性的情况下前进的距离。
虽然上文所描述的系统可以对单个规划导航动作应用RSS安全测试来测试与主交通工具不应采取使它对产生的事故负责的任何动作的规则的顺应性,但该测试可以应用于多于一个的规划导航动作。例如,在一些实施例中,至少一个处理器基于至少一个驾驶策略的应用可以确定实现主交通工具的导航目标的两个或更多个规划导航动作。在这些情况下,处理器可以根据至少一个事故责任规则对两个或更多个规划导航动作中的每一个进行测试,以确定潜在的事故责任。并且,对于两个或更多个规划导航动作中的每一个,如果测试指示如果采取了两个或更多个规划导航动作中的特定的规划导航动作则针对主交通工具而言可能存在潜在的事故责任,那么处理器可使得主交通工具不实现该特定的规划导航动作。另一方面,对于两个或更多个规划导航动作中的每一个,如果测试表明如果采取了两个或更多个规划导航动作中的特定的规划导航动作则针对主交通工具而言不会产生事故责任,那么处理器可以将两个或更多个规划导航动作中的特定一个标识为用于实现的可行候选。接下来,处理器可以基于至少一个成本函数从用于实现的可行候选中选择要采取的导航动作,并使主交通工具实现所选的导航动作。
由于RSS的实现涉及确定主交通工具与一个或多个目标交通工具之间相对的潜在事故责任,以及针对安全性顺应性来测试规划导航动作,因此系统可以跟踪针对遇到的交通工具的事故责任可能性。例如,不仅系统可以避免采取产生的事故将导致主交通工具的责任的动作,而且主交通工具系统还能够跟踪一个或多个目标交通工具并标识和跟踪这些目标交通工具违反了哪些事故责任规则。在一些实施例中,用于主交通工具的事故责任跟踪系统可以包括至少一个处理设备,该至少一个处理设备可以被编程为用于:从图像捕获设备接收至少一个图像,该至少一个图像表示主交通工具的环境;以及分析该至少一个图像以标识主交通工具的环境中的目标交通工具。基于对至少一个图像的分析,处理器可以包括编程以确定所标识的目标交通工具的导航状态的一个或多个特征。导航状态可以包括目标交通工具的各种操作特征,诸如交通工具速度、对车道中心的接近度、横向速度、行驶方向、距主交通工具的距离、航向、或根据上文所描述的规则中的任何规则来确定潜在事故责任的任何其他参数。处理器可以将所标识的目标交通工具的导航状态的所确定的一个或多个特征与至少一个事故责任规则进行比较(例如,上文所描述的规则中任何规则,诸如以横向速度获胜、方向优先级、对车道中心的接近度获胜、跟车或领先距离、以及切入等)。基于该状态与一个或多个规则的比较,处理器可以存储指示所标识的目标交通工具的部分的潜在事故责任的至少一个值。并且在事故的情况下,处理器可以提供所存储的至少一个值的输出(例如,经由有线或无线的任何合适的数据接口)。例如,可以在发生事故后在主交通工具与至少一辆目标交通工具之间提供此类输出,并且该输出可以用于事故责任的指示或可以以其他方式提供事故责任指示。
可以在任何合适的时间和在任何合适的条件下存储指示潜在事故责任的至少一个值。在一些实施例中,如果确定主交通工具无法避免与所标识的目标交通工具的碰撞,则至少一个处理设备可以针对所标识的目标交通工具分配和存储碰撞责任值。
事故责任跟踪能力不限于单个目标交通工具,而是可以用于针对多个遇到的目标交通工具的跟踪潜在事故责任。例如,至少一个处理设备可以被编程为用于:在主交通工具的环境中检测多个目标交通工具;确定多个目标交通工具中的每一个的导航状态特征,以及基于目标交通工具中的每一个的各自的导航状态特征与至少一个事故责任规则的比较,确定并存储指示多个目标交通工具中的相应目标交通工具的部分的潜在事故责任的值。如所提及的,用作责任跟踪基础的事故责任规则可以包括上文所描述的规则或任何其他合适规则中的任何规则。例如,至少一个事故责任规则可以包括横向速度规则、横向位置规则、驾驶方向优先级规则、基于交通灯的规则、基于交通标志的规则、路线优先级规则等。事故责任跟踪函数还可以与基于RSS考虑(例如,主交通工具的任何动作是否会导致对于产生的事故的潜在责任)的安全导航相耦合。
除了基于根据RSS的事故责任考虑进行导航外,还可以依据交通工具导航状态以及确定特定的未来的航行状态是否被视为安全(例如,是否存在DEP以使得事故可以被避免,或任何产生的事故均不会被视为主交通工具的过错,如上文所详细描述的)来考虑导航。可以控制主交通工具从安全状态导航到安全状态。例如,在任何特定状态下,驾驶策略可以用于生成一个或多个规划导航动作,并且那些动作可以通过确定与每个规划动作相对应的预测未来状态是否会提供DEP来测试。如果是,则提供DEP的一个或多个规划导航动作可被认为是安全的,并有资格用于实现。
在一些实施例中,用于主交通工具的导航系统可以包括至少一个处理设备,该至少一个处理设备被编程为用于:从图像捕获设备接收表示主交通工具的环境的至少一个图像;基于至少一个驾驶策略,确定用于实现主交通工具的导航目标的规划导航动作;分析至少一个图像以标识主交通工具的环境中的目标交通工具;相对于至少一个事故责任规则来对规划导航动作进行测试,以确定主交通工具相对于所标识的目标交通工具的潜在事故责任;如果相对至少一个事故责任规则对规划导航动作的测试指示如果采取了该规划导航动作则可能针对主交通工具而言可能存在潜在事故责任,那么使得主交通工具不实现该规划导航动作;以及如果相对于至少一个事故责任规则对规划导航动作的测试指示如果采取了该规划导航动作则针对主交通工具而言不会产生任何事故责任,那么使得主交通工具实现该规划导航动作。
在一些实施例中,用于主交通工具的导航系统可以包括至少一个处理设备,该至少一个处理设备被编程为用于:从图像捕获设备接收表示主交通工具的环境的至少一个图像;基于至少一个驾驶策略,确定主交通工具的多个潜在导航动作;分析至少一个图像以标识所述主交通工具的环境中的目标交通工具;相对于至少一个事故责任规则来对多个潜在导航动作进行测试,以确定主交通工具相对于所标识的目标交通工具的潜在事故责任;选择潜在的导航动作中的、针对其而言测试指示如果采取所选择的潜在导航动作则针对主交通工具不会产生任何事故责任的潜在导航动作;以及使得主交通工具实现所选择的潜在导航动作。在一些实例中,可以从多个潜在导航动作的这样的子集中选择所选择的潜在导航动作:对于该多个潜在导航动作的子集,测试指示如果采取该多个潜在导航动作的子集中的任何潜在导航动作,则针对主交通工具而言不会产生事故责任。进一步,在一些实例中,可以根据评分参数来选择所选择的潜在导航动作。
在一些实施例中,用于对主交通工具进行导航的系统可以包括至少一个处理设备,该至少一个处理设备被编程为用于:从图像捕获设备接收表示主交通工具的环境的至少一个图像;以及基于至少一个驾驶策略来确定用于实现主交通工具的导航目标的规划导航动作。处理器还可以:分析至少一个图像以标识主交通工具的环境中的目标交通工具;确定如果采取了规划的导航动作则将产生的主交通工具与目标交通工具之间的下一状态距离;确定主交通工具的当前最大制动能力和主交通工具的当前速度;确定目标交通工具的当前速度,并基于目标交通工具的至少一个所识别的特征,假设目标交通工具的最大制动能力;以及如果给定主交通工具的最大制动能力和主交通工具的当前速度的情况下主交通工具可以在停车距离内停车,则实现规划的导航动作,该停车距离小于所确定的下一状态距离与基于目标交通工具当前速度和目标交通工具的假设的最大制动能力确定的目标交通工具驾驶距离加在一起之和。停止距离可以进一步包括主交通工具在无制动的反应时间内行驶通过的距离。
确定目标交通工具的最大制动能力所依据的目标交通工具的所识别的特征可以包括任何合适的特征。在一些实施例中,特征可以包括交通工具类型(例如,摩托车、汽车、公共汽车、卡车,其中的每一种可以与不同的制动曲线相关联)、交通工具尺寸、预测或已知的交通工具重量、交通工具型号(例如,可以用于查找已知制动能力)等。
在一些情况下,可以相对于多于一个的目标交通工具进行安全状态确定。例如,在一些情况下,(基于距离和制动能力的)安全状态确定可基于领先于主交通工具的两个或更多个所标识的目标交通工具。此类确定可能是有用的,尤其是在无法获得与最前面目标交通工具前方的是什么的有关信息的情况下。在此类情况下,出于确定安全状态、安全距离和/或可用DEP的目的,可以假设最前面的可检测交通工具将经历与不可移动或几乎不可移动的障碍物的即将发生的碰撞,使得跟随的目标交通工具可以以比其自身制动曲线允许的更快地达到停止(例如,第二目标交通工具可能与最前面的第一交通工具碰撞,并且因此比预期的最大制动状况更快地达到停止)。在这种情况下,使安全状态、安全跟车距离、DEP确定基于最前面的所标识的目标交通工具相对于主交通工具的位置可能很重要。
在一些实施例中,这种安全状态到安全状态导航系统可以包括至少一个处理设备,该至少一个处理设备被编程为用于从图像捕获设备接收表示主交通工具的环境的至少一个图像。这里,与其他实施例一样,由图像捕获设备(例如,相机)捕获的图像信息可以用从一个或多个其他传感器(诸如光检测与测距或无线电检测与测距系统)获得的信息来补充。在一些实施例中,用于导航的图像信息甚至可以源自光检测与测距或无线电检测与测距系统,而不是源自光学相机。至少一个处理器可以基于至少一个驾驶策略确定用于实现主交通工具的导航目标的规划导航动作。处理器可以分析至少一个图像(例如,从相机、无线电检测与测距、光检测与测距或任何其他设备中获得的至少一个图像,从中可以获得主交通工具的环境的图像,无论是基于光学、基于距离地图等),以标识主交通工具前方的第一目标交通工具和第一目标交通工具前方的第二目标交通工具。处理器随后可以确定如果采取规划导航动作会产生的主交通工具与第二目标交通工具之间的下一状态距离。接下来,处理器可以确定主交通工具的当前最大制动能力和主交通工具的当前速度。如果在给定主交通工具的最大制动能力和主交通工具的当前速度的情况下主交通工具可以在小于主交通工具与第二目标交通工具之间所确定的下一状态距离的停止距离内停止,则处理器可以执行规划导航动作。
也就是说,如果主交通工具处理器确定在领先可见目标交通工具与主交通工具之间的下一状态距离内有足够的距离来进行停止,没有碰撞或者没有责任由主交通工具承担的碰撞,并且假设领先可见目标交通工具将在任何时刻突然达到完全停止,则主交通工具的处理器可以采取规划导航动作。另一方面,如果没有足够的空间在没有碰撞的情况下停止主交通工具,则可能不采取规划导航动作。
此外,虽然在一些实施例中,下一状态距离可以用作基准,但在其他情况下,可以使用不同的距离值来确定是否采取规划导航动作。在一些情况下,如上文所描述的情况下,使主交通工具停止以避免碰撞可能需要的实际距离可能小于预测的下一状态距离。例如,如果领先可见目标交通工具被一个或多个其他交通工具(例如,上文的示例中的第一目标交通工具)跟随,则实际预测的所需停止距离将是预测的下一状态距离减去跟随领先可见目标交通工具的(多个)目标交通工具的长度。如果领先可见目标交通工具立即停止,则可以假设跟随的目标交通工具将与领先可见目标交通工具碰撞,并且因此,主交通工具也需要避开它们以避免碰撞。因此,主交通工具处理器可以评估下一状态距离减去主交通工具和领先的、可见/检测到的目标交通工具之间任何中间目标交通工具的总长度,以确定是否有足够的空间在最大制动条件下使主交通工具停止而不发生碰撞。
在其他实施例中,用于评估主交通工具与一个或多个领先目标交通工具之间碰撞的基准距离可能大于预测的下一状态距离。例如,在某些情况下,领先的可见/检测到的目标交通工具可能达到快速但并非立即的停止,使得领先的可见/检测到的目标交通工具在假设的碰撞后行驶了一小段距离。例如,如果该交通工具撞击到停放的汽车,则碰撞的交通工具可能在达到完全停止之前可能仍行驶某个距离。假设的碰撞之后行驶的距离可能小于相关目标交通工具的假设或确定的最小停止距离。因此,在一些情况下,主交通工具的处理器在其评估是否采取规划导航动作时可能延长下一状态距离。例如,在该确定中,下一状态距离可以增加5%、10%、20%等,或者可以用预定的固定距离(10m、20m、50m等)来补充,以计及领先/可见目标交通工具在假设即将发生的碰撞之后可能行驶的合理距离。
除了将评估中的下一状态距离延长假定的距离值之外,下一状态距离还可以通过计及领先的可见/检测到的目标交通工具在碰撞后行驶的距离、以及跟随领先的可见/检测到的目标交通工具的任何目标交通工具的长度(这些目标交通工具可以被假设为在领先的可见/检测到的交通工具突然停止之后与领先可见/检测到的交通工具堆积)这二者来进行修改。
除了使对是否采取规划导航动作的确定基于主交通工具与领先的可见/检测到的目标交通工具之间的下一状态距离(如通过考虑领先的可见/检测到的目标交通工具的碰撞后移动和/或跟随领先的可见/检测到的目标交通工具的交通工具的长度所修改)之外,主交通工具还可以在其确定中继续计及一个或多个领先交通工具的制动能力。例如,主交通工具处理器可以继续:确定如果采取规划导航动作将会产生的主交通工具与第一目标交通工具(例如,跟随领先的可见/检测到的目标交通工具的目标交通工具)之间的下一状态距离;确定第一目标交通工具的当前速度并基于第一目标交通工具的至少一个所识别的特征来假设第一目标交通工具的最大制动能力;以及如果在给定主交通工具的最大制动能力和当前速度的情况下主交通工具不能在相比于主交通工具与第一目标交通工具之间确定的下一状态距离加上基于第一目标交通工具的当前速度和第一目标交通工具的假设的最大制动能力确定的第一目标交通工具行驶距离的总和更小的停止距离内被停止,则不实现规划导航动作。这里,如在上文所描述的示例中,第一目标交通工具的所识别的特征可以包括交通工具类型、交通工具尺寸、交通工具型号等。
在一些情况下(例如,通过其他交通工具的动作),主交通工具可能会确定碰撞即将发生并且不可避免。在此类情况下,主交通工具的处理器可以被配置为用于选择产生的碰撞不会对主交通工具导致任何责任的导航动作(如果可用)。附加地或替代地,主交通工具的处理器可以被配置为用于相比于当前轨迹或相对于一个或多个其他导航选项将对主交通工具提供更少的潜在损害或者对目标对象提供更少的潜在损害的导航动作。进一步,在某些情况下,主交通工具处理器可以基于对对象的类型或预期发生碰撞的对象的考虑来选择导航动作。例如,当对于第一导航动作面临与停放的交通工具的碰撞或者对于第二导航动作面临与不可移动的对象的碰撞时,可以选择对主交通工具提供较低潜在损害的动作(例如,该动作导致与停放的交通工具的碰撞)。当对于第一导航动作面临与以同主交通工具相似的方向移动的交通工具的碰撞或者对于第二导航动作面临与停放的交通工具的碰撞时,可以选择对主交通工具提供较低潜在损害的动作(例如,该动作导致与移动的交通工具的碰撞)。当由于第一导航动作而面临与行人的碰撞或者对于第二导航动作面临与任何其他对象的碰撞时,可以选择提供与行人发生碰撞的任何替代方案的动作。
在实践中,用于对主交通工具进行导航的系统可以包括至少一个处理设备,该至少一个处理设备被编程为用于:从图像捕获设备接收表示主交通工具的环境的至少一个图像(例如,可见图像、光检测与测距图像、无线电检测与测距图像等);从至少一个传感器接收主交通工具的当前导航状态的指标;以及基于对至少一个图像的分析并且基于主交通工具的当前导航状态的指标,确定主交通工具与一个或多个对象之间的碰撞是不可避免的。处理器可以评估可用的替代方案。例如,处理器可以基于至少一个驾驶策略来确定涉及与第一对象的预期碰撞的主交通工具的第一规划导航动作,以及涉及与第二对象的预期碰撞的主交通工具的第二规划导航动作。第一规划导航动作和第二规划导航动作可以相对于至少一个事故责任规则进行测试,以确定潜在事故责任。如果相对于至少一个事故责任规则对第一规划导航动作进行的测试指示如果采取了第一规划的导航动作则针对主交通工具而言可能存在潜在的事故责任,那么处理器可使得主交通工具不实现第一规划导航动作。如果相对于至少一个事故责任规则对第二规划导航动作进行的测试指示如果采取了第二规划导航动作则针对主交通工具而言可能不会产生潜在的事故责任,那么处理器可使得主交通工具实现第二规划导航动作。对象可包括其他交通工具或非交通工具对象(例如道路碎石、树木、电线杆、标志、行人等)。
以下的图和讨论提供了当进行导航和实现所公开的系统和方法时可能发生的各种场景的示例。在这些示例中,主交通工具可能避免采取如果采取该动作则会导致对于产生的事故而言可归于主交通工具的过错的动作。
图28A和图28B图示出跟随场景和规则的示例。如图28A所示,交通工具2804(例如,目标交通工具)周围的区域表示交通工具2802(例如,主交通工具)的最小安全距离走廊,该交通工具2802在车道中在交通工具2804后面一段距离行驶。根据符合所公开的实施例的一个规则,为了避免其中过错可归于交通工具2802的事故,交通工具2802必须通过保持在交通工具2802周围区域来维持最小安全距离。相反,如图28B所示,如果交通工具2804制动,那么如果发生事故则交通工具2802将有过错。
图29A和图29B示出了切入场景中的示例归责。在这些场景中,交通工具2902周围的安全走廊确定切入操纵中的过错。如图29A所示,交通工具2902在交通工具2902前面切入,违反了安全距离(由交通工具2902周围的区域所描绘),并且因此有过错。如图29B所示,交通工具2902在交通工具2902前方切入,但在交通工具2904前方维持安全距离。
图30A和图30B示出了切入场景中的示例归责。在这些场景中,交通工具3004周围的安全走廊确定交通工具3002是否有过错。在图30A中,交通工具3002在交通工具3006后面行驶,并改变到目标交通工具3004在其中行驶的车道中。在这种场景中,交通工具3002违反了安全距离,并且因此如果存在事故则交通工具3002有过错。在图30B中,交通工具3002切入交通工具3004后面并维持安全距离。
图31A-图31D图示出漂移场景中的示例归责。在图31A中,场景开始于交通工具3104的轻微横向操纵,交通工具3104切入到交通工具3102的宽走廊。在图31B中,交通工具3104继续切入到交通工具3102的正常走廊中,违反安全距离区域。如果发生事故,交通工具3104应受责备。在图31C中,交通工具3104维持其初始位置,而交通工具3102横向移动“迫使”违反正常安全距离走廊。如果发生事故,则交通工具3102应受责备。在图31B中,交通工具3102和交通工具3104朝向彼此横向移动。如果发生事故,则由两辆汽车分担责任。
图32A和图32B图示出双向交通场景中的示例归责。在图32A中,交通工具3202对交通工具3206超车,并且交通工具3202已执行维持与交通工具3204的安全距离的切入操纵。如果发生事故,则交通工具3204因为未以合理的力制动而应受到责备。在图32B中,交通工具3202切入而不保持与交通工具3204的安全纵向距离。发生事故的情况下,交通工具3202应受责备。
图33A和图33B图示出了双向交通场景中的示例归责。在图33A中,交通工具3302漂移到即将到来的交通工具3204的路径中,维持安全距离。发生事故的情况下,交通工具3204因为未以合理的力制动而应受责备。在图33B中,交通工具3202漂移到即将到来的交通工具3204的路径中,违反了安全纵向距离。发生事故的情况下,交通工具3204应受到责备。
图34A和图34B图示路线优先级场景中的示例归责。在图34A中,交通工具3202在停车标志处行驶。因为交通工具3202没有遵守交通信号灯分配给交通工具3204的优先级,因此归责于交通工具3202。在图34B中,尽管交通工具3202没有优先级,但当交通工具3204的灯变绿时交通工具3202已经在交叉路口。如果交通工具3204撞击3202,则交通工具3204将受责备。
图35A和图35B图示出路线优先级场景中的示例归责。在图35A中,交通工具3502倒车进入即将到来的交通工具3504的路径中。交通工具3502执行维持安全距离的切入操纵。发生事故的情况下,交通工具3504因为未以合理的力制动而应受责备。在图35B中,交通工具3502进行汽车切入而没有保持安全纵向距离。发生事故的情况下,交通工具3502应受责备。
图36A和图36B图示出路线优先级场景中的示例归责。在图36A中,交通工具3602和交通工具3604以相同方向驾驶,而交通工具3602跨交通工具3604的路径左转。交通工具3602执行维持安全距离的切入操纵。发生事故的情况下,交通工具3604因为未以合理的力制动而应受责备。在图36B中,交通工具3602进行切入而没有保持安全纵向距离。发生事故的情况下,交通工具3602应受责备。
图37A和图37B图示出路线优先级场景中的示例归责。在图37A中,交通工具3702想要左转,但必须让路给即将到来的交通工具3704。交通工具3702左转,违反了相对于交通工具3704的安全距离。归责于交通工具3702。在图37B中,交通工具3702左转,维持相对于交通工具3704的安全距离。发生事故的情况下,交通工具3704因为未以合理的力制动而应受责备。
图38A和图38B图示出路线优先级场景中的示例归责。在图38A中,交通工具3802和交通工具3804直线驾驶,且交通工具3802具有停止标志。交通工具3802进入交叉路口,违反了相对于交通工具3804的安全距离。归责于交通工具3802。在图38B中,交通工具3802在与交通工具3804保持安全距离的同时进入交叉路口。发生事故的情况下,交通工具3804因为未以合理的力制动而应受责备。
图39A和图39B图示出路线优先级场景中的示例归责。在图39A中,交通工具3902想要左转,但必须让路给从其右侧驶来的交通工具3904。交通工具3902进入交叉路口,违反了通行权和相对于交通工具3904的安全距离。归责于交通工具3902。在图39B中,交通工具3902进入交叉路口,同时保持通行权和相对于交通工具3904的安全距离。发生事故的情况下,交通工具3904因为未以合理的力制动而应受责备。
图40A和图40B图示出交通灯场景中的示例归责。在图40A中,交通工具4002驶过红灯。因为交通工具4002没有遵守交通灯分配给交通工具4004的优先级,因此归责于交通工具4004。在图40B中,尽管交通工具4002没有优先级,但当交通工具4004的灯变绿时,该交通工具4002已经在交叉路口中。如果交通工具4004撞击交通工具4002,则交通工具4004将受责备。
图41A和图41B图示出交通灯场景中的示例归责。交通工具4102跨即将到来的交通工具4104的路径左转。交通工具4104具有优先级。在图41中,交通工具4102左转,违反了相对于交通工具4104的安全距离。归责于交通工具4102。在图41B中,交通工具4102左转,相对于交通工具4104保持安全距离。发生事故的情况下,交通工具4104因为未以合理的力制动而应受责备。
图42A和图42B图示出交通灯场景中的示例归责。在图42A中,交通工具4202右转,切入到直线驾驶的交通工具4204的路径中。红灯右转被假设为合法操纵,但交通工具4204具有通行权,因为交通工具4202违反了相对于交通工具4204的安全距离。归责于交通工具4202。在图42B中,交通工具4202右转,相对于交通工具4204保持安全距离。发生事故的情况下,交通工具4204因为未以合理的力制动而应受责备。
图43A-图43C图示出示例易受伤害道路使用者(VRU)场景。其中交通工具执行操纵的与动物或VRU的事故被当作切入的变型,其中默认归责于交通工具,具有某些例外。在图43A中,交通工具4302切入到动物(或VRU)的路径中,同时保持安全距离并且确保事故可以被避免。在图43B中,交通工具4302切入到动物(或VRU)的路径中,违反安全距离归责于交通工具4302。在图43C中,交通工具4302注意到动物并停止,给动物足够的时间来停止。如果动物撞击了汽车,则动物应受责备。
图44A-图44C图示出示例易受伤害道路使用者(VRU)场景。在图44A中,交通工具4402在有信号的交叉路口左转,并且遇到人行横道中的行人。交通工具4402有红灯,并且VRU有绿灯。交通工具4402有过错。在图44B中,交通工具4402有绿灯,并且VRU有红灯。如果VRU进入人行横道,则VRU有过错。在图44C中,交通工具4402有绿灯,并且VRU有红灯。如果VRU已经在人行横道中,则交通工具4402有过错。
图45A-图45C图示出示例易受伤害道路使用者(VRU)场景。在图45A中,交通工具4402右转并遇到骑行者。骑行者有绿灯。交通工具4502有过错。在图45B中,骑行者有红灯。如果骑行者进入交叉路口,则该骑行者有过错。在图45C中,骑行者有红灯,但已经在交叉路口中。交通工具4502有过错。
图46A-图46C图示出示例易受伤害道路使用者(VRU)场景。其中交通工具未执行性能操纵的与VRU的事故默认归责于交通工具,具有一些例外。在图46A中,交通工具4602必须始终确保保持安全距离,并确保与VRU事故可以被避免。在图46B中,如果交通工具4602未保持安全距离,则交通工具4602应受责备。在图46C中,如果交通工具4602没有保持足够低的速度以避免与可能被交通工具5604遮挡的VRU发生碰撞,或以法定限制之上驾驶,则交通工具4602应受责备。在图46D中,在交通工具4604可能遮挡VRU的另一场景中,如果交通工具4602保持足够低的速度,但VRU速度高于合理阈值,则VRU应受责备。
如本文所公开的,RSS定义了用于多代理场景的框架。与静态对象的事故、道路偏离、失去控制或交通工具故障等均归责于主方。RSS定义了谨慎操纵,这将不允许与其他对象的事故,除非其他对象危险地操纵到主方的路径中(在这种情况下,其他对象应受责备)。在其中归责于目标方的肯定碰撞的情况下,主方将应用其制动器。只有在操纵是“谨慎的”(被感知为不会引起另一事故)的情况下,系统可以考虑回避转向。
非碰撞事件包括由交通工具火灾、坑洞、坠物等引发的事故。在这些情况下,可默认归责于主方,但主方可以避免的场景除外,诸如坑洞和坠物,这些可以被归类为“静态对象”场景,假设它们在安全距离处变为可见或者存在谨慎的回避操纵。在主交通工具静止的多代理场景中,主方不应受到责备。在这种情况下,目标方本质上执行了非安全切入。例如,如果骑行者撞上了静止的汽车,主方就不应受到责备。
RSS还包括道路未被清晰地结构化的情况下(诸如停车场或没有车道标记的宽阔环岛)的责任分配指南。在这些非结构化道路场景中,通过检查每个交通工具与其路径的偏差以确定它们是否被允许有足够的距离用于允许区域中的其他对象进行调整,从而分配责任。
导航场景和碰撞预测
如上文所描述的,自主或部分自主交通工具可以使用多种技术来导航通过交通工具的环境。为确保主交通工具的驾驶员或乘客、以及其他交通工具的驾驶员或乘客或行人的安全,交通工具的导航系统可以被配置为用于处置各种驾驶场景,从交通工具驾驶期间常见的场景到不太常见的场景或者甚至意外的场景。某些场景(包括主交通工具正在转弯的情况)可能会对精确预测与对象或行人的碰撞提出独特的挑战。导航系统可能需要对交通工具的环境内的对象进行精确评测,并快速且有效地做出导航动作决策。因此,可以提供高级碰撞预测技术来解决这些场景。
某些场景可以充当评估自主或部分自主驾驶系统的响应性和性能的基准。在一些情况下,此类基准场景可能由监管委员会、政府实体等开发和发布。一个此类程序是欧洲新车评测程序(Euro NCAP),其提供了一个五星级安全评级系统,以帮助消费者、他们的家庭和企业对交通工具进行比较,并帮助他们针对其需求来标识满足最安全的选择。安全评级从由Euro NCAP设计和实行的一系列交通工具测试来确定。这些测试可表示重要的真实事故场景,这些真实事故场景可能导致汽车乘员或其他道路使用者受伤或死亡。虽然交通工具导航系统应能够相对于各种遇到的驾驶场景安全地进行响应并导航,但Euro NCAP测试可以提供一组离散驾驶场景,相对于该组离散驾驶场景可以对AV的性能进行评估。一种此类场景是CPTA(汽车对行人转向成人)情况,其中主交通工具从一个方向逐渐接近交叉路口,而行人正以相对方向穿过交叉路口。主交通工具可以在交叉路口左转或右转,并可以跨过行人的路径。该场景可以类似于图47中所图示的场景,并在下面更详细地描述。
在此类场景中,某些挑战可能与事故预测相关联。例如,碰撞预测可能取决于主交通工具的预测行为(例如,主交通工具在转弯期间是否会继续增加偏航,偏航将如何增加,主交通工具速度是否会改变等)。使用所公开的技术,交通工具导航系统可以被配置为用于预测主交通工具和行人通过交叉路口的路径。在一些实施例中,系统可以根据速度改变主交通工具的预测路径。例如,相对于较低的速度,较高的速度可能引起较大的转弯半径。交通工具导航系统可以被配置为用于预测主交通工具与行人之间的碰撞,即使主交通工具由于转弯操纵而改变偏航。在一些实施例中,可以使用简化的基于圆的技术来预测碰撞,下面将详细描述。该技术可以允许交通工具导航系统通过标识其中最有可能发生碰撞的场景期间的特定时间并对这些特定时间执行详细分析来高效地分析场景。虽然CPTA场景在本文中作为示例而被使用,但是应当理解,本公开不限于任何特定场景,并且可以应用于交通工具导航系统可能遇到的各种情况。
图47是符合所公开的实施例的其中可以使用碰撞预测的示例场景的图示。图47描绘了包括交叉口或交叉路口4700的道路。如图所示,主交通工具4710可能正沿着道路段4702逐渐接近交叉路口4700。主交通工具4710可能规划在交叉路口4700沿路径4730转弯到道路段4704上。行人4720可以正在穿过交叉路口4700,使得行人4720的路径4740与交通工具4710的路径4730交叉。在一些实施例中,行人4720的路径4740可以按与交通工具4710接近交叉路口4700的方向相对的方向,如图所示。
在一些实施例中,图47所示的场景可以符合Euro NCAP规定的CPTA场景的规范,然而本发明不限于任何特定场景。因此,应当理解,图47所示的场景作为示例使用,并且所公开的技术可以应用于其他场景。例如,行人4720可能正在穿过道路段4706或4708,并且交通工具4710可能正在转弯到道路段4706上(例如,沿着路径4734)或继续直行(例如,沿着路径4732)。此外,行人4720可以以一角度或按与所示相对的方向穿过道路4704。在一些实施例中,行人4720可以是另一个移动对象,诸如动物、骑行者、另一交通工具、另一种形式的易受伤害道路使用者(VRU)等。
主交通工具4710可以被配置为用于捕获一个或多个图像,如上文各实施例中所描述的。例如,主交通工具4710可以对应于交通工具200,并且可以使用图像采集单元120来捕获图像。相应地,上文相对于交通工具200或其他主交通工具的实施例或描述的任何实施例或描述可以类似地应用于主交通工具4170。在一些实施例中,主交通工具4710可以分析所捕获的图像,以标识所捕获的图像中的交叉路口4700的表示和交叉路口4700附近的行人4720的表示。主交通工具4710还可以进一步被配置为用于预测行人4720的路径。在一些实施例中,路径可以基于主交通工具4710捕获的图像。例如,基于图像,交通工具导航系统可以标识行人4720的位置,并且交通工具导航系统可以基于行人4720的当前位置假设直线行驶路径。在一些实施例中,可以假设行人4720的路径4740垂直于道路段4704延伸,使得行人4720笔直走过道路,如图47所示。在一些实施例中,还可以确定行人的面朝方向,并且路径4740可以沿着按行人4720的面朝方向的直线延伸。行人4720的位置和面朝方向可以基于任何合适的方法来确定,包括一个或多个图像分析算法或被训练以接收图像并且提供行人面朝方向作为输出的经训练的系统。在一些实施例中,作为基于图像的检测的附加,或者作为基于图像的检测的替代,还可以使用其他传感器,诸如光检测与测距、无线电检测与测距等。
符合本公开的实施例,可以使用其他方法确定行人4720的预测路径4740。例如,交通工具导航系统可以跟踪行人4720随时间的移动。这可以包括在由主交通工具4710捕获的图像序列上跟踪行人4720的移动。在一些实施例中,可以基于所确定的行人4720在图像内的位置来预测路径4740。这可以包括针对每个所捕获的图像标识行人与道路或地面之间的接触点。假设图像中的点在道路表面上,可以开发将图像坐标(例如,表示为(x,y))映射到距离Z的道路模型。该模型可以是简单的平面模型,其中Z是相机高度、焦距和道路平面消失线的函数。在一些实施例中,可以使用对曲面建模的更复杂模型。相应地,映射可以给出向量(x,y,f)与道路平面模型相交所在的点(X,Y,Z)。
在一些实施例中,交通工具导航系统可以被配置为用于使用跨被用于确定行人4720位置的每个图像一致的坐标集合。例如,系统可以使用基于初始帧(帧0)的坐标系。对于稍后的帧(帧i),系统可以使用主交通工具4710的自我运动(该自我运动可以使用如上文所描述的各种传感器来跟踪)将向量(xi;yi;f)转换为帧0坐标中的向量。基于行人4720在图像序列中的所确定的位置,可以标识行人的路径。例如,路径可以表示为沿道路表面的样条曲线。确定行人4720的预测路径4740可以包括:根据样条曲线,将行人4740穿过交叉路口4700的检测路径外推为直线路径或曲线路径。相应地,路径4740可以假设行人4720维持在图像中检测到的相同的总体轨迹。在一些实施例中,可以使用经训练的系统。例如,神经网络或其他机器学习算法可以在各种场景和情境中(例如,使用真值)对大型图像集合和相应的(未来)行人轨迹进行训练。经训练的模型可以基于行人的至少一个图像为行人提供估计的未来轨迹。
作为另一个示例,可以通过跟踪图像中与行人4740相关联的特征来预测行人4720的路径4740。例如,跨图像序列的行人身上任意两点之间距离的缩放或扩展可以用于确定从主交通工具4710到行人4720的距离改变。假设w0是在当行人4720距离主交通工具4710的估计距离Z0时的时间t0时两点之间的图像距离(例如,以像素或相对于图像的其他测量单位所测量的),wi是时间ti时两点之间的图像距离,则在ti时到行人4720的距离可以表示为
与行人4720相关联的各种点可以用于确定距离w0和wi。在一些实施例中,可以使用行人4720的从头到脚的图像距离。此相对较大的距离可能提供比较短的距离(例如,行人4720躯干上的两点)更精确的测量。然而,由于脚通过关节身体部位(即腿)连接到行人4720的身体,这可能会增加对行人4720的测量比例的噪声。相应地,也可以使用其他点,诸如从腰部到头部的距离。由于该距离更短,由跟踪引起的误差可能相对较大,但由点之间缺乏刚性引起的误差可能会减小。可以使用各种其他合适的点。
在一些实施例中,可以使用多个点集合重复相同的过程,并且可以使用平均值跟踪从主交通工具4710到行人4720的距离改变。例如,可以分析具有多个图像的序列来标识用于比例检测的点。在一些实施例中,可以通过将包围行人4720的表示的矩形划分为3x13子矩形网格来标识特征。在每个子矩形中,可以例如使用Harris点检测器选择“最佳”点。替代地或者附加地,可以使用比例不变特征变换(SIFT)或经训练的神经网络来检测特征点。然后,这些点可以与后续图像中行人4720身上的点匹配。例如,可以使用平方和距离(SSD)、绝对和距离(SAD)、归一化相关或其他合适的方法来执行此类匹配。这可以在预期特征所在的后续图像的特定区域上执行(例如,以点为中心的7x7像素块或其他尺寸)。来自子矩形的顶部8行的随机特征点和底部5行的随机特征点可以用于使用上文的等式来计算比例。这可以使用几个其他点集合进行重复,并且可以基于所确定的比例确定之间的相关程度来确定置信水平。
在图47所示的示例场景中,在相机坐标系中,从主交通工具4710到行人4720的距离Z可能没有被良好定义,并且由于主交通工具4710沿路径4730旋转,因此图像上的两点可能会移动。为了校正这一点,主交通工具4710的自我运动可以用于旋转给定图像(例如,图像Ii)的坐标框架,以与初始图像I0的坐标框架对齐。相应地,基于图像Ii确定的距离Zi可以依据初始图像I0的坐标框架表示。基于在图像序列中计算的距离Z,可以随时间跟踪行人4720的路径。相应地,如上文所描述的,可以通过将行人4740的检测路径外推为直线路径或曲线路径来确定行人4720的预测路径4740。在一些实施例中,行人4720的确定的位置和到行人4720距离也可以用于计算行人4720的预计速度。
主交通工具4710可以类似地确定主交通工具4710的路径4730。在一些实施例中,路径4730取决于交通工具相对于交叉路口4700的导航动作。例如,导航动作可以定义主交通工具4710是左转到道路段4704上,右转到道路段4706上,还是继续沿道路段4708直行。导航动作可以至少部分地基于主交通工具4710的路线选择信息。例如,交通工具导航系统可以确定道路段4704提供到达主交通工具4710的期望目的地的最佳路线,并且因此导航系统可以确定与左转相对应的导航动作。
在一些实施例中,交通工具导航系统可以基于通过访问道路导航地图获得的信息来预测路径4730。例如,如上文所描述的,地图可以存储在地图数据库160中。在一些实施例中,地图可以包括稀疏数据模型,该稀疏数据模型包括主交通工具相对于交叉路口4700的目标轨迹的多项式表示。交通工具导航系统可以选择符合确定的导航动作的路线作为预测路径4730。
在一些实施例中,预测路径4730可能在某些方面与地图中存储的目标轨迹不同。例如,路径4736可以表示与交叉路口4700处左转相关联的目标轨迹,其可能不同于预测路径4730。在一些实施例中,差异可能取决于交通工具4710的速度。例如,目标轨迹4730可以与低于主交通工具4710的当前速度的速度相关联。相应地,主交通工具4710可以确定具有小于目标轨迹4736的转弯半径的预测路径,诸如路径4730。类似地,主交通工具4710可以确定具有更大转弯半径的预测路径,诸如基于更高速度的路径4738。各种其他因素可能会影响与目标轨迹相关的预测路径。例如,基于驾驶策略,预测路径4730可以不同于目标轨迹4736。在一些实施例中,基于用户输入,路径4730可以不同于目标轨迹4736。例如,远程操作员(例如,如果交通工具4710是出租车)驾驶员、系统管理员等可以输入信息以定义路径4730。诸如道路的表面、交叉路口4700内的障碍物、交通工具4710的维护状况或类似因素之类的其他因素也可能影响预测路径4730。
预测路径4730可以包括多个段。例如,如图47所示,路径4730可以包括沿道路段4702的第一直线轨迹、穿过交叉路口4700的中间曲线轨迹以及沿道路段4704的第二直线轨迹。在一些实施例中,在路径4730中可以包括附加的段,包括转弯起始段、转弯完成段、一个或多个中间轨迹(直线或曲线的),等等。如图47所示,中间曲线轨迹可能具有恒定的曲率半径(这可能符合上文所讨论的CPTA场景)。在其他实施例中,曲线轨迹可以具有可变曲率半径。例如,当主交通工具4710通过加速度减速时,主交通工具4710可以减小路径4730的曲率半径(或者,类似地,通过加速增加曲率半径)。进一步作为示例,交通工具通过任何转弯段的行为可以影响交通工具通过一个或多个未来转弯段的预测行为。例如,转弯行为预测可以针对每个转弯段来进行估计,并可能受到诸如道路或交叉路口的几何形状、交通工具特性、交通工具4710或各种交通工具系统的状况、环境状况(例如,天气状况等)、道路表面的状况、照明状况、用户偏好、历史数据(例如,指示交叉口的风险或安全、指示交叉口或特定路口的一般的或类似时间的平均行人流量)、补充信息(例如,来自社交媒体网络、该区域或该特定路口可能出现不规则拥挤行人交通的可能性的指示等)。在一些实施例中,曲率半径沿路径4730可以具有恒定变化率。
基于主交通工具4710和行人4720的预测路径,交通工具导航系统可以确定主交通工具4710是否预计与行人4720碰撞。在该情境中,碰撞可以定义为主交通工具4710与行人4720(或与交通工具4710和行人4720相关的包络)之间的任何接触。可以根据下文更详细描述的各种方法预测碰撞。主交通工具4710预计与行人4720碰撞的情况下,交通工具导航系统可以响应于预计碰撞实现碰撞缓解动作。在一些实施例中,这可以包括由主交通工具4710进行的导航动作。例如,碰撞缓解动作可以包括将主交通工具4710转向远离路径4730(例如,在行人4720前方、在行人4720后方等)。在一些实施例中,碰撞缓解动作可以包括应用主交通工具4710的制动器,例如,使主交通工具4710停止或减速,使得主交通工具4710不再预计与行人4720碰撞。在一些实施例中,碰撞缓解动作可以包括生成警报或通知。例如,交通工具导航系统可以发出可听警报或视觉警报(例如,通过用户接口170),指示预计碰撞。这可能会提示主交通工具4710的驾驶员进行干预并执行驾驶员启动的导航响应(例如,转向、应用制动器等)。
可以实现多种技术和方法来确定主交通工具4710是否预计与行人4720碰撞。在一些实施例中,可以基于与主交通工具4710和/或行人4720相关联的包络来检测预计碰撞。图48、图49和图50图示出符合所公开的实施例的可以针对主交通工具4710和/或行人4720确定的示例包络。尽管示例中所示的包络在形状上通常是圆形的,但本领域技术人员将理解,包络可以具有其他形状。例如,包络可以是圆形、椭圆形、矩形、方形、三角形,或者可以具有不规则形状。在一些实施例中,可以使用部分包络(例如,在对象或人的特定侧上定义的包络),并且包络可以部分地包围对象或人。例如,在一些实施例中,并且仅可以在估计为在最靠近的接近点或接触点处最靠近于行人的侧上使用包络。例如,如果交通工具左转,则包络和行人从相对方向来到交通工具左侧,使得在与行人的估计的最靠近的接近点或接触点处的交通工具的最靠近的侧是交通工具的左前部,包络仅可被添加在交通工具的该部分周围。在一些实施例中,部分的包络可以包括两个或更多个非连续部分。
如图48所示,可以为主交通工具4710确定包络4810。如本文所使用的,包络可以包括出于在空间中定义对象目的来表示对象的外边界的任何2维形状或3维形状。如图48所示,包络4810可以包括表示主交通工具4710的边界框。边界框可以包括沿多个轴表示主交通工具4710最外侧边缘的六个面。包络4810可以包括表示主交通工具4710的最前部的预定正面区域4812(例如,主交通工具4710保险杠上的最前面的点等)。类似地,还可以确定行人4720的暴露区域4820。主交通工具4710是否预计与行人4720碰撞的确定可以基于正面区域4812是否预计与暴露区域4820碰撞来确定。尽管在图48中未示出,但是可以类似地为行人4720确定诸如边界框之类的包络。此外,虽然矩形棱柱用于表示图48中的包络4810,但这是作为示例提供的。可如此使用各种其他形状和/或配置的包络4810。
在一些实施例中,包络4810可以包括相对于主交通工具4710的边缘的预定缓冲距离。图49是图示出符合所公开的实施例的包括预定缓冲距离的包络4914的框图。如上文所描述的,包络4912可以表示与主交通工具4710的边缘相关联的包络,类似于包络4810。如图49所示,包络4914可以包括距包络4912的预定缓冲距离(D1)。主交通工具4710之间的碰撞可以基于包络4914是否与行人4720的任何部分相交来确定。行人4720可能有相关联的包络4920,并且主交通工具4710和行人4720是否预计碰撞的确定可能基于包络4920是否与包络4914碰撞。在一些实施例中,包络4914可以是与主交通工具4710相关联的预定义包络。例如,与主交通工具4710相关联的驾驶策略可以定义用于碰撞检测目的的距离D1。缓冲距离D1可以是任何合适的距离(例如,1米、2米、3米等)。在一些实施例中,缓冲距离D1可以是情境相关的。例如,缓冲距离D1可以取决于主交通工具4710的当前速度而变化。在此类实施例中,更高的速度可能表示对行人4720和/或主交通工具4710的乘客造成伤害的风险更高,因此可以使用更大的缓冲距离。更大的缓冲距离可以进一步计及在更高速度下执行碰撞缓解动作所需的增加的反应时间。在一些实施例中,缓冲距离D1可以至少部分地取决于预计与主交通工具4710碰撞的对象的类型。例如,行人可能表示更大的安全风险,因此相比于静止对象、动物或其他目标对象,行人可能与更大的缓冲距离D1相关联。
在一些实施例中,包络可以被配置为计及主交通工具4710和/或行人4720的多个姿势。如本文所使用的,姿势可以指对象的特定姿态或取向。相对于交通工具4710,姿势可以指主交通工具4710在给定位置和/或时间的可能取向。在图49所示的示例中,包络4912可以计及主交通工具4710的单个姿势。如果交通工具4710旋转到不同的取向并且由此旋转到不同的姿势,则交通工具4710的部分将延伸超出包络4710的边界。这也可能发生在主交通工具4710的轮胎旋转或向外转弯时(例如,当交通工具转弯时等)。类似地,如果行人4720旋转到不同的取向或具有不同的姿态(例如,使他的或者她的手臂或腿进一步向外延伸等),则行人4720的部分可以延伸超出包络4920。
为了提高碰撞预测的可靠性,可以将包络配置为计及行人或交通工具的多个姿势。例如,包络4912可以被绘制成涵盖主交通工具4710的多个取向。这可以通过将交通工具4710在每个方向上旋转预定角度(例如,5度、10度、20度、45度、90度等)并扩展包络4710以包括这些范围内的多个姿势或所有可能姿势来实现。这在诸如图47所示的场景中尤其重要,其中交通工具4710正在转弯并且因此交通工具4710的确切姿势可能未知。可以针对行人4720执行类似过程。除了行人4720的不同取向外,包络4920还可以进一步计及不同的姿态(例如,沿着行人4720的步幅的不同姿势等)。在一些实施例中,可以使用行人4720或交通工具4710沿其各自预测路径的位置来标识包络中要计及的姿势。例如,可以假设主交通工具4710在给定位置具有由与路径4730相切的直线所定义的基本取向,并且姿势范围可以基于该基本取向。在一些实施例中,可以使用预定的行人包络,该预定的行人包络可以计及行人的典型姿势。基于这些扩展的包络,交通工具导航系统可以计及行人4720和/或主交通工具4710的多个姿势。
在一些实施例中,主交通工具4710是否预计与行人4720碰撞的确定可以基于一个或多个圆形包络。图50图示出与主交通工具4710和行人4720相关联的示例圆形包络。例如,包络5010可以是被绘制成使得它限定交通工具4710的圆。类似地,包络5020可以是被配置为限定行人4720的圆。相应地,无论主交通工具4710面朝哪个方向(例如,当主交通工具4710的偏航沿路径4730改变时),包络5010都可以保持统一的相同的大小和形状。因此,圆形包络5010和圆形包络5020可以计及行人4720和/或主交通工具4710的多个姿势(例如,在某个范围内或跨某个圆弧)或所有可能姿势。虽然示例包络在图48-图50中图示,但应当理解,本公开不限于任何特定形状或配置的包络。进一步,在一些实施例中,可以确定多个包络。例如,矩形包络4810和圆形包络5010二者都可以相对于主交通工具4710来绘制。不同的包络可以用于不同的分析。
基于确定的包络中的一个或多个,主交通工具4710的导航系统可以确定主交通工具4710和行人4720是否预计发生碰撞。这可以通过例如预测主交通工具4710和行人4720在不同时间点的位置和取向来确定。例如,主交通工具4710和行人4720的位置和取向可以贯穿主交通工具4710沿着路径4730的移动以固定的间隔进行预测和分析。如果确定与主交通工具4710和行人4720相关联的包络在这些间隔中的任何间隔相交,则可能检测到碰撞。
在某些情况下,如何定义这些间隔可能会出现问题。低分辨率分析(例如,使用相对较长的时间间隔)可能会导致碰撞检测不精确。例如,检测到主交通工具4710与行人4720之间的干扰所在的第一间隔可能不表示实际撞击时间。进一步,如果碰撞在所分析的两个时间点之间发生,则模型可能完全未命中检测到碰撞。换言之,如果对象之间的干扰在两个时间间隔之间发生,则快速移动的对象可能似乎“瞬移(teleport)”通过另一对象。相反,更高分辨率的分析(例如,使用相对较短的间隔)可能需要非常长的处理时间,并且可能在计算负载方面要求过高。例如,导航系统可能需要在每个间隔计算几十种场景的潜在碰撞。相应地,很短的间隔的此类计算可能不可行。
为了克服这些和其他问题,可以实现多阶段分析。在第一阶段,可以使用分析计算来发现潜在碰撞的近似。然后,基于该近似,可以执行精细分析以缩窄结果范围并标识潜在碰撞。因此,交通工具导航系统可以以相对较低的计算负载或处理时间以较高的精确度来标识预计的碰撞。
在一些实施例中,可以使用基于圆的包络技术执行初始分析。如上文所描述的,可以绘制圆形包络5010和圆形包络5020,使得它们分别限定主交通工具4710和行人4720。通过初始分析,系统可以确定包络5010和包络5020是否碰撞。相应地,在初始分析中可以忽略主交通工具4710和/或行人4720的旋转。如果预计主交通工具4710与行人4720之间会发生碰撞,则包络5010与包络5020之间必然会存在碰撞。类似地,如果预计不发生碰撞,则包络5010与包络5020之间将不存在碰撞。进一步,如果主交通工具4710与行人4720之间的碰撞预计发生,则该碰撞必然会发生在包络5010和包络5020碰撞的时间tc'之后。相应地,可以在时间tc'开始精细分析。
图51是图示出符合所公开的实施例的用于确定圆形包络之间的碰撞时间的示例技术的框图。如图51所示,可以预测主交通工具4710和行人4720分别沿路径4730和路径4740行驶。在初始时间t0,主交通工具4710可以由圆形包络5110表示,并且行人4720可以由圆形包络5120表示。还可以确定沿路径4730和路径4740的圆形包络的预计走廊。例如,如图51所示,交通工具4710可以与走廊5130相关联,并且行人4720可以与走廊5140相关联。交通工具导航系统可以确定圆形包络5110与走廊5140相交所在的时间范围,以及圆形包络5120与走廊5130相交所在的时间范围。
为了确定圆形包络之间的碰撞时间,还可以确定这些对象中的每个对象行驶所按照的预计速度。主交通工具4710的预计速度可以基于主交通工具4710的当前速度确定(例如,使用机载速度传感器等)。在一些实施例中,导航系统可以假定主交通工具4710保持当前速度。在其他实施例中,导航系统可以假定不同的速度。例如,假设主交通工具4710减速通过转弯,则预计速度可能低于主交通工具4710的当前速度。在一些实施例中,主交通工具4710的预计速度可以沿路径4730变化。例如,系统可以假设主交通工具4710沿路径4730进行的恒定减速。还可以假设各种其他速度曲线。
行人4720的预计速度可以以多种方式来确定。在一些实施例中,行人4720的预计速度可以基于对由主交通工具4710捕获的图像的分析来确定。例如,可以在两个或更多个图像之间分析行人4720的位置变化,并且基于所捕获的图像之间的时间,可以检测行人的速度。行人4720的预计速度可以对应于该检测到的速度,或可以被调整(例如,假设行人加速或减慢)。在一些实施例中,可以基于存储的值来确定预计的速度。例如,行人4720的预计速度可以对应于用于分析的预定平均行人速度。
基于主交通工具4710的预计速度,导航系统可以确定圆形包络5110第一次与走廊5140相交的时间tv1,如圆5112所表示的。类似地,导航系统可以确定圆形包络5110不再与走廊5140相交的时间tv2,如圆5114所表示的。可以确定行人4720相对于走廊5130的类似时间。更具体地说,基于行人4720的预计速度,导航系统可以确定圆形包络5120第一次与走廊5130相交的时间tp1(如圆5122所表示的),以及圆形包络5120不再与走廊5130相交的时间tp2(如圆圈5124所表示的)。
基于这些时间,交通工具导航系统可缩窄是否预计发生碰撞的确定。图52是符合所公开的实施例的对应于针对圆形包络的碰撞预测的示例时间线5210和时间线5220的图示。如上文所描述的,tv1与tv2之间的范围可以表示圆形包络5110的至少部分与走廊5140相交的时间。相应地,如果包络5110与包络5120之间存在碰撞,则碰撞将在该时间范围内发生。类似地,包络5110与包络5120之间的任何碰撞也必须在其中圆形包络5120的至少部分与走廊5130相交的、tp1与tp2之间的时间范围内发生。在一些实例中,如时间线5210所示,这两个范围可能不会重叠。换句话说,圆形包络5110不再与走廊5140相交的时间tv2可能出现在圆形包络5120第一次与走廊5130相交的时间tp1之前。因此,圆形包络5110与圆形包络5120之间可能没有碰撞风险,并且因此主交通工具4710与行人4720之间没有碰撞风险。相应地,导航系统可以在本阶段对分析得出结论。
在其他实例中,两个范围可能重叠。例如,如时间线5220所示,时间tp1可能出现在时间tv2之前。这不一定意味着圆形包络5110与包络5120之间将发生碰撞。但是,如果圆形包络之间存在碰撞(在时间tc'),则该碰撞必然会在tp1与tv2之间发生(或在tv1与tp2之间发生,取决于哪个圆形包络首先进入对向走廊)。基于这种较短的潜在碰撞范围,可以使用各种方法来确定时间tc’。作为一个示例,可以从两个时间范围第一次相交时开始执行牛顿-拉斐逊方法,以找到定义圆形包络的路径的方程的根。牛顿-拉斐逊方法收敛所在的点可以表示时间tc’。还可以使用各种其他方法来确定时间tc’。
根据圆形包络5110和圆形包络5120预计碰撞所在的时间tc',交通工具导航系统可以执行进一步分析,以确定主交通工具4710和行人4720是否也预计碰撞。如果存在表示主交通工具4710与行人4720之间碰撞的时间tc,则该碰撞必然发生在时间tc'之后且在时间tv2之前(或最后时间范围tv1-tv2和tp1-tp2重叠),如时间间隔5230所表示的。相应地,考虑主交通工具4710和行人4720的旋转,更详细的分析可以集中在时间间隔5230中包括的时间点上。
尽管间隔5230可能是要分析的、比完整路径4730显著更短的间隔,但基于分析的时间点的分辨率,可能会发生类似的问题。例如,仍然可能存在“瞬移”效应的风险,在该“瞬移”效应中,由于分析的两个时间点之间发生的潜在碰撞,主交通工具4710被建模为穿过行人4720。相应地,交通工具导航系统可以在间隔5230内使用分步法以在时间tc上收敛。
图53是示出符合所公开的实施例的用于确定碰撞时间的示例精细分析的框图。交通工具导航系统可以被配置为用于确定边界矩形5310(表示主交通工具4710)预计与边界矩形5320(表示行人4720)碰撞所在的时间tc。在一些实施例中,边界矩形5310可以对应于包络4810,如图48所示。在其他实施例中,矩形5310可以包括缓冲距离(诸如缓冲距离D1),并且因此可以对应于包络4914,如图49所示。在一些实施例中,为简化计算,矩形5310可以被精简为表示交通工具4710朝向行人4720的边缘的单线5312。类似地,矩形5320可以精简为线5322。线5312可以对应于预定正面区域4812,线5322可以对应于暴露区域4820。
在给定时间tn,交通工具导航系统可以确定矩形5310和矩形5320是否相交。如果否,则时间tn不等于tc,并且因此交通工具导航系统可以计算下一时间间隔tn+1以执行下一次迭代。最初,tn可以对应于如上文所描述地标识的tc’。下一时间间隔可以通过多种方式确定。在一些实施例中,分析可以包括标识主交通工具4710与行人4720之间导出的共同运动。导出的共同运动可以表示主交通工具4710和行人4720在时间tn时相对于彼此的运动。例如,导出的共同运动可以表示为基于时间tn时主交通工具4710和行人4720的组合运动向量的运动向量。在一些实施例中,导出的共同运动可以表示为两个对象中的一个对象相对于另一个对象的运动向量。例如,基于导出的共同运动,可以假设行人4720是固定的,并且主交通工具4710可以表示为具有速度v的朝向行人4720的运动向量。
然后,交通工具导航系统可以确定从矩形5310到矩形5320的距离。这可能包括在导出的共同运动的方向上从每个形状的边缘绘制线。具体而言,线5330和线5334可以从线5312的端点绘制,线5332和线5336可以从线5322的端点在导出的共同运动的方向上绘制。然后可以确定最小距离d(在该示例中,表示为线5332)。假设速度恒定且忽略旋转,将始终比tn与tc之间的时间更短。相应地,tn+1可以被定义为以避免未命中预计碰撞的风险。交通工具导航系统可以在下一个时间间隔重复前面的步骤,以在时间tc上收敛。
基于上文的方法,主交通工具4710与行人4720之间的碰撞可以以相对低的计算资源需求以高的准确度预测。如果检测到预计的碰撞,则交通工具导航系统可以实现控制动作,诸如如上文所描述的转向或制动操纵。在一些实施例中,所确定的动作可以取决于碰撞时间(即,直到tc的时间)。例如,如果碰撞时间太短而无法基于当前速度停止主交通工具4710,则系统可以应用转向操纵。在一些实施例中,系统可以基于碰撞时间确定必须执行碰撞缓解动作的程度(例如,应用制动器有多用力)。系统可以进一步报告碰撞时间,例如,作为向驾驶员或乘客显示的通知或警报的部分。
图54是示出符合所公开的实施例的用于对主交通工具进行导航的示例过程5400的流程图。过程5400可以由至少一个处理设备(诸如上文所描述的的处理单元110)执行。应当理解,贯穿本公开,术语“处理器”被用作“至少一个处理器”的简写。换句话说,处理器可以包括执行逻辑操作的一个或多个结构,无论此类结构是并置的、连接的还是已支付的。在一些实施例中,非瞬态计算机可读介质可以包含当由处理器执行时使该处理器执行过程5400的指令。进一步,过程5400不必限于图54中所示的步骤,并且贯穿本公开描述的各实施例的任何步骤或过程也可以包括在过程5400中,包括上文关于图47-图53所描述的那些步骤或过程。.
在步骤5410中,过程5400可以包括从交通工具相机接收从交通工具环境捕获的至少一个图像。例如,图像采集单元120可以捕获表示主交通工具4710的环境的一个或多个图像。
在步骤5420中,过程5400可以包括标识在至少一个所捕获的图像中表示的交叉路口的至少部分。例如,主交通工具4710可以标识所捕获的图像中表示的交叉路口4700的一些或全部。可以使用任何合适的方法来检测交叉路口4700。例如,可以使用各种视觉检测算法(诸如对象检测器、运动检测器、边缘检测器等)来检测交叉路口4700。
在步骤5430中,过程5400可以包括标识交叉路口附近的行人的、在至少一个所捕获的图像中的表示。例如,主交通工具4710可以标识交叉路口4700附近的、所捕获的图像中表示的行人4720。可以使用各种图像视觉检测算法(诸如对象检测器、人物检测器、面部检测器、运动检测器、边缘检测器等)来检测交叉路口行人4720。
在步骤5440中,过程5400可以包括确定交通工具相对于交叉路口的导航动作。例如,交通工具的导航动作可能包括相对于交叉路口的左转、右转或继续直行动作中的一个。在一些实施例中,导航动作可以至少部分地基于交通工具的路线选择信息来确定。例如,步骤5440可以包括访问道路导航地图以确定符合主交通工具4710的预期或规划路线的导航动作。
在步骤5450中,过程5400可以包括基于所确定的导航动作来确定交通工具相对于交叉路口的预测路径。例如,预测路径可以对应于路径4730,如图47所示。可以通过各种方式确定交通工具的预测路径。在一些实施例中,主交通工具4710的预测路径可以分为两个或更多个段。例如,确定交通工具的预测路径可以包括确定从交通工具当前位置延伸的预定直线第一轨迹、从与交叉路口相关联的预计第二位置延伸的预定直线第二轨迹以及在第一轨迹与第二轨迹之间延伸的中间的曲线轨迹。曲线轨迹可能具有恒定的曲率半径,这可能符合上文所描述的Euro NCAP CPTA场景。在其他实施例中,曲线轨迹可以具有可变曲率半径,诸如不断变化的曲率半径,或基于其他因素变化的曲率半径。
在一些实施例中,确定交通工具的预测路径可以包括访问存储针对交叉路口多个预定目标轨迹的地图。例如,交通工具导航系统可以访问地图数据库160,其可以包括与交叉路口4700相关联的多个轨迹。多个预定目标轨迹可以与交通工具沿着从交叉路口延伸的两个或更多个不同道路段的可行路径相关联。例如,目标轨迹4732、目标轨迹4734和目标4736可以分别对应于主交通工具4710沿道路段4708、道路段4706和道路段4704的可行路径。在一些实施例中,确定交通工具的预测路径可以进一步包括基于交通工具的所确定的导航动作选择多个目标轨迹中的一个目标轨迹。例如,基于所确定的左转导航动作,可以选择目标轨迹4736作为交通工具4710的预计路径。在一些实施例中,预测路径可以包括与所选择的目标轨迹的至少一个差。如上文所描述的,可以基于交通工具的速度来确定差。在一些实施例中,交通工具速度高于预定阈值速度可能引起预测路径具有的转弯半径大于与所选择的目标轨迹相关联的转弯半径。例如,超过20英里每小时的速度(或任何其他合适的速度)可能使得路径4738被选择。类似地,低于预定阈值速度的交通工具速度可能引起预测路径具有的转弯半径小于与所选择的目标轨迹(例如,路径4730)相关联的转弯半径。
在步骤5460中,过程5400可以包括基于对至少一个所捕获的图像的分析来确定行人的预测路径。例如,基于从图像采集单元210捕获的图像,处理器110可以被配置为确定行人4720的路径。在一些实施例中,行人的预测路径可以包括相对于行人当前检测位置的预定直线行驶路径。如图47所示,直线路径可以垂直于与交叉路口相关联的至少一个可驾驶路径延伸。在一些实施例中,行人的预测路径的确定可以进一步基于行人面朝的方向。可以基于对至少一个所捕获的图像的分析、例如使用各种对象检测算法或其他形式的检测算法来检测面朝的方向。
在一些实施例中,行人的预测路径可以基于至少一个所捕获的图像中检测到的行人的路径。例如,至少一个所捕获的图像可以包括多个所捕获的图像,并且确定行人的预测路径可以包括确定行人在多个图像中的位置。如上文所描述的,行人的位置可以相对于行人的下部确定,诸如基于与道路表面接触的行人的脚。可以参考公共坐标系来确定行人在多个图像中的位置。例如,可以基于初始图像定义坐标系,并且在后续图像中确定的行人位置可以转换为初始框架的坐标系。
在一些实施例中,可以基于从交通工具到行人的测量距离确定行人的预测路径,如上文所描述的。例如,至少一个所捕获的图像可以包括多个所捕获的图像,并且确定行人的预测路径可以包括确定多个图像中从交通工具到行人的距离。在一些实施例中,可以基于多个图像中行人的尺寸来确定到行人的距离。如上文进一步详细描述的,尺寸可以包括多个图像中行人的表示上的至少两个跟踪点之间的距离。在图像序列跟踪的到行人的距离可以用于预测行人的路径。
在步骤5470中,过程5400可以包括至少部分地基于交通工具的预测路径并基于行人的预测路径来确定交通工具是否预计与行人碰撞。步骤5470可以以各种方式执行。在一些实施例中,基于交通工具的预定正面区域来确定交通工具是否预计与行人碰撞。例如,交通工具导航系统可以出于碰撞检测的目的而确定正面区域4812。类似地,交通工具是否预计与行人碰撞的确定可以进一步基于行人的暴露区域,诸如暴露区域4820,如图48所示和如上文所描述的。
在一些实施例中,可以根据与交通工具相关联的包络确定交通工具是否预计与行人碰撞。例如,与交通工具相关联的包络可以包括与交通工具的一个或多个边缘相关联的边界框,如图48中的包络4810所示。在一些实施例中,与交通工具相关联的包络可以包括相对于交通工具边缘的预定缓冲距离。确定交通工具是否预计与行人碰撞可能包括确定与交通工具相关联的包络是否与行人的任何部分相交。例如,包络4914可以包括距离D1(例如,0.5米、1米、2米、3米等)的缓冲,如图49所示。在一些实施例中,预定缓冲距离可以根据交通工具速度或其他因素而变化。
符合本发明的实施例,确定交通工具是否预计与行人碰撞可以包括确定交通工具的预测路径是否与行人的预测路径交叉。例如,步骤5470可以包括确定路径4730是否与路径4740相交。在一些实施例中,这也可以基于定时的。例如,确定交通工具是否预计与行人碰撞可以进一步包括确定交通工具和行人是否预计在预定时间窗口内到达预测路径的交叉处。
为了确定预测定时,可以进一步基于行人的预计速度和交通工具的预计速度确定交通工具是否预计与交通工具碰撞。在一些实施例中,行人的预计速度可以等于行人的检测到的速度。例如,至少一个所捕获的图像可以包括多个所捕获的图像,并且可以基于分析由多个所捕获的图像表示的行人的运动来确定行人的检测到的速度。替代地或者附加地,行人的预计速度可以与预定的平均行人速度相关联。例如,行人的平均速度可以存储在存储器(例如,存储器140或存储器150)中,并可以用作行人的预计速度。在一些实施例中,交通工具的预计速度等于交通工具的当前速度。预计速度也可以是交通工具的经调整的速度。例如,交通工具的预计速度可能比交通工具的当前速度更慢或更快。
在一些实施例中,可以根据交通工具在估计碰撞时间的多个姿势来确定交通工具是否预计与行人碰撞,如上文以进一步细节所描述的。类似地,交通工具是否预计与行人碰撞的确定基于行人在估计碰撞时间的多个姿势。在一些实施例中,多个姿势可以包括交通工具和/或行人的多个姿势或所有可能姿势(例如,基于圆形包络等)。在一些实施例中,估计碰撞时间可以对应于时间tc'或tc,其中与主交通工具4710相关联的包络被确定为与行人4720的包络碰撞或相交。在一些实施例中,当交通工具和行人沿着各自的预测路径行驶时,估计碰撞时间可以包括交通工具最靠近于行人所在的时间。相应地,如果计及主交通工具4710和行人4720的多个姿势或所有可能姿势的包络在它们最靠近的位置处不相交,则不会发生碰撞。在一些实施例中,如上文所描述的,可以基于交通工具的预测路径或行人的预测路径中的至少一者来确定多个姿势。
在一些实施例中,可以基于与交通工具相关联的圆形包络和与行人相关联的圆形包络来确定交通工具是否预计与行人碰撞。确定是否预计发生碰撞可以基于确定同交通工具相关联的圆形包络是否由于同行人和交通工具相关联的圆形包络沿着它们各自预测路径的移动而预计与同行人相关联圆形包络相交,如上文相对于图51和图52所描述的。例如,步骤5470可以包括确定交通工具的圆形包络预测与行人的圆形包络的走廊相交所在的时间范围,并且反之亦然。可以基于时间范围来确定圆形包络的预测碰撞时间。在一些实施例中,确定交通工具是否预计与行人碰撞可以进一步包括在圆形包络之间的潜在相交的区域中的精细分析。精细分析可以依赖于与至少一个行人或交通工具相关联的精细包络。例如,精细分析可以基于矩形5310和矩形5320,如上文相对于图53所描述的。
在步骤5480中,过程5400可以包括响应于交通工具预计与行人碰撞的确定而使与交通工具相关联的至少一个系统实现碰撞缓解动作。在一些实施例中,碰撞缓解动作可以包括对交通工具用户(诸如驾驶员、乘客、所有者等)的通知或警报。例如,碰撞缓解动作包括向交通工具用户发出可听或视觉警告。在一些实施例中,碰撞缓解动作可以包括应用交通工具的制动。替代地或者附加地,碰撞缓解动作使交通工具转向离开交通工具的预测路径。例如,碰撞缓解动作可以包括将交通工具转向为朝着确定为在行人后面经过的路径。
前述描述已经出于说明的目的被呈现。其并非穷尽性的且不限于所公开的精确形式或实施例。从说明书和所公开的实施例的实施的考虑,修改和改编对于本领域技术人员来说将是显而易见的。另外,尽管所公开的实施例的方面被描述为存储在存储器中,但本领域技术人员将会领会,这些方面也可以存储在其他类型的计算机可读介质上,例如辅助存储设备,例如硬盘或CD ROM,或其他形式的RAM或ROM、USB介质、DVD、蓝光、4K超高清蓝光或其他光驱介质。
基于书面描述和公开方法的计算机程序在经验丰富的开发人员的技能范围内。各种程序或程序模块可以使用本领域技术人员已知的任何技术来创建,或者可以结合现有软件来设计。例如,程序段或程序模块可以通过或借助.NET框架和.NET紧凑框架(以及相关语言,诸如Visual Basic、C等)、java、C++、面向对象的C、HTML、HTML/AJAX组合、XML或包括Java小程序的HTML来设计。
此外,尽管本文已经描述了说明性实施例,但是本领域技术人员基于本公开将会领会具有的等效的要素、修改、省略、组合(例如,跨各个实施例的方面的组合)、改编和/或变更的任何和所有实施例的范围。权利要求中的限制将基于权利要求中使用的语言进行广义解释,而不限于在本说明书中或在申请过程期间描述的示例。这些示例将被解释为非排他性的。此外,可以以任何方式修改所公开方法的步骤,包括通过对步骤重新排序和/或插入或删除步骤。因此,本说明书和示例旨在仅被视为说明性的,其中真正的范围和精神由所附权利要求及其等效方案的全部范围来指示。
Claims (51)
1.一种用于交通工具的导航系统,所述系统包括:
至少一个处理器,所述至少一个处理器被编程为用于:
从相机接收表示所述交通工具的环境中的特征的至少一个所捕获的图像;
标识在所述至少一个所捕获的图像中表示的交叉路口的至少部分;
标识在所述交叉路口附近的行人的在所述至少一个所捕获的图像中的表示;
至少部分地基于所述交通工具的路线选择信息,确定所述交通工具相对于所述交叉路口的导航动作;
基于所确定的导航动作,确定所述交通工具相对于所述交叉路口的预测路径;
基于对所述至少一个所捕获的图像的分析,确定所述行人的预测路径;
至少部分地基于所述交通工具的预计路径并基于所述行人的预测路径,确定所述交通工具是否预计与所述行人碰撞;以及
响应于所述交通工具预计与所述行人碰撞的确定,使与所述交通工具相关联的至少一个系统实现碰撞缓解动作。
2.如权利要求1所述的导航系统,其中所述碰撞缓解动作包括向所述交通工具的用户发出可听警告或视觉警告。
3.如权利要求1所述的导航系统,其中所述碰撞缓解动作包括应用所述交通工具的制动。
4.如权利要求1所述的导航系统,其中所述碰撞缓解动作包括将所述交通工具转向为远离所述交通工具的预测路径。
5.如权利要求4所述的导航系统,其中所述碰撞缓解动作包括将所述交通工具朝向确定在所述行人后面经过的路径转向。
6.如权利要求1所述的导航系统,其中所述交通工具的所述导航动作包括相对于所述交叉路口的左转、右转或连续直行动作中的一者。
7.如权利要求1所述的导航系统,其中,所述交通工具是否预计与所述行人碰撞的确定是基于所述交通工具的预定正面区域。
8.如权利要求7所述的导航系统,其中所述交通工具是否预计与所述行人碰撞的确定进一步基于所述行人的暴露区域。
9.如权利要求1所述的导航系统,其中所述交通工具是否预计与所述行人碰撞的所述确定基于与所述交通工具相关联的包络。
10.如权利要求9所述的导航系统,其中与所述交通工具相关联的所述包络包括与所述交通工具的一个或多个边缘相关联的边界框。
11.如权利要求9所述的导航系统,其中与所述交通工具相关联的所述包络包括相对于所述交通工具的所述边缘的预定缓冲距离,并且所述交通工具是否预计与所述行人碰撞的确定包括与所述交通工具相关联的所述包络是否与所述行人的任何部分相交的确定。
12.如权利要求11所述的导航系统,其中所述预定缓冲距离为至少一米。
13.如权利要求11所述的导航系统,其中所述预定缓冲距离为至少二米。
14.如权利要求11所述的导航系统,其中所述预定缓冲距离关于所述交通工具的速度而变化。
15.如权利要求1所述的导航系统,其中所述交通工具是否预计与所述行人碰撞的确定基于所述交通工具在估计的碰撞时间的多个姿势。
16.如权利要求15所述的导航系统,其中所述估计的碰撞时间包括当所述交通工具和所述行人沿着所述交通工具和所述行人各自的预测路径行驶时,所述交通工具最靠近于所述行人所在的时间。
17.如权利要求15所述的导航系统,其中所述多个姿势是基于所述交通工具的预测路径或所述行人的预测路径中的至少一者来确定的。
18.如权利要求1所述的导航系统,其中所述交通工具是否预计与所述行人碰撞的确定基于所述行人在估计的碰撞时间的多个姿势。
19.如权利要求18所述的导航系统,其中所述估计的碰撞时间包括当所述交通工具和所述行人沿着所述交通工具和所述行人各自的预测路径行驶时,所述交通工具最靠近于所述行人所在的时间。
20.如权利要求19所述的导航系统,其中所述多个姿势是基于所述交通工具的预测路径或所述行人的预测路径中的至少一者来确定的。
21.如权利要求1所述的导航系统,其中所述交通工具是否预计与所述行人碰撞的确定是基于与所述交通工具相关联的圆形包络和与所述行人相关联的圆形包络。
22.如权利要求21所述的导航系统,其中,所述交通工具是否预计与所述行人碰撞的确定进一步基于与所述交通工具相关联的圆形包络是否预计与所述行人相关联的圆形包络由于与所述交通工具相关联的圆形包络和与所述行人相关联的圆形包络沿着与所述交通工具相关联的圆形包络和与所述行人相关联的圆形包络各自的预测路径的移动而相交的确定。
23.如权利要求22所述的导航系统,其中,是否所述交通工具预计与所述行人碰撞的所述确定进一步包括圆形包络之间的潜在相交的区域的精细分析,其中,所述精细分析依赖于与所述行人或所述交通工具中的至少一者相关联的精细包络。
24.如权利要求1所述的导航系统,其中确定所述交通工具是否预计与所述行人碰撞包括确定所述交通工具的预测路径是否与所述行人的所述预测路径交叉。
25.如权利要求24所述的导航系统,其中确定所述交通工具是否预计与所述行人碰撞进一步包括确定所述交通工具和所述行人是否预计在预定时间窗口内到达预测路径的所述交叉。
26.如权利要求1所述的导航系统,其中确定所述交通工具的预测路径包括访问存储针对所述交叉路口多个预定目标轨迹的地图。
27.如权利要求26所述的导航系统,其中所述多个预定目标轨迹与所述交通工具沿着从所述交叉路口延伸的两个或更多个不同路段的可行路径相关联。
28.如权利要求26所述的导航系统,其中确定所述交通工具的预测路径进一步包括基于所述交通工具的所确定的导航动作选择所述多个目标轨迹中的一个目标轨迹。
29.如权利要求28所述的导航系统,其中所述所述交通工具的预测路径包括与所选择的目标轨迹的至少一个差。
30.如权利要求28所述的导航系统,其中所述至少一个差是基于所述交通工具的速度确定的。
31.如权利要求30所述的导航系统,其中所述交通工具的速度高于预定阈值速度导致预测路径具有大于与所选择的目标轨迹相关联的转弯半径的转弯半径。
32.如权利要求1所述的导航系统,其中确定所述交通工具的预测路径包括确定从所述交通工具当前位置延伸的预定直线第一轨迹、从与所述交叉路口相关联的预计第二位置延伸的预定直线第二轨迹、以及在所述第一轨迹与所述第二轨迹之间延伸的中间弯曲轨迹。
33.如权利要求32所述的导航系统,其中所述弯曲轨迹具有恒定曲率半径。
34.如权利要求32所述的导航系统,其中所述弯曲轨迹具有可变曲率半径。
35.如权利要求32所述的导航系统,其中所述弯曲轨迹具有不断变化的曲率半径。
36.如权利要求1所述的导航系统,其中确定所述行人的预测路径包括确定相对于所述行人当前检测位置的行驶的预定的直线路径。
37.如权利要求36所述的导航系统,其中,所述行人的预测路径的确定进一步基于所述行人的面向方向,所述面向方向基于对所述至少一个所捕获的图像的分析来检测。
38.如权利要求36所述的导航系统,其中所述直线路径垂直于与所述交叉路口相关联的至少一个可驾驶路径延伸。
39.如权利要求1所述的导航系统,其中所述至少一个所捕获的图像包括多个所捕获的图像,其中确定所述行人的预测路径包括确定所述行人在所述多个图像中的位置。
40.如权利要求39所述的导航系统,其中所述行人的所述位置相对于所述行人的下部分来确定。
41.如权利要求39所述的导航系统,其中所述行人在所述多个图像中的所述位置参考公共坐标系来确定。
42.如权利要求1所述的导航系统,其中所述至少一个所捕获的图像包括多个所捕获的图像,并且其中确定所述行人的预测路径包括确定所述多个图像中从所述交通工具到所述行人的距离。
43.如权利要求42所述的导航系统,其中到所述行人的所述距离基于所述多个图像中所述行人的尺寸来确定。
44.如权利要求43所述的导航系统,其中所述尺寸包括所述多个图像中所述行人的表示上的至少两个跟踪点之间的距离。
45.如权利要求1所述的导航系统,其中所述交通工具是否预计与所述交通工具碰撞的确定进一步基于所述行人的预计速度和所述交通工具的预计速度。
46.如权利要求45所述的导航系统,其中所述行人的预计速度等于所述行人的检测速度。
47.如权利要求46所述的导航系统,其中所述至少一个所捕获的图像包括多个所捕获的图像,并且其中所述行人的所述检测速度基于分析由所述多个所捕获的图像表示的所述行人的移动来确定。
48.如权利要求45所述的导航系统,其中所述行人的预计速度与预定的平均行人速度相关联。
49.如权利要求45所述的导航系统,其中所述交通工具的预计速度等于所述交通工具的当前速度。
50.如权利要求45所述的导航系统,其中所述交通工具的预计速度低于所述交通工具的当前速度。
51.一种用于对交通工具进行导航的方法,所述方法包括:
从相机接收表示所述交通工具的环境中的特征的至少一个所捕获的图像;
标识在所述至少一个所捕获的图像中表示的交叉路口的至少部分;
标识所述交叉路口附近的行人的在所述至少一个所捕获的图像中的表示;
至少部分地基于所述交通工具的路线选择信息,确定所述交通工具相对于所述交叉路口的导航动作;
根据所确定的导航动作,确定所述交通工具相对于所述交叉路口的预测路径;
基于对所述至少一个所捕获的图像的分析,确定所述行人的预测路径;
至少部分地基于所述交通工具的预计路径并所述行人的预测路径,确定所述交通工具是否预计与所述行人碰撞;以及
响应于所述交通工具预计与所述行人碰撞的确定,使与所述交通工具相关联的至少一个系统实现碰撞缓解动作。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962858082P | 2019-06-06 | 2019-06-06 | |
US62/858,082 | 2019-06-06 | ||
US201962864203P | 2019-06-20 | 2019-06-20 | |
US62/864,203 | 2019-06-20 | ||
US201962878523P | 2019-07-25 | 2019-07-25 | |
US62/878,523 | 2019-07-25 | ||
PCT/IB2020/000439 WO2020245654A1 (en) | 2019-06-06 | 2020-06-05 | Systems and methods for vehicle navigation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114364591A true CN114364591A (zh) | 2022-04-15 |
Family
ID=71728765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080055767.8A Pending CN114364591A (zh) | 2019-06-06 | 2020-06-05 | 用于交通工具导航系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220227367A1 (zh) |
CN (1) | CN114364591A (zh) |
DE (1) | DE112020002666T5 (zh) |
WO (1) | WO2020245654A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114765781A (zh) * | 2022-06-14 | 2022-07-19 | 西南科技大学 | 面向应急机器人的通信感知地图构建方法 |
CN115439719A (zh) * | 2022-10-27 | 2022-12-06 | 泉州装备制造研究所 | 一种针对对抗攻击的深度学习模型防御方法及模型 |
CN115626158B (zh) * | 2022-12-07 | 2023-03-07 | 深圳曦华科技有限公司 | 车辆转向防剐蹭方法及相关装置 |
CN115909286A (zh) * | 2023-02-17 | 2023-04-04 | 浙江口碑网络技术有限公司 | 数据处理方法及装置 |
CN116653963A (zh) * | 2023-07-31 | 2023-08-29 | 福思(杭州)智能科技有限公司 | 车辆变道控制方法、系统和智能驾驶域控制器 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3548845B1 (en) * | 2017-01-12 | 2021-10-13 | Mobileye Vision Technologies Ltd. | Navigation based on vehicle activity |
JP6845117B2 (ja) * | 2017-10-18 | 2021-03-17 | 株式会社Soken | 移動物体認識装置 |
US10909866B2 (en) * | 2018-07-20 | 2021-02-02 | Cybernet Systems Corp. | Autonomous transportation system and methods |
US11816914B2 (en) * | 2019-09-05 | 2023-11-14 | Humanising Autonomy Limited | Modular predictions for complex human behaviors |
EP3798798A1 (en) * | 2019-09-26 | 2021-03-31 | Aptiv Technologies Limited | Methods and systems for energy and/or resource management of a human-machine interface |
US11741305B2 (en) * | 2019-10-07 | 2023-08-29 | The Toronto-Dominion Bank | Systems and methods for automatically assessing fault in relation to motor vehicle collisions |
KR20210053385A (ko) * | 2019-11-01 | 2021-05-12 | 엘지전자 주식회사 | 위험 상황 알림 기능을 갖는 차량 및 이의 제어방법 |
CN110949381B (zh) * | 2019-11-12 | 2021-02-12 | 深圳大学 | 一种驾驶行为危险度的监测方法及装置 |
US12112635B2 (en) * | 2020-02-19 | 2024-10-08 | GM Global Technology Operations LLC | Process and system for local traffic approximation through analysis of cloud data |
US20210284191A1 (en) * | 2020-03-11 | 2021-09-16 | Cartica Ai Ltd | Autonomous driving using local driving patterns |
US11520342B2 (en) * | 2020-03-12 | 2022-12-06 | Pony Ai Inc. | System and method for determining realistic trajectories |
US20230139003A1 (en) * | 2020-03-18 | 2023-05-04 | Electra Vehicles, Inc. | Systems and methods for managing velocity profiles |
CN111079721B (zh) * | 2020-03-23 | 2020-07-03 | 北京三快在线科技有限公司 | 一种障碍物的轨迹预测方法及装置 |
US20210389138A1 (en) * | 2020-06-15 | 2021-12-16 | Google Llc | Vehicle Communication System for Optimizing Traffic Flow |
US20200324794A1 (en) * | 2020-06-25 | 2020-10-15 | Intel Corporation | Technology to apply driving norms for automated vehicle behavior prediction |
US11608067B2 (en) * | 2020-08-12 | 2023-03-21 | Honda Motor Co., Ltd. | Probabilistic-based lane-change decision making and motion planning system and method thereof |
JP2022039469A (ja) * | 2020-08-28 | 2022-03-10 | 本田技研工業株式会社 | 車両走行制御装置 |
KR20220039903A (ko) * | 2020-09-21 | 2022-03-30 | 현대자동차주식회사 | 자율주행 제어 장치 및 방법 |
US11605302B2 (en) * | 2020-11-10 | 2023-03-14 | Rockwell Collins, Inc. | Time-critical obstacle avoidance path planning in uncertain environments |
US12017645B1 (en) * | 2020-11-24 | 2024-06-25 | Zoox, Inc. | Controlling merging vehicles |
DE112021001037T5 (de) * | 2020-12-17 | 2023-01-26 | Mobileye Vision Technologies Ltd. | Prüfsystem für fahrzeugbetrieb - sicherheitsmodelle |
US11738772B1 (en) * | 2020-12-18 | 2023-08-29 | Zoox, Inc. | Object avoidance with perceived safety subgoal |
US20220197287A1 (en) * | 2020-12-22 | 2022-06-23 | GM Global Technology Operations LLC | Map-based stop point control |
CN112677983B (zh) * | 2021-01-07 | 2022-04-12 | 浙江大学 | 一种识别驾驶员驾驶风格的系统 |
US20220212694A1 (en) * | 2021-01-07 | 2022-07-07 | Argo AI, LLC | Methods and systems for generating a longitudinal plan for an autonomous vehicle based on behavior of uncertain road users |
CA3206042A1 (en) * | 2021-01-22 | 2022-07-28 | Sarah Nancy STAAB | Visual data management system and method |
US20220315047A1 (en) * | 2021-03-30 | 2022-10-06 | Honda Research Institute Europe Gmbh | Method, system and vehicle with an uncertainty-based lane positioning control |
CN112937588B (zh) * | 2021-04-01 | 2022-03-25 | 吉林大学 | 一种冰雪车辙路况的车辆稳定性分析方法 |
CN113968245A (zh) * | 2021-04-15 | 2022-01-25 | 上海丰豹商务咨询有限公司 | 适用于协同式自动驾驶系统的车载智能单元和控制方法 |
US20240194004A1 (en) * | 2021-04-23 | 2024-06-13 | Five Al Limited | Performance testing for mobile robot trajectory planners |
CN113276884B (zh) * | 2021-04-28 | 2022-04-26 | 吉林大学 | 一种可变博弈模式的智能车交互决策通行方法及系统 |
KR20220154379A (ko) * | 2021-05-13 | 2022-11-22 | 삼성전자주식회사 | 보행자와 카메라 간 거리의 추정 방법 및 장치 |
US12046013B2 (en) | 2021-05-26 | 2024-07-23 | Ford Global Technologies Llc | Using relevance of objects to assess performance of an autonomous vehicle perception system |
US20220382284A1 (en) * | 2021-05-26 | 2022-12-01 | Argo AI, LLC | Perception system for assessing relevance of objects in an environment of an autonomous vehicle |
CN113370993A (zh) * | 2021-06-11 | 2021-09-10 | 北京汽车研究总院有限公司 | 车辆自动驾驶的控制方法和车辆自动驾驶的控制系统 |
US11834070B2 (en) * | 2021-07-08 | 2023-12-05 | Waymo Llc | Probabilistic simulation sampling from agent data |
CN114115216B (zh) * | 2021-07-30 | 2023-07-25 | 东风柳州汽车有限公司 | 车辆编队控制方法、装置、设备及存储介质 |
WO2023012671A1 (en) * | 2021-08-02 | 2023-02-09 | Mobileye Vision Technologies Ltd. | Vulnerable road user (vru) collision avoidance system |
US11912311B2 (en) * | 2021-08-10 | 2024-02-27 | GM Global Technology Operations LLC | System and method of detecting and mitigating erratic on-road vehicles |
EP4388510A1 (en) * | 2021-08-19 | 2024-06-26 | Tesla, Inc. | Vision-based system training with simulated content |
CN117480540A (zh) * | 2021-09-24 | 2024-01-30 | 英特尔公司 | 针对易受伤害使用者的基础设施动态控制 |
US12017637B2 (en) * | 2021-11-16 | 2024-06-25 | Ford Global Technologies, Llc | System for identifying road type |
US20230192131A1 (en) * | 2021-12-22 | 2023-06-22 | Joseph Burtch | Automated driving collision prediction |
CN114228707B (zh) * | 2021-12-22 | 2023-04-25 | 广西科技大学 | 一种无人驾驶车辆的防撞方法及系统 |
US11851052B2 (en) * | 2022-01-31 | 2023-12-26 | Ford Global Technologies, Llc | Vehicle path verification |
FR3134473A1 (fr) * | 2022-04-06 | 2023-10-13 | Psa Automobiles Sa | Méthodes et systèmes de perception d’objets vulnérables |
CN114872708B (zh) * | 2022-05-19 | 2024-06-18 | 一汽奔腾轿车有限公司 | 基于模糊推理和有限状态机的换道决策方法及系统 |
CN114872735B (zh) * | 2022-07-10 | 2022-10-04 | 成都工业职业技术学院 | 基于神经网络算法的自动驾驶物流车辆决策方法和装置 |
CN115394093A (zh) * | 2022-08-11 | 2022-11-25 | 重庆长安汽车股份有限公司 | 红绿灯路口辅助车辆通行的方法及装置 |
KR20240077975A (ko) * | 2022-11-25 | 2024-06-03 | 현대자동차주식회사 | 충돌을 회피하기 위한 차량 및 차량의 작동 방법 |
CN116016805B (zh) * | 2023-03-27 | 2023-06-20 | 四川弘和通讯集团有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116989816B (zh) * | 2023-09-05 | 2023-12-15 | 腾讯科技(深圳)有限公司 | 一种偏航识别方法、装置及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2919159A2 (en) * | 2014-03-12 | 2015-09-16 | Toyota Jidosha Kabushiki Kaisha | Image processing device and image processing method |
WO2015186002A2 (en) * | 2014-06-03 | 2015-12-10 | Mobileye Vision Technologies Ltd. | Systems and methods for detecting an object |
CN106004671A (zh) * | 2016-07-21 | 2016-10-12 | 浙江吉利汽车研究院有限公司 | 一种交叉路口车辆防碰撞系统及防碰撞方法 |
CN106608264A (zh) * | 2015-10-27 | 2017-05-03 | 通用汽车环球科技运作有限责任公司 | 提高汽车交叉口转向辅助特征性能的方法 |
US20170120906A1 (en) * | 2011-04-22 | 2017-05-04 | Angel A. Penilla | Methods and Systems for Cloud and Wireless Data Exchanges for Vehicle Accident Avoidance Controls and Notifications |
WO2017120336A2 (en) * | 2016-01-05 | 2017-07-13 | Mobileye Vision Technologies Ltd. | Trained navigational system with imposed constraints |
WO2017200757A1 (en) * | 2016-05-20 | 2017-11-23 | Delphi Technologies, Inc. | Intersection cross-walk navigation system for automated vehicles |
CN107972665A (zh) * | 2016-10-11 | 2018-05-01 | 株式会社万都 | 用于控制在交叉路口处的车辆的装置 |
US20180247140A1 (en) * | 2016-07-27 | 2018-08-30 | JVC Kenwood Corporation | Human detection device, human detection system, human detection method, and human detection program |
DE102017217056A1 (de) * | 2017-09-26 | 2019-03-28 | Audi Ag | Verfahren und Einrichtung zum Betreiben eines Fahrerassistenzsystems sowie Fahrerassistenzsystem und Kraftfahrzeug |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3454315A1 (en) | 2004-04-08 | 2019-03-13 | Mobileye Vision Technologies Ltd. | Collision warning system |
US9950708B1 (en) * | 2012-11-02 | 2018-04-24 | Waymo Llc | Adaptation of autonomous driving behaviour based on occupant presence and position |
US11067995B2 (en) * | 2017-03-20 | 2021-07-20 | Mobileye Vision Technologies Ltd. | Navigation by augmented path prediction |
-
2020
- 2020-06-05 CN CN202080055767.8A patent/CN114364591A/zh active Pending
- 2020-06-05 DE DE112020002666.3T patent/DE112020002666T5/de active Pending
- 2020-06-05 US US17/614,223 patent/US20220227367A1/en active Pending
- 2020-06-05 WO PCT/IB2020/000439 patent/WO2020245654A1/en active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170120906A1 (en) * | 2011-04-22 | 2017-05-04 | Angel A. Penilla | Methods and Systems for Cloud and Wireless Data Exchanges for Vehicle Accident Avoidance Controls and Notifications |
EP2919159A2 (en) * | 2014-03-12 | 2015-09-16 | Toyota Jidosha Kabushiki Kaisha | Image processing device and image processing method |
WO2015186002A2 (en) * | 2014-06-03 | 2015-12-10 | Mobileye Vision Technologies Ltd. | Systems and methods for detecting an object |
CN106608264A (zh) * | 2015-10-27 | 2017-05-03 | 通用汽车环球科技运作有限责任公司 | 提高汽车交叉口转向辅助特征性能的方法 |
WO2017120336A2 (en) * | 2016-01-05 | 2017-07-13 | Mobileye Vision Technologies Ltd. | Trained navigational system with imposed constraints |
WO2017200757A1 (en) * | 2016-05-20 | 2017-11-23 | Delphi Technologies, Inc. | Intersection cross-walk navigation system for automated vehicles |
CN106004671A (zh) * | 2016-07-21 | 2016-10-12 | 浙江吉利汽车研究院有限公司 | 一种交叉路口车辆防碰撞系统及防碰撞方法 |
US20180247140A1 (en) * | 2016-07-27 | 2018-08-30 | JVC Kenwood Corporation | Human detection device, human detection system, human detection method, and human detection program |
CN107972665A (zh) * | 2016-10-11 | 2018-05-01 | 株式会社万都 | 用于控制在交叉路口处的车辆的装置 |
DE102017217056A1 (de) * | 2017-09-26 | 2019-03-28 | Audi Ag | Verfahren und Einrichtung zum Betreiben eines Fahrerassistenzsystems sowie Fahrerassistenzsystem und Kraftfahrzeug |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114765781A (zh) * | 2022-06-14 | 2022-07-19 | 西南科技大学 | 面向应急机器人的通信感知地图构建方法 |
CN114765781B (zh) * | 2022-06-14 | 2022-08-19 | 西南科技大学 | 面向应急机器人的通信感知地图构建方法 |
CN115439719A (zh) * | 2022-10-27 | 2022-12-06 | 泉州装备制造研究所 | 一种针对对抗攻击的深度学习模型防御方法及模型 |
CN115439719B (zh) * | 2022-10-27 | 2023-03-28 | 泉州装备制造研究所 | 一种针对对抗攻击的深度学习模型防御方法及模型 |
US11783037B1 (en) | 2022-10-27 | 2023-10-10 | Quanzhou equipment manufacturing research institute | Defense method of deep learning model aiming at adversarial attacks |
CN115626158B (zh) * | 2022-12-07 | 2023-03-07 | 深圳曦华科技有限公司 | 车辆转向防剐蹭方法及相关装置 |
CN115909286A (zh) * | 2023-02-17 | 2023-04-04 | 浙江口碑网络技术有限公司 | 数据处理方法及装置 |
CN115909286B (zh) * | 2023-02-17 | 2023-07-04 | 浙江口碑网络技术有限公司 | 数据处理方法及装置 |
CN116653963A (zh) * | 2023-07-31 | 2023-08-29 | 福思(杭州)智能科技有限公司 | 车辆变道控制方法、系统和智能驾驶域控制器 |
CN116653963B (zh) * | 2023-07-31 | 2023-10-20 | 福思(杭州)智能科技有限公司 | 车辆变道控制方法、系统和智能驾驶域控制器 |
Also Published As
Publication number | Publication date |
---|---|
WO2020245654A1 (en) | 2020-12-10 |
US20220227367A1 (en) | 2022-07-21 |
DE112020002666T5 (de) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210744B2 (en) | Navigation based on liability constraints | |
US11164264B2 (en) | Navigation based on liability constraints | |
US11932277B2 (en) | Navigation with a safe longitudinal distance | |
US20220227367A1 (en) | Systems and methods for vehicle navigation | |
US20230166729A1 (en) | Systems and methods for navigating a vehicle | |
US20230286536A1 (en) | Systems and methods for evaluating domain-specific navigation system capabilities |
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 |