AUTOMATIC PARKING METHOD AND APPARATUS, ELECTRONIC DEVICE, AND STORAGE MEDIUM

Abstract
An automatic parking method and apparatus is disclosed. The method includes: obtaining a location point with a distance from a current location of a vehicle less than a preset distance and determining the location point as a target parking start point of the vehicle; obtaining at least one candidate parking point related to the target parking start point based on the target parking start point; selecting a target parking point without obstacles from the at least one candidate parking point, and obtaining a target parking trajectory traveling from the target parking start point to the target parking point and controlling the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.
Description
CROSS-REFERENCE TO RELATED APPLICATION

The present application is based upon and claims priority to Chinese Patent Application No. 202010606003.5, filed on Jun. 29, 2020, the entire contents of which are incorporated herein by reference for all purposes.


TECHNICAL FIELD

The application relates to fields of automatic driving, autonomous parking and computer vision technologies, and in particular to an automatic parking method and apparatus, an electronic device, and a storage medium.


BACKGROUND

With the development of vehicle-auxiliary driving technology, a trend for vehicle intelligence development is rapid. In order to realize intelligent parking, automatic driving and autonomous parking systems have emerged to help drivers.


H-AVP (Homezone Auto Valet Parking) is an auxiliary parking product designed for fixed parking spaces in home and company scenarios. In the process of autonomous parking, it is very important for autonomous parking to look out a fixed parking space that is allowed to park.


SUMMARY

According to an aspect of the application, an automatic parking method is provided. The method includes: obtaining a location point with a distance from a current location of a vehicle less than a preset distance and determining the location point as a target parking start point of the vehicle; obtaining at least one candidate parking point related to the target parking start point based on the target parking start point; selecting a target parking point without obstacles from the at least one candidate parking point, and obtaining a target parking trajectory traveling from the target parking start point to the target parking point; and controlling the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.


According to another aspect of the application, an automatic parking apparatus is provided. The apparatus includes at least one processor and a memory communicatively coupled to the at least one processor. The at least one processor is configured to: obtain a location point with a distance from a current location of a vehicle less than a preset distance and determine the location point as a target parking start point of the vehicle; obtain at least one candidate parking point related to the target parking start point based on the target parking start point; select a target parking point without obstacles from the at least one candidate parking point, and obtain a target parking trajectory driving from the target parking start point to the target parking point; control the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.


According to another aspect of the application, a non-transitory computer-readable storage medium having computer instructions stored thereon is provided. The computer instructions are configured to cause a computer to execute an automatic parking method. The method includes: obtaining a location point with a distance from a current location of a vehicle less than a preset distance and determining the location point as a target parking start point of the vehicle; obtaining at least one candidate parking point related to the target parking start point based on the target parking start point; selecting a target parking point without obstacles from the at least one candidate parking point, and obtaining a target parking trajectory traveling from the target parking start point to the target parking point; and controlling the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.


It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the application, nor to limit the scope of the application. Other features of the application will be easily understood through the following descriptions.





BRIEF DESCRIPTION OF THE DRAWINGS

The drawings are used to better understand this solution, and do not constitute a limitation to the application, wherein:



FIG. 1 is a flowchart of an automatic parking method according to a first embodiment of the application.



FIG. 2 is a flowchart of an automatic parking method according to a second embodiment of the application.



FIG. 3 is a flowchart of an automatic parking method according to a third embodiment of the application.



FIG. 4 is a flowchart of an automatic parking method according to a fourth embodiment of the application.



FIG. 5 is a flowchart of an automatic parking method according to a fifth embodiment of the application.



FIG. 6 is a flowchart of an automatic parking method according to a sixth embodiment of the application.



FIG. 7 is a flowchart of an automatic parking method according to a seventh embodiment of the application.



FIG. 8 is a flowchart of an automatic parking method according to an eighth embodiment of the application.



FIG. 9 is a schematic block diagram of an automatic parking apparatus according to embodiments of the application.



FIG. 10 is a block diagram of an electronic device configured to implement the automatic parking method according to embodiments of the application.





DETAILED DESCRIPTION

The exemplary embodiments of the application are described below with reference to the accompanying drawings, which include various details of the embodiments of the application to facilitate understanding, and should be regarded as merely exemplary. Therefore, it should be appreciated for those skilled in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the application. Likewise, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.


The following describes an automatic parking method and apparatus, an electronic device, and a storage medium according to the embodiments of the application with reference to the accompanying drawings.



FIG. 1 is a schematic diagram of an automatic parking method according to a first embodiment of the application. It should be noted that the execution object of the automatic parking method in this embodiment is an automatic parking apparatus that may be implemented in software and/or hardware. The apparatus may be installed in or communicated with the vehicle. An electronic device that controls the apparatus may include a terminal device or a server.


