Sensor calibration method of self-moving equipment and self-moving equipment

By collecting data points from mobile devices and generating data curves, and automatically deducing calibration parameters, the problem of low sensor calibration efficiency in the existing technology is solved, and efficient sensor calibration and positioning accuracy is achieved.

CN119105014APending Publication Date: 2024-12-10GUANGZHOU SHIYUAN ELECTRONICS CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310629892.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-05-30
Publication Date
2024-12-10

AI Technical Summary

Technical Problem

Before use, existing robots need to use external devices to calibrate sensors, which is low efficiency and lead to positioning errors.

Method used

By driving the sensor to collect data points from mobile devices, generate data curves and build constraint relationships under preset coordinate systems, automatically deduce calibration parameters, reduce manual participation, and improve calibration efficiency.

Benefits of technology

The sensor can be effectively calibrated without relying on external devices, improving calibration efficiency, reducing manual participation, and enhancing positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119105014A_ABST
    Figure CN119105014A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of self-moving equipment, and discloses a sensor calibration method of self-moving equipment and the self-moving equipment. According to the embodiment, the self-moving device is controlled to collect the first data point and the second data point, and the first data curve and the second data curve are generated according to the first data point and the second data point, so that the first data point and the second data point can be converted to the preset coordinate system of the same dimension, and the accuracy of the data curve is improved. And constructing a constraint relationship between the first data point and the second data point so as to derive a calibration parameter. Then, the calibration parameters are determined according to the first data curve and the second data curve, and the calibration parameters are used for calibrating the first sensor and / or the second sensor, so that the calibration process does not need to depend on external equipment; the calibration parameters can be effectively and automatically deduced under the preset coordinate system of the same dimension based on the first data curve and the second data curve, manual participation in the calibration process is reduced, and the calibration efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of self-moving equipment, and in particular to a sensor calibration method of a self-moving equipment and the self-moving equipment. Background Art

[0002] Existing robots are usually equipped with multiple sensors to collect environmental data and perform positioning operations based on the environmental data. For example, multiple sensors include lidar and inertial measurement unit (IMU). The time of multiple sensors is usually inconsistent or the sensors are prone to scale deviation when collecting data, which makes the robot prone to positioning errors.

[0003] Before the robot provided by the related technology is put into use, it is necessary to calibrate the sensor with the help of external equipment. For example, when calibrating the inertial detection unit, it is necessary to fix the inertial detection unit on a high-precision turntable, control the high-precision turntable to rotate while collecting the detection parameters of the inertial detection unit, and generate calibration parameters based on the detection parameters. This calibration method is inefficient. Summary of the invention

[0004] An object of an embodiment of the present invention is to provide a sensor calibration method for a self-moving device and a self-moving device, aiming to solve the technical problem of low calibration efficiency in related technologies.

[0005] In a first aspect, an embodiment of the present invention provides a sensor calibration method for a mobile device, comprising:

[0006] Control the self-moving device to drive the first sensor to collect the first data point, and drive the second sensor to collect the second data point;

[0007] generating a first data curve in a preset coordinate system according to the plurality of the first data points;

[0008] generating a second data curve in the preset coordinate system according to the plurality of the second data points;

[0009] Calibration parameters are determined according to the first data curve and the second data curve, and the calibration parameters are used to calibrate the first sensor and / or the second sensor.

[0010] Optionally, determining calibration parameters according to the first data curve and the second data curve includes:

[0011] Constructing a calibration loss function according to the first data curve and the second data curve, wherein the calibration loss function is a loss function about calibration parameters;

[0012] The calibration parameters are determined according to the calibration loss function and a preset nonlinear algorithm.

[0013] Optionally, constructing a calibration loss function according to the first data curve and the second data curve includes:

[0014] Determine a reference data point according to the first data curve, wherein the reference data point is any first data point on the first data curve;

[0015] Determine, according to the second data curve, a second data point that satisfies a distance screening condition with the reference data point as a target data point;

[0016] A calibration loss function is constructed based on the reference data points and the target data points.

[0017] Optionally, determining, according to the second data curve, a second data point that satisfies a distance screening condition with respect to the reference data point as a target data point comprises:

[0018] Determine a k-dimensional tree according to the second data curve;

[0019] At least one second data point closest to the reference data point is determined as a target data point according to the k-dimensional tree.

[0020] Optionally, constructing a calibration loss function according to the reference data points and the target data points includes:

[0021] Determine a straight line equation of a target straight line, wherein the target straight line is a straight line formed by at least two of the target data points;

[0022] Calculate the point-to-line distance from the reference data point to the target tangent line according to the straight line equation;

[0023] A calibration loss function is constructed according to the point-line distance.

[0024] Optionally, the first data point is a first yaw angle, and generating a first data curve in a preset coordinate system according to the plurality of the first data points comprises: performing smoothing processing on the plurality of the first data points in the preset coordinate system according to a preset smoothing algorithm to obtain the first data curve;

[0025] The second data point is a second yaw angle, and generating a second data curve in a preset coordinate system according to the plurality of second data points includes: smoothing the plurality of second data points in the preset coordinate system according to a preset smoothing algorithm to obtain the second data curve.

