Method and system for expressing road width

The method uses a polynomial function to accurately represent road width in virtual environments, addressing discrepancies and reducing computation time, thereby improving autonomous driving simulations.

KR103043034B1Active Publication Date: 2026-11-05MORAI INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
KR1020230035772
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-20
Publication Date
2026-11-05
Estimated Expiration
2043-03-20

AI Technical Summary

Technical Problem

Existing methods for representing road width in virtual environments for autonomous driving simulations result in discrepancies between actual and virtual roads, leading to potential accidents and increased computation time due to complex calculations, especially when road widths vary within the same road.

Method used

A method and system that represent road width using a single polynomial function, generated through sets of points and parametric Bézier curves, to minimize errors and reduce computation time and file size.

Benefits of technology

This approach provides a high-precision road map with reduced memory usage and computation time, enabling accurate road width representation and minimizing discrepancies, thus enhancing the safety and efficiency of autonomous vehicle simulations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 112023031251618-PAT00007_ABST
    Figure 112023031251618-PAT00007_ABST
Patent Text Reader

Abstract

The present disclosure relates to a method for representing road width, executed by at least one processor. The method for representing road width comprises the steps of generating a first set of points associated with a reference line of a specific road, generating a second set of points associated with a first line of a specific road, generating a third set of points associated with a second line of a specific road, and generating a polynomial function representing the width between the first line and the second line according to the position of the reference line based on the reference line, the first set of points, the second set of points, and the third set of points.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to a method and system for representing road width, and more specifically, to a method and system for representing road width based on a polynomial function representing road width when implementing an autonomous driving simulation in a virtual environment. Background Technology

[0002] Generally, road information consists of data points that represent roads. When calculating the width of a virtual road based on these data points, discrepancies arise between the actual and virtual roads, and even small differences can lead to unexpected accidents. In particular, if an autonomous vehicle drives on a real road based on a virtual road generated in a virtual environment, it can easily lead to a major accident. Therefore, efforts are required to minimize the width discrepancy between the actual and virtual roads; for instance, a discrepancy of within 10 cm is considered stable. Furthermore, to enable immediate response when new roads appear in the real environment, the size of the map that can be loaded for simulation and the output time must be minimized.

[0003] Meanwhile, even within the same road, there are cases where the width of the road is not uniform due to reasons such as lane separation. If the width of the road is calculated separately for every section of the road, the computation process becomes complex, which limits the ability to reduce computation time and output time based on file size when creating a virtual road in a virtual environment. The problem to be solved

[0004] The present disclosure provides a road width representation method and system for solving the above-mentioned problems.

[0005] The present disclosure provides a method for representing road width in a virtual environment, which enables reduced output time with a smaller file size by accurately representing the road width as a single polynomial function while minimizing the error between the actual road width and the virtual road width, a program stored on a recording medium, and a system (device). means of solving the problem

[0006] The present disclosure may be implemented in various ways, including a method, a system (device), or a computer program stored on a readable storage medium.

[0007] A method for expressing road width according to one embodiment of the present disclosure comprises the steps of generating a first set of points associated with a reference line of a specific road, generating a second set of points associated with a first line of a specific road, generating a third set of points associated with a second line of a specific road, and generating a polynomial function representing the width between a first line and a second line according to the position of the reference line based on the reference line, the first set of points, the second set of points, and the third set of points.

[0008] According to one embodiment, the method further comprises the steps of receiving precision road map data representing actual road information, generating a parametric Bézier curve for the reference line using the precision road map data, generating a parametric Bézier curve for the first line using the precision road map data, and generating a parametric Bézier curve for the second line using the precision road map data.

[0009] According to one embodiment, a first set of points is created on the reference line, a second set of points is created on the first line, and a third set of points is created on the second line.

[0010] According to one embodiment, a first set of points is generated at regular intervals on a reference line, a second set of points is generated at regular intervals on a first line, and a third set of points is generated at regular intervals on a second line.

[0011] According to one embodiment, the step of generating a polynomial function comprises: generating a normal vector for each of the points in a first set; generating a fourth set of points on a first line based on the normal vector for each of the points in the first set and the points in a second set; generating a fifth set of points on a second line based on the normal vector for each of the points in the first set and the points in a third set; and generating a polynomial function representing the width between a first line and a second line according to the position of a reference line based on the points in the first set, the points in the fourth set, and the points in the fifth set.

[0012] According to one embodiment, the step of generating a fourth set of points includes generating intersection points of a first line and a normal vector for each of the points in the first set, identifying two points in the second set closest to the intersection point for each of the intersection points, and generating a fourth set of points based on the two points closest to each of the intersection points.

[0013] According to one embodiment, the step of generating a fifth set of points includes generating intersection points of a second line and a normal vector for each of the points in the first set, identifying the two points closest to the intersection point among the points in the third set for each of the intersection points, and generating the fifth set of points based on the two points closest to the intersection point for each of the intersection points.