As illustrated in FIG. 1, the automatic parking method may include the following steps.


In block 101, a location point with a distance from a current location of a vehicle less than a preset distance is obtained and the location point is determined as a target parking start point of the vehicle.


In the embodiment of the application, when the user has an autonomous parking demand for the vehicle, the autonomous parking function in the vehicle may be initiated by triggering a control corresponding to the autonomous parking function in the vehicle. After the autonomous parking function is initiated, the current location of the vehicle may be thus obtained through a positioning device in the vehicle, such as a GPS system (global positioning system), a satellite positioning system, etc.


In other embodiments of the application, when the user needs the vehicle to automatically drive from the current parking location to a designated parking space, a corresponding control instruction may be sent to the vehicle through a smart terminal of the user. The control instruction is accordingly received by the vehicle and the current location of the vehicle is obtained through the positioning device in the vehicle in response to the control instruction.


It should be noted that, the embodiment of the application is a solution where the autonomous parking is performed based on the stored parking data for the user, and the start point may be a location point when the parking data for the user is to be collected. Generally, it is impossible for each parking to guarantee the vehicle will be parked by the user at exactly the same location, so it is necessary to select a location with a distance from the current location of the vehicle less than a preset distance as the target parking start point of the vehicle when performing autonomous parking.


It should be understood that, the parking data for the user may be stored in a storage device provided on the vehicle, or may be stored via a server that wirelessly communicates with the vehicle, which is not limited in this application.


The preset distance may be a distance with a small error such as 0.5 meters. It should be understood that since the autonomous parking in the application is performed based on the stored parking trajectory, when tracking the target parking trajectory with a large error distance (for example, more than 5 meters), a problem will easily occur that the target parking trajectory is still not tracked even through the entire tracking process is completed. At this time, it is considered that the current location deviates from the parking start point for autonomous parking, and a deviation reminder is provided to the user.


In block 102, at least one candidate parking point related to the target parking start point is obtained based on the target parking start point.


It should be noted that, in environments such as parking lots and open spaces, parking spaces are usually arranged one by one close to each other. Therefore, one location point may correspond to a plurality of parking points. At least one candidate parking point should be a parking point for which the parking data have been collected by the user. For example, when a fixed parking space may be obtained by leasing, allocating and so on from a community parking lot and/or company parking lot and the user has only collected parking data on this leased or allocated parking space, so there is one candidate parking point corresponding to the location point. However, when the community parking lot and/or company parking lot are public, the user may collect parking data from a plurality of parking spaces to form a plurality of candidate parking points.


It should be understood that since the application obtains candidate parking points directly through the target parking start point, the parking points involved in the application may not be limited to standard parking points drawn with parking signs, but may also be other location points that are able to accommodate vehicles based on the user's judgment, such as open areas, empty spaces adjacent to unit doors, etc.


In block 103, a target parking point without obstacles is selected from at least one candidate parking point, and a target parking trajectory driving from the target parking start point to the target parking point is obtained.


It should be understood that since the target parking point is obtained based on the user's parking data in memory, it is necessary to verify whether at least one candidate parking point is suitable for parking at this time. The condition for suitable parking includes there are no obstacles in the candidate parking point. The obstacles may be for example other vehicles, trees, blocking posts or no-parking posts.


Further, in this embodiment, image collection may be performed at the candidate parking point by the image collection device provided on the vehicle, so that it is identified whether there is an obstacle in the candidate parking point according to the image information.


The vehicle in this embodiment may be equipped with fisheye cameras on the windshield and the side direction of the vehicle respectively, so that the vehicle is enabled to detect obstacles in candidate parking points in different directions of the vehicle. For example, the candidate parking points may be located at the front, side front, side and side rear of the vehicle.


Further, after the target parking start point and the target parking point are obtained, the target parking trajectory of the vehicle from the target parking start point to the target parking point may be obtained based on the stored parking data.


In block 104, the vehicle is controlled to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.


It should be noted that the tracking is performed based on a trace. In the application, the vehicle tracks the target parking point in accordance with the target parking trajectory, so that the vehicle may be autonomously parked into the target parking point in accordance with the target parking trajectory.


It should be understood that, there may be not an open space such as a parking lot for the space of target parking point in places such as old communities. For example, when the target parking point is located at an open space adjacent to a unit door and there may be also laundry racks placed outside the window or window security bars installed nearby the target parking point, parking posture of the vehicle is adjusted by the user for many times or a specific parking trajectory is employed for parking, in order to prevent the laundry rack or the installed window security bar from scratching the vehicle when parking the vehicle. Therefore, it is necessary to imitate the user's parking data as much as possible during autonomous parking, so as to avoid problems such as scratching the vehicle caused by saving a number of posture adjustments and increasing the parking speed.


Therefore, with the automatic parking method in the application, autonomous parking may be performed based on the parking points used by the user, which effectively avoids problems such as failing to park caused by leak detection on parking spaces and greatly increases the parking rate for the autonomous parking. In addition, the application effectively avoids problems such as failing to park or scratching the vehicle due to re-planning the path in a specific environment, by tracking the parking trajectory and parking in accordance with the parking trajectory.


In order to further illustrate the above embodiments, before obtaining a location point with a distance from a current location of a vehicle less than a preset distance and determining the location point as a target parking start point of the vehicle in block 101, the method further includes the following steps as illustrated in FIG. 2.


In block 201, an instruction for parking driving data collection is obtained.


In block 202, a location point when the instruction for parking driving data collection is performed is determined as the parking start point, and parking driving data is collected in real time during parking until the parking is completed.


In block 203, a three-dimensional reconstruction is performed based on the parking start point, the location point at the end of the parking, and the parking driving data to generate the target parking trajectory.


The collected parking start point may be determined by a center location of the vehicle before parking, and the location point when the parking is completed may be determined by a center location of the vehicle after parking. Optionally, a center point of rear axle in the vehicle may be collected first and the center location of the vehicle is then calculated based on the center point of rear axle, which is then determined as the parking start point and/or the location point when the parking is completed.


In other words, in the embodiments of the application, before the autonomous parking function is served for autonomous parking, parking driving data of the vehicle operated by the user may be firstly collected in response to the instruction for parking driving data collection triggered by the user, and a three-dimensional reconstruction is performed based on the parking start point, the location point at the end of the parking, and the parking driving data, to generate the target parking trajectory. In this way, the target parking trajectory generated when the user operates the parking may be tracked during the autonomous parking by the vehicle itself, and the parking rate for the autonomous parking is increased.


It should be understood that a computer vision-based method may be used to collect parking driving data.


As a possible implementation, the vehicle's driving trajectory video may be collected through an collecting module in the vehicle, and the parking trajectory video may be obtained from the driving trajectory video based on characteristics of parking trajectory, so that a three-dimensional reconstruction is performed on the parking trajectory video to obtain the parking trajectory in the parking trajectory video.


As another possible implementation, the vehicle's driving trajectory may be collected in real time and saved through the GPS system, and the saved driving trajectory may be exported into kml or gpx format data, which in turn are loaded into a virtual map software to obtain the parking trajectory path of the vehicle.


The virtual map software may be configured to arrange satellite photos, aerial photographs and a GIS (geographic information system) on a three-dimensional model of the earth. For example, the virtual map software may be a Google Earth.


In order to further describe the above embodiments, selecting a target parking point without obstacles from at least one candidate parking point in block 103 includes the following steps as illustrated in FIG. 3.


In block 301, posture information of the vehicle is obtained at each candidate parking point.


The posture information may include a direction of vehicle body and the like.


In block 302, a candidate parking space is constructed with the posture information and the candidate parking point.


The candidate parking space is constructed based on the candidate parking point with tools such as three-dimensional modeling. Optionally, the candidate parking point may be determined as a center location of candidate parking space when constructing the candidate parking space.


In block 303, it is identified whether there is an obstacle within the candidate parking space, and a candidate parking point where there is no obstacle in the candidate parking space is determined as the target parking point.


It should be understood that when the location point when the parking is completed is obtained for example through a GPS system, the obtained data is usually coordinate information composed of a latitude and a longitude, but the vehicle is an object with a certain spatial volume. In addition, the posture of vehicle and the occupied space are both different even at the same location. For example, the vehicle beside the sidewalk may usually present a variety of directions of vehicle body such as perpendicular to the sidewalk, parallel to the sidewalk, and 45° angle to the sidewalk. Therefore, before identifying whether there is an obstacle at the target parking point, it is necessary to construct a candidate parking space based on the stored posture information of vehicle at the candidate parking point to determine the space occupied by the vehicle when parking into the candidate parking point. In this way, the target parking point identified based on the candidate parking space is more suitable for automatic parking, so that there is no problems such as the vehicle is scratched when parking into the target parking point.


As a feasible embodiment, when constructing the candidate parking space for the target parking point, a parking space may also be established synchronously based on the target parking trajectory to identify whether the vehicle encounters obstacles in accordance with the target parking trajectory, which avoids scratching when the vehicle is parked in accordance with the target parking trajectory.


Further, before controlling the vehicle to track the target parking trajectory in block 104, the method further includes the following steps as illustrated in FIG. 4.


In block 401, it is identified whether a number of target parking trajectories is greater than a preset number.


In block 402, a length of each target parking track is obtained, and a target parking track with the smallest length is selected for tracking.


The preset number may be 1.


In other words, it is necessary to further select one unique parking trajectory from a plurality of target parking trajectories for tracking when there are the plurality of target parking trajectories to be tracked, which avoids occurrence of a problem that for example one target parking trajectory is tracked at a previous moment while another target parking trajectory is tracked at a later moment, or a problem that a third parking trajectory formed by center points of two target parking trajectories is tracked.


Further, the target parking trajectory with the smallest length may be a target parking trajectory generated based on the target parking point closest to the target parking start point, or a target parking trajectory formed based on the minimum number of vehicle posture adjustments or the minimum number of gear changes, etc.


It should be understood that, the target parking trajectory is selected based on the length of target parking trajectory, which may effectively reduce the consumption in autonomous parking and save energy.


Further, controlling the vehicle to track the target parking trajectory in block 104 includes the following as illustrated in FIG. 5.


In block 501, a traveling direction of the target parking trajectory is obtained based on the target parking trajectory.


The traveling direction of the corresponding target parking trajectory may be determined by detecting and identifying gear information of the vehicle in the target parking trajectory.


It should be understood that, one target parking trajectory may include at least one travelling direction. For example, there is usually only one traveling direction (i.e., a forward direction) in a parking mode where the vehicle head enters the parking space first, while there is a change from a reverse direction to a forward direction.


In block 502, the target parking trajectory is tracked based on the traveling direction.


It should be noted that, since steering wheels of the vehicle are usually front wheels, different driving trajectories may be formed in the forward direction and the reverse direction at the same front wheel steering angle. In other words, it is difficult to achieve the expected tracking effect in case that control strategy in the reverse direction is applied to the target driving trajectory generated when the forward direction is executed. Similarly, it is also difficult to achieve the expected tracking effect in case that control strategy in the forward direction is applied to the target driving trajectory generated when the reverse direction is executed.


Therefore, in this embodiment, the traveling direction of target parking trajectory is identified, it is further ensured that the vehicle may track the target parking trajectory from the current location as soon as possible during autonomous parking, thereby increasing the success rate of autonomous parking.


In order to further describe the above embodiments, tracking the target parking trajectory based on the traveling direction in block 502 includes the following steps as illustrated in FIG. 6.


In block 601, a target tracking point is determined on the target parking trajectory.


The target tracking point may be a point expected to track the target parking trajectory. It should be understood that the target tracking point is a point on the target parking trajectory.


In block 602, a lateral distance and/or a tracking distance between the current location and the target tracking point are determined based on the current location and the target tracking point.


The lateral distance is a parallel distance between a front axle of vehicle and a direction of target parking trajectory, and the tracking distance is an actual distance between the front axle of vehicle and the target tracking point.


In block 603, a front wheel steering angle of the vehicle is adjusted in real time based on the traveling direction, the lateral distance and/or the tracking distance.


Therefore, in this embodiment, the target tracking point is selected to determine the lateral distance between the current location and the target tracking point. In this way, the lateral error in tracking by the vehicle the target parking trajectory may be reduced as soon as possible, and the vehicle is prevented from completing a parking action parallel to the target parking trajectory, thereby increasing the success rate of autonomous parking.


Further, when the traveling direction is the forward direction, adjusting the front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance in the above block 603 includes the following steps as illustrated in FIG. 7.


In block 701, the traveling direction is identified as a forward direction, and a front wheel steering angle at a previous moment is obtained.


In block 702, a front wheel steering angle is adjusted at a current moment by performing feedback control with the front wheel steering angle at the previous moment.


In other words, in the embodiment of the application, the front wheel steering angle may be adjusted through a control strategy of feedback adjustment when the travelling direction of target parking trajectory is a forward direction, so that the front wheel steering angle may be adjusted as quickly as possible through the feedback adjustment to meet posture needs of target parking trajectory, thereby increasing the success rate of autonomous parking.


Optionally, the following equation may be used for the feedback adjustment on the front wheel steering angle:





δ(t)=θe(t)+tan−1(k1efa(t))+k2*(δ(t)−δ(t−1))


where SW is the front wheel steering angle, θe(t) is a heading error, efa(t) is a lateral distance in the forward direction, t is the time, and k1 is a coefficient for adjusting parameters. The heading error is an error between a direction of vehicle body and a direction of target parking trajectory.


Correspondingly, when the travel direction is a reverse direction, adjusting the front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance in the above block 603 includes the following steps as illustrated in FIG. 8.


In block 801, the traveling direction is identified as a reverse direction, a current vehicle speed is obtained, and the tracking distance is corrected based on the current vehicle speed.


In block 802, the front wheel steering angle of the vehicle is adjusted based on the lateral distance and the corrected tracking distance.


In other words, the tracking distance is a function of vehicle speed. According to different vehicle speeds, different tracking distances need to be selected so as to track the target parking trajectory as soon as possible at the current vehicle speed, thereby increasing the success rate of autonomous parking.


Optionally, the following equation may be used to adjust the front wheel steering angle:







δ


(
t
)


=


tan

-
1


(


Le
lateral



kv


(
t
)




l

look_ahead

_dist




)





where δ(t) is the front wheel steering angle, L is the axle length of the vehicle, elateral is the lateral distance in a reverse direction, v(t) is the vehicle speed, llook_ahead_dist is the tracking distance, and k is a coefficient for adjusting parameters.


In summary, with the automatic parking method in the application, autonomous parking may be performed based on the parking points used by the user, which effectively avoids problems such as failing to park caused by leak detection on parking spaces and greatly increases the parking rate for the autonomous parking. In addition, the application effectively avoids problems such as failing to park or scratching the vehicle due to re-planning the path in a specific environment, by tracking the parking trajectory and parking in accordance with the parking trajectory.


In order to implement the above embodiments, an embodiment of the application also provides an automatic parking apparatus.



FIG. 9 is a block diagram of an automatic parking apparatus according to an embodiment of the application. As illustrated in FIG. 9, the automatic parking apparatus 10 of the embodiment of the application includes a first obtaining module 11, a second obtaining module 12, a third obtaining module 13 and a control module 14.


The first obtaining module 11 is configured to obtain a location point with a distance from a current location of a vehicle less than a preset distance and determine the location point as a target parking start point of the vehicle. The second obtaining module 12 is configured to obtain at least one candidate parking point related to the target parking start point based on the target parking start point. The third obtaining module 13 is configured to select a target parking point without obstacles from the at least one candidate parking point, and obtain a target parking trajectory driving from the target parking start point to the target parking point. The control module 14 is configured to control the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.


In some embodiments, the automatic parking apparatus 10 further includes a fourth obtaining module, a collecting module and a reconstructing module.


The fourth obtaining module is configured to obtain an instruction for parking driving data collection.


The collecting module is configured to determine a location point when the instruction for parking driving data collection is performed as the parking start point, and collect parking driving data in real time during parking until the parking is completed.


The reconstructing module is configured to perform a three-dimensional reconstruction based on the parking start point, the location point when the parking is completed and the parking driving data to generate the target parking trajectory.


In some embodiments, the third obtaining module 13 includes a first obtaining sub-module, a constructing sub-module and a first identifying sub-module.


The first obtaining sub-module is configured to obtain posture information of the vehicle at each of the candidate parking points.


The constructing sub-module is configured to construct a candidate parking space with the posture information and the candidate parking point.


The first identifying sub-module is configured to identify whether there is an obstacle in each of the candidate parking spaces, and determine the candidate parking point where there is no obstacle in the candidate parking space as the target parking point.


In some embodiments, the third obtaining module 13 includes a second identifying sub-module and a second obtaining sub-module.


The second identifying sub-module is configured to identify whether a number of target parking trajectories is greater than a preset number.


The second obtaining sub-module is configured to obtain a length of each target parking trajectory, and select the target parking trajectory with the smallest length for tracking.


In some embodiments, the control module 14 includes a third obtaining sub-module and a tracking sub-module.


The third obtaining sub-module is configured to obtain a traveling direction of the target parking trajectory based on the target parking trajectory.


The tracking sub-module is configured to track the target parking trajectory based on the traveling direction.


In some embodiments, the tracking sub-module is specifically configured to determine a target tracking point on the target parking trajectory; determine a lateral distance and/or tracking distance between the current location and the target tracking point based on the current location and the target tracking point; and adjust a front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance.


In some embodiments, the tracking sub-module is specifically configured to identify the traveling direction as a forward direction, and obtain a front wheel steering angle at a previous moment; and adjust a front wheel steering angle at a current moment by performing feedback control with the front wheel steering angle at the previous moment.


In some embodiments, the tracking sub-module is specifically configured to identify the traveling direction as a reverse direction, obtain a current vehicle speed, and correct the tracking distance based on the current vehicle speed; and adjust the front wheel steering angle of the vehicle based on the lateral distance and the corrected tracking distance.


It should be noted that the above explanations about the embodiments of the automatic parking method are also applicable to the automatic parking apparatus in this embodiment, which will not be repeated here.


According to the automatic parking apparatus of the application, autonomous parking may be performed based on the parking points used by the user, which effectively avoids problems such as failing to park caused by leak detection on parking spaces and greatly increases the parking rate for the autonomous parking. In addition, the application effectively avoids problems such as failing to park or scratching the vehicle due to re-planning the path in a specific environment, by tracking the parking trajectory and parking in accordance with the parking trajectory.


According to the embodiments of the application, the application also provides an electronic device and a readable storage medium.


As illustrated in FIG. 10, it is a block diagram of an electronic device configured to implement the automatic parking method according to an embodiment of the application. The electronic device is intended to represent various forms of digital computers, such as such as a laptop computer, a desktop computer, a workstation, a personal digital assistant, a server, a blade server, a mainframe computer and other suitable computers. The electronic device may also represent various forms of mobile devices, such as a personal digital processing, a cellular phone, a smart phone, a wearable device and other similar computing devices. The components, connections and relationships of the components, and functions of the components illustrated herein are merely examples, and are not intended to limit the implementation of the application described and/or claimed herein.


As illustrated in FIG. 10, the electronic device includes: one or more processors 1001, a memory 1002, and interfaces for connecting various components, including a high-speed interface and a low-speed interface. The various components are interconnected using different buses and can be mounted on a common mainboard or otherwise installed as required. The processor may process instructions executed within the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input/output device such as a display device coupled to the interface. In other embodiments, a plurality of processors and/or buses may be used with a plurality of memories and processors, if desired. Similarly, a plurality of electronic devices can be connected, each providing some of the necessary operations (for example, as a server array, a group of blade servers, or a multiprocessor system). A processor 1001 is taken as an example in FIG. 10.


The memory 1002 is a non-transitory computer-readable storage medium according to the disclosure. The memory stores instructions executable by at least one processor, so that the at least one processor executes the method according to the disclosure. The non-transitory computer-readable storage medium of the disclosure stores computer instructions, which are used to cause a computer to execute the automatic parking method according to the application.


As a non-transitory computer-readable storage medium, the memory 1002 may be configured to store non-transitory software programs, non-transitory computer-executable programs and modules, such as program instructions/modules (for example, the first obtaining module 11, the second obtaining module 12, the third obtaining module 13 and the control module 14 illustrated in FIG. 9) corresponding to the automatic parking method in the embodiments of the application. The processor 1001 executes various functional applications and data processing of the server by running non-transient software programs, instructions, and modules stored in the memory 1002, that is, implementing the automatic parking method in the foregoing method embodiments.


The memory 1002 may include a storage program area and a storage data area, where the storage program area may store an operating system and application programs required for at least one function. The storage data area may store data created according to the use of the electronic device for implementing the method. In addition, the memory 1002 may include a high-speed random access memory, and a non-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1002 may optionally include a memory remotely disposed with respect to the processor 1001, and these remote memories may be connected to the electronic device for implementing the method through a network. Examples of the above network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.


The electronic device for implementing the method may further include: an input device 1003 and an output device 1004. The processor 1001, the memory 1002, the input device 1003, and the output device 1004 may be connected through a bus or in other manners. In FIG. 10, the connection through the bus is taken as an example.


The input device 1003 may receive inputted numeric or character information, and generate key signal inputs related to user settings and function control of an electronic device for implementing the method, such as a touch screen, a keypad, a mouse, a trackpad, a touchpad, an indication rod, one or more mouse buttons, trackballs, joysticks and other input devices. The output device 1004 may include a display device, an auxiliary lighting device (for example, an LED), a haptic feedback device (for example, a vibration motor), and the like. The display device may include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touch screen.


Various embodiments of the systems and technologies described herein may be implemented in digital electronic circuit systems, integrated circuit systems, application specific integrated circuits (ASICs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may be implemented in one or more computer programs, which may be executed and/or interpreted on a programmable system including at least one programmable processor. The programmable processor may be dedicated or general purpose programmable processor that receives data and instructions from a storage system, at least one input device, and at least one output device, and transmits the data and instructions to the storage system, the at least one input device, and the at least one output device.


These computing programs (also known as programs, software, software applications, or code) include machine instructions of a programmable processor and may utilize high-level processes and/or object-oriented programming languages, and/or assembly/machine languages to implement these calculation procedures. As used herein, the terms “machine-readable medium” and “computer-readable medium” refer to any computer program product, device, and/or device used to provide machine instructions and/or data to a programmable processor (for example, magnetic disks, optical disks, memories, programmable logic devices (PLDs), including machine-readable media that receive machine instructions as machine-readable signals. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.


In order to provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (e.g., a Cathode Ray Tube (CRT) or a Liquid Crystal Display (LCD) monitor for displaying information to a user); and a keyboard and pointing device (such as a mouse or trackball) through which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user. For example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or haptic feedback), and the input from the user may be received in any form (including acoustic input, sound input, or tactile input).


The systems and technologies described herein can be implemented in a computing system that includes background components (for example, a data server), or a computing system that includes middleware components (for example, an application server), or a computing system that includes front-end components (For example, a user computer with a graphical user interface or a web browser, through which the user can interact with the implementation of the systems and technologies described herein), or include such background components, intermediate computing components, or any combination of front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.


The computer system may include a client and a server. The client and server are generally remote from each other and interacting through a communication network. The client-server relation is generated by computer programs running on the respective computers and having a client-server relation with each other.


According to the technical solutions of the embodiments of the application, the automatic parking apparatus of the application may perform autonomous parking based on the parking points used by the user, which effectively avoids problems such as failing to park caused by leak detection on parking spaces and greatly increases the parking rate for the autonomous parking. In addition, the application effectively avoids problems such as failing to park or scratching the vehicle due to re-planning the path in a specific environment, by tracking the parking trajectory and parking in accordance with the parking trajectory.


It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the disclosure could be performed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the disclosure is achieved, which is not limited herein.


The above specific embodiments do not constitute a limitation on the protection scope of the disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent replacement and improvement made within the spirit and principle of this application shall be included in the protection scope of this application.

Claims
  • 1. An automatic parking method, comprising: obtaining a location point with a distance from a current location of a vehicle less than a preset distance and determining the location point as a target parking start point of the vehicle;obtaining at least one candidate parking point related to the target parking start point based on the target parking start point;selecting a target parking point without obstacles from the at least one candidate parking point, and obtaining a target parking trajectory driving from the target parking start point to the target parking point; andcontrolling the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.
  • 2. The method of claim 1, wherein before obtaining the location point with the distance from the current location of the vehicle less than the preset distance and determining the location point as the target parking start point of the vehicle, further comprising: obtaining an instruction for parking driving data collection;determining a location point when the instruction for parking driving data collection is performed as the parking start point, and collecting parking driving data in real time during parking until the parking is completed; andperforming a three-dimensional reconstruction based on the parking start point, the location point when the parking is completed and the parking driving data to generate the target parking trajectory.
  • 3. The method of claim 1, wherein selecting the target parking point without obstacles from the at least one candidate parking point comprises: obtaining posture information of the vehicle at each of the candidate parking points;constructing a candidate parking space with the posture information and the candidate parking point; andidentifying whether there is an obstacle in each of the candidate parking spaces, and determining the candidate parking point where there is no obstacle in the candidate parking space as the target parking point.
  • 4. The method of claim 3, wherein before controlling the vehicle to track the target parking trajectory, further comprising: identifying whether a number of target parking trajectories is greater than a preset number; andobtaining a length of each target parking trajectory, and selecting the target parking trajectory with the smallest length for tracking.
  • 5. The method of claim 4, wherein controlling the vehicle to track the target parking trajectory comprises: obtaining a traveling direction of the target parking trajectory based on the target parking trajectory; andtracking the target parking trajectory based on the traveling direction.
  • 6. The method of claim 5, wherein tracking the target parking trajectory based on the traveling direction comprises: determining a target tracking point on the target parking trajectory;determining a lateral distance and/or a tracking distance between the current location and the target tracking point based on the current location and the target tracking point; andadjusting a front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance.
  • 7. The method of claim 6, wherein adjusting the front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance comprises: identifying the traveling direction as a forward direction, and obtaining a front wheel steering angle at a previous moment; andadjusting a front wheel steering angle at a current moment by performing feedback control with the front wheel steering angle at the previous moment.
  • 8. The method of claim 6, wherein adjusting the front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance comprises: identifying the traveling direction as a reverse direction, obtaining a current vehicle speed, and correcting the tracking distance based on the current vehicle speed; andadjusting the front wheel steering angle of the vehicle based on the lateral distance and the corrected tracking distance.
  • 9. An automatic parking apparatus, comprising: at least one processor; anda memory communicatively coupled to the at least one processor;wherein the at least one processor is configured to:obtain a location point with a distance from a current location of a vehicle less than a preset distance and determine the location point as a target parking start point of the vehicle;obtain at least one candidate parking point related to the target parking start point based on the target parking start point;select a target parking point without obstacles from the at least one candidate parking point, and obtain a target parking trajectory driving from the target parking start point to the target parking point; andcontrol the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.
  • 10. The apparatus of claim 9, wherein the at least one processor is further configured to: obtain an instruction for parking driving data collection;determine a location point when the instruction for parking driving data collection is performed as the parking start point, and collect parking driving data in real time during parking until the parking is completed; andperform a three-dimensional reconstruction based on the parking start point, the location point when the parking is completed and the parking driving data to generate the target parking trajectory.
  • 11. The apparatus of claim 9, wherein the at least one processor is further configured to: obtain posture information of the vehicle at each of the candidate parking points;construct a candidate parking space with the posture information and the candidate parking point; andidentify whether there is an obstacle in each of the candidate parking spaces, and determine the candidate parking point where there is no obstacle in the candidate parking space as the target parking point.
  • 12. The apparatus of claim 11, wherein the at least one processor is further configured to: identify whether a number of target parking trajectories is greater than a preset number; andobtain a length of each target parking trajectory, and select the target parking trajectory with the smallest length for tracking.
  • 13. The apparatus of claim 12, wherein the at least one processor is further configured to: obtain a traveling direction of the target parking trajectory based on the target parking trajectory; andtrack the target parking trajectory based on the traveling direction.
  • 14. The apparatus of claim 13, wherein the at least one processor is further configured to: determine a target tracking point on the target parking trajectory;determine a lateral distance and/or tracking distance between the current location and the target tracking point based on the current location and the target tracking point; andadjust a front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance.
  • 15. The apparatus of claim 14, wherein the at least one processor is further configured to: identify the traveling direction as a forward direction, and obtain a front wheel steering angle at a previous moment; andadjust a front wheel steering angle at a current moment by performing feedback control with the front wheel steering angle at the previous moment.
  • 16. The apparatus of claim 15, wherein the at least one processor is further configured to: identify the traveling direction as a reverse direction, obtain a current vehicle speed and correct the tracking distance based on the current vehicle speed; andadjust the front wheel steering angle of the vehicle based on the lateral distance and the corrected tracking distance.
  • 17. A non-transitory computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions are configured to cause a computer to execute an automatic parking method, comprising: obtaining a location point with a distance from a current location of a vehicle less than a preset distance and determining the location point as a target parking start point of the vehicle;obtaining at least one candidate parking point related to the target parking start point based on the target parking start point;selecting a target parking point without obstacles from the at least one candidate parking point, and obtaining a target parking trajectory driving from the target parking start point to the target parking point; andcontrolling the vehicle to track the target parking trajectory so as to park into the target parking point in accordance with the target parking trajectory.
  • 18. The storage medium of claim 17, wherein selecting the target parking point without obstacles from the at least one candidate parking point comprises: obtaining posture information of the vehicle at each of the candidate parking points;constructing a candidate parking space with the posture information and the candidate parking point; andidentifying whether there is an obstacle in each of the candidate parking spaces, and determining the candidate parking point where there is no obstacle in the candidate parking space as the target parking point.
  • 19. The storage medium of claim 18, wherein controlling the vehicle to track the target parking trajectory comprises: obtaining a traveling direction of the target parking trajectory based on the target parking trajectory; andtracking the target parking trajectory based on the traveling direction, the step of tracking comprises:determining a target tracking point on the target parking trajectory;determining a lateral distance and/or a tracking distance between the current location and the target tracking point based on the current location and the target tracking point; andadjusting a front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance, the step of adjusting comprises:identifying the traveling direction as a forward direction, and obtaining a front wheel steering angle at a previous moment; andadjusting a front wheel steering angle at a current moment by performing feedback control with the front wheel steering angle at the previous moment.
  • 20. The storage medium of claim 18, wherein controlling the vehicle to track the target parking trajectory comprises: obtaining a traveling direction of the target parking trajectory based on the target parking trajectory; andtracking the target parking trajectory based on the traveling direction, the step of tracking comprises:determining a target tracking point on the target parking trajectory;determining a lateral distance and/or a tracking distance between the current location and the target tracking point based on the current location and the target tracking point; andadjusting a front wheel steering angle of the vehicle in real time based on the traveling direction, the lateral distance and/or the tracking distance, the step of adjusting comprises:identifying the traveling direction as a reverse direction, obtaining a current vehicle speed, and correcting the tracking distance based on the current vehicle speed; andadjusting the front wheel steering angle of the vehicle based on the lateral distance and the corrected tracking distance.
Priority Claims (1)
Number Date Country Kind
202010606003.5 Jun 2020 CN national