[0026] Optionally, controlling the self-moving device to drive the first sensor to collect the first data point, and driving the second sensor to collect the second data point includes:

[0027] The self-moving device is controlled to drive the first sensor and the second sensor to rotate according to a specified rotation action to obtain a first data point and a second data point, wherein the specified rotation action includes the self-moving device swinging left and right at a specified angle in place, and then rotating a specified number of times in a specified rotation direction.

[0028] Optionally, the calibration parameters include time deviation and / or scale deviation;

[0029] The time of the first data point is approximately equal to the sum of the time of the second data point and the time deviation;

[0030] The scale of the first data point is approximately equal to the product of the scale of the second data point and the scale deviation.

[0031] In a second aspect, an embodiment of the present invention provides a non-volatile readable storage medium, characterized in that it stores computer executable instructions, wherein the computer executable instructions are used to enable a self-moving device to execute the above-mentioned sensor calibration method of the self-moving device.

[0032] In a third aspect, an embodiment of the present invention provides a self-moving device, including:

[0033] at least one processor; and,

[0034] a memory communicatively connected to the at least one processor; wherein,

[0035] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned sensor calibration method of the mobile device.

[0036] In the sensor calibration method of the self-moving device provided in the embodiment of the present invention, first, the present embodiment controls the self-moving device to drive the first sensor to collect the first data point, and drives the second sensor to collect the second data point, generates a first data curve in a preset coordinate system according to a plurality of first data points, and generates a second data curve in a preset coordinate system according to a plurality of second data points. Therefore, the present embodiment can convert the first data point and the second data point to the preset coordinate system of the same dimension, and construct a constraint relationship between the first data point and the second data point, so as to derive calibration parameters. Then, the present embodiment determines the calibration parameters according to the first data curve and the second data curve, and the calibration parameters are used to calibrate the first sensor and / or the second sensor. Therefore, the present embodiment does not need to rely on external equipment in the above calibration process, and can effectively and automatically derive the calibration parameters based on the first data curve and the second data curve in the preset coordinate system of the same dimension, thereby reducing the manual participation in the calibration process and helping to improve the calibration efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0038] Figure 1 A schematic diagram of a flow chart of a sensor calibration method for a self-moving device provided by an embodiment of the present invention;

[0039] Figure 2 A schematic diagram of a first data curve in a preset coordinate system obtained after a mobile device drives a first sensor to rotate according to a specified rotation action provided by an embodiment of the present invention;

[0040] Figure 3 A schematic diagram of a map generated when the first sensor and / or the second sensor is calibrated without using calibration parameters provided by an embodiment of the present invention;

[0041] Figure 4 A schematic diagram of a map generated when the first sensor and / or the second sensor are calibrated using calibration parameters provided in an embodiment of the present invention;

[0042] Figure 5 A schematic diagram of a yaw angle changing within the range of (-180°, 180°] provided in an embodiment of the present invention;

[0043] Figure 6 A schematic diagram of the structure of a sensor calibration device for a self-moving device provided by an embodiment of the present invention;

[0044] Figure 7 A schematic diagram of the circuit structure of a self-moving device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0046] It should be noted that, if there is no conflict, the various features in the embodiments of the present invention can be combined with each other, all within the scope of protection of the present invention. In addition, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in a different order from the module division in the device or the flow chart. Furthermore, the words "first", "second", "third", etc. used in the present invention do not limit the data and execution order, but only distinguish the same items or similar items with basically the same functions and effects.

[0047] An embodiment of the present invention provides a sensor calibration method for a self-moving device, wherein the self-moving device includes devices such as robots, drones or smart cars, robots include cleaning robots, transport robots, food delivery robots, etc., cleaning robots include sweeping robots, mopping robots, sweeping and mopping robots, floor washing robots, vacuuming robots, etc.

[0048] See also Figure 1 , the sensor calibration method of the mobile device includes the following steps:

[0049] S11: Control the mobile device to drive the first sensor to collect the first data point, and drive the second sensor to collect the second data point.

[0050] In this step, the first data point is the sensor data collected by the first sensor, and the second data point is the sensor data collected by the second sensor. The first data point and the second data point belong to the same type of sensor data, for example, the first data point and the second data point are both yaw angles, or both pitch angles, or both roll angles, or both accelerations, or both velocities, or both angular velocities, etc. It can be understood that the first data point or the second data point can also be a component decomposed from the corresponding sensor data, for example, a laser radar collects radar sensor data, and then decomposes the yaw angle from the radar sensor data, or a wheel speed inertial navigation sensor collects inertial navigation sensor data, and then decomposes the yaw angle from the inertial navigation sensor data.

[0051] The first sensor and the second sensor are both installed on the self-moving device, wherein the first sensor and the second sensor may be the same type of sensors or different types of sensors. For example, the first sensor and the second sensor are both laser radars, or the first sensor is a laser radar and the second sensor is an inertial detection unit, or the first sensor is an inertial detection unit and the second sensor is a wheel speed encoder, or the first sensor is an inertial detection unit and the second sensor is a wheel speed camera, or the first sensor is a laser radar and the second sensor is a wheel speed inertial navigation sensor. The laser radar may be a two-dimensional laser radar or a three-dimensional laser radar.