[0014] According to one embodiment, the step of generating a normal vector includes generating a specific normal vector perpendicular to a reference line at a specific point among a first set of points, and the step of generating a fourth set of points includes generating a specific intersection point of a specific normal vector and a first line, identifying a first point and a second point closest to the specific intersection point among a second set of points, and generating a third point based on the distance between the first point and the specific intersection point, the distance between the second point and the specific intersection point, the first point and the second point, and the fourth set of points includes the third point.

[0015] According to one embodiment of the present disclosure, a computer program stored on a computer-readable recording medium is provided for executing a road width representation method on a computer.

[0016] According to one embodiment of the present disclosure, an information processing device is provided. The information processing device comprises a communication module, a memory, and at least one processor connected to the memory and configured to execute a computer-readable program contained in the memory, wherein the at least one program comprises instructions for generating a first set of points associated with a reference line of a specific road, generating a second set of points associated with a first line of a specific road, generating a third set of points associated with a second line of a specific road, and generating a polynomial function representing the width between the first line and the second line according to the position of the reference line based on the reference line, the first set of points, the second set of points, and the third set of points. Effects of the invention

[0017] According to some embodiments of the present disclosure, a high-precision road map can be provided using only minimal memory resources because a relatively low degree is used in calculating a polynomial function for expressing the width of a road. Accordingly, this overcomes the limitations of simulation or actual operation applications of existing autonomous vehicles and can be utilized in a wider variety of service fields.

[0018] According to some embodiments of the present disclosure, by accurately expressing the width of a road with respect to a reference line as a single polynomial function, the number of formulas representing the width of the road is minimized, thereby reducing computation time and file size, and effectively reducing the information output speed.

[0019] The effects of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art to which the present disclosure pertains (hereinafter referred to as "person skilled in the art") from the description in the claims. Brief explanation of the drawing

[0020] Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein similar reference numerals indicate similar elements, but are not limited thereto. FIG. 1 is a drawing for explaining a concept related to road width representation according to one embodiment of the present disclosure. FIG. 2 is a diagram illustrating an example of an information processing system according to one embodiment of the present disclosure generating a road width polynomial function based on input data. FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to one embodiment of the present disclosure. FIG. 4 is a drawing showing points indicating reference lines and lane boundaries in a precision road map according to one embodiment of the present disclosure. FIG. 5 is a drawing showing an arrangement of points representing a reference line, a first line, and a second line according to one embodiment of the present disclosure. FIG. 6 is a diagram showing the intersection of a normal vector at a reference line and a first line and a second line according to one embodiment of the present disclosure. FIG. 7 is a diagram illustrating an example of creating a new point on an intersection point where a normal vector and a first line intersect using an internal division point calculation according to one embodiment of the present disclosure. FIG. 8 is a diagram illustrating the generation of a width polynomial function for expressing the width of a road according to one embodiment of the present disclosure. FIG. 9 is a flowchart illustrating a method for expressing road width according to one embodiment of the present disclosure. FIG. 10 is a flowchart illustrating a method for expressing road width according to another embodiment of the present disclosure. Specific details for implementing the invention

[0021] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions regarding widely known functions or configurations will be omitted if there is a risk that the gist of the present disclosure may be unnecessarily obscured.

[0022] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Additionally, in the description of the following embodiments, the description of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.

[0023] The advantages and features of the disclosed embodiments and the methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms, and the embodiments provided are merely to make the present disclosure complete and to fully inform those skilled in the art of the scope of the invention.

[0024] The terms used in this specification will be briefly explained, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected to be as generally used as possible, taking into account their functions in this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should be defined not merely by their names, but based on their meanings and the content throughout this disclosure.

[0025] In this specification, singular expressions include plural expressions unless the context clearly specifies them as singular. Additionally, plural expressions include singular expressions unless the context clearly specifies them as plural. Throughout the specification, when a part is described as including a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0026] Additionally, the terms 'module' or 'part' as used in the specification refer to software or hardware components, and the 'module' or 'part' performs certain roles. However, the meaning of 'module' or 'part' is not limited to software or hardware. The 'module' or 'part' may be configured to reside in an addressable storage medium or configured to run on one or more processors. Thus, as an example, the 'module' or 'part' may include components such as software components, object-oriented software components, class components, and task components, and at least one of processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The components and the functions provided within the 'module' or 'part' may be combined into a smaller number of components and 'modules' or 'parts', or further separated into additional components and 'modules' or 'parts'.

[0027] According to one embodiment of the present disclosure, a ‘module’ or ‘part’ may be implemented as a processor and memory. The term ‘processor’ should be broadly interpreted to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some environments, the term ‘processor’ may refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term ‘processor’ may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors combined with a DSP core, or any other combination of such configurations. Additionally, the term ‘memory’ should be broadly interpreted to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as Random Access Memory (RAM), Read-Only Memory (ROM), Non-Volatile Random Access Memory (NVRAM), Programmable Read-Only Memory (PROM), Erasable-Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), Flash Memory, Magnetic or Optical Data Storage Devices, Registers, etc. If a processor can read information from memory and / or write information to memory, the memory is said to be in an electronic communication state with the processor. Memory integrated into a processor is in an electronic communication state with the processor.

