Determining the disembarking or boarding locations for passengers on a vehicle.

The system in autonomous vehicles detects obstacles and hazardous conditions to determine alternative drop-off or pick-up locations, ensuring safe and convenient passenger boarding and alighting by considering passenger needs and preferences.

JP7854446B2Active Publication Date: 2026-05-01QUALCOMM INC
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
QUALCOMM INC
Filing Date
2021-12-07
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Autonomous vehicles face challenges in determining safe drop-off or pick-up locations due to obstacles and hazardous conditions that prevent passengers from entering and exiting the vehicle safely and comfortably.

Method used

The system uses processors to detect obstacles or hazardous conditions and determines alternative drop-off or pick-up locations based on passenger seating positions, physical limitations, and passenger input, adjusting the location to ensure safe and convenient boarding and alighting.

Benefits of technology

Ensures passengers can board and alight safely and conveniently by avoiding obstacles and hazardous conditions, accommodating passenger needs and preferences, and dynamically adjusting locations as needed.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007854446000001
    Figure 0007854446000001
  • Figure 0007854446000002
    Figure 0007854446000002
  • Figure 0007854446000003
    Figure 0007854446000003
Patent Text Reader

Abstract

The present disclosure provides systems, methods, and apparatus for controlling operation of a vehicle configured for passenger service. In some implementations, a vehicle controller includes one or more processors communicatively coupled to a memory, the one or more processors configured to determine an expected entry or exit point for a passenger of the vehicle. The one or more processors can be configured to detect whether an obstacle or hazardous condition exists at or near the site. In response to detecting that an obstacle or hazardous condition exists at or near the site, the one or more processors can be configured to determine a drop-off or pickup location associated with the site based at least in part on a location of the expected entry or exit point for a passenger of the vehicle and the detected obstacle or hazardous condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross - Reference to Related Applications

[0001] This patent application claims priority to U.S. Patent Application No. 17 / 146,725, filed on January 12, 2021, titled "DETERMINING DROP - OFF OR PICK - UP LOCATIONS FOR PASSENGERS OF VEHICLES", which has been assigned to the assignee of this patent application. The disclosure of all prior applications is considered part of this patent application and is incorporated herein by reference.

[0002]

[0002] This disclosure generally relates to vehicles configured for passenger services, and more particularly, to determining drop - off or pick - up locations for passengers of a vehicle.

Background Art

[0003]

[0003] Autonomous vehicles (AVs) and semi - autonomous vehicles are capable of operating in a substantially autonomous mode, in which the vehicle travels in the environment with little or no input from a human driver. Autonomous vehicles can also be dispatched to pick up and / or drop off passengers at various drop - off or pick - up locations, which typically include designated parking areas for parking, picking up passengers, and dropping off passengers.

[0004]

[0004] When a vehicle such as an autonomous vehicle stops or parks at a certain location to drop off and / or pick up passengers, obstacles and hazardous conditions at or near the drop-off or pick-up location may prevent passengers from entering and / or exiting the vehicle. Therefore, while conventional autonomous vehicles are capable of automatically driving to a designated passenger drop-off and / or pick-up location, they may not be able to precisely determine where to park so that, for example, nearby obstacles or hazardous conditions do not prevent passengers from entering and / or exiting the autonomous vehicle safely and comfortably, or so that such entry and exit is not otherwise affected. [Overview of the Initiative]

[0005]

[0005] The systems, methods, and devices of the present disclosure can be used by a vehicle configured for passenger service to determine alighting and / or boarding locations for passengers. In various implementations, an apparatus associated with the vehicle includes memory communicatively coupled to one or more processors. In some implementations, one or more processors can be configured to determine expected entry or exit points for passengers of the vehicle. One or more processors can be configured to detect whether there are obstacles or hazardous conditions at or near the site. In response to the detection of obstacles or hazardous conditions at or near the site, one or more processors can be configured to determine alighting or boarding locations associated with the site, at least in part, based on the position of the expected entry or exit points for passengers of the vehicle and the detected obstacles or hazardous conditions.

[0006]

[0006] In various implementations, the detected obstacles or hazardous conditions may include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, a certain amount of room in front of or behind a vehicle, or any combination thereof.

[0007]

[0007] In some implementations, determining the drop-off or pick-up location can be based on the passenger's seating position. In some cases, the drop-off or pick-up location can be determined based on the expected entry or exit point for the passengers in the vehicle and whether any detected obstacles or hazardous conditions are on the same side of the vehicle. In some embodiments, various alternative drop-off or pick-up locations can be based on map data, coherent light sensing system data (e.g., LIDAR sensor data), surrounding area images, surrounding area video, RADAR, passenger input, or any combination thereof. In other embodiments, the alternative drop-off or pick-up location can be determined from several different alternate drop-off or pick-up locations within a distance from the determined drop-off or pick-up location.

[0008]

[0008] In some implementations, the determination of an alternative drop-off or pick-up location may be at least partially based on the passenger's physical limitation, the passenger's age, the presence of infants or children accompanying the passenger, or any combination thereof. In other implementations, the determination of an alternative drop-off or pick-up location may be based on one or more preferred drop-off or pick-up locations.

[0009]

[0009] In one implementation, one or more processors may be configured to receive an indication of a passenger's willingness to ignore a detected obstacle or dangerous condition. In response to receiving the indication of a passenger's willingness to ignore a detected obstacle or dangerous condition, one or more processors may be configured to maintain a determined disembarking or boarding location.

[0010]

[0010] In some implementations, one or more processors may be configured to determine the seating position of passengers in the vehicle. One or more processors may also be configured to determine one or more alternate drop-off locations based on the seating position of passengers relative to expected entry or exit points for passengers in the vehicle. In some cases, one or more processors may also be configured to determine alternative drop-off locations for passengers based at least in part on the determination that the seating position of passengers and the expected entry or exit points are on the same side of the vehicle.

[0011]

[0011] Various implementations disclose methods for controlling one or more operations of a vehicle. In some implementations, the method can be performed by a device. In some embodiments, the device can be a vehicle controller associated with the vehicle. In other embodiments, the device can be the vehicle (or at least a part of the vehicle). In one implementation, the method includes determining expected entry or exit points for passengers of the vehicle. The method includes detecting whether there are obstacles or hazardous conditions at or near the site. In response to the detection of obstacles or hazardous conditions at or near the site, the method includes determining an exit or boarding location associated with the site, at least in part, based on the expected entry or exit points for passengers of the vehicle and the detected obstacles or hazardous conditions.

[0012]

[0012] In various implementations, the detected obstacles or hazardous conditions may include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, insufficient clearance in front of or behind a vehicle, or any combination thereof.

[0013]

[0013] In some implementations, determining the drop-off or pick-up location can be based on the passenger's seating position. In some cases, the drop-off or pick-up location can be determined based on the expected entry or exit point for the passengers in the vehicle and whether any detected obstacles or hazardous conditions are on the same side of the vehicle. In some embodiments, various alternative drop-off or pick-up locations can be based on map data, coherent light sensing system data (e.g., LIDAR sensor data), images of the surrounding area, video of the surrounding area, RADAR, passenger input, or any combination thereof. In other embodiments, the alternative drop-off or pick-up location can be determined from a number of different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location.

[0014]

[0014] In some implementations, the determination of an alternative drop-off or pick-up location may be based at least in part on the passenger's physical limitations, the passenger's age, the presence of infants or children accompanying the passenger, or any combination thereof. In other implementations, the determination of an alternative drop-off or pick-up location may be based on one or more preferred drop-off or pick-up locations.

[0015]

[0015] In one implementation, this method may also include receiving an indication from the passenger that they intend to ignore a detected obstacle or dangerous condition. In response to receiving an indication from the passenger that they intend to ignore a detected obstacle or dangerous condition, this method may also include maintaining a determined disembarking or boarding location.

[0016]

[0016] In various implementations, this method may also include determining the seating position of passengers in a vehicle. This method may also include determining one or more alternative disembarking locations based on the seating position of passengers relative to expected entry or exit points for passengers in a vehicle. In some cases, this method may also include determining alternative disembarking locations for passengers based at least in part on the determination that the seating position of passengers and the expected entry or exit points are on the same side of the vehicle.

[0017]

[0017] Various implementations of the system are disclosed. In some implementations, the system may include means for determining expected entry or exit points for passengers of a vehicle. The system may include means for detecting whether an obstacle or hazardous condition is present at or near the site. In response to the detection of the presence of an obstacle or hazardous condition at or near the site, the system may include means for determining an alighting or boarding location associated with the site, at least in part, based on the location of the expected entry or exit points for passengers of the vehicle and the detected obstacle or hazardous condition.

[0018]

[0018] In various implementations, the detected obstacles or hazardous conditions may include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, insufficient clearance in front of or behind a vehicle, or any combination thereof.

[0019]

[0019] In some implementations, determining the drop-off or pick-up location can be based on the passenger's seating position. In some cases, the drop-off or pick-up location can be determined based on the expected entry or exit point for the passengers in the vehicle and whether any detected obstacles or hazardous conditions are on the same side of the vehicle. In some embodiments, various alternative drop-off or pick-up locations can be based on map data, coherent light sensing system data (e.g., LIDAR sensor data), images of the surrounding area, video of the surrounding area, RADAR, passenger input, or any combination thereof. In other embodiments, the alternative drop-off or pick-up location can be determined from a number of different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location.

[0020]

[0020] In some implementations, the determination of an alternative drop-off or pick-up location may be based at least in part on the passenger's physical limitations, the passenger's age, the presence of infants or children accompanying the passenger, or any combination thereof. In other implementations, the determination of an alternative drop-off or pick-up location may be based on one or more preferred drop-off or pick-up locations.

[0021]

[0021] In one implementation, the system may also include means for receiving an indication of a passenger's intention to ignore a detected obstacle or dangerous condition. In response to receiving an indication of a passenger's intention to ignore a detected obstacle or dangerous condition, the system may also include means for maintaining a determined disembarking or boarding location.

[0022]

[0022] In various implementations, the system may also include means for determining the seating position of passengers in the vehicle. The system may also include means for determining one or more alternative disembarking locations based on the seating position of passengers relative to expected entry or exit points for passengers in the vehicle. In some cases, the system may also include means for determining alternative disembarking locations for passengers based at least in part on the determination that the seating position of passengers and the expected entry or exit points are on the same side of the vehicle.

[0023]

[0023] In various implementations, a non-transitory computer-readable medium storing instructions for controlling the vehicle is disclosed. In some implementations, the execution of instructions by one or more processors of the device causes the vehicle to perform an action. In one implementation, the action may include determining expected entry or exit points for passengers of the vehicle. The action may include detecting whether there are obstacles or hazardous conditions at or near the site. In response to the detection of obstacles or hazardous conditions at or near the site, the action may include determining an alighting or boarding location associated with the site, at least in part, based on the location of the expected entry or exit points for passengers of the vehicle and the detected obstacles or hazardous conditions. In some embodiments, the device may be a vehicle controller associated with a vehicle. In other embodiments, the device may be a vehicle (or at least a part of a vehicle).

[0024]

[0024] In various implementations, detected obstacles or hazardous conditions may include puddles, ice flakes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, insufficient clearance in front of or behind a vehicle, or any combination thereof.

[0025]

[0025] In some implementations, determining the drop-off or pick-up location can be based on the passenger's seating position. In some cases, the drop-off or pick-up location can be determined based on the expected entry or exit point for the passengers in the vehicle and whether any detected obstacles or hazardous conditions are on the same side of the vehicle. In some embodiments, various alternative drop-off or pick-up locations can be based on map data, coherent light sensing system data (e.g., LIDAR sensor data), images of the surrounding area, video of the surrounding area, RADAR, passenger input, or any combination thereof. In other embodiments, the alternative drop-off or pick-up location can be determined from a number of different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location.

[0026]

[0026] In some implementations, the determination of an alternative drop-off or pick-up location may be based at least in part on the passenger's physical limitations, the passenger's age, the presence of infants or children accompanying the passenger, or any combination thereof. In other implementations, the determination of an alternative drop-off or pick-up location may be based on one or more preferred drop-off or pick-up locations.

[0027]

[0027] In one implementation, the operation may include receiving an indication from the passenger that they intend to ignore a detected obstacle or dangerous condition. In response to receiving an indication from the passenger that they intend to ignore a detected obstacle or dangerous condition, the operation may include maintaining a determined disembarking or boarding location.

[0028]

[0028] In various implementations, the operation can include determining a seating position of a passenger in a vehicle. The operation can include determining one or more alternative drop-off locations based on the seating position of the passenger relative to a predicted pick-up or drop-off point for the passenger in the vehicle. In some cases, the operation can also include determining an alternative drop-off location for the passenger based at least in part on determining that the seating position of the passenger and the predicted pick-up or drop-off point are on the same side of the vehicle.

[0029]

[0029] Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.

Brief Description of the Drawings

[0030] [Figure 1]

[0030] Diagram of an exemplary system. [Figure 2]

[0031] Functional block diagram of the exemplary system of FIG. 1. [Figure 3]

[0032] Block diagram of an autonomous vehicle according to some aspects of the present disclosure. [Figure 4A]

[0033] Illustration showing where a vehicle is modifying a drop-off or pick-up location according to some implementations. [Figure 4B] Illustration showing where a vehicle is modifying a drop-off or pick-up location according to some implementations. [Figure 4C] Illustration showing where a vehicle is modifying a drop-off or pick-up location according to some implementations. [Figure 5A]

[0034] An illustration showing a vehicle modifying its drop-off or pick-up location, as in several other implementations. [Figure 5B] An illustration showing a vehicle modifying its drop-off or pick-up location, as in several other implementations. [Figure 5C] An illustration showing a vehicle modifying its drop-off or pick-up location, as in several other implementations. [Figure 6A]

[0035] A flowchart illustrating exemplary actions for determining passenger disembarkation or boarding locations, based on several implementation configurations. [Figure 6B]

[0036] A flowchart illustrating exemplary actions for determining passenger disembarkation or boarding locations in other implementation configurations. [Figure 7A]

[0037] A flowchart illustrating exemplary actions for determining passenger disembarkation or boarding locations, based on several implementation configurations. [Figure 7B]

[0038] A flowchart illustrating exemplary actions for determining passenger disembarkation or boarding locations, based on several implementation configurations. [Figure 8A]

[0039] A flowchart illustrating exemplary actions for determining alternative drop-off locations using several implementation methods. [Figure 8B]

[0040] A flowchart illustrating exemplary actions for determining one of several alternative drop-off locations, based on various implementations. [Figure 9]

[0041] A flowchart illustrating exemplary actions for determining passenger disembarkation or boarding locations in other implementation configurations. [Figure 10]

[0042] A flowchart illustrating exemplary actions for determining the location of obstacles or hazardous conditions, based on several implementation configurations. [Figure 11]

[0043] A flowchart illustrating exemplary actions for determining one or more alternative drop-off or pick-up locations, based on several implementation configurations. [Figure 12]

[0044] A flowchart illustrating exemplary actions for determining one or more alternative drop-off or pick-up locations based on other implementations. [Figure 13]

[0045] A flowchart illustrating exemplary actions for determining alternative disembarking locations based on other implementation configurations. [Figure 14]

[0046] A flowchart illustrating the exemplary process for determining a new passenger boarding location, based on several implementation configurations. [Figure 15]

[0047] A flowchart illustrating exemplary actions for determining one or more alternative drop-off or pick-up locations, based on several other implementations. [Figure 16]

[0048] A flowchart illustrating exemplary actions for determining passenger disembarkation or boarding locations, based on several other implementation variations. [Figure 17]

[0049] A flowchart illustrating exemplary operations for receiving passenger information in several implementation configurations. [Modes for carrying out the invention]

[0031]

[0050] Similar reference numbers and names in various drawings refer to the same elements.

[0032]

[0051] Aspects of this disclosure are provided in the following descriptions and related drawings relating to various examples provided for illustrative purposes. Alternative embodiments can be devised without departing from the scope of this disclosure. In addition, well-known elements of this disclosure are not described in detail or are omitted so as not to obscure the relevant details of this disclosure.

[0033]

[0052] Those skilled in the art will understand that the information and signals described herein can be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips, which may be mentioned throughout the following description, can be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or optical particles, or any combination thereof, depending on the specific application, the desired design, and the corresponding technology.

[0034]

[0053] Furthermore, many embodiments are described in terms of sequences of actions to be performed, for example, by elements of a computing device. It will be recognized that the various actions described herein can be performed by specific circuits (e.g., application-specific integrated circuits (ASICs)), by program instructions executed by one or more processors, or a combination of both. In addition, it is possible to consider that the sequences of actions described herein are fully embodied in any form of non-temporary computer-readable storage medium that internally stores a corresponding set of computer instructions, which, at runtime, cause the associated processor of the device to perform, or instruct, to perform, the functionality described herein. Thus, the various embodiments of this disclosure can be embodied in several different forms, all of which are considered to fall within the scope of the claimed subject matter. In addition, with respect to each of the embodiments described herein, any corresponding form of such embodiment may be described herein, for example, as "logic configured to perform" the described actions. Therefore, although this specification describes autonomous vehicles or semi-autonomous vehicles (also known as self-driving cars or "SDCs"), aspects of this disclosure can be implemented in other vehicles, including but not limited to cars, trucks, motorcycles, buses, boats, helicopters, robots, unmanned aerial vehicles, recreational vehicles, amusement park vehicles, construction equipment, and golf carts.

[0035]

[0054] Vehicles can be configured to operate in autonomous or semi-autonomous modes, and while in this mode, to travel through an environment with little or no input from a driver. These autonomous and semi-autonomous vehicles typically include several sensors configured to determine information about the environment in which the vehicle operates. These sensors may include one or more light-detection ranging (LIDAR) devices, which are capable of detecting multiple objects in the environment (other vehicles, pedestrians, traffic lights, obstacles, etc.) and determining the distance between the autonomous vehicle and these multiple objects. Autonomous and semi-autonomous vehicles may also include other types of sensors, including (but not limited to) sonar devices, radar devices, cameras, and audio sensing devices. Data from LIDAR and / or other types of sensors can be used to determine various features and characteristics of the detected objects (such as their location, size, shape, type, movement, orientation, etc.).

[0036]

[0055] Some autonomous vehicles can be used or configured for passenger and / or freight services (e.g., delivery services). For example, a user can provide a pick-up and / or drop-off location to a passenger ride-hailing service, which can then communicate the passenger pick-up and drop-off locations to an autonomous vehicle. Users can indicate or specify drop-off and pick-up locations in a variety of ways, including (but not limited to) using the current location of their client device, using recent or saved locations associated with their profile, entering an address, or tapping a location on a map displayed on their client device. The client device can send the drop-off and / or pick-up locations to the passenger ride-hailing service, which can then arrange for an autonomous vehicle to pick up the passenger and transport them to the specified drop-off location.

[0037]

[0056] However, not all locations may be suitable, safe, or viable as passenger (or cargo) pick-up or drop-off locations. For example, obstacles and hazardous conditions such as potholes, uneven pavement, construction fences, and other vehicles may hinder the ability of an autonomous vehicle to safely pick up and drop off passengers. According to some aspects of this disclosure, systems, methods, and devices are disclosed that enable an autonomous vehicle providing passenger (or cargo) services to selectively modify scheduled pick-up or drop-off locations based on the presence of obstacles or hazardous conditions at or near a scheduled pick-up or drop-off location, one or more conditions of the passengers (and / or cargo) in the autonomous vehicle, the relative positions of passengers being transported by the autonomous vehicle, or any combination thereof.

[0038]

[0057] Various implementations generally relate to a vehicle determining appropriate boarding and / or alighting locations for passengers. Some implementations more specifically relate to determining passenger boarding and / or alighting locations that are free from obstacles, hazardous conditions, and other conditions that could cause injury to each passenger, prevent each passenger from being able to enter or exit the vehicle, or otherwise inconvenience each passenger. In one exemplary implementation, devices such as (but not limited to) a vehicle controller may be used to assist or control a vehicle configured for passenger service. In some embodiments, the device may determine expected entry or exit points for passengers of the vehicle. The device may detect whether obstacles or hazardous conditions are present at or near the site. In response to detecting the presence of obstacles or hazardous conditions at or near the site, the device may determine alighting or boarding locations associated with the site, based at least in part on the expected entry or exit points for passengers of the vehicle and the detected obstacles or hazardous conditions.

[0039]

[0058] In some implementations, the device is capable of detecting obstacles and hazardous conditions within an identified drop-off or pick-up area or zone. In some cases, the identified drop-off or pick-up area or zone may include a portion of the surrounding environment within a specific distance from the identified drop-off or pick-up location (e.g., between approximately 15 and 50 feet, or another range). In other cases, the identified drop-off or pick-up area or zone may include a portion of the surrounding environment within a specific distance from the vehicle (e.g., between approximately 15 and 50 feet, or another range) while the vehicle is present at the identified drop-off or pick-up location.

[0040]

[0059] In various implementations, determining the drop-off or boarding location can also be based on the passenger's seating position relative to the expected entry or exit points for the vehicle's passengers. For example, if a detected obstacle or hazardous condition is on the same side of the vehicle as the expected exit point for each passenger and is likely to prevent or hinder one or more passengers from entering or exiting the vehicle, the device can determine an alternative drop-off or boarding location so that the detected obstacle or hazardous condition does not block, hinder, or make unsafe the path of each passenger as they exit the vehicle. Conversely, if the detected obstacle or hazardous condition is on a different side of the vehicle than the expected exit point for each passenger, and is unlikely to prevent or hinder passengers from entering or exiting the vehicle, the vehicle can stop at the original or scheduled drop-off location and allow each passenger to disembark.

[0041]

[0060] As used herein, an alternative drop-off or pick-up location is different from the originally scheduled drop-off or pick-up location, but is sufficiently close to it so that both the originally scheduled drop-off or pick-up location and the alternative drop-off or pick-up location are associated with the same destination. That is, if the vehicle decides to attempt to find a feasible alternative drop-off or pick-up location (for example, due to the presence of an obstacle or hazardous condition at the originally scheduled drop-off or pick-up location), the vehicle will not change the passenger's destination. Instead, the vehicle will drop off or pick up the passenger within a certain distance from the originally scheduled drop-off or pick-up location (for example, within a 5-minute walk, or within 1-2 blocks). A certain distance is generally a relatively short distance (for example, within a few minutes' walk, or within 1-2 blocks) that the passenger would find comfortable walking from the alternative location to their destination rather than from the original location (or walking from the destination to the alternative location rather than from the original location).

[0042]

[0061] Of course, what is comfortable can vary among passengers / users, situations, and / or their requirements (e.g., carrying luggage or infants). In some implementations, a specific distance can be configured by the passenger (e.g., in the vehicle, on a mobile device, etc.) or other parties. In some cases, a specific distance can be adjusted based on various circumstances (e.g., automatically or in response to user / passenger confirmation). For example, if rain is detected, a specific distance can be shortened (e.g., by half or by another amount). Similarly, if the temperature and / or humidity (or other weather conditions) are above or below a certain threshold, a specific distance can be shortened accordingly. As another example, if a passenger is running late (e.g., determined by a calendar appointment, profile, etc. on the passenger's device), a specific distance can be shortened to save time. As yet another example, if a passenger's daily step count (or other health indicators such as calories burned) is low, a specific distance can be extended.

[0043]

[0062] In various implementations, a vehicle may be capable of detecting one or more conditions of a passenger (either a current passenger or a passenger who is scheduled to board). For example, the vehicle may consider the passenger's condition to determine the passenger's disembarkation or boarding location based on whether the passenger requires additional time and / or space to enter or exit the vehicle. In some cases, each passenger's condition may include (but is not limited to) the passenger's physical handicap or limitation, the presence of an infant or child accompanying the passenger, the passenger's age, the presence of a relatively large amount of luggage, cargo, or equipment accompanying the passenger, or any combination thereof. However, any passenger condition or requirement that may result in the passenger requiring additional time or space to enter or exit the vehicle may be used when determining the passenger's disembarkation or boarding location.

[0044]

[0063] In some cases, when determining one or more alternative drop-off or pick-up locations, one or more attributes of the scheduled drop-off or pick-up location may be taken into consideration. These one or more attributes may include, but are not limited to, at least one of the following: puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions (e.g., fire hydrants, walls, trees, etc.), weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of the identified drop-off or pick-up location, insufficient space in front of or behind the vehicle, or any combination thereof. For example, if the vehicle determines that each passenger requires additional space to disembark (e.g., because the passenger has multiple suitcases in the trunk and is traveling with an infant), the vehicle may choose an alternative drop-off location that provides additional space to unload the infant on the side of the vehicle, additional space to unload the suitcases at the rear of the vehicle, additional time associated with caring for the infant, or any combination thereof. Conversely, if the vehicle does not determine that each passenger requires additional time or space, the vehicle may continue on to the scheduled drop-off location.

[0045]

[0064] In some cases, passengers may indicate to the vehicle (directly or indirectly, for example, through an intermediary such as a ride-hailing service) whether they require additional time and / or space to enter or exit the vehicle while boarding or alighting. In further implementations, passengers may indicate approximately how much time (e.g., 5 minutes) and / or space (e.g., 10 feet of space behind the vehicle) they need. This indication can then be used by the vehicle to modify the alighting or boarding location. In some implementations, passengers may provide details or other information that may affect their additional time and / or space requirements (e.g., traveling with an infant and child seat, traveling with several suitcases, etc.). These details can then be used by the vehicle to modify the alighting or boarding location. For example, the vehicle may modify the alighting or boarding location to suit the details.

[0046]

[0065] In some implementations, a vehicle can display several alternative drop-off locations on a display screen accessible to passengers on board (e.g., an in-vehicle display screen). Each passenger can select one of the alternative drop-off locations displayed on the display screen. The vehicle can then travel to the selected alternative drop-off location and drop off each passenger there. In some cases, the alternative drop-off locations can be displayed on a display screen associated with the vehicle. Additionally, or alternatively, the alternative drop-off or pick-up locations can be shared among one or more passengers' mobile computing devices, which can display the alternative drop-off or pick-up locations on their own displays (e.g., touch-sensitive display screens) for viewing and interaction with each passenger. For example, the alternative drop-off or pick-up locations can be displayed as selectable icons on the touch-sensitive display screens of passengers' mobile computing devices. Passengers can select a specific alternative drop-off or pick-up location by touching, tapping, or otherwise interacting with a selectable icon corresponding to that icon.

[0047]

[0066] Certain implementations of the subject matter described herein can be implemented to achieve one or more of the following potential benefits: By enabling a vehicle (such as an autonomous vehicle) to determine a drop-off and / or pick-up location based on the presence of obstacles or hazardous conditions at or near the passenger drop-off and / or pick-up location, embodiments of the subject matter disclosed herein can ensure that passengers of such vehicles are not hindered or inconvenienced by obstacles or hazardous conditions when entering or exiting the vehicle. Furthermore, the ability of a vehicle implementing the various technologies disclosed herein to dynamically determine one or more alternative drop-off and / or pick-up locations based on passenger preferences and / or needs can ensure that passengers who require additional time to enter or exit the vehicle, passengers who require additional space to enter or exit the vehicle, and / or passengers with certain physical attributes or limitations are able to board and alight at locations that suit them. In this way, a vehicle implementing the various embodiments of the subject matter disclosed herein can board and alight passengers in a safer and more convenient manner than conventional vehicles.

[0048]

[0067] Here, several embodiments of vehicles, such as autonomous vehicles providing passenger and / or cargo services, are presented with reference to various devices and methods. These devices and methods are described in the following detailed description and are illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as “elements”). These elements can be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends on the specific application and the design constraints imposed on the system as a whole.

[0049]

[0068] For example, an element, any part of an element, or any combination of elements can be implemented as a “processing system” including one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on a chip (SoC), baseband processors, field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionalities described throughout this disclosure. One or more processors in a processing system can execute software. Software is broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software components, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description languages, or other names.

[0050]

[0069] Therefore, in one or more exemplary implementations, the functions described can be implemented in hardware, software, or any combination thereof. If implemented in software, these functions can be stored on a computer-readable medium or encoded on a computer-readable medium as one or more instructions or codes. Computer-readable medium includes computer storage media. Storage media can be any available medium that is accessible by a computer. Such computer-readable media can include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM®), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of the aforementioned types of computer-readable media, or any other medium that can be used to store computer executable code in the form of instructions or data structures that are accessible by a computer.

[0051]

[0070] Figure 1 shows an illustrative system 100, in which various embodiments of the subject matter disclosed herein can be implemented. System 100 includes a vehicle control system 110, one or more client devices 120, vehicles 130A-130C, and a communication network 140. In some implementations, exemplary system 100 may include a number of other client devices 120 and / or vehicles 130. Additionally or alternatively, exemplary system 100 may include other components, devices, or systems not shown for brevity.

[0052]

[0071] The vehicle control system 110 may include any number of computing devices, such as (but not limited to) servers, which can be implemented in a single location or distributed across multiple locations. These servers may be of various types, such as web servers, news servers, file servers, application servers, database servers, proxy servers, or any other servers suitable for performing the functions or processes described herein, or any combination thereof. Each server may be a single server or a distributed server across multiple computers or multiple data centers, and may include hardware, software, or embedded logic components, or a combination of two or more such components, for performing the appropriate functionality performed or supported by the server.

[0053]

[0072] The vehicle control system 110 can be used to assist vehicles 130A-130C (collectively referred to as vehicle 130 in this specification) operating in autonomous mode, and can be configured to provide passenger and / or cargo services for selecting, identifying, or otherwise determining passenger drop-off and / or pick-up locations. In some implementations, the vehicle control system 110 can determine passenger drop-off and / or pick-up locations where there are no obstacles and hazardous conditions. The vehicle control system 110 can also determine passenger drop-off and / or pick-up locations at least in part based on one or more physical attributes of the passenger, the passenger's physical limitations, the passenger's age, the presence of infants or children accompanying the passenger, or any combination thereof. Additionally, or alternatively, the vehicle control system 110 can also determine passenger drop-off and / or pick-up locations based on whether the passenger requires additional time or space to enter or exit the autonomous vehicle.

[0054]

[0073] In some implementations, the vehicle control system 110 can facilitate the transportation of one or more passengers 160 in the vehicle 130. For example, the vehicle control system 110 can receive service requests from passengers 160 (for example, via the passenger's client device 120) along with the requesting passenger's identifier. The passenger identifier identifies the passenger 160 to the vehicle control system 110, allowing the vehicle control system 110 to retrieve, for example, the passenger's preferences, payment method, preferred boarding or alighting location, or any other relevant information (but not limited to these).

[0055]

[0074] The client device 120 can be any suitable computer or computing device capable of communicating with the vehicle control system 110, the vehicle 130, or other communication devices, nodes, or entities via the communication network 140. In some cases, the client device 120 can be a desktop computer, laptop computer, personal digital assistant, cellular phone, smartphone, tablet computer, game console, e-book reader, or another suitable communication device. Some client devices 120 can be associated with passengers 160 of the vehicle 130, while others can be associated with the human driver 135 of the vehicle 130. For example, in some cases, passengers 160 can use the client device 120 to request or schedule passenger service from one of the vehicles 130, and can use the client device 120 to exchange information with the vehicle 130 during the requested or scheduled passenger service. In other cases, a human driver 135 can use the client device 120 to communicate with and exchange information with one or more passengers 160, as well as with the vehicle control system 110 and the vehicle 130. In some other cases, one or more of the vehicles 130 may contain or be associated with one of the client devices 120.

[0056]

[0075] Vehicle 130 can be any suitable type of autonomous or semi-autonomous vehicle that can be used to provide passenger and / or freight services while in autonomous mode. Although not shown in Figure 1 for brevity, vehicle 130 can include an autonomous vehicle controller, communication circuits, a user interface, and other components typically included in a vehicle that can operate in an autonomous (or semi-autonomous) driving mode while providing passenger services. In some implementations, a vehicle controller provided within or associated with vehicle 130 can perform some or all of the operations described with reference to the vehicle control system 110.

[0057]

[0076] The communication network 140 provides a communication link between the vehicle control system 110, the client device 120, and the vehicle 130. The network 140 can be any one or more suitable communication networks, including, for example, the Internet, a wide area network (WAN), a metropolitan area network (MAN), a wireless local area network (WLAN), a personal area network (PAN) such as Bluetooth®, a radio access network (RAN) such as a fifth-generation (5G) new radio (NR) system, a wired network, a cable network, a satellite network, or any other suitable network.

[0058]

[0077] Figure 2 shows a functional block diagram of an exemplary system 200 in several implementation configurations. System 200 can be an example of system 100 in Figure 1 and is shown to include a vehicle control system 210, a client device 220, an autonomous vehicle 230, and the communication network 140 in Figure 1. Vehicle control system 210 can be an example of vehicle control system 110 in Figure 1 and is shown to include one or more processors 212, a memory 214, one or more applications 216, and a communication circuit 218. The processor 212 can be, or may include, any number of commercially available microprocessors or central processing units (CPUs) capable of executing scripts or instructions of one or more software programs stored in the associated memory. Additionally or alternatively, the processor 212 can be, or may include, any number of application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or programmable logic devices (PLDs).

[0059]

[0078] Memory 214 may include non-temporary computer-readable media (such as one or more non-volatile memory elements like EPROM, EEPROM, flash memory, or hard drive) that store instructions, which, when executed by one or more processors 212, cause the vehicle control system 210 to perform at least some of the operations described with reference to one or more of Figures 6A-6B, 7A-7B, 8A-8B, 9, 10, 11, 12, 13, 14, 15, 16, and 17. In some cases, memory 214 may store applications 216 that can be executed by one or more processors 212 to perform specific functions. For example, a vehicle controller application residing in the memory of the vehicle control system 210 may be executed to communicate with an autonomous vehicle 230 and control various operations of the autonomous vehicle 230. In some cases, the vehicle controller application can be used to assist or operate the autonomous vehicle 230 when selecting a drop-off or pick-up location for passengers and / or cargo, when modifying the selected drop-off or pick-up location based on one or more of the following: detected obstacles or hazardous conditions, physical limitations of a particular passenger, or the passenger needing additional time and / or space to enter or exit the autonomous vehicle, and when selecting an alternative drop-off or pick-up location.

[0060]

[0079] The communication circuit 218 can be used to establish and maintain a communication link between the vehicle control system 210, the client device 220, and the autonomous vehicle 230 via the communication network 140. The communication circuit 218 can use any suitable communication protocol, including wireless communication protocols specified by one or more releases of the Third Generation Partnership Project (3GPP®), such as the IEEE 802.11 standard family, the Bluetooth Interest Group, or one or more modifications to other suitable communication technologies.

[0061]

[0080] The client device 220 may be an example of the client device 120 in Figure 1 and is shown to include one or more processors 222, memory 224, a display screen 226, and communication circuitry 228. The processors 222 may be, or include, any number of commercially available microprocessors or central processing units (CPUs) capable of executing scripts or instructions of one or more software programs stored in the associated memory. Additionally or alternatively, the processors 212 may be, or include, any number of ASICs, FPGAs, or PLDs. The memory 224 may include a non-temporary computer-readable medium (such as one or more non-volatile memory elements such as EPROM, EEPROM, flash memory, hard drive, etc.) storing instructions, which, when executed by one or more processors 222, cause the client device 220 to perform at least some of the operations described herein. The display screen 226 may be any suitable display screen capable of receiving input from a user and presenting output to the user. The communication circuit 228 can be used to establish and maintain a communication link between the client device 220, the vehicle control system 210, and the autonomous vehicle 230 via the communication network 140. The communication circuit 228 can use any suitable communication protocol, including wireless communication protocols specified by one or more releases of 3GPP, such as the IEEE 802.11 standard family, the Bluetooth Interest Group, or one or more modifications to other suitable communication technologies.

[0062]

[0081] The client device 220 can be used by passengers, by the human co-driver of the autonomous vehicle, or provided within the autonomous vehicle. For example, passengers can use the client device 120 to request passenger service from the autonomous vehicle, update their disembarkation or pick-up location, pay fares, and perform other functions. The human co-driver can use the client device 120 to communicate with one or more passengers, the vehicle control system 210, and other autonomous vehicles. The autonomous vehicle can use the client device 120 to communicate with passengers, the vehicle control system 210, and other autonomous vehicles.

[0063]

[0082] The autonomous vehicle 230 can be an example of the vehicle 130 in Figure 1, and can be any suitable type of vehicle capable of providing passenger services while operating in autonomous or semi-autonomous mode. The autonomous vehicle 230 can include a vehicle controller 232, a communication circuit 234, and a user interface 236. The vehicle controller 232 can be used to control various operations of the autonomous vehicle 300 related to providing passenger services. For example, the vehicle controller 232 can control operations related to picking up passengers at designated pick-up locations, dropping off passengers at designated drop-off locations, and modifying designated pick-up or drop-off locations based on a number of factors or conditions, such as detected obstacles or hazardous conditions, physical limitations of passengers, or indications that a particular passenger requires additional time or space to enter or exit the autonomous vehicle. The communication circuit 234 can be used to establish and maintain a communication link between the vehicle control system 210, a client device 220, and the autonomous vehicle 230 via a communication network 140. The user interface 236 can be used to present information to passengers. The user interface 236 can be used to receive user input from passengers (such as commands and preferences).

[0064]

[0083] Figure 3 shows block diagrams of several implementations of the autonomous vehicle 300 (which can correspond to the autonomous vehicles 130 and 230 in Figures 1 and 2). The autonomous vehicle 300 can be any type of vehicle, including (but not limited to) cars, trucks, vans, buses, trams, trains, subways, aircraft, boats, etc., regardless of how it is powered or driven. In some implementations, the autonomous vehicle 300 can include an autonomous vehicle controller 310, a communication interface 360, a drive system 370, an external sensor 372, a navigation system 374, an internal sensor 376, and a user interface 378. The autonomous vehicle 300 can include other components not shown in the example in Figure 3.

[0065]

[0084] The vehicle controller 310 can be an example of the vehicle controller 232 in Figure 2 and can be used to determine drop-off or pick-up locations for passengers transported by the autonomous vehicle 300. The vehicle controller 310 can be implemented using any analog, digital, or mixed-signal processing circuit to control various operations of the autonomous vehicle 300. In some cases, the vehicle controller 310 can interface with and / or control the operation of the autonomous vehicle 300's drive system 370, external sensors 372, navigation system 374, internal sensors 376, and user interface 378. For example, the vehicle controller 310 can be integrated with the drive system 370 in a manner that allows the vehicle controller 310 to control various driving and maneuvering operations of the autonomous vehicle 300 when dropping off or picking up passengers at various pick-up or drop-off locations.

[0066]

[0085] The communication interface 360 ​​can be used to establish and maintain a communication link between a vehicle control system (such as the vehicle control system 110 in Figure 1 or the vehicle control system 210 in Figure 2), one or more mobile computing devices (such as the client device 120 in Figure 1 or the client device 220 in Figure 2), and the autonomous vehicle 300. The communication interface 360 ​​can use any suitable communication protocol, including wireless communication protocols specified by one or more releases of 3GPP, such as the IEEE 802.11 standard family, the Bluetooth Interest Group, or one or more modifications to other suitable communication technologies.

[0067]

[0086] The drive system 370 may include a powertrain, as well as various associated electrical systems, mechanical systems, electromechanical systems, control systems, and diagnostic systems of the autonomous vehicle 300. In some cases, the drive system 370 may include one or more engine systems, motor systems, transmission systems, steering systems, braking systems, and other systems to control the driving and parking operations of the autonomous vehicle 300.

[0068]

[0087] The external sensors 372 may include any suitable sensors or devices that can be used individually or in conjunction with each other to scan the surrounding scene for objects, environmental features, roads, route features, other vehicles, traffic lights, weather conditions, obstacles, hazardous conditions, and other attributes, characteristics, or features of the surrounding scene.

[0069]

[0088] The external sensor 372 may include an optical camera, an image sensor, a video camera, a coherent light sensing system, a RADAR system, or other suitable devices or sensors that can be used to detect and / or recognize objects in the surrounding environment. In various implementations, the coherent light sensing system and the RADAR system can be used to detect the presence of objects in the surrounding environment, to determine the distance between those objects and the vehicle 120, to determine the movement of the detected objects relative to the vehicle 120, and to determine other features and attributes of the surrounding environment. In some embodiments, the RADAR system may include one or more radio frequency (RF) sensors and one or more millimeter-wave (mmW) frequency sensors. In some embodiments, the coherent light sensing system may include one or more LiDAR sensors and one or more infrared (IR) sensors. In some implementations, the measurements provided by the RF sensors, mmW frequency sensors, SONAR sensors, LiDAR sensors, and / or IR sensors can be used by a neural network to detect and classify objects in the surrounding environment. For example, in some embodiments, a neural network can employ deep learning and inference techniques to recognize detected objects (for example, to recognize that the first detected object is another vehicle, the second detected object is a stop sign, the third detected object is a pedestrian, etc.).

[0070]

[0089] In one implementation, a coherent photosensing system can emit or transmit light or infrared (IR) pulses into the environment and receive the reflected light or IR pulses from objects and other surfaces in the environment to determine information about those objects and other surfaces. In some implementations, the distance to a detected object can be determined based on the time between the emission of the light or IR pulse by the coherent photosensing system and the reception of the corresponding reflected light or IR pulse by the coherent photosensing system. The size, shape, orientation, texture, and other features of a detected object can be determined (at least partially) based on the amplitude, pulse width, timing information, and other features of many such received light or IR pulses. Information generated from the received light or IR pulses can be used to generate a point cloud showing the location, size, shape, movement, orientation, and other features of the detected object and other surfaces in the environment. The measured distance can be combined with the emitter orientation to associate a three-dimensional position with each light or IR pulse received by the coherent photosensing system. Multiple received light or IR pulses are associated with three-dimensional (3D) positions, which can be used to generate a 3D map of points indicating the locations of various objects and features in the environment. The autonomous vehicle 300 can use one or more of these 3D point clouds to navigate through the environment (such as along a route between drop-off or pick-up locations) without human input.

[0071]

[0090] In some implementations, a first group of external sensors 372 can be configured to detect and / or recognize obstacles, hazardous conditions, and other passenger disturbances relatively close to a specific drop-off or pick-up location (such as being located within a zone surrounding or associated with that location). A second group of external sensors 372 can be configured to scan a relatively distant area of ​​the scene to detect and / or recognize objects, environmental features, landmarks, buildings, roads, and other attributes of the scene, relatively far from a specific drop-off or pick-up location (such as being located outside a zone surrounding or associated with that location). The zone can be of various sizes, shapes, or configurations based, for example, on the attributes or characteristics of a specific drop-off or pick-up location, the status of one or more passengers, passenger preferences, and other appropriate factors. In this way, the first group of external sensors 372 can be configured for short-range scanning, while the second group can be configured for long-range scanning.

[0072]

[0091] In various implementations, scene mapping information provided by or obtained from a first group of external sensors 372 can be fused, stitched together, or otherwise combined with scene mapping information provided by or obtained from a second group of external sensors 372 to generate a composite 3D point cloud of the entire scene. In this manner, the composite 3D point cloud can indicate the presence of nearby obstacles and hazardous conditions relative to distant objects, environmental features, landmarks, buildings, roads, and other attributes of the scene. In some cases, the composite 3D point cloud can be updated with scene mapping information associated with relatively distant areas of the scene at a lower frequency than with scene mapping information associated with relatively nearby areas of the scene. For example, if the position or orientation of environmental features, objects, and other surfaces relatively far from the autonomous vehicle 300 remains constant (or has minimal change) over a period of time during which new obstacles or hazardous conditions are detected relatively close to the disembarking or boarding location (or the autonomous vehicle 300), the autonomous vehicle 300 can update the composite 3D point cloud more frequently using nearby scene mapping information than using distant scene mapping information. In other cases, the composite 3D point cloud can be updated more frequently using scene mapping information associated with relatively distant areas of the scene than using scene mapping information associated with relatively nearby areas of the scene. In some other cases, the composite 3D point cloud can be updated simultaneously or at similar times using all scene mapping information.

[0073]

[0092] The navigation system 374 can be provided on or within the autonomous vehicle 300 at any suitable location. Using map data and sensor data, the navigation system 374 can guide the autonomous vehicle 300 to its destination without colliding with other objects (or by otherwise avoiding other objects). The navigation system 374 can also use map data and sensor data to detect the presence of obstacles and hazardous conditions at or near scheduled drop-off or pick-up locations. In some implementations, the navigation system 374 can access or receive detailed map information (such as a 3D point cloud) containing information about roads, bridges, buildings, landmarks, elevation, construction zones, real-time traffic conditions, weather information, event information, etc., directly (for example, without an intermediate system or service) from one or more sources, including (but not limited to) government agencies, subscription-based services, user-generated map collections, cloud-derived mapping information, mapping information provided by other devices, etc. In other implementations, the navigation system 374 may, in at least some cases, access or receive detailed map information (such as a 3D point cloud) from a server (or other intermediate system or service) capable of aggregating detailed map information. In some cases, the detailed map information may be provided by a network entity or server (such as the vehicle control system 210 in Figure 2). In other cases, the detailed map information (or at least a portion thereof) may be provided by one or more other devices via a suitable wireless channel (such as a V2V or V2X channel of a 5G RAN, a sidelink channel of a 5G RAN, an unlicensed frequency band, a peer-to-peer (P2P) connection, or a dedicated short-range communication (DSRC) channel of a wireless network).Exemplary devices may include, but are not limited to, other vehicles, smartphones, cameras, or AR / VR headsets. In one exemplary implementation, the navigation system 374 may use map data and / or sensor data to supplement detailed map information (for example, when detailed map information is incomplete or does not cover the entirety of a particular area of ​​interest).

[0074]

[0093] In various implementations, detailed map information can be used to determine whether a scheduled drop-off or pick-up location is feasible for the passenger and / or the autonomous vehicle 300. Detailed map information can be used to detect the presence of obstacles or hazardous conditions at the scheduled drop-off or pick-up location. Detailed map information can also be used to identify feasible alternative drop-off or pick-up locations for the passenger of the autonomous vehicle 300. In certain implementations, this can be done before the autonomous vehicle 300 moves to the scheduled drop-off or pick-up location, or otherwise before arriving at or near the scheduled drop-off or pick-up location. In this way, the speed and efficiency with which the autonomous vehicle 300 can select the most convenient drop-off or pick-up location, taking into account various attributes of the drop-off or pick-up location and any conditions that may be associated with the passenger, can be significantly better than conventional techniques that rely on external sensors of the autonomous vehicle to provide such mapping information (in those conventional techniques, the autonomous vehicle is typically within scanning range of the drop-off or pick-up location).

[0075]

[0094] In some implementations, detailed map information can be periodically or continuously (such as in real time) merged, stitched together, or filtered by mapping information provided by or obtained from the external sensor 372. In some cases, one or more portions of the detailed map information can be updated using mapping information available from the external sensor 374. For example, the autonomous vehicle 300 can use the received detailed map information to determine, before boarding, that a particular drop-off location is feasible for the passenger. The external sensor 372 can then identify one or more obstacles as the autonomous vehicle 300 approaches the drop-off location. In this example, since the detailed map information did not indicate any obstacles at or near the drop-off location, the mapping information provided by the external sensor 372 is more up-to-date and more accurate. Therefore, the autonomous vehicle 300 can use the mapping information provided by the external sensor 372 to determine whether the drop-off location is still feasible for the passenger.

[0076]

[0095] In some implementations, the navigation system 374 may include one or more satellite positioning system (SPS) receivers capable of receiving and decoding satellite signals associated with various global satellite services such as the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), and Galileo, as well as various regional satellite services such as the Indian Regional Navigation Satellite System (IRNSS). The satellite signals can be used by the autonomous vehicle 300 for general navigation purposes, including, for example, determining a route between a pick-up location and a drop-off location, and then safely operating the autonomous vehicle 300 from the pick-up location to the drop-off location along the determined route. In some cases, the autonomous vehicle 300 may also use the received satellite signals to determine or construct mapping information regarding the pick-up and / or drop-off locations.

[0077]

[0096] In various implementations, the autonomous vehicle 300 can be configured to determine the seating positions of passengers (e.g., specific seat locations, relative to each other, etc.) and / or the expected exit points for passengers. In some implementations, the internal sensors 376 can include any suitable sensors or devices (such as, but not limited to, pressure sensors, motion sensors, light sensors, optical sensors, wireless transceivers, etc.) that can be used to determine the seating positions of passengers within the autonomous vehicle 300. The internal sensors 376 can be used to determine the relative positions of current passengers. The internal sensors 376 can be used to determine the estimated exit points for passengers from the autonomous vehicle 300 (and / or the relative positions of those passengers to the estimated exit points). In some cases, pressure sensors provided in or near the seats of the autonomous vehicle 300 can be used to determine whether a particular seat is occupied by a passenger. In other cases, motion sensors distributed throughout the entire interior of the autonomous vehicle 300 can be used to determine whether a passenger is entering or exiting the autonomous vehicle 300. In some other cases, light sensors can be used to determine the distance to each passenger in the autonomous vehicle 300.

[0078]

[0097] In some implementations, the internal sensor 376 may include one or more transceivers, which are located within the autonomous vehicle 300 and configured to exchange wireless signals with a mobile computing device associated with a passenger. The exchanged wireless signals can be used to determine the relative positions of passengers with each other, the relative positions of passengers with respect to the expected entry point of the autonomous vehicle 300, and / or the relative positions of passengers with respect to the expected exit point of the autonomous vehicle 300. In some cases, a wireless transmitting device (such as, but not limited to, an access point (AP), soft AP, wireless station (STA), user equipment (UE), or any other suitable wireless communication device) may transmit wireless signals to and receive wireless signals from the passenger's mobile computing device. In some cases, the wireless transmitting device may be located on the dashboard. In some other cases, the wireless transmitting device may be provided at another suitable location in the vehicle 120.

[0079]

[0098] In one exemplary implementation, a wireless transmitting device may use RF sensing and / or ranging techniques to determine the distance between the transmitting device and each of the passengers, determine the relative locations of the passengers, and / or determine the relative movements of the passengers to each other. RF ranging signals may include, but are not limited to, Wi-Fi® signals, ultra-wideband (UWB) signals, Bluetooth signals, LTE® communications, 5G NR communications, narrowband signals, P2P communications, etc. In some embodiments, RF sensing and / or ranging techniques may be used to classify (e.g., recognize or identify) the passengers of a vehicle.

[0080]

[0099] The wireless transmitting device can also use information from transmitted and received wireless signals to determine the distance and / or angle between the wireless transmitting device and each passenger's mobile computing device. The distance and / or angle information can be used to determine the relative location of each passenger's mobile computing device to the wireless transmitting device, and therefore also the relative locations of each passenger's mobile computing devices to each other, the relative locations of each passenger's mobile computing device to the expected entry point of the autonomous vehicle 300, and / or the relative locations of each passenger's mobile computing device to the expected exit point of the autonomous vehicle 300. The wireless transmitting device may use any suitable positioning technique, including but not limited to, assisted GNSS (A-GNSS), observed time difference of arrival (OTDOA) (e.g., downlink (DL)OTDOA or uplink (UL)OTDOA), real-time kinematics (RTK), high precision single positioning (PPP), differential GNSS (DGNSS), extended cell ID (E-CID), angle of arrival (AOA), angle of departure (AOD), and / or other positioning methods for determining the location of a passenger in the autonomous vehicle 300.

[0081]

[0100] The user interface 380 can be any suitable device or component, or can include such devices or components, through which the autonomous vehicle 300 can present questions, choices, or other information to the passenger, and / or through such devices or components the passenger can provide answers or other response information to the autonomous vehicle 300. In some cases, the user interface 380 can include a tablet computer, a touch-sensitive display, a speaker, a microphone, etc. For example, in some embodiments, the autonomous vehicle 300 can indicate the presence of a recess at a designated drop-off location on a touch-sensitive display. In other embodiments, the autonomous vehicle 300 can indicate the presence of a recess on the display screen of the user's device. The autonomous vehicle 300 can ask the passenger if they would like an alternative drop-off location. Optionally, the autonomous vehicle 300 can display the locations of alternative drop-off locations (and optionally, other alternative options that the user can choose from). In response, passengers can use a touch-sensitive display to indicate whether the designated drop-off location is acceptable or whether an alternative drop-off location is preferred. The user interface 380 can be provided in any suitable location within the autonomous vehicle, including, for example, being embedded in the back of the front seat. In other implementations, the passenger's mobile computing device can provide some or all of the functionality of the user interface 378.

[0082]

[0101] The vehicle controller 310 may include a data store 320, one or more processors 330, memory 340, and several system engines 350. The data store 320 may include drop-off / pick-up location data 321, navigation data 322, entry / exit point data 323, obstacle data 324, and user profile data 325. The drop-off / pick-up location data 321 may include drop-off locations for passengers being transported by the autonomous vehicle. The drop-off / pick-up location data 321 may also include pick-up locations for one or more passengers scheduled to be picked up by the autonomous vehicle. In some cases, the drop-off / pick-up location data 321 may also store historical information related to several previous drop-off or pick-up locations.

[0083]

[0102] The navigation data 322 may include route information for the ride requested by the passenger, road conditions, traffic conditions, weather conditions, construction activities, event conditions (e.g., scheduled times for nearby events), and any other information associated with driving the autonomous vehicle 300 from the pick-up location to the drop-off location for each passenger. In some cases, the navigation data 322 may include map data and / or sensor data such as Street View, satellite view, etc. In other cases, the navigation data 322 may include the detailed map information received as discussed above.

[0084]

[0103] The entry / exit point data 323 may include information indicating the expected exit point of the autonomous vehicle 300 for each passenger currently being transported by the autonomous vehicle 300, and may store information indicating the expected entry point of the autonomous vehicle 300 for each passenger scheduled to be picked up by the autonomous vehicle 300. In some cases, the entry / exit point data 323 may be correlated with information stored in either or both of the disembarkation / boarding data 321 and obstacle data 324. In other cases, the entry / exit point data 323 may indicate the default entry and / or exit points of the autonomous vehicle 300 for one or more passengers. For example, as the autonomous vehicle 300 approaches a disembarkation point, the autonomous vehicle 300 may instruct one or more passengers to exit through the right rear door (or another appropriate door) of the autonomous vehicle 300. In some implementations, the autonomous vehicle 300 may open specific doors to allow each passenger to enter or exit the autonomous vehicle 300. In some cases, the autonomous vehicle 300 may lock other doors when approaching a boarding or alighting location, for example, to enhance passenger safety.

[0085]

[0104] Obstacle data 324 may include information indicating one or more previously detected attributes, features, or characteristics of several objects, obstacles, and / or hazardous conditions. Obstacle data 324 may also indicate the exact location of previously detected objects, obstacles, or hazardous conditions (e.g., within 50 centimeters), either absolutely or relative to one or more stored drop-off or pick-up locations. In some cases, stored attributes, features, or characteristics of a particular obstacle may be used to assist an autonomous vehicle in detecting or identifying a particular obstacle as it approaches a corresponding drop-off or pick-up location.

[0086]

[0105] User profile data 325 may include profile information of any number of past, current, or expected passengers of the autonomous vehicle 300. Each passenger's profile information may include their identification information (such as name, age, height, etc.) and their preferences (such as whether the passenger typically travels with infants or small children, the amount of luggage or cargo typically brought by the passenger, and their intention to enter or exit the autonomous vehicle if an obstacle or dangerous condition is detected at or near a selected boarding or alighting location). In some cases, some or all of the passenger profile data may be obtained from the vehicle control systems 110 and 200 shown in Figures 1 and 2, respectively. In other cases, at least some of the passenger profile data may be provided by the passenger, for example, by accessing profile information from the passenger's client device 120.

[0087]

[0106] In some implementations, user profile data 325 (or other profile data) may include profile information relating to one or more shipping services. The profile information for each shipping service may indicate specific requirements associated with one or more types of cargo to be transported by the autonomous vehicle 300 for each shipping service. For example, these specific requirements may include (but are not limited to) time-consuming loading or unloading processes, the need for specific loading / unloading equipment for the cargo (e.g., trolleys, forklifts, cranes, ramps, conveyor belts, etc.), the need for a specific amount of space for loading / unloading the cargo (e.g., for timber, pipes, beams, etc., that are longer than a certain value), or the need for a specialized loading / unloading area for the cargo (e.g., an area with a ramp). In one exemplary implementation, the specific requirements may indicate protocols for loading the cargo or other delivery items. For example, the protocol could require the autonomous vehicle 300 to wait at or near the pick-up location, or otherwise not occupy a parking space, until it receives confirmation that the luggage or other delivery items have been dropped off at the pick-up location.

[0088]

[0107] In various implementations, user profile data 325 (or other profile data) may include profile information relating to one or more delivery services. These delivery services may include, but are not limited to, food delivery services, prescription drug delivery services, grocery delivery services, etc. In some implementations, the profile information relating to each delivery service may indicate specific requirements associated with loading and / or placing items for delivery onto the autonomous vehicle 300. For example, these specific requirements may include, but are not limited to, specific areas of a restaurant for parking and waiting for the delivery order to be loaded onto the autonomous vehicle 300, or designated lanes where the autonomous vehicle 300 will wait for the delivery order to be loaded onto the autonomous vehicle 300. In some cases, the profile information relating to each delivery service may also indicate specific procedures associated with loading delivery orders from various vendors (such as food orders from Chick-fil-a). For example, these special procedures could indicate (but not limited to) signals or prompts such as that the food order is not ready for delivery, that the food order has been canceled, or that the food order has been loaded onto the autonomous vehicle 300.

[0089]

[0108] In various implementations, the profile information for each delivery service can indicate special requirements and / or procedures associated with unloading and / or loading the delivery order at the consumer's location. For example, these special requirements may include (but are not limited to) a designated area on the consumer's premises where the autonomous vehicle 300 parks and waits for the consumer to retrieve the delivered items from the autonomous vehicle 300 (or for the occupant to deliver them), and may include a period of time during which the autonomous vehicle 300 waits for the consumer to retrieve the delivered items (or for the occupant to deliver them).

[0090]

[0109] The processor 330 may be, or may include, any number of commercially available microprocessors or central processing units (CPUs) capable of executing scripts or instructions of one or more software programs stored in associated memory. Additionally, or alternatively, the processor 330 may be, or may include, any number of ASICs, GPUs, DSPs, NSPs, DPUs, microcontrollers, hardware accelerators, FPGAs, PLDs, or any combination thereof.

[0091]

[0110] Memory 340 may include a non-temporary computer-readable medium (such as one or more non-volatile memory elements, such as EPROM, EEPROM, flash memory, or hard drive) that stores instructions, which, when executed by one or more processors 330, cause the vehicle controller 310 to perform any number of operations described with reference to Figures 6, 7A-7B, 8, 9, 10, 11A-11B, 12, 13A-13C, 14, and 15. These instructions may be any set of instructions that will be executed directly (such as machine code) or indirectly (such as a script) by the processor 330. For example, these instructions may be stored as computing device code on a computing device-readable medium. Thus, the terms “instruction” and “program” may be used interchangeably in this specification. Instructions may be stored in an object code format for direct processing by the processor, or in a script or any other computing device language, including a collection of independent source code modules.

[0092]

[0111] The system engine 350 may include, but is not limited to, a vehicle control engine 352, a navigation engine 354, an object detection engine 356, and a passenger positioning engine 358. The vehicle control engine 352 may assist or operate the autonomous vehicle 300 in determining an appropriate drop-off or pick-up location for passengers. The vehicle control engine 352 may also assist or operate the autonomous vehicle 300 in determining one or more alternative drop-off or pick-up locations based on the presence of detected obstacles or hazardous conditions at or near the drop-off or pick-up location, the physical limitations of each passenger, the physical attributes of each passenger, the age of each passenger, the presence of infants or children accompanying each passenger, the amount of luggage or cargo associated with each passenger, or any combination thereof.

[0093]

[0112] The navigation engine 354 can be used to drive the autonomous vehicle 300 to and from a location specified by a passenger (such as along a route between a passenger pick-up location and a passenger drop-off location). The navigation engine 354 can also be used to select, identify, or determine passenger pick-up and drop-off locations. The navigation engine 354 can be used to modify passenger pick-up or drop-off locations. The navigation engine 354 can also be used to determine alternative passenger pick-up or drop-off locations. In some cases, the navigation engine 354 can identify or select pick-up or drop-off locations where the autonomous vehicle 300 can wait for a passenger, or stop and wait for the passenger to perform some task and enter the vehicle, or stop long enough to allow a departing passenger to perform some task and then proceed without the autonomous vehicle. As will be described in more detail below, various aspects of the subject matter disclosed herein can enhance the usefulness, safety, and convenience of autonomous vehicles providing passenger services.

[0094]

[0113] The object detection engine 356 can be used to detect obstacles or hazardous conditions in or near a designated drop-off or pick-up location. In some cases, the object detection engine 356 can employ one or more of the external sensors 376 to detect and determine the location of hazards / obstacles such as, but not limited to, puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions (e.g., fire hydrants, walls, trees), weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of an identified drop-off or pick-up location, or a certain amount of clearance in front of or behind the autonomous vehicle 300.

[0095]

[0114] In some implementations, profile information for each passenger can indicate or identify which of several potential obstacles or hazardous conditions each passenger considers to pose little or no concern regarding entering and / or exiting the autonomous vehicle. For example, these potential obstacles or hazardous conditions may include, but are not limited to, puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, litter, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, or small amounts of clearance in front of or behind the autonomous vehicle.

[0096]

[0115] In some implementations, if the obstacles or hazards detected by the autonomous vehicle 300 include only those identified as posing little to no concern to each passenger, the autonomous vehicle 300 may decide not to modify a specific drop-off or pick-up location for each passenger. For example, if the profile information of a first passenger indicates that puddles, potholes, uneven pavement, and high curbs pose little to no concern when entering or leaving the autonomous vehicle 300, the autonomous vehicle 300 may decide not to modify a specific drop-off or pick-up location if puddles, potholes, uneven pavement, and / or high curbs are detected within the area of ​​that specific drop-off or pick-up location for the first passenger. In this approach, the first passenger is not inconvenienced by having to wait for the autonomous vehicle to find an alternative drop-off or pick-up location, or by having to walk a longer distance to their destination if there are puddles, potholes, uneven pavement, and / or high curbs near the expected entry or exit point of the autonomous vehicle.

[0097]

[0116] In some cases, the autonomous vehicle 300 may modify a specific drop-off or pick-up location for the first passenger if it detects an obstacle or hazardous condition (such as ice shards or debris) within the area of ​​that specific drop-off or pick-up location that is not identified in the first passenger's profile information. In this way, the first passenger can be reassured knowing that if any obstacle or hazardous condition other than puddles, potholes, uneven pavement, and / or high curbs is detected within the drop-off or pick-up location area, the autonomous vehicle 300 will find an alternative drop-off or pick-up location.

[0098]

[0117] In various implementations, profile information for separate passengers can indicate separate potential obstacles or hazardous conditions (or the absence of any) that pose little or no concern to the second passenger when entering and / or exiting the autonomous vehicle 300. For example, the profile information for a second passenger may indicate that trash and construction fences pose little or no concern to the second passenger when entering or exiting the autonomous vehicle 300. Based on the second passenger's profile information, the autonomous vehicle 300 can choose not to modify a specific drop-off or pick-up location if trash and / or construction fences are detected within that area for the second passenger. In this way, the second passenger can avoid being inconvenienced by having to wait for the autonomous vehicle to find an alternative drop-off or pick-up location, or by having to walk a longer distance to their destination if trash and / or construction fences are near the expected entry or exit point of the autonomous vehicle 300. Conversely, if the autonomous vehicle 300 detects an obstacle or hazardous condition that is of concern to the second passenger (e.g., ice flakes), the autonomous vehicle 300 can modify the drop-off or pick-up location for the second passenger. In this way, the second passenger can be reassured knowing that if any obstacle or hazardous condition other than trash or construction fences is detected within the drop-off or pick-up area, the autonomous vehicle 300 will find an alternative drop-off or pick-up location.

[0099]

[0118] The passenger positioning engine 358 can be used to determine the positions of passengers being transported by the autonomous vehicle 300, either absolutely or relative to each other, relative to each of their vehicle exit points, and / or relative to each of one or more detected obstacles or hazardous conditions. The passenger positioning engine 358 can also determine the seating positions of passengers being transported by the autonomous vehicle 300. In some cases, the passenger positioning engine 358 can communicate with sensors 372 and 376.

[0100]

[0119] Figures 4A to 4C show illustrations 400A to 400C, respectively, illustrating how a vehicle, such as an autonomous vehicle, picks up and drops off passengers in several implementation configurations. With reference to the exemplary operation discussed with reference to Figures 4A to 4C, the autonomous vehicle 300 is scheduled to drop off a first passenger, who is in the autonomous vehicle 300, at a selected location 410, and to pick up a second passenger, who is waiting in a house 420 near the selected location 410. Thus, with reference to the exemplary illustrations 400A to 400C in Figures 4A to 4C, the selected location 410 can be referred to as the selected drop-off and pick-up location 410. As shown in Figure 4A, the autonomous vehicle 300 is traveling along a first street 401 toward the selected drop-off and pick-up location 410. The first street 401 intersects with a second street 402 at an intersection 404 with traffic lights 406. Another vehicle 408 is stopped at traffic light 406 on second street 402. The selected drop-off location 410 is in front of house 420, which may be indicated as the destination of the first passenger. That is, when the autonomous vehicle 300 stops at drop-off location 410, the first passenger is expected to get out of the autonomous vehicle 300 and walk along route 422 to house 420, and the second passenger is expected to walk along route 422 from house 420 to pick-up location 410 and then get into the autonomous vehicle 300.

[0101]

[0120] In some implementations, the autonomous vehicle 300 can determine the expected exit point for the autonomous vehicle 300 for a first passenger. The autonomous vehicle 300 can determine the expected entry point for the autonomous vehicle for a second passenger. The autonomous vehicle 300 can also determine the seating position of the first passenger (and the seating positions of other passengers, if any). The autonomous vehicle 300 can determine the relative position of the expected exit point for the first passenger and / or the seating position of the first passenger.

[0102]

[0121] Figure 4B shows illustration 400B illustrating the autonomous vehicle 300 moving along street 401 toward a selected drop-off and pick-up location 410. Specifically, when the autonomous vehicle 300 comes within distance of area 412 surrounding the selected drop-off and pick-up location 410, the autonomous vehicle 300 detects a garbage pile 430 and a construction fence 435 within area 412. Area 412 can be of any suitable diameter or other dimensions. Area 412 can be of different sizes for each separate drop-off and pick-up location. In some cases, the distance can correspond to the scanning range of one or more external sensors 372 of the autonomous vehicle 300 (such as the scanning range of a LIDAR sensor). The garbage pile 430 and the construction fence 435 are illustrative and therefore only two of many possible obstacles and hazardous conditions that can be detected by the autonomous vehicle 300.

[0103]

[0122] The autonomous vehicle 300 can detect the presence of the garbage pile 430 and the construction fence 435 and determine their locations using any suitable sensors or devices in conjunction with any suitable object detection mechanism. In some implementations, the autonomous vehicle 300 can scan the surrounding environment for objects or surfaces (e.g., using LIDAR sensors, IR sensors, RF sensors, mmW frequency sensors, SONAR, cameras, or any combination thereof). The autonomous vehicle can generate a three-dimensional map of points corresponding to the locations of the garbage pile 430 and the construction fence 435. The resulting three-dimensional map of points, or "point cloud," can be used to determine the precise locations of the garbage pile 430 and the construction fence 435.

[0104]

[0123] In the example shown in Figure 4B, the garbage pile 430 is located directly on the path 422 between the selected drop-off and pick-up location 410 and the house 420, preventing the first passenger from safely and comfortably getting out of the autonomous vehicle 300 and walking along the path 422 to the house 420. The garbage pile 430 may also prevent the second passenger from safely and comfortably walking along the path 422 from the house 420 to the selected drop-off and pick-up location 410.

[0105]

[0124] In some implementations, the autonomous vehicle 300 may decide to maintain the selected drop-off and pick-up locations 410. In other implementations, the autonomous vehicle 300 may decide to modify the selected drop-off and pick-up locations 410. In certain implementations, the autonomous vehicle 300 may modify the selected location 410 for dropping off the first passenger, at least in part, based on the expected vehicle exit point for the first passenger relative to the garbage pile 430. The autonomous vehicle may modify the selected location 410 for picking up the second passenger (if it is determined to be different from the location where the first passenger was dropped off), at least in part, based on the expected vehicle entry point for the second passenger relative to the garbage pile 430. In some cases, the autonomous vehicle 300 may maintain the selected location 410 for passenger pick-up if the expected entry point of the autonomous vehicle 300 and the detected obstacle or hazardous condition are on different sides of the autonomous vehicle 300. The autonomous vehicle 300 can select an alternative pick-up location if the expected pick-up point and the detected obstacle or hazardous condition are on the same side of the autonomous vehicle 300. Similarly, the autonomous vehicle 300 can maintain a selected location 410 for passenger disembarkation if the expected pick-up point and the detected obstacle or hazardous condition are on different sides of the autonomous vehicle 300. The autonomous vehicle 300 can select an alternative disembarkation location if the expected pick-up point and the detected obstacle or hazardous condition are on the same side of the autonomous vehicle 300. In some cases, the autonomous vehicle 300 can also take into account the physical disability or limitations of the first passenger when selecting an alternative disembarkation location.

[0106]

[0125] As an addition or alternative, the autonomous vehicle 300 may consider the seating positions of the first passenger (and other passengers, if present) when deciding whether to modify or change the selected location 410 as a drop-off location. In the example of Figure 4B, the first passenger is seated at seating position number 4 and is expected to exit from the right side of the autonomous vehicle 300. The garbage pile 430 and construction fence 435 are also on the right side of the autonomous vehicle 300. In response to the determination that the expected exit point and the detected obstacle are on the same side of the vehicle, the autonomous vehicle 300 may decide to modify the selected drop-off location and select an alternative drop-off location. Similarly, in response to the determination that the expected entry point of a second passenger and the detected obstacle are on the same side of the vehicle, the autonomous vehicle 300 may modify the selected boarding location and select an alternative boarding location. When transporting multiple passengers, the autonomous vehicle 300 may select separate alternative drop-off locations for separate passengers, or it may select the same alternative drop-off location for multiple passengers.

[0107]

[0126] Figure 4C shows Illustration 400C illustrating the autonomous vehicle 300 selecting an alternative drop-off and pick-up location 440. In some implementations, the alternative drop-off and pick-up location 440 can be selected from several different alternative drop-off or pick-up locations within distance of the selected drop-off and pick-up location 410. The several different alternative drop-off or pick-up locations can be identified or determined based on one or more of the following: map data, LIDAR sensor data, surrounding area images, surrounding area videos, RADAR sensor data, or passenger input. In some implementations, the autonomous vehicle 300 can receive LIDAR sensor data, RADAR sensor data, surrounding area images, surrounding area videos, and other sensor data directly from sensors provided on or within the autonomous vehicle 300. In other implementations, the autonomous vehicle 300 may receive LIDAR sensor data, RADAR sensor data, images of the surrounding area, videos of the surrounding area, and other sensor data directly from other sources, including but not limited to roadside units, other vehicles, user devices, or any combination thereof. In some other implementations, the autonomous vehicle 300 may receive LIDAR sensor data, RADAR sensor data, images of the surrounding area, videos of the surrounding area, and other sensor data from a server (or other intermediate system or service) capable of aggregating sensor data in at least some cases. In some cases, the autonomous vehicle may select various alternative drop-off locations based at least in part on the physical limitations of the first passenger, or the presence of an infant, child seat, or child traveling with the first passenger. In other implementations, the autonomous vehicle 300 can determine that a selected drop-off and pick-up location 410 is not feasible based at least partially on one or more physical attributes of the first passenger, and can identify one or more feasible alternative drop-off locations based at least partially on one or more physical attributes of the first passenger.

[0108]

[0127] Several different alternative drop-off locations can be presented to the first passenger on a user interface, such as a touch-sensitive display. The first passenger can select one of the alternative drop-off locations or indicate their preference. The autonomous vehicle 300 can decide to steer to the alternative drop-off location selected by the first passenger. In some cases, the autonomous vehicle 300 can determine the first passenger's intention to ignore the garbage dump 430 or construction fence 435 and maintain the selected drop-off location 410 for the first passenger. The passenger's intention can be stored in the passenger profile or provided by the first passenger in response to the detection of the garbage dump 430 or construction fence 435. In some other cases, the autonomous vehicle 300 can prompt each passenger to indicate whether one or more potentially hazardous conditions detected by the autonomous vehicle 300 are of concern to them when entering and / or exiting the autonomous vehicle 300.

[0109]

[0128] By enabling the autonomous vehicle 300 to dynamically change passenger drop-off and pick-up locations based on obstacles or hazardous conditions detected near selected drop-off and pick-up locations 410, the autonomous vehicle 300 can ensure that passengers are not hindered or inconvenienced by obstacles or hazardous conditions when entering or exiting the autonomous vehicle. In this manner, autonomous vehicles implementing various aspects of the subject matter disclosed herein can load and unload passengers in a safer and more convenient manner than conventional autonomous vehicles.

[0110]

[0129] Figures 5A to 5C show illustrations 500A to 500C illustrating how vehicles, such as autonomous vehicles, drop off and pick up passengers in various implementations. In the exemplary operation discussed with reference to Figures 5A to 5C, autonomous vehicle 300 is scheduled to drop off a first passenger, who is in autonomous vehicle 300, at a selected location 510, and to pick up a second passenger, who is waiting in house 520 at the selected location 510. Therefore, the selected location 510 can be called the selected drop-off and pick-up location 510. In other examples, the drop-off location may differ from the pick-up location. As shown in Figure 5A, autonomous vehicle 300 is traveling along street 501 toward intersection 504, and the selected drop-off and pick-up location 510 is in front of house 520, which may be the destination of the first passenger. In other words, when the autonomous vehicle 300 stops at the drop-off location 510, the first passenger is expected to get out of the autonomous vehicle 300 and walk along the route 522 to the house 520, and the second passenger is expected to walk along the route 522 from the house 520 to the pick-up location 510 and then get back into the autonomous vehicle 300.

[0111]

[0130] Figure 5A also shows the first car 531, the second car 532, and the third car 533 parked on the right side of street 501. Specifically, the first car 531 is parked directly in front of the selected drop-off and pick-up location 510, and the second car 532 is parked directly behind the selected drop-off and pick-up location 510. The third car 533 is parked a certain distance away from the second car 532. The first and second cars 531 and 532 are parked so close to the selected drop-off and pick-up location 510 that the selected drop-off and pick-up location 510 may not be feasible for passengers who require additional space or time to enter or exit the autonomous vehicle 300. In various implementations, when an autonomous vehicle is to arrive at or depart from a determined pick-up and / or drop-off location, it may communicate with edge servers or other servers in a communication network (including, but not limited to, LTE, 5G NR, Wireless Local Area Network (WLAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), Personal Area Network (PAN), Mesh Network, Internet, etc.) and receive information indicating the location, capacity, configuration, availability, and various characteristics of other vehicles expected to be at or near the determined pick-up and / or drop-off location. In one exemplary implementation, the autonomous vehicle may coordinate passenger pick-up and / or drop-off with one or more other vehicles based on the passenger's schedule, physical condition, time and space requirements for the passenger to enter / exit the autonomous vehicle, the presence of obstacles or hazardous conditions at or near the passenger drop-off and pick-up site, traffic conditions, weather conditions, or any combination thereof.In some embodiments, when an autonomous vehicle is at or near a pick-up and / or drop-off location (or approaching a pick-up and / or drop-off location), it may communicate with other vehicles (e.g., via a PC5 link) to request temporary entry into or exit from a parking spot held by one of the other vehicles. In response to the request, the other vehicle may adjust its attitude and position, or temporarily leave the spot, allowing the autonomous vehicle to temporarily use the parking spot for passenger drop-off and / or pick-up.

[0112]

[0131] In some cases, the autonomous vehicle 300 is capable of identifying a physical disability or limitation of the first passenger. Based at least in part on the identified physical disability or limitation and one or more attributes of the selected drop-off and pick-up location 510, the autonomous vehicle 300 is capable of determining whether the first passenger requires additional time or space to get out of the autonomous vehicle 300. One or more attributes of the selected drop-off and pick-up location 510 may include, but are not limited to, one or more of the following: puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions (e.g., fire hydrants, walls, trees), weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of the identified drop-off or pick-up location, or a space less than a certain amount in front of or behind the autonomous vehicle 300.

[0113]

[0132] In some implementations, the autonomous vehicle 300 can also determine whether each passenger riding in (or being made to ride in) the autonomous vehicle 300 is accompanied by an infant, child seat, or small child, and / or is traveling with an amount of luggage, cargo, or equipment that requires additional time and / or space to enter or exit the autonomous vehicle. In some embodiments, the amount of luggage, cargo, or equipment deemed to require additional time and / or space can be based on the total weight of the luggage, cargo, or equipment, the total size or volume of the luggage, cargo, or equipment, the passenger's physical attributes, historical data indicating the time and / or space required by the passenger for one or more previous rides in the autonomous vehicle, or any combination thereof. The autonomous vehicle 300 can also determine whether each passenger requires additional time and / or space to load while the passenger is on board and to load and / or space to unload while the passenger is disembarking. For example, a passenger traveling with skis, poles, and camping equipment will require more time and more space in front of the autonomous vehicle 300 to load and unload the skis, poles, and camping equipment than other passengers traveling with any such equipment. As another example, a passenger traveling with an infant in a child seat will require more time and more space to the side of the autonomous vehicle 300 to load and unload the infant and child seat than other passengers traveling with a child. Therefore, in some cases, the autonomous vehicle 300 may take into account the additional time and / or space required by each passenger when deciding whether to maintain the selected drop-off and pick-up location 510 or to determine one or more viable alternative pick-up and pick-up locations.The additional space may correspond to one or more of the following areas: a first area adjacent to the front end of the autonomous vehicle 300, a second area adjacent to the rear end of the autonomous vehicle 300, a third area adjacent to the passenger side of the autonomous vehicle 300, or a fourth area adjacent to the driver's side of the autonomous vehicle 300.

[0114]

[0133] In some cases, the autonomous vehicle 300 may also consider one or more attributes of the selected drop-off and pick-up locations 510 when determining whether each passenger needs additional time or space to enter the autonomous vehicle 300 at the pick-up location and to exit the autonomous vehicle 300 at the drop-off location. For example, if the autonomous vehicle 300 were to stop or park at the selected drop-off and pick-up location 510, and the area adjacent to the front, rear, or exit side of the autonomous vehicle 300 fell below a certain value, the autonomous vehicle 300 could determine that each passenger needed more time and / or space than was available at the selected drop-off and pick-up location 510.

[0115]

[0134] Figure 5B shows illustration 500B illustrating the autonomous vehicle 300 moving along street 501 toward a selected drop-off and pick-up location 510. When the autonomous vehicle 300 has come within a certain range of the selected drop-off and pick-up location 510, the autonomous vehicle 300 may determine that a first passenger will need more space and / or time to exit the autonomous vehicle 300 than the selected drop-off location 510 allows. The autonomous vehicle 300 may modify the selected drop-off location 510 for the first passenger. Similarly, the autonomous vehicle 300 may determine that a second passenger will need more space and / or time to enter the autonomous vehicle 300 than the selected pick-up location 510 allows. Based on that determination, the autonomous vehicle 300 may modify the selected pick-up location 510 for the second passenger. In response to the determination that the first and second passengers need additional time and / or space, the autonomous vehicle 300 may select an alternative drop-off or pick-up location 540.

[0116]

[0135] Figure 5C shows illustration 500C illustrating where the autonomous vehicle 300 selects an alternative drop-off and pick-up location 540. The alternative location 540 is located approximately midway between home 520 and intersection 504. If home 520 is the destination of the first passenger, the first passenger can be expected to exit the autonomous vehicle 300 at the alternative location 540 and walk along route 543 to home 520. Similarly, if home 520 is the starting point for the second passenger, the second passenger can be expected to walk from home 520 along route 543 to the alternative pick-up location 540. In some implementations, the alternative drop-off and pick-up location 540 can be selected from several different alternative drop-off or pick-up locations within distance of the selected drop-off and pick-up location 510. These several different alternative drop-off or pick-up locations can be identified or determined based on one or more (but not limited to) of map data, LIDAR sensor data, surrounding area images, surrounding area video, RADAR, or passenger input. In some cases, the autonomous vehicle 300 can select various alternative drop-off locations based at least partially on the physical limitations of the first passenger, or the presence of an infant, child seat, or child traveling with the first passenger. In other implementations, the autonomous vehicle 300 can determine that a selected drop-off and pick-up location 510 is not feasible based at least partially on one or more physical attributes of the first passenger. The autonomous vehicle 300 can identify one or more feasible alternative drop-off locations based at least partially on one or more physical attributes of the first passenger.

[0117]

[0136] In the example shown in Figure 5C, the autonomous vehicle 300 may determine that a first distance 541 between the second vehicle 532 and the rear end of the autonomous vehicle 300 provides sufficient space and / or time for a departing passenger to retrieve luggage and other items from the trunk of the autonomous vehicle 300. The autonomous vehicle 300 may also determine that the first distance 541 provides sufficient space and / or time for a boarding passenger to load luggage and other items into the trunk of the autonomous vehicle 300. Similarly, the autonomous vehicle 300 may determine that a second distance 542 between the third vehicle 533 and the front end of the autonomous vehicle 300 provides sufficient space and / or time for a departing passenger to retrieve equipment and items (such as bicycles and skis) placed on the front rack of the autonomous vehicle 300. The autonomous vehicle 300 may also determine that the second distance 542 provides sufficient space and / or time for the passenger to load equipment and items (such as bicycles and skis) to be placed on the rack at the front of the autonomous vehicle 300. In some implementations, the autonomous vehicle 300 may also estimate or otherwise determine the distance between the alternative location 540 and the home 520 along the expected route 543. In some cases, the autonomous vehicle 300 may inform the first passenger of the estimated distance to the home 520 along the route 543. In some other cases, the autonomous vehicle 300 may also inform the second passenger of the estimated distance from the home 520 to the alternative pick-up location 540 along the route 543.

[0118]

[0137] Some or all of the various alternative drop-off locations can be presented to the first passenger on a user interface, such as a touch-sensitive display. The first passenger can select one of the alternative drop-off locations or indicate their preference. The autonomous vehicle 300 can then travel to the alternative drop-off location selected by the first passenger.

[0119]

[0138] By enabling autonomous vehicles and other vehicles to dynamically change passenger drop-off and pick-up locations based on physical limitations and / or whether one or more passengers require additional time or space to enter or exit the vehicle, vehicles can ensure that passengers requiring extra time or space are dropped off and picked up at locations that provide the additional space and / or time for passengers to enter or exit the vehicle. In this manner, vehicles implementing various aspects of the subject matter disclosed herein can drop off and pick up passengers in a safer and more convenient manner than conventional vehicles.

[0120]

[0139] In some other implementations, the autonomous vehicle 300 may decide to drop off and / or pick up passengers in an area that is close to a scheduled drop-off or pick-up location but is not designated for parking or passenger drop-off or pick-up. For example, if a scheduled drop-off or pick-up location in an urban environment is unavailable (for example, because another vehicle is parked at that location), the autonomous vehicle 300 may decide that temporary double parking provides sufficient time and space for passengers to safely enter and / or exit the autonomous vehicle 300 with minimal impact on traffic, and is also relatively close to the scheduled drop-off or pick-up location (for example, within a certain distance from the scheduled drop-off or pick-up location). As another example, if a scheduled drop-off or pick-up location in a suburban area is inaccessible (for example, blocked by other vehicles), the autonomous vehicle 300 may determine that parking on an adjacent private road provides sufficient time and space for passengers to enter and / or exit the autonomous vehicle 300, and is also relatively close to the scheduled drop-off or pick-up location (for example, within a certain distance from the scheduled drop-off or pick-up location).

[0121]

[0140] Figure 6A shows a flowchart illustrating exemplary operation 600 for determining passenger drop-off or pick-up locations in several implementation configurations. Operation 600 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In block 602, the device can determine expected entry or exit points for passengers of the vehicle. In block 604, the device can detect whether an obstacle or hazardous condition is present at or near the site. In block 606, in response to the detection of an obstacle or hazardous condition at or near the site, the device can determine a drop-off or pick-up location associated with the site, at least in part, based on the expected entry or exit points for passengers of the vehicle and the detected obstacle or hazardous condition.

[0122]

[0141] Detected obstacles or hazardous conditions may include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, debris, construction fences, other vehicles, obstructions (e.g., fire hydrants, walls, trees, etc.), weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, insufficient clearance in front of or behind a vehicle, or any combination thereof. In some implementations, a vehicle may use the detection of snowdrifts or snowdrifts as an indicator of hidden obstacles beneath the snow. In some embodiments, a vehicle may be able to bypass or otherwise avoid detected snowdrifts or snowdrifts.

[0123]

[0142] In some cases, determining the drop-off or pick-up location can also be based on whether the expected entry or exit point for each passenger and the detected obstacle or hazardous condition are on the same side of the vehicle. For example, if the detected obstacle or hazardous condition and the expected entry or exit point for each passenger are on the same side of the vehicle, the device can determine an alternative drop-off or pick-up location for each passenger. The vehicle can then drop off or pick up each passenger at that alternative location. Conversely, if the detected obstacle or hazardous condition and the expected entry or exit point for each passenger are on different sides of the vehicle, the device can maintain the determined drop-off or pick-up location for each passenger. The vehicle can then drop off or pick up each passenger at the original drop-off or pick-up location.

[0124]

[0143] Alternative drop-off or pick-up locations can be determined from a number of different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location. In some cases, this distance can be any appropriate threshold distance that is long enough to ensure that the passenger's path to or from the vehicle is not blocked or made unsafe by detected obstacles. The distance can also be short enough to avoid, or at least reduce, inconvenience for the passenger. In one exemplary implementation, multiple alternative drop-off or pick-up locations can be determined based on map data, LIDAR sensor data, images of the surrounding area, video of the surrounding area, RADAR, passenger input, or any combination thereof.

[0125]

