System and method for detecting available parking spots with any pull-through parking spots

A camera and ultrasonic sensor system assists drivers in identifying and parking in pull-through spots by generating a top view of the parking lot, addressing the challenge of visual identification and obstacle detection for efficient parking.

JP2026525295APending Publication Date: 2026-07-29VALEO SCHALTER & SENSOREN GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
VALEO SCHALTER & SENSOREN GMBH
Filing Date
2024-07-10
Publication Date
2026-07-29

AI Technical Summary

Technical Problem

Drivers face difficulty in visually identifying available parking spots and obstacles in parking lots, especially under varying lighting conditions, making it challenging to find suitable pull-through parking spots.

Method used

A system equipped with camera and ultrasonic sensors generates a composite top view of the parking lot, identifies available pull-through parking spots, and assists in autonomous parking by detecting obstacles, allowing users to select and park in these spots efficiently.

Benefits of technology

The system enhances the ability to find and park in pull-through spots, reducing the need for additional vehicle maneuvers and improving convenience by providing real-time, accurate parking assistance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026525295000001_ABST
    Figure 2026525295000001_ABST
Patent Text Reader

Abstract

In some implementations, the device may include receiving one or more images of the parking lot via one or more image sensors. Furthermore, the device may include determining a first available parking spot based on the one or more images. The device may also include determining a second available parking spot adjacent to the first available parking spot, which is a pull-through parking spot accessible by moving through the first available parking spot. Furthermore, the device may include displaying to the user, via a vehicle interface, one or more images of the parking lot and indications of the location of the pull-through parking spots. The device may also further include receiving a selection via the vehicle interface for parking the vehicle in a pull-through parking spot. Finally, the device may include parking the vehicle in a pull-through parking spot, with the parking being performed autonomously.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method and system for detecting available parking spots having any pull-through parking spots for display to a user via a user interface.

Background Art

[0002] When a driver of a vehicle enters a parking lot, the driver may attempt to visually identify the availability of parking spots. Many parking lots can make it difficult to manually identify available parking spots depending on the environment and lighting conditions. Also, limiting to a visual inspection of the availability of parking spots may make it difficult to identify parking obstacles. It is desirable to provide assistance to the driver by identifying available parking spots in a parking lot.

Summary of the Invention

[0003] A system of one or more computers can be configured to perform certain operations or actions by installing in the system software, firmware, hardware, or a combination thereof that causes the system to perform the operations during operation. One or more computer programs can be configured to perform certain operations or actions by including instructions that, when executed by a data processing apparatus, cause the apparatus to perform the operations.

[0004] In one general embodiment, the method may include receiving one or more images of a parking lot via one or more image sensors associated with the vehicle in response to the activation of a parking assist mode. The method may also include determining a first available parking spot based on one or more images. The method may further include determining a second available parking spot adjacent to the first available parking spot based on the first available parking spot, the second available parking spot being a pull-through parking spot accessible by moving through the first available parking spot. The method may further include displaying to the user via a vehicle interface one or more images of the parking lot, an indication of the location of the pull-through parking spot, and an indication that the pull-through parking spot is available for parking. The method may further include receiving a selection from the user via the vehicle interface to park the vehicle in the pull-through parking spot. The method may also include parking the vehicle in the pull-through parking spot by moving the vehicle through the available parking spots, the parking being performed autonomously in response to the selection received by the user via the vehicle interface.

[0005] Other embodiments of this aspect include corresponding computer systems, devices, and computer programs recorded on one or more computer storage devices, each configured to perform the operations of the Method.

[0006] The implementation may include one or more of the following features: The method may include autonomously turning a first vehicle to a first available parking spot in response to detecting that another vehicle is entering a pull-through parking spot. The method may include one or more image sensors that include at least one of an ultrasonic sensor and a camera sensor. The method may include determining a third available parking spot based on one or more images; determining a fourth available parking spot adjacent to the third available parking spot based on the third available parking spot, wherein the fourth available parking spot is a second pull-through parking spot accessible by moving through the third available parking spot; and determining that the second pull-through parking spot is a false pull-through parking spot based on the detection of an obstacle that prevents a vehicle from moving to the second pull-through parking spot by moving through the third available parking spot, based on data from one or more image sensors. The method may include displaying a message to the user via a vehicle display indicating that the second pull-through parking spot is a false pull-through parking spot. The method may include cases where the obstacles are identified by the user and may include at least one of the following: high partitions, signposts, uneven slopes, ditches, depressions, small vehicles, and curbs. The method may include cases where one or more images of a parking lot are stitched together to form a top view of the parking lot. The method may include cases where the location of first available parking spots and pull-through parking spots is superimposed on the top view of the parking lot.

[0007] Implementations of the described techniques may include hardware, methods or processes, or computer media. [Brief explanation of the drawing]

[0008] [Figure 1] A schematic diagram of a vehicle according to one embodiment is shown, and is presented here as a top view. [Figure 2] This is a block diagram of the internal components of an exemplary embodiment of a computing system. [Figure 3] This is a flowchart illustrating an exemplary process for receiving user input to instruct a vehicle to autonomously park in a pull-through parking spot, as described in this disclosure. [Figure 4] This is a flowchart illustrating the process for turning around a vehicle attempting to park in a pull-through parking spot that has since become unavailable, as an example of the disclosure. [Figure 5] This is a flowchart of the process for determining that a pull-through parking spot is an incorrect pull-through parking spot, as an example of the disclosure. [Figure 6A] An exemplary user interface is shown, based on an example of this disclosure. [Figure 6B] An exemplary user interface is shown, based on an example of this disclosure. [Figure 6C] An exemplary user interface is shown, based on an example of this disclosure. [Modes for carrying out the invention]

