Vehicle control apparatus and method thereof
By using multi-frame LiDAR data and vehicle speed in the vehicle control device, the heading of the virtual box is corrected, and the problem of heading recognition errors of virtual box is solved, the recognition accuracy is improved, and accidents are prevented.
Patent Information
- Application Number
- CN202410898691.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-10-04
- Filing Date
- 2024-07-05
- Publication Date
- 2025-04-08
AI Technical Summary
Prior art When identifying external objects using LiDAR, the heading of the virtual frame may be misidentified, especially when the external objects are blocked or have unclear shapes.
By using the multiple frame data obtained by the sensor in the vehicle control device, a designation algorithm is applied to obtain the first vector, a second vector is obtained in combination with the vehicle speed, a third vector is obtained based on the angle between the sidelines of the virtual box and the second vector, a confidence range is determined, and the heading of the virtual box is adjusted according to the heading deviation range.
Effectively correct the heading of the virtual box to ensure that it is consistent with the actual external vehicle's travel direction, thereby preventing accidents.
Smart Images

Figure CN119773744A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a vehicle control device and method thereof, and more particularly, to a technology for recognizing an external object using a sensor such as a light detection and ranging (LiDAR) device. Background Art
[0002] Various studies are underway to use various sensors to recognize external objects to assist vehicle driving.
[0003] In particular, during operation of the vehicle in a driving assist activation mode or an autonomous driving mode, some implementations of the vehicle control device can use light detection and ranging (LiDAR) to identify external objects, identify the movement direction (or motion direction) of the identified external objects, and predict the movement path of the external objects, thereby preventing accidents.
[0004] Some implementations of the vehicle control device may use the movement vector of the external object in the data obtained using LiDAR, the tracking history of the external object, and / or the movement amount of the vehicle to identify the heading direction of the virtual frame corresponding to the external object identified at the current time. However, because the available information may depend on the shape of the virtual frame corresponding to the external object identified at the current time, the heading direction of the virtual frame formed by V or U-shaped points may be erroneously identified. Summary of the invention
[0005] The present disclosure is to solve the above-mentioned problems occurring in some implementations while keeping the advantages achieved by those implementations intact.
[0006] Aspects of the present disclosure provide a vehicle control apparatus and method thereof for correcting a heading of an external vehicle obtained using LiDAR.
[0007] Another aspect of the present disclosure provides a vehicle control apparatus and method thereof for correcting a heading of a virtual frame corresponding to an external vehicle when the vehicle is operating in a driving assist activation mode or an autonomous driving mode to prevent an accident.
[0008] Another aspect of the present disclosure provides a vehicle control device and method thereof for correcting the heading of a virtual frame corresponding to an external vehicle when the vehicle is operating in a driving assist activation mode or an automatic driving mode to prevent the operation of a vehicle control system including the vehicle control device from stopping.
[0009] The technical problems to be solved by the present disclosure 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 disclosure belongs through the following description.
[0010] According to one or more example embodiments of the present disclosure, a vehicle control device may include: a sensor; and a processor configured to: obtain a first vector based on applying a specified algorithm to a virtual frame corresponding to a second vehicle in a plurality of frames obtained using the sensor during operation of a first vehicle; obtain a second vector indicating a moving direction of the second vehicle based on at least one of the first vector and a speed of the first vehicle; obtain a third vector indicating a heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the second vector; determine a confidence range based on a plurality of vectors including the third vector; and adjust the heading of the virtual frame using at least one of the plurality of vectors based on the heading deviating from the determined confidence range. The plurality of vectors may be determined in the plurality of frames.
[0011] The processor may be configured to obtain the first vector by: obtaining the first vector further based on a movement amount of the second vehicle. The movement amount may be obtained based on a displacement of a representative point included in the virtual frame in a plurality of frames.
[0012] The vehicle control device may further include a memory. The processor may be configured to obtain the first vector by: obtaining the first vector based on applying a specified algorithm to sampling points of a virtual frame included in a plurality of frames; and storing the obtained first vector in the memory.
[0013] The vehicle control device may further include a memory. The processor may be further configured to: determine the directionality indicated by the virtual frame based on at least one of the amount of change along the x-axis of the virtual frame and the amount of change along the y-axis of the virtual frame; and classify the obtained first vector based on the determined directionality and store it in a designated area of the memory.
[0014] The processor may be further configured to adjust the heading of the virtual frame based on an average of at least one of the plurality of vectors.
[0015] The processor may be further configured to change the determined confidence range based on at least one of a speed of the second vehicle and a size of the virtual frame.
[0016] The vehicle control device may further include: a memory storing a plurality of vectors. The processor may be further configured to exclude the adjusted heading of the virtual frame from the plurality of vectors.
[0017] The processor may be further configured to determine the heading of the virtual frame by determining a side of the virtual frame having a smallest angle between a straight line perpendicular to the side of the virtual frame and the second vector among the sides of the virtual frame.
[0018] The vehicle control device may further include a memory. The processor may be further configured to: sequentially store the first vector in one of a plurality of areas formed in the memory.
[0019] The processor may be configured to: determine a confidence range based on a measure of discreteness indicated by the plurality of vectors; and adjust the heading of the virtual frame based on an average of at least one of the plurality of vectors within the confidence range in the measure of discreteness.
[0020] The processor may be further configured to: obtain a fourth vector corresponding to an average value of at least one of the plurality of vectors; and obtain a fifth vector including a heading of the virtual frame based on an angle between the straight line and the fourth vector, and adjust the heading of the virtual frame.
[0021] According to one or more example embodiments of the present disclosure, a vehicle control method may include: obtaining a first vector based on applying a specified algorithm to a virtual frame corresponding to a second vehicle in a plurality of frames obtained using a sensor during operation of a first vehicle; obtaining a second vector indicating a moving direction of the second vehicle based on at least one of the first vector and a speed of the first vehicle; obtaining a third vector indicating a heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the second vector; determining a confidence range based on a plurality of vectors including the third vector; and adjusting the heading of the virtual frame using at least one of the plurality of vectors based on the heading deviating from the determined confidence range. The plurality of vectors may be determined in a plurality of frames.
[0022] Obtaining the first vector may include: obtaining the first vector further based on a movement amount of the second vehicle. The movement amount may be obtained based on a displacement of a representative point included in the virtual frame in a plurality of frames.
[0023] Obtaining the first vector may include: obtaining the first vector based on applying a specified algorithm to sampling points of a virtual frame included in a plurality of frames; and storing the obtained first vector in a memory.
[0024] The vehicle control method may also include: determining the directionality indicated by the virtual frame based on at least one of the change amount along the x-axis of the virtual frame and the change amount along the y-axis of the virtual frame; and classifying the obtained first vector based on the determined directionality and storing it in a designated area of the memory.
[0025] The vehicle control method may further include adjusting the heading of the virtual frame based on an average value of at least one of the plurality of vectors.
[0026] The vehicle control method may further include changing the determined confidence range based on at least one of a speed of the second vehicle and a size of the virtual frame.
[0027] The vehicle control method may further include: not storing the adjusted heading of the virtual frame in the memory.
[0028] The vehicle control method may further include determining the heading of the virtual frame by determining a side of the virtual frame having a smallest angle between a straight line perpendicular to the side of the virtual frame and the second vector among the sides of the virtual frame.
[0029] The vehicle control method may further include: determining a confidence range based on a measure of dispersion indicated by the plurality of vectors; and sequentially storing the first vectors in one of a plurality of regions formed in a memory. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description in conjunction with the accompanying drawings:
[0031] Figure 1 An example of a block diagram of a vehicle control device is shown.
[0032] Figure 2 An example of association of representative points with a virtual frame corresponding to an external object using a LiDAR included in a vehicle control device is shown;
[0033] Figure 3 An example of obtaining a vector indicating a traveling direction of an external vehicle is shown;
[0034] Figure 4 An example of the directionality of a virtual frame is shown;
[0035] Figure 5 An example of a vector containing a heading of a virtual box stored in memory is shown;
[0036] Figure 6 An example of obtaining a vector including a heading of a virtual frame is shown;
[0037] Figure 7 An example of correcting the heading of a virtual frame is shown;
[0038] Figure 8 An example of the result of correcting the heading of the virtual frame is shown;
[0039] Fig. 9 An example of a flow chart regarding a vehicle control method is shown;
[0040] Fig.10 An example of a flowchart regarding a vehicle control method is shown; and
[0041] Fig.11 A computing system including a vehicle control device is shown. DETAILED DESCRIPTION
[0042] Hereinafter, one or more exemplary embodiments of the present disclosure will be described in detail with reference to the exemplary drawings. When adding reference numerals to the components of each drawing, it should be noted that the same components are represented by the same numerals even when the same components are shown on other drawings. In addition, detailed descriptions of well-known features or functions will be excluded so as not to unnecessarily confuse the main points of the present disclosure.
[0043] When describing the components of the example embodiments of the present disclosure, the terms first, second, A, B, (a), (b), etc. may be used herein. These terms are only used to distinguish one component from another component, but do not limit the corresponding components, regardless of the order or priority of the corresponding components. In addition, unless otherwise defined, all terms used in this document, including technical and scientific terms, have the same meaning as those commonly understood by technicians in the field to which the present disclosure belongs. Such terms defined in generally used dictionaries should be interpreted as having the same meaning as the contextual meaning in the relevant technical field, and should not be interpreted as having an ideal or overly formal meaning unless explicitly defined in this application as having an ideal or overly formal meaning.
[0044] A vehicle control device included in the vehicle may generate a virtual frame corresponding to the external vehicle using a data set obtained by a sensor (e.g., LiDAR), and may track the generated virtual frame. The vehicle control device may identify a traveling direction of the virtual frame corresponding to the external vehicle. When the external vehicle is blocked by another external vehicle, or when the shape of the external vehicle is not clearly identified, the traveling direction of the virtual frame corresponding to the external vehicle may be identified as different from the actual traveling direction of the external vehicle.
[0045] Hereinafter, a description will be given of one or more example embodiments of adjusting (eg, correcting) the heading of the virtual frame so that the heading of the virtual frame corresponding to the external vehicle is recognized as the same direction as the traveling direction of the actual external vehicle.
[0046] In the following, reference will be made to Figures 1 to 11 One or more example embodiments of the present disclosure are described in detail.
[0047] Figure 1 An example of a block diagram of a vehicle control device is shown.
[0048] Reference Figure 1 , the vehicle control device 100 may be implemented inside or outside the vehicle, and some components included in the vehicle control device 100 may be implemented inside or outside the vehicle. In this case, the vehicle control device 100 may be configured integrally with the control unit in the vehicle, or may be implemented as a separate device connected to the control unit of the vehicle through a separate connection means. For example, the vehicle control device 100 may also include components not included in the vehicle control device 100. Figure 1 Components are shown in FIG.
[0049] Reference Figure 1 , the vehicle control device 100 may include a processor 110 and a sensor (e.g., LiDAR 120). The vehicle control device 100 may also include a memory 130. The processor 110, the LiDAR 120, and the memory 130 may be electronically or operably coupled to each other through electronic components including a communication bus.
[0050] Hereinafter, a plurality of hardware being operably coupled to each other may include establishing a direct connection or an indirect connection between the plurality of hardware in a wired or wireless manner, such that a second hardware is controlled by a first hardware among the plurality of hardware.
[0051] Different blocks are shown, but the disclosure is not limited thereto. Figure 1 Some of the plurality of hardware included in the vehicle control device 100 may be included in a single integrated circuit including a system on a chip (SoC). The types of the plurality of hardware included in the vehicle control device 100 or the number of the plurality of hardware included in the vehicle control device 100 is limited to Figure 1 For example, the vehicle control device 100 may include only Figure 1 Some of the multiple hardware shown in .
[0052] The vehicle control device 100 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 (LU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU) and / or an application processor (AP).
[0053] 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 processor, however, it is not limited thereto.
[0054] The sensor (e.g., LiDAR 120) included in the vehicle control device 100 may obtain a data set for identifying surrounding objects of the vehicle control device 100. For example, based on the pulsed laser signal radiated from the LiDAR 120 being reflected from the surrounding objects, the LiDAR 120 may identify at least one of the position of the surrounding objects, the movement direction of the surrounding objects, the speed of the surrounding objects, and any combination thereof.
[0055] The memory 130 included in the vehicle control device 100 may include a hardware component for storing data and / or instructions input and / or output from the processor 110 of the vehicle control device 100 .
[0056] For example, the memory 130 may include a volatile memory including a random access memory (RAM) or a nonvolatile memory including a read only memory (ROM).
[0057] For example, the volatile memory may include at least one of a dynamic RAM (DRAM), a static RAM (SRAM), a cache RAM, or a pseudo SRAM (PSRAM), or any combination thereof. However, it is not limited thereto.
[0058] For example, the nonvolatile memory may include at least one of a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a flash memory, a hard disk, a compact disk, a solid state drive (SSD), an embedded multimedia card (eMMC), and any combination thereof. However, it is not limited thereto.
[0059] The processor 110 included in the vehicle control device 100 can obtain multiple frames using the LiDAR 120 during vehicle operation. For example, the processor 110 can identify a virtual frame corresponding to an external vehicle in the multiple frames. Hereinafter, the operations performed by the processor 110 in two sequential frames may be referred to as operations performed by the processor 110 in the multiple frames.
[0060] For example, the processor 110 may identify a virtual frame corresponding to the external vehicle in two sequential frames of a plurality of frames obtained using a sensor (e.g., LiDAR 120). The processor 110 may apply at least one of an iterative closest point (ICP) algorithm, simultaneous localization and mapping (SLAM), and any combination thereof to the virtual frame corresponding to the external vehicle. For example, the processor 110 may apply a specified algorithm to the virtual frame corresponding to the external vehicle to obtain a first vector. For example, the specified algorithm may include at least one of an ICP algorithm, SLAM, and any combination thereof.
[0061] For example, when there are two point clouds scanned at different points for a target (eg, an external vehicle), the ICP algorithm may include an algorithm for integrating the two data.
[0062] For example, the ICP algorithm may include an algorithm that matches the closest point in the reference point cloud with each point contained in the first source point cloud and the second source point cloud, and uses a distance metric minimization technique between each source point and the point that best matches the match obtained in the previous stage, using the root mean square to estimate a combination of rotation and transformation.
[0063] For example, a distance metric minimization technique may include repeatedly performing the operation of a transformation necessary to minimize the distance between two point clouds.
[0064] For example, the distance metric minimization technique may include an operation of matching the closest point from the second point to the first point cloud of the two point clouds, an operation of estimating a combination of a rotation and a transformation of the second point cloud, and an operation of transforming the source point using the obtained transformation. For example, the source point may include a point in the second point cloud that matches the first point cloud.
[0065] For example, the processor 110 may apply an ICP algorithm to a virtual box corresponding to the external vehicle to obtain a first vector.
[0066] For example, the processor 110 may identify sampling points of a virtual frame included in two sequential frames. For example, the sampling points may include at least some points used to form a virtual frame. For example, the processor 110 may apply an ICP algorithm to the sampling points of the virtual frame included in the two sequential frames. The processor 110 may obtain a first vector based on applying the ICP algorithm to the sampling points of the virtual frame included in the two sequential frames.
[0067] For example, the first vector may be referred to as an ICP heading vector. The processor 110 may store the obtained first vector in the memory 130 based on applying the ICP algorithm to the virtual frame corresponding to the external vehicle to obtain the first vector.
[0068] The processor 110 may use the first vector (or first vectors) stored in the memory 130 to relatively more accurately identify the first vector of the virtual frame identified in the current frame.
[0069] For example, the processor 110 may store a first vector obtained by applying a specified algorithm to a virtual frame corresponding to the external vehicle in a specified area in the memory 130. For example, the processor 110 may identify the directionality of the first vector. The processor 110 may store the first vector in a specified area corresponding to the directionality of the first vector in the memory 130 based on identifying the directionality of the first vector.
[0070] For example, the processor 110 may identify the amount of movement of the virtual frame corresponding to the external vehicle in two sequential frames. For example, the amount of movement of the virtual frame corresponding to the external vehicle in two sequential frames may include the displacement of the virtual frame in the frame. For example, the processor 110 may use representative points contained in the virtual frame corresponding to the external vehicle to identify the displacement of the virtual frame in the two sequential frames. For example, the processor 110 may obtain the amount of movement of the virtual frame corresponding to the external vehicle in the two sequential frames based on identifying the displacement of the virtual frame in the two sequential frames using representative points contained in the virtual frame corresponding to the external vehicle.
[0071] For example, the processor 110 can identify at least one of the change in the x component (e.g., along the x-axis), the change in the y component (e.g., along the y-axis), and any combination thereof contained in the movement amount of the virtual frame corresponding to the external vehicle in two sequential frames.
[0072] The processor 110 may identify the directionality indicated by the virtual frame based on at least one of a change in an x component, a change in a y component, and any combination thereof included in the movement amount of the virtual frame corresponding to the external vehicle in two sequential frames. The processor 110 may store the first vector in a designated area in the memory 130 based on the identified directionality.
[0073] The processor 110 may store the first vector in one of a first designated area indicating the positive direction of the x-axis, a second designated area indicating the positive direction of the y-axis, a third designated area indicating the negative direction of the y-axis, and a fourth designated area indicating the negative direction of the x-axis.
[0074] For example, when the first vector indicates the positive direction of the x-axis, the processor 110 may store the first vector in a first designated area in the memory 130. For example, when the first vector indicates the positive direction of the y-axis, the processor 110 may store the first vector in a second designated area in the memory 130. For example, when the first vector indicates the negative direction of the y-axis, the processor 110 may store the first vector in a third designated area in the memory 130. For example, when the first vector indicates the negative direction of the x-axis, the processor 110 may store the first vector in a fourth designated area in the memory 130. However, it is not limited thereto.
[0075] Processor 110 may obtain a second vector including the heading of the virtual frame using the first vector stored in memory 130. Processor 110 may obtain a second vector including the heading of the virtual frame using the first vector stored in memory 130 to relatively more accurately identify the direction of the second vector.
[0076] The processor 110 may obtain a second vector indicating a direction of travel of the external vehicle based on at least one of the first vector, the vehicle speed, and any combination thereof. In detail, the processor 110 may obtain a second vector indicating a direction of travel of the external vehicle based on the first vector and a speed vector corresponding to the speed of the vehicle.
[0077] The processor 110 may obtain a third vector including the heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the second vector.
[0078] The processor 110 may store a plurality of vectors including the third vector in the memory 130. For example, the processor 110 may store a plurality of vectors including the third vector in the memory 130 to track the heading of the virtual frame.
[0079] For example, the processor 110 may identify an angle between a straight line perpendicular to one side of the virtual frame and the second vector. The processor 110 may identify the heading of the virtual frame based on identifying the side of the virtual frame where the angle between the straight line perpendicular to one side of the virtual frame and the second vector is the smallest. The processor 110 may obtain a third vector including the heading of the virtual frame based on identifying the heading of the virtual frame.
[0080] The processor 110 may use the plurality of vectors (or the plurality of third vectors) including the third vector identified in the plurality of frames to obtain a measure of discreteness (e.g., the amount of discreteness). For example, the measure of discreteness (e.g., the amount of discreteness) may include at least one of deviation, variance, standard deviation, and any combination thereof.
[0081] The processor 110 may determine a reliability (e.g., a confidence range or a range in which the accuracy of the vector is considered to be above a predetermined confidence level) based on the measure of discreteness (e.g., the amount of discreteness) obtained using (e.g., indicated by) a plurality of vectors including the third vector. For example, a high confidence level may indicate a low degree of variation (e.g., low variability) in the measure of discreteness (e.g., the amount of discreteness), while a low confidence level may indicate a high degree of variation (e.g., high variability) in the measure of discreteness (e.g., the amount of discreteness).
[0082] For example, the processor 110 may set the confidence level to about 70% by default.The processor 110 may change the confidence level based on at least one of the speed of the external vehicle corresponding to the virtual frame, the size of the external vehicle, and any combination thereof.
[0083] After setting the confidence level of about 70% by default, the processor 110 may change the confidence level based on at least one of the speed of the external vehicle corresponding to the virtual frame, the size of the external vehicle, and any combination thereof. For example, after setting the confidence level of about 70% by default, the processor 110 may change the confidence level to the maximum confidence level among the first confidence level, the second confidence level, the third confidence level, and the fourth confidence level based on at least one of the speed of the external vehicle corresponding to the virtual frame, the size of the external vehicle, and any combination thereof.
[0084] For example, when the speed of the external vehicle corresponding to the virtual frame is less than or equal to the specified speed, the processor 110 may change the confidence to a confidence of about 50%. For example, the confidence that can be changed when the speed of the external vehicle corresponding to the virtual frame is less than or equal to the specified speed may include a first confidence.
[0085] For example, when the speed of the external vehicle corresponding to the virtual frame is greater than the specified speed, the processor 110 may change the confidence to about 80%. For example, the confidence that can be changed when the speed of the external vehicle corresponding to the virtual frame is greater than the specified speed may include a second confidence.
[0086] For example, when the length of the longest side of the virtual frame is greater than or equal to about 4 meters (m), the processor 110 may change the confidence to a confidence of about 80%. For example, the confidence that can be changed when the length of the longest side of the virtual frame is greater than or equal to about 4m may include a third confidence.
[0087] For example, when the length of the longest side of the virtual frame is less than about 4m, the processor 110 may change the confidence to about 60%.For example, the confidence that can be changed when the length of the longest side of the virtual frame is less than about 4m may include a fourth confidence.
[0088] The processor 110 may identify a heading of the virtual box that deviates from a confidence level determined based on a measure of dispersion. The processor 110 may adjust (e.g., correct) the heading of the virtual box using some of the plurality of vectors included in the confidence level based on identifying the heading of the virtual box that deviates from the determined confidence level.
[0089] For example, the processor 110 may obtain an average value of all or some of the multiple vectors included in the confidence. The processor 110 may adjust (eg, correct) the heading of the virtual frame based on the average value of all or some of the multiple vectors included in the confidence.
[0090] For example, the processor 110 may obtain (or generate) a fourth vector corresponding to the average value of all or some of the plurality of vectors included in the confidence. For example, the fourth vector may include a vector obtained (or generated) in order to perform the same operation as that using the second vector.
[0091] The processor 110 may obtain a fifth vector including the heading of the virtual frame, and may adjust (eg, correct) the heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the fourth vector.
[0092] The processor 110 may not store the fifth vector containing the adjusted (e.g., corrected) heading of the virtual frame in the memory 130. The processor 110 may not store the fifth vector containing the adjusted (e.g., corrected) heading in the memory 130, and therefore the fifth vector cannot be used when obtaining the confidence.
[0093] As described above, the vehicle control device 100 can adjust (e.g., correct) the heading based on identifying the heading of the virtual frame corresponding to the external vehicle. The vehicle control device 100 can adjust (e.g., correct) the heading of the virtual frame corresponding to the external vehicle, thereby preventing an accident from occurring. The vehicle control device 100 can adjust (e.g., correct) the heading of the virtual frame corresponding to the external vehicle, thereby relatively more accurately tracking the external vehicle corresponding to the virtual frame.
[0094] Figure 2 An example of associating a representative point of a virtual frame corresponding to an external object using a sensor (eg, LiDAR) included in a vehicle control device is shown.
[0095] Figure 2 The vehicle 200 may include Figure 1 A vehicle control device 100 is provided. Figure 2 The operation can be done by Figure 1 The vehicle control device 100 or the vehicle control device 100 included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0096] Reference Figure 2 , the processor of the vehicle control device may obtain a data set from a sensor (e.g., LiDAR). For example, the data set obtained from the sensor (e.g., LiDAR) may include a point cloud based on a three-dimensional (3D) virtual coordinate system. For example, the point cloud based on the 3D virtual coordinate system may be formed by light reflected from external objects including an external vehicle. The processor may use the point cloud based on the 3D virtual coordinate system to obtain a virtual frame corresponding to the external vehicle.
[0097] The processor may obtain a virtual frame corresponding to the external vehicle based on using the point cloud included in the three-dimensional virtual coordinate system, and project the virtual frame onto a two-dimensional (2D) virtual coordinate system including an x-axis and a y-axis.
[0098] The processor may use a data set obtained from a sensor (eg, LiDAR) to form a virtual frame corresponding to the external vehicle on a 2D virtual coordinate system including an x-axis and a y-axis.
[0099] The processor may identify a representative point contained in a virtual frame corresponding to the external vehicle in the 2D virtual coordinate system. Hereinafter, a description will be given of an example embodiment of identifying a representative point based on a position of a virtual frame contained in the 2D virtual coordinate system.
[0100] The processor may identify the virtual frame 210 in the positive direction of the x-axis and the positive direction of the y-axis. The processor may identify the representative point 215 included in the lower side of the virtual frame 210 based on identifying the virtual frame 210 in the positive direction of the x-axis and the positive direction of the y-axis.
[0101] The processor may identify the virtual frame 220 on the x-axis. For example, the processor may identify the virtual frame 220 whose x-coordinate has a positive value on the x-axis. The processor may identify the representative point 225 included in the lower side of the virtual frame 220 based on identifying the virtual frame 220 whose x-coordinate has a positive value on the x-axis.
[0102] The processor may identify the virtual frame 230 in the positive direction of the x-axis and the negative direction of the y-axis. The processor may identify the representative point 235 included in the lower side of the virtual frame 230 based on identifying the virtual frame 230 in the positive direction of the x-axis and the negative direction of the y-axis.
[0103] The processor may identify a virtual frame 240 on the y-axis. For example, the processor may identify a virtual frame 240 whose y coordinate has a negative value on the y-axis. The processor may identify a representative point 245 included on the left side of the virtual frame 240 based on identifying the virtual frame 240 whose y coordinate has a negative value on the y-axis.
[0104] The processor may identify the virtual frame 250 in the negative direction of the x-axis and the negative direction of the y-axis. The processor may identify the representative point 255 included in the upper side of the virtual frame 250 based on identifying the virtual frame 250 in the negative direction of the x-axis and the negative direction of the y-axis.
[0105] The processor may identify a virtual frame 260 on the x-axis. For example, the processor may identify a virtual frame 260 having a negative x-coordinate on the x-axis. The processor may identify a representative point 265 included in the upper side of the virtual frame 260 based on identifying the virtual frame 260 having a negative x-coordinate on the x-axis.
[0106] The processor may identify the virtual frame 270 in the negative direction of the x-axis and the positive direction of the y-axis. The processor may identify the representative point 275 included in the upper side of the virtual frame 270 based on identifying the virtual frame 270 in the negative direction of the x-axis and the positive direction of the y-axis.
[0107] The processor may identify a virtual frame 280 on the y-axis. For example, the processor may identify a virtual frame 280 whose y coordinate has a positive value on the y-axis. The processor may identify a representative point 285 included on the right side of the virtual frame 280 based on identifying the virtual frame 280 whose y coordinate has a positive value on the y-axis.
[0108] The processor may obtain a first vector based on the movement of the representative point based on the identification of the representative point of the virtual frame. The processor may use the first vector to obtain a second vector indicating the direction of travel of the external vehicle corresponding to the virtual frame, may use the obtained second vector to obtain a third vector including the heading of the virtual frame, and may use multiple vectors including the third vector to adjust (e.g., correct) the heading of the virtual frame.
[0109] Figure 3 An example of obtaining a vector indicating a traveling direction of an external vehicle is shown.
[0110] Figure 3 The operation can be done by Figure 1 The vehicle control device 100 is executed. Figure 3 The operation can be included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0111] Reference Figure 3 In the first sequence 301, the processor of the vehicle control device may identify virtual frames 310 and 320 corresponding to the external vehicle in two sequential frames. For example, the processor may identify the first virtual frame 310 in the first frame, and may identify the second virtual frame 320 in the second frame. For example, the first frame may include a frame before the second frame.
[0112] In the second sequence 302, the processor may identify a first portion 315 in the point cloud contained in the first virtual frame 310 and may identify a second portion 325 in the point cloud contained in the second virtual frame 320. The processor may apply an ICP algorithm to the first portion 315 and the second portion 325.
[0113] In the third order 303, based on applying the ICP algorithm to the first portion 315 and the second portion 325, the processor may obtain a first vector 330. For example, the first vector 330 may be referred to as an ICP vector.
[0114] For example, the processor may obtain the first vector 330 based on the movement amount of the external vehicle obtained by the displacement of the virtual frames 310 , 320 in two sequential frames using the representative points included in the virtual frames 310 and 320 .
[0115] The processor may obtain (multiple) first vectors in the multiple frames respectively. The processor may store the first vectors obtained in the multiple frames respectively in the memory. For example, the processor may identify the directionality of the first vectors obtained in the multiple frames respectively, and may sequentially store the first vectors in a specified area of the memory based on the identified directionality.
[0116] In the fourth order 304, the processor may obtain a second vector 350 based on the first vector 330 and the speed 340 of the vehicle. For example, the processor may synthesize the first vector 330 and the speed 340 of the vehicle to obtain the second vector 350. For example, the processor may obtain the second vector 350 indicating the traveling direction of the external vehicle based on synthesizing the first vector 330 and the speed 340 of the vehicle.
[0117] The processor may obtain the second vector 350 based on the first vector stored in the memory and the speed 340 of the vehicle. For example, the processor may obtain the second vector 350 indicating the traveling direction of the external vehicle based on all or some of the first vectors stored in the memory and the speed 340 of the vehicle.
[0118] The processor may obtain a third vector including the heading of the virtual frame based on the angle between the second vector 350 and a straight line perpendicular to one side of the virtual frame, and may adjust (eg, correct) the heading of the virtual frame using multiple vectors including the obtained third vector.
[0119] Figure 4 An example of the directionality of an external vehicle corresponding to a virtual frame is shown.
[0120] Figure 4 The operation can be Figure 1 The vehicle control device 100 is executed. Figure 4 The operation can be included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0121] Reference Figure 4 , the processor may identify the directionality indicated by the external vehicle corresponding to the virtual frame 410 in the 2D virtual coordinate system 401 formed by the x-axis and the y-axis.
[0122] The directionality of the external vehicle corresponding to the virtual frame 410 may include a first direction 420, a second direction 430, a third direction 440, and a fourth direction 450. For example, the first direction 420 may include the positive direction of the x-axis. For example, the second direction 430 may include the negative direction of the y-axis. For example, the third direction 440 may include the negative direction of the x-axis. For example, the fourth direction 450 may include the positive direction of the y-axis.
[0123] For example, the first direction 420 may indicate that the external vehicle is facing forward. For example, the second direction 430 may indicate that the external vehicle is facing right. For example, the third direction 440 may indicate that the external vehicle is facing backward. For example, the fourth direction 450 may indicate that the external vehicle is facing left.
[0124] For example, the processor may identify the movement amount of the external vehicle in two sequential frames among a plurality of frames obtained using a sensor (eg, LiDAR). The processor may identify the directionality based on the movement amount of the external vehicle.
[0125] For example, the movement amount of the external vehicle may include the change amount of the x component of the virtual frame 410 corresponding to the external vehicle and the change amount of the y component of the virtual frame 410 corresponding to the external vehicle.
[0126] For example, the processor may identify the directionality of the external vehicle based on a change amount having a larger absolute value between a change amount of the x component of the virtual frame 410 corresponding to the external vehicle and a change amount of the y component of the virtual frame 410 corresponding to the external vehicle.
[0127] For example, when the absolute value of the change in the x-component is greater than the absolute value of the change in the y-component, the processor may recognize that the directionality of the external vehicle is one of the first direction 420 indicating the front of the external vehicle and the third direction 440 indicating the rear of the external vehicle. For example, when the change in the x-component has a positive value, and when the absolute value of the change in the x-component is greater than the absolute value of the change in the y-component, the processor may recognize that the directionality of the external vehicle is the first direction 420 indicating the front of the external vehicle. For example, when the change in the x-component has a negative value, and when the absolute value of the change in the x-component is greater than the absolute value of the change in the y-component, the processor may recognize that the directionality of the external vehicle is the third direction 440 indicating the rear of the external vehicle.
[0128] For example, when the absolute value of the change amount of the y component is greater than the absolute value of the change amount of the x component, the processor may recognize that the directionality of the external vehicle is one of the second direction 430 indicating the right side of the external vehicle and the fourth direction 450 indicating the left side of the external vehicle. For example, when the change amount of the y component has a negative value, and when the absolute value of the change amount of the y component is greater than the absolute value of the change amount of the x component, the processor may recognize that the directionality of the external vehicle is the second direction 430 indicating the right side of the external vehicle. For example, when the change amount of the y component has a positive value, and when the absolute value of the change amount of the y component is greater than the absolute value of the change amount of the x component, the processor may recognize that the directionality of the external vehicle is the fourth direction 450 indicating the left side of the external vehicle.
[0129] The directionality of the external vehicle may be recognized as one of the first direction 420, the second direction 430, the third direction 440, and the fourth direction 450. In addition, the directionality of the external vehicle may be converted into a directionality different from the initially recognized directionality.
[0130] Figure 5 An example of a vector containing the heading of a virtual box stored in memory is shown.
[0131] Figure 5 The operation can be done by Figure 1 The vehicle control device 100 is executed. Figure 5 The operation can be included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0132] Reference Figure 5 , the processor may classify the first vectors obtained by applying the ICP algorithm and sequentially store them in one of the plurality of areas 510 , 520 , 530 , and 540 of the memory 501 .
[0133] The processor may sequentially store the first vector in one of the plurality of areas 510 , 520 , 530 , and 540 corresponding to the directionality of the external vehicle and formed in the memory 501 , based on the recognized directionality of the external vehicle.
[0134] For example, the processor may recognize that the directionality of the external vehicle is a first direction indicating the front of the external vehicle. The processor may sequentially store the first vector 515 in the first area 510 corresponding to the first direction based on recognizing that the directionality of the external vehicle is the first direction indicating the front of the external vehicle.
[0135] For example, the processor may recognize that the directionality of the external vehicle is the second direction indicating the left side of the external vehicle. The processor may sequentially store the first vector 525 in the second area 520 corresponding to the second direction based on recognizing that the directionality of the external vehicle is the second direction indicating the left side of the external vehicle.
[0136] For example, the processor may recognize that the directionality of the external vehicle is a third direction indicating the right side of the external vehicle. The processor may sequentially store the first vector 535 in the third area 530 corresponding to the third direction based on recognizing that the directionality of the external vehicle is the third direction indicating the right side of the external vehicle.
[0137] For example, the processor may recognize that the directionality of the external vehicle is a fourth direction indicating the rear of the external vehicle. The processor may sequentially store the first vector 545 in the fourth area 540 corresponding to the fourth direction based on recognizing that the directionality of the external vehicle is the fourth direction indicating the rear of the external vehicle.
[0138] The processor may delete (or initialize) the first vector stored in the designated area based on the change in directionality of the external vehicle, and may store the first vector including the changed directionality in an area different from the designated area.
[0139] The processor may use the stored first vector to obtain a second vector indicating a direction of travel of the external vehicle. The operation of obtaining the second vector may include: Figure 3 The operation of obtaining the second vector in the fourth order 304 is performed.
[0140] As described above, the processor may classify and store the first vector in a designated area of the memory based on the identified directionality. The processor may classify and store the first vector, thereby relatively more accurately identifying the movement amount of the external vehicle at the current point in time.
[0141] Figure 6 An example of obtaining a vector containing the heading of a virtual box is shown.
[0142] Figure 6 The operation can be done by Figure 1 The vehicle control device 100 is executed. Figure 6 The operation can be included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0143] Reference Figure 6 In the first example 601, the processor may obtain vectors 610, 620, and 630 associated with an external vehicle corresponding to the virtual frame 600. For example, the processor may obtain the first vector 610 based on applying an ICP algorithm to a plurality of points contained in the virtual frame 600.
[0144] The processor may identify a speed vector 620 indicating the vehicle speed. The processor may synthesize the first vector 610 obtained by the ICP algorithm and the speed vector 620 indicating the vehicle speed. The processor may obtain a second vector 630 indicating the direction of travel of the external vehicle based on synthesizing the first vector 610 obtained by the ICP algorithm and the speed vector 620 indicating the vehicle speed.
[0145] In the second example 602, the processor may obtain a third vector 640 including the heading of the virtual frame 600 using the second vector 630. For example, the processor may obtain the third vector 640 including the heading of the virtual frame 600 based on the angle between a straight line perpendicular to one side of the virtual frame 600 and the second vector 630.
[0146] For example, the processor may identify an angle between a straight line perpendicular to one side of the virtual frame 600 and the second vector 630. The processor may identify a side of the virtual frame 600 where the angle between the straight line perpendicular to one side of the virtual frame 600 and the second vector 630 is the smallest. The processor may identify the heading of the virtual frame based on identifying the side of the virtual frame 600 where the angle between the straight line perpendicular to one side of the virtual frame 600 and the second vector 630 is the smallest. The processor may obtain a third vector 640 including the heading of the virtual frame 600 based on identifying the heading of the virtual frame 600 through the side of the virtual frame 600 where the angle between the straight line perpendicular to one side of the virtual frame 600 and the second vector 630 is the smallest.
[0147] The processor may store the third vectors identified in the plurality of frames in the memory. For example, the processor may store the virtual frame and the third vector 640 as a set in the memory based on identifying the third vector 640 of the heading of the virtual frame identified in each of the plurality of frames.
[0148] Figure 7 An example of adjusting (eg, correcting) the heading of a virtual frame is shown.
[0149] Figure 7 The operation can be done by Figure 1 The vehicle control device 100 is executed. Figure 7 The operation can be included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0150] Reference Figure 7 , the first example 701 may include an example of a plurality of vectors 710 that contain headings of a virtual box stored in a memory. The second example 702 may include an example of a measure indicating a discreteness obtained using (eg, indicated by) the plurality of vectors 710.
[0151] Reference Figure 7 , the processor may identify a plurality of vectors 710 in the plurality of frames. For example, the plurality of vectors 710 identified in the plurality of frames may include a third vector that includes a heading of the virtual box identified in each of the plurality of frames. The processor may use the plurality of vectors 710 to obtain (e.g., indicated by) a measure of discreteness. For example, the measure of discreteness may include at least one of a deviation, a variation, a standard deviation, and any combination thereof.
[0152] Figure 7 The second example 702 includes, but is not limited to, an example using variations obtained using a plurality of vectors 710 .
[0153] The processor may determine a confidence level 715 (eg, a confidence range) based on the changes obtained using the plurality of vectors 710. For example, the confidence level 715 may be used to identify whether the direction of the third vector 720 containing the heading of the virtual frame identified in the current frame is accurate.
[0154] The processor may identify a third vector 720 that includes the heading of the virtual frame in the current frame. The processor may identify that the third vector 720 that includes the heading of the virtual frame in the current frame deviates from the confidence 715 obtained from the plurality of vectors 710. For example, the processor may identify a vector value 725 of the third vector 720. The processor may identify that the vector value 725 of the third vector 720 deviates from the confidence 715. The deviation of the vector value 725 of the third vector 720 from the confidence 715 may mean that the heading of the virtual frame is incorrectly identified.
[0155] The processor may correct the heading of the virtual frame using all or some of the plurality of vectors 710 included in the confidence level 715 based on identifying the heading of the virtual frame that deviates from the confidence level 715 .
[0156] For example, the processor may obtain a fourth vector based on an average of all or some of the plurality of vectors 710. The processor may obtain a fifth vector 730 including the heading of the virtual frame, and may correct the heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the fourth vector.
[0157] The processor may not store the fifth vector 730 having the corrected heading in the memory. For example, the vehicle control device may include a memory storing the plurality of vectors 710. The processor may be configured such that the corrected heading of the virtual frame is not included in the plurality of vectors 710 (e.g., excluded from the plurality of vectors).
[0158] Figure 8 An example of the result of correcting the heading of the virtual frame is shown.
[0159] Figure 8 The operation can be done by Figure 1 The vehicle control device 100 is executed. Figure 8 The operation can be included in Figure 1 The processor 110 in the vehicle control device 100 executes.
[0160] The processor of the vehicle control device may obtain image information 810 using a sensor (e.g., LiDAR) or a camera included in the vehicle 800. The processor may identify a virtual frame 820 corresponding to an external vehicle from the image information 810. For example, during operation in a driving assistance activation mode or an autonomous driving mode, the processor may identify a virtual frame 820 corresponding to an external vehicle, and may identify a heading 825 of the virtual frame 820.
[0161] The processor may correct the heading 825 of the virtual frame 820. For example, the processor may apply the ICP algorithm to the points included in the virtual frame 820 in the plurality of frames included in the image information 810 to obtain a first vector. The processor may synthesize the first vector and the speed of the vehicle 800 to obtain a second vector. For example, the processor may obtain a third vector including the heading 825 of the virtual frame 820 based on an angle between a straight line perpendicular to one side of the virtual frame 820 and the second vector.
[0162] The processor may determine the confidence level based on a variation obtained using a plurality of vectors including the third vector identified in a plurality of frames included in the image information 810. The processor may correct the heading 825 of the virtual frame 820 using all or some of the plurality of vectors included in the confidence level based on identifying the heading 825 of the virtual frame 820 deviating from the determined confidence level.
[0163] For example, the processor may obtain a fourth vector based on an average value of all or some of the plurality of vectors. The processor may obtain a fifth vector including the heading 835 of the virtual frame 830 based on an angle between a straight line perpendicular to one side of the virtual frame 820 and the fourth vector, and may correct the heading 825 of the virtual frame 820.
[0164] Fig. 9 An example of a flowchart regarding a vehicle control method is shown.
[0165] In the following, it is assumed Figure 1 The vehicle control device 100 executes Fig. 9 In addition, Fig. 9 In the description, operations described as being performed by the processor of the vehicle control device may be understood as being controlled by the processor 110 of the vehicle control device 100 .
[0166] Fig. 9 At least one of the operations may be Figure 1 The vehicle control device 100 is executed. Fig. 9 The corresponding operations of can be performed in sequence, but not necessarily in sequence. For example, the order of the corresponding operations can be changed, and at least two operations can be performed in parallel.
[0167] Reference Fig. 9 At S901, the processor of the vehicle control device may apply the ICP algorithm to a virtual frame corresponding to the external vehicle in two sequential frames of a plurality of frames obtained using a sensor (e.g., LiDAR) during vehicle operation to obtain a first vector. For example, the two sequential frames of the plurality of frames may include two consecutive frames.
[0168] For example, the processor may identify the displacement of the virtual frame in two sequential frames using representative points included in the virtual frame. The processor may identify the movement amount of the external vehicle obtained by the displacement of the virtual frame in two sequential frames using representative points included in the virtual frame.
[0169] The processor may obtain the first vector based on an amount of movement of the external vehicle obtained by a displacement in which a virtual frame of a representative point included in the virtual frame moves in two sequential frames.
[0170] For example, the processor may obtain the first vector based on applying the ICP algorithm to the sampling points of the virtual frame included in two sequential frames, and may store the obtained first vector in the memory.
[0171] The processor may sequentially store the first vectors obtained in the plurality of frames in the memory.
[0172] At S903 , the processor of the vehicle control device may obtain a second vector indicating a traveling direction of the external vehicle based on at least one of the first vector, the speed of the vehicle, and any combination thereof.
[0173] For example, the processor may obtain a second vector indicating the traveling direction of the external vehicle based on synthesizing a first vector obtained by applying the ICP algorithm to a virtual frame corresponding to the external vehicle and a speed vector corresponding to the vehicle speed.
[0174] At S905 , the processor of the vehicle control device may obtain a third vector including the heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the second vector.
[0175] For example, the processor may identify a side of the virtual frame where the angle between a straight line perpendicular to one side of the virtual frame and a second vector is the smallest (e.g., among all sides of the virtual frame). The processor may identify a heading of the virtual frame formed by crossing the virtual frame from the side of the virtual frame where the angle between the straight line perpendicular to one side of the virtual frame and the second vector is the smallest. The processor may obtain a third vector including the heading of the virtual frame formed by crossing the virtual frame from the side of the virtual frame where the angle between the straight line perpendicular to one side of the virtual frame and the second vector is the smallest.
[0176] At S907 , the processor of the vehicle control device may determine the confidence level based on a measure (eg, amount) of dispersion obtained using a plurality of vectors including the third vector identified in a plurality of frames.
[0177] At S909 , the processor of the vehicle control device may correct the heading of the virtual frame using all or some of the plurality of vectors included in the confidence level based on identifying the heading of the virtual frame deviating from the determined confidence level.
[0178] For example, the processor may perform S901 to S905 using an average value of all or some of the plurality of vectors included in the confidence level.
[0179] For example, the processor may obtain a fourth vector corresponding to the average of all or some of the multiple vectors included in the confidence. The processor may obtain a fifth vector including the heading of the virtual frame based on the angle between a straight line perpendicular to one side of the virtual frame and the fourth vector.
[0180] For example, the processor may obtain a fifth vector including the heading of the virtual frame formed by a side of the virtual frame having the smallest angle between a straight line perpendicular to the side of the virtual frame and the fourth vector.
[0181] Fig.10 An example of a flowchart regarding a vehicle control method is shown.
[0182] In the following, it is assumed Figure 1 The vehicle control device 100 executes Fig.10 In addition, Fig.10 In the description, operations described as being performed by the processor of the vehicle control device may be understood as being controlled by the processor 110 of the vehicle control device 100 .
[0183] Fig.10 At least one of the operations may be Figure 1 The vehicle control device 100 is executed. Fig.10 The corresponding operations of can be performed in sequence, but not necessarily in sequence. For example, the order of the corresponding operations can be changed, and at least two operations can be performed in parallel.
[0184] Reference Fig.10 , at S1001, the processor of the vehicle control device may obtain a vector based on at least one of a movement amount of an external vehicle, a speed of the vehicle, an ICP, and any combination thereof.
[0185] For example, a vector based on at least one of the movement amount of the external vehicle, the speed of the vehicle, the ICP, and any combination thereof may include a reference Figures 1 to 9 The first vector described is, for example, ICP may correspond to an ICP algorithm.
[0186] At S1003 , the processor of the vehicle control device may determine the directionality of the external vehicle, and may store a vector value corresponding to each directionality.
[0187] The processor may determine the directionality of the external vehicle using the vector obtained in S1001. For example, the processor may determine the directionality of the external vehicle based on the change in the x component and the change in the y component included in the vector obtained in S1001. The processor may store the vector value obtained in S1001 in a designated area of the memory based on identifying the directionality of the external vehicle.
[0188] At S1005 , the processor of the vehicle control device may identify a heading deviation confidence of the virtual frame based on the heading of the virtual frame obtained during tracking of the external vehicle and the stored data set.
[0189] For example, the heading of the virtual frame can be included in Figure 7 A measure of dispersion or variation / variance as described in the second example 702 of .
[0190] At S1007 , the processor of the vehicle control device may correct the heading of the virtual frame based on the heading deviation confidence of the virtual frame.
[0191] For example, the processor may correct the heading of the virtual frame based on the heading deviation confidence of the virtual frame and use an average value of all or some of the multiple vectors included in the confidence.
[0192] Fig.11 A computing system including a vehicle control device is shown.
[0193] Reference Fig.11 , 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 1600 , and a network interface 1700 connected to each other via a bus 1200 .
[0194] 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 1600. The memory 1300 and the storage 1600 may include various types of volatile or non-volatile storage media. For example, the memory 1300 may include a ROM (Read Only Memory) 1310 and a RAM (Random Access Memory) 1320.
[0195] Therefore, the process of the method or algorithm described in the embodiments of the present disclosure can be directly implemented by hardware, software modules or combinations thereof executed by the processor 1100. The software module can reside in a storage medium (i.e., memory 1300 and / or storage 1600), such as, for example, RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disks, solid-state drives (SSDs), removable disks or CD-ROMs. An exemplary storage medium is coupled to the processor 1100, and the processor 1100 can read information from the storage medium and can write information in the storage medium. In another method, the storage medium can be integrated with the processor 1100. The processor 1100 and the storage medium can reside in an application-specific integrated circuit (ASIC). The ASIC can reside in a user terminal. In another method, the processor 1100 and the storage medium can reside in a user terminal as separate components.
[0196] The present technology can correct the heading of an external vehicle obtained using a sensor (eg, LiDAR).
[0197] Furthermore, when the vehicle is operating in a driving assist activation mode or an autonomous driving mode, the present technology can correct the heading of a virtual frame corresponding to an external vehicle, thereby preventing an accident.
[0198] Furthermore, when the vehicle is operating in a travel assist activation mode or an autonomous travel mode, the present technology can correct the heading of a virtual frame corresponding to an external vehicle, thereby preventing the operation of a vehicle control system including a vehicle control device from being stopped.
[0199] Furthermore, various effects directly or indirectly determined by the present disclosure can be provided.
[0200] Effects obtained by various exemplary embodiments of the present disclosure may not be limited to the above, and other effects will be clearly understood by those of ordinary skill in the art from the following disclosure.
[0201] Although the example embodiments of the present disclosure are described for illustrative purposes, it will be understood by those skilled in the art that various modifications, additions and substitutions are possible without departing from the scope and spirit of the present disclosure. Therefore, the example embodiments disclosed in the present disclosure are provided for the purpose of description rather than to limit the technical concepts of the present disclosure, and it should be understood that such example embodiments are not intended to limit the scope of the technical concepts of the present disclosure. The scope of protection of the present disclosure should be understood by the attached claims, and all technical concepts within the scope of equivalents should be interpreted as being within the scope of the rights of the present disclosure.
Claims
1. A vehicle control device, comprising: sensor; and The processor is configured as: obtaining a first vector based on applying a specified algorithm to a virtual frame corresponding to a second vehicle among a plurality of frames obtained using the sensor during operation of the first vehicle; obtaining a second vector indicating a moving direction of the second vehicle based on at least one of the first vector and a speed of the first vehicle; obtaining a third vector indicating a heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the second vector; determining a confidence range based on a plurality of vectors including the third vector, wherein the plurality of vectors are determined in the plurality of frames; as well as Based on the heading deviating from the determined confidence range, at least one vector from the plurality of vectors is used to adjust the heading of the virtual frame.
2. The vehicle control device according to claim 1, wherein: The processor is configured to obtain the first vector by: The first vector is also obtained based on a movement amount of the second vehicle, wherein the movement amount is obtained based on a displacement of a representative point included in the virtual frame in the plurality of frames.
3. The vehicle control device according to claim 1, further comprising: Memory, The processor is configured to obtain the first vector in the following manner: obtaining the first vector based on applying the specified algorithm to sampling points of the virtual frame included in the plurality of frames; and The obtained first vector is stored in the memory.
4. The vehicle control device according to claim 1, further comprising: Memory, Wherein, the processor is further configured to: determining a directionality indicated by the virtual frame based on at least one of an amount of change along an x-axis of the virtual frame and an amount of change along a y-axis of the virtual frame; and The obtained first vector is classified based on the determined directionality and stored in a designated area of the memory.
5. The vehicle control device according to claim 1, wherein: The processor is further configured to: The heading of the virtual frame is adjusted based on an average of the at least one vector of the plurality of vectors.
6. The vehicle control device according to claim 1, wherein: The processor is further configured to: The determined confidence range is varied based on at least one of a speed of the second vehicle and a size of the virtual frame.
7. The vehicle control device according to claim 1, further comprising: a memory storing the plurality of vectors, The processor is further configured to exclude the adjusted heading of the virtual frame from the multiple vectors.
8. The vehicle control device according to claim 1, wherein: The processor is further configured to: The heading of the virtual frame is determined by determining the side of the virtual frame having the smallest angle between a straight line perpendicular to the side of the virtual frame and the second vector among the sides of the virtual frame.
9. The vehicle control device according to claim 1, further comprising: Memory, Wherein, the processor is further configured to: The first vectors are sequentially stored in one of a plurality of areas formed in the memory.
10. The vehicle control device according to claim 1, wherein: The processor is configured to: determining a confidence range by a metric based on the dispersion indicated by the plurality of vectors; and The heading of the virtual frame is adjusted by adjusting the heading of the virtual frame based on an average value of the at least one of the plurality of vectors within the confidence range in the measure of the dispersion.
11. The vehicle control device according to claim 10, wherein: The processor is further configured to: obtaining a fourth vector corresponding to an average value of the at least one vector among the plurality of vectors; and Based on the angle between the straight line and the fourth vector, a fifth vector including the heading of the virtual frame is obtained, and the heading of the virtual frame is adjusted.
12. A vehicle control method comprising the following steps: obtaining a first vector based on applying a specified algorithm to a virtual frame corresponding to a second vehicle among a plurality of frames obtained using a sensor during operation of the first vehicle; obtaining a second vector indicating a moving direction of the second vehicle based on at least one of the first vector and a speed of the first vehicle; obtaining a third vector indicating a heading of the virtual frame based on an angle between a straight line perpendicular to one side of the virtual frame and the second vector; determining a confidence range based on a plurality of vectors including the third vector, wherein the plurality of vectors are determined in the plurality of frames; as well as Based on the heading deviating from the determined confidence range, at least one vector from the plurality of vectors is used to adjust the heading of the virtual frame.
13. The vehicle control method according to claim 12, wherein: The step of obtaining the first vector comprises: The first vector is also obtained based on a movement amount of the second vehicle, wherein the movement amount is obtained based on a displacement of a representative point included in the virtual frame in the plurality of frames.
14. The vehicle control method according to claim 12, wherein: The step of obtaining the first vector comprises: obtaining the first vector based on applying the specified algorithm to sampling points of the virtual frame included in the plurality of frames; and The obtained first vector is stored in a memory.
15. The vehicle control method according to claim 12, further comprising the following steps: determining a directionality indicated by the virtual frame based on at least one of an amount of change along an x-axis of the virtual frame and an amount of change along a y-axis of the virtual frame; as well as The obtained first vector is classified based on the determined directionality and stored in a designated area of the memory.
16. The vehicle control method according to claim 12, further comprising the following steps: The heading of the virtual frame is adjusted based on an average of the at least one vector of the plurality of vectors.
17. The vehicle control method according to claim 12, further comprising the following steps: The determined confidence range is varied based on at least one of a speed of the second vehicle and a size of the virtual frame.
18. The vehicle control method according to claim 12, further comprising the following steps: The adjusted heading of the virtual frame is not stored in the memory.
19. The vehicle control method according to claim 12, further comprising the following steps: The heading of the virtual frame is determined by determining the side of the virtual frame having the smallest angle between a straight line perpendicular to the side of the virtual frame and the second vector among the sides of the virtual frame.
20. The vehicle control method according to claim 12, further comprising the following steps: determining the confidence range based on a measure of the discreteness of the plurality of vector indications; as well as The first vectors are sequentially stored in one of a plurality of areas formed in a memory.