US20210229666A1 - Detecting and responding to propulsion and steering system errors for autonomous vehicles - Google Patents
Detecting and responding to propulsion and steering system errors for autonomous vehicles Download PDFInfo
- Publication number
- US20210229666A1 US20210229666A1 US17/228,078 US202117228078A US2021229666A1 US 20210229666 A1 US20210229666 A1 US 20210229666A1 US 202117228078 A US202117228078 A US 202117228078A US 2021229666 A1 US2021229666 A1 US 2021229666A1
- Authority
- US
- United States
- Prior art keywords
- vehicle
- commands
- acceleration
- computing devices
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001133 acceleration Effects 0.000 claims abstract description 102
- 230000008859 change Effects 0.000 claims description 33
- 238000012544 monitoring process Methods 0.000 claims description 11
- 230000007935 neutral effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000006399 behavior Effects 0.000 description 21
- 230000008447 perception Effects 0.000 description 18
- 230000015654 memory Effects 0.000 description 17
- 238000000034 method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000011664 signaling Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000001141 propulsive effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 210000000707 wrist Anatomy 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/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/181—Preparing for stopping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K28/00—Safety devices for propulsion-unit control, specially adapted for, or arranged in, vehicles, e.g. preventing fuel supply or ignition in the event of potentially dangerous conditions
- B60K28/10—Safety devices for propulsion-unit control, specially adapted for, or arranged in, vehicles, e.g. preventing fuel supply or ignition in the event of potentially dangerous conditions responsive to conditions relating to the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/02—Conjoint control of vehicle sub-units of different type or different function including control of driveline clutches
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/06—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/10—Conjoint control of vehicle sub-units of different type or different function including control of change-speed gearings
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/14—Adaptive cruise control
-
- 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/18027—Drive off, accelerating from standstill
-
- 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/182—Selecting between different operative modes, e.g. comfort and performance modes
-
- 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/188—Controlling power parameters of the driveline, e.g. determining the required power
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/10—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
- B60W40/107—Longitudinal acceleration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/038—Limiting the input power, torque or speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
- B60W60/0018—Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions
- B60W60/00186—Planning or execution of driving tasks specially adapted for safety by employing degraded modes, e.g. reducing speed, in response to suboptimal conditions related to 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/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
- G05D1/0066—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements for limitation of acceleration or stress
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2520/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
- B60W2520/105—Longitudinal acceleration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2302/00—Responses or measures related to driver conditions
- B60Y2302/05—Leading to automatic stopping of the vehicle
-
- G05D2201/0212—
Definitions
- Autonomous vehicles such as vehicles that do not require a human driver, can be used to aid in the transport of passengers or items from one location to another. Such vehicles may operate in a fully autonomous mode where passengers may provide some initial input, such as a pickup or destination location, and the vehicle maneuvers itself to that location controlled by a control system.
- the control system may detect errors in the propulsion system caused by a lack of acceleration or unintended acceleration. For instance, mechanical failures or errors in signal processing may result in a total loss of acceleration or even too much acceleration. The result may be a situation in which the vehicle's control computing devices are unable to safely maneuver the vehicle to reach a desired destination.
- Some vehicles may notify a driver and switch to a manual driving mode. However, if the driver is not responsive or a manual driving mode is not available (not operational or simply not a mode of the vehicle), this solution is ineffective.
- One aspect of the disclosure provides a method of stopping a vehicle.
- the method includes controlling, by one or more control computing devices, the vehicle in an autonomous driving mode by generating first commands for acceleration control and sending the first commands to an acceleration actuator of an acceleration system of the vehicle in order to cause the vehicle to accelerate; monitoring acceleration of the vehicle while the vehicle is being operated in an autonomous driving mode; comparing the monitored acceleration with the first commands; determining that there is an error with the acceleration system based on the comparison; and when the error is determined, controlling, by the one or more control computing devices, the vehicle in the autonomous driving mode by generating second commands which do not require any acceleration by the acceleration system.
- the monitoring and determining are performed by a monitor computing device, and the method also includes using the comparison to generate a signal indicating the error and sending the signal to the one or more control computing devices.
- the signal indicates that there is too much acceleration.
- the method also includes receiving, by the one or more control computing devices, the signal and in response to receiving the signal, turning off an ignition of the vehicle.
- the method also includes receiving, by the one or more control computing devices, the signal; and in response to receiving the signal, moving a gear control to a neutral state thereby disengaging a transmission of the vehicle.
- signal indicates that there is not enough acceleration.
- the method also includes determining a first trajectory for maneuvering the vehicle by a planning system of the vehicle, wherein generating the first commands is based on the trajectory, and when the error is detected, changing a planning behavior of the planning system.
- the method also includes, after changing the planning behavior of the planning system, determining a second trajectory for maneuvering the vehicle according to the changed planning behavior, and wherein the second commands are generated based on the second trajectory.
- the method includes controlling, by one or more control computing devices, the vehicle in an autonomous driving mode by generating first commands for steering control and sending the first commands to a steering actuator of a steering system of the vehicle in order to cause the vehicle to change orientation; monitoring orientation of the vehicle while the vehicle is being operated in an autonomous driving mode; comparing the monitored orientation with the first commands; determining that there is an error with the steering system based on the comparison; and when the error is determined, controlling, by the one or more control computing devices, the vehicle in the autonomous driving mode by generating second commands which do not require any change in the vehicle's orientation by the steering system.
- the monitoring and determining are performed by a monitor computing device, and the method also includes using the comparison to generate a signal indicating the error and sending the signal to the one or more control computing devices.
- the method also includes determining a first trajectory for maneuvering the vehicle by a planning system of the vehicle, wherein generating the commands is based on the trajectory, and when the error is detected, changing a planning behavior of the planning system.
- the method also includes, after changing the planning behavior of the planning system, determining a second trajectory for maneuvering the vehicle according to the changed planning behavior, and wherein the second commands are generated based on the second trajectory.
- the system includes one or more control computing devices configured to control the vehicle in an autonomous driving mode by generating first commands for acceleration control and sending the first commands to an acceleration actuator of an acceleration system of the vehicle in order to cause the vehicle to accelerate.
- the system also includes a monitoring computing device configured to monitor acceleration of the vehicle while the vehicle is being operated in an autonomous driving mode, compare the monitored acceleration with the first commands, and determine that there is an error with the acceleration system based on the comparison.
- the one or more control computing devices are further configured to, when the error is determined, control the vehicle in the autonomous driving mode by generating second commands which do not require any acceleration by the acceleration system.
- the monitoring computing device is further configured to use the comparison to generate a signal indicating the error and send the signal to the one or more control computing devices.
- the signal indicates that there is too much acceleration.
- the one or more control computing devices are further configured to receive the signal; and in response to receiving the signal, turn off an ignition of the vehicle.
- the one or more control computing devices are further configured to receive the signal and in response to receiving the signal, move a gear control to a neutral state thereby disengaging a transmission of the vehicle.
- the signal indicates that there is not enough acceleration.
- the one or more control computing devices are further configured to determine a first trajectory for maneuvering the vehicle by a planning system of the vehicle, wherein generating the first commands is based on the trajectory, when the error is detected, changing a planning behavior of the planning system, and after changing the planning behavior of the planning system, determining a second trajectory for maneuvering the vehicle according to the changed planning behavior, and the second commands are generated based on the second trajectory.
- the system also includes the vehicle.
- FIGS. 1A and 1B are functional diagrams of an example vehicle and notification system in accordance with aspects of the disclosure.
- FIG. 2 is an example representation of detailed map information in accordance with aspects of the disclosure.
- FIGS. 3A-3D are example external views of a vehicle in accordance with aspects of the disclosure.
- FIG. 3E is an example external view of a vehicle in accordance with aspects of the disclosure.
- FIG. 4 is an example pictorial diagram of a system in accordance with aspects of the disclosure.
- FIG. 5 is an example functional diagram of a system in accordance with aspects of the disclosure.
- FIG. 6 is an example of a vehicle being maneuvered by planner system on roadway in accordance with aspects of the disclosure.
- FIG. 7 is an example of sensor data from a perception system and a representation of a vehicle in accordance with aspects of the disclosure.
- FIG. 8 is an example of sensor data from a perception system, a trajectory, and a representation of a vehicle in accordance with aspects of the disclosure.
- FIG. 9 is an example functional diagram in accordance with aspects of the disclosure.
- FIG. 10 is an example of sensor data from a perception system, a trajectory, and a representation of a vehicle in accordance with aspects of the disclosure.
- FIG. 11 is an example of sensor data from a perception system, a trajectory, and a representation of a vehicle in accordance with aspects of the disclosure.
- FIG. 12 is a flow diagram in accordance with aspects of the disclosure.
- FIG. 13 is another flow diagram in accordance with aspects of the disclosure.
- an autonomous vehicle's control system may detect errors in the vehicle's propulsion system caused by a lack of acceleration or unintended acceleration. This can be especially problematic when the vehicle is in the middle of executing a maneuver such as a merge or a lane change where continuing to execute the maneuver without any acceleration available or with too much acceleration or where there are other objects such as vehicles, bicyclists, pedestrians, etc. proximate to the vehicle. Accordingly, identifying and addressing such errors immediately is a critical function for these vehicles. To identify such errors, information from the acceleration system can be compared to instructions generated by one or more control computing devices of the vehicle's planner system to determine if an error is present and respond accordingly.
- a monitor computing device may monitor the condition of one or more aspects of the acceleration or steering systems of the vehicle. This information may include the current state of the vehicle's acceleration and orientation of the vehicle's wheels as well as current changes in the acceleration or orientation.
- the planner system may determine how the vehicle should move through its environment in the short term in order to reach a destination location. For example, planner system may use information from a perception system of a vehicle as well as a route generated by a routing system to determine how to safely maneuver around objects, through intersections, etc. in order to reach the destination. The planner system then sends a corresponding trajectory to one or more of the control computing devices which executes the trajectory by sending instructions or commands to the various actuators of the propulsion system (deceleration and acceleration) and steering system. The monitor computing device may also monitor these commands as they are sent by the planner system or received by the control computing devices.
- the monitor computing device may then compare the current state of the vehicle's acceleration and orientation with the commands generated by the one or more control computing devices to determine if there is a mismatch. For instance, if the difference between the current state of the vehicle's acceleration and the commands is greater than a threshold value, the control computing devices may determine that there is a mismatch. If there is a mismatch, the monitor computing device may detect a failure. Once detected, the monitor computing device may send a signal to the control computing devices of the planner system.
- the control computing devices may use the signal to determine how to react to the error.
- the control computing devices may respond by changing the planner system's behavior. This may include generating a plan for stopping the vehicle safely which does not include any acceleration or steering.
- the control computing devices may take some other action such as increasing or decreasing the vehicle's acceleration. This may prevent the vehicle from stopping without propulsion where unnecessary, for instance, where the error was transient.
- the features described herein may allow a vehicle operating in an autonomous driving mode to effectively identify errors in a propulsion system and to respond in order to safely stop the vehicle. Moreover, these features allow the vehicle to do so without requiring that the vehicle be switched to a manual driving mode or otherwise controlled by a human driver. In addition, this approach allows a vehicle's planner system to determine what maneuvers the vehicle is capable of completing, or in other words takes into account the change in vehicle capability, as soon as possible, and then allows the planner system to control the vehicle safely by attempting to execute only those maneuvers.
- a vehicle 100 in accordance with one aspect of the disclosure includes various components. While certain aspects of the disclosure are particularly useful in connection with specific types of vehicles, the vehicle may be any type of vehicle including, but not limited to, cars, trucks, motorcycles, buses, recreational vehicles, etc.
- the vehicle may have one or more computing devices, such as computing device 110 containing one or more processors 120 , memory 130 and other components typically present in general purpose computing devices as shown in FIG. 1B .
- the memory 130 stores information accessible by the one or more processors 120 , including instructions 134 and data 132 that may be executed or otherwise used by the processor 120 .
- the memory 130 may be of any type capable of storing information accessible by the processor, including a computing device-readable medium, or other medium that stores data that may be read with the aid of an electronic device, such as a hard-drive, memory card, ROM, RAM, DVD or other optical disks, as well as other write-capable and read-only memories.
- Systems and methods may include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media.
- the instructions 134 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor.
- the instructions may be stored as computing device code on the computing device-readable medium.
- the terms “instructions” and “programs” may be used interchangeably herein.
- the instructions may be stored in object code format for direct processing by the processor, or in any other computing device language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below.
- the data 132 may be retrieved, stored or modified by processor 120 in accordance with the instructions 134 .
- the data may be stored in computing device registers, in a relational database as a table having a plurality of different fields and records, XML documents or flat files.
- the data may also be formatted in any computing device-readable format.
- the one or more processor 120 may be any conventional processors, such as commercially available CPUs. Alternatively, the one or more processors may be a dedicated device such as an ASIC or other hardware-based processor.
- FIG. 2 functionally illustrates the processor, memory, and other elements of computing device 110 as being within the same block, it will be understood by those of ordinary skill in the art that the processor, computing device, or memory may actually include multiple processors, computing devices, or memories that may or may not be stored within the same physical housing.
- memory may be a hard drive or other storage media located in a housing different from that of computing device 110 . Accordingly, references to a processor or computing device will be understood to include references to a collection of processors or computing devices or memories that may or may not operate in parallel.
- Computing device 110 may function as a monitoring system in order to monitor the status of the steering, deceleration, and acceleration systems of vehicle 100 .
- computing device 110 may be able to monitor information or messages sent by different systems of vehicle 100 .
- each of these systems including, for example, planner system 102 , deceleration system 160 , acceleration system 162 , steering system 164 , signaling system 166 , navigation system 168 , positioning system 170 , and perception system 172 may include one or more processors and memory storing data and instructions configured as described above with regard to processors 120 , memory 130 , data 132 , and instructions 134 .
- Computing device 110 may monitor information sent and received by the planner system 102 .
- planner system 102 may be part of an autonomous driving computing system incorporated into vehicle 100 configured to communicate with different systems and computing devices of the vehicle.
- planner system 102 may include one or more control computing devices in communication with various systems of vehicle 100 , such as deceleration system 160 , acceleration system 162 , steering system 164 , signaling system 166 , navigation system 168 , positioning system 170 , perception system 172 and power system 174 (for instance, a gasoline or diesel engine or an electric motor) in order to control the movement, speed, etc. of vehicle 100 .
- the planner system 102 and/or computing devices 110 may also receive information from these systems about their current status, for instance, the position of the accelerator input (accelerator pedal) of the acceleration system 162 , torque signals from the power system 174 , as well as diagnostic signals from the engine or motor and other system errors or malfunction indicators such as a check engine light, etc.
- the vehicle may include one or more measuring devices 176 , such as accelerometers, gyroscopes, and/or speedometers that can provide feedback about the current status of the vehicle, tires or tire rotation, wheel or wheel rotation, axles, etc., to the planner system 102 and/or computing devices 110 .
- these systems are shown as external to planner system 102 and computing device 110 , in actuality, these systems may also be incorporated into planner system 102 and computing device 110 , again as part of an autonomous driving computing system for controlling vehicle 100 .
- the computing device 110 may be connected to the Ethernet or CAN bus, wiring, etc. in order to allow for the monitoring.
- planner system 102 may interact with one or more actuators of the deceleration system 160 and/or acceleration system 162 , such as brakes, the engine or motor of the vehicle, in order to control the speed of the vehicle.
- one or more actuators of the steering system 164 may be used by planner system 102 in order to control the direction of vehicle 100 .
- the steering system may include components to control the angle of wheels to turn the vehicle.
- Signaling system 166 may be used by planner system 102 in order to signal the vehicle's intent to other drivers or vehicles, for example, by lighting turn signals or brake lights when needed.
- Navigation system 168 may be used by planner system 102 in order to determine and follow a route to a location.
- the navigation system 168 and/or data 132 may store detailed map information, e.g., highly detailed maps identifying the shape and elevation of roadways, lane lines, intersections, crosswalks, speed limits, traffic signals, buildings, signs, real time traffic information, pull over spots vegetation, or other such objects and information.
- Positioning system 170 may be used by planner system 102 in order to determine the vehicle's relative or absolute position on a map or on the earth.
- the position system 170 may include a GPS receiver to determine the device's latitude, longitude and/or altitude position.
- Other location systems such as laser-based localization systems, inertial-aided GPS, or camera-based localization may also be used to identify the location of the vehicle.
- the location of the vehicle may include an absolute geographical location, such as latitude, longitude, and altitude as well as relative location information, such as location relative to other cars immediately around it which can often be determined with less noise that absolute geographical location.
- the positioning system 170 may also include other devices in communication with planner system 102 , such as an accelerometer, gyroscope or another direction/speed detection device to determine the direction and speed of the vehicle or changes thereto.
- an acceleration device may determine its pitch, yaw or roll (or changes thereto) relative to the direction of gravity or a plane perpendicular thereto.
- the device may also track increases or decreases in speed and the direction of such changes.
- the device's provision of location and orientation data as set forth herein may be provided automatically to the planner system 102 , other computing devices and combinations of the foregoing.
- the perception system 172 also includes one or more components for detecting objects external to the vehicle such as other vehicles, obstacles in the roadway, traffic signals, signs, trees, etc.
- the perception system 172 may include lasers, sonar, radar, cameras and/or any other detection devices that record data which may be processed by planner system 102 .
- the vehicle is a small passenger vehicle such as a car
- the car may include a laser or other sensors mounted on the roof or other convenient location.
- the planner system 102 may control the direction and speed of the vehicle by communicating with the various systems and components of the vehicle.
- planner system 102 may navigate the vehicle to a destination location completely autonomously using data from the detailed map information and navigation system 168 .
- Planner system 102 may use the positioning system 170 to determine the vehicle's location and perception system 172 to detect and respond to objects when needed in order to generate a short term plan for maneuvering the vehicle in order to reach the destination location safely.
- planner system 102 may generate and send instructions that cause the vehicle to accelerate (e.g., by increasing fuel or other energy provided to the engine by acceleration system 162 ), decelerate (e.g., by decreasing the fuel supplied to the engine, changing gears, and/or by applying brakes by deceleration system 160 ), change direction (e.g., by turning the front or rear wheels of vehicle 100 by steering system 164 ), and signal such changes (e.g., by lighting turn signals of signaling system 166 ).
- the acceleration system 162 and deceleration system 160 may be a part of a drivetrain that includes various components between an engine of the vehicle and the wheels of the vehicle. Again, by controlling these systems, planner system 102 may also control the drivetrain of the vehicle in order to maneuver the vehicle autonomously.
- FIG. 2 is an example of map information 200 for a section of roadway.
- the map information 200 includes information identifying the shape, location, and other characteristics of various road features.
- the map information includes three lanes 212 , 214 , 216 bounded by curb 220 , lane lines 222 , 224 , 226 , and curb 228 .
- Lanes 212 and 214 have the same direction of traffic flow (in an eastward direction), while lane 216 has a different traffic flow (in a westward direction).
- lane 212 is significantly wider than lane 214 , for instance to allow for vehicles to park adjacent to curb 220 .
- map information 200 may also identify various other road features such as traffic signal lights, crosswalks, sidewalks, stop signs, yield signs, speed limit signs, road signs, etc.
- the detailed map information may also include information identifying speed limits and other legal traffic requirements as well as historical information identifying typical and historical traffic conditions at various dates and times.
- the map information need not be entirely image based (for example, raster).
- the detailed map information may include one or more roadgraphs or graph networks of information such as roads, lanes, intersections, and the connections between these features.
- Each feature may be stored as graph data and may be associated with information such as a geographic location and whether or not it is linked to other related features, for example, a stop sign may be linked to a road and an intersection, etc.
- the associated data may include grid-based indices of a roadgraph to allow for efficient lookup of certain roadgraph features.
- FIGS. 3A-3D are examples of external views of a first configuration for vehicle 100 .
- vehicle 100 includes many features of a typical vehicle such as headlights 302 , windshield 303 , taillights/turn signal lights 304 , rear windshield 305 , doors 306 , side view mirrors 308 , tires and wheels 310 , and turn signal/parking lights 312 .
- Headlights 302 , taillights/turn signal lights 304 , and turn signal/parking lights 312 may be associated the signaling system 166 .
- Light bar 307 may also be associated with the signaling system 166 .
- Vehicle 100 also includes sensors of the perception system 172 .
- housing 314 may include one or more laser devices for having 360 degree or narrower fields of view and one or more camera devices.
- Housings 316 and 318 may include, for example, one or more radar and/or sonar devices.
- the devices of the perception system may also be incorporated into the typical vehicle components, such as taillights/turn signal lights 304 and/or side view mirrors 308 .
- Each of these radar, camera, and lasers devices may be associated with processing components which process data from these devices as part of the perception system 172 and provide sensor data to the planner system 102 .
- FIG. 3E is a second example configuration for vehicle 100 .
- roof-top housing 320 and dome housing 322 may include a lidar sensor as well as various cameras and radar units.
- housing 330 located at the front end of vehicle 100 and housings 340 , 342 on the driver's and passenger's sides of the vehicle may each store a lidar sensor.
- housing 340 is located in front of driver door 360 .
- Vehicle 100 also includes housings 350 , 352 for radar units and/or cameras also located on the roof of vehicle 100 . Additional radar units and cameras (not shown) may be located at the front and rear ends of vehicle 100 and/or on other positions along the roof or roof-top housing 320 .
- the one or more computing devices 110 of vehicle 100 may also receive or transfer information to and from other computing devices, for instance using wireless network connections 156 .
- the wireless network connections may include, for instance, BLUETOOTH®, Bluetooth LE, LTE, cellular, near field communications, etc. and various combinations of the foregoing.
- FIGS. 4 and 5 are pictorial and functional diagrams, respectively, of an example system 400 that includes a plurality of computing devices 410 , 420 , 430 , 440 and a storage system 450 connected via a network 460 .
- System 400 also includes vehicle 100 , and vehicle 100 A which may be configured similarly to vehicle 100 . Although only a few vehicles and computing devices are depicted for simplicity, a typical system may include significantly more.
- each of computing devices 410 , 420 , 430 , 440 may include one or more processors, memory, data and instructions. Such processors, memories, data and instructions may be configured similarly to one or more processors 120 , memory 130 , data 132 , and instructions 134 of computing device 110 .
- the network 460 may include various configurations and protocols including short range communication protocols such as BLUETOOTH®, Bluetooth LE, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
- short range communication protocols such as BLUETOOTH®, Bluetooth LE, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing.
- Such communication may be facilitated by any device capable of transmitting data to and from other computing devices, such as modems and wireless interfaces.
- one or more computing devices 110 may include a server having a plurality of computing devices, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data to and from other computing devices.
- one or more computing devices 410 may include one or more server computing devices that are capable of communicating with one or more computing devices 110 of vehicle 100 or a similar computing device of vehicle 100 A as well as client computing devices 420 , 430 , 440 via the network 460 .
- vehicles 100 and 100 A may be a part of a fleet of vehicles that can be dispatched by server computing devices to various locations. In this regard, the vehicles of the fleet may periodically send the server computing devices location information provided by the vehicle's respective positioning systems and the one or more server computing devices may track the locations of the vehicles.
- server computing devices 410 may use network 460 to transmit and present information to a user, such as user 422 , 432 , 442 on a display, such as displays 424 , 434 , 444 of computing devices 420 , 430 , 440 .
- computing devices 420 , 430 , 440 may be considered client computing devices.
- each client computing device 420 , 430 , 440 may be a personal computing device intended for use by a user 422 , 432 , 442 , and have all of the components normally used in connection with a personal computing device including a one or more processors (e.g., a central processing unit (CPU)), memory (e.g., RAM and internal hard drives) storing data and instructions, a display such as displays 424 , 434 , 444 (e.g., a monitor having a screen, a touch-screen, a projector, a television, or other device that is operable to display information), and user input devices 426 , 436 , 446 (e.g., a mouse, keyboard, touchscreen or microphone).
- the client computing devices may also include a camera for recording video streams, speakers, a network interface device, and all of the components used for connecting these elements to one another.
- client computing devices 420 , 430 , and 440 may each comprise a full-sized personal computing device, they may alternatively comprise mobile computing devices capable of wirelessly exchanging data with a server over a network such as the Internet.
- client computing device 420 may be a mobile phone or a device such as a wireless-enabled PDA, a tablet PC, a wearable computing device or system, or a netbook that is capable of obtaining information via the Internet or other networks.
- client computing device 430 may be a wearable computing system, shown as a wrist watch in FIG. 4 .
- the user may input information using a small keyboard, a keypad, microphone, using visual signals with a camera, or a touch screen.
- client computing device 440 may be concierge work station used by an administrator to provide concierge services to users such as users 422 and 432 .
- a concierge 442 may use the concierge work station 440 to communicate via a telephone call or audio connection with users through their respective client computing devices or vehicles 100 or 100 A in order to ensure the safe operation of vehicles 100 and 100 A and the safety of the users as described in further detail below.
- FIGS. 4 and 5 any number of such work stations may be included in a typical system.
- storage system 450 can be of any type of computerized storage capable of storing information accessible by the server computing devices 410 , such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, write-capable, and read-only memories.
- storage system 450 may include a distributed storage system where data is stored on a plurality of different storage devices which may be physically located at the same or different geographic locations.
- Storage system 450 may be connected to the computing devices via the network 460 as shown in FIG. 4 and/or may be directly connected to or incorporated into any of the computing devices 110 , 410 , 420 , 430 , 440 , etc.
- FIG. 6 is an example view of vehicle 100 driving along a roadway 610 corresponding to roadway 210 of FIG. 2 .
- lanes 612 , 614 , 616 correspond to the shape and location of lanes 212 , 214 , 216
- curbs 620 , 628 correspond to the shape and location of curb 220
- lane lines 622 , 624 , 626 correspond to the shape and location of lane lines 222 , 224 , 226 , and curb 228 .
- vehicle 100 is traveling in lane 612 .
- Vehicles 640 , 642 , and 644 are parked within lane 612 along curb 620
- vehicle 646 is moving in lane 616 .
- the perception system 172 provides the computing devices with sensor data regarding the shapes and location of objects, such as curbs 620 , 628 , lane lines 622 , 624 , 624 , as well as vehicles 640 , 642 , 644 , 646 .
- FIG. 7 depicts sensor data perceived by the various sensors of the perception system 172 when vehicle 100 is in the situation as depicted in FIG. 6 in combination with other information available to the computing devices 110 .
- vehicles 640 , 642 , 644 , 646 are represented by bounding boxes 740 , 742 , 744 , 746 as provided by the perception system 172 to the computing devices 110 .
- bounding boxes represent merely a volume of space within which data points corresponding to an object are at least approximately bounded within.
- the actual heading of vehicle 100 and estimated heading of bounding box 746 are represented by arrows 760 and 762 , respectively.
- bounding boxes 740 , 742 , 744 appear to be moving very slowly or not at all, the computing devices 110 may determine that the objects represented by these bounding boxes are parked along curb 620 .
- the planner system 102 may maneuver the vehicle 100 between two locations as described above. As part of this, the planner system 102 may also use information from the navigation system to identify a trajectory to follow in order to reach a destination. As noted above the planner system 102 may use information from the perception system 172 , positioning system 170 , and the one or more measuring devices 176 to determine a trajectory and corresponding commands for the vehicle's actuators in order to follow the route. For instance, in FIG. 8 , the planner system 102 may have determined that the vehicle should follow a trajectory 810 for the next few seconds.
- the planner system 102 may then send signals to command the actuators of the steering, acceleration, and deceleration systems to control the vehicle in order to follow the trajectory.
- computing devices 110 send signals 910 to each of the one or more deceleration actuators of the deceleration system 160 , one or more acceleration actuators of the acceleration system 162 , and one or more steering actuators of the steering system 164 as needed in order to follow trajectory 810 .
- These signals may indicate an absolute value of the acceleration, deceleration, and/or orientation of the vehicle required or alternatively, an amount of change needed.
- the actuators may cause the vehicle to control the orientation, acceleration, and deceleration of the vehicle according to the commands to follow the trajectory.
- the messages may be monitored by the computing device 110 .
- the computing device 110 may monitor signals sent to and by the planner system 102 as well as signals from the one or more measuring devices 176 , and various system of vehicle 100 .
- the computing device 110 may monitor messages from the perception system 172 to the planner system 102 , messages from the planner system 102 to the acceleration system, messages from the planner system 102 to the deceleration system, messages from the planner system 102 to the steering system.
- the computing devices 110 may monitor the condition of the position of the accelerator input (accelerator pedal), torque signals, tires or tire rotation, wheel or wheel rotation, axles, etc.
- the computing device 110 may then compare the current state of the vehicle's acceleration and/or steering with the commands generated by the planner system 102 to determine if there is a mismatch. For instance, if the difference between the current state of the vehicle's acceleration or orientation and that required by the current commands is greater than a threshold value, the computing device 110 may determine that there is a mismatch.
- An example of a mismatch for acceleration may include more than 1 meter per second per second less acceleration than desired over a period of 5 seconds.
- An example of a mismatch for steering may include more than 15 degrees of divergence between commanded steering angle and actual steering angle or more than 0.5 meters of sideways difference between intended position in a lane and actual measured distance. Of course, other more finely tuned criteria may also be used.
- the computing device 110 may detect a failure. Once detected, the computing device 110 may send a signal to the control computing devices of the planner system 102 . This signal may also identify if there is “too much” acceleration or change in acceleration or “not enough” acceleration or change in acceleration. Similarly, the signal may identify if there is “too much” change in the vehicle's orientation or “not enough” change in the vehicle's orientation. More particularly, the signal may identify errors in one or more of acceleration, speed, position (both longitudinally and laterally), yaw (direction in which the vehicle is pointing), etc.
- the computing devices 110 may use this information to determine how to react to the error. For example, if there is too much acceleration, the control computing devices may send a signal to change the current gear (drive or 1st, 2nd, 3rd, etc.) of the vehicle's drive train to neutral, for instance by moving a gear control or gear shifter to neutral or a neutral state in order to disengage the vehicle's transmission, or to turn off the vehicle's ignition to “kill” the engine or motor. As a result, the vehicle will have no acceleration. In the steering example, the computing devices may respond by automatically causing the vehicle to stop as quickly as possible. Alternatively, if available, the computing devices 110 may use a fallback or secondary steering system or motor.
- control computing devices may also change the planner system's planning behavior. This may include generating a plan for stopping the vehicle safely which does not include any acceleration or steering depending upon the situation.
- the behavior changes may include adding rules or assumptions that the planner does not otherwise need to follow such as that there is no acceleration available, the vehicle is able to be steered and slowed down, the vehicle cannot change lanes except to move off of a roadway, the vehicle must avoid intersections, the vehicle cannot cross railroad tracks, etc.
- the behavior changes may include adding rules or assumptions that the planner does not otherwise need to follow such as that there is no steering available, the vehicle is able to be accelerated and slowed down, the vehicle cannot change lanes, the vehicle must avoid intersections, the vehicle must stay in a current lane, the vehicle cannot cross railroad tracks, etc.
- the control computing devices may send instructions to the planner system to change the planner system's behavior. This may include generating a plan for stopping the vehicle safely which does not include any acceleration (but may include deceleration) as discussed above.
- the planner system 102 may instead generate trajectory 1010 in order to pull vehicle 100 to the side of lane 612 and stop at stopping point 1020 while avoiding both of the objects represented by bounding boxes 742 and 744 .
- the planner system 102 may instead follow a trajectory (not shown) to pull between the objects represented by bounding boxes 742 and 744 and stop.
- Another example change in behavior may include generating a plan for stopping the vehicle safely which does not include any change in orientation of the vehicle (but may include acceleration or deceleration) as discussed above. For instance, turning to FIG. 11 , once the planner system 102 's behavior has changed, in the example of a lack of steering capability (the vehicle cannot change it's orientation), rather than following trajectory 810 (depicted in FIG. 8 ), the planner system 102 may instead generate trajectory 1110 in order to bring vehicle 100 to a stop at stopping point 1120 within lane 612 . At the same time, the planner system 102 may cause the signaling system 166 to activate the vehicle's hazard lights to indicate to other vehicles that there is a problem.
- the planner system's behavior may require that the steering system cannot be used to steer the vehicle, but may generate plans with some steering using other systems.
- the computing devices 110 may be able to control the heading of the vehicle using a secondary steering system or by using individual brakes to steer (i.e. using only the left rear brake to steer left or the right rear brake to steer right. In this regard, the vehicle may be able to take some “gentle” turns until the vehicle comes to a complete stop.
- the control computing devices may take some other action. For instance, when the signal from the monitor computing device indicates that there is not enough acceleration or change in acceleration, the control computing devices may attempt to increase acceleration. This may prevent the vehicle from stopping without propulsion where unnecessary, for instance, where the error was transient. At the same time, however, in order to ensure the safety of passengers, the control computing devices may send a request for help, for instance by sending a signal requesting assistance to client computing device 440 over network 460 , and/or pull the vehicle over safely in case the error reemerges.
- a concierge may respond by sending instructions to the vehicle and/or speaking to the passengers over video or audio in order to reassure and assist the passengers.
- the control computing devices may attempt to decrease acceleration. Again, this may prevent the vehicle from shutting off the ignition, disengaging the transmission, and stopping without propulsion where unnecessary, for instance, where the error was transient.
- the control computing devices may send a request for help, for instance by sending a signal requesting assistance to client computing device 440 over network 460 , and/or pull the vehicle over safely in case the error reemerges.
- a concierge may respond by sending instructions to the vehicle and/or speaking to the passengers over video or audio in order to reassure and assist the passengers.
- the control computing devices may Change the behavior of the planner system 102 even without receiving a corresponding signal from the monitoring computing device 110 , For instance, if the measuring devices 176 , acceleration system 162 , steering system 164 , or power system 174 report a major fault at one of these systems which would indicate the loss of propulsive or steering ability of the vehicle, the control computing device may be configured to automatically being generating a plan for stopping the vehicle without acceleration or steering as the case may be. Similarly, if the monitoring computing device is incorporated into the planning system 102 or part of the control computing devices, the control computing devices may change the behavior of the planner system or take some other action as described above automatically. Alternatively, the control computing device may regularly or continually generate alternative plans for stopping the vehicle without propulsion, breaking or acceleration, for instance, as part of a redundancy system to ensure the safety of the vehicle, any passengers, and any other objects,
- FIG. 12 is a flow diagram 1200 that may be performed by one or more processors, such as one or more processors of control computing devices of the planner system 102 and/or computing device 110 in order to detect propulsion failures and stop the vehicle safely.
- the vehicle is controlled in an autonomous driving mode by generating first commands for acceleration control and sending the first commands to an acceleration actuator of an acceleration system of the vehicle in order to cause the vehicle to change acceleration.
- the acceleration of the vehicle is monitored while the vehicle is being operated in an autonomous driving mode. The monitored acceleration is compared with the first commands at block 1230 . An error is determined with the acceleration system based on the comparison at block 1240 .
- the vehicle is controlled in the autonomous driving mode by generating second commands, based on the determining, which do not require any change in the vehicle's acceleration by the acceleration system.
- FIG. 13 is a flow diagram 1300 that may be performed by one or more processors, such as one or more processors of control computing devices of the planner system 102 and/or computing device 110 in order to detect propulsion or steering failures and stop the vehicle safely.
- the vehicle is controlled in an autonomous driving mode by generating first commands for steering control and sending the first commands to a steering actuator of a steering system of the vehicle in order to cause the vehicle to change orientation.
- the orientation of the vehicle is monitored while the vehicle is being operated in an autonomous driving mode. The monitored orientation is compared with the first commands at block 1330 . An error is determined with the steering system based on the comparison at block 1340 .
- the vehicle is controlled in the autonomous driving mode by generating second commands which do not require any change in the vehicle's orientation by the steering system.
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
Abstract
Description
- The present application is a continuation of U.S. patent application Ser. No. 16/563,017, filed Sep. 6, 2019, which is a continuation of U.S. patent application Ser. No. 15/718,459, filed Sep. 28, 2017, issued as U.S. Pat. No. 10,569,784, the disclosures of which are incorporated herein by reference.
- Autonomous vehicles, such as vehicles that do not require a human driver, can be used to aid in the transport of passengers or items from one location to another. Such vehicles may operate in a fully autonomous mode where passengers may provide some initial input, such as a pickup or destination location, and the vehicle maneuvers itself to that location controlled by a control system.
- On rare occasions, the control system may detect errors in the propulsion system caused by a lack of acceleration or unintended acceleration. For instance, mechanical failures or errors in signal processing may result in a total loss of acceleration or even too much acceleration. The result may be a situation in which the vehicle's control computing devices are unable to safely maneuver the vehicle to reach a desired destination. Some vehicles may notify a driver and switch to a manual driving mode. However, if the driver is not responsive or a manual driving mode is not available (not operational or simply not a mode of the vehicle), this solution is ineffective.
- One aspect of the disclosure provides a method of stopping a vehicle. The method includes controlling, by one or more control computing devices, the vehicle in an autonomous driving mode by generating first commands for acceleration control and sending the first commands to an acceleration actuator of an acceleration system of the vehicle in order to cause the vehicle to accelerate; monitoring acceleration of the vehicle while the vehicle is being operated in an autonomous driving mode; comparing the monitored acceleration with the first commands; determining that there is an error with the acceleration system based on the comparison; and when the error is determined, controlling, by the one or more control computing devices, the vehicle in the autonomous driving mode by generating second commands which do not require any acceleration by the acceleration system.
- In one example, the monitoring and determining are performed by a monitor computing device, and the method also includes using the comparison to generate a signal indicating the error and sending the signal to the one or more control computing devices. In this example, the signal indicates that there is too much acceleration. In addition, the method also includes receiving, by the one or more control computing devices, the signal and in response to receiving the signal, turning off an ignition of the vehicle. In addition, the method also includes receiving, by the one or more control computing devices, the signal; and in response to receiving the signal, moving a gear control to a neutral state thereby disengaging a transmission of the vehicle. In addition or alternatively, signal indicates that there is not enough acceleration. In another example, the method also includes determining a first trajectory for maneuvering the vehicle by a planning system of the vehicle, wherein generating the first commands is based on the trajectory, and when the error is detected, changing a planning behavior of the planning system. In this example, the method also includes, after changing the planning behavior of the planning system, determining a second trajectory for maneuvering the vehicle according to the changed planning behavior, and wherein the second commands are generated based on the second trajectory.
- Another aspect of the disclosure provides a method. The method includes controlling, by one or more control computing devices, the vehicle in an autonomous driving mode by generating first commands for steering control and sending the first commands to a steering actuator of a steering system of the vehicle in order to cause the vehicle to change orientation; monitoring orientation of the vehicle while the vehicle is being operated in an autonomous driving mode; comparing the monitored orientation with the first commands; determining that there is an error with the steering system based on the comparison; and when the error is determined, controlling, by the one or more control computing devices, the vehicle in the autonomous driving mode by generating second commands which do not require any change in the vehicle's orientation by the steering system.
- In one example, the monitoring and determining are performed by a monitor computing device, and the method also includes using the comparison to generate a signal indicating the error and sending the signal to the one or more control computing devices. In another example, the method also includes determining a first trajectory for maneuvering the vehicle by a planning system of the vehicle, wherein generating the commands is based on the trajectory, and when the error is detected, changing a planning behavior of the planning system. In this example, the method also includes, after changing the planning behavior of the planning system, determining a second trajectory for maneuvering the vehicle according to the changed planning behavior, and wherein the second commands are generated based on the second trajectory.
- Another aspect of the disclosure provides a system for stopping a vehicle. The system includes one or more control computing devices configured to control the vehicle in an autonomous driving mode by generating first commands for acceleration control and sending the first commands to an acceleration actuator of an acceleration system of the vehicle in order to cause the vehicle to accelerate. The system also includes a monitoring computing device configured to monitor acceleration of the vehicle while the vehicle is being operated in an autonomous driving mode, compare the monitored acceleration with the first commands, and determine that there is an error with the acceleration system based on the comparison. The one or more control computing devices are further configured to, when the error is determined, control the vehicle in the autonomous driving mode by generating second commands which do not require any acceleration by the acceleration system.
- In one example, the monitoring computing device is further configured to use the comparison to generate a signal indicating the error and send the signal to the one or more control computing devices. In this example, the signal indicates that there is too much acceleration. In addition, the one or more control computing devices are further configured to receive the signal; and in response to receiving the signal, turn off an ignition of the vehicle. In addition or alternatively, the one or more control computing devices are further configured to receive the signal and in response to receiving the signal, move a gear control to a neutral state thereby disengaging a transmission of the vehicle. In another example, the signal indicates that there is not enough acceleration. In another example, the one or more control computing devices are further configured to determine a first trajectory for maneuvering the vehicle by a planning system of the vehicle, wherein generating the first commands is based on the trajectory, when the error is detected, changing a planning behavior of the planning system, and after changing the planning behavior of the planning system, determining a second trajectory for maneuvering the vehicle according to the changed planning behavior, and the second commands are generated based on the second trajectory. In another example, the system also includes the vehicle.
-
FIGS. 1A and 1B are functional diagrams of an example vehicle and notification system in accordance with aspects of the disclosure. -
FIG. 2 is an example representation of detailed map information in accordance with aspects of the disclosure. -
FIGS. 3A-3D are example external views of a vehicle in accordance with aspects of the disclosure. -
FIG. 3E is an example external view of a vehicle in accordance with aspects of the disclosure. -
FIG. 4 is an example pictorial diagram of a system in accordance with aspects of the disclosure. -
FIG. 5 is an example functional diagram of a system in accordance with aspects of the disclosure. -
FIG. 6 is an example of a vehicle being maneuvered by planner system on roadway in accordance with aspects of the disclosure. -
FIG. 7 is an example of sensor data from a perception system and a representation of a vehicle in accordance with aspects of the disclosure. -
FIG. 8 is an example of sensor data from a perception system, a trajectory, and a representation of a vehicle in accordance with aspects of the disclosure. -
FIG. 9 is an example functional diagram in accordance with aspects of the disclosure. -
FIG. 10 is an example of sensor data from a perception system, a trajectory, and a representation of a vehicle in accordance with aspects of the disclosure. -
FIG. 11 is an example of sensor data from a perception system, a trajectory, and a representation of a vehicle in accordance with aspects of the disclosure. -
FIG. 12 is a flow diagram in accordance with aspects of the disclosure. -
FIG. 13 is another flow diagram in accordance with aspects of the disclosure. - As noted above, an autonomous vehicle's control system may detect errors in the vehicle's propulsion system caused by a lack of acceleration or unintended acceleration. This can be especially problematic when the vehicle is in the middle of executing a maneuver such as a merge or a lane change where continuing to execute the maneuver without any acceleration available or with too much acceleration or where there are other objects such as vehicles, bicyclists, pedestrians, etc. proximate to the vehicle. Accordingly, identifying and addressing such errors immediately is a critical function for these vehicles. To identify such errors, information from the acceleration system can be compared to instructions generated by one or more control computing devices of the vehicle's planner system to determine if an error is present and respond accordingly.
- For instance, a monitor computing device, separate or incorporated into the control computing devices, may monitor the condition of one or more aspects of the acceleration or steering systems of the vehicle. This information may include the current state of the vehicle's acceleration and orientation of the vehicle's wheels as well as current changes in the acceleration or orientation.
- The planner system may determine how the vehicle should move through its environment in the short term in order to reach a destination location. For example, planner system may use information from a perception system of a vehicle as well as a route generated by a routing system to determine how to safely maneuver around objects, through intersections, etc. in order to reach the destination. The planner system then sends a corresponding trajectory to one or more of the control computing devices which executes the trajectory by sending instructions or commands to the various actuators of the propulsion system (deceleration and acceleration) and steering system. The monitor computing device may also monitor these commands as they are sent by the planner system or received by the control computing devices.
- The monitor computing device may then compare the current state of the vehicle's acceleration and orientation with the commands generated by the one or more control computing devices to determine if there is a mismatch. For instance, if the difference between the current state of the vehicle's acceleration and the commands is greater than a threshold value, the control computing devices may determine that there is a mismatch. If there is a mismatch, the monitor computing device may detect a failure. Once detected, the monitor computing device may send a signal to the control computing devices of the planner system.
- The control computing devices may use the signal to determine how to react to the error. In some instances, the control computing devices may respond by changing the planner system's behavior. This may include generating a plan for stopping the vehicle safely which does not include any acceleration or steering. In other instances, the control computing devices may take some other action such as increasing or decreasing the vehicle's acceleration. This may prevent the vehicle from stopping without propulsion where unnecessary, for instance, where the error was transient.
- The features described herein may allow a vehicle operating in an autonomous driving mode to effectively identify errors in a propulsion system and to respond in order to safely stop the vehicle. Moreover, these features allow the vehicle to do so without requiring that the vehicle be switched to a manual driving mode or otherwise controlled by a human driver. In addition, this approach allows a vehicle's planner system to determine what maneuvers the vehicle is capable of completing, or in other words takes into account the change in vehicle capability, as soon as possible, and then allows the planner system to control the vehicle safely by attempting to execute only those maneuvers.
- As shown in
FIG. 1A , avehicle 100 in accordance with one aspect of the disclosure includes various components. While certain aspects of the disclosure are particularly useful in connection with specific types of vehicles, the vehicle may be any type of vehicle including, but not limited to, cars, trucks, motorcycles, buses, recreational vehicles, etc. The vehicle may have one or more computing devices, such ascomputing device 110 containing one ormore processors 120,memory 130 and other components typically present in general purpose computing devices as shown inFIG. 1B . - The
memory 130 stores information accessible by the one ormore processors 120, includinginstructions 134 anddata 132 that may be executed or otherwise used by theprocessor 120. Thememory 130 may be of any type capable of storing information accessible by the processor, including a computing device-readable medium, or other medium that stores data that may be read with the aid of an electronic device, such as a hard-drive, memory card, ROM, RAM, DVD or other optical disks, as well as other write-capable and read-only memories. Systems and methods may include different combinations of the foregoing, whereby different portions of the instructions and data are stored on different types of media. - The
instructions 134 may be any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor. For example, the instructions may be stored as computing device code on the computing device-readable medium. In that regard, the terms “instructions” and “programs” may be used interchangeably herein. The instructions may be stored in object code format for direct processing by the processor, or in any other computing device language including scripts or collections of independent source code modules that are interpreted on demand or compiled in advance. Functions, methods and routines of the instructions are explained in more detail below. - The
data 132 may be retrieved, stored or modified byprocessor 120 in accordance with theinstructions 134. For instance, although the claimed subject matter is not limited by any particular data structure, the data may be stored in computing device registers, in a relational database as a table having a plurality of different fields and records, XML documents or flat files. The data may also be formatted in any computing device-readable format. - The one or
more processor 120 may be any conventional processors, such as commercially available CPUs. Alternatively, the one or more processors may be a dedicated device such as an ASIC or other hardware-based processor. AlthoughFIG. 2 functionally illustrates the processor, memory, and other elements ofcomputing device 110 as being within the same block, it will be understood by those of ordinary skill in the art that the processor, computing device, or memory may actually include multiple processors, computing devices, or memories that may or may not be stored within the same physical housing. For example, memory may be a hard drive or other storage media located in a housing different from that ofcomputing device 110. Accordingly, references to a processor or computing device will be understood to include references to a collection of processors or computing devices or memories that may or may not operate in parallel. -
Computing device 110 may function as a monitoring system in order to monitor the status of the steering, deceleration, and acceleration systems ofvehicle 100. In this regard,computing device 110 may be able to monitor information or messages sent by different systems ofvehicle 100. As will be understood, each of these systems, including, for example,planner system 102,deceleration system 160,acceleration system 162,steering system 164, signalingsystem 166,navigation system 168,positioning system 170, andperception system 172 may include one or more processors and memory storing data and instructions configured as described above with regard toprocessors 120,memory 130,data 132, andinstructions 134. -
Computing device 110 may monitor information sent and received by theplanner system 102. In this example,planner system 102 may be part of an autonomous driving computing system incorporated intovehicle 100 configured to communicate with different systems and computing devices of the vehicle. For example, returning toFIG. 1A ,planner system 102 may include one or more control computing devices in communication with various systems ofvehicle 100, such asdeceleration system 160,acceleration system 162,steering system 164, signalingsystem 166,navigation system 168,positioning system 170,perception system 172 and power system 174 (for instance, a gasoline or diesel engine or an electric motor) in order to control the movement, speed, etc. ofvehicle 100. Theplanner system 102 and/orcomputing devices 110 may also receive information from these systems about their current status, for instance, the position of the accelerator input (accelerator pedal) of theacceleration system 162, torque signals from thepower system 174, as well as diagnostic signals from the engine or motor and other system errors or malfunction indicators such as a check engine light, etc. In addition, the vehicle may include one ormore measuring devices 176, such as accelerometers, gyroscopes, and/or speedometers that can provide feedback about the current status of the vehicle, tires or tire rotation, wheel or wheel rotation, axles, etc., to theplanner system 102 and/orcomputing devices 110. Again, although these systems are shown as external toplanner system 102 andcomputing device 110, in actuality, these systems may also be incorporated intoplanner system 102 andcomputing device 110, again as part of an autonomous driving computing system for controllingvehicle 100. - In some instances, if the messages are sent over an Ethernet or CAN bus direct wiring or other means, the
computing device 110 may be connected to the Ethernet or CAN bus, wiring, etc. in order to allow for the monitoring. - As an example,
planner system 102 may interact with one or more actuators of thedeceleration system 160 and/oracceleration system 162, such as brakes, the engine or motor of the vehicle, in order to control the speed of the vehicle. Similarly, one or more actuators of thesteering system 164 may be used byplanner system 102 in order to control the direction ofvehicle 100. For example, ifvehicle 100 is configured for use on a road, such as a car or truck, the steering system may include components to control the angle of wheels to turn the vehicle.Signaling system 166 may be used byplanner system 102 in order to signal the vehicle's intent to other drivers or vehicles, for example, by lighting turn signals or brake lights when needed. -
Navigation system 168 may be used byplanner system 102 in order to determine and follow a route to a location. In this regard, thenavigation system 168 and/ordata 132 may store detailed map information, e.g., highly detailed maps identifying the shape and elevation of roadways, lane lines, intersections, crosswalks, speed limits, traffic signals, buildings, signs, real time traffic information, pull over spots vegetation, or other such objects and information. -
Positioning system 170 may be used byplanner system 102 in order to determine the vehicle's relative or absolute position on a map or on the earth. For example, theposition system 170 may include a GPS receiver to determine the device's latitude, longitude and/or altitude position. Other location systems such as laser-based localization systems, inertial-aided GPS, or camera-based localization may also be used to identify the location of the vehicle. The location of the vehicle may include an absolute geographical location, such as latitude, longitude, and altitude as well as relative location information, such as location relative to other cars immediately around it which can often be determined with less noise that absolute geographical location. - The
positioning system 170 may also include other devices in communication withplanner system 102, such as an accelerometer, gyroscope or another direction/speed detection device to determine the direction and speed of the vehicle or changes thereto. By way of example only, an acceleration device may determine its pitch, yaw or roll (or changes thereto) relative to the direction of gravity or a plane perpendicular thereto. The device may also track increases or decreases in speed and the direction of such changes. The device's provision of location and orientation data as set forth herein may be provided automatically to theplanner system 102, other computing devices and combinations of the foregoing. - The
perception system 172 also includes one or more components for detecting objects external to the vehicle such as other vehicles, obstacles in the roadway, traffic signals, signs, trees, etc. For example, theperception system 172 may include lasers, sonar, radar, cameras and/or any other detection devices that record data which may be processed byplanner system 102. In the case where the vehicle is a small passenger vehicle such as a car, the car may include a laser or other sensors mounted on the roof or other convenient location. - The
planner system 102 may control the direction and speed of the vehicle by communicating with the various systems and components of the vehicle. By way of example,planner system 102 may navigate the vehicle to a destination location completely autonomously using data from the detailed map information andnavigation system 168.Planner system 102 may use thepositioning system 170 to determine the vehicle's location andperception system 172 to detect and respond to objects when needed in order to generate a short term plan for maneuvering the vehicle in order to reach the destination location safely. In order to do so,planner system 102 may generate and send instructions that cause the vehicle to accelerate (e.g., by increasing fuel or other energy provided to the engine by acceleration system 162), decelerate (e.g., by decreasing the fuel supplied to the engine, changing gears, and/or by applying brakes by deceleration system 160), change direction (e.g., by turning the front or rear wheels ofvehicle 100 by steering system 164), and signal such changes (e.g., by lighting turn signals of signaling system 166). Thus, theacceleration system 162 anddeceleration system 160 may be a part of a drivetrain that includes various components between an engine of the vehicle and the wheels of the vehicle. Again, by controlling these systems,planner system 102 may also control the drivetrain of the vehicle in order to maneuver the vehicle autonomously. -
FIG. 2 is an example of map information 200 for a section of roadway. The map information 200 includes information identifying the shape, location, and other characteristics of various road features. In this example, the map information includes threelanes curb 220,lane lines Lanes lane 216 has a different traffic flow (in a westward direction). In addition,lane 212 is significantly wider thanlane 214, for instance to allow for vehicles to park adjacent to curb 220. Although the example of map information includes only a few road features, for instance, curbs, lane lines, and lanes, given the nature of the roadway, the map information 200 may also identify various other road features such as traffic signal lights, crosswalks, sidewalks, stop signs, yield signs, speed limit signs, road signs, etc. Although not shown, the detailed map information may also include information identifying speed limits and other legal traffic requirements as well as historical information identifying typical and historical traffic conditions at various dates and times. - Although the detailed map information is depicted herein as an image-based map, the map information need not be entirely image based (for example, raster). For example, the detailed map information may include one or more roadgraphs or graph networks of information such as roads, lanes, intersections, and the connections between these features. Each feature may be stored as graph data and may be associated with information such as a geographic location and whether or not it is linked to other related features, for example, a stop sign may be linked to a road and an intersection, etc. In some examples, the associated data may include grid-based indices of a roadgraph to allow for efficient lookup of certain roadgraph features.
-
FIGS. 3A-3D are examples of external views of a first configuration forvehicle 100. As can be seen in these figures,vehicle 100 includes many features of a typical vehicle such asheadlights 302,windshield 303, taillights/turn signal lights 304,rear windshield 305,doors 306, side view mirrors 308, tires andwheels 310, and turn signal/parking lights 312.Headlights 302, taillights/turn signal lights 304, and turn signal/parking lights 312 may be associated thesignaling system 166.Light bar 307 may also be associated with thesignaling system 166. -
Vehicle 100 also includes sensors of theperception system 172. For example,housing 314 may include one or more laser devices for having 360 degree or narrower fields of view and one or more camera devices.Housings turn signal lights 304 and/or side view mirrors 308. Each of these radar, camera, and lasers devices may be associated with processing components which process data from these devices as part of theperception system 172 and provide sensor data to theplanner system 102. -
FIG. 3E is a second example configuration forvehicle 100. In this example, roof-top housing 320 anddome housing 322 may include a lidar sensor as well as various cameras and radar units. In addition,housing 330 located at the front end ofvehicle 100 andhousings housing 340 is located in front ofdriver door 360.Vehicle 100 also includeshousings vehicle 100. Additional radar units and cameras (not shown) may be located at the front and rear ends ofvehicle 100 and/or on other positions along the roof or roof-top housing 320. - The one or
more computing devices 110 ofvehicle 100 may also receive or transfer information to and from other computing devices, for instance using wireless network connections 156. The wireless network connections may include, for instance, BLUETOOTH®, Bluetooth LE, LTE, cellular, near field communications, etc. and various combinations of the foregoing.FIGS. 4 and 5 are pictorial and functional diagrams, respectively, of anexample system 400 that includes a plurality ofcomputing devices storage system 450 connected via anetwork 460.System 400 also includesvehicle 100, andvehicle 100A which may be configured similarly tovehicle 100. Although only a few vehicles and computing devices are depicted for simplicity, a typical system may include significantly more. - As shown in
FIG. 4 , each ofcomputing devices more processors 120,memory 130,data 132, andinstructions 134 ofcomputing device 110. - The
network 460, and intervening nodes, may include various configurations and protocols including short range communication protocols such as BLUETOOTH®, Bluetooth LE, the Internet, World Wide Web, intranets, virtual private networks, wide area networks, local networks, private networks using communication protocols proprietary to one or more companies, Ethernet, WiFi and HTTP, and various combinations of the foregoing. Such communication may be facilitated by any device capable of transmitting data to and from other computing devices, such as modems and wireless interfaces. - In one example, one or
more computing devices 110 may include a server having a plurality of computing devices, e.g., a load balanced server farm, that exchange information with different nodes of a network for the purpose of receiving, processing and transmitting the data to and from other computing devices. For instance, one ormore computing devices 410 may include one or more server computing devices that are capable of communicating with one ormore computing devices 110 ofvehicle 100 or a similar computing device ofvehicle 100A as well asclient computing devices network 460. For example,vehicles - In addition,
server computing devices 410 may usenetwork 460 to transmit and present information to a user, such asuser displays computing devices computing devices - As shown in
FIG. 5 , eachclient computing device user displays - Although the
client computing devices client computing device 420 may be a mobile phone or a device such as a wireless-enabled PDA, a tablet PC, a wearable computing device or system, or a netbook that is capable of obtaining information via the Internet or other networks. In another example,client computing device 430 may be a wearable computing system, shown as a wrist watch inFIG. 4 . As an example the user may input information using a small keyboard, a keypad, microphone, using visual signals with a camera, or a touch screen. - In some examples,
client computing device 440 may be concierge work station used by an administrator to provide concierge services to users such asusers concierge 442 may use theconcierge work station 440 to communicate via a telephone call or audio connection with users through their respective client computing devices orvehicles vehicles concierge work station 440 is shown inFIGS. 4 and 5 , any number of such work stations may be included in a typical system. - As with
memory 130,storage system 450 can be of any type of computerized storage capable of storing information accessible by theserver computing devices 410, such as a hard-drive, memory card, ROM, RAM, DVD, CD-ROM, write-capable, and read-only memories. In addition,storage system 450 may include a distributed storage system where data is stored on a plurality of different storage devices which may be physically located at the same or different geographic locations.Storage system 450 may be connected to the computing devices via thenetwork 460 as shown inFIG. 4 and/or may be directly connected to or incorporated into any of thecomputing devices - In addition to the operations described above and illustrated in the figures, various operations will now be described. It should be understood that the following operations do not have to be performed in the precise order described below. Rather, various steps can be handled in a different order or simultaneously, and steps may also be added or omitted.
-
FIG. 6 is an example view ofvehicle 100 driving along aroadway 610 corresponding toroadway 210 ofFIG. 2 . In that regard,lanes lanes curbs curb 220, andlane lines lane lines vehicle 100 is traveling inlane 612.Vehicles lane 612 alongcurb 620, whilevehicle 646 is moving inlane 616. - As the vehicle moves along
lane 612, theperception system 172 provides the computing devices with sensor data regarding the shapes and location of objects, such ascurbs lane lines vehicles FIG. 7 depicts sensor data perceived by the various sensors of theperception system 172 whenvehicle 100 is in the situation as depicted inFIG. 6 in combination with other information available to thecomputing devices 110. In this example,vehicles boxes perception system 172 to thecomputing devices 110. Of course, these bounding boxes represent merely a volume of space within which data points corresponding to an object are at least approximately bounded within. In addition, the actual heading ofvehicle 100 and estimated heading ofbounding box 746 are represented byarrows boxes computing devices 110 may determine that the objects represented by these bounding boxes are parked alongcurb 620. - The
planner system 102 may maneuver thevehicle 100 between two locations as described above. As part of this, theplanner system 102 may also use information from the navigation system to identify a trajectory to follow in order to reach a destination. As noted above theplanner system 102 may use information from theperception system 172,positioning system 170, and the one ormore measuring devices 176 to determine a trajectory and corresponding commands for the vehicle's actuators in order to follow the route. For instance, inFIG. 8 , theplanner system 102 may have determined that the vehicle should follow atrajectory 810 for the next few seconds. - The
planner system 102 may then send signals to command the actuators of the steering, acceleration, and deceleration systems to control the vehicle in order to follow the trajectory. For instance, as shown inFIG. 9 ,computing devices 110 sendsignals 910 to each of the one or more deceleration actuators of thedeceleration system 160, one or more acceleration actuators of theacceleration system 162, and one or more steering actuators of thesteering system 164 as needed in order to followtrajectory 810. These signals may indicate an absolute value of the acceleration, deceleration, and/or orientation of the vehicle required or alternatively, an amount of change needed. The actuators, in turn, may cause the vehicle to control the orientation, acceleration, and deceleration of the vehicle according to the commands to follow the trajectory. - Again, as these messages are sent to the acceleration, deceleration, and steering systems, the messages may be monitored by the
computing device 110. At the same time, thecomputing device 110 may monitor signals sent to and by theplanner system 102 as well as signals from the one ormore measuring devices 176, and various system ofvehicle 100. For example, thecomputing device 110 may monitor messages from theperception system 172 to theplanner system 102, messages from theplanner system 102 to the acceleration system, messages from theplanner system 102 to the deceleration system, messages from theplanner system 102 to the steering system. In addition, thecomputing devices 110 may monitor the condition of the position of the accelerator input (accelerator pedal), torque signals, tires or tire rotation, wheel or wheel rotation, axles, etc. as well as diagnostic signals from the engine or motor and other system errors or malfunction indicators such as a check engine light, etc. This may provide the planner system with information about the current state of the vehicle's acceleration and steering. This may include, for example, the current acceleration or orientation of the vehicle as well as the current change in acceleration or orientation of the vehicle. - The
computing device 110 may then compare the current state of the vehicle's acceleration and/or steering with the commands generated by theplanner system 102 to determine if there is a mismatch. For instance, if the difference between the current state of the vehicle's acceleration or orientation and that required by the current commands is greater than a threshold value, thecomputing device 110 may determine that there is a mismatch. An example of a mismatch for acceleration may include more than 1 meter per second per second less acceleration than desired over a period of 5 seconds. An example of a mismatch for steering may include more than 15 degrees of divergence between commanded steering angle and actual steering angle or more than 0.5 meters of sideways difference between intended position in a lane and actual measured distance. Of course, other more finely tuned criteria may also be used. - If there is a mismatch, the
computing device 110 may detect a failure. Once detected, thecomputing device 110 may send a signal to the control computing devices of theplanner system 102. This signal may also identify if there is “too much” acceleration or change in acceleration or “not enough” acceleration or change in acceleration. Similarly, the signal may identify if there is “too much” change in the vehicle's orientation or “not enough” change in the vehicle's orientation. More particularly, the signal may identify errors in one or more of acceleration, speed, position (both longitudinally and laterally), yaw (direction in which the vehicle is pointing), etc. - The
computing devices 110 may use this information to determine how to react to the error. For example, if there is too much acceleration, the control computing devices may send a signal to change the current gear (drive or 1st, 2nd, 3rd, etc.) of the vehicle's drive train to neutral, for instance by moving a gear control or gear shifter to neutral or a neutral state in order to disengage the vehicle's transmission, or to turn off the vehicle's ignition to “kill” the engine or motor. As a result, the vehicle will have no acceleration. In the steering example, the computing devices may respond by automatically causing the vehicle to stop as quickly as possible. Alternatively, if available, thecomputing devices 110 may use a fallback or secondary steering system or motor. - When this is the case, the control computing devices may also change the planner system's planning behavior. This may include generating a plan for stopping the vehicle safely which does not include any acceleration or steering depending upon the situation. As examples, the behavior changes may include adding rules or assumptions that the planner does not otherwise need to follow such as that there is no acceleration available, the vehicle is able to be steered and slowed down, the vehicle cannot change lanes except to move off of a roadway, the vehicle must avoid intersections, the vehicle cannot cross railroad tracks, etc. Similarly, if there is a failure of the steering system, the behavior changes may include adding rules or assumptions that the planner does not otherwise need to follow such as that there is no steering available, the vehicle is able to be accelerated and slowed down, the vehicle cannot change lanes, the vehicle must avoid intersections, the vehicle must stay in a current lane, the vehicle cannot cross railroad tracks, etc. For example, if there is not enough acceleration or change in acceleration, the vehicle may have completely lost its ability to accelerate. In other words, there may be no propulsion. Again, when this is the case, the control computing devices may send instructions to the planner system to change the planner system's behavior. This may include generating a plan for stopping the vehicle safely which does not include any acceleration (but may include deceleration) as discussed above. For instance, turning to
FIG. 10 , once theplanner system 102's behavior has changed, in the example of a lack of propulsive ability (no acceleration), rather than following trajectory 810 (depicted inFIG. 8 ), theplanner system 102 may instead generatetrajectory 1010 in order to pullvehicle 100 to the side oflane 612 and stop at stoppingpoint 1020 while avoiding both of the objects represented by boundingboxes vehicle 100, the vehicle is unable to pass the object represented by boundingbox 744, theplanner system 102 may instead follow a trajectory (not shown) to pull between the objects represented by boundingboxes - Another example change in behavior may include generating a plan for stopping the vehicle safely which does not include any change in orientation of the vehicle (but may include acceleration or deceleration) as discussed above. For instance, turning to
FIG. 11 , once theplanner system 102's behavior has changed, in the example of a lack of steering capability (the vehicle cannot change it's orientation), rather than following trajectory 810 (depicted inFIG. 8 ), theplanner system 102 may instead generatetrajectory 1110 in order to bringvehicle 100 to a stop at stoppingpoint 1120 withinlane 612. At the same time, theplanner system 102 may cause thesignaling system 166 to activate the vehicle's hazard lights to indicate to other vehicles that there is a problem. - In another example, the planner system's behavior may require that the steering system cannot be used to steer the vehicle, but may generate plans with some steering using other systems. For instance, the
computing devices 110 may be able to control the heading of the vehicle using a secondary steering system or by using individual brakes to steer (i.e. using only the left rear brake to steer left or the right rear brake to steer right. In this regard, the vehicle may be able to take some “gentle” turns until the vehicle comes to a complete stop. - In some instances, rather than automatically changing the behavior of the
planner system 102, the control computing devices may take some other action. For instance, when the signal from the monitor computing device indicates that there is not enough acceleration or change in acceleration, the control computing devices may attempt to increase acceleration. This may prevent the vehicle from stopping without propulsion where unnecessary, for instance, where the error was transient. At the same time, however, in order to ensure the safety of passengers, the control computing devices may send a request for help, for instance by sending a signal requesting assistance toclient computing device 440 overnetwork 460, and/or pull the vehicle over safely in case the error reemerges. A concierge may respond by sending instructions to the vehicle and/or speaking to the passengers over video or audio in order to reassure and assist the passengers. - In another example, when the signal from the monitor computing device indicates that there is too much acceleration or change in acceleration, the control computing devices may attempt to decrease acceleration. Again, this may prevent the vehicle from shutting off the ignition, disengaging the transmission, and stopping without propulsion where unnecessary, for instance, where the error was transient. At the same time, however, in order to ensure the safety of passengers, the control computing devices may send a request for help, for instance by sending a signal requesting assistance to
client computing device 440 overnetwork 460, and/or pull the vehicle over safely in case the error reemerges. And again, a concierge may respond by sending instructions to the vehicle and/or speaking to the passengers over video or audio in order to reassure and assist the passengers. - In some instances, the control computing devices may Change the behavior of the
planner system 102 even without receiving a corresponding signal from themonitoring computing device 110, For instance, if the measuringdevices 176,acceleration system 162,steering system 164, orpower system 174 report a major fault at one of these systems which would indicate the loss of propulsive or steering ability of the vehicle, the control computing device may be configured to automatically being generating a plan for stopping the vehicle without acceleration or steering as the case may be. Similarly, if the monitoring computing device is incorporated into theplanning system 102 or part of the control computing devices, the control computing devices may change the behavior of the planner system or take some other action as described above automatically. Alternatively, the control computing device may regularly or continually generate alternative plans for stopping the vehicle without propulsion, breaking or acceleration, for instance, as part of a redundancy system to ensure the safety of the vehicle, any passengers, and any other objects, -
FIG. 12 is a flow diagram 1200 that may be performed by one or more processors, such as one or more processors of control computing devices of theplanner system 102 and/orcomputing device 110 in order to detect propulsion failures and stop the vehicle safely. For instance, atblock 1210, the vehicle is controlled in an autonomous driving mode by generating first commands for acceleration control and sending the first commands to an acceleration actuator of an acceleration system of the vehicle in order to cause the vehicle to change acceleration. Atblock 1220, the acceleration of the vehicle is monitored while the vehicle is being operated in an autonomous driving mode. The monitored acceleration is compared with the first commands atblock 1230. An error is determined with the acceleration system based on the comparison atblock 1240. Atblock 1250, when the error is determined, the vehicle is controlled in the autonomous driving mode by generating second commands, based on the determining, which do not require any change in the vehicle's acceleration by the acceleration system. -
FIG. 13 is a flow diagram 1300 that may be performed by one or more processors, such as one or more processors of control computing devices of theplanner system 102 and/orcomputing device 110 in order to detect propulsion or steering failures and stop the vehicle safely. For instance, atblock 1310, the vehicle is controlled in an autonomous driving mode by generating first commands for steering control and sending the first commands to a steering actuator of a steering system of the vehicle in order to cause the vehicle to change orientation. Atblock 1320, the orientation of the vehicle is monitored while the vehicle is being operated in an autonomous driving mode. The monitored orientation is compared with the first commands atblock 1330. An error is determined with the steering system based on the comparison atblock 1340. Atblock 1350, when the error is determined, the vehicle is controlled in the autonomous driving mode by generating second commands which do not require any change in the vehicle's orientation by the steering system. - Unless otherwise stated, the foregoing alternative examples are not mutually exclusive, but may be implemented in various combinations to achieve unique advantages. As these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter defined by the claims, the foregoing description of the embodiments should be taken by way of illustration rather than by way of limitation of the subject matter defined by the claims. In addition, the provision of the examples described herein, as well as clauses phrased as “such as,” “including” and the like, should not be interpreted as limiting the subject matter of the claims to the specific examples; rather, the examples are intended to illustrate only one of many possible embodiments. Further, the same reference numbers in different drawings can identify the same or similar elements.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/228,078 US20210229666A1 (en) | 2017-09-28 | 2021-04-12 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/718,459 US10569784B2 (en) | 2017-09-28 | 2017-09-28 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
US16/563,017 US11008011B2 (en) | 2017-09-28 | 2019-09-06 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
US17/228,078 US20210229666A1 (en) | 2017-09-28 | 2021-04-12 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/563,017 Continuation US11008011B2 (en) | 2017-09-28 | 2019-09-06 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210229666A1 true US20210229666A1 (en) | 2021-07-29 |
Family
ID=65807184
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/718,459 Active US10569784B2 (en) | 2017-09-28 | 2017-09-28 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
US16/563,017 Active US11008011B2 (en) | 2017-09-28 | 2019-09-06 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
US17/228,078 Pending US20210229666A1 (en) | 2017-09-28 | 2021-04-12 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/718,459 Active US10569784B2 (en) | 2017-09-28 | 2017-09-28 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
US16/563,017 Active US11008011B2 (en) | 2017-09-28 | 2019-09-06 | Detecting and responding to propulsion and steering system errors for autonomous vehicles |
Country Status (9)
Country | Link |
---|---|
US (3) | US10569784B2 (en) |
EP (1) | EP3691946A4 (en) |
JP (1) | JP2020536000A (en) |
KR (2) | KR20210131467A (en) |
CN (2) | CN111132884B (en) |
AU (2) | AU2018339455B2 (en) |
CA (1) | CA3076006C (en) |
SG (1) | SG11202002236SA (en) |
WO (1) | WO2019067429A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230020040A1 (en) * | 2021-07-13 | 2023-01-19 | Tusimple, Inc. | Batch control for autonomous vehicles |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10871777B2 (en) * | 2017-11-30 | 2020-12-22 | Uatc, Llc | Autonomous vehicle sensor compensation by monitoring acceleration |
US10782684B2 (en) * | 2018-04-20 | 2020-09-22 | Lyft, Inc. | Secure communication between vehicle components via bus guardians |
JP6952117B2 (en) * | 2018-07-09 | 2021-10-20 | バイドゥ ドットコム タイムス テクノロジー (ベイジン) カンパニー リミテッド | Speed control command automatic calibration system for self-driving vehicles |
CN109032116A (en) * | 2018-08-30 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | Vehicle trouble processing method, device, equipment and storage medium |
US10843728B2 (en) * | 2019-01-31 | 2020-11-24 | StradVision, Inc. | Method and device for delivering steering intention of autonomous driving module or driver to steering apparatus of subject vehicle more accurately |
CN110081898A (en) * | 2019-05-28 | 2019-08-02 | 江苏盛海智能科技有限公司 | A kind of the remote-control data processing method and system of automatic driving vehicle |
JP7259716B2 (en) * | 2019-11-28 | 2023-04-18 | トヨタ自動車株式会社 | Vehicle control system and vehicle control method |
JP7306283B2 (en) * | 2020-01-31 | 2023-07-11 | トヨタ自動車株式会社 | vehicle |
DE102020202477A1 (en) * | 2020-02-26 | 2021-08-26 | Volkswagen Aktiengesellschaft | Safety system for an electrically driven motor vehicle, method for operating such a safety system and motor vehicle |
KR20220033077A (en) * | 2020-09-07 | 2022-03-16 | 주식회사 라이드플럭스 | Method, apparatus and computer program for stop controlling the stop of automatic driving vehicle |
US11654932B2 (en) | 2020-12-28 | 2023-05-23 | Waymo Llc | Architecture for variable motion control envelope |
US20220281478A1 (en) * | 2021-03-02 | 2022-09-08 | Steering Solutions Ip Holding Corporation | Motion monitoring safety diagnostic for the detection of erroneous autonomous motion requests |
CN113246977B (en) * | 2021-07-08 | 2021-10-01 | 中汽研(天津)汽车工程研究院有限公司 | ADAS longitudinal control torque monitoring device and method based on functional safety |
KR102407954B1 (en) * | 2021-07-23 | 2022-06-14 | 한국철도기술연구원 | railway vehicle with active steering control system |
CN114274976B (en) * | 2021-12-27 | 2023-09-12 | 广西汽车集团有限公司 | Takeover algorithm module and method after automatic driving program breakdown |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015231A1 (en) * | 2004-07-15 | 2006-01-19 | Hitachi, Ltd. | Vehicle control system |
US20120191313A1 (en) * | 2011-01-21 | 2012-07-26 | Denso Corporation | In-vehicle system |
US9841767B1 (en) * | 2015-01-20 | 2017-12-12 | State Farm Mutual Automobile Insurance Company | Using emergency response system (EMS) vehicle telematics data to reduce accident risk |
US20180004215A1 (en) * | 2017-09-15 | 2018-01-04 | GM Global Technology Operations LLC | Path planning of an autonomous vehicle for keep clear zones |
US20180259966A1 (en) * | 2017-03-13 | 2018-09-13 | Nio Usa, Inc. | Navigation of autonomous vehicles to enhance safety under one or more fault conditions |
US20220005291A1 (en) * | 2014-05-20 | 2022-01-06 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US20220126864A1 (en) * | 2019-03-29 | 2022-04-28 | Intel Corporation | Autonomous vehicle system |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3537705B2 (en) * | 1999-05-31 | 2004-06-14 | 本田技研工業株式会社 | Automatic following system |
US6463357B1 (en) | 2001-02-06 | 2002-10-08 | American Gnc Corporation | Method and system for precision operational control of automated machines |
US6704619B1 (en) * | 2003-05-24 | 2004-03-09 | American Gnc Corporation | Method and system for universal guidance and control of automated machines |
US7343232B2 (en) * | 2003-06-20 | 2008-03-11 | Geneva Aerospace | Vehicle control system including related methods and components |
JP5383812B2 (en) * | 2009-09-23 | 2014-01-08 | 本田技研工業株式会社 | Control device for inverted pendulum type vehicle |
KR101145112B1 (en) | 2010-05-11 | 2012-05-14 | 국방과학연구소 | Steering control device of autonomous vehicle, autonomous vehicle having the same and steering control method of autonomous vehicle |
JP2011240816A (en) | 2010-05-18 | 2011-12-01 | Denso Corp | Autonomous running control system |
US8698639B2 (en) * | 2011-02-18 | 2014-04-15 | Honda Motor Co., Ltd. | System and method for responding to driver behavior |
US9633564B2 (en) * | 2012-09-27 | 2017-04-25 | Google Inc. | Determining changes in a driving environment based on vehicle behavior |
US9274525B1 (en) * | 2012-09-28 | 2016-03-01 | Google Inc. | Detecting sensor degradation by actively controlling an autonomous vehicle |
JP5991220B2 (en) * | 2013-02-08 | 2016-09-14 | トヨタ自動車株式会社 | Driving assistance device |
SE540269C2 (en) | 2013-03-19 | 2018-05-22 | Scania Cv Ab | Device and method for regulating an autonomous vehicle |
US9342074B2 (en) * | 2013-04-05 | 2016-05-17 | Google Inc. | Systems and methods for transitioning control of an autonomous vehicle to a driver |
CN104859662B (en) * | 2014-02-20 | 2019-07-19 | 福特全球技术公司 | Troubleshooting in autonomous vehicle |
KR101579672B1 (en) | 2014-02-28 | 2015-12-22 | 울산대학교 산학협력단 | The integrated device of steering and emergency braking for unmanned vehicle |
DE102014212289A1 (en) * | 2014-06-26 | 2015-12-31 | Robert Bosch Gmbh | Autonomous control of a motor vehicle |
JP6331784B2 (en) | 2014-07-08 | 2018-05-30 | 株式会社ジェイテクト | Automatic steering device |
US10377303B2 (en) | 2014-09-04 | 2019-08-13 | Toyota Motor Engineering & Manufacturing North America, Inc. | Management of driver and vehicle modes for semi-autonomous driving systems |
JP6465278B2 (en) | 2014-10-28 | 2019-02-06 | 株式会社Subaru | Vehicle travel control system |
JP6357081B2 (en) | 2014-11-12 | 2018-07-11 | 株式会社Subaru | Vehicle travel control system |
DE102015205946A1 (en) * | 2015-04-01 | 2016-10-06 | Robert Bosch Gmbh | Method for preventing an unwanted acceleration of a motor vehicle |
EP3305620B1 (en) | 2015-06-03 | 2019-08-07 | Nissan Motor Co., Ltd. | Vehicle control device and vehicle control method |
DE112016003126T5 (en) | 2015-07-10 | 2018-03-22 | Honda Motor Co., Ltd. | Vehicle control / control device, vehicle control / control method and vehicle control / control program |
KR20170034696A (en) * | 2015-09-21 | 2017-03-29 | 현대자동차주식회사 | System and method for controlling unmanned driving of autonomous vehicle |
US9937922B2 (en) | 2015-10-06 | 2018-04-10 | Ford Global Technologies, Llc | Collision avoidance using auditory data augmented with map data |
US10452069B2 (en) | 2015-11-26 | 2019-10-22 | Mobileye Vision Technologies, Ltd. | Predicting and responding to cut in vehicles and altruistic responses |
JP6579377B2 (en) * | 2015-11-30 | 2019-09-25 | 株式会社ジェイテクト | Vehicle steering system |
US9740202B2 (en) | 2016-01-08 | 2017-08-22 | Waymo Llc | Fall back trajectory systems for autonomous vehicles |
JP6579441B2 (en) * | 2016-01-12 | 2019-09-25 | 三菱重工業株式会社 | Parking support system, parking support method and program |
DE102016200734A1 (en) * | 2016-01-20 | 2017-07-20 | Robert Bosch Gmbh | Method and device for monitoring a driverless driving a motor vehicle within a parking lot |
JP6429202B2 (en) * | 2016-02-10 | 2018-11-28 | 本田技研工業株式会社 | Vehicle, vehicle control apparatus, vehicle control method, and vehicle control program |
US11226620B2 (en) * | 2019-02-08 | 2022-01-18 | GM Global Technology Operations LLC | Automated driving systems and control logic with enhanced longitudinal control for transitional surface friction conditions |
-
2017
- 2017-09-28 US US15/718,459 patent/US10569784B2/en active Active
-
2018
- 2018-09-25 SG SG11202002236SA patent/SG11202002236SA/en unknown
- 2018-09-25 CN CN201880062928.9A patent/CN111132884B/en active Active
- 2018-09-25 EP EP18863129.5A patent/EP3691946A4/en active Pending
- 2018-09-25 CA CA3076006A patent/CA3076006C/en active Active
- 2018-09-25 AU AU2018339455A patent/AU2018339455B2/en active Active
- 2018-09-25 JP JP2020513865A patent/JP2020536000A/en active Pending
- 2018-09-25 KR KR1020217034649A patent/KR20210131467A/en not_active IP Right Cessation
- 2018-09-25 WO PCT/US2018/052610 patent/WO2019067429A1/en unknown
- 2018-09-25 CN CN202110417821.5A patent/CN113104043A/en active Pending
- 2018-09-25 KR KR1020207008690A patent/KR20200035483A/en active Application Filing
-
2019
- 2019-09-06 US US16/563,017 patent/US11008011B2/en active Active
-
2021
- 2021-04-12 US US17/228,078 patent/US20210229666A1/en active Pending
- 2021-04-30 AU AU2021202720A patent/AU2021202720B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015231A1 (en) * | 2004-07-15 | 2006-01-19 | Hitachi, Ltd. | Vehicle control system |
US20120191313A1 (en) * | 2011-01-21 | 2012-07-26 | Denso Corporation | In-vehicle system |
US20220005291A1 (en) * | 2014-05-20 | 2022-01-06 | State Farm Mutual Automobile Insurance Company | Autonomous vehicle operation feature monitoring and evaluation of effectiveness |
US9841767B1 (en) * | 2015-01-20 | 2017-12-12 | State Farm Mutual Automobile Insurance Company | Using emergency response system (EMS) vehicle telematics data to reduce accident risk |
US20180259966A1 (en) * | 2017-03-13 | 2018-09-13 | Nio Usa, Inc. | Navigation of autonomous vehicles to enhance safety under one or more fault conditions |
US20180004215A1 (en) * | 2017-09-15 | 2018-01-04 | GM Global Technology Operations LLC | Path planning of an autonomous vehicle for keep clear zones |
US20220126864A1 (en) * | 2019-03-29 | 2022-04-28 | Intel Corporation | Autonomous vehicle system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230020040A1 (en) * | 2021-07-13 | 2023-01-19 | Tusimple, Inc. | Batch control for autonomous vehicles |
Also Published As
Publication number | Publication date |
---|---|
US20200094832A1 (en) | 2020-03-26 |
KR20200035483A (en) | 2020-04-03 |
EP3691946A4 (en) | 2021-11-24 |
JP2020536000A (en) | 2020-12-10 |
AU2021202720B2 (en) | 2022-12-01 |
KR20210131467A (en) | 2021-11-02 |
US10569784B2 (en) | 2020-02-25 |
US20190092332A1 (en) | 2019-03-28 |
AU2018339455B2 (en) | 2021-04-01 |
CA3076006C (en) | 2022-07-05 |
CN113104043A (en) | 2021-07-13 |
CN111132884A (en) | 2020-05-08 |
CN111132884B (en) | 2021-05-04 |
EP3691946A1 (en) | 2020-08-12 |
AU2021202720A1 (en) | 2021-05-27 |
US11008011B2 (en) | 2021-05-18 |
AU2018339455A1 (en) | 2020-03-26 |
WO2019067429A1 (en) | 2019-04-04 |
SG11202002236SA (en) | 2020-04-29 |
CA3076006A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021202720B2 (en) | Detecting and responding to propulsion and steering system errors for autonomous vehicles | |
US11762392B2 (en) | Using discomfort for speed planning in autonomous vehicles | |
EP3721311B1 (en) | Real-time lane change selection for autonomous vehicles | |
EP3380904B1 (en) | Fall back trajectory systems for autonomous vehicles | |
US9268332B2 (en) | Zone driving | |
CN111295629B (en) | Detecting and responding to traffic redirection of autonomous vehicles | |
US11634134B2 (en) | Using discomfort for speed planning in responding to tailgating vehicles for autonomous vehicles | |
US11827235B1 (en) | Adjusting timing of actuation commands to account for fixed and variable delays in autonomous driving control of vehicles | |
AU2018373022B2 (en) | Using discomfort for speed planning for autonomous vehicles | |
EP3679444B1 (en) | Detecting and responding to traffic redirection for autonomous vehicles | |
US11733696B2 (en) | Detecting loops for autonomous vehicles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
AS | Assignment |
Owner name: WAYMO LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STARK, ETHAN;EGNOR, DANIEL TRAWICK;CASH, RYAN;AND OTHERS;SIGNING DATES FROM 20170927 TO 20190312;REEL/FRAME:056051/0862 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
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: 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: 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 |