[0052] In some embodiments, the present embodiment controls the self-moving device to drive the first sensor and the second sensor to rotate a preset number of times in any rotation direction to obtain the first data point and the second data point. For example, the rotation direction is counterclockwise and the preset number of times is 5.

[0053] In some embodiments, the present embodiment controls the self-moving device to rotate the first sensor and the second sensor according to a specified rotation action to obtain a first data point and a second data point, wherein the specified rotation action includes swinging the self-moving device left and right at a specified angle in situ, and then rotating a specified number of times in a specified rotation direction. The operation of swinging the self-moving device left and right at a specified angle in situ includes a specified number of swing operations, and each swing operation includes rotating the self-moving device counterclockwise at a specified angle in situ to deviate from a reference direction, then rotating the self-moving device clockwise at a specified angle to return to the reference direction, and then rotating the self-moving device clockwise at a specified angle to deviate from the reference direction.

[0054] For example, the specified number is 3, the specified angle is 60 degrees, the specified rotation direction is clockwise, the specified number of turns is 6 turns, and the reference direction is the front direction of the self-moving device. The self-moving device rotates 60 degrees counterclockwise with the front direction as the reference direction, and then rotates 60 degrees clockwise to return to the reference direction. The above swing operation is repeated 3 times. After the swing operation is completed, the self-moving device rotates 5 turns in the counterclockwise direction.

[0055] It is understandable that when the first sensor or the second sensor is a laser radar, the self-moving device needs to rotate in an environment with laser characteristics in order to collect the first data point or the second data point. The environment with laser characteristics can be an environment that can reflect the laser line emitted by the laser radar back to the self-moving device. For example, the self-moving device rotates in the living room, and the first sensor is a laser radar. The laser radar rotates in the living room while emitting laser lines. The laser lines are blocked by the walls of the living room and reflected back to the laser radar, and the laser radar collects the first data point. If the self-moving device is placed on an open flat ground for rotation, since the emitted laser lines will not be reflected back to the laser radar, the environment where the open flat ground is located does not have laser characteristics. It is understandable that those skilled in the art can place the self-moving device in a suitable environment to collect data based on the characteristics of the data collected by the first sensor and the second sensor.

[0056] The above process can obtain multiple first data points and multiple second data points, wherein, see Figure 2, the variation rule of the data curve formed by the multiple first data points is: the variation rule of the data corresponding to the above three swing operations is to oscillate back and forth in a sinusoidal variation manner, and the variation rule of the data corresponding to the above five fixed rotation operations is to monotonically increase in a linear variation manner. Similarly, the variation rule of the data curve formed by the multiple second data points is similar to the variation rule of the data curve formed by the multiple first data points, which will not be described in detail here.

[0057] In this embodiment, the mobile device is first controlled to swing left and right and then rotate in a fixed rotation direction. Since the data points obtained during the left and right swinging process are high-frequency data with periodic changes, it is beneficial to generate high-precision calibration parameters when using periodic high-frequency data to perform nonlinear data fitting. Therefore, this embodiment uses the above method to collect the first data point and the second data point, laying the foundation for the subsequent generation of high-precision calibration parameters.

[0058] S12: Generate a first data curve in a preset coordinate system according to the plurality of first data points.

[0059] S13: Generate a second data curve in a preset coordinate system according to the plurality of second data points.

[0060] In this step, the preset coordinate system may be a two-dimensional coordinate system or a three-dimensional coordinate system. When the preset coordinate system is a two-dimensional coordinate system, the horizontal coordinate of the x-axis of the preset coordinate system is used to represent the first calibration parameter, and the vertical coordinate of the y-axis is used to represent the second calibration parameter, or the horizontal coordinate of the x-axis does not need to be used to represent the calibration parameter, and the vertical coordinate of the y-axis is used to represent the calibration parameter, or the horizontal coordinate of the x-axis is used to represent the calibration parameter, and the vertical coordinate of the y-axis does not need to be used to represent the calibration parameter.

[0061] The first calibration parameter is time, and the second calibration parameter is scale, or the first calibration parameter is scale, and the second calibration parameter is time. The scale is the value collected by the sensor, for example, if the laser radar can detect the yaw angle, the scale is the yaw angle, or if the wheel speed encoder can detect the angular velocity, the scale is the angular velocity.

[0062] The first data curve is a curve formed by a plurality of first data points, and the second data curve is a curve formed by a plurality of second data points. It is understandable that when there is no deviation between the first sensor and the second sensor in time and scale, the first data curve and the second data curve can overlap and blend with each other. However, in actual application, there will be a slight deviation between the first sensor and the second sensor in time and / or scale. In order to accurately determine the posture or positioning, the self-mobile device needs to be calibrated before it is put into use.