[0009] Embodiments of the present disclosure are described herein. However, it should be understood that the disclosed embodiments are merely examples, and other embodiments may take various alternative forms. The figures are not necessarily to scale, and some features may be exaggerated or minimized to illustrate the details of certain components. Accordingly, certain structural and functional details disclosed herein should not be construed as limitations, but merely as representative grounds for teaching those skilled in the art to use the embodiments in various ways. As those skilled in the art will understand, various features illustrated and described with reference to any one of the figures can be combined with features shown in one or more other figures to produce embodiments not expressly illustrated or described. The combination of illustrated features provides a representative embodiment for a typical use. However, various combinations and modifications of features consistent with the teachings of the present disclosure may be desirable for a particular use or implementation.

[0010] Automated vehicles (e.g., cars, trucks, vans, SUVs, etc.) can be equipped with camera systems that generate top views on vehicle displays (e.g., infotainment screens, dashboard units, tablets, mobile devices, phones, head-up displays, etc.). The camera system can capture many different angles of the vehicle and store images containing information that may be relevant to the user. In some cases, it may be beneficial for the user to access some of the images generated by the camera system when they are not inside the vehicle.

[0011] The systems and methods described herein may be configured to utilize a camera system to analyze image data of a parking lot in order to determine the availability of parking spots. While human users may be limited by their field of view when searching for available parking spots, a camera system can acquire images from multiple angles simultaneously, which may enable a computing system associated with the user to detect available parking spots in real time. The systems and methods described herein may be configured to provide the user with available parking spots within the parking lot where the vehicle is located via an interface. In some embodiments, the locating of available parking spots may be associated with a parking assistance mode that can be triggered by a vehicle traveling below a predetermined speed and / or when the vehicle's position overlaps with the location of a parking spot.

[0012] The systems and methods described herein can be configured to determine whether a pull-through parking spot is available by proceeding through one of the available parking spots. For example, parking lots often arrange parking spots adjacent to each other. If both adjacent parking spots are not occupied, both parking spots are available, but a pull-through parking spot has the advantage that the vehicle will be facing outwards within the pull-through spot without additional turning and movement. A vehicle facing outwards has the advantage of being able to exit straight out, increasing convenience and reducing the time spent moving backward before moving forward. A camera system would be more adept at determining pull-through parking spots than a human user whose field of vision is limited.

[0013] The systems and methods described herein can utilize ultrasonic sensors as part of a camera system to recognize obstacles that prevent a vehicle from proceeding to a pull-through parking spot. For example, ultrasonic sensors can determine obstacles in low-light conditions common in underground parking lots and / or parking structures. Obstacles that may be present between two adjacent parking spots include, but are not limited to, signposts, ditches, concrete dividers, small vehicles (e.g., motorcycles, golf carts, scooters, etc.), and / or objects that may be commonly found in parking lots. In some embodiments, the systems and methods described herein can be used to avoid proceeding through obstacles because such attempts may damage the vehicle. The systems and methods described herein can be configured to warn the user via a vehicle interface that they are in the wrong pull-through parking spot.

[0014] The systems and methods described herein can receive user input indicating a desire to park a vehicle in an available parking spot, including a pull-through parking spot. A vehicle with autonomous driving capabilities can present the user with options on how the vehicle should enter the available parking spot indicated by the user. For example, the user may instruct the vehicle to back into the available parking spot so that the vehicle faces outwards. In another example, the user may indicate that the vehicle should park headfirst so that the rear of the vehicle faces outwards. In yet another example, the user may indicate that the vehicle should park in a pull-through spot by driving through the available parking spot, so that the vehicle faces outwards without requiring an additional turn or back-in. The driver would likely prefer to select a pull-through parking spot to obtain the final result of an outward-facing vehicle without additional travel and driving time.

[0015] Figure 1 shows a schematic diagram 100 of a vehicle 110 according to one embodiment, shown here in a top view. While the vehicle 110 is a passenger car, it may be other types of vehicles such as a truck, van, or sport utility vehicle (SUV). The vehicle 110 includes a camera system 112, which includes an electronic control unit (ECU) 114 connected to a plurality of cameras 116a, 116b, 116c, and 116d. Generally, the ECU 114 includes one or more processors programmed to process image data related to cameras 116a-d and generate a composite top view on a vehicle display 118. Furthermore, as will be further described below, the vehicle 110 includes a plurality of proximity sensors (e.g., ultrasonic sensors, radar, sonar, LiDAR, etc.) 119. The proximity sensors 119 may be connected to their own designated ECUs that deploy sensor maps of objects outside the vehicle. Alternatively, the proximity sensors may be connected to the ECU 114.

[0016] The ECUs disclosed herein may be more commonly referred to as controllers. In the case of an ECU of a camera system 112, the ECU may, for example, receive image data from various cameras (or their respective processors), process the information, and output instructions for synthesizing the image data when generating a composite top view. In the case of an ECU associated with a proximity sensor 119, the ECU may receive sensor data from various proximity sensors (or their respective processors), process the information, and output a sensor map of objects around the vehicle. This ECU may also transmit a warning to the driver during parking maneuvers, which may alert the driver to the proximity of detected objects. In this disclosure, the terms “controller” and “system” refer to, are part of, or include processor hardware (shared, dedicated, or group) that executes code and memory hardware (shared, dedicated, or group) that stores the code executed by the processor hardware. The code is configured to provide the features of the controllers and systems described herein. In one example, a controller may include a processor, memory, and a non-volatile storage device. The processor may include one or more devices selected from microprocessors, microcontrollers, digital signal processors, microcomputers, central processing units, field-programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, or any other devices that manipulate signals (analog or digital) based on computer-executable instructions residing in memory. Memory may include, but is not limited to, a single memory device or multiple memory devices, including random access memory ("RAM"), volatile memory, non-volatile memory, static random access memory ("SRAM"), dynamic random access memory ("DRAM"), flash memory, cache memory, or any other device capable of storing information.Non-volatile storage devices may include one or more persistent data storage devices, such as hard drives, optical drives, tape drives, non-volatile solid-state devices, or any other devices capable of permanently storing information. A processor may be configured to read into memory and execute computer executable instructions that embody one or more software programs residing in the non-volatile storage device. Programs residing in the non-volatile storage device may include, but are not limited to, operating systems or applications, or parts thereof, and may be compiled or interpreted from computer programs written using various programming languages ​​and / or techniques, including Java, C, C++, C#, Objective-C, Fortran, Pascal, JavaScript, Python, Perl, and PL / SQL, either alone or in combination. The computer executable instructions of a program may be configured to trigger the harmonization techniques and algorithms described herein when executed by the processor.