[0028] In the present disclosure, the 'system' may include at least one of a server device and a cloud device, but is not limited thereto. For example, the system may be composed of one or more server devices. As another example, the system may be composed of one or more cloud devices. As yet another example, the system may be configured and operated with both a server device and a cloud device.

[0029] Additionally, in the present disclosure, a reference line refers to a road centerline serving as a standard for the road, which may mean a line formed to correspond to the shape and length of the road, and may be extracted / generated from precision road map data in association with a plurality of points.

[0030] Additionally, in the present disclosure, coordinate data may refer to GPS coordinates or corresponding location coordinates. For example, coordinate data may include data such as latitude, longitude, and altitude.

[0031] Additionally, in the present disclosure, a normal vector may refer to a vector that is perpendicular to a straight line or a plane.

[0032] FIG. 1 is a drawing for explaining a concept related to road width representation according to an embodiment of the present disclosure. Generally, a road may have lanes separated along a line that separates the road. To represent the width of the road, information regarding a reference line associated with a plurality of points and a line separating the road can be obtained or generated from high-precision road map data. In the case of the road section (110) shown in FIG. 1, a reference line (120) can be obtained or generated along with information regarding a first line (132) and a second line (142) for separating a first lane (130) and a second lane (140) based on high-precision road map data. The width of the road may not be constant due to reasons such as lane separation. In this case, the width of each lane (e.g., the first lane and the second lane) corresponding to the coordinate value can be calculated based on the coordinate value of the reference line (120).

[0033] In one embodiment, to express the width of the second lane (140) which is not constant, the width between the first line (132) and the second line (142) at each coordinate value of the reference line (120) can be expressed through a formula. For example, to express the width of the second lane (140) in the road section (110), the width between the first line (132) and the second line (142) until the S coordinate of the reference line (120) changes from 0 to 10 can be expressed through a formula. In the illustrated example, the width between the first line (132) and the second line (142) when the S coordinate is 4 can be calculated as the width (150). By repeating this process at each S coordinate of the reference line (120), a polynomial function representing the width between the first line (132) and the second line (142) according to the position of the reference line (120) (i.e., the width of the second lane (140)) can be generated. For example, the polynomial function can be generated as a third-order polynomial as shown in the mathematical formula below.

[0034]

[0035] Here, width represents the width between the first line (132) and the second line (142) at a given location (coordinate S), the calculated a, b, c, and d represent constants, and ds (e.g., 4) may represent the distance along the reference line (120) from the starting point of the reference line (e.g., S=0) to the current location (e.g., S=4). ds may start again from 0 for each road section or reference line.

[0036] Through this configuration, , , , The width of the second lane (140) according to the position of the reference line can be expressed using only four parameters. By expressing the overall width of the road as a polynomial function of a relatively low degree, it is possible to use less computation time and capacity.

[0037] FIG. 2 is a diagram illustrating an example in which an information processing system (220) according to one embodiment of the present disclosure generates a road width polynomial function based on input data. As illustrated, the information processing system (220) may include a parametric Bézier curve generating unit (222) for a line, a point generating unit (224), and a polynomial function generating unit (226).

[0038] The information processing system (220) can receive precision road map data (210) as input and generate parametric Bézier curves for lines representing reference lines and road lines (e.g., first line, second line, etc.). The precision road map data (210) may include actual road information of a specific area and may include multiple points for multiple roads. Additionally, some of the multiple points may be defined as a point set for a target road / specific road, and a width polynomial function representing the width of a specific lane (e.g., between the first road line and the second road line) according to the position of the reference line can be generated using the coordinate data of the point set.

[0039] According to one embodiment, the parametric Bézier curve generation unit (222) can generate a parametric Bézier curve representing a reference line and a road line. For example, using data included in the precision road map data, a parametric Bézier curve for each of the first line and the second line representing the lane boundary of the road and the reference line can be obtained / generated.

[0040] According to one embodiment, the point generation unit (224) can generate points on a reference line, a first line, and a second line based on a parametric Bézier curve obtained / generated. At this time, the generated points may be generated at regular intervals, but are not limited thereto. For example, points on the reference line, the first line, and the second line may be generated at irregular intervals, or may be generated based on the shape or inflection point of the reference line, the first line, and the second line. Then, the point generation unit (224) can generate a normal vector for each point generated on the reference line. For example, each normal vector may intersect with the first line to generate an intersection point, and an internal division point may be calculated based on the two points closest to the intersection point of the normal vector and the first line, thereby producing coordinate data of a point representing the intersection point of the normal vector and the first line. Similarly, each normal vector can be intersected by a second line to generate an intersection point, and an internal division point can be calculated based on the two points closest to the intersection point of the normal vector and the second line to produce coordinate data of the point representing the intersection point of the normal vector and the second line.

