US11550061B2 - Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data - Google Patents
Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data Download PDFInfo
- Publication number
- US11550061B2 US11550061B2 US16/173,648 US201816173648A US11550061B2 US 11550061 B2 US11550061 B2 US 11550061B2 US 201816173648 A US201816173648 A US 201816173648A US 11550061 B2 US11550061 B2 US 11550061B2
- Authority
- US
- United States
- Prior art keywords
- subgroup
- determining
- fmcw lidar
- vehicle
- lidar data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 230000001427 coherent effect Effects 0.000 title claims abstract description 183
- 230000007613 environmental effect Effects 0.000 title abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 63
- 230000001133 acceleration Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 113
- 238000012545 processing Methods 0.000 claims description 28
- 230000003287 optical effect Effects 0.000 claims description 26
- 238000010801 machine learning Methods 0.000 claims description 9
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000033001 locomotion Effects 0.000 abstract description 16
- 238000013145 classification model Methods 0.000 description 47
- 238000012549 training Methods 0.000 description 34
- 230000015654 memory Effects 0.000 description 17
- 230000008447 perception Effects 0.000 description 11
- 230000004807 localization Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 239000007787 solid Substances 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
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 125000004435 hydrogen atom Chemical class [H]* 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/04—Traffic conditions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- 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
- B60W60/00272—Planning or execution of driving tasks using trajectory prediction for other traffic participants relying on extrapolation of current movement
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/08—Systems determining position data of a target for measuring distance only
- G01S17/32—Systems determining position data of a target for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated
- G01S17/34—Systems determining position data of a target for measuring distance only using transmission of continuous waves, whether amplitude-, frequency-, or phase-modulated, or unmodulated using transmission of continuous, frequency-modulated waves while heterodyning the received signal, or a signal derived therefrom, with a locally-generated signal related to the contemporaneously transmitted signal
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/06—Systems determining position data of a target
- G01S17/42—Simultaneous measurement of distance and other co-ordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/02—Systems using the reflection of electromagnetic waves other than radio waves
- G01S17/50—Systems of measurement based on relative movement of target
- G01S17/58—Velocity or trajectory determination systems; Sense-of-movement determination systems
-
- 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
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/228—Command input arrangements located on-board unmanned vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/247—Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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
-
- 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/408—Radar; Laser, e.g. lidar
-
- 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
-
- 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
- B60W2754/00—Output or target parameters relating to objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Definitions
- Level 0 is defined as “no automation” with full-time performance by the human driver of all aspects of the dynamic driving task, even when enhanced by warning or intervention systems.
- Level 1 is defined as “driver assistance”, where a vehicle controls steering or acceleration/deceleration (but not both) in at least some driving modes, leaving the operator to perform all remaining aspects of the dynamic driving task.
- Level 2 is defined as “partial automation”, where the vehicle controls steering and acceleration/deceleration in at least some driving modes, leaving the operator to perform all remaining aspects of the dynamic driving task.
- Level 3 is defined as “conditional automation”, where, for at least some driving modes, the automated driving system performs all aspects of the dynamic driving task, with the expectation that the human driver will respond appropriately to a request to intervene.
- Level 4 is defined as “high automation”, where, for only certain conditions, the automated driving system performs all aspects of the dynamic driving task even if a human driver does not respond appropriately to a request to intervene.
- the certain conditions for Level 4 can be, for example, certain types of roads (e.g., highways) and/or certain geographic areas (e.g., a geofenced metropolitan area which has been adequately mapped).
- Level 5 is defined as “full automation”, where a vehicle is capable of operating without operator input under all conditions.
- a fundamental challenge of any autonomy-related technology relates to collecting and interpreting information about a vehicle's surrounding environment, along with planning and executing commands to appropriately control vehicle motion to safely navigate the vehicle through its current environment. Therefore, continuing efforts are being made to improve each of these aspects, and by doing so, autonomous vehicles increasingly are able to reliably operate in increasingly complex environments and accommodate both expected and unexpected interactions within an environment.
- a method includes receiving, from a phase coherent Light Detection and Ranging (LIDAR) component of a vehicle, a group of phase coherent LIDAR data points collectively capturing a plurality of points in an area of an environment of the vehicle.
- Each of the phase coherent LIDAR data points of the group indicate a corresponding range and a corresponding velocity for a corresponding one of the points in the environment, and each of the phase coherent LIDAR data points of the group are generated based on a corresponding sensing event of the phase coherent LIDAR component.
- the method further includes determining that a subgroup, of the phase coherent LIDAR data points of the group, corresponds to an object of a particular classification.
- Determining that the subgroup corresponds to the object of the particular classification is based on both: the corresponding ranges for multiple of the phase coherent LIDAR data points of the subgroup, and the corresponding velocities for multiple of the phase coherent LIDAR data points of the subgroup.
- the method further includes adapting autonomous control of the vehicle based on determining that the subgroup corresponds to the object of the particular classification.
- the method further includes determining at least one instantaneous velocity of the object based on at least one of the corresponding velocities of the subgroup.
- the at least one of the corresponding velocities of the subgroup is utilized in determining the at least one instantaneous velocity of the object based on the determining that the subgroup corresponds to the object.
- Adapting autonomous control of the vehicle can be further based on the at least one instantaneous velocity.
- determining the at least one instantaneous velocity based on the at least one of the corresponding velocities of the subgroup includes determining the at least one instantaneous velocity based on a function of a plurality of the corresponding velocities of the subgroup.
- adapting autonomous control of the vehicle based on the at least one instantaneous velocity includes: determining at least one candidate trajectory of the object based on the at least one instantaneous velocity; and adapting autonomous control of the vehicle based on the at least one candidate trajectory. Determining the at least one candidate trajectory of the object based on the at least one instantaneous velocity can optionally include: adapting a previously determined velocity, for the object, based on the at least one instantaneous velocity; and determining the at least one candidate trajectory of the object based on the adaptation of the previously determined velocity.
- determining the at least one instantaneous velocity based on the at least one of the corresponding velocities of the subgroup includes: selecting an instantaneous velocity determination technique, from a plurality of candidate instantaneous velocity determination techniques; and using the selected instantaneous velocity determination technique in determining the at least one instantaneous velocity.
- selecting the instantaneous velocity determination technique from the plurality of candidate instantaneous velocity determination techniques is based on the instantaneous velocity determination technique being assigned to the particular classification and/or is based on a quantity of the corresponding velocities of the subgroup.
- each of the phase coherent LIDAR data points of the group further indicate a corresponding intensity
- determining that the subgroup of the phase coherent LIDAR data points of the group corresponds to the object of the particular classification is further based on the corresponding intensities for multiple of the phase coherent LIDAR data points of the subgroup.
- the method further includes: receiving, from the phase coherent LIDAR component immediately prior to receiving the group, a prior group of prior phase coherent LIDAR data points that collectively capture a plurality of the points in the area of an environment of the vehicle.
- Each of the prior phase coherent LIDAR data points of the prior group indicate a corresponding prior range and a corresponding prior velocity for the corresponding points in the environment, and each of the prior phase coherent LIDAR data points of the prior group are generated based on a prior corresponding sensing event of the phase coherent LIDAR component.
- determining that the subgroup, of the phase coherent LIDAR data points of the group, corresponds to the object of the particular classification is further based on both: the corresponding prior ranges for multiple of the prior phase coherent LIDAR data points, and the corresponding velocities for multiple of the prior phase coherent LIDAR data points.
- determining that the subgroup, of the phase coherent LIDAR data points of the group, corresponds to the object of the particular classification includes: processing the phase coherent LIDAR data points of the group using a trained machine learning model (e.g., a neural network model including one or more convolution layers); generating, based on processing of the phase coherent LIDAR data points of the group using the trained machine learning model, an output that indicates that the subgroup has the particular classification; and determining that the subgroup corresponds to the object having the particular classification based on the output indicating that the subgroup has the particular classification.
- a trained machine learning model e.g., a neural network model including one or more convolution layers
- the output indicates, for each of a plurality of spatial regions of the phase coherent LIDAR data points of the group, a corresponding probability that the corresponding spatial region has the particular classification.
- determining that the subgroup corresponds to the object having the particular classification based on the output indicating that the subgroup has the particular classification includes: determining a set of one or more of the spatial regions based on the corresponding probabilities of the spatial regions of the set each satisfying a threshold; and determining the subgroup based on the subgroup corresponding to the set of the one or more of the spatial regions.
- the spatial regions indicated by the output can each correspond to one or more of the phase coherent LIDAR data points of the group.
- the spatial regions can each correspond to a corresponding single one of the phase coherent LIDAR data points of the group, or can each correspond to a corresponding unique grouping of two or more of the phase coherent LIDAR data points of the group.
- the output indicates, for each of a plurality of spatial regions of the phase coherent LIDAR data points of the group, a corresponding first probability that the corresponding spatial region has the particular classification and a corresponding additional probability that the corresponding spatial region has a distinct particular classification.
- determining that the subgroup corresponds to the object having the particular classification based on the output indicating that the subgroup has the particular classification includes: determining a set of one or more of the spatial regions based on the corresponding probabilities of the spatial regions of the set each satisfying a threshold; and determining the subgroup based on the subgroup corresponding to the set of the one or more of the spatial regions.
- the method further includes: determining that an additional subgroup of the phase coherent LIDAR data corresponds to an additional object having the distinct particular classification based on: determining an additional set of one or more of the spatial regions based on the corresponding additional probabilities of the spatial regions of the additional set each satisfying a threshold; and determining the additional subgroup based on the additional subgroup corresponding to the additional set of the one or more of the spatial regions.
- Adapting autonomous control of the vehicle can be further based on determining that the additional subgroup corresponds to the additional object having the distinct particular classification.
- determining that the subgroup, of the phase coherent LIDAR data points of the group, corresponds to the object of the particular classification includes determining that the phase coherent LIDAR data points of the subgroup satisfy a difference criterion relative to a reference group of phase coherent LIDAR data points defined for the particular classification.
- adapting autonomous control of the vehicle based on determining that the subgroup corresponds to the object of the particular classification includes altering a velocity of the vehicle and/or a direction of the vehicle.
- adapting autonomous control of the vehicle based on determining that the subgroup corresponds to the object of the particular classification includes: determining a pose of the object based on the phase coherent LIDAR data points of the subgroup; and adapting autonomous control based on the pose of the object and based on the particular classification of the object.
- adapting autonomous control of the vehicle based on determining that the subgroup corresponds to the object of the particular classification includes: determining that the object is mobile based on the particular classification; determining a pose of the object based on the phase coherent LIDAR data points of the subgroup; determining, in response to determining that the object is mobile, at least one candidate trajectory for the object based on the pose of the object; and adapting autonomous control of the vehicle based on the at least one candidate trajectory.
- the method further includes determining an instantaneous velocity of the object based on the phase coherent LIDAR data points of the subgroup.
- determining the at least one candidate trajectory for the object can be further based on the instantaneous velocity of the object.
- the group of phase coherent LIDAR data points includes a three-dimensional point cloud.
- the phase coherent LIDAR component is a phase coherent LIDAR monopulse component and the corresponding sensing events of the phase coherent LIDAR component each include a first receiver sensing event at a first receiver of the phase coherent LIDAR monopulse component and a second receiver sensing event at a second receiver of the phase coherent LIDAR monopulse component.
- the phase coherent LIDAR component is a frequency-modulated continuous wave (FMCW) LIDAR component.
- FMCW frequency-modulated continuous wave
- a method includes: receiving, from a phase coherent LIDAR component of a vehicle, phase coherent LIDAR data capturing an environment of the vehicle.
- the phase coherent LIDAR data indicates, for each of a plurality of points in the environment of the vehicle, at least one corresponding range, at least one corresponding velocity, and at least one corresponding intensity based on a corresponding sensing event of the phase coherent LIDAR component.
- the method further includes determining that a subgroup, of the phase coherent LIDAR data, corresponds to an object of a particular classification.
- Determining that the subgroups corresponds to an object of a particular classification is based on: the corresponding ranges for the phase coherent LIDAR data of the subgroup, the corresponding velocities for the phase coherent LIDAR data of the subgroup, and the corresponding intensities for the phase coherent LIDAR data of the subgroup.
- the method further includes autonomously controlling the vehicle based on determining that the subgroup corresponds to the object of the particular classification.
- the method further includes determining at least one instantaneous velocity of the object based on at least one of the corresponding velocities of the subgroup.
- the at least one of the corresponding velocities of the subgroup is utilized in determining the at least one instantaneous velocity of the object based on the determining that the subgroup corresponds to the object.
- Autonomously controlling the vehicle can be further based on the at least one instantaneous velocity.
- determining the at least one instantaneous velocity based on the at least one of the corresponding velocities of the subgroup includes determining the at least one instantaneous velocity based on a function of a plurality of the corresponding velocities of the subgroup.
- autonomously controlling the vehicle based on the at least one instantaneous velocity includes: determining at least one candidate trajectory of the object based on the at least one instantaneous velocity; and autonomously controlling the vehicle based on the at least one candidate trajectory.
- the method further includes receiving, from the phase coherent LIDAR component prior to receiving the phase coherent LIDAR data, a prior instance of phase coherent LIDAR data.
- the prior instance of phase coherent LIDAR data indicates, for each of a plurality of the points in the environment of the vehicle, at least one corresponding prior range, at least one corresponding prior intensity, and at least one corresponding prior velocity based on a corresponding prior sensing event of the phase coherent LIDAR component/In those implementations, determining that the subgroup, of the phase coherent LIDAR data of the group, corresponds to the object of the particular classification is further based on both: a plurality of the corresponding prior ranges of the prior phase coherent LIDAR data, and a plurality of the corresponding prior velocities of the prior phase coherent LIDAR data.
- determining that the subgroup, of the phase coherent LIDAR data, corresponds to the object of the particular classification includes: processing the phase coherent LIDAR data using a trained machine learning model; generating, based on processing of the phase coherent LIDAR data using the trained machine learning model, an output that indicates that the subgroup has the particular classification; and determining that the subgroup corresponds to the object having the particular classification based on the output indicating that the subgroup has the particular classification.
- the phase coherent LIDAR data includes a range-Doppler image.
- the phase coherent LIDAR data includes an intermediate frequency waveform generated based on mixing of a local optical oscillator with time delayed reflections during the corresponding sensing events.
- the phase coherent LIDAR component is a phase coherent LIDAR monopulse component including at least a first coherent receiver and a second coherent receiver.
- the corresponding sensing events of the phase coherent LIDAR component each include a first receiver sensing event at a first receiver of the phase coherent LIDAR monopulse component and a second receiver sensing event at a second receiver of the phase coherent LIDAR monopulse component.
- the corresponding sensing events of the phase coherent LIDAR component further include a third receiver sensing event at a third receiver of the phase coherent LIDAR monopulse component.
- the phase coherent LIDAR component is a frequency-modulated continuous wave (FMCW) LIDAR component.
- FMCW frequency-modulated continuous wave
- a method includes receiving, from a phase coherent LIDAR monopulse component of a vehicle, phase coherent LIDAR monopulse data capturing an environment of the vehicle.
- the phase coherent LIDAR monopulse component includes a laser source and at least a first coherent receiver and a second coherent receiver.
- the phase coherent LIDAR monopulse data indicates, for each of a plurality of points in the environment of the vehicle, at least one corresponding range and at least one corresponding velocity based on a corresponding sensing event of the phase coherent LIDAR monopulse component.
- the corresponding sensing events of the phase coherent LIDAR component each include a first receiver sensing event at the first receiver and a second receiver sensing event at the second receiver (and optionally further receiver sensing event(s) at further receiver(s)).
- the method further includes determining that a subgroup, of the phase coherent LIDAR data, corresponds to an object of a particular classification. Determining that the subgroup corresponds to an object of the particular classification is based on: the corresponding ranges for the phase coherent LIDAR monopulse data of the subgroup, and the corresponding velocities for the phase coherent LIDAR monopulse data of the subgroup.
- the method further includes autonomously controlling the vehicle based on determining that the subgroup corresponds to the object of the particular classification.
- a method includes receiving, from a phase coherent LIDAR component of a vehicle, a group of phase coherent LIDAR data points collectively capturing a plurality of points in an area of an environment of the vehicle.
- Each of the phase coherent LIDAR data points of the group indicates a corresponding range and a corresponding velocity for a corresponding one of the points in the environment, and each is generated based on a corresponding sensing event of the phase coherent LIDAR component.
- the method further includes determining that a subgroup, of the phase coherent LIDAR data points of the group, corresponds to an object of a particular classification.
- Determining that the subgroup corresponds to an object of the particular classification is based on both: the corresponding ranges for multiple of the phase coherent LIDAR data points of the subgroup, and the corresponding velocities for multiple of the phase coherent LIDAR data points of the subgroup.
- the method further includes determining a multi-dimensional pose of the object based on the subgroup of the phase coherent LIDAR data points of the group, and providing the determined multi-dimensional pose and an indication of the particular classification to a planning subsystem of the vehicle.
- the multi-dimensional pose is a six-dimensional pose that indicates position and orientation of the object.
- the multi-dimensional pose is a three-dimensional pose that indicates position of the object.
- the method further includes generating, by the planning subsystem, a trajectory of the vehicle based on the particular classification.
- the phase coherent LIDAR component is a frequency-modulated continuous wave (FMCW) LIDAR component.
- FMCW frequency-modulated continuous wave
- implementations include an autonomous vehicle with one or more processors that are operable to execute instructions stored in associated memory, and where the instructions are configured to cause performance of any of the methods described herein.
- Some implementations additionally or alternatively include one or more non-transitory computer readable storage media storing computer instructions executable by one or more processors to perform any of the methods described herein.
- FIG. 1 illustrates an example environment in which implementations disclosed herein can be implemented.
- FIG. 2 A schematically illustrates an implementation of an FMCW LIDAR component of FIG. 1 .
- FIG. 2 B schematically illustrates another implementation of an FMCW LIDAR component of FIG. 1 .
- FIG. 3 A is a block diagram illustrating implementations of determining classification(s) for object(s) in an environment of a vehicle, and controlling the vehicle based on the classification(s).
- FIG. 3 B is a block diagram illustrating one example how classification(s) for object(s) in an environment of a vehicle can be determined in FIG. 3 A .
- FIG. 3 C is a block diagram illustrating another example how classification(s) for object(s) in an environment of a vehicle can be determined in FIG. 3 A .
- FIG. 4 A illustrates an example of how a training engine can train a classification model utilizing a training instance, according to implementations disclosed herein.
- FIG. 4 B illustrates an example training instance output of the training instance of FIG. 4 A .
- FIG. 5 illustrates an example environment of a vehicle with multiple environmental objects, and also illustrates examples of some FMCW LIDAR data points that can correspond to the environmental objects.
- FIG. 6 illustrates another example environment of a vehicle with an additional vehicle, and also illustrates examples of some FMCW LIDAR data points that can correspond to the additional vehicle.
- FIG. 7 A illustrates an example of how a candidate trajectory (if any) can be determined for each of a plurality of objects based on classifications of those objects and/or instantaneous velocities for those objects, and how autonomous control of a vehicle can be adapted based on the candidate trajectories.
- FIG. 7 B illustrates another example of how a candidate trajectory (if any) can be determined for each of a plurality of objects based on classifications of those objects and/or instantaneous velocities for those objects, and how autonomous control of a vehicle can be adapted based on the candidate trajectories.
- FIG. 8 is a flowchart illustrating an example method of determining classification(s) for object(s) in an environment of a vehicle, and controlling the vehicle based on the classification(s).
- ego vehicle i.e., the vehicle being autonomously controlled, hereinafter also referred to as the “vehicle” for brevity
- vehicle autonomously controlled
- a trajectory of the ego vehicle can be determined based at least in part on various parameters of object(s) in the ego vehicle's environment, such as pose(s), classification(s), and/or movement parameter(s) (if any) of the object(s). The trajectory can be determined so as to prevent the ego vehicle from contacting and/or being too proximal to any of the object(s).
- Implementations disclosed herein are generally directed to determining classification(s) for object(s) in an environment of a vehicle, and controlling the vehicle based on the determined classification(s). For example, autonomous steering, acceleration, and/or deceleration of the vehicle can be adapted based on the determined classification(s) of the additional object(s). For instance, steering and/or acceleration/deceleration parameters determined for a vehicle based on a first environmental object that is determined to be a pedestrian can be different from those determined had the object instead been determined to be an additional vehicle.
- a determined pose of an object and a determined classification of the object can be utilized in controlling the vehicle.
- a determined pose of an object is not within (or within a threshold distance of) a current intended path of a vehicle, and the object is determined to have a classification that indicates the object is immobile (e.g., a tree classification), that object can optionally be ignored in determining whether control of the vehicle needs to be adapted.
- a determined pose of an object is within (or within a threshold distance of) a current intended path of the vehicle and has a classification that indicates the object is mobile (e.g., vehicle, pedestrian, cyclist, or animal classification), that object can be utilized in determining whether control of the vehicle needs to be adapted.
- movement parameter(s) for an object can be determined and utilized in controlling the vehicle. For example, velocity and/or acceleration of an object can be utilized to generate a candidate trajectory for the object, and the vehicle controlled based on the candidate trajectory such that the vehicle adapts its own trajectory to avoid being too proximal to the candidate trajectory of the object. How proximal is too proximal can optionally be dependent on, for example, the classification of the object.
- any value less than 1.0 meter for an object with a bicyclist classification can be too close when the trajectories are substantially parallel, whereas only values less than 0.7 meters for an object with a vehicle classification can be too close when the trajectories are substantially parallel.
- poses and classifications of environmental objects are determined based on data from a phase coherent Light Detection and Ranging (LIDAR) component of the vehicle.
- LIDAR Light Detection and Ranging
- velocities and optionally accelerations of the environmental objects are also determined based on the same data from the phase coherent LIDAR component.
- phase coherent LIDAR data Data from a phase coherent LIDAR component of a vehicle is referred to herein as “phase coherent LIDAR data”.
- phase coherent LIDAR data can indicate, for each of a plurality of points in an environment, at least a range for the point and a velocity for the point.
- the range for a point indicates distance to the point from receiver(s) of the phase coherent LIDAR component.
- the velocity for the point indicates a magnitude (and optionally a direction) of the velocity for the point.
- the indicated range and velocity for a point is based on a corresponding sensing event of the phase coherent LIDAR component.
- phase coherent LIDAR data indicating instantaneous ranges and instantaneous velocities for a large quantity of points in the environment can be determined.
- Implementations disclosed herein can determine, based on the instantaneous ranges and instantaneous velocities indicated by at least some of the FMCW LIDAR data, a pose and classification for an object, as well as optionally an instantaneous velocity for the object.
- the instantaneous velocity indicates velocity of the object during the sensing cycle, without requiring reference to phase coherent LIDAR data from future sensing cycle(s). This enables quick resolution of an instantaneous velocity of the object, and resultantly enables quick determination of whether adaptation of control of the vehicle is needed in view of the instantaneous velocity (and quick adaptation when it is determined adaptation is needed).
- LIDAR is a technique that uses reflections of electromagnetic waves in the optical spectra to determine ranges of points in an environment. For example, some LIDAR implementations determine the ranges of the points based on measuring the round-trip delay of light pulses to the points.
- a LIDAR component can include a light source (e.g., a laser) for generating light pulses in the optical spectra, optics (e.g., mirrors) for directing the light source (e.g., to scan the azimuth and elevation), a sensor for measuring reflected pulses, and local processor(s) and/or other electronic components for processing the reflected pulses.
- the reflected pulses can be processed to determine ranges to points of target(s) in the environment based on time delay between transmitted and reflected pulses (and using the speed of light).
- LIDAR components generate output, based on the processing, that is a three-dimensional (3D) point cloud with intensity values (based on the intensity of the reflected pulses).
- phase coherent LIDAR is a technique that uses reflections of electromagnetic waves in the optical spectra to determine data that indicates ranges and velocities of points in an environment.
- a phase coherent LIDAR component includes at least one tunable laser (or other light source) that generates a waveform, and includes at least one receiver, such as a coherent optical receiver.
- the phase coherent LIDAR component can also include one or more components for directing the tunable laser, such as optics that can be utilized to direct (in azimuth and/or elevation) the waveform from the tunable laser to a plurality of points in an environment.
- the phase coherent LIDAR component can include local processor(s) and/or other electronic components for processing reflections of the waveform.
- the tunable laser of a phase coherent LIDAR component is tunable in that it can be controlled so that the waveform it generates is encoded by modifying one or more properties of the waveform across the waveform.
- the tunable laser can be controlled to generate one or more of various types of encoded waveforms such as chirped, stepped, and/or pulsed waveforms.
- a frequency-modulated continuous wave (FMCW) LIDAR component is one particular type of phase coherent LIDAR component.
- An FMCW LIDAR component at least selectively (e.g., always when in use) controls its tunable laser so that it generates a waveform that is both: encoded through frequency modulation, and continuous.
- the waveform can be a continuous stepped waveform that is encoded through frequency modulation.
- the tunable laser can be controlled to generate a stepped waveform that is encoded through modification of the frequency of the steps.
- Data from an FMCW LIDAR component of a vehicle is referred to herein as “FMCW LIDAR data”.
- “phase coherent LIDAR data” can be “FMCW LIDAR data” when it is generated by an FMCW LIDAR component based on a waveform that is both encoded through frequency modulation and is continuous.
- the transmitted encoded waveform is sequentially directed to, and sequentially reflects off of, each of a plurality of points in the environment.
- Reflected portions of the encoded waveform are each detected, in a corresponding sensing event of the sensing cycle, by the at least one receiver of the phase coherent LIDAR component.
- the reflected portion of a sensing event can be detected by the at least one coherent optical receiver using a coherent-detection scheme in which the reflected portion is mixed with a local optical signal that corresponds to the transmitted encoded waveform.
- the coherent-detection scheme can be, for example, homodyne mixing, heterodyne mixing, self-heterodyne mixing, or other coherent-detection scheme.
- the resulting signal generated from mixing the reflected portion with the local optical signal indicates both: (1) range to the corresponding point, and (2) velocity of the corresponding point.
- the resulting signal can be processed by applying a two-dimensional Fourier transform to the signal, to generate a 2D spectrum with a frequency coordinate in the direct dimension and a frequency coordinate in the indirect dimension.
- the frequency coordinate in the direct dimension can be utilized to determine the range and the frequency coordinate in the indirect dimension can be utilized to determine the velocity.
- a homodyne detection scheme can be used in which the local optical signal is a split portion of the transmitted encoded waveform and is used as an optical local oscillator signal for the optical receiver.
- Mixing the local oscillator with a time delayed reflected portion during the sensing event yields a time varying intermediate frequency (IF) waveform, which is directly related to the range of the corresponding point.
- IF intermediate frequency
- a Doppler frequency shift will be superimposed to the IF waveform, which can be used to determine radial velocity of the point.
- phase coherent LIDAR data is generated for each of a plurality of points in the environment of the vehicle—and indicates range, velocity, and optionally intensity, for each of the points in the environment for the sensing cycle.
- phase coherent LIDAR data generated by a phase coherent LIDAR component is utilized in determining classification(s), pose(s), and/or instantaneous velocity/velocities of object(s) in various implementations disclosed herein.
- the phase coherent LIDAR data of a sensing cycle indicates, directly or indirectly, a corresponding range and corresponding velocity for each of a plurality of points in an environment of a vehicle to which the phase coherent LIDAR component is coupled.
- the phase coherent LIDAR data includes a three-dimensional (3D) point cloud, with each point in the 3D point cloud defining a corresponding range (via its 3D coordinate in the 3D point cloud), corresponding velocity, and optionally a corresponding intensity.
- the phase coherent LIDAR data includes a range-Doppler image, such as a range-Doppler image where each pixel defines a corresponding velocity (and optionally intensity) for a corresponding range and cross-range.
- each pixel in the range-Doppler image corresponds to a corresponding range and cross-range (which corresponds to a point in the environment), and defines a velocity for that range and cross-range.
- the phase coherent LIDAR data includes a time varying intermediate frequency (IF) waveform generated by optical receiver(s) of the FMCW LIDAR component based on mixing the local oscillator with the time delayed reflection.
- IF intermediate frequency
- the time varying IF waveform can be utilized directly to determine classification(s), pose(s), and/or instantaneous velocity/velocities—and/or can be processed using a Fourier transform and/or other techniques, and the processed data utilized to determine the classification(s), pose(s), and/or instantaneous velocity/velocities.
- each slice of the time varying IF waveform can be processed to determine range and velocity for a corresponding point in the environment, and the ranges and velocities for multiple points utilized in determining classification(s), pose(s), and/or instantaneous velocity/velocities.
- phase coherent LIDAR data can be generated by the phase coherent LIDAR component and utilized in determining feature(s) of an object according to implementations disclosed herein.
- the type(s) of phase coherent LIDAR data generated and utilized in determining feature(s) can be dependent on, for example, the particular phase coherent LIDAR component being utilized.
- the velocities indicated in received phase coherent LIDAR data can have the ego vehicle's velocity subtracted out (e.g., based on a velocity of the ego vehicle determined based on sensor(s) of the ego vehicle, or based on inferring the velocity of the ego vehicle based on velocities of static objects in the phase coherent LIDAR data).
- the ego vehicle's velocity may not be subtracted out of the received phase coherent LIDAR data.
- the received phase coherent LIDAR data may optionally be processed to subtract out the ego vehicle's velocity.
- the phase coherent LIDAR data is from a phase coherent LIDAR monopulse component that includes at least a first and second receiver, such as a first and second coherent optical receiver.
- each sensing event includes a first receiver sensing event by the first receiver and a second receiver sensing event by the second receiver.
- the first receiver sensing event can include coherent mixing of a local oscillator with a first detection of a reflected portion of the waveform
- the second receiver sensing event can include coherent mixing of the local oscillator with a second detection of a reflected portion of the waveform.
- the first receiver sensing event and the second receiver sensing event are denoted herein as separate events as they are by separate receivers.
- the sensing events can each be of the same reflection and can occur concurrently, or substantially concurrently (e.g., within one millisecond of one another, within one microsecond of one another, or within one nanosecond of one another).
- the first and second receivers are positionally offset relative to one another, thereby causing the first and second detections to vary (e.g., temporally and/or characteristically (e.g., in phase)).
- This enables at least one extra channel of data to be determined for a sensing event based on comparison of the first receiver sensing event and the second receiver sensing event.
- the extra channel can be utilized to increase the angular accuracy for point(s) determined based on the sensing event.
- the extra channel can be based on amplitude and/or phase differences between the first and second receiver sensing events (e.g., differences in the time varying IF waveform generated by each of the first and second receivers in mixing with the local oscillator signal).
- the amplitude and/or phase differences can be compared to determine an angle (a particular angle or range of angles), for each of one or more point(s) determined based on the sensing event, where each angle is resolved so that the point(s) are smaller than the beam width of the reflection that resulted in the sensing event.
- the angle e.g., azimuth and elevation relative to the receiver(s)
- the point can be localized to a sub-beam width level as the position of the point is defined by the angle and the range.
- multiple range/velocity pairs can be determined based on a single sensing event (e.g., based on differences in range and/or velocity among the multiple range/velocity pairs indicated by a range-Doppler image and/or IF waveform).
- a corresponding angle can be determined for each of the multiple range/velocity pairs, and can each be resolved to a sub-beam width level.
- a single sensing event of a sensing cycle can be utilized to determine a corresponding range and corresponding velocity for each of two or more points.
- beam width(s) of the electromagnetic output that is output by the laser of a phase coherent LIDAR component can be purposefully fattened/widened to enable covering of more space by the beam width, as compared to non-fattened beam widths.
- a beam width can be fixed so that, at a given distance from the phrase coherent LIDAR component (e.g., 10 meters, 15 meters, 20 meters, 50 meters, or other distance), there are no coverage gaps between the beams of a sensing cycle.
- Increased angular accuracy techniques described herein can be utilized to determine a corresponding range and corresponding velocity for each of two or more points that are within the fattened beam width of each beam of the sensing cycle.
- phase coherent LIDAR monopulse component With a phase coherent LIDAR monopulse component, super-pixel accuracy can be achieved while reducing the signal-to-noise ratio (SNR) (i.e., increasing the noise) through splitting of the reflection across two or more receivers.
- SNR signal-to-noise ratio
- This can be beneficial in determining ranges and velocities for point(s) of various objects that are far away (from the phase coherent LIDAR monopulse component) and/or small.
- it can increase the angular accuracy (more accurate positioning, in an angular sense, for a given point) for which range and velocity can be determined for a given return/sensing event—thereby increasing the angular accuracy and enabling determination (or at least more accurate determination) of classification(s), a pose, and/or movement parameter(s) for an object that is far away and/or small, whereas classification(s), pose, and/or movement parameter(s) would otherwise not be determinable (or would at least be less accurate) for the object that is far away and/or small.
- super-resolution can additionally and/or alternatively be achieved while reducing the signal-to-noise ratio (SNR) (i.e., increasing the noise) through splitting of the reflection across two or more receivers.
- SNR signal-to-noise ratio
- the two or more receivers are positionally offset relative to one another, thereby causing respective detections of the receivers to vary (e.g., temporally and/or characteristically (e.g., in phase)).
- each sensing event can include a receiver sensing event at each receiver (e.g., a first receiver sensing event at a first receiver, a second receiver sensing event at a second receiver, etc.) and produce respective LIDAR data for the respective receiver sensing event.
- the non-redundant LIDAR data for the receiver sensing events can be combined to construct super-resolution LIDAR data for the sensing event.
- the non-redundant LIDAR data can be based on, for example, amplitude and/or phase differences between the respective receiver sensing events (e.g., differences in the time varying IF waveform generated by each of the first and second receivers in mixing with the local oscillator signal).
- Various techniques can be utilized to generate super-resolution LIDAR data from multiple receiver sensing events, such as frequency domain techniques (e.g., based on shift and aliasing properties of the Continuous and Discrete Fourier Transforms) and/or spatial domain techniques (e.g., non-iterative and/or iterative techniques).
- Spatial domain techniques can be utilized to apply one or more flexible estimators in constructing super-resolution LIDAR data from lower resolution LIDAR data from receiver sensing events.
- Such flexible estimators include, for example, Maximum likelihood, Maximum a Posteriori, Projection Onto Convex Sets, Bayesian treatments, etc. Additional description of some phase coherent LIDAR techniques and some phase coherent LIDAR components are provided herein, including monopulse components and techniques.
- a transmitted encoded waveform is sequentially directed to, and sequentially reflects off of, each of a plurality of points in the environment—and reflected portions of the encoded waveform are each detected, in a corresponding sensing event of the sensing cycle, by the at least one receiver of the phase coherent LIDAR component.
- the waveform is directed to a plurality of points in an area of an environment, and corresponding reflections detected, without the waveform being redirected to those points in the sensing cycle.
- each of multiple (e.g., all) sensing cycles can have the same duration, the same field-of-view, and/or the same pattern of waveform distribution (through directing of the waveform during the sensing cycle).
- each of multiple sensing cycles that are each a sweep can have the same duration, the same field-of-view, and the same pattern of waveform distribution.
- the duration, field-of-view, and/or waveform distribution pattern can vary amongst one or more sensing cycles.
- a first sensing cycle can be of a first duration, have a first field-of view, and a first waveform distribution pattern; and a second sensing cycle can be of a second duration that is shorter than the first, have a second field-of-view that is a subset of the first field-of-view, and have a second waveform distribution pattern that is denser than the first.
- FIG. 1 illustrates an example autonomous vehicle 100 within which the various techniques disclosed herein may be implemented.
- Vehicle 100 may include a powertrain 102 including a prime mover 104 powered by an energy source 106 and capable of providing power to a drivetrain 108 , as well as a control system 110 including a direction control 112 , a powertrain control 114 , and brake control 116 .
- Vehicle 100 may be implemented as any number of different types of vehicles, including vehicles capable of transporting people and/or cargo, and capable of traveling by land, by sea, by air, underground, undersea and/or in space, and it will be appreciated that the aforementioned components 102 - 116 can vary widely based upon the type of vehicle within which these components are utilized.
- the prime mover 104 may include one or more electric motors and/or an internal combustion engine (among others).
- the energy source 106 may include, for example, a fuel system (e.g., providing gasoline, diesel, hydrogen, etc.), a battery system, solar panels or other renewable energy source, and/or a fuel cell system.
- Drivetrain 108 may include wheels and/or tires along with a transmission and/or any other mechanical drive components suitable for converting the output of prime mover 104 into vehicular motion, as well as one or more brakes configured to controllably stop or slow the vehicle 100 and direction or steering components suitable for controlling the trajectory of the vehicle 100 (e.g., a rack and pinion steering linkage enabling one or more wheels of vehicle 100 to pivot about a generally vertical axis to vary an angle of the rotational planes of the wheels relative to the longitudinal axis of the vehicle).
- a rack and pinion steering linkage enabling one or more wheels of vehicle 100 to pivot about a generally vertical axis to vary an angle of the rotational planes of the wheels relative to the longitudinal axis of the vehicle.
- combinations of powertrains and energy sources may be used (e.g., in the case of electric/gas hybrid vehicles), and in some instances multiple electric motors (e.g., dedicated to individual wheels or axles) may be used as a prime mover.
- Direction control 112 may include one or more actuators and/or sensors for controlling and receiving feedback from the direction or steering components to enable the vehicle 100 to follow a desired trajectory.
- Powertrain control 114 may be configured to control the output of powertrain 102 , e.g., to control the output power of prime mover 104 , to control a gear of a transmission in drivetrain 108 , etc., thereby controlling a speed and/or direction of the vehicle 100 .
- Brake control 116 may be configured to control one or more brakes that slow or stop vehicle 100 , e.g., disk or drum brakes coupled to the wheels of the vehicle.
- vehicle control system 120 which may include one or more processors 122 and one or more memories 124 , with each processor 122 configured to execute program code instructions 126 stored in a memory 124 .
- the processor(s) 122 can include, for example, graphics processing unit(s) (GPU(s)) and/or central processing unit(s) (CPU(s)).
- Sensors 130 may include various sensors suitable for collecting information from a vehicle's surrounding environment for use in controlling the operation of the vehicle.
- sensors 130 can include a frequency-modulated continuous wave (FMCW) Light Detection and Ranging (LIDAR) component 132 of the vehicle (FMCW).
- FMCW LIDAR component 132 can generate FMCW LIDAR data that can be utilized in determining a pose, classification, and velocity for each of one or more objects in an environment of the vehicle 100 .
- the FMCW LIDAR data generated by FMCW LIDAR component 132 indicates, for each of a plurality of points in the environment of the vehicle, a corresponding range and a corresponding velocity based on a corresponding sensing event of the FMCW LIDAR component.
- phase coherent LIDAR component that is not an FMCW LIDAR component can instead be utilized.
- phase coherent LIDAR data that is not FMCW LIDAR data, can be utilized in lieu of FMCW LIDAR data.
- Sensors 130 can also optionally include a Radio Detection and Ranging (RADAR) component 134 and/or a LIDAR component 136 (non-phase coherent, that generates data that can be utilized to determine ranges, but not velocities). Further, sensors can also optionally include a satellite navigation (SATNAV) component 138 , e.g., compatible with any of various satellite navigation systems such as GPS, GLONASS, Galileo, Compass, etc. The SATNAV component 138 can be used to determine the location of the vehicle on the Earth using satellite signals. Sensors 130 can also optionally include a camera 140 , an inertial measurement unit (IMU) 142 and/or one or more wheel encoders 144 .
- IMU inertial measurement unit
- the camera 140 can be a monographic or stereographic camera and can record still and/or video imagers.
- the IMU 142 can include multiple gyroscopes and accelerometers capable of detecting linear and rotational motion of the vehicle 100 in three directions. Wheel encoders 142 may be used to monitor the rotation of one or more wheels of vehicle 100 .
- the outputs of sensors 130 may be provided to a set of control subsystems 150 , including, a localization subsystem 152 , a planning subsystem 156 , a perception subsystem 154 , and a control subsystem 158 .
- Localization subsystem 152 is principally responsible for precisely determining the location and orientation (also sometimes referred to as “pose”) of vehicle 100 within its surrounding environment, and generally within some frame of reference.
- Perception subsystem 154 is principally responsible for detecting, tracking and/or identifying elements within the environment surrounding vehicle 100 . For example, and as described herein, perception subsystem 154 can, at each of a plurality of iterations, determine a pose, classification, and velocity for each of one or more objects in the environment surrounding vehicle 100 .
- the perception subsystem 154 can track various objects over multiple iterations. For instance, the perception subsystem 154 can track an additional vehicle over multiple iterations as the additional vehicle moves relative to the ego vehicle 100 .
- the perception subsystem 154 utilize detection, classification, and/or velocity techniques described herein in tracking of an object over multiple iterations.
- Planning subsystem 156 is principally responsible for planning a trajectory for vehicle 100 over some timeframe given a desired destination as well as the static and moving objects within the environment. For example, and as described herein, planning subsystem 156 can plan a trajectory for vehicle 100 based at least in part on a pose, classification, and/or velocity for each of one or more objects in an environment of the vehicle 100 in the environment surrounding vehicle 100 .
- planning subsystem 156 plans the trajectory for the vehicle 100 by generating, and considering, candidate trajectories for each of one or more additional mobile objects in the environment.
- Planning subsystem 156 can determine a candidate trajectory for an object at an iteration based on a pose, classification, and/or velocity for the iteration—and/or the tracking of the object over multiple iterations.
- Control subsystem 158 is principally responsible for generating suitable control signals for controlling the various controls in control system 110 in order to implement the planned trajectory of the vehicle 100 .
- FIG. 1 for vehicle control system 120 is merely exemplary in nature. Individual sensors may be omitted in some implementations. Additionally or alternatively, in some implementations multiple sensors of the types illustrated in FIG. 1 may be used for redundancy and/or to cover different regions around a vehicle, and other types of sensors may be used. Likewise, different types and/or combinations of control subsystems may be used in other implementations.
- subsystems 152 - 160 are illustrated as being separate from processors 122 and memory 124 , it will be appreciated that in some implementations, some or all of the functionality of a subsystem 152 - 160 may be implemented with program code instructions 126 resident in one or more memories 124 and executed by one or more processors 122 , and that these subsystems 152 - 160 may in some instances be implemented using the same processors and/or memory. Subsystems in some implementations may be implemented at least in part using various dedicated circuit logic, various processors, various field-programmable gate arrays (“FPGA”), various application-specific integrated circuits (“ASIC”), various real time controllers, and the like, and as noted above, multiple subsystems may utilize circuitry, processors, sensors and/or other components. Further, the various components in vehicle control system 120 may be networked in various manners.
- FPGA field-programmable gate arrays
- ASIC application-specific integrated circuits
- vehicle 100 may also include a secondary vehicle control system (not illustrated), which may be used as a redundant or backup control system for vehicle 100 .
- the secondary vehicle control system may be capable of fully operating autonomous vehicle 100 in the event of an adverse event in vehicle control system 120 , while in other implementations, the secondary vehicle control system may only have limited functionality, e.g., to perform a controlled stop of vehicle 100 in response to an adverse event detected in primary vehicle control system 120 . In still other implementations, the secondary vehicle control system may be omitted.
- each processor may be implemented, for example, as a microprocessor and each memory may represent the random access memory (RAM) devices comprising a main storage, as well as any supplemental levels of memory, e.g., cache memories, non-volatile or backup memories (e.g., programmable or flash memories), read-only memories, etc.
- RAM random access memory
- each memory may be considered to include memory storage physically located elsewhere in vehicle 100 , e.g., any cache memory in a processor, as well as any storage capacity used as a virtual memory, e.g., as stored on a mass storage device or on another computer or controller.
- processors illustrated in FIG. 1 may be used to implement additional functionality in vehicle 100 outside of the purposes of autonomous control, e.g., to control entertainment systems, to operate doors, lights, convenience features, etc.
- vehicle 100 may also include one or more mass storage devices, e.g., a removable disk drive, a hard disk drive, a direct access storage device (DASD), an optical drive (e.g., a CD drive, a DVD drive, etc.), a solid state storage drive (SSD), network attached storage, a storage area network, and/or a tape drive, among others.
- vehicle 100 may include a user interface 164 to enable vehicle 100 to receive a number of inputs from and generate outputs for a user or operator, e.g., one or more displays, touchscreens, voice and/or gesture interfaces, buttons and other tactile controls, etc. Otherwise, user input may be received via another computer or electronic device, e.g., via an app on a mobile device or via a web interface.
- vehicle 100 may include one or more network interfaces, e.g., network interface 162 , suitable for communicating with one or more networks (e.g., a LAN, a WAN, a wireless network, and/or the Internet, among others) to permit the communication of information with other computers and electronic devices, including, for example, a central service, such as a cloud service, from which vehicle 100 receives environmental and other data for use in autonomous control thereof.
- network interface 162 suitable for communicating with one or more networks (e.g., a LAN, a WAN, a wireless network, and/or the Internet, among others) to permit the communication of information with other computers and electronic devices, including, for example, a central service, such as a cloud service, from which vehicle 100 receives environmental and other data for use in autonomous control thereof.
- networks e.g., a LAN, a WAN, a wireless network, and/or the Internet, among others
- a central service such as a cloud service
- Each processor illustrated in FIG. 1 generally operates under the control of an operating system and executes or otherwise relies upon various computer software applications, components, programs, objects, modules, data structures, etc., as will be described in greater detail below.
- various applications, components, programs, objects, modules, etc. may also execute on one or more processors in another computer coupled to vehicle 100 via network, e.g., in a distributed, cloud-based, or client-server computing environment, whereby the processing required to implement the functions of a computer program may be allocated to multiple computers and/or services over a network.
- Program code typically comprises one or more instructions that are resident at various times in various memory and storage devices, and that, when read and executed by one or more processors, perform the steps necessary to execute steps or elements embodying the various aspects of the invention.
- implementations have and hereinafter will be described in the context of fully functioning computers and systems, it will be appreciated that the various implementations described herein are capable of being distributed as a program product in a variety of forms, and that implementations can be implemented regardless of the particular type of computer readable media used to actually carry out the distribution.
- Examples of computer readable media include tangible, non-transitory media such as volatile and non-volatile memory devices, floppy and other removable disks, solid state drives, hard disk drives, magnetic tape, and optical disks (e.g., CD-ROMs, DVDs, etc.), among others.
- FIG. 1 is not intended to limit implementations disclosed herein. Indeed, those skilled in the art will recognize that other alternative hardware and/or software environments may be used without departing from the scope of implementations disclosed herein.
- FIGS. 2 A and 2 B two implementations of FMCW LIDAR component 132 of FIG. 1 are schematically illustrated.
- FIG. 2 A illustrates an FMCW LIDAR component 132 A that includes a single receiver 132 A 3
- FIG. 2 B illustrates an FMCW LIDAR monopulse component 132 B that includes two receivers 132 B 3 A and 132 B 3 B.
- FMCW LIDAR component 132 A includes a tunable laser 132 A 1 whose optical output is controlled by signal generator 132 A 2 .
- Signal generator 132 A 2 drives the laser 132 A 1 such that the laser 132 A 1 generates electromagnetic output that is in the optical spectra, and that is encoded through modification of the frequency of the electromagnetic output.
- the signal generator 132 A 2 generates a signal to cause the waveform to be encoded.
- Various types of frequency encoded waveforms can be generated via the signal generator 132 A 2 and the laser 132 A 1 .
- FIG. 2 A illustrates a transmitted beam 192 A from the laser 132 A 1 that is encoded as described in the preceding paragraph, and that is directed toward a point on a target object 191 .
- the transmitted beam 192 A is reflected off the point on the target object 191 and the reflection 193 A is received at the receiver 132 A 3 during a sensing event.
- the transmitted beam 192 A includes a slice of the encoded waveform and the reflection 193 A also includes the slice of the encoded waveform.
- the slice of the encoded waveform is detected by the receiver 132 A 3 during the sensing event.
- the receiver 132 A 3 can be a coherent receiver and the reflection 193 A can be detected by the receiver 132 A 3 using a coherent-detection scheme in which the reflection 193 A is mixed with a local optical signal, such as a local optical signal that is a split portion of the transmitted beam 192 A. It is noted that the detection of the reflection 193 A by the receiver 132 A 3 will be time delayed with respect to detection of the local optical signal (e.g., the split portion of the transmitted beam 192 A).
- the coherent-detection scheme can be implemented by the processor 132 A 4 and can be, for example, homodyne mixing, heterodyne mixing, self-heterodyne mixing, or other coherent-detection scheme.
- the resulting signal generated from mixing the reflected portion with the local optical signal indicates both: (1) range to the point of the target object 191 , and (2) velocity of the point of the target object 191 .
- the processor 132 A 4 provides the resulting signal as FMCW LIDAR data for the point from the FMCW LIDAR component 132 A.
- the processor 132 A 4 performs further processing to generate FMCW LIDAR data for the point that directly indicates the range and the velocity of the point.
- the range and the velocity of the point can be directly indicated in FMCW LIDAR data that is a 3D point cloud that indicates range and velocity values, or a range-Doppler image.
- FMCW LIDAR data is generated by the FMCW LIDAR component for each of a plurality of points in the environment—and indicates range, velocity, and optionally intensity, for each of the points in the environment.
- FIG. 2 A describes an FMCW LIDAR component
- a phase coherent LIDAR component that is not FMCW can have the same and/or similar components.
- the signal generator 132 A 2 can drive the laser 132 A 1 to generate a waveform that is non-continuous and/or that is encoded using a technique other than frequency modulation.
- FMCW LIDAR monopulse component 132 B includes a tunable laser 132 B 1 whose optical output is controlled by signal generator 132 B 2 .
- Signal generator 132 B 2 drives the laser 132 B 1 such that the laser 132 B 1 generates electromagnetic output that is in the optical spectra, and that is encoded through modification of the frequency of the electromagnetic output.
- the signal generator 132 B 2 generates a signal to cause the waveform to be encoded.
- Various types of encoded waveforms can be generated via the signal generator 132 B 2 and the laser 132 B 1 .
- FIG. 2 B illustrates a transmitted beam 192 B from the laser 132 B 1 that is encoded as described in the preceding paragraph, and that is directed toward a point on a target object 191 .
- the transmitted beam 192 B is reflected off the point on the target object 191 and, during a sensing event, a first reflection 193 B 1 is received at the first receiver 132 B 3 A and a second reflection 193 B 2 is received at the second receiver 132 B 3 B.
- the transmitted beam 192 B includes a slice of the encoded waveform and the reflections 193 B 1 and 193 B 2 also include the slice of the encoded waveform.
- the first and second receivers 132 B 3 A and 132 B 3 B can be coherent receivers and the sensing event can include a first receiver sensing event and a second receiver sensing event.
- the first receiver sensing event can include coherent mixing of a local oscillator (e.g., a split portion of the transmitted beam 192 B) with a first detection of the first reflection 193 B 1 and the second receiver sensing event can include coherent mixing of the local oscillator with a second detection of the second reflection 193 B 2 .
- the first and second receiver 132 B 3 A and 132 B 3 B are positionally offset relative to one another, thereby causing the first and second detections to vary.
- the processor 132 B 4 can determine at least one extra channel of data for the sensing event based on comparison of the first receiver sensing event and the second receiver sensing event. For example, the processor 132 B 4 can determine the extra channel based on amplitude and/or phase differences between the first and second receiver sensing events (e.g., differences in the time varying IF generated by each of the first and second receivers in mixing with the local oscillator signal). For instance, the amplitude and/or phase differences can be compared to determine an angle (a particular angle or range of angles), for each of one or more point(s) determined based on the sensing event, where each angle is resolved so that the point(s) are smaller than the beam width of the reflection that resulted in the sensing event.
- an angle a particular angle or range of angles
- the angle e.g., azimuth and elevation relative to the receiver(s)
- the point can be localized to a sub-beam width level as the position of the point is defined by the angle and the range. Accordingly, increased angular accuracy can be achieved while reducing the signal-to-noise ratio (SNR) (i.e., increasing the noise) through splitting of the reflection across two receivers.
- SNR signal-to-noise ratio
- the processor 132 B 4 can determine LIDAR data with super-resolution using non-redundant data from the first and second detections. For example, the processors 132 B 4 can construct super-resolution LIDAR data from lower-resolution LIDAR data from the first and second detections. Accordingly, super-resolution range and velocity can be determined, while reducing the SNR through the splitting of the reflection across two receivers.
- the processor 132 B 4 provides the signal, generated from the first and second receiver sensing events, as FMCW LIDAR monopulse data for the points from the FMCW LIDAR monopulse component 132 B. In some other implementations, the processor 132 B 4 performs further processing to generate FMCW LIDAR monopulse data for the points that directly indicates the range and the velocity of the points. For example, the range and the velocity of the points can be directly indicated in FMCW LIDAR monopulse data that is a 3D point cloud or a range-Doppler image.
- FMCW LIDAR monopulse data is generated by the FMCW LIDAR monopulse component 132 B for each of a plurality of points in the environment—and indicates range, velocity, and optionally intensity, for each of the points in the environment.
- FIG. 2 B describes an FMCW LIDAR monopulse component
- a phase coherent LIDAR monopulse component that is not FMCW can have the same and/or similar components.
- the signal generator 132 B 2 can drive the laser 132 B 1 to generate a waveform that is non-continuous and/or that is encoded using a technique other than frequency modulation.
- FIG. 3 A a block diagram is provided that illustrates implementations of determining classification(s) for object(s) in an environment of a vehicle, and controlling the vehicle based on the classification(s).
- FIG. 3 A illustrates subsystems 152 , 154 , 156 , and 158 of vehicle control system 120 , and examples of how they may interact in determining classification(s) for object(s) in an environment of the vehicle, determining pose(s) for the object(s), determining movement parameter(s) (if any) for the object(s), and/or adapting autonomous control based on the determinations.
- Localization subsystem 152 is generally responsible for localizing a vehicle within its environment. Localization subsystem 152 , for example, may determine a pose (generally a position, and in some instances orientation) of the autonomous vehicle 100 within its surrounding environment. The localization subsystem 152 can determine the pose of the autonomous vehicle 100 utilizing FMCW LIDAR data 392 from FMCW LIDAR component 132 and/or data from other sensor(s) 391 , such as camera 140 , RADAR component 134 , LIDAR component 136 , and/or other sensors 130 of FIG. 1 (e.g., IMU 142 , encoders 144 ). The pose determined by the localization subsystem 152 can be, for example, relative to a map utilized by the vehicle control system 120 .
- a pose generally a position, and in some instances orientation
- the localization subsystem 152 can determine the pose of the autonomous vehicle 100 utilizing FMCW LIDAR data 392 from FMCW LIDAR component 132 and/or data from other sensor(s) 391
- the pose can be updated by the localization subsystem 152 as the vehicle 100 moves throughout its environment, and the pose provided to (or otherwise made accessible to) one or more of the other subsystems 154 , 156 , and/or 158 for use by the subsystem(s).
- Perception subsystem 154 is principally responsible for perceiving objects within the environment of the vehicle, and can utilize FMCW LIDAR data 392 and optionally data from other sensor(s) 391 (e.g., camera 140 , RADAR component 134 ) to detect those objects, classify those objects, determine velocities for those objects, and track those objects.
- sensor(s) 391 e.g., camera 140 , RADAR component 134
- Perception subsystem 154 can include an object detection and classification module 154 A that utilizes FMCW LIDAR data 392 and/or data from other sensor(s) 391 in detecting various objects (e.g., determining the pose of the objects) and classifying the detected objects.
- the object detection and classification module 154 A can process FMCW LIDAR data 392 and/or data from other sensor(s) 391 in detecting and classifying additional vehicles, pedestrians, animals, trees, signs, bicyclists, and/or other object(s) in the environment of the vehicle 100 .
- the object detection and classification module 154 A can utilize one or more classification models 170 in detecting and/or classifying various objects.
- the classification model(s) can include one or more trained machine learning model(s) such as Bayesian models, random forest models, Markov models, and/or neural network models.
- the trained machine learning model(s) can include a neural network model that is trained for utilization in processing FMCW LIDAR data (and/or other data) to generate output that indicates, for each of one or more objects captured by the data, a corresponding pose of the object and corresponding classification(s) of the object.
- the object detection and classification module 154 A can additionally or alternatively process FMCW LIDAR data 392 and/or data from other sensor(s) 391 without utilization of machine learning model(s). For example, nearest neighbor and/or other clustering techniques can be utilized to determine portions of data that likely have a corresponding classification.
- object detection and classification module 154 A can provide an indication of pose(s) and class(es) for object(s) 394 to a velocity module 154 B of the perception subsystem 154 .
- the provided pose for each object can be, for example, relative to a map utilized by the vehicle control system 120 and/or relative to the FMCW LIDAR data 392 .
- the velocity module 154 B uses the FMCW LIDAR data 392 to determine an instantaneous velocity for each of one or more of the objects 396 .
- the velocity module 154 B determines an instantaneous velocity for only those object(s) having certain classification(s) (as indicated by 394 ) and/or excludes certain classification(s) of objects from instantaneous velocity determination. For example, the velocity module 154 B can exclude object(s) having certain classification(s) indicative of non-moving objects, such as a tree classification. Also, for example, the velocity module 154 B can exclude object(s) having certain classification(s) indicative of certain relatively slow moving objects, such as a pedestrian classification. As yet another example, the velocity module 154 B can determine an instantaneous velocity for object(s) having vehicle, bicyclist, and/or other classification(s) indicative of objects that can be moving relatively fast.
- the velocity module 154 B can use the provided pose for that object (provided in 394 ) to determine a subgroup of FMCW LIDAR data 392 that corresponds to the pose (and resultantly, the object). Further, the velocity module 154 B can determine the instantaneous velocity as a function of the velocities (including directions and magnitudes) of the FMCW LIDAR data of the subgroup. For example, the velocity module 154 B can determine the instantaneous velocity based on a mean, median, and/or other statistical measure of the velocities.
- the velocity module 154 B can additionally or alternatively distribute velocities of the FMCW LIDAR data of the subgroup into bins (where each bin corresponds to a range of velocities), and determine the instantaneous velocity based on the bin(s) with the largest quantity of occurrences of velocities that conform to the bin(s) (e.g., a histogram analysis). Additional and/or alternative techniques can be utilized.
- the velocity module 154 B can select a particular instantaneous velocity determination technique for an object, from a plurality of candidate techniques, based on the classification for the object. For example, for an object classification of pedestrian, the instantaneous velocity can be determined based on a mean of the FMCW LIDAR data of the subgroup that corresponds to the pedestrian, whereas an average can instead be utilized for an object classification of a vehicle. As another example, for an object classification of vehicle, the instantaneous velocity can be determined using a histogram analysis, whereas a histogram analysis is not used for an object classification of a pedestrian.
- the velocity module 154 B can additionally or alternatively select a particular instantaneous velocity determination technique for an object, from a plurality of candidate techniques, based on the pose of the object and/or the quantity of FMCW LIDAR data of the subgroup that corresponds to the object. For example, when the pose for an object indicates the object is relatively far away from the vehicle, the velocity module 154 B can utilize a technique that is more computationally efficient (but potentially less robust and/or less accurate) than an alternative technique that is instead utilized when the pose indicates the object is relatively close.
- the velocity module 154 B can utilize a first technique (e.g., average), whereas when the quantity of FMCW LIDAR data of the subgroup is relatively large, the velocity module 154 B can utilize a second technique (e.g., histogram analysis).
- a first technique e.g., average
- a second technique e.g., histogram analysis
- the perception subsystem 154 provides the instantaneous velocity for each of one or more of the objects 396 , and the pose(s) and class(es) for the object(s) 394 to the planning subsystem 156 (or otherwise makes it available to the planning subsystem 156 ).
- the planning subsystem 156 is principally responsible for planning out a trajectory of the vehicle over some time frame (e.g., several seconds), and may receive input from both localization subsystem 152 and perception subsystem 154 .
- the planning subsystem 156 can adapt the trajectory of the vehicle based on the provided velocities, poses, and/or classes for the objects.
- the planning subsystem 154 can utilize the pose and the instantaneous velocity for the vehicle in determining one or more candidate trajectories for the additional vehicle.
- the planning subsystem 154 can utilize the instantaneous velocity alone in determining the one or more candidate trajectories for the additional vehicle, or can also utilize one or more previously determined velocities for the additional vehicle.
- the planning subsystem 154 can utilize the instantaneous velocity, as well as one or more immediately preceding determined instantaneous velocities for the additional vehicle (each determined based on FMCW LIDAR data from a prior sensing cycle). Further, the planning subsystem 154 can adapt the intended trajectory of the ego vehicle 100 so that the ego vehicle 100 does not contact and/or come within a threshold distance of the additional vehicle if the additional vehicle traverses one of the candidate trajectories.
- the planning subsystem 154 can utilize the pose and the classification of pedestrian to determine a candidate trajectory area around the pedestrian, where the candidate trajectory area is an area around the pose for the pedestrian that is determined based on a maximum distance a pedestrian could travel before the next object detection event, and/or determined based on a default maximum velocity for an object having a pedestrian classification. Further, the planning subsystem can determine a trajectory of the ego vehicle that avoids the candidate trajectory area around the pose for the pedestrian.
- the planning subsystem 154 can utilize the pose and the classification of tree to determine a trajectory of the ego vehicle that avoids the pose of the tree. Additional description of these and other techniques for controlling a vehicle based on determined classifications, poses, and velocities of objects are provided herein. For example, additional description of some techniques is provided below in association with description of FIGS. 7 A and 7 B .
- the trajectory and/or other data generated by the planning subsystem 156 is then passed on to control subsystem 158 to convert the desired trajectory into trajectory commands 398 suitable for controlling the various vehicle controls 112 , 114 , and/or 116 in control system 110 , with localization data also provided to control subsystem 158 to enable the control subsystem 158 to issue appropriate commands to implement the desired trajectory as the location of the vehicle changes over the time frame.
- FIG. 3 B is a block diagram illustrating one example of how pose(s) and class(es) for object(s) 394 of FIG. 3 A can be determined utilizing a classification model 170 A.
- Classification model 170 A is one example of classification model(s) 170 of FIG. 3 A .
- the object detection and classification module 154 A applies FMCW LIDAR data 392 as input to classification model 170 A, processes the FMCW LIDAR data 392 using the classification model 170 A, and generates output 393 A based on the processing.
- the FMCW LIDAR data 392 is applied in the same form as it is received from the FMCW LIDAR component 136 .
- pre-processing of the FMCW LIDAR data 392 is performed prior to applying it as input to the classification model 170 A.
- the FMCW LIDAR data 392 can be pre-processed by decreasing its resolution to have it conform to input dimensions of the classification model 170 A, performing principal component analysis (PCA), padding the data to have it conform to input dimensions of the classification model 170 A, and/or otherwise generating an altered version of the FMCW LIDAR data 392 before applying it as input.
- PCA principal component analysis
- the pre-processing performed, if any, will be dependent on the classification model 170 A (e.g., its input dimensions and the input data based on which it was trained).
- the FMCW LIDAR data 392 is from only a most recent sensing cycle of the FMCW LIDAR component 132 .
- the FMCW LIDAR data 392 can include FMCW LIDAR data from a most recent sensing cycle of the FMCW LIDAR component 132 , as well FMCW LIDAR data from one or more prior sensing cycles of the FMCW LIDAR component 132 (e.g., from immediately preceding sensing cycles).
- the output 393 A generated based on the processing using the classification model 170 A includes, for each of a plurality of spatial regions 1-N , a corresponding probability for each of classes 1-N .
- Each of the spatial regions 1-N of the output 393 A corresponds to a portion of the FMCW LIDAR data 392 and, as a result, corresponds to an area of the environment.
- the FMCW LIDAR data 392 can include a 3D point cloud defining a corresponding range (via its 3D coordinate in the 3D point cloud), corresponding velocity, and optionally a corresponding intensity.
- each of the spatial regions 1-N can correspond to one or more of the 3D points (e.g., a single point or a collection of neighboring points).
- each of the spatial regions 1-N can correspond to one of the 3D points of the FMCW LIDAR data 392 .
- each of the spatial regions 1-N can correspond to a collection of neighboring 3D points of the FMCW LIDAR data 392 (e.g., each spatial region can correspond to a collection of eight of the 3D points, thereby enabling the quantity of spatial regions to be one eighth of the quantity of 3D points).
- the FMCW LIDAR data 392 includes a range-Doppler image
- each of the spatial regions 1-N can correspond to one or more pixels (e.g., a single pixel or a collection of neighboring pixels) of the range-Doppler image.
- Each of the probabilities of the output 393 A for each of the spatial regions 1-N corresponds to one of 1-N classes.
- the class 1 probability can be a probability of a vehicle class
- the class 2 probability can be a probability of a pedestrian class
- the class 3 probability can be a probability of a bicyclist class, etc.
- N is utilized to reference the total quantity of spatial regions 1-N
- the total quantity of classes 1-N and the total quantity of classes 1-N can vary from one another in various implementations. As one non-limiting example, over a thousand spatial regions can be provided, whereas only fifty or less classes can be provided.
- the object detection and classification module 154 A can utilize the output 393 A to determine pose(s) and class(es) for object(s) 394 .
- the object detection and classification module 154 A can determine that no objects are present in those spatial regions 1-N whose class 1-N probabilities each fail to satisfy a threshold low probability (e.g., 0 . 2 , 0 . 3 , or other probability).
- a threshold low probability e.g., 0 . 2 , 0 . 3 , or other probability.
- the object detection and classification module 154 A can determine those spatial regions 1-N having one or more of the class 1-N probabilities that satisfy a threshold high probability likely contain an object.
- the object detection and classification module 154 A can determine clusters of neighboring (directly neighboring or within N (e.g., 1, 2, or 3) spatial regions) spatial regions that have probabilities satisfying a threshold for the same class(es) and determine they correspond to the same object of those class(es). For example, if spatial regions 20-30 are neighboring and all have a probability for class 1 that satisfies a threshold, the object detection and classification module 154 A can determine spatial regions 20-30 correspond to a single object of class 1 . Yet further, the object detection and classification module 154 A can determine the pose of that single object based on those spatial regions 20-30 .
- N e.g. 1, 2, or 3
- the module 154 A can determine the object has a pose corresponding to the FMCW LIDAR data 392 that corresponds to spatial regions 20-30 .
- the determined pose can be with reference to the FMCW LIDAR data 392 , or with reference to another frame (e.g., a world frame or other reference frame).
- FIG. 3 C is a block diagram illustrating another example of how pose(s) and class(es) for object(s) 394 of FIG. 3 A can be determined utilizing a collection of classification models 170 B 1 - 170 BN.
- Classification models 170 B 1 - 170 BN are one example of classification model(s) 170 of FIG. 3 A .
- classification model 170 A is trained to generate output 393 A that provides, for each of a plurality of spatial regions 1-N , a corresponding probability for each of classes 1-N .
- each of the classification models 170 B 1 - 170 BN is trained to generate corresponding output that provides, for each of a plurality of spatial regions 1-N , a corresponding probability for only one corresponding class.
- the object detection and classification module 154 A applies FMCW LIDAR data 392 as input to each of classification models 170 B 1 - 170 BN, processes the FMCW LIDAR data 392 using models 170 B 1 - 170 BN, and generates outputs 393 B 1 - 393 BN based on the processing.
- the FMCW LIDAR data 392 is applied in the same form as it is received from the FMCW LIDAR component 136 .
- pre-processing of the FMCW LIDAR data 392 is performed prior to applying it as input.
- the output 393 B 1 generated based on the processing using the classification model 170 B 1 includes, for each of a plurality of spatial regions 1-N , a corresponding probability for class 1 .
- the output 393 BN generated based on the processing using the classification model 170 BN includes, for each of a plurality of spatial regions 1-N , a corresponding probability for class N .
- the unillustrated outputs generated based on the processing using the classification models 170 B 2 - 170 B(N ⁇ 1) each includes, for each of the plurality of spatial regions 1-N , a corresponding probability for a corresponding single class.
- Each of the spatial regions 1-N of the outputs 393 B 1 - 393 BN corresponds to a portion of the FMCW LIDAR data 392 and, as a result, corresponds to an area of the environment.
- the object detection and classification module 154 A can utilize the outputs 393 B 1 - 393 BN to determine pose(s) and class(es) for object(s) 394 .
- the object detection and classification module 154 A can determine that no objects are present in those spatial regions 1-N whose class 1-N probabilities indicated by outputs 393 BA- 393 BN each fail to satisfy a threshold low probability (e.g., 0.2, 0.3, or other probability).
- a threshold low probability e.g., 0.2, 0.3, or other probability
- the object detection and classification module 154 A can determine those spatial regions 1-N having one or more of the class 1-N probabilities indicated by outputs 393 BA- 393 BN that satisfy a threshold high probability likely contain an object of those class(es).
- the object detection and classification module 154 A can determine clusters of neighboring (directly neighboring or within N (e.g., 1, 2, or 3) spatial regions) spatial regions that have probabilities satisfying a threshold for the same class(es) and determine they correspond to the same object of that class. Yet further, the object detection and classification module 154 A can determine the pose of that single object based on those spatial regions.
- FIG. 4 A an example is illustrated of a training engine 465 training the classification model 170 A of FIG. 3 A utilizing a training instance 467 A of training instances database 467 .
- the training engine 465 can train the classification model 170 A prior to its usage in FIG. 3 A .
- the training instance 467 A includes a training instance input 468 A that includes FMCW LIDAR data (e.g., FMCW LIDAR data from a sensing cycle, or from a plurality of sequential sensing cycles).
- the training instance 467 A also includes a training instance output 469 A, that defines, for each of a plurality of spatial regions, whether an object of one or more classes is present in the spatial region. Training instance output 469 A is illustrated more particularly in FIG. 4 B .
- Training instance output 469 A defines a plurality of spatial regions 1-N , and, for each of the spatial regions 1-N , a corresponding probability for each of classes 1-N . For example, if only one object having only class 1 is present in spatial regions 1-6 , the class 1 probability for each of spatial regions 1-5 can be “1”, the probabilities for each of classes 6-N can be “0” for spatial regions 1-6 , and the probabilities for each of classes 1-N can be “0” for spatial regions 6-N .
- the training instance output 469 A can, in some implementations, be based on manual annotations of FMCW LIDAR data that indicate classes of objects present in the FMCW LIDAR data.
- the training engine 465 applies the training instance input 468 A to the classification model 170 A, and processes the training instance input 468 A, utilizing the classification model 170 A and based on current parameters of the classification model 170 A, to generate an output having a dimension that conforms to the dimension of training instance output 469 A.
- the training engine 465 compares the generated output to the training instance output 469 A, and updates one or more parameters of the classification model 170 A based on the comparison.
- the training engine 465 can generate an error based on differences between the generated output and the training instance output 469 A, and backpropagate a loss (that is based on the error) over classification model 170 A to update the classification model 170 A.
- classification model 170 A will be trained based on a large quantity of training instances of training instances database 467 .
- Those training instances can collectively include training instance inputs with diverse FMCW LIDAR data and diverse training instance outputs.
- batch training may additionally or alternatively be utilized (e.g., where losses are based on errors determined based on a batch of training instances).
- FIG. 4 A also illustrates, within dashed lines, example layers that may be included in classification model 170 A.
- an input layer 170 A 1 an input layer 170 A 1 , convolution layer(s) 170 A 2 , other layer(s) 170 A 3 , and an output layer 170 A 4 are illustrated.
- the dimensions/shape of the input layer 170 A 1 can be dependent on the shape of the FMCW LIDAR data to be applied.
- the dimensions/shape of the output layer 170 A 4 can be dependent on the size of the spatial regions, how many class probabilities are to be predicted, etc.
- multiple convolution layer(s) 170 A 2 are provided, and max pooling and/or other layers may optionally be interposed between one or more of the convolution layer(s) 170 A 2 .
- the other layer(s) 170 A 3 can include such max pooling layers and/or affine layers such as a softmax layer(s) and/or fully connected layer(s) that precede the output layer 170 A 4 .
- FIG. 4 A illustrates example layers that may be included in classification model 170 A, additional and/or alternative layers can be included in other implementations.
- other implementations may not include any convolution layer(s) and/or not include any max pooling layers. For instance, they can instead include alternative layer(s) between the input layer 170 A 1 and the output layer 170 A 4 .
- the environment includes multiple environmental objects 591 - 594 , and also illustrates examples of some FMCW LIDAR data points that can correspond to the environmental objects.
- the example FMCW LIDAR data points are illustrated as plus signs (+), minus signs ( ⁇ ), and circles ( ⁇ ).
- the FMCW LIDAR data points can be, for example, from an instance of (e.g., a sensing cycle of) FMCW LIDAR data that is a 3D point cloud, where each of the points of the 3D point cloud indicates a corresponding range (through its position in the 3D point cloud), and includes a corresponding rate/velocity, and optionally a corresponding intensity value.
- the plus signs (+) indicate FMCW LIDAR data points that have a positive corresponding velocity value
- the minus signs ( ⁇ ) indicate FMCW LIDAR data points that have a negative corresponding velocity value
- the circles ( ⁇ ) indicate FMCW LIDAR data points that have a zero (or near-zero) corresponding velocity value. It is noted that although positive velocity values are all indicated by plus signs (+), and negative velocity values are all indicated by minus signs ( ⁇ ), the magnitudes of those velocity values can vary (e.g., velocity values for the vehicle 591 can be greater than those for the pedestrian 593 ).
- FMCW LIDAR data points will be provided with the FMCW LIDAR data, including additional points that correspond to the objects 591 - 594 —as well as additional points that correspond to additional environmental objects.
- FIG. 5 only some of the FMCW LIDAR data points are illustrated in FIG. 5 for simplicity.
- the objects 591 - 594 will not be rendered in the FMCW LIDAR data as they appear in FIG. 5 (although they may be visually ascertainable via corresponding FMCW LIDAR data points).
- the objects 591 - 594 are illustrated in FIG. 5 for reference purposes.
- FIG. 5 is described with respect to FMCW LIDAR data points, additional or alternative types of FMCW LIDAR data can be utilized in determining poses, classifications, and movement parameters, such as those types of FMCW LIDAR data also described herein.
- bounding shapes 581 - 584 are each depicted around a corresponding one of the objects 591 - 594 .
- the bounding shapes 581 - 584 each indicate a subgroup of FMCW LIDAR data that may correspond to a corresponding one of the objects 591 - 594 and, as a result, each indicate a pose of a corresponding one of the objects 591 - 594 .
- Each pose can be a multi-dimensional pose, such as a three-dimensional (3D) pose that indicates position, or a six-dimensional (6D) pose that indicates position as well as orientation.
- the object detection and classification module 154 A can determine the bounding shapes 581 - 584 based on processing of the FMCW LIDAR data utilizing a classification model 170 , and can further determine, utilizing the classification model 170 , a corresponding classification for each of the objects 591 - 594 encompassed by the bounding shapes 581 - 584 .
- bounding shapes are illustrated, it is understood that other bounding shapes can additionally or alternatively be determined and utilized.
- bounding shape 581 encompasses FMCW LIDAR data points that correspond to an additional vehicle 591 .
- Each of the FMCW LIDAR data points within the bounding shape 581 corresponds to the additional vehicle 591 and is indicated with a plus sign (+), which means it has a positive corresponding velocity value (relative to the FMCW LIDAR component 132 of the vehicle 100 ).
- the object detection and classification module 154 A can determine the bounding shape 581 based on processing the FMCW LIDAR data over a classification model 170 , to generate output that indicates neighboring spatial regions that each have a classification probability for vehicle that satisfies a threshold.
- the neighboring spatial regions can conform to the bounding shape 581 , and they indicate the pose for the additional vehicle 591 .
- the velocity module 154 B can determine an instantaneous velocity for the additional vehicle 592 based on the FMCW LIDAR data points encompassed by the bounding shape 581 .
- the velocity module 154 B can determine the instantaneous velocity based on a mean of the velocities indicated by the FMCW LIDAR data encompassed by the bounding shape 581 .
- the velocity module 154 B can determine the instantaneous velocity utilizing a technique that is selected based on the object detection and classification module 154 A determining the classification of vehicle.
- bounding shape 582 encompasses FMCW LIDAR data points that correspond to a tree 592 .
- Each of the FMCW LIDAR data points within the bounding shape 592 corresponds to the tree 592 .
- some of the FMCW LIDAR data points that correspond to the branches and/or foliage of the tree 592 are indicated with a plus sign (+), while others are indicated with a minus sign ( ⁇ ). This can be due to the branches/foliage moving in different directions (e.g., due to wind) and having different directions of velocities.
- Some of the FMCW LIDAR data points that correspond to the trunk of the tree 592 are indicated with a circle ( ⁇ ), which means they have a zero (or near-zero) velocity.
- the object detection and classification module 154 A can determine the bounding shape 582 based on processing the FMCW LIDAR data over the classification model 170 , to generate output that indicates neighboring spatial regions that each have a classification probability for “tree” that satisfies a threshold.
- the neighboring spatial regions can conform to the bounding shape 582 , and they indicate the pose for the tree.
- the velocity module 154 B can skip any determination of an instantaneous velocity for the tree 592 based on its classification as determined by the object detection and classification module 154 A.
- bounding shape 583 encompasses FMCW LIDAR data points that correspond to a pedestrian 593 .
- Each of the FMCW LIDAR data points within the bounding shape 583 corresponds to the pedestrian 593 .
- Some of those are indicated with a plus sign (+), (which means they have a positive corresponding velocity value), while others are indicated with a minus sign ( ⁇ ) (which means they have a negative corresponding velocity value), while yet others are indicated with a circle ( ⁇ ) (which means they have a zero or near-zero corresponding velocity value).
- the object detection and classification module 154 A can determine the bounding shape 583 based on processing the FMCW LIDAR data over a classification model 170 , to generate output that indicates neighboring spatial regions that each have a classification probability for “pedestrian” that satisfies a threshold.
- the neighboring spatial regions can conform to the bounding shape 583 , and they indicate the pose for the pedestrian 593 .
- the velocity module 154 B can optionally determine an instantaneous velocity for the pedestrian 593 based on the FMCW LIDAR data points encompassed by the bounding shape 583 .
- the velocity module 154 B can determine the instantaneous velocity based on a median of the velocities indicated by the FMCW LIDAR data encompassed by the bounding shape 583 . As described, in some implementations the velocity module 154 B can determine the instantaneous velocity utilizing a technique that is selected based on the object detection and classification module 154 A determining the classification of “pedestrian”.
- bounding shape 584 encompasses FMCW LIDAR data points that correspond to a bicyclist 594 .
- Each of the FMCW LIDAR data points within the bounding shape 584 corresponds to the bicyclist 594 .
- Some of those are indicated with a plus sign (+), (which means they have a positive corresponding velocity value), while others are indicated with a minus sign ( ⁇ ).
- the differing velocity directions on the wheels of the bicycle of the bicyclist 594 can be due to the wheels rotation of the wheels.
- the differing velocity directions between the body of the bicyclist 594 and one of the legs of the bicyclist 594 can be due to the one leg moving in an opposite direction due to pedaling of the bicyclist during the sensing cycle.
- the object detection and classification module 154 A can determine the bounding shape 584 based on processing the FMCW LIDAR data over a classification model 170 , to generate output that indicates neighboring spatial regions that each have a classification probability for “bicyclist” that satisfies a threshold.
- the neighboring spatial regions can conform to the bounding shape 584 , and they indicate the pose for the bicyclist 594 .
- the velocity module 154 B can optionally determine an instantaneous velocity for the bicyclist 594 based on the FMCW LIDAR data points encompassed by the bounding shape 584 .
- the velocity module 154 B can determine the instantaneous velocity based on histogram analysis of the velocities indicated by the FMCW LIDAR data encompassed by the bounding shape 584 . As described, in some implementations the velocity module 154 B can determine the instantaneous velocity utilizing a technique that is selected based on the object detection and classification module 154 A determining the classification of “bicyclist”.
- FIG. 6 another example environment of a vehicle is illustrated.
- the environment includes an additional vehicle 691 , and also illustrates three FMCW LIDAR data points 682 A, 682 B, and 682 C that correspond to the additional vehicle 691 .
- the FMCW LIDAR data points can be, for example, from an instance of (e.g., a sensing cycle of) FMCW LIDAR data that is a 3D point cloud, where each of the points of the 3D point cloud indicates a corresponding range (through its position in the 3D point cloud), and includes a corresponding rate/velocity, and optionally a corresponding intensity value.
- additional FMCW LIDAR data points will be provided with the FMCW LIDAR data, such as additional points that correspond to additional environmental objects.
- FMCW LIDAR data points are illustrated in FIG. 6 for simplicity. Moreover, it is understood that additional vehicle 691 will not be rendered in the FMCW LIDAR data as it appears in FIG. 6 , but is illustrated in FIG. 6 for reference purposes. Additionally, it is understood that while FIG. 6 is described with respect to FMCW LIDAR data points, additional or alternative types of FMCW LIDAR data can be utilized in determining poses, classifications, and movement parameters, such as those types of FMCW LIDAR data also described herein.
- the FMCW LIDAR data points 682 A, 682 B, and 682 C in FIG. 6 can be FMCW LIDAR monopulse data points generated by an FMCW LIDAR monopulse component.
- the example of FIG. 6 is one example of where FMCW LIDAR monopulse data points can be particularly beneficial.
- FMCW LIDAR data points of FIG. 5 can also be FMCW LIDAR monopulse data points and can also be beneficial since, for example, it increases the angular accuracy of FMCW LIDAR data for the additional objects that can be utilized in determining poses, classifications, and movement parameters according to implementations disclosed herein.
- Such increased angular accuracy of FMCW LIDAR data can result in more accurate pose, classification, and/or movement parameter determinations in some implementations.
- bounding shape 681 is depicted around the additional vehicle 691 , and indicates a subgroup of FMCW LIDAR data that corresponds to the additional vehicle 691 and, as a result, indicates a pose of the additional vehicle 691 .
- the object detection and classification module 154 A can determine the bounding shape 681 based on processing of the FMCW LIDAR data utilizing a classification model 170 , and can further determine, utilizing the classification model 170 , a classification of vehicle for the object encompassed by bounding shape 681 .
- the velocity module 154 B can determine an instantaneous velocity for the additional vehicle 691 based on the FMCW LIDAR data points 682 A, 682 B, and 682 C.
- the velocity module 154 B can determine the instantaneous velocity based on a largest magnitude of the velocities indicated by the FMCW LIDAR points 682 A, 682 B, and 682 C. In some implementations the velocity module 154 B can determine the instantaneous velocity utilizing the largest magnitude based on the relatively low quantity of FMCW LIDAR data points corresponding to the additional vehicle 691 .
- Poses, classifications, and/or velocities of environmental objects determined according to techniques described herein can be utilized in control of an ego vehicle. Some examples of such adaptation is described with respect to FIGS. 7 A and 7 B , which each illustrate an example of how the vehicle 100 can be autonomously controlled based on such considerations.
- FIG. 7 A illustrates an example of how a candidate trajectory (if any) can be determined for each of a plurality of objects 791 , 792 , and 793 based on classifications of those objects and/or instantaneous velocities for those objects, and how autonomous control of the vehicle 100 can be adapted based on the candidate trajectories.
- a vehicle 791 , a tree 792 , and a bicyclist 793 are illustrated from a birds-eye view.
- the object detection and classification module 154 A can determine corresponding classifications for the vehicle 791 , tree 792 , and bicyclist 793 utilizing techniques described herein.
- the object detection and classification module 154 A can further determine corresponding poses for the vehicle 791 , tree 792 , and bicyclist 793 utilizing techniques described herein.
- the velocity module 154 B can determine an instantaneous velocity for the vehicle 791 and an instantaneous velocity for the bicyclist 793 utilizing techniques described herein.
- the planning subsystem 156 can utilize the pose and the instantaneous velocity of the vehicle 791 to determine a candidate trajectory 791 A of the additional vehicle 791 . Further, the planning subsystem 156 can utilize the pose and the instantaneous velocity of the bicyclist 793 to determine a candidate trajectory 793 A of the bicyclist 793 . It is noted that no candidate trajectory is determined for the tree 792 , as it is of a classification that indicates a static/non-mobile object. Further, it is noted that in various implementations the velocity module 154 B may, based on a determined classification of the tree 792 , not determine any velocity for the tree 792 .
- the planning subsystem 156 can utilize at least the candidate trajectories 791 A and 793 A in determining a trajectory 101 A for the ego vehicle 100 .
- the trajectory 101 A can be determined and implemented over a period of time and represents a straight-line continuation of a current trajectory of the ego vehicle 100 since, as can be appreciated from viewing FIG. 7 A , the candidate trajectories 791 A and 793 A will not cause the objects 791 or 793 to be too proximal to ego vehicle 100 to warrant adapting of the trajectory. Further, tree 792 will not alter the trajectory as it is not in the path of the ego vehicle 100 and its classification indicates that it is non-mobile.
- FIG. 7 B illustrates another example of how a candidate trajectory (if any) can be determined for each of a plurality of objects 791 , 792 , and 794 based on classifications of those objects and/or instantaneous velocities for those objects, and how autonomous control of the vehicle 100 can be adapted based on the candidate trajectories.
- a vehicle 791 , a tree 792 , and a pedestrian 794 are illustrated from a birds-eye view.
- the object detection and classification module 154 A can determine corresponding classifications for the vehicle 791 , tree 792 , and pedestrian 794 utilizing techniques described herein.
- the object detection and classification module 154 A can further determine corresponding poses for the vehicle 791 , tree 792 , and pedestrian 794 utilizing techniques described herein.
- the velocity module 154 B can determine an instantaneous velocity for the vehicle 791 utilizing techniques described herein.
- the velocity module 154 B does not determine an instantaneous velocity for the tree 792 or for the pedestrian 794 .
- the planning subsystem 156 can utilize the pose and the instantaneous velocity of the vehicle 791 to determine a candidate trajectory 791 A of the additional vehicle 791 .
- the trajectory 791 A is the same as that illustrated in FIG. 7 A .
- the planning subsystem 156 can utilize the pose of the pedestrian 794 , and the classification of the pedestrian 794 as a pedestrian to determine a candidate trajectory 794 B of the pedestrian 794 .
- the candidate trajectory 794 B extends in an area around the pedestrian and can be based on, for example, a default maximum velocity for a pedestrian classification and/or a default maximum distance a pedestrian could traverse prior to a next sensing cycle (in which an updated pose of the pedestrian 794 could be determined). It is noted that no candidate trajectory is determined for the tree 792 , as it is of a classification that indicates a static/non-mobile object.
- the planning subsystem 156 can utilize at least the candidate trajectories 791 A and 794 A in determining a trajectory 101 B for the ego vehicle 100 .
- the trajectory 101 B can be determined and implemented over a period of time, and represents a deceleration of the current trajectory of the ego vehicle 100 since, as can be appreciated from viewing FIG. 7 B , the candidate trajectory 794 A of pedestrian 794 may cause the pedestrian to be too proximal to ego vehicle 100 , unless the ego vehicle is decelerated.
- deceleration of the ego vehicle 100 can be chosen in lieu of steering away from the pedestrian 794 in view of the candidate trajectory 791 A (e.g., steering away may cause the vehicle to be too proximal to the candidate trajectory 791 A of the additional vehicle 791 ).
- FIGS. 7 A and 7 B each illustrates control of the ego vehicle 100 at a corresponding given instance based on poses, classifications, and/or movement parameters of environmental objects at the given instance. However, it is understood that control of the ego vehicle 100 will continue at each of a plurality of additional instances based on poses, classifications, and/or movement parameters of environmental objects at each of those additional instances, thereby enabling control of the ego vehicle 100 to be continuously adapted.
- FIG. 8 a flowchart is provided illustrating an example method 800 of determining pose(s) and classification(s) for environmental object(s) based on FMCW LIDAR data, and controlling an autonomous vehicle based on at least some of the pose(s) and classification(s).
- This system may include various components, such as one or more processors of the autonomous vehicle 100 of FIG. 1 .
- operations of method 800 are shown in a particular order, this is not meant to be limiting. One or more operations may be reordered, omitted or added.
- the system receives FMCW LIDAR data from an FMCW LIDAR component of a vehicle.
- the received FMCW LIDAR data at an iteration of block 802 can be a most recent unprocessed (unprocessed using method 800 ) instance of data generated by the FMCW LIDAR component.
- the instance of data can be generated by the FMCW LIDAR component during a sensing cycle and can be received by the system, for example, as part of a stream, as data packet(s), or via accessing shared memory.
- the received FMCW LIDAR data at an iteration of block 802 includes only the most recent unprocessed instance of data generated by the FMCW LIDAR component.
- the received FMCW LIDAR data at an iteration of block 802 also includes one or more prior instances of data generated by the FMCW LIDAR component, such as the most recent N instances of data generated by the FMCW LIDAR component.
- the system generates output based on processing the FMCW LIDAR data, received at block 802 , using at least one classification model.
- the at least one classification model can include a trained neural network model and the generated output can include, for each of a plurality of spatial regions 1-N , a corresponding probability for each of one or more classes.
- each of the spatial regions 1-N of the output can correspond to a portion of the FMCW LIDAR data and, as a result, corresponds to an area of the environment.
- Each of the probabilities of the output for each of the spatial regions corresponds to a classification.
- the output generated using a classification model can indicate, for each of the spatial regions 1-N , a first probability of a vehicle class, a second probability of a pedestrian class, a third probability of a bicyclist class, etc.
- the output generated using a classification model can indicate, for each of the spatial regions 1-N , a corresponding probability for only a single class, such as a vehicle class.
- multiple classification models can be utilized, each being configured to predict probabilities, for spatial regions, for a subset of classes (e.g., only a single class).
- the system determines, based on the output and for each of one or more objects, a pose of the object and a classification for the object. For example, the system can determine, based on output of spatial regions 1-N and corresponding class probabilities, that no objects are present in those spatial regions 1-N whose class probabilities each fail to satisfy a threshold low probability. Also, for example, the system can determine that those spatial regions 1-N having a corresponding class probability that satisfies a threshold high probability likely contain an object of that class. Further, the system can determine clusters of neighboring (directly neighboring or within N (e.g., 1, 2, or 3) spatial regions) spatial regions that have probabilities satisfying a threshold for the same class and determine they correspond to a single object of that class. Yet further, the system can determine the pose of that single object based on those spatial regions. The determined pose can be with reference to the FMCW LIDAR data of block 802 , or with reference to another frame.
- the system controls the vehicle based on the pose(s) and classification(s) for object(s) determined at block 806 .
- the system can generate a trajectory for the vehicle based on one or more of the poses and/or classifications determined at block 806 .
- block 808 includes sub-block 808 A.
- the system determines, for one or more of the objects, a candidate trajectory for the object.
- the system may not determine a candidate trajectory for object(s) of certain class(es), such as objects having a classification that corresponds to an immobile object and/or that corresponds to an object that is mobile but has a relatively slow maximum velocity.
- sub-block 808 A the system can optionally determine a candidate trajectory for an object based on an instantaneous velocity for the object.
- sub-block 808 A can include sub-block 808 B, in which the system determines, for one or more of the objects, an instantaneous velocity based on FMCW LIDAR data that corresponds to the object.
- the system can determine an instantaneous velocity for an object based on the velocities indicated by the FMCW LIDAR data (received at block 802 ) that correspond to the object.
- the pose of the object (determined at block 806 ) can be utilized to select a subgroup of FMCW LIDAR data that corresponds to the object, and the instantaneous velocity determined based on the velocities indicated by the FMCW LIDAR data of the subgroup.
- the system can select a particular technique for determining an instantaneous velocity of an object, from a plurality of candidate techniques, based on the determined classification for the object, the determined pose for the object, and/or based on the quantity of FMCW LIDAR data that is available for the object.
- the system can optionally determine a candidate trajectory for an object based on its classification, and without reference to any instantaneous velocity for the object. For example, for an object of a pedestrian classification a candidate trajectory can be determined based on a default maximum instantaneous velocity for a pedestrian.
- block 808 includes sub-block 808 A (and optionally sub-block 808 B)
- the system can generate the trajectory for the vehicle based on one or more of the candidate trajectories generated at sub-block 808 A (which are based on poses and/or classifications determined at block 806 ).
- the system proceeds back to block 802 , where it receives new FMCW LIDAR data (e.g., the most recently generated data that has not yet been processed using method 800 ), and then proceeds to perform another iteration of blocks 802 , 804 , 806 , and 808 .
- new FMCW LIDAR data e.g., the most recently generated data that has not yet been processed using method 800
- a next iteration of block(s) 802 , 804 , and/or 806 can be performed in parallel with a prior iteration of one or more subsequent blocks (e.g., via multiple processor(s) and/or threads).
- poses and classifications for environmental objects can be continuously determined to reflect changing environmental parameters, and the vehicle continuously autonomously controlled based on such determinations.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Optics & Photonics (AREA)
- Mathematical Physics (AREA)
- Optical Radar Systems And Details Thereof (AREA)
- Traffic Control Systems (AREA)
Abstract
Description
Claims (25)
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/173,648 US11550061B2 (en) | 2018-04-11 | 2018-10-29 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
CN201980024172.3A CN112041702B (en) | 2018-04-11 | 2019-03-28 | Control of autonomous vehicles based on environmental object classification determined using phase-coherent LIDAR data |
KR1020207031846A KR102481638B1 (en) | 2018-04-11 | 2019-03-28 | Autonomous vehicle control based on classification of environmental objects determined using phase-coherent lidar data |
EP19744897.0A EP3775997A2 (en) | 2018-04-11 | 2019-03-28 | Control of autonomous vehicle based on environmental object classification determined using phase coherent lidar data |
CN202410607155.5A CN118444330A (en) | 2018-04-11 | 2019-03-28 | Control of autonomous vehicles based on environmental object classification determined using phase-coherent LIDAR data |
CN202410602846.6A CN118465788A (en) | 2018-04-11 | 2019-03-28 | Control of autonomous vehicles based on environmental object classification determined using phase-coherent LIDAR data |
PCT/US2019/024671 WO2019199473A2 (en) | 2018-04-11 | 2019-03-28 | Control of autonomous vehicle based on environmental object classification determined using phase coherent lidar data |
US18/092,118 US11933902B2 (en) | 2018-04-11 | 2022-12-30 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
US18/415,049 US20240192378A1 (en) | 2018-04-11 | 2024-01-17 | Control of Autonomous Vehicle Based on Environmental Object Classification Determined Using Phase Coherent LIDAR Data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862655963P | 2018-04-11 | 2018-04-11 | |
US16/173,648 US11550061B2 (en) | 2018-04-11 | 2018-10-29 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/092,118 Continuation US11933902B2 (en) | 2018-04-11 | 2022-12-30 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190317219A1 US20190317219A1 (en) | 2019-10-17 |
US11550061B2 true US11550061B2 (en) | 2023-01-10 |
Family
ID=68161505
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/173,648 Active 2041-08-12 US11550061B2 (en) | 2018-04-11 | 2018-10-29 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
US18/092,118 Active US11933902B2 (en) | 2018-04-11 | 2022-12-30 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
US18/415,049 Pending US20240192378A1 (en) | 2018-04-11 | 2024-01-17 | Control of Autonomous Vehicle Based on Environmental Object Classification Determined Using Phase Coherent LIDAR Data |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/092,118 Active US11933902B2 (en) | 2018-04-11 | 2022-12-30 | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
US18/415,049 Pending US20240192378A1 (en) | 2018-04-11 | 2024-01-17 | Control of Autonomous Vehicle Based on Environmental Object Classification Determined Using Phase Coherent LIDAR Data |
Country Status (5)
Country | Link |
---|---|
US (3) | US11550061B2 (en) |
EP (1) | EP3775997A2 (en) |
KR (1) | KR102481638B1 (en) |
CN (3) | CN112041702B (en) |
WO (1) | WO2019199473A2 (en) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4283252A1 (en) | 2016-11-29 | 2023-11-29 | Blackmore Sensors & Analytics, LLC | Method and system for classification of an object in a point cloud data set |
WO2018125438A2 (en) | 2016-11-30 | 2018-07-05 | Blackmore Sensors and Analytics Inc. | Method and system for adaptive scanning with optical ranging systems |
KR102399757B1 (en) | 2016-11-30 | 2022-05-18 | 블랙모어 센서스 앤드 애널리틱스, 엘엘씨 | Method and system for doppler detection and doppler correction of optical chirped range detection |
JP6876796B2 (en) | 2016-11-30 | 2021-05-26 | ブラックモア センサーズ アンド アナリティクス エルエルシー | Methods and systems for automatic real-time adaptive scanning with an optical rangefinder |
US10422880B2 (en) | 2017-02-03 | 2019-09-24 | Blackmore Sensors and Analytics Inc. | Method and system for doppler detection and doppler correction of optical phase-encoded range detection |
US10401495B2 (en) | 2017-07-10 | 2019-09-03 | Blackmore Sensors and Analytics Inc. | Method and system for time separated quadrature detection of doppler effects in optical range measurements |
US10468062B1 (en) * | 2018-04-03 | 2019-11-05 | Zoox, Inc. | Detecting errors in sensor data |
US11550061B2 (en) * | 2018-04-11 | 2023-01-10 | Aurora Operations, Inc. | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data |
US10676085B2 (en) | 2018-04-11 | 2020-06-09 | Aurora Innovation, Inc. | Training machine learning model based on training instances with: training instance input based on autonomous vehicle sensor data, and training instance output based on additional vehicle sensor data |
WO2019209727A1 (en) * | 2018-04-23 | 2019-10-31 | Blackmore Sensors and Analytics Inc. | Method and system for controlling autonomous vehicle using coherent range doppler optical sensors |
US11827241B2 (en) * | 2018-10-29 | 2023-11-28 | Motional Ad Llc | Adjusting lateral clearance for a vehicle using a multi-dimensional envelope |
US11403492B2 (en) | 2018-11-02 | 2022-08-02 | Aurora Operations, Inc. | Generating labeled training instances for autonomous vehicles |
US11209821B2 (en) | 2018-11-02 | 2021-12-28 | Aurora Operations, Inc. | Labeling autonomous vehicle data |
US11256263B2 (en) | 2018-11-02 | 2022-02-22 | Aurora Operations, Inc. | Generating targeted training instances for autonomous vehicles |
US11086319B2 (en) | 2018-11-02 | 2021-08-10 | Aurora Operations, Inc. | Generating testing instances for autonomous vehicles |
US11829143B2 (en) | 2018-11-02 | 2023-11-28 | Aurora Operations, Inc. | Labeling autonomous vehicle data |
US11822010B2 (en) | 2019-01-04 | 2023-11-21 | Blackmore Sensors & Analytics, Llc | LIDAR system |
US11828848B2 (en) * | 2019-03-14 | 2023-11-28 | Aeva, Inc. | Velocity estimation using doppler per point LiDAR systems |
US11618502B2 (en) * | 2019-03-28 | 2023-04-04 | Volkswagen Aktiengesellschaft | On-road localization methodologies and equipment utilizing road surface characteristics |
US11153010B2 (en) * | 2019-07-02 | 2021-10-19 | Waymo Llc | Lidar based communication |
US10838061B1 (en) | 2019-07-16 | 2020-11-17 | Blackmore Sensors & Analytics, LLC. | Method and system for enhanced velocity resolution and signal to noise ratio in optical phase-encoded range detection |
US11022972B2 (en) * | 2019-07-31 | 2021-06-01 | Bell Textron Inc. | Navigation system with camera assist |
US11148663B2 (en) * | 2019-10-02 | 2021-10-19 | Ford Global Technologies, Llc | Enhanced collision mitigation |
JP7351706B2 (en) * | 2019-10-15 | 2023-09-27 | 株式会社Soken | object tracking device |
US11407431B2 (en) * | 2019-11-22 | 2022-08-09 | Samsung Electronics Co., Ltd. | System and method for object trajectory prediction in an autonomous scenario |
DE102020104385A1 (en) | 2020-02-19 | 2021-08-19 | OSRAM Opto Semiconductors Gesellschaft mit beschränkter Haftung | LASER SYSTEM AND OPERATING PROCEDURES FOR A LASER SYSTEM |
CN115461258B (en) * | 2020-02-21 | 2023-09-05 | 蓝色空间人工智能公司 | Method for object avoidance during autonomous navigation |
US11703599B2 (en) * | 2020-05-15 | 2023-07-18 | Baidu Usa Llc | Partial point cloud-based pedestrians' velocity estimation method |
JP7409234B2 (en) * | 2020-06-12 | 2024-01-09 | 株式会社デンソー | object recognition device |
CN111781608B (en) * | 2020-07-03 | 2023-04-25 | 浙江光珀智能科技有限公司 | Moving target detection method and system based on FMCW laser radar |
US20220011438A1 (en) * | 2020-07-10 | 2022-01-13 | Xin Jin | Multi-domain optical sensor chip and apparatus |
US11635500B2 (en) | 2020-09-04 | 2023-04-25 | Ours Technology, Llc | Lidar phase noise cancellation system |
US20220128995A1 (en) | 2020-10-22 | 2022-04-28 | Waymo Llc | Velocity estimation and object tracking for autonomous vehicle applications |
US11841439B2 (en) * | 2020-11-02 | 2023-12-12 | Waymo Llc | Point cloud segmentation using a coherent lidar for autonomous vehicle applications |
US20220135074A1 (en) * | 2020-11-02 | 2022-05-05 | Waymo Llc | Classification of objects based on motion patterns for autonomous vehicle applications |
US12050267B2 (en) | 2020-11-09 | 2024-07-30 | Waymo Llc | Doppler-assisted object mapping for autonomous vehicle applications |
US11702102B2 (en) * | 2020-11-19 | 2023-07-18 | Waymo Llc | Filtering return points in a point cloud based on radial velocity measurement |
US11656629B1 (en) | 2020-12-08 | 2023-05-23 | Waymo Llc | Detection of particulate matter in autonomous vehicle applications |
EP4030188B1 (en) * | 2021-01-15 | 2022-12-07 | Sick Ag | Device and method for securing a surveillance area |
TW202242447A (en) * | 2021-03-10 | 2022-11-01 | 美商新飛通光電公司 | Optical chip, optical imaging device, optical array, rapid optical imager, high resolution optical imager, method for real time image scanning, and method for tracking image evolution |
US20230005362A1 (en) * | 2021-07-02 | 2023-01-05 | Aptiv Technologies Limited | Accuracy of Predictions on Radar Data using Vehicle-to-Vehicle Technology |
US11960292B2 (en) * | 2021-07-28 | 2024-04-16 | Argo AI, LLC | Method and system for developing autonomous vehicle training simulations |
WO2023129479A1 (en) * | 2021-12-31 | 2023-07-06 | Aeva, Inc. | Techniques for point cloud frame accumulation in fmcw lidar |
US20230242149A1 (en) * | 2022-01-31 | 2023-08-03 | Zoox, Inc. | Radar object classification based on radar cross-section data |
US12130363B2 (en) | 2022-02-03 | 2024-10-29 | Aurora Operations, Inc. | LIDAR system |
US11693101B1 (en) * | 2022-09-26 | 2023-07-04 | Aeva, Inc. | Techniques for target orientation estimation |
Citations (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3987297A (en) | 1975-06-09 | 1976-10-19 | United Technologies Corporation | Monopulse optical receiver system |
US6175799B1 (en) | 1998-05-01 | 2001-01-16 | Nissan Motor Co., Ltd. | Apparatus and method for automatically controlling vehicular velocity |
EP1298454A2 (en) | 2001-09-28 | 2003-04-02 | IBEO Automobile Sensor GmbH | Method for recognising and tracking objects |
EP1531343A1 (en) | 2003-11-14 | 2005-05-18 | IBEO Automobile Sensor GmbH | Method for tracking objects |
US20100052945A1 (en) | 1997-10-22 | 2010-03-04 | Intelligent Technologies International, Inc. | Vehicular Communication Arrangement and Method |
US20100198513A1 (en) | 2009-02-03 | 2010-08-05 | Gm Global Technology Operations, Inc. | Combined Vehicle-to-Vehicle Communication and Object Detection Sensing |
US20130190982A1 (en) * | 2012-01-25 | 2013-07-25 | Denso Corporation | Lane departure control system |
WO2014168851A1 (en) | 2013-04-11 | 2014-10-16 | Google Inc. | Methods and systems for detecting weather conditions using vehicle onboard sensors |
US20140324266A1 (en) * | 2013-04-30 | 2014-10-30 | Google Inc. | Methods and Systems for Detecting Weather Conditions Including Fog Using Vehicle Onboard Sensors |
US20140350768A1 (en) | 2005-10-21 | 2014-11-27 | Deere & Company | Versatile robotic control module |
US20140368493A1 (en) | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Object removal using lidar-based classification |
US20150112550A1 (en) * | 2013-10-17 | 2015-04-23 | Hyundai Motor Company | Suspension control system and method thereof |
US9020680B2 (en) | 2012-03-05 | 2015-04-28 | Volvo Car Corporation | Travel direction determination method and system |
US20160299228A1 (en) | 2015-04-07 | 2016-10-13 | Oewaves, Inc. | Compact LIDAR System |
US20170076227A1 (en) * | 2014-03-03 | 2017-03-16 | Inrix Inc., | Traffic obstruction detection |
US9606539B1 (en) | 2015-11-04 | 2017-03-28 | Zoox, Inc. | Autonomous vehicle fleet service and system |
US20170123419A1 (en) | 2015-11-04 | 2017-05-04 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
US9734455B2 (en) | 2015-11-04 | 2017-08-15 | Zoox, Inc. | Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles |
US20170270361A1 (en) * | 2016-03-15 | 2017-09-21 | Solfice Research, Inc. | Systems and methods for providing vehicle cognition |
EP3285230A1 (en) | 2016-08-19 | 2018-02-21 | Autoliv Development AB | Enhanced object detection and motion estimation for a vehicle environment detection system |
US20180053102A1 (en) | 2016-08-16 | 2018-02-22 | Toyota Jidosha Kabushiki Kaisha | Individualized Adaptation of Driver Action Prediction Models |
US20180060725A1 (en) | 2016-08-26 | 2018-03-01 | Ford Global Technologies, Llc | Physics Modeling for Radar and Ultrasonic Sensors |
WO2018055378A1 (en) | 2016-09-21 | 2018-03-29 | Oxford University Innovation Limited | Autonomous route determination |
US20180089538A1 (en) | 2016-09-29 | 2018-03-29 | The Charles Stark Draper Laboratory, Inc. | Autonomous vehicle: object-level fusion |
US9940834B1 (en) | 2016-01-22 | 2018-04-10 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US10007269B1 (en) | 2017-06-23 | 2018-06-26 | Uber Technologies, Inc. | Collision-avoidance system for autonomous-capable vehicle |
US20180188037A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Occupancy Map Updates Based on Sensor Data Collected by Autonomous Vehicles |
US20180260628A1 (en) | 2017-03-13 | 2018-09-13 | Fanuc Corporation | Apparatus and method for image processing to calculate likelihood of image of target object detected from input image |
US20180307944A1 (en) | 2017-04-24 | 2018-10-25 | Baidu Usa Llc | Automatically collecting training data for object recognition with 3d lidar and localization |
US20190012907A1 (en) | 2016-03-16 | 2019-01-10 | Panasonic Intellectual Property Management Co., Ltd. | Driving analysis device and driving behavior analysis system |
US20190120967A1 (en) * | 2017-10-19 | 2019-04-25 | Gerard Dirk Smits | Methods and systems for navigating a vehicle including a novel fiducial marker system |
EP3477616A1 (en) | 2017-10-27 | 2019-05-01 | Sigra Technologies GmbH | Method for controlling a vehicle using a machine learning system |
US20190164049A1 (en) | 2017-11-29 | 2019-05-30 | Honda Motor Co., Ltd. | System and method for providing road user classification training using a vehicle communications network |
US20190302269A1 (en) | 2018-04-03 | 2019-10-03 | GM Global Technology Operations LLC | Optical amplifier in return path of coherent lidar system |
WO2019199473A2 (en) | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Control of autonomous vehicle based on environmental object classification determined using phase coherent lidar data |
US20190317217A1 (en) * | 2017-01-03 | 2019-10-17 | Innoviz Technologies Ltd. | Classifying objects with additional measurements |
US20190318206A1 (en) * | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Training Machine Learning Model Based On Training Instances With: Training Instance Input Based On Autonomous Vehicle Sensor Data, and Training Instance Output Based On Additional Vehicle Sensor Data |
WO2020091833A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Labeling autonomous vehicle data |
US20200142409A1 (en) * | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Generating Testing Instances for Autonomous Vehicles |
WO2020091834A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Generating targeted training instances for autonomous vehicles |
US20200210777A1 (en) * | 2018-11-02 | 2020-07-02 | Aurora Innovation, Inc. | Generating Labeled Training Instances for Autonomous Vehicles |
US20200209867A1 (en) | 2018-11-02 | 2020-07-02 | Aurora Innovation, Inc. | Labeling Autonomous Vehicle Data |
US10915101B2 (en) | 2018-02-02 | 2021-02-09 | Uatc, Llc | Context-dependent alertness monitor in an autonomous vehicle |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815250A (en) * | 1997-05-27 | 1998-09-29 | Coherent Technologies, Inc. | Doublet pulse coherent laser radar for precision range and velocity measurements |
US7505488B2 (en) * | 2001-09-28 | 2009-03-17 | Raytheon Company | Synthetic aperture ladar with chirped modelocked waveform |
CN103733538A (en) | 2011-04-14 | 2014-04-16 | 诺基亚西门子网络公司 | Joint transmission CoMP with single carrier cell aggregation |
US9025140B2 (en) * | 2013-05-07 | 2015-05-05 | Google Inc. | Methods and systems for detecting weather conditions including sunlight using vehicle onboard sensors |
KR20160093465A (en) * | 2015-01-29 | 2016-08-08 | 엘지전자 주식회사 | Radar apparatus for vehicle, Driver assistance apparatus, Vehicle and Operating Method of radar apparatus for vehicle |
EP3144696A1 (en) * | 2015-09-15 | 2017-03-22 | Delphi Technologies, Inc. | Radar system for automated vehicle with phase change based target categorization |
WO2019040866A2 (en) * | 2017-08-25 | 2019-02-28 | The Board Of Trustees Of The University Of Illinois | Apparatus and method for agricultural data collection and agricultural operations |
-
2018
- 2018-10-29 US US16/173,648 patent/US11550061B2/en active Active
-
2019
- 2019-03-28 CN CN201980024172.3A patent/CN112041702B/en active Active
- 2019-03-28 EP EP19744897.0A patent/EP3775997A2/en active Pending
- 2019-03-28 WO PCT/US2019/024671 patent/WO2019199473A2/en unknown
- 2019-03-28 CN CN202410607155.5A patent/CN118444330A/en active Pending
- 2019-03-28 KR KR1020207031846A patent/KR102481638B1/en active IP Right Grant
- 2019-03-28 CN CN202410602846.6A patent/CN118465788A/en active Pending
-
2022
- 2022-12-30 US US18/092,118 patent/US11933902B2/en active Active
-
2024
- 2024-01-17 US US18/415,049 patent/US20240192378A1/en active Pending
Patent Citations (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3987297A (en) | 1975-06-09 | 1976-10-19 | United Technologies Corporation | Monopulse optical receiver system |
US20100052945A1 (en) | 1997-10-22 | 2010-03-04 | Intelligent Technologies International, Inc. | Vehicular Communication Arrangement and Method |
US6175799B1 (en) | 1998-05-01 | 2001-01-16 | Nissan Motor Co., Ltd. | Apparatus and method for automatically controlling vehicular velocity |
EP1298454A2 (en) | 2001-09-28 | 2003-04-02 | IBEO Automobile Sensor GmbH | Method for recognising and tracking objects |
EP1531343A1 (en) | 2003-11-14 | 2005-05-18 | IBEO Automobile Sensor GmbH | Method for tracking objects |
US20140350768A1 (en) | 2005-10-21 | 2014-11-27 | Deere & Company | Versatile robotic control module |
US20100198513A1 (en) | 2009-02-03 | 2010-08-05 | Gm Global Technology Operations, Inc. | Combined Vehicle-to-Vehicle Communication and Object Detection Sensing |
US20130190982A1 (en) * | 2012-01-25 | 2013-07-25 | Denso Corporation | Lane departure control system |
US9020680B2 (en) | 2012-03-05 | 2015-04-28 | Volvo Car Corporation | Travel direction determination method and system |
WO2014168851A1 (en) | 2013-04-11 | 2014-10-16 | Google Inc. | Methods and systems for detecting weather conditions using vehicle onboard sensors |
US20140324266A1 (en) * | 2013-04-30 | 2014-10-30 | Google Inc. | Methods and Systems for Detecting Weather Conditions Including Fog Using Vehicle Onboard Sensors |
US20140368493A1 (en) | 2013-06-14 | 2014-12-18 | Microsoft Corporation | Object removal using lidar-based classification |
US20150112550A1 (en) * | 2013-10-17 | 2015-04-23 | Hyundai Motor Company | Suspension control system and method thereof |
US20170076227A1 (en) * | 2014-03-03 | 2017-03-16 | Inrix Inc., | Traffic obstruction detection |
US20160299228A1 (en) | 2015-04-07 | 2016-10-13 | Oewaves, Inc. | Compact LIDAR System |
US9606539B1 (en) | 2015-11-04 | 2017-03-28 | Zoox, Inc. | Autonomous vehicle fleet service and system |
US20170123419A1 (en) | 2015-11-04 | 2017-05-04 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
US9734455B2 (en) | 2015-11-04 | 2017-08-15 | Zoox, Inc. | Automated extraction of semantic information to enhance incremental mapping modifications for robotic vehicles |
US20180136644A1 (en) | 2015-11-04 | 2018-05-17 | Zoox, Inc. | Machine learning systems and techniques to optimize teleoperation and/or planner decisions |
US9940834B1 (en) | 2016-01-22 | 2018-04-10 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle application |
US20170270361A1 (en) * | 2016-03-15 | 2017-09-21 | Solfice Research, Inc. | Systems and methods for providing vehicle cognition |
US20190012907A1 (en) | 2016-03-16 | 2019-01-10 | Panasonic Intellectual Property Management Co., Ltd. | Driving analysis device and driving behavior analysis system |
US20180053102A1 (en) | 2016-08-16 | 2018-02-22 | Toyota Jidosha Kabushiki Kaisha | Individualized Adaptation of Driver Action Prediction Models |
EP3285230A1 (en) | 2016-08-19 | 2018-02-21 | Autoliv Development AB | Enhanced object detection and motion estimation for a vehicle environment detection system |
US20190180451A1 (en) * | 2016-08-19 | 2019-06-13 | Dominik Kellner | Enhanced object detection and motion estimation for a vehicle environment detection system |
US20180060725A1 (en) | 2016-08-26 | 2018-03-01 | Ford Global Technologies, Llc | Physics Modeling for Radar and Ultrasonic Sensors |
WO2018055378A1 (en) | 2016-09-21 | 2018-03-29 | Oxford University Innovation Limited | Autonomous route determination |
US20180089538A1 (en) | 2016-09-29 | 2018-03-29 | The Charles Stark Draper Laboratory, Inc. | Autonomous vehicle: object-level fusion |
US20180188037A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Occupancy Map Updates Based on Sensor Data Collected by Autonomous Vehicles |
US20190317217A1 (en) * | 2017-01-03 | 2019-10-17 | Innoviz Technologies Ltd. | Classifying objects with additional measurements |
US20180260628A1 (en) | 2017-03-13 | 2018-09-13 | Fanuc Corporation | Apparatus and method for image processing to calculate likelihood of image of target object detected from input image |
US20180307944A1 (en) | 2017-04-24 | 2018-10-25 | Baidu Usa Llc | Automatically collecting training data for object recognition with 3d lidar and localization |
US10007269B1 (en) | 2017-06-23 | 2018-06-26 | Uber Technologies, Inc. | Collision-avoidance system for autonomous-capable vehicle |
US20190120967A1 (en) * | 2017-10-19 | 2019-04-25 | Gerard Dirk Smits | Methods and systems for navigating a vehicle including a novel fiducial marker system |
EP3477616A1 (en) | 2017-10-27 | 2019-05-01 | Sigra Technologies GmbH | Method for controlling a vehicle using a machine learning system |
US20190164049A1 (en) | 2017-11-29 | 2019-05-30 | Honda Motor Co., Ltd. | System and method for providing road user classification training using a vehicle communications network |
US10915101B2 (en) | 2018-02-02 | 2021-02-09 | Uatc, Llc | Context-dependent alertness monitor in an autonomous vehicle |
US20190302269A1 (en) | 2018-04-03 | 2019-10-03 | GM Global Technology Operations LLC | Optical amplifier in return path of coherent lidar system |
US10676085B2 (en) | 2018-04-11 | 2020-06-09 | Aurora Innovation, Inc. | Training machine learning model based on training instances with: training instance input based on autonomous vehicle sensor data, and training instance output based on additional vehicle sensor data |
US20190317219A1 (en) * | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Control of Autonomous Vehicle Based on Environmental Object Classification Determined Using Phase Coherent LIDAR Data |
WO2019199475A2 (en) | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Training machine learning model based on training instances with: training instance input based on autonomous vehicle sensor data, and training instance output based on additional vehicle sensor data |
WO2019199474A1 (en) | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Control of autonomous vehicle based on determined yaw parameter(s) of additional vehicle |
US20190315351A1 (en) | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Control Of Autonomous Vehicle Based On Determined Yaw Parameter(s) of Additional Vehicle |
US20210146932A1 (en) | 2018-04-11 | 2021-05-20 | Aurora Innovation, Inc. | Control Of Autonomous Vehicle Based On Determined Yaw Parameter(s) of Additional Vehicle |
WO2019199473A2 (en) | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Control of autonomous vehicle based on environmental object classification determined using phase coherent lidar data |
US10906536B2 (en) | 2018-04-11 | 2021-02-02 | Aurora Innovation, Inc. | Control of autonomous vehicle based on determined yaw parameter(s) of additional vehicle |
CN112041702A (en) | 2018-04-11 | 2020-12-04 | 欧若拉创新公司 | Control of autonomous vehicles based on environmental object classification determined using phase-coherent LIDAR data |
US20190318206A1 (en) * | 2018-04-11 | 2019-10-17 | Aurora Innovation, Inc. | Training Machine Learning Model Based On Training Instances With: Training Instance Input Based On Autonomous Vehicle Sensor Data, and Training Instance Output Based On Additional Vehicle Sensor Data |
WO2020091835A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Generating testing instances for autonomous vehicles |
US20200142422A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Generating Targeted Training Instances for Autonomous Vehicles |
US20200210777A1 (en) * | 2018-11-02 | 2020-07-02 | Aurora Innovation, Inc. | Generating Labeled Training Instances for Autonomous Vehicles |
US20200209867A1 (en) | 2018-11-02 | 2020-07-02 | Aurora Innovation, Inc. | Labeling Autonomous Vehicle Data |
WO2020091834A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Generating targeted training instances for autonomous vehicles |
US20200142409A1 (en) * | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Generating Testing Instances for Autonomous Vehicles |
US20200142408A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Labeling Autonomous Vehicle Data |
WO2020091833A1 (en) | 2018-11-02 | 2020-05-07 | Aurora Innovation, Inc. | Labeling autonomous vehicle data |
US11086319B2 (en) | 2018-11-02 | 2021-08-10 | Aurora Operations, Inc. | Generating testing instances for autonomous vehicles |
Non-Patent Citations (31)
Title |
---|
Barth, Alexander et al.; Where Will the Oncoming Vehicle be the Next Second? 2008 IEEE Intelligent Vehicles Symposium, Eindhoven University of Technology, Eindhoven, The Netherlands, Jun. 4-6, 2008, 6 pages, Downloaded on Jun. 18, 2010. |
Bojarski, et al.; End to End Learning for Self-Driving Cars, Apr. 25, 2016. |
Carlson, Christopher R., et al.; Practical Position and Yaw Rate Estimation with GPS and Differential Wheelspeeds, Mechanical Engineering, Standford, CA, 8 pages, Oct. 30, 2014. |
Chinese Application No. 201980024172.3 entered national stage Sep. 30, 2020. |
Chinese Application No. 201980024410.0 entered national stage Sep. 30, 2020. |
Cortica Automotive; It's Not Enough to Recognize A Traffic Light 99% of the Time, http://www.cortica.com/automotive/index.html, Jun. 5, 2018. |
Desjardins, C. et al.; Cooperative Adaptive Cruise Control: A Reinforcement Learning Approach; IEEEE, vol. 12, No. 4; pp. 1248-1260; dated Dec. 2011. |
Dresner, et al.; A Multiagent Approach to Autonomous Intersection Management, Journal of Artificial Intelligence Research 31 (2008) 591-656, Mar. 2008. |
Dresner, Kurt, et al.; Stone P. (2006) Multiagent Traffic Management: Opportunities for Multiagent Learning. In: Tuyls K., Hoen P.J., Verbeeck K., Sen S. (eds) Learning and Adaption in Multi-Agent Systems. LAMAS 2005. Lecture Notes in Computer Science, vol. 3898. Springer, Berlin, Heidelberg. |
European Patent App. No. 19722966.9 entered national stage Nov. 9, 2020. |
European Patent App. No. 19744897.0 entered national stage Nov. 9, 2020. |
International Searching Authority; International Search Report and Written Opinion of the International Searching Authority of PCT application No. PCT/US2019/024671; 14 pages; dated Oct. 11, 2019. |
Japanese Patent App. No. 2020-555890 entered national stage Oct. 7, 2020. |
Kellner, Dominik, et al.; Instantaneous Full-Motion Estimation of Arbitrary Objects using Dual Doppler Radar, driveU, Institute of Measurement, Control and Microtechnology Ulm, Germany, 6 pages, Jun. 29, 2016. |
Kellner, Dominik, et al.; Tracking of Extended Objects with High-Resolution Doppler Radar, driveU, Institute of Measurement, Control and Microtechnology Ulm, Germany, 13 pages, Nov. 23, 2015. |
Khuon, Timothy et al.: "Distributed adaptive spectral and spatial sensor fusion for super-resolution classification", Applied Imagery Pattern Recognition Workshop (AIPR), 2012 IEEE, IEEE, pp. 1-8, XP032422650; dated Oct. 9, 2012. |
Korean Intellectual Property Office, Notice of Preliminary Rejection in app. No. 10-2020-7031853 dated Feb. 21, 2022. |
Korean Patent App. No. 10-10-10-2020-7031853 entered national stage Nov. 4, 2020. |
Korean Patent App. No. 10-10-2020-7031846 entered national stage Nov. 4, 2020. |
Michels, Jeff, et al.; High Speed Obstacle Avoidance using Monocular Vision and Reinforcement Learning, Computer Science Department, Stanford University, Proceedings of the 22nd International Conference on Machine Learning, Bonn, Germany, 2005. |
Mukhtar, Amir, et al.; Vehicle Detection Techniques for Collision Avoidance Systems: A Review, IEEE Transactions on Intelligent Transportation Systems, vol. 16, No. 5, 21 pages, Oct. 2015. |
Pongpunwattana, Anawat, et al.; (2004). Real-Time Planning for Multiple Autonomous Vehicles in Dynamic Uncertain Environments. Journal of Aerospace Computing Information and Communication—J Aerosp Comput Inf Commun. 1. 580-604. 10.2514/1.12919. |
Roderick, Norman, et al. (2002); Reinforcement Learning for Autonomous Vehicles. |
TIMOTHY KHUON ; ROBERT RAND ; JOHN GREER ; ERIC TRUSLOW: "Distributed adaptive spectral and spatial sensor fusion for super-resolution classification", APPLIED IMAGERY PATTERN RECOGNITION WORKSHOP (AIPR), 2012 IEEE, IEEE, 9 October 2012 (2012-10-09), pages 1 - 8, XP032422650, ISBN: 978-1-4673-4558-3, DOI: 10.1109/AIPR.2012.6528194 |
United States Patent and Trademark Office, Notice of Allowance for U.S. Appl. No. 16/173,660 dated Nov. 27, 2020. |
United States Patent and Trademark Office, Notice of Allowance for U.S. Appl. No. 16/173,660 dated Oct. 15, 2020. |
United States Patent and Trademark Office, Notice of Allowance for U.S. Appl. No. 16/173,669 dated Mar. 25, 2020. |
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 16/173,660 dated Jun. 24, 2020. |
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 16/173,669 dated Jan. 14, 2020. |
United States Patent and Trademark Office, Office Action for U.S. Appl. No. 16/271,401 dated Nov. 27, 2020. |
Ye, H. et al.: Machine LEarning for Vehicular Networks: Recent Advances and Application Examples; IEEE, vol. 13, No. 2; pp. 94-101; dated Jun. 1, 2018. |
Also Published As
Publication number | Publication date |
---|---|
WO2019199473A2 (en) | 2019-10-17 |
CN112041702B (en) | 2024-05-31 |
US20240192378A1 (en) | 2024-06-13 |
EP3775997A2 (en) | 2021-02-17 |
CN118465788A (en) | 2024-08-09 |
KR102481638B1 (en) | 2022-12-27 |
KR20200139779A (en) | 2020-12-14 |
US20230133611A1 (en) | 2023-05-04 |
WO2019199473A3 (en) | 2019-11-21 |
CN112041702A (en) | 2020-12-04 |
US20190317219A1 (en) | 2019-10-17 |
US11933902B2 (en) | 2024-03-19 |
CN118444330A (en) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11933902B2 (en) | Control of autonomous vehicle based on environmental object classification determined using phase coherent LIDAR data | |
US11964663B2 (en) | Control of autonomous vehicle based on determined yaw parameter(s) of additional vehicle | |
US9910442B2 (en) | Occluded area detection with static obstacle maps | |
CN109307869B (en) | Device and lighting arrangement for increasing the field of view of a lidar detector | |
US10620634B2 (en) | Vehicle interface for autonomous vehicle | |
US11774583B2 (en) | Methods and systems for filtering vehicle self-reflections in radar | |
US11693110B2 (en) | Systems and methods for radar false track mitigation with camera | |
WO2022051263A1 (en) | Localization methods and architectures for an autonomous vehicle | |
US20230194676A1 (en) | Two-Step Return Calibration for Lidar Cross-Talk Mitigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: AURORA INNOVATION, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANDERSON, STERLING J.;BAGNELL, JAMES ANDREW;NABBE, BARTHOLOMEUS C.;AND OTHERS;SIGNING DATES FROM 20180427 TO 20180530;REEL/FRAME:047708/0339 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: AURORA INNOVATION OPCO, INC., CALIFORNIA Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:AVIAN U MERGER SUB CORP.;AURORA INNOVATION, INC.;REEL/FRAME:056712/0669 Effective date: 20210119 Owner name: AURORA OPERATIONS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:AURORA INNOVATION OPCO, INC.;REEL/FRAME:056712/0676 Effective date: 20210408 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |