Navigation system with parking space and obstacle detection mechanism and operation method thereof
By receiving and analyzing ultrasonic sensor data packets, generating processed scan data, identifying parking spaces and obstacles, and combining vehicle manipulation instructions, the problem of difficulty in accurately identifying parking spaces and obstacles under various lighting conditions in the prior art is solved, and the safety and reliability of automatic parking are achieved.
Patent Information
- Application Number
- CN202411074329.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-29
- Filing Date
- 2024-08-07
- Publication Date
- 2025-04-01
AI Technical Summary
The prior art is difficult to accurately identify parking spaces and obstacles under various lighting conditions, resulting in safety hazards in automatic self-driving vehicles and semi-automatic vehicles in parking operations.
By receiving and analyzing ultrasonic sensor data packets, processed scan data are generated, real-world coordinates are identified, and top views are compiled to identify parking spaces and obstacles, and vehicle manipulation instructions are combined to automatically enter the parking space.
Accurate identification of parking spaces and obstacles under various lighting conditions, ensuring the safety and reliability of the vehicle in parking operations.
Smart Images

Figure CN119741849A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate generally to navigation systems, and more particularly, to systems having parking space and obstacle detection mechanisms. Background Art
[0002] The rise of autonomous self-driving vehicles versus non-autonomous or semi-autonomous vehicles requires additional detail to perform parking maneuvers. Requirements for driver-assisted or fully automated parking include clearly discernible boundaries in all lighting conditions. Research and development in the prior art can take countless different directions.
[0003] Therefore, there is still a need for a navigation system with parking space and obstacle detection mechanism.
[0004] Finding answers to these questions is increasingly critical given the increasing competitive pressures on business, as well as growing consumer expectations and diminishing opportunities for meaningful product differentiation in the marketplace. Additionally, the need to reduce costs, improve efficiency and performance, and meet competitive pressures adds even greater urgency to the critical necessity of finding answers to these questions.
[0005] Solutions to these problems have been long sought but prior developments have not taught or suggested any solutions and, thus, solutions to these problems have long eluded those skilled in the art. Summary of the invention
[0006] An embodiment of the present invention provides a method for operating a navigation system, comprising: receiving a sensor data packet for a range captured in a scanning area; analyzing the sensor data packet, including storing the sensor data packet; parsing the sensor data packet to generate a processed scan, including identifying real-world coordinates; identifying a parking space from the processed scan; compiling a bird's-eye view, including the real-world coordinates of the parking space identified by analyzing the scanning area; and incorporating vehicle maneuvering instructions into the bird's-eye view for entering the parking space; and presenting the bird's-eye view for display on a user display.
[0007] An embodiment of the present invention provides a navigation system, including a user interface, which is configured to: receive a sensor data packet for distances captured in a scanning area; a control circuit, which is coupled to the user interface and is configured to: analyze the sensor data packet submitted to an object detection module, including storing the sensor data packet; parse the sensor data packet using the object detection module to generate a processed scan, including identifying real-world coordinates; identify a parking space by submitting the processed scan to a parking space filter; compile a bird's-eye view, which includes the real-world coordinates of the parking space identified by the object detection module by analyzing the scanning area; merge vehicle maneuvering instructions into the bird's-eye view for entering the parking space; and send the bird's-eye view for display on a user display.
[0008] Embodiments of the present invention provide a non-transitory computer-readable medium including instructions for a navigation system, including: receiving sensor data packets for distances captured in a scanning area; analyzing the sensor data packets, including storing the sensor data packets; parsing the sensor data packets to generate a processed scan, including identifying real-world coordinates; identifying a parking space from the processed scan; compiling a bird's-eye view, including the real-world coordinates of the parking space identified by analyzing the scanning area; incorporating vehicle maneuvering instructions into the bird's-eye view for entering the parking space; and presenting the bird's-eye view for display on a user display.
[0009] Certain embodiments of the present invention have other steps or elements in addition to the above steps or elements, or have other steps or elements to replace the above steps or elements. These steps or elements will become clear to those skilled in the art by reading the following detailed description and referring to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 A navigation system with a parking space and obstacle detection mechanism in an embodiment of the present invention.
[0011] Figure 2 is an example of a top view of a parking lot scan performed by the navigation system.
[0012] Figure 3 is an exemplary block diagram of a navigation system with a parking space and obstacle detection mechanism in an embodiment of the present invention.
[0013] Figure 4 is an exemplary object detection map of a parking lot scan processed by a navigation system.
[0014] Figure 5 is an exemplary block diagram of a navigation system.
[0015] Figure 6 An exemplary data processing diagram showing the solid line processing flow of a navigation system.
[0016] Figure 7 is an exemplary feature detection process flow for a navigation system.
[0017] Figure 8 is an exemplary parking space and object detection process flow for a navigation system.
[0018] Fig. 9 It is an exemplary implementation of the distance filtering element of the navigation system in the embodiment of the present invention.
[0019] Fig.10 is an exemplary flow chart of an embodiment of a navigation system.
[0020] Fig.11 An exemplary flow chart of another embodiment of a navigation system with a fixed kernel size.
[0021] Fig.12 is an exemplary flow chart of yet another embodiment of a navigation system with dynamic kernel size.
[0022] Fig.13 is an exemplary ultrasonic sensor beam for a navigation system.
[0023] Fig.14 is an exemplary object detection graph for detecting boundary points in an embodiment.
[0024] Fig.15 The flowchart of the operation method of the navigation system in the embodiment of the present invention is shown in FIG. DETAILED DESCRIPTION
[0025] The following embodiments can accurately identify parking spaces under most lighting conditions, which enables vehicle movement control for operating or controlling the physical movement of the vehicle. The vehicle movement control can be based on a driver-assisted or automatic vehicle parking process that is safe and reliable due to the accuracy of line detection.
[0026] Vehicle movement control may also be based on accurately identifying the type of parking space under various lighting conditions to ensure that a driver-assisted or autonomous vehicle can complete the maneuver without risk of damaging the vehicle or any adjacent objects or property.
[0027] The following embodiments are described in sufficient detail to enable those skilled in the art to make and use the invention. It is understood that other embodiments will be apparent based on the present disclosure, and that system, process or mechanical changes may be made without departing from the scope of the embodiments of the invention.
[0028] In the following description, many specific details are given to provide a thorough understanding of the present invention. However, it is apparent that the present invention can be implemented without these specific details. In order to avoid obscuring the embodiments of the present invention, some well-known circuits, system configurations and processing steps are not disclosed in detail.
[0029] The drawings showing embodiments of the system are semi-diagrammatic and not to scale, and in particular, some dimensions are for clarity of presentation and are shown exaggerated in the drawings. Similarly, although the views in the drawings generally show similar orientations for ease of description, such depictions in the drawings are arbitrary for the most part. Generally, the present invention can operate in any orientation. The embodiments of the various components are for ease of description and are not intended to have any other meaning or provide limitations to the embodiments of the present invention.
[0030] Those skilled in the art will appreciate that the format for expressing mobile phone information is not limited to some embodiments of the present invention. For example, in some embodiments, mobile phone location information is presented in the format of (X, Y, Z); where X, Y, and Z are three coordinates that define a geographic location (i.e., the location of the user's mobile phone).
[0031] Depending on the context in which the term "module" is used, in the present invention, the term "module" referred to herein may include or be implemented as or include software, hardware, or a combination thereof running on dedicated hardware. For example, software may be machine code, firmware, embedded code, and application software. Software may also include functions, calls to functions, code blocks, or a combination thereof.
[0032] For another example, hardware can be a gate, a circuit, a processor, a computer, an integrated circuit, an integrated circuit core, a memory device, a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), a passive device, a physical non-transitory storage medium including instructions for executing software functions, a portion thereof, or a combination thereof, to control one or more of the hardware units or circuits. In addition, if "module" or "unit" is written in the system claim section below, the "module" or "unit" is deemed to include the hardware circuit for the purpose and scope of the system claim.
[0033] The modules or units in the following description of the embodiments may be coupled or attached to each other as described or shown. The coupling or attachment may be direct or indirect, with no or intermediate items between the coupled or attached modules or units. The coupling or attachment may be by physical contact or by communication between the modules or units, such as wireless communication.
[0034] It should also be understood that the nouns or elements in the embodiments may be described as singular instances. It should be understood that the use of the singular is not limited to the singular, but the use of the singular may apply to multiple instances of any particular noun or element in the present application. Many instances may be the same or similar or may be different.
[0035] Reference now Figure 1 , which shows a navigation system 100 with a parking space and obstacle detection mechanism in an embodiment of the present invention. The navigation system 100 may include a first device 102, such as a client or a server, which is connected to a second device 106, such as a client or a server.
[0036] The navigation system 100 may include a system for searching or providing guidance or information associated with a geographic location, speed control, a supervisory system for enabling access to a device or vehicle, or a combination thereof. The first device 102 may communicate with the second device 106 via a network 104 (eg, a wireless or wired network).
[0037] For example, the first device 102 can be any of a variety of computing devices, such as a mobile phone, a personal digital assistant, a notebook computer, a wearable device, an Internet of Things (IoT) device, an automotive telematics navigation system, an automated vehicle, or other multi-functional device. In addition, for example, the first device 102 can include a device or subsystem, an automated or self-manipulated vehicle or object, a remotely controlled vehicle or object, or a combination thereof.
[0038] The first device 102 can be coupled directly or indirectly to the network 104 to communicate with the second device 106, or can be a standalone device. The first device 102 can further be separate from or integrated with a vehicle (eg, a car, truck, bus, or motorcycle).
[0039] For illustrative purposes, the navigation system 100 is described with the first device 102 as a mobile computing device, although it should be understood that the first device 102 can be different types of devices. For example, the first device 102 can also be a non-mobile computing device such as a server, a server farm, or a desktop computer.
[0040] The second device 106 may be any of a variety of centralized or decentralized computing devices, or high-definition video processing devices. For example, the second device 106 may be a computer, a grid computing resource, a virtualized computer resource, a cloud computing resource, a router, a switch, a peer-to-peer distributed computing device, or a combination thereof.
[0041] The second device 106 can be centralized in a single room, distributed across different rooms, distributed across different geographic locations, or embedded within a telecommunications network. The second device 106 can be coupled to the network 104 to communicate with the first device 102. The second device 106 can also be a client type device as described for the first device 102.
[0042] For purposes of illustration, the navigation system 100 is described with the second device 106 as a non-mobile computing device, although it should be understood that the second device 106 can be a different type of computing device. For example, the second device 106 can also be a mobile computing device, such as a laptop computer, another client device, a wearable device, or a different type of client device. The second device 106 can be a stand-alone device, or can be incorporated with a vehicle, such as a car, truck, bus, or motorcycle.
[0043] Furthermore, for purposes of illustration, the navigation system 100 is described with the second device 106 as a computing device, although it is understood that the second device 106 can be a different type of device. Furthermore, for purposes of illustration, the navigation system 100 is shown with the second device 106 and the first device 102 as endpoints of the network 104, although it is understood that the navigation system 100 can include different partitions between the first device 102, the second device 106, and the network 104. For example, the first device 102, the second device 106, or a combination thereof can also serve as part of the network 104.
[0044] The network 104 may span and represent a variety of networks. For example, the network 104 may include wireless communications, wired communications, optical, ultrasonic, or a combination thereof. Satellite communications, cellular communications, Bluetooth, infrared data association standard (IrDA), wireless fidelity (WiFi), and world-wide interoperability for microwave access (WiMAX) are examples of wireless communications that may be included in the communication path. Ethernet, digital subscriber line (DSL), fiber to the home (FTTH), and plain old telephone service (POTS) are examples of wired communications that may be included in the network 104. In addition, the network 104 may traverse multiple network topologies and distances. For example, the network 104 may include a direct connection, a personal area network (PAN), a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), or a combination thereof.
[0045] The navigation system 100 may provide additional features not available in prior art navigation systems. The first device 102 may be coupled to an ultrasonic sensor 110 and a sensor data local storage 108. The ultrasonic sensor 110 is a sensor, such as a Doppler radar array located on the first device 102, configured to monitor, observe, record, or a combination thereof, the surrounding environment of the first device 102. The sensor data local storage 108 provides a non-transitory storage medium.
[0046] For example, the sensor data local storage 108 may be implemented in a variety of ways, such as a non-volatile storage device such as a hard drive, a solid-state storage device (SSD), a flash memory card, or a combination thereof.
[0047] The first device 102 may be coupled to an object detection module 115, such as an ultrasonic distance assessment module, which may be implemented in software running on dedicated hardware, full hardware, or a combination thereof, and which is configured to analyze distances to correct distance errors caused by noise or reflections in ultrasonic scans. The object detection module 115 may parse the sensor data packets 111 to correct distance errors and detect parking spaces and obstacles captured by the ultrasonic sensor 110. Distance errors may be caused by noise, reflections, or a combination thereof received by the ultrasonic sensor 110. For parking space detection, network transmission is optional. During the calibration process, the first device 102 may upload the sensor data packets 111 to the second device 106 for further analysis or to generate an updated version of the filter manager 116 to improve the detection of parking spaces (not shown).
[0048] The object detection module 115 may include a filter manager 116, a feature module 118, and a line module 120, which may generate coordinates for constructing the top view 109. The filter manager 116 may be a software or hardware module capable of performing bit alignment on the scan data returned within the input sensor data packet 111 in order to identify parking spaces and obstacles in the scan area.
[0049] The feature module 118 may be a software or hardware module capable of determining the presence of parking spaces and obstacles detected by the filter manager 116, which may be stored in the first device 102 or the second device 106. The feature module 118 may receive input from the line module 120, which provides guidance parameters for identifying different types of parking spaces represented in the sensor data packet 111. The sensor data packet 111 may be analyzed by submitting the scan data portion of the sensor data packet 111 to the filter manager 116. It is to be understood that other portions of the sensor data packet 111 (including time, real-world location, and extrinsic parameters of the ultrasonic sensor 110) may be stored in the first device 102 or the second device 106 for subsequent operations.
[0050] The line module 120 may be an updateable set of filters for identifying parking spaces and obstacles to distinguish between drive-in or parallel parking spaces and obstacles located around them. The analysis results of the line module 120 may be stored in the storage circuit of the first device 102 or the second device 106. The line module 120 may identify and correct the distance error captured in the sensor data packet 111.
[0051] The feature module 118 can output the top view 109 including a reference indicator provided by the first device 102 indicating whether the identified parking space is suitable for the first device 102. If the parking space is suitable for the first device 102, the top view 109 can be used to generate control guidance instructions to autonomously park or assist in parking the first device 102.
[0052] The sensor data local storage 108 may be coupled to the ultrasonic sensor 110 to store the top view 109 and the sensor data packet 111 returned from the second device 106. The first device 102 may assemble the parameters for the ultrasonic sensor 110, the scan data, the time, the real-world coordinates, and the extrinsic parameters of the ultrasonic sensor 110 to generate the sensor data packet 111 for analysis. The sensor data packet 111 may provide the information captured by the ultrasonic sensor 110, the time and the location as the real-world coordinates, and the extrinsic parameters of the ultrasonic sensor 110 for the information captured by the ultrasonic sensor 110 and recorded in the sensor data local storage 108.
[0053] The navigation system 100 can be operated by a user 112. The user 112 may include a person or entity accessing or utilizing the navigation system 100 or a device therein. For example, the user 112 may include a person, a service, or a combination thereof that owns or operates the first device 102. Additionally, for example, the user 112 may access or utilize the second device 106 through the first device 102, a service, or a combination thereof.
[0054] The navigation system 100 can further process direct user input 114 from the user 112. The direct user input 114 can include a request for navigation assistance, location of a point of interest, parking assistance, restaurant assistance, lodging assistance, location of a gas station, event reservation, or a combination thereof. The direct user input 114 can be provided directly to or on the first device 102 by or from the user 112. The direct user input 114 can include input or stimulation directly for or related to the corresponding software, application, feature, or a combination thereof.
[0055] The navigation system 100 can implement one or more embodiments without direct user input 114. The navigation system 100 can also implement one or more embodiments using direct user input 114 independently thereof, previous instances of direct user input 114, or a combination thereof. Further details are discussed below.
[0056] When requesting a service to identify a parking space (not shown), the second device 106 may receive a sensor data packet 111 from the first device 102. The second device 106 may parse the sensor data packet 111, identify extrinsic parameters of the ultrasonic sensor 110, real-world coordinates of the ultrasonic sensor 110, time, and scan data, to generate a bird's-eye view 109. The bird's-eye view 109 is a bird's-eye view of the space identified in the sensor data packet 111. The bird's-eye view 109 may also include an indication of the suitability and orientation of the first device 102. As an example, the bird's-eye view may identify the sensor data packet 111 as indicating a motorcycle parking space, a compact vehicle parking space, or an oversized vehicle parking space.
[0057] The second device 106 can analyze the sensor data packet 111 to generate the top view 109 and improvements to the filter manager 116 for use by the first device 102 during the training process. For example, the second device 106 can verify the sensor data packet 111 by checking the time and location information to identify an area that represents a parking spot suitable for the first device 102.
[0058] The second device 106 can be coupled to an object detection module 115, such as a distance assessment module, which can be implemented in software running on dedicated hardware configured to analyze the distances returned from the ultrasonic sensor 110, in full hardware, or a combination thereof. The object detection module 115 can parse the sensor data packets 111 to establish parking spaces and obstacles for the scene captured by the ultrasonic sensor 110.
[0059] The object detection module 115 may include a filter manager 116, a feature module 118, and a line module 120, which may generate coordinates for constructing the overhead view 109. The filter manager 116 may be a software or hardware module capable of performing adjustments to filter parameters to optimize the scan data within the sensor data packet 111 to identify bounding boxes and endpoints of lines forming parking spaces and other markings.
[0060] The feature module 118 may be a software or hardware module capable of determining the location of a line based on the endpoints and bounding boxes generated by the filter manager 116, which module may be stored in the second device 106. The feature module 118 may receive input from the line module 120, which provides guidance parameters for identifying different types of parking spaces represented in the sensor data packet 111. The sensor data packet 111 may be analyzed by submitting the scan data portion of the sensor data packet 111 to the filter manager 116. It should be understood that other portions of the sensor data packet 111, including time, real-world location, and extrinsic parameters of the ultrasonic sensor 110, may be stored in the second device 106 for subsequent operations.
[0061] The line module 120 may be a set of updateable parameters for identifying parking spaces, including line length, line spacing, sign identification, and parking orientation to distinguish between drive-in or parallel parking spaces, or motorcycle parking spaces. The analysis results of the line module 120 may be stored in the storage circuit of the second device 106.
[0062] The feature module 118 can output the top view 109, which includes a reference indicator provided by the first device 102 or the second device 106 indicating whether the identified parking space is suitable for the first device 102. If the parking space is suitable for the first device 102, the second device 106 can include control guidance instructions in the top view 109 to autonomously park or assist in parking the first device 102.
[0063] It has been discovered that the navigation system 100 can reliably identify a suitable parking space for the first device 102 by capturing the distance as detected by the ultrasonic sensor 110 and applying the object detection module 115 to identify the type of parking space identified by the ultrasonic sensor 110. The first device 102 can verify that the identified parking space is suitable for the first device 102 and provide control instructions as part of the overhead view 109.
[0064] Reference now Figure 2 , which shows the Figure 1 FIG. 1 is an example of a top view of a parking lot scan 201 performed by the navigation system 100 of FIG. The parking lot scan 201 of the navigation system 100 depicts a first device 102 searching for a parking space 202. The first device 102 can be an autonomous vehicle or a parking assist vehicle.
[0065] The first device 102 is an object or machine for transporting people or goods, which can automatically manipulate or operate the object or machine. The first device 102 may include Figure 1 The first device 102 may include any one of a car, a truck, a cart, or a motorcycle.
[0066] The first device 102 may be further controlled or manipulated without Figure 1 The first device 102 may include a direct user input 114 corresponding to the manipulation or movement. For example, the first device 102 may be an automated vehicle including a self-driving vehicle, or a vehicle with automated manipulation features, such as smart cruise control or preventive braking. The first device 102 may include an automated parking system for identifying and entering a parking space 202 without direct user input 114. Additionally, for example, the first device 102 may be controlled or manipulated by the navigation system 100, including the navigation system 100 controlling the physical manipulation or movement of the first device 102.
[0067] The first device 102 may identify the real world coordinates 203 of the ultrasonic sensor 110 through GPS reading or cell tower triangulation. The first device 102 may include an ultrasonic sensor 110 for scanning a scanning area 204 to search for a parking space 202. It is understood that the scanning area 204 may include a parking space 202, an occupied parking space 216, or an obstacle 217, such as a structural column of a parking structure. The scanning area 204 is defined as an area limited by the field of view of the ultrasonic sensor 110. The scanning area 204 may be displayed on a user display 218, such as a liquid crystal display (LCD) or a thin film transistor (TFT) display.
[0068] Occupied parking spaces 206 may be areas within a parking lot that are occupied by parked vehicles 216. Structural obstacles 214 may be concrete pillars that are part of a parking structure, trash containers, shopping carts, motorcycles, and the like.
[0069] The first device 102 can compile the scan of the scan area 204, the real world coordinates 203 of the ultrasonic sensor 110, and the extrinsic parameters of the ultrasonic sensor 110. The first device 102 can use Figure 1 The object detection module 115 of the first device 102 may be used to start the process of identifying the parking space 202 for the autonomous vehicle or the parking assist function of the first device 102 .
[0070] It has been discovered that the navigation system 100 can differentiate between the parking space 202 , the occupied parking space 206 , and the parked vehicle 216 by analyzing the distance returned from the scanning area 204 of the ultrasonic sensor 110 .
[0071] Reference now Figure 3 , which shows an exemplary block diagram 301 of the navigation system 100 with a parking space and obstacle detection mechanism in an embodiment of the present invention. The exemplary block diagram 301 describes an ultrasonic distance module 302, which collects information from Figure 1 Ultrasonic sensor 110 Figure 2 The ultrasonic distance module 302 may be a specific hardware structure or all hardware that executes software. The ultrasonic distance module 302 may receive ranging inputs from the ultrasonic sensor 110 at fixed time intervals. Each of the detection distances may be associated with a vehicle posture 304. The vehicle posture 304 provides the ultrasonic sensor 110 with a vehicle posture. Figure 2 The real world coordinates of 203, and Figure 1 The yaw angle of the first device 102 is calculated to provide a relative position of the first device 102 relative to the scanning area 204.
[0072] The alignment data module 306 can accept the return distance from the ultrasonic distance module 302 and the real world coordinates 203 and yaw angle from the vehicle pose 304. The alignment data module 306 can be a specific hardware or full hardware that executes software. The alignment data module 306 can identify the real world coordinates 203 of each point identified by the ultrasonic distance module 302 to generate alignment data input 307.
[0073] The alignment data module 306 may be coupled to a missing point filter 308, a false point filter 310, and a sharpening edge filter 312. By way of example, the combination of the missing point filter 308, the false point filter 310, and the sharpening edge filter 312 constitutes the line module 120. The missing point filter 308 may be full hardware or specific hardware executing software configured to identify missing scan points when adjacent scan points suggest what the missing distance should be. The missing point filter 308 may process the alignment data input 307 to replace missing or much larger than expected distances with appropriate values to produce a missing point scan 309. This condition may be caused by acoustic interference, harmonic reflections, or missing echoes. The missing point scan 309 may identify the location of the missing point scan 309 within the alignment data input 307.
[0074] The false point filter 310 can be specific hardware or full hardware executing software configured to identify reported points in the alignment data input 307 that have a greater than detected object (such as Figure 2 of parked vehicles 216 or Figure 2 The pseudo point filter 310 may generate a pseudo point scan 311 that indicates the location of the pseudo point scan 311 in the alignment data input 307.
[0075] The edge sharpening filter 312 can be full hardware or specific hardware executing software configured to use the distance detected by the ultrasonic sensor 110 to identify sudden changes in the alignment data input 307. As an example, the transition from an obstacle to an open space can present an intermediate distance that is affected by the surface of the obstacle. Subsequent distance samples can show more significant distance changes. The edge sharpening filter 312 can generate a boundary point scan 313, which can show a transition to an increase in distance or a decrease in distance in the alignment data input 307.
[0076] The outputs of the missing point filter 308, the spurious point filter 310, and the boundary sharpening filter 312 may be combined in the bottleneck merging filter 314. The bottleneck merging filter 314 may process the missing point scan 309, the spurious point scan 311, and the boundary point scan 313 in the alignment data input 307 to generate a corrected data input 315. The corrected data input 315 may have the missing point scan 309, the spurious point scan 311, and the boundary point scan 313 replaced by appropriate point distances in the corrected data input 315.
[0077] Corrected data input 315 may be coupled to an increase feature filter 316, a decrease feature filter 318, and a flat feature filter 320 to perform analysis by feature module 118. Increase feature filter 316 may be full hardware or specific hardware executing software configured to identify an increase point scan 317 that defines the points to be considered. Figure 2 The actual transition from close distance to long distance is the edge effect of the scan area 204. The additional point scan 317 can identify the final close distance point before the deeper open space with a longer distance.
[0078] The reduced feature filter 318 may receive the corrected data input 315 to identify a reduced point scan 319. The reduced feature filter 318 may be full hardware or specific hardware executing software configured to identify the reduced point scan 319. The reduced point scan 319 may be defined as a transition point from a deeper open space with a longer distance to a smaller distance closer to the ultrasonic sensor 110.
[0079] Flat feature filter 320 can receive corrected data input 315 to identify transition point scans 321 that identify transitions from close distance to longer distance and from longer distance to close distance. Flat feature filter 320 can be full hardware or specific hardware executing software configured to identify transition point scans 321.
[0080] Feature merging filter 322 may be full hardware or specific hardware executing software configured to combine addition point scan 317, subtraction point scan 319, and transition point scan 321 to produce a smoothed and corrected version of aligned data 315. Feature merging filter 322 may generate smoothed feature scan 323.
[0081] The smooth feature scan 323 can be coupled to a parking space filter 324 and an obstacle filter 326. The parking space filter 324 can be full hardware or specific hardware executing software configured to identify parking space shape points 328. The parking space shape points can be bounded by transition point scans 321 to include identification points with a longer distance between transition point scans 321. The obstacle filter 326 can be full hardware or specific hardware executing software configured to identify obstacle shape points 330 that can represent a parked vehicle 216 or a structural obstacle 214.
[0082] It has been found that manipulation of the missing point filter 308, the spurious point filter 310, the edge sharpening filter 312, the increase feature filter 316, the decrease feature filter 318, and the flat feature filter 320 can effectively transform the noise from the output of the ultrasonic spacing module 302 into a smooth feature scan 323. Calibration of the aforementioned filters can be performed manually by the processor to adjust for different versions of the ultrasonic sensor 110. It is understood that the hardware features of the aforementioned filters can correct the alignment data input 307 with only a hardware delay on the order of 1 to 2 milliseconds. The ultrasonic sensor 110 can operate on a period of 5-10 milliseconds per distance sampling point.
[0083] Reference now Figure 4 , which is displayed by Figure 1 1. An example of an object detection map 401 of a parking lot scan processed by a navigation system 100 of FIG. 1. The example of the object detection map 401 depicts a first device 102 projecting a scan area 402 from an ultrasonic sensor 110. The first device 102 may be traveling through the parking area at a slow speed in a scan direction. The object detection map 401 shows a series of identification points 404 indicating distances 405 to some obstacles. The ultrasonic sensor 110 may periodically transmit ranging pulses. For example, a first device 102 moving at 10 miles per hour and transmitting at 200 Hz provides identification points 404 at approximately 2-inch intervals.
[0084] During a scan of parking space 202, a missing point 406 may be detected when a sample of distance 405 has a large increase, followed by a return to the previous distance 405 in the next sample. Missing point 406 may be caused by an echo or interference that cancels out the acoustic return. Missing point 406 may be bordered on both sides by identification points 404 at approximately the same distance 405.
[0085] As the first device 102 continues to move in the scanning direction beyond the edge 407 of the parked vehicle 216, an increase in the distance 405 beyond approximately 10% of the previous identification point 404 may be defined as an increase point 408, and the next sample of identification points 404 may have an additional increase in distance 405. It should be understood that identification points beyond the increase point may be affected by reflections from the edge 407 of the parked vehicle 216. A false point 410 may be detected when the distance 405 of a sample point (which is bounded on both sides by identification points 404 having approximately the same value as the distance 405) has a decrease greater than 10%.
[0086] When the distance 405 of the sample point has a decrease of more than 50% and the next sample of the identification point 404 shows a greater decrease in the distance 405 than the decrease point 412, the decrease point 412 can be detected. The area between the increase point 408 and the decrease point 412 can be described as the parking space 202. It should be understood that a series of identification points 404 with substantially the same value of the distance 405 can define a structural obstacle 214 or a parked vehicle 216. It should be understood that the side surface 413 of the structural obstacle 214 may cause a shift in the location of the decrease point 412 due to multiple reflections from the side surface 413. As an example, the pending point 414 can be an unverified estimate that remains outside the scanning area 402.
[0087] It has been discovered that the identification of missing points and false points can be filtered out from the distance plot in order to identify areas as structural obstacles 214, parked vehicles, or a combination thereof. The distance 405 of an area adjacent to a parked vehicle 216 can be affected by reflections from the sides of the parked vehicle 216. By applying a series of filters in a structured manner, the navigation system can identify parked vehicles 216, parking spaces 202, and structural obstacles 214.
[0088] Reference now Figure 5 , which shows Figure 1 An exemplary block diagram of a navigation system 100 is shown. The navigation system 100 may include Figure 1 The first device 102, Figure 1 Network 104, and Figure 1 The first device 102 can send information to the second device 106 via the network 104 in a first device transmission 508. The second device 106 can send information to the first device 102 via the network 104 in a second device transmission 510.
[0089] For illustrative purposes, the navigation system 100 is shown with the first device 102 as a client device, although it is understood that the navigation system 100 can include the first device 102 as a different type of device. For example, the first device 102 can be a server including the first display interface 530 coupled to the user display 218.
[0090] In addition, for illustrative purposes, the navigation system 100 is shown with the second device 106 as a server, although it should be understood that the navigation system 100 may include the second device 106 as a different type of device. For example, the second device 106 may be a client device. For example, the navigation system 100 may be fully implemented on the first device 102. The second device 106 may provide Figure 1 Enhancements to the filter manager 116.
[0091] In addition, for the purpose of illustration, the navigation system 100 is shown as having an interaction between a first device 102 and a second device 106. However, it should be understood that the first device 102 can be part or all of an automatic vehicle, an intelligent vehicle, or a combination thereof. Similarly, the second device 106 can similarly interact with the first device 102 representing an automatic vehicle, an intelligent vehicle, or a combination thereof.
[0092] For simplicity of description in this embodiment of the invention, the first device 102 will be described as a client device and the second device 106 will be described as a server device. Embodiments of the invention are not limited to this selection of device types. This selection is an example of an embodiment of the invention.
[0093] The first device 102 can include a first control circuit 512, a first storage circuit 514, a first communication circuit 516, a first user interface 518, and a first positioning circuit 520. The first control circuit 512 can include a first control interface 522. The first control circuit 512 can execute a first software 526 to provide intelligence for the navigation system 100.
[0094] The first control circuit 512 can be implemented in many different ways. For example, the first control circuit 512 can be a processor, an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, a hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof. The first control interface 522 can be used for communication between the first control circuit 512 and other functional units or circuits in the first device 102. The first control interface 522 can also be used for communication outside the first device 102.
[0095] The first control interface 522 can receive information from other functional units / circuitry or from external sources, or can transmit information to other functional units / circuitry or to external destinations. The external sources and the external destinations refer to sources and destinations external to the first device 102 .
[0096] The first control interface 522 can be implemented in different ways and can include different implementations, depending on which functional units / circuits or external units / circuits are being interfaced with the first control interface 522. For example, the first control interface 522 can be implemented with pressure sensors, inertial sensors, micro-electromechanical systems (MEMS), optical circuits, waveguides, wireless circuits, wired circuits, or combinations thereof.
[0097] The first storage circuit 514 may store the first software 526. The first storage circuit 514 may also store related information, such as data representing input images, data representing previously rendered images, sound files, or a combination thereof.
[0098] The first storage circuit 514 may be a volatile memory, a non-volatile memory, an internal memory, an external memory, or a combination thereof. For example, the first storage circuit 514 may be a non-volatile storage device, such as a non-volatile random access memory (NVRAM), a flash memory, a disk storage device, or a volatile storage device, such as a static random access memory (SRAM).
[0099] The first storage circuit 514 may include a first storage interface 524. The first storage interface 524 may be used for communication between the first storage circuit 514 and other functional units or circuits in the first device 102 (eg, the sensor data local storage 108). The first storage interface 524 may also be used for communication outside the first device 102.
[0100] The first storage interface 524 can receive information from other functional units / circuits or from external sources, or can send information to other functional units / circuits or external destinations. The external source and the external destination refer to sources and destinations outside the first device 102. The first storage interface 524 can receive input from the object detection module 115 and issue data to the object detection module 115.
[0101] The first storage interface 524 can include different implementations, depending on which functional units / circuits or external units / circuits are interfaced with the first storage circuit 514. The first storage interface 524 can be implemented with technologies and techniques similar to the implementation of the first control interface 522.
[0102] The first communication circuit 516 can enable external communications to and from the first device 102. For example, the first communication circuit 516 can allow the first device 102 to communicate with the second device 106, accessories (eg, peripheral devices or desktop computers), and the network 104.
[0103] The first communication circuit 516 may also function as a communication hub that allows the first device 102 to function as part of the network 104 and is not limited to functioning as an endpoint or terminal circuit for the network 104. The first communication circuit 516 may include active and passive components, such as microelectronics or antennas, for interacting with the network 104.
[0104] The first communication circuit 516 may include Figure 5 The first communication interface 528 can be used for communication between the first communication circuit 516 and other functional units or circuits in the first device 102. The first communication interface 528 can receive information from the second device 106 to distribute to other functional units / circuits, or can transmit information to other functional units or circuits.
[0105] The first communication interface 528 can include different implementations, depending on which functional units or circuits are interfaced with the first communication circuit 516. The first communication interface 528 can be implemented with technologies and techniques similar to the implementation of the first control interface 522.
[0106] The first user interface 518 allows Figure 1 The user 112 docks and interacts with the first device 102. The first user interface 518 may include input devices and output devices. Examples of input devices of the first user interface 518 may include a keypad, a touchpad, soft keys, a keyboard, a microphone, an infrared sensor for receiving remote signals, an ultrasonic sensor 110, or any combination thereof to provide data and communication input. As an example, the ultrasonic sensor 110 may be connected to the first user interface 518 via a wired or wireless connection. The first user interface 518 may pass input from the ultrasonic sensor 110 to the first control circuit 512 for processing and storage. During the training of the object detection module 115, the first communication interface 528 may pass input from the ultrasonic sensor 110, the position of the ultrasonic sensor 110, and the extrinsic parameters of the ultrasonic sensor 110 to the second device 106 to enhance Figure 1 The filter manager 116 and Figure 1 The accuracy and reliability of the line module 120.
[0107] The first user interface 518 can include a first display interface 530. The first display interface 530 can include an output device. The first display interface 530 can include a user display 218, a projector, a video screen, a speaker, or any combination thereof.
[0108] The first control circuit 512 can operate the first user interface 518 to display information generated by the navigation system 100. The first control circuit 512 can also execute the first software 526 for other functions of the navigation system 100, including receiving positioning information from the first positioning circuit 520. The first control circuit 512 can access the first positioning circuit 520 to determine Figure 3 The first control circuit 512 may also execute the first software 526 to interact with the network 104 via the first communication circuit 516.
[0109] The first control circuit 512 can operate the first user interface 518 to collect data from the ultrasonic sensor 110. The first control circuit 512 can also calculate location information based on the information received from the first positioning circuit 520, including the speed, direction, and yaw angle of the first device 102. When operating as a parking space recognition mechanism, the first control circuit 512 can compile a sensor data packet 111 including Figure 2 The first control circuit 512 may operate the object detection module 115 to deliver the top view 109 for display on the user display 218 and generate vehicle maneuvering instructions 554 to automatically park or assist in parking the first device 102.
[0110] The first positioning circuit 520 can generate position information such as real-world coordinates, current heading, current acceleration, and current speed of the first device 102. The first positioning circuit 520 can be implemented in many ways. For example, the first positioning circuit 520 can be used as at least a part of a global positioning system, an inertial navigation system, a cellular tower positioning system, a pressure positioning system, or any combination thereof. In addition, for example, the first positioning circuit 520 can utilize components such as an accelerometer or a global positioning system (GPS) receiver. In conjunction with the first control circuit 512, the first positioning circuit 520 can calculate pseudoranges for four or more global positioning system satellites (not shown).
[0111] The first positioning circuit 520 may include a first positioning interface 532. The first positioning interface 532 may be used for communication between the first positioning circuit 520 and other functional units or circuits in the first device 102 (including the ultrasonic sensor 110).
[0112] The first location interface 532 can receive information from other functional units / circuitry or from external sources, or can transmit information to other functional units / circuitry or to external destinations. The external sources and the external destinations refer to sources and destinations external to the first device 102 .
[0113] The first positioning interface 532 may include different implementations, depending on which functional units / circuits or external units / circuits are interfaced with the first positioning circuit 520. The first positioning interface 532 may be implemented with techniques and technologies similar to the implementation of the first control circuit 512, including circuits, gates, analog circuits, processors, or application specific integrated circuits (ASICs).
[0114] The second device 106 can be optimized to implement embodiments of the present invention in a multi-device embodiment with the first device 102. The second device 106 can provide additional or higher performance processing capabilities compared to the first device 102. The second device 106 can include a second control circuit 534, a second communication circuit 536, a second user interface 538, and a second storage circuit 546.
[0115] The second user interface 538 allows a user (not shown) to dock and interact with the second device 106. The second user interface 538 may include an input device and an output device. Examples of the input devices of the second user interface 538 may include a keypad, a touch pad, soft keys, a keyboard, a microphone, or any combination thereof, to provide data and communication input. Examples of the output devices of the second user interface 538 may include a second display interface 540. The second display interface 540 may include a display, a projector, a video screen, a speaker, or any combination thereof.
[0116] During the training process, the second control circuit 534 may receive the sensor data packet 111 through the second communication circuit 536. The second control circuit may check Figure 4 The distance 405 of the scanning area 204 of the first device 102, the real world coordinates 203 of the ultrasonic sensor 110, and the extrinsic parameters of the ultrasonic sensor 110 are used to verify that the content of the sensor data packet 111 does represent the position identified by the first device 102. Figure 2 Once the sensor data packet 111 has been verified, the second control circuit 534 may transmit the sensor data packet 111 to the object detection module 115 via the second storage circuit 546 for processing.
[0117] The second control circuit 534 can execute the second software 542 to provide the intelligence of the second device 106 of the navigation system 100. The second software 542 can operate in conjunction with the first software 526. Compared to the first control circuit 512, the second control circuit 534 can provide additional capabilities.
[0118] The second control circuit 534 can operate the second user interface 538 to display information. The second control circuit 534 can also execute the second software 542 for other functions of the navigation system 100, including operating the second communication circuit 536 to communicate with the first device 102 through the network 104.
[0119] The second control circuit 534 can be implemented in many different ways. For example, the second control circuit 534 can be a processor, an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), a digital signal processor (DSP), or a combination thereof.
[0120] The second control circuit 534 may include a second control interface 544. The second control interface 544 may be used for communication between the second control circuit 534 and other functional units or circuits in the second device 106. The second control interface 544 may also be used for communication outside the second device 106.
[0121] The second control interface 544 can receive information from the other functional units / circuits or from external sources, or can send information to the other functional units / circuits or to external destinations. The external sources and the external destinations refer to sources and destinations external to the second device 106 .
[0122] The second control interface 544 can be implemented in different ways and can include different implementations, depending on which functional units / circuits or external units / circuits are interfaced with the second control interface 544. For example, the second control interface 544 can be implemented with a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), an optical circuit, a waveguide, a wireless circuit, a wired circuit, or a combination thereof.
[0123] The second storage circuit 546 can store the second software 542. The second storage circuit 546 can also store information, such as data representing an input image, data representing a previously presented image, a sound file, or a combination thereof. The second storage circuit 546 can be sized to provide additional storage capacity to supplement the first storage circuit 514. During the calibration process, the second storage circuit 546 can receive the overhead view 109 of the scan area 204 identifying the parking space 202. The second storage circuit 546 can transmit the overhead view 109 to be incorporated into the vehicle maneuvering instructions 554 for entering the parking space 202 by the first device 102. The overhead view 109 can then be transmitted to the first device 102 via the second communication circuit 536.
[0124] For purposes of illustration, the second storage circuit 546 is shown as a single element, but it is understood that the second storage circuit 546 can be a distribution of storage elements. In addition, for purposes of illustration, the navigation system 100 is shown with the second storage circuit 546 as a single hierarchical storage system, although it is understood that the navigation system 100 can include a second storage circuit 546 in a different configuration. For example, the second storage circuit 546 can be formed with different storage technologies forming a memory hierarchy system that includes different levels of cache, main memory, rotating media, or offline storage.
[0125] The second storage circuit 546 may be a controller of a volatile memory, a non-volatile memory, an internal memory, an external memory, or a combination thereof. For example, the second storage circuit 546 may be a controller of a non-volatile storage device, such as a non-volatile random access memory (NVRAM), a flash memory, a disk storage device, or a volatile storage device, such as a static random access memory (SRAM).
[0126] The second storage interface 548 can receive information from other functional units / circuits or from external sources, or can send information to other functional units / circuits or to external destinations. The external sources and the external destinations refer to sources and destinations outside the second device 106 .
[0127] The second storage interface 548 may include different implementations, depending on which functional units / circuits or external units / circuits are interfaced with the second storage circuit 546. The second storage interface 548 may be implemented with similar techniques and technologies as the implementation of the second control interface 544. The second storage circuit 546 may receive the real-world location of the identification point 404 from the object detection module 115.
[0128] The second control circuit 534 can generate vehicle maneuvering instructions 554 and the overhead view 109 from the real-world locations of the identified points 404. During the training process, the second control circuit 534 can incorporate the vehicle maneuvering instructions 554 into the overhead view 109 for transmission to the first device 102. As an example, the real-world locations of the identified points 404 can be a geometric transformation of a series of identified points 404, missing points 406, added points 408, subtracted points 412, or a combination thereof in real-world coordinates based on the GPS location of the ultrasonic sensor 110 and the external calibration of the ultrasonic sensor 110 as provided by the first device 102.
[0129] The second communication circuit 536 can enable external communications to and from the second device 106. For example, the second communication circuit 536 can allow the second device 106 to communicate with the first device 102 over the network 104. For example, the second device 106 can provide the top view 109 to the first device 102 in response to receiving the sensor data packet 111.
[0130] The second communication circuit 536 may also function as a communication hub, which allows the second device 106 to function as part of the network 104 and is not limited to being an endpoint or terminal unit or circuit of the network 104. The second communication circuit 536 may include active and passive components for interacting with the network 104, such as microelectronics or an antenna.
[0131] The second communication circuit 536 may include a second communication interface 550. The second communication interface 550 may be used for communication between the second communication circuit 536 and other functional units or circuits in the second device 106. The second communication interface 550 may receive information from other functional units / circuits or may send information to other functional units or circuits.
[0132] The second communication interface 550 can include different implementations, depending on which functional units or circuits are interfaced with the second communication circuit 536. The second communication interface 550 can be implemented with techniques and technologies similar to the implementation of the second control interface 544.
[0133] During the training process, the first communication circuit 516 can be coupled to the network 104 to transmit the first device 508 Figure 1 The sensor data packet 111 is sent to the second device 106. The second device 106 can receive information from the first device transmission 508 of the network 104 in the second communication circuit 536.
[0134] The second communication circuit 536 can be coupled to the network 104 to send information to the first device 102, including the overhead view 109 in the second device transmission 510. The first device 102 can receive information from the second device transmission 510 of the network 104 in the first communication circuit 516. The navigation system 100 can be executed by the first control circuit 512, the second control circuit 534, or a combination thereof. For illustrative purposes, the second device 106 is shown as having a partition including a second user interface 538, a second storage circuit 546, a second control circuit 534, and a second communication circuit 536, but it should be understood that the second device 106 may include different partitions. For example, the second software 542 can be divided differently so that some or all of its functions can be in the second control circuit 534 and the second communication circuit 536. In addition, the second device 106 may include other functional units or circuits, which are not shown for clarity. Figure 5 middle.
[0135] The functional units or circuits in the first device 102 can work individually and independently of other functional units or circuits. The first device 102 can work individually and independently of the second device 106 and the network 104.
[0136] The functional units or circuits in the second device 106 can work individually and independently of other functional units or circuits. The second device 106 can work individually and independently of the first device 102 and the network 104.
[0137] The above functional units or circuits may be implemented in hardware. For example, one or more of the functional units or circuits may be implemented using a gate, a circuit, a processor, a computer, an integrated circuit, an integrated circuit core, a pressure sensor, an inertial sensor, a micro-electromechanical system (MEMS), a passive device, a physical non-transitory memory medium containing instructions for executing software functions, a portion thereof, or a combination thereof.
[0138] For illustrative purposes, the navigation system 100 is described by the operation of the first device 102 and the second device 106. It should be understood that the first device 102 and the second device 106 can operate any modules and functions of the navigation system 100.
[0139] By way of further example, the first device 102 may be an autonomous vehicle. The first user interface 518 may receive a Figure 1 The input of the ultrasonic sensor 110 is used to compile Figure 1 The sensor data packet 111 may be generated by the first control circuit 512 from the ultrasonic sensor 110 and the first positioning circuit 520. The sensor data packet 111 may be sent to the second device 106 via the first communication circuit 516 and the network 104 for processing by the second control circuit 534 and the object detection module 115.
[0140] It has been found that the second device 106 can receive the need to identify from the first device 102 Figure 2 The second control circuit 534 may verify the sensor data packet 111 and pass the information to the object detection module 115 for analysis. When the object detection module 115 has analyzed the data and compiled the overhead map 109, the second control unit may incorporate maneuvering instructions to cause the first device 102 to enter the parking space 202 or continue searching for a suitable parking space in the parking space 202. The overhead map 109 may then be passed to the second communication circuit 536 for transmission to the first device 102. The speed of the conversion is very important for the safe operation of the first device 102 in parking assistance or autonomous driving mode.
[0141] Reference now Figure 6 , which shows an exemplary data processing diagram 601 of a solid line processing data flow of a navigation system. The exemplary block diagram 601 of the solid line processing data flow may include the line module 120 processing the range data scan 602 as input. The line module 120 may include a missing point filter 308, a false point filter 310, and a sharp edge filter 312. It should be understood that Figure 1The object detection module 115 and its subcomponents may be software executed by the second control circuit 534, the first control circuit 512, or a combination thereof. It should also be understood that the object detection module 115 and its subcomponents may have specific hardware-assisted logic if it is desired to accelerate the object recognition process.
[0142] The range data scan 602 may be submitted to the missing point filter 308, the spurious point filter 310, and the edge sharpening filter 312 simultaneously. The processing of the line module 120 may address various issues associated with addressing the noise environment issues of the ultrasonic sensor 110. The missing point filter 308 may identify and correct the missing points 406 identified in the range data scan 602. The output of the missing point filter 308 may be a missing point scan 309, which includes corrected distances 604 in place of the missing points 406. The corrected distances 604 may be defined as the average of the distances presented by two adjacent identified points 404. Since the missing point filter 308 only addresses the correction of the missing points 406, this correction may be completed very quickly, while the spurious point filter 310 and the edge sharpening filter 312 perform other corrections.
[0143] The false point filter 310 may identify the false point 410 as a Figure 4 The substantially equal value of the distance 405 of the boundary is the shorter distance of the boundary. The pseudo point filter 310 can output the pseudo point scan 311 and correct any pseudo points 410 with the adjusted distance 606. The adjusted distance 606 can be defined as the average of the distances presented by two adjacent identified points 404. The boundary sharpening filter 312 can identify an increase point 412 as an increase in the distance 405 relative to the previous identified point 404, followed by a further increase in the distance 405 of the next identified point 404. The identification of the increase point 412 can provide Figure 2 The basic reference for the detection of the parking space 202 is shown. The edge sharpening filter 312 can output a boundary point scan 313 that can position the subsequent point 608 following the added point 412 in the sample at the distance 405 of the next sample of the identified point 404.
[0144] The bottleneck merging filter 314 may receive the missing point scan 309, the phantom point scan 311, and the boundary point scan 313 to generate a corrected data input 315. The corrected data input 315 includes corrections to the corrected distance 604, the adjusted distance 606, and the follow point 608. The corrected data input 315 may be represented as an output of the line module 120 and is input to the feature module 118.
[0145] It has been discovered that the line module 120 can correct errors in the range data scan 602. The missing point filter 308, the false point filter 310, and the edge sharpening filter 312 can operate simultaneously to generate a corrected data input 315 using a bottleneck merging filter 314. It should be understood that each identified point 404 is a distance 405 of a specific sampling point. The corrected data input 315 represents a clarification and correction of errors caused by the noisy environment of the ultrasonic sensor 110.
[0146] Reference now Figure 7 , which shows Figure 1 FIG. 7 is an exemplary feature detection process flow 701 of the navigation system 100 of FIG. The exemplary feature detection process flow 701 depicts the corrected data input 315 coupled to the feature module 118 for processing. The corrected data input 315 can be processed by the increase feature filter 316, the reduction feature filter 318, and the flatten feature filter 320 at the same time.
[0147] Added feature filter 316 to scan Figure 4 405, which is represented in the corrected data input 315. By monitoring the distance 405 of the next identified point 404 and detecting an increase in the distance 405 that is greater than 10% of the distance 405 of the current identified point 404, the added point 408 can be identified. The output of the added feature filter 316 can be an added point scan 317, which identifies the adjusted added point 702. The adjusted added point 702 can be adjusted based on the calibration of the added feature filter 316, which identifies the effect of the edge 407 of the parked vehicle 216 in the scan area 204.
[0148] The reduced feature filter 318 can process the corrected data input 315 to determine the presence of the reduced point 412. The reduced feature filter 318 can scan the distance 405 to determine a reduction of greater than 10% in the distance 405, followed by an identified point 404 having a substantially similar value to the distance 405. The output of the reduced feature filter 318 is a reduced point scan 319 that identifies an adjusted reduced point 704. The adjusted reduced point 704 can be adjusted based on a calibration of the reduced point filter 318 that identifies the effect of the side surface 413 of the structural obstacle 214 in the scan area 204.
[0149] The flat feature filter 320 can determine the boundary points 702 between significant changes in the distance 405. The significant change in the distance 405 can be an increase or decrease of greater than 25% relative to the previously identified point 404. As an example, the boundary points 706 can be determined by detecting the increase points 408 and the decrease points 412 in the corrected data input 315. The output of the flat feature filter 320 can be a transition point scan 321, where the boundary points 706 are adjusted to compensate for the edge effects of the scan area 204 caused by the edge 407 of the parked vehicle 216 and the side surface 413 of the structural obstacle 214. As an example, the real-world location 203 of the adjusted increase point 702 and the adjusted decrease point 704 can be compared to the real-world location 203 of the boundary point 706.
[0150] The added point scan 317, the reduced point scan 319, and the transition point scan 321 can be input to the feature merge filter 322. The feature merge filter 322 can combine the adjusted added points 702 and the adjusted reduced points 704 detected by the feature merge filter 322 to produce a processed scan 708. The processed scan 704 can verify that the boundary point 706 is actually consistent with the adjusted added point 702 and the adjusted reduced point 704 by comparing the real-world coordinates 203. The processed scan 704 maintains the identified points 404 and marks the adjusted added points 702 and the adjusted reduced points 704 for further processing.
[0151] It has been discovered that feature detection process flow 701 can be calibrated to effectively detect adjusted increase points 702 and adjusted decrease points 704 . Figure 1 The navigation system 100 may monitor a value greater than Figure 2 The feature merge filter 322 may mark the adjusted increase point 702 and the adjusted decrease point 704, which are adjusted to account for the noise and reflections caused by the edge 407 of the parked vehicle 216 and the side surface 413 of the structural obstacle 214. As an example, the scanning area may have a maximum distance of 10 meters, so any transition over 2.5 meters will indicate an increase point 408 or a decrease point 412, depending on the direction of the change. The hardware filters of the increase feature filter 316, the decrease feature filter 318, and the flat feature filter 320 may be manually or by Figure 5 The second control circuit 534 is Figure 1 The filter manager 116 is calibrated.
[0152] Reference now Figure 8 , which shows Figure 1801 of the navigation system 100. The exemplary parking space and object detection processing data flow 801 of the navigation system 100 depicts the processed scan 704 as an input to the parking space filter 324 and the obstacle filter 326. These filters can be calibrated by the second control unit 534 to recognize features within the processed scan 704.
[0153] The parking space filter 324 can determine that there are a sufficient number of identification points 404 between the increase point 408 and the decrease point 412 to identify the parking space 202. It is appreciated that the size of the parking space 202 can extend beyond the increase point 408 and the decrease point 412 without affecting the surrounding environment.
[0154] The obstacle filter 326 can search for hard boundaries of any obstacles adjacent to the parking space 202. The obstacle filter 326 can identify areas of the processed scan 704 to find Figure 2 Structural obstacles 214 and Figure 2 It should be understood that due to the irregular shape of the vehicle, when detecting the parked vehicle 216 Figure 4 The distance 405 may vary. The structural obstacle 214 may have a smaller size, and it may have a regular smooth surface that reflects a consistent value of the distance 405 across the width of the surface.
[0155] The parking space filter 324 may register the parking space shape point 328 that can locate the parking space 202 with high accuracy. It should be understood that the parking space filter 324 may be calibrated by the second control circuit 534 or by Figure 1 By identifying the real-world location of the parking space 202, the second control circuit can generate Figure 1 A top view 109 and Figure 5 The vehicle maneuvering instructions 554 are provided for the first device 102 to enter the parking space 202.
[0156] The obstacle filter 326 can provide the obstacle shape points 330 as part of the top view 109. The obstacle shape points 330 can identify the parked vehicles 216 and the structural obstacles 214. By identifying the real-world locations of the obstacle shape points 330, highly accurate identification of the parked vehicles 216 and the structural obstacles 214 can be provided.
[0157] Reference now Fig. 9 , which shows an embodiment of the present invention Figure 1 The pending point 414 may be Figure 5The distance 405 can be centered in the size five kernel 902 by using the memory location in the second storage circuit 546. The identified point 404 can be recorded by transferring the distance 405 to the pending point 414. After applying the filter to create the identified point 404, the new point 904 can be assigned to the pending scan.
[0158] The kernel 902 may move to the next pending point 414 to identify the Figure 1 The next sample of the distance 405 generated by the ultrasonic sensor 110 is obtained. It is understood that the sampling interval of the ultrasonic sensor 110 can be within 50 to 100 milliseconds. The processing of the captured value of the distance 405 by the navigation system 100 can be completed within 2-5 milliseconds. When the next sample of the identification point 404 is stored in the second storage circuit 546, the identification of the identification point 404, the missing point 406, the added point 408, the false point 410, and the subtracted point 412 can be identified.
[0159] When the triplets 906 identifying the points 404 have been stored, these filters can identify missing points 406, added points 408, false points 410, and subtracted points 412 that may have been captured. As an example, Figure 1 The object detection module 115 may identify a single sample of the identified point 404 that shows a change in distance 405. Continuing with this example, the triple 906 may have a long distance sample between two substantially equal smaller distance samples, indicating a missing point 406. If the identified points 404 of the triple 906 identify two consecutive increasing distance values, an increasing point 408 may be identified. Other combinations of triples 906 may indicate false points 410 and decreasing points 412.
[0160] It has been discovered that the navigation system 100 may be configured to support Figure 1 By evaluating the triplet 906, all distance errors (such as missing points 406 and false points 410) can be identified and corrected to provide a feature module 118 that can be presented to the feature module 118. Figure 3 The navigation system 100 can quickly identify the area occupied by the structural obstacle 214 and the parked vehicle 216 and the available area of the parking space 202 .
[0161] Reference now Fig.10 , which shows Figure 1 An exemplary flowchart 1001 of an embodiment of the navigation system 100 of FIG. The exemplary flowchart 1001 depicts receiving a new point 1002, wherein Figure 5 The second storage circuit 546 may allocate memory locations for analyzing Figure 1 The ultrasonic sensor 110 receives Figure 1Sensor data packet 111 Figure 4 The flow proceeds to module 1004 where all filters in level I are applied, where Figure 3 Missing point filter 308, Figure 3 False point filter 310, Figure 3 The edge sharpening filter 312, Figure 3 Add feature filter 316, Figure 3 The reduced feature filter 318, Figure 3 Flat feature filter 320, Figure 3 Parking space filter 324 and Figure 3 The obstacle filter 326 can be called. Due to the parallel nature of the filter, Figure 1 The filter manager 116 can simultaneously calibrate and apply Figure 1 The feature module 118 and Figure 1 Line module 120.
[0162] Flow proceeds to block 1006 where the results of all filters in stage I are merged. Figure 3 The alignment data module 306, Figure 3 The bottleneck merge filter 314 and Figure 3 The feature merging filter 322 can combine the intermediate results from their respective input filters. The process proceeds to the check 1008 of applying all filters to determine whether it has been identified. Figure 2 Parking space 202, Figure 2 Structural obstacles 214, Figure 2 If the check 1008 of applying all filters determines that more data is being captured and the parking space 202 has not been identified, the flow returns to the module 1004 of applying all filters in level I to continue processing the distances captured by the ultrasonic sensor 110.
[0163] Once the check 1008 of applying all filters determines that the parking space 202 has been identified, the flow proceeds to the output result module 1010. The output result module 1010 can alert the second control circuit 534 to generate Figure 1 A top view 109 and Figure 5 The vehicle operation command 554 is used to transmit to Figure 1 The process proceeds to the stop module 1012 to determine Figure 1The user 112 of the navigation system 100 determines whether the parking space 202 has been accepted or whether the user 112 has decided to continue searching for an alternative space. If the user 112 decides to skip the parking space 202 and continue searching, the process returns to the receive new point module 1002 to reinitiate the search. If the user 112 decides to adopt the parking space 202 identified by the navigation system 100, the process proceeds to the end module 1014, where the second storage circuit 546 may be cleared. Figure 4 The previously identified point 404 is used to prepare for the next trip.
[0164] Reference now Fig.11 , which shows Figure 1 An exemplary flowchart 1101 of another embodiment of the navigation system 100 with a fixed kernel size is shown. The exemplary flowchart 1101 depicts receiving a new point 1002, wherein Figure 5 The second storage circuit 546 can allocate memory locations for analyzing Figure 1 The ultrasonic sensor 110 receives Figure 4 The distance of 405 captures the value Figure 1 The flow proceeds to the nearest K point module 1102, where the ultrasonic sensor 110 detects the nearest K values of the distance 405 from the last I positions sampled. It should be understood that the values of K and I can be positive integers greater than one. The K values of the distance 405 can be loaded into the second storage circuit 546 for filtering and analysis.
[0165] The process proceeds to the K-point filtering module 1104, where Figure 3 Missing point filter 308, Figure 3 False point filter 310, Figure 3 The edge sharpening filter 312, Figure 3 Add feature filter 316, Figure 3 The reduced feature filter 318, Figure 3 Flat feature filter 320, Figure 3 Parking space filter 324 and Figure 3 The obstacle filter 326 can be called. Due to the parallel nature of the filter, Figure 1 The filter manager 116 can simultaneously calibrate and apply Figure 1 The feature module 118 and Figure 1 The filtered points can be identified as coming from Figure 4 Identification point 404, Figure 4 The missing point 406, Figure 4 Increase point 408, Figure 4 The false point 410 and Figure 4 one of the reduction points 412.
[0166] The flow may proceed to the mark points as filtered module 1106, where the missing points 406 and the false points 410 may be corrected and marked as identified points 404. The added points 408 and the reduced points 412 may be marked as Figure 7 The boundary point 702 indicates Figure 2 There is an area of 202 parking spaces.
[0167] The process may proceed to the save filtering result module 1108, wherein the second control circuit 534 may store the identification point 404 and the boundary point 702 in the second storage circuit 546 to prepare for generating the top view 109 and Figure 5 The process proceeds to more unfiltered point checks 1110, where the second control circuit 534 can detect whether there are vehicle maneuvers that must be evaluated. Figure 4 The process returns to the last K point module 1102 to repeat the analysis for the new unfiltered points. If there are no additional unfiltered points, the process proceeds to the output result module 1010.
[0168] The output result module 1010 can alert the second control circuit 534 to generate the top view 109 and the vehicle operation command 554 for transmission to Figure 1 The process proceeds to the stop module 1012 to determine Figure 1 The user 112 may determine whether the user 112 has accepted the identified parking space 202 or has decided to continue looking for an alternative space.
[0169] If the user 112 decides to skip the parking space 202 and continue searching, the process returns to the receive new point module 1002 to reinitiate the search. If the user 112 decides to adopt the parking space 202 identified by the navigation system 100, the process proceeds to the end module 1014, where the previously identified point 404 can be cleared from the second storage circuit 546 to prepare for the next trip.
[0170] Reference now Fig.12 , which shows that with dynamic kernel size Figure 1 An exemplary flowchart 1201 of another embodiment of the navigation system 100 of FIG. The exemplary flowchart 1201 depicts receiving a new point 1002, wherein Figure 5 The second storage circuit 546 may allocate memory locations for analyzing Figure 1 The ultrasonic sensor 110 receives Figure 4 The distance of 405 captures the value Figure 1The flow proceeds to the last I positions module 1202, where the ultrasonic sensor 110 detects the most recent I values of the distance 405 from the last I positions sampled. It should be understood that the value of I can be a positive integer greater than one. The I values of the distance 405 can be loaded into the second storage circuit 546 for filtering and analysis.
[0171] The process proceeds to the review N identification points module 1204, where Figure 5 The second control circuit 534 can scan the previous N values of the distance 405 stored in the second storage circuit 546 to further classify the distance 405. The process proceeds to the filter N point module 1206, where the distance 405 can be identified as one of the identified points 404, the missing points 406, the added points 408, the false points 410, and the reduced points 412.
[0172] The process proceeds to the mark points as filtered module 1208, where the second control circuit 534 can mark the missing points 406, and the false points 410 can be corrected and marked as identified points 404. The added points 408 and the reduced points 412 can be marked as Figure 7 The boundary point 702 indicates Figure 2 The parking area is 202.
[0173] The process proceeds to the save filter result module 1210, where the second control circuit 534 saves the identification point 404 to the second storage circuit 546 for generating the top view 109 and Figure 5 The process proceeds to more unfiltered point checks 1212, where the second control circuit 534 can detect whether there are vehicle maneuvers that must be evaluated. Figure 4 The process then returns to the last I position module 1202 to repeat the analysis for the new unfiltered points. If there are no additional unfiltered points, the process proceeds to the output result module 1010.
[0174] The output result module 1010 can alert the second control circuit 534 to generate the top view 109 and the vehicle operation command 554 for transmission to Figure 1 The process proceeds to the stop module 1012 to determine Figure 1 The user 112 may determine whether the user 112 has accepted the identified parking space 202 or has decided to continue looking for an alternative space.
[0175] If the user 112 decides to skip the parking space 202 and continue searching, the process returns to the receive new points module 1002 to reinitiate the search. If the user 112 decides to adopt the parking space 202 identified by the navigation system 100, the process proceeds to the end module 1014, where the previous identification points 404 can be cleared from the second storage circuit 546 to prepare for the next trip.
[0176] Reference now Fig.13 , which shows Figure 1 Example ultrasonic sensor beam 1301 of navigation system 100. Example ultrasonic sensor beam 1301 depicts Figure 1 The first beam pattern 1302 is projected by a particular one of the ultrasonic sensors 110. It should be understood that the center line O-M2 1304 may have the strongest return. As the angle increases to L1 1306 or R1 1308, the return power decreases and streaking issues may occur, such as echoes and extra reflections, which may cause Figure 4 Identification point 404 Figure 4 The identification of the distance 405 is complicated.
[0177] Figure 1 The filter management module 116 can calibrate the filter to adjust for detection Figure 4 Identification point 404, Figure 4 The missing point 406, Figure 4 Increase point 408, Figure 4 The false point 410 and Figure 4 4. The first beam pattern 1302 is used to sample the distance 405 provided by the ultrasonic sensor 110 ...
[0178] The second beam pattern 1314 may provide a narrower field of view from the ultrasound sensor 110. The second sensor beam pattern 1314 may be Figure 2 of parked vehicles 216 and Figure 2 The edges of the structural obstacles 214 are provided with clearer definition. It can be appreciated that the maximum distances of the first beam pattern 1302 and the second beam pattern 1314 are substantially the same and have a usable limit of approximately 10 meters.
[0179] Reference now Fig.14, which shows a method for detecting Figure 7 1. Exemplary object detection pattern 1401 of boundary point 702 of scanning area 204. Exemplary object detection pattern 1401 depicts scanning area 204 with ultrasonic sensor 110 moving in the scanning direction shown. Identification point 404 may be outside scanning area 204. When adding point 408 is detected directly, the trailing edge 1402 of scanning area 204 actually passes through the mapped obstacle (not shown). When trailing edge 1402 is still on the obstacle, the partial reflection may be seen as the obstacle. In fact, adding point 408 may be adjusted to refine boundary point 1404. As an example, the trailing edge 1402 of scanning area 204 may exceed the obstacle so as not to affect the detection of adding point 408.
[0180] It has been found that the actual position of parking space 202 can be explained from the directly detected increase point 408. Therefore, Figure 3 The parking space filter 324 can Figure 2 The parking space 202 is accurately located in the top view 109 and Figure 5 The vehicle maneuvering instructions 554 allow the first device to access the parking space 202 outlined in the top view 109 .
[0181] Reference now Fig.15 , which shows a flow chart of a method 1500 of operation of the navigation system 100 in an embodiment of the present invention. The method 1500 includes: receiving a sensor data packet of a distance captured in a scanning area in box 1502; analyzing the sensor data packet in box 1504, including storing the sensor data packet; parsing the sensor data packet to generate a processed scan including identifying real-world coordinates in box 1506; identifying a parking space from the processed scan in box 1508; compiling a top view in box 1510, the top view including the real-world coordinates of the parking space identified by analyzing the scanning area; and incorporating vehicle maneuvering instructions into the top view to enter the parking space in box 1512.
[0182] The resulting method, process, apparatus, device, product and / or system is straightforward, cost-effective, uncomplicated, highly versatile, accurate, sensitive and efficient, and may be implemented by adapting known components to readily available, efficient and economical manufacture, application and utilization. Another important aspect of the embodiments of the present invention is that it valuable supports and serves the historical trend of reducing costs, simplifying systems and improving efficiency.
[0183] Accordingly, these and other valuable aspects of embodiments of the present invention advance the state of the technology to at least the next level.
[0184] Although the present invention has been described in conjunction with a specific best mode, it should be understood that, based on the foregoing description, many substitutions, modifications and variations will be clear to those skilled in the art. Therefore, the present invention is intended to include all such substitutions, modifications and variations that fall within the scope of the included claims. All contents set forth herein or shown in the accompanying drawings should be interpreted as illustrative rather than restrictive.
Claims
1. A navigation system, comprising: The control circuit is configured as follows: receiving a sensor data packet for distances captured in a scan area; analyzing the sensor data packet, including storing the sensor data packet; parsing the sensor data packet to generate a processed scan including identified real-world coordinates; identifying a parking space from said processed scan submitted to a parking space filter; compiling a top view including real-world coordinates of the parking spaces identified by analyzing the scanned area; as well as Vehicle maneuvering instructions are incorporated into the top view for entering the parking space.
2. The system of claim 1, wherein the control circuit is configured to: processing the range data scan, including generating a missing point scan from the range data scan to correct distances of missing points; and Generating a corrected data input includes replacing the missing points in the missing point scan with corrected distances.
3. The system of claim 1 , wherein the control circuit is configured to: processing the range data scan, including generating a ghost point scan from the range data scan to correct for ghost point distances; and Generating a corrected data input includes replacing the phantom points in the phantom point scan with the adjusted distances.
4. The system of claim 1 , wherein the control circuit is configured to: processing the range data scan, including generating a boundary point scan from the range data scan to identify distances of identified points following the added points; and Generating a corrected data input includes replacing the identified point that follows the added point in a boundary point scan with a subsequent point.
5. The system of claim 1 , wherein the control circuit is configured to: processing the corrected data input, including generating an augmentation point scan from the corrected data input to identify adjusted augmentation points; and The processed scan including the adjusted added points is generated based on the real-world coordinates of the edges of the parked vehicle.
6. The system of claim 1, wherein the control circuit is configured to: processing the corrected data input, including generating a reduced point scan from the corrected data input to identify adjusted reduced points; and The processed scan including the adjusted reduced points is generated based on the real-world coordinates of the side surface of the structural obstacle.
7. The system of claim 1, wherein the control circuit is configured to identify the real-world coordinates of structural obstacles and parked vehicles from the processed scans.
8. The system of claim 1, wherein the control circuit is configured to evaluate triplets of identification points, including spurious points that are detected and replaced by adjusted distances.
9. A method for operating a navigation system, comprising: receiving a sensor data packet for distances captured in a scan area; analyzing the sensor data packet, including storing the sensor data packet; parsing the sensor data packet to generate a processed scan including identified real-world coordinates; identifying a parking space from the processed scan; compiling a top-down map including real-world coordinates of the parking spaces identified by analyzing the scanned area; as well as Vehicle maneuvering instructions are incorporated into the top view for entering the parking space.
10. The method of claim 9, further comprising: processing the range data scan, including generating a missing point scan from the range data scan to correct distances of missing points; as well as Generating a corrected data input includes replacing the missing points in the missing point scan with corrected distances.
11. The method of claim 9, further comprising: processing the range data scan, including generating a ghost point scan from the range data scan to correct for ghost point distances; as well as Generating a corrected data input includes replacing the phantom points in the phantom point scan with the adjusted distances.
12. The method of claim 9, further comprising: processing the range data scan, including generating a boundary point scan from the range data scan to identify a distance of an identification point following an added point; as well as Generating a corrected data input includes replacing the identified point that follows the added point in the boundary point scan with a subsequent point.
13. The method of claim 9, further comprising: processing the corrected data input, including generating an increase point scan from the corrected data input to identify adjusted increase points; as well as The processed scan including the adjusted added points is generated based on the real-world coordinates of the edges of the parked vehicle.
14. The method of claim 9, further comprising: processing the corrected data input, including generating a reduced point scan from the corrected data input to identify adjusted reduced points; as well as The processed scan including the adjusted reduced points is generated based on the real-world coordinates of the side surface of the structural obstacle.
15. A non-transitory computer readable medium comprising instructions for a navigation system, the instructions, when executed, causing operations to be performed, the operations comprising: receiving a sensor data packet for distances captured in a scan area; analyzing the sensor data packet, including storing the sensor data packet; parsing the sensor data packet to generate a processed scan including identified real-world coordinates; identifying a parking space from the processed scan; compiling a top-down map including real-world coordinates of the parking spaces identified by analyzing the scanned area; as well as Vehicle maneuvering instructions are incorporated into the top view for entering the parking space.
16. The non-transitory computer readable medium of claim 15, the operations further comprising: processing the range data scan, including generating a missing point scan from the range data scan to correct distances of missing points; as well as Generating a corrected data input includes replacing the missing points in the missing point scan with corrected distances.
17. The non-transitory computer readable medium of claim 15, the operations further comprising: processing the range data scan, including generating a ghost point scan from the range data scan to correct for ghost point distances; as well as Generating a corrected data input includes replacing the phantom points in the phantom point scan with the adjusted distances.
18. The non-transitory computer readable medium of claim 15, the operations further comprising: processing the range data scan, including generating a boundary point scan from the range data scan to identify a distance of an identification point following an added point; as well as Generating a corrected data input includes replacing the identified point that follows the added point in a boundary point scan with a subsequent point.
19. The non-transitory computer readable medium of claim 15, the operations further comprising: processing the corrected data input, including generating an increase point scan from the corrected data input to identify adjusted increase points; as well as The processed scan including the adjusted added points is generated based on the real-world coordinates of the edges of the parked vehicle.
20. The non-transitory computer readable medium of claim 15, the operations further comprising: processing the corrected data input, including generating a reduced point scan from the corrected data input to identify adjusted reduced points; as well as The processed scan including the adjusted reduced points is generated based on the real-world coordinates of the side surface of the structural obstacle.