[0017] In schematic diagram 100, cameras 116-d are positioned around different quadrants of the vehicle, but the camera system 112 may have four or more cameras. Each camera 116a-d may have a fisheye lens for acquiring images with an enlarged field of view indicated by boundary lines 120a-d. In one example, the first camera 116a is directed towards the area in front of the vehicle and captures an image in the field of view indicated by boundary line 120a. Therefore, the first camera 116a can be called a front camera. The second camera 116b is directed towards the area behind the vehicle and captures an image in the field of view indicated by boundary line 120b. Therefore, the second camera 116b can be called a rear camera. The third camera 116c is directed towards the area on the left side of the vehicle and captures an image in the field of view indicated by boundary line 120c. Therefore, the third camera 116c can be called a left camera or left-side camera. The third camera 116c may be mounted on or near the left wing mirror of the vehicle and can therefore be called a mirror left (ML) camera. The fourth camera 116d is oriented towards the right side of the vehicle and captures images in the field of view indicated by the boundary line 120d. Therefore, the fourth camera 116d can therefore be called a right camera or right-side camera. The fourth camera 116d may also be mounted on or near the right wing mirror of the vehicle and can therefore be called a mirror right (MR) camera. The images (or associated image data) from cameras 116a-d can be processed by the ECU 114 (e.g., stitched together, distorted, combined, harmonized) to generate a composite top view on the vehicle display 118.

[0018] Figure 2 is a block diagram of the internal components of an exemplary embodiment of the computing system 200. The computing system 200 may include or be used to implement the computing system described above. In this embodiment, the computing system 200 may be at least partially integrated into a vehicle electronics control unit (VECU). It should be noted that Figure 2 is intended only to provide a generalized description of various components, any or all of which may be appropriately utilized. It should be noted that in some cases, the components shown in Figure 2 may be localized in a single physical device and / or distributed among various network devices that may be located in different physical locations.

[0019] The computing system 200 has hardware elements that can be electrically coupled via a bus 202. The hardware elements may include, but are not limited to, one or more processors, one or more dedicated processors (such as digital signal processing (DSP) chips, graphics acceleration processors, application-specific integrated circuits (ASICs), etc.), and / or other processing structures or means, including processing circuits 204. The processors described above can be specifically programmed to perform the operations disclosed herein, including, among other things, image processing, data processing, and implementation of the machine learning models described above. Some embodiments may have a separate DSP 206 depending on the desired functionality. The computing system 200 may also include one or more display controllers 208 that can control the display devices disclosed above, such as automotive touchscreens, mobile device screens, etc.

[0020] Computing system 200 can also include a wireless communication hub 210 or a connection hub that can include, for example, a modem, network card, infrared communication device, wireless communication device, and / or chipset (such as a Bluetooth device, IEEE 802.11 device, IEEE 802.16.4 device, WiFi device, LTE device, cellular communication device including 4G, 5G, etc.). The wireless communication hub 210 can enable data to be exchanged with a network, a wireless access point, other computing systems, etc. Communication can be performed via one or more wireless communication antennas 212 that transmit and / or receive wireless signals 214.

[0021] Computing system 200 can also include an engine control unit 216 or be configured to include or communicate with other types of controllers described herein. In the case of a vehicle that does not include an internal combustion engine, the engine control unit may instead be a battery control unit or an electric drive control unit configured to command vehicle propulsion. In response to commands received via the wireless communication hub 210, the engine control unit 216 can operate, for example, to control the movement of the vehicle during a parking procedure.

[0022] Computing system 200 can also include vehicle sensors 226 as described above with reference to FIG. 1. These sensors can include, without limitation, one or more accelerometers, gyroscopes, cameras, radars, LiDARs, travel distance sensors, and ultrasonic sensors, as well as magnetometers, altimeters, microphones, proximity sensors, optical sensors, etc. These sensors can be controlled via associated sensor controllers 227.

[0023] Computing system 200 can also include a GPS receiver 218 that can use a GPS antenna 222 to receive signals 220 from one or more GPS satellites. The GPS receiver 218 can obtain the position of the device from satellites of a GPS system such as a Global Navigation Satellite System (GNSS) (e.g., Global Positioning System (GPS)), Galileo, GLONASS, Compass, Galileo, Beidou, and / or other regional systems using conventional techniques.

[0024] Computing system 200 can also include or communicate with a memory 224. The memory 224 can include, but is not limited to, solid state storage devices such as RAM that can be local and / or network accessible storage devices, disk drives, drive arrays, optical storage devices, programmable, flash updatable, etc. Such storage devices can be configured to implement any suitable data store including, but not limited to, various file systems, database structures, etc. The memory 224 can also include software elements (not shown) including an operating system, device drivers, executable libraries, and / or computer programs provided by various embodiments as described herein and / or other code embedded in a computer readable medium such as one or more application programs that can be designed to implement methods provided by other embodiments and / or configure the system. In one aspect, in that case, such code and / or instructions can be used to configure and / or adapt a general purpose computer (or other device) to perform one or more operations according to the described methods, thereby obtaining a special purpose computer.

[0025] Figure 3 is a flowchart of a process 300 for receiving user input to instruct a vehicle to autonomously park in a pull-through parking spot, according to an example of the present disclosure. In one example, one or more process blocks in Figure 3 may be executed by a processor circuit 204 of a computing system 200.

[0026] As shown in Figure 3, process 300 may include receiving one or more images of the parking lot via one or more image sensors associated with the vehicle in response to the activation of the parking assist mode (block 302). For example, camera system 112 may acquire one or more images of the parking lot from multiple angles while the vehicle is moving through the parking lot. In some embodiments, one or more images captured by camera system 112 may be displayed to the user via vehicle display 118. In some embodiments, one or more images may be stitched together to form a top view of the parking lot around the vehicle. In some embodiments, the reception of images from one or more image sensors may be triggered by the vehicle entering the parking assist mode. In some embodiments, the parking assist mode may be triggered in response to the vehicle driving below a predetermined threshold (e.g., 5 mph), may be triggered by manual activation by the user, may be triggered when entering a geofenced area known to be a parking lot, or may be triggered in response to any appropriate indicator that the user is attempting to park.

[0027] As further shown in Figure 3, process 300 may include determining a first available parking spot based on one or more images (block 304). For example, process 300 may analyze indicators of parking spots within the parking lot, including but not limited to parking spot lines, parking signs, and interfaces with wireless communication beacons associated with the parking lot (e.g., Bluetooth location tracking (BLE), near-field communication (NFC), real-time positioning systems (RTLS), cellular triangulation, radio frequency identification (RFID), global positioning systems, and / or any suitable method for determining the location of a parking spot). Once the location of a parking spot is determined, the camera system 112 may use ultrasonic sensors and / or LIDAR to determine whether the parking spot is occupied. A parking spot without vehicles or other obstacles occupying its boundaries can be determined to be an available parking spot.

[0028] As shown in Figure 3, process 300 may include determining a second available parking spot adjacent to a first available parking spot based on the first available parking spot, where the second available parking spot is a pull-through parking spot accessible by moving through the first available parking spot (block 306). For example, one or more images acquired from the camera system 112 can be used to determine an available parking spot adjacent to the available parking spot closest to the vehicle. For example, an available parking spot may be close to the vehicle, and a parking spot adjacent to the available parking spot may also be accessible by moving through the available parking spot. Such a parking spot can be considered a pull-through parking spot. In some embodiments, process 300 may consider the angle of the parking lines when considering whether a parking spot adjacent to an available parking spot is a pull-through parking spot. For example, a parking lot with lanes that allow only one-way vehicle traffic may not be a good candidate for pull-through parking because the vehicle may be facing forward into a lane that does not allow the vehicle to move out of the spot in a manner consistent with the one-way lane that the vehicle will occupy. Such a spot is not considered a good candidate for pull-through parking.

[0029] As further shown in Figure 3, process 300 may include displaying to the user, via a vehicle interface, one or more images of the parking area, indications of the location of pull-through parking spots, and indications that the pull-through parking spots are available for parking (block 308). For example, process 300 may display to the user, via a vehicle display 118, an interface similar to that described in Figure 6 below. In some embodiments, the display to the user may include the overlay of the interface on one or more images acquired from the camera system 112. In some embodiments, the interface may include buttons associated with each available parking spot and pull-through parking spot, the selection of which indicates the user's desire to park in the selected parking spot.

[0030] As further shown in Figure 3, process 300 may include receiving a selection from the user via the vehicle interface to park the vehicle in a pull-through parking spot (block 310). In some embodiments, the user may select a button on the user interface associated with the pull-through parking spot. In some embodiments, user input may be received via interaction with an interface including, but not limited to, a touchscreen interface, a haptic button interface, a speech chat interface, a mouse interface, a keyboard interface, a menu-based interface, a natural language interface, a command line interface, and / or any suitable form that accepts commands from the user.

[0031] As shown in Figure 3, process 300 may include parking a vehicle in a pull-through parking spot by moving the vehicle through available parking spots, and the parking is performed autonomously in response to a selection received by the user via the vehicle interface (block 312). For example, process 300 may determine vehicle movement to enter a pull-through parking spot selected by the user, based on spatial data acquired from the camera system 112. In some embodiments, the vehicle's autonomous driving function executes a proceed command generated by process 300. In some embodiments, the proceed command includes moving through available parking spots to occupy a pull-through parking spot.

[0032] Figure 3 shows an exemplary block of process 300, but it should be noted that in some implementations, process 300 may include additional blocks, fewer blocks, different blocks, or blocks in different arrangements, different from those shown in Figure 3. Additionally or alternatively, two or more blocks of process 300 may be executed in parallel.

[0033] Figure 4 is a flowchart of a process 400 for turning around a vehicle attempting to park in a pull-through parking spot that has become unavailable, according to an example of the present disclosure. In one example, one or more process blocks in Figure 4 may be executed by a processor circuit 204 of a computing system 200.

[0034] As shown in Figure 4, process 400 may include displaying to the user, via a vehicle interface, one or more images of the parking area, indications of the location of pull-through parking spots, and indications that the pull-through parking spots are available for parking (block 402). For example, process 400 may display to the user, via a vehicle display 118, an interface similar to that described in Figure 6 below. In some embodiments, the display to the user may include the overlay of the interface on one or more images acquired from the camera system 112. In some embodiments, the interface may include buttons associated with each available parking spot and pull-through parking spot, the selection of which indicates the user's desire to park in the selected parking spot.

[0035] As further shown in Figure 4, process 400 may include receiving a selection from the user via the vehicle interface to park the vehicle in a pull-through parking spot (block 404). In some embodiments, the user may select a button on the user interface associated with the pull-through parking spot. In some embodiments, user input may be received via interaction with an interface including, but not limited to, a touchscreen interface, a haptic button interface, a speech chat interface, a mouse interface, a keyboard interface, a menu-based interface, a natural language interface, a command-line interface, and / or any suitable form that accepts commands from the user. In some embodiments, the interface may display an indicator superimposed on one or more images of the parking lot presented as a top view of the vehicle's current position. For example, the user may tap an indicator associated with a pull-through parking spot on a touchscreen device. In some embodiments, process 400 may further request confirmation from the user to park the vehicle in the selected parking spot. In some embodiments, a user interface element associated with the parking command may have an indicator associated with it when a pull-through parking spot is selected. The selection of the user interface element associated with the parking command may initiate the parking movement.

[0036] As further shown in Figure 4, process 400 may include detecting that another vehicle is entering a pull-through parking spot while a vehicle is moving through a first available parking spot to the pull-through parking spot (block 406). For example, while a vehicle is making a parking move, it may be detected that a vehicle is entering a pull-through parking spot from a parallel lane. In some embodiments, process 400 may determine that a vehicle is entering or about to enter a pull-through parking spot based on data received from the camera system 112. In some embodiments, process 400 may determine the path of another vehicle based on the trajectory of the other vehicle. If the trajectory of the other vehicle indicates a path that may terminate at a pull-through parking spot, process 400 may determine that the other vehicle is about to park at the pull-through parking spot.

[0037] As further shown in Figure 4, process 400 may autonomously redirect the vehicle to a first available parking spot in response to the detection of another vehicle (block 408). In some embodiments, the vehicle may be allowed to proceed to occupy a pull-through parking spot. During the process, process 400 may determine that the vehicle is parked or attempting to park in the pull-through parking spot from a parallel lane in the parking lot. In some embodiments, process 400 may redirect the vehicle's progress to occupy an available parking spot. In some embodiments, the vehicle may stop instead of continuing to move forward into the pull-through parking spot. In some embodiments, when another vehicle is detected, the vehicle may already be partially entered into the pull-through parking spot. If the vehicle is already partially entered into the pull-through parking spot, process 400 may reverse course and back up to an available parking spot.

[0038] Figure 4 shows an exemplary block of process 400, but it should be noted that in some implementations, process 400 may include additional blocks, fewer blocks, different blocks, or blocks in different arrangements, different from those shown in Figure 4. Additionally or alternatively, two or more blocks of process 400 may be executed in parallel.

[0039] Figure 5 is a flowchart of a process 500 for determining that a pull-through parking spot is an incorrect pull-through parking spot, according to an example of the present disclosure. In one example, one or more process blocks in Figure 5 may be executed by a processor circuit 204 of a computing system 200.

[0040] As shown in Figure 5, process 500 may include receiving one or more images of the parking lot via one or more image sensors associated with the vehicle in response to the activation of the parking assist mode (block 502). For example, camera system 112 may acquire one or more images of the parking lot from multiple angles while the vehicle is moving through the parking lot. In some embodiments, one or more images captured by camera system 112 may be displayed to the user via vehicle display 118. In some embodiments, one or more images may be stitched together to form a top view of the parking lot around the vehicle. In some embodiments, the reception of images from one or more image sensors may be triggered by the vehicle entering the parking assist mode. In some embodiments, the parking assist mode may be triggered in response to the vehicle driving below a predetermined threshold (e.g., 5 mph), in response to manual activation by the user, in response to entering a geofenced area known to be a parking lot, or in response to any appropriate indicator that the user is attempting to park.

[0041] As further shown in Figure 5, process 500 may include determining a third available parking spot based on one or more images (block 504). For example, process 500 may analyze indicators of parking spots within the parking lot, including but not limited to parking spot lines, parking signs, and interfaces with wireless communication beacons associated with the parking lot (e.g., Bluetooth location tracking (BLE), near-field communication (NFC), real-time positioning systems (RTLS), cellular triangulation, radio frequency identification (RFID), global positioning systems, and / or any suitable method for determining the location of a parking spot). Once the location of a parking spot is determined, the camera system 112 may use ultrasonic sensors and / or LiDAR to determine whether the parking spot is occupied. A parking spot without vehicles or other obstacles occupying its boundaries can be determined to be an available parking spot.

[0042] As further shown in Figure 5, process 500 may include determining a fourth available parking spot adjacent to the third available parking spot based on the third available parking spot, the fourth available parking spot being a second pull-through parking spot accessible by moving through the third available parking spot (block 506).

[0043] As further shown in Figure 5, process 500 may also include determining that the second pull-through parking spot is an incorrect pull-through parking spot based on the detection of an obstacle that prevents the vehicle from parking in the second pull-through parking spot by moving through the third available parking spot, based on data from an ultrasonic sensor (block 508). Obstacles that can be detected include, but are not limited to, tall partitions, signposts, uneven slopes, depressions, small vehicles (e.g., motorcycles, golf carts, scooters, etc.), and curbs. In some embodiments, the user may be attempting to enter the pull-through parking spot manually, either in manual driving mode or manually during parking assist mode. While proceeding through the third available parking spot, process 500 may determine that the fourth available parking spot is the user's final choice. Process 500 may then alert the user to stop proceeding to the fourth available parking spot because it is an incorrect pull-through parking spot. In some embodiments, process 400 may indicate via the vehicle display 118 that the fourth available parking spot is an incorrect pull-through parking spot. Process 500 may add a note to the user interface indicating that the fourth available parking spot is an incorrect pull-through parking spot. For example, the note on the user interface may include, but is not limited to, text superimposed on a rectangle, a color filling the rectangle, a color of the rectangle itself, highlighting, a symbol indicating availability, a dashed or animated rectangular line, and / or any appropriate means of distinguishing the incorrect pull-through parking spot from the available parking spots.

