Patent Publication Number: US-10309789-B2

Title: Automated lane assignment for vehicles

Description:
BACKGROUND 
     Fully-autonomous self-driving cars can operate on a roadway with other self-driving cars, but absent additional information, may treat all vehicles on the road equally. However, there may be scenarios where some vehicles should be treated with a different priority than others. For example, self-driving cars may not properly respond to emergency vehicles, emergencies, characteristics of the car or driver, or different driving modes (e.g., autonomous, partially-autonomous, or manual). In some cases, a person may want to temporarily disengage self-driving, e.g., they enjoy driving on a particular sections of road. However, it may be difficult for the manually-driven car to operate safely while on the road with other vehicles that are being operated autonomously. For example, self-driving vehicles may operate with reduced space between vehicles because their actions are coordinated, and thus human reflexes may not be a limiting factor. However, if a car is manually operated, the driver may not be able to react fast enough, or the self-driving cars may not properly respond to actions taken by a manually-driven car. 
     BRIEF SUMMARY 
     Various examples are described for automated lane assignment for vehicles. For example, one disclosed method includes accessing vehicle information of at least one vehicle, the vehicle information including a priority level of a plurality of priority levels associated with each of the at least one vehicle; accessing lane information associated with a road, the lane information comprising information corresponding to at least two lanes of travel in a direction; and assigning at least one of the at least one vehicle to a lane of travel on the road based at least in part on the vehicle information and the lane information. 
     In another example, a disclosed system includes a non-transitory computer-readable medium; and a processor in communication with the non-transitory computer-readable medium and configured to execute program code stored in the non-transitory computer readable medium and to: access vehicle information of at least one vehicle, the vehicle information including a priority level of a plurality of priority levels associated with each of the at least one vehicle; access lane information associated with a road, the lane information comprising information corresponding to at least two lanes of travel in a direction; and assign at least one of the at least one vehicle to a lane of travel on the road based at least in part on the vehicle information and the lane information. 
     One example non-transitory computer readable medium comprises executable instructions configured to cause a processor to: access vehicle information of at least one vehicle, the vehicle information including a priority level of a plurality of priority levels associated with each of the at least one vehicle; access lane information associated with a road, the lane information comprising information corresponding to at least two lanes of travel in a direction; and assign at least one of the at least one vehicle to a lane of travel on the road based at least in part on the vehicle information and the lane information. 
     These illustrative examples are mentioned not to limit or define the scope of this disclosure, but rather to provide examples to aid understanding thereof. Illustrative examples are discussed in the Detailed Description, which provides further description. Advantages offered by various examples may be further understood by examining this specification 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more certain examples and, together with the description of the example, serve to explain the principles and implementations of the certain examples. 
         FIGS. 1A-1B  show example road configurations for automated lane assignment for vehicles; 
         FIGS. 2-4  show example devices and systems for automated lane assignment for vehicles; and 
         FIGS. 5-6  show example methods for automated lane assignment for vehicles; 
     
    
    
     DETAILED DESCRIPTION 
     Examples are described herein in the context of automated lane assignment for vehicles. Those of ordinary skill in the art will realize that the following description is illustrative only and is not intended to be in any way limiting. Reference will now be made in detail to implementations of examples as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following description to refer to the same or like items. 
     In the interest of clarity, not all of the routine features of the examples described herein are shown and described. It will, of course, be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer&#39;s specific goals, such as compliance with application- and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another. 
     Illustrative Example of Automated Lane Assignment for Vehicles 
     While driving her car, the driver enables a fully-autonomous driving mode and the car navigates onto a road according to a predetermined route to a destination. As the car navigates along the road, it monitors its own status, e.g., the driving mode or the status of its brakes or tires, and receives information from other vehicles on the road, such as via vehicle-to-vehicle (“V2V”), vehicle-to-infrastructure (“V2I”), or vehicle-to-vehicle-by-LTE (“V2X”) communication. Based on the user&#39;s vehicle&#39;s status, the status of other vehicles in the vicinity or that are approaching, user input, and/or other information, the user&#39;s vehicle determines its priority for travel along the road and assigns itself, or is assigned by another vehicle or device, to one of the lanes on the road based on its priority and the available lanes. At a later time, while on a curvy section of road in the mountains, the user enables a manual driving mode in the car, at which time, the car accesses information about the lanes on the road, the status of other cars on the road and their assigned lanes, and, after updating its priority, assigns a lane to the user&#39;s car to allow the user to safely use manual mode. The car may notify the user of the assigned lane, such as via a heads-up display. While driving along the curvy section of road, the user&#39;s vehicle receives information about an emergency vehicle having a high priority approaching from behind the vehicle. The user&#39;s vehicle determines that its priority is lower than the emergency vehicle&#39;s priority and assigns a new lane to itself and provides an indication to the user to either engage an autonomous driving mode or to manually change to the newly-assigned lane. After the emergency vehicle passes the user, the user&#39;s vehicle re-assigns the previous lane. Finally, the user re-engages an autonomous driving mode and, after again updating its priority, the vehicle assigns a new lane to the vehicle based on the change in driving mode, and changes to the new lane to resume autonomous driving. 
     This illustrative example is not intended to be in any way limiting, but instead is intended to provide an introduction to the subject matter of the present application. For example, the illustrative example above is described with respect to an autonomous car; however, the present application is not limited to such an environment, but may be used in any suitable environment. Other examples of autonomous vehicle lane assignment are described below. 
     Referring now to  FIG. 1A ,  FIG. 1A  illustrates a road  100  having several lanes  110 - 130  for travel in a particular direction. Several vehicles  140 ,  142   a - c , and  144  are operating on the road in the various lanes. In this example, each of the vehicles  140 ,  142   a - c ,  144  has been assigned to a lane  110 ,  120 ,  130  based on information about the respective vehicle. For example, vehicle  140  has been assigned to lane  110  because the vehicle  140  is a police car that is responding to an emergency. Vehicles  142   a - c  have been assigned to middle lane  120  because they are each operating at a medium priority. In this case, the vehicles  142   a - c  determined their respective priorities based on their respective driving modes, e.g., an autonomous driving mode, and their respective destinations. For example, the operators of the vehicles  142   a - c  have indicated that they are each commuting to work, and so the vehicle  142   a - c  determines that it is operating in a medium priority, which is above a priority assigned to vehicles travelling for a non-commercial reason, but below a priority assigned to official vehicles responding to emergencies, e.g., ambulances with lights and sirens engaged. In addition, vehicle  144  has been assigned to lane  130  because it is operating at a low priority as the operator as indicated that he is on a scenic drive while in a manual driving mode. 
     Referring now to  FIG. 1B , the police car, vehicle  140 , has progressed beyond the group of vehicles  142   a - c ,  144  shown in  FIG. 1A , and so the left lane  110  is available again for other, lower-priority traffic. Consequently, vehicles  142   a - b  operating at a medium priority level are re-assigned to the leftmost lane  110  to allow unobstructed travel along the road. Further, in this example, the vehicles  142   a - c  are operating in an autonomous mode. In such a configuration, with each vehicle  142   a - b  operating in an autonomous mode, the vehicles  142   a - b  are able to operate at higher speeds and with smaller gaps between the vehicles  142   a - c  than would be safe for vehicles manually operated by their respective drivers. Vehicle  144 , which is operated at a low priority, is re-assigned to the middle lane  120 . Vehicles in low priority mode are operated in the middle lane  120  in this example as they are able to travel without needing to react to cars entering and exiting the road  100 , and are not obstructing higher priority vehicles. Finally, vehicle  142   c  has been re-assigned to lane  130  as the vehicle&#39;s navigation system has determined that the vehicle  142   c  needs to exit the road  100  shortly due to an upcoming turn based on a pre-programmed navigational route. Thus, its priority has been reassigned with respect to a specific lane, e.g., the right-most lane, as it needs to exit the road, but retains its generalized medium priority based on its continued travel towards the operator&#39;s workplace. 
     Referring now to  FIG. 2 ,  FIG. 2  shows an example system for automated lane assignment for vehicles. In the example shown in  FIG. 2 , a vehicle  200  has been equipped with a computing device  210  in communication with an antenna  220  and one or more sensors  230 ,  240 . The computing device  210  is configured to receive radio signals from the antenna  220 , and in some examples, may be configured to transmit radio signals using the antenna  220 . For example, the computing device  210  may be configured to transmit signals that may be employed by other suitable computing devices, such as may be affixed to other vehicles, or a lane assignment system according to different examples for automated lane assignment for vehicles. Such signals may include information such as a priority level of the vehicle  200 , a driving mode of the vehicle  200 , an identifier for the vehicle  200  or computing device  210 , one or more dimensions of the vehicle  200 , a lane of travel of the vehicle  200 , a speed of the vehicle  200 , a heading of the vehicle  200 , or other vehicle information. In addition, the computing device  210  can receive signals from a lane assignment server or other vehicles. Signals from a lane assignment server may include a lane assignment, a request for vehicle information, a request for vehicle status, a request for a current lane assignment, or request for other information, while signals from another vehicle may include vehicle information for the other vehicle, a lane assignment for the other vehicle, or a request from the other vehicle for vehicle information. It should be noted that the locations of the computing device  210  and the antenna  220  are merely examples, and in other examples, any suitable location within the vehicle  200  or other vehicle may be used. 
     As shown in  FIG. 2 , the vehicle  200  may be equipped with one or more sensors  230 ,  240  of the same or different types. For example, sensors  230  may comprise optical sensors or electromagnetic sensors. One or much such sensors may be configured to detect lane markers, such as indicators (e.g., stripes) painted on the road surface, or material embedded within the road surface, such as ferromagnetic materials, which may provide information to the computing device  210  that may be used to maintain a lane of travel, e.g., based on detections of lane boundaries, or change lanes. In some examples, sensors  240  may comprise proximity sensors configured to detect other vehicles. Example sensors may include image sensors, ultrasound range sensors, laser range sensors, radar, or other suitable proximity sensors. One or more sensors  230 ,  240  may be affixed to the vehicle, such as on the front, sides, and rear of the vehicle. In some examples, an omnidirectional sensor may be affixed to the roof of the vehicle. 
     The computing device  210  may further function as, or being communication with, a navigation system of the vehicle  200 . The computing device  210  may be configured in some examples to access navigation information, such as preprogrammed route information or location information that may be employed for autonomous vehicle lane assignment. 
       FIG. 3  shows a more detailed view of the example computing device  210  shown in  FIG. 2 . In the example shown in  FIG. 3 , the mobile device includes a processor  310 , a memory  320 , a wireless transceiver  312 , a Global Navigation Satellite System (“GNSS”) receiver  360 , e.g., Global Positioning System (“GPS”), and antenna  362 , a display  330 , a user input module  340 , and a bus  350 . In this example, the computing device  210  comprises a vehicle-based navigation system, but may be any suitable device, include an embedded computing device, a cellular phone, a laptop computer, a tablet, a phablet, a personal digital assistant (PDA), wearable device, or augmented reality device. The processor  310  is configured to employ bus  350  to execute program code stored in memory  320 , to output display signals to a display  330 , and to receive input from the user input module  340 . In addition, the processor  310  is configured to receive information from the GNSS receiver  360  and wireless transceiver  312  and to transmit information to the wireless transceiver  312 . 
     The wireless transceiver  312  is configured to transmit and receive wireless signals via antenna  314 . For example, the wireless transceiver may be configured to receive radio signals from a wireless AP or other suitable wireless signal transmitter. In some examples, the computing device  210  may comprise one or more additional wireless transceivers and associated antennas that may be configured to communicate with a cellular base station by transmitting signals to and receiving signals from an antenna associated with the cellular base station. The GNSS receiver  360  is configured to receive signals from one or more GNSS satellites and to provide location signals to the processor  310 . It should be noted that all of the components shown in the computing device  210  are not required in various examples. For example, the GNSS receiver  360  and antenna  362  are optional as are the display  330 , and user input module  340 . 
     Referring now to  FIG. 4 ,  FIG. 4  shows an example lane assignment system  480  in communication with a plurality of vehicles  440 ,  442   a - c ,  444  via a network  470  in communication with a wireless communication node  450 . The lane assignment system  480  includes at least one server  482  and at least one data store  484 . The lane assignment system  480  may be configured to perform one or more methods according to this disclosure. 
     In the system shown in  FIG. 4 , suitable computing devices disposed within vehicles  440 ,  442   a - c ,  444  are in communication with the lane assignment system  480  via the wireless communication node  450 , which may be a cellular antenna, wireless AP, or other wireless transceiver device. The wireless communication node  450  is configured to communicate with one or more of the vehicles  440 ,  442   a - e c ,  444 , such as to provide a broadcast or point-to-point signal usable by one or more of the vehicles  440 ,  442   a - e c ,  444  for autonomous lane detection, and to receive signals from one or more of the vehicles  440 ,  442   a - e c ,  444  to provide information to the lane assignment system  480 , or to receive information from the lane assignment system  480 . For example, a vehicle may provide distance information measured between the vehicle and the wireless communication node  450 , or it may request lane information associated with the road  400 . 
     In some examples, a lane assignment system  480  may comprise a plurality of lane assignment servers, such as lane assignment server  482 , or data stores, such as data store  484 . For example, a lane assignment system  480  for a metropolitan area may comprise a large number of servers capable of managing a large number of roads and vehicles. Further, different lane assignment systems  480  may manage different types of roads, e.g., highways, city streets, residential neighborhoods, etc., or may have overlapping geographic responsibility. In some such examples, suitable lane assignment systems, such as the example shown in  FIG. 4 , may be configured to handoff vehicles that transition from a road or area managed by one system to a road or area managed by another system. Thus, the lane assignment system  480  may be integrated into a network of lane management systems in some examples. Further, one or more lane assignment systems may be part of a lane management system, which may provide lane management functionality in addition to lane assignment functionality. 
     In this example, the lane assignment system  480  maintains information about vehicles travelling on roads under the management of the lane assignment server  482 . For purposes of this example, the lane assignment server  482  is configured to manage the road  400  shown in  FIG. 4 , however, it may also be configured to manage other roads as discussed above. The data store  484  maintains records associated with vehicles travelling on the road  400  managed by the lane assignment system  480 . The vehicle records comprise a vehicle identifier (“ID”), a vehicle type, a vehicle priority generally (such as a police car) or for a specific trip, a vehicle driving mode, a location, and a direction of travel. In some examples, the records maintained by the data store  484  comprise other or additional information, such as a vehicle condition (e.g., normal, mechanical problem, student driver, number of passengers, etc.), destination information, route information, or time information (e.g., time at which the information was received or last updated). The lane assignment server  482  may access one or more records in the data store  484  to assign a vehicle to a lane on a road managed by the lane assignment system  480 . 
     In addition to vehicle information, the data store  484  also maintains records associated with roads and lanes managed by the lane assignment system  480 , such as the road  400  in  FIG. 4 . In this example, the lane records comprise a road name, a number of lanes per direction of travel, and, for each lane, a priority level, one or more features of the road (e.g., charging functionality, scenic views, high-occupancy vehicle restrictions, etc.), and/or one or more driving modes. For example, with respect to the road  400  in  FIG. 4 , the left lane  410  may be assigned an “autonomous” mode, the middle lane  420  may be assigned a “manual” mode, and the right lane  430  may be assigned to an “autonomous” mode and a “manual” mode. Other combinations of driving modes may be employed in other examples, and may include other types of driving modes. 
     This disclosure refers to vehicle priority, or priority, which relates to a vehicles priority with respect to other vehicles travelling on the road. Different examples may employ different levels of priority. For example, two priority levels may be used—a high priority and a low priority—though in other examples three or more priority levels may be used. In some examples, a “no priority” level may be used. Such a priority level may be used to exclude access to a particular lane or road for a particular vehicle. Priority for a vehicle may be self-assigned or may be assigned by a lane assignment system. Priority may be based on any number of factors, including a driving mode of the vehicle, a type of vehicle (e.g., car, truck, motorcycle, bicycle, ambulance, police car, etc.), an emergency status of the vehicle (e.g., responding to a fire, responding to an accident, in pursuit of a criminal, etc.), a fuel level, a level of battery charge for an electric vehicle, a route, a destination, a travel purpose (e.g., commercial, leisure, scenic drive, etc.), mechanical issues, or any other factor. 
     A vehicle&#39;s priority may also depend on the available lanes of travel. For example, a vehicle may be assigned multiple priority levels, one for each available lane of travel. Thus, a vehicle travelling on a multi-lane road, may be granted a high priority for a left-hand lane due to its route not requiring any exits or turns, but a low priority for a right-hand lane so that it does not interfere with vehicles that are entering or exiting the roadway. Hence, a vehicle may have a given priority level for each available lane of travel on the road. Also or alternatively, a vehicle&#39;s priority level may be general and not specific to any lane of travel on the road. 
     In addition to priority, this disclosure will refer to a number of different types “driving modes” throughout various examples. Driving modes indicate the manner in which the operator of a vehicle is operating the vehicle. For example, an “autonomous” mode relates to a mode in which the operator allows the vehicle to operate on a road without intervention by the operator. A “semi-autonomous” mode relates to a mode in which the operator may provide some control inputs to operate the vehicle, such as steering inputs or lane change indications, but does not provide other inputs, such as accelerator or braking inputs. A “manual” mode relates to a mode in which the operator is fully in control of the vehicle and provides the inputs needed to operate the car on the road. 
     Other factors, such as those discussed above, may be employed to determine a priority as well. These other factors may be entirely determinative of a priority, or may simply weigh towards a particular priority level. For example, an “emergency” mode may indicate a vehicle that is operating in response to an emergency condition, such as a fire truck, a police car, or an ambulance. The emergency mode may, on its own, establish a high priority level for a vehicle, or it may be used in conjunction with another factors, such as a driving mode. Some factors may affect a priority more or less depending on various conditions. For example, a vehicle that is on a scenic drive may be assigned a low priority, but upon reaching a scenic area, such as an overlook, it may be assigned a high priority to allow it to move to a lane with a better view of the overlook. Another example is a vehicle that is charging its battery using electronics embedded in a road surface. For example, a road may provide induction coils embedded in its surface that are operable to allow cars equipped with inductive charging capability to charge one or more batteries in the vehicle. The vehicle may be assigned a high priority for the lane that has the charging capability, but otherwise, may only be assigned a medium priority based on other factors. 
     Further, if a vehicle is not operable, such as a vehicle experiencing engine trouble or a flat tire, it may be assigned a high priority for one or more lanes to enable the vehicle to easily move to the shoulder and come to a safe stop. Similarly, a vehicle experiencing a mechanical problem may be similarly assigned a high priority for a right-hand lane, but a low priority for all other lanes due to its reduced operational state. For example, a vehicle operating with a spare tire may operate in a “mechanical problem” mode, where the vehicle is restricted to speeds under 45 miles per hour. By assigning the vehicle to a high priority for a right lane, but a low priority for other lanes, a lane assignment system may quickly use the priority information to reassign the vehicle to the right lane. 
     In some examples, priorities assigned based on available lanes may be based on a requirement for use of the lane, or on a preferred driving mode for the lane. For example, if the left lane  410  is assigned as an autonomous mode lane, one or more vehicles in the left lane  410  may operate in a manual mode, but may be assigned a lower priority for the left lane than other vehicles operating in an autonomous mode; however, a lane assignment server may provide a reminder or suggestion to such vehicles to change to a different lane, or may continue to reduce the priority of vehicles operating in the left lane while in a manual mode. In some examples, a lane assignment system may attempt to limit a number of vehicles in the left lane  410  that are not operating in an autonomous mode to, for example, a maximum of 10% of the total number of cars in the left lane  410  over a certain distance, e.g., a half-mile segment of the road  400 . Thus, an assigned mode for a particular lane may represent a preference or an operational goal rather than an absolute requirement. 
     In some examples, the lane records may comprise other or additional information, such as road or lane conditions (e.g., construction, pot holes, debris, water, ice, high-occupancy vehicle lanes), detours, lane closures, or speed limits. In some examples, the data store  484  may comprise a plurality of records per road. For example, a lane assignment system may manage a portion of an interstate highway extending for fifty miles. Over such a distance, the highway may have different numbers of lanes, different speed limits, construction zones, etc. Thus, the lane assignment system  480  may maintain records for different segments of the road. 
     In some examples, the lane assignment system  480  may access the vehicle and lane information to assign one or more vehicles to a lane of travel on the road based at least in part on the vehicle information and the lane information for roads under the management of the lane assignment system  480 . 
     As used in this specification, “lane information” relates to information describing or associated with a lane for travel on a road. For example, lane information may include physical characteristics of a lane (e.g., length and width); a direction of travel; a driving mode (or modes) assigned to, or allowed in (or preferred in), a lane (e.g., autonomous, manual, emergency, etc.); speed information (e.g., a minimum speed or a speed limit); or lane closure or lane restriction information (e.g., closed, high-occupancy vehicles only, emergency vehicles only, EZ-pass vehicles only); electric charging information (e.g., indicating the presence of charging capabilities, characteristics of the charging capabilities such as wattage or compatibility information). “Vehicle information” relates to information describing or associated with a vehicle on a road, such as physical characteristics (e.g., length, width, height, etc.); driving modes; speed; number of occupants; special access rights (e.g., emergency, government, military, etc.); mechanical issues (e.g., low fuel, flat tire, etc.). Such information may be used by a lane assignment system, or by individual vehicles, to determine lane assignments for one or more vehicles. For example, the following illustrates one example method for autonomous vehicle lane assignment. 
     Referring now to  FIG. 5 ,  FIG. 5  shows an example method  500  for dynamic autonomous vehicle lane assignment for a vehicle. Reference will be made to the lane assignment system  480  of  FIG. 4 , however, any suitable example system according to this disclosure may be employed. 
     The method  500  of  FIG. 5  begins at block  510  where the lane assignment server  482  accesses vehicle information of at least one vehicle travelling on the road  400 , the vehicle information including a priority level of a plurality of priority levels associated with each of the at least one vehicle. As discussed above, the lane assignment system  480  accesses one or more vehicle records from the data store  484 , such as based on a particular segment of the road, or based on a request received from a vehicle. For example, the lane assignment server  482  receives a request from a vehicle travelling on the road  400 . An example request may comprise a priority level of the vehicle, a driving mode indicating an autonomous driving mode, a location indicating the road  400  of  FIG. 4 , and a direction of travel indicating a northbound travel direction. In response to the request, the lane assignment server  482  accesses the data store  484  to access information about other vehicles traveling on the road  400  within a threshold range of the requesting vehicle. For example, the lane assignment server  482  requests vehicle records from the data store  484  for vehicles operating in the same direction of travel within 0.1 miles of the requesting vehicle. 
     In some examples, the lane assignment system  480  may transmit a message to vehicles travelling on the road  400  and request responses from vehicles within 0.1 miles of a particular location, such as the location extracted from the vehicle&#39;s lane assignment request, a location of an accident or other emergency, a location of an emergency vehicle (either in transit, or stationary), a location of a construction zone, or others. The lane assignment system  480  may then receive responses from vehicles within the area specified in the transmitted request. It should be noted that a distance of 0.1 miles is simply one example, and other distances may be employed. For example, the lane assignment server  482  may transmit a request for all vehicles within 1 mile of a specified location, such as to enable a smooth transition from a portion of the road having three lanes to a second portion of the road having only two lanes, such as due to changing road widths, accidents, lane closures, construction, etc. 
     In some examples, emergency vehicles, such as police or fire vehicles or ambulances, may travel on a road while responding to a distress call. An example lane assignment system  480  may receive information from such an emergency vehicle indicating a priority level of the emergency vehicle, a type of emergency vehicle, a destination, a route, and a lane of travel on a road. Such information may be employed to assign the emergency vehicle to a lane of travel, and to assign other vehicles to other lanes on the road instead of assigning the emergency vehicle to varying lanes as it travels through traffic. 
     Similarly, other vehicles may travel at a high rate of speed, or at a significantly higher rate of speed (e.g., more than 10 miles per hour faster) than other traffic on the road. For example, a toll road may allow for high rates of speed in specified lanes for an increased usage fee, or a road may not be governed by a speed limit, allowing significantly different speeds for different vehicles travelling on the road. In one such example, the faster-moving vehicles may be assigned to a particular lane or lanes and other cars may be temporarily re-assigned to other lanes to allow rapidly approaching vehicles to safely pass. In some such examples, the lane assignment system  480  may receive vehicle information from such a vehicle including a lane of travel on a road and a speed of the vehicle. 
     In some examples, the lane assignment system  480  may receive one or more requests for specific lane types. For example, an electric vehicle equipped with inductive charging equipment may transmit a request for a lane equipped with inductive charging capabilities. In some examples, the lane assignment system  480  may receive a request from a car on a scenic drive for a lane near a scenic overlook or scenic area. 
     While the above example describes a response to a request received from a vehicle, in some examples, the lane assignment system  480  may access vehicle information independently of any request from a vehicle. For example, the lane assignment system  480  may access vehicle information associated with a particular location to provide lane assignments based on traffic patterns, accidents, etc. 
     For example, the lane assignment system  480  may receive a notification of a lane closure, such as due to an accident. The lane assignment server  482  may then access the data store  484  to obtain vehicle information about vehicles approaching the lane closure. In some examples, the lane assignment server  482  may transmit a message to vehicles travelling on the road within a threshold distance of the lane closure and approaching the lane closure to request vehicle information from such vehicles. 
     In addition to the vehicle information, the lane assignment server may also access lane information before, concurrently with, or after accessing vehicle information. 
     At block  520 , the lane assignment server  482  access lane information associated with a road. In this example, the lane assignment server  482  accesses information for the road associated with the request received from the vehicle. The request included a location and a heading, thus the lane assignment server  482  accesses road information based on the location and accesses lane information associated with the road information based on the heading. For example, a road corresponding to the location may allow for two directions of travel, where each may have different numbers or types of lanes. Thus, the lane assignment server  482  is able to access the lane information most closely associated with the vehicle that transmitted the request. 
     As discussed above, the lane assignment server  482  may access lane information independently of any received request. For example, the lane assignment server  482  may receive information indicating an accident or increased traffic and may access road or lane information to update such information to determine updated lane assignments for vehicles travelling along the affected portion of the road. 
     In some examples, the lane assignment server  482  may access lane information indicating lanes having differing speed limits or lane restrictions, such as high-occupancy vehicle lanes, emergency vehicle only lanes, bus or taxi-only lanes, etc. Lane information may also include one or more driving modes, e.g., autonomous or manual, or may include vehicle status information, such as normal status, disabled status, low fuel, mechanical problem, student driver, emergency vehicle, or other information. 
     In some examples, the lane assignment server  482  may access route information for a vehicle to determine a length of the route and whether ancillary services, such as refueling or charging, may be needed. For example, the lane assignment server  482  may access route information for an electric vehicle and battery charge information for the vehicle. The lane assignment server  482  may determine that the vehicle may require charging to reach the specified destination in the route and access lane information associated with charging capabilities. 
     At block  530 , the lane assignment server  482  assigns the at least one vehicle to a lane of travel on the road based at least in part on the vehicle information and the lane information. For example, the lane assignment server  482  determines that based on the received vehicle information in the request, that based on the priority of the vehicle, the priority of nearby vehicles, the portion of the road  400  traveled by the vehicle, its direction of travel (northbound), and its driving mode (autonomous), and the lane information indicating that lane  410  is dedicated to vehicles travelling in an autonomous driving mode at the vehicle&#39;s position, the vehicle&#39;s reported driving mode matches the information of lane  410 , and so the lane assignment server determines that the vehicle should be assigned to lane  410 . The lane assignment server  482  then transmits the assignment to the vehicle via the network  470  and wireless communication node  450 . 
     In some examples, the lane assignment server  482  may determine a lane assignment according to different criteria. For example, with respect to the road  400  of  FIG. 4 , the requesting vehicle may be operating in an autonomous driving mode, however, it may provide additional information, such as information indicating that the vehicle is operating using a spare tire with a limited maximum speed rating of 55 miles per hour. In such an example, the lane assignment server  482  determines that, despite the vehicle operating in an autonomous driving mode, the vehicle status, e.g., a mechanical issue or a maximum speed rating, better matches with lane  430  of the road  400 . In this example, the right lane  430  allows vehicles in an autonomous driving mode, but that have other statuses, such as mechanical issues, or that are following a route that requires exit from (or entry onto) the road  400 . Thus, the lane assignment server  482  may both match the reported driving mode with driving modes associated with the lanes  410 - 430  of the road, and match other status information received from the vehicle with other characteristics of the lanes  410 - 430  of the road. 
     In some examples, the lane assignment system  480  may not maintain pre-assigned specific driving modes to lanes, but instead, may dynamically assign vehicles to lanes based on existing traffic conditions and the priorities of vehicles travelling on the road, or segment of the road. For example, at a particular time, a road may have few cars travelling on it. In such an example, the lane assignment system  480  may assign cars operating in an autonomous driving mode to a high priority for a single lane, while assigning a high priority to cars operating in a manual driving mode to all other lanes, but a low priority for the lane having the cars operating in an autonomous driving mode. Or, in some examples, it may only assign a high priority to vehicles operating in a manual driving mode for a particular lane upon receiving vehicle information indicating that the vehicle is approaching, or being approached, by a vehicle operating at a higher priority level due to the other vehicle operating in an automated driving mode so as to avoid interfering with such an autonomous vehicle. 
     For example, a first vehicle operating at a medium priority in a manual mode may request a lane assignment from the lane assignment system  480 . The lane assignment server  482  accesses vehicle and lane information as discussed above. The lane assignment server  482  then determines that only  12  other cars are operating on the road within 0.1 miles of the first vehicle, and assigns the first vehicle to both the left lane  410  and the middle lane  420 , thus allowing the driver of the first vehicle to select a desired lane, at which time the driver selects the left lane  410 . At a later time, the first vehicle approaches a second vehicle operating in an autonomous driving mode that is also in the left lane  410 . The first vehicle may receive information from one or more sensors indicating that it is approaching another vehicle and transmit a request for a lane assignment to the lane assignment system  480 . The lane assignment server  482  may determine that, while the conditions are otherwise appropriate to allow the requesting vehicle to be assigned to either the left or middle lanes  410 ,  420 , proximity to the second car operating in a different driving mode results in the first vehicle&#39;s priority being overridden with a lower priority, and assigns the first vehicle to the middle lane  420  to avoid interfering with the second vehicle operating in the autonomous driving mode. 
     Alternatively, the second vehicle may be equipped with one or more sensors that may detect the vehicle approaching from the rear and transmit a request for a lane assignment to the lane assignment system  480 . The lane assignment system  480  may then determine that, based on the approaching vehicle operating in the manual driving mode, to provide a temporary reduced priority to the approaching vehicle and to change the lane assignment to the middle lane  420  for the second vehicle to allow the other vehicle to pass without changing the base lane assignment for the second vehicle. The second vehicle may then change lanes, detect when the other vehicle has passed it, transmit a second request to the lane assignment system  480  for a lane assignment, at which time the lane assignment system  480  re-assigns the prior priority to the second vehicle, and re-assigns the second vehicle to the left lane  410 . 
     In one example, the lane assignment system  480  may receive an indication of a lane closure on a section of road. For example, the left lane  410  of the road  400  may be closed due to an accident or construction. The lane assignment server  482  may then periodically transmit requests for vehicle information from any vehicles travelling on road  400  within a threshold distance of the lane closure, e.g., a half mile. Upon receiving response from vehicles to the request, the lane assignment server  482  may confirm, for each vehicle, that the vehicle is appropriate for lane re-assignment, e.g., by determining that the vehicle is travelling in the direction of the lane closure and has not already passed the lane closure, and assign the vehicle to low priority or “no priority” level for the closed lane, and then assign the vehicle to a new lane. In one such example, the lane assignment system  480  may not re-assign every vehicle to a new lane, but may change a priority for a portion of the vehicles travelling in the middle lane  420  and then re-assign them to the right lane  430  to allow vehicles travelling in the left lane  410  to be temporarily assigned a higher priority for the middle lane, and then to assign those vehicles to the middle lane  420  to avoid the lane closure. Subsequent to passing the lane closure, the vehicles may transmit requests to the lane assignment system  480  for a new lane assignment. In some examples, the temporary lane assignment may expire upon passing a particular location, e.g., 250 feet past the end of the lane closure, at which time the prior lane assignment is used by the vehicles without the need for the vehicles to transmit a request to the lane assignment server  482 . 
     As discussed above, emergency vehicles may also be managed by a suitable lane assignment system, such as the example lane assignment system  480  shown in  FIG. 4 . For example, a police vehicle may be dispatched to assist at an accident on a highway. As the police vehicle enters the highway, it is several miles from the accident, and the lane assignment system  480 , based on vehicle information received from the police vehicle, including its destination, and the lane information for the highway, which indicates four traffic lanes, assigns the police vehicle to a high priority for all lanes of traffic, but assigns the police vehicle to the left-most lane of traffic. In addition, the lane assignment system  480  transmits a message to all non-emergency vehicles on the highway between the police vehicle and the accident setting a “no priority” for each vehicle for the left-most lane. Vehicles receiving such a message may automatically assign themselves to a new lane or may transmit a message to the lane assignment system  480  requesting a new lane assignment, at which time, the lane assignment system  480  executes an example method according to this disclosure to assign the requesting vehicles to new lanes of travel. After the police vehicle passes other vehicles, those vehicles may return to their previous lane assignments, or may request a new lane assignment from the lane assignment system. 
     In another example, as discussed above, an electric vehicle may require or be capable of inductive charging. Thus, the lane assignment server  482  may assign the vehicle to a lane on a road having electric charging capabilities. 
     The discussion of the method  500  of  FIG. 5  above was made with reference to a lane assignment system  480 . However, in some examples, such a lane assignment system  480  may not be available or may not be configured to provide lane assignments in a particular area. In some examples, a vehicle may be configured to determine its own lane of travel irrespective, or in conjunction with, a lane assignment system. Thus, in some examples, individual vehicles may access vehicle and lane information to assign themselves to one or more lanes of travel on a road. 
     Referring again to  FIG. 5 , in this example, the discussion of the method  500  of  FIG. 5  will be made with reference to the computing device  210  of  FIGS. 2 and 3 , and road of  FIGS. 1A-1B . However, any suitable computing device according to this disclosure may be employed. 
     At block  510 , the computing device  210  of a first vehicle accesses its own vehicle information and determines its operating mode and other characteristics of the vehicle. Based on the vehicle information, the first vehicle determines its own priority level. For example, the computing device  210  determines that the first vehicle is operating in an autonomous driving mode, is following a pre-determined route to a destination, has a “Normal” vehicle status, and is on a leisure drive. Thus, the vehicle assigns itself a “low” priority. 
     In this example, the vehicle employs one or more sensors  240  to determine vehicles within a threshold range of the first vehicle, e.g., 200 feet. In some examples, the computing device  210  may be configured to transmit a signal configured to be received by suitable computing devices  210  affixed to other vehicles requesting responses from vehicles within the threshold range of the first vehicle and travelling in the same direction as the first vehicle. In some examples, the computing device  210  may transmit directly to other vehicles using a peer-to-peer communication mode, such as a V2V communication mode, or may transmit to other vehicles via a communication network, such as a cellular network, or using a V2X communication mode. The computing device  210  may then receive responses from vehicles that satisfy the request. Such responses may comprise information associated with the responding vehicle, such as priority information, a driving mode, a current lane, an assigned lane, a current speed, a route, a destination, or other information. 
     In one example, the computing device  210  may receive unsolicited vehicle information from another vehicle or from a lane assignment system  480 . For example, an emergency vehicle travelling on the road may directly transmit, or broadcast, a message indicating a lane of travel for the emergency vehicle and the priority level of the vehicle. Such vehicle information may be employed according to example methods for assigning the first vehicle to a lane of travel. 
     In addition to accessing the vehicle information for the first vehicle and any vehicle information received from other vehicles, the computing device  210  may also access lane information before, concurrently with, or after accessing vehicle information. 
     At block  520 , the computing device  210  of the first vehicle accesses lane information associated with a road, the lane information comprising information corresponding to at least two lanes of travel in a direction. In this example, the computing device  210  accesses lane information from a navigation system of the first vehicle. For example, the navigation system may have, or have access to, map information associated with a plurality of roads, either stored within the navigation system, e.g., on a computer-readable medium, or accessible via a network connection to a map service or a crowdsourcing service, such as via the Internet. In this example, to access the lane information, the computing device  210  transmits a request for lane information to the navigation system, which based on a location of the first vehicle, provides lane information for the road on which the first vehicle is travelling. In some examples, however, the computing device  210  may directly access the lane information, such as by accessing a computer-readable medium having such lane information stored on it, or by accessing a map service or a crowdsourcing service, such as via the Internet. Different types of lane information have been discussed above, and are equally applicable in this example or other examples according to this disclosure. 
     At block  530 , the computing device  210  assigns the first vehicle to a lane of travel on the road based at least in part on the vehicle information and the lane information. In this example, the first vehicle compares a priority of the first vehicle with the priorities of other vehicles based on responses received from the other vehicles. In an example where no other vehicles respond, and no other vehicles are detected based on sensor information received from the sensors  230 ,  240 , the first vehicle assigns itself to a lane based on a pre-determined route. For example, if a predetermined route indicates that vehicle should follow the road  100  for an extended period of time, e.g., more than 5 miles, the first vehicle assigns itself to a middle lane of the road  100 , if there are more than two lanes. If the lane information indicates that there are only two lanes, the first vehicle assigns itself to the right lane, or to otherwise avoid the left-most lane. Such an assignment may be made to allow other vehicles overtaking the first vehicle to pass on the first vehicle&#39;s left. If no pre-determined route is engaged, the first vehicle may still assign itself to a middle lane of the road  100 , if possible, or to the right-most lane. 
     If other vehicles are detected by one or more sensors, e.g., sensors  230 ,  240 , but no responses were received by the first vehicle, the first vehicle may re-transmit the request or it may assign itself to a lane based on the current traffic conditions as detected by the sensor(s). For example, if the sensor(s) indicate vehicles located in lanes immediately on either side of the first vehicle, or within a number of feet based on the speed of the first vehicle, e.g., to allow for sufficient braking distance, the computing device  210  may assign the vehicle to its current lane until a different lane is available. 
     In some examples, the sensor(s) may indicate that the first vehicle is approaching another vehicle at a significant speed differential, e.g., more than 10 miles per hour. In such an example, the computing device  210  may access other sensor information to determine whether adjacent lanes are occupied, as discussed above. If an open lane is detected, the computing device  210  may assign the first vehicle to the free lane, or it may assign the then-current lane and allow the autonomous operating mode of the first vehicle to slow the first vehicle. 
     If one or more other vehicles respond to the request from the first vehicle, the first vehicle may determine whether any of the responding vehicles is operating at the same priority level as the first vehicle. If one or more other vehicles are operating at the same priority level, the first vehicle determines a lane of travel for each other vehicle, if such information was provided or was detected based on one or more sensor signals. If a majority of the other vehicles having the same priority are in one lane, the computing device  210  assigns the first vehicle to that same lane, and transmits its new assignment to the other vehicles. Such information may be used by the other vehicles to either execute a lane assignment method, such as the example method  500  of  FIG. 5 , or to request a lane assignment from a lane assignment system, such as the system  480  of  FIG. 4 . Such a process may cause most or all of the vehicles having the same priority level to migrate to a single lane, which may allow for more efficient use of the lane, and potentially to avoid vehicles operating at a different priority level interfering with each other. 
     If the computing device  210  receives information from other vehicles indicating that they are each operating in a manual driving mode, the computing device  210  may determine a new priority level for itself, if such information was provided or detected based on one or more sensor signals. The first vehicle then determines a lane having fewest number of vehicles operating in a manual driving mode, and assigns itself a high priority for that lane and a low priority for the other lanes. The first vehicle then assigns itself to that lane. Such an assignment may reduce the likelihood of a manually-operated vehicle from interfering with the operation of the autonomous driving functionality of the first vehicle. 
     If the computing device  210  receives information from one or more other vehicles indicating a “Mechanical Issue” or similar status, the computing device  210  may determine a lane of travel of such vehicles, if it was provided, and the computing device  210  may assign itself a “no priority” priority level for those lanes, if sufficient remaining lanes are available. 
     As discussed above, the computing device  210  may receive an unsolicited message from another vehicle indicating that the vehicle is an emergency vehicle having a high priority level. In such an example, the computing device  210  may determine a lane of travel for the emergency vehicle. If such information was provided, and the lane information indicates that the road has multiple lanes of travel, the computing device  210  may assign a “no priority” level to the first vehicle for the lane of travel for the emergency vehicle, and then may assign itself to a lane of travel as far from the lane of the emergency vehicle as permitted. For example, if the sensors  230 ,  240  do not indicate other vehicles in proximity of the first vehicle, the computing device  210  may immediately assign the first vehicle to a lane of travel at the far left or far right side of the road. If one or more other vehicles are detected, e.g., by the sensors  230 ,  240  or in response to a request message transmitted by the computing device  210  as discussed above, the computing device  210  may determine whether an adjacent lane may be available. Alternatively, if the first vehicle&#39;s lane of travel is already different from the lane of the emergency vehicle, the computing device  210  may maintain the same lane assignment. 
     At a later time, the computing device  210  determines that the first vehicle&#39;s status has changed from “Normal” to a “Low Fuel” status. For example, the first vehicle&#39;s autonomous control system has illuminated a light on the console indicating low fuel, and transmitted an indication to the computing device  210  of the new status. The computing device  210  may then execute steps  510  and  520  as discussed above and, based on the accessed vehicle information and the lane information, assign itself a high priority for a right-most lane of travel, which may facilitate exiting the road near a service station. In some examples, the computing device  210  may further transmit a message to one or more other vehicles indicating the “Low Fuel” status and the new lane assignment. 
     After refueling, the first vehicle may return to the road and assign itself a medium priority level for all lanes, and continue operating in an autonomous driving mode. After a period of time, it may be assigned a high priority level for a lane having a number of other vehicles operating in an autonomous driving mode, as discussed above. However, the driver of the first vehicle elects to change driving modes to a manual driving mode. In response to receiving the selection of the new driving mode, the computing device  210  executes the method  500  of  FIG. 5 , and assigns itself a low priority level for the lane having the autonomous vehicles, and then, if it is operating in that lane, assigns itself to a new lane of travel. 
     For example, the computing device  210  may determine, based on responses from other vehicles, lanes of travel associated with other vehicles operating in an autonomous driving mode and assign the first vehicle a low priority level for each of those lanes, but may still assign itself to a lane of travel having the fewest vehicles operating in an autonomous driving mode, or it may instead assign itself to a lane of travel dedicated to vehicles in a manual driving mode based on information obtained from the lane information. At a later time, the driver reengages an autonomous driving mode, and the computing device  210  executes the method of  FIG. 5  as discussed above. 
     Referring now to  FIG. 6 ,  FIG. 6  shows an example method  600  for dynamic autonomous vehicle lane assignment for a vehicle. Reference will be made to the lane assignment system  480  of  FIG. 4  and the computing device of  FIGS. 2-3 , however, any suitable example system or computing device according to this disclosure may be employed. 
     The method  600  of  FIG. 6  begins at block  610  where a vehicle equipped with a computing device  210  transmits a message to a remote device. In this example, the computing device  210  transmits a request for a lane assignment to the lane assignment system  480 . In some examples, the request may simply be a bare request for a lane assignment; however, in some examples, the request may include other information, such as priority information, vehicle information, position information, heading information, route information. 
     In some examples, and in response to the request, the lane assignment system  480  may transmit a request for vehicle information to the vehicle. The request may request any available vehicle information, or may request specific vehicle information, such as priority information or a driving mode of the vehicle. In response to such a request, the computing device  210  transmits a response message to the lane assignment system  480  with the requested information. 
     At block  620 , the computing device  210  receives a lane assignment from the remote device, which is the lane assignment system  480  in this example. The lane assignment may provide an indication of a new lane of travel for the vehicle or an indication to remain in the current lane of travel. In some examples, the lane assignment may indicate additional information, such as lane information for the assigned lane. In some examples, the computing device  210  may compare vehicle information with the received lane information to determine whether the vehicle satisfies one or more lane requirements, such as a minimum speed or a number of occupants. The computing device  210  may then provide an indication to the operator of the vehicle of the new lane assignment, such as by displaying the lane assignment on a heads-up display of the vehicle or by providing an audible of tactile indication of the new lane assignment. 
     In some examples, the computing device  210  may communicate with a navigation system or autonomous driving system of the vehicle and provide the lane assignment to the navigation or autonomous driving system of the vehicle, and may also provide any received lane information as well. In response to receipt of the lane assignment, the autonomous driving system may cause the vehicle to change to the assigned lane. In addition, the autonomous driving system may change the speed of the vehicle or may change the driving mode of the vehicle based on the lane information. In some examples, the autonomous driving system may reject the lane assignment and may instead maintain the existing lane assignment or change to a different lane. 
     While the methods and systems herein are described in terms of software executing on various machines, the methods and systems may also be implemented as specifically-configured hardware, such as field-programmable gate array (FPGA) specifically to execute the various methods. For example, examples can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in a combination thereof. In one example, a device may include a processor or processors. The processor comprises a computer-readable medium, such as a random access memory (RAM) coupled to the processor. The processor executes computer-executable program instructions stored in memory, such as executing one or more computer programs for editing an image. Such processors may comprise a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), field programmable gate arrays (FPGAs), and state machines. Such processors may further comprise programmable electronic devices such as PLCs, programmable interrupt controllers (PICs), programmable logic devices (PLDs), programmable read-only memories (PROMs), electronically programmable read-only memories (EPROMs or EEPROMs), or other similar devices. 
     Such processors may comprise, or may be in communication with, media, for example computer-readable storage media, that may store instructions that, when executed by the processor, can cause the processor to perform the steps described herein as carried out, or assisted, by a processor. Examples of computer-readable media may include, but are not limited to, an electronic, optical, magnetic, or other storage device capable of providing a processor, such as the processor in a web server, with computer-readable instructions. Other examples of media comprise, but are not limited to, a floppy disk, CD-ROM, magnetic disk, memory chip, ROM, RAM, ASIC, configured processor, all optical media, all magnetic tape or other magnetic media, or any other medium from which a computer processor can read. The processor, and the processing, described may be in one or more structures, and may be dispersed through one or more structures. The processor may comprise code for carrying out one or more of the methods (or parts of methods) described herein. 
     The foregoing description of some examples has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Numerous modifications and adaptations thereof will be apparent to those skilled in the art without departing from the spirit and scope of the disclosure. 
     Reference herein to an example or implementation means that a particular feature, structure, operation, or other characteristic described in connection with the example may be included in at least one implementation of the disclosure. The disclosure is not restricted to the particular examples or implementations described as such. The appearance of the phrases “in one example,” “in an example,” “in one implementation,” or “in an implementation,” or variations of the same in various places in the specification does not necessarily refer to the same example or implementation. Any particular feature, structure, operation, or other characteristic described in this specification in relation to one example or implementation may be combined with other features, structures, operations, or other characteristics described in respect of any other example or implementation.