[0063] For example, the first sensor is a laser radar, and the second sensor is a wheel speed inertial navigation sensor. The self-mobile device determines its own posture according to the first data point collected by the laser radar and the second data point collected by the wheel speed inertial navigation sensor. The laser radar and the wheel speed inertial navigation sensor can both detect the yaw angle of the self-mobile device, and the yaw angle has good stability and accuracy on the laser radar and the wheel speed inertial navigation sensor. Therefore, this embodiment constructs a preset coordinate system, wherein the x-axis of the preset coordinate system is time t, and the y-axis is the yaw angle yaw. This embodiment generates a first data curve in the preset coordinate system according to multiple first data points, and generates a second data curve in the preset coordinate system according to multiple second data points, wherein the expression of the first data curve is: The expression of the second data curve is: This embodiment can transform the first data point and the second data point into a preset coordinate system of the same dimension, and construct a constraint relationship between the first data point and the second data point, so as to derive the calibration parameters.

[0064] S14: Determine calibration parameters according to the first data curve and the second data curve, where the calibration parameters are used to calibrate the first sensor and / or the second sensor.

[0065] In this step, the calibration parameters are parameters used to calibrate the first sensor and / or the second sensor. In some embodiments, the calibration parameters include time deviation and / or scale deviation, the time deviation is the deviation between the first sensor and the second sensor in time, and the scale deviation is the deviation between the first sensor and the second sensor in scale.

[0066] In some embodiments, the time of the first data point is approximately equal to the sum of the time of the second data point and the time deviation, that is: in, is the time of the first data point, is the time of the second data point, and δt is the time deviation. The scale of the first data point is approximately equal to the product of the scale of the second data point and the scale deviation, that is: in, is the scale of the first data point, is the scale of the second data point, and s is the scale deviation.

[0067] In this embodiment, the time of the sensor with more reliable time is selected between the first sensor and the second sensor as the reference time, and the time of the other sensor is calibrated in combination with the time deviation.

[0068] For example, when the time of the second sensor is more accurate and reliable, this embodiment uses the time of the second data point as the reference time and calibrates the time of the first data point in combination with the time deviation. For example, the first sensor is a laser radar, and the second sensor is a wheel speed inertial navigation sensor. The time delay of the wheel speed inertial navigation sensor is lower than the time delay of the laser radar, and the sampling frequency of the wheel speed inertial navigation sensor is higher than the sampling frequency of the laser radar. This embodiment can select the time of the wheel speed inertial navigation sensor as the reference time. Therefore, this embodiment can use the time deviation as a calibration parameter, and use the time of the first sensor as the reference time to calibrate the time of the second sensor.

[0069] In this embodiment, the time of a sensor with a relatively reliable scale is selected between the first sensor and the second sensor as a reference scale, and the scale of the other sensor is calibrated in combination with the scale deviation.

[0070] For example, when the scale of the first sensor is relatively accurate and reliable, this embodiment uses the time of the first data point as the reference scale and combines the scale deviation to calibrate the scale of the second data point. For example, the laser radar has good stability in global positioning. For example, when the mobile device rotates multiple times in place, the yaw angle collected by the laser radar will not drift significantly. Therefore, this embodiment can select the yaw angle of the laser radar as the reference scale. Therefore, this embodiment can use the scale deviation as a calibration parameter, and use the scale of the second sensor as the reference scale to calibrate the scale of the first sensor.

[0071] In general, this embodiment does not need to rely on external equipment during the above calibration process. The calibration parameters can be effectively and automatically derived based on the first data curve and the second data curve in a preset coordinate system of the same dimension, thereby reducing manual participation in the calibration process and improving calibration efficiency.

[0072] In some embodiments, determining the calibration parameters according to the first data curve and the second data curve comprises the following steps:

[0073] S141: constructing a calibration loss function according to the first data curve and the second data curve, where the calibration loss function is a loss function about calibration parameters.

[0074] S142: Determine calibration parameters according to the calibration loss function and a preset nonlinear algorithm.

[0075] In S141, the calibration loss function can measure the deviation between the first data curve and the second data curve as a whole, and can outline this deviation in combination with the calibration parameters, so that when the calibration loss function is subsequently minimized, the calibration parameters can be approximated and obtained.

[0076] In S142, the preset nonlinear algorithm includes algorithms such as nonlinear least squares method. This embodiment can utilize the deviation between the first data curve and the second data curve to introduce calibration parameters to construct a calibration loss function, and then process the calibration loss function according to the preset nonlinear algorithm. The calibration parameters can be obtained in a quantitative approximation manner. This method can obtain relatively reliable and accurate calibration parameters.

[0077] In some embodiments, constructing a calibration loss function according to the first data curve and the second data curve comprises the following steps:

[0078] S1411: Determine a reference data point according to the first data curve, where the reference data point is any first data point on the first data curve.

[0079] S1412: Determine, according to the second data curve, a second data point that satisfies a distance screening condition with respect to the reference data point as a target data point.

[0080] S1413: Construct a calibration loss function based on the reference data points and the target data points.

[0081] In S1411, this embodiment sequentially selects each first data point on the first data curve as a reference data point. For example, the expression of the first data curve is: In this embodiment, first select As the first data point P1 as the reference data point, then select The first data point P2 is taken as the reference data point, and so on.

[0082] In S1412, the distance filtering condition is a condition for filtering out target data points from a plurality of second data points, wherein the number of target data points satisfying the distance filtering condition may be one, two, three, etc.