[0041] According to one embodiment, the polynomial function generating unit (226) can generate a width polynomial function (230) representing the width between a first line and a second line according to the position of the reference line. For example, the polynomial function generating unit (226) can generate a polynomial function representing the width between a first line and a second line according to the position of the reference line based on points generated on the reference line, intersection points with the first line generated by the normal vector at each point, and intersection points with the second line generated by the normal vector at each point.

[0042] Through this configuration, a polynomial function of a relatively small degree can be used to represent the width of the road based on the precision road map data (210) to reduce data throughput and effectively reduce the information output speed.

[0043] FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to an embodiment of the present disclosure. Here, the information processing system (330) may be a system configured to represent the width of a road. The user terminal (310) may refer to any computing device capable of wired / wireless communication and capable of executing a road width representation optimization application, and may include, for example, a PC terminal, a mobile phone terminal, a tablet terminal, etc. As illustrated, the user terminal (310) may include a memory (312), a processor (314), a communication module (316), and an input / output interface (318). Similarly, the information processing system (330) may include a memory (332), a processor (334), a communication module (336), and an input / output interface (338). As illustrated in FIG. 3, the user terminal (310) and the information processing system (330) may be configured to communicate information and / or data through a network (320) using their respective communication modules (316, 336). Additionally, the input / output device (340) may be configured to input information and / or data to the user terminal (310) or output information and / or data generated from the user terminal (310) through an input / output interface (318).

[0044] The memory (312, 332) may include any non-transient computer-readable recording medium. According to one embodiment, the memory (312, 332) may include a permanent mass storage device such as random access memory (RAM), read-only memory (ROM), a disk drive, a solid state drive (SSD), or flash memory. As another example, a permanent mass storage device such as ROM, an SSD, flash memory, or a disk drive may be included in the user terminal (310) or information processing system (330) as a separate permanent storage device distinct from the memory. Additionally, an operating system and at least one program code may be stored in the memory (312, 332).

[0045] These software components may be loaded from a computer-readable recording medium separate from memory (312, 332). This separate computer-readable recording medium may include a recording medium that can be directly connected to the user terminal (310) and the information processing system (330), for example, a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, or memory card. As another example, the software components may be loaded into memory (312, 332) via a communication module rather than a computer-readable recording medium. For example, at least one program may be loaded into memory (312, 332) based on a computer program installed by files provided through a network (320) by developers or a file distribution system that distributes installation files for the application.

[0046] The processor (314, 334) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (314, 334) by memory (312, 332) or a communication module (316, 336). For example, the processor (314, 334) may be configured to execute instructions received according to program code stored in a recording device such as memory (312, 332).

[0047] The communication module (316, 336) may provide a configuration or function for the user terminal (310) and the information processing system (330) to communicate with each other via the network (320), and may provide a configuration or function for the user terminal (310) and / or the information processing system (330) to communicate with another user terminal or another system (e.g., a separate cloud system). For example, a request generated by the processor (314) of the user terminal (310) according to program code stored in a recording device such as memory (312) may be transmitted to the information processing system (330) via the network (320) under the control of the communication module (316). Conversely, a control signal or command provided under the control of the processor (334) of the information processing system (330) may be received by the user terminal (310) via the communication module (316) of the user terminal (310) through the communication module (336) and the network (320). For example, the user terminal (310) can receive simulation implementation data of an autonomous vehicle from the information processing system (330) through the communication module (316).

[0048] The input / output interface (318) may be a means for interfacing with an input / output device (340). As an example, the input device may include a device such as a camera including an image sensor, a keyboard, a microphone, or a mouse, and the output device may include a device such as a display, a speaker, or a haptic feedback device. As another example, the input / output interface (318) may be a means for interfacing with a device in which the configuration or function for performing input and output is integrated into one, such as a touchscreen. For example, when the processor (314) of the user terminal (310) processes instructions of a computer program loaded in memory (312), a service screen configured using information and / or data provided by an information processing system (330) or another user terminal (310) may be displayed on a display through the input / output interface (318). In FIG. 3, the input / output device (340) is depicted as not being included in the user terminal (310), but is not limited thereto and may be configured as a single device with the user terminal (310). Additionally, the input / output interface (338) of the information processing system (330) may be a means for interfacing with a device (not shown) for input or output that is connected to the information processing system (330) or that the information processing system (330) may include. In FIG. 3, the input / output interface (318, 338) is shown as an element configured separately from the processor (314, 334), but is not limited thereto, and the input / output interface (318, 338) may be configured to be included in the processor (314, 334).

[0049] The user terminal (310) and the information processing system (330) may include more components than those of FIG. 3. However, it is not necessary to clearly illustrate most of the prior art components. According to one embodiment, the user terminal (310) may be implemented to include at least some of the input / output devices (340) described above. Additionally, the user terminal (310) may further include other components such as a transceiver, a GPS (Global Positioning System) module, a camera, various sensors, a database, etc. For example, if the user terminal (310) is a smartphone, it may include components that are generally included in a smartphone, and may be implemented to further include various components such as an accelerometer, a gyroscope, a camera module, various physical buttons, buttons using a touch panel, input / output ports, and a vibrator for vibration.

[0050] According to one embodiment, the processor (314) of the user terminal (310) may be configured to operate an application or web browser application that provides an autonomous driving simulation service and / or a road width representation service. At this time, program code associated with the application may be loaded into the memory (312) of the user terminal (310). While the application is running, the processor (314) of the user terminal (310) may receive information and / or data provided from an input / output device (340) through an input / output interface (318) or receive information and / or data from an information processing system (330) through a communication module (316), and may process the received information and / or data and store it in the memory (312). Additionally, such information and / or data may be provided to the information processing system (330) through the communication module (316).

[0051] While the application is running, the processor (314) can receive text, images, etc. that are input or selected through an input device (340), such as a touch screen or keyboard, connected to an input / output interface (318), and can store the received text and / or images in memory (312) or provide them to an information processing system (330) through a communication module (316) and a network (320). For example, the processor (314) can receive information, such as data requests for implementing a simulation of an autonomous vehicle, through an input device, such as a touch screen or keyboard. Accordingly, the received requests and / or information can be provided to an information processing system (330) through a communication module (316) and a network (320).

[0052] The processor (314) of the user terminal (310) may be configured to manage, process, and / or store information and / or data received from an input / output device (340), another user terminal, an information processing system (330), and / or multiple external systems. The information and / or data processed by the processor (314) may be provided to the information processing system (330) through a communication module (316) and a network (320). The processor (314) of the user terminal (310) may transmit and output information and / or data to the input / output device (340) through an input / output interface (318). For example, the processor (314) may display the received information and / or data on the screen of the user terminal.

[0053] The processor (334) of the information processing system (330) may be configured to manage, process, and / or store information and / or data received from a plurality of user terminals (310) and / or a plurality of external systems. The information and / or data processed by the processor (334) may be provided to the user terminals (310) through a communication module (336) and a network (320). Although the information processing system (330) is depicted as a single system in FIG. 3, it is not limited thereto and may be composed of a plurality of systems / servers to provide various services related to autonomous driving simulation services and / or road width representation. For example, the information processing system (330) may include a separate server including an autonomous driving vehicle simulation model in a virtual environment.

[0054] In FIG. 3, the information processing system (330) is described as generating a representation of the width of the road, but is not limited thereto, and the user terminal (310) may be configured to generate a representation of the width of the road.

[0055] FIG. 4 is a diagram showing points representing reference lines and lane boundaries in a precision road map according to one embodiment of the present disclosure. According to one embodiment, an information processing system may define a set of points for a specific road based on precision road map data received from an external device. Alternatively, the information processing system may use precision road map data stored in internal memory. Here, the precision road map data may refer to data representing actual road information of a specific area and may include a plurality of points (P) for a plurality of roads.

[0056] Specifically, reference lines (410) for consecutive roads and points (420, 430) of lines representing the boundaries of lanes within a road section can be extracted / generated using precision road map data. A reference line is a line formed to correspond to the shape and length of a road and can be associated with multiple points, and a line representing the boundaries of lanes can also be associated with multiple points. For example, a specific lane within a road section disclosed in FIG. 4 can have its boundary expressed by points (420) representing a first line and points (430) representing a second line. In one embodiment, a polynomial representing the width between the first line and the second line according to the position of the reference line can be generated. In this case, since the points associated with the reference line, the points of the first line, and the points of the second line are not spaced evenly and are not straight lines, preprocessing of the points is required to generate a polynomial function representing the width between the first line and the second line according to the position of the reference line. This will be explained in detail below.

[0057] FIG. 5 is a diagram showing an arrangement of points representing a reference line, a first line, and a second line according to an embodiment of the present disclosure. A processor (e.g., at least one processor of an information processing system or a user terminal) can generate new points on the reference line, the first line, and the second line using precision road map data. Specifically, a parametric Bézier curve representing each of the reference line, the first line, and the second line can be generated based on a set of points for the reference line, the first line, and the second line included in the precision road map data. After the parametric Bézier curve is generated, new points can be generated on the reference line, the first line, and the second line. At this time, the new points may be generated at regular intervals, but are not limited thereto, and may be generated at irregular intervals or based on the shape or inflection point of the reference line, the first line, and the second line.

[0058] In one embodiment, a first set of points may be newly generated on the reference line based on a parametric Bézier curve generated for the reference line (510). Similarly, a second set of points may be newly generated on the first line (520) and a third set of points may be newly generated on the second line (530) based on parametric Bézier curves generated for the first line (520) and the second line (530) representing lane boundaries. As illustrated, since the points associated with the reference line, the points of the first line, and the points of the second line are not spaced evenly and are not straight lines, preprocessing of the points is required to generate a polynomial function representing the width between the first line and the second line according to the position of the reference line.

[0059] The preprocessing process for the points to generate the polynomial function representing the width of the road is described in more detail below.