[0044] Figure 5 shows an exemplary block of process 500, but it should be noted that in some implementations, process 500 may include additional blocks, fewer blocks, different blocks, or blocks in different arrangements, different from those shown in Figure 5. Additionally or alternatively, two or more blocks of process 500 may be executed in parallel.

[0045] Figure 6A shows an exemplary interface 600 for presenting available parking spots to a user according to the present disclosure. The interface 600 may be generated by a processing circuit 204 and displayed to the user via a vehicle display 118.

[0046] Interface 600 may include a user interface element 602 that indicates an unavailable parking spot. In some embodiments, the user interface element 602 may include a rectangle sized according to the dimensions of the parking spot. In some embodiments, the specific dimensions of the parking spot may be determined based on lines drawn on the surface of the parking lot. In some embodiments, the surface of the parking lot may be detected by a camera system 112.

[0047] Interface 600 may include a user interface element 604 that indicates available parking spots. In some embodiments, the user interface element 604 may include a rectangle sized according to the dimensions of an available parking spot. In some embodiments, the user interface element 604 may include an indicator that the parking spot is an available parking spot to distinguish it from the user interface element 602. For example, visual distinctions may include, but are not limited to, text superimposed on the rectangle, a color that fills the rectangle, a color of the rectangle itself, highlights, a symbol indicating availability, a dashed or animated line on the rectangle, and / or any suitable means to distinguish the user interface element 604 from the user interface element 602. In some embodiments, the specific dimensions of an available parking spot may be determined based on lines drawn on the surface of the parking lot. In some embodiments, the surface of the parking lot may be detected by a camera system 112.

[0048] Interface 600 may include a user interface element 606 that accepts user input indicating a command for the vehicle to park in a selected available parking spot. For example, if the vehicle is not parked in a parking spot and the user selects an available parking spot, the user interface element may be highlighted (as shown in the figure). When the user selects the user interface element 606, a command is executed by the vehicle to enter the parking spot. In some embodiments, the user interface element 606 is a button with superimposed text, indicating that selecting the button initiates a command to enter the parking spot for the vehicle.

[0049] Interface 600 may further include a user interface element 608 that accepts input from the user indicating a command for the vehicle to exit parking assist mode. In some embodiments, the selection of the user interface element 608 can close Interface 600. For example, one or more images acquired from the camera system 112 can be used to determine an available parking spot adjacent to the closest available parking spot to the vehicle. For example, an available parking spot may be close to the vehicle, and a parking spot adjacent to an available parking spot may also be accessible by proceeding through the available parking spot. Such a parking spot can be considered a pull-through parking spot. In some embodiments, Interface 600 may consider the angle of the parking lines when considering whether a parking spot adjacent to an available parking spot is a pull-through parking spot. For example, a parking lot with lanes that allow only one-way vehicle traffic may not be a good candidate for pull-through parking because the vehicle may be facing forward into a lane that does not allow the vehicle to proceed out of the spot in a manner consistent with the one-way lane that the vehicle will occupy. Such a spot is not considered a good candidate for pull-through parking.

[0050] In some embodiments, interface 600 may be superimposed on image data provided by camera system 112. In some embodiments, user interface element 602 may be superimposed on the location of an unavailable parking spot in the image acquired by camera system 112. In some embodiments, user interface element 604 may be superimposed on the location of an available parking spot in the image acquired from camera system 112.

[0051] Figure 6B shows an exemplary embodiment of a user interface 610 that displays to the user multiple instances of available parking spots and available pull-through parking spots. The interface 610 may be generated by the processing circuit 204 and displayed to the user via the vehicle display 118.

[0052] Interface 610 may include a user interface element 612 that can indicate available parking spots. In some embodiments, the user interface element 612 may include a rectangle sized according to the dimensions of an available parking spot. In some embodiments, the user interface element 612 may include an indicator that a parking spot is an available parking spot to distinguish it from other user interface elements. For example, visual distinctions may include, but are not limited to, text superimposed on a rectangle, a color filling the rectangle, a color of the rectangle itself, highlights, symbols indicating availability, dashed or animated lines on the rectangle, and / or any suitable means to distinguish the user interface element 612 from user interface elements indicating occupied parking spots. In some embodiments, the dedicated dimensions of an available parking spot may be determined based on lines drawn on the surface of the parking lot. In some embodiments, the surface of the parking lot may be detected by a camera system 112.

[0053] Interface 610 may include a user interface element 614 that can indicate a pull-through parking spot relative to a parking spot represented by user interface element 612. In some embodiments, user interface element 614 may include a rectangle spatially configured with respect to the parking spot boundary represented by user interface element 614. The spatial boundary of the parking spot may be determined based on lines drawn on the parking surface and recognized based on one or more images acquired from camera system 112. In some embodiments, the user interface element may include an indicator that tells the user that the parking spot associated with user interface element 614 is a pull-through parking spot. For example, the indicator of user interface element 614 may include, but is not limited to, text superimposed on the rectangle, a color filling the rectangle, a color of the rectangle itself, a highlight, a symbol indicating vacancy, a dashed or animated line of the rectangle, and / or any suitable means indicating that user interface element 614 represents a pull-through parking spot.

[0054] In some embodiments, interface 610 may be superimposed on image data provided by camera system 112. In some embodiments, user interface element 612 may be superimposed on the location of an unavailable parking spot in the image acquired by camera system 112. In some embodiments, user interface element 614 may be superimposed on the location of an available parking spot in the image acquired from camera system 112.

[0055] Figure 6C shows an exemplary embodiment of a user interface 620 that, after the user has selected an available parking spot, displays to the user two options regarding how the vehicle can enter the selected available parking spot. The interface 620 may be generated by a processing circuit 204 and displayed to the user via a vehicle display 118.