[0144] In some implementations, determining an alternative drop-off or pick-up location can be based at least partially on one or more conditions associated with the passenger. In some cases, determining an alternative drop-off or pick-up location can be based at least partially on the passenger's physical disability or limitation (which can be considered the passenger's first condition). For example, if the passenger has difficulty walking or uses a wheelchair, the vehicle can determine an alternative drop-off or pick-up location closer to the identified drop-off or pick-up location, and an alternative drop-off or pick-up location that provides wheelchair access. In other cases, determining an alternative drop-off or pick-up location can be based at least partially on the presence of an infant or child accompanying the passenger (which can be considered the passenger's second condition). For example, if the passenger is traveling with an infant, the vehicle can determine an alternative drop-off or pick-up location closer to the identified drop-off or pick-up location, and an alternative drop-off or pick-up location equipped with a changing table. In some other cases, determining an alternative drop-off or pick-up location may be based at least in part on whether the passenger is traveling with a relatively large amount of luggage, cargo, or equipment (which can be considered a third state of the passenger). For example, if the passenger is traveling with a relatively large amount of luggage, the vehicle may determine an alternative drop-off or pick-up location that provides more room for the passenger to load or unload the luggage and / or gives the passenger additional time to load or unload the luggage. In some other cases, determining an alternative drop-off or pick-up location may be based at least in part on the passenger's age. For example, if the passenger is a child (e.g., under 13 years old), the vehicle may determine an alternative drop-off or pick-up location that provides room for an adult to assist the child in getting off the vehicle.

[0126]

[0145] Figure 6B shows a flowchart illustrating an exemplary operation 610 for determining a passenger alighting or boarding location in several implementations. Operation 610 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 610 can be performed after determining the alighting or boarding location in block 606 of Figure 6A. For example, in block 612, the device can maintain the determined alighting or boarding location in response to determining that the expected entry or exit point for the passenger and the detected obstacle or hazardous condition are on opposite sides of the vehicle.

[0127]

[0146] Figure 7A shows a flowchart illustrating exemplary operation 700 for determining a passenger drop-off or pick-up location in several implementations. Operation 700 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 700 can be performed after determining the passenger drop-off or pick-up location in block 606 of Figure 6A. For example, in block 702, the device can determine one alternative drop-off or pick-up location from several different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location. In this way, the vehicle can ensure that detected obstacles or hazardous conditions do not obstruct the passenger's path to or from the vehicle, while also ensuring that the alternative drop-off or pick-up location is within a certain distance from the original drop-off or pick-up location.

[0128]

[0147] Figure 7B shows a flowchart illustrating an exemplary operation 710 for determining a passenger drop-off or pick-up location in several implementations. Operation 710 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 710 can be performed concurrently with determining an alternative drop-off or pick-up location in block 702 of Figure 7A. In other implementations, operation 710 can be performed after determining an alternative drop-off or pick-up location in block 702 of Figure 7A. For example, in block 712, the device can receive one or more preferred drop-off or pick-up locations from a number of different alternative drop-off or pick-up locations. In block 714, the device can determine an alternative drop-off or pick-up location based on one or more preferred drop-off or pick-up locations.

[0129]

[0148] In some cases, the vehicle may present some of the alternative drop-off or pick-up locations on a touch-sensitive display accessible to the passenger. The passenger may interact with the touch-sensitive display to decide on one of the alternative drop-off or pick-up locations. For example, the alternative drop-off or pick-up locations may be presented on the touch-sensitive display as selectable icons. The passenger may select a particular alternative drop-off or pick-up location by touching, tapping, or otherwise interacting with the selectable icon corresponding to that icon. In some cases, the touch-sensitive display may be the touch-sensitive display screen of a mobile computing device associated with the passenger. In some other cases, the touch-sensitive display may be provided inside the vehicle and configured to be accessible to the passenger being transported by the vehicle. The vehicle may decide on the alternative drop-off or pick-up location indicated by the passenger. The vehicle may then travel to the selected alternative drop-off or pick-up location identified by the passenger. In some other cases, the vehicle may present some of the alternative drop-off or pick-up locations on the touch-sensitive display of the passenger's user device. The passenger can then interact with the user device to decide on one of the alternative drop-off or pick-up locations.

[0130]

[0149] Figure 8A shows a flowchart illustrating exemplary operation 800 for determining alternative drop-off locations in several implementations. Operation 800 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 800 can be performed after determining alternative drop-off or pick-up locations in block 606 of Figure 6A. For example, in block 802, the device can determine one or more alternative drop-off locations based at least in part on one or more physical attributes of the passenger.

[0131]

[0150] Figure 8B shows a flowchart illustrating an exemplary operation 810 for determining one of several alternative drop-off locations in several implementations. Operation 810 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 810 can be performed after determining one or more alternative drop-off locations in block 802 of Figure 8A. For example, in block 812, the device can determine one of the alternative drop-off locations from the passenger. In block 814, the device can cause the vehicle to drop off the passenger at the determined alternative drop-off location.

[0132]

[0151] In one exemplary implementation, alternative drop-off or pick-up locations may be presented on a touch-sensitive display as selectable icons. Passengers can select a particular alternative drop-off or pick-up location by touching, tapping, or otherwise interacting with the selectable icon corresponding to that location. In some cases, the touch-sensitive display may be the touch-sensitive display screen of a mobile computing device associated with the passenger. In some other cases, the touch-sensitive display may be provided inside the vehicle and configured to be viewable by passengers being transported by the vehicle.

[0133]

[0152] Figure 9 shows a flowchart illustrating exemplary actions 900 for determining passenger disembarkation or boarding locations in several implementations. Action 900 can be performed by a vehicle (but not limited to) such as the vehicle controller 310 in Figure 3, together with a vehicle (but not limited to) such as the autonomous vehicle 300 in Figure 3. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, action 900 can be performed in conjunction with determining one of the alternative disembarkation locations in block 812 of Figure 8B. For example, in block 902, the device can receive an indication of the passenger's intention to ignore a detected obstacle or hazardous condition. In block 904, in response to receiving the indication of the passenger's intention to ignore a detected obstacle or hazardous condition, the device can maintain the determined disembarkation or boarding location. In some cases, the passenger's intention to ignore a specific obstacle or hazardous condition can be stored in the passenger profile. In some other cases, a passenger's intention to disregard a particular obstacle or dangerous condition may be received from the passenger.

[0134]

[0153] Figure 10 shows a flowchart illustrating an exemplary operation 1000 for determining the location of an obstacle or hazardous condition in several implementations. Operation 1000 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 1000 can be an example of detecting whether an obstacle or hazardous condition is present at or near the site in block 604 of Figure 6A. For example, in block 1002, the device can receive one or more sensor measurements indicating the presence of an object in the surrounding environment. In block 1004, the device can generate a three-dimensional map of points corresponding to the locations of the detected objects. In block 1006, the device can determine the location of an obstacle or hazardous condition in the surrounding area based at least partially on the three-dimensional point map.

[0135]

[0154] Figure 11 shows a flowchart illustrating an exemplary operation 1100 for determining a passenger disembarkation or boarding location in several other implementations. Operation 1100 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 1100 can be performed after determining the disembarkation location in block 606 of Figure 6A. For example, in block 1102, the device can determine the passenger's seating position in the vehicle. In block 1104, the device can determine one or more alternative disembarkation locations based on the passenger's seating position relative to the expected boarding or alighting point for the passenger in the vehicle.

[0136]

[0155] Figure 12 shows a flowchart illustrating an exemplary operation 1200 for determining an alternative drop-off location in several other implementations. Operation 1200 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 1200 can be performed after determining the drop-off or pick-up location in block 606 of Figure 6A. For example, in block 1202, the device can determine whether the passenger needs additional time or space to enter or exit the vehicle, at least in part, based on one or more attributes of the determined drop-off or pick-up location, one or more attributes of the passenger, one or more physical limitations or disabilities (handicap) of the passenger, or any combination thereof. In block 1204, the device is capable of determining one or more alternative drop-off or boarding locations in response to determining that a passenger requires additional time or space to enter or exit the vehicle.

[0137]

[0156] Figure 13 shows a flowchart illustrating an exemplary operation 1300 for determining a passenger alighting or boarding location in several other implementations. Operation 1300 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In block 1302, the device can determine a alighting or boarding location for passengers of the vehicle. In block 1304, the device can determine whether the passenger requires additional time or space to enter or exit the vehicle, at least in part on one or more attributes of the determined alighting or boarding location, one or more attributes of the passenger, one or more physical limitations or disabilities of the passenger, or any combination thereof. In block 1306, the device is capable of determining one or more alternative drop-off or boarding locations in response to a determination that a passenger requires additional time or space to enter or exit the vehicle.

[0138]

[0157] One or more attributes of a determined drop-off or pick-up location may include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, trash, construction fences, other vehicles, obstructions (e.g., fire hydrants, walls, trees, etc.), weather conditions, firebreaks, no-parking zones, or closed lanes within the vicinity of the identified drop-off or pick-up location, less than a certain amount of space in front of or behind the vehicle, or any combination thereof.

[0139]

[0158] In some implementations, the decision that passengers require additional time and / or space to enter or exit a vehicle may be based on the number of passengers in the vehicle exceeding a set value. In other implementations, the decision that passengers require additional time and / or space to enter or exit a vehicle may be based on the presence or expected presence of cargo in the vehicle's trunk, equipment racks attached to the vehicle (such as bicycle racks, luggage racks, ski racks, etc.), the presence or expected presence of infants or children traveling with passengers, the presence or expected presence of child seats in the vehicle, or any combination thereof.

[0140]

[0159] In some implementations, the vehicle may use one or more of sensors 372 and 376 to detect one or more physical limitations or disabilities of a passenger. In other implementations, a passenger may inform the vehicle (or vehicle controller) of one or more physical limitations or disabilities of the passenger. In some cases, a passenger may indicate one or more physical limitations or disabilities in their passenger profile. The vehicle may retrieve one or more physical limitations or disabilities of a passenger by accessing the passenger profile. In other cases, a passenger may use a mobile computing device to send notifications of one or more physical limitations or disabilities to the vehicle.

[0141]

[0160] In various implementation configurations, the additional space can be a first area adjacent to the rear of the vehicle, a second area adjacent to the front of the vehicle, a third area adjacent to the passenger side of the vehicle, a fourth area adjacent to the driver's side of the vehicle, or any combination thereof.

[0142]

[0161] Figure 14 shows a flowchart illustrating an exemplary operation 1400 for determining a passenger drop-off or pick-up location in several other implementations. Operation 1400 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In block 1402, the device can determine a passenger drop-off or pick-up location. In some cases, the vehicle may be transporting one or more passengers to the determined location. In such cases, the vehicle can drop off one or more passengers at the determined location. In various implementations, the vehicle may continuously or periodically receive one or more sensor readings indicating the presence of objects or hazardous conditions in the surrounding environment. For example, as described with reference to one or more of the operations 600, 700, 710, 800, 810, 900, 1000, 1100, 1200, or 1300 in Figures 6, 7A, 7B, 8A, 8B, 9, 10, 11, 12, and 13 respectively, if an obstacle or hazardous condition is detected within a specific area of ​​the determined location, the vehicle may determine an alternative disembarkation location.

[0143]

[0162] In block 1404, the device can cause the vehicle to park at or near a determined location. In some cases, the vehicle may be able to park temporarily at the determined location (for example, for a limited period of time). For example, if the vehicle is dropping off one or more passengers at the determined location, the vehicle may be able to detect available parking spaces at the determined location. Of course, the vehicle may also be able to detect available parking spaces when it is not transporting passengers to the determined location. In either scenario, the vehicle may be able to park in an available space at the determined location. In other cases, for example, when there are no available parking spaces at the determined location (or when an obstacle or hazardous condition is detected at the determined location), the vehicle may be able to park at an alternative location close to the determined location (such as within a certain distance from the determined location). In some other cases, for example, when there are no available parking spaces at any alternative location within a certain distance from the determined location, the vehicle may be able to continue driving around the area of ​​the determined location.

[0144]

[0163] In block 1406, the device can cause the vehicle to wait for one or more passengers to board at or near a determined location. In block 1408, the device can receive one or more sensor readings indicating the presence of objects or hazardous conditions in the surrounding environment. For example, when the vehicle is parked at a determined location, the vehicle can monitor a specific area around the determined location for obstacles or hazardous conditions, receive indications of the presence of objects or hazardous conditions, or any combination thereof. In block 1410, if the device does not detect any obstacles or hazardous conditions, the device can continue monitoring the surrounding environment in block 1408.

[0145]

[0164] However, if in block 1410 the device detects the presence of an obstacle or hazardous condition in the surrounding environment (for example, while the vehicle is waiting to pick up one or more passengers at the designated location or an alternative location), then in block 1412 the device may also determine whether the detected obstacle or hazardous condition can be ignored by each passenger. If the detected obstacle or hazardous condition can be ignored by each passenger, the device may continue in block 1408 to determine whether there are any other obstacles or hazardous conditions. For example, if the device detects a puddle while the vehicle is parked at an alternative location and is to pick up one or more passengers at the designated location, the device may ignore the puddle (for example, because the puddle does not obstruct the passenger's path).

[0146]

[0165] Conversely, if the detected obstacle or hazardous condition cannot be ignored by each passenger in block 1412, the device determines a new boarding location in block 1414. For example, if the device detects uneven pavement while the vehicle is parked at the determined location and is to pick up one or more passengers at the determined location, the device cannot ignore the uneven pavement (for example, because the uneven pavement may obstruct the passengers' path to the vehicle). Determining a new location, as well as taking into account the various passenger attributes, conditions, and / or preferences, may include any number of the operations described above.

[0147]

[0166] Detected obstacles or hazardous conditions may include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, debris, construction fences, other vehicles, obstructions (e.g., fire hydrants, walls, trees, etc.), weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, insufficient clearance in front of or behind the vehicle, or any other obstacles or conditions that prevent passengers from entering or exiting the vehicle. In some implementations, the selection of alternative drop-off or pick-up locations may be based on the expected entry or exit points for passengers in the vehicle, the passenger's seating position relative to the expected entry or exit points for passengers in the vehicle, any physical disabilities or limitations of the passenger, or any combination thereof.

[0148]

[0167] In some implementations, the device may send notifications to passengers of detected obstacles or hazardous conditions. These notifications may be any appropriate notification, including but not limited to push notifications, text messages, emails, or automated voice calls, which can be sent to passengers' mobile computing devices. In some other implementations, the vehicle may drive to an alternative drop-off or pick-up location in response to the detection of an obstacle or hazardous condition.

[0149]

[0168] Figure 15 shows a flowchart illustrating an exemplary operation 1500 for determining a passenger drop-off or pick-up location in several other implementations. Operation 1500 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In block 1502, the device can determine a drop-off or pick-up location for passengers of the vehicle. In block 1504, the device can detect the presence of an obstacle or hazardous condition within the area of ​​the drop-off or pick-up location while the vehicle is within a certain distance from the drop-off or pick-up location. In block 1506, the device can determine an alternative drop-off or pick-up location based on the presence of an obstacle or hazardous condition in that area.

[0150]

[0169] Figure 16 shows a flowchart illustrating an exemplary operation 1600 for determining a passenger drop-off or pick-up location in several other implementations. Operation 1600 can be performed by a vehicle (but not limited to) such as the vehicle controller 310 in Figure 3, together with a vehicle (but not limited to) such as the autonomous vehicle 300 in Figure 3. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 1600 can be performed after determining the drop-off or pick-up location in block 1502 of Figure 15. For example, in block 1602, the vehicle can transport the passenger to an alternative drop-off or pick-up location.

[0151]

[0170] Figure 17 shows a flowchart illustrating an exemplary operation 1700 for determining a passenger alighting or boarding location in several other implementations. Operation 1700 can be performed by a device, such as the vehicle controller 310 in Figure 3, together with a vehicle, such as the autonomous vehicle 300 in Figure 3, but not limited to that. In some cases, the device can be implemented inside the vehicle. In other cases, the device can be located outside the vehicle. In some other embodiments, the device can be the vehicle (or at least a part of the vehicle). In some implementations, operation 1700 can be performed after determining the alighting or boarding location in block 1502 of Figure 15. For example, in block 1702, the device can receive an indication that the alighting or boarding location is not feasible or convenient for the passenger. The device can determine an alternative alighting or boarding location at least in part based on the received indication.

[0152]

[0171] Implementation examples are described in the following numbered sections. 1. Memory and, One or more processors that are communicatively coupled to memory and A device including one or more processors, To determine the expected entry or exit points for passengers on the vehicle, To detect whether there are obstacles or hazardous conditions at or near the site, A device configured to, in response to detection of the presence of an obstacle or hazardous condition at or near the site, determine the expected entry or exit point for passengers of a vehicle, and, at least in part, the location of the detected obstacle or hazardous condition, an associated disembarking or boarding location at the site. 2. The device described in Clause 1, in which the detected obstacle or hazardous condition includes puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, debris, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of identified drop-off or pick-up locations, insufficient clearance in front of or behind a vehicle, or any combination thereof. 3. The device described in either Clause 1 or 2, which further determines the disembarking or boarding location based on the passenger's seating position. 4. A device described in any of clauses 1 to 3, which determines the disembarking or boarding location based on the expected entry or exit point for passengers of the vehicle and whether the detected obstacle or hazardous condition is on the same side of the vehicle. 5. One or more processors further, The device described in any of clauses 1 to 4, configured to determine one alternative drop-off or pick-up location from several different alternative drop-off or pick-up locations within a certain distance from a determined drop-off or pick-up location. 6. Multiple different alternative drop-off or pick-up locations based on map data, coherent light sensing system data, surrounding area images, surrounding area video, RADAR, passenger input, or any combination thereof, as described in Clause 5. 7. The apparatus described in Clause 5, which has multiple different alternative drop-off or pick-up locations based at least in part on the passenger's physical limitations, the passenger's age, the presence of an infant or child accompanying the passenger, or any combination thereof. 8.1 or more processors further, Receiving one or more preferred drop-off or pick-up locations from multiple different alternative drop-off or pick-up locations, The apparatus according to Clause 5, configured to determine an alternative drop-off or pick-up location based on one or more preferred drop-off or pick-up locations. 9.1 or more processors further, A device according to any one of the clauses 1 to 8, configured to determine one or more alternative disembarkation locations based at least in part on one or more physical attributes of a passenger. 10.1 or more processors further, The device described in Clause 9, which is configured to obtain one of the alternative disembarkation locations from a passenger. 11. Any device described in any of clauses 1 to 10, further including a vehicle controller implemented within the vehicle. 12. Any of the devices described in any of clauses 1 to 10, further including a vehicle controller implemented in a server or cloud-based vehicle control system. 13. One or more processors further, Receiving an indication from the passenger that they intend to disregard detected obstacles or dangerous conditions, A device as described in any of Clauses 1 to 12, configured to maintain a determined disembarkation or boarding location in response to receiving an indication from a passenger that they intend to disregard a detected obstacle or dangerous condition. 14. The ability to detect obstacles or hazardous conditions. Receiving one or more sensor measurements indicating the presence of an object in the surrounding environment, To generate a 3D map of points corresponding to the location of the detected object, An apparatus according to any of clauses 1 to 14, which includes determining the location of obstacles or hazardous conditions in the surrounding area based on a three-dimensional point map. 15. One or more processors further, Determining the seating positions of passengers in the vehicle, A device according to any one of the clauses 1 to 14, configured to determine one or more alternative disembarking locations based on the seating positions of passengers relative to expected entry or exit points for passengers of a vehicle. 16. The device described in Clause 15, which determines one or more alternative disembarkation locations based on the determination that the passenger's seating position and the expected entry or exit point are on the same side of the vehicle, regardless of the seating positions of one or more other passengers in the vehicle. 17.1 or more processors further, Determining whether a passenger requires additional time or space to enter or exit a vehicle, based at least in part on one or more attributes of the determined disembarking or boarding location, one or more attributes of the passenger, one or more physical limitations or disabilities of the passenger, or any combination thereof, A device according to any one of the clauses 1 to 16, configured to determine one or more alternative drop-off or boarding locations in response to a passenger deciding that they require additional time or space to enter or exit a vehicle. 18. A method for controlling one or more operations of a vehicle, To determine the expected entry or exit points for passengers on the vehicle, To detect whether there are obstacles or hazardous conditions at or near the site, A method comprising, in response to detection of the presence of an obstacle or hazardous condition at or near the site, determining the location of an expected entry or exit point for passengers of a vehicle, and at least in part, the detected obstacle or hazardous condition, an associated disembarking or boarding location at the site. 19. The method described in Clause 18, where the detected obstruction or hazardous condition includes, but is not limited to, a puddle, ice floe, pothole, uneven pavement, high curb, storm drain, debris, construction fence, other vehicle, obstruction, weather conditions, firebreak, no-parking zone, closed lane within the vicinity of an identified drop-off or pick-up location, less than a certain amount of clearance in front of or behind a vehicle, or any combination thereof. 20. Determining the disembarking or boarding location based on the passenger's seating position, as described in any of the methods in clauses 18-19. 21. The method of any of the provisions 18-20, in which the location of alighting or boarding is determined based on the expected entry or exit point for passengers of the vehicle and whether the detected obstacle or hazardous condition is on the same side of the vehicle. 22. Receiving one or more preferred drop-off or pick-up locations from multiple different alternative drop-off or pick-up locations, Determining an alternative drop-off or pick-up location based on one or more preferred drop-off or pick-up locations. The method described in Clause 22, further including the method described in Clause 22. 23. Determining one or more alternative disembarkation locations based at least in part on one or more physical attributes of the passenger. The method described in any of the clauses 18 to 21, further including the method described in any of the clauses 18 to 21. 24. Determining the seating positions of passengers in the vehicle, Determining one or more alternative disembarking locations based on the passengers' seating positions relative to the expected entry or exit points for the vehicle's passengers. The method described in any of the clauses 18 to 21, further including the method described in any of the clauses 18 to 21. 25. Means for determining the expected entry or exit points for passengers of a vehicle, Means for detecting whether an obstacle or dangerous condition exists at or near the site, In response to the detection of an obstacle or hazardous condition at or near the scene, means for determining the disembarking or boarding location associated with the scene, based at least in part on the expected entry or exit point for vehicle passengers and the detected obstacle or hazardous condition. A system that includes this. 26. Means for determining one or more alternative disembarkation locations based at least in part on one or more physical attributes of a passenger. The systems described in Clause 25, further including the systems described in Clause 25. 27. Means for determining the seating position of passengers in a vehicle, Means for determining one or more alternative disembarking locations based on the seating position of passengers relative to the expected entry or exit points of a vehicle, and The systems described in any of clauses 25-26, further including the systems described in any of clauses 25-26. 28. A non-temporary computer-readable medium storing instructions for controlling a vehicle, wherein the execution of instructions by one or more processors of the device is To determine the expected entry or exit points for passengers on the vehicle, To detect whether there are obstacles or hazardous conditions at or near the site, A non-temporary computer-readable medium that, in response to detection of the presence of an obstacle or hazardous condition at or near the site, causes a vehicle to perform actions including determining the location of an expected entry or exit point for the vehicle's passengers, and at least in part, the detected obstacle or hazardous condition, an associated drop-off or pick-up location at the site. 29. The execution of instructions by one or more processors A non-temporary computer-readable medium as described in Clause 28, which causes the vehicle to perform an action that further includes determining one or more alternative disembarkation locations based at least in part on one or more physical attributes of a passenger. 30. Execution of instructions by one or more processors Determining the seating positions of passengers in the vehicle, A non-temporary computer-readable medium as described in any of clauses 28 to 29, which causes a vehicle to perform an action that further includes determining one or more alternative disembarking locations based on the seating positions of passengers relative to expected entry or exit points for passengers of the vehicle. 31. Memory and, One or more processors that are communicatively coupled to memory and A device including one or more processors, To determine the disembarking or boarding locations for passengers on the vehicle, Determining whether a passenger requires additional time or space to enter or exit a vehicle, based at least in part on one or more attributes of the determined disembarking or boarding location, one or more physical attributes of the passenger, one or more physical limitations or disabilities of the passenger, or any combination thereof; A device configured to determine one or more alternative drop-off or boarding locations in response to a passenger deciding that they require additional time or space to enter or exit a vehicle. 32. The device described in Clause 31, in which one or more attributes of the determined drop-off or pick-up location include puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, litter, construction fences, other vehicles, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of the identified drop-off or pick-up location, less than a certain amount of space in front of or behind the vehicle, or any combination thereof. 33. Devices described in any of Clauses 31-32 that further determine whether a passenger requires additional time or space to enter or exit the vehicle, based on the presence or expected presence of cargo in the vehicle's trunk, equipment racks attached to the vehicle, the presence or expected presence of an infant or child traveling with a passenger, the presence or expected presence of a child seat in the vehicle, or any combination thereof. 34. The device described in any of clauses 31 to 33, wherein the space includes a first area adjacent to the rear end of the vehicle, a second area adjacent to the front end of the vehicle, a third area adjacent to the passenger side of the vehicle, a fourth area adjacent to the driver's side of the vehicle, or any combination thereof. 35. The device described in any of clauses 31 to 34, wherein the alternative drop-off or pick-up location is determined from a number of alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location. 36.1 Determining alternative drop-off or pick-up locations, Displaying alternative drop-off or pick-up locations on a display screen accessible to passengers, The driver receives a sign from the passenger indicating one of the alternative drop-off or pick-up locations presented, A device as described in any of clauses 31 to 35, which includes determining the disembarking or boarding location in response to a received indication. 37. The device described in any of the clauses 31 to 36, which includes receiving a display from a mobile computing device associated with at least one passenger who determines that they need additional time or space. 38. Memory and, One or more processors that are communicatively coupled to memory and A device including one or more processors, To determine the passenger disembarkation or boarding locations for passengers on the vehicle, Parking the vehicle in or near the designated location, Waiting at or near the designated location for one or more passengers to board, Receiving sensor measurements that indicate the presence of objects in the surrounding environment, A device configured to determine a new passenger boarding location in response to the presence of objects in the surrounding environment. 39. The device described in Clause 38, in which the detected obstacle or hazardous condition includes, but is not limited to, a puddle, ice floe, pothole, uneven pavement, high curb, storm drain, debris, construction fence, other vehicle, obstruction, weather conditions, firebreak, no-parking zone, closed lane within the vicinity of an identified drop-off or pick-up location, less than a certain amount of clearance in front of or behind a vehicle, or any combination thereof. 40. A device described in any of clauses 38-39 for determining an alternative disembarking or boarding location based on the expected entry or exit points for passengers of the vehicle, the seating position of passengers relative to the expected entry or exit points for passengers of the vehicle, a passenger's physical disability or limitation, or any combination thereof. 41. The device described in any of clauses 38-40, which determines whether an alternative drop-off or pick-up location requires additional time or space for passengers to enter or exit the vehicle. 42. The device as described in Clause 41, wherein the additional space includes a first area adjacent to the rear end of the vehicle, a second area adjacent to the front end of the vehicle, a third area adjacent to the passenger side of the vehicle, a fourth area adjacent to the driver's side of the vehicle, or any combination thereof. 43. Memory and, One or more processors that are communicatively coupled to memory and A device including one or more processors, To determine the disembarking or boarding locations for passengers on the vehicle, Detecting the presence of obstacles or hazardous conditions within the area of ​​a drop-off or pick-up location while the vehicle is parked at the drop-off or pick-up location, A device configured to determine an alternative disembarking or boarding location based on the presence of obstacles or hazardous conditions in that area. 44. The device described in Clause 43, in which the detected obstacle or hazardous condition includes, but is not limited to, a puddle, ice floe, pothole, uneven pavement, high curb, storm drain, debris, construction fence, other vehicle, obstruction, weather conditions, firebreak, no-parking zone, closed lane within the vicinity of an identified drop-off or pick-up location, a certain amount of clearance in front of or behind the vehicle, or any combination thereof. 45. A device described in any of clauses 43 to 44, on which the determination of an alternative disembarking or boarding location is based on the expected entry or exit point for the passengers of the vehicle, the seating position of the passenger relative to the expected entry or exit point for the passengers of the vehicle, the physical disability or limitation of the passenger, or any combination thereof. 46. ​​The device described in any of clauses 43-45, which determines whether an alternative drop-off or pick-up location requires additional time or space for passengers to enter or exit the vehicle. 47.1 or more processors further, A device as described in any of clauses 43 to 46, configured to drive to an alternative drop-off or pick-up location. 48.1 or more processors further, The device described in Article 47, which is configured to receive a notification that an alternative drop-off or pick-up location is not feasible or convenient for the passenger.

[0153]

[0172] As used herein, the phrase “at least one of” the list of items refers to any combination of those items that include a single member. For example, “at least one of a, b, or c” is intended to cover a, b, c, ab, ac, bc, and abc.

[0154]

[0173] The various exemplary logic, logic blocks, modules, circuits, and algorithmic processes described in relation to the implementation forms disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. Hardware-software compatibility is generally described in terms of functionality and is illustrated in the various exemplary components, blocks, modules, circuits, and processes described above. Whether such functionality is implemented in hardware or software depends on the specific application and the design constraints imposed on the system as a whole.

[0155]

[0174] Hardware and data processing devices used to implement the various exemplary logics, logic blocks, modules, and circuits described in relation to the embodiments disclosed herein can be implemented or executed using general-purpose single-chip or multi-chip processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. The general-purpose processor can be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. The processor can also be implemented as a combination of computing devices (such as a combination of a DSP and a microprocessor), multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. In some implementations, specific processes and methods can be performed by circuits specific to a given function.

[0156]

[0175] In one or more embodiments, the functions described may be implemented in hardware, digital electronic circuits, computer software, firmware, or any combination thereof, including the structures disclosed herein and their structural equivalents. Implementations of the subject matter described herein may also be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage medium for execution by a data processing device or for controlling the operation of a data processing device.

[0157]

[0176] When implemented in software, the functionality can be stored on a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. The processes of the methods or algorithms disclosed herein can be implemented in a processor-executable software module that can reside on a computer-readable medium. The computer-readable medium includes both computer storage and communication media, including any medium that can enable the transfer of computer programs from one location to another. The storage medium can be any available medium that can be accessed by a computer. Such computer-readable media can include, but are not limited to, RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures, and that can be accessed by a computer. Furthermore, any connection can be appropriately referred to as computer-readable medium. As used herein, "disk" and "disc" include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy disks, and Blu-ray discs, where a disk typically reproduces data magnetically, while a disc reproduces data optically using a laser. Any combination of the above is also included within the scope of computer-readable media.In addition, the operation of a method or algorithm can reside on machine-readable and computer-readable media as one or any combination or set of code and instructions, which can be incorporated into computer program products.

[0158]

[0177] Various modifications to the implementations described herein may be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Therefore, the claims are not intended to be limited to the implementations shown herein, but should be given the broadest scope consistent with the disclosures, principles, and novel features disclosed herein. The invention described in the original claims of this application is listed below. [C1] Memory and One or more processors communicably coupled to the aforementioned memory and A device comprising, wherein one or more processors To determine the expected entry or exit points for passengers on the vehicle, To detect whether there are obstacles or hazardous conditions at or near the site, A device configured to, in response to detection of the presence of an obstacle or hazardous condition at or near the said site, determine a disembarking or boarding location associated with the said site, based at least in part on the expected entry or exit point for the passengers of the said vehicle and the detected obstacle or hazardous condition. [C2] The device according to C1, wherein the detected obstacle or hazardous condition includes puddles, ice flakes, potholes, uneven pavement, high curbs, storm drains, debris, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of the identified drop-off or pick-up location, less than a certain amount of clearance in front of or behind the vehicle, or any combination thereof. [C3] The apparatus according to C1, wherein the location of disembarking or boarding is further determined based on the seating position of the passenger. [C4] The apparatus according to C1, wherein determining the disembarking or boarding location is based on whether the expected entry or exit point for the passengers of the vehicle and the detected obstacle or hazardous condition are on the same side of the vehicle. [C5] The one or more processors further The apparatus according to C1, configured to determine one alternative drop-off or pick-up location from a plurality of different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location. [C6] The apparatus according to C5, wherein the plurality of different alternative drop-off or pick-up locations are based on map data, coherent light sensing system data, images of the surrounding area, video of the surrounding area, RADAR, passenger input, or any combination thereof. [C7] The apparatus according to C5, wherein the plurality of different alternative drop-off or pick-up locations are at least in part based on the passenger's physical limitations, the passenger's age, the presence of infants or children accompanying the passenger, or any combination thereof. [C8] The one or more processors further Receiving one or more preferred drop-off or pick-up locations from multiple different alternative drop-off or pick-up locations, The apparatus according to C5, configured to determine the alternative disembarking or boarding location based on the one or more preferred disembarking or boarding locations. [C9] The one or more processors further The apparatus according to C1, configured to determine one or more alternative disembarking locations based at least in part on one or more physical attributes of the passenger. [C10] The one or more processors further The apparatus according to C9, configured to obtain one of the alternative disembarkation locations from the passenger. [C11] The apparatus according to C1, further comprising a vehicle controller mounted inside the vehicle. [C12] The apparatus according to C1, further comprising a vehicle controller implemented in a server or cloud-based vehicle control system. [C13] The one or more processors further Receiving an indication from the passenger that they intend to disregard the detected obstacle or dangerous condition, The device according to C1, configured to maintain the determined disembarking or boarding location in response to receiving the indication of the passenger's intention to disregard the detected obstacle or dangerous condition. [C14] Detecting the aforementioned obstacle or dangerous condition, Receiving one or more sensor measurements indicating the presence of an object in the surrounding environment, and generating a three-dimensional map of points corresponding to the location of the detected object, The apparatus according to C1, further comprising determining the location of the obstacle or hazardous condition in the surrounding area based on the three-dimensional point map. [C15] The one or more processors further To determine the seating position of the passenger in the vehicle, The apparatus according to C1, configured to determine one or more alternative disembarking locations based on the seating position of the passenger relative to the expected entry or exit point for the passenger of the vehicle. [C16] The apparatus according to C15, wherein the determination of one or more alternative disembarking locations is based on the determination that the seating position of the passenger and the expected entry or exit point are on the same side of the vehicle, regardless of the seating positions of one or more other passengers in the vehicle. [C17] The one or more processors further Determining whether the passenger requires additional time or space to enter or exit the vehicle, based at least in part on one or more attributes of the determined disembarking or boarding location, one or more attributes of the passenger, one or more physical limitations or disabilities of the passenger, or any combination thereof; The apparatus according to C1, configured to determine one or more alternative drop-off or pick-up locations in response to the passenger determining that he or she needs additional time or space to enter or exit the vehicle. [C18] A method for controlling one or more operations of a vehicle, To determine the expected entry or exit points for passengers of the aforementioned vehicle, To detect whether there are obstacles or hazardous conditions at or near the site, A method comprising: in response to detection of the presence of the obstacle or hazardous condition at or near the said site, determining a disembarking or boarding location associated with the said site based at least in part on the expected entry or exit point for the passengers of the said vehicle and the detected obstacle or hazardous condition. [C19] The method according to C18, wherein the detected obstacle or hazardous condition includes puddles, ice floes, potholes, uneven pavement, high curbs, storm drains, debris, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of the identified drop-off or pick-up location, less than a certain amount of clearance in front of or behind the vehicle, or any combination thereof. [C20] The method according to C18, wherein determining the disembarking or boarding location is based on the seating position of the passenger. [C21] The method of C18, wherein determining the disembarking or boarding location is based on whether the expected entry or exit point for the passengers of the vehicle and the detected obstacle or hazardous condition are on the same side of the vehicle. [C22] Receiving one or more preferred drop-off or pick-up locations from multiple different alternative drop-off or pick-up locations, Determining the alternative drop-off or pick-up location based on the one or more preferred drop-off or pick-up locations: A method for C21 that further incorporates these features. [C23] Determining one or more alternative disembarking locations based at least in part on one or more physical attributes of the passenger. A method using C18, which further incorporates these features. [C24] To determine the seating position of the passenger in the vehicle, The method of C18, further comprising determining one or more alternative disembarking locations based on the seating position of the passenger relative to the expected entry or exit point for the passenger of the vehicle. [C25] Means for determining the expected entry or exit points for passengers on a vehicle, Means for detecting whether an obstacle or dangerous condition exists at or near the site, In response to the detection of the presence of the obstacle or hazardous condition at or near the said site, means for determining the disembarking or boarding location associated with the said site, based at least in part on the expected entry or exit point for the passengers of the said vehicle and the detected obstacle or hazardous condition, A system equipped with these features. [C26] Means for determining one or more alternative disembarking locations based at least in part on one or more physical attributes of the passenger. The system described in C25 further includes the features described above. [C27] Means for determining the seating position of the passenger in the vehicle, Means for determining one or more alternative disembarking locations based on the seating position of the passenger relative to the expected entry or exit point of the vehicle with respect to the passenger. The system described in C25 further includes the features described above. [C28] A non-temporary computer-readable medium storing instructions for controlling a vehicle, wherein the execution of the instructions by one or more processors of the device is To determine the expected entry or exit points for passengers of the aforementioned vehicle, To detect whether there are obstacles or hazardous conditions at or near the site, A non-temporary computer-readable medium that causes a vehicle to perform an action comprising, in response to detection of the presence of the obstacle or hazardous condition at or near the said site, determining the location of the expected entry or exit point for the passengers of the vehicle, and at least in part, the location of the detected obstacle or hazardous condition, thereby determining the drop-off or pick-up location associated with the said site. [C29] The execution of the instruction by the one or more processors A non-temporary computer-readable medium according to C28, which causes the vehicle to perform an operation further comprising determining one or more alternative disembarkation locations based at least in part on one or more physical attributes of the passenger. [C30] The execution of the instruction by the one or more processors To determine the seating position of the passenger in the vehicle, A non-temporary computer-readable medium according to C28, which causes the vehicle to perform an operation further comprising determining one or more alternative disembarking locations based on the seating position of the passenger relative to the expected entry or exit point of the vehicle with respect to the passenger.

Claims

1. Memory and One or more processors are communicably coupled to the memory. A device comprising, wherein one or more processors To determine the expected entry or exit points for passengers on the vehicle, To detect whether there are any obstacles or hazardous conditions at or near the site associated with the expected entry point or expected exit point for the passengers of the vehicle, In response to the detection of the presence of the obstacle or hazardous condition at or near the said site, the disembarking or boarding location associated with the said site is determined based at least partially on the expected entry or exit point for the passengers of the said vehicle and the detected obstacle or hazardous condition, To determine the seating position of the passenger in the vehicle, Based on the determination that the seating position of the passenger and the expected entry or exit point are on the same side of the vehicle, regardless of the seating positions of one or more other passengers in the vehicle, an alternative disembarking or boarding location is determined. It is configured to do the following: The one or more processors further A device configured to determine one or more alternative disembarking locations based at least in part on one or more physical attributes of the passenger.

2. The apparatus according to claim 1, wherein the detected obstacle or hazardous condition includes puddles, ice flakes, potholes, uneven pavement, high curbs, storm drains, debris, construction fences, other vehicles, obstructions, weather conditions, firebreaks, no-parking zones, closed lanes within the vicinity of the identified drop-off or pick-up location, less than a certain amount of clearance in front of or behind the vehicle, or any combination thereof.

3. The apparatus according to claim 1, wherein the location of disembarking or boarding is further determined based on the seating position of the passenger.

4. The apparatus according to claim 1, wherein determining the disembarking or boarding location is based on whether the expected entry or exit point for the passengers of the vehicle and the detected obstacle or hazardous condition are on the same side of the vehicle.

5. The one or more processors further The apparatus according to claim 1, configured to determine one alternative drop-off or pick-up location from a plurality of different alternative drop-off or pick-up locations within a certain distance from the determined drop-off or pick-up location.

6. The apparatus according to claim 5, wherein the plurality of different alternative drop-off or pick-up locations are based on map data, coherent light sensing system data, images of the surrounding area, video of the surrounding area, RADAR, passenger input, or any combination thereof.

7. The apparatus according to claim 5, wherein the plurality of different alternative drop-off or pick-up locations are at least partially based on the passenger's physical limitations, the passenger's age, the presence of an infant or child accompanying the passenger, or any combination thereof.

8. The one or more processors further Receiving one or more preferred drop-off or pick-up locations from multiple different alternative drop-off or pick-up locations, The apparatus according to claim 5, configured to determine the alternative disembarking or boarding location based on the one or more preferred disembarking or boarding locations.

9. The one or more processors further The apparatus according to claim 1, configured to obtain one of the alternative disembarking locations from the passenger.

10. The apparatus according to claim 1, further comprising a vehicle controller mounted inside the vehicle.

11. The apparatus according to claim 1, further comprising a vehicle controller implemented in a server or cloud-based vehicle control system.

12. The one or more processors further Receiving an indication from the passenger that they intend to disregard the detected obstacle or dangerous condition, The device according to claim 1, configured to maintain the determined disembarking or boarding location in response to receiving the indication of the passenger's intention to disregard the detected obstacle or dangerous condition.

13. Detecting the aforementioned obstacle or dangerous condition, Receiving one or more sensor measurements indicating the presence of an object in the surrounding environment, To generate a 3D map of points corresponding to the location of the detected object, The apparatus according to claim 1, further comprising determining the location of the obstacle or hazardous condition in the surrounding area based on the three-dimensional point map.

14. The one or more processors further Determining whether the passenger requires additional time or space to enter or exit the vehicle, based at least in part on one or more attributes of the determined disembarking or boarding locations, one or more attributes of the passenger, one or more physical limitations or disabilities of the passenger, or any combination thereof; The apparatus according to claim 1, configured to determine one or more alternative drop-off or pick-up locations in response to the passenger determining that he or she needs additional time or space to enter or exit the vehicle.

15. A method for controlling one or more operations of a vehicle, To determine the expected entry or exit points for passengers of the aforementioned vehicle, To detect whether there are any obstacles or hazardous conditions at or near the site associated with the expected entry point or expected exit point for the passengers of the vehicle, In response to the detection of the presence of the obstacle or hazardous condition at or near the said site, the disembarking or boarding location associated with the said site is determined based at least partially on the expected entry or exit point for the passengers of the said vehicle and the detected obstacle or hazardous condition, To determine the seating position of the passenger in the vehicle, Determining an alternative disembarking or boarding location based on the determination that the aforementioned seating position of the passenger and the expected entry or exit point are on the same side of the vehicle, regardless of the aforementioned seating positions of one or more other passengers in the vehicle. Equipped with, The method further comprises determining one or more alternative disembarking locations based at least in part on one or more physical attributes of the passenger.

16. A non-temporary computer-readable medium storing instructions for controlling a vehicle, wherein the execution of the instructions by one or more processors of the device is To determine the expected entry or exit points for passengers of the aforementioned vehicle, To detect whether there are any obstacles or hazardous conditions at or near the site associated with the expected entry point or expected exit point for the passengers of the vehicle, In response to the detection of the presence of the obstacle or hazardous condition at or near the said site, the disembarking or boarding location associated with the said site is determined based at least partially on the expected entry or exit point for the passengers of the said vehicle and the detected obstacle or hazardous condition, To determine the seating position of the passenger in the vehicle, Determining an alternative disembarking or boarding location based on the determination that the aforementioned seating position of the passenger and the expected entry or exit point are on the same side of the vehicle, regardless of the aforementioned seating positions of one or more other passengers in the vehicle. The vehicle is made to perform an operation that includes the following: A non-temporary computer-readable medium wherein the operation further comprises determining one or more alternative disembarking locations based at least in part on one or more physical attributes of the passenger.

Citation Information

Patent Citations

  • Stop position controller, stop position control method, and computer program for stop position control

    JP2020086744A

  • Hazard Mitigation For Access To Passenger Vehicles

    US20190371171A1