Autonomous vehicle route planning
The method addresses the challenge of unoccupied autonomous vehicles by determining stall factors and selecting alternate routes, ensuring successful trip completion and considering occupant assistance, thereby improving the reliability of autonomous navigation systems.
Patent Information
- Application Number
- JP2024158829
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-12-14
- Filing Date
- 2024-09-13
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2039-12-13
AI Technical Summary
Conventional navigation systems for autonomous vehicles, particularly those used in mobility-as-a-service (MAAS) vehicles, fail to account for the vehicle's occupancy status and potential stalls, which can complicate route planning when the vehicle is unoccupied, leading to difficulties in completing trips without human assistance.
A method and system for autonomous vehicles that determine the presence of stall factors during a route, assess vehicle occupancy, and select alternate routes if the vehicle is unoccupied, ensuring the route does not include such factors, thereby enabling successful trip completion.
Enhances the ability of autonomous vehicles to successfully complete trips by avoiding potential stalls when unoccupied, utilizing alternate routes when necessary, and considering the capability of occupants to assist in case of emergencies.
Smart Images

Figure 2024175020000001_ABST
Abstract
Description
[Technical field]
[0001] Certain aspects of the present disclosure relate generally to route planning, and more particularly, to systems and methods for planning routes for autonomous vehicles. [Background technology]
[0002] Conventional navigation systems consider external factors when selecting a route to a destination. The external factors may include traffic, road hazards, and / or weather. In addition, conventional navigation systems for non-autonomous vehicles can only determine a route to a destination. In contrast, autonomous vehicle navigation systems can determine a route to and from a destination. That is, an autonomous vehicle navigation system selects a route from a starting point to a destination and a route from the destination back to the starting point. For example, an autonomous taxi can pick up a customer at a taxi station, transport the customer to the destination, and return to the taxi station for another pickup.
[0003] For autonomous mobility as-a-service (MAAS) vehicles, the autonomous MAAS vehicle may be unoccupied for one leg of the journey. For example, the autonomous MAAS vehicle may be occupied when traveling to a destination and unoccupied when traveling from the destination to the starting point. Therefore, in contrast to conventional navigation systems that only consider external factors, navigation systems for autonomous MAAS vehicles should be improved to consider the ability of the autonomous MAAS vehicle to successfully complete a route. Summary of the Invention
[0004] In one aspect of the disclosure, a method for route planning for an autonomous vehicle is disclosed. The method includes determining whether a stall factor exists along a route to a destination. The method also includes determining whether the autonomous vehicle is occupant-occupied along the route. The method further includes determining an alternate route when the stall factor exists and the autonomous vehicle is not occupant-occupied along the route. The method still further includes controlling the autonomous vehicle to drive on the alternate route when the alternate route does not include the stall factor.
[0005] In another aspect of the present disclosure, a non-transitory computer readable medium having non-transitory program code recorded thereon is disclosed. The program code is for route planning for an autonomous vehicle. The program code is executed by a processor and includes program code for determining whether a stall factor exists along a route to a destination. The program code also includes program code for determining whether the autonomous vehicle is occupant-occupied along the route. The program code further includes program code for determining an alternate route when a stall factor exists and the autonomous vehicle is not occupant-occupied along the route. The program code further includes program code for controlling the autonomous vehicle to drive on the alternate route when the alternate route does not include the stall factor.
[0006] Another aspect of the disclosure is directed to an apparatus for route planning for an autonomous vehicle. The apparatus includes a memory and one or more processors coupled to the memory. The processor is configured to determine if a stall factor exists along a route to a destination. The processor is also configured to determine if the autonomous vehicle is occupant-free along the route. The processor is further configured to determine an alternative route when the stall factor exists and the autonomous vehicle is not occupant-free along the route. The processor is further configured to control the autonomous vehicle to drive on the alternative route when the alternative route does not include the stall factor.
[0007] This specification has outlined rather broadly the features and technical advantages of the present disclosure in order that the detailed description that follows may be better understood. Additional features and advantages of the present disclosure are described below. Those skilled in the art should recognize that this disclosure may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art should also recognize that such equivalent constructions do not depart from the teachings of the present disclosure as set forth in the appended claims. The novel features believed to be characteristic of the present disclosure, both as to its organization and method of operation, together with further objects and advantages, will be better understood from the following description when considered in conjunction with the accompanying drawings. It should be expressly understood, however, that each feature is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure. [Brief description of the drawings]
[0008] The features, nature and advantages of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout. [Figure 1] FIG. 1 illustrates a flow diagram for determining whether to accept a reservation according to an embodiment of the present disclosure. [Diagram 2] FIG. 2 illustrates a flow diagram for determining whether to accept a reservation according to an embodiment of the present disclosure. [Figure 3A] FIG. 3A illustrates an example of selecting a route to a destination according to an embodiment of the disclosure. [Figure 3B] FIG. 3B illustrates an example of selecting a route to a destination according to an embodiment of the disclosure. [Figure 4] FIG. 4 illustrates an example hardware implementation for an autonomous vehicle navigation system according to an embodiment of the disclosure. [Diagram 5] FIG. 5 illustrates a flow diagram for route planning for a vehicle according to an embodiment of the disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The detailed description set forth below in connection with the accompanying drawings is intended to be illustrative of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the various concepts. However, it will be apparent to one skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form to avoid obscuring such concepts.
[0010] Based on the teachings, one skilled in the art will understand that the scope of the present disclosure is intended to cover any aspect of the present disclosure, whether implemented independently or in combination with any other aspect of the present disclosure. For example, an apparatus can be implemented or a method can be performed using any number of the aspects described. In addition, the scope of the present disclosure is intended to cover an apparatus or method that is implemented using other structures, functions, or structures and functions in addition to or other than the various aspects of the present disclosure described. It should be understood that any aspect of the present disclosure can be embodied by one or more elements of a claim.
[0011] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any aspect described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects.
[0012] Although specific embodiments are described herein, many variations and permutations of these embodiments are within the scope of the present disclosure. Although some benefits and advantages of the preferred embodiments are mentioned, the scope of the present disclosure is not intended to be limited to the specific benefits, uses, or purposes. Rather, the embodiments of the present disclosure are intended to be broadly applicable to different technologies, system configurations, networks, and protocols, some of which are illustrated by way of example in the figures of the preferred embodiments and in the following description. The detailed description and drawings are merely illustrative of the present disclosure, rather than limiting, the scope of the present disclosure being defined by the appended claims and their equivalents.
[0013] Conventional navigation systems consider external factors when selecting a route to a destination. The external factors may include traffic, road hazards, and / or weather. In most cases, conventional navigation systems select a route with the least number of external factors. For example, when determining a route based on travel time, a conventional navigation system may select a longer distance route with less traffic compared to a shorter distance route.
[0014] In addition, conventional navigation systems for non-autonomous vehicles can only determine a route to a destination. In contrast, a navigation system for an autonomous mobility as-a-service (MAAS) vehicle can determine a route from an initial location to a destination and from the destination to a return location, such as the initial location. For example, an autonomous MAAS vehicle (e.g., an autonomous taxi) can pick up a customer at an initial location (e.g., a taxi station, airport, train station, etc.), transport the customer to a destination, and return to a location for another pickup. In this example, the autonomous MAAS vehicle has no occupants after transporting the customer to the destination.
[0015] Aspects of the present disclosure are not limited to autonomous MAAS vehicles. Other vehicles are also contemplated. For example, aspects of the present disclosure may also be directed to autonomous Personal Owner Vehicles (POVs). For example, an owner may commute by train. The POV may still drive the owner to a train station. In this example, the route planning system may consider the possibility of stalling from a drop-off location (e.g., the train station) to a return location (e.g., the owner's home). Additionally, when the owner returns to the train station from work, the owner may call the POV to drive from the owner's home to the train station. In this example, the route planning system may consider the possibility of stalling between an initial location and a pick-up location. For simplicity, the MAAS vehicle and the POV vehicle are referred to as vehicles in this application.
[0016] Aspects of the present disclosure consider the possibility of stalls between different types of routes. A route may include a route from an initial location to a pick-up location, a route from a pick-up location to a drop-off location, and a route from a drop-off location to a return location. In some cases, a vehicle's journey includes all three routes or a combination of routes.
[0017] In some cases, a vehicle may stall while traveling. For example, the vehicle may experience a mechanical failure (e.g., a flat tire, a dead battery, etc.) or a sensor failure (e.g., no GPS signal, no wireless network signal, etc.). If the vehicle has an occupant, the occupant may provide assistance. For example, the occupant may fix the mechanical failure, call for help, or walk to find help. In contrast, it may be difficult for an unoccupied vehicle to overcome a stall. For example, if an unoccupied vehicle stalls in an area without wireless network service, the vehicle may not be able to call for assistance.
[0018] Aspects of the present disclosure are directed to determining whether a route includes a stall factor. If the route includes a stall factor, an alternate route is selected. If an alternate route is not available, the vehicle does not drive on the route. A route may be a route to pick up a customer at a customer location, a route to a destination, and / or a route from a destination to another location, such as an initial location.
[0019] As an example, a customer may reserve a vehicle. The vehicle reservation may include the customer's location and a destination. In response to receiving the reservation, the vehicle determines a pick-up route to the customer's location, a destination route from the customer's location to the destination, and a return route to a return location. Each route may include multiple possible routes. In one configuration, the vehicle eliminates a possible route when there is a possibility of a stall on the route.
[0020] The likelihood of a stall may be based on one or more stall factors, such as low fuel, insufficient battery, mobile service below a threshold, environmental considerations (e.g., inclement weather), construction, road hazards, unmapped areas (e.g., private roads), out-of-date maps, accidents, sensor outages, etc. The vehicle may select an alternate route if the route includes one or more stall factors. Prior to selecting an alternate route, the vehicle may determine whether it is safe to proceed on the route that includes one or more stall factors. For example, when determining whether it is safe to proceed on the route, the vehicle may determine whether there is an occupant present during the route, whether the occupant has a driver's license, and / or the duration of the stall factor.
[0021] If the vehicle can complete the trip without stalling, the vehicle accepts the reservation. FIG. 1 illustrates an example flow diagram 100 for determining whether to accept a reservation, according to an embodiment of the disclosure. As illustrated in FIG. 1, in block 102, the vehicle receives a destination based on the customer's reservation. The destination is an initial location to which the vehicle is traveling or a location to which the vehicle is traveling from the initial location. For example, the destination is the customer's location or the customer's intended destination. In this example, the vehicle drives to the customer's location to pick up the customer (e.g., pick up the customer) and then transports the customer to the destination. In another example, the vehicle is at a pick-up location (e.g., an airport pick-up lot) and the customer boards the vehicle at the pick-up location.
[0022] In block 104, the vehicle determines a route to the destination. The route can be based on external factors such as traffic. For example, the route can be a minimum travel time route taking into account the external factors. In block 106, the vehicle determines whether the route includes stall factors. Stall factors include, but are not limited to, scarce resources (e.g., fuel, battery, etc.), environmental factors, road hazards, unmapped areas, outdated maps, traffic, accidents, sensor outages, etc.
[0023] If the route does not include a stall factor, then in block 108 the vehicle selects a route to the destination. In an optional configuration, if the route does include a stall, then in block 110 the vehicle determines whether there is a passenger present during the route. If the route is from the vehicle's initial location to the customer's pick-up location, the vehicle is not passenger-occupied. Instead, after picking up the customer, the vehicle is passenger-occupied (e.g., while driving the customer to their destination). If there is a passenger present in the vehicle, the passenger can provide assistance if the vehicle stalls. For example, the passenger can drive the vehicle, fix a malfunction, call for help, or walk to get help.
[0024] In this optional configuration, in block 112, the vehicle may further determine whether the occupant (e.g., the customer) has the ability to drive the vehicle. That is, if a stall occurs, the occupant may be required to drive the vehicle. Thus, if the occupant is unable to drive the vehicle, the occupant's presence is not important. Ability to drive may be determined from information stored in the customer profile, such as driver's license information.
[0025] In some cases, the customer reserving the vehicle may be different from the passengers. Alternatively, the customer may request the vehicle for the customer and one or more other passengers. In one configuration, the vehicle uses a scanner or camera to scan the driver's license of each passenger to determine whether the one or more passengers are permitted to drive the vehicle.
[0026] If the occupant is not available to drive the vehicle, the vehicle determines if an alternate route is available in block 114. Additionally, if the vehicle is unoccupied during the route, the vehicle determines if an alternate route is available in block 114. If an alternate route is available, the vehicle determines if the alternate route includes a stall factor in block 106. Alternatively, if an alternate route is not available, the vehicle does not accept the customer's reservation in block 116. The customer cannot override the vehicle's decision to cancel the reservation.
[0027] In one configuration, in addition to determining whether there is a possibility of a stall on the route to the destination, the navigation system determines whether there is a possibility of a stall on the return route from the destination, where the return route is from the customer's destination to the starting point or other location of the vehicle. The determination of whether there is a possibility of a stall on the return route may be made in conjunction with or exclusive to the determination of whether there is a possibility of a stall on the route to the destination.
[0028] In most cases, the customer is not present during the return route. Nevertheless, there are situations where the customer can be present during the return route. For example, the vehicle owner can book a car to arrive at a location and take the vehicle owner home. In this example, the vehicle owner's home is the return location. Therefore, the vehicle owner (e.g., the customer) is present during the return route.
[0029] Figure 2 illustrates a flow diagram 200 for determining whether to accept a reservation according to an embodiment of the disclosure. In an optional configuration, in block 202, the navigation system determines whether a route to an initial destination (e.g., a customer pick-up location and / or a customer drop-off location) is available. The navigation system may determine whether a route to the destination is available based on the flow diagram 100 of Figure 1. If a route to the destination is not available, the process ends (block 204).
[0030] If a route to the initial destination is available, the navigation system determines a return route (block 206). Determining the return route may be separate from determining whether a route to the initial destination is available. After determining the return route, in block 208, the navigation system determines whether there is a stall factor on the route (e.g., the return route). Although not shown in FIG. 2, in one configuration, the vehicle determines whether there is an occupant in the vehicle during the return route. The vehicle may also determine whether the occupant is able to drive the vehicle. The determination of whether there is an occupant and / or the occupant's ability to drive can be used to determine whether the vehicle should select a return route with a stall factor.
[0031] If the return route does not include a stall factor, the reservation is accepted (block 210). If the return route does include a stall factor, the navigation system determines whether an alternate route is available (block 212). If an alternate route is not available, the vehicle does not accept the reservation (block 214). If an alternate route is available, in block 208, the vehicle determines whether there is a stall factor on the route (e.g., the alternate return route). If the alternate return route does not include a stall factor, in block 210, the vehicle accepts the customer's reservation. If the alternate route does include a stall factor, the process repeats in block 212, where the vehicle determines whether another alternate route is available. The customer cannot override the vehicle's decision to cancel the reservation.
[0032] FIG. 3A illustrates an example of selecting a route 302, 304 to a destination 314, 316 according to an embodiment of the disclosure. As shown in FIG. 3A, a vehicle 310 may be at an initial position 312 in an area 300. In this example, a portion of the area 300 includes rain 318. Additionally, the area 300 includes an out-of-date map segment 324 and a weak signal segment 322. The out-of-date map segment 324 is a portion of the area 300 where the time since the last map update is greater than a threshold. The out-of-date map segment 324 may also be an area without map information, such as an area with private roads. The weak signal segment 322 is an area with weak or no reception of one or more transmission signals, such as cellular, WiFi, GPS, etc.
[0033] In this example, the vehicle 310 receives a reservation from a customer at a home 314. The reservation indicates that the customer wants to be dropped off at an office 316. Upon receiving the reservation, the vehicle 310 (e.g., a navigation system of the vehicle 310) determines a pickup route 302 to the home 314 (e.g., a pickup destination) and a drop-off route 304 to the office 316 (e.g., a drop-off destination). In some cases, the vehicle 310 can only determine a route to one destination. For example, if the customer meets the vehicle 310 at the initial location 312 of the vehicle 310, the vehicle 310 only determines a route to the customer's drop-off destination 316. The vehicle 310 determines whether each route 302, 304 includes a stall factor.
[0034] In this example, the vehicle 310 determines that there is rain 318 on a portion of the pickup route 302. Therefore, there is a possibility of stalling on the pickup route 302 due to the rain 318 (e.g., a stall factor). The rain 318 may cause sensor failure or mechanical failure (or accident) due to the wet conditions. The vehicle 310 may determine whether there is an occupant during the pickup route 302. In this example, since there is no occupant on the vehicle 310 during the pickup route 302, the vehicle 310 determines an alternate pickup route 320. The vehicle 310 also determines whether there is a stall factor on the alternate pickup route 320. Since there is no stall factor on the alternate pickup route 320, the alternate pickup route 320 is selected as the route to the home 314.
[0035] After selecting the alternative pickup route 320, the vehicle 310 determines a drop-off route 304 from a house 314 (e.g., the customer's location) to an office 316 (e.g., the customer's drop-off destination). The vehicle 310 determines whether there is a stall factor on the drop-off route 320. As shown in FIG. 3A, a portion of the drop-off route 304 overlaps with a weak signal section 322 (e.g., a stall factor). Therefore, there is a possibility of a stall in the weak signal section 322. The stall may be caused by a sensor failure due to a weak signal. In addition, if a mechanical failure occurs, the vehicle 310 cannot call for help due to the weak signal.
[0036] Because the drop-off route 304 includes a stall factor, the vehicle 310 determines whether a passenger is present during the drop-off route 304. In this example, the customer is present in the vehicle 310 during the drop-off route 304. In one configuration, the vehicle 310 further determines whether the customer is capable of driving the vehicle 310 in manual mode. This determination may be based on information in the customer profile. For example, the customer profile may include the customer's driver's license information. In the example of FIG. 3A, it is assumed that the customer is capable of driving the vehicle 310. Therefore, the vehicle 310 selects the drop-off route 304 despite the possibility of a stall.
[0037] After determining that the vehicle 310 can travel the route 304, 320 to the destination 314, 316, the vehicle 310 can accept the reservation. In one configuration, before accepting the reservation, the vehicle 310 determines whether a return route is available. The return route is a route from the customer drop-off location 316 to a next location for the vehicle 310, such as a designated starting point or a location to pick up another customer. Figure 3B illustrates an example of selecting a return route 332, 334 according to an embodiment of the disclosure.
[0038] In the example of Figure 3B, the vehicle 310 determines a return route 332 from an office 316 (e.g., a customer drop-off location) to a return location 330, such as a parking lot. After determining the return route 332, the vehicle 310 determines whether the return route 332 includes a stall factor. As shown in Figure 3B, a portion of the return route 332 overlaps with a weak signal segment 322 (e.g., a stall factor). Therefore, there is a possibility of a stall in the weak signal segment 322.
[0039] Because of the possibility of a stall on return route 332, vehicle 310 determines whether vehicle 310 has an occupant during return route 332. In this example, return route 332 is after the customer has dropped off, so vehicle 310 has no occupant. Therefore, vehicle 310 determines an alternative return route 334.
[0040] In response to determining the alternate return route 334, the vehicle 310 determines whether the alternate return route 334 includes a stall factor. As shown in FIG. 3B, a portion of the alternate return route 334 overlaps with the section 324 of the old map (e.g., a stall factor). Therefore, there is a possibility of a stall at the section 324 of the old map. The old map may cause a stall because the roads may be unknown or one or more roads may be inaccessible (e.g., private roads). Since there is a possibility of a stall on the alternate return route 334, the vehicle 310 determines whether there is an occupant during the alternate return route 334. In this example, the alternate return route 334 is after the customer has dropped off, so there is no occupant in the vehicle 310. The vehicle 310 determines whether there is an additional route to the return location 330.
[0041] In this example, return route 332 and alternate return route 334 are the only routes available to return location 330. In one configuration, vehicle 310 cancels the reservation if the return route is unavailable. In another configuration, vehicle 310 determines an alternate pick-up or drop-off location if the vehicle has a possibility of stalling on one or more of the routes (e.g., the destination route or the return route).
[0042] In the example of FIG. 3B, the vehicle 310 has a stall possibility on both the return route 332 and the alternate return route 334. Therefore, if an alternate return area or an alternate drop-off area is selected, the vehicle 310 determines whether a return route without a stall factor is available. The alternate return area and the alternate drop-off destination are within a predetermined distance from the original return area 330 and the original drop-off destination 316, respectively. In this example, the vehicle 310 selects the alternate drop-off area 336 that is within a predetermined distance from the original customer location 316. This alternate drop-off destination can also include a predetermined location or a heavily traveled location such as a bus stop or train station. The heavily traveled location may be the closest heavily traveled location to the original drop-off location 316.
[0043] The vehicle 310 determines whether there is a stall factor on the return route 332 and / or the alternate return route 334 if the original drop-off destination 316 is changed to the alternate drop-off area 336. As shown in FIG. 3B, the return route 332 bypasses the weak signal section 322 if the return route 332 begins from a location within the alternate drop-off area 336. Thus, selecting the return route 332 avoids the known stall factor. In this configuration, rather than canceling the reservation, the vehicle 310 can provide the customer with the option of canceling or selecting the alternate drop-off area 336. The vehicle 310 can also provide a reason why the original drop-off destination 316 cannot be used.
[0044] For aspects of the present disclosure, a navigation system (e.g., a vehicle) determines whether a stall factor is temporary. For example, if a potential stall is based on rain, the navigation system estimates the duration of the rain. The estimated duration of a stall factor such as rain can be obtained from a command center, weather data, traffic data, communication with other vehicles, or other data sources. In this example, if the rain is estimated to stop before the vehicle arrives at the rain location, the vehicle can still accept reservations.
[0045] Additionally or alternatively, if the stall factor is temporary, the navigation system may wait for the stall factor to end before commencing travel on the route. In one configuration, the navigation system determines whether the wait time is less than a threshold. If the wait time is less than the threshold, the navigation system may wait for the stall factor to end. The navigation system may also give the customer the option to wait for the stall factor to end or cancel the reservation. If the wait time is greater than the threshold, the navigation system may cancel the reservation.
[0046] As discussed, to accept a reservation, the navigation system can determine whether the vehicle has a possibility of stalling on the route to one or more destinations. This determination can include a pick-up location, a drop-off location, a return location, or other types of locations. If the route to the destination includes a stall factor, the vehicle can cancel the reservation. Alternatively, the navigation system can suggest one or more alternate destinations that allow the vehicle to bypass the portion of the route with the stall factor. The alternate destinations are destinations or areas closer to the original destination, such as a main street.
[0047] Additionally or alternatively, if the stall factor is temporary, the navigation system can estimate the duration of the stall factor. The navigation system can inform the customer that there is a delay due to the stall factor. The customer can choose to cancel the reservation or wait for the stall factor to end. If the delay is longer than the delay threshold, the navigation system can cancel the reservation without giving the customer the option to accept the reservation.
[0048] Stall factors can include, but are not limited to, low resources (e.g., fuel, battery), wireless signal strength below a signal strength threshold, environmental conditions, road hazards, unmapped areas, outdated maps, accidents, sensor outages, etc. For example, a vehicle may stall in an area with potential sensor outages. As one example, a vehicle sensor (e.g., camera) used to detect the color of a traffic light may fail to detect the color if the sun angle is at a certain range. As another example, a Light Detection and Ranging (LIDAR) sensor may not function in rain or fog. In yet another example, a vehicle may lose track to its location if the route includes limited or no signal areas, such as a tunnel. Signals may include different communication signals, such as Global Positioning System (GPS) signals, wireless Internet signals, cellular signals, etc.
[0049] As discussed, the stall factor can also include environmental conditions. For sensors such as cameras, the navigation system can determine backlight conditions, vehicle direction, traffic light location, intersection arrival time, sun angle, weather, building information (e.g., whether a building blocks the sun), etc. The above information, such as sun angle, can be included in map data stored in the vehicle. Information can also be obtained from the Internet or other data sources.
[0050] For LIDAR and other sensors, weather conditions such as humidity can cause the sensor to not work. Therefore, the navigation system can estimate various weather conditions such as humidity based on available weather information. The navigation system can also consider the time of day and / or duration of the trip. For GPS and other sensors, weak or blocked signals can cause the sensor to not work. Therefore, the navigation system can estimate signal strength for the route. The signal strength can be estimated based on, for example, building information (e.g., height and position), tunnel location, topographical information (e.g., height of surrounding mountains), number of satellites, satellite location, number of cell towers, number of WiFi transceivers, etc. This information can be stored in the map data.
[0051] In one configuration, the navigation system determines whether the stall factor is greater than or less than a threshold. For example, if the amount of rain is greater than a rain threshold, rain is determined to be a stall factor. If the rain is less than the threshold, rain is not considered a stall factor. In another example, if the characteristics of the building and / or surrounding environment cause the cellular signal to be less than a threshold, the characteristics of the building and / or surrounding environment are stall factors. If the cellular signal is greater than the threshold even after considering the characteristics of the building and / or surrounding environment, the aforementioned factors are not a risk factor. In one configuration, the customer cannot override or ignore the consideration of whether a particular route may include a stall factor.
[0052] Stall factors can also include calculation failures. For example, calculation errors in a route planning system (e.g., an autonomous driving system) can occur while the vehicle is traveling through an out-of-date map area. The calculation errors can include errors in localization, object tracking, path planning, and / or other calculations. In one example, an out-of-date map can cause the route planning system to lose track of its location with respect to the map (e.g., localization error).
[0053] As another example, when the vehicle is in an old map area, the route planning system may mislabel surrounding objects (e.g., object tracking errors) if one or more objects are tracked based on map information. In yet another example, when the vehicle is in an old map area, the route planning system may fail to remove obstacle information from the map. That is, old maps may increase system resource usage, thereby causing delays or errors in calculations.
[0054] 4 is a diagram illustrating an example of a hardware implementation for a route planning system 400 according to an embodiment of the disclosure. The route planning system 400 may be a component of a vehicle, a robotic device, or other device. For example, as shown in FIG. 4, the route planning system 400 is a component of a MAAS vehicle 428. Aspects of the disclosure are not limited to the route planning system 400 being a component of a vehicle 428, as other devices such as a bus, a boat, a drone, or a robot may also use the route planning system 400. The vehicle 428 may be autonomous or semi-autonomous.
[0055] The route planning system 400 may be implemented with a bus architecture, generally represented by bus 440. The bus 440 may include any number of interconnected buses and bridges, depending on the particular application and overall design constraints of the route planning system 400. The bus 440 links various circuits including one or more processors and / or hardware modules, represented by the processor 420, the communications module 422, the position module 418, the sensor module 402, the locomotion module 426, the navigation module 424, and the computer readable medium 414. The bus 440 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art and will not be described further.
[0056] The route planning system 400 includes a processor 420, a sensor module 402, a comfort module 408, a communication module 422, a position module 418, a mobility module 426, a navigation module 424, and a transceiver 416 coupled to a computer readable medium 414. The transceiver 416 is coupled to an antenna 444. The transceiver 416 communicates with various other devices over a communication medium. For example, the transceiver 416 can receive commands from a user or a remote device via transmission. As another example, the transceiver 416 can transmit driving statistics and information from the comfort module 408 to a server (not shown).
[0057] The route planning system 400 includes a processor 420 coupled to a computer readable medium 414. The processor 420 performs processes, including executing software stored on the computer readable medium 414, that provide the disclosed functionality. The software, when executed by the processor 420, causes the route planning system 400 to perform various functions described for a particular device, such as a vehicle 428, or for any of the modules 402, 414, 416, 418, 420, 422, 424, 426. The computer readable medium 414 may also be used to store data that is manipulated by the processor 420 when executing the software.
[0058] The sensor module 402 can be used to obtain measurements via different sensors, such as a first sensor 406 and a second sensor 404. The first sensor 406 can be a vision sensor, such as a stereo camera or an RGB camera for capturing 2D images. The second sensor 404 can be a ranging sensor, such as a Light Detection and Ranging (LIDAR) sensor or a Radio Detection and Ranging (RADAR) sensor. Of course, aspects of the disclosure are not limited to the above-mentioned sensors, and other types of sensors, such as thermal, sonar, and / or laser, are also contemplated as either of the sensors 404, 406. The measurements of the first sensor 406 and the second sensor 404 can be processed by one or more of the processor 420, the sensor module 402, the communication module 422, the position module 418, the movement module 426, and the navigation module 424 in conjunction with the computer-readable medium 414 to achieve the functionality described herein. In one configuration, data captured by the first sensor 406 and the second sensor 404 can be transmitted to an external device via the transceiver 416. The first sensor 406 and the second sensor 404 can be coupled to or in communication with a vehicle 428.
[0059] The location module 418 may be used to determine a location of the vehicle 428. For example, the location module 418 may use a Global Positioning System (GPS) to determine a location of the vehicle 428. The communication module 422 may be used to facilitate communication via the transceiver 416. For example, the communication module 422 may be configured to provide communication capabilities via different wireless protocols, such as WiFi, LTE (Long-Term Evolution), 4G, etc. The communication module 422 may also be used to communicate with other components of the vehicle 428 that are not modules of the route planning system 400.
[0060] The locomotion module 426 can be used to facilitate locomotion of the vehicle 428. As an example, the locomotion module 426 can control the movement of wheels. As another example, the locomotion module 426 can be in communication with a power source of the vehicle 428, such as an engine or a battery. Of course, aspects of the present disclosure are not limited to providing locomotion via wheels, but rather contemplate other types of components for providing locomotion, such as propellers, treads, fins, and / or jet engines.
[0061] The route planning system 400 also includes a navigation module 424 for planning a route or for controlling movement of a vehicle 428 via a movement module 426. In one configuration, the planning module 424 overrides a user's input when the user's input is expected (e.g., predicted) to cause a collision. The modules may be software modules operating on the processor 420 and residing / stored on the computer readable medium 414, one or more hardware modules coupled to the processor 420, or some combination thereof.
[0062] The navigation module 424 may be in communication with the sensor module 402, the transceiver 416, the processor 420, the communication module 422, the location module 418, the movement module 426, the planning module 424, and the computer readable medium 414. In one configuration, the navigation module 424 receives a reservation from a customer via the processor 420 and / or the transceiver 416. The reservation may include a pick-up location and a drop-off location. Based on the location of the vehicle 428 from the location module 418, the navigation module 424 determines a route to the pick-up location, a route to a drop-off location, and / or a route to a return location.
[0063] For each route, the navigation module 424 determines whether the route includes a stall factor, i.e., the navigation module 424 determines whether the vehicle 428 has the possibility of stalling along each route. The stall factor may be determined from information obtained from external sources such as the Internet via the transceiver 416, sensor data obtained from the sensor module 402, and / or map and environmental data stored in the computer readable medium 414 and / or a storage module (not shown).
[0064] For example, the navigation module 424 may determine, among other factors, the backlight conditions at an intersection, the direction of the vehicle 428 at the intersection, the location of the traffic lights, the arrival time at the intersection, the position of the sun, the weather at the intersection, building information. If there is a possibility of a stall along the route, the navigation module 424 may determine one or more alternate routes and / or alternate pickup or drop-off locations.
[0065] The navigation module 424 can also communicate with the customer via the transceiver 416 and / or the communication module 422. For example, if one or more routes are not available, the navigation module 424 can use the transceiver 416 and / or the communication module 422 to inform the customer that the reservation cannot be honored. Alternatively, if the navigation module 424 determines that the trip can be completed, the navigation module 424 can use the transceiver 416 and / or the communication module 422 to inform the customer that the reservation can be honored. The navigation module 424 can send instructions to the location module 418 to have the vehicle 428 drive on the determined route.
[0066] FIG. 5 illustrates a method 500 for route planning for an autonomous vehicle according to an aspect of the disclosure. As shown in FIG. 5, in block 502, the route planning system determines whether a stall factor exists during the route to the destination. The stall factor may include environmental factors, map data being older than a threshold, missing map data, signal strength being below a threshold, and / or battery power being below a threshold. The route may include a pick-up route from an initial location to a customer pick-up location, a drop-off route from a customer pick-up location to a drop-off location, or a return route from a drop-off location to a return location. The route may be based on a reservation from a customer (e.g., a passenger).
[0067] In block 504, the route planning system determines whether the autonomous vehicle is occupant during the route. In an optional configuration, if the autonomous vehicle is occupant, the route planning system determines whether the occupant can drive the autonomous vehicle in manual mode. In block 506, the route planning system determines an alternate route during the route when a stall factor exists and the autonomous vehicle is occupant-free. In block 508, the route planning system controls the autonomous vehicle to drive on the alternate route when the alternate route does not include a stall factor.
[0068] In one configuration, the route planning system determines an alternate route when a stall factor exists and the occupant cannot drive the autonomous vehicle in manual mode. The route planning system may also determine whether a stall factor exists along the alternate route. If the alternate route includes a stall factor, the reservation may be canceled. In one configuration, if a stall factor exists on the alternate route, an alternate destination is determined. The alternate destination may be a location within a threshold distance of the destination, a predetermined location, or a highly traveled location.
[0069] As used herein, the term "determining" includes a wide variety of actions. For example, "determining" can include calculating, computing, processing, deriving, investigating, examining (e.g., examining a table, database, or other data structure), ascertaining, and the like. In addition, "determining" can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. Further, "determining" can include resolving, selecting, choosing, establishing, and the like.
[0070] As used herein, a phrase referring to "at least one of" a list of items refers to any combination of those items, including single members. By way of example, "at least one of a, b, or c" is intended to cover a, b, c, a and b, a and c, b and c, and a, b, and c.
[0071] Various example logic blocks, modules, and circuits described in connection with this disclosure may be implemented or performed by a processor configured to perform the functions discussed in this disclosure. The processor may be a neural network processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) signal or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. The processor may be a microprocessor, controller, microcontroller, or state machine specially configured as described herein. The processor may also be implemented as a combination of computing devices as described herein, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or other specialized configurations.
[0072] The steps of a method or algorithm described in connection with the present disclosure may be embodied directly in hardware, or in a software module executed by a processor, or in a combination of both. A software module may be used to execute or store desired program code in the form of instructions or data structures, and may reside in a storage or machine-readable medium accessible by a computer, including a random access memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a removable disk, a CD-ROM or other optical disk storage, a magnetic disk storage or other magnetic storage device, or any other medium. A software module may comprise a single instruction or many instructions, and may be distributed in different programs, over several different code segments, and across many storage media. A storage medium may be coupled to a processor such that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be integral to the processor.
[0073] The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and / or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
[0074] The described functions may be implemented in hardware, software, firmware, or any combination thereof. When implemented in hardware, an example hardware configuration may comprise a processing system in an apparatus. The processing system may be implemented in a bus architecture. The bus may include any number of interconnected buses and bridges, depending on the particular application and overall design constraints of the processing system. The bus may link various circuits including processors, machine-readable media, and bus interfaces. The bus interface may be used to connect a network adapter to the processing system via the bus, among other things. The network adapter may be used to implement signal processing functions. For certain aspects, a user interface (e.g., keypad, display, mouse, joystick, etc.) may also be connected to the bus. The bus may also link various other circuits such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art and will not be described further.
[0075] The processor may be responsible for managing the bus and processes including the execution of software stored on the machine-readable medium. Software shall be interpreted to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
[0076] In a hardware implementation, the machine-readable medium may be part of a processing system separate from the processor. However, as one skilled in the art will readily appreciate, the machine-readable medium, or any portion thereof, may be external to the processing system. By way of example, the machine-readable medium may include a transmission line, a carrier wave modulated with data, and / or a computer product separate from the device, all of which may be accessed by the processor through a bus interface. Alternatively, or in addition, the machine-readable medium, or any portion thereof, may be integrated into the processor, such as in the case of a cache and / or specialized register files. Although the various components discussed may be described as having a particular location, such as a local component, they may also be configured in various ways, such as a component may be configured as part of a distributed computing system.
[0077] The processing system may be comprised of one or more microprocessors providing processor functionality and external memory providing at least a portion of the machine-readable medium, all linked and connected to other support circuitry through an external bus architecture. Alternatively, the processing system may comprise one or more neuromorphic processors to implement the neuron models and models of neuronal systems described herein. As another alternative, the processing system may be implemented as an application specific integrated circuit (ASIC) having a processor, bus interface, user interface, support circuitry, and at least a portion of the machine-readable medium integrated into a single chip capable of performing the various functions described throughout this disclosure, or as one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, or any other suitable circuitry or any combination of circuits. Those skilled in the art will recognize how best to implement the described functionality for a processing system depending on the particular application and the overall design constraints imposed on the overall system.
[0078] The machine-readable medium may comprise multiple software modules. The software modules may include a transmitting module and a receiving module. Each software module may reside in a single storage device or may be distributed across multiple storage devices. As an example, a software module may be loaded into RAM from a hard drive when a triggering event occurs. During execution of the software module, the processor may load some of the instructions into a cache to increase access speed. And, one or more cache lines may be loaded into a special purpose register file for execution by the processor. When referring to functionality of a software module below, it will be understood that such functionality is realized by the processor executing instructions from that software module. Furthermore, it should be appreciated that aspects of the present disclosure may result in improved functionality of a processor, computer, machine, or other system implementing such aspects.
[0079] If implemented in software, the functions can be stored on or transmitted to a machine-readable medium as one or more instructions or code. Machine-readable media includes both computer storage media and communication media, including any storage medium that facilitates transfer of a computer program from one place to another. In addition, either relationship can be properly termed a machine-readable medium. For example, if the software is transmitted from a website, server, or other remote source using wireless technologies such as coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or infrared (IR), radio, and microwave, the wireless technologies such as coaxial cable, fiber optic cable, twisted pair, DSL, or infrared, radio, and microwave are included in the definition of the medium. As used herein, disk includes compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, and Blu-ray disks, where disks typically reproduce data magnetically, while disks optionally reproduce data with a laser. Thus, for some aspects computer readable medium may comprise non-transitory computer readable medium (e.g., tangible media). Additionally, for other aspects computer readable medium may comprise transitory computer readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer readable media.
[0080] As such, certain aspects may comprise a computer program product for performing the operations presented herein. For example, such a computer program product may comprise a computer-readable medium having stored thereon (and / or encoded thereon) instructions that, when executed by one or more processors, perform the operations described herein. For certain aspects, the computer program product may include packaging materials.
[0081] Additionally, modules and / or other suitable means for performing the methods and techniques described herein may be downloaded and / or obtained by a user terminal and / or base station, as applicable. For example, such a device may be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, the various methods described herein may be provided via a storage means, such that a user terminal and / or base station may obtain the various methods upon coupling or providing the storage means to the device. Additionally, any other suitable technique for providing the methods and techniques described herein to a device may be utilized.
[0082] It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes and variations can be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.
[0083] The present disclosure includes the following aspects. (1) A method of route planning for an autonomous vehicle, comprising: determining whether a stall factor exists along a route to a destination; determining whether the autonomous vehicle has an occupant during the route; and determining an alternative route when the stall factor exists and the autonomous vehicle is unoccupied during the route; and and when the alternative route does not include a stall factor, controlling the autonomous vehicle to drive on the alternative route. (2) The method of (1), further comprising determining whether an occupant is capable of driving the autonomous vehicle in manual mode. (3) The method of (2), further comprising determining the alternate route when the stall factor exists and the occupant is unable to drive the autonomous vehicle in a manual mode. (4) The method described in (1), wherein the route is one of a pickup route from an initial location to a customer pickup location, a drop-off route from the customer pickup location to a drop-off location, or a return route from the drop-off location to a return location. (5) determining the route based on reservations made by customers; and 2. The method of claim 1, further comprising canceling the reservation when the alternative route has a stall factor. (6) The method of (1), further comprising determining an alternative destination if the alternative route has a stall factor. (7) The method of (1), wherein the alternate destination is a location within a threshold distance of the destination, a predetermined location, or a location with high traffic volume. (8) The method of (1), wherein the stall factors include at least one of environmental factors, map data being older than a threshold, missing map data, signal strength being below a threshold, and battery power being below a threshold, or a combination thereof. (9) determining a duration of the stall factor for the route; and 2. The method of claim 1, further comprising altering a behavior of the autonomous vehicle based on the duration. (10) An apparatus for route planning for an autonomous vehicle, comprising: Memory, at least one processor coupled to the memory, determining whether a stall factor exists along a route to a destination; determining whether the autonomous vehicle has an occupant during the route; determining an alternative route when the stall factor exists and the autonomous vehicle is unoccupied during the route; and controlling the autonomous vehicle to drive on the alternative route when the alternative route does not include a stall factor. and at least one processor configured to: (11) The apparatus of (10), wherein the at least one processor is further configured to determine whether an occupant is capable of driving the autonomous vehicle in manual mode. (12) The apparatus of (11), wherein the at least one processor is further configured to determine the alternative route when the stall factor is present and the occupant is unable to drive the autonomous vehicle in a manual mode. (13) The device described in (10), wherein the route is one of a pickup route from an initial location to a customer pickup location, a drop-off route from the customer pickup location to a drop-off location, or a return route from the drop-off location to a return location. (14) The at least one processor: determining the route based on reservations from customers; If the alternative route has a stall factor, cancel the reservation. The apparatus according to (10), further configured as follows. (15) The apparatus of (10), wherein the at least one processor is further configured to determine an alternative destination if the alternative route comprises a stall factor. (16) The apparatus of (10), wherein the alternate destination is a location within a threshold distance of the destination, a predetermined location, or a location with high traffic volume. (17) The device described in (10), wherein the stall factors include at least one of environmental factors, map data being older than a threshold, missing map data, signal strength being below a threshold, and battery power being below a threshold, or a combination thereof. (18) The at least one processor: determining a duration of the stall factor for the route; Varying a behavior of the autonomous vehicle based on the duration. The apparatus according to (10), further configured as follows. (19) A non-transitory computer-readable medium having program code recorded thereon for execution by a processor for route planning for an autonomous vehicle, the medium comprising: program code for determining whether a stall factor exists along a route to a destination; program code for determining whether the autonomous vehicle has an occupant along the route; program code for determining an alternative route when the stall factor exists and the autonomous vehicle is unoccupied during the route; and program code for controlling the autonomous vehicle to drive on the alternative route when the alternative route does not include a stall factor. (20) The non-transitory computer-readable medium of (19), wherein the program code further comprises program code for determining the alternate route when the stall factor is present and an occupant is unable to drive the autonomous vehicle in manual mode.
Claims
1. 1. A method of route planning for a semi-autonomous vehicle, comprising: Receiving a request to autonomously navigate to a destination; determining a route to the destination based on the received request; Identifying that a stall factor exists on the route to a destination; determining an occupancy state of the semi-autonomous vehicle in response to identifying the stall factor; and determining, in response to determining that an occupant is present in the semi-autonomous vehicle based on the occupancy status determination, that an occupant of the semi-autonomous vehicle is unable to operate the semi-autonomous vehicle in a manual operation mode; determining an alternative route in response to identifying the stall factor and determining that the occupant is unable to operate the semi-autonomous vehicle in a manual operation mode; and and when the alternative route does not include the stall factor, controlling the semi-autonomous vehicle to drive on the alternative route instead of the route.
2. The method of claim 1 , further comprising determining that the occupant is unable to manually operate the vehicle based on profile information regarding the occupant.
3. scanning the driver's license of said occupant; The method of claim 2 , further comprising obtaining the profile information based on scanning the driver's license.
4. 4. The method of claim 1, wherein the route is one of a pick-up route from an initial location to a customer pick-up location, a drop-off route from the customer pick-up location to a drop-off location, or a return route from the drop-off location to a return location.
5. determining the route based on reservations from the passengers; The method of any one of claims 1 to 4, further comprising: cancelling the reservation when the alternative route comprises a stall factor.
6. The method of any one of claims 1 to 5, further comprising determining an alternative destination if the alternative route comprises a stall factor.
7. The method of claim 6 , wherein the alternate destination is a location within a threshold distance of the destination, a predetermined location, or a highly trafficked location.
8. 8. The method of claim 1, wherein the stall factors include at least one of environmental factors, map data being older than a threshold, missing map data, signal strength being below a threshold, battery power being below a threshold, or a combination thereof.
9. determining a duration of the stall factor for the route; The method of claim 1 , further comprising: altering a behavior of the semi-autonomous vehicle based on the duration.
10. 1. An apparatus for route planning for a semi-autonomous vehicle, comprising: Memory, at least one processor coupled to the memory, Receive a request to autonomously navigate to a destination; determining a route to the destination based on the received request; Identifying the presence of a stall factor on the route to a destination; determining an occupancy state of the semi-autonomous vehicle in response to identifying the stall factor; determining, in response to determining that an occupant is present in the semi-autonomous vehicle based on the occupancy status determination, that an occupant of the semi-autonomous vehicle is unable to operate the semi-autonomous vehicle in a manual operation mode; determining an alternative route in response to identifying the stall factor and determining that the occupant is unable to operate the semi-autonomous vehicle in a manual operation mode; and controlling the semi-autonomous vehicle to drive on the alternative route instead of the route when the alternative route does not include a stall factor. and at least one processor configured to:
11. 11. The apparatus of claim 10, wherein the at least one processor is further configured to determine that the occupant is unable to manually operate the vehicle based on profile information regarding the occupant.
12. The at least one processor scans a driver's license of a passenger; The device of claim 11 , further configured to obtain the profile information based on scanning the driver's license.
13. 13. The apparatus of claim 10, wherein the route is one of a pick-up route from an initial location to a customer pick-up location, a drop-off route from the customer pick-up location to a drop-off location, or a return route from the drop-off location to a return location.
14. 1. A non-transitory computer readable medium having program code recorded thereon for execution by a processor for route planning for a semi-autonomous vehicle, the program code comprising: program code for receiving a request to autonomously navigate to a destination; program code for determining a route to the destination based on the received request; program code for identifying the presence of a stall factor on the route to a destination; program code for determining an occupancy state of the semi-autonomous vehicle in response to the identification of the stall factor; program code for determining, in response to determining that an occupant is present in the semi-autonomous vehicle based on the occupancy status determination, that an occupant of the semi-autonomous vehicle is unable to operate the semi-autonomous vehicle in a manual operation mode; program code that determines an alternative route in response to identifying the stall factor and determining that the occupant is unable to operate the semi-autonomous vehicle in a manual operation mode; and program code for controlling the semi-autonomous vehicle to drive on the alternative route instead of the route when the alternative route does not include the stall factor.
15. 15. The non-transitory computer readable medium of claim 14, wherein the program code further comprises: program code for determining that the occupant is unable to manually operate the vehicle based on profile information regarding the occupant.
Citation Information
Patent Citations
Navigation device, navigation method, and program
JP2015141560A
Autonomous drive assist system, autonomous drive assist method, and computer program
JP2016028927A
Automatic drive vehicle
JP2016130091A
Automatic travel control device, on-vehicle device for automatic travel, and automatic travel control method
JP2017003310A
Automatic transport vehicle and automatic transport system
JP2017182301A