[0083] In some embodiments, determining a second data point that satisfies a distance screening condition with respect to a reference data point as a target data point according to the second data curve includes: determining a k-dimensional tree according to the second data curve, and determining at least one second data point closest to the reference data point as a target data point according to the k-dimensional tree.

[0084] In some embodiments, determining that a second data point that satisfies a distance screening condition with respect to a reference data point is a target data point according to a second data curve includes: determining a k-dimensional tree according to the second data curve, and determining that a second data point closest to the reference data point is a target data point according to the k-dimensional tree. A k-dimensional tree (k-dimensional tree, kd tree) is a tree data structure for quickly searching for a second data point. This embodiment can quickly search for a second data point closest to a reference data point as a target data point based on a k-dimensional tree.

[0085] For example, this embodiment selects As the first data point P i As a reference data point, based on the k-dimensional tree search, i The second data point θ that is closest to i is the target data point.

[0086] In some embodiments, determining a second data point that satisfies a distance screening condition with a reference data point as a target data point according to the second data curve includes: determining a k-dimensional tree according to the second data curve, and determining two second data points closest to the reference data point as target data points according to the k-dimensional tree.

[0087] For example, in this embodiment, As the first data point L i As a reference data point, based on the k-dimensional tree search, the first data point L i The distance between the two nearest second data points θ i and θ i+1 are all target data points.

[0088] In some embodiments, when the number of target data points is at least two, constructing a calibration loss function based on the reference data points and the target data points includes the following steps:

[0089] S14131: Determine a straight line equation of a target straight line, where the target straight line is a straight line formed by at least two target data points.

[0090] S14132: Calculate the point-to-line distance from the reference data point to the target tangent line according to the straight line equation.

[0091] S14133: Construct a calibration loss function based on point-line distance.

[0092] In S14131, the straight line equation is used to mathematically describe the characteristics of the target straight line in a preset coordinate system, and determining the straight line equation of the target straight line includes: calculating the straight line equation of the target straight line based on the coordinates of at least two target data points in the preset coordinate system.

[0093] For example, the first data point on the first data curve Among them, the first data curve

[0094] In this embodiment, the first data point P is found on the k-dimensional tree. i The two nearest target data points are and Next, according to the relationship between the following two sets of formulas: available Finally, this embodiment is based on Calculate the linear equation of the target straight line. The linear equation of the target straight line is expressed as

[0095] In S14132, this embodiment calculates the first data point P i To the equation of a line The point-line distance is In S14133, this embodiment constructs a calibration loss function according to the point-line distance, wherein the expression of the calibration loss function is:

[0096]

[0097] Next, this embodiment calculates the optimal solution of the calibration loss function according to the least square method, and obtains the time deviation δt and the scale deviation s.

[0098] It is understandable that in this embodiment, the linear equation of the target straight line is first constructed, and then the point-line distance from the reference data point to the target straight line is calculated. Based on the point-line distance, a relatively accurate calibration loss function associated with the calibration parameters can be constructed. For example, if the calibration loss function is constructed based on the two-point distance from the reference data point to the target data point, the accuracy of this approach will be slightly poor.

[0099] When the reference data point falls in the middle of two target data points, for example, the distance between the reference data point A and the target data point B is equal to the distance between the reference data point A and the target data point C. If the calibration loss function is constructed based on the distance between the reference data point A and the target data point B, if the actual situation is that the reference data point A actually matches the target data point C, then the calibration loss function constructed based on the distance between the reference data point A and the target data point B is not accurate enough.

[0100] Similarly, if the calibration loss function is constructed based on the two-point distance from the reference data point A to the target data point C, if the actual situation is that the reference data point A actually matches the target data point B, then the calibration loss function constructed based on the two-point distance from the reference data point A to the target data point B is not accurate enough.

[0101] This embodiment does not generate a calibration loss function associated with calibration parameters based on the distance between two points, but generates a calibration loss function associated with calibration parameters based on the point-line distance. The point-line distance can effectively and comprehensively evaluate the distance from the reference data point A to the target data point B and the target data point C. This embodiment can generate a calibration loss function based on the point-line distance when no one knows which reference data point actually matches which second data point. It can construct the calibration loss function intelligently, highly reliably and accurately, and thus can generate high-precision calibration parameters.

[0102] This embodiment calibrates the first sensor and / or the second sensor based on the calibration parameters generated in the above embodiments, which can improve the mapping accuracy and the positioning accuracy during the mapping process or the positioning process.

[0103] When the first sensor is a laser radar and the second sensor is a wheel speed inertial sensor, refer to Figure 3 When the calibration parameters generated by the above embodiments are not used to calibrate the first sensor and / or the second sensor, the drift value of the map generated by the mobile device is 1%.

[0104] See also Figure 4 When the calibration parameters generated by the above embodiments are used to calibrate the first sensor and / or the second sensor, the scale deviation of the calibration parameters is 1.0043, the time deviation is 65ms, and the drift value of the map generated from the mobile device is less than 0.3%.