[0060] FIG. 6 is a diagram showing the intersection of a normal vector on a reference line and a first line and a second line according to one embodiment of the present disclosure. A processor (e.g., at least one processor of an information processing system or a user terminal) may generate a normal vector for each of the first set of points newly generated on the reference line (610), and may generate intersection points between the normal vectors and the first line (620) and the second line (630). For example, a normal vector (640) may be generated perpendicular to the reference line (610) at a specific point (612) among the first set of points, and an intersection point between the normal vector (640) and the first line (620) may be generated, and an intersection point between the normal vector (640) and the second line (630) may be generated.

[0061] In one embodiment, the processor can identify two points closest to the intersection with the normal vector (640) for each of the first line (620) and the second line (630). For the first line (620), the processor can identify a first point (622) and a second point (624) of the first line closest to the intersection with the normal vector (640) among a second set of points. Similarly, for the second line (630), the processor can identify a first point (632) and a second point (634) closest to the intersection with the normal vector (640) among a third set of points. The two closest identified points can be used to generate the intersection point of the normal vector (640) and the first line (620) and the intersection point of the normal vector (640) and the second line (630), and to calculate the width between the first line (620) and the second line (630) at a specific point (612).

[0062] FIG. 7 is a diagram illustrating an example of generating new points on an intersection point where a normal vector and a first line intersect using an internal division point calculation according to one embodiment of the present disclosure. A processor (e.g., at least one processor of an information processing system or a user terminal) may generate new points based on a first point and a second point identified for each of the intersection points, the distance between the first point and the intersection point, and the distance between the second point and the intersection point.

[0063] In one embodiment, for the first line (710), the first point (712) of the first line and the second point (714) of the first line, along with the identified first point (712) of the first line and the second point (714) of the first line, the distance (716) between the first point (712) of the first line and the intersection point and the distance (718) between the second point (714) of the first line and the intersection point can be calculated / generated for the first line (710). Although not shown in FIG. 7, similar to the first line (710), the second line can also calculate / generate the internal division point where the normal vector intersects the second line based on the distance between the first point of the second line and the intersection point and the distance between the second point of the second line and the intersection point, along with the identified first point of the second line and the second point of the second line.

[0064] The calculation of internal division points can be performed on the normal vectors for each of the first set of points generated on the reference line and on both the intersection points of the first line and the second line, and the internal division points calculated on the first line and the second line can be generated as new points. In one embodiment, internal division points are calculated based on the normal vectors for each of the first set of points and the second set of points generated at regular intervals on the first line, and the calculated internal division points can be generated as new points as the fourth set of points for the first line. Similarly, internal division points are calculated based on the normal vectors for each of the first set of points and the third set of points generated at regular intervals on the second line, and the calculated internal division points can be generated as new points as the fifth set of points for the second line.

[0065] FIG. 8 is a diagram illustrating the generation of a width polynomial function for expressing the width of a road according to one embodiment of the present disclosure. A processor (e.g., at least one processor of an information processing system or a user terminal) can generate a polynomial function representing the width between a first line (820) and a second line (830) according to the position of the reference line, based on a first set of points generated on the reference line (810) and new points generated through the calculation of internal division points.

[0066] In one embodiment, a width value (842) between the first line (820) and the second line (830) at the point (812) of the reference line (810) can be calculated through the distance between a new point (822) on the first line and a new point (832) on the second line, generated using a normal vector (840) for a point (812) on the reference line (810). The width value between the first line (820) and the second line (830) can be calculated for all points of the first set on the reference line (810). Based on the width values ​​calculated for each point of the first set, a polynomial function representing the width between the first line (820) and the second line (830) according to the position of the reference line (810) can be generated. For example, the polynomial function can be generated as a third-order polynomial as shown in the mathematical formula below.

[0067]

[0068] Here, width represents the width between the first line (132) and the second line (142) according to the reference line position, the calculated a, b, c, and d represent constants, and ds may represent the distance on the reference line (120) from the starting point of the reference line to the current position.

[0069] FIG. 9 is a flowchart illustrating a method for representing road width according to an embodiment of the present disclosure. The method for representing road width (900) may be performed by at least one processor (at least one processor of an information processing system or a user terminal). According to an embodiment, the method (900) may be initiated by generating a first set of points associated with a reference line of a specific road (S910). At this time, the first set of points may be generated on the reference line based on a parametric Bézier curve representing the reference line. To this end, the processor may receive precision road map data representing actual road information. The processor may generate a reference line parametric Bézier curve using the precision road map data. At this time, the first set of points may be generated on the reference at regular intervals.

[0070] According to one embodiment, the processor can generate a second set of points (S920) associated with a first line of a specific road. At this time, the second set of points can be generated on the first line. To this end, the processor can generate a parametric Bézier curve of the first line using precision road map data. The second set of points can be generated on the first line at regular intervals.

[0071] According to one actual example, the processor can generate a third set of points associated with a second line of a specific road (S930). At this time, the third set of points can be generated on the second line. To this end, the processor can generate a parametric Bézier curve of the second line using precision road map data. The third set of points can be generated on the second line at regular intervals.

