Method, device, and computer program for positioning an autonomous vehicle through fusion of multiple positioning technologies
Fusing GNSS/INS, NDT map-based, and lane-matching technologies with weight assignment addresses regional positioning challenges, enhancing accuracy and reliability for autonomous vehicles.
Patent Information
- Application Number
- JP2025528322
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-02
- Filing Date
- 2022-12-08
- Publication Date
- 2025-12-09
AI Technical Summary
Existing positioning technologies for autonomous vehicles face reliability issues due to regional characteristics, leading to decreased performance in certain environments, such as forest tunnels and urban canyons for GNSS-based methods and road environments with few landmarks for NDT-based methods.
A method and device that fuse multiple positioning technologies, including GNSS/INS, NDT map-based, and lane-matching, with weight assignment based on regional characteristics to derive precise positioning results.
Enhances positioning accuracy and reliability by fusing multiple technologies, accounting for regional variations to improve vehicle positioning and attitude determination.
Smart Images

Figure 2025539768000001_ABST
Abstract
Description
[Technical Field]
[0001] Various embodiments of the present invention relate to methods, apparatus, and computer programs for positioning an autonomous vehicle through the fusion of multiple positioning technologies. [Background technology]
[0002] For the convenience of vehicle drivers, there is a trend toward vehicles being equipped with various sensors and electronic devices (e.g., Advanced Driver Assistance Systems (ADAS)). In particular, there is active technological development being conducted on autonomous driving systems that recognize the surrounding environment without driver intervention and automatically drive to a given destination according to the recognized surrounding environment.
[0003] Here, an autonomous vehicle refers to a vehicle equipped with an autonomous driving system function that recognizes the surrounding environment without driver intervention and automatically drives itself to a given destination in accordance with the recognized surrounding environment.
[0004] The autonomous driving system performs positioning, perception, prediction, planning, and control for autonomous driving.
[0005] Here, localization is one of the autonomous driving element technologies and refers to the operation of recognizing the exact position and attitude of an autonomous driving vehicle. An autonomous driving system performs localization of an autonomous driving vehicle by using a map of the area in which the autonomous driving vehicle is driving.
[0006] There are three types of positioning technologies for autonomous vehicles: one that uses the Global Navigation Satellite System (GNSS) to measure the position of the autonomous vehicle; one that uses an inertial measurement unit (IMU) to measure the acceleration and rotational speed of the autonomous vehicle and estimates the distance and direction (attitude) of the autonomous vehicle based on this; and one that uses sensors such as cameras and LIDAR to compare sensor information collected with pre-stored precise map information to measure the position and attitude of the autonomous vehicle.
[0007] On the other hand, highly accurate positioning technology is required for fully autonomous driving of autonomous vehicles, but with such positioning technology, there is a problem that the positioning performance deteriorates in some sections due to regional characteristics, resulting in a decrease in positioning reliability. For example, the performance of GNSS-based positioning technology deteriorates in forest tunnels and urban canyons, while the performance of NDT-based positioning technology deteriorates in road environments with few landmarks. Summary of the Invention [Problem to be solved by the invention]
[0008] The problem to be solved by the present invention is to provide a method, device, and computer program for positioning an autonomous vehicle through the fusion of multiple positioning technologies, which can derive more precise positioning results by fusing multiple positioning values calculated through multiple positioning technologies to determine the position and attitude of the autonomous vehicle, in order to solve the above-mentioned conventional problems.
[0009] Another problem to be solved by the present invention is to provide a method, device, and computer program for determining the positioning of an autonomous vehicle through the fusion of multiple positioning technologies, which determine the position and attitude of a vehicle by fusing multiple positioning technologies that perform positioning using different positioning methods, and which can perform more precise and accurate positioning by assigning weights to each positioning technology in consideration of the regional characteristics of the area where the autonomous vehicle is located.
[0010] The problems to be solved by the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned above will be clearly understood by those skilled in the art from the following description. [Means for solving the problem]
[0011] To solve the above-mentioned problems, according to one embodiment of the present invention, a method for positioning an autonomous vehicle through the fusion of multiple positioning technologies executed by a computing device may include a step of calculating multiple positioning values by performing positioning on a vehicle located in a predetermined area using each of multiple positioning technologies that perform positioning using different positioning methods, and a step of fusing the calculated multiple positioning values as a positioning result for the vehicle to determine the position and attitude of the vehicle.
[0012] In various embodiments, the step of calculating the plurality of positioning values includes a step of calculating a first positioning value for the vehicle using a first positioning technology that performs positioning according to a GNSS / INS-based positioning method, and a step of calculating a second positioning value for the vehicle using a second positioning technology that performs positioning according to a positioning method based on an NDT (Normal Distribution Transform) map - the NDT map is generated by post-processing a point cloud for the specified area -, and the step of determining the position and attitude of the vehicle includes a step of fusing the calculated first positioning value and the calculated second positioning value to derive position information for the vehicle and attitude information for the vehicle.
[0013] In various embodiments, the step of deriving the position information and the attitude information of the vehicle may include determining weights for each of the plurality of regions based on regional characteristics of each of the plurality of regions and generating a weight map for each positioning technology using the determined weights for each positioning technology; assigning a first weight corresponding to the first positioning technology to the calculated first positioning values and a second weight corresponding to the second positioning technology to the calculated second positioning values based on the generated weight map for each positioning technology; and fusing the first positioning values to which the first weights have been assigned and the second positioning values to which the second weights have been assigned to derive the position information and the attitude information of the vehicle.
[0014] In various embodiments, the step of calculating the plurality of positioning values may include calculating a first positioning value for the vehicle using a first positioning technology that performs positioning according to a GNSS / INS-based positioning method, calculating a second positioning value for the vehicle using a second positioning technology that performs positioning according to an NDT (Normal Distribution Transform) map-based positioning method - the NDT map is generated by post-processing a point cloud for the predetermined area - and calculating a third positioning value for the vehicle using a third positioning technology that performs positioning according to a lane-matching-based positioning method, and determining the position and attitude of the vehicle may include fusing the calculated first positioning value, the calculated second positioning value, and the third positioning value to derive position information for the vehicle and attitude information for the vehicle.
[0015] In various embodiments, the step of calculating the third positioning value may include the steps of generating a precise lane map for the predetermined area, generating real-time lane information using a real-time point cloud acquired from the vehicle, and calculating the third positioning value for the vehicle by matching the generated precise lane map with the generated real-time lane information.
[0016] In various embodiments, generating the precise lane guidance may include generating a ground surface point cloud for the predetermined area by scanning the predetermined area and extracting only points corresponding to the ground surface from the point cloud obtained by scanning the predetermined area; generating a region of interest (ROI) map for the predetermined area by defining a region of interest (ROI) corresponding to lanes on the point cloud obtained by scanning the predetermined area; and generating a precise lane map for the predetermined area by extracting only points that match points included in the generated region of interest map and have intensities equal to or greater than a threshold value from a plurality of points included in the generated ground surface point cloud.
[0017] In various embodiments, generating the region of interest map may include: extracting a plurality of lane candidate points from a point cloud acquired by scanning the predetermined area based on a predefined range (the predefined range includes a vertical range, a horizontal range, a height range, and an intensity range); connecting the extracted plurality of lane candidate points based on gradients between the extracted plurality of lane candidate points; setting an area of a predetermined size including the connected plurality of lane candidate points as a unit region of interest; and generating a region of interest map for the predetermined area by combining a plurality of unit regions of interest set for each of a plurality of point clouds acquired from a plurality of different frames.
[0018] In various embodiments, generating the region of interest map may include generating a road network map for the predetermined area by scanning the predetermined area and labeling lanes on the point cloud obtained to define a road structure for the predetermined area, and generating the region of interest map for the predetermined area by setting an area of a predetermined size including the labeled lanes on the generated road network map as a region of interest.
[0019] In various embodiments, generating the precise lane map may include generating a ground surface point cloud for the predetermined area by scanning the predetermined area and extracting only points corresponding to the ground surface from the point cloud obtained, generating a road network map for the predetermined area by labeling lanes on the point cloud obtained by scanning the predetermined area and defining a road structure for the predetermined area, and generating a precise lane map for the predetermined area by extracting only points located on the lanes labeled on the generated road network map from a plurality of points included in the generated ground surface point cloud.
[0020] In various embodiments, generating the precise lane map may include extracting a plurality of points corresponding to lanes from a point cloud obtained by scanning the predetermined area; approximating the extracted points in the form of lines to obtain direction information for each of the extracted points; and generating a precise lane map including position information for each of the extracted points and direction information for each of the extracted points.
[0021] In various embodiments, generating the real-time lane information may include acquiring a point cloud collected in real time through a sensor provided in the vehicle; setting a region of interest (ROI) on the acquired point cloud; extracting a plurality of points included in a predefined range from the points included in the set ROI, the predefined range including a vertical range, a horizontal range, a height range, and an intensity range; and generating the real-time lane information by connecting the extracted points based on a gradient between the extracted points.
[0022] In various embodiments, the step of setting the region of interest (ROI) may include a step of setting a region of interest in a three-dimensional space form having a predetermined size on the acquired point cloud based on one of the center point position of the vehicle and the position of a sensor equipped on the vehicle.
[0023] In various embodiments, the step of setting the region of interest (ROI) may include setting a region of interest in a three-dimensional space form having a predetermined size at a position corresponding to the traveling direction of the vehicle on the acquired point cloud based on the traveling direction of the vehicle.
[0024] In various embodiments, the step of setting the region of interest (ROI) may include the steps of acquiring image data generated by capturing an image in the traveling direction of the vehicle using a camera sensor provided on the vehicle, analyzing the acquired image data to identify lanes, determining a relative position of the vehicle with respect to the identified lane, determining a region of interest setting position based on the determined relative position, and setting a region of interest in a three-dimensional space form having a predetermined size at the determined region of interest setting position on the acquired point cloud.
[0025] In various embodiments, generating the real-time lane information may include acquiring a point cloud collected in real time through a sensor provided in the vehicle, setting a region of interest (ROI) on the acquired point cloud, defining a ground surface within the set ROI by approximating points included in the set ROI with a surface shape, extracting a plurality of points included in a predefined range from points located on the defined ground surface, the predefined range including a vertical range, a horizontal range, a height range, and an intensity range, and generating real-time lane information by connecting the extracted plurality of points based on a gradient between the extracted plurality of points.
[0026] In various embodiments, generating the real-time lane information may include acquiring a point cloud collected in real time through a sensor provided in the vehicle, setting a region of interest (ROI) on the acquired point cloud, extracting a plurality of points included in a predefined range from the points included in the set ROI, the predefined range including a vertical range, a horizontal range, a height range, and an intensity range, and approximating the extracted points with a line shape to obtain direction information for each of the extracted points. And generating real-time lane information including position information and direction information for each of the extracted points.
[0027] In various embodiments, the step of calculating a third positioning value for the vehicle by matching the generated precise lane map with the generated real-time lane information may include the step of deriving position information for the vehicle and attitude information for the vehicle by matching information included in the generated precise lane map with information included in the generated real-time lane information based on a vehicle coordinate system having a center point of the vehicle as its origin.
[0028] A computing device for performing a method for positioning an autonomous vehicle through fusion of multiple positioning technologies according to another embodiment of the present invention for solving the above-mentioned problems includes a processor, a network interface, a memory, and a computer program loaded into the memory and executed by the processor, wherein the computer program includes instructions for calculating multiple positioning values by performing positioning on a vehicle located in a predetermined area using each of multiple positioning technologies that perform positioning using different positioning methods, and instructions for fusing the calculated multiple positioning values as a positioning result for the vehicle to determine the position and attitude of the vehicle.
[0029] A computer program according to another embodiment of the present invention for solving the above-mentioned problems may be stored on a recording medium readable by a computing device to perform a method for positioning an autonomous vehicle through fusion of multiple positioning technologies, the method including: calculating multiple positioning values by performing positioning on a vehicle located in a predetermined area using each of multiple positioning technologies that perform positioning using different positioning methods in combination with a computing device; and determining the position and attitude of the vehicle by fusing the calculated multiple positioning values as a positioning result for the vehicle.
[0030] Other exemplary aspects of the present invention are included in the detailed description and drawings. [Effects of the Invention]
[0031] According to various embodiments of the present invention, it is possible to obtain an advantage that more accurate positioning results can be derived by determining the position and attitude of an autonomous vehicle by fusing multiple positioning values calculated through multiple positioning technologies.
[0032] In addition, the vehicle's position and attitude are determined by fusing multiple positioning technologies that perform positioning using different positioning methods, but by assigning weights to each positioning technology taking into account the regional characteristics of the area where the autonomous vehicle is located, it has the advantage of being able to perform more precise and accurate positioning by taking into account the regional characteristics.
[0033] The effects of the present invention are not limited to those mentioned above, and other effects not mentioned above will be clearly understood by those skilled in the art from the following description. [Brief explanation of the drawings]
[0034] [Figure 1] FIG. 1 is a diagram showing an autonomous driving system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a hardware configuration diagram of a computing device that executes a method for determining the position of an autonomous vehicle through fusion of multiple positioning technologies according to another embodiment of the present invention. [Figure 3] FIG. 3 is a flowchart of a method for positioning an autonomous vehicle through fusion of two positioning technologies that perform positioning using different positioning methods, according to various embodiments. [Figure 4] FIG. 4 is a flowchart illustrating a method for positioning an autonomous vehicle through fusion of three positioning technologies that perform positioning using different positioning methods in various embodiments. [Figure 5] FIG. 5 is a flow chart illustrating a method for calculating a third position measurement in various embodiments. [Figure 6] FIG. 6 is a flowchart illustrating a first method for generating a precise lane map according to various embodiments. [Figure 7] FIG. 7 is an exemplary diagram illustrating a ground surface point cloud applicable to various embodiments. [Figure 8] FIG. 8 is an exemplary diagram illustrating a region of interest map applicable to various embodiments. [Figure 9]FIG. 9 is a diagram illustrating an example of a precise lane map that can be used in various embodiments. [Figure 10] FIG. 10 is a flowchart illustrating a first method for generating a region of interest map in accordance with various embodiments. [Figure 11] FIG. 11 is an exemplary diagram illustrating a point cloud for a given area that can be used in various embodiments. [Figure 12] FIG. 12 is an exemplary diagram illustrating a plurality of lane candidate points extracted from a point cloud based on a predefined range applicable to various embodiments. [Figure 13] FIG. 13 is a diagram illustrating an example of interconnected lane candidate points applicable to various embodiments. [Figure 14] FIG. 14 is a diagram showing an example of a unit region of interest that can be applied to various embodiments. [Figure 15] FIG. 15 is a flowchart illustrating a second method for generating a region of interest map, according to various embodiments. [Figure 16] FIG. 16 is a diagram illustrating an example of a road network map applicable to various embodiments. [Figure 17] FIG. 17 is a flowchart illustrating a second method for generating a precise lane map according to various embodiments. [Figure 18] FIG. 18 is a flowchart illustrating a third method for generating a precise lane map according to various embodiments. [Figure 19] FIG. 19 is a diagram showing an example of a precise lane map including point position and direction information applicable to various embodiments. [Figure 20] FIG. 20 is a flowchart illustrating a first method for generating real-time lane information according to various embodiments. [Figure 21] FIG. 21 is a flowchart illustrating a second method for generating real-time lane information according to various embodiments. [Figure 22]FIG. 22 is an exemplary diagram illustrating a surface of the Earth defined within a region of interest that can be used in various embodiments. [Figure 23] FIG. 23 is an exemplary diagram illustrating a number of points extracted from the Earth's surface within a region of interest based on a predefined range applicable to various embodiments. [Figure 24] FIG. 24 is a flowchart illustrating a third method for generating real-time lane information according to various embodiments. [Figure 25] FIG. 25 is an exemplary diagram illustrating real-time lane information including point position and direction information applicable to various embodiments. [Figure 26] FIG. 26 is an exemplary diagram illustrating a time-positioning error graph for the results of performing positioning using a single positioning technology and the results of performing positioning by fusing multiple different positioning technologies in various embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0035] The advantages and features of the present invention, as well as methods for achieving them, will become apparent from the following detailed description of the embodiments in conjunction with the accompanying drawings. However, the invention is not limited to the embodiments disclosed below, and may be embodied in various different forms. The embodiments are provided solely to ensure that the disclosure of the present invention is complete and to fully convey the scope of the present invention to those skilled in the art. The present invention is defined only by the scope of the claims.
[0036] The terms used in this specification are for the purpose of describing the embodiments and are not intended to limit the present invention. In this specification, the singular forms "a," "an," and "the" include the plural forms unless otherwise specified in the phrase. The terms "comprise" and / or "comprising" used in this specification do not exclude the presence or addition of one or more other elements other than the elements listed. The same reference numerals refer to the same elements throughout the specification, and "and / or" includes each and every combination of one or more of the listed elements. Although terms such as "first," "second," etc. are used to describe various elements, it should be understood that these elements are not limited by these terms. These terms are used merely to distinguish one element from another. Therefore, it should be understood that a first element referred to below may also be a second element within the technical spirit of the present invention.
[0037] Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used in the sense commonly understood by a person skilled in the art to which the present invention belongs. Furthermore, terms defined in commonly used dictionaries should not be interpreted ideally or excessively unless they are clearly and specifically defined.
[0038] The terms "module" and "module" used herein refer to software or hardware components, such as FPGAs or ASICs, that perform a certain function. However, "module" or "module" is not limited to software or hardware. A "module" or "module" may be configured to reside on an addressable storage medium or to execute on one or more processors. Thus, by way of example, a "module" or "module" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within a component or "module" or "module" may be combined into fewer components and "modules" or "modules," or may be further separated into additional components and "modules" or "modules."
[0039] Spatially relative terms such as "below," "beneath," "lower," "above," and "upper" may be used to easily describe the relationship of one component to another, as illustrated in the drawings. Spatially relative terms should be understood to encompass different orientations of components in use or operation, in addition to the orientation depicted in the drawings. For example, if a component depicted in the drawings were turned over, a component described as "below" or "beneath" another component would be positioned "above" the other component. Thus, the exemplary term "below" can encompass both an orientation of below and above. Components may be oriented in other directions, and the spatially relative terms may be interpreted accordingly.
[0040] In this specification, the term "computer" refers to any type of hardware device including at least one processor, and may also encompass software configurations operating on the hardware device, depending on the embodiment. For example, the term "computer" may refer to, but is not limited to, smartphones, tablet PCs, desktops, laptops, and user clients and applications running on each device.
[0041] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Although each step described in this specification is described as being performed by a computer, the subject matter of each step is not limited to this, and depending on the embodiment, at least some of each step may be performed by different devices. FIG. 1 is a diagram showing an autonomous driving system according to an embodiment of the present invention. Referring to FIG. 1, an autonomous driving system according to an embodiment of the present invention may include a computing device 100, a user terminal 200, an external server 300, and a network 400. Here, the autonomous driving system illustrated in FIG. 1 is according to one embodiment, and its components are not limited to the embodiment illustrated in FIG. 1, and may be added, changed, or deleted as necessary. In one embodiment, computing device 100 may perform various operations for controlling the autonomous navigation of autonomous vehicle 10. In various embodiments, computing device 100 may perform positioning operations to measure the position and attitude of autonomous vehicle 10. For example, computing device 100 may collect sensor data from sensors (e.g., lidar sensors, radar sensors, camera sensors, etc.) provided within autonomous vehicle 10 and may use the collected sensor data to determine the position and attitude of autonomous vehicle 10.
[0042] In various embodiments, the computing device 100 may fuse multiple positioning techniques to determine the position and attitude of the vehicle 10 as a positioning result for the vehicle 10 . For example, the computing device 100 can calculate multiple positioning values (e.g., position information for the vehicle 10 and attitude information for the vehicle 10) by performing positioning for the vehicle 10 using multiple positioning technologies that perform positioning using different positioning methods, and can determine the final position and attitude of the vehicle 10 by fusing the calculated multiple positioning values. Here, the position information of the vehicle 10 may be coordinate values corresponding to the position of the vehicle 10, and the attitude information of the vehicle 10 may be, but is not limited to, quaternion values or Euler angle values (e.g., pitch, roll, yaw) corresponding to the attitude of the vehicle 10. A method for positioning an autonomous vehicle through fusion of multiple positioning techniques executed by the computing device 100 will be described in detail below. In various embodiments, the computing device 100 may be connected to the user terminal 200 via the network 400 and may provide the user terminal 200 with positioning results (e.g., the position and attitude of the vehicle 10) derived by performing positioning on the vehicle 10. Here, the user terminal 200 may be an infotainment system provided inside the autonomous vehicle 10, but is not limited thereto, and may be a wireless communication device that ensures portability and mobility, such as a portable terminal that can be carried by a passenger inside the autonomous vehicle 10. For example, the user terminal 200 may include, but is not limited to, all kinds of handheld-based wireless communication devices such as a navigation system, a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular system (PDC), a personal handyphone system (PHS), a personal digital assistant (PDA), an international mobile telecommunication (IMT)-2000, a code division multiple access (CDMA)-2000, a wireless broadband internet (W-CDMA), a Wibro (Wireless Broadband Internet) terminal, a smartphone, a smartpad, a tablet PC, etc.
[0043] Here, the network 400 may refer to a connection structure that allows information exchange between nodes such as a plurality of terminals and servers, etc. For example, the network 400 may include a local area network (LAN), a wide area network (WAN), the Internet (WWW), wired and wireless data communication networks, telephone networks, wired and wireless television communication networks, etc. In addition, the wireless data communication network may include, but is not limited to, 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), Wi-Fi, the Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth network, NFC (Near-Field Communication) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc. In one embodiment, the external server 300 may be connected to the computing device 100 through the network 400, and may store and manage various information and data required for the computing device 100 to perform a method for determining the position of an autonomous vehicle through the fusion of multiple positioning technologies, or may receive, store, and manage various information and data generated when the computing device 100 performs the method for determining the position of an autonomous vehicle through the fusion of multiple positioning technologies. For example, the external server 300 may be, but is not limited to, a storage server separately provided outside the computing device 100. Hereinafter, a hardware configuration of the computing device 100 that performs the method for determining the position of an autonomous vehicle through the fusion of multiple positioning technologies will be described with reference to FIG. 2.
[0044] FIG. 2 is a hardware configuration diagram of a computing device that executes a method for determining the position of an autonomous vehicle through fusion of multiple positioning technologies according to another embodiment of the present invention. 2, in various embodiments, a computing device 100 may include one or more processors 110, a memory 120 into which a computer program 151 executed by the processor 110 is loaded, a bus 130, a communication interface 140, and a storage 150 for storing the computer program 151. Only components relevant to the embodiments of the present invention are illustrated in FIG. 2. Therefore, those skilled in the art will recognize that other general-purpose components may be included in addition to the components illustrated in FIG. 2. The processor 110 controls the overall operation of each component of the computing device 100. The processor 110 may be configured to include a central processing unit (CPU), a microprocessor unit (MPU), a microcontroller unit (MCU), a graphic processing unit (GPU), or any other type of processor widely known in the technical field of the present invention. Additionally, processor 110 may execute operations for at least one application or program for performing methods according to embodiments of the present invention, and computing device 100 may include one or more processors.
[0045] In various embodiments, the processor 110 may further include a random access memory (RAM, not shown) and a read-only memory (ROM, not shown) that temporarily and / or permanently store signals (or data) processed within the processor 110. The processor 110 may also be implemented in the form of a system on a chip (SoC) that includes at least one of a graphics processing unit, RAM, and ROM. The memory 120 stores various data, instructions, and / or information. The memory 120 can load a computer program 151 from the storage 150 to perform methods / operations according to various embodiments of the present invention. When the computer program 151 is loaded into the memory 120, the processor 110 can execute one or more instructions constituting the computer program 151 to perform the methods / operations. The memory 120 can be embodied as a volatile memory such as a RAM, although the scope of the present disclosure is not limited in this respect. The bus 130 provides a communication function between the components of the computing device 100. The bus 130 may be implemented as various types of buses such as an address bus, a data bus, and a control bus. The communication interface 140 supports wired and wireless Internet communication for the computing device 100. The communication interface 140 may also support various communication methods other than Internet communication. To this end, the communication interface 140 may include a communication module that is well known in the art. In some embodiments, the communication interface 140 may be omitted. The storage 150 may non-temporarily store a computer program 151. When a positioning process for an autonomous vehicle through the fusion of multiple positioning technologies is performed through the computing device 100, the storage 150 may store various information necessary to provide the positioning process for an autonomous vehicle through the fusion of multiple positioning technologies.
[0046] Storage 150 may be configured to include non-volatile memory such as ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), flash memory, etc., a hard disk, a removable disk, or any form of computer-readable recording medium widely known in the technical field to which the present invention belongs. The computer program 151 may include one or more instructions that, when loaded into the memory 120, cause the processor 110 to perform the method / operation according to various embodiments of the present invention. That is, the processor 110 can perform the method / operation according to various embodiments of the present invention by executing the one or more instructions. In one embodiment, the computer program 151 may include one or more instructions for performing a method for positioning an autonomous vehicle through fusion of multiple positioning technologies, including calculating multiple positioning values by performing positioning on a vehicle located in a predetermined area using multiple positioning technologies that perform positioning using different positioning methods, and fusing the calculated multiple positioning values as a positioning result for the vehicle to determine the position and attitude of the vehicle. The steps of a method or algorithm described in connection with the embodiments of the present invention may be embodied directly in hardware, in a software module executed by hardware, or in a combination thereof. The software module may reside in Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Flash Memory, a hard disk, a removable disk, a CD-ROM, or any other form of computer-readable storage medium commonly known in the art to which the present invention pertains. Components of the present invention may be embodied as a program (or application) stored on a medium for execution in conjunction with a computer (hardware). Components of the present invention may be implemented as software programming or software elements. Similarly, embodiments may include various algorithms embodied as a combination of data structures, processes, routines, or other programming constructs, and may be implemented in programming or scripting languages such as C, C++, Java, assembler, etc. Functional aspects may be embodied as algorithms executed by one or more processors. Hereinafter, with reference to FIGS. 3 to 26, a method for positioning an autonomous vehicle through the fusion of multiple positioning technologies executed by a computing device 100 will be described.
[0047] FIG. 3 is a flowchart of a method for positioning an autonomous vehicle through fusion of two positioning technologies that perform positioning using different positioning methods, according to various embodiments. Referring to FIG. 3, in various embodiments, the computing device 100 may determine the position and attitude of the vehicle 10 by fusing two positioning techniques that perform positioning using different positioning methods. In operation S110, the computing device 100 may calculate a first positioning value for the vehicle 10 by performing positioning for the vehicle 10 based on a first positioning technique. In various embodiments, the computing device 100 may calculate a first positioning value for the vehicle 10 using a first positioning technique that performs positioning using a GNSS / INS-based positioning method. Here, the first positioning value for the vehicle 10 is a result calculated by performing positioning for the vehicle 10 using a GNSS / INS-based positioning method, and may include, for example, position information for the vehicle 10 and attitude information for the vehicle 10, but is not limited to this. In addition, various techniques are known for performing positioning of a specific object using a GNSS / INS-based positioning method, and the GNSS / INS-based positioning method according to various embodiments of the present invention can selectively apply such known techniques. Therefore, this specification does not limit the specific method for performing positioning of the vehicle 10 using a GNSS / INS-based positioning method. In operation S120, the computing device 100 may calculate a second positioning value for the vehicle 10 by executing a device for the vehicle 10 based on a second positioning technique. In various embodiments, the computing device 100 may calculate a second position measurement for the vehicle 10 using a second positioning technique that performs positioning using a normal distribution transform (NDT) map-based positioning method. Here, the NDT map may be generated by post-processing point cloud data for a given area. In addition, here, the second positioning value for the vehicle 10 is a result calculated by performing positioning for the vehicle 10 using an NDT map-based positioning method, and may include, for example, position information for the vehicle 10 and attitude information for the vehicle 10, but is not limited to this.
[0048] In addition, various techniques are known for performing positioning of a specific object using an NDT map-based positioning method, and the NDT map-based positioning method according to various embodiments of the present invention can selectively apply such known techniques. Therefore, this specification does not limit the specific method for performing positioning of the vehicle 10 using an NDT-based positioning method. In step S130, the computing device 100 may determine the position and attitude of the vehicle by fusing the first positioning value calculated in step S110 and the second positioning value calculated in step S120. In various embodiments, the computing device 100 can calculate an average coordinate value between the coordinate value corresponding to the position of the vehicle 10 calculated based on the first positioning technology and the coordinate value corresponding to the position of the vehicle 10 calculated based on the second positioning technology, and can determine the calculated average coordinate value as the position coordinate of the vehicle 10. Furthermore, the computing device 100 may calculate an average quaternion value or an average Euler angle value for the quaternion values or Euler angle values corresponding to the attitude of the vehicle 10 calculated based on the first positioning technique (e.g., pitch, roll, and yaw values corresponding to the attitude of the vehicle 10 included in the first positioning value) and the quaternion values or Euler angle values corresponding to the attitude of the vehicle 10 calculated based on the second positioning technique (e.g., pitch, roll, and yaw values corresponding to the attitude of the vehicle 10 included in the second positioning value), and may determine the attitude of the vehicle 10 using the calculated average quaternion value or average Euler angle value. However, the present invention is not limited to this. In various embodiments, the first positioning value calculated based on the first positioning technique and the second positioning value calculated based on the second positioning technique are probability data and include mean data and covariance data for the position and attitude of the vehicle 10, and the computing device 100 can determine the position and attitude of the vehicle 10 by fusing the first positioning value calculated based on the first positioning technique and the second positioning value calculated based on the second positioning technique through a Kalman filter. Meanwhile, the performance and reliability of each of the multiple positioning technologies that perform positioning using different positioning methods may vary depending on the regional characteristics. For example, the accuracy of GNSS / INS-based positioning methods may decrease in forest tunnels or urban canyons, and the accuracy of NDT-based positioning methods may decrease in road environments with few landmarks.
[0049] Taking this into consideration, the computing device 100 can assign weights to each of the multiple positioning values taking into account the regional characteristics of the specific area in which the vehicle 10 is located, and can determine the position and attitude of the vehicle 10 by fusing the multiple weighted positioning values. More specifically, the computing device 100 may first generate a weight map (LLM) for each localization technology. For example, the computing device 100 may determine a weight for each localization technology for each of a plurality of regions based on the regional characteristics of each of the plurality of regions, and may generate a weight map for each localization technology using the determined weight for each localization technology. Here, the weighted values for each of the plurality of regions by positioning technology may be values determined individually for each positioning technology according to the performance, accuracy, and reliability within the plurality of regions based on the regional characteristics of each of the plurality of regions. For example, in forest tunnels and urban canyons, where the accuracy of GNSS / INS-based positioning methods may decrease, a higher weighting may be assigned to the NDT map-based positioning method than the GNSS / INS-based positioning method for forest tunnels and urban canyons. Also, in road environments with few landmarks, where the accuracy of NDT-based positioning methods may decrease, a higher weighting may be assigned to the GNSS / INS-based positioning method than the NDT map-based positioning method for road environments with few landmarks. Thereafter, the computing device 100 may assign a first weight corresponding to the first positioning technology to the first positioning value and a second weight corresponding to the second positioning technology to the second positioning value based on the weight map for each positioning technology. For example, when the vehicle 10 is located in a specific area, the computing device 100 may load weights for each positioning technology (e.g., a first weight corresponding to the first positioning technology and a second weight corresponding to the second positioning technology) corresponding to the specific area from the weight map for each positioning technology, and assign the first weight and the second weight to the first positioning value and the second positioning value calculated using the first positioning technology and the second positioning technology, respectively. Thereafter, the computing device 100 may determine the position and attitude of the vehicle by fusing the first positioning value to which the first weighting value is assigned and the second positioning value to which the second weighting value is assigned.
[0050] As an example, the computing device 100 can calculate an average coordinate value for a first coordinate value (a coordinate value corresponding to the position of the vehicle 10 included in the first positioning value) to which a first weighting value is assigned and a second coordinate value (a coordinate value corresponding to the position of the vehicle 10 included in the second positioning value) to which a second weighting value is assigned, and can determine the calculated average coordinate value as the position coordinate of the vehicle 10. Furthermore, the computing device 100 may calculate an average quaternion value or an average Euler angle value for the first quaternion value or the first Euler angle value (pitch, roll, yaw values corresponding to the attitude of the vehicle 10 included in the first positioning value) to which a first weighting value is assigned and the second quaternion value or the second Euler angle value (pitch, roll, yaw values corresponding to the attitude of the vehicle 10 included in the second positioning value) to which a second weighting value is assigned, and may determine the attitude of the vehicle 10 using the calculated average quaternion value or the average Euler angle value. However, the present invention is not limited to this. In one embodiment, the first positioning values calculated based on the first positioning technique and the second positioning values calculated based on the second positioning technique are probability data and include average data and covariance data for the position and attitude of the vehicle 10. The computing device 100 may determine the position and attitude of the vehicle by fusing the first positioning values, to which a first weighting value is assigned, and the second positioning values, to which a second weighting value is assigned, through a Kalman filter. For example, the computing device 100 may tune the covariance value included in the first positioning values using the first weighting value, tune the covariance value included in the second positioning values using the second weighting value, and then fuse them through a Kalman filter to determine the position and attitude of the vehicle. FIG. 4 is a flowchart illustrating a method for positioning an autonomous vehicle through fusion of three positioning technologies that perform positioning using different positioning methods in various embodiments.
[0051] Referring to FIG. 4, in various embodiments, the computing device 100 may determine the position and attitude of the vehicle 10 by fusing three positioning technologies that perform positioning using different positioning methods. In step S210, the computing device 100 may calculate a first positioning value for the vehicle 10 by performing positioning for the vehicle 10 based on the first positioning technology. Here, the step of calculating the first positioning value may be implemented in a form identical to or similar to the method of calculating the first positioning value performed in step S110 of FIG. 3, but is not limited thereto. In step S220, the computing device 100 may calculate a second positioning value for the vehicle 10 by performing positioning for the vehicle 10 based on a second positioning technique. Here, the step of calculating the second positioning value may be implemented in a form identical to or similar to the method of calculating the second positioning value performed in step S120 of FIG. 3, but is not limited thereto. In operation S230, the computing device 100 may calculate a third positioning value for the vehicle 10 by performing positioning for the vehicle 10 based on a third positioning technique. In various embodiments, the computing device 100 may calculate a third position measurement value for the vehicle 10 using a third positioning technique that performs positioning using a lane-matching based positioning method. Here, the third positioning value is a result calculated by performing positioning for the vehicle 10 using a lane matching-based positioning method, and may include, for example, position information for the vehicle 10 and attitude information for the vehicle 10, but is not limited to this. In step S240, the computing device 100 may determine the position and attitude of the vehicle by fusing the first positioning value calculated in step S210, the second positioning value calculated in step S220, and the third positioning value calculated in step S230. For example, the computing device 100 can calculate an average coordinate value for the coordinate value corresponding to the position of the vehicle 10 calculated based on a first positioning technology, the coordinate value corresponding to the position of the vehicle 10 calculated based on a second positioning technology, and the coordinate value corresponding to the position of the vehicle 10 calculated based on a third positioning technology, and can determine the calculated average coordinate value as the position coordinate of the vehicle 10. Furthermore, the computing device 100 may calculate an average quaternion value or average Euler angle value for the quaternion values or Euler angle values corresponding to the attitude of the vehicle 10 calculated based on the first positioning technique (e.g., pitch, roll, and yaw values corresponding to the attitude of the vehicle 10 included in the first positioning value), the quaternion values or Euler angle values corresponding to the attitude of the vehicle 10 calculated based on the second positioning technique (e.g., pitch, roll, and yaw values corresponding to the attitude of the vehicle 10 included in the second positioning value), and the quaternion values or Euler angle values corresponding to the attitude of the vehicle 10 calculated based on the third positioning technique (e.g., pitch, roll, and yaw values corresponding to the attitude of the vehicle 10 included in the third positioning value), and may determine the attitude of the vehicle 10 using the calculated average quaternion value or average Euler angle value. However, the present invention is not limited to this.
[0052] In various embodiments, the first positioning value calculated based on the first positioning technology, the second positioning value calculated based on the second positioning technology, and the third positioning value calculated based on the third positioning technology are probability data and include average data and covariance data for the position and attitude of the vehicle 10. The computing device 100 can determine the position and attitude of the vehicle 10 by fusing the first positioning value calculated based on the first positioning technology, the second positioning value calculated based on the second positioning technology, and the third positioning value calculated based on the third positioning technology through a Kalman filter. In various embodiments, the computing device 100 may assign a weight to each of a plurality of positioning values in consideration of regional characteristics of a predetermined region where the vehicle 10 is located, and may fuse the plurality of weighted positioning values to determine the position and attitude of the vehicle 10. For example, the computing device 100 may assign a first weight corresponding to a first positioning technology to a first positioning value, a second weight corresponding to a second positioning technology to a second positioning value, and a third weight corresponding to a third positioning technology to a third positioning value based on a weight map for each positioning technology, and may determine the position and attitude of the vehicle by fusing the first positioning value assigned with the first weight, the second positioning value assigned with the second weight, and the third positioning value assigned with the third weight. In one embodiment, the first positioning value calculated based on the first positioning technique, the second positioning value calculated based on the second positioning technique, and the third positioning value calculated based on the third positioning technique are probability data including average data and covariance data for the position and attitude of the vehicle 10. The computing device 100 may determine the position and attitude of the vehicle by fusing the first positioning value to which a first weight is assigned, the second positioning value to which a second weight is assigned, and the third positioning value to which a third weight is assigned through a Kalman filter. For example, the computing device 100 may tune the covariance value included in the first positioning value using the first weight, tune the covariance value included in the second positioning value using the second weight, and tune the covariance value included in the third positioning value using the third weight, and then fuse the results through the Kalman filter to determine the position and attitude of the vehicle. Hereinafter, a method for calculating the third positioning value performed by the computing device 100 will be described in more detail with reference to FIGS. 5 to 25. FIG. 5 is a flow chart illustrating a method for calculating a third position measurement in various embodiments. Referring to FIG. 5, in step S310, the computing device 100 may generate a detailed lane map for a given area.
[0053] Here, the lane point cloud (LPC) for a predetermined area is a precise map that stores lane information for the predetermined area in advance, and may be created based on point clouds collected by scanning the predetermined area using a sensor. Various methods for generating a lane point cloud will be described below with reference to FIGS. 6 to 19. FIG. 6 is a flowchart illustrating a first method for generating a precise lane map according to various embodiments. In step S410, the computing device 100 may generate a surface point cloud (SPC) for a predetermined area (e.g., FIG. 7) by extracting only points corresponding to the earth's surface from a point cloud (e.g., a lidar point cloud obtained by scanning a predetermined area using a lidar sensor) obtained by scanning a predetermined area. As an example, the computing device 100 can label the attributes (e.g., type) of each of the multiple points included in a point cloud for a predetermined area that has been collected in advance, and can generate a ground surface point cloud by extracting only the points labeled as the ground surface from the multiple points included in the point cloud for the predetermined area. As another example, the computing device 100 can extract a ground surface point cloud, i.e., a ground surface point cloud including only points corresponding to the ground surface, from the point cloud for a predetermined area by analyzing the point cloud for the predetermined area that was previously collected through a trained artificial intelligence model. Here, the already trained artificial intelligence model may be a model that has been map trained using a plurality of point clouds in which the attributes of each of a plurality of points are labeled as training data, and may be a model that uses a point cloud obtained by scanning a specific area as input data and selects and extracts only the points corresponding to the earth's surface from the plurality of points included in the input data as result data, but is not limited to this. In operation S420, the computing device 100 may generate a region of interest map (e.g., FIG. 8) for a predetermined area. For example, the computing device 100 may generate a region of interest map (ROI map) for a predetermined area by defining a range of interest (ROI) corresponding to a lane on a point cloud obtained by scanning the predetermined area. That is, the computing device 100 may generate a region of interest map, which is a map in which lane areas for a predetermined area are defined as ROIs in advance. Hereinafter, a method for generating a region of interest map will be described with reference to FIGS. 10 to 16.
[0054] FIG. 10 is a flowchart illustrating a first method for generating a region of interest map in accordance with various embodiments. Referring to FIG. 10, in step S510, the computing device 100 may extract a plurality of lane candidate points from the point cloud for a predetermined area. More specifically, first, the computing device 100 can acquire a point cloud (e.g., FIG. 11) for a predetermined area by scanning the predetermined area. The computing device 100 can then extract a number of lane candidate points from the point cloud for a given area (e.g., FIG. 12). In various embodiments, the computing device 100 can extract multiple lane candidate points from the point cloud for a given area through a range filter. Here, the range filter is a filter that extracts only points included in a predefined range from among a plurality of points included in a point cloud. For example, the range filter may be a filter that extracts only points included in a vertical range (X range), a horizontal range (Y range), a height range (Z range), and an intensity range from a reference position from among a plurality of points. That is, the computing device 100 can extract only points that are included within a range predefined for setting lanes as multiple lane candidate points by passing the point cloud for a specific area through a range filter in which a range for setting lanes is set. In operation S520, the computing device 100 may set a unit region of interest (ROI Polygon) using the plurality of lane candidate points extracted in operation S510.
[0055] More specifically, the computing device 100 may first connect a plurality of lane candidate points based on interpolation (e.g., FIG. 13). For example, the computing device 100 may connect a plurality of lane candidate points based on a gradient between the plurality of lane candidate points. As an example, the computing device 100 may connect two different lane candidate points among the plurality of lane candidate points if the gradient between the two different lane candidate points is equal to or less than a critical value. However, the present invention is not limited to this. Thereafter, the computing device 100 can set a unit region of interest based on the plurality of interconnected lane candidate points (e.g., FIG. 14). For example, the computing device 100 can set a region of a predetermined size including the plurality of interconnected lane candidate points as the unit region of interest, with the plurality of interconnected lane candidate points as the center. In operation S530, the computing device 100 may generate a region of interest map for a predetermined area using the unit region of interest set in operation S520. For example, the computing device 100 can perform steps S510 and S520 on multiple point clouds acquired from multiple different frames to set a region of interest for each of the multiple point clouds, and can generate a region of interest map (e.g., FIG. 8) for a specified area by combining the region of interest for each of the multiple point clouds. FIG. 15 is a flowchart illustrating a second method for generating a region of interest map, according to various embodiments. Referring to FIG. 15, in step S610, the computing device 100 may generate a road network map (RNM) for a predetermined area. In various embodiments, the computing device 100 can generate a road network map for a given area (e.g., FIG. 16 ) by scanning the given area and labeling lanes on the obtained point cloud to define the road structure for the given area.
[0056] In operation S620, the computing device 100 may generate a region of interest map using the road network map generated in operation S610. For example, the computing device 100 may generate a region of interest map for a predetermined area by setting an area of a predetermined size including lanes based on lanes labeled on the road network map as a region of interest. However, the present invention is not limited to this. Referring again to FIG. 6, in step S430, the computing device 100 can generate a precise lane map (e.g., FIG. 9) using the ground surface point cloud generated in step S410 and the region of interest map generated in step S420. In various embodiments, the computing device 100 can generate a precise lane map for a predetermined area by matching a plurality of points (a plurality of ground surface points) included in a ground surface point cloud for the predetermined area with points included in a region of interest map and extracting only points whose intensity (e.g., the intensity value of the reflected signal) is greater than or equal to a critical value, i.e., by extracting only points corresponding to lanes from the ground surface point cloud based on the region of interest map containing information about lanes. FIG. 17 is a flowchart illustrating a second method for generating a precise lane map according to various embodiments. 17, in step S710, the computing device 100 may generate a ground surface point cloud for a predetermined area by scanning the predetermined area and extracting only points corresponding to the ground surface from the point cloud obtained (e.g., FIG. 7). Here, the operation of generating the ground surface point cloud may be implemented in the same manner as or similar to the operation of generating the ground surface point cloud performed in step S410 of FIG. 6, but is not limited thereto. In step S720, the computing device 100 may generate a road network map (RNM) (e.g., FIG. 16) for a predetermined area. Here, the operation of generating the road network map may be implemented in a form identical to or similar to the operation of generating the road network map performed in step S610 of FIG. 15, but is not limited thereto.
[0057] In step S730, the computing device 100 can generate a precise lane map (e.g., FIG. 9) using the ground surface point cloud generated in step S710 and the road network map generated in step S720. In various embodiments, the computing device 100 can generate a precise lane map for a given area by extracting only points (e.g., multiple ground surface points) included in the ground surface point cloud that are located on lanes labeled on a road network map. That is, the computing device 100 can generate a high-precision lane map for a given area by extracting only points corresponding to lanes from the ground surface point cloud using a road network map in which road structures are defined. FIG. 18 is a flowchart illustrating a third method for generating a precise lane map according to various embodiments. Referring to FIG. 18, in step S810, the computing device 100 may extract a plurality of points corresponding to lanes from the point cloud for a predetermined area. As an example, the computing device 100 can generate a ground surface point cloud by scanning a predetermined area and extracting only points corresponding to the ground surface from the point cloud obtained, and can generate a region of interest map for the predetermined area. Using the ground surface point cloud and the region of interest map, the computing device 100 can extract only points (e.g., ground surface points) included in the ground surface point cloud that match with points included in the region of interest map and have intensities greater than or equal to a critical value. As another example, the computing device 100 can generate a ground surface point cloud by scanning a predetermined area and extracting only points corresponding to the ground surface from the point cloud obtained, and can generate a road network map for the predetermined area.The computing device 100 can also use the ground surface point cloud and the road network map to extract only points located on lanes labeled on the road network map from among the multiple points (e.g., multiple ground surface points) included in the ground surface point cloud. In operation S820, the computing device 100 may obtain direction information (θ) for each of the points extracted in operation S810, that is, the points corresponding to the lanes.
[0058] Here, the direction information may include information regarding the direction in which the lane extends, but is not limited to this. In various embodiments, the computing device 100 may acquire direction information for each of the plurality of points using a random sample consensus (RANSAC) algorithm. For example, the computing device 100 may acquire direction information for each of the plurality of points by using the RANSAC algorithm to grid and sample the plurality of points corresponding to lanes and approximate the plurality of points in the form of lines. In step S830, the computing device 100 generates a precise lane map including position information of each of the plurality of points (e.g., position coordinates (X, Y, Z) of each of the plurality of points) and direction information (θ) of each of the plurality of points, thereby generating a precise lane map (Sampled LPC, S-LPC) including position and direction information (e.g., FIG. 19). That is, as described above, by generating a precise lane map that includes not only the coordinate values of points corresponding to the lane positions but also directional information, the accuracy of the vehicle's heading direction and lateral positioning can be improved. Referring again to FIG. 5, in step S320, the computing device 100 may generate real-time lane information using the real-time point cloud acquired from the vehicle 10. In various embodiments, the computing device 100 may acquire a real-time point cloud collected in real time through a sensor (e.g., a lidar sensor) provided in the vehicle 10, and may generate real-time lane information by extracting only points corresponding to lanes from the acquired real-time point cloud. A specific method for generating real-time lane information will now be described with reference to FIGS. 20 to 25. FIG. 20 is a flowchart illustrating a first method for generating real-time lane information according to various embodiments. 20, in step S910, the computing device 100 may acquire a real-time point cloud for a predetermined area. For example, the computing device 100 may acquire a real-time point cloud collected in real time through a sensor provided in the vehicle 10 (e.g., a lidar point cloud collected in real time through a lidar sensor). However, the present invention is not limited to this.
[0059] In step S920, the computing device 100 may set a range of interest (ROI) on the real-time point cloud acquired in step S910. In various embodiments, the computing device 100 may set a region of interest in the form of a three-dimensional space having a predetermined size on the real-time point cloud based on any one of the center position of the vehicle 10, the position of a specific point within the vehicle 10, and the position of a sensor provided on the vehicle 10. For example, the computing device 100 may set an X, Y, and Z range (e.g., ±50 m in the X direction, ±10 m in the Y direction, and ±3 m in the Z direction) corresponding to the region of interest on the real-time point cloud based on any one of the center position of the vehicle 10 and the position of a sensor provided on the vehicle 10, thereby setting a region of interest in the form of a rectangular parallelepiped on the real-time point cloud. In various embodiments, the computing device 100 can set a three-dimensional spatial region of interest having a predetermined size at a position corresponding to the direction of travel (heading direction) of the vehicle 10 on the real-time point cloud, based on the direction of travel of the vehicle. In various embodiments, the computing device 100 can analyze image data generated by capturing the direction of travel of the vehicle 10 and set a region of interest in the form of a three-dimensional space having a predetermined size on the real-time point cloud. More specifically, the computing device 100 may first acquire image data generated by capturing an image of the vehicle 10 in the traveling direction through a camera sensor provided in the vehicle 10, and may identify lanes by analyzing the acquired image data. For example, the computing device 100 may identify lanes in the image data by analyzing the image data based on an artificial intelligence model trained using a plurality of lane-labeled image data as training data. However, the present invention is not limited to this. The computing device 100 can then determine the relative position of the vehicle 10 with respect to the lane identified through video data analysis, determine a region of interest setting position based on the determined relative position, and set a region of interest in a three-dimensional spatial form having a predetermined size at the region of interest setting position on the real-time point cloud. In operation S930, the computing device 100 may extract points corresponding to lanes from among the points included in the region of interest using the region of interest set in operation S920. In various embodiments, the computing device 100 may extract a plurality of points corresponding to lanes from among the points included in the region of interest through a range filter. For example, the computing device 100 may input the points included in the region of interest into a range filter that filters points according to a predefined range (e.g., vertical range, horizontal range, height range, and intensity range), thereby extracting only the points corresponding to lanes from among the points included in the region of interest.
[0060] In operation S940, the computing device 100 may generate real-time lane information using the plurality of points extracted in operation S930. For example, the computing device 100 may connect the plurality of points based on a gradient between the plurality of points. For example, the computing device 100 may connect two different points among the plurality of points if the gradient between the two different points is equal to or less than a critical value. That is, the computing device 100 can define lanes included in the real-time point cloud by connecting multiple points with a single line according to the gradient between the multiple points, and can generate real-time lane information including information about the defined lanes (e.g., the position coordinates of the points corresponding to the lanes). The region of interest set to obtain real-time lane information from the real-time point cloud is different from the region of interest map (e.g., FIG. 8) generated through step S420 of FIG. 6, and is set to a consistent region of interest based on a certain standard in order to ensure real-time performance, and minimizes the amount of calculation while taking noise into account to some extent. On the other hand, if the range of the region of interest is set narrowly to ensure real-time performance, the ground surface may not be included within the region of interest, or only a portion of the ground surface may be included, resulting in incorrect identification of lanes. If the range of the region of interest is expanded to take such issues into account, there is a problem that lanes may not be identified accurately due to noise. In consideration of this, the computing device 100 can define a ground plane for the region of interest and extract points corresponding to lanes using only points included in the region defined as the ground plane, as will be described below with reference to FIGS. FIG. 21 is a flowchart illustrating a second method for generating real-time lane information according to various embodiments. 21, in operation S1010, the computing device 100 may acquire a real-time point cloud for a predetermined area. Here, the operation of acquiring the real-time point cloud may be implemented in the same manner as or similar to the operation of acquiring the real-time point cloud performed in operation S910 of FIG. 20. In operation S1020, the computing device 100 may set a region of interest (ROI) on the real-time point cloud acquired through operation S1010. Here, the operation of setting a region of interest on the real-time point cloud may be implemented in the same manner as or similar to the operation of setting a region of interest performed in operation S920 of FIG. 20.
[0061] In step S1030, the computing device 100 may perform ground segmentation within the region of interest set in step S1020. In various embodiments, the computing device 100 may define a ground surface within the region of interest by approximating a plurality of points included in the real-time point cloud in a plane shape (e.g., FIGS. 22 and 23). For example, the computing device 100 may define a ground surface within the region of interest by gridding and sampling a plurality of points corresponding to lanes using a RANSAC algorithm and approximating the plurality of points in a plane shape. In operation S1040, the computing device 100 may extract points corresponding to lanes from among points located on the ground surface using the ground surface defined in operation S1030. In various embodiments, the computing device 100 may extract a plurality of points corresponding to lanes from among points located on the ground surface through a range filter. For example, the computing device 100 may input points located on the ground surface into a range filter that filters points according to a predefined range (e.g., vertical range, horizontal range, height range, and intensity range), thereby extracting only points corresponding to lanes from among points located on the ground surface. In operation S1050, the computing device 100 may generate real-time lane information using the plurality of points extracted in operation S1040. For example, the computing device 100 may connect the plurality of points based on a gradient between the plurality of points. For example, the computing device 100 may connect two different points among the plurality of points if the gradient between the two different points is equal to or less than a critical value. FIG. 24 is a flowchart illustrating a third method for generating real-time lane information according to various embodiments. 24, in step S1110, the computing device 100 may acquire a real-time point cloud for a predetermined area. Here, the operation of acquiring the real-time point cloud may be implemented in the same manner as or similar to the operation of acquiring the real-time point cloud performed in step S910 of FIG. 20.
[0062] In operation S1120, the computing device 100 may set a region of interest (ROI) on the real-time point cloud acquired through operation S1110. Here, the operation of setting a region of interest on the real-time point cloud may be implemented in the same manner as or similar to the operation of setting a region of interest performed in operation S920 of FIG. 20. In operation S1130, the computing device 100 may extract points corresponding to lanes from among the points included in the region of interest using the region of interest set in operation S1120. Here, the operation of extracting points corresponding to lanes from among the points included in the region may be implemented in the same manner as or similar to the operation of extracting points corresponding to lanes performed in operation S930 of FIG. 20 and operations S1030 and S1040 of FIG. 21. In operation S1140, the computing device 100 may acquire direction information (θ) for each of the points extracted in operation S1130. In various embodiments, the computing device 100 may acquire direction information for each of a plurality of points using a random sample consensus (RANSAC) algorithm. For example, the computing device 100 may acquire direction information for each of a plurality of points by using the RANSAC algorithm to grid and sample a plurality of points corresponding to lanes and approximate the plurality of points in the form of lines. In step S1150, the computing device 100 can generate real-time lane information (e.g., FIG. 25) using the position information for the plurality of points extracted through step S1130 and the direction information for the plurality of points obtained through step S1140. Referring again to FIG. 5, in step S330, the computing device 100 may calculate a third positioning value including position information and attitude information for the vehicle using the precise lane map generated in step S310 and the real-time lane information generated in step S320. As an example, the computing device 100 can determine the position and attitude of the vehicle 10 by matching points contained in a precise lane map with points contained in real-time lane information (e.g., P2P matching (Point-to-Point matching)). As another example, the computing device 100 can determine the position and attitude of the vehicle 10 by matching points included in the precise lane map with lanes included in the real-time lane information (e.g., P2L matching (Point-to-Lane matching)). As another example, the computing device 100 can determine the position and attitude of the vehicle 10 by matching lanes included in the precise lane map with lanes included in the real-time lane information (e.g., L2L matching (Lane-to-Lane matching)).
[0063] In various embodiments, the computing device 100 can calculate position information for the vehicle 10 (e.g., coordinate values corresponding to the position of the vehicle 10) and attitude information for the vehicle 10 (e.g., quaternion values or Euler angle values (pitch, roll, yaw values) corresponding to the attitude of the vehicle 10) by matching information contained in the precise lane map with information contained in the real-time lane information based on a vehicle coordinate system with the center point of the vehicle 10 as the origin. As shown in Figure 26, when positioning of the vehicle 10 is performed through the fusion of multiple positioning technologies, the accuracy and robustness of the positioning is increased compared to the results of performing positioning of the vehicle 10 through a single positioning technology (e.g., NDT map-based positioning technology), and there is an advantage in that the reliability of the autonomous driving control of the vehicle 10 can be improved by deriving accurate positioning results. The method for determining the position of an autonomous vehicle through the fusion of multiple positioning technologies has been described with reference to the flowcharts shown in the drawings. For ease of explanation, the method for determining the position of an autonomous vehicle through the fusion of multiple positioning technologies has been illustrated and described using a series of blocks. However, the present invention is not limited to the order of the blocks, and some blocks may be executed in a different order than those illustrated and described herein, or may be executed simultaneously. Furthermore, new blocks not shown in the present specification and drawings may be added, or some blocks may be deleted or modified.
[0064] Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments should be understood as illustrative in all respects and not restrictive.
Claims
1. 1. A method for determining positioning of an autonomous vehicle through fusion of multiple positioning technologies executed by a computing device, comprising: Calculating a plurality of positioning values by performing positioning on a vehicle located in a predetermined area using a plurality of positioning technologies that perform positioning using different positioning methods; and a step of fusing the calculated positioning values to determine the position and attitude of the vehicle as a positioning result for the vehicle,
2. The step of calculating the plurality of positioning values includes: Calculating a first positioning value for the vehicle using a first positioning technology that performs positioning according to a GNSS / INS-based positioning method; and calculating a second positioning value for the vehicle using a second positioning technique that performs positioning using a normal distribution transform (NDT) map-based positioning method, the NDT map being generated by post-processing a point cloud for the predetermined area; determining the position and attitude of the vehicle 2. The method of claim 1, further comprising: fusing the calculated first positioning value and the calculated second positioning value to derive position information for the vehicle and attitude information for the vehicle.
3. The step of deriving position information and attitude information of the vehicle includes: determining a weight value for each of the plurality of regions based on a regional characteristic of each of the plurality of regions, and generating a weight value map for each of the plurality of regions using the determined weight value for each of the plurality of regions; assigning a first weight corresponding to the first positioning technology to the calculated first positioning value and assigning a second weight corresponding to the second positioning technology to the calculated second positioning value based on the generated weight map for each positioning technology; and 3. The method of claim 2, further comprising: fusing the first positioning value to which the first weighting is assigned and the second positioning value to which the second weighting is assigned to derive position information for the vehicle and attitude information for the vehicle.
4. The step of calculating the plurality of positioning values includes: calculating a first positioning value for the vehicle using a first positioning technique that performs positioning according to a GNSS / INS-based positioning method; calculating a second positioning value for the vehicle using a second positioning technique that performs positioning according to a normal distribution transform (NDT) map-based positioning method (the NDT map being generated by post-processing a point cloud for the predetermined area); and calculating a third positioning value for the vehicle using a third positioning technique that performs positioning according to a lane matching based positioning method; determining the position and attitude of the vehicle 2. The method of claim 1, further comprising: fusing the calculated first positioning value, the calculated second positioning value, and the calculated third positioning value to derive position information corresponding to the vehicle and attitude information for the vehicle.
5. The step of calculating the third positioning value includes: generating a refined lane map for the predetermined area; generating real-time lane information using the real-time point cloud acquired from the vehicle; and 5. The method of claim 4, further comprising: calculating a third positioning value for the vehicle by matching the generated precise lane map with the generated real-time lane information.
6. calculating a third positioning value for the vehicle by matching the generated precise lane map with the generated real-time lane information, 6. The method for positioning an autonomous vehicle through fusion of multiple positioning technologies as claimed in claim 5, further comprising: matching information included in the generated precise lane map with information included in the generated real-time lane information based on a vehicle coordinate system having a point within the vehicle as its origin, thereby deriving position information and attitude information for the vehicle.
7. processor; Network interface; memory; and a computer program that is loaded into the memory and executed by the processor; The computer program comprises: Instructions for calculating a plurality of positioning values by performing positioning on a vehicle located in a predetermined area using a plurality of positioning technologies that perform positioning using different positioning methods; and 1. A computing device that performs a method for determining a position of an autonomous vehicle through fusion of multiple positioning technologies, the method comprising: determining a position and attitude of the vehicle by fusing the calculated multiple positioning values as a positioning result for the vehicle;
8. coupled to a computing device, Calculating a plurality of positioning values by performing positioning on a vehicle located in a predetermined area using a plurality of positioning technologies that perform positioning using different positioning methods; and A computer program stored on a recording medium readable by a computing device for executing a method for determining the position of an autonomous vehicle through fusion of a plurality of positioning technologies, the method including: fusing the calculated plurality of positioning values to determine the position and attitude of the vehicle as a positioning result for the vehicle.
Citation Information
Patent Citations
Video-based localization and mapping method and system
JP2020516853A
Robust localization
US20210010814A1
Autonomous vehicle control using submaps
WO2018006082A2