[0105] In some embodiments, when the first data point and the second data point are both yaw angles, since the expression interval of the yaw angle is (-180°, 180°], in some rotation scenarios, after the mobile device undergoes a small rotation, it is easy to jump from close to 180 degrees to close to -180 degrees, or from close to -180 degrees to close to 180 degrees.

[0106] See also Figure 5 , the self-moving device starts with a yaw angle of 0 degrees, and rotates counterclockwise in an increment of 5 degrees each time. When it increases to 180 degrees, the self-moving device rotates again to increase by 5 degrees. Since the expression range of the yaw angle is (-180°, 180°], the self-moving device is easily recorded as -175 degrees, but the actual value is 185 degrees. Alternatively, when the self-moving device rotates in a clockwise direction, when it changes from -180 degrees to 5 degrees, the self-moving device is easily recorded as 175 degrees, but the actual value is -185 degrees.

[0107] If the above data points are not smoothed, the data curve generated by the mobile device in the preset coordinate system in chronological order is very steep at the position of -175 degrees. When a nonlinear algorithm is used to analyze the calibration loss function later, non-differentiable data points are likely to appear, which is not conducive to obtaining the calibration parameters. Therefore, this embodiment needs to smooth multiple first data points and multiple second data points.

[0108] In some embodiments, the first data point is a first yaw angle, and generating a first data curve in a preset coordinate system according to multiple first data points includes: smoothing the multiple first data points in the preset coordinate system according to a preset smoothing algorithm to obtain the first data curve.

[0109] The second data point is a second yaw angle, and generating a second data curve in a preset coordinate system according to the plurality of second data points includes: smoothing the plurality of second data points in the preset coordinate system according to a preset smoothing algorithm to obtain the second data curve.

[0110] Among them, the pseudo code of the preset smoothing algorithm is as follows:

[0111] Define k offsets: Offsets[k]

[0112] Define the initial offset: offset = 0

[0113] The first pseudo code:

[0114] for i=2,.....,k:

[0115] If yaw i -yaw i-1 >180:

[0116] offset=offset-360

[0117] else if yaw i -yaw i-1 <-180:

[0118] offset = offset + 360

[0119] end if

[0120] Offsets[i] = offset

[0121] end for

[0122] The second pseudo code:

[0123] for i=1,.....,k:

[0124] yaw i =yaw i +Offsets[i]

[0125] end for

[0126] In order to understand the smoothing process in detail, the above pseudo code is explained with three examples as follows:

[0127] Example 1:

[0128] Assume that the mobile device starts with a yaw angle of 0 degrees and rotates 5 degrees counterclockwise. At this time, the mobile device records yaw i =5, i=1, and then execute the preset smoothing algorithm.

[0129] It can be seen that: since i=1 at this time, the second pseudo code is executed, yaw i =yaw i +Offsets[i]=5+0=5.

[0130] When the self-mobile device continues to rotate 5 degrees, the self-mobile device records the yaw i =10, i=2, and then execute the preset smoothing algorithm.

[0131] It can be seen that: since i=2 at this time, the first pseudo code is executed, where yaw i-1 =5. Due to yaw i -yaw i-1 =5<180 and yaw i -yaw i-1 =5>-180, therefore, the yaw angle at this time does not meet the first and second judgment conditions, but meets the third judgment condition, so execute Offsets[i]=offset=0. Then execute the second pseudo code, since i=2, yaw i =yaw i +Offsets[i]=10+0=10.

[0132] It is understandable that when the self-mobile device continues to rotate 5 degrees on the basis of 10 degrees, before the yaw angle reaches 180 degrees, the recording process of the yaw angle is as described above and will not be repeated here. The data curves formed by the data points at this time are smooth.

[0133] Example 2:

[0134] Assume that the mobile device rotates counterclockwise to yaw i-1 = 180, then continue to rotate 5 degrees, at this time the mobile device first records yaw i =-175, and then execute the preset smoothing algorithm.

[0135] According to the above pseudo code, we can know that: since i is greater than 2 at this time, and yaw i -yaw i-1 <-180, and the initial offset: offset=0, therefore, offset=offset+360=360, and then assign Offsets[i]=offset=360.

[0136] Then, since i is greater than 2 at this time, yaw i =yaw i+Offsets[i]=-175+360=185, therefore, the present embodiment can continue to evolve from 180 degrees to 185 degrees instead of dropping to -175 degrees. Thus, the present embodiment can effectively smooth the plurality of first data points and the plurality of second data points to obtain a smooth first data curve and a smooth second data curve.

[0137] Example 3:

[0138] Assume that the mobile device rotates clockwise to yaw i-1 = -180, then continue to rotate 5 degrees, at this time the mobile device first records yaw i =175, and then execute the preset smoothing algorithm.

[0139] According to the above pseudo code, we can know that: since i is greater than 2 at this time, and yaw i -yaw i-1 >180, and the initial offset: offset=0, therefore, offset=offset-360=-360, and then assign Offsets[i]=offset=-360.

[0140] Then, since i is greater than 2 at this time, yaw i =yaw i +Offsets[i]=175-360=-185, therefore, the present embodiment can continue to evolve from -180 degrees to -185 degrees instead of rising to 175 degrees, so that the present embodiment can effectively smooth the plurality of first data points and the plurality of second data points to obtain a smooth first data curve and a smooth second data curve. The present embodiment can reliably obtain the calibration parameters by smoothing the first data curve and the second data curve.

[0141] It should be noted that, in each of the above-mentioned embodiments, there is not necessarily a certain order between the above-mentioned steps. A person skilled in the art can understand, based on the description of the embodiments of the present invention, that in different embodiments, the above-mentioned steps may have different execution orders, that is, they may be executed in parallel, may be executed interchangeably, and so on.

[0142] As another aspect of the embodiments of the present invention, the embodiments of the present invention provide a sensor calibration device for a self-moving device. The sensor calibration device for a self-moving device may be a software module, which includes a plurality of instructions stored in a memory, and a processor may access the memory and call the instructions for execution to complete the sensor calibration method for the self-moving device described in the above embodiments.

[0143] In some embodiments, the sensor calibration device of the self-moving device can also be constructed by hardware devices. For example, the sensor calibration device of the self-moving device can be constructed by one or more chips, and each chip can work in coordination with each other to complete the sensor calibration method of the self-moving device described in the above embodiments. For another example, the sensor calibration device of the self-moving device can also be constructed by various logic devices, such as a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single-chip microcomputer, an ARM (AcornRISC Machine) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination of these components.

[0144] See also Figure 6 The sensor calibration device 600 of the mobile device includes a data acquisition module 61 , a first curve generation module 62 , a second curve generation module 63 and a calibration parameter determination module 64 .

[0145] The data acquisition module 61 is used to control the self-mobile device to drive the first sensor to collect the first data point, and drive the second sensor to collect the second data point. The first curve generation module 62 is used to generate a first data curve in a preset coordinate system according to a plurality of first data points. The second curve generation module 63 is used to generate a second data curve in a preset coordinate system according to a plurality of second data points. The calibration parameter determination module 64 is used to determine the calibration parameters according to the first data curve and the second data curve, and the calibration parameters are used to calibrate the first sensor and / or the second sensor.

[0146] This embodiment can convert the first data point and the second data point into a preset coordinate system of the same dimension, and construct a constraint relationship between the first data point and the second data point, so as to derive calibration parameters. In addition, in the above calibration process, there is no need to rely on external equipment. The calibration parameters can be effectively and automatically derived based on the first data curve and the second data curve in the preset coordinate system of the same dimension, thereby reducing manual participation in the calibration process and helping to improve calibration efficiency.

[0147] In some embodiments, the calibration parameter determination module 64 is specifically used to: construct a calibration loss function according to the first data curve and the second data curve, the calibration loss function is a loss function about the calibration parameters, and determine the calibration parameters according to the calibration loss function and a preset nonlinear algorithm.

[0148] In some embodiments, the calibration parameter determination module 64 is also specifically used to: determine a reference data point based on the first data curve, the reference data point is any first data point on the first data curve, determine a second data point that meets a distance screening condition with the reference data point based on the second data curve as a target data point, and construct a calibration loss function based on the reference data point and the target data point.

[0149] In some embodiments, the calibration parameter determination module 64 is further specifically used to: determine a k-dimensional tree according to the second data curve, and determine at least one second data point closest to the reference data point as a target data point according to the k-dimensional tree.

[0150] In some embodiments, the calibration parameter determination module 64 is also specifically used to: determine the straight line equation of the target straight line, the target straight line is a straight line formed by at least two target data points, calculate the point-line distance from the reference data point to the target tangent line according to the straight line equation, and construct a calibration loss function according to the point-line distance.

[0151] In some embodiments, the first data point is a first yaw angle, and the first curve generating module 62 is specifically used to: perform smoothing processing on a plurality of first data points in a preset coordinate system according to a preset smoothing algorithm to obtain a first data curve.

[0152] In some embodiments, the second data point is a second yaw angle, and the second curve generating module 63 is specifically used to: perform smoothing processing on a plurality of second data points in a preset coordinate system according to a preset smoothing algorithm to obtain a second data curve.

[0153] In some embodiments, the data acquisition module 61 is specifically used to: control the self-moving device to drive the first sensor and the second sensor to rotate according to a specified rotation action to obtain a first data point and a second data point, wherein the specified rotation action includes swinging the self-moving device left and right at a specified angle, and then rotating a specified number of times in a specified rotation direction.

[0154] In some embodiments, the calibration parameters include time deviation and / or scale deviation. The time of the first data point is approximately equal to the sum of the time of the second data point and the time deviation, and the scale of the first data point is approximately equal to the product of the scale of the second data point and the scale deviation.

[0155] It should be noted that the sensor calibration device for the self-moving device described above can execute the sensor calibration method for the self-moving device provided in the embodiment of the present invention, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in the embodiment of the sensor calibration device for the self-moving device, please refer to the sensor calibration method for the self-moving device provided in the embodiment of the present invention.

[0156] See also Figure 7 , Figure 7Schematic diagram of the circuit structure of a self-moving device provided by an embodiment of the present invention. Figure 7 As shown, the mobile device 700 includes one or more processors 71 and a memory 72. Figure 7 A processor 71 is taken as an example.