[0073] According to one embodiment, the processor can generate a polynomial function representing the width between the first line and the second line according to the position of the reference line based on a reference line, a first set of points, a second set of points, and a third set of points (S940). For example, the processor can generate a normal vector perpendicular to the reference line for each of the points in the first set, and generate a fourth set of points on the first line based on the normal vector for each of the points in the first set and the points in the second set. Additionally, the processor can generate a fifth set of points on the second line based on the normal vector for each of the points in the first set and the points in the third set. Then, the processor can generate a polynomial function representing the width between the first line and the second line according to the position of the reference line based on the points in the first set, the points in the fourth set, and the points in the fifth set.

[0074] In one embodiment, to generate a fourth set of points, the processor generates intersection points of a first line and a normal vector for each of the points in the first set, and for each of the intersection points, identifies the two points in the second set closest to the intersection point. Then, the processor can generate a fourth set of points based on the two points closest to each of the intersection points.

[0075] Similarly, to generate a fifth set of points, the processor can generate the intersection points of the second line and the normal vector for each of the points in the first set, and for each of the intersection points, identify the two points in the third set closest to the intersection point. Then, the processor can generate a fifth set of points based on the two points closest to each of the intersection points.

[0076] In one embodiment, the processor may generate a specific normal vector perpendicular to a reference line at a specific point among a first set of points. In this case, the processor may generate a specific intersection point between the specific normal vector and the first line, and identify a first point and a second point among a second set of points that are closest to the specific intersection point. Then, the processor may generate a third point based on the distance between the first point and the specific intersection point, the distance between the second point and the specific intersection point, and the first point and the second point. Here, a fourth set of points may include the third point.

[0077] FIG. 10 is a flowchart illustrating a method for representing road width according to another embodiment of the present disclosure. The method for representing road width (1000) may be performed by at least one processor (e.g., at least one processor of an information processing system or a user terminal). According to one embodiment, the method (1000) may be disclosed in that the processor generates a parametric Bézier curve of a reference line, a first line, and a second line (S1010). At this time, the parametric Bézier curve of the reference line, the first line, and the second line may be generated using precision road map data. To this end, the processor may receive precision road map data representing actual road information, and the precision road map data may include a plurality of points for a plurality of roads. For example, the processor may generate a parametric Bézier curve for each of the reference line, the first line, and the second line based on these plurality of points.

[0078] According to one embodiment, the processor can generate a first set of points, a second set of points, and a third set of points on a reference line, a first line, and a second line, respectively (S1020). The points generated on each line may be generated at regular intervals, but are not limited thereto, and may be generated at irregular intervals or based on the shape or inflection point of the reference line, the first line, and the second line.

[0079] According to one embodiment, the processor may generate a straight line perpendicular to each of the first set of points generated on a reference line (S1030). For example, the perpendicular straight line may be a normal vector generated for each of the first set of points with respect to the reference line, and for each normal vector, intersection points may be generated by intersecting the first line and the second line.

[0080] According to one embodiment, the processor can identify the two points closest to each generated straight line and the first line and the second line (S1040). Specifically, the processor can generate an intersection point between the normal vector generated for each of the points in the first set and the first line and the second line, and identify the two points closest to each intersection point. For example, the first point of the first line and the second point of the first line closest to the intersection point of the normal vector and the first line can be identified. Similarly, the first point of the second line and the second point of the second line closest to the intersection point of the normal vector and the second line can be identified.

[0081] According to one embodiment, the processor can generate an internal division point using the distance between two identified points and a straight line (S1050). For example, the processor can generate a new point that is an internal division point for a first line based on an identified first point, a second point, the distance between the first point and the intersection point, and the distance between the second point and the intersection point. For each of the first set of points generated on the reference line, new points on the first line can be generated, and these newly generated points can be referred to as the fourth set of points on the first line. Similarly, the processor can generate a new point that is an internal division point for a second line based on an identified first point, a second point, the distance between the first point and the intersection point, and the distance between the second point and the intersection point. For each of the first set of points generated on the reference line, new points on the second line can be generated, and these newly generated points can be referred to as the fifth set of points on the second line.

[0082] According to one embodiment, a width polynomial function for the width of a road can be generated using reference lines and internal division points (S1060). Specifically, the processor can calculate a road width value, which is the distance between a first line and a second line for each of the points in the first set, based on the points in the first set, the points in the fourth set, and the points in the fifth set. Based on the width values ​​for each of the points in the first set, the processor can generate a polynomial function representing the width between roads according to the reference line position.

[0083] The method described above may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may continuously store a computer-executable program, or temporarily store it for execution or download. Additionally, the medium may be various recording or storage means in the form of a single or multiple hardware components, and may not be limited to a medium directly connected to a computer system but may exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Furthermore, other examples of media may include recording or storage media managed by sites, servers, etc., that supply or distribute various software, such as app stores that distribute applications.

[0084] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various exemplary logical blocks, modules, circuits, and algorithmic steps described in connection with the disclosure herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate such interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in terms of their functional aspects. Whether such functions are implemented in hardware or in software depends on the design requirements imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementations should not be construed as departing from the scope of the present disclosure.

