A method is provided that includes receiving user input identifying a travel destination for a first vehicle, determining, by a processor, a first route for the first vehicle to follow, and configuring the first vehicle to follow the first route. The method further includes obtaining a model for a second vehicle that shares a road with the first vehicle and comparing model to a pre-determined template for a vehicle that is known to be a special purpose vehicle in order to determine whether the first template and the second template match. The method further includes determining, by the processor, a second route that leads to the travel destination, when a match is found to exist, and switching the first vehicle from following the first route to following the second route.
|
5. A method performed by an autonomous vehicle, the method comprising:
receiving, by one or more processors of the autonomous vehicle while driving along a roadway, sensor data from one or more sensors of the autonomous vehicle, the sensor data indicating one or more flashing lights along the roadway;
comparing, by the one or more processors, the received sensor data indicating the one or more flashing lights against one or more templates for special purpose vehicles;
determining, by the one or more processors based on the comparing, that an object along the roadway is a special purpose vehicle based on a type of the special purpose vehicle, wherein the type is either an emergency vehicle, a construction vehicle or a wide load vehicle;
determining, by the one or more processors, a state of the special purpose vehicle; and
in response to determining that the object is a special purpose vehicle and determining the state of the special purpose vehicle, the one or more processors causing a driving system of the autonomous vehicle to perform a driving operation.
1. A method performed by an autonomous vehicle, the method comprising:
receiving, by one or more processors of the autonomous vehicle while driving along a roadway, sensor data from one or more sensors of the autonomous vehicle, the sensor data indicating one or more flashing lights along the roadway;
comparing, by the one or more processors, the received sensor data indicating the one or more flashing lights against one or more templates for special purpose vehicles;
determining, by the one or more processors based on the comparing, that an object along the roadway is a special purpose vehicle;
determining, by the one or more processors, a state of the special purpose vehicle based on acoustical information included in the sensor data, the acoustical information including a noise associated with operation of the special purpose vehicle; and
in response to determining that the object is a special purpose vehicle and determining the state of the special purpose vehicle, the one or more processors causing a driving system of the autonomous vehicle to perform a driving operation.
15. A non-transitory computer readable recording medium having instructions stored thereon, the instructions, when executed by one or more processors of an autonomous vehicle, cause the one or more processors to perform a method comprising:
receiving, while the autonomous vehicle is driving along a roadway, sensor data from one or more sensors of the autonomous vehicle, the sensor data indicating one or more flashing lights along the roadway;
comparing the received sensor data indicating the one or more flashing lights against one or more templates for special purpose vehicles;
determining, based on the comparing, that an object along the roadway is a special purpose vehicle;
determining a state of the special purpose vehicle based on acoustical information included in the sensor data, the acoustical information including a noise associated with operation of the special purpose vehicle; and
in response to determining that the object is a special purpose vehicle determining the state of the special purpose vehicle, causing a driving system of the autonomous vehicle to perform a driving operation.
13. An autonomous vehicle, comprising:
a driving system configured to perform braking, steering and acceleration operations;
a sensor system comprising one or more sensors configured to detect objects in an environment external to the autonomous vehicle and to generate sensor data corresponding to the detected objects; and
a vehicle control unit operatively coupled to the driving system and the sensor system, the vehicle control system including memory storing one or more templates for special purpose vehicles and one or more processors, the one or more processors being configured to:
receive, while the autonomous vehicle is driving along a roadway, the sensor data from the sensor system, the sensor data indicating one or more flashing lights along the roadway;
compare the received sensor data indicating the one or more flashing lights against the one or more templates for special purpose vehicles;
determine, based on the comparison, that an object in the environment along the roadway is a special purpose vehicle;
determining a state of the special purpose vehicle based on acoustical information included in the sensor data, the acoustical information including a noise associated with operation of the special purpose vehicle; and
in response to determining that the object is a special purpose vehicle and determining the state of the special purpose vehicle, cause the driving system to perform a driving operation.
2. The method of
3. The method of
4. The method of
6. The method of
7. The method of
8. The method of
evaluating, by the one or more processors, a type of environment along the roadway; and
selecting, by the one or more processors, an operational context from a set of operational contexts based on evaluating the type of environment;
wherein the one or more processors cause the driving system of the autonomous vehicle to perform the driving operation based on the selected operational context.
9. The method of
10. The method of
11. The method of
causing a braking system to slow down the autonomous vehicle;
causing a steering system to change a lane in which the autonomous vehicle is driving or change a direction of the autonomous vehicle; and
causing an acceleration system to accelerate the autonomous vehicle.
12. The method of
14. The autonomous vehicle of
evaluate a type of the environment along the roadway; and
select an operational context from a set of operational contexts based on evaluation of the type of environment;
wherein the one or more processors are configured to cause the driving system of the autonomous vehicle to perform the driving operation based on the selected operational context.
|
The present application is a continuation of U.S. patent application Ser. No. 15/887,329, filed Feb. 2, 2018, which is a continuation of U.S. patent application Ser. No. 15/609,725, filed May 31, 2017, which is a continuation of U.S. patent application Ser. No. 14/936,918, filed Nov. 10, 2015, now U.S. Pat. No. 9,694,818 issued on Jul. 4, 2017, which is a continuation of U.S. patent application Ser. No. 14/469,290, filed on Aug. 26, 2014, now U.S. Pat. No. 9,213,338 issued on Dec. 15, 2015, which is a continuation of U.S. patent application Ser. No. 13/678,027, filed Nov. 15, 2012, now U.S. Pat. No. 8,838,321 issued on Sep. 16, 2014, the disclosure of which is incorporated herein by reference.
Smart vehicles rely on computing systems to aid in the transport of passengers. The computing systems may control the operation of various vehicle systems, such as braking, steering, and acceleration systems, and they may be used to guide the autonomous vehicles from one location to another. Autonomous vehicles use various computing systems to select the fastest route to their travel destination, avoid obstacles, and otherwise operate in a safe and dependable manner.
In one aspect of the disclosure, a method is provided that includes determining, by a processor, a first route for the first vehicle to follow; receiving sensor data from a sensor of the first vehicle; generating from the sensor data a model representing a characteristic for a second vehicle that shares a road with the first vehicle; comparing the model to a pre-determined template representing a characteristic for a vehicle that is known to be a special purpose vehicle in order to determine whether the model and the pre-determined template match to a threshold degree; upon the model matching the pre-determined template to the threshold degree, determining, by the processor, a second route that leads to the travel destination; and switching the first vehicle from following the first route to following the second route.
In one example, the first route is determined using a first value for a cost associated with a road section and the second route is determined by using a second value for the cost associated with the road section, the second value being different from the first value. In this example, the second value for the cost is determined based on at least one of a type and a state of the second vehicle. In another example, the special purpose vehicle is one of a police car, ambulance, and a fire truck. In a further example, the method includes, after determining that the second vehicle is a special-purpose vehicle, determining, by the processor, a state of the second vehicle, and the first vehicle is switched from following the first route to following the second route based on the state of the second vehicle. In yet another example, the method also includes detecting a set of special-purpose vehicles, and the first vehicle is switched to following the second route based on a number of special-purpose vehicles in the set. In another example, the characteristic for the vehicle that is known to be a special purpose vehicle includes at least one of a shape, a color, or a sound. In a further example, the method also includes prompting, via a user interface of the processor, a user to approve of the first vehicle following the second route, and the first vehicle is switched to following the second route only when user approval is received.
Another aspect of the disclosure provides a method including receiving sensor data from a sensor of a first vehicle; determining, by a processor, a first operational context for the first vehicle based on environmental information for the first vehicle determined from the sensor data, the first operational context including a first plurality of control rules for governing the operation of the first vehicle in a first environment type; operating the first vehicle within the first operational context; generating from the sensor data a model representing a characteristic for a second vehicle that shares a road with the first vehicle; comparing the model to a pre-determined template representing a characteristic for a vehicle that is known to be a special-purpose vehicle to determine whether the model and the pre-determined template match to a threshold degree; and upon the model matching the pre-determined template to the a threshold degree, switching the first vehicle from operating within the first operational context to operating within a second operational context, the second operational context including a second plurality of control rules for governing the operation of the first vehicle in a second environment type, the second plurality of control rules being different from the first plurality of control rules.
In one example, the special-purpose vehicle is a construction vehicle, and the second plurality of rules govern the operation of the first vehicle safely in construction zones. In another example, determining the first operational context includes estimating a first probability of the first vehicle being present in the first type of environment based on a weighted value for the sensor data, estimating a second probability of the second vehicle being present in a third type of environment, different from the first type of environment, based on a second weighted value for the sensor data, and comparing the first probability to the second probability. In this example, switching the first vehicle to operating within the second operational context includes modifying the a weighted value for the sensor data and re-estimating, based on the modified weighted value, the probability of the first vehicle being present in the second type of environment. In addition, the weighted value for the sensor data is modified based on one of a type and a state of the second vehicle. In a further example, the method also includes determining a state of the second vehicle and determining the second operational context based on the state of the second vehicle. In yet another example, the method also includes detecting a set of special purpose vehicles and determining the second operational context based a number of special-purpose vehicles of the set. In another example, the characteristic for the vehicle that is known to be a special purpose vehicle includes at least one of a shape, a color, or a sound. In a further example, the second plurality of control rules for governing the operation of the first vehicle include a rule for determining a speed of the first vehicle, and operating within the second operational context includes adjusting the speed of the first vehicle. In yet another example, the second plurality of control rules for governing the operation of the first vehicle include a rule for determining a direction of travel of the first vehicle, and operating within the second operational context includes adjusting the direction of travel for the first vehicle.
A further aspect of the disclosure provides a system. The system includes a processor configured to determine a first route for the first vehicle to follow; receive sensor data from a sensor of the first vehicle; generate from the sensor data a model representing a characteristic for a second vehicle that shares a road with the first vehicle; compare the model to a pre-determined template representing a characteristic for a vehicle that is known to be a special purpose vehicle in order to determine whether the model and the pre-determined template match to a threshold degree; upon the model matching the pre-determined template to the threshold degree, determine a second route that leads to the travel destination; and switch the first vehicle from following the first route to following the second route.
Yet another aspect of the disclosure provides a system. The system includes a processor configured to receive sensor data from a sensor of a first vehicle; determine a first operational context for the first vehicle based on environmental information for the first vehicle determined from the sensor data, the first operational context including a first plurality of control rules for governing the operation of the first vehicle in a first environment type; operate the first vehicle within the first operational context; generate from the sensor data a model representing a characteristic for a second vehicle that shares a road with the first vehicle; compare the model to a pre-determined template representing a characteristic for a vehicle that is known to be a special-purpose vehicle to determine whether the model and the pre-determined template match to a threshold degree; and upon the model matching the pre-determined template to the a threshold degree, switch the first vehicle from operating within the first operational context to operating within a second operational context, the second operational context including a second plurality of control rules for governing the operation of the first vehicle in a second environment type, the second plurality of control rules being different from the first plurality of control rules.
In accordance with one aspect of the disclosure, an autonomous vehicle identifies a special-purpose vehicle, identifies a state of the special-purpose vehicle, and determines an action based on the state of the vehicle and executes the action. For example, that action may include changing of lanes, slowing down, or pulling over. The special-purpose vehicle may be an emergency vehicle, a construction vehicle, or any other type of vehicle whose presence requires drivers to exercise extra caution.
The special-purpose vehicle may be identified using an array of sensors, such as cameras, microphones, or laser scanners. For example, image recognition techniques may be employed to distinguish special-purpose vehicles, such as police cars, from other vehicles on the road. Microphones can also be used to detect special-purpose vehicles' sirens. Yet further, a laser scanner may be used to obtain 3D representations of vehicles on the road and those representations may then be compared to representations that are known to be of special-purpose vehicles. Once the special-purpose vehicle is identified, the autonomous vehicle may use further sensory input to identify the state of the special-purpose vehicle. Examples of vehicle states include sounding a siren, pulling the autonomous vehicle over, assisting someone in an emergency, and trying to pass the autonomous vehicle. The state of the special-purpose vehicle may be determined, in one example, by using a rule-based approach. Rules may be devised that relate different values for signals received from the sensor array to corresponding vehicle states.
After the state of the special-purpose vehicle is identified, a response action may be determined. In one aspect, the response may modify the instantaneous behavior of the vehicle. The autonomous vehicle may speed up, slow down, pull over, or change lanes in response to detecting the emergency vehicle. For instance, the autonomous vehicle may move to the left lane when it detects that an emergency vehicle is assisting someone in the road's shoulder.
In another aspect, the response may affect the continued operation of the autonomous vehicle. For example, the autonomous vehicle may switch to following an alternative route when the road is likely congested. Oftentimes, he presence of that vehicle
As another example, the autonomous vehicle may change the operational context it currently uses to control its operation. When multiple construction vehicles are detected, for instance, the autonomous vehicle may switch to using an operational context suitable for construction zones, thereby ensuring its safe operation in an environment that may be more dangerous than usual. The selected operational context may specify rules for travelling through construction zones, such as rules governing the maximum speed of the vehicle, minimum separation maintained from other vehicles on the road, or the manner in which intersections are handled.
When one or more special purpose vehicles are identified, the vehicle 101 may determine the state of any identified special-purpose vehicle and use this information when determining its response to the detection of the special-purpose vehicles. The response may include changing at least one of: speed, direction, travel route, the operational context used to control the vehicle 101.
In one example, a vehicle system may include one or more mechanical hardware components that are part of the vehicle (e.g., rack and pinion, engine, brakes, steering motor, suspension, steering pump, etc.) and software that is executed by computer hardware and used to control the operation of the mechanical hardware components. A vehicle system may include, by way of further example, one or more electronic components that are part of the vehicle 101 (e.g., light bulb, music player, radio, air conditioner, windshield wiper motor, steering pump, etc.), and software that is executed by computer hardware and used to control the operation of the electric or electronic components. The vehicle systems may include logic implemented in hardware (e.g. an FPGA or another controller) instead of software for controlling the operation of mechanical or electric vehicle components.
The vehicle control unit 320 may include a computing system for controlling at least some aspects of the operation of the vehicle 101. Vehicle control unit 320 may also be operatively connected to one or more of the vehicle systems 310a-f and it may be operable to change the state of any one of these systems. For example, the vehicle control unit 320 may interact with the braking system, steering system, and acceleration system, to steer, slow down, or accelerate the vehicle. Furthermore, the vehicle control unit 320 may interact with: the climate control system to change the temperature inside the passenger compartment 210, the entertainment system 310e to change the station playing on the radio, or the vehicle navigation system 310f to change a destination the vehicle is travelling to.
Sensors 330 may include one or more sensors, such as a camera, a microphone, a laser scanner, a radar, or another similar sensor. Information provided by the sensors 330 may be processed by the vehicle control unit 320 and used to identify, as special purpose vehicles, one or more vehicles that share the road with the vehicle 101. In some instances, the sensors may be configured to monitor a portion of the road on which the vehicle 101 travelling. For example, they may be configured to monitor only the portion of the road that is behind the vehicle 101 or the portion of the road that is ahead of the vehicle 101.
Data 430 may be retrieved, stored or modified by processor 410 in accordance with the executable code 440. For instance, although the system and method are not limited by any particular data structure, the data may be stored in computer registers, in a relational database as a table having a plurality of different fields and records, or XML documents. The data may also be formatted in any computer-readable format such as, but not limited to, binary values, ASCII or Unicode. Moreover, the data may comprise any information sufficient to identify the relevant information, such as numbers, descriptive text, proprietary codes, pointers, references to data stored in other memories (including other network locations) or information that is used by a function to calculate the relevant data.
Template 432 may include a model representing a characteristic of a vehicle that is known to be a special purpose vehicle. As shown in
The template 432 may include a string, number, vector, file, or any other type of data structure. In one example, the template 432 may indicate a characteristic of the appearance of the known special-purpose vehicle. For example, it may be an image of a vehicle known to be a special-purpose vehicle, a histogram of such an image, a set of values that describe a given property of such an image (e.g., eigenvector), a 3D model of the known special-purpose vehicle's shape obtained using a laser scanner, or a set of vertices that describe the shape or part of the shape of the known emergency vehicle. As another example, the template may indicate a color trait or intensity of light produced by the known-emergency vehicle's strobe lights. As yet another example, the template 432 may indicate the sound made by a known-special purpose vehicle, such as the sound of a siren, engine, or another vehicle component.
Returning to
Map data structure 434 may be a file or another type of data structure that indicates the connectivity of roads (and/or other drivable surfaces) in the surroundings of the vehicle 101. As shown in the example of
As illustrated in
The route planner 720 may include logic for calculating a route to a predetermined travel destination. In one aspect, the route planner 720 may calculate the route based, at least in part, on cost values that are associated with different road sections in the map object 432. By way of example, the route planner 720 may use a Djikistra's shortest path algorithm, or some variation thereof, to calculate the route. In that regard, the cost value associated with a particular road section may determine whether that section is included in the vehicle's travel route.
The behavioral executive 730 may include logic for generating different goals for the vehicle 101. Each goal may be generated based on a rule that belongs to one of a plurality of operational contexts. The operational contexts may be implemented by the behavioral executive 730. Each operational context may include a specific set of rules relating to the operation of the vehicle 101. The rules may specify a separation distance from other vehicles on the road, the manner in which lane changes should be performed, the manner in which passing maneuvers should be executed by the vehicle 101, and the manner in which intersections should be handled by the vehicle control unit 320.
The motion planner 740 may include logic configured to receive goals from the behavior executive 730 and generate a trajectory that would guide the vehicle 101 towards the goals. The motion planner 740 may further generate one or more signals, for various vehicle systems (e.g., braking, acceleration, or steering systems), that would cause the vehicle to follow the determined trajectory. For example, the motion planner 740 may receive a goal “maintain a 20-meter separation distance between vehicle 101 and another office. The motion planner may then determine how much to throttle or relax the acceleration system 310c in order for the distance to be achieved.
In some aspects, each one of the operational contexts of behavioral executive 730 may rely on input from a different set of sensors, so that the set of rules that are part of one operational context may be predicated on a different set of sensor data than the sensor data used for the rules in another operational context. Put differently, one operational context may include a rule that is predicated on information obtained from a given sensor (e.g. a radar) while none of the rules in the operational context are predicated on information from the given sensor (e.g., radar information).
For example, when operating in the construction zone operational context 810, such as when vehicle 101 is in construction zones, when the presence of debris and other road obstacles is more likely, the vehicle control unit 320 may need to use a greater number sensors in order to ensure the vehicle's 101 safe operation. In contrast, when operating under the highway driving operational context 840 in a highway driving setting, the presence of road obstacles may be more likely, and thus, a relatively smaller number of sensors may be used.
At task 920, the vehicle control unit 320, using route planner 720, determines a first route for the vehicle 101 to follow. In this example, the first route is route 510, depicted in
At task 950, the vehicle control unit 320 detects an object on the road 200 and identifies it as the vehicle 210. The vehicle 210 may be detected using a laser scanner, radar, camera, or any other sensor typically used by autonomous (or non-autonomous or semi-autonomous vehicles) to detect other vehicles in their surroundings.
At task 960, a determination is made whether the vehicle 210 is a special purpose vehicle. Upon a determination that the vehicle 210 is indeed a special-purpose vehicle, task 860 is executed. Otherwise, the execution of the process 600 is aborted.
Whether the vehicle 210 is a special-purpose vehicle may be determined by receiving input from one or more of the sensors 330 and using the input to generate a model representing a characteristic of the vehicle 210 (e.g., shape, appearance, color, or sound). The generated model for the vehicle 210 may be of the same type as the template 434. Once the model for the vehicle 210 is generated, it may be compared, using standard pattern recognition techniques, to one or more templates for special-purpose vehicles, such as the template 432. If the model of the vehicle 210 matches one or more templates for special purpose vehicles, the vehicle 210 may be classified as a special purpose vehicle.
At task 970, the type of the vehicle 210 is determined. Determining the type of the vehicle 210 may include identifying a genus or sub-genus to which the vehicle 210 belongs. In one example, a determination may be made whether the vehicle 210 is an emergency vehicle, a construction vehicle, or a wide load vehicle. In another example, however, a determination may be made whether the vehicle is a police car, a fire truck, or an ambulance.
At task 980, the state of the vehicle 210 is determined. The state of the vehicle may be determined based on feedback from the sensors 330 and in accordance with one or more rules. The sensor feedback may include speed of the vehicle 210, whether the vehicle 210 is stationary, whether the vehicle's 210 strobe lights are flashing, whether a siren (or another audible alarm) is on, whether the vehicle is making a noise associated with its operation (e.g., excavation noise, jackhammer noise). A non-exhaustive list of example rules for determining the state of the vehicle may include:
At task 990, a state of the vehicle 101 is changed in response to determining that the vehicle 210 is a special-purpose vehicle. Changing the state of the vehicle 101 may include changing the state of one of the vehicle systems 310a-f. For example, it may involve turning down the stereo, turning on headlights, turning on emergency lights, or another similar action. Furthermore, changing the state of the vehicle may include selecting a new route for the vehicle to follow (See
In instances where changing the state of the vehicle 101 includes selecting a new route for the vehicle to follow, the new route may be saved for use on future trips as a default route between, at least, the vehicle's current location to the vehicle's destination or another location in the vicinity of the vehicle's destination. When the new route is set as the default route, that route may be chosen by the vehicle control unit 320, over other possible routes, when the vehicle is requested in the future to travel to its destination (or another location in the destination's vicinity). Doing so may enable the vehicle 101 to avoid construction zones or other instances that are likely to persist.
As discussed further below, the presence of a certain type of special-purpose vehicle may signal the existence of a corresponding road condition. For example, the presence of a construction vehicle on the road may indicate that the section of road where the vehicle 101 is currently driving (or leads to) is a construction zone. As another example, the presence of an ambulance may signal that the vehicle 101 is located near the scene of an accident. In that regard, saving the new route as default may allow the vehicle to avoid sections of road that are likely to continue experiencing delays in the future. In some aspects, setting the new route as default may include changing a cost value in the associated with a particular section of road in the map data structure 434.
At task 1010, a first cost that is associated with a first road section is obtained. In this example, the cost associated with the road section C-F (i.e., the collection of road sections from Intersection C to Intersection F) is obtained. At task 1020, a first route for the vehicle 101 to follow is determined. As discussed above, the first route may be determined by executing a path search algorithm, such as Djikistra's, that uses the costs associated with various road sections in the surroundings of the vehicle 101 to determine a path between the vehicle's 101 current location and the travel destination specified at task 910. In this example, the first route is the route 510, depicted in
At task 1110, the vehicle control unit 320 determines a second cost for road section C-F. In one aspect, the second cost may be determined by the vehicle control unit 320 based on the state of the vehicle 210. For example, if the special-purpose vehicle 210 is stopped and assisting someone, the second cost may be set to equal the first cost. In such circumstances, the vehicle 101 is already present at the scene of an accident and further delays down route 510 are unlikely. In contrast, if the vehicle 210 is sounding its sirens and speeding forward, this may indicate that a serious accident has occurred further down road 500 or route 510 and thus the second cost may be set to a value smaller than the first cost.
The second cost may be calculated by either increasing the first cost for the road section C-F (e.g. the cost identified in
In another aspect, the second cost may be determined by the vehicle control unit 320 based on the type of the vehicle 210. For example, if the special-purpose vehicle 210 is a backhoe, this might be considered a strong indication that the vehicle 101 is entering a construction zone. In such circumstances, the second cost may be set to a value C1. By contrast, if the special-purpose vehicle 210 is a large truck, this might be considered a weak indication that the vehicle 101 is entering a construction zone, and thus the second cost may be set to value C2, wherein C2>C1. As noted above, in this example, the cost associated with a given road section is inversely proportional to the likelihood of that section being included in the second route. In that regard, setting the cost to a lower value when the special-purpose vehicle 210 is a backhoe increases the likelihood that the vehicle 101 would be diverted from the construction zone that it might be entering.
In yet another aspect, the second cost may be determined by the vehicle control unit 320 based on the number of special purpose vehicles detected by the vehicle control unit 320. For example, the fewer the special-purpose vehicles, the lesser the amount by which the cost is decreased.
Furthermore, the disclosure is not limited to calculating a second cost for any particular road section. Although in the above example the second cost belongs to the section C-F, in other examples the second cost may belong to a road section that is located anywhere in the map. As discussed above, the cost for a given section may be changed in order to shift the balance between the costs for various road sections in the map data 434 and influence the selection of one route over another. In the above examples, the cost of the section C-F is lowered and as a result the same section is included into the second route 520, thereby causing the vehicle 101 to be diverted away from section C-D. The same effect however may be also achieved by increasing the value of a competing road section, such as C-D beyond the original cost of the road section C-F (i.e., 25). For this reason, the disclosure is not limited to calculating a second cost for any particular road section.
At task 1120, the second cost is used (instead of the first cost) by the vehicle control unit 320 in calculating a second travel route to the destination entered at task 910. The second travel route may be determined using the same method as discussed with respect to the first route. As noted above, in this example, the second travel route is the route 520. At task 1130, the vehicle 101 begins following the second route. In some instances, the vehicle control unit 320 may present on a user interface (e.g., display screen or speaker) a menu prompting a user to approve of the vehicle 101 switching to following the second route 520. In such instances, the vehicle 101 may begin following the first route only when user approval is received. If the user declines, the vehicle 101 may continue to follow the route 510.
At task 1220, the vehicle control unit 320 determines the probability P2 of the vehicle 101 being located in a second type of environment. The second type of environment may be another one of a construction zone, a scene of an accident, an urban zone, or a highway. The probability P2 for a given type of environment may be determined using a function F2(S2,r2), where F2 is the probability, S is input from the sensors 330 and r2 is a prior value. As with prior value r1, the prior value r2 may be a predetermined weight or another type of value that is used in calculating the probability P2. The function F1 may be the same or different than F2. Similarly, the prior value r1 may be the same or different than r2.
At task 1230, the vehicle control unit 320 determines the type of the environment where the vehicle 101 is located based on the probabilities calculated at tasks 1210-1220. By way of example, if the probability P1 is greater than the probability P2, then the vehicle control unit 320 may determine that the vehicle 101 is located in the first type of environment. If the probability is P2 greater than the probability P1, then the vehicle control unit 320 may determine that the vehicle 101 is located in the second type of environment. In this example, the vehicle control unit 320 determines that the vehicle 101 is currently located in the first type of environment. Although this example uses only two probabilities for two types of environments, similar determinations may be made for many more probabilities for environment types.
At task 1240, the vehicle control unit 320 identifies an operational context of behavioral executive 730 that is associated with the type of environment in which the vehicle 101 is currently located. The identified operational context, as noted with respect to task 940, may be used to operate the vehicle. For example, if the vehicle 101 is located in an urban environment, then the urban operational context 830 may be selected and the vehicle 101 may be operated in accordance with control rules that are part of that context. The context selection may be performed by using a table, or another similar data structure, that relates types of environments to their corresponding operational context. The table may be stored in the memory 430 of the vehicle control unit 320.
In one aspect, the prior value r3 may be determined based on the type of the special-purpose vehicle 210. For example, the prior value r3 may be set to have one magnitude if the special-purpose vehicle that is identified at task 960 is a backhoe and a different magnitude if the special-purpose vehicle is a truck. The prior value r3 may be set this way because the presence of a backhoe might be considered to signal more strongly that the vehicle 101 is located in a construction zone than the presence of a truck. In that regard, by setting the prior value r3 in this way, it may become more likely (or less likely) for the vehicle control unit 320 to determine that the vehicle 101 is located in the second type of environment (e.g., construction zone) and not the first type of environment (e.g., an urban zone) when the determination of operational context made at task 930 is reconsidered.
In another aspect, the prior value r3 may depend on a number of special-purpose vehicles that are sharing the road with the vehicle 101. For example, the prior value r3 may be proportional or inversely proportional to the number of special-purpose vehicles. In yet another aspect, the prior value r3 may depend on the state of the special-purpose vehicles that are sharing the road with the vehicle 101. For example, the prior value r3 may be given a greater value when the sirens of the special-purpose vehicle 230 are on than otherwise. This, in turn, may make it more likely for the vehicle control unit 320 to find that it is located at the scene of an accident when the determination of operational context made at task 930 is reconsidered.
At task 1320, the vehicle control unit 320 determines the probability P1 of the vehicle 101 being located in a first type of environment. The probability P1 for the first type of environment may be determined using a function F1(S1,p3), where S is input from the sensors 330 and r3 is the prior value determined at task 1230.
At task 1330, the vehicle control unit 320 determines the probability P2 of the vehicle 101 being located in a second type of environment. Task 1330 is identical to task 1320. At task 1230, the vehicle control unit 320 determines the type of the environment where the vehicle 101 is located based on the probabilities calculated at tasks 1320-1330. Task 1340 is identical to task 1330. At task 1350, the vehicle control unit 320 identifies an operational context that is associated with the type of environment the vehicle 101 is currently located in. As noted above, the type of environment, in one example, may be a construction zone, urban zone, highway zone, or a scene of an accident. Task 1350 is identical to task 1240.
At task 1360, the vehicle control unit 320 begins operating the vehicle 101 in accordance with the identified operational context. The odds of selecting a given type of environment as the current environment of the vehicle 101 may be skewed by modifying the prior value associated with any possible type of environment and not simply a first type of environment or a second type of environment.
At least some of the tasks may be performed in a different order than represented, performed concurrently, or altogether omitted. As these and other variations and combinations of the features discussed above can be utilized without departing from the subject matter as defined by the claims, the foregoing description of exemplary aspects should be taken by way of illustration rather than by way of limitation of the subject matter as defined by the claims. It will also be understood that the provision of the examples described herein (as well as clauses phrased as “such as,” “e.g.”, “including” and the like) should not be interpreted as limiting the claimed subject matter to the specific examples; rather, the examples are intended to illustrate only some of many possible aspects.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
4626850, | May 16 1983 | David, Chey | Vehicle detection and collision avoidance apparatus |
4747064, | Mar 19 1984 | Approaching vehicle informing system and method | |
5012221, | Mar 24 1989 | SIREN SOUNDS, INC | Emergency vehicle audible warning system and method |
5036935, | Mar 08 1989 | Kabushiki Kaisha Toyoda Jidoshokki Seisakusho | Travel control device for unmanned vehicle |
5495243, | Apr 06 1993 | Emergency vehicle alarm system for vehicles | |
5610815, | Dec 11 1989 | Caterpillar Inc. | Integrated vehicle positioning and navigation system, apparatus and method |
6055042, | Dec 16 1997 | Caterpillar Inc.; Caterpillar Inc | Method and apparatus for detecting obstacles using multiple sensors for range selective detection |
6404351, | Oct 20 2000 | Emergency vehicle warning system | |
6700504, | Nov 01 2000 | HERE GLOBAL B V | Method and system for safe emergency vehicle operation using route calculation |
6791471, | Oct 01 2002 | ENT SERVICES DEVELOPMENT CORPORATION LP | Communicating position information between vehicles |
6822580, | May 07 1999 | Emergency vehicle warning system | |
6917306, | Oct 23 2003 | MCKEOWN, SHAWN J | Radio linked vehicle communication system |
7057528, | May 07 1999 | Emergency vehicle warning system | |
7205888, | Dec 09 2003 | Denso Corporation | Driving assisting apparatus for preventing vehicular collision |
7295925, | Oct 22 1997 | AMERICAN VEHICULAR SCIENCES LLC | Accident avoidance systems and methods |
7552004, | Apr 07 2006 | Road hazard automatic vehicle speed control | |
7979172, | Oct 22 1997 | AMERICAN VEHICULAR SCIENCES LLC | Autonomous vehicle travel control systems and methods |
7979173, | Oct 22 1997 | AMERICAN VEHICULAR SCIENCES LLC | Autonomous vehicle travel control systems and methods |
8005609, | Apr 06 2004 | Honda Motor Co., Ltd. | Route calculation method for a vehicle navigation system |
8108138, | Oct 02 2008 | The Boeing Company | Optimal vehicle router with energy management system |
8346480, | Mar 16 2006 | SAMSUNG ELECTRONICS CO , LTD | Navigation and control system for autonomous vehicles |
8493198, | Jul 11 2012 | Waymo LLC | Vehicle and mobile device traffic hazard warning techniques |
8676427, | Oct 11 2012 | GOOGLE LLC | Controlling autonomous vehicle using audio data |
8712624, | Apr 06 2012 | GOOGLE LLC | Positioning vehicles to improve quality of observations at intersections |
8774837, | Apr 30 2011 | Methods, systems and apparatuses of emergency vehicle locating and the disruption thereof | |
9599986, | Dec 22 2015 | MAPLEBEAR INC | Emergency automated vehicle control system to monitor emergency medical events through body area networks |
20020008635, | |||
20020154217, | |||
20030108222, | |||
20030201906, | |||
20040061600, | |||
20050065711, | |||
20060095199, | |||
20070027583, | |||
20070159354, | |||
20080079571, | |||
20080161987, | |||
20090299573, | |||
20100063664, | |||
20100063672, | |||
20100169009, | |||
20100228482, | |||
20100256867, | |||
20100280751, | |||
20110125405, | |||
20120072051, | |||
20120078572, | |||
20120083960, | |||
20120083998, | |||
20120109423, | |||
20120271542, | |||
20120277932, | |||
20120326889, | |||
20130009760, | |||
20130147638, | |||
20130282271, | |||
20140062724, | |||
20140081517, | |||
20160071418, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 09 2012 | FERGUSON, DAVID I | Google Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050105 | /0393 | |
Mar 21 2017 | Google Inc | WAYMO HOLDING INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050110 | /0001 | |
Mar 22 2017 | WAYMO HOLDING INC | Waymo LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 050110 | /0234 | |
Aug 19 2019 | Waymo LLC | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 19 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
May 18 2024 | 4 years fee payment window open |
Nov 18 2024 | 6 months grace period start (w surcharge) |
May 18 2025 | patent expiry (for year 4) |
May 18 2027 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 18 2028 | 8 years fee payment window open |
Nov 18 2028 | 6 months grace period start (w surcharge) |
May 18 2029 | patent expiry (for year 8) |
May 18 2031 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 18 2032 | 12 years fee payment window open |
Nov 18 2032 | 6 months grace period start (w surcharge) |
May 18 2033 | patent expiry (for year 12) |
May 18 2035 | 2 years to revive unintentionally abandoned end. (for year 12) |