[0157] The processor 71 and the memory 72 may be connected via a bus or other means. Figure 7 The example of connecting through bus is taken in the following.

[0158] The memory 72 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the sensor calibration method of the self-mobile device in the embodiment of the present invention. The processor 71 executes various functional applications and data processing of the sensor calibration device of the self-mobile device by running the non-volatile software programs, instructions and modules stored in the memory 72, that is, realizes the sensor calibration method of the self-mobile device provided in the above method embodiment and the functions of each module or unit in the above device embodiment.

[0159] The memory 72 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 72 may optionally include a memory remotely arranged relative to the processor 71, and these remote memories may be connected to the processor 71 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0160] The program instructions / modules are stored in the memory 72, and when executed by the one or more processors 71, the sensor calibration method for the mobile device in any of the above method embodiments is executed.

[0161] The embodiment of the present invention further provides a non-volatile computer storage medium, wherein the non-volatile computer storage medium stores computer executable instructions, and the computer executable instructions are executed by one or more processors, such as Figure 7 A processor 71 in the embodiment may enable the one or more processors to execute the sensor calibration method for the mobile device in any of the above method embodiments.

[0162] An embodiment of the present invention also provides a computer program product, which includes a computer program stored on a non-volatile computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a self-mobile device, the self-mobile device executes the above-mentioned sensor calibration method of the self-mobile device.

[0163] The above described device or equipment embodiments are merely illustrative, wherein the unit modules described as separate components may or may not be physically separated, and the components displayed as module units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network module units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.

[0164] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0165] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them. Under the concept of the present invention, the technical features in the above embodiments or different embodiments may also be combined, the steps may be implemented in any order, and there are many other changes in different aspects of the present invention as described above, which are not provided in detail for the sake of simplicity. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they may still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A sensor calibration method for a self-moving device, characterized in that: include: Control the self-moving device to drive the first sensor to collect the first data point, and drive the second sensor to collect the second data point; generating a first data curve in a preset coordinate system according to the plurality of the first data points; generating a second data curve in the preset coordinate system according to the plurality of the second data points; Calibration parameters are determined according to the first data curve and the second data curve, and the calibration parameters are used to calibrate the first sensor and / or the second sensor.

2. The sensor calibration method according to claim 1, characterized in that: Determining the calibration parameters according to the first data curve and the second data curve includes: Constructing a calibration loss function according to the first data curve and the second data curve, wherein the calibration loss function is a loss function about calibration parameters; The calibration parameters are determined according to the calibration loss function and a preset nonlinear algorithm.

3. The sensor calibration method according to claim 2, characterized in that: The constructing a calibration loss function according to the first data curve and the second data curve comprises: Determine a reference data point according to the first data curve, wherein the reference data point is any first data point on the first data curve; Determine, according to the second data curve, a second data point that satisfies a distance screening condition with the reference data point as a target data point; A calibration loss function is constructed based on the reference data points and the target data points.

4. The sensor calibration method according to claim 3, characterized in that: The step of determining, according to the second data curve, a second data point that satisfies a distance screening condition with respect to the reference data point as a target data point comprises: Determine a k-dimensional tree according to the second data curve; At least one second data point closest to the reference data point is determined as a target data point according to the k-dimensional tree.

5. The sensor calibration method according to claim 3, characterized in that: The constructing a calibration loss function according to the reference data points and the target data points comprises: Determine a straight line equation of a target straight line, wherein the target straight line is a straight line formed by at least two of the target data points; Calculate the point-to-line distance from the reference data point to the target tangent line according to the straight line equation; A calibration loss function is constructed according to the point-line distance.

6. The sensor calibration method according to claim 1, characterized in that: The first data point is a first yaw angle, and the generating a first data curve in a preset coordinate system according to the plurality of the first data points comprises: performing smoothing processing on the plurality of the first data points in the preset coordinate system according to a preset smoothing algorithm to obtain the first data curve; The second data point is a second yaw angle, and generating a second data curve in a preset coordinate system according to the plurality of second data points includes: smoothing the plurality of second data points in the preset coordinate system according to a preset smoothing algorithm to obtain the second data curve.

7. The sensor calibration method according to claim 1, characterized in that: The controlling the self-moving device to drive the first sensor to collect the first data point, and drive the second sensor to collect the second data point includes: The self-moving device is controlled to drive the first sensor and the second sensor to rotate according to a specified rotation action to obtain a first data point and a second data point, wherein the specified rotation action includes the self-moving device swinging left and right at a specified angle in place, and then rotating a specified number of times in a specified rotation direction.

8. The sensor calibration method according to any one of claims 1 to 7, characterized in that: The calibration parameters include time deviation and / or scale deviation; The time of the first data point is approximately equal to the sum of the time of the second data point and the time deviation; The scale of the first data point is approximately equal to the product of the scale of the second data point and the scale deviation.

9. A non-volatile readable storage medium, characterized in that: Computer executable instructions are stored, and the computer executable instructions are used to enable the self-moving device to execute the sensor calibration method of the self-moving device as described in any one of claims 1 to 8.

10. A self-propelled device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the sensor calibration method for a self-moving device as described in any one of claims 1 to 8.