Apparatus for controlling vehicle and method for controlling vehicle
By configuring the generation and clustering of virtual boxes in the vehicle control device, using slope information and distance information to merge clusters, determine the road edge, and correct the virtual boxes by sampling points, the error recognition problem caused by road edge occlusion when LiDAR recognizes external objects, and the stability and accuracy of the driving route of the main vehicle are achieved.
Patent Information
- Application Number
- CN202410663878.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-11
- Filing Date
- 2024-05-27
- Publication Date
- 2025-03-11
AI Technical Summary
When using LiDAR to identify external objects, the prior art tends to misidentify external vehicles due to obstruction of road edges, resulting in sudden changes in the driving route of the main vehicle.
By configuring the generation and clustering of virtual boxes in the processor, combining clusters with slope information and distance information, determining road edges, and correcting virtual boxes by sampling points, ensuring accurate identification of road edges.
It effectively avoids misidentification caused by road edge occlusion, and improves the stability and accuracy of the main vehicle's driving route.
Smart Images

Figure CN119590431A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority from Korean Patent Application No. 10-2023-0120572 filed in the Korean Intellectual Property Office on September 11, 2023, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present invention relates to an apparatus for controlling a vehicle and a method thereof, and more particularly, to a technology for determining an external object by using a sensor such as Light Detection and Ranging (LiDAR). Background Art
[0004] Various studies are being conducted to recognize external objects by using various sensors to assist the host vehicle in traveling.
[0005] In particular, when the host vehicle is traveling in a driving assistance device activation mode or an autonomous driving mode, external objects may be recognized by using a sensor such as LiDAR.
[0006] If the road edge is erroneously identified by using LiDAR, an external vehicle traveling on the road may be identified as a stationary object outside the road, or may be identified as a moving object due to occlusion by the road edge. If an external vehicle is identified as a stationary object outside the road, or as a moving object due to occlusion by the road edge, the driving route of the host vehicle may suddenly change. Summary of the invention
[0007] According to the present invention, a device for controlling a vehicle may include: a processor; and a sensor; wherein the processor is configured to: determine a first virtual frame corresponding to an object detected by the sensor at a first time point, wherein the object is outside the vehicle, and the first virtual frame includes a plurality of first points; convert the plurality of first points into a plurality of second points at a second time point after the first time point while the vehicle is traveling, and determine a second virtual frame corresponding to the object detected at the second time point, wherein the second virtual frame includes a plurality of fifth points; perform clustering on the plurality of second points based on the conversion to generate a plurality of clusters including a first cluster and a second cluster; generate a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information and distance information obtained from the first cluster and the second cluster; determine a direction in which the third cluster is positioned relative to the vehicle based on at least one of an intermediate value of a plurality of third points included in the third cluster and a minimum value of the plurality of third points; adjust a plurality of fifth points based on a plurality of fourth points obtained by sampling a plurality of third points at a certain interval; determine the second virtual frame as a road edge based on the adjusted plurality of fifth points; and output a signal based on the road edge to control the vehicle.
[0008] In the device, the processor is configured to generate a third cluster by obtaining slope information based on at least one of a first slope obtained according to a first minimum value and a first maximum value included in the first cluster and a second slope obtained according to a second minimum value and a second maximum value included in the second cluster, and merge the first cluster and the second cluster based on an angle between the first slope and the second slope, wherein the second slope is less than or equal to a threshold angle.
[0009] In the device, the processor is configured to generate a third cluster by obtaining distance information based on at least one of a distance between a first minimum value and a second maximum value and a distance between the second minimum value and the first maximum value, and merge the first cluster and the second cluster based on at least one of the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value, wherein the first maximum value is less than or equal to the specified distance.
[0010] In the device, the type of the object specified at the first time point includes: a first type in which the object is in a stationary state, a second type in which the object is in a moving state, and a third type in which the object is neither in a stationary state nor in a moving state.
[0011] In the device, the vehicle is traveling at a speed in a first section, and the processor is configured to determine the direction of the third cluster relative to the vehicle positioning based on at least one of the wheelbase of the vehicle, the steering angle of the vehicle, the speed of the vehicle, and the yaw rate of the vehicle, and the vehicle is traveling at a speed exceeding the speed in the first section, and the processor is configured to determine the direction of the third cluster relative to the vehicle positioning based on at least one of the yaw rate of the vehicle and the speed of the vehicle.
[0012] In the device, the processor is configured to: determine differences between a plurality of fourth points stored in the first area and a plurality of fifth points stored in the second area and respectively corresponding to the plurality of fourth points; and adjust each of the plurality of fifth points based on an average value of the determined differences.
[0013] In the device, a plurality of first points determined at a first time point are converted into a plurality of second points at a second time point based on information related to the travel of the vehicle. In the device, the information related to the travel of the vehicle includes at least one of a speed of the vehicle, a yaw rate of the vehicle, and a time interval between the plurality of points obtained by a sensor.
[0014] In the device, the processor is configured to generate a third cluster by merging the first cluster and the second cluster based on the first cluster including a number of points greater than or equal to a reference number and the second cluster including a number of points greater than or equal to the reference number.
[0015] In the device, the processor is configured to generate a third cluster by merging the first cluster and the second cluster based on the length of the first cluster being greater than or equal to the reference length and the length of the second cluster being greater than or equal to the reference length. In the device, the processor is configured to generate the third cluster by merging the first cluster and the second cluster based on determining that the first cluster and the second cluster are within a reference distance based on a lateral direction of the vehicle.
[0016] According to the present invention, a method for controlling a vehicle may include the following steps: determining a first virtual frame corresponding to an object detected by a sensor at a first time point, wherein the object is outside the vehicle and the first virtual frame includes a plurality of first points; converting the plurality of first points into a plurality of second points at a second time point after the first time point while the vehicle is traveling, and determining a second virtual frame corresponding to the object detected at the second time point, wherein the second virtual frame includes a plurality of fifth points; clustering the plurality of second points based on the conversion to generate a plurality of clusters including a first cluster and a second cluster; generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information and distance information obtained from the first cluster and the second cluster; determining a direction in which the third cluster is positioned relative to the vehicle based on at least one of an intermediate value of a plurality of third points included in the third cluster and a minimum value of the plurality of third points; adjusting the plurality of fifth points based on a plurality of fourth points obtained by sampling the plurality of third points at a certain interval; determining the second virtual frame as a road edge based on the adjustment; and outputting a signal based on the road edge to control the vehicle.
[0017] In the method, the step of generating the third cluster may include: obtaining slope information based on at least one of a first slope obtained according to a first minimum value and a first maximum value included in the first cluster, and a second slope obtained according to a second minimum value and a second maximum value included in the second cluster, and merging the first cluster and the second cluster based on an angle between the first slope and the second slope, wherein the second slope is less than or equal to a specified angle.
[0018] In the method, the step of generating the third cluster may include: obtaining distance information based on at least one of the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value, and merging the first cluster and the second cluster based on at least one of the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value, wherein the first maximum value is less than or equal to the threshold distance.
[0019] In the method, the type of the object specified at the first time point includes: a first type in which the object is in a stationary state, a second type in which the object is in a moving state, and a third type in which the object is neither in the stationary state nor in a moving state.
[0020] In the method, the vehicle is traveling at a speed in a first section, and the method further includes the following steps: determining the direction of the third cluster relative to the vehicle positioning based on at least one of the wheelbase of the vehicle, the steering angle of the vehicle, the speed of the vehicle, and the yaw rate of the vehicle; and the vehicle is traveling at a speed exceeding the speed in the first section, and the method further includes: determining the direction of the third cluster relative to the vehicle positioning based on at least one of the yaw rate of the vehicle and the speed of the vehicle.
[0021] The method may further include the following steps: determining differences between a plurality of fourth points stored in the first area and a plurality of fifth points stored in the second area and corresponding to the plurality of fourth points respectively; and adjusting each of the plurality of fifth points based on an average value of the determined differences. In the method, the plurality of first points are converted based on information related to the travel of the vehicle.
[0022] In the method, the information related to the driving of the vehicle includes at least one of the speed of the vehicle, the yaw rate of the vehicle, and the time interval of the plurality of points obtained by the sensor. In the method, the step of generating the third cluster may include: merging the first cluster and the second cluster based on the first cluster including the plurality of points greater than or equal to the reference number and the second cluster including the plurality of points greater than or equal to the reference number. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] The above and other objects, features and advantages of the present invention will become more apparent through the following detailed description in conjunction with the accompanying drawings:
[0024] Figure 1 An example of a block diagram showing a vehicle control device according to an embodiment of the present invention;
[0025] Figure 2 An example of clustering performed by a vehicle control device according to an embodiment of the present invention is shown;
[0026] Figure 3 An example of identifying a road edge by a vehicle control apparatus according to an embodiment of the present invention is shown;
[0027] Figure 4 An example of a flowchart showing a vehicle control method according to an embodiment of the present invention;
[0028] Figure 5 shows an example of results obtained when the vehicle control apparatus according to the embodiment of the present invention corrects a plurality of points;
[0029] Figure 6 shows an example of results obtained when the vehicle control apparatus according to the embodiment of the present invention corrects a plurality of points; and
[0030] Figure 7 An example of a computing system including a vehicle control device according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0031] Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. When adding reference numerals to the components of each figure, it should be noted that the same components have the same reference numerals, although they are represented in different figures. In addition, when describing embodiments of the present invention, when detailed descriptions associated with well-known functions or configurations may make the subject matter of the present invention unnecessarily obscure, these detailed descriptions will be omitted.
[0032] When describing the elements of the embodiments of the present invention, the terms first, second, A, B, (a), (b) etc. may be used herein. These terms are only used to distinguish one element from another element, but do not limit the properties, order or priority of the corresponding elements. In addition, unless otherwise defined, all terms including technical or scientific terms used herein should be interpreted as being customary in the field to which the present invention belongs. It should be understood that the terms used herein should be interpreted as having a meaning consistent with their meanings in the context of the present invention and the related art, and unless clearly defined herein, should not be interpreted in an ideal or overly formal sense.
[0033] In the following, reference will be made to Figures 1 to 7 Various embodiments of the present invention are described in detail.
[0034] Figure 1 An example of a block diagram of a vehicle control apparatus according to an embodiment of the present invention is shown.
[0035] refer to Figure 1 , the vehicle control device 100 according to an embodiment of the present invention may be arranged inside or outside the vehicle, and some components included in the vehicle control device 100 may be arranged inside or outside the vehicle. In this case, the vehicle control device 100 may be integrated with the internal control unit of the vehicle, and may be implemented using a separate device to be connected to the control unit of the vehicle through a separate connection unit. For example, the vehicle control device 100 may further include Figure 1 Components not shown.
[0036] The vehicle control apparatus 100 according to the embodiment may include a processor 110 and a LiDAR 120. The processor 110 or the LiDAR 120 may be electrically or operably connected to each other through electronic components including a communication bus.
[0037] Hereinafter, a plurality of hardware being operably combined may include a direct or indirect connection between the plurality of hardware being established by wire or wirelessly, such that a second piece of hardware among the plurality of hardware is controlled by the first piece of hardware.
[0038] Although various blocks are shown, embodiments are not limited thereto. Figure 1Some of the multiple hardware in the vehicle control device 100 may be included in a single integrated circuit having a system on a chip (SoC). The type or number of hardware included in the vehicle control device 100 is not limited to Figure 1 For example, the vehicle control device 100 may include only Figure 1 Some of the hardware shown in the figure.
[0039] The vehicle control device 100 according to the embodiment may include hardware for processing data based on one or more instructions. The hardware for processing data may include a processor 110. For example, the hardware for processing data may include an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU) and / or an application processor (AP). The processor 110 may have a structure of a single-core processor, or may have a structure of a multi-core processor including a dual-core, quad-core, hexa-core or octa-core.
[0040] In an embodiment, the vehicle control apparatus 100 may include a LiDAR 120. For example, the LiDAR 120 may obtain a data set from identifying objects around the vehicle control apparatus 100. For example, the LiDAR 120 may identify at least one of the position of the surrounding object, the moving direction of the surrounding object, the speed of the surrounding object, or any combination thereof based on a pulsed laser signal emitted from the LiDAR 120, reflected by the surrounding object, and returned.
[0041] When the host vehicle is traveling, the processor 110 of the vehicle control apparatus 100 according to the embodiment may recognize an external object by using the LiDAR 120. For example, the processor 110 may recognize the type of the external object when the host vehicle is traveling.
[0042] For example, the processor 110 may identify that the external object is of the first type based on identifying that the external object is in a stationary state. The processor 110 may identify that the external object is of the second type based on identifying that the external object is in a moving state. The processor 110 may identify that the external object is of the third type based on identifying that the external object is in a stationary or moving state.
[0043] In an embodiment, when the main vehicle is traveling, the processor 110 may convert a plurality of first points into a plurality of second points at a second time point after the first time point, the plurality of first points being included in a first virtual frame corresponding to an external object identified as a specified type by the LiDAR at the first time point.
[0044] For example, the processor 110 may convert the plurality of first points into the plurality of second points by using a time shift. Figure 2 The mathematical formula included in is used to convert multiple first points into multiple second points.
[0045] In an embodiment, the processor 110 may perform clustering on the plurality of second points at the second time point. For example, the processor 110 may perform clustering on the plurality of second points, wherein the virtual frame including the plurality of second points is identified as being in a stationary state, and the plurality of second points are located within a specified distance.
[0046] For example, the processor 110 may cluster the plurality of second points based on the virtual frame including the plurality of second points being classified as a road edge. For example, the processor 110 may cluster the plurality of second points based on the fact that the length of the virtual frame including the plurality of second points is greater than or equal to a specified length (e.g., 10 meters) and is identified as being in a stationary state. For example, the length of the virtual frame may include the distance between the minimum value and the maximum value contained in the virtual frame.
[0047] For example, the processor 110 may generate a plurality of clusters based on performing clustering on the plurality of second points. For example, the processor 110 may identify at least one of slope information, distance information, or any combination thereof through a first cluster and a second cluster among the plurality of clusters. The processor 110 may obtain one of slope information, distance information, or any combination thereof based on a plurality of points included in the first cluster and a plurality of points included in the second cluster.
[0048] For example, the processor 110 may identify a first minimum value and a first maximum value among the plurality of points included in the first cluster. For example, the processor 110 may identify a first minimum value and a first maximum value based on an x-coordinate of each of the plurality of points included in the first cluster. For example, the processor 110 may identify a first minimum value having a minimum x-coordinate among the plurality of points included in the first cluster. For example, the processor 110 may identify a first maximum value having a maximum x-coordinate among the plurality of points included in the first cluster.
[0049] For example, the processor 110 may identify a second minimum value and a second maximum value among the plurality of points included in the second cluster. For example, the processor 110 may identify the second minimum value and the second maximum value based on the x-coordinate of each of the plurality of points included in the second cluster. For example, the processor 110 may identify a second minimum value having a minimum x-coordinate among the plurality of points included in the second cluster. For example, the processor 110 may identify a second maximum value having a maximum x-coordinate among the plurality of points included in the second cluster.
[0050] In an embodiment, the processor 110 may obtain a first slope based on a first minimum value and a first maximum value identified in the first cluster. For example, the processor 110 may obtain a first slope based on a coordinate of the first minimum value and a coordinate of the first maximum value. For example, the processor 110 may obtain a second slope based on a second minimum value and a second maximum value identified in the second cluster. For example, the processor 110 may obtain a second slope based on a coordinate of the second minimum value and a coordinate of the second maximum value. For example, the first slope may be included in first slope information associated with the first cluster, and the second slope may be included in second slope information associated with the second cluster.
[0051] For example, the first slope information may include information related to the angle formed by the y-axis and the straight line based on the first minimum value and the first maximum value.For example, the second slope information may include information related to the angle formed by the y-axis and the straight line based on the second minimum value and the second maximum value.
[0052] For example, the first slope information may include heading information indicating a heading direction of the first cluster.For example, the second slope information may include heading information indicating a heading direction of the second cluster.
[0053] In an embodiment, the processor 110 may compare the first slope information with the second slope information. For example, the processor 110 may compare the first slope information with the second slope information, and may generate a third cluster obtained by merging the first cluster and the second cluster. For example, the processor 110 may merge the first cluster and the second cluster to generate the third cluster based on the fact that the heading direction of the first cluster and the heading direction of the second cluster are identified as being within a specified angle (e.g., about 8 degrees).
[0054] In an embodiment, the processor 110 may merge the first cluster and the second cluster based on the number of points included in at least one of the first cluster, the second cluster, or any combination thereof. For example, the processor 110 may merge the first cluster and the second cluster based on the length of the cluster. For example, the processor 110 may merge the first cluster and the second cluster based on the position of the cluster.
[0055] For example, if the number of points is greater than or equal to a specified number (e.g., 3), the length of each cluster is greater than or equal to a specified length (e.g., 1.5 m), and each cluster exists within a specified distance (e.g., 7 lanes) from the host vehicle, the processor 110 may merge the first cluster and the second cluster. For example, the fact that each of the clusters exists within a specified lane from the host vehicle may include the fact that each of the clusters exists within approximately 24.5 m in a direction parallel to the side of the host vehicle.
[0056] In an embodiment, the processor 110 may obtain a third cluster by merging the first cluster and the second cluster. The processor 110 may identify a plurality of third points included in the third cluster. The processor 110 may identify the coordinates of the plurality of third points included in the third cluster. The processor 110 may identify at least one of an intermediate value of the plurality of third points, a minimum value of the plurality of third points, a maximum value of the plurality of third points, or any combination thereof. For example, the processor 110 may identify a third minimum value as a minimum x-coordinate from the plurality of third points. For example, the processor 110 may identify a third maximum value as a maximum x-coordinate from the plurality of third points. For example, the processor 110 may identify an intermediate value corresponding to an average value of the third minimum value and the third maximum value. For example, the intermediate value may be referred to as an "average point".
[0057] In an embodiment, the processor 110 may identify the direction in which the third cluster is positioned relative to the host vehicle based on at least one of the median value of the plurality of third points included in the third cluster, the minimum value of the plurality of third points, the maximum value of the plurality of third points, or any combination thereof. For example, the processor 110 may determine whether the third cluster is located on the left side or the right side of the host vehicle. For example, the processor 110 may determine the direction in which the third cluster is positioned relative to the host vehicle based on the median value of the plurality of third points included in the third cluster, the minimum value of the plurality of third points, the maximum value of the plurality of third points, or any combination thereof. Figure 3 The mathematical formula included in is used to identify the direction in which the third cluster is positioned relative to the host vehicle. For example, the processor 110 may identify the direction in which the third cluster is positioned relative to the host vehicle according to a radius of curvature based on the host vehicle and a plurality of third points.
[0058] In an embodiment, the processor 110 may sample the plurality of third points included in the third cluster. For example, the sampling may include quantization. For example, the quantization may include at least one of linear quantization, uniform quantization, nonlinear quantization, adaptive quantization, fixed quantization, scalar quantization, vector quantization, or any combination thereof.
[0059] As described above, the processor 110 of the vehicle control apparatus 100 according to the embodiment may perform operations described later by sampling a plurality of third points included in the third cluster, thereby reducing the amount of calculation of the processor 110 .
[0060] For example, the processor 110 may sample the plurality of third points at a specified interval (e.g., approximately 1 m). The processor 110 may obtain the plurality of fourth points by sampling the plurality of third points at a specified interval. For example, the processor 110 may obtain a specified number (e.g., approximately 100) of the plurality of fourth points by sampling the plurality of third points at a specified interval.
[0061] In an embodiment, the processor 110 may store the plurality of fourth points thus obtained in a designated area of the memory, respectively. For example, the designated area of the memory may be referred to as a "buffer". For example, the processor 110 may store the plurality of fourth points in separate spaces within the buffer, respectively. For example, the processor 110 may store the plurality of fourth points in a first buffer.
[0062] In an embodiment, the processor 110 may identify a second virtual frame corresponding to an external object identified as a specified type at a second time point after the first time point. The processor 110 may identify a plurality of fifth points included in the second virtual frame. The processor 110 may store the plurality of fifth points included in the second virtual frame in a specified area of the memory. For example, the processor 110 may store the plurality of fifth points in a second buffer.
[0063] In an embodiment, the processor 110 may correct the plurality of fifth points based on at least one of the plurality of fourth points obtained by sampling the plurality of third points at a specified interval, the plurality of fifth points included in the second virtual frame corresponding to the external object recognized as a specified type at the second time point, or any combination thereof. For example, the processor 110 may correct the plurality of fifth points by using the method described later. Figure 3 The mathematical formula included in is used to correct multiple fifth points.
[0064] As described above, the processor 110 of the vehicle control device 100 according to the embodiment can determine that the second virtual frame corresponds to the road edge by correcting the plurality of fifth points. The processor 110 can accurately determine whether the second virtual frame corresponds to the road edge by correcting the plurality of fifth points. The processor 110 can quickly recognize that the external object recognized within the road edge is in a moving state by accurately determining that the second virtual frame corresponds to the road edge.
[0065] Figure 2 An example in which the vehicle control apparatus according to the embodiment of the present invention performs clustering is shown.
[0066] Figure 2 The host vehicle 200 may include Figure 1 A vehicle control device 100 is provided.
[0067] The processor of the vehicle control device according to the embodiment can identify objects around the host vehicle 200 by using LiDAR. When the host vehicle 200 is traveling, the processor can identify external objects including the edge of the road. For example, the edge of the road may include at least one of a guardrail, a central median, a guardrail, a handrail, a curb, or any combination thereof.
[0068] In an embodiment, the processor may identify the type of each external object. For example, the processor may identify that the external object has a first type in which the external object is in a stationary state, a second type in which the external object is in a moving state, and a third type in which the external object is neither in a stationary state nor in a moving state. The processor may perform clustering on a plurality of points included in a virtual frame corresponding to the external object based on the type of the external object.
[0069] In an embodiment, the processor may perform clustering on a plurality of points included in the external object based on the fact that the length of the external object is greater than or equal to the specified length and is identified as a stationary object. For example, the specified length may include approximately 10 meters (m). For example, the length of the external object may be identified based on the length of a virtual frame corresponding to the external object. The length of the virtual frame corresponding to the external object may include the length of the virtual frame formed on the x-axis among the x-axis, the y-axis, and the z-axis.
[0070] In an embodiment, the processor may identify a virtual frame corresponding to the external object. The processor may identify a plurality of points included in the virtual frame.
[0071] For example, a plurality of points may be referred to as “free space points.” For example, the free space points may include points corresponding to the shortest distances between the external object and the host vehicle 200 in each angle divided into 360 degrees.
[0072] For example, the processor may obtain a virtual frame at a first time point, and may correct the virtual frame obtained at the first time point to a virtual frame at a second time point after the first time point. For example, the first time point may refer to the (t-1)((t-1)-th)th frame. For example, the second time point may refer to the t(t-th)th frame. For example, the first time point and the second time point may refer to time points at which frames are obtained continuously.
[0073] For example, the processor may perform clustering on a plurality of points included in the virtual frame based on recognizing that the virtual frame corresponding to the external object has a specified type. For example, the processor 110 may convert a plurality of first points into a plurality of second points at a second time point after the first time point, the plurality of first points being included in the virtual frame corresponding to the external object recognized as a specified type at the first time point. The processor may perform clustering on the plurality of second points.
[0074] In an embodiment, the processor may generate a plurality of clusters 211 , 213 , and 215 based on performing clustering on the plurality of second points.
[0075] The processor may assign an identifier to each of the plurality of clusters 211, 213, and 215 based on generating the plurality of clusters 211, 213, and 215. For example, the identifier may be referred to as an "index". For example, the processor may sequentially assign the identifiers to the plurality of clusters 211, 213, and 215, respectively. For example, the processor may scan the host vehicle 200 clockwise from the left front of the host vehicle 200, and may sequentially assign the identifiers to the clusters starting from the identified cluster.
[0076] For example, the processor may assign a first identifier to the first cluster 211. For example, the processor may assign a second identifier to the second cluster 213. For example, the processor may assign a third identifier to the third cluster 215. For ease of description, the description is made that the identifiers are assigned to three clusters. However, the embodiment is not limited thereto.
[0077] In an embodiment, the processor may obtain the slope information based on the minimum value and the maximum value of each of the plurality of clusters 211, 213, and 215. For example, the slope information may include the heading information of each of the plurality of clusters 211, 213, and 215.
[0078] For example, the processor may obtain the first slope based on the first minimum value and the first maximum value included in the first cluster 211. For example, the processor may obtain the first slope by using the x-coordinate and the y-coordinate of the first minimum value and the x-coordinate and the y-coordinate of the first maximum value.
[0079] For example, the processor may obtain the second slope based on the second minimum value and the second maximum value included in the second cluster 213. For example, the processor may obtain the second slope by using the x-coordinate and y-coordinate of the second minimum value and the x-coordinate and y-coordinate of the second maximum value.
[0080] For example, the processor may obtain the third slope based on the third minimum value and the third maximum value included in the third cluster 215. For example, the processor may obtain the third slope by using the x-coordinate and the y-coordinate of the third minimum value and the x-coordinate and the y-coordinate of the third maximum value.
[0081] In an embodiment, the processor may merge a portion of the plurality of clusters 211 , 213 , and 215 based on the slope information obtained from the plurality of clusters 211 , 213 , and 215 .
[0082] In an embodiment, the processor may merge partial clusters of the plurality of clusters 211, 213, and 215 based on the distances between the plurality of clusters 211, 213, and 215. For example, the processor may obtain distance information based on the plurality of clusters 211, 213, and 215. For example, the processor may obtain distance information based on at least one of a minimum value, a maximum value, or any combination thereof included in each of the plurality of clusters 211, 213, and 215.
[0083] For example, the distance information may include the distance between the minimum value and the maximum value included in each of the plurality of clusters 211, 213, and 215. For example, the processor may identify a first minimum value and a first maximum value of the first cluster 211. For example, the processor may identify a second minimum value and a second maximum value of the second cluster 213. For example, the processor may identify a third minimum value and a third maximum value of the third cluster 215. For example, the minimum value and the maximum value may be identified based on at least one of the x-coordinate, the y-coordinate, or any combination thereof of each of the plurality of points included in each cluster. Alternatively or additionally, the processor may identify the minimum value and the maximum value among the plurality of points included in each cluster based on the x-coordinate of each of the plurality of points included in each cluster.
[0084] For example, the processor may identify a first minimum value and a first maximum value of the first cluster 211, and may identify a second minimum value and a second maximum value of the second cluster 213. The processor may identify a distance between the first maximum value of the first cluster 211 and the second minimum value of the second cluster 213. The processor may create a third cluster 220 obtained by merging the first cluster 211 and the second cluster 213 based on the fact that the distance between the first maximum value of the first cluster 211 and the second minimum value of the second cluster 213 is less than or equal to a specified distance. For example, the specified distance may include about 5 m. However, the embodiment is not limited thereto.
[0085] In an embodiment, the processor may identify a plurality of third points included in the third cluster 220 based on generating the third cluster 220. The processor may sample the plurality of third points included in the third cluster 220 at a specified interval. For example, the specified interval may include approximately 1 m. The processor may obtain a plurality of fourth points based on sampling the plurality of third points included in the third cluster 220 at a specified interval.
[0086] In an embodiment, the processor may store the plurality of fourth points in designated areas of the memory, respectively. For example, the designated area of the memory may be referred to as a "buffer".
[0087] In an embodiment, the processor may identify a plurality of fifth points included in a virtual frame identified at a second time point after the first time point. For example, the first time point may refer to the (t-1)th frame. For example, the second time point may refer to the tth frame. The processor may store the plurality of fifth points included in the virtual frame identified at the second time point in a designated area of the memory, respectively.
[0088] For example, the processor may store the plurality of fourth points in the first buffer, respectively, and store the plurality of fifth points in the second buffer, respectively. The processor may compare the plurality of fourth points stored in the first buffer with the plurality of fifth points stored in the second buffer, respectively.
[0089] For example, the processor may identify the distances between the plurality of fourth points and the plurality of fifth points respectively corresponding to the plurality of fourth points. The processor may obtain an average value of the obtained distances based on obtaining the distances between the plurality of fourth points and the plurality of fifth points respectively corresponding to the plurality of fourth points.
[0090] The processor may correct the plurality of fifth points obtained at the second time point based on the obtained average value. For example, the processor may correct the plurality of fifth points obtained at the second time point by moving the plurality of fifth points according to the obtained average value.
[0091] The contents of correcting a point at a past time point to a point at the current time point are described below.
[0092] In an embodiment, the processor may correct the plurality of points obtained at the first time point to the plurality of points obtained at the second time point based on information related to the travel of the host vehicle. For example, the information related to the travel of the host vehicle may include at least one of the speed of the host vehicle, the steering angle of the host vehicle, the yaw rate, or any combination thereof.
[0093] For example, the processor may identify the yaw angle of the host vehicle based on Equation 1.
[0094] [Mathematical formula 1]
[0095] θ = yaw rate * δ
[0096] In Math 1, θ may include a yaw angle of the host vehicle. In Math 1, yaw rate may include a yaw rate (yaw rate) of the host vehicle. In Math 1, δ may include a period of receiving sensor data. For example, the period of receiving sensor data may include a period of obtaining a data set by LiDAR.
[0097] For example, the processor may correct the x-coordinate based on Equation 2.
[0098] [Mathematical formula 2]
[0099] x dist =V x *δ
[0100] In equation 2, x dist The corrected x coordinate may be included. In Math 2, V x The speed of the host vehicle 200 in the x-axis direction may be included. In Math 2, δ may include a period of time during which the sensor data is received.
[0101] For example, the processor may correct the y coordinate based on Equation 3.
[0102] [Mathematical formula 3]
[0103] y dist =V y *δ
[0104] In equation 3, y dist The corrected y coordinate may be included. In Math 3, V y The speed of the host vehicle 200 in the y-axis direction may be included. In Math 2, δ may include a period of time during which the sensor data is received.
[0105] In an embodiment, the processor may correct a plurality of points obtained at a past time point to a plurality of points at a current time point based on at least one of Mathematical Formula 1, Mathematical Formula 2, Mathematical Formula 3, or any combination thereof. For example, the processor may correct a plurality of points obtained at a past time point to a plurality of points at a current time point based on Mathematical Formula 4.
[0106] [Formula 4]
[0107]
[0108] In Math 4, Tv may include a function (or matrix) for correcting a point obtained at a past time point to a point at a current time point. In Math 4, The x-coordinate and y-coordinate of a point obtained at a past time point may be included. For example, the processor may obtain x by using mathematical formula 2 dist , y can be obtained by using Equation 3 dist , the obtained x dist and dist Applied to Mathematical Formula 4, the coordinates of a point obtained at a past time point can be corrected to the coordinates of a point at a current time point.
[0109] In an embodiment, the processor may perform position correction on the angle. For example, the processor may perform position correction on the angle by using Mathematical Formula 5.
[0110] [Formula 5]
[0111]
[0112] For example, in Math 5, Rv may include a function (or matrix) for correcting the angle of a point obtained at a past time point. For example, the processor may correct the angle of a point obtained at a past time point by applying θ obtained using Math 1 to Math 5.
[0113] In the following, reference Figure 3 Identification of the location of a cluster based on a host vehicle is described.
[0114] Figure 3 An example is shown in which the vehicle control apparatus according to the embodiment of the present invention recognizes a road edge.
[0115] Figure 3 The host vehicle 300 may include Figure 1 A vehicle control device 100 is provided.
[0116] refer to Figure 3 , according to the example, the processor of the vehicle control device can predict the moving route 320 of the host vehicle 300. For example, the processor can predict the moving route 320 based on at least one of the speed of the host vehicle 300, the yaw rate of the host vehicle 300, the steering angle of the host vehicle 300, or any combination thereof.
[0117] In an embodiment, the processor may identify the direction in which the third cluster 310 is positioned relative to the host vehicle 300 .
[0118] For example, the processor may identify the direction in which the third cluster 310 is positioned relative to the host vehicle 300 by using parameters that differ according to the speed of the host vehicle 300. For example, if the host vehicle 300 is traveling at the speed of the first section, the processor may identify the direction in which the third cluster 310 is positioned relative to the host vehicle 300 based on at least one of the wheelbase of the host vehicle 300, the steering angle of the host vehicle 300, the speed of the host vehicle 300, the yaw rate of the host vehicle 300, or any combination thereof. For example, the first section may include a section having a speed range between about 2.0 m / s and about 4.0 m / s. For example, the case in which the host vehicle 300 is traveling at the speed of the first section may include a case in which the host vehicle 300 is traveling at a low speed.
[0119] For example, if the speed of the host vehicle 300 exceeds the speed of the first section, the processor may identify the direction in which the third cluster 310 is positioned relative to the host vehicle 300 based on at least one of the yaw rate of the host vehicle 300, the speed of the host vehicle 300, or any combination thereof. For example, a situation in which the host vehicle 300 is traveling at a speed exceeding the speed of the first section may include a situation in which the host vehicle 300 is traveling at a high speed.
[0120] If the host vehicle 300 is traveling at the speed of the first section, the processor may obtain the radius of curvature by using the following mathematical formula.
[0121] [Mathematical formula 6]
[0122]
[0123] For example, in Math 6, V may include the speed of the host vehicle 300. In Math 6, δ may include the steering angle of the host vehicle 300. The processor may obtain V representing the lateral speed of the host vehicle 300 based on the speed of the host vehicle 300 and the steering angle of the host vehicle 300. lat .
[0124] [Mathematical formula 7]
[0125]
[0126] For example, in Math 7, L may include the wheelbase of the host vehicle 300. The processor may obtain the yaw rate indicative of the low-speed condition based on the speed of the host vehicle 300, the steering angle of the host vehicle 300, or the wheelbase of the host vehicle 300.
[0127] [Mathematical formula 8]
[0128]
[0129] For example, in Math 8, α may be an engineering coefficient and may include a constant between 0 and 1. For example, in Math 8, The value obtained by using Math 7 may be included. For example, in Math 8, The yaw rate of the host vehicle 300 may be included. The processor may obtain an average value representing the yaw rate by using the yaw rate of the host vehicle 300 and the yaw rate in the low speed condition.
[0130] [Mathematical formula 9]
[0131]
[0132] In an embodiment, the processor may obtain the radius of curvature by using Math Formula 9. For example, in Math Formula 9, V may include the speed of the host vehicle 300. For example, the processor may obtain the radius of curvature based on the value obtained using Math Formula 8. and the speed of the host vehicle 300 to obtain a radius representing the radius of curvature.
[0133] In an embodiment, if the host vehicle 300 is traveling at a speed exceeding the first section speed, the processor may obtain the radius of curvature by using the following Math Formula 10. For example, if the host vehicle 300 is traveling at a high speed, the processor may obtain the radius of curvature by using Math Formula 10.
[0134] [Formula 10]
[0135]
[0136] For example, in Equation 10, V may include the speed of the host vehicle 300. For example, in Equation 10, The yaw rate of the host vehicle 300 may be included. For example, the processor may obtain the radius of curvature under high-speed conditions based on the speed of the host vehicle 300 and the yaw rate of the host vehicle 300.
[0137] As described above, the processor may obtain the curvature radius of the host vehicle 300 by using at least one of Math Formula 9, Math Formula 10, or any combination thereof.
[0138] The processor may identify the direction in which the third cluster 310 is positioned relative to the host vehicle 300 based on the radius of curvature of the host vehicle 300 .
[0139] For example, when the curvature radius of the host vehicle 300 obtained by using at least one of Math Formula 9, Math Formula 10, or any combination thereof is a positive number, the processor may identify the lateral position of the third cluster 310 based on the curvature radius of the host vehicle 300 by using Math Formula 11.
[0140] [Mathematical formula 11]
[0141]
[0142] For example, when the curvature radius of the host vehicle 300 obtained by using at least one of Math Formula 9, Math Formula 10, or any combination thereof is a negative number, the processor may identify the lateral position of the third cluster 310 based on the curvature radius of the host vehicle 300 by using Math Formula 12.
[0143] [Mathematical formula 12]
[0144]
[0145] For example, in Math. 11 and Math. 12, x and y may include the x-coordinate and y-coordinate of the point, respectively. lat The distance 330 may be included, and the third cluster 310 is separated from the moving path 320 of the host vehicle 300 by the distance 330. In an embodiment, the processor may calculate the value of the R value based on the R value obtained by using the mathematical formula 12. lat to identify the location of the cluster.
[0146] Figure 4 An example of a flowchart regarding a vehicle control method according to an embodiment of the present invention is shown.
[0147] In the following, it is assumed Figure 1 The vehicle control device 100 executes Figure 4 Additionally or alternatively, Figure 4 In the description, it can be understood that the operations described as being performed by the device are controlled by the processor 110 of the vehicle control device 100.
[0148] Figure 4 At least one of the operations may be performed by Figure 1 The vehicle control device 100 executes. Figure 4 The operations in the embodiment may be performed sequentially, but need not be performed sequentially. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0149] refer to Figure 4 In operation S401, the vehicle control method according to the embodiment may include the following operation: while the main vehicle is traveling, clustering is performed on a plurality of second points based on converting a plurality of first points included in a first virtual frame corresponding to an external object identified as a specified type by the LiDAR at a first time point into a plurality of second points at a second time point after the first time point.
[0150] For example, the vehicle control method may include using a Figure 2The mathematical formula described in the embodiment is an operation of converting a plurality of first points identified at a first time point into a plurality of second points.
[0151] In operation S403 , the vehicle control method according to the embodiment may include an operation of generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information, distance information, or any combination thereof obtained through the first cluster and the second cluster among a plurality of clusters generated by clustering.
[0152] For example, the vehicle control method may include an operation of generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of a first slope according to a first minimum value and a first maximum value included in the first cluster, a second slope according to a second minimum value and a second maximum value included in the second cluster, or any combination thereof.
[0153] For example, the vehicle control method may include an operation of obtaining distance information based on at least one of a distance between a first minimum value and a second maximum value, a distance between a second minimum value and a first maximum value, or any combination thereof.
[0154] For example, the vehicle control method may include an operation of generating a third cluster obtained by merging the first cluster and the second cluster based on the fact that at least one of the distance between the first minimum value and the second maximum value, the distance between the second minimum value and the first maximum value, or any combination thereof is less than or equal to a specified distance.
[0155] In operation S405 , the vehicle control method according to the embodiment may include an operation of identifying a direction in which the third cluster is positioned relative to the host vehicle based on at least one of a median value of a plurality of third points included in the third cluster, a minimum value of the plurality of third points, or any combination thereof.
[0156] For example, the vehicle control method may include operations based on identifying a direction in which the third cluster is positioned relative to the host vehicle based on a radius of curvature of the host vehicle and a plurality of third points.
[0157] In operation S407, the vehicle control method according to an embodiment may include correcting multiple fifth points included in a second virtual frame corresponding to an external object identified as a specified type at a second time point based on multiple fourth points obtained by sampling multiple third points at specified intervals, and determining the second virtual frame as an operation of the road edge.
[0158] As described above, the vehicle control method according to the embodiment may include an operation of accurately recognizing that the second virtual frame corresponds to the edge of the road by correcting a plurality of fifth points included in the second virtual frame.
[0159] Figure 5 An example of a result obtained when the vehicle control apparatus corrects a plurality of points according to an embodiment of the present invention is shown.
[0160] Figure 5 The host vehicle 500 may include Figure 1 A vehicle control device 100 is provided.
[0161] refer to Figure 5 , the first example 501 may include an example of recognizing an external object without correcting multiple points.
[0162] For example, in the first example 501, the processor may identify the virtual frame 510 corresponding to the external object as a moving object. For example, the moving object may include an object having speed and directionality when the external object moves. For example, the processor may identify a heading direction 515 of the virtual frame 510 by identifying the virtual frame 510 corresponding to the external object as a moving object.
[0163] The second example 503 may include an example in which a virtual frame 520 corresponding to an external object is determined to be a road edge when the present technology is applied.
[0164] For example, even if a road edge is recognized to be segmented due to an external object being blocked by another external object, the processor of the vehicle control device can determine that an external object existing on an extension line of a curved road is a road edge by applying the present technology.
[0165] Figure 6 An example of a result obtained when the vehicle control apparatus corrects a plurality of points according to an embodiment of the present invention is shown.
[0166] Figure 6 The host vehicle 600 may include Figure 1 A vehicle control device 100 is provided.
[0167] refer to Figure 6 , the third example 601 may include an example in which, since the edge of the road is judged to be a straight line even though the host vehicle 600 is traveling on a curved road, the virtual frame 610 corresponding to the front vehicle is identified as being outside the road, and thus the virtual frame 610 is identified as a stationary object. For example, the front vehicle may be referred to as a "closest on-path vehicle (CIPV)".
[0168] The fourth example 603 may include an example of applying the present technology. For example, the processor of the vehicle control device may accurately identify a curved road by applying the present technology, and thus may identify that the virtual frame 620 corresponding to the external object is located inside the road. The processor may relatively quickly identify that the type of the virtual frame 620 corresponds to the moving state based on the virtual frame 620 being located inside the road.
[0169] By applying the present technology, the processor can determine that the road on which the host vehicle 600 is traveling is a curved road, and thus can relatively quickly identify that an external object identified within the curved road is a leading vehicle.
[0170] The processor may recognize that an external object in a curved road is a leading vehicle, and may recognize that the leading vehicle is in motion, thereby providing assistance when the host vehicle 600 is traveling.
[0171] Figure 7 An example of a computing system including a vehicle control device according to an embodiment of the present invention is shown.
[0172] refer to Figure 7 , the computing system 1000 may include at least one processor 1100 , a memory 1300 , a user interface input device 1400 , a user interface output device 1500 , a storage device 1600 , and a network interface 1700 connected to each other via a bus 1200 .
[0173] The processor 1100 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in the memory 1300 and / or the storage device 1600. The memory 1300 and the storage device 1600 may each include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a read-only memory (ROM) and a random access memory (RAM).
[0174] Therefore, the operations of the methods or algorithms described in conjunction with the examples disclosed in the specification may be directly implemented using hardware modules, software modules, or a combination of hardware modules and software modules executed by the processor 1100. The software modules may reside in a storage medium (i.e., the memory 1300 and / or the storage device 1600), such as a random access memory (RAM), a flash memory, a read-only memory (ROM), an erasable programmable ROM (EPROM), an electrically EPROM (EEPROM), a register, a hard disk drive, a removable disk, or a compact disk-ROM (CD-ROM).
[0175] The storage medium may be coupled to the processor 1100. The processor 1100 may read information from the storage medium and may write information to the storage medium. Alternatively or additionally, the storage medium may be integrated with the processor 1100. The processor and the storage medium may be implemented using an application specific integrated circuit (ASIC). The ASIC may be provided in a user terminal. Alternatively or additionally, the processor and the storage medium may be implemented using separate components in a user terminal.
[0176] The above description is merely an example of the technical idea of the present invention, and those skilled in the art may make various modifications and variations without departing from the basic characteristics of the present invention.
[0177] The present invention aims to solve the above-mentioned problems in the prior art while maintaining the advantages achieved by the prior art.
[0178] An embodiment of the present invention provides a vehicle control apparatus and method for controlling a vehicle, the apparatus determining a road edge at a current time by using a point identified at a past time point.
[0179] Embodiments of the present invention provide a vehicle control device and method, wherein the device for controlling a vehicle performs operations by sampling a plurality of points, thereby reducing the load of a processor.
[0180] Embodiments of the present invention provide a vehicle control apparatus and method for controlling a vehicle, the apparatus for controlling a vehicle quickly determining that an external object recognized within a road edge is a moving object by accurately determining the road edge.
[0181] The technical problems to be solved by the present invention are not limited to the above-mentioned problems, and any other technical problems not mentioned herein will be clearly understood by those skilled in the art to which the present invention belongs from the following description.
[0182] According to an embodiment of the present invention, a vehicle control device (device for controlling a vehicle) may include a processor and a light detection and ranging (LiDAR). In an embodiment, the processor may perform clustering on a plurality of second points based on a second time point after the first time point to convert a plurality of first points into a plurality of second points when the host vehicle is traveling, the plurality of first points included in a first virtual frame corresponding to an external object identified as a specified type by the LiDAR at the first time point, may generate a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information, distance information, and a combination of slope information and distance information obtained by the first cluster and the second cluster among the plurality of clusters generated by clustering, may identify a direction in which the third cluster is positioned relative to the host vehicle based on at least one of an intermediate value of a plurality of third points included in the third cluster, a minimum value of a plurality of third points, and a combination of an intermediate value and a minimum value, and may correct a plurality of fifth points based on a plurality of fourth points obtained by sampling a plurality of third points at a specified interval, a plurality of fifth points included in a second virtual frame corresponding to an external object identified as a specified type at the second time point, and a combination of a plurality of fourth points and a plurality of fifth points, and determine the second virtual frame as a road edge.
[0183] In an embodiment, the processor may obtain slope information based on at least one of a first slope obtained based on a first minimum value and a first maximum value included in the first cluster, a second slope obtained based on a second minimum value and a second maximum value included in the second cluster, and a combination of the first slope and the second slope, and may generate a third cluster obtained by merging the first cluster and the second cluster based on the angle between the first slope and the second slope being less than or equal to a specified angle.
[0184] In an embodiment, the processor may obtain distance information based on at least one of the distance between the first minimum value and the second maximum value, the distance between the second minimum value and the first maximum value, and the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value, and may generate a third cluster obtained by merging the first cluster and the second cluster based on at least one of the distance between the first minimum value and the second maximum value, the distance between the second minimum value and the first maximum value, and the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value being less than or equal to a specified distance.
[0185] In an embodiment, the designated type may include a first type among a first type in which the external object is in a stationary state, a second type in which the external object is in a moving state, and a third type in which the external object is neither in a stationary state nor in a moving state.
[0186] In an embodiment, if the host vehicle is traveling at a speed of the first section, the processor may identify the direction in which the third cluster is positioned relative to the host vehicle based on at least one of the wheelbase of the host vehicle, the steering angle of the host vehicle, the speed of the host vehicle, the yaw rate of the host vehicle, and a combination of the wheelbase, steering angle, speed, and yaw rate, and if the host vehicle is traveling at a speed exceeding the speed of the first section, the processor may identify the direction in which the third cluster is positioned relative to the host vehicle based on at least one of the yaw rate of the host vehicle, the speed of the host vehicle, and a combination of the yaw rate and speed.
[0187] In an embodiment, the processor may identify differences between a plurality of fourth points stored in the first area and a plurality of fifth points stored in the second area and respectively corresponding to the plurality of fourth points, and may correct each of the plurality of fifth points based on an average value of the identified differences.
[0188] In an embodiment, the processor may convert a plurality of first points identified at a first point in time into a plurality of second points at a second point in time based on information related to travel of the host vehicle.
[0189] In an embodiment, the information related to the travel of the host vehicle may include at least one of the speed of the host vehicle, the yaw rate of the host vehicle, the time interval of obtaining multiple points by LiDAR, and a combination of the speed, yaw rate and time interval.
[0190] In an embodiment, the processor may generate a third cluster obtained by merging the first cluster and the second cluster based on the first cluster including a number of points greater than or equal to a reference number and the second cluster including a number of points greater than or equal to the reference number.
[0191] In an embodiment, the processor may generate a third cluster obtained by merging the first cluster and the second cluster based on the length of the first cluster being greater than or equal to a reference length and the length of the second cluster being greater than or equal to the reference length.
[0192] In an embodiment, the processor may generate a third cluster obtained by merging the first cluster and the second cluster based on recognizing that the first cluster and the second cluster are within a reference distance based on the lateral direction of the host vehicle.
[0193] According to an embodiment of the present invention, a vehicle control method may include the following steps: while the main vehicle is traveling, clustering a plurality of second points is performed based on converting a plurality of first points into a plurality of second points at a second time point after the first time point, the plurality of first points being included in a first virtual frame corresponding to an external object identified as a specified type by LiDAR at the first time point, generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information, distance information, and a combination of slope information and distance information obtained by the first cluster and the second cluster among the plurality of clusters generated by clustering, identifying a direction in which the third cluster is positioned relative to the main vehicle based on at least one of an intermediate value of a plurality of third points included in the third cluster, a minimum value of a plurality of third points, and a combination of the intermediate value and the minimum value, and correcting a plurality of fifth points based on a plurality of fourth points obtained by sampling a plurality of third points at a specified interval, a plurality of fifth points included in the second virtual frame corresponding to the external object identified as the specified type at the second time point, and a combination of a plurality of fourth points and a plurality of fifth points, and determining the second virtual frame as a road edge.
[0194] According to an embodiment, the vehicle control method may further include the following steps: obtaining slope information based on at least one of a first slope obtained based on a first minimum value and a first maximum value included in a first cluster, a second slope obtained by a second minimum value and a second maximum value included in a second cluster, and a combination of the first slope and the second slope, and generating a third cluster obtained by merging the first cluster and the second cluster based on the angle between the first slope and the second slope being less than or equal to a specified angle.
[0195] According to an embodiment, the vehicle control method may further include the following steps: obtaining distance information based on at least one of the distance between the first minimum value and the second maximum value, the distance between the second minimum value and the first maximum value, and the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value, and generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of the distance between the first minimum value and the second maximum value, the distance between the second minimum value and the first maximum value, and the distance between the first minimum value and the second maximum value and the distance between the second minimum value and the first maximum value being less than or equal to a specified distance.
[0196] In an embodiment, the designated type may include a first type among a first type in which the external object is in a stationary state, a second type in which the external object is in a moving state, and a third type in which the external object is neither in a stationary state nor in a moving state.
[0197] According to an embodiment, the vehicle control method may further include the following steps: if the host vehicle is traveling at a speed of the first section, then identifying the direction in which the third cluster is positioned relative to the host vehicle based on at least one of a wheelbase of the host vehicle, a steering angle of the host vehicle, a speed of the host vehicle, a yaw rate of the host vehicle, and a combination of the wheelbase, steering angle, speed, and yaw rate; and if the host vehicle is traveling at a speed exceeding the speed of the first section, then identifying the direction in which the third cluster is positioned relative to the host vehicle based on at least one of a yaw rate of the host vehicle, the speed of the host vehicle, and a combination of the yaw rate and speed.
[0198] According to an embodiment, the vehicle control method may further include the following steps: identifying differences between multiple fourth points stored in the first area and multiple fifth points stored in the second area and corresponding to the multiple fourth points respectively, and correcting each of the multiple fifth points based on an average value of the identified differences.
[0199] According to an embodiment, the vehicle control method may further include the step of converting a plurality of first points identified at a first time point into a plurality of second points at a second time point based on information related to travel of the host vehicle.
[0200] In an embodiment, the information related to the travel of the host vehicle may include at least one of the speed of the host vehicle, the yaw rate of the host vehicle, the time interval of obtaining multiple points by LiDAR, and a combination of the speed, yaw rate and time interval.
[0201] According to an embodiment, the vehicle control method may further include the following steps: generating a third cluster obtained by merging the first cluster and the second cluster based on the first cluster including a plurality of points greater than or equal to a reference number and the second cluster including a plurality of points greater than or equal to the reference number.
[0202] Therefore, the embodiments of the present invention are not intended to limit but to explain the technical concept of the present invention, and the scope and spirit of the present invention are not limited by the above examples. All equivalents should be interpreted as being included in the scope of the present invention.
[0203] According to an embodiment of the present invention, the vehicle control apparatus may determine a road edge at a current time by using a point identified at a past time point.
[0204] According to an embodiment of the present invention, a vehicle control apparatus may perform an operation by sampling a plurality of points, thereby alleviating a load on a processor.
[0205] According to an embodiment of the present invention, a vehicle control apparatus can quickly determine that an external object recognized within a road edge is a moving object by accurately determining the road edge.
[0206] Furthermore, it is possible to provide various effects that can be understood directly or indirectly through the specification.
[0207] Although the present invention has been described above with reference to the embodiments and the accompanying drawings, the present invention is not limited thereto, and those skilled in the art to which the present invention pertains may make various modifications and changes to the present invention without departing from the spirit and scope of the present invention.
[0208] Description of Reference Numerals
[0209] 100: Vehicle control equipment
[0210] 110: Processor
[0211] 120: LIDAR
[0212] 200: Main vehicle
[0213] 211: Cluster
[0214] 213: Cluster
[0215] 215: Cluster
[0216] 220: Cluster
[0217] 300: Main vehicle
[0218] 310: Cluster
[0219] 320: Moving route
[0220] 330: Distance
[0221] 500: Main vehicle
[0222] 501: Example
[0223] 503: Example
[0224] 510: VirtualBox
[0225] 515: Heading direction
[0226] 520: Virtual Frame
[0227] 600: Main vehicle
[0228] 601: Example
[0229] 603: Example
[0230] 610: Virtual Frame
[0231] 620: Virtual Frame
[0232] 1100: Processor
[0233] 1300: Memory
[0234] 1400: User interface input device
[0235] 1500: User interface output device
[0236] 1600: Storage device
[0237] 1700: Network interface.
Claims
1. A device for controlling a vehicle, the device comprising: Processor; and sensor; wherein the processor is configured to: determining, at a first time point, a first virtual frame corresponding to an object detected by the sensor, wherein the object is outside the vehicle and the first virtual frame includes a plurality of first points; converting the plurality of first points into a plurality of second points at a second time point after the first time point while the vehicle is traveling, and determining a second virtual frame corresponding to the object detected at the second time point, wherein the second virtual frame includes a plurality of fifth points; performing clustering on the plurality of second points based on the transformation to generate a plurality of clusters including a first cluster and a second cluster; generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information and distance information obtained from the first cluster and the second cluster; The direction of the third cluster relative to the vehicle positioning is determined based on at least one of: a median value of a plurality of third points included in the third cluster, and a minimum value of the plurality of third points; adjusting the plurality of fifth points based on a plurality of fourth points obtained by sampling the plurality of third points at certain intervals; determining the second virtual frame as a road edge based on the adjusted plurality of fifth points; and A signal is output based on the road edge to control the vehicle.
2. The device according to claim 1, wherein: The processor is configured to generate the third cluster by: The slope information is obtained based on at least one of the following: a first slope obtained according to a first minimum value and a first maximum value included in the first cluster, and a second slope obtained according to a second minimum value and a second maximum value included in the second cluster; The first cluster and the second cluster are merged based on an angle between the first slope and the second slope, wherein the second slope is less than or equal to a threshold angle.
3. The device according to claim 2, wherein: The processor is configured to generate the third cluster by: The distance information is obtained based on at least one of the following: the distance between the first minimum value and the second maximum value, and the distance between the second minimum value and the first maximum value; The first cluster and the second cluster are merged based on at least one of: the distance between the first minimum value and the second maximum value, and The distance between the second minimum value and the first maximum value, wherein the first maximum value is less than or equal to a specified distance.
4. The device according to claim 1, wherein: The type of the object specified at the first time point includes: The object is of a first type in a stationary state, The object is in a second type of moving state, and The object is of a third type in which the object is neither in the stationary state nor in the moving state.
5. The device according to claim 1, wherein: The vehicle is traveling at a speed in a first section, and the processor is configured to: The direction of the third cluster relative to the vehicle positioning is determined based on at least one of: the wheelbase of the vehicle, the steering angle of the vehicle, the speed of the vehicle, and a yaw rate of the vehicle; and The vehicle is travelling at a speed exceeding the speed of the first section, the processor is configured to: The direction of the third cluster relative to the vehicle positioning is determined based on at least one of: the yaw rate of the vehicle, and The speed of the vehicle.
6. The device according to claim 1, wherein: The processor is configured to: determining differences between the plurality of fourth points stored in the first area and the plurality of fifth points stored in the second area and respectively corresponding to the plurality of fourth points; and Each of the plurality of fifth points is adjusted based on an average of the determined differences.
7. The device according to claim 1, wherein: The processor is configured to: The plurality of first points determined at the first time point are converted into the plurality of second points at the second time point based on information related to the travel of the vehicle.
8. The device according to claim 7, wherein: The information related to the driving of the vehicle includes at least one of the following: the speed of the vehicle, the vehicle's yaw rate, and The time intervals of the plurality of points are obtained by the sensor.
9. The device according to claim 1, wherein: The processor is configured to generate the third cluster by merging the first cluster and the second cluster based on: The first cluster includes a plurality of points whose number is greater than or equal to a reference number, and The second cluster includes a plurality of points whose number is greater than or equal to the reference number.
10. The device according to claim 1, wherein: The processor is configured to generate the third cluster by merging the first cluster and the second cluster based on: The length of the first cluster is greater than or equal to a reference length, and The length of the second cluster is greater than or equal to the reference length.
11. The device according to claim 1, wherein: The processor is configured to generate the third cluster by merging the first cluster and the second cluster based on determining that the first cluster and the second cluster are within a reference distance based on a lateral direction of the vehicle.
12. A method for controlling a vehicle, the method comprising the following steps: determining, at a first time point, a first virtual frame corresponding to an object detected by a sensor, wherein the object is outside the vehicle and the first virtual frame includes a plurality of first points; converting the plurality of first points into a plurality of second points at a second time point after the first time point while the vehicle is traveling, and determining a second virtual frame corresponding to the object detected at the second time point, wherein the second virtual frame includes a plurality of fifth points; performing clustering on the plurality of second points based on the transformation to generate a plurality of clusters including a first cluster and a second cluster; generating a third cluster obtained by merging the first cluster and the second cluster based on at least one of slope information and distance information obtained from the first cluster and the second cluster; The direction of the third cluster relative to the vehicle positioning is determined based on at least one of: a median value of a plurality of third points included in the third cluster, and a minimum value of the plurality of third points; adjusting a plurality of fifth points based on a plurality of fourth points obtained by sampling the plurality of third points at certain intervals; determining the second virtual frame as a road edge based on the adjustment; and A signal is output based on the road edge to control the vehicle.
13. The method according to claim 12, wherein: The step of generating the third cluster comprises: The slope information is obtained based on at least one of the following: a first slope obtained according to a first minimum value and a first maximum value included in the first cluster, and a second slope obtained according to a second minimum value and a second maximum value included in the second cluster; The first cluster and the second cluster are merged based on an angle between the first slope and the second slope, wherein the second slope is less than or equal to a specified angle.
14. The method according to claim 13, wherein: The step of generating the third cluster comprises: The distance information is obtained based on at least one of the following: the distance between the first minimum value and the second maximum value, and the distance between the second minimum value and the first maximum value; The first cluster and the second cluster are merged based on at least one of: the distance between the first minimum value and the second maximum value, and A distance between the second minimum value and the first maximum value, wherein the first maximum value is less than or equal to a threshold distance.
15. The method according to claim 12, wherein: The type of the object specified at the first time point includes: The object is of a first type in a stationary state, The object is in a second type of moving state, and The object is of a third type in which the object is neither in the stationary state nor in the moving state.
16. The method according to claim 12, wherein: The vehicle is traveling at a speed in a first section, and the method further comprises the following steps: The direction of the third cluster relative to the vehicle positioning is determined based on at least one of: the wheelbase of the vehicle, the steering angle of the vehicle, the speed of the vehicle, and a yaw rate of the vehicle; and The vehicle is traveling at a speed exceeding the speed of the first section, and the method further comprises the following steps: The direction of the third cluster relative to the vehicle positioning is determined based on at least one of: the yaw rate of the vehicle, and The speed of the vehicle.
17. The method according to claim 12, further comprising the steps of: determining differences between the plurality of fourth points stored in the first area and the plurality of fifth points stored in the second area and respectively corresponding to the plurality of fourth points; and Each of the plurality of fifth points is adjusted based on an average of the determined differences.
18. The method according to claim 12, wherein: The plurality of first points are converted based on information related to travel of the vehicle.
19. The method according to claim 18, wherein: The information related to the driving of the vehicle includes at least one of the following: the speed of the vehicle, the vehicle's yaw rate, and The time intervals of the plurality of points are obtained by the sensor.
20. The method according to claim 12, wherein: The step of generating the third cluster comprises: The first cluster and the second cluster are merged based on the following: The first cluster includes a plurality of points whose number is greater than or equal to a reference number, and The second cluster includes a plurality of points whose number is greater than or equal to the reference number.
Citation Information
Patent Citations
Grinding apparatus and grinding method
KR1020230120572A