[0056] Interface 620 may include a user interface element 622 that can be selected by the user, which initiates a command to move the vehicle into the selected available parking spot by parking the vehicle headfirst, resulting in the rear of the vehicle facing outward. In some embodiments, the user interface element 622 may include instructions on how the vehicle may move into the selected parking spot. For example, instructions on how the vehicle may move may include, but are not limited to, text describing the parking movement, a diagram illustrating the parking movement, an overlay of the vehicle's current position relative to the selected parking spot, and / or any suitable means of showing the user a headfirst parking movement.

[0057] Interface 620 may include a user interface element 622 that can be selected by the user, which initiates a command to move the vehicle into the selected available parking spot by parking the vehicle headfirst, resulting in the rear of the vehicle facing outward. In some embodiments, the user interface element 622 may include instructions on how the vehicle may move into the selected parking spot. For example, instructions on how the vehicle may move may include, but are not limited to, text describing the parking movement, a diagram illustrating the parking movement, an overlay of the vehicle's current position relative to the selected parking spot, and / or any suitable means of showing the user a headfirst parking movement.

[0058] Interface 620 may include a user interface element 624 that can be selected by the user, which initiates a command to move the vehicle into the selected available parking spot by parking the vehicle in reverse, so that the front of the vehicle faces outward. In some embodiments, the user interface element 624 may include instructions on how the vehicle may move into the selected parking spot. For example, instructions on how the vehicle may move may include, but are not limited to, text describing the parking movement, a diagram illustrating the parking movement, an overlay of the vehicle's current position relative to the selected parking spot, and / or any suitable means of showing the user the reverse parking movement.

[0059] The processes and logic flows described herein can be executed by one or more programmable processors that execute one or more computer programs to perform operations by manipulating input data to produce outputs. The processes and logic flows may also be executed by dedicated logic circuits, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits), and the devices may also be implemented as dedicated logic circuits. Devices suitable for storing computer program instructions and data may include semiconductor memory devices such as EPROMs, EEPROMs, and flash memory devices; magnetic disks such as internal hard disks or removable disks; magneto-optical disks; and non-volatile memory, media, and memory devices, including, for example, CD-ROMs and DVD-ROM disks. These memory devices may be non-temporary computer-readable storage media for storing computer-executable instructions that, when executed by one or more processors described herein, allow one or more processors to perform the techniques described herein. Processors and memory may be complemented by or incorporated into dedicated logic circuits.

[0060] Implementations of the subject matter and operations described herein may be implemented in digital electronic circuits, or in computer software embodied on tangible media, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in one or more combinations thereof. Implementations of the subject matter described herein may be implemented as one or more computer programs embodied on tangible media, such as one or more modules of computer program instructions, encoded on one or more computer storage media for execution by a data processing device or for controlling the operation of a data processing device. The computer storage media may be a computer-readable storage device, a computer-readable storage board, a random-access or serial-access memory array or device, or one or more combinations thereof, or may be included therein. The computer storage media may also be one or more distinct components or media (e.g., multiple CDs, disks, or other storage devices), or may be included therein. The computer storage media may be tangible and non-temporary.

[0061] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any form of programming language, including compiled languages, interpreted languages, declarative languages, and procedural languages. Computer programs can be deployed in any form, including as standalone programs or as modules, components, subroutines, objects, or other units suitable for use in a computing environment. Computer programs may, but are not required, correspond to files in a file system. A program can be part of a file containing other programs or data (e.g., one or more scripts stored in a markup language document), a single file dedicated to the program in question, or multiple collaborative files (e.g., files containing one or more modules, libraries, subprograms, or parts of code). Computer programs can be deployed to run on a single computer, on multiple computers located in one location, or on multiple computers distributed across multiple locations and interconnected by a communication network.

[0062] The processes and logic flows described herein can be executed by one or more programmable processors that run one or more computer programs to perform operations by manipulating input data and producing outputs. The processes and logic flows may also be executed by dedicated logic circuits, such as field-programmable gate arrays ("FPGAs") or application-specific integrated circuits ("ASICs"), and the devices may also be implemented as dedicated logic circuits. Such dedicated circuits are sometimes referred to as computer processors, even if they are not general-purpose processors.

[0063] While exemplary embodiments have been described above, these embodiments are not intended to describe all possible forms that are covered by the claims. The language used herein is descriptive, not restrictive, and it should be understood that various modifications can be made without departing from the spirit and scope of this disclosure. As stated above, features of various embodiments can be combined to form further embodiments of the systems and methods described herein that are not expressly described or illustrated. Various embodiments could be described as offering advantages or being preferable to other embodiments or prior art implementations with respect to one or more desired characteristics, but those skilled in the art will recognize that one or more characteristics or features may be compromised in order to achieve desired overall system characteristics that depend on a particular application and implementation. These characteristics may include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, maintainability, weight, manufacturability, and ease of assembly. Thus, to the extent that any embodiment is described as being undesirable to other embodiments or prior art implementations with respect to one or more characteristics, these embodiments may not be outside the scope of this disclosure and may be desirable for a particular application.

Claims

1. A method for autonomous pull-through parking, wherein the method is In response to the activation of parking assist mode, the vehicle receives one or more images of the parking area via one or more image sensors associated with the vehicle. Based on the aforementioned one or more images, determine a first available parking spot. Based on the first available parking spot, determine a second available parking spot adjacent to the first available parking spot, wherein the second available parking spot is a pull-through parking spot accessible by moving through the first available parking spot. To display to the user, via the vehicle interface, one or more images of the parking lot, an indication of the location of the pull-through parking spot, and an indication that the pull-through parking spot is available for parking. Receiving from the user via the vehicle interface a selection to park the vehicle in the pull-through parking spot, and A method comprising parking the vehicle in the pull-through parking spot by moving the vehicle through the first available parking spot, wherein the parking is performed autonomously in response to the selection received by the user via the vehicle interface.

