US20230347881A9 - Proactive Risk Mitigation - Google Patents
Proactive Risk Mitigation Download PDFInfo
- Publication number
- US20230347881A9 US20230347881A9 US17/377,657 US202117377657A US2023347881A9 US 20230347881 A9 US20230347881 A9 US 20230347881A9 US 202117377657 A US202117377657 A US 202117377657A US 2023347881 A9 US2023347881 A9 US 2023347881A9
- Authority
- US
- United States
- Prior art keywords
- vehicle
- hazard
- constraint
- lateral
- trajectory
- 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.)
- Granted
Links
- 238000013349 risk mitigation Methods 0.000 title description 13
- 239000000872 buffer Substances 0.000 claims abstract description 46
- 230000000116 mitigating effect Effects 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 61
- 230000001133 acceleration Effects 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 17
- 230000001965 increasing effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 79
- 230000003068 static effect Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 31
- 230000008859 change Effects 0.000 description 16
- 238000005457 optimization Methods 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 11
- 230000015572 biosynthetic process Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 10
- 230000007704 transition Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 9
- 230000004888 barrier function Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- QELJHCBNGDEXLD-UHFFFAOYSA-N nickel zinc Chemical compound [Ni].[Zn] QELJHCBNGDEXLD-UHFFFAOYSA-N 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000005381 potential energy Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0953—Predicting travel path or likelihood of collision the prediction being responsive to vehicle dynamic parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/09—Taking automatic action to avoid collision, e.g. braking and steering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
- B60W30/0956—Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18163—Lane change; Overtaking manoeuvres
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/65—Following a desired speed profile
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/53—Road markings, e.g. lane marker or crosswalk
-
- 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/4041—Position
Definitions
- This application relates to risk mitigation for autonomous vehicles, including proactive risk mitigation in trajectory planning for autonomous vehicles.
- An aspect of the disclosed implementations is a method for proactively mitigating risk to a vehicle traversing a vehicle transportation network.
- the method can include determining a first hazard zone for a first hazard object ahead of the vehicle in a direction of travel of the vehicle.
- the vehicle is traversing a lane within the vehicle transportation network, the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel, and the first hazard zone includes a first target lateral constraint that extends over the left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed constraint.
- the method can further include determining a second hazard zone for a second hazard object ahead of the vehicle in the direction of travel, wherein the second hazard zone includes a second target lateral constraint that extends over the right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint.
- the method can include allocating, for each discretized time and location where the first hazard zone and the second hazard zone overlap in the longitudinal direction, a lateral buffer to a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object. Allocating the lateral buffer uses the first target lateral constraint and the second target lateral constraint as input.
- the method can also include determining a first longitudinal constraint based on a first time of arrival of the vehicle at the first hazard zone, determining a second longitudinal constraint based on a second time of arrival of the vehicle at the second hazard zone, determining, using the first allocated lateral constraint, the second allocated lateral constraint, the first longitudinal constraint, and the second longitudinal constraint, a proactive trajectory for the vehicle comprising at least one of a lateral contingency or a longitudinal contingency, and controlling the vehicle according to the proactive trajectory.
- An aspect of the disclosed implementations is an apparatus for proactively mitigating risk to a vehicle traversing a vehicle transportation network.
- the apparatus includes a processor.
- the processor can be configured to determine a first hazard zone for a first hazard object ahead of the vehicle in a direction of travel of the vehicle and determine a second hazard zone for a second hazard object ahead of the vehicle in the direction of travel.
- the vehicle is traversing a lane within the vehicle transportation network, the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel, the first hazard zone includes a first target lateral constraint that extends over the left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed, and the second hazard zone includes a second target lateral constraint that extends over the right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint.
- the processor can be configured to allocate, for each discretized time and location where the first hazard zone and the second hazard zone overlap in the longitudinal direction, a lateral buffer to a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object, wherein to allocate the lateral buffer comprises to allocate the lateral buffer using the first target lateral constraint and the second target lateral constraint as input.
- the processor can be configured to determine a first longitudinal constraint based on a first time of arrival of the vehicle at the first hazard zone, determine a second longitudinal constraint based on a second time of arrival of the vehicle at the second hazard zone, determine, using the first allocated lateral constraint, the second allocated lateral constraint, the first longitudinal constraint, and the second longitudinal constraint, a proactive trajectory for the vehicle comprising at least one of a lateral contingency or a longitudinal contingency, and transmit signals to control the vehicle according to the proactive trajectory.
- An aspect of the disclosed implementations is a vehicle that includes a processor.
- the processor is configured to proactively mitigate risk to the vehicle while traversing a vehicle transportation network by determining a first hazard zone for a first hazard object ahead of the vehicle in a direction of travel of the vehicle, wherein the vehicle is traversing a lane within the vehicle transportation network, the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel, and the first hazard zone includes a first target lateral constraint that extends over the left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed constraint, determining a second hazard zone for a second hazard object ahead of the vehicle in the direction of travel, wherein the second hazard zone includes a second target lateral constraint that extends over the right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint, allocating, for each discretized
- Another method for proactively mitigating risk to a vehicle traversing a vehicle transportation network described herein can include determining dynamic properties of a dynamic hazard object detected ahead of the vehicle in a direction of travel of the vehicle, determining a dynamic model of the dynamic hazard object based on a classification of the dynamic hazard object, predicting a range of trajectories for the dynamic hazard object using the dynamic model and the dynamic properties, determining, for the dynamic hazard object, a hazard zone associated with a trajectory of the predicted range of trajectories, determining a time of arrival of the vehicle at the hazard zone, determining, using the time of arrival, a proactive trajectory comprising at least one of a lateral contingency or a longitudinal contingency, and controlling the vehicle according to the proactive trajectory.
- the processor can be configured to determine dynamic properties of a dynamic hazard object detected ahead of the vehicle in a direction of travel of the vehicle, determine a dynamic model of the dynamic hazard object based on a classification of the dynamic hazard object, predict a range of trajectories for the dynamic hazard object using the dynamic model and the dynamic properties, determine, for the dynamic hazard object, a hazard zone associated with a trajectory of the predicted range of trajectories, determine a time of arrival of the vehicle at the hazard zone, determine, using the time of arrival, a proactive trajectory comprising at least one of a lateral contingency or a longitudinal contingency, and transmit signals to control the vehicle according to the proactive trajectory.
- the processor can be configured to proactively mitigate risk to the vehicle while traversing a vehicle transportation network by detecting a dynamic hazard object ahead of the vehicle in a direction of travel of the vehicle, determining dynamic properties of the dynamic hazard object while the dynamic hazard object is moving, determining a dynamic model of the dynamic hazard object based on a classification of the dynamic hazard object, predicting a range of trajectories for the dynamic hazard object using the dynamic model and the dynamic properties, determining, for the dynamic hazard object, a hazard zone associated with a trajectory of the predicted range of trajectories, determining a time of arrival of the vehicle at the hazard zone, determining, using the time of arrival, a proactive trajectory comprising at least one of a lateral contingency or a longitudinal contingency, and controlling the vehicle according to the proactive trajectory.
- FIG. 1 is a diagram of an example of a portion of a vehicle in which the aspects, features, and elements disclosed herein may be implemented.
- FIG. 2 is a diagram of an example of a portion of a vehicle transportation and communication system in which the aspects, features, and elements disclosed herein may be implemented.
- FIG. 3 is a diagram of a system for vehicle control using proactive risk mitigation according to implementations of this disclosure.
- FIG. 4 is a diagram of layers of a proactive trajectory planner according to FIG. 3 .
- FIG. 5 is a flowchart diagram of a method for proactive risk mitigation according to implementations of this disclosure.
- FIG. 6 is a diagram of an example of determining a hazard zone for a static hazard object in accordance with an implementation of this disclosure.
- FIG. 7 is a diagram of a single trajectory for a dynamic hazard object.
- FIG. 8 is a diagram of a single trajectory for another dynamic hazard object.
- FIG. 9 is a diagram of an example of determining a hazard zone in accordance with an implementation of this disclosure.
- FIG. 10 is a diagram of trajectory planning according to implementations of this disclosure.
- FIG. 11 is a flowchart diagram of a method for proactive risk mitigation where a predicted range of trajectories for a dynamic object is considered.
- FIG. 12 is a diagram used to explain the method of FIG. 11 .
- FIGS. 13 A and 13 B are diagrams showing a predicted range of trajectories for a parallel dynamic hazard object.
- FIG. 14 is another diagram showing a predicted range of trajectories for a parallel dynamic hazard object.
- FIGS. 15 - 20 are diagrams used to explain dual-sided buffer allocation according to implementations of this disclosure.
- FIG. 21 is a diagram of an example of applying dual-sided buffer allocation according to implementations of this disclosure.
- FIG. 22 is a diagram of another example of applying dual-sided buffer allocation according to implementations of this disclosure.
- a vehicle may traverse a portion of a vehicle transportation network.
- the vehicle transportation network can include one or more unnavigable areas, such as a building; one or more partially navigable areas, such as a parking area (e.g., a parking lot, a parking space, etc.); one or more navigable areas, such as roads (which include lanes, medians, intersections, etc.); or a combination thereof.
- the vehicle may include one or more sensors. Traversing the vehicle transportation network may include the sensors generating or capturing sensor data, such as data corresponding to an operational environment of the vehicle, or a portion thereof.
- the sensor data may include information corresponding to one or more potential hazards that materialize into or are identified as (e.g., resolve) respective external objects. Such an object may also be referred to as a hazard object herein.
- a hazard object can be a static object.
- a static object is one that is stationary and is not expected to move in the next few seconds. Examples of static objects include a bike with no rider, a cold vehicle, an empty vehicle, a road sign, a wall, a building, a pothole, etc.
- a hazard object can be a stopped object.
- a stopped object is one that is stationary but might move at any time. Examples of stopped objects include a vehicle that is stopped at a traffic light and a vehicle on the side of the road with an occupant (e.g., a driver). In some implementations, a stopped object may be considered a static object.
- a hazard object can be a dynamic (i.e., moving) object, such as a pedestrian, a remote vehicle, a motorcycle, a bicycle, etc.
- the dynamic object can be oncoming (toward the vehicle) or can be moving in the same direction as the vehicle.
- the dynamic object can be moving longitudinally or laterally with respect to the vehicle.
- a stopped object can become a dynamic object, and vice versa.
- the vehicle may ignore the potential hazard until the potential hazard is confirmed as a hazard object that may interfere with the vehicle's path of travel or is confirmed as a false positive (e.g., the potential hazard was sensor error).
- the vehicle may treat every potential hazard as a hazard object that may interfere with the vehicle's path of travel. Either course of action can be undesirable. Waiting may result in an inability to avoid the hazard object or in a maneuver to avoid the hazard object that is unnatural or uncomfortable for any passengers of the vehicle. Treating a potential hazard as a hazard object may result in the vehicle making unnecessary maneuvers (such as slowing down or moving laterally) where the potential hazard does not resolve.
- proactive risk mitigation may be used that considers the reactive capabilities of the vehicle in planning a proactive trajectory for the vehicle that minimizes speed and/or lateral changes in movement responsive to a potential hazard while still allowing for a comfortable and safe reactive response (i.e., a reactive trajectory) in the event a hazard object interferes with the path of the vehicle.
- This solution can leverage the fact that even when a driving environment is dynamic, the response by a vehicle (i.e., driven by a human, remotely operated, etc.) to a road condition can be predicted/anticipated.
- the behavior of a hazard object may be similarly predicted because traversing a vehicle transportation network is governed by rules of the road (e.g., a vehicle turning left yields to oncoming traffic, a vehicle drives between lane markings), by social conventions (e.g., driver(s) yield to the driver on the right at a stop sign), and physical limitations (e.g., a stationary object does not instantaneously move laterally into a vehicle's path).
- This predictability may be used to predict hazard object behavior to control the response of a vehicle, such as an autonomous vehicle, a semi-autonomous vehicle, or any other vehicle including an advanced driver assist system (ADAS), while that vehicle traverses a vehicle transportation network.
- a vehicle such as an autonomous vehicle, a semi-autonomous vehicle, or any other vehicle including an advanced driver assist system (ADAS)
- ADAS advanced driver assist system
- a proactive trajectory for the vehicle may be determined that adjusts the planned path and speed proactively for collision avoidance if the hazard object materializes as predicted.
- the hazard object is a dynamic object
- a predicted behavior based on expected constraints may not accurately capture the full range of possible behaviors.
- a dynamic object may fail to yield or swerve outside of its expected path.
- a dynamic object may speed up or slow down, either alone or in combination with another unlikely behavior (e.g., failing to yield or swerving). In such cases, the interaction of the vehicle with the dynamic object may occur at an uncertain time and location.
- the proactive trajectories described herein address this unpredictability.
- each hazard may be considered separately. However, separately considering each hazard may not result in an optimal trajectory because different hazards may represent different levels of risk to the vehicle. Considering the hazards as a whole to define a proactive trajectory is desirable, particularly where the vehicle is traveling along narrow lanes or residential streets, where the multiple hazards on both sides of the vehicle can result in a cluttered driving environment.
- FIG. 1 is a diagram of an example of a portion of a vehicle 100 in which the aspects, features, and elements disclosed herein may be implemented.
- the vehicle 100 includes a chassis 102 , a powertrain 104 , a controller 114 , wheels 132 / 134 / 136 / 138 , and may include any other element or combination of elements of a vehicle.
- the vehicle 100 is shown as including four wheels 132 / 134 / 136 / 138 for simplicity, any other propulsion device or devices, such as a propeller or tread, may be used.
- any other propulsion device or devices such as a propeller or tread, may be used.
- FIG. 1 is a diagram of an example of a portion of a vehicle 100 in which the aspects, features, and elements disclosed herein may be implemented.
- the vehicle 100 includes a chassis 102 , a powertrain 104 , a controller 114 , wheels 132 / 134 / 136 / 138 , and may include any other element
- the lines interconnecting elements such as the powertrain 104 , the controller 114 , and the wheels 132 / 134 / 136 / 138 , indicate that information, such as data or control signals; power, such as electrical power or torque; or both information and power may be communicated between the respective elements.
- the controller 114 may receive power from the powertrain 104 and communicate with the powertrain 104 , the wheels 132 / 134 / 136 / 138 , or both, to control the vehicle 100 , which can include accelerating, decelerating, steering, or otherwise controlling the vehicle 100 .
- the powertrain 104 includes a power source 106 , a transmission 108 , a steering unit 110 , a vehicle actuator 112 , and may include any other element or combination of elements of a powertrain, such as a suspension, a drive shaft, axles, or an exhaust system. Although shown separately, the wheels 132 / 134 / 136 / 138 may be included in the powertrain 104 .
- the power source 106 may be any device or combination of devices operative to provide energy, such as electrical energy, thermal energy, or kinetic energy.
- the power source 106 includes an engine, such as an internal combustion engine, an electric motor, or a combination of an internal combustion engine and an electric motor, and is operative to provide kinetic energy as a motive force to one or more of the wheels 132 / 134 / 136 / 138 .
- the power source 106 includes a potential energy unit, such as one or more dry cell batteries, such as nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion); solar cells; fuel cells; or any other device capable of providing energy.
- the transmission 108 receives energy, such as kinetic energy, from the power source 106 and transmits the energy to the wheels 132 / 134 / 136 / 138 to provide a motive force.
- the transmission 108 may be controlled by the controller 114 , the vehicle actuator 112 , or both.
- the steering unit 110 may be controlled by the controller 114 , the vehicle actuator 112 , or both and controls the wheels 132 / 134 / 136 / 138 to steer the vehicle.
- the vehicle actuator 112 may receive signals from the controller 114 and may actuate or control the power source 106 , the transmission 108 , the steering unit 110 , or any combination thereof to operate the vehicle 100 .
- the controller 114 includes a location unit 116 , an electronic communication unit 118 , a processor 120 , a memory 122 , a user interface 124 , a sensor 126 , and an electronic communication interface 128 .
- a location unit 116 the controller 114 includes a location unit 116 , an electronic communication unit 118 , a processor 120 , a memory 122 , a user interface 124 , a sensor 126 , and an electronic communication interface 128 .
- the user interface 124 and the processor 120 may be integrated in a first physical unit
- the memory 122 may be integrated in a second physical unit.
- the controller 114 may include a power source, such as a battery.
- the location unit 116 can be integrated in one or more electronic units, circuits, or chips.
- the processor 120 includes any device or combination of devices, now-existing or hereafter developed, capable of manipulating or processing a signal or other information, for example optical processors, quantum processors, molecular processors, or a combination thereof.
- the processor 120 may include one or more special-purpose processors, one or more digital signal processors, one or more microprocessors, one or more controllers, one or more microcontrollers, one or more integrated circuits, one or more Application Specific Integrated Circuits, one or more Field Programmable Gate Arrays, one or more programmable logic arrays, one or more programmable logic controllers, one or more state machines, or any combination thereof.
- the processor 120 may be operatively coupled with the location unit 116 , the memory 122 , the electronic communication interface 128 , the electronic communication unit 118 , the user interface 124 , the sensor 126 , the powertrain 104 , or any combination thereof.
- the processor may be operatively coupled with the memory 122 via a communication bus 130 .
- the processor 120 may be configured to execute instructions. Such instructions may include instructions for remote operation, which may be used to operate the vehicle 100 from a remote location, including the operations center. The instructions for remote operation may be stored in the vehicle 100 or received from an external source, such as a traffic management center, or server computing devices, which may include cloud-based server computing devices. The processor 120 may also implement some or all of the proactive risk mitigation described herein.
- the memory 122 may include any tangible non-transitory computer-usable or computer-readable medium capable of, for example, containing, storing, communicating, or transporting machine-readable instructions or any information associated therewith, for use by or in connection with the processor 120 .
- the memory 122 may include, for example, one or more solid state drives, one or more memory cards, one or more removable media, one or more read-only memories (ROM), one or more random-access memories (RAM), one or more registers, one or more low power double data rate (LPDDR) memories, one or more cache memories, one or more disks (including a hard disk, a floppy disk, or an optical disk), a magnetic or optical card, or any type of non-transitory media suitable for storing electronic information, or any combination thereof.
- LPDDR low power double data rate
- the electronic communication interface 128 may be a wireless antenna, as shown, a wired communication port, an optical communication port, or any other wired or wireless unit capable of interfacing with a wired or wireless electronic communication medium 140 .
- the electronic communication unit 118 may be configured to transmit or receive signals via the wired or wireless electronic communication medium 140 , such as via the electronic communication interface 128 .
- the electronic communication unit 118 is configured to transmit, receive, or both via any wired or wireless communication medium, such as radio frequency (RF), ultra violet (UV), visible light, fiber optic, wire line, or a combination thereof.
- RF radio frequency
- UV ultra violet
- FIG. 1 shows a single one of the electronic communication unit 118 and a single one of the electronic communication interface 128 , any number of communication units and any number of communication interfaces may be used.
- the electronic communication unit 118 can include a dedicated short-range communications (DSRC) unit, a wireless safety unit (WSU), IEEE 802.11p (WiFi-P), or a combination thereof.
- DSRC dedicated short-range communications
- WSU wireless safety unit
- WiFi-P IEEE 802.11p
- the location unit 116 may determine geolocation information, including but not limited to longitude, latitude, elevation, direction of travel, or speed, of the vehicle 100 .
- the location unit includes a global positioning system (GPS) unit, such as a Wide Area Augmentation System (WAAS) enabled National Marine Electronics Association (NMEA) unit, a radio triangulation unit, or a combination thereof.
- GPS global positioning system
- WAAS Wide Area Augmentation System
- NMEA National Marine Electronics Association
- the location unit 116 can be used to obtain information that represents, for example, a current heading of the vehicle 100 , a current position of the vehicle 100 in two or three dimensions, a current angular orientation of the vehicle 100 , or a combination thereof.
- the user interface 124 may include any unit capable of being used as an interface by a person, including any of a virtual keypad, a physical keypad, a touchpad, a display, a touchscreen, a speaker, a microphone, a video camera, a sensor, and a printer.
- the user interface 124 may be operatively coupled with the processor 120 , as shown, or with any other element of the controller 114 .
- the user interface 124 can include one or more physical units.
- the user interface 124 includes an audio interface for performing audio communication with a person, and a touch display for performing visual and touch-based communication with the person.
- the sensor 126 may include one or more sensors, such as an array of sensors, which may be operable to provide information that may be used to control the vehicle.
- the sensor 126 can provide information regarding current operating characteristics of the vehicle or its surroundings.
- the sensor 126 includes, for example, a speed sensor, acceleration sensors, a steering angle sensor, traction-related sensors, braking-related sensors, or any sensor, or combination of sensors, that is operable to report information regarding some aspect of the current dynamic situation of the vehicle 100 .
- the sensor 126 includes sensors that are operable to obtain information regarding the physical environment surrounding the vehicle 100 .
- one or more sensors detect road geometry and obstacles, such as fixed obstacles, vehicles, cyclists, and pedestrians.
- the sensor 126 can be or include one or more video cameras, laser-sensing systems, infrared-sensing systems, acoustic-sensing systems, or any other suitable type of on-vehicle environmental sensing device, or combination of devices, now known or later developed.
- the sensor 126 and the location unit 116 may be combined.
- the vehicle 100 may include a trajectory controller.
- the controller 114 may include a trajectory controller.
- the trajectory controller may be operable to obtain information describing a current state of the vehicle 100 and a route planned for the vehicle 100 , and, based on this information, to determine and optimize a trajectory for the vehicle 100 .
- the trajectory controller outputs signals operable to control the vehicle 100 such that the vehicle 100 follows the trajectory that is determined by the trajectory controller.
- the output of the trajectory controller can be an optimized trajectory that may be supplied to the powertrain 104 , the wheels 132 / 134 / 136 / 138 , or both.
- the optimized trajectory can be a control input, such as a set of steering angles, with each steering angle corresponding to a point in time or a position.
- the optimized trajectory can be one or more paths, lines, curves, or a combination thereof.
- One or more of the wheels 132 / 134 / 136 / 138 may be a steered wheel, which is pivoted to a steering angle under control of the steering unit 110 ; a propelled wheel, which is torqued to propel the vehicle 100 under control of the transmission 108 ; or a steered and propelled wheel that steers and propels the vehicle 100 .
- a vehicle may include units or elements not shown in FIG. 1 , such as an enclosure, a Bluetooth® module, a frequency modulated (FM) radio unit, a Near-Field Communication (NFC) module, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a speaker, or any combination thereof.
- a Bluetooth® module a frequency modulated (FM) radio unit
- NFC Near-Field Communication
- LCD liquid crystal display
- OLED organic light-emitting diode
- the vehicle such as the vehicle 100 , may be an autonomous vehicle or a semi-autonomous vehicle.
- an autonomous vehicle as used herein should be understood to encompass a vehicle that includes an advanced driver assist system (ADAS).
- ADAS advanced driver assist system
- An ADAS can automate, adapt, and/or enhance vehicle systems for safety and better driving such as by circumventing or otherwise correcting driver errors.
- FIG. 2 is a diagram of an example of a portion of a vehicle transportation and communication system 200 in which the aspects, features, and elements disclosed herein may be implemented.
- the vehicle transportation and communication system 200 includes a vehicle 202 , such as the vehicle 100 shown in FIG. 1 , and one or more external objects, such as an external object 206 , which can include any form of transportation, such as the vehicle 100 shown in FIG. 1 , a pedestrian, cyclist, as well as any form of a structure, such as a building.
- the vehicle 202 may travel via one or more portions of a transportation network 208 , and may communicate with the external object 206 via one or more of an electronic communication network 212 .
- a vehicle may traverse an area that is not expressly or completely included in a transportation network, such as an off-road area.
- the transportation network 208 may include one or more of a vehicle detection sensor 210 , such as an inductive loop sensor, which may be used to detect the movement of vehicles on the transportation network 208 .
- the electronic communication network 212 may be a multiple access system that provides for communication, such as voice communication, data communication, video communication, messaging communication, or a combination thereof, between the vehicle 202 , the external object 206 , and an operations center 230 .
- the vehicle 202 or the external object 206 may receive information, such as information representing the transportation network 208 , from the operations center 230 via the electronic communication network 212 .
- the operations center 230 includes a controller apparatus 232 , which includes some or all of the features of the controller 114 shown in FIG. 1 .
- the controller apparatus 232 can monitor and coordinate the movement of vehicles, including autonomous vehicles.
- the controller apparatus 232 may monitor the state or condition of vehicles, such as the vehicle 202 , and external objects, such as the external object 206 .
- the controller apparatus 232 can receive vehicle data and infrastructure data including any of: vehicle velocity; vehicle location; vehicle operational state; vehicle destination; vehicle route; vehicle sensor data; external object velocity; external object location; external object operational state; external object destination; external object route; and external object sensor data.
- the controller apparatus 232 can establish remote control over one or more vehicles, such as the vehicle 202 , or external objects, such as the external object 206 . In this way, the controller apparatus 232 may teleoperate the vehicles or external objects from a remote location.
- the controller apparatus 232 may exchange (send or receive) state data with vehicles, external objects, or a computing device, such as the vehicle 202 , the external object 206 , or a server computing device 234 , via a wireless communication link, such as the wireless communication link 226 , or a wired communication link, such as the wired communication link 228 .
- the server computing device 234 may include one or more server computing devices, which may exchange (send or receive) state signal data with one or more vehicles or computing devices, including the vehicle 202 , the external object 206 , or the operations center 230 , via the electronic communication network 212 .
- the vehicle 202 or the external object 206 communicates via the wired communication link 228 , a wireless communication link 214 / 216 / 224 , or a combination of any number or types of wired or wireless communication links.
- the vehicle 202 or the external object 206 communicates via a terrestrial wireless communication link 214 , via a non-terrestrial wireless communication link 216 , or via a combination thereof.
- a terrestrial wireless communication link 214 includes an Ethernet link, a serial link, a Bluetooth link, an infrared (IR) link, an ultraviolet (UV) link, or any link capable of electronic communication.
- a vehicle such as the vehicle 202 , or an external object, such as the external object 206 , may communicate with another vehicle, external object, or the operations center 230 .
- a host, or subject, vehicle 202 may receive one or more automated inter-vehicle messages, such as a basic safety message (BSM), from the operations center 230 via a direct communication link 224 or via an electronic communication network 212 .
- BSM basic safety message
- the operations center 230 may broadcast the message to host vehicles within a defined broadcast range, such as three hundred meters, or to a defined geographical area.
- the vehicle 202 receives a message via a third party, such as a signal repeater (not shown) or another remote vehicle (not shown).
- the vehicle 202 or the external object 206 transmits one or more automated inter-vehicle messages periodically based on a defined interval, such as one hundred milliseconds.
- the vehicle 202 may communicate with the electronic communication network 212 via an access point 218 .
- the access point 218 which may include a computing device, is configured to communicate with the vehicle 202 , with the electronic communication network 212 , with the operations center 230 , or with a combination thereof via wired or wireless communication links 214 / 220 .
- an access point 218 is a base station, a base transceiver station (BTS), a Node-B, an enhanced Node-B (eNode-B), a Home Node-B (HNode-B), a wireless router, a wired router, a hub, a relay, a switch, or any similar wired or wireless device.
- BTS base transceiver station
- eNode-B enhanced Node-B
- HNode-B Home Node-B
- a wireless router a wired router, a hub, a relay, a switch, or any similar wired or wireless device.
- an access point can include any number of
- the vehicle 202 may communicate with the electronic communication network 212 via a satellite 222 or other non-terrestrial communication device.
- the satellite 222 which may include a computing device, may be configured to communicate with the vehicle 202 , with the electronic communication network 212 , with the operations center 230 , or with a combination thereof via one or more communication links 216 / 236 .
- a satellite can include any number of interconnected elements.
- the electronic communication network 212 may be any type of network configured to provide for voice, data, or any other type of electronic communication.
- the electronic communication network 212 includes a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), a mobile or cellular telephone network, the Internet, or any other electronic communication system.
- the electronic communication network 212 may use a communication protocol, such as the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), the Internet Protocol (IP), the Real-time Transport Protocol (RTP), the Hyper Text Transport Protocol (HTTP), or a combination thereof.
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- IP Internet Protocol
- RTP Real-time Transport Protocol
- HTTP Hyper Text Transport Protocol
- the vehicle 202 communicates with the operations center 230 via the electronic communication network 212 , access point 218 , or satellite 222 .
- the operations center 230 may include one or more computing devices, which are able to exchange (send or receive) data from a vehicle, such as the vehicle 202 ; data from external objects, including the external object 206 ; or data from a computing device, such as the server computing device 234 .
- the vehicle 202 identifies a portion or condition of the transportation network 208 .
- the vehicle 202 may include one or more on-vehicle sensors 204 , such as the sensor 126 shown in FIG. 1 , which includes a speed sensor, a wheel speed sensor, a camera, a gyroscope, an optical sensor, a laser sensor, a radar sensor, a sonic sensor, or any other sensor or device or combination thereof capable of determining or identifying a portion or condition of the transportation network 208 .
- the vehicle 202 may traverse one or more portions of the transportation network 208 using information communicated via the electronic communication network 212 , such as information representing the transportation network 208 , information identified by one or more on-vehicle sensors 204 , or a combination thereof.
- the external object 206 may be capable of all or some of the communications and actions described above with respect to the vehicle 202 .
- FIG. 2 shows the vehicle 202 as the host vehicle, the external object 206 , the transportation network 208 , the electronic communication network 212 , and the operations center 230 .
- the vehicle transportation and communication system 200 includes devices, units, or elements not shown in FIG. 2 .
- the vehicle 202 may communicate with the operations center 230 via any number of direct or indirect communication links.
- the vehicle 202 or the external object 206 may communicate with the operations center 230 via a direct communication link, such as a Bluetooth communication link.
- FIG. 2 shows one of the transportation network 208 and one of the electronic communication network 212 , any number of networks or communication devices may be used.
- the external object 206 is illustrated as a second, remote vehicle in FIG. 2 .
- An external object is not limited to another vehicle.
- An external object may be any infrastructure element, for example, a fence, a sign, a building, etc., that has the ability transmit data to the operations center 230 .
- the data may be, for example, sensor data from the infrastructure element.
- FIG. 3 is a diagram of a system 300 for vehicle control using proactive risk mitigation according to implementations of this disclosure.
- the system 300 may represent a software pipeline of a vehicle, such as the vehicle 100 of FIG. 1 .
- the system 300 includes a world model 302 , a route planner 304 , a decision making module 306 , a proactive trajectory planner 308 , and a reactive trajectory control 310 .
- Other examples of the system 300 can include more, fewer, or other components.
- the components can be combined; in other examples, a component can be divided into more than one component.
- the world model 302 receives sensor data, such as from the sensor 126 of FIG. 1 , and determines (e.g., converts to, detects, etc.) objects from the sensor data. That is, the world model 302 determines hazard objects (e.g., road users) from the received sensor data. For example, the world model 302 can convert a point cloud received from a light detection and ranging (LiDAR) sensor (i.e., a sensor of the sensor 126 ) into an object, such as a hazard object. Sensor data from several sensors can be fused together to identify the objects. Examples of objects include a non-motorized vehicle (e.g., a bicycle), a pedestrian or animal, a motorized vehicle, etc.
- LiDAR light detection and ranging
- Sensor data from several sensors can be fused together to identify the objects. Examples of objects include a non-motorized vehicle (e.g., a bicycle), a pedestrian or animal, a motorized vehicle, etc.
- the world model 302 can receive sensor information that allows the world model 302 to calculate and maintain additional information for at least some of the detected objects.
- the world model 302 can maintain a state for at least some of the determined objects.
- the state for an object can include zero or more of a velocity, a pose, a geometry (such as width, height, and depth), a classification (e.g., bicycle, large truck, pedestrian, road sign, etc.), and a location.
- the state of an object includes discrete state information (e.g., classification) and continuous state information (e.g., pose and velocity).
- the world model 302 fuses sensor information, tracks objects, maintains lists of hypotheses for at least some of the dynamic objects (e.g., an object A might be going straight, turning right, or turning left), creates and maintains predicted trajectories for each hypothesis, and maintains likelihood estimates of each hypothesis (e.g., object A is going straight with probability 90% considering the object pose/velocity and the trajectory poses/velocities).
- the world model 302 uses an instance of the trajectory planner to generate the predicted trajectories for each object hypothesis for at least some of the dynamic objects.
- an instance of the trajectory planner can be used to generate predicted trajectories for vehicles, bicycles, and pedestrians.
- an instance of a trajectory planner such as the trajectory planner described below, can be used to generate predicted trajectories for vehicles and bicycles, and a different method can be used to generate predicted trajectories for pedestrians.
- the objects maintained by the world model 302 can include hazard objects, which can include static objects, dynamic objects, or both.
- the route planner 304 determines a road-level plan. For example, given a starting location and a destination location, the route planner 304 determines a route from the starting location to the destination location. The route planner 304 can determine the list of roads (i.e., the road-level plan) to be followed by the vehicle to navigate from the starting location to the destination location.
- the road-level plan determined by the route planner 304 and the objects (and corresponding state information) maintained by the world model 302 can be used by the decision making module 306 to determine discrete-level decisions along the road-level plan. Examples of decisions included in the discrete-level decisions may include: stop at the next intersection, move forward slowly, accelerate to a certain speed limit, merge into the next lane, etc.
- the proactive trajectory planner 308 can receive the discrete-level decisions, the objects (and corresponding state information) maintained by the world model 302 , and the predicted trajectories and likelihoods of the external objects from the world model 302 .
- the proactive trajectory planner 308 can use at least some of the received information to determine a detailed-planned trajectory, also referred to herein as a proactive trajectory, for the vehicle.
- the proactive trajectory planner 308 determines a next-few-seconds trajectory. As such, and in an example where the next few seconds are the next 6 seconds (i.e., a look-ahead time of 6 seconds), the proactive trajectory planner 308 determines a trajectory and locations for the vehicle in the next 6 seconds. For example, the proactive trajectory planner 308 may determine (e.g., predict, calculate, etc.) the expected locations of the vehicle at several time intervals (e.g., every one-quarter of a second, or some other time intervals). The proactive trajectory planner 308 is described in more detail below.
- the reactive trajectory control 310 can handle situations that the vehicle may encounter but may not be handled by the proactive trajectory planner 308 . Such situations include situations where the proactive trajectory of the proactive trajectory planner 308 was based on misclassification of objects and/or unanticipated situations that rarely occur. For example, the reactive trajectory control 310 can modify the proactive trajectory in response to determining that a static object to the left of the vehicle is misclassified. The object may have been classified as a large truck; however, a new classification determines that it is a static road barrier wall. In another example, the reactive trajectory control 310 can modify the proactive trajectory in response to a sudden tire blowout of the vehicle. Other examples of unanticipated situations include another vehicle swerving suddenly (e.g., due to late decision to get to highway off-ramp or tire blowout) into the lane of the vehicle and a pedestrian or other object emerging suddenly from behind an occlusion.
- unanticipated situations include another vehicle swerving suddenly (e.g., due to late decision to get to highway off-ramp or
- a predictive algorithm of the proactive trajectory planner 308 may be configured to produce plans at 10 hz; on the other hand, the reactive trajectory control 310 may be configured to produce plans at 100 hz.
- FIG. 4 is a diagram showing one example of how the proactive trajectory planner 308 according to FIG. 3 may be implemented.
- the proactive trajectory planner 308 can receive drive goals 401 .
- the proactive trajectory planner 308 can receive the drive goals 401 as a series of lane selections and speed limits that connect a first location to a second location.
- a drive goal of the drive goals 401 can be “starting at location x, travel on a lane having a certain identifier (e.g., lane with an identifier that is equal to A123) while respecting speed limit y”.
- the proactive trajectory planner 308 can be used to generate a trajectory that accomplishes the drive goals 401 .
- the proactive trajectory planner 308 includes a driveline data layer 402 , a reference-trajectory generation layer 404 , an object avoidance layer 406 , and a proactive trajectory optimization layer 408 .
- the proactive trajectory planner 308 generates a proactive trajectory.
- Other examples of the proactive trajectory planner 308 can include more, fewer, or other layers.
- the layers can be combined; in other examples, a layer can be divided into one or more other layers.
- the layers may be implemented by software or one or more modules including a hardware module (such as, for example, an application-specific integrated circuit, or the like).
- the driveline data layer 402 includes the input data that can be used by the proactive trajectory planner 308 .
- the driveline data can be used (e.g., by the reference-trajectory generation layer 404 ) to determine (i.e., generate, calculate, or select) a coarse driveline from a first location to a second location.
- the driveline can be thought of as the line in the road over which the longitudinal axis of the vehicle coincides as the vehicle moves along the road.
- the driveline data is data that can be used to determine the driveline.
- the driveline is coarse, at this point, and may contain lateral discontinuities such as when directed to transition laterally between adjacent lanes. The driveline at this point is also not yet adjusted for objects encountered by the vehicle, as further described below.
- the driveline data layer 402 can include one or more of High Definition (HD) map data 410 , teleoperation map data 412 , recorded paths data 414 , preceding vehicle data 416 , parking lot data 418 , and perceived path data 420 .
- HD High Definition
- the HD map data 410 may be data from a high-definition (i.e., high-precision) map that can be used by an autonomous vehicle.
- the HD map data 410 can include accurate information regarding a vehicle transportation network to within a few centimeters.
- the HD map data 410 can include details regarding road lanes, road dividers, traffic signals, traffic signs, speed limits, and the like.
- map data may be obtained from a lower quality map than an HD map.
- the teleoperation map data 412 can include relatively short driveline data.
- the teleoperation map data 412 can be driveline data that are 100 meters to 200 meters long.
- the teleoperation map data 412 is not necessarily so limited.
- the teleoperation map data 412 when present, can be manually generated by a teleoperator in response to, or in anticipation of, exceptional situations that the vehicle is not capable of automatically handling.
- the recorded paths data 414 can include data regarding paths previously followed by the vehicle.
- an operator e.g., a driver or a remote operator
- the vehicle may have recorded a path from the street into the garage of a home.
- the preceding vehicle data 416 can be data received from one or more vehicles that precede the vehicle along a generally same trajectory as the vehicle.
- the vehicle and a preceding vehicle can communicate via a wireless communication link, such as described with respect to FIG. 2 .
- the vehicle can receive trajectory and/or other information from the preceding vehicle via the wireless communication link.
- the preceding vehicle data 416 can also be perceived (e.g., followed) without an explicit communication link.
- the vehicle can track the preceding vehicle and can estimate a vehicle driveline of the preceding vehicle based on the tracking results.
- a preceding vehicle, where present, may also be treated as a dynamic object as described below.
- the parking lot data 418 includes data regarding locations of parking lots and/or parking spaces.
- the parking lot data 418 may be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot.
- map (e.g., HD map) information may not be available for portions of the vehicle transportation network.
- the perceived path data 420 can represent drivelines where there is no previously mapped information.
- the vehicle can detect drivelines in real time using fewer, more, or other than lane markings, curbs, and road limits.
- road limits can be detected based on transitions from one terrain type (e.g., pavement) to other terrain types (e.g., gravel or grass). Other ways can be used to detect drivelines in real time.
- the reference-trajectory generation layer 404 can include a driveline concatenation module 422 , a strategic speed plan module 424 , and a driveline synthesis module 426 .
- the reference-trajectory generation layer 404 provides the coarse driveline (i.e., a reference driveline) to a discrete-time speed plan module 428 .
- the route planner 304 can generate a lane ID sequence that is used to travel from a first location to a second location, thereby corresponding to (e.g., providing) the drive goals 401 .
- the drive goals 401 can be 100 ′s of meters apart, depending on the length of a lane.
- the reference-trajectory generation layer 404 can use a combination of a location (e.g., GPS location, 3 D Cartesian coordinates, etc.) and a lane (e.g., the identifier of the lane) in the sequence of the drive goals 401 to generate a high resolution driveline (e.g., from the HD map data 410 ) represented as series of poses for the vehicle.
- Each pose can be at a predetermined distance.
- the poses can be one to two meters apart.
- a pose can be defined by variables such as coordinates (x, y, z), roll angle, pitch angle, and/or yaw angle.
- the driveline data can be used to determine (e.g., generate, calculate, etc.) a coarse driveline.
- the driveline concatenation module 422 splices (e.g., links, fuses, merges, connects, integrates, or otherwise splices) the input data of the driveline data layer 402 to determine the coarse driveline along the longitudinal direction (e.g., along the path of the vehicle).
- the driveline concatenation module 422 can use input data from the parking lot data 418 to determine a location of an exit from the work location parking lot to exit to the main road, can use data from the HD map data 410 to determine a path from the main road to the home, and can use data from the recorded paths data 414 to navigate into a driveway at home.
- the coarse driveline does not include speed information.
- the coarse driveline can include speed limit information that can be used (e.g., extracted) from the HD map data 410 .
- the strategic speed plan module 424 determines specific speed(s) along the different portions of the coarse driveline. For example, the strategic speed plan module 424 can determine that, on a first straight section of the coarse driveline, the speed of the vehicle can be set to the speed limit of that first straight section; and on a subsequent second curved section of the coarse driveline, the speed of the vehicle is to be set to a slower speed.
- inputs used by the strategic speed plan module 424 may include one or more speed limits, one or more acceleration limits, or both.
- the speed limits can include one or more of road speed limits, such as posted speed limits, curvature speed limits (and/or road curvature information, such as turning radius, from which a speed limit may be calculated), and seamless autonomous mobility (SAM) data, i.e., data gathered (such as in a cloud-based system) from vehicles that provide information about the road and/or traffic conditions that may be used in the determination of speed.
- SAM seamless autonomous mobility
- vibration data collected from vehicles along a portion of a road that correlate vibration levels and speeds at different portions of the road may be used to determine an unacceptable level of vibration when a vehicle is traveling above a certain speed. This could provide another speed limit for consideration in determining the strategic speed plan.
- the SAM data can be received by the vehicle from a central server, such as the operations center 230 , the server computing device 234 , or some other network device.
- the SAM data can be data accumulated from other vehicles within a certain time period (e.g., 1 minute, 10 minutes, 20 minutes, etc.) of the vehicle arriving at a location.
- the vehicle can pull the SAM data itself, or the SAM data can be pushed to the vehicle based on the vehicle reporting its location to a server that provides the SAM data.
- the road speed limits, the curvature speed limits, and the SAM data may be combined to provide raw speed limits.
- the minimum of the speed limits at a location may be used as a raw speed limit at that location.
- the raw speed limits may be modified by the acceleration limits, such as vehicle acceleration limits (e.g., based on the torque and power of the vehicle) and human comfort limits regarding acceleration, which may be less than the vehicle acceleration limits.
- the acceleration limits may be combined by finding the minimum of the two maximum curves (comfort, speed).
- the strategic speed plan may result from solving for the fastest speed profile along the coarse driveline that satisfies the constraints on speed (speed limit at any given location along the driveline) and acceleration (acceleration limit at any given speed).
- the strategic speed plan module 424 may compute a law-abiding (e.g., respecting speed limits and stop lines), comfortable (e.g., physically and emotionally), and physically realizable speed plan (e.g., speed versus distance along the driveline) for the coarse driveline considering the current state (e.g., speed and acceleration) of the vehicle but not considering other road users or static objects.
- a law-abiding e.g., respecting speed limits and stop lines
- comfortable e.g., physically and emotionally
- physically realizable speed plan e.g., speed versus distance along the driveline
- the driveline synthesis module 426 can adjust the coarse driveline laterally. Considering the strategic speed plan and the coarse driveline with lateral discontinuities, the driveline synthesis module 426 determines the start and end locations of the lane change and synthesizes a driveline connecting the two locations.
- the driveline synthesis module 426 can synthesize drivelines joining laterally-discontinuous locations in the coarse driveline. For example, assume that the HD map data 410 includes a first section of the coarse driveline that is on a first lane of a road but that a second section of the coarse driveline is on a second lane of the same road. As such there exists a lateral discontinuity in the coarse driveline.
- the driveline synthesis module 426 first determines a transition distance (or, equivalently start and end locations) over which the vehicle should transition from the first lane to the second lane. That is, the start position is the road position when the vehicle is to be controlled to start moving from the first lane to the second lane. The end position is the road position when the vehicle is to have completed the lane change.
- the driveline synthesis module 426 then generates new driveline data joining the start position in the first lane to the end position in the second lane.
- the transition determined by the driveline synthesis module 426 can be speed dependent. For example, a shorter transition distance can be required for the vehicle to transition from the first lane to the second lane when the vehicle is moving at a slower speed than when the vehicle is moving at a higher speed. For example, in a heavy traffic situation where the vehicle is traveling at a slower speed (e.g., 15 MPH), 20 yards may be required for the transition; however, if the vehicle is traveling at a higher speed (e.g., 65 MPH), then the transition distance may be 100 yards. Thus, the driveline synthesis module 426 can determine the transition position depending on the speed of the vehicle.
- a slower speed e.g. 15 MPH
- 20 yards may be required for the transition; however, if the vehicle is traveling at a higher speed (e.g., 65 MPH)
- the transition distance may be 100 yards.
- the driveline synthesis module 426 can determine the transition position depending on the speed of the vehicle.
- the output of the driveline synthesis module 426 is provided to the object avoidance layer 406 .
- the output of the driveline synthesis module 426 includes the coarse driveline and the strategic speed plan.
- the object avoidance layer 406 generates a medium-term, discrete-time speed plan and lateral constraints on the coarse driveline.
- the discrete-time speed plan module 428 determines (i.e., calculates) a respective desired or target speed, acceleration/deceleration, or both, for the vehicle.
- the object avoidance layer 406 determines a drivable area where the vehicle can be safely operated, along with a revised driveline, a discrete-time speed plan, or both.
- the coarse driveline is evaluated and/or adjusted for hazard objects, such as those described with respect to the world model 302 of FIG. 3 .
- the object avoidance layer 406 Given a current speed of the vehicle, the object avoidance layer 406 generates the discrete-time (e.g., real-time) speed plan at the discrete-time speed plan module 428 .
- the object avoidance layer 406 can estimate future locations of the vehicle at discrete future time points.
- the future locations can be evaluated against the locations of the hazard objects (i.e., the objects of the world model) and the constraints they impose on the trajectory of the vehicle at the static object constraint module 430 and the dynamic object constraint module 432 , to optimize the proactive trajectory at the proactive trajectory optimization layer 408 .
- the proactive trajectory is determined to provide (e.g., generate) a smooth drive for the vehicle. Determining a smooth proactive trajectory can be an iterative process.
- FIG. 5 is a flowchart diagram of a method 500 for proactive risk mitigation according to implementations of this disclosure.
- the method 500 can be stored as executable instructions in a memory, such as the memory 122 of FIG. 1 .
- the executable instructions can be executed by a processor, such as the processor 120 of FIG. 1 .
- the method 500 can be executed in whole or in part by hardware components associated with a computer.
- the method 500 can be executed by the vehicle 100 of FIG. 1 , the vehicle 202 shown in FIG. 2 , by remote assistance support described previously, or by a combination thereof.
- the method 500 can be executed in whole or in part in a computing apparatus, including the controller apparatus 232 shown in FIG. 2 .
- some or all aspects of the method 500 can be implemented in a system combining some or all of the features described in this disclosure.
- the method 500 can be utilized by the object avoidance layer 406 , the proactive trajectory optimization layer 408 , or both.
- the methods and apparatus described herein may be implemented in any vehicle capable of autonomous or semi-autonomous operation, such as one including an ADAS. Although described with reference to a vehicle transportation network, the method and apparatus described herein may include the vehicle operating in any area navigable by the vehicle.
- the method 500 for proactively mitigating risk to a vehicle traversing a vehicle transportation network can include determining respective hazard zones for detected hazard objects, which hazard zones respectively define a target lateral constraint associated with the hazard object, e.g., based on its state as a static hazard object (also referred to as a static object) or as a dynamic hazard object (also referred to as a dynamic object).
- a target lateral constraint may be one that allows the vehicle to avoid the hazard object without a speed constraint (e.g., without modifying the current time speed plan).
- Lateral buffer algorithms may be used where hazard zones are present in the same discretized time and location (e.g., they overlap in the longitudinal direction) to determine a final size of lateral buffers.
- the allocation may be determined based on a cost function that optimizes for risk posed by the hazard objects, including the target lateral constraints, as described in more detail below.
- Longitudinal constraints for each hazard zone may be computed based on a respective time of arrival of the vehicle at the hazard zone.
- the proactive constraints are then processed together to determine a proactive trajectory that is a modification of the previous trajectory.
- the most restrictive longitudinal (speed) constraint may require the vehicle to follow a road user (e.g., a bicycle or vehicle) ahead of the vehicle, to accelerate, and/or to decelerate according to a longitudinal contingency.
- the lateral constraints may require the vehicle to move laterally according to a lateral contingency. Further details are described below.
- a first hazard object can be detected.
- first the terms “first”, “second”, etc., may be used without limitation as to the order in which the objects are detected unless otherwise noted or clear from context. Instead, these terms are used merely to distinguish one object from another object.
- the first hazard object is ahead of the vehicle in a direction of travel of the vehicle.
- the direction of travel of the vehicle may be a direction indicated by coarse driveline and the strategic speed plan output from the reference-trajectory generation layer 404 , or may be a direction indicated by the proactive trajectory generated by the proactive trajectory planner 308 (e.g., by the proactive trajectory optimization layer 408 ) during a previous iteration of the method 500 .
- the vehicle is traversing a lane within the vehicle transportation network, where the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel.
- the objects can be at least some of the external objects maintained by the world model 302 .
- the nearby objects can be objects within a predetermined distance from the vehicle, objects within a predicted arrival time of the vehicle, or objects that meet other criteria for identifying the objects. This also referred to herein as a look-ahead time or a look-ahead distance, or both.
- Hazard objects are detected at 502 until there are no more hazard objects detected in response to the query at 504 .
- a respective hazard zone for a hazard object is determined at 506 .
- a first hazard zone may be determined for a first hazard object ahead of the vehicle in the direction of travel of the vehicle.
- a hazard zone for a stationary or static object is first described with reference to FIG. 6 , which is a diagram of an example of determining a hazard zone for a static hazard object in accordance with an implementation of this disclosure.
- FIG. 6 illustrates a drivable area and a discrete-time speed plan.
- the drivable area is, for example, the area of a vehicle transportation network where the vehicle may be safely driven.
- the drivable area can include areas where the vehicle may travel that correspond to the reference trajectory (e.g., the coarse driveline and strategic speed plan) from the reference-trajectory generation layer 404 , that is, areas without consideration of detected objects.
- the drivable area can be a predefined distance from the vehicle along the coarse driveline (e.g., in the longitudinal direction).
- the drivable area can be the area where the vehicle can be (e.g., legally and/or physically) driven.
- the drivable area can be extracted from an HD map based on the current location of the vehicle.
- the drivable area can be bounded by the left and right boundaries of a lane (or a road, or some other region) in which the vehicle is located.
- a lane does not have to correspond to a marked lane.
- the default drivable area of a lane may be defined by a default width, such as 8 meters or some other value.
- the drivable area can span the centerline of a road. That is, the opposite-direction traffic lane can be included in the drivable area.
- the drivable area can be an area bounded (i.e., in the lateral direction) by a median, a shoulder, or both a median and a shoulder.
- the drivable area can be limited by barriers (e.g., concrete barriers) that may be in the median or elsewhere. Such barriers may be treated as static hazard objects as described below.
- the areas where the vehicle cannot be predicted to be safely driven may be removed from (e.g., cut out of) the drivable area to result in an adjusted drivable area later used for determining the proactive trajectory that avoids objects.
- These areas correspond to a hazard zone for a hazard object. If no static and/or dynamic objects interfere with the current trajectory of the vehicle, then the adjusted drivable area is the same as the drivable area.
- a coarse driveline 603 is the coarse driveline of a vehicle 602 .
- a default drivable area of the vehicle 602 is defined by a left boundary 604 and a right boundary 606 , which can define the maximum width of the drivable area (i.e., drivable area boundaries).
- the left lane boundary 608 and the right lane boundary 610 are also considered in the analysis of a hazard zone.
- a lane boundary may be coincident with a drivable area boundary.
- the right lane boundary 610 includes a portion 612 .
- the portion 612 is shown as a dashed line because, as further described below, this portion of the drivable area is to be adjusted.
- the drivable area of the vehicle 602 may be divided into bins, as shown. Each bin may have a center point, which can be equally spaced. For example, the center points can be approximately two meters apart, or can be spaced closer or more distant depending on the speed of the vehicle 602 .
- Boundary points 613 corresponding to a detected object are assigned to respective bins, such as bins 616 , 618 .
- the boundary points can be derived from data from a LiDAR sensor, a laser pointer, a radar, or any other sensor, such as the sensor 126 of FIG. 1 .
- the boundary points can represent (x, y) coordinates that are occupied or are otherwise off-limits to the AV.
- the boundary points 613 of the bins 616 , 618 appear to correspond to a large, rectangular object, the object may be classified (for example, by the world model 302 of FIG. 3 ) as a “truck.”
- Boundary points 613 may correspond to one or more objects.
- Boundaries corresponding to (i.e., defined based on) an object can be referred to as hard boundaries.
- a hard boundary is such that, if the planned trajectory for the vehicle were to cross the hard boundary, a collision with the object is likely.
- lane and/or road markings can be referred to as soft boundaries and represent lawful or logical boundaries.
- a soft boundary is such that, if the planned trajectory were to cross the soft boundary that is not also a hard boundary, the motion of the vehicle may be unlawful and/or less socially acceptable, but the vehicle is likely safe from a collision with the object. As shown in FIG.
- the left boundary 604 (i.e., the left drivable area boundary) defines the left hard boundary and the left lane boundary 608 defines the left soft boundary.
- the right hard boundary is comprised of the right boundary 606 (i.e., the right drivable area boundary) and the boundary 614 ; the right soft boundary is defined by the right lane boundary 610 and the boundary 614 .
- a left lane boundary such as the left lane boundary 608 , may be coincident with a left boundary of the drivable area; hence, the left lane boundary 608 may define a left hard boundary.
- a right lane boundary such as the right lane boundary 610
- the cut-out defined (i.e., bounded) by the bins 616 , 618 and the boundary 614 may be referred to as a hazard zone herein.
- a hazard zone there may be an allowance around the measured groups of points such that the hazard zone is expanded beyond those points. Such a clearance area allows for uncertainty in sensor measurements, for example.
- the hazard zone includes (e.g., defines) a target lateral constraint that extends over the right lane boundary 610 and into the lane.
- a target lateral constraint (sometimes referred to more simply as a lateral constraint herein) is a longitudinally-extending limitation to a portion of a vehicle transportation network which a vehicle, such as the vehicle 602 , will pass such that, if the vehicle travels laterally outside of the boundaries of the constraint, the vehicle is likely to avoid the hazard object associated with the hazard zone.
- first hazard object For the detected hazard object, here a first hazard object, it is also possible to determine a first longitudinal constraint based on a first time of arrival of the vehicle at the (e.g., first) hazard zone. That is, given a current speed plan of the vehicle (e.g., either the strategic speed plan from the reference-trajectory generation layer 404 or the current discrete-time speed plan from the discrete-time speed plan module 428 ), the time at which the vehicle will arrive at the hazard zone can be determined. Arriving at the hazard zone may mean arriving at a first longitudinal position in a direction of travel of the vehicle where the hazard zone is identified, whether or not the hazard zone interferes with the current trajectory. For example, and referring to FIG.
- the time of arrival can be the time of arrival of the vehicle 602 at the point in the roadway represented by the bin 616 .
- the longitudinal constraint may be equal to the time of arrival, which indicates how much time the vehicle has to respond to the object, or may be the time of arrival decreased by a defined amount of time to reflect uncertainties in the sensed information.
- the lateral constraint and the longitudinal constraint are static object constraints used within the static object constraint module 430 .
- the lateral constraint, the longitudinal constraint, or both are such that the vehicle does not have to change its nominal trajectory to avoid the hazard zone, and hence the hazard object.
- the vehicle may modify its nominal trajectory using a lateral contingency, a longitudinal contingency, or both, to avoid the hazard zone using the static object constraint module 430 .
- a lateral contingency may be one or more changes in lateral position from the nominal trajectory.
- a longitudinal contingency may be one or more changes in speed from the nominal trajectory.
- the vehicle 602 can pass the hazard zone given a distance between the right and left hard boundaries of the bins 616 , 618 .
- the distance should be larger than a threshold distance for the vehicle 602 to pass, where the threshold distance can be related to a width of the vehicle 602 (e.g., at least 1.2, 1.5, etc., time the width of the vehicle 602 ).
- a distance 620 between the boundary 614 of the hazard zone (e.g., target lateral constraint) and the left lane boundary 608 may be too narrow for the vehicle 602 to drive (i.e., fit) through.
- a location 622 corresponding to the bin 616 is a static blockage. That is, the vehicle 602 cannot pass the object(s) represented by the boundary points of the bins 616 , 618 . Accordingly, the object avoidance layer 406 can adjust the discrete-time speed plan to stop the vehicle before or upon reaching the location 622 . That is, a longitudinal contingency is determined that reduces the speed of the vehicle 602 in a comfortable (for passengers) and legal way to stop at the location 622 .
- a gap 624 from the left boundary 604 to the hazard zone boundary 614 is sufficiently wide for the vehicle to avoid the hazard zone, and hence the hazard object.
- a lateral contingency sufficient for the vehicle to pass through the gap 624 may be determined.
- the vehicle may avoid the hazard object without a speed constraint (e.g., a longitudinal contingency) in such a situation.
- an object is identified by dots (i.e., boundary points) and/or groups of dots that represent the object, such as through detection by LiDAR as described above with regards to the world model 302 .
- dots i.e., boundary points
- other implementations may use image recognition on images captured by one or more cameras mounted on the vehicle, such as the vehicle 100 or 202 , or within the vehicle transportation network, such as the transportation network 208 .
- a hazard object may be detected anywhere along the driveline, including being detected entirely within the left lane boundary 608 and the right lane boundary 610 , or being detected to the left of the vehicle 602 along its driveline 603 such that the hazard zone extends over the left lane boundary 608 and into the lane.
- one or more additional hazard objects may be detected (e.g., at 502 of FIG. 5 ) while the vehicle 602 traverses the vehicle transportation network.
- a second hazard zone for a second hazard object may be determined at 506 .
- the second hazard zone would include a second target lateral constraint determined in a like manner as the first target lateral constraint described with regards to FIG. 6 .
- FIG. 6 describes a hazard zone associated with a static hazard object detected at 502 .
- a hazard object detected at 502 may instead be a dynamic hazard object. Determining a hazard zone for a dynamic hazard object at 506 can depend on a trajectory of the dynamic hazard object. Accordingly, a trajectory of a hazard object is first described with regards to FIGS. 7 and 8 .
- a vehicle 702 is moving along a coarse driveline 703 .
- No static objects are detected.
- a left boundary 717 and a right boundary 718 define the drivable area.
- a dynamic hazard object in the form of a vehicle 704 is predicted to move from the right shoulder of the road (or from the lane to the right of the lane that includes the vehicle 702 ) into the path of the vehicle 702 along a path or trajectory 720 .
- the vehicle 704 is initially associated with a hazard zone that includes a target lateral constraint that extends over the right lane boundary (i.e., the right boundary 718 ) and into the lane.
- the vehicle 704 The hazard zone associated with the vehicle 704 changes over time as the vehicle 704 moves along its trajectory as discussed in more detail below.
- the dynamic object constraint module 432 can determine (e.g., predict) the locations of the vehicle 702 at different discrete points in time. For example, at time t (e.g., in one second), the vehicle 702 is predicted to be at a location 706 ; at time t+1 (e.g., in two seconds), the vehicle 702 is predicted to be at a location 708 ; and at time t+2 (e.g., in three seconds), the vehicle 702 is predicted to be at a location 710 . While locations at 3 seconds into the future (i.e., a time window of 3 seconds) are shown with respect to the scenario 700 (and the later scenario 800 described below), more or fewer locations can be determined, predicted, calculated, etc. Other time windows are possible, and the frequency of predicted locations within a window can also vary. In an example, the time window is six seconds, and a location can be determined at every half second.
- a second instance of a trajectory planner may be tracking (e.g., predicting the trajectory of) the vehicle 704 .
- a dynamic object constraint module of the second trajectory planner such as a dynamic object constraint module 432 , can predict future locations of the vehicle 704 (e.g., based on the current heading and speed and the expected behavior of the vehicle 704 ). For example, at the time t, the vehicle 704 is determined to be at a location 712 ; at time t+1, the vehicle 704 is determined to be at a location 714 ; and at time t+2, the vehicle 704 is determined to be at a location 716 .
- the same time window and frequency of predictions can be the same for all instantiated trajectory planners of the vehicle 702 . However, this is not required.
- the time window and frequency can depend on the type (e.g., bicycle, pedestrian, sports car, sedan, large truck, etc.) of the dynamic object.
- the drivable area of the vehicle 702 may be adjusted to avoid the hazard zones that correspond to respective locations of the vehicle 704 in a like manner as described with regards to FIG. 6 .
- the vehicles 702 , 704 are generally identified at the same locations at the same times.
- the right hard boundary of the lane can be set for each of the appropriate bins to the line 722 .
- Whether the vehicle 702 can pass a hazard zone given a distance between the right and left hard boundaries of the bins may be determined.
- Whether the vehicle 702 must modify its speed based on a hazard zone may be determined. More generally, a lateral constraint and a longitudinal (i.e., speed) constraint may be determined using the hazard zones along the trajectory 720 , which in turn may be used to determine a proactive trajectory for the vehicle 702 as described in more detail below.
- the scenario 800 of FIG. 8 illustrates an oncoming dynamic hazard object, in this case a vehicle 804 .
- a vehicle 802 is moving eastward along a coarse driveline 803
- the vehicle 804 is moving westward.
- the vehicle 804 is predicted to follow a trajectory 809 to avoid a static hazard object—namely a parked vehicle 806 .
- the locations of the vehicle 802 along the coarse driveline 803 at times t, t+1, and t+2 are predicted to be, respectively, locations 810 , 812 , and 814 .
- the locations of the vehicle 804 along the trajectory 809 at times t, t+1, and t+2 are predicted to be, respectively, locations 816 , 818 , and 820 .
- the vehicles 802 , 804 are predicted to be at generally the same location (i.e., the location of intersection corresponding to the locations 812 , 818 ) at the same time (i.e., at time t+2). Should the vehicle 802 continue along the coarse driveline 803 , it is likely to collide with the vehicle 804 .
- the drivable area of the scenario 800 is adjusted (i.e., cut out) as described above. That is, the drivable area is adjusted to remove those areas that correspond to respective hazard zones of the vehicle 804 over time, such as by setting (in this example, left) boundaries of bins corresponding to (i.e., overlapping) the trajectory 809 .
- the width of the drivable area between the hazard zone at the point of intersection (i.e., the left hard boundary) and the right boundary can be determined.
- the width, or distance, 822 resulting from the target lateral constraint of the hazard zone can be used to determine whether there is a sufficient gap for the vehicle 802 to pass through.
- the response to this query can be used, optionally with a longitudinal (i.e., speed) constraint determined using the hazard zone, to determine a proactive trajectory for the vehicle 802 as described in more detail below.
- the scenarios 700 , 800 describe that hazard zones may be located along a trajectory of a dynamic hazard object, but they do not describe how to determine the hazard zones. Determining a hazard zone for a dynamic hazard object is described with regards to FIG. 9 .
- the example 900 of FIG. 9 presents a generalized approach to defining a hazard zone.
- a hazard zone may be defined by an incursion determined using a maximum intrusion and an incursion (intrusion) velocity. Other definitions are possible.
- the specific hazard object or the type of hazard object
- can become irrelevant to computing e.g., determining, selecting, calculating, etc.
- the example 900 illustrates a vehicle 902 that is traveling on a road (e.g., within a lane 904 ).
- a hazard object 906 is identified on the side of the lane 904 , although the principles apply to hazard objects detected elsewhere.
- the hazard object 906 may be, for example, a parked vehicle, a pedestrian, or some other object of which at least a portion is capable of lateral movement. Hence, the hazard object 906 may be considered a dynamic hazard object.
- the vehicle 902 is moving toward the hazard object 906 according to its nominal trajectory 907 .
- a bounding box 905 that expands the actual/real size of the hazard object 906 can be associated with the hazard object 906 .
- the shape representing the uncertainty may be any shape and is not limited to a rectangular box.
- a lateral pose uncertainty 908 (denoted ⁇ y p ) defines an initial determined (e.g., perceived, identified, set, etc.) later size of the object 906 .
- a time t indicates the time of arrival of the vehicle 902 at the hazard zone (e.g., the closer laterally-extending edge of the bounding box 905 ).
- the size of the bounding box of uncertainty may be a function of one or more of range uncertainty, angle (i.e., pose, orientation, etc.) uncertainty, or velocity uncertainly results.
- range uncertainly i.e., uncertainty with respect to how far the hazard object 906 is from the vehicle 902
- the vehicle 902 more specifically, a world model 302
- angle uncertainly i.e., uncertainty with respect to the orientation/pose of the hazard object 906
- a maximum lateral incursion 912 (denoted ⁇ y v,max ) identifies the maximum lateral incursion into the lane 904 due to the hazard object 906 possibly moving laterally.
- the hazard object 1006 possibly moving can mean that the object 906 itself is moving or a part of the object 906 is moving.
- the hazard object 906 is classified as a parked vehicle.
- a door of the parked vehicle can open.
- the maximum lateral incursion of a moving vehicle may be, in some implementations, the distance from one end of the vehicle to the other in the lateral direction and any bounding box, such as the bounding box 905 described with regards to FIG. 9 .
- a velocity 914 indicates the velocity at which the hazard object 906 enters the lane 904 .
- the velocity 914 can be set to a nominal speed at which a car door may open.
- the pedestrian may be crossing the lane 904 at a maximum intrusion of 1 meter per second.
- the predicted speed of its lateral movement according to its current trajectory may be determined as the velocity 914 , as described in more detail below with regards to FIG. 11 .
- ⁇ y ( t ) ⁇ y p +min( V y * t, ⁇ y v,max ) (1)
- the possible incursion 910 of the object 906 into the lane 904 is given by ⁇ y p (i.e., the current width of the bounding box, as determined at the time that the possible incursion 910 is calculated) plus the minimum of V y *t (i.e., how much can the object, or a portion thereof, move into the lane 904 between now and the time that the vehicle 902 arrives at the hazard zone, given the speed at which the object is/can move into the lane 904 ) and ⁇ y v,max (i.e., the maximum lateral incursion 912 ).
- the initial incursion ⁇ y p can change over time. For example, as the vehicle 902 approaches the object 906 , the sensor uncertainty is reduced and the size of the bounding box of uncertainty can also be reduced.
- the possible incursion 910 changes over time as the vehicle 902 approaches the hazard object.
- the time of arrival of the vehicle 902 at the hazard object 906 , t approaches 0 (i.e., t ⁇ 0); and the hazard zone collapses to (i.e., is reduced to) the pose or the bounding box of uncertainty associated with the hazard object. That is, as the vehicle 902 approaches the hazard object 906 , the size of the bounding box is reduced as the uncertainty is reduced. Additionally, the amount (e.g., distance) of lateral movement of the hazard object 905 into the lane 904 is reduced.
- a graph 920 of FIG. 9 illustrates how the value of the possible incursion 910 ( ⁇ y v (t)) may evolves over time.
- the possible incursion 910 is equal to the lateral pose uncertainty 908 (as indicated by an initial value 922 ).
- the hazard object can move more into the lane (as indicated by a slope 924 ) up to the maximum lateral incursion 912 (as indicated by a maximum increase 926 ).
- the method 500 advances to 508 . Otherwise, the method 500 returns to 502 to check for additional hazard objects.
- the look-ahead distance can vary with the speed of the vehicle. For example, depending on the speed of the vehicle, the look-ahead distance can be varied in order to reduce computation time while still guaranteeing that, if a hazard object will interfere with the current vehicle trajectory, sufficient time is available to either stop or comfortably (e.g., safely) steer the vehicle. For example, if four seconds of look-ahead time are required, the appropriate look-ahead distance would be 48 meters where the vehicle is travelling at 12 meters per second. If the vehicle were travelling at 30 meters per second (e.g., when traveling on a highway), the appropriate look-ahead distance would be 120 meters.
- the method 500 determines whether any hazard zones on opposite sides of the vehicle overlap.
- Such hazard zones may overlap where they overlap in the longitudinal direction. That is, in a direction of travel of the vehicle, the lengths of the hazard zones in the direction of travel along opposite sides of the vehicle overlap at least in part. This is discussed further below starting with FIG. 15 .
- the object avoidance layer 406 processes the detected objects systematically at 510 , starting with any detected static hazard objects.
- the drivable area is adjusted for the static hazard objects.
- the drivable area of the lane may be adjusted in the area of the bins 616 , 618 so that the right hard boundary is the boundary 614 .
- a longitudinal constraint associated with each static hazard object may be determined based on a time of arrival of the vehicle at the hazard zone.
- the time of arrival of the vehicle 602 at the bin 616 based on the discrete-time speed plan of the current trajectory.
- the current trajectory may correspond to the coarse driveline 603 of the vehicle 602 .
- the object avoidance layer 406 can adjust the current discrete-time speed plan for the static hazard objects based on their respective constraints. For example, and referring again to an implementation of FIG. 6 , the object avoidance layer 406 can adjust the discrete-time speed plan using the discrete-time speed plan module 428 to stop the vehicle 602 before or upon reaching the location 622 identified by the lateral constraint of the static hazard object.
- the longitudinal constraint of the static hazard object at bins 616 , 618 can be used to determine a longitudinal contingency that is a reduction in the speed of the vehicle 602 (e.g., a target deceleration) in a comfortable (e.g., for passengers) and legal way that stops at the location 622 .
- the gap 624 from the left boundary 604 to the hazard zone boundary 614 is sufficiently wide for the vehicle 602 to avoid the hazard zone, and hence the static hazard object.
- the object avoidance layer 406 can adjust the driveline, the current discrete-time speed plan, or both, to allow the vehicle 602 to pass through the gap 624 .
- the longitudinal constraint of the static hazard object can be used to determine a lateral contingency that is a change in the position of the vehicle 602 leftward in a comfortable and legal way to pass the static hazard object through the gap 624 .
- the longitudinal constraint may identify a change in pose (e.g., direction) of the vehicle 602 at locations leading up to and past the static hazard object that does not require a longitudinal contingency (e.g., a change in the speed of the vehicle 602 ) to be applied to the current trajectory. This represents an updated driveline.
- the longitudinal constraint may be used to determine a longitudinal contingency that modifies the speed of the vehicle 602 .
- Each of the static hazard objects may be considered in turn (such as from the closest to the furthest from the vehicle 602 ). If a static hazard object does not require a change in the discrete-time speed plan, the current discrete-time speed plan (for example, the original strategic speed profile or a discrete-time speed plan from a previous iteration) is unchanged. In some implementations, more than one gap may result from a static hazard object. In such an implementation, each gap may be considered separately at the object avoidance layer 406 , together with other hazard objects to determine alternative drivelines and/or discrete-time speed plans that may be considered at the proactive trajectory optimization layer 408 .
- references to a discrete-time speed plan may refer to a target driveline, one or more target speeds along the driveline, a target acceleration, a target deceleration, or any combination thereof.
- any dynamic hazard objects may be considered in turn at 510 .
- the object avoidance layer 406 can adjust the current discrete-time speed plan for the dynamic hazard objects based on their respective constraints. If a dynamic hazard object is not a constraint (e.g., its constraints do not interfere with the current discrete-time speed plan of the vehicle), then it can be ignored by the object avoidance layer 406 . Desirably, the dynamic hazard objects are considered in order based on the closest to the furthest future time that a dynamic hazard object and the vehicle being controlled may meet based on the current driveline and discrete time-speed plan. This facilitates an iterative process whereby a change made to address a dynamic hazard object at an earlier location may be considered in whether changes are required to address a dynamic hazard object at a subsequent location along the path of the vehicle being controlled.
- the locations of vehicles 702 , 802 at times in the future are respectively predicted.
- the locations of the vehicles 704 , 804 at times in the future are respectively predicted.
- the hazard zone of the parked vehicle 806 is considered as it relates to the predicted trajectory of the dynamic hazard object, i.e., the vehicle 804 .
- the hazard zones for each of the dynamic hazard objects may be determined over time (e.g., at t, t+1, and t+2) using the maximum lateral incursion of the dynamic hazard object and the velocity at which the dynamic hazard object or a portion thereof is predicted to move laterally within the lane.
- the hazard zone may include the dynamic hazard and any bounding box, such as the bounding box 905 of FIG. 9 , located at a position corresponding to the calculated incursion.
- the incursion at one or more future points in time of either of the vehicles 704 , 804 may be calculated according to formula (1).
- a longitudinal constraint associated with each dynamic hazard object may be determined at 510 based on a time of arrival of the vehicle at the hazard zone.
- the time of arrival generally corresponds to the expected time of arrival of the vehicle 702 at location 706 .
- the time of arrival is the expected time of arrival at the intersection between locations 812 , 818 along the respective trajectories of the vehicles 802 , 804 .
- the hazard zone may be determined at 506 once for the entirety of the look-ahead distance or time.
- the hazard zone for a dynamic hazard object can change over the entirety of the look-ahead distance or time.
- the time of arrival at a dynamic hazard object can depend upon the size and shape of the hazard zone for the dynamic hazard object. Accordingly, and although not expressly described in the examples of FIGS.
- determining the hazard zone at 506 may be performed for each point in time where a future location of the dynamic hazard object is predicted.
- the hazard zone for the dynamic hazard object that includes (e.g., defines) a target lateral constraint may be, again referring to FIGS. 7 and 8 as examples, the hazard zone determined at location 712 in FIG. 7 and the hazard zone determined at location 818 in FIG. 8 .
- the lateral constraint may be determined by combining (e.g., averaging, weighted averaging, etc.) the lateral constraints from adjacent hazard zones.
- the lateral constraint and the longitudinal constraint are dynamic object constraints used within the dynamic object constraint module 432 .
- the object avoidance layer 406 can adjust the current discrete-time speed plan for the dynamic hazard objects based on their respective constraints. How the dynamic object constraints are used to adjust the current discrete-time speed plan is more clearly explained with reference to FIG. 10 , which is a diagram of trajectory planning for the vehicle being controlled.
- a vehicle may ignore a potential hazard until the potential hazard is confirmed as a hazard object that may interfere with the vehicle's path of travel or is confirmed as a false positive (e.g., the potential hazard was sensor error).
- a vehicle may treat every potential hazard as a hazard object that may interfere with the vehicle's path of travel.
- the reactive capabilities of the vehicle are considered in planning a proactive trajectory that minimizes speed and/or lateral changes in movement responsive to a potential hazard while still allowing for a comfortable and safe reactive response (i.e., a reactive trajectory) in the event a hazard object interferes with the path of the vehicle.
- a vehicle 1002 is in a lane 1004 .
- An object 1005 is on the side of the lane 1004 .
- a bounding box 1006 that expands the actual/real size of the object 1005 can be associated with the object 1005 .
- a box i.e., a bounding box
- the shape of uncertainty can be any other shape.
- the hazard object comprises a vehicle on a side of the road whose door may open.
- an initial or nominal trajectory or path 1008 for the vehicle 1002 is determined as described above that heads straight forward.
- the nominal trajectory 1008 in many cases, would be a natural method of passing the hazard object 1005 .
- drivers routinely closely pass by other similar constraints such as bushes and barriers.
- the nominal path 1008 does not take into account potential hazards.
- a door 1010 of the object 1005 may open at any point in time.
- the door 1010 is illustrated as a dashed line to indicate that the door 1010 is not yet open but that it might open. It is also possible that the door 1010 may open at a point in time where the vehicle 1002 is too close to the hazard object 1005 . In such a situation, either the vehicle 1002 is too close and cannot be controlled to stop before colliding with the door 1010 ; or the vehicle 1002 may need to perform a drastic emergency maneuver to avoid the door 1010 .
- the drastic emergency maneuver may be a hard braking maneuver, a sharp turn away from the door 1010 , or a combination thereof. Such drastic emergency maneuver(s) may be, at the least, undesirable (even if predicted) by an occupant of the vehicle 1002 .
- a naive path or trajectory 1012 may be planned for the vehicle 1002 to avoid emergency maneuvers.
- the naive trajectory 1012 would move the vehicle 1002 significantly laterally to avoid the door 1010 whether the door 1010 opens or not. Controlling the vehicle 1002 according to the naive trajectory 1012 may also be undesirable by an occupant of the vehicle 1002 .
- a proactive trajectory 1014 can be planned (e.g., by the object avoidance layer 406 and the proactive trajectory optimization layer 408 of the proactive trajectory planner 308 ) that includes a lateral contingency in the form of a slight lateral deviation from the nominal trajectory 1008 that is not as drastic of a deviation as that of the naive trajectory 1012 .
- the proactive trajectory 1014 can be such that if the door 1010 does open, the vehicle 1002 can be controlled to perform a reasonable emergency maneuver.
- the vehicle 1002 can be controlled to perform a reasonable emergency maneuver to follow a path 1018 (e.g., using the reactive trajectory control 310 ).
- the example 1050 illustrates how a proactive trajectory can incorporate a longitudinal (e.g., speed) contingency in addition to, or instead of, a lateral contingency.
- the example 1050 assumes that a vehicle may be driving according a nominal trajectory that includes a nominal speed plan 1052 .
- the vehicle may be driving on a turning road where an occluded object 1054 exists.
- the vehicle can proceed according to the nominal speed plan 1052 , thereby disregarding the possibility that the object 1054 is present. If the vehicle were to so proceed, perception of the object 1054 may be too late to stop the vehicle. That is, a speed 1056 where the vehicle reaches the object 1054 is not zero.
- a naive trajectory that includes a naive speed plan 1058 may be determined (e.g., planned, calculated, etc.) for the vehicle.
- the naive trajectory significantly reduces the speed of the vehicle whether the object 1054 exists or does not exist.
- a proactive trajectory that incorporates a longitudinal contingency is represented by the proactive speed plan 1060 and is such that the vehicle is capable of stopping if the object 1054 is detected. If the vehicle is controlled according to the proactive trajectory (e.g., the proactive speed plan 1060 ), the object 1054 may be perceived when the vehicle reaches the location represented by point 1062 .
- An emergency trajectory represented by an emergency speed plan 1064 e.g., one or more emergency maneuvers can be performed to bring the speed of the vehicle to zero (or to a following speed) before the vehicle arrives at the location of the object 1054 .
- the discrete-time speed plan module 428 of the object avoidance layer 406 can iteratively compute the target speed and acceleration/deceleration for a vehicle based on the constraints imposed by the static object constraint module 430 and the dynamic object constraint module 432 .
- the plan may be calculated for the look-ahead time.
- the discrete-time speed plan module 428 can set (i.e., select, determine, or otherwise set) a tracking mode for at least some of the static and/or dynamic objects.
- the tracking mode can be one of “close gap,” “maintain gap,” “open gap,” “brake,” or “follow.”
- the available tracking modes can include fewer, more, or other tracking modes.
- the tracking mode can be used to select sets of tuning parameters used by the discrete-time speed plan module 428 .
- the tuning parameters can include target acceleration, hysteresis parameters, and other tuning parameters.
- the discrete-time speed plan module 428 determines that the vehicle can be operated based on the strategic speed plan (as determined by the reference-trajectory generation layer 404 ).
- a longitudinal contingency may be included for the proactive trajectory. For example, where the longitudinal constraint indicates that the tracking mode is to “brake,” the discrete-time speed plan module 428 calculates a speed profile to stop the vehicle. That is, a deceleration speed profile is calculated to bring the vehicle to a stop, e.g., using the current speed of the vehicle and the distance to the hazard object.
- any lateral contingency can be determined using maneuverability parameters of the vehicle being controlled.
- the maneuverability parameters can include a mass of the vehicle, a load of the vehicle, or both. Additional parameters, such as road topology, road conditions, etc., may be used to determine a lateral contingency or a longitudinal contingency. Maneuverability parameters related to an emergency maneuver that the vehicle may have to perform can also be used as constraints in generating of the proactive trajectory.
- the proactive trajectory optimization layer 408 performs an optimization operation(s), such as a constrained operation, to determine an optimal proactive trajectory for the vehicle being controlled.
- Inputs may include the possible time-speed plans, the motion model (e.g., the kinematic motion model) of the vehicle, the coarse driveline and/or the center points of the bins along the coarse driveline, and the adjusted drivable area (e.g., the left and the right boundaries of the adjusted drivable area) to calculate (e.g., determine, generate, etc.) the proactive trajectory for the vehicle.
- the proactive trajectory planner 308 e.g., the proactive trajectory optimization module 408
- the optimization operation can be based on, or can include, a quadratic penalty function.
- the optimization operation can be based on, or can include, a logarithmic barrier function.
- the quadratic penalty function can be used with soft constraints while logarithmic barrier function can be used with hard constraints.
- Maneuverability parameters (related to an emergency maneuver that the AV may have to perform if a hazard materialized) can be used as constraints in the generating of the contingency trajectory.
- the method 500 controls the vehicle according to the proactive trajectory.
- a reactive trajectory control module such as the reactive trajectory control 310 of FIG. 3 , can calculate a safe deviation from the proactive trajectory in response to the detection that causes the vehicle to perform the maneuver.
- the method 500 controls the vehicle according to the proactive trajectory at 514 .
- the method 500 repeats and continues to do so unless there are changes required to the proactive trajectory.
- a single path/trajectory for each dynamic hazard object is used to determine the hazard zone for the look-ahead period. That is, a trajectory is predicted based on what is expected by the vehicle.
- conventional behavior indicates that the vehicle 704 would merge into the lane to a trajectory that overlaps the trajectory 703 .
- conventional behavior indicates that the vehicle 804 would slow down and move closer into the lane to pass the vehicle 806 before returning to the right edge from which it originally moved.
- a dynamic hazard object may travel along different paths at any given point in the look-ahead period due to human (e.g., driver) error, the appearance of previously undetected objects, etc.
- the method 1100 may be used with some, all, or none of the dynamic hazard objects detected in the method 500 at 502 .
- the dynamic properties of the dynamic hazard objects are determined. As described previously, these properties may include the pose (e.g., heading) and the speed (i.e., velocity) of the dynamic hazard object. However, they may also include other dynamic properties detected while the object is moving such as acceleration or deceleration.
- a dynamic model of the dynamic hazard object is determined based on a classification of the dynamic hazard object.
- the classification of the dynamic hazard object can be one of a motorized vehicle, a non-motorized vehicle, or a pedestrian.
- the classification of the dynamic hazard object comprises a make and a model of a motorized vehicle.
- a plurality of dynamic models may be stored in memory, such as in the world model 302 , where each of the plurality of dynamic models is associated with a respective classification. Then, the classification may be used to select the dynamic model from the plurality of dynamic models.
- the method 1100 can also include classifying the dynamic hazard object into one or more available classifications.
- the dynamic model may represent at least one of a maximum acceleration, a minimum turning radius, a maximum turning radius, a maximum velocity, or a maximum deceleration of the dynamic hazard object.
- the dynamic model can be specific to a make and a model of a motorized vehicle when the dynamic hazard object is determined to be the make and model.
- a range of trajectories for the dynamic hazard object are predicted using the dynamic model and the dynamic properties.
- the predicted range of trajectories for the first hazard object can include a predicted trajectory and deviations from the predicted trajectory.
- the predicted trajectory can be the most likely trajectory given the current dynamic properties, while the range is determined by possible changes to the trajectory due to changes in the current dynamic properties based on the dynamic model.
- the predicted range of trajectories can change over time.
- hazard zone for the dynamic hazard object may be determined by selecting the hazard zone from the range of trajectories.
- a trajectory from the range of trajectories is selected based on, for example, the presence of other hazard objects, the conditions in which the dynamic hazard object is traveling (e.g., weather, type of road, etc.), or other conditions that may make one trajectory more likely than another. Then, the hazard zone over time can be determined from the trajectory and selected for use in the method 500 .
- a plurality of hazard zones may be determined, each associated with a respective trajectory of the predicted range of trajectories. Then, the hazard zone may be selected from the plurality of hazard zones. For example, the hazard zone may be whichever hazard zone of the plurality of hazard zones represents a maximum lateral incursion into the direction of travel of the vehicle.
- the method 1100 may be demonstrated with reference to FIG. 12 .
- the vehicle 1202 to be controlled is traveling along a lane
- the dynamic hazard object is an oncoming vehicle 1204 .
- the vehicle 1204 would be predicted to travel along trajectory 1214 for the look ahead period.
- the proactive trajectory 1212 for the vehicle 1202 is determined in consideration of the hazard zone so as to perform the minimum proactive lateral maneuver that maintains the reactive capability of the vehicle 1202 .
- the hazard zone may increase over time if the vehicle 1204 deviates from its nominal behavior (e.g., the vehicle 1204 accelerates longitudinally and laterally).
- the cut-out 1234 is determined at t ⁇ t3 where the vehicle 1204 follows the trajectory 1224 .
- the minimum proactive lateral maneuver that maintains the reactive capability of the vehicle 1202 is graphed over time.
- Curve 1250 represents where the vehicle 1204 follows the trajectory 1214 .
- the cut-out 1230 conforms to a lateral distance of D 1 .
- Curve 1254 represents where the vehicle 1204 follows the trajectory 1224 .
- the cut-out 1234 requires a larger value for the minimum proactive lateral maneuver to maintain the reactive capability of the vehicle 1202 .
- the longitudinal intersection point shifts closer (t ⁇ t 3 ) as shown by the arrow.
- the longitudinal intersection point shifts similarly to the curve 1254 , but the minimum proactive lateral maneuver to maintain the reactive capability of the vehicle 1202 is a smaller value than associated with the curve 1254 .
- FIGS. 13 A and 13 B are diagrams showing a predicted range of trajectories for a parallel dynamic hazard object.
- a parallel dynamic hazard object is an object traveling generally in the same direction as the vehicle being controlled, as opposed to an oncoming dynamic hazard object. These diagrams illustrate how a vehicle may anticipate and prepare for potential lane merges based on the adjacent vehicle's predicted range.
- the vehicle 1502 being controlled is traveling in a lane of a two-lane road.
- the vehicle 1502 is implementing a longitudinal contingency of following the vehicle 1504 .
- a predicted range of trajectories 1508 A may be considered for determining a hazard zone as described with regards to FIG. 12 .
- the pose of the adjacent vehicle 1506 has changed, as has the prediction range of trajectories.
- the proactive trajectory includes a longitudinal contingency that gradually increases deceleration of the vehicle 1502 as the possibility of a lane merge increases.
- FIG. 14 is another diagram showing a predicted range of trajectories for a parallel dynamic hazard object.
- This situation 1600 demonstrates that the predicted range of trajectories of a hazard object may be used to consider the visibility of the vehicle 1602 being controlled from other road users (i.e., hazard objects).
- the vehicle 1602 is traveling in the right lane of a two-lane road.
- the dynamic hazard object is an adjacent vehicle 1604 traveling in the left lane.
- a first range of trajectories 1608 A for the adjacent vehicle 1604 may be considered when determining a proactive trajectory for the vehicle 1602
- a second range of trajectories that further includes the trajectories 1608 B may be considered when determining a proactive trajectory for the vehicle 1602 when the vehicle 1602 is traveling in the blind spot 1606 of the adjacent vehicle 1604 . That is, the range of possible trajectories of the adjacent vehicle 1604 increases as the vehicle 1602 is in the driver's blind spot 1606 .
- the location of a blind spot may be known based on the classification of the adjacent vehicle 1604 described with respect to FIG. 12 .
- Increasing the range of trajectories to consider the visibility from the perspective of the dynamic hazard object acknowledges that the dynamic hazard object may take different actions when they are aware of the presence of the vehicle being controlled as compared to when they are not aware of its presence.
- hazard objects that sequentially occur in the path of a vehicle being controlled or where one or more hazard objects are predicted to concurrently exist either to the left or the right of the path of the vehicle.
- Hazard objects may be predicted to concurrently exist on both sides of the vehicle for at least part of the driveline of the vehicle being controlled. That is, hazard zones for hazard objects may overlap in the longitudinal direction.
- the above techniques may be used in this situation. In many circumstances, however, the above techniques would result in an inability of the vehicle to advance at all. For this reason, and referring back to FIG. 5 , the method 500 may also separately consider hazard zones that overlap at 508 .
- a first hazard zone (e.g., for a first hazard object) includes a first target lateral constraint that extends over a left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed constraint
- a second hazard zone (e.g., for a second hazard object) that includes a second target lateral constraint that extends over a right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint.
- the analysis previously described would result in the vehicle not being able to pass at all if both hazard zones are cut out of the drivable area.
- narrow streets e.g., residential streets
- streets with multiple hazard objects arranged in parallel on one or both sides of the vehicle that narrow an otherwise wide street e.g., city streets
- dual-sided buffer allocation may be used.
- the method 500 allocates a lateral buffer to respective lateral constraints for the hazard zones at 516 .
- a lateral buffer to a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object.
- Allocating the lateral buffer uses the first target lateral constraint and the second target lateral constraint as input. The allocation maximizes the allocated (e.g., assigned) lateral constraints while maintaining at least a minimum passing gap. Desirably, the allocation minimizes a difference in lateral constraint ratios between the two sides.
- One technique for allocating the lateral buffer is described with regards to FIGS. 17 - 23 .
- FIG. 15 shows assumptions made in the allocation at 516 .
- a vehicle 1700 is traveling within a lane defined by a left lane boundary 1702 and a right lane boundary 1703 .
- the lane boundaries may not be marked boundaries. Instead, they may be virtual boundaries based on a defined width for the lane.
- the left drivable area boundary 1712 and the right drivable area boundary 1714 correspond generally to the default drivable area defined by the left boundary 604 and the right boundary 606 in the description of FIG. 6 .
- the hazard zone 1722 determined at 506 has a target lateral constraint.
- the hazard zone 1724 determined at 506 also has a target lateral constraint.
- a target lateral constraint As can be seen in FIG. 15 , there are one or more hazard objects on opposite sides of the vehicle 1700 that overlap in the direction of travel of the vehicle 1700 .
- the target lateral constraint for the hazard zone 1722 of the hazard object A extends in the lane beyond both the left lane boundary 1702 and left drivable area boundary 1712 .
- the target lateral constraint for the hazard zone 1724 of the hazard object B extends into the lane beyond both the right lane boundary 1704 and right drivable area boundary 1714 .
- the dual-sided buffer allocation described herein uses this information to allocate a lateral buffer to (e.g., between) a first allocated lateral constraint for the first hazard object A and a second allocated lateral constraint for the second hazard object B.
- the first allocated lateral constraint is associated with an updated first hazard zone 1732
- the second allocated lateral constraint is associated with an updated second hazard zone 1734 .
- FIG. 16 illustrates variables used in the dual-sided buffer allocation.
- y A is the rightmost boundary of hazard object A
- y L is the left drivable area boundary
- y l is the left lane boundary
- y A is the target (e.g., desired, maximum) lateral constraint for the hazard object A
- y A * is the allocated (e.g., optimal, assigned) lateral constraint for the hazard object A.
- similar variables are associated with hazard object B.
- y B is the leftmost boundary of hazard object B
- y R is the right drivable area boundary
- y r is the right lane boundary
- y B is the target (e.g., desired, maximum) lateral constraint for the hazard object B
- y B * is the allocated (e.g., optimal, assigned) lateral constraint for the hazard object B.
- the above variables are measured on a descending scale from left to right. That is, the lowest value is the rightmost boundary of hazard object B, and the highest value is the leftmost boundary of hazard object A.
- Other arrangements are possible, such as defining the variables to ascend from left to right.
- the variables may be defined in feet, meters, etc. Assuming the scale descends from left to right, the following equation (e.g., formula) applies:
- ⁇ y is the width of the lane.
- a variable ⁇ y min is a minimum passing gap.
- ⁇ y A is the difference between the rightmost boundary of the hazard object A and the target left lateral constraint
- ⁇ y A is the difference between the rightmost boundary of the hazard object A and the left lane boundary
- ⁇ y A * is the difference between the left lane boundary and the allocated left (or first) lateral constraint
- ⁇ y B is the difference between the leftmost boundary of the hazard object B and the target right lateral constraint
- ⁇ y B is the difference between the leftmost boundary of the hazard object B and the right lane boundary
- ⁇ y B * is the difference between the right lane boundary and the allocated right lateral constraint.
- the left lane boundary 1702 and the left drivable area boundary 1712 and the right lane boundary 1704 and the right drivable area boundary 1714 are the same in FIGS. 17 and 18 , this is not necessary, as described above with regards to FIG. 6 . They are shown separately to identify more easily variables in FIG. 16 for use in the allocation.
- the first allocated lateral constraint and the second allocated lateral constraint are shown respectively spaced apart from the first lateral constraint, the left lane boundary 1702 , and the left drivable area boundary 1712 , and from the right lateral constraint, the right lane boundary 1704 , and the right drivable area boundary 1714 , for a similar reason.
- the first allocated lateral constraint and the second allocated lateral constraint have a range of possible values. For example, assuming:
- the available lateral buffer may be divided by selecting values for the minimum passing gap ⁇ y min and one of the allocated lateral constraints, and solve for the other allocated lateral constraint.
- the minimum passing gap may be a width of the vehicle 1700 plus a bounding box.
- An allocated lateral constraint may be selected based on the status of the hazard object in some implementations.
- the allocated lateral constraint may be set to be no more than the target lateral constraint where the hazard object is a recently-parked vehicle, may be set to be less than the target lateral constraint where the hazard object is a static vehicle that has been observed over multiple cycles, or may be set to be greater than the target lateral constraint where the hazard object is a dynamic hazard object.
- Solving for the dual-sided buffer allocation may be an iterative process.
- dividing up e.g., allocating, assigning, etc.
- the available lateral space may be achieved by minimizing the difference between the allocated lateral constraint ratios of the two sides.
- ratios are first defined as follows:
- ⁇ 0 ⁇ y B / ⁇ y B , (17)
- the problem is to maximize the sum of the respective ratios of the difference between the hazard object's innermost boundary and the lane boundary and the difference between the hazard object's innermost boundary and the target lateral constraint, and the respective ratios of the difference between the lane boundary and the allocated lateral hazard and the difference between the hazard object's innermost boundary and the target lateral constraint, while satisfying the inequality constraint of equation (15). More specifically, the problem may be defined as follows:
- FIGS. 19 - 22 are diagrams that illustrate the four distinct situations resulting in different optimal solutions for dual-sided buffer allocation.
- the left side of each figure shows the some of the inputs for the allocation equations (15), (22), and (23), including the first target lateral constraint 1742 and the second target lateral constraint 1744 (shown by the dashed lines).
- the right side of each figure shows the outputs of the allocation equations (24) and (25) using the resulting solution for ⁇ * and ⁇ *, namely the allocated first lateral constraint 1752 and the allocated second lateral constraint 1754 .
- the diagram of FIG. 17 shows a situation where the maximum extent of each of the first target lateral constraint 1742 and the second target lateral constraint 1744 can be satisfied while maintaining the minimum passing gap ⁇ y min , that is, ⁇ y min ⁇ y ⁇ ( ⁇ y A ⁇ y A + ⁇ y B ⁇ y B ).
- ⁇ y min ⁇ y ⁇ ( ⁇ y A ⁇ y A + ⁇ y B ⁇ y B ).
- the solutions for ⁇ * and ⁇ * e.g., from equations (18) and (19) are:
- the vehicle 1700 being controlled can easily pass both hazard objects.
- the hazard zone A is further from the lane than the hazard zone B.
- the hazard zone A is closer to the lane than the hazard zone B.
- the hazard zone A and the hazard zone B are each closer to the lane than the situation shown in FIG. 17 .
- each of ⁇ 0 and ⁇ 0 have values that are at least equal to 0 and less than 1.
- Each represents a ratio of the difference between the hazard object's innermost boundary and the lane boundary (i.e., ⁇ y A , ⁇ y B ) and the difference between the hazard object's innermost boundary and the target lateral constraint (i.e., ⁇ y A , ⁇ y B ). Accordingly, the value for ⁇ has the same range of 0 ⁇ 1.
- the drivable area of the lane may be reduced as shown by the arrows such that less of the lateral buffer is allocated to the allocated first lateral constraint 1752 than allocated to the allocated second lateral constraint 1754 .
- a longitudinal contingency may be used to slow the vehicle 1700 because the target lateral constraints 1742 , 1744 are not satisfied.
- FIG. 19 The situation in FIG. 19 is similar to the situation shown in FIG. 18 , except that the left target lateral constraint 1742 extends further into the lane than the right target lateral constraint 1744 .
- Equations (28) and (29) yields an updated relationship for ⁇ y min represented by equation (30), where ⁇ 0 ⁇ 0 .
- the drivable area of the lane may be reduced as shown by the arrows such that less of the lateral buffer is allocated to the allocated second lateral constraint 1754 than allocated to the allocated first lateral constraint 1752 .
- a longitudinal contingency may be used to slow the vehicle 1700 because the target lateral constraints 1742 , 1744 are not satisfied.
- ⁇ y min is represented by a different inequality equation than equation (30), as follows:
- ⁇ * the solution for ⁇ * is:
- equation (36) is substituted into the inequality constraint of equation (15):
- ⁇ y min ⁇ y ⁇ * ⁇ y A ⁇ * ⁇ y B (37)
- ⁇ y min ⁇ y ⁇ * ⁇ y A ⁇ ( ⁇ 0 + ⁇ * ⁇ 0 ) ⁇ y B (38)
- ⁇ y min ⁇ y ⁇ *( ⁇ y A + ⁇ y B ) ⁇ ( ⁇ 0 ⁇ 0 ) ⁇ y B (39)
- the drivable area of the lane may be reduced as shown by the arrows such that equal portions of the lateral buffer are allocated to the allocated second lateral constraint 1754 and the allocated first lateral constraint 1752 .
- a longitudinal contingency may be used to slow the vehicle 1700 because the target lateral constraints 1742 , 1744 are not satisfied.
- respective longitudinal constraints may be determined at 518 in a like manner as described with regards to 510 . Thereafter, the allocated lateral constraints and respective longitudinal constraints may be used in the process of determining the proactive trajectory at 512 as previously described.
- FIG. 21 is a diagram of an example of applying dual-sided buffer allocation according to implementations of this disclosure.
- the vehicle 2302 under control is traveling a lane with hazard objects in the form of parked vehicles 2304 on the left side of the lane and parked vehicles 2306 on the right side of the lane.
- a hazard object in the form of an oncoming vehicle 2308 is also present.
- the parked vehicles 2304 do not affect the trajectory of the vehicle 2302 .
- the lateral constraint imposed by a parked vehicle of the parked vehicles 2306 is such that the passing gap is at least equal to ⁇ y min .
- the lateral constraint may be determined to prevent the vehicle 2302 from contact with a car door if opened.
- the vehicle 2302 can advance without a longitudinal contingency.
- the oncoming vehicle 2308 and the vehicle 2302 cross paths.
- the target lateral constraints 2312 for the hazard objects may be used as input into the dual-sided buffer allocation to determine the allocated lateral constraints 2314 .
- the proactive trajectory of the vehicle 2302 includes a lateral contingency that moves the vehicle 2302 closer to the parked vehicles 2306 , because the materializing hazard (i.e., the oncoming vehicle 2308 ) may be prioritized over the less likely or non-materializing hazard (i.e., the parked car door).
- the passing gap is at least equal to ⁇ y min , but a longitudinal contingency (i.e., a reduction in speed) is desirable because the target lateral constraints 2312 are not satisfied (e.g., there is insufficient lateral buffer).
- FIG. 22 is a diagram of another example of applying dual-sided buffer allocation according to implementations of this disclosure.
- the vehicle 2402 under control is traveling a lane with hazard objects in the form of parked vehicles 2304 on the left side of the lane.
- a parallel dynamic hazard object e.g., one that is traveling in the same direction as the vehicle 2402
- a cyclist 2406 is also present.
- lateral constraints are imposed by the parked vehicles 2404 and by the cyclist 2406 .
- the target lateral constraints 2412 for the parked vehicles 2404 may be determined to prevent the vehicle 2302 from contact with a car door if opened.
- the target lateral constraint 2414 for the cyclist 2406 may be determined as described previously with regards to dynamic hazard objects.
- the target lateral constraints 2412 , where B and C represent the parked vehicles 2306 , and the target lateral constraint 2414 , where A represents the cyclist 2406 , may be used as input into the dual-sided buffer allocation to determine the allocated lateral constraints, shown in the solid lines.
- the proactive trajectory of the vehicle 2302 may include a lateral contingency that moves the vehicle 2302 closer to the parked vehicles 2304 , again because the materializing hazard (i.e., the cyclist 2406 ) may be prioritized over the less likely or non-materializing hazard (i.e., the parked car door).
- a longitudinal contingency is also desirable because the target lateral constraints 2412 , 2414 are not satisfied (e.g., there is insufficient lateral buffer).
- the classification of the dynamic hazard object i.e., a bicycle
- the classification of the dynamic hazard object may be used to include a longitudinal contingency that follows the cyclist 2406 , instead of reducing its speed to slowly pass the cyclist 2406 through the passing gap, which is at least equal to ⁇ y min .
- the target lateral constraint 2414 can be cut out of the drivable area and the passing gap remains at least equal to ⁇ y min Accordingly, the vehicle 2402 can follow a proactive trajectory that includes a lateral contingency that moves further away from the cyclist 2406 and a longitudinal contingency that accelerates the vehicle 2402 to pass the cyclist 2406 .
- the terminology “passenger”, “driver”, or “operator” may be used interchangeably.
- the terminology “brake” or “decelerate” may be used interchangeably.
- the terminology “processor”, “computer”, or “computing device” includes any unit, or combination of units, capable of performing any method, or any portion or portions thereof, disclosed herein.
- instructions may include directions or expressions for performing any method, or any portion or portions thereof, disclosed herein, and may be realized in hardware, software, or any combination thereof.
- instructions may be implemented as information, such as a computer program, stored in memory that may be executed by a processor to perform any of the respective methods, algorithms, aspects, or combinations thereof, as described herein.
- instructions, or a portion thereof may be implemented as a special-purpose processor or circuitry that may include specialized hardware for carrying out any of the methods, algorithms, aspects, or combinations thereof, as described herein.
- portions of the instructions may be distributed across multiple processors on a single device, or on multiple devices, which may communicate directly or across a network, such as a local area network, a wide area network, the Internet, or a combination thereof.
- any example, embodiment, implementation, aspect, feature, or element is independent of each other example, embodiment, implementation, aspect, feature, or element and may be used in combination with any other example, embodiment, implementation, aspect, feature, or element.
- the terminology “determine” and “identify,” or any variations thereof, includes selecting, ascertaining, computing, looking up, receiving, determining, establishing, obtaining, or otherwise identifying or determining in any manner whatsoever using one or more of the devices shown and described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
Abstract
Description
- This application is related to U.S. patent application Ser. No. 16/528,204, filed Jul. 31, 2019, the content of which is incorporated herein in its entirety by reference.
- This application relates to risk mitigation for autonomous vehicles, including proactive risk mitigation in trajectory planning for autonomous vehicles.
- Increasing autonomous vehicle usage creates the potential for more efficient movement of passengers and cargo through a transportation network. Moreover, the use of autonomous vehicles can result in improved vehicle safety and more effective communication between vehicles. However, external objects make traversing the transportation network difficult.
- Disclosed herein are aspects, features, elements, and implementations for proactive risk mitigation.
- An aspect of the disclosed implementations is a method for proactively mitigating risk to a vehicle traversing a vehicle transportation network. The method can include determining a first hazard zone for a first hazard object ahead of the vehicle in a direction of travel of the vehicle. The vehicle is traversing a lane within the vehicle transportation network, the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel, and the first hazard zone includes a first target lateral constraint that extends over the left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed constraint. The method can further include determining a second hazard zone for a second hazard object ahead of the vehicle in the direction of travel, wherein the second hazard zone includes a second target lateral constraint that extends over the right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint. The method can include allocating, for each discretized time and location where the first hazard zone and the second hazard zone overlap in the longitudinal direction, a lateral buffer to a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object. Allocating the lateral buffer uses the first target lateral constraint and the second target lateral constraint as input. The method can also include determining a first longitudinal constraint based on a first time of arrival of the vehicle at the first hazard zone, determining a second longitudinal constraint based on a second time of arrival of the vehicle at the second hazard zone, determining, using the first allocated lateral constraint, the second allocated lateral constraint, the first longitudinal constraint, and the second longitudinal constraint, a proactive trajectory for the vehicle comprising at least one of a lateral contingency or a longitudinal contingency, and controlling the vehicle according to the proactive trajectory.
- An aspect of the disclosed implementations is an apparatus for proactively mitigating risk to a vehicle traversing a vehicle transportation network. The apparatus includes a processor. The processor can be configured to determine a first hazard zone for a first hazard object ahead of the vehicle in a direction of travel of the vehicle and determine a second hazard zone for a second hazard object ahead of the vehicle in the direction of travel. The vehicle is traversing a lane within the vehicle transportation network, the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel, the first hazard zone includes a first target lateral constraint that extends over the left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed, and the second hazard zone includes a second target lateral constraint that extends over the right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint. The processor can be configured to allocate, for each discretized time and location where the first hazard zone and the second hazard zone overlap in the longitudinal direction, a lateral buffer to a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object, wherein to allocate the lateral buffer comprises to allocate the lateral buffer using the first target lateral constraint and the second target lateral constraint as input. The processor can be configured to determine a first longitudinal constraint based on a first time of arrival of the vehicle at the first hazard zone, determine a second longitudinal constraint based on a second time of arrival of the vehicle at the second hazard zone, determine, using the first allocated lateral constraint, the second allocated lateral constraint, the first longitudinal constraint, and the second longitudinal constraint, a proactive trajectory for the vehicle comprising at least one of a lateral contingency or a longitudinal contingency, and transmit signals to control the vehicle according to the proactive trajectory.
- An aspect of the disclosed implementations is a vehicle that includes a processor. The processor is configured to proactively mitigate risk to the vehicle while traversing a vehicle transportation network by determining a first hazard zone for a first hazard object ahead of the vehicle in a direction of travel of the vehicle, wherein the vehicle is traversing a lane within the vehicle transportation network, the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel, and the first hazard zone includes a first target lateral constraint that extends over the left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed constraint, determining a second hazard zone for a second hazard object ahead of the vehicle in the direction of travel, wherein the second hazard zone includes a second target lateral constraint that extends over the right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint, allocating, for each discretized time and location where the first hazard zone and the second hazard zone overlap in the longitudinal direction, a lateral buffer to at least one of the first target lateral constraint or the second target lateral constraint to respectively generate a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object, determining a first longitudinal constraint based on a first time of arrival of the vehicle at the first hazard zone, determining a second longitudinal constraint based on a second time of arrival of the vehicle at the second hazard zone, determining, using the first allocated lateral constraint, the second allocated lateral constraint, the first longitudinal constraint, and the second longitudinal constraint, a proactive trajectory for the vehicle comprising at least one of a lateral contingency or a longitudinal d contingency, and controlling the vehicle according to the proactive trajectory.
- Another method for proactively mitigating risk to a vehicle traversing a vehicle transportation network described herein can include determining dynamic properties of a dynamic hazard object detected ahead of the vehicle in a direction of travel of the vehicle, determining a dynamic model of the dynamic hazard object based on a classification of the dynamic hazard object, predicting a range of trajectories for the dynamic hazard object using the dynamic model and the dynamic properties, determining, for the dynamic hazard object, a hazard zone associated with a trajectory of the predicted range of trajectories, determining a time of arrival of the vehicle at the hazard zone, determining, using the time of arrival, a proactive trajectory comprising at least one of a lateral contingency or a longitudinal contingency, and controlling the vehicle according to the proactive trajectory.
- Another apparatus for proactively mitigating risk to a vehicle traversing a vehicle transportation network described herein also includes a processor. The processor can be configured to determine dynamic properties of a dynamic hazard object detected ahead of the vehicle in a direction of travel of the vehicle, determine a dynamic model of the dynamic hazard object based on a classification of the dynamic hazard object, predict a range of trajectories for the dynamic hazard object using the dynamic model and the dynamic properties, determine, for the dynamic hazard object, a hazard zone associated with a trajectory of the predicted range of trajectories, determine a time of arrival of the vehicle at the hazard zone, determine, using the time of arrival, a proactive trajectory comprising at least one of a lateral contingency or a longitudinal contingency, and transmit signals to control the vehicle according to the proactive trajectory.
- Another vehicle described herein includes a processor. The processor can be configured to proactively mitigate risk to the vehicle while traversing a vehicle transportation network by detecting a dynamic hazard object ahead of the vehicle in a direction of travel of the vehicle, determining dynamic properties of the dynamic hazard object while the dynamic hazard object is moving, determining a dynamic model of the dynamic hazard object based on a classification of the dynamic hazard object, predicting a range of trajectories for the dynamic hazard object using the dynamic model and the dynamic properties, determining, for the dynamic hazard object, a hazard zone associated with a trajectory of the predicted range of trajectories, determining a time of arrival of the vehicle at the hazard zone, determining, using the time of arrival, a proactive trajectory comprising at least one of a lateral contingency or a longitudinal contingency, and controlling the vehicle according to the proactive trajectory.
- These and other aspects of the present disclosure are disclosed in the following detailed description of the embodiments, the appended claims, and the accompanying figures.
- The disclosed technology is best understood from the following detailed description when read in conjunction with the accompanying drawings. It is emphasized that, according to common practice, the various features of the drawings may not be to scale. On the contrary, the dimensions of the various features may be arbitrarily expanded or reduced for clarity. Further, like reference numbers refer to like elements throughout the drawings unless otherwise noted.
-
FIG. 1 is a diagram of an example of a portion of a vehicle in which the aspects, features, and elements disclosed herein may be implemented. -
FIG. 2 is a diagram of an example of a portion of a vehicle transportation and communication system in which the aspects, features, and elements disclosed herein may be implemented. -
FIG. 3 is a diagram of a system for vehicle control using proactive risk mitigation according to implementations of this disclosure. -
FIG. 4 is a diagram of layers of a proactive trajectory planner according toFIG. 3 . -
FIG. 5 is a flowchart diagram of a method for proactive risk mitigation according to implementations of this disclosure. -
FIG. 6 is a diagram of an example of determining a hazard zone for a static hazard object in accordance with an implementation of this disclosure. -
FIG. 7 is a diagram of a single trajectory for a dynamic hazard object. -
FIG. 8 is a diagram of a single trajectory for another dynamic hazard object. -
FIG. 9 is a diagram of an example of determining a hazard zone in accordance with an implementation of this disclosure. -
FIG. 10 is a diagram of trajectory planning according to implementations of this disclosure. -
FIG. 11 is a flowchart diagram of a method for proactive risk mitigation where a predicted range of trajectories for a dynamic object is considered. -
FIG. 12 is a diagram used to explain the method ofFIG. 11 . -
FIGS. 13A and 13B are diagrams showing a predicted range of trajectories for a parallel dynamic hazard object. -
FIG. 14 is another diagram showing a predicted range of trajectories for a parallel dynamic hazard object. -
FIGS. 15-20 are diagrams used to explain dual-sided buffer allocation according to implementations of this disclosure. -
FIG. 21 is a diagram of an example of applying dual-sided buffer allocation according to implementations of this disclosure. -
FIG. 22 is a diagram of another example of applying dual-sided buffer allocation according to implementations of this disclosure. - A vehicle may traverse a portion of a vehicle transportation network. The vehicle transportation network can include one or more unnavigable areas, such as a building; one or more partially navigable areas, such as a parking area (e.g., a parking lot, a parking space, etc.); one or more navigable areas, such as roads (which include lanes, medians, intersections, etc.); or a combination thereof.
- The vehicle may include one or more sensors. Traversing the vehicle transportation network may include the sensors generating or capturing sensor data, such as data corresponding to an operational environment of the vehicle, or a portion thereof. For example, the sensor data may include information corresponding to one or more potential hazards that materialize into or are identified as (e.g., resolve) respective external objects. Such an object may also be referred to as a hazard object herein.
- A hazard object can be a static object. A static object is one that is stationary and is not expected to move in the next few seconds. Examples of static objects include a bike with no rider, a cold vehicle, an empty vehicle, a road sign, a wall, a building, a pothole, etc.
- A hazard object can be a stopped object. A stopped object is one that is stationary but might move at any time. Examples of stopped objects include a vehicle that is stopped at a traffic light and a vehicle on the side of the road with an occupant (e.g., a driver). In some implementations, a stopped object may be considered a static object.
- A hazard object can be a dynamic (i.e., moving) object, such as a pedestrian, a remote vehicle, a motorcycle, a bicycle, etc. The dynamic object can be oncoming (toward the vehicle) or can be moving in the same direction as the vehicle. The dynamic object can be moving longitudinally or laterally with respect to the vehicle. A stopped object can become a dynamic object, and vice versa.
- There are two common courses of action responsive to detection of a potential hazard. The vehicle may ignore the potential hazard until the potential hazard is confirmed as a hazard object that may interfere with the vehicle's path of travel or is confirmed as a false positive (e.g., the potential hazard was sensor error). Alternatively, the vehicle may treat every potential hazard as a hazard object that may interfere with the vehicle's path of travel. Either course of action can be undesirable. Waiting may result in an inability to avoid the hazard object or in a maneuver to avoid the hazard object that is unnatural or uncomfortable for any passengers of the vehicle. Treating a potential hazard as a hazard object may result in the vehicle making unnecessary maneuvers (such as slowing down or moving laterally) where the potential hazard does not resolve.
- Instead, and according to the teachings herein, proactive risk mitigation may be used that considers the reactive capabilities of the vehicle in planning a proactive trajectory for the vehicle that minimizes speed and/or lateral changes in movement responsive to a potential hazard while still allowing for a comfortable and safe reactive response (i.e., a reactive trajectory) in the event a hazard object interferes with the path of the vehicle.
- This solution can leverage the fact that even when a driving environment is dynamic, the response by a vehicle (i.e., driven by a human, remotely operated, etc.) to a road condition can be predicted/anticipated. The behavior of a hazard object may be similarly predicted because traversing a vehicle transportation network is governed by rules of the road (e.g., a vehicle turning left yields to oncoming traffic, a vehicle drives between lane markings), by social conventions (e.g., driver(s) yield to the driver on the right at a stop sign), and physical limitations (e.g., a stationary object does not instantaneously move laterally into a vehicle's path).
- This predictability may be used to predict hazard object behavior to control the response of a vehicle, such as an autonomous vehicle, a semi-autonomous vehicle, or any other vehicle including an advanced driver assist system (ADAS), while that vehicle traverses a vehicle transportation network. For example, if the vehicle is traveling in its lane on a two-lane road and an oncoming vehicle is passing a parked vehicle, it is likely that the oncoming vehicle will move closer to the lane and the vehicle such that the oncoming vehicle is a hazard object. For example, if another vehicle pulls over to the side of the road ahead of the vehicle, the driver's side door may open such that the other vehicle is a hazard object. In each case, a proactive trajectory for the vehicle may be determined that adjusts the planned path and speed proactively for collision avoidance if the hazard object materializes as predicted.
- Where the hazard object is a dynamic object, however, a predicted behavior based on expected constraints may not accurately capture the full range of possible behaviors. A dynamic object may fail to yield or swerve outside of its expected path. A dynamic object may speed up or slow down, either alone or in combination with another unlikely behavior (e.g., failing to yield or swerving). In such cases, the interaction of the vehicle with the dynamic object may occur at an uncertain time and location. The proactive trajectories described herein address this unpredictability.
- Further, where multiple hazards are identified, whether those hazards include a dynamic object or not, each hazard may be considered separately. However, separately considering each hazard may not result in an optimal trajectory because different hazards may represent different levels of risk to the vehicle. Considering the hazards as a whole to define a proactive trajectory is desirable, particularly where the vehicle is traveling along narrow lanes or residential streets, where the multiple hazards on both sides of the vehicle can result in a cluttered driving environment.
- To describe some implementations of the proactive risk mitigation according to the teachings herein in greater detail, reference is first made to the environment in which this disclosure may be implemented.
-
FIG. 1 is a diagram of an example of a portion of avehicle 100 in which the aspects, features, and elements disclosed herein may be implemented. Thevehicle 100 includes achassis 102, apowertrain 104, acontroller 114,wheels 132/134/136/138, and may include any other element or combination of elements of a vehicle. Although thevehicle 100 is shown as including fourwheels 132/134/136/138 for simplicity, any other propulsion device or devices, such as a propeller or tread, may be used. InFIG. 1 , the lines interconnecting elements, such as thepowertrain 104, thecontroller 114, and thewheels 132/134/136/138, indicate that information, such as data or control signals; power, such as electrical power or torque; or both information and power may be communicated between the respective elements. For example, thecontroller 114 may receive power from thepowertrain 104 and communicate with thepowertrain 104, thewheels 132/134/136/138, or both, to control thevehicle 100, which can include accelerating, decelerating, steering, or otherwise controlling thevehicle 100. - The
powertrain 104 includes apower source 106, atransmission 108, asteering unit 110, avehicle actuator 112, and may include any other element or combination of elements of a powertrain, such as a suspension, a drive shaft, axles, or an exhaust system. Although shown separately, thewheels 132/134/136/138 may be included in thepowertrain 104. - The
power source 106 may be any device or combination of devices operative to provide energy, such as electrical energy, thermal energy, or kinetic energy. For example, thepower source 106 includes an engine, such as an internal combustion engine, an electric motor, or a combination of an internal combustion engine and an electric motor, and is operative to provide kinetic energy as a motive force to one or more of thewheels 132/134/136/138. In some embodiments, thepower source 106 includes a potential energy unit, such as one or more dry cell batteries, such as nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion); solar cells; fuel cells; or any other device capable of providing energy. - The
transmission 108 receives energy, such as kinetic energy, from thepower source 106 and transmits the energy to thewheels 132/134/136/138 to provide a motive force. Thetransmission 108 may be controlled by thecontroller 114, thevehicle actuator 112, or both. Thesteering unit 110 may be controlled by thecontroller 114, thevehicle actuator 112, or both and controls thewheels 132/134/136/138 to steer the vehicle. Thevehicle actuator 112 may receive signals from thecontroller 114 and may actuate or control thepower source 106, thetransmission 108, thesteering unit 110, or any combination thereof to operate thevehicle 100. - In the illustrated embodiment, the
controller 114 includes alocation unit 116, anelectronic communication unit 118, aprocessor 120, amemory 122, auser interface 124, asensor 126, and anelectronic communication interface 128. Although shown as a single unit, any one or more elements of thecontroller 114 may be integrated into any number of separate physical units. For example, theuser interface 124 and theprocessor 120 may be integrated in a first physical unit, and thememory 122 may be integrated in a second physical unit. Although not shown inFIG. 1 , thecontroller 114 may include a power source, such as a battery. Although shown as separate elements, thelocation unit 116, theelectronic communication unit 118, theprocessor 120, thememory 122, theuser interface 124, thesensor 126, theelectronic communication interface 128, or any combination thereof can be integrated in one or more electronic units, circuits, or chips. - In some embodiments, the
processor 120 includes any device or combination of devices, now-existing or hereafter developed, capable of manipulating or processing a signal or other information, for example optical processors, quantum processors, molecular processors, or a combination thereof. For example, theprocessor 120 may include one or more special-purpose processors, one or more digital signal processors, one or more microprocessors, one or more controllers, one or more microcontrollers, one or more integrated circuits, one or more Application Specific Integrated Circuits, one or more Field Programmable Gate Arrays, one or more programmable logic arrays, one or more programmable logic controllers, one or more state machines, or any combination thereof. Theprocessor 120 may be operatively coupled with thelocation unit 116, thememory 122, theelectronic communication interface 128, theelectronic communication unit 118, theuser interface 124, thesensor 126, thepowertrain 104, or any combination thereof. For example, the processor may be operatively coupled with thememory 122 via acommunication bus 130. - The
processor 120 may be configured to execute instructions. Such instructions may include instructions for remote operation, which may be used to operate thevehicle 100 from a remote location, including the operations center. The instructions for remote operation may be stored in thevehicle 100 or received from an external source, such as a traffic management center, or server computing devices, which may include cloud-based server computing devices. Theprocessor 120 may also implement some or all of the proactive risk mitigation described herein. - The
memory 122 may include any tangible non-transitory computer-usable or computer-readable medium capable of, for example, containing, storing, communicating, or transporting machine-readable instructions or any information associated therewith, for use by or in connection with theprocessor 120. Thememory 122 may include, for example, one or more solid state drives, one or more memory cards, one or more removable media, one or more read-only memories (ROM), one or more random-access memories (RAM), one or more registers, one or more low power double data rate (LPDDR) memories, one or more cache memories, one or more disks (including a hard disk, a floppy disk, or an optical disk), a magnetic or optical card, or any type of non-transitory media suitable for storing electronic information, or any combination thereof. - The
electronic communication interface 128 may be a wireless antenna, as shown, a wired communication port, an optical communication port, or any other wired or wireless unit capable of interfacing with a wired or wirelesselectronic communication medium 140. - The
electronic communication unit 118 may be configured to transmit or receive signals via the wired or wirelesselectronic communication medium 140, such as via theelectronic communication interface 128. Although not explicitly shown inFIG. 1 , theelectronic communication unit 118 is configured to transmit, receive, or both via any wired or wireless communication medium, such as radio frequency (RF), ultra violet (UV), visible light, fiber optic, wire line, or a combination thereof. AlthoughFIG. 1 shows a single one of theelectronic communication unit 118 and a single one of theelectronic communication interface 128, any number of communication units and any number of communication interfaces may be used. In some embodiments, theelectronic communication unit 118 can include a dedicated short-range communications (DSRC) unit, a wireless safety unit (WSU), IEEE 802.11p (WiFi-P), or a combination thereof. - The
location unit 116 may determine geolocation information, including but not limited to longitude, latitude, elevation, direction of travel, or speed, of thevehicle 100. For example, the location unit includes a global positioning system (GPS) unit, such as a Wide Area Augmentation System (WAAS) enabled National Marine Electronics Association (NMEA) unit, a radio triangulation unit, or a combination thereof. Thelocation unit 116 can be used to obtain information that represents, for example, a current heading of thevehicle 100, a current position of thevehicle 100 in two or three dimensions, a current angular orientation of thevehicle 100, or a combination thereof. - The
user interface 124 may include any unit capable of being used as an interface by a person, including any of a virtual keypad, a physical keypad, a touchpad, a display, a touchscreen, a speaker, a microphone, a video camera, a sensor, and a printer. Theuser interface 124 may be operatively coupled with theprocessor 120, as shown, or with any other element of thecontroller 114. Although shown as a single unit, theuser interface 124 can include one or more physical units. For example, theuser interface 124 includes an audio interface for performing audio communication with a person, and a touch display for performing visual and touch-based communication with the person. - The
sensor 126 may include one or more sensors, such as an array of sensors, which may be operable to provide information that may be used to control the vehicle. Thesensor 126 can provide information regarding current operating characteristics of the vehicle or its surroundings. Thesensor 126 includes, for example, a speed sensor, acceleration sensors, a steering angle sensor, traction-related sensors, braking-related sensors, or any sensor, or combination of sensors, that is operable to report information regarding some aspect of the current dynamic situation of thevehicle 100. - In some embodiments, the
sensor 126 includes sensors that are operable to obtain information regarding the physical environment surrounding thevehicle 100. For example, one or more sensors detect road geometry and obstacles, such as fixed obstacles, vehicles, cyclists, and pedestrians. Thesensor 126 can be or include one or more video cameras, laser-sensing systems, infrared-sensing systems, acoustic-sensing systems, or any other suitable type of on-vehicle environmental sensing device, or combination of devices, now known or later developed. Thesensor 126 and thelocation unit 116 may be combined. - Although not shown separately, the
vehicle 100 may include a trajectory controller. For example, thecontroller 114 may include a trajectory controller. The trajectory controller may be operable to obtain information describing a current state of thevehicle 100 and a route planned for thevehicle 100, and, based on this information, to determine and optimize a trajectory for thevehicle 100. In some embodiments, the trajectory controller outputs signals operable to control thevehicle 100 such that thevehicle 100 follows the trajectory that is determined by the trajectory controller. For example, the output of the trajectory controller can be an optimized trajectory that may be supplied to thepowertrain 104, thewheels 132/134/136/138, or both. The optimized trajectory can be a control input, such as a set of steering angles, with each steering angle corresponding to a point in time or a position. The optimized trajectory can be one or more paths, lines, curves, or a combination thereof. - One or more of the
wheels 132/134/136/138 may be a steered wheel, which is pivoted to a steering angle under control of thesteering unit 110; a propelled wheel, which is torqued to propel thevehicle 100 under control of thetransmission 108; or a steered and propelled wheel that steers and propels thevehicle 100. - A vehicle may include units or elements not shown in
FIG. 1 , such as an enclosure, a Bluetooth® module, a frequency modulated (FM) radio unit, a Near-Field Communication (NFC) module, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a speaker, or any combination thereof. - The vehicle, such as the
vehicle 100, may be an autonomous vehicle or a semi-autonomous vehicle. For example, as used herein, an autonomous vehicle as used herein should be understood to encompass a vehicle that includes an advanced driver assist system (ADAS). An ADAS can automate, adapt, and/or enhance vehicle systems for safety and better driving such as by circumventing or otherwise correcting driver errors. -
FIG. 2 is a diagram of an example of a portion of a vehicle transportation andcommunication system 200 in which the aspects, features, and elements disclosed herein may be implemented. The vehicle transportation andcommunication system 200 includes avehicle 202, such as thevehicle 100 shown inFIG. 1 , and one or more external objects, such as anexternal object 206, which can include any form of transportation, such as thevehicle 100 shown inFIG. 1 , a pedestrian, cyclist, as well as any form of a structure, such as a building. Thevehicle 202 may travel via one or more portions of atransportation network 208, and may communicate with theexternal object 206 via one or more of anelectronic communication network 212. Although not explicitly shown inFIG. 2 , a vehicle may traverse an area that is not expressly or completely included in a transportation network, such as an off-road area. In some embodiments, thetransportation network 208 may include one or more of avehicle detection sensor 210, such as an inductive loop sensor, which may be used to detect the movement of vehicles on thetransportation network 208. - The
electronic communication network 212 may be a multiple access system that provides for communication, such as voice communication, data communication, video communication, messaging communication, or a combination thereof, between thevehicle 202, theexternal object 206, and anoperations center 230. For example, thevehicle 202 or theexternal object 206 may receive information, such as information representing thetransportation network 208, from theoperations center 230 via theelectronic communication network 212. - The
operations center 230 includes acontroller apparatus 232, which includes some or all of the features of thecontroller 114 shown inFIG. 1 . Thecontroller apparatus 232 can monitor and coordinate the movement of vehicles, including autonomous vehicles. Thecontroller apparatus 232 may monitor the state or condition of vehicles, such as thevehicle 202, and external objects, such as theexternal object 206. Thecontroller apparatus 232 can receive vehicle data and infrastructure data including any of: vehicle velocity; vehicle location; vehicle operational state; vehicle destination; vehicle route; vehicle sensor data; external object velocity; external object location; external object operational state; external object destination; external object route; and external object sensor data. - Further, the
controller apparatus 232 can establish remote control over one or more vehicles, such as thevehicle 202, or external objects, such as theexternal object 206. In this way, thecontroller apparatus 232 may teleoperate the vehicles or external objects from a remote location. Thecontroller apparatus 232 may exchange (send or receive) state data with vehicles, external objects, or a computing device, such as thevehicle 202, theexternal object 206, or aserver computing device 234, via a wireless communication link, such as thewireless communication link 226, or a wired communication link, such as the wiredcommunication link 228. - The
server computing device 234 may include one or more server computing devices, which may exchange (send or receive) state signal data with one or more vehicles or computing devices, including thevehicle 202, theexternal object 206, or theoperations center 230, via theelectronic communication network 212. - In some embodiments, the
vehicle 202 or theexternal object 206 communicates via the wiredcommunication link 228, awireless communication link 214/216/224, or a combination of any number or types of wired or wireless communication links. For example, as shown, thevehicle 202 or theexternal object 206 communicates via a terrestrialwireless communication link 214, via a non-terrestrialwireless communication link 216, or via a combination thereof. In some implementations, a terrestrialwireless communication link 214 includes an Ethernet link, a serial link, a Bluetooth link, an infrared (IR) link, an ultraviolet (UV) link, or any link capable of electronic communication. - A vehicle, such as the
vehicle 202, or an external object, such as theexternal object 206, may communicate with another vehicle, external object, or theoperations center 230. For example, a host, or subject,vehicle 202 may receive one or more automated inter-vehicle messages, such as a basic safety message (BSM), from theoperations center 230 via adirect communication link 224 or via anelectronic communication network 212. For example, theoperations center 230 may broadcast the message to host vehicles within a defined broadcast range, such as three hundred meters, or to a defined geographical area. In some embodiments, thevehicle 202 receives a message via a third party, such as a signal repeater (not shown) or another remote vehicle (not shown). In some embodiments, thevehicle 202 or theexternal object 206 transmits one or more automated inter-vehicle messages periodically based on a defined interval, such as one hundred milliseconds. - The
vehicle 202 may communicate with theelectronic communication network 212 via anaccess point 218. Theaccess point 218, which may include a computing device, is configured to communicate with thevehicle 202, with theelectronic communication network 212, with theoperations center 230, or with a combination thereof via wired orwireless communication links 214/220. For example, anaccess point 218 is a base station, a base transceiver station (BTS), a Node-B, an enhanced Node-B (eNode-B), a Home Node-B (HNode-B), a wireless router, a wired router, a hub, a relay, a switch, or any similar wired or wireless device. Although shown as a single unit, an access point can include any number of interconnected elements. - The
vehicle 202 may communicate with theelectronic communication network 212 via asatellite 222 or other non-terrestrial communication device. Thesatellite 222, which may include a computing device, may be configured to communicate with thevehicle 202, with theelectronic communication network 212, with theoperations center 230, or with a combination thereof via one ormore communication links 216/236. Although shown as a single unit, a satellite can include any number of interconnected elements. - The
electronic communication network 212 may be any type of network configured to provide for voice, data, or any other type of electronic communication. For example, theelectronic communication network 212 includes a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), a mobile or cellular telephone network, the Internet, or any other electronic communication system. Theelectronic communication network 212 may use a communication protocol, such as the Transmission Control Protocol (TCP), the User Datagram Protocol (UDP), the Internet Protocol (IP), the Real-time Transport Protocol (RTP), the Hyper Text Transport Protocol (HTTP), or a combination thereof. Although shown as a single unit, an electronic communication network can include any number of interconnected elements. - In some embodiments, the
vehicle 202 communicates with theoperations center 230 via theelectronic communication network 212,access point 218, orsatellite 222. Theoperations center 230 may include one or more computing devices, which are able to exchange (send or receive) data from a vehicle, such as thevehicle 202; data from external objects, including theexternal object 206; or data from a computing device, such as theserver computing device 234. - In some embodiments, the
vehicle 202 identifies a portion or condition of thetransportation network 208. For example, thevehicle 202 may include one or more on-vehicle sensors 204, such as thesensor 126 shown inFIG. 1 , which includes a speed sensor, a wheel speed sensor, a camera, a gyroscope, an optical sensor, a laser sensor, a radar sensor, a sonic sensor, or any other sensor or device or combination thereof capable of determining or identifying a portion or condition of thetransportation network 208. - The
vehicle 202 may traverse one or more portions of thetransportation network 208 using information communicated via theelectronic communication network 212, such as information representing thetransportation network 208, information identified by one or more on-vehicle sensors 204, or a combination thereof. Theexternal object 206 may be capable of all or some of the communications and actions described above with respect to thevehicle 202. - For simplicity,
FIG. 2 shows thevehicle 202 as the host vehicle, theexternal object 206, thetransportation network 208, theelectronic communication network 212, and theoperations center 230. However, any number of vehicles, networks, or computing devices may be used. In some embodiments, the vehicle transportation andcommunication system 200 includes devices, units, or elements not shown inFIG. 2 . - Although the
vehicle 202 is shown communicating with theoperations center 230 via theelectronic communication network 212, the vehicle 202 (and the external object 206) may communicate with theoperations center 230 via any number of direct or indirect communication links. For example, thevehicle 202 or theexternal object 206 may communicate with theoperations center 230 via a direct communication link, such as a Bluetooth communication link. Although, for simplicity,FIG. 2 shows one of thetransportation network 208 and one of theelectronic communication network 212, any number of networks or communication devices may be used. - The
external object 206 is illustrated as a second, remote vehicle inFIG. 2 . An external object is not limited to another vehicle. An external object may be any infrastructure element, for example, a fence, a sign, a building, etc., that has the ability transmit data to theoperations center 230. The data may be, for example, sensor data from the infrastructure element. -
FIG. 3 is a diagram of asystem 300 for vehicle control using proactive risk mitigation according to implementations of this disclosure. Although described with the vehicle traveling through a vehicle transportation network, such as thevehicle transportation network 208, the teachings herein may be used in any area navigable by a vehicle. Thesystem 300 may represent a software pipeline of a vehicle, such as thevehicle 100 ofFIG. 1 . Thesystem 300 includes aworld model 302, aroute planner 304, adecision making module 306, aproactive trajectory planner 308, and areactive trajectory control 310. Other examples of thesystem 300 can include more, fewer, or other components. In some examples, the components can be combined; in other examples, a component can be divided into more than one component. - The
world model 302 receives sensor data, such as from thesensor 126 ofFIG. 1 , and determines (e.g., converts to, detects, etc.) objects from the sensor data. That is, theworld model 302 determines hazard objects (e.g., road users) from the received sensor data. For example, theworld model 302 can convert a point cloud received from a light detection and ranging (LiDAR) sensor (i.e., a sensor of the sensor 126) into an object, such as a hazard object. Sensor data from several sensors can be fused together to identify the objects. Examples of objects include a non-motorized vehicle (e.g., a bicycle), a pedestrian or animal, a motorized vehicle, etc. - The
world model 302 can receive sensor information that allows theworld model 302 to calculate and maintain additional information for at least some of the detected objects. For example, theworld model 302 can maintain a state for at least some of the determined objects. The state for an object can include zero or more of a velocity, a pose, a geometry (such as width, height, and depth), a classification (e.g., bicycle, large truck, pedestrian, road sign, etc.), and a location. As such, the state of an object includes discrete state information (e.g., classification) and continuous state information (e.g., pose and velocity). - The
world model 302 fuses sensor information, tracks objects, maintains lists of hypotheses for at least some of the dynamic objects (e.g., an object A might be going straight, turning right, or turning left), creates and maintains predicted trajectories for each hypothesis, and maintains likelihood estimates of each hypothesis (e.g., object A is going straight with probability 90% considering the object pose/velocity and the trajectory poses/velocities). In an example, theworld model 302 uses an instance of the trajectory planner to generate the predicted trajectories for each object hypothesis for at least some of the dynamic objects. For example, an instance of the trajectory planner can be used to generate predicted trajectories for vehicles, bicycles, and pedestrians. In another example, an instance of a trajectory planner, such as the trajectory planner described below, can be used to generate predicted trajectories for vehicles and bicycles, and a different method can be used to generate predicted trajectories for pedestrians. - The objects maintained by the
world model 302 can include hazard objects, which can include static objects, dynamic objects, or both. - The
route planner 304 determines a road-level plan. For example, given a starting location and a destination location, theroute planner 304 determines a route from the starting location to the destination location. Theroute planner 304 can determine the list of roads (i.e., the road-level plan) to be followed by the vehicle to navigate from the starting location to the destination location. - The road-level plan determined by the
route planner 304 and the objects (and corresponding state information) maintained by theworld model 302 can be used by thedecision making module 306 to determine discrete-level decisions along the road-level plan. Examples of decisions included in the discrete-level decisions may include: stop at the next intersection, move forward slowly, accelerate to a certain speed limit, merge into the next lane, etc. - The
proactive trajectory planner 308 can receive the discrete-level decisions, the objects (and corresponding state information) maintained by theworld model 302, and the predicted trajectories and likelihoods of the external objects from theworld model 302. Theproactive trajectory planner 308 can use at least some of the received information to determine a detailed-planned trajectory, also referred to herein as a proactive trajectory, for the vehicle. - For example, the
proactive trajectory planner 308 determines a next-few-seconds trajectory. As such, and in an example where the next few seconds are the next 6 seconds (i.e., a look-ahead time of 6 seconds), theproactive trajectory planner 308 determines a trajectory and locations for the vehicle in the next 6 seconds. For example, theproactive trajectory planner 308 may determine (e.g., predict, calculate, etc.) the expected locations of the vehicle at several time intervals (e.g., every one-quarter of a second, or some other time intervals). Theproactive trajectory planner 308 is described in more detail below. - The
reactive trajectory control 310 can handle situations that the vehicle may encounter but may not be handled by theproactive trajectory planner 308. Such situations include situations where the proactive trajectory of theproactive trajectory planner 308 was based on misclassification of objects and/or unanticipated situations that rarely occur. For example, thereactive trajectory control 310 can modify the proactive trajectory in response to determining that a static object to the left of the vehicle is misclassified. The object may have been classified as a large truck; however, a new classification determines that it is a static road barrier wall. In another example, thereactive trajectory control 310 can modify the proactive trajectory in response to a sudden tire blowout of the vehicle. Other examples of unanticipated situations include another vehicle swerving suddenly (e.g., due to late decision to get to highway off-ramp or tire blowout) into the lane of the vehicle and a pedestrian or other object emerging suddenly from behind an occlusion. - In some implementations, a predictive algorithm of the
proactive trajectory planner 308 may be configured to produce plans at 10 hz; on the other hand, thereactive trajectory control 310 may be configured to produce plans at 100 hz. -
FIG. 4 is a diagram showing one example of how theproactive trajectory planner 308 according toFIG. 3 may be implemented. Theproactive trajectory planner 308 can receivedrive goals 401. Theproactive trajectory planner 308 can receive thedrive goals 401 as a series of lane selections and speed limits that connect a first location to a second location. For example, a drive goal of thedrive goals 401 can be “starting at location x, travel on a lane having a certain identifier (e.g., lane with an identifier that is equal to A123) while respecting speed limit y”. Theproactive trajectory planner 308 can be used to generate a trajectory that accomplishes thedrive goals 401. - In this example, the
proactive trajectory planner 308 includes adriveline data layer 402, a reference-trajectory generation layer 404, anobject avoidance layer 406, and a proactivetrajectory optimization layer 408. Theproactive trajectory planner 308 generates a proactive trajectory. Other examples of theproactive trajectory planner 308 can include more, fewer, or other layers. In some examples, the layers can be combined; in other examples, a layer can be divided into one or more other layers. The layers may be implemented by software or one or more modules including a hardware module (such as, for example, an application-specific integrated circuit, or the like). - The
driveline data layer 402 includes the input data that can be used by theproactive trajectory planner 308. The driveline data can be used (e.g., by the reference-trajectory generation layer 404) to determine (i.e., generate, calculate, or select) a coarse driveline from a first location to a second location. The driveline can be thought of as the line in the road over which the longitudinal axis of the vehicle coincides as the vehicle moves along the road. As such, the driveline data is data that can be used to determine the driveline. The driveline is coarse, at this point, and may contain lateral discontinuities such as when directed to transition laterally between adjacent lanes. The driveline at this point is also not yet adjusted for objects encountered by the vehicle, as further described below. - In an example, the
driveline data layer 402 can include one or more of High Definition (HD)map data 410,teleoperation map data 412, recordedpaths data 414, precedingvehicle data 416,parking lot data 418, and perceivedpath data 420. - The
HD map data 410 may be data from a high-definition (i.e., high-precision) map that can be used by an autonomous vehicle. TheHD map data 410 can include accurate information regarding a vehicle transportation network to within a few centimeters. For example, theHD map data 410 can include details regarding road lanes, road dividers, traffic signals, traffic signs, speed limits, and the like. In some implementations, map data may be obtained from a lower quality map than an HD map. - The
teleoperation map data 412 can include relatively short driveline data. For example, theteleoperation map data 412 can be driveline data that are 100 meters to 200 meters long. However, theteleoperation map data 412 is not necessarily so limited. Theteleoperation map data 412, when present, can be manually generated by a teleoperator in response to, or in anticipation of, exceptional situations that the vehicle is not capable of automatically handling. - The recorded
paths data 414 can include data regarding paths previously followed by the vehicle. In an example, an operator (e.g., a driver or a remote operator) of the vehicle may have recorded a path from the street into the garage of a home. - The preceding
vehicle data 416 can be data received from one or more vehicles that precede the vehicle along a generally same trajectory as the vehicle. In an example, the vehicle and a preceding vehicle can communicate via a wireless communication link, such as described with respect toFIG. 2 . As such, the vehicle can receive trajectory and/or other information from the preceding vehicle via the wireless communication link. The precedingvehicle data 416 can also be perceived (e.g., followed) without an explicit communication link. For example, the vehicle can track the preceding vehicle and can estimate a vehicle driveline of the preceding vehicle based on the tracking results. A preceding vehicle, where present, may also be treated as a dynamic object as described below. - The
parking lot data 418 includes data regarding locations of parking lots and/or parking spaces. Theparking lot data 418 may be used to predict trajectories of other vehicles. For example, if a parking lot entrance is proximate to another vehicle, one of the predicted trajectories of the other vehicle may be that the other vehicle will enter the parking lot. - In some situations, map (e.g., HD map) information may not be available for portions of the vehicle transportation network. As such, the perceived
path data 420 can represent drivelines where there is no previously mapped information. Instead, the vehicle can detect drivelines in real time using fewer, more, or other than lane markings, curbs, and road limits. In an example, road limits can be detected based on transitions from one terrain type (e.g., pavement) to other terrain types (e.g., gravel or grass). Other ways can be used to detect drivelines in real time. - The reference-
trajectory generation layer 404 can include adriveline concatenation module 422, a strategicspeed plan module 424, and adriveline synthesis module 426. The reference-trajectory generation layer 404 provides the coarse driveline (i.e., a reference driveline) to a discrete-timespeed plan module 428. - It is noted that the
route planner 304 can generate a lane ID sequence that is used to travel from a first location to a second location, thereby corresponding to (e.g., providing) thedrive goals 401. For this reason, thedrive goals 401 can be 100′s of meters apart, depending on the length of a lane. In the case of theHD map data 410, for example, the reference-trajectory generation layer 404 can use a combination of a location (e.g., GPS location, 3D Cartesian coordinates, etc.) and a lane (e.g., the identifier of the lane) in the sequence of thedrive goals 401 to generate a high resolution driveline (e.g., from the HD map data 410) represented as series of poses for the vehicle. Each pose can be at a predetermined distance. For example, the poses can be one to two meters apart. A pose can be defined by variables such as coordinates (x, y, z), roll angle, pitch angle, and/or yaw angle. - As mentioned above, the driveline data can be used to determine (e.g., generate, calculate, etc.) a coarse driveline. The
driveline concatenation module 422 splices (e.g., links, fuses, merges, connects, integrates, or otherwise splices) the input data of thedriveline data layer 402 to determine the coarse driveline along the longitudinal direction (e.g., along the path of the vehicle). For example, to get from location A (e.g., work) to location D (e.g., home), to determine the coarse driveline, thedriveline concatenation module 422 can use input data from theparking lot data 418 to determine a location of an exit from the work location parking lot to exit to the main road, can use data from theHD map data 410 to determine a path from the main road to the home, and can use data from the recordedpaths data 414 to navigate into a driveway at home. - The coarse driveline does not include speed information. In some implementations, however, the coarse driveline can include speed limit information that can be used (e.g., extracted) from the
HD map data 410. The strategicspeed plan module 424 determines specific speed(s) along the different portions of the coarse driveline. For example, the strategicspeed plan module 424 can determine that, on a first straight section of the coarse driveline, the speed of the vehicle can be set to the speed limit of that first straight section; and on a subsequent second curved section of the coarse driveline, the speed of the vehicle is to be set to a slower speed. - More specifically, inputs used by the strategic
speed plan module 424 may include one or more speed limits, one or more acceleration limits, or both. The speed limits can include one or more of road speed limits, such as posted speed limits, curvature speed limits (and/or road curvature information, such as turning radius, from which a speed limit may be calculated), and seamless autonomous mobility (SAM) data, i.e., data gathered (such as in a cloud-based system) from vehicles that provide information about the road and/or traffic conditions that may be used in the determination of speed. For example, vibration data collected from vehicles along a portion of a road that correlate vibration levels and speeds at different portions of the road may be used to determine an unacceptable level of vibration when a vehicle is traveling above a certain speed. This could provide another speed limit for consideration in determining the strategic speed plan. - In an example, the SAM data can be received by the vehicle from a central server, such as the
operations center 230, theserver computing device 234, or some other network device. In an example, the SAM data can be data accumulated from other vehicles within a certain time period (e.g., 1 minute, 10 minutes, 20 minutes, etc.) of the vehicle arriving at a location. In some implementations, the vehicle can pull the SAM data itself, or the SAM data can be pushed to the vehicle based on the vehicle reporting its location to a server that provides the SAM data. - The road speed limits, the curvature speed limits, and the SAM data may be combined to provide raw speed limits. For example, for locations along the coarse driveline (e.g., every 5 meters, 10 meters, etc.), the minimum of the speed limits at a location may be used as a raw speed limit at that location. The raw speed limits may be modified by the acceleration limits, such as vehicle acceleration limits (e.g., based on the torque and power of the vehicle) and human comfort limits regarding acceleration, which may be less than the vehicle acceleration limits. For example, the acceleration limits may be combined by finding the minimum of the two maximum curves (comfort, speed). In some implementations, the strategic speed plan may result from solving for the fastest speed profile along the coarse driveline that satisfies the constraints on speed (speed limit at any given location along the driveline) and acceleration (acceleration limit at any given speed).
- In this way, the strategic
speed plan module 424 may compute a law-abiding (e.g., respecting speed limits and stop lines), comfortable (e.g., physically and emotionally), and physically realizable speed plan (e.g., speed versus distance along the driveline) for the coarse driveline considering the current state (e.g., speed and acceleration) of the vehicle but not considering other road users or static objects. - Once a strategic speed plan (also referred to as a strategic speed profile) is determined by the strategic
speed plan module 424, thedriveline synthesis module 426 can adjust the coarse driveline laterally. Considering the strategic speed plan and the coarse driveline with lateral discontinuities, thedriveline synthesis module 426 determines the start and end locations of the lane change and synthesizes a driveline connecting the two locations. - The
driveline synthesis module 426 can synthesize drivelines joining laterally-discontinuous locations in the coarse driveline. For example, assume that theHD map data 410 includes a first section of the coarse driveline that is on a first lane of a road but that a second section of the coarse driveline is on a second lane of the same road. As such there exists a lateral discontinuity in the coarse driveline. Thedriveline synthesis module 426 first determines a transition distance (or, equivalently start and end locations) over which the vehicle should transition from the first lane to the second lane. That is, the start position is the road position when the vehicle is to be controlled to start moving from the first lane to the second lane. The end position is the road position when the vehicle is to have completed the lane change. Thedriveline synthesis module 426 then generates new driveline data joining the start position in the first lane to the end position in the second lane. - The transition determined by the driveline synthesis module 426 (e.g., the length of the lane change) can be speed dependent. For example, a shorter transition distance can be required for the vehicle to transition from the first lane to the second lane when the vehicle is moving at a slower speed than when the vehicle is moving at a higher speed. For example, in a heavy traffic situation where the vehicle is traveling at a slower speed (e.g., 15 MPH), 20 yards may be required for the transition; however, if the vehicle is traveling at a higher speed (e.g., 65 MPH), then the transition distance may be 100 yards. Thus, the
driveline synthesis module 426 can determine the transition position depending on the speed of the vehicle. - The output of the
driveline synthesis module 426 is provided to theobject avoidance layer 406. The output of thedriveline synthesis module 426 includes the coarse driveline and the strategic speed plan. Theobject avoidance layer 406 generates a medium-term, discrete-time speed plan and lateral constraints on the coarse driveline. For discrete points in time in the future (or, equivalently, at discrete locations along the path of the vehicle), the discrete-timespeed plan module 428 determines (i.e., calculates) a respective desired or target speed, acceleration/deceleration, or both, for the vehicle. - At the
object avoidance layer 406, and as further described below, using the coarse driveline, nearby hazard objects (e.g., static, dynamic, or both), and predicted trajectories for any dynamic hazard object, theobject avoidance layer 406 determines a drivable area where the vehicle can be safely operated, along with a revised driveline, a discrete-time speed plan, or both. In brief, the coarse driveline is evaluated and/or adjusted for hazard objects, such as those described with respect to theworld model 302 ofFIG. 3 . Given a current speed of the vehicle, theobject avoidance layer 406 generates the discrete-time (e.g., real-time) speed plan at the discrete-timespeed plan module 428. Using the speed plan, theobject avoidance layer 406 can estimate future locations of the vehicle at discrete future time points. The future locations can be evaluated against the locations of the hazard objects (i.e., the objects of the world model) and the constraints they impose on the trajectory of the vehicle at the staticobject constraint module 430 and the dynamicobject constraint module 432, to optimize the proactive trajectory at the proactivetrajectory optimization layer 408. The proactive trajectory is determined to provide (e.g., generate) a smooth drive for the vehicle. Determining a smooth proactive trajectory can be an iterative process. - Further details of determining the drivable area and discrete-time speed plan at the
object avoidance layer 406 and optimizing the proactive trajectory at the proactivetrajectory optimization layer 408 are described with regards toFIG. 5 , which is a flowchart diagram of amethod 500 for proactive risk mitigation according to implementations of this disclosure. Themethod 500 can be stored as executable instructions in a memory, such as thememory 122 ofFIG. 1 . The executable instructions can be executed by a processor, such as theprocessor 120 ofFIG. 1 . Themethod 500 can be executed in whole or in part by hardware components associated with a computer. Themethod 500 can be executed by thevehicle 100 ofFIG. 1 , thevehicle 202 shown inFIG. 2 , by remote assistance support described previously, or by a combination thereof. For example, themethod 500 can be executed in whole or in part in a computing apparatus, including thecontroller apparatus 232 shown inFIG. 2 . In an implementation, some or all aspects of themethod 500 can be implemented in a system combining some or all of the features described in this disclosure. For example, themethod 500 can be utilized by theobject avoidance layer 406, the proactivetrajectory optimization layer 408, or both. - Although described herein at times with reference to an autonomous vehicle, the methods and apparatus described herein may be implemented in any vehicle capable of autonomous or semi-autonomous operation, such as one including an ADAS. Although described with reference to a vehicle transportation network, the method and apparatus described herein may include the vehicle operating in any area navigable by the vehicle.
- In brief, the
method 500 for proactively mitigating risk to a vehicle traversing a vehicle transportation network can include determining respective hazard zones for detected hazard objects, which hazard zones respectively define a target lateral constraint associated with the hazard object, e.g., based on its state as a static hazard object (also referred to as a static object) or as a dynamic hazard object (also referred to as a dynamic object). A target lateral constraint may be one that allows the vehicle to avoid the hazard object without a speed constraint (e.g., without modifying the current time speed plan). Lateral buffer algorithms may be used where hazard zones are present in the same discretized time and location (e.g., they overlap in the longitudinal direction) to determine a final size of lateral buffers. The allocation may be determined based on a cost function that optimizes for risk posed by the hazard objects, including the target lateral constraints, as described in more detail below. Longitudinal constraints for each hazard zone may be computed based on a respective time of arrival of the vehicle at the hazard zone. The proactive constraints are then processed together to determine a proactive trajectory that is a modification of the previous trajectory. For example, the most restrictive longitudinal (speed) constraint may require the vehicle to follow a road user (e.g., a bicycle or vehicle) ahead of the vehicle, to accelerate, and/or to decelerate according to a longitudinal contingency. The lateral constraints may require the vehicle to move laterally according to a lateral contingency. Further details are described below. - More specifically, at 502, a first hazard object can be detected. When describing hazard objects herein and within the claims, the terms “first”, “second”, etc., may be used without limitation as to the order in which the objects are detected unless otherwise noted or clear from context. Instead, these terms are used merely to distinguish one object from another object. The first hazard object is ahead of the vehicle in a direction of travel of the vehicle. For example, the direction of travel of the vehicle may be a direction indicated by coarse driveline and the strategic speed plan output from the reference-
trajectory generation layer 404, or may be a direction indicated by the proactive trajectory generated by the proactive trajectory planner 308 (e.g., by the proactive trajectory optimization layer 408) during a previous iteration of themethod 500. In some implementations, the vehicle is traversing a lane within the vehicle transportation network, where the lane is defined by a left lane boundary and a right lane boundary extending in a longitudinal direction relative to the direction of travel. - The objects can be at least some of the external objects maintained by the
world model 302. For example, the nearby objects can be objects within a predetermined distance from the vehicle, objects within a predicted arrival time of the vehicle, or objects that meet other criteria for identifying the objects. This also referred to herein as a look-ahead time or a look-ahead distance, or both. Hazard objects are detected at 502 until there are no more hazard objects detected in response to the query at 504. - Once the hazard objects are detected, a respective hazard zone for a hazard object is determined at 506. For example, a first hazard zone may be determined for a first hazard object ahead of the vehicle in the direction of travel of the vehicle. A hazard zone for a stationary or static object is first described with reference to
FIG. 6 , which is a diagram of an example of determining a hazard zone for a static hazard object in accordance with an implementation of this disclosure. - In general,
FIG. 6 illustrates a drivable area and a discrete-time speed plan. The drivable area is, for example, the area of a vehicle transportation network where the vehicle may be safely driven. Initially, the drivable area can include areas where the vehicle may travel that correspond to the reference trajectory (e.g., the coarse driveline and strategic speed plan) from the reference-trajectory generation layer 404, that is, areas without consideration of detected objects. For example, the drivable area can be a predefined distance from the vehicle along the coarse driveline (e.g., in the longitudinal direction).The drivable area can be the area where the vehicle can be (e.g., legally and/or physically) driven. - In an example, the drivable area can be extracted from an HD map based on the current location of the vehicle. The drivable area can be bounded by the left and right boundaries of a lane (or a road, or some other region) in which the vehicle is located. A lane does not have to correspond to a marked lane. For example, the default drivable area of a lane may be defined by a default width, such as 8 meters or some other value. In an example, the drivable area can span the centerline of a road. That is, the opposite-direction traffic lane can be included in the drivable area. In an example, the drivable area can be an area bounded (i.e., in the lateral direction) by a median, a shoulder, or both a median and a shoulder. In some implementations, the drivable area can be limited by barriers (e.g., concrete barriers) that may be in the median or elsewhere. Such barriers may be treated as static hazard objects as described below.
- Thereafter, the areas where the vehicle cannot be predicted to be safely driven may be removed from (e.g., cut out of) the drivable area to result in an adjusted drivable area later used for determining the proactive trajectory that avoids objects. These areas correspond to a hazard zone for a hazard object. If no static and/or dynamic objects interfere with the current trajectory of the vehicle, then the adjusted drivable area is the same as the drivable area.
- Referring to
FIG. 6 , acoarse driveline 603 is the coarse driveline of avehicle 602. A default drivable area of thevehicle 602 is defined by aleft boundary 604 and aright boundary 606, which can define the maximum width of the drivable area (i.e., drivable area boundaries). However, as it may be preferable to keep thevehicle 602 within its lane, theleft lane boundary 608 and theright lane boundary 610 are also considered in the analysis of a hazard zone. In some implementations, a lane boundary may be coincident with a drivable area boundary. - In this example, the
right lane boundary 610 includes aportion 612. Theportion 612 is shown as a dashed line because, as further described below, this portion of the drivable area is to be adjusted. The drivable area of thevehicle 602 may be divided into bins, as shown. Each bin may have a center point, which can be equally spaced. For example, the center points can be approximately two meters apart, or can be spaced closer or more distant depending on the speed of thevehicle 602. Boundary points 613 corresponding to a detected object are assigned to respective bins, such as 616, 618. For example, the boundary points can be derived from data from a LiDAR sensor, a laser pointer, a radar, or any other sensor, such as thebins sensor 126 ofFIG. 1 . The boundary points can represent (x, y) coordinates that are occupied or are otherwise off-limits to the AV. As the boundary points 613 of the 616, 618 appear to correspond to a large, rectangular object, the object may be classified (for example, by thebins world model 302 ofFIG. 3 ) as a “truck.” Boundary points 613 may correspond to one or more objects. - Boundaries corresponding to (i.e., defined based on) an object can be referred to as hard boundaries. A hard boundary is such that, if the planned trajectory for the vehicle were to cross the hard boundary, a collision with the object is likely. On the other hand, lane and/or road markings can be referred to as soft boundaries and represent lawful or logical boundaries. A soft boundary is such that, if the planned trajectory were to cross the soft boundary that is not also a hard boundary, the motion of the vehicle may be unlawful and/or less socially acceptable, but the vehicle is likely safe from a collision with the object. As shown in
FIG. 6 , for example, the left boundary 604 (i.e., the left drivable area boundary) defines the left hard boundary and theleft lane boundary 608 defines the left soft boundary. The right hard boundary is comprised of the right boundary 606 (i.e., the right drivable area boundary) and theboundary 614; the right soft boundary is defined by theright lane boundary 610 and theboundary 614. As mentioned above, a left lane boundary, such as theleft lane boundary 608, may be coincident with a left boundary of the drivable area; hence, theleft lane boundary 608 may define a left hard boundary. Similarly, a right lane boundary, such as theright lane boundary 610, may be coincident with a right boundary of the drivable area; hence, theright lane boundary 610, together with theboundary 614, may define a right hard boundary. - The cut-out defined (i.e., bounded) by the
616, 618 and thebins boundary 614 may be referred to as a hazard zone herein. Although not expressly described, there may be an allowance around the measured groups of points such that the hazard zone is expanded beyond those points. Such a clearance area allows for uncertainty in sensor measurements, for example. - The hazard zone includes (e.g., defines) a target lateral constraint that extends over the
right lane boundary 610 and into the lane. A target lateral constraint (sometimes referred to more simply as a lateral constraint herein) is a longitudinally-extending limitation to a portion of a vehicle transportation network which a vehicle, such as thevehicle 602, will pass such that, if the vehicle travels laterally outside of the boundaries of the constraint, the vehicle is likely to avoid the hazard object associated with the hazard zone. - For the detected hazard object, here a first hazard object, it is also possible to determine a first longitudinal constraint based on a first time of arrival of the vehicle at the (e.g., first) hazard zone. That is, given a current speed plan of the vehicle (e.g., either the strategic speed plan from the reference-
trajectory generation layer 404 or the current discrete-time speed plan from the discrete-time speed plan module 428), the time at which the vehicle will arrive at the hazard zone can be determined. Arriving at the hazard zone may mean arriving at a first longitudinal position in a direction of travel of the vehicle where the hazard zone is identified, whether or not the hazard zone interferes with the current trajectory. For example, and referring toFIG. 6 , the time of arrival can be the time of arrival of thevehicle 602 at the point in the roadway represented by thebin 616. The longitudinal constraint may be equal to the time of arrival, which indicates how much time the vehicle has to respond to the object, or may be the time of arrival decreased by a defined amount of time to reflect uncertainties in the sensed information. The lateral constraint and the longitudinal constraint are static object constraints used within the staticobject constraint module 430. - In some implementations, the lateral constraint, the longitudinal constraint, or both are such that the vehicle does not have to change its nominal trajectory to avoid the hazard zone, and hence the hazard object. In other implementations, the vehicle may modify its nominal trajectory using a lateral contingency, a longitudinal contingency, or both, to avoid the hazard zone using the static
object constraint module 430. A lateral contingency may be one or more changes in lateral position from the nominal trajectory. A longitudinal contingency may be one or more changes in speed from the nominal trajectory. These contingencies are described in more detail below with reference to determining the proactive trajectory. - Referring again to
FIG. 6 , it can be determined whether thevehicle 602 can pass the hazard zone given a distance between the right and left hard boundaries of the 616, 618. The distance should be larger than a threshold distance for thebins vehicle 602 to pass, where the threshold distance can be related to a width of the vehicle 602 (e.g., at least 1.2, 1.5, etc., time the width of the vehicle 602). In an example, adistance 620 between theboundary 614 of the hazard zone (e.g., target lateral constraint) and theleft lane boundary 608 may be too narrow for thevehicle 602 to drive (i.e., fit) through. If theleft lane boundary 608 were the limit of the drivable area (e.g., because it is a hard boundary—physically, legally, or otherwise), alocation 622 corresponding to thebin 616 is a static blockage. That is, thevehicle 602 cannot pass the object(s) represented by the boundary points of the 616, 618. Accordingly, thebins object avoidance layer 406 can adjust the discrete-time speed plan to stop the vehicle before or upon reaching thelocation 622. That is, a longitudinal contingency is determined that reduces the speed of thevehicle 602 in a comfortable (for passengers) and legal way to stop at thelocation 622. - In another example, where the drivable area extends across the
left lane boundary 608 to theleft boundary 604, agap 624 from theleft boundary 604 to thehazard zone boundary 614 is sufficiently wide for the vehicle to avoid the hazard zone, and hence the hazard object. Instead of stopping, a lateral contingency sufficient for the vehicle to pass through thegap 624 may be determined. The vehicle may avoid the hazard object without a speed constraint (e.g., a longitudinal contingency) in such a situation. - In the example 600 of
FIG. 6 , an object is identified by dots (i.e., boundary points) and/or groups of dots that represent the object, such as through detection by LiDAR as described above with regards to theworld model 302. However, other implementations may use image recognition on images captured by one or more cameras mounted on the vehicle, such as the 100 or 202, or within the vehicle transportation network, such as thevehicle transportation network 208. - Although the example 600 of
FIG. 6 shows a first hazard object located to the right of thevehicle 602 along itsdriveline 603, a hazard object may be detected anywhere along the driveline, including being detected entirely within theleft lane boundary 608 and theright lane boundary 610, or being detected to the left of thevehicle 602 along itsdriveline 603 such that the hazard zone extends over theleft lane boundary 608 and into the lane. - Although not shown in
FIG. 6 , one or more additional hazard objects may be detected (e.g., at 502 ofFIG. 5 ) while thevehicle 602 traverses the vehicle transportation network. For example, a second hazard zone for a second hazard object may be determined at 506. The second hazard zone would include a second target lateral constraint determined in a like manner as the first target lateral constraint described with regards toFIG. 6 . -
FIG. 6 describes a hazard zone associated with a static hazard object detected at 502. A hazard object detected at 502 may instead be a dynamic hazard object. Determining a hazard zone for a dynamic hazard object at 506 can depend on a trajectory of the dynamic hazard object. Accordingly, a trajectory of a hazard object is first described with regards toFIGS. 7 and 8 . - In the
scenario 700 ofFIG. 7 , avehicle 702 is moving along acoarse driveline 703. No static objects are detected. Aleft boundary 717 and aright boundary 718 define the drivable area. A dynamic hazard object in the form of avehicle 704 is predicted to move from the right shoulder of the road (or from the lane to the right of the lane that includes the vehicle 702) into the path of thevehicle 702 along a path ortrajectory 720. Accordingly, thevehicle 704 is initially associated with a hazard zone that includes a target lateral constraint that extends over the right lane boundary (i.e., the right boundary 718) and into the lane. Subsequently, thevehicle 704 The hazard zone associated with thevehicle 704 changes over time as thevehicle 704 moves along its trajectory as discussed in more detail below. - The dynamic
object constraint module 432 can determine (e.g., predict) the locations of thevehicle 702 at different discrete points in time. For example, at time t (e.g., in one second), thevehicle 702 is predicted to be at alocation 706; at time t+1 (e.g., in two seconds), thevehicle 702 is predicted to be at alocation 708; and at time t+2 (e.g., in three seconds), thevehicle 702 is predicted to be at alocation 710. While locations at 3 seconds into the future (i.e., a time window of 3 seconds) are shown with respect to the scenario 700 (and thelater scenario 800 described below), more or fewer locations can be determined, predicted, calculated, etc. Other time windows are possible, and the frequency of predicted locations within a window can also vary. In an example, the time window is six seconds, and a location can be determined at every half second. - A second instance of a trajectory planner, such as a
proactive trajectory planner 308, may be tracking (e.g., predicting the trajectory of) thevehicle 704. A dynamic object constraint module of the second trajectory planner, such as a dynamicobject constraint module 432, can predict future locations of the vehicle 704 (e.g., based on the current heading and speed and the expected behavior of the vehicle 704). For example, at the time t, thevehicle 704 is determined to be at alocation 712; attime t+ 1, thevehicle 704 is determined to be at alocation 714; and attime t+ 2, thevehicle 704 is determined to be at alocation 716. In an example, the same time window and frequency of predictions can be the same for all instantiated trajectory planners of thevehicle 702. However, this is not required. The time window and frequency can depend on the type (e.g., bicycle, pedestrian, sports car, sedan, large truck, etc.) of the dynamic object. - The drivable area of the
vehicle 702 may be adjusted to avoid the hazard zones that correspond to respective locations of thevehicle 704 in a like manner as described with regards toFIG. 6 . In thescenario 700, the 702, 704 are generally identified at the same locations at the same times. Thus, the right hard boundary of the lane can be set for each of the appropriate bins to the line 722. Whether thevehicles vehicle 702 can pass a hazard zone given a distance between the right and left hard boundaries of the bins may be determined. Whether thevehicle 702 must modify its speed based on a hazard zone may be determined. More generally, a lateral constraint and a longitudinal (i.e., speed) constraint may be determined using the hazard zones along thetrajectory 720, which in turn may be used to determine a proactive trajectory for thevehicle 702 as described in more detail below. - In contrast to the
scenario 700, thescenario 800 ofFIG. 8 illustrates an oncoming dynamic hazard object, in this case avehicle 804. More specifically, avehicle 802 is moving eastward along acoarse driveline 803, and thevehicle 804 is moving westward. Thevehicle 804 is predicted to follow atrajectory 809 to avoid a static hazard object—namely a parkedvehicle 806. The locations of thevehicle 802 along thecoarse driveline 803 at times t, t+1, and t+2 are predicted to be, respectively, 810, 812, and 814. The locations of thelocations vehicle 804 along thetrajectory 809 at times t, t+1, and t+2 are predicted to be, respectively, 816, 818, and 820.locations - The
802, 804 are predicted to be at generally the same location (i.e., the location of intersection corresponding to thevehicles locations 812, 818) at the same time (i.e., at time t+2). Should thevehicle 802 continue along thecoarse driveline 803, it is likely to collide with thevehicle 804. Although not expressly shown inFIG. 8 , the drivable area of thescenario 800 is adjusted (i.e., cut out) as described above. That is, the drivable area is adjusted to remove those areas that correspond to respective hazard zones of thevehicle 804 over time, such as by setting (in this example, left) boundaries of bins corresponding to (i.e., overlapping) thetrajectory 809. - At the location of intersection (i.e., the
locations 812, 818), the width of the drivable area between the hazard zone at the point of intersection (i.e., the left hard boundary) and the right boundary can be determined. The width, or distance, 822 resulting from the target lateral constraint of the hazard zone can be used to determine whether there is a sufficient gap for thevehicle 802 to pass through. The response to this query can be used, optionally with a longitudinal (i.e., speed) constraint determined using the hazard zone, to determine a proactive trajectory for thevehicle 802 as described in more detail below. - The
700, 800 describe that hazard zones may be located along a trajectory of a dynamic hazard object, but they do not describe how to determine the hazard zones. Determining a hazard zone for a dynamic hazard object is described with regards toscenarios FIG. 9 . - The example 900 of
FIG. 9 presents a generalized approach to defining a hazard zone. Generally, a hazard zone may be defined by an incursion determined using a maximum intrusion and an incursion (intrusion) velocity. Other definitions are possible. Once a hazard zone is defined, the specific hazard object (or the type of hazard object) can become irrelevant to computing (e.g., determining, selecting, calculating, etc.) a proactive trajectory for the vehicle. - The example 900 illustrates a
vehicle 902 that is traveling on a road (e.g., within a lane 904). Ahazard object 906 is identified on the side of thelane 904, although the principles apply to hazard objects detected elsewhere. Thehazard object 906 may be, for example, a parked vehicle, a pedestrian, or some other object of which at least a portion is capable of lateral movement. Hence, thehazard object 906 may be considered a dynamic hazard object. Thevehicle 902 is moving toward thehazard object 906 according to itsnominal trajectory 907. - As uncertainty may be associated with the sensor data and/or the perceived world objects, a
bounding box 905 that expands the actual/real size of thehazard object 906 can be associated with thehazard object 906. The shape representing the uncertainty may be any shape and is not limited to a rectangular box. A lateral pose uncertainty 908 (denoted Δyp) defines an initial determined (e.g., perceived, identified, set, etc.) later size of theobject 906. A time t indicates the time of arrival of thevehicle 902 at the hazard zone (e.g., the closer laterally-extending edge of the bounding box 905). The size of the bounding box of uncertainty may be a function of one or more of range uncertainty, angle (i.e., pose, orientation, etc.) uncertainty, or velocity uncertainly results. For example, with respect to range uncertainly (i.e., uncertainty with respect to how far thehazard object 906 is from the vehicle 902) the vehicle 902 (more specifically, a world model 302) can assign a longer bounding box of uncertainty to an object that is perceived to be farther than a closer object. For example, with respect to angle uncertainly (i.e., uncertainty with respect to the orientation/pose of the hazard object 906), can result in assigning different widths to the bounding box of uncertainty. - A maximum lateral incursion 912 (denoted Δyv,max) identifies the maximum lateral incursion into the
lane 904 due to thehazard object 906 possibly moving laterally. Thehazard object 1006 possibly moving can mean that theobject 906 itself is moving or a part of theobject 906 is moving. In an example, thehazard object 906 is classified as a parked vehicle. A door of the parked vehicle can open. As the maximum size of a car door is approximately 1 meter, the maximumlateral incursion 912, can be set to Δyv,max=1 meter. The maximum lateral incursion of a moving vehicle may be, in some implementations, the distance from one end of the vehicle to the other in the lateral direction and any bounding box, such as thebounding box 905 described with regards toFIG. 9 . - A velocity 914 (denoted Vy) indicates the velocity at which the
hazard object 906 enters thelane 904. For example, in the case that the hazard object is identified as a parked vehicle, thevelocity 914 can be set to a nominal speed at which a car door may open. In the case that thehazard object 906 is classified as a pedestrian ahead of thevehicle 902 along thetrajectory 907, the pedestrian may be crossing thelane 904 at a maximum intrusion of 1 meter per second. As such, thevelocity 914 can be set to Vy=1 meters/second. In the case of a moving vehicle, the predicted speed of its lateral movement according to its current trajectory may be determined as thevelocity 914, as described in more detail below with regards toFIG. 11 . - Given the above, a possible incursion 910 (denoted Ay(t)) can be calculated using formula (1) as
-
Δy(t)=Δy p+min(V y*t,Δy v,max) (1) - That is, the
possible incursion 910 of theobject 906 into thelane 904 is given by Δyp (i.e., the current width of the bounding box, as determined at the time that thepossible incursion 910 is calculated) plus the minimum of Vy*t (i.e., how much can the object, or a portion thereof, move into thelane 904 between now and the time that thevehicle 902 arrives at the hazard zone, given the speed at which the object is/can move into the lane 904) and Δyv,max (i.e., the maximum lateral incursion 912). - The initial incursion Δyp can change over time. For example, as the
vehicle 902 approaches theobject 906, the sensor uncertainty is reduced and the size of the bounding box of uncertainty can also be reduced. - The
possible incursion 910 changes over time as thevehicle 902 approaches the hazard object. As thevehicle 902 approaches the object, the time of arrival of thevehicle 902 at thehazard object 906, t, approaches 0 (i.e., t→0); and the hazard zone collapses to (i.e., is reduced to) the pose or the bounding box of uncertainty associated with the hazard object. That is, as thevehicle 902 approaches thehazard object 906, the size of the bounding box is reduced as the uncertainty is reduced. Additionally, the amount (e.g., distance) of lateral movement of thehazard object 905 into thelane 904 is reduced. - Another example may be described where the
object 906 is classified as a pedestrian who is moving across thelane 904 at a speed of Vy=1 meters/second. Given the current speed of thevehicle 902, it may be determined that thevehicle 902 will arrive at thehazard object 906 in five seconds. As a result, the pedestrian is estimated as capable of traveling up to 5 meters into thelane 904 by the time thevehicle 902 arrives at the pedestrian. The pedestrian can get, essentially or substantially, across the whole of thelane 904. However, as thevehicle 902 gets closer and closer to the hazard object 906 (i.e., the pedestrian), the situation may evolve. For example, the pedestrian may not actually get that far across thelane 904. - A
graph 920 ofFIG. 9 illustrates how the value of the possible incursion 910 (Δyv(t)) may evolves over time. At an initial time, thepossible incursion 910 is equal to the lateral pose uncertainty 908 (as indicated by an initial value 922). As the time to arrive at the hazard object shortens, the hazard object can move more into the lane (as indicated by a slope 924) up to the maximum lateral incursion 912 (as indicated by a maximum increase 926). - Referring again to
FIG. 5 , if the look-ahead distance is completely checked for hazard objects, themethod 500 advances to 508. Otherwise, themethod 500 returns to 502 to check for additional hazard objects. - The look-ahead distance can vary with the speed of the vehicle. For example, depending on the speed of the vehicle, the look-ahead distance can be varied in order to reduce computation time while still guaranteeing that, if a hazard object will interfere with the current vehicle trajectory, sufficient time is available to either stop or comfortably (e.g., safely) steer the vehicle. For example, if four seconds of look-ahead time are required, the appropriate look-ahead distance would be 48 meters where the vehicle is travelling at 12 meters per second. If the vehicle were travelling at 30 meters per second (e.g., when traveling on a highway), the appropriate look-ahead distance would be 120 meters.
- At 508, the
method 500 determines whether any hazard zones on opposite sides of the vehicle overlap. Such hazard zones may overlap where they overlap in the longitudinal direction. That is, in a direction of travel of the vehicle, the lengths of the hazard zones in the direction of travel along opposite sides of the vehicle overlap at least in part. This is discussed further below starting withFIG. 15 . - Where a hazard zone does not overlap another hazard zone on opposite sides of the vehicle at 508, the
object avoidance layer 406 processes the detected objects systematically at 510, starting with any detected static hazard objects. The drivable area is adjusted for the static hazard objects. For example, and referring toFIG. 6 , the drivable area of the lane may be adjusted in the area of the 616, 618 so that the right hard boundary is thebins boundary 614. A longitudinal constraint associated with each static hazard object may be determined based on a time of arrival of the vehicle at the hazard zone. For example, and as described above with regards toFIG. 6 , the time of arrival of thevehicle 602 at thebin 616 based on the discrete-time speed plan of the current trajectory. In an implementation, the current trajectory may correspond to thecoarse driveline 603 of thevehicle 602. - The
object avoidance layer 406 can adjust the current discrete-time speed plan for the static hazard objects based on their respective constraints. For example, and referring again to an implementation ofFIG. 6 , theobject avoidance layer 406 can adjust the discrete-time speed plan using the discrete-timespeed plan module 428 to stop thevehicle 602 before or upon reaching thelocation 622 identified by the lateral constraint of the static hazard object. More specifically, the longitudinal constraint of the static hazard object atbins 616, 618 (i.e., a time of arrival based on thecurrent vehicle 602 trajectory), can be used to determine a longitudinal contingency that is a reduction in the speed of the vehicle 602 (e.g., a target deceleration) in a comfortable (e.g., for passengers) and legal way that stops at thelocation 622. - In another implementation of
FIG. 6 , thegap 624 from theleft boundary 604 to thehazard zone boundary 614 is sufficiently wide for thevehicle 602 to avoid the hazard zone, and hence the static hazard object. Theobject avoidance layer 406 can adjust the driveline, the current discrete-time speed plan, or both, to allow thevehicle 602 to pass through thegap 624. For example, the longitudinal constraint of the static hazard object can be used to determine a lateral contingency that is a change in the position of thevehicle 602 leftward in a comfortable and legal way to pass the static hazard object through thegap 624. In this example, the longitudinal constraint may identify a change in pose (e.g., direction) of thevehicle 602 at locations leading up to and past the static hazard object that does not require a longitudinal contingency (e.g., a change in the speed of the vehicle 602) to be applied to the current trajectory. This represents an updated driveline. In other implementations, described below, the longitudinal constraint may be used to determine a longitudinal contingency that modifies the speed of thevehicle 602. - Each of the static hazard objects may be considered in turn (such as from the closest to the furthest from the vehicle 602). If a static hazard object does not require a change in the discrete-time speed plan, the current discrete-time speed plan (for example, the original strategic speed profile or a discrete-time speed plan from a previous iteration) is unchanged. In some implementations, more than one gap may result from a static hazard object. In such an implementation, each gap may be considered separately at the
object avoidance layer 406, together with other hazard objects to determine alternative drivelines and/or discrete-time speed plans that may be considered at the proactivetrajectory optimization layer 408. Herein, unless otherwise clear from context, references to a discrete-time speed plan may refer to a target driveline, one or more target speeds along the driveline, a target acceleration, a target deceleration, or any combination thereof. - Once the discrete-time speed plan is adjusted by the discrete-time
speed plan module 428 in consideration of the static hazard objects at 510, any dynamic hazard objects may be considered in turn at 510. Theobject avoidance layer 406 can adjust the current discrete-time speed plan for the dynamic hazard objects based on their respective constraints. If a dynamic hazard object is not a constraint (e.g., its constraints do not interfere with the current discrete-time speed plan of the vehicle), then it can be ignored by theobject avoidance layer 406. Desirably, the dynamic hazard objects are considered in order based on the closest to the furthest future time that a dynamic hazard object and the vehicle being controlled may meet based on the current driveline and discrete time-speed plan. This facilitates an iterative process whereby a change made to address a dynamic hazard object at an earlier location may be considered in whether changes are required to address a dynamic hazard object at a subsequent location along the path of the vehicle being controlled. - For example, and as described with regards to
FIGS. 7 and 8 , the locations of 702, 802 at times in the future are respectively predicted. Similarly, the locations of thevehicles 704, 804 at times in the future are respectively predicted. In thevehicles scenario 700, there is no static hazard object to modify drivable area. In thescenario 800, there is a static hazard object, i.e., the parkedvehicle 806. However, in thisscenario 800, it is assumed that the presence of the parkedvehicle 806 does not itself result in a change to the drivable area that requires a change in the trajectory of thevehicle 802. Instead, the hazard zone of the parkedvehicle 806 is considered as it relates to the predicted trajectory of the dynamic hazard object, i.e., thevehicle 804. - The hazard zones for each of the dynamic hazard objects, i.e.,
704, 804, may be determined over time (e.g., at t, t+1, and t+2) using the maximum lateral incursion of the dynamic hazard object and the velocity at which the dynamic hazard object or a portion thereof is predicted to move laterally within the lane. For example, the hazard zone may include the dynamic hazard and any bounding box, such as thevehicles bounding box 905 ofFIG. 9 , located at a position corresponding to the calculated incursion. The incursion at one or more future points in time of either of the 704, 804, may be calculated according to formula (1).vehicles - Like the static hazard objects described previously, a longitudinal constraint associated with each dynamic hazard object may be determined at 510 based on a time of arrival of the vehicle at the hazard zone. For example, in
FIG. 7 , the time of arrival generally corresponds to the expected time of arrival of thevehicle 702 atlocation 706. InFIG. 8 , the time of arrival is the expected time of arrival at the intersection between 812, 818 along the respective trajectories of thelocations 802, 804.vehicles - For a static hazard object, where the hazard zone is unchanged over time unless additional sensor information reveals different dimensions, or reveals that the static hazard object is not an object at all, but was identified as the result of detection errors, the hazard zone may be determined at 506 once for the entirety of the look-ahead distance or time. In contrast, the hazard zone for a dynamic hazard object can change over the entirety of the look-ahead distance or time. The time of arrival at a dynamic hazard object can depend upon the size and shape of the hazard zone for the dynamic hazard object. Accordingly, and although not expressly described in the examples of
FIGS. 7 and 8 , determining the hazard zone at 506 may be performed for each point in time where a future location of the dynamic hazard object is predicted. The hazard zone for the dynamic hazard object that includes (e.g., defines) a target lateral constraint may be, again referring toFIGS. 7 and 8 as examples, the hazard zone determined atlocation 712 inFIG. 7 and the hazard zone determined atlocation 818 inFIG. 8 . In some implementations, the lateral constraint may be determined by combining (e.g., averaging, weighted averaging, etc.) the lateral constraints from adjacent hazard zones. - The lateral constraint and the longitudinal constraint are dynamic object constraints used within the dynamic
object constraint module 432. Theobject avoidance layer 406 can adjust the current discrete-time speed plan for the dynamic hazard objects based on their respective constraints. How the dynamic object constraints are used to adjust the current discrete-time speed plan is more clearly explained with reference toFIG. 10 , which is a diagram of trajectory planning for the vehicle being controlled. - As explained previously, a vehicle may ignore a potential hazard until the potential hazard is confirmed as a hazard object that may interfere with the vehicle's path of travel or is confirmed as a false positive (e.g., the potential hazard was sensor error). Alternatively, a vehicle may treat every potential hazard as a hazard object that may interfere with the vehicle's path of travel. In proactive risk mitigation, the reactive capabilities of the vehicle are considered in planning a proactive trajectory that minimizes speed and/or lateral changes in movement responsive to a potential hazard while still allowing for a comfortable and safe reactive response (i.e., a reactive trajectory) in the event a hazard object interferes with the path of the vehicle.
- In the
scenario 1000 ofFIG. 10 , avehicle 1002 is in alane 1004. Anobject 1005 is on the side of thelane 1004. As described with regards toFIG. 9 , abounding box 1006 that expands the actual/real size of theobject 1005 can be associated with theobject 1005. While a box (i.e., a bounding box) of uncertainly is described herein, the shape of uncertainty can be any other shape. In this example, the hazard object comprises a vehicle on a side of the road whose door may open. - In the
scenario 1000, an initial or nominal trajectory orpath 1008 for thevehicle 1002 is determined as described above that heads straight forward. In the absence of contextual information about the object (e.g., that a door might open), thenominal trajectory 1008, in many cases, would be a natural method of passing thehazard object 1005. For example, drivers routinely closely pass by other similar constraints such as bushes and barriers. - The
nominal path 1008 does not take into account potential hazards. In this example, adoor 1010 of theobject 1005 may open at any point in time. Thedoor 1010 is illustrated as a dashed line to indicate that thedoor 1010 is not yet open but that it might open. It is also possible that thedoor 1010 may open at a point in time where thevehicle 1002 is too close to thehazard object 1005. In such a situation, either thevehicle 1002 is too close and cannot be controlled to stop before colliding with thedoor 1010; or thevehicle 1002 may need to perform a drastic emergency maneuver to avoid thedoor 1010. The drastic emergency maneuver may be a hard braking maneuver, a sharp turn away from thedoor 1010, or a combination thereof. Such drastic emergency maneuver(s) may be, at the least, undesirable (even if predicted) by an occupant of thevehicle 1002. - A naive path or
trajectory 1012 may be planned for thevehicle 1002 to avoid emergency maneuvers. Thenaive trajectory 1012 would move thevehicle 1002 significantly laterally to avoid thedoor 1010 whether thedoor 1010 opens or not. Controlling thevehicle 1002 according to thenaive trajectory 1012 may also be undesirable by an occupant of thevehicle 1002. - Instead of either the
nominal trajectory 1008 or thenaive trajectory 1012, aproactive trajectory 1014 can be planned (e.g., by theobject avoidance layer 406 and the proactivetrajectory optimization layer 408 of the proactive trajectory planner 308) that includes a lateral contingency in the form of a slight lateral deviation from thenominal trajectory 1008 that is not as drastic of a deviation as that of thenaive trajectory 1012. Yet theproactive trajectory 1014 can be such that if thedoor 1010 does open, thevehicle 1002 can be controlled to perform a reasonable emergency maneuver. For example, if thedoor 1010 opens (or is detected to be open) when thevehicle 1002 reaches alocation 1016, then thevehicle 1002 can be controlled to perform a reasonable emergency maneuver to follow a path 1018 (e.g., using the reactive trajectory control 310). - The example 1050 illustrates how a proactive trajectory can incorporate a longitudinal (e.g., speed) contingency in addition to, or instead of, a lateral contingency. The example 1050 assumes that a vehicle may be driving according a nominal trajectory that includes a
nominal speed plan 1052. The vehicle may be driving on a turning road where anoccluded object 1054 exists. The vehicle can proceed according to thenominal speed plan 1052, thereby disregarding the possibility that theobject 1054 is present. If the vehicle were to so proceed, perception of theobject 1054 may be too late to stop the vehicle. That is, aspeed 1056 where the vehicle reaches theobject 1054 is not zero. To account for the possibility that an object may exist, a naive trajectory that includes anaive speed plan 1058 may be determined (e.g., planned, calculated, etc.) for the vehicle. However, the naive trajectory significantly reduces the speed of the vehicle whether theobject 1054 exists or does not exist. - A proactive trajectory that incorporates a longitudinal contingency is represented by the proactive speed plan 1060 and is such that the vehicle is capable of stopping if the
object 1054 is detected. If the vehicle is controlled according to the proactive trajectory (e.g., the proactive speed plan 1060), theobject 1054 may be perceived when the vehicle reaches the location represented bypoint 1062. An emergency trajectory represented by an emergency speed plan 1064 (e.g., one or more emergency maneuvers) can be performed to bring the speed of the vehicle to zero (or to a following speed) before the vehicle arrives at the location of theobject 1054. - Referring back to
FIG. 5 , at 512 the proactive trajectory is determined using the constraints. Initially, the discrete-timespeed plan module 428 of theobject avoidance layer 406 can iteratively compute the target speed and acceleration/deceleration for a vehicle based on the constraints imposed by the staticobject constraint module 430 and the dynamicobject constraint module 432. The plan may be calculated for the look-ahead time. In some implementations, the discrete-timespeed plan module 428 can set (i.e., select, determine, or otherwise set) a tracking mode for at least some of the static and/or dynamic objects. For example, the tracking mode can be one of “close gap,” “maintain gap,” “open gap,” “brake,” or “follow.” The available tracking modes can include fewer, more, or other tracking modes. The tracking mode can be used to select sets of tuning parameters used by the discrete-timespeed plan module 428. The tuning parameters can include target acceleration, hysteresis parameters, and other tuning parameters. - An example is now provided to illustrate the operation of the discrete-time
speed plan module 428. If no longitudinal constraints associated with a hazard object require a change in trajectory, then the discrete-timespeed plan module 428 determines that the vehicle can be operated based on the strategic speed plan (as determined by the reference-trajectory generation layer 404). In contrast, if a longitudinal constraint of a hazard object requires a change in trajectory, a longitudinal contingency may be included for the proactive trajectory. For example, where the longitudinal constraint indicates that the tracking mode is to “brake,” the discrete-timespeed plan module 428 calculates a speed profile to stop the vehicle. That is, a deceleration speed profile is calculated to bring the vehicle to a stop, e.g., using the current speed of the vehicle and the distance to the hazard object. - In an example, any lateral contingency can be determined using maneuverability parameters of the vehicle being controlled. The maneuverability parameters can include a mass of the vehicle, a load of the vehicle, or both. Additional parameters, such as road topology, road conditions, etc., may be used to determine a lateral contingency or a longitudinal contingency. Maneuverability parameters related to an emergency maneuver that the vehicle may have to perform can also be used as constraints in generating of the proactive trajectory.
- The proactive
trajectory optimization layer 408 performs an optimization operation(s), such as a constrained operation, to determine an optimal proactive trajectory for the vehicle being controlled. Inputs may include the possible time-speed plans, the motion model (e.g., the kinematic motion model) of the vehicle, the coarse driveline and/or the center points of the bins along the coarse driveline, and the adjusted drivable area (e.g., the left and the right boundaries of the adjusted drivable area) to calculate (e.g., determine, generate, etc.) the proactive trajectory for the vehicle. The proactive trajectory planner 308 (e.g., the proactive trajectory optimization module 408) may generate the proactive trajectory using, for example, a constrained optimization operation. The optimization operation can be based on, or can include, a quadratic penalty function. The optimization operation can be based on, or can include, a logarithmic barrier function. For example, the quadratic penalty function can be used with soft constraints while logarithmic barrier function can be used with hard constraints. - Maneuverability parameters (related to an emergency maneuver that the AV may have to perform if a hazard materialized) can be used as constraints in the generating of the contingency trajectory.
- At 514, the
method 500 controls the vehicle according to the proactive trajectory. In the event that a (e.g., dynamic) hazard object actually intrudes into the path of the vehicle following the proactive trajectory, a reactive trajectory control module, such as thereactive trajectory control 310 ofFIG. 3 , can calculate a safe deviation from the proactive trajectory in response to the detection that causes the vehicle to perform the maneuver. - The
method 500 controls the vehicle according to the proactive trajectory at 514. Themethod 500 repeats and continues to do so unless there are changes required to the proactive trajectory. - In the examples of
FIGS. 7 and 8 , a single path/trajectory for each dynamic hazard object is used to determine the hazard zone for the look-ahead period. That is, a trajectory is predicted based on what is expected by the vehicle. InFIG. 7 , conventional behavior indicates that thevehicle 704 would merge into the lane to a trajectory that overlaps thetrajectory 703. InFIG. 8 , conventional behavior indicates that thevehicle 804 would slow down and move closer into the lane to pass thevehicle 806 before returning to the right edge from which it originally moved. However, a dynamic hazard object may travel along different paths at any given point in the look-ahead period due to human (e.g., driver) error, the appearance of previously undetected objects, etc. That is, multiple trajectories are possible given the same initial pose, position, speed, etc. of the object. Accordingly, it can be desirable to predict a range of trajectories for the dynamic hazard object to use in determining the lateral and longitudinal constraints of the dynamic hazard object. This is described with respect to themethod 1100 ofFIG. 11 . - The
method 1100 may be used with some, all, or none of the dynamic hazard objects detected in themethod 500 at 502. - At 1102, the dynamic properties of the dynamic hazard objects are determined. As described previously, these properties may include the pose (e.g., heading) and the speed (i.e., velocity) of the dynamic hazard object. However, they may also include other dynamic properties detected while the object is moving such as acceleration or deceleration.
- At 1104, a dynamic model of the dynamic hazard object is determined based on a classification of the dynamic hazard object. The classification of the dynamic hazard object can be one of a motorized vehicle, a non-motorized vehicle, or a pedestrian. In some implementations, the classification of the dynamic hazard object comprises a make and a model of a motorized vehicle. To determine the dynamic model, for example, a plurality of dynamic models may be stored in memory, such as in the
world model 302, where each of the plurality of dynamic models is associated with a respective classification. Then, the classification may be used to select the dynamic model from the plurality of dynamic models. Themethod 1100 can also include classifying the dynamic hazard object into one or more available classifications. - The dynamic model may represent at least one of a maximum acceleration, a minimum turning radius, a maximum turning radius, a maximum velocity, or a maximum deceleration of the dynamic hazard object. The dynamic model can be specific to a make and a model of a motorized vehicle when the dynamic hazard object is determined to be the make and model.
- At 1206, a range of trajectories for the dynamic hazard object are predicted using the dynamic model and the dynamic properties. For example, the predicted range of trajectories for the first hazard object can include a predicted trajectory and deviations from the predicted trajectory. For example, the predicted trajectory can be the most likely trajectory given the current dynamic properties, while the range is determined by possible changes to the trajectory due to changes in the current dynamic properties based on the dynamic model. The predicted range of trajectories can change over time.
- The hazard zone determined at 506 and the associated lateral and longitudinal constraints is associated with a trajectory of the predicted range of trajectories. More particularly, at 1108, hazard zone for the dynamic hazard object may be determined by selecting the hazard zone from the range of trajectories. In some implementations, a trajectory from the range of trajectories is selected based on, for example, the presence of other hazard objects, the conditions in which the dynamic hazard object is traveling (e.g., weather, type of road, etc.), or other conditions that may make one trajectory more likely than another. Then, the hazard zone over time can be determined from the trajectory and selected for use in the
method 500. In some implementations, a plurality of hazard zones may be determined, each associated with a respective trajectory of the predicted range of trajectories. Then, the hazard zone may be selected from the plurality of hazard zones. For example, the hazard zone may be whichever hazard zone of the plurality of hazard zones represents a maximum lateral incursion into the direction of travel of the vehicle. - The
method 1100 may be demonstrated with reference toFIG. 12 . InFIG. 12 , thevehicle 1202 to be controlled is traveling along a lane, and the dynamic hazard object is anoncoming vehicle 1204. According to driving convention, thevehicle 1204 would be predicted to travel alongtrajectory 1214 for the look ahead period. The dynamic model provides that, given the conditions of thevehicle 1204 at t=0, it is possible for thevehicle 1204 to start accelerating and swerving into the lane of thevehicle 1202 after t=t1, resulting in atrajectory 1224. According to formula (1) and the dynamic model of thevehicle 1204, the lateral incursion into the lane at t=t3 is represented by the cut-out 1230 (e.g., lateral and longitudinal constraints of the hazard zone). In this implementation, the hard left boundary of the drivable area is represented by the line location at t=0, also referred to as the road divider. Theproactive trajectory 1212 for thevehicle 1202 is determined in consideration of the hazard zone so as to perform the minimum proactive lateral maneuver that maintains the reactive capability of thevehicle 1202. That is, theproactive trajectory 1212 is determined to include a lateral contingency so that thevehicle 1202 can perform an emergency maneuver (and follow the reactive trajectory 1222) if thevehicle 1204 starts accelerating and swerving into the lane of thevehicle 1202 after t=t1. - As described above with regards to
FIG. 9 , the hazard zone (e.g., the longitudinal and lateral constraints) of a dynamic hazard object usually decrease over time as the position of hazard at the point of intersection (here t=t3) becomes more certain. This can be seen in the middle ofFIG. 12 where a cut-out 1232 determined at t=t3 using formula (1) is shown that assumes thevehicle 1204 maintains itstrajectory 1214 parallel to the lane. However, the hazard zone may increase over time if thevehicle 1204 deviates from its nominal behavior (e.g., thevehicle 1204 accelerates longitudinally and laterally). The cut-out 1234, for example, is determined at t<t3 where thevehicle 1204 follows thetrajectory 1224. - Consideration of the different trajectories of the
vehicle 1204 can modify the proactive trajectory of thevehicle 1202 over time. For example, as shown at the bottom ofFIG. 12 , the minimum proactive lateral maneuver that maintains the reactive capability of the vehicle 1202 (e.g., a lateral distance from the road divider) is graphed over time.Curve 1250 represents where thevehicle 1204 follows thetrajectory 1214. The cut-out 1230 conforms to a lateral distance of D1.Curve 1254 represents where thevehicle 1204 follows thetrajectory 1224. The cut-out 1234 requires a larger value for the minimum proactive lateral maneuver to maintain the reactive capability of thevehicle 1202. Further, the longitudinal intersection point shifts closer (t<t3) as shown by the arrow. Thecurve 1252 represents a trajectory for thevehicle 1204 that starts accelerating and swerving into the lane after t=t1, but stops accelerating and swerving after t=t2. The longitudinal intersection point shifts similarly to thecurve 1254, but the minimum proactive lateral maneuver to maintain the reactive capability of thevehicle 1202 is a smaller value than associated with thecurve 1254. -
FIGS. 13A and 13B are diagrams showing a predicted range of trajectories for a parallel dynamic hazard object. A parallel dynamic hazard object is an object traveling generally in the same direction as the vehicle being controlled, as opposed to an oncoming dynamic hazard object. These diagrams illustrate how a vehicle may anticipate and prepare for potential lane merges based on the adjacent vehicle's predicted range. In thesituation 1500, thevehicle 1502 being controlled is traveling in a lane of a two-lane road. According to the proactive trajectory ofFIG. 13A , thevehicle 1502 is implementing a longitudinal contingency of following thevehicle 1504. Based on the pose of theadjacent vehicle 1506, a predicted range oftrajectories 1508A may be considered for determining a hazard zone as described with regards toFIG. 12 . There is a relatively low chance of a lane merge. In thesituation 1510 ofFIG. 13B , the pose of theadjacent vehicle 1506 has changed, as has the prediction range of trajectories. There is an increased chance of a lane merge, and the proactive trajectory includes a longitudinal contingency that gradually increases deceleration of thevehicle 1502 as the possibility of a lane merge increases. -
FIG. 14 is another diagram showing a predicted range of trajectories for a parallel dynamic hazard object. Thissituation 1600 demonstrates that the predicted range of trajectories of a hazard object may be used to consider the visibility of thevehicle 1602 being controlled from other road users (i.e., hazard objects). In thissituation 1600, thevehicle 1602 is traveling in the right lane of a two-lane road. The dynamic hazard object is anadjacent vehicle 1604 traveling in the left lane. Given the same pose of theadjacent vehicle 1604, a first range oftrajectories 1608A for theadjacent vehicle 1604 may be considered when determining a proactive trajectory for thevehicle 1602, but a second range of trajectories that further includes thetrajectories 1608B may be considered when determining a proactive trajectory for thevehicle 1602 when thevehicle 1602 is traveling in theblind spot 1606 of theadjacent vehicle 1604. That is, the range of possible trajectories of theadjacent vehicle 1604 increases as thevehicle 1602 is in the driver'sblind spot 1606. The location of a blind spot may be known based on the classification of theadjacent vehicle 1604 described with respect toFIG. 12 . Increasing the range of trajectories to consider the visibility from the perspective of the dynamic hazard object acknowledges that the dynamic hazard object may take different actions when they are aware of the presence of the vehicle being controlled as compared to when they are not aware of its presence. - The discussion above expressly addresses hazard objects that sequentially occur in the path of a vehicle being controlled or where one or more hazard objects are predicted to concurrently exist either to the left or the right of the path of the vehicle. Hazard objects, however, may be predicted to concurrently exist on both sides of the vehicle for at least part of the driveline of the vehicle being controlled. That is, hazard zones for hazard objects may overlap in the longitudinal direction. The above techniques may be used in this situation. In many circumstances, however, the above techniques would result in an inability of the vehicle to advance at all. For this reason, and referring back to
FIG. 5 , themethod 500 may also separately consider hazard zones that overlap at 508. - That is, there may be circumstances where a first hazard zone (e.g., for a first hazard object) includes a first target lateral constraint that extends over a left lane boundary and into the lane such that the vehicle may avoid the first hazard object without a speed constraint, and a second hazard zone (e.g., for a second hazard object) that includes a second target lateral constraint that extends over a right lane boundary and into the lane such that the vehicle may avoid the second hazard object without a speed constraint. In some such situations, the analysis previously described would result in the vehicle not being able to pass at all if both hazard zones are cut out of the drivable area. For example, narrow streets (e.g., residential streets), streets with multiple hazard objects arranged in parallel on one or both sides of the vehicle that narrow an otherwise wide street (e.g., city streets), etc. To address these and other situations with overlapping hazard zones, dual-sided buffer allocation may be used.
- Namely, if there are hazard zones that overlap at 508, the
method 500 allocates a lateral buffer to respective lateral constraints for the hazard zones at 516. In particular, for each discretized time and location where a first hazard zone and a second hazard zone overlap in the longitudinal direction, a lateral buffer to a first allocated lateral constraint for the first hazard object and a second allocated lateral constraint for the second hazard object. Allocating the lateral buffer uses the first target lateral constraint and the second target lateral constraint as input. The allocation maximizes the allocated (e.g., assigned) lateral constraints while maintaining at least a minimum passing gap. Desirably, the allocation minimizes a difference in lateral constraint ratios between the two sides. One technique for allocating the lateral buffer is described with regards toFIGS. 17-23 . -
FIG. 15 shows assumptions made in the allocation at 516. InFIG. 15 , avehicle 1700 is traveling within a lane defined by aleft lane boundary 1702 and a right lane boundary 1703. As described initially, the lane boundaries may not be marked boundaries. Instead, they may be virtual boundaries based on a defined width for the lane. The leftdrivable area boundary 1712 and the rightdrivable area boundary 1714 correspond generally to the default drivable area defined by theleft boundary 604 and theright boundary 606 in the description ofFIG. 6 . For hazard object A, thehazard zone 1722 determined at 506 has a target lateral constraint. For hazard object B, thehazard zone 1724 determined at 506 also has a target lateral constraint. As can be seen inFIG. 15 , there are one or more hazard objects on opposite sides of thevehicle 1700 that overlap in the direction of travel of thevehicle 1700. The target lateral constraint for thehazard zone 1722 of the hazard object A extends in the lane beyond both theleft lane boundary 1702 and leftdrivable area boundary 1712. The target lateral constraint for thehazard zone 1724 of the hazard object B extends into the lane beyond both theright lane boundary 1704 and rightdrivable area boundary 1714. - The dual-sided buffer allocation described herein uses this information to allocate a lateral buffer to (e.g., between) a first allocated lateral constraint for the first hazard object A and a second allocated lateral constraint for the second hazard object B. In
FIG. 16 , the first allocated lateral constraint is associated with an updatedfirst hazard zone 1732, and the second allocated lateral constraint is associated with an updatedsecond hazard zone 1734. -
FIG. 16 illustrates variables used in the dual-sided buffer allocation. InFIG. 16 , y A is the rightmost boundary of hazard object A, yL is the left drivable area boundary, yl is the left lane boundary,y A is the target (e.g., desired, maximum) lateral constraint for the hazard object A, and yA * is the allocated (e.g., optimal, assigned) lateral constraint for the hazard object A. Although not shown inFIG. 16 for clarity, similar variables are associated with hazard object B. Namely, y B is the leftmost boundary of hazard object B, yR is the right drivable area boundary, yr is the right lane boundary,y B is the target (e.g., desired, maximum) lateral constraint for the hazard object B, and yB * is the allocated (e.g., optimal, assigned) lateral constraint for the hazard object B. - In this example, the above variables are measured on a descending scale from left to right. That is, the lowest value is the rightmost boundary of hazard object B, and the highest value is the leftmost boundary of hazard object A. Other arrangements are possible, such as defining the variables to ascend from left to right. The variables may be defined in feet, meters, etc. Assuming the scale descends from left to right, the following equation (e.g., formula) applies:
-
Δy =y l −y r (2) - wherein Δ
y is the width of the lane. A variable Δymin is a minimum passing gap. - The following differences may be determined:
-
Δy A =y A −y A (3) -
Δy A =y A −y l (4) -
Δy A * =y t −y A * (5) -
Δy B =y B −y B (6) -
Δy B =y r −y B (7) -
Δy B * =y B * −y r (8) - wherein:
- Δ
y A is the difference between the rightmost boundary of the hazard object A and the target left lateral constraint, ΔyA is the difference between the rightmost boundary of the hazard object A and the left lane boundary, ΔyA * is the difference between the left lane boundary and the allocated left (or first) lateral constraint, Δy B is the difference between the leftmost boundary of the hazard object B and the target right lateral constraint, ΔyB is the difference between the leftmost boundary of the hazard object B and the right lane boundary, ΔyB * is the difference between the right lane boundary and the allocated right lateral constraint. - While the
left lane boundary 1702 and the leftdrivable area boundary 1712 and theright lane boundary 1704 and the rightdrivable area boundary 1714 are the same inFIGS. 17 and 18 , this is not necessary, as described above with regards toFIG. 6 . They are shown separately to identify more easily variables inFIG. 16 for use in the allocation. The first allocated lateral constraint and the second allocated lateral constraint are shown respectively spaced apart from the first lateral constraint, theleft lane boundary 1702, and the leftdrivable area boundary 1712, and from the right lateral constraint, theright lane boundary 1704, and the rightdrivable area boundary 1714, for a similar reason. However, the first allocated lateral constraint and the second allocated lateral constraint have a range of possible values. For example, assuming: -
y A≥yL≥yl (9) -
y B≤yR≤yr (10) -
Δy A>ΔyA, and (11) -
Δy B>ΔyB, then (12) - then the difference between the
left lane boundary 1702 and the first allocated lateral constraint (ΔyA *) is within the range: -
0≤ΔyA *≤Δy A−ΔyA. (13) - and the difference between the
right lane boundary 1704 and the second allocated lateral constraint (ΔyB *) is within the range: -
0≤ΔyB *≤Δy B−ΔyB, (14) - As mentioned initially, a goal is to maximize allocation of the lateral buffer to each hazard object while maintaining the minimum passing gap Δymin. This inequality constraint may be represented as:
-
Δymin≤Δy −(ΔyA *+ΔyB *). (15) - Using this constraint, the available lateral buffer may be divided by selecting values for the minimum passing gap Δymin and one of the allocated lateral constraints, and solve for the other allocated lateral constraint. For example, the minimum passing gap may be a width of the
vehicle 1700 plus a bounding box. An allocated lateral constraint may be selected based on the status of the hazard object in some implementations. For example, the allocated lateral constraint may be set to be no more than the target lateral constraint where the hazard object is a recently-parked vehicle, may be set to be less than the target lateral constraint where the hazard object is a static vehicle that has been observed over multiple cycles, or may be set to be greater than the target lateral constraint where the hazard object is a dynamic hazard object. Solving for the dual-sided buffer allocation may be an iterative process. - According to another implementation described herein, dividing up (e.g., allocating, assigning, etc.) the available lateral space may be achieved by minimizing the difference between the allocated lateral constraint ratios of the two sides. To simplify the equations, several ratios are first defined as follows:
-
α0 =Δy A /Δy A, (16) -
β0 =Δy B /Δy B, (17) -
α*=Δy A * /Δy A, and (18) -
β*=Δy B * /Δy B, (19) - where:
-
0≤α0<1 and (20) -
0≤β0<1. (21) - Thus, the problem is to maximize the sum of the respective ratios of the difference between the hazard object's innermost boundary and the lane boundary and the difference between the hazard object's innermost boundary and the target lateral constraint, and the respective ratios of the difference between the lane boundary and the allocated lateral hazard and the difference between the hazard object's innermost boundary and the target lateral constraint, while satisfying the inequality constraint of equation (15). More specifically, the problem may be defined as follows:
-
- such that equation (15) is satisfied, where
-
- Solving for the optimal values for α* and β* provides the allocated first lateral constraint as:
-
y A * =y l −α*Δy A (24) - and the allocated second lateral constraint as:
-
y B * =y r +β*Δy B. (25) -
FIGS. 19-22 are diagrams that illustrate the four distinct situations resulting in different optimal solutions for dual-sided buffer allocation. The left side of each figure shows the some of the inputs for the allocation equations (15), (22), and (23), including the firsttarget lateral constraint 1742 and the second target lateral constraint 1744 (shown by the dashed lines). The right side of each figure shows the outputs of the allocation equations (24) and (25) using the resulting solution for α* and β*, namely the allocated firstlateral constraint 1752 and the allocated secondlateral constraint 1754. - The diagram of
FIG. 17 shows a situation where the maximum extent of each of the firsttarget lateral constraint 1742 and the secondtarget lateral constraint 1744 can be satisfied while maintaining the minimum passing gap Δymin, that is, Δymin≤y −(Δy A−ΔyA+Δy B−ΔyB). In this situation, the solutions for α* and β*, e.g., from equations (18) and (19) are: -
α*=1−Δy A /Δy A and (26) -
β*=1−Δy B /Δy B. (27) - Thus, the drivable area of the lane may be reduced as shown by the arrows such that the allocated first
lateral constraint 1752 may be equal to the first target lateral constraint 1742 (i.e., yA *=y A) and the allocated secondlateral constraint 1754 may be equal to the second target lateral constraint 1744 (i.e., yB *=y B). Thevehicle 1700 being controlled can easily pass both hazard objects. - For the remaining three situations shown in
FIGS. 20-22 , the difference between the firsttarget lateral constraint 1742 and the second target lateral constraint 1744 (i.e.,y A−y B<Δymin) Stated elsewise: -
Δymin>y −(Δy A−ΔyA+Δy B−ΔyB). (28) - In
FIG. 18 , the hazard zone A is further from the lane than the hazard zone B. InFIG. 19 , the hazard zone A is closer to the lane than the hazard zone B. Finally, inFIG. 20 , the hazard zone A and the hazard zone B are each closer to the lane than the situation shown inFIG. 17 . - In these situations, it is useful to define a new variable
-
η=max(1−α0,1−β0). (29) - As explained previously, each of α0 and β0 have values that are at least equal to 0 and less than 1. Each represents a ratio of the difference between the hazard object's innermost boundary and the lane boundary (i.e., ΔyA, ΔyB) and the difference between the hazard object's innermost boundary and the target lateral constraint (i.e., Δ
y A, Δy B). Accordingly, the value for ηhas the same range of 0≤η<1. - In the situation shown in
FIG. 18 (e.g., where the righttarget lateral constraint 1744 extends further into the lane than the left target lateral constraint 1742), combining equations (28) and (29) yields an updated relationship for Δymin as follows, where α0>β0: -
y −η(Δy A−Δy B)<Δy min. (30) - The solutions for α* and β*, e.g., from equations (18) and (19) are:
-
α*=0 and (31) -
β*=(Δy −Δymin)/Δy B. (32) - Thus, the drivable area of the lane may be reduced as shown by the arrows such that less of the lateral buffer is allocated to the allocated first
lateral constraint 1752 than allocated to the allocated secondlateral constraint 1754. While thevehicle 1700 being controlled can pass both hazard objects (e.g., because the minimum passing gap Δymin exists), a longitudinal contingency may be used to slow thevehicle 1700 because the 1742, 1744 are not satisfied.target lateral constraints - The situation in
FIG. 19 is similar to the situation shown inFIG. 18 , except that the lefttarget lateral constraint 1742 extends further into the lane than the righttarget lateral constraint 1744. Combining equations (28) and (29) yields an updated relationship for Δymin represented by equation (30), where α0<β0. - The solutions for α* and β*, e.g., from equations (18) and (19) are:
-
α*=(Δy −Δy min /Δy B and (33) -
β*=0. (34) - Thus, the drivable area of the lane may be reduced as shown by the arrows such that less of the lateral buffer is allocated to the allocated second
lateral constraint 1754 than allocated to the allocated firstlateral constraint 1752. While thevehicle 1700 being controlled can pass both hazard objects (e.g., because the minimum passing gap Δymin exists), a longitudinal contingency may be used to slow thevehicle 1700 because the 1742, 1744 are not satisfied.target lateral constraints - In
FIG. 20 , Δymin is represented by a different inequality equation than equation (30), as follows: -
y −η(Δy A−Δy B)≥Δymin. (35) - Parity may be achieved between the two ratios as follows such that α0+α*=β0+β*. Thus, the solution for β* is:
-
β*=α0+α*−β0. (36) - To solve for α*, equation (36) is substituted into the inequality constraint of equation (15):
-
Δy min =Δy −α*Δy A −β*Δy B (37) -
Δy min =Δy −α*Δy A−(α0+α*−β0)Δy B (38) -
Δy min =Δy −α*(Δy A +Δy B)−(α0−β0)Δy B (39) -
α*(Δy A +Δy B)=Δy −Δy min−(α0−β0)Δy B (40) -
α*=(Δy −Δy min−(α0−β0)Δy B)/(Δy A+Δy B) (41) - According to equations (36) and (41), the drivable area of the lane may be reduced as shown by the arrows such that equal portions of the lateral buffer are allocated to the allocated second
lateral constraint 1754 and the allocated firstlateral constraint 1752. While thevehicle 1700 being controlled can pass both hazard objects (e.g., because the minimum passing gap Δymin exists), a longitudinal contingency may be used to slow thevehicle 1700 because the 1742, 1744 are not satisfied.target lateral constraints - That is, and again referring to the
method 500 ifFIG. 5 , after the lateral buffer is allocated at 516, respective longitudinal constraints may be determined at 518 in a like manner as described with regards to 510. Thereafter, the allocated lateral constraints and respective longitudinal constraints may be used in the process of determining the proactive trajectory at 512 as previously described. -
FIG. 21 is a diagram of an example of applying dual-sided buffer allocation according to implementations of this disclosure. In this example, thevehicle 2302 under control is traveling a lane with hazard objects in the form of parkedvehicles 2304 on the left side of the lane and parkedvehicles 2306 on the right side of the lane. A hazard object in the form of anoncoming vehicle 2308 is also present. The parkedvehicles 2304 do not affect the trajectory of thevehicle 2302. At time ti, the lateral constraint imposed by a parked vehicle of the parkedvehicles 2306 is such that the passing gap is at least equal to Δymin. For example, the lateral constraint may be determined to prevent thevehicle 2302 from contact with a car door if opened. Thevehicle 2302 can advance without a longitudinal contingency. In contrast, at time t2, the oncomingvehicle 2308 and thevehicle 2302 cross paths. Thetarget lateral constraints 2312 for the hazard objects, where A and B represent two of the parkedvehicles 2306 and C represents the oncomingvehicle 2308, may be used as input into the dual-sided buffer allocation to determine the allocatedlateral constraints 2314. The proactive trajectory of thevehicle 2302 includes a lateral contingency that moves thevehicle 2302 closer to the parkedvehicles 2306, because the materializing hazard (i.e., the oncoming vehicle 2308) may be prioritized over the less likely or non-materializing hazard (i.e., the parked car door). InFIG. 21 , the passing gap is at least equal to Δymin, but a longitudinal contingency (i.e., a reduction in speed) is desirable because thetarget lateral constraints 2312 are not satisfied (e.g., there is insufficient lateral buffer). -
FIG. 22 is a diagram of another example of applying dual-sided buffer allocation according to implementations of this disclosure. Thevehicle 2402 under control is traveling a lane with hazard objects in the form of parkedvehicles 2304 on the left side of the lane. A parallel dynamic hazard object (e.g., one that is traveling in the same direction as the vehicle 2402) in the form of acyclist 2406 is also present. At time t1, lateral constraints are imposed by the parkedvehicles 2404 and by thecyclist 2406. For example, thetarget lateral constraints 2412 for the parkedvehicles 2404 may be determined to prevent thevehicle 2302 from contact with a car door if opened. Thetarget lateral constraint 2414 for thecyclist 2406 may be determined as described previously with regards to dynamic hazard objects. Thetarget lateral constraints 2412, where B and C represent the parkedvehicles 2306, and thetarget lateral constraint 2414, where A represents thecyclist 2406, may be used as input into the dual-sided buffer allocation to determine the allocated lateral constraints, shown in the solid lines. The proactive trajectory of thevehicle 2302 may include a lateral contingency that moves thevehicle 2302 closer to the parkedvehicles 2304, again because the materializing hazard (i.e., the cyclist 2406) may be prioritized over the less likely or non-materializing hazard (i.e., the parked car door). A longitudinal contingency is also desirable because the 2412, 2414 are not satisfied (e.g., there is insufficient lateral buffer). In this example, however, the classification of the dynamic hazard object (i.e., a bicycle) may be used to include a longitudinal contingency that follows thetarget lateral constraints cyclist 2406, instead of reducing its speed to slowly pass thecyclist 2406 through the passing gap, which is at least equal to Δymin. Thereafter, at time t2, thetarget lateral constraint 2414 can be cut out of the drivable area and the passing gap remains at least equal to Δymin Accordingly, thevehicle 2402 can follow a proactive trajectory that includes a lateral contingency that moves further away from thecyclist 2406 and a longitudinal contingency that accelerates thevehicle 2402 to pass thecyclist 2406. - Herein, the terminology “passenger”, “driver”, or “operator” may be used interchangeably. Also, the terminology “brake” or “decelerate” may be used interchangeably. As used herein, the terminology “processor”, “computer”, or “computing device” includes any unit, or combination of units, capable of performing any method, or any portion or portions thereof, disclosed herein.
- As used herein, the terminology “instructions” may include directions or expressions for performing any method, or any portion or portions thereof, disclosed herein, and may be realized in hardware, software, or any combination thereof. For example, instructions may be implemented as information, such as a computer program, stored in memory that may be executed by a processor to perform any of the respective methods, algorithms, aspects, or combinations thereof, as described herein. In some implementations, instructions, or a portion thereof, may be implemented as a special-purpose processor or circuitry that may include specialized hardware for carrying out any of the methods, algorithms, aspects, or combinations thereof, as described herein. In some implementations, portions of the instructions may be distributed across multiple processors on a single device, or on multiple devices, which may communicate directly or across a network, such as a local area network, a wide area network, the Internet, or a combination thereof.
- As used herein, the terminology “example,” “embodiment,” “implementation,” “aspect,” “feature,” or “element” indicate serving as an example, instance, or illustration. Unless expressly indicated otherwise, any example, embodiment, implementation, aspect, feature, or element is independent of each other example, embodiment, implementation, aspect, feature, or element and may be used in combination with any other example, embodiment, implementation, aspect, feature, or element.
- As used herein, the terminology “determine” and “identify,” or any variations thereof, includes selecting, ascertaining, computing, looking up, receiving, determining, establishing, obtaining, or otherwise identifying or determining in any manner whatsoever using one or more of the devices shown and described herein.
- As used herein, the terminology “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise or clearly indicated otherwise by the context, “X includes A or B” is intended to indicate any of the natural inclusive permutations thereof. If X includes A; X includes B; or X includes both A and B, then “X includes A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
- Further, for simplicity of explanation, although the figures and descriptions herein may include sequences or series of operations or stages, elements of the methods disclosed herein may occur in various orders or concurrently. Additionally, elements of the methods disclosed herein may occur with other elements not explicitly presented and described herein. Furthermore, not all elements of the methods described herein may be required to implement a method in accordance with this disclosure. Although aspects, features, and elements are described herein in particular combinations, each aspect, feature, or element may be used independently or in various combinations with or without other aspects, features, and/or elements.
- While the disclosed technology has been described in connection with certain embodiments, it is to be understood that the disclosed technology is not to be limited to the disclosed embodiments but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims, which scope is to be accorded the broadest interpretation as is permitted under the law so as to encompass all such modifications and equivalent arrangements.
Claims (21)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/377,657 US12071127B2 (en) | 2021-07-16 | 2021-07-16 | Proactive risk mitigation |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/377,657 US12071127B2 (en) | 2021-07-16 | 2021-07-16 | Proactive risk mitigation |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| US20230012853A1 US20230012853A1 (en) | 2023-01-19 |
| US20230347881A9 true US20230347881A9 (en) | 2023-11-02 |
| US12071127B2 US12071127B2 (en) | 2024-08-27 |
Family
ID=84892154
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/377,657 Active 2042-10-20 US12071127B2 (en) | 2021-07-16 | 2021-07-16 | Proactive risk mitigation |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US12071127B2 (en) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102020003073B3 (en) * | 2020-05-22 | 2021-11-04 | Daimler Ag | Method and device for automated driving of a vehicle and vehicle |
| US12071127B2 (en) | 2021-07-16 | 2024-08-27 | Nissan North America, Inc. | Proactive risk mitigation |
| US12116014B2 (en) * | 2021-07-29 | 2024-10-15 | Waymo Llc | Lateral gap planning for autonomous vehicles |
| US12384364B2 (en) | 2021-10-29 | 2025-08-12 | Tusimple, Inc. | Lane bias maneuver for autonomous vehicles to negotiate a curved road |
| CN114348001B (en) * | 2022-01-06 | 2024-04-26 | 腾讯科技(深圳)有限公司 | Traffic simulation method, device, equipment and storage medium |
| JP2024037589A (en) * | 2022-09-07 | 2024-03-19 | 株式会社Subaru | Vehicle driving support device |
| JP7770295B2 (en) * | 2022-12-08 | 2025-11-14 | 三菱電機株式会社 | Route determination device and automated driving system |
| US11919514B1 (en) * | 2023-02-06 | 2024-03-05 | Plusai, Inc. | Safety filter with preview data to improve the safety of steer commands |
| US20240425050A1 (en) * | 2023-06-23 | 2024-12-26 | GM Global Technology Operations LLC | Probabilistic driving behavior modeling system for a vehicle |
| US20250074473A1 (en) * | 2023-08-31 | 2025-03-06 | Nissan North America, Inc. | Constraint-Based Speed Profile |
| JP2025138135A (en) * | 2024-03-11 | 2025-09-25 | Astemo株式会社 | Vehicle control device and vehicle control method |
| KR20250148030A (en) * | 2024-04-04 | 2025-10-14 | 주식회사 에이치엘클레무브 | Apparatus and method for controlling vehicle |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180178784A1 (en) * | 2016-12-26 | 2018-06-28 | Toyota Jidosha Kabushiki Kaisha | Driving assistance device |
| US20190025843A1 (en) * | 2017-07-18 | 2019-01-24 | Uber Technologies, Inc. | Systems and Methods for Speed Limit Context Awareness |
| US20190355257A1 (en) * | 2018-05-17 | 2019-11-21 | Zoox, Inc. | Drive envelope determination |
| US20200133280A1 (en) * | 2018-10-29 | 2020-04-30 | Aptiv Technologies Limited | Adjusting lateral clearance for a vehicle using a multi-dimensional envelope |
| US20200341474A1 (en) * | 2019-04-23 | 2020-10-29 | WeRide Corp. | Method and device for generating an autonomous driving trajectory of a vehicle |
| US11433922B1 (en) * | 2019-12-20 | 2022-09-06 | Zoox, Inc. | Object uncertainty detection |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080059015A1 (en) | 2006-06-09 | 2008-03-06 | Whittaker William L | Software architecture for high-speed traversal of prescribed routes |
| JP5112666B2 (en) | 2006-09-11 | 2013-01-09 | 株式会社日立製作所 | Mobile device |
| JP5080333B2 (en) | 2007-04-06 | 2012-11-21 | 本田技研工業株式会社 | Object recognition device for autonomous mobile objects |
| JP5035040B2 (en) | 2008-03-12 | 2012-09-26 | 株式会社豊田中央研究所 | Driving assistance device |
| JP2011198247A (en) | 2010-03-23 | 2011-10-06 | Toyota Motor Corp | Driving support device |
| JP5834428B2 (en) | 2011-03-10 | 2015-12-24 | 株式会社豊田中央研究所 | Vehicle motion control device and program |
| EP4450845A3 (en) | 2013-03-15 | 2025-01-01 | ClearMotion, Inc. | Active vehicle suspension improvements |
| SE539221C2 (en) | 2015-06-04 | 2017-05-23 | Scania Cv Ab | Method and control unit for avoiding an accident at a crosswalk |
| US10269257B1 (en) | 2015-08-11 | 2019-04-23 | Gopro, Inc. | Systems and methods for vehicle guidance |
| JP2017114405A (en) | 2015-12-25 | 2017-06-29 | マツダ株式会社 | Drive support device |
| US20170329332A1 (en) | 2016-05-10 | 2017-11-16 | Uber Technologies, Inc. | Control system to adjust operation of an autonomous vehicle based on a probability of interference by a dynamic object |
| US9989966B2 (en) | 2016-05-20 | 2018-06-05 | Delphi Technologies, Inc. | Intersection cross-walk navigation system for automated vehicles |
| JP6599835B2 (en) | 2016-09-23 | 2019-10-30 | 日立建機株式会社 | Mine working machine, obstacle discrimination device, and obstacle discrimination method |
| JP6521486B2 (en) | 2017-06-06 | 2019-05-29 | マツダ株式会社 | Vehicle control device |
| JP2019040427A (en) | 2017-08-25 | 2019-03-14 | 株式会社デンソー | Driving support device, arithmetic device, and driving support method |
| CN111226269A (en) | 2017-11-17 | 2020-06-02 | 爱信艾达株式会社 | Vehicle driving assistance system, vehicle driving assistance method, and vehicle driving assistance program |
| US10551207B2 (en) | 2018-06-18 | 2020-02-04 | Nio Usa, Inc. | Autonomous vehicle sensor data and map integration |
| US11001256B2 (en) | 2018-09-19 | 2021-05-11 | Zoox, Inc. | Collision prediction and avoidance for vehicles |
| US11474255B2 (en) | 2018-12-14 | 2022-10-18 | The Regents Of The University Of Michigan | System and method for determining optimal lidar placement on autonomous vehicles |
| US20200211394A1 (en) | 2018-12-26 | 2020-07-02 | Zoox, Inc. | Collision avoidance system |
| US10974732B2 (en) | 2019-01-04 | 2021-04-13 | Toyota Motor Engineering & Manufacturing North America, Inc. | System, method, and computer-readable storage medium for traffic intersection navigation |
| US11016492B2 (en) | 2019-02-28 | 2021-05-25 | Zoox, Inc. | Determining occupancy of occluded regions |
| US11378986B2 (en) | 2019-04-01 | 2022-07-05 | Honeywell International Inc. | Systems and methods for landing and takeoff guidance |
| US20210031760A1 (en) | 2019-07-31 | 2021-02-04 | Nissan North America, Inc. | Contingency Planning and Safety Assurance |
| US11332132B2 (en) | 2019-08-30 | 2022-05-17 | Argo AI, LLC | Method of handling occlusions at intersections in operation of autonomous vehicle |
| US12071127B2 (en) | 2021-07-16 | 2024-08-27 | Nissan North America, Inc. | Proactive risk mitigation |
-
2021
- 2021-07-16 US US17/377,657 patent/US12071127B2/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20180178784A1 (en) * | 2016-12-26 | 2018-06-28 | Toyota Jidosha Kabushiki Kaisha | Driving assistance device |
| US20190025843A1 (en) * | 2017-07-18 | 2019-01-24 | Uber Technologies, Inc. | Systems and Methods for Speed Limit Context Awareness |
| US20190355257A1 (en) * | 2018-05-17 | 2019-11-21 | Zoox, Inc. | Drive envelope determination |
| US20200133280A1 (en) * | 2018-10-29 | 2020-04-30 | Aptiv Technologies Limited | Adjusting lateral clearance for a vehicle using a multi-dimensional envelope |
| US20200341474A1 (en) * | 2019-04-23 | 2020-10-29 | WeRide Corp. | Method and device for generating an autonomous driving trajectory of a vehicle |
| US11433922B1 (en) * | 2019-12-20 | 2022-09-06 | Zoox, Inc. | Object uncertainty detection |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230012853A1 (en) | 2023-01-19 |
| US12071127B2 (en) | 2024-08-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12071127B2 (en) | Proactive risk mitigation | |
| EP4004770B1 (en) | Contingency planning and safety assurance | |
| US12043284B2 (en) | Trajectory planning | |
| US10569773B2 (en) | Predicting behaviors of oncoming vehicles | |
| US10698407B2 (en) | Trajectory planning | |
| US10745011B2 (en) | Predicting yield behaviors | |
| US20250002049A1 (en) | Proactive Risk Mitigation with Generalized Virtual Vehicles | |
| US20210035442A1 (en) | Autonomous Vehicles and a Mobility Manager as a Traffic Monitor | |
| US12077177B2 (en) | Autonomous vehicle control and map accuracy determination based on predicted and actual trajectories of surrounding objects and vehicles | |
| US20250206352A1 (en) | Road User Categorization Through Monitoring | |
| US20250083676A1 (en) | Virtual Vehicle for Intersection Edging and Virtual Stop Lines |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: NISSAN NORTH AMERICA, INC., TENNESSEE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAM, QIZHAN;CYPHER-PLISSART, THERESE;OSTAFEW, CHRISTOPHER;SIGNING DATES FROM 20210712 TO 20210713;REEL/FRAME:056882/0265 |
|
| 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: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| FEPP | Fee payment procedure |
Free format text: PETITION RELATED TO MAINTENANCE FEES GRANTED (ORIGINAL EVENT CODE: PTGR); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| 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 |
|
| ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
| ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
| 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 |
|
| AS | Assignment |
Owner name: NISSAN MOTOR CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NISSAN NORTH AMERICA, INC.;REEL/FRAME:069271/0395 Effective date: 20241021 |