Method and device for determining self attitude of laser radar, electronic equipment and medium
Determining the three-dimensional velocity information of the lidar through three-axis scanning solves the problem that traditional attitude estimation calculation method cannot meet the accuracy and computing efficiency under the requirements of high real-time, and realizes the accurate and efficient determination of the lidar attitude.
Patent Information
- Application Number
- CN202311866988.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-28
- Publication Date
- 2025-07-01
AI Technical Summary
Traditional lidar attitude estimation algorithms cannot meet the accuracy and computing efficiency at the same time under the requirements of high real-time.
Through three-axis scanning, laser beams are emitted to the target object in the three-axis direction, echo signals are received, the three-dimensional velocity information of the target object, and then reversely push the equipment velocity information of the lidar, and finally determine the lidar's own posture.
The accuracy and calculation efficiency of attitude calculation under high real-time requirements are achieved, and the accuracy requirements of lidar in autonomous driving and robot navigation are met.
Smart Images

Figure CN120233369A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of lidar technology, and particularly relates to a method, device, electronic device, and medium for determining the self-attitude of a lidar. Background Art
[0002] Lidar is widely used in fields such as autonomous driving, robot navigation, and environmental perception to obtain high-precision distance and three-dimensional space information. To ensure that the lidar measurement results can be accurately mapped into the global coordinate system, it is necessary to determine the self-attitude of the lidar, that is, the position and orientation information of the device. This problem is particularly critical in robot and autonomous driving systems because it directly affects the accuracy of lidar positioning and map construction.
[0003] In some applications, such as autonomous driving, it is necessary to obtain the attitude information of the lidar in real time, while traditional attitude estimation algorithms cannot meet the accuracy requirements under high real-time requirements and maintain the calculation efficiency at the same time. Summary of the Invention
[0004] The embodiments of this application provide a method, device, electronic device, and medium for determining the self-attitude of a lidar, which can solve the problem that the attitude estimation algorithm in the prior art cannot meet the accuracy requirements under high real-time requirements and maintain the calculation efficiency at the same time.
[0005] In a first aspect, the embodiments of this application provide a method for determining the self-attitude of a lidar, and the determination method includes:
[0006] Emitting laser beams towards a target object in three-axis directions through three-axis scanning, where the three axes are three mutually perpendicular coordinate axes;
[0007] Receiving echo signals, and determining the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signals;
[0008] Determining the device velocity information of the lidar according to the three-dimensional velocity information of each point cloud data;
[0009] Determining the self-attitude of the lidar according to the device velocity information of the lidar.
[0010] In a possible implementation manner, emitting laser beams towards a target object in three-axis directions through three-axis scanning includes:
[0011] At the same moment, emitting laser beams towards the target object in the x-axis, y-axis, and z-axis directions respectively through three-axis scanning, where the x-axis is the axis perpendicular to the forward direction of the lidar, the y-axis is the axis where the forward direction of the lidar is located, the z-axis is the axis perpendicular to the xoy plane, and the xoy plane is the plane formed by the x-axis and the y-axis.
[0012] In a possible implementation, the device velocity information of the lidar is determined according to the three-dimensional velocity information of each point cloud data, including:
[0013] According to the velocity information of each point cloud data on the x-axis, y-axis, and z-axis respectively and the preset coordinate conversion relation, the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar are determined;
[0014] According to the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar, the device velocity information of the lidar is determined.
[0015] In a possible implementation, the first angle is the horizontal angle between the target object and the lidar, and the second angle is the vertical angle between the target object and the lidar; according to the velocity information of each point cloud data on the x-axis, y-axis, and z-axis respectively and the preset coordinate conversion relation, determining the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar includes:
[0016] According to the velocity information of each point cloud data on the x-axis, y-axis, and z-axis respectively and the preset coordinate conversion relation, the velocity vector value, the horizontal angle between the target object and the lidar, and the vertical angle between the target object and the lidar are determined;
[0017] According to the velocity vector value and the horizontal angle, the first angular velocity value is determined;
[0018] According to the velocity vector value and the vertical angle, the second angular velocity value is determined.
[0019] In a possible implementation, the echo signal includes the three-dimensional point cloud information of the target object; receiving the echo signal and determining the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signal includes:
[0020] Receiving the echo signal and determining the three-dimensional point cloud information of the target object;
[0021] By identifying the three-dimensional point cloud information of the target object, the three-dimensional point cloud coordinates of each point cloud data are determined;
[0022] According to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times, the three-dimensional velocity information of each point cloud data constituting the target object is calculated.
[0023] In a possible implementation, according to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times, calculating the three-dimensional velocity information of each point cloud data constituting the target object includes:
[0024] Calculate the three-dimensional distance of the corresponding point cloud data between the current moment and the previous moment according to the three-dimensional point cloud coordinates of the point cloud data corresponding to the current moment and the three-dimensional point cloud coordinates of the point cloud data corresponding to the previous moment;
[0025] Calculate the three-dimensional velocity information of each point cloud data constituting the target object according to the three-dimensional distance and the time difference between the previous moments.
[0026] In a possible implementation manner, determine the own pose of the lidar according to the device velocity information of the lidar, including:
[0027] Fuse the device velocity information of the lidar and the distance measurement data of the lidar to determine the own pose of the lidar, and the distance measurement data is obtained according to the echo signal.
[0028] In a second aspect, an embodiment of the present application provides a device for determining the own pose of a lidar, and the determining device includes:
[0029] A transmitting module, configured to emit laser beams to a target object in three-axis directions through three-axis scanning, and the three axes are three mutually perpendicular coordinate axes;
[0030] A receiving module, configured to receive an echo signal and determine the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signal;
[0031] A velocity determining module, configured to determine the device velocity information of the lidar according to the three-dimensional velocity information of each point cloud data;
[0032] A pose determining module, configured to determine the own pose of the lidar according to the device velocity information of the lidar.
[0033] In a possible implementation manner, the above-mentioned transmitting module may specifically include the following units:
[0034] A three-axis transmitting unit, configured to emit laser beams to a target object in the x-axis, y-axis, and z-axis directions respectively through three-axis scanning at the same moment, where the x-axis is an axis perpendicular to the forward direction of the lidar, the y-axis is the axis where the forward direction of the lidar is located, the z-axis is an axis perpendicular to the xoy plane, and the xoy plane is a plane formed by the x-axis and the y-axis.
[0035] In a possible implementation manner, the above-mentioned velocity determining module may specifically include the following units:
[0036] A velocity value determining unit, configured to determine the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar according to the velocity information of each point cloud data on the x-axis, y-axis, and z-axis respectively and a preset coordinate conversion relation;
[0037] An information determination unit, configured to determine the device speed information of the lidar according to the speed vector value, the first angular velocity value, and the second angular velocity value of the lidar.
[0038] In a possible implementation manner, the first angle is the horizontal included angle between the target object and the lidar, and the second angle is the vertical included angle between the target object and the lidar; specifically, the above speed value determination unit may be configured to:
[0039] According to the speed information of each point cloud data on the x-axis, y-axis, and z-axis respectively and the preset coordinate conversion relation formula, determine the speed vector value of the lidar, the horizontal included angle between the target object and the lidar, and the vertical included angle between the target object and the lidar;
[0040] According to the speed vector value and the horizontal included angle, determine the first angular velocity value;
[0041] According to the speed vector value and the vertical included angle, determine the second angular velocity value.
[0042] In a possible implementation manner, the echo signal includes the three-dimensional point cloud information of the target object; specifically, the above receiving module may include the following units:
[0043] A point cloud determination unit, configured to receive the echo signal and determine the three-dimensional point cloud information of the target object;
[0044] A three-dimensional coordinate determination unit, configured to determine the three-dimensional point cloud coordinates of each point cloud data by identifying the three-dimensional point cloud information of the target object;
[0045] A three-dimensional speed determination unit, configured to calculate the three-dimensional speed information of each point cloud data constituting the target object according to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times.
[0046] In a possible implementation manner, specifically, the above three-dimensional speed determination unit may be configured to:
[0047] According to the three-dimensional point cloud coordinates of the point cloud data corresponding to the current moment and the three-dimensional point cloud coordinates of the point cloud data corresponding to the previous moment, calculate the three-dimensional distance between the corresponding point cloud data between the current moment and the previous moment;
[0048] According to the three-dimensional distance and the time difference between the previous moment, calculate the three-dimensional speed information of each point cloud data constituting the target object.
[0049] In a possible implementation manner, specifically, the above attitude determination module may include the following units:
[0050] A data fusion unit is configured to fuse the device speed information of the lidar and the distance measurement data of the lidar to determine the self - pose of the lidar. The distance measurement data is obtained based on the echo signal.
[0051] In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method for determining the self - pose of the lidar as described above is implemented.
[0052] In a fourth aspect, an embodiment of the present application provides a computer - readable storage medium, on which a computer program is stored. The computer program, when executed by a processor, implements the method for determining the self - pose of the lidar as described above.
[0053] In a fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on an electronic device, the electronic device is caused to execute the method for determining the self - pose of the lidar as described above.
[0054] The beneficial effects of the embodiments of the present application compared with the prior art are as follows:
[0055] In the present application, first, laser beams are emitted to a target object in three mutually - perpendicular axes (i.e., three - axis scanning). Secondly, the echo signal is received, and the three - dimensional speed information of each point cloud data constituting the target object is determined according to the echo signal. The three - dimensional speed information includes three uncorrelated speed values, which can simplify the attitude calculation and make the calculation result more accurate. Finally, the device speed information of the lidar is deduced based on the three - dimensional speed information of each point cloud data, and then the self - pose of the lidar is determined according to the device speed information. The above - mentioned solution can directly obtain the self - pose through one - time ranging by three - axis scanning, and the three mutually - perpendicular axes make the attitude calculation simple and the calculation result more accurate, meeting both the real - time requirement and the calculation accuracy requirement. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the following - described drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0057] Figure 1 It is a schematic flowchart of a method for determining the self - pose of a lidar provided by an embodiment of the present application;
[0058] Figure 2It is a schematic flow chart for determining the device speed information of a lidar provided by another embodiment of the present application;
[0059] Figure 3 It is a schematic diagram of the horizontal angle between a target object and a lidar provided by another embodiment of the present application;
[0060] Figure 4 It is a schematic diagram of the vertical angle between a target object and a lidar provided by another embodiment of the present application;
[0061] Figure 5 It is a schematic structural diagram of a device for determining the self - attitude of a lidar provided by an embodiment of the present application;
[0062] Figure 6 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners
[0063] In the following description, for the purpose of illustration rather than limitation, specific details such as specific system architectures, technologies, etc. are presented to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well - known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0064] It should be understood that when used in the specification and the appended claims of the present application, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0065] It should also be understood that the term "and / or" as used in the specification and the appended claims of the present application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0066] As used in the specification and the appended claims of the present application, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if detecting [the described condition or event]" can be interpreted as meaning "once determined", "in response to determining", "once detecting [the described condition or event]", or "in response to detecting [the described condition or event]" according to the context.
[0067] In addition, in the description of the specification and the appended claims of the present application, the terms "first", "second", "third", etc. are only used for differential description and should not be construed as indicating or implying relative importance.
[0068] The reference to "one embodiment" or "some embodiments" etc. described in the specification of the present application means that a specific feature, structure or characteristic described in connection with that embodiment is included in one or more embodiments of the present application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in another way. The terms "comprise", "include", "have" and their variants all mean "including but not limited to", unless otherwise specifically emphasized in another way.
[0069] It should be understood that the magnitude of the sequence numbers of the steps in this embodiment does not mean the sequence of execution, and the execution sequence of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0070] LiDAR is widely used in fields such as autonomous driving, robot navigation, and environmental perception to obtain high-precision distance and three-dimensional space information. To ensure that the LiDAR measurement results can be accurately mapped into the global coordinate system, it is necessary to determine the self-pose of the LiDAR, that is, the position and orientation information of the device. This problem is particularly critical in robots and autonomous driving systems because it directly affects the accuracy of LiDAR positioning and map construction.
[0071] In some applications, such as autonomous driving, it is necessary to obtain the pose information of the LiDAR in real time, while traditional pose estimation algorithms cannot meet the accuracy requirements under high real-time requirements and maintain computational efficiency at the same time.
[0072] To solve the above problems, the present application provides a method for determining the attitude of a lidar. The determination method in the present application first emits laser beams towards a target object in three axial directions through three-axis scanning, where the three axes are three mutually perpendicular coordinate axes. Secondly, echo signals are received, and three-dimensional velocity information of each point cloud data constituting the target object is determined according to the echo signals. The three-dimensional velocity information includes three velocity values that are not correlated in direction, which can simplify the attitude calculation and make the calculation result more accurate. Finally, the device velocity information of the lidar is deduced inversely according to the three-dimensional velocity information of each point cloud data, and then the self-attitude scan of the lidar is determined according to the device velocity information. The above solution can directly obtain the self-attitude through one ranging by means of three-axis scanning, and the mutual perpendicularity of the three axes makes the attitude calculation simple and the calculation result more accurate, meeting both the real-time requirement and the calculation accuracy requirement.
[0073] The following will describe in detail a method, device, electronic device, storage medium, and computer program for determining the attitude of a lidar provided by the present application with reference to the accompanying drawings.
[0074] Step 101: Emit laser beams towards a target object in three axial directions through three-axis scanning.
[0075] It should be noted that the method for determining the attitude of a lidar in the embodiments of the present application can be executed by the device for determining the attitude of a lidar in the embodiments of the present application. The device for determining the attitude of a lidar in the embodiments of the present application can be configured in any electronic device to execute the method for determining the attitude of a lidar in the embodiments of the present application. For example, the device for determining the attitude of a lidar in the embodiments of the present application can be configured in a lidar to inversely deduce the self-attitude of the lidar by scanning the target object through three axes.
[0076] Among them, the three axes are three mutually perpendicular coordinate axes, and three-axis scanning refers to using a lidar to scan in three axial directions (usually the x-axis, y-axis, and z-axis), that is, emitting laser beams and rotating or moving on these three axes to achieve omnidirectional scanning.
[0077] Among them, the laser beam can refer to the pulse signal emitted by the lidar.
[0078] In the embodiments of the present application, in each ranging process, scanning can be performed in a manner where the three axes are mutually perpendicular to ensure that in each ranging process, the velocity information of the target object on the three axes can be directly obtained. Since the three axes are mutually perpendicular, the velocities in the three directions are not correlated, which can make the inverse deduction result more accurate.
[0079] In a possible implementation manner, emitting laser beams towards a target object in three axial directions through three-axis scanning includes:
[0080] At the same time, laser beams are emitted towards the target object in the x-axis, y-axis, and z-axis directions respectively through three-axis scanning.
[0081] Among them, the x-axis is the axis perpendicular to the forward direction of the lidar, the y-axis is the axis where the forward direction of the lidar is located, the z-axis is the axis perpendicular to the xoy plane, and the xoy plane is the plane formed by the x-axis and the y-axis.
[0082] In the embodiment of the present application, since the lidar is in a moving state, laser beams can be emitted towards the target object by means of three-axis scanning at the same time, so as to ensure that the velocities of each axis confirmed according to the received echo signals are the velocities at the same time, and only the self-attitude of the lidar at this moment can be deduced based on the velocities at the same time.
[0083] Step 102: Receive the echo signal and determine the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signal.
[0084] Among them, the echo signal may refer to the signal that intersects with the target object and is reflected back after the lidar emits the laser beam. The echo signal contains information such as the distance, shape, and surface characteristics of the target object. Specifically, receiving the echo signal means that during the scanning of the lidar, the emitted laser beam intersects with the target object to generate an echo signal, which is received by the lidar.
[0085] Among them, the point cloud data may refer to discrete three-dimensional coordinate points that identify the position of the surface of the target object in space.
[0086] Among them, the three-dimensional velocity information may refer to the velocity information of each point cloud data on the x-axis, y-axis, and z-axis. It indicates the motion state of the target object.
[0087] In the embodiment of the present application, after the lidar emits the laser beam, it waits to receive the echo signal. The echo signal contains the characteristics of the light from the surface of the target object, and each characteristic corresponds to a point cloud data. By analyzing the information such as the time, amplitude, and phase of the echo signal, the position change of each point cloud data during the scanning can be calculated. Using the information of these position changes, through differential or other mathematical methods, the velocity information of each point cloud data in the three-axis directions can be calculated. Finally, the three-dimensional velocity information of each point cloud data constituting the target object is determined, providing key data for subsequent target tracking and motion analysis.
[0088] In a possible implementation manner, the echo signal includes the three-dimensional point cloud information of the target object, and the above step 102 may include:
[0089] Receive the echo signal and determine the three-dimensional point cloud information of the target object;
[0090] By identifying the three-dimensional point cloud information of the target object, determine the three-dimensional point cloud coordinates of each point cloud data;
[0091] According to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times, calculate the three-dimensional velocity information of each point cloud data that makes up the target object.
[0092] In the embodiment of the present application, since the echo signal includes the three-dimensional point cloud information of the target object, after receiving the echo signal, the three-dimensional point cloud information of the target object can be first determined, and then by identifying the three-dimensional point cloud information of the target object, the three-dimensional point cloud coordinates of each point cloud data can be determined. The coordinate axes of the three-dimensional point cloud coordinates are the x-axis, y-axis, and z-axis respectively, where the positive direction of the y-axis is the forward direction of the device; the x-axis is the direction perpendicular to the forward direction of the device, and the positive direction of the x-axis is on the right side of the positive direction of the y-axis; the z-axis is the direction perpendicular to the xoy plane, and the positive direction is defined as directly above the device when it is working properly. According to the preset lidar coordinate system xyz, the three-dimensional point cloud coordinates of each point cloud data can be determined.
[0093] Since the three-dimensional point cloud coordinates represent the spatial position information of the target object, if the three-dimensional point cloud coordinates at different times are obtained, the three-dimensional velocity information of each point cloud data can be calculated according to the time interval and the position deviation.
[0094] In a possible implementation manner, calculating the three-dimensional velocity information of each point cloud data that makes up the target object according to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times includes:
[0095] According to the three-dimensional point cloud coordinates of the point cloud data corresponding to the current moment and the three-dimensional point cloud coordinates of the point cloud data corresponding to the previous moment, calculate the three-dimensional distance between the corresponding point cloud data between the current moment and the previous moment;
[0096] According to the three-dimensional distance and the time difference between the previous moment, calculate the three-dimensional velocity information of each point cloud data that makes up the target object.
[0097] Exemplarily, assume that the current moment is t2, the previous moment is t1, the three-dimensional point cloud coordinates corresponding to the current moment are (x2, y2, z2), and the three-dimensional point cloud coordinates corresponding to the previous moment are (x1, y1, z1). Then the three-dimensional distance is (x2 - x1, y2 - y1, z2 - z1), and the time difference is t2 - t1. According to the above data, the three-dimensional velocity information of this point cloud data can be obtained as (v1, y1, z1), where v1 = (x2 - x1) / (t2 - t1), y1 = (y2 - y1) / (t2 - t1), z1 = (z2 - z1) / (t2 - t1).
[0098] Step 103: Determine the device speed information of the lidar based on the three-dimensional speed information of each point cloud data.
[0099] Among them, the three-dimensional speed information of the point cloud data may refer to the movement speed of each point cloud data in space, usually including the speed components in the x, y, and z axis directions.
[0100] Among them, the device speed information of the lidar may refer to the speed of the lidar in the global coordinate system, including the speed components in the horizontal and vertical directions.
[0101] In the embodiment of the present application, for each point cloud data, the speed information in the three-axis directions has been calculated in the previous steps. Using the known relationship between the lidar coordinate system and the global coordinate system, coordinate transformation is performed to convert the speed information of each point cloud data from the lidar coordinate system to the global coordinate system, and thus the device speed information of the lidar in the global coordinate system can be determined.
[0102] In a possible implementation manner, determining the device speed information of the lidar based on the three-dimensional speed information of each point cloud data includes:
[0103] Determine the speed vector value, the first angular speed value, and the second angular speed value of the lidar according to the speed information of each point cloud data in the x-axis, y-axis, and z-axis respectively and the preset coordinate transformation relation formula;
[0104] Determine the device speed information of the lidar according to the speed vector value, the first angular speed value, and the second angular speed value of the lidar.
[0105] In the embodiment of the present application, the preset coordinate transformation relation formula may refer to the coordinate transformation relation formula between the lidar coordinate system and the global coordinate system. The speed information of each point cloud data in the x-axis, y-axis, and z-axis respectively refers to the speed information in the lidar coordinate system, and the speed vector value, the first angular speed value, and the second angular speed value of the lidar may refer to the speed and speed components of the lidar in the global coordinate system.
[0106] Step 104: Determine the self-attitude of the lidar according to the device speed information of the lidar.
[0107] In the embodiment of the present application, the self-attitude of the lidar is confirmed by the position information and speed information of the lidar. Therefore, after determining the device speed information of the lidar, the current motion attitude of the lidar can be determined.
[0108] In a possible implementation manner, determining the self-attitude of the lidar according to the device speed information of the lidar includes:
[0109] Fuse the device speed information of the lidar and the distance measurement data of the lidar to determine the self-attitude of the lidar. The distance measurement data is obtained based on the echo signal.
[0110] In the embodiment of the present application, the distance measurement data of the lidar refers to the position information of the lidar. By fusing the device speed information and the position information of the lidar, the motion attitude and position of the lidar in the global coordinate system, that is, the self-attitude of the lidar, can be obtained.
[0111] In the embodiment of the present application, first, laser beams are emitted to the target object in three mutually perpendicular axes by means of three-axis scanning. Secondly, the echo signal is received, and the three-dimensional speed information of each point cloud data constituting the target object is determined according to the echo signal. The three-dimensional speed information includes three velocity values that are not related in direction, which can simplify the attitude calculation and make the calculation result more accurate. Finally, the device speed information of the lidar is deduced based on the three-dimensional speed information of each point cloud data, and then the self-attitude of the lidar is determined according to the device speed information. Through the above method of three-axis scanning, the self-attitude can be directly obtained through one ranging, and the mutual perpendicularity of the three axes makes the attitude calculation simple and the calculation result more accurate, meeting both the real-time requirement and the calculation accuracy requirement.
[0112] The following combines Figure 2 to further illustrate the method for determining the self-attitude of the lidar provided in the embodiment of the present application.
[0113] Figure 2 shows a schematic flow chart of determining the device speed information of the lidar provided in another embodiment of the present application.
[0114] As Figure 2 shown, the process of determining the device speed information of the lidar may include the following steps:
[0115] Step 201, according to the velocity information of each point cloud data on the x-axis, y-axis, and z-axis respectively and the preset coordinate transformation relation, determine the velocity vector value of the lidar, the horizontal angle between the target object and the lidar, and the vertical angle between the target object and the lidar.
[0116] In the embodiment of the present application, the first angle in the above embodiment may be the horizontal angle between the target object and the lidar, and the second angle may be the vertical angle between the target object and the lidar. For example, referring to Figure 3 as a schematic diagram of the horizontal angle, and referring to Figure 4 as a schematic diagram of the vertical angle.
[0117] Exemplarily, assume that the velocity information of the point cloud data on the x-axis, y-axis, and z-axis is V _X, V _Y , V _Z , the preset coordinate transformation relation formula is:
[0118] V _X = V _D * cos(V _ANG ) * sin(H _ANG )
[0119] V _Y = V _D * cos(V _ANG ) * cos(H _ANG )
[0120] V _Z = V _D * sin(V _ANG )
[0121] Among them, V _D is the speed vector value, V _ANG is the vertical angle, and H _ANG is the horizontal angle. In the above coordinate transformation relation formula, V _X , V _Y , V _Z are known quantities, and V _D , V _ANG , H _ANG are unknown quantities. From the three unknown quantities and the three equations, the speed vector value of the lidar, the horizontal angle between the target object and the lidar, and the vertical angle between the target object and the lidar can be obtained in the way of solving equations.
[0122] Step 202, determine the first angular velocity value according to the speed vector value and the horizontal angle.
[0123] In the embodiment of the present application, the first angular velocity value is used as the horizontal component of the speed vector value. After obtaining the horizontal angle, the first angular velocity value can be determined according to the speed vector value and the horizontal angle.
[0124] Step 203, determine the second angular velocity value according to the speed vector value and the vertical angle.
[0125] In the embodiment of the present application, the second angular velocity value is used as the vertical component of the speed vector value. After obtaining the horizontal angle, the second angular velocity value can be determined according to the speed vector value and the vertical angle.
[0126] The embodiment of the present application provides a method for solving the device speed information of the lidar by using the preset coordinate transformation relation formula. The algorithm is simple, convenient and fast, and can better meet the real-time requirements.
[0127] Corresponding to the method for determining the self - attitude of the lidar in the above - mentioned embodiment, Figure 5 The schematic structural diagram of a device for determining the self - attitude of a lidar provided in an embodiment of the present application is shown. For the sake of convenience of description, only the parts related to the embodiments of the present application are shown.
[0128] See Figure 5 , the determining device 500 includes:
[0129] A transmitting module 501, configured to emit laser beams to a target object in three - axis directions through three - axis scanning, where the three axes are three mutually perpendicular coordinate axes;
[0130] A receiving module 502, configured to receive echo signals and determine the three - dimensional velocity information of each point cloud data constituting the target object according to the echo signals;
[0131] A velocity determining module 503, configured to determine the device velocity information of the lidar according to the three - dimensional velocity information of each point cloud data;
[0132] An attitude determining module 504, configured to determine the self - attitude of the lidar according to the device velocity information of the lidar.
[0133] In the embodiment of the present application, the above - mentioned transmitting module 501 may specifically include the following units:
[0134] A three - axis transmitting unit, configured to emit laser beams to the target object in the x - axis, y - axis, and z - axis directions respectively through three - axis scanning at the same moment, where the x - axis is the axis perpendicular to the forward direction of the lidar, the y - axis is the axis where the forward direction of the lidar is located, the z - axis is the axis perpendicular to the xoy plane, and the xoy plane is the plane formed by the x - axis and the y - axis.
[0135] In the embodiment of the present application, the above - mentioned velocity determining module 503 may specifically include the following units:
[0136] A velocity value determining unit, configured to determine the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar according to the velocity information of each point cloud data in the x - axis, y - axis, and z - axis directions respectively and a preset coordinate conversion relation;
[0137] An information determining unit, configured to determine the device velocity information of the lidar according to the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar.
[0138] In the embodiment of the present application, the first angle is the horizontal angle between the target object and the lidar, and the second angle is the vertical angle between the target object and the lidar; specifically, the above - mentioned velocity value determining unit may be used for:
[0139] Based on the velocity information of each point cloud data on the x-axis, y-axis, and z-axis respectively and the preset coordinate transformation relation, determine the velocity vector value of the lidar, the horizontal angle between the target object and the lidar, and the vertical angle between the target object and the lidar;
[0140] Based on the velocity vector value and the horizontal angle, determine the first angular velocity value;
[0141] Based on the velocity vector value and the vertical angle, determine the second angular velocity value.
[0142] In the embodiment of the present application, the echo signal includes the three-dimensional point cloud information of the target object; the above receiving module 502 may specifically include the following units:
[0143] The point cloud determination unit is configured to receive the echo signal and determine the three-dimensional point cloud information of the target object;
[0144] The three-dimensional coordinate determination unit is configured to determine the three-dimensional point cloud coordinates of each point cloud data by identifying the three-dimensional point cloud information of the target object;
[0145] The three-dimensional velocity determination unit is configured to calculate the three-dimensional velocity information of each point cloud data constituting the target object according to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times.
[0146] In the embodiment of the present application, the above three-dimensional velocity determination unit may specifically be used for:
[0147] According to the three-dimensional point cloud coordinates of the point cloud data corresponding to the current moment and the three-dimensional point cloud coordinates of the point cloud data corresponding to the previous moment, calculate the three-dimensional distance between the corresponding point cloud data between the current moment and the previous moment;
[0148] According to the three-dimensional distance and the time difference between the previous moment, calculate the three-dimensional velocity information of each point cloud data constituting the target object.
[0149] In the embodiment of the present application, the above attitude determination module 504 may specifically include the following units:
[0150] The data fusion unit is configured to perform data fusion on the device velocity information of the lidar and the distance measurement data of the lidar to determine the self-attitude of the lidar, and the distance measurement data is obtained according to the echo signal.
[0151] In actual use, the device for determining the self-attitude of the lidar provided in the embodiment of the present application can be configured in any electronic device to execute the foregoing method for determining the self-attitude of the lidar.
[0152] It should be noted that for the information interaction, execution process, etc. between the above-mentioned devices / units, since they are based on the same concept as the method embodiments of the present application, for their specific functions and the technical effects brought, reference can be specifically made to the method embodiment part, and details will not be elaborated here.
[0153] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the above-mentioned division of each functional unit and module is used as an example. In actual applications, the above-mentioned functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of the present application. The specific working process of the units and modules in the above system can refer to the corresponding process in the foregoing method embodiment, and details will not be elaborated here.
[0154] See Figure 6 , which shows a schematic structural diagram of an electronic device provided by an embodiment of the present application. As Figure 6 shown, the electronic device 600 in this embodiment includes: at least one processor 610 ( Figure 6 only one is shown in the figure), a memory 620, and a computer program 621 stored in the memory 620 and executable on the at least one processor 610. When the processor 610 executes the computer program 621, the steps in the above-mentioned method embodiment for determining the attitude of the lidar itself are implemented.
[0155] It should be noted that the electronic device 600 may refer to computing devices such as lidars, desktop computers, notebooks, palm computers, and cloud servers. The electronic device may include, but is not limited to, a processor 610 and a memory 620. Those skilled in the art can understand that Figure 6 merely examples of the electronic device 600 do not constitute a limitation to the electronic device 600, and it may include more or fewer components than shown in the figure, or combine some components, or different components. For example, it may also include input / output devices, network access devices, etc.
[0156] The so-called processor 610 may be a Central Processing Unit (CPU), and this processor 610 may also be other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or this processor may also be any conventional processor, etc.
[0157] In some embodiments, the memory 620 may be an internal storage unit of the electronic device 600, such as the hard disk or memory of the electronic device 600. In other embodiments, the memory 620 may also be an external storage device of the electronic device 600, such as a plug-in hard disk equipped on the electronic device 600, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Further, the memory 620 may also include both the internal storage unit of the electronic device 600 and the external storage device. The memory 620 is used to store an operating system, application programs, a Boot Loader, data, and other programs, such as the program code of the computer program, etc. The memory 620 may also be used to temporarily store data that has been output or will be output.
[0158] In the above embodiments, the descriptions of the various embodiments each have their own focuses. For parts not detailed or recorded in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0159] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0160] In the embodiments provided in the present application, it should be understood that the disclosed device / electronic device and method can be implemented in other ways. For example, the device / electronic device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections between each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.
[0161] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0162] In addition, each functional unit in the various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0163] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above method embodiments of the present application, it can also be completed by instructing relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form, etc. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0164] All or part of the processes in the methods of the above embodiments can also be implemented by a computer program product. When the computer program product runs on an electronic device, the electronic device can execute the steps in the above method embodiments when executed.
[0165] The above embodiments are only used to illustrate the technical solutions of the present application, not to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A method for determining the attitude of a lidar itself, characterized in that The determination method includes: Emitting laser beams towards the target object in three-axis directions through three-axis scanning, where the three axes are three mutually perpendicular coordinate axes; Receiving echo signals and determining the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signals; Determining the device velocity information of the lidar according to the three-dimensional velocity information of each point cloud data; Determining the self-orientation of the lidar according to the device velocity information of the lidar.
2. The determination method according to claim 1, characterized in that The emitting laser beams towards the target object in three-axis directions through three-axis scanning includes: At the same moment, emitting laser beams towards the target object in the x-axis, y-axis, and z-axis directions respectively through three-axis scanning. The x-axis is the axis perpendicular to the advancing direction of the lidar, the y-axis is the axis where the advancing direction of the lidar is located, the z-axis is the axis perpendicular to the xoy plane, and the xoy plane is the plane formed by the x-axis and the y-axis.
3. The determination method according to claim 2, characterized in that, The determining the device velocity information of the lidar according to the three-dimensional velocity information of each point cloud data includes: Determining the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar according to the velocity information of each point cloud data in the x-axis, y-axis, and z-axis respectively and a preset coordinate transformation relation; Determining the device velocity information of the lidar according to the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar.
4. The determination method according to claim 3, wherein The first angle is the horizontal angle between the target object and the lidar, and the second angle is the vertical angle between the target object and the lidar. The determining the velocity vector value, the first angular velocity value, and the second angular velocity value of the lidar according to the velocity information of each point cloud data in the x-axis, y-axis, and z-axis respectively and a preset coordinate transformation relation includes: Determining the velocity vector value of the lidar, the horizontal angle between the target object and the lidar, and the vertical angle between the target object and the lidar according to the velocity information of each point cloud data in the x-axis, y-axis, and z-axis respectively and a preset coordinate transformation relation; Determining the first angular velocity value according to the velocity vector value and the horizontal angle; Determining the second angular velocity value according to the velocity vector value and the vertical angle.
5. The determination method according to claim 1, characterized in that The echo signals include the three-dimensional point cloud information of the target object; The receiving echo signals and determining the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signals includes: Receiving the echo signals and determining the three-dimensional point cloud information of the target object; Determining the three-dimensional point cloud coordinates of each point cloud data by identifying the three-dimensional point cloud information of the target object; Calculating the three-dimensional velocity information of each point cloud data constituting the target object according to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times.
6. The determination method according to claim 5, characterized in that The calculating the three-dimensional velocity information of each point cloud data constituting the target object according to the three-dimensional point cloud coordinates of each point cloud data corresponding to different times includes: Calculate the three-dimensional distance of the corresponding point cloud data between the current moment and the previous moment according to the three-dimensional point cloud coordinates of the point cloud data corresponding to the current moment and the three-dimensional point cloud coordinates of the point cloud data corresponding to the previous moment; Calculate the three-dimensional velocity information of each point cloud data constituting the target object according to the three-dimensional distance and the time difference between the previous moments.
7. The determination method according to claim 1, characterized in that The determining the own attitude of the lidar according to the device velocity information of the lidar includes: Fuse the device velocity information of the lidar and the distance measurement data of the lidar to determine the own attitude of the lidar, and the distance measurement data is obtained according to the echo signal.
8. An apparatus for determining the attitude of a lidar, characterized in that The determining device includes: A transmitting module, configured to emit laser beams to a target object in three-axis directions through three-axis scanning, where the three axes are three mutually perpendicular coordinate axes; A receiving module, configured to receive an echo signal and determine the three-dimensional velocity information of each point cloud data constituting the target object according to the echo signal; A velocity determining module, configured to determine the device velocity information of the lidar according to the three-dimensional velocity information of each point cloud data; An attitude determining module, configured to determine the own attitude of the lidar according to the device velocity information of the lidar.
9. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, the method described in any one of claims 1-7 is implemented.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, the method described in any one of claims 1-7 is implemented.