2. The method, in response to detecting that another vehicle is entering the pull-through parking spot, autonomously turns the first vehicle towards the first available parking spot. The method according to claim 1, further comprising:

3. The method according to claim 1, wherein the one or more image sensors include at least one of an ultrasonic sensor and a camera sensor.

4. The method described above is Based on the aforementioned one or more images, a third available parking spot is determined. Based on the third available parking spot, determine a fourth available parking spot adjacent to the third available parking spot, wherein the fourth available parking spot is a second pull-through parking spot accessible by moving through the third available parking spot, and The method according to claim 3, further comprising determining that the second pull-through parking spot is an incorrect pull-through parking spot based on the detection of an obstacle that prevents the vehicle from moving to the second pull-through parking spot by moving through the third available parking spot, based on data from the one or more image sensors.

5. The method described above is The method according to claim 4, further comprising displaying to the user via the vehicle interface an instruction that the second pull-through parking spot is an incorrect pull-through parking spot.

6. The method according to claim 4, wherein the obstacle is identified by the user and includes at least one of a high barrier, a signpost, an uneven slope, a ditch, a depression, a small vehicle, and a curb.

7. The method according to claim 1, wherein one or more images of the parking lot are stitched together to form a top view of the parking lot.

8. The method according to claim 7, wherein information regarding the location of the first available parking spot and the pull-through parking spot is superimposed on the top view of the parking lot.

9. A device for autonomous pull-through parking, It comprises one or more processors, and the one or more processors In response to the activation of parking assist mode, the vehicle receives one or more images of the parking area via one or more image sensors associated with the vehicle. Based on the one or more images mentioned above, a first available parking spot is determined. Based on the first available parking spot, a second available parking spot adjacent to the first available parking spot is determined, and in this case, the second available parking spot is a pull-through parking spot that can be accessed by moving through the first available parking spot. The vehicle interface displays to the user one or more images of the parking lot, an indication of the location of the pull-through parking spot, and an indication that the pull-through parking spot is available for parking. The user has selected, via the vehicle interface, to park the vehicle in the pull-through parking spot. The vehicle is parked in the pull-through parking spot by moving the vehicle through the first available parking spot, and the parking is performed autonomously in response to the selection received by the user via the vehicle interface. A device configured in such a way.

10. The one or more processors The device according to claim 9, further configured to autonomously turn the first vehicle towards the first available parking spot in response to detection that another vehicle is entering the pull-through parking spot.

11. The device according to claim 9, wherein the one or more image sensors include at least one of an ultrasonic sensor and a camera sensor.

12. The one or more processors Based on the one or more images mentioned above, a third available parking spot is determined. Based on the third available parking spot, a fourth available parking spot adjacent to the third available parking spot is determined, and in this case, the fourth available parking spot is a second pull-through parking spot that can be accessed by moving through the third available parking spot. Based on the detection of an obstacle that prevents the vehicle from moving to the second pull-through parking spot by moving through the third available parking spot, based on data from one or more image sensors, it is determined that the second pull-through parking spot is an incorrect pull-through parking spot. The device according to claim 11, further configured to display to the user via the vehicle interface an instruction that the second pull-through parking spot is an incorrect pull-through parking spot.

13. The device according to claim 12, wherein the obstacles are identified by the user and include at least one of a high barrier, a signpost, an uneven slope, a groove, a depression, a small vehicle, and a curb.

14. The device according to claim 9, wherein one or more images of the parking lot are stitched together to form a top view of the parking lot, and the top view of the parking lot is superimposed with information relating to the first available parking spot and the pull-through parking spot.

15. A device for autonomous pull-through parking, It comprises one or more processors, and the one or more processors In response to the activation of parking assist mode, the vehicle receives one or more images of the parking area via one or more image sensors associated with the vehicle. Based on the one or more images mentioned above, a first available parking spot is determined. Based on the first available parking spot, a second available parking spot adjacent to the first available parking spot is determined, and in this case, the second available parking spot is a pull-through parking spot that can be accessed by moving through the first available parking spot. The vehicle interface displays to the user one or more images of the parking lot, an indication of the location of the pull-through parking spot, and an indication that the pull-through parking spot is available for parking. The user has selected, via the vehicle interface, to park the vehicle in the pull-through parking spot. The vehicle is parked in the pull-through parking spot by moving the vehicle through the first available parking spot, and the parking is performed autonomously in response to the selection received by the user via the vehicle interface. A device configured in such a way.

16. The device according to claim 15, wherein the one or more image sensors include at least one of an ultrasonic sensor and a camera sensor.

17. The one or more processors Based on the one or more images mentioned above, a third available parking spot is determined. Based on the third available parking spot, a fourth available parking spot adjacent to the third available parking spot is determined, and in this case, the fourth available parking spot is a second pull-through parking spot that can be accessed by moving through the third available parking spot. The device according to claim 16, further configured to determine that the second pull-through parking spot is an incorrect pull-through parking spot based on the detection of an obstacle that prevents the vehicle from moving to the second pull-through parking spot by moving through the third available parking spot, based on data from the one or more image sensors.

18. The one or more processors The device according to claim 17, further configured to display to the user via the vehicle interface an instruction that the second pull-through parking spot is an incorrect pull-through parking spot.

19. The device according to claim 17, wherein the obstacle includes at least one of a high barrier, a signpost, an uneven slope, a depression, a small vehicle, and a curb.

20. The device according to claim 15, wherein one or more images of the parking lot are stitched together to form a top view of the parking lot, and the top view of the parking lot is superimposed with information relating to the location of the first available parking spot and the pull-through parking spot.