[0085] In a hardware implementation, the processing units used to perform the techniques may be implemented in one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described in this disclosure, computers, or a combination thereof.

[0086] Accordingly, the various exemplary logic blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented by a combination of computing devices, for example, a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors coupled with a DSP core, or any other combination of configurations.

[0087] In firmware and / or software implementations, techniques may be implemented as instructions stored on a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. The instructions may be executable by one or more processors, and the processor(s) may be enabled to perform specific aspects of the functions described in this disclosure.

[0088] Although the embodiments described above have been described as utilizing aspects of the subject matter disclosed herein in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or a distributed computing environment. Furthermore, aspects of the subject matter in the present disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices. Such devices may include PCs, network servers, and portable devices.

[0089] Although the present disclosure has been described in relation to some embodiments, various modifications and changes may be made without departing from the scope of the present disclosure as understood by a person skilled in the art to which the invention of the present disclosure pertains. Furthermore, such modifications and changes should be considered to fall within the scope of the claims appended to this specification. Explanation of the symbols

[0090] 110: Road section 120: Reference line 130: 1st lane

Claims

Claim 1 A method for representing road width executed by at least one processor, comprising: generating a first set of points associated with a reference line of a specific road; generating a second set of points associated with a first line of the specific road; generating a third set of points associated with a second line of the specific road; generating a polynomial function representing the width between a first line and a second line according to the position of the reference line based on the reference line, the points of the first set, the points of the second set, and the points of the third set; receiving precision road map data representing actual road information; generating a parametric Bézier curve for the reference line using the precision road map data; generating a parametric Bézier curve for the first line using the precision road map data; and generating a parametric Bézier curve for the second line using the precision road map data. Claim 2 delete Claim 3 A method for expressing road width according to claim 1, wherein the points of the first set are created on the reference line, the points of the second set are created on the first line, and the points of the third set are created on the second line. Claim 4 A method for expressing road width according to paragraph 3, wherein the points of the first set are generated at regular intervals on the reference line, the points of the second set are generated at regular intervals on the first line, and the points of the third set are generated at regular intervals on the second line. Claim 5 A method for representing road width executed by at least one processor comprises: generating a first set of points associated with a reference line of a specific road; generating a second set of points associated with a first line of the specific road; generating a third set of points associated with a second line of the specific road; generating a polynomial function representing the width between a first line and a second line according to the position of the reference line based on the reference line, the points of the first set, the points of the second set, and the points of the third set, wherein the step of generating the polynomial function comprises: generating a normal vector for each of the points of the first set; generating a fourth set of points on the first line based on the normal vector for each of the points of the first set and the points of the second set; and generating a fifth set of points on the second line based on the normal vector for each of the points of the first set and the points of the third set. A road width expression method comprising the step of generating a polynomial function representing the width between the first line and the second line according to the position of the reference line, based on the points of the first set, the points of the fourth set, and the points of the fifth set. Claim 6 A method for expressing road width according to claim 5, wherein the step of generating points of the fourth set comprises: generating intersection points of the first line and a normal vector for each of the points of the first set; identifying the two points closest to the intersection point among the points of the second set for each of the intersection points; and generating points of the fourth set based on the two points closest to each of the intersection points. Claim 7 A method for expressing road width according to claim 6, wherein the step of generating the points of the fifth set comprises: generating the intersection points of the second line and the normal vector for each of the points of the first set; identifying the two points closest to the intersection point among the points of the third set for each of the intersection points; and generating the points of the fifth set based on the two points closest to each of the intersection points. Claim 8 A method for expressing road width according to claim 5, wherein the step of generating the normal vector comprises generating a specific normal vector perpendicular to the reference line at a specific point among the points of the first set, and the step of generating the points of the fourth set comprises generating a specific intersection point of the specific normal vector and the first line; identifying a first point and a second point closest to the specific intersection point among the points of the second set; and generating a third point based on the distance between the first point and the specific intersection point, the distance between the second point and the specific intersection point, the first point and the second point, and the points of the fourth set include the third point. Claim 9 A computer program stored on a computer-readable recording medium for executing a method according to any one of paragraphs 1, 3 through 8 on a computer. Claim 10 An information processing system for expressing road width, comprising: a communication module; a memory; and a processor connected to the memory and configured to execute at least one computer-readable program included in the memory, wherein the at least one program generates a first set of points associated with a reference line of a specific road, generates a second set of points associated with a first line of the specific road, generates a third set of points associated with a second line of the specific road, generates a polynomial function representing the width between the first line and the second line according to the position of the reference line based on the reference line, the first set of points, the second set of points, and the third set of points, receives high-precision road map data representing actual road information, generates a parametric Bézier curve for the reference line using the high-precision road map data, generates a parametric Bézier curve for the first line using the high-precision road map data, and generates a parametric Bézier curve for the second line using the high-precision road map data.

Citation Information

Patent Citations

  • Method for Generating Road Topology Information Based on Segment Modeling for High Definition Map

    KR1020170068021A