A method and device for calibrating positioning parameters of a mobile robot

By using on-the-go data collection and optimization models, the method enhances the accuracy and efficiency of mobile robot positioning parameter calibration, addressing the inefficiencies and inaccuracies of traditional methods.

CN115393428BActive Publication Date: 2025-07-15BEIJING JINGDONG QIANSHITECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210380202.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-12
Publication Date
2025-07-15
Estimated Expiration
2042-04-12

AI Technical Summary

Technical Problem

The existing method of calibrating positioning parameters of mobile robots requires additional calibration racks, which have problems such as high cost, large human error, low accuracy of calibration results and cumbersome operation.

Method used

During the operation of the mobile robot, by obtaining the identification code pose matrix and the hub angular velocity, the camera's pose change matrix is calculated, and an optimization model is constructed for solving, and the positioning parameters are obtained.

Benefits of technology

The calibration process is simplified, the cost and workload are reduced, and the accuracy and efficiency of calibration results are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115393428B_ABST
    Figure CN115393428B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and device for calibrating positioning parameters of a mobile robot, relating to the technical field of mobile robots. A specific implementation manner of the method includes: when the mobile robot moves in a moving area, respectively obtaining the identification code pose matrix of the identification code in the camera coordinate system and the wheel hub angular velocity of the mobile robot at different moments; calculating a first pose change matrix of the camera according to the identification code pose matrix; calculating a second pose change matrix of the camera according to the wheel hub angular velocity; wherein the pose of the mobile robot at the initial moment is the origin of the world coordinate system; constructing an optimization model based on the first pose change matrix and the second pose change matrix, and solving the optimization model to obtain the calibrated positioning parameters of the mobile robot. This implementation manner reduces the cost and workload required for calibration, and improves the calibration efficiency and the accuracy of the calibration result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of mobile robots, and in particular, to a method and device for calibrating positioning parameters of a mobile robot. Background Art

[0002] Mobile robots equipped with code-scanning cameras are widely used in scenarios such as factories and warehouses. It uses wheel hub parameters (mainly including the left wheel hub radius, the right wheel hub radius, and the wheel hub spacing between the left and right wheel hubs) to construct an odometer for relative positioning of the mobile robot, and uses the code-scanning camera and the corresponding identification code for absolute positioning of the mobile robot. Therefore, accurate wheel hub parameters and the external parameters of the code-scanning camera (the installation position coordinates and angles of the camera) are very important for the accurate positioning of the mobile robot.

[0003] In the existing methods, the calibration frame method or the specific motion distribution calibration method is usually adopted to calibrate the positioning parameters of the mobile robot.

[0004] There are at least the following problems in the prior art:

[0005] For the calibration method using a calibration frame, first, an additional calibration frame needs to be made, which increases the cost and workload required for calibration, and due to the human error in the placement process, the accuracy rate of the calibration result is low; for the method using specific motion step-by-step calibration, since the mobile robot can only be commanded to perform specific tasks to collect data and cannot use the data during the normal operation of the mobile robot, the calibration efficiency is low and the operation process is relatively cumbersome. Summary of the Invention

[0006] In view of this, an embodiment of the present invention provides a method and device for calibrating positioning parameters of a mobile robot, which can obtain the pose matrix of the identification code and the wheel hub angular velocity during the operation of the mobile robot, and then calculate the first pose change matrix of the identification code in the camera coordinate system and the second pose change matrix of the camera in the robot coordinate system. By constructing an optimization model and solving the optimization model, the calibrated positioning parameters are obtained, which simplifies the calibration process, reduces the cost and workload required for calibration, and improves the calibration efficiency and the accuracy rate of the calibration result.

[0007] To achieve the above object, according to one aspect of the embodiments of the present invention, a method for calibrating positioning parameters of a mobile robot is provided, including:

[0008] When the mobile robot moves in a moving area, the pose matrix of the identification code in the camera coordinate system and the wheel hub angular velocity of the mobile robot at different times are respectively obtained; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot;

[0009] According to the identification code pose matrix, the first pose change matrix of the camera is calculated; according to the wheel hub angular velocity, the second pose change matrix of the camera is calculated; where the pose of the mobile robot at the initial moment is the origin of the world coordinate system;

[0010] Based on the first pose change matrix and the second pose change matrix, an optimization model is constructed, and the optimization model is solved to obtain the calibrated positioning parameters of the mobile robot.

[0011] Further, the steps of calculating the first pose change matrix of the camera according to the identification code pose matrix include:

[0012] Multiply the identification code pose matrix at the current moment by the inverse matrix of the identification code pose matrix at the next moment to obtain the first pose change matrix of the camera.

[0013] Further, the steps of calculating the second pose change matrix of the camera according to the wheel hub angular velocity include:

[0014] According to the wheel hub angular velocities at different moments, the robot pose matrices of the mobile robot in the world coordinate system at different moments are calculated;

[0015] Multiply the inverse matrix of the robot pose matrix at the current moment by the robot pose matrix at the next moment to obtain the robot pose change matrix of the mobile robot;

[0016] According to the robot pose change matrix, the second pose change matrix of the camera is calculated.

[0017] Further, the steps of calculating the second pose change matrix of the camera according to the robot pose change matrix further include:

[0018] Determine the transformation matrix between the camera coordinate system and the robot coordinate system;

[0019] According to the robot pose change matrix and the transformation matrix, the second pose change matrix of the camera is calculated.

[0020] Further, the steps of constructing an optimization module based on the first pose change matrix and the second pose change matrix and solving the optimization model include:

[0021] Construct an optimization model according to the two-dimensional rigid body transformation matrix, the two-norm matrix, the first pose change matrix and the second pose change matrix;

[0022] Use the least squares method to solve the optimization model, and the solution result is the calibrated positioning parameters of the mobile robot.

[0023] Further, the positioning parameters include wheel hub parameters and external camera parameters. Among them, the wheel hub parameters include the left wheel hub radius, the right wheel hub radius, and the wheel hub spacing, and the external camera parameter is the pose of the camera in the robot coordinate system.

[0024] According to another aspect of the embodiments of the present invention, there is provided a positioning parameter calibration device for a mobile robot, including:

[0025] An acquisition module, configured to respectively acquire the identification code pose matrix of the identification code in the camera coordinate system and the wheel hub angular velocity of the mobile robot at different moments when the mobile robot moves in the moving area; wherein the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot;

[0026] A calculation module, configured to calculate a first pose change matrix of the camera according to the identification code pose matrix; calculate a second pose change matrix of the camera according to the wheel hub angular velocity; wherein the pose of the mobile robot at the initial moment is the origin of the world coordinate system;

[0027] A calibration module, configured to construct an optimization module based on the first pose change matrix and the second pose change matrix, solve the optimization model, and obtain the calibrated positioning parameters of the mobile robot.

[0028] Further, the calibration module is further configured to:

[0029] Construct an optimization model according to the two-dimensional rigid body transformation matrix, the two-norm matrix, the first pose change matrix, and the second pose change matrix;

[0030] Solve the optimization model by using the least squares method, and the solution result is the calibrated positioning parameters of the mobile robot.

[0031] According to yet another aspect of the embodiments of the present invention, there is provided an electronic device for calibrating positioning parameters of a mobile robot, including:

[0032] One or more processors;

[0033] A storage device, configured to store one or more programs,

[0034] When the one or more programs are executed by the one or more processors, the one or more processors implement the positioning parameter calibration method of any of the above mobile robots.

[0035] According to still another aspect of the embodiments of the present invention, there is provided a computer-readable medium, on which a computer program is stored, and when the program is executed by a processor, the positioning parameter calibration method of any of the above mobile robots is implemented.

[0036] One embodiment of the above invention has the following advantages or beneficial effects: When the mobile robot moves in the moving area, the identification code pose matrix of the identification code in the camera coordinate system and the wheel hub angular velocity of the mobile robot are respectively obtained at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; according to the identification code pose matrix, the first pose change matrix of the camera is calculated; according to the wheel hub angular velocity, the second pose change matrix of the camera is calculated; wherein, the pose of the mobile robot at the initial moment is the origin of the world coordinate system; based on the first pose change matrix and the second pose change matrix, an optimization model is constructed, and the optimization model is solved to obtain the calibrated positioning parameters of the mobile robot. Therefore, the technical problems existing in the existing calibration methods, such as the high cost and workload required for calibration, the low accuracy of the calibration result, the low calibration efficiency, and the relatively cumbersome operation process, are overcome. Furthermore, during the operation of the mobile robot, the identification code pose matrix and the wheel hub angular velocity are obtained, and then the first pose change matrix and the second pose change matrix of the camera are calculated. By constructing an optimization model and solving the optimization model, the calibrated positioning parameters are obtained, which simplifies the calibration process, reduces the cost and workload required for calibration, and improves the calibration efficiency and the accuracy of the calibration result.

[0037] The further effects of the above non-conventional optional manner will be described below in conjunction with specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The drawings are used to better understand the present invention and do not constitute an improper limitation to the present invention. Among them:

[0039] Figure 1 is a schematic diagram of the main process of a method for calibrating the positioning parameters of a mobile robot according to an embodiment of the present invention;

[0040] Figure 2a is a schematic diagram of the main process of a method for calibrating the positioning parameters of a mobile robot according to another embodiment of the present invention;

[0041] Figure 2b is Figure 2a a schematic diagram of the mobile robot and the coordinate system in the method;

[0042] Figure 3 is a schematic diagram of the main modules of a device for calibrating the positioning parameters of a mobile robot according to an embodiment of the present invention;

[0043] Figure 4 is an exemplary system architecture diagram to which the embodiments of the present invention can be applied;

[0044] Figure 5It is a schematic structural diagram of a computer system of a terminal device or a server suitable for implementing the embodiments of the present invention. Detailed implementation manners

[0045] The following describes exemplary embodiments of the present invention with reference to the accompanying drawings. Various details of the embodiments of the present invention are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following.

[0046] There are mainly two types of existing calibration methods:

[0047] (1) The calibration frame method. This method requires first making a calibration frame, and then placing the mobile robot at a specified position on the calibration frame so that the mobile robot has a certain determined pose relative to the calibration frame. At the same time, read the pose of the mobile robot measured by the absolute pose sensor, and then compare the two poses to calibrate the external parameters of the code scanning camera; then use a specific measuring tool to measure the wheel hub parameters.

[0048] (2) The method of step-by-step calibration with specific actions. Based on the existing kinematic equations, first control the mobile robot to perform a set of specific actions, such as rotating in place, etc., for calibrating the wheel hub parameters; then, perform another set of specific actions for calibrating the external parameters of the code scanning camera.

[0049] Figure 1 It is a schematic diagram of the main process of a method for calibrating the positioning parameters of a mobile robot provided according to an embodiment of the present invention; as Figure 1 shown, the method for calibrating the positioning parameters of a mobile robot provided by the embodiments of the present invention mainly includes:

[0050] Step S101, when the mobile robot moves in the moving area, respectively obtain the identification code pose matrix of the identification code in the camera coordinate system and the wheel hub angular velocity of the mobile robot at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot.

[0051] Specifically, according to an embodiment of the present invention, the mobile robot moves in a moving area on the ground where there is an identification code (the specific setting method can be attachment or the like), and uses a camera disposed on the mobile robot to collect identification code images at different times. According to the identification code images, the identification code pose matrix of the identification code in the camera coordinate system at different times is obtained. According to a specific embodiment of the present invention, at each moment, by performing operations of searching for the code, decoding the code, and calculating the pose of the identification code on the obtained identification code images, the identification code pose matrix at different times is determined. While collecting the identification code images, the hub angular velocity of the mobile robot at different times is collected.

[0052] Among them, the identification code is an image that can be used for positioning, and can be a bar code, a two-dimensional code, a QR code (a type of two-dimensional bar code), an Apriltag code (a visual fiducial library widely used in the field of AR robot camera calibration). Through a specific marker (similar to a two-dimensional code, but with reduced complexity to meet real-time requirements, the marker can be quickly detected and the relative position can be calculated), etc.

[0053] Step S102, according to the identification code pose matrix, calculate the first pose change matrix of the camera; according to the hub angular velocity, calculate the second pose change matrix of the camera; where the pose of the mobile robot at the initial moment is the origin of the world coordinate system.

[0054] Specifically, according to an embodiment of the present invention, the step of calculating the first pose change matrix of the camera according to the identification code pose matrix includes:

[0055] Perform transformation processing on the identification code pose matrix of the identification code in the camera coordinate system at different times to obtain the camera pose matrix of the camera in the identification code coordinate system at different times;

[0056] Multiply the camera pose matrix at the current moment by the inverse matrix of the camera pose matrix at the next moment to obtain the first pose change matrix of the camera.

[0057] According to an embodiment of the present invention, given the identification code pose matrices of the identification code under the camera at multiple times, by performing transformation on the identification code pose, the camera pose matrices of the camera in the identification code coordinate system at multiple times can be obtained. According to the camera pose matrices at adjacent times, the pose change amount of the camera, that is, the first pose change matrix, can be calculated.

[0058] Further, according to an embodiment of the present invention, according to the hub angular velocity, the step of calculating the second pose change matrix of the camera includes:

[0059] Calculate the robot pose matrix of the mobile robot in the world coordinate system at different moments based on the wheel angular velocity at different moments;

[0060] Multiply the inverse matrix of the robot pose matrix at the current moment by the robot pose matrix at the next moment to obtain the robot pose change matrix of the mobile robot;

[0061] Calculate the second pose change matrix of the camera based on the robot pose change matrix.

[0062] Specifically, the world coordinate system is constructed based on the mobile area scene, with the position of the mobile robot at the initial moment as the origin of the world coordinate system, that is, the pose of the mobile robot in the world coordinate system at the initial moment is (x0, y0, θ0). The linear velocity and angular velocity of the mobile robot can be calculated based on the wheel angular velocity at different moments. Based on the initial pose of the mobile robot in the world coordinate system at the initial moment and the linear velocity and angular velocity of the mobile robot at different moments, calculate the robot pose matrix of the mobile robot in the world coordinate system at different moments. Furthermore, the pose change matrix of the robot can be calculated based on the robot pose matrices at adjacent moments.

[0063] Furthermore, according to an embodiment of the present invention, the step of calculating the second pose change matrix of the camera based on the robot pose change matrix further includes:

[0064] Determine the transformation matrix between the camera coordinate system and the robot coordinate system;

[0065] Calculate the second pose change matrix of the camera based on the robot pose change matrix and the transformation matrix.

[0066] According to a specific embodiment of the embodiment of the present invention, the robot pose change matrix of the mobile robot has been obtained. Since the camera and the mobile robot are fixedly connected, the relative pose between the two remains unchanged at different moments, and the robot pose change matrix and the camera pose change matrix can be switched through the transformation matrix between the camera coordinate system and the robot coordinate system. Therefore, the pose change matrix of the camera, that is, the second pose change matrix, can be calculated based on the robot pose change matrix and the transformation matrix.

[0067] Step S103, construct an optimization model based on the first pose change matrix and the second pose change matrix, and solve the optimization model to obtain the calibrated positioning parameters of the mobile robot.

[0068] Specifically, according to an embodiment of the present invention, the above step of constructing an optimization module based on the first pose change matrix and the second pose change matrix and solving the optimization model includes:

[0069] Construct an optimization model based on a two-dimensional rigid body transformation matrix, a two-norm matrix, a first pose change matrix, and a second pose change matrix;

[0070] Solve the optimization model using the least squares method, and the solution result is the positioning parameters for the calibration of the mobile robot.

[0071] According to an embodiment of the present invention, the second pose change matrix of the camera is a function matrix with respect to the positioning parameters (hub parameters and the external parameters of the camera). If the positioning parameters of the mobile robot are completely accurate, then the first pose change matrix should be equal to the second pose change matrix. However, in the actual process, there are errors in the positioning parameters, and the two will not be exactly equal. Therefore, a least squares problem is constructed based on the first pose change matrix, the second pose change matrix, the two-dimensional rigid body transformation matrix, and the two-norm matrix to obtain an optimization model. Then, by solving this optimization model, the calibrated positioning parameters can be obtained, significantly improving the accuracy of the calibration result. Specifically, the least squares method used for solving can be the Gauss-Newton method, the Levenberg-Marquardt method (LM method), the dog-leg method, etc.

[0072] Exemplarily, according to an embodiment of the present invention, the above-mentioned positioning parameters include hub parameters and the external parameters of the camera. Among them, the hub parameters include the left wheel hub radius, the right wheel hub radius, and the hub spacing, and the external parameters of the camera are the pose of the camera in the robot coordinate system.

[0073] According to the technical solution of the embodiment of the present invention, when the mobile robot moves in the moving area, the identification code pose matrix of the identification code in the camera coordinate system and the hub angular velocity of the mobile robot are respectively obtained at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; according to the identification code pose matrix, the first pose change matrix of the camera is calculated; according to the hub angular velocity, the second pose change matrix of the camera is calculated; wherein, the pose of the mobile robot at the initial moment is the origin of the world coordinate system; an optimization model is constructed based on the first pose change matrix and the second pose change matrix, and the optimization model is solved to obtain the calibrated positioning parameters of the mobile robot. Therefore, the technical problems existing in the existing calibration methods, such as the high cost and workload required for calibration, the low accuracy of the calibration result, the low calibration efficiency, and the relatively cumbersome operation process, are overcome. Furthermore, during the operation of the mobile robot, the identification code pose matrix and the hub angular velocity are obtained, and then the first pose change matrix and the second pose change matrix of the camera are calculated. By constructing an optimization model and solving the optimization model, the calibrated positioning parameters are obtained, simplifying the calibration process, reducing the cost and workload required for calibration, and improving the calibration efficiency and the accuracy of the calibration result.

[0074] Figure 2aIt is a schematic diagram of the main process of the positioning parameter calibration method for a mobile robot according to another embodiment of the present invention; as Figure 2a shown, the positioning parameter calibration method for a mobile robot provided by the embodiments of the present invention mainly includes:

[0075] Step S201, when the mobile robot moves in the moving area, use the camera set on the mobile robot to collect identification code images at different times, and obtain the identification code pose matrix of the identification code in the camera coordinate system at different times according to the identification code images; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly set on the mobile robot.

[0076] Specifically, according to the embodiments of the present invention, the mobile robot moves in the moving area with the identification code attached to the ground, uses the camera fixedly set on the mobile robot to collect identification code images at different times, and at each moment, by performing operations of code searching, decoding, and calculating the identification code pose on the obtained identification code images, determine the identification code pose matrix at different times. As Figure 2b shown in the schematic diagram of the mobile robot, it can be known that the robot coordinate system takes the center points of the left and right wheel hubs as the origin, and the forward direction of the mobile robot as the x-axis. The camera coordinate system takes the pose of the camera at the initial moment as the origin.

[0077] Step S202, while collecting the identification code images, collect the hub angular velocities of the mobile robot at different times.

[0078] According to the embodiments of the present invention, the hub angular velocity can be obtained through the sensor installed on the hub.

[0079] Step S203, multiply the identification code pose matrix at the current moment by the inverse matrix of the identification code pose matrix at the next moment to obtain the first pose change matrix of the camera.

[0080] Given the identification code pose matrices of the identification code in the camera coordinate system at N + 1 times where k = 0, 1... N, "camera" in the upper left corner of the formula represents the camera coordinate system, "tag" in the lower left corner of the formula represents the identification code, and T represents the pose. Calculate the first pose change matrix of the camera within N time intervals, and the specific formula is as follows:

[0081]

[0082] where, "*" represents matrix multiplication, and "Inv()" represents matrix inversion.

[0083] Step S204: Calculate the robot pose matrix of the mobile robot in the world coordinate system at different moments based on the wheel hub angular velocities at different moments. Among them, the pose of the mobile robot at the initial moment is the origin of the world coordinate system.

[0084] Specifically, the angular velocity of the left wheel hub of the mobile robot is w L,k , and the angular velocity of the right wheel hub is w R,k . According to the linear velocity v k and the angular velocity w k of the mobile robot and the function of the wheel hub parameters (wheel hub angular velocity and wheel hub spacing):

[0085]

[0086] Among them, b is the wheel hub spacing, and r L is the radius of the right wheel hub, and r R is the radius of the left wheel hub. In the embodiment of the present invention, the coordinate system corresponding to the pose (x0, y0, θ0) of the mobile robot at the specified calibration start initial moment is defined as the world coordinate system. Therefore, the pose of the mobile robot in the world coordinate system at the initial moment is (0, 0, 0). The robot pose of the mobile robot in the world coordinate system is where the world in the upper left corner represents the world coordinate system. The robot pose corresponds one-to-one with the corresponding vector expression (x k , y k , θ k ) and can be converted to each other. Combining the following formulas, the robot pose of the mobile robot in the world coordinate system at different moments can be calculated

[0087] where x k = x k-1 + v k * cosθ * dt

[0088] y k = y k-1 + v k * sinθ * dt

[0089] θ k = θ k-1 + w k * dt

[0090] Step S205: Multiply the inverse matrix of the robot pose matrix at the current moment by the robot pose matrix at the next moment to obtain the robot pose change matrix of the mobile robot.

[0091] According to the embodiment of the present invention, the robot pose change matrix is:

[0092]

[0093] Step S206: Determine the transformation matrix between the camera coordinate system and the robot coordinate system; calculate the second pose change matrix of the camera based on the robot pose change matrix and the transformation matrix.

[0094] According to the embodiment of the present invention, the pose (x c , y c , θ c ) of the camera in the robot coordinate system is the external parameter of the camera and is the positioning parameter to be calibrated. The corresponding transformation matrix is Since the camera and the mobile robot are fixedly connected, this transformation matrix will not change at different times. That is, the expression formula of the camera in the second pose change matrix is:

[0095]

[0096] Step S207: Construct an optimization model based on the two-dimensional rigid body transformation matrix, the two-norm matrix, the first pose change matrix, and the second pose change matrix.

[0097] According to the embodiment of the present invention, is a function including positioning parameters (wheel hub parameters and camera external parameters). In theory, if the positioning parameters of the mobile robot are completely accurate, then the first pose change matrix should be equal to the second pose change matrix. However, in the actual process, there are errors in the positioning parameters, and the two will not be exactly equal.

[0098] Therefore, a least squares problem is constructed based on the first pose change matrix, the second pose change matrix, the two-dimensional rigid body transformation matrix, and the two-norm matrix to obtain an optimization model:

[0099]

[0100] Step S208: Solve the optimization model using the least squares method, and the solution result is the calibrated positioning parameters of the mobile robot.

[0101] According to the embodiment of the present invention, the above positioning parameters include wheel hub parameters and camera external parameters. Among them, the wheel hub parameters include the left wheel hub radius, the right wheel hub radius, and the wheel hub spacing, and the camera external parameter is the pose of the camera in the robot coordinate system.

[0102] Specifically, the least squares method used for solving can be the Gauss-Newton method, the Levenberg-Marquardt method (LM method), the dog-leg method, etc. By solving this optimization model, the calibrated positioning parameters can be obtained, significantly improving the accuracy of the calibration result.

[0103] According to the technical solution of the embodiment of the present invention, when the mobile robot moves in the moving area, the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot are respectively obtained at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; according to the identification code pose matrix, the first pose change matrix of the camera is calculated; according to the wheel angular velocity, the second pose change matrix of the camera is calculated; wherein, the pose of the mobile robot at the initial moment is the origin of the world coordinate system; based on the first pose change matrix and the second pose change matrix, an optimization model is constructed, and the optimization model is solved to obtain the calibrated positioning parameters of the mobile robot. Therefore, the technical problems existing in the existing calibration methods, such as the high cost and workload required for calibration, the low accuracy of the calibration result, the low calibration efficiency, and the cumbersome operation process, are overcome. Furthermore, during the operation of the mobile robot, the identification code pose matrix and the wheel angular velocity are obtained, and then the first pose change matrix and the second pose change matrix of the camera are calculated. By constructing an optimization model and solving the optimization model, the calibrated positioning parameters are obtained, the calibration process is simplified, the cost and workload required for calibration are reduced, and the calibration efficiency and the accuracy of the calibration result are improved.

[0104] Figure 3 is a schematic diagram of the main modules of the positioning parameter calibration device of the mobile robot provided by the embodiment of the present invention; as Figure 3 shown, the positioning parameter calibration device 300 of the mobile robot provided by the embodiment of the present invention mainly includes:

[0105] An acquisition module 301, configured to respectively obtain the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot at different times when the mobile robot moves in the moving area; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot.

[0106] Specifically, according to the embodiment of the present invention, the mobile robot moves in the moving area where the identification code is attached to the ground, and the camera arranged on the mobile robot is used to collect the identification code images at different times, and the identification code pose matrix of the identification code in the camera coordinate system at different times is obtained according to the identification code images. According to a specific implementation manner of the embodiment of the present invention, at each moment, by performing operations of searching for the code, decoding the code, and calculating the pose of the identification code in the obtained identification code image, the identification code pose matrix at different times is determined. While collecting the identification code images, the wheel angular velocity of the mobile robot at different times is collected.

[0107] A calculation module 302 is configured to calculate a first pose change matrix of the camera according to the identification code pose matrix; calculate a second pose change matrix of the camera according to the hub angular velocity; wherein, at the initial moment, the pose of the mobile robot is the origin of the world coordinate system.

[0108] Specifically, according to an embodiment of the present invention, the above calculation module 302 is further configured to:

[0109] Perform conversion processing on the identification code pose matrices of the identification code in the camera coordinate system at different times to obtain the camera pose matrices of the camera in the identification code coordinate system at different times;

[0110] Multiply the camera pose matrix at the current moment by the inverse matrix of the camera pose matrix at the next moment to obtain the first pose change matrix of the camera.

[0111] According to an embodiment of the present invention, given the identification code pose matrices of the identification code in the camera at multiple times, by converting the identification code pose, the camera pose matrices of the camera in the identification code coordinate system at multiple times can be obtained. According to the camera pose matrices at adjacent times, the pose change amount of the camera, that is, the first pose change matrix, can be calculated.

[0112] Further, according to an embodiment of the present invention, the above calculation module 302 is further configured to:

[0113] Calculate the robot pose matrices of the mobile robot in the world coordinate system at different times according to the hub angular velocities at different times;

[0114] Multiply the inverse matrix of the robot pose matrix at the current moment by the robot pose matrix at the next moment to obtain the robot pose change matrix of the mobile robot;

[0115] Calculate the second pose change matrix of the camera according to the robot pose change matrix.

[0116] Specifically, the world coordinate system is constructed based on the mobile area scene, with the position of the mobile robot at the initial moment as the origin of the world coordinate system, that is, the pose of the mobile robot in the world coordinate system at the initial moment is (x0, y0, θ0). According to the hub angular velocities at different times, the linear velocity and angular velocity of the mobile robot can be calculated. According to the initial pose of the mobile robot in the world coordinate system at the initial moment and the linear velocity and angular velocity of the mobile robot at different times, the robot pose matrices of the mobile robot in the world coordinate system at different times are calculated. Furthermore, the pose change matrix of the robot can be calculated according to the robot pose matrices at adjacent times.

[0117] Further, according to an embodiment of the present invention, the above calculation module 302 is further configured to:

[0118] Determine the transformation matrix between the camera coordinate system and the robot coordinate system;

[0119] According to the robot pose change matrix and the transformation matrix, calculate the second pose change matrix of the camera.

[0120] According to a specific embodiment of the present invention, the robot pose change matrix of the mobile robot has been obtained. Since the camera is fixedly connected to the mobile robot, the relative pose between the two remains unchanged at different times. The robot pose change matrix and the camera pose change matrix can be switched through the transformation matrix between the camera coordinate system and the robot coordinate system. Therefore, the pose change matrix of the camera, that is, the second pose change matrix, can be calculated according to the robot pose change matrix and the transformation matrix.

[0121] The calibration module 303 is used to construct an optimization module based on the first pose change matrix and the second pose change matrix, solve the optimization model, and obtain the calibrated positioning parameters of the mobile robot.

[0122] Specifically, according to the embodiment of the present invention, the calibration module 303 is further used for:

[0123] Construct an optimization model according to the two-dimensional rigid body transformation matrix, the two-norm matrix, the first pose change matrix, and the second pose change matrix;

[0124] Use the least squares method to solve the optimization model, and the solution result is the calibrated positioning parameters of the mobile robot.

[0125] According to the embodiment of the present invention, the second pose change matrix of the camera is a function matrix of the positioning parameters (hub parameters and camera extrinsic parameters). If the positioning parameters of the mobile robot are completely accurate, then the first pose change matrix should be equal to the second pose change matrix. However, in the actual process, there are errors in the positioning parameters, and the two will not be exactly equal. Therefore, a least squares problem is constructed based on the first pose change matrix, the second pose change matrix, the two-dimensional rigid body transformation matrix, and the two-norm matrix to obtain an optimization model. By solving this optimization model, the calibrated positioning parameters can be obtained, significantly improving the accuracy of the calibration result. Specifically, the least squares method used for solving can be the Gauss-Newton method, the Levenberg-Marquardt method (LM method), the dog-leg method, etc.

[0126] Exemplarily, according to the embodiment of the present invention, the above-mentioned positioning parameters include hub parameters and camera extrinsic parameters, where the hub parameters include the left wheel hub radius, the right wheel hub radius, and the hub spacing, and the camera extrinsic parameter is the pose of the camera in the robot coordinate system.

[0127] According to the technical solution of the embodiment of the present invention, when the mobile robot moves in the moving area, the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot are respectively obtained at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; according to the identification code pose matrix, the first pose change matrix of the camera is calculated; according to the wheel angular velocity, the second pose change matrix of the camera is calculated; wherein, the pose of the mobile robot at the initial moment is the origin of the world coordinate system; by constructing an optimization model based on the first pose change matrix and the second pose change matrix and solving the optimization model, the calibrated positioning parameters of the mobile robot are obtained. Therefore, the technical problems existing in the existing calibration methods, such as the high cost and workload required for calibration, the low accuracy of the calibration result, the low calibration efficiency, and the relatively cumbersome operation process, are overcome. Furthermore, during the operation of the mobile robot, the identification code pose matrix and the wheel angular velocity are obtained, and then the first pose change matrix and the second pose change matrix of the camera are calculated. By constructing an optimization model and solving the optimization model, the calibrated positioning parameters are obtained, which simplifies the calibration process, reduces the cost and workload required for calibration, and improves the calibration efficiency and the accuracy of the calibration result.

[0128] Figure 4 FIG. 400 shows an exemplary system architecture to which the method for calibrating the positioning parameters of a mobile robot or the device for calibrating the positioning parameters of a mobile robot according to the embodiments of the present invention can be applied.

[0129] As Figure 4 shown, the system architecture 400 may include terminal devices 401, 402, 403, a network 404, and a server 405 (this architecture is merely an example, and the components included in the specific architecture may be adjusted according to the specific situation of the application). The network 404 is used to provide a medium for communication links between the terminal devices 401, 402, 403 and the server 405. The network 404 may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.

[0130] Users can use the terminal devices 401, 402, 403 to interact with the server 405 through the network 404 to receive or send messages, etc. Various communication client applications may be installed on the terminal devices 401, 402, 403, such as applications for calibrating the positioning parameters of a mobile robot, web browser applications, search applications, data processing tools, etc. (only examples).

[0131] The terminal devices 401, 402, 403 may be various electronic devices with a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop portable computers, and desktop computers, etc.

[0132] The server 405 may be a server that provides various services, such as a server (for example only) that processes (performs calibration of the positioning parameters of the mobile robot / performs data processing) the user's use of the terminal devices 401, 402, and 403. The server may analyze and process data such as the received identification code pose and wheel hub angular velocity, and feedback the processing results (such as the calibrated positioning parameters - for example only) to the terminal devices.

[0133] It should be noted that the method for calibrating the positioning parameters of the mobile robot provided in the embodiments of the present invention is generally executed by the server 405. Correspondingly, the device for calibrating the positioning parameters of the mobile robot is generally arranged in the server 405.

[0134] It should be understood that Figure 4 the numbers of the terminal devices, the network, and the server in

[0135] are merely illustrative. According to the implementation requirements, there can be any number of terminal devices, networks, and servers. Figure 5 Refer to Figure 5 below, which shows a schematic structural diagram of a computer system 500 suitable for implementing the terminal device or the server of the embodiments of the present invention.

[0136] As Figure 5 shown, the computer system 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 502 or the program loaded from the storage section 508 into the random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the system 500 are also stored. The CPU 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. The input / output (I / O) interface 505 is also connected to the bus 504.

[0137] The following components are connected to the I / O interface 505: an input section 506 including a keyboard, a mouse, etc.; an output section 507 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN card, a modem, etc. The communication section 509 performs communication processing via a network such as the Internet. The drive 510 is also connected to the I / O interface 505 as required. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 510 as required, so that the computer program read from it can be installed into the storage section 508 as required.

[0138] In particular, according to the embodiments disclosed in the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present invention include a computer program product that includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 509, and / or installed from the removable medium 511. When the computer program is executed by the central processing unit (CPU) 501, the above-mentioned functions defined in the system of the present invention are executed.

[0139] It should be noted that the computer-readable medium shown in the present invention can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device. In the present invention, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which the computer-readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and the computer-readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0140] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, as well as combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0141] The modules involved in the embodiments of the present invention can be implemented in software or in hardware. The described modules can also be provided in a processor. For example, it can be described as: a processor includes an acquisition module, a calculation module, and a calibration module. Among them, the names of these modules do not constitute a limitation on the module itself in some cases. For example, the acquisition module can also be described as "a module for respectively acquiring the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot at different times when the mobile robot moves in the moving area".

[0142] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiments; or it may exist alone without being assembled into the device. The above computer-readable medium carries one or more programs. When the above one or more programs are executed by the device, the device includes: respectively acquiring the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot at different times when the mobile robot moves in the moving area; wherein the identification code is provided on the ground of the moving area, and the camera is fixedly provided on the mobile robot; calculating a first pose change matrix of the camera according to the identification code pose matrix; calculating a second pose change matrix of the camera according to the wheel angular velocity; wherein the pose of the mobile robot at the initial moment is the origin of the world coordinate system; constructing an optimization model based on the first pose change matrix and the second pose change matrix, and solving the optimization model to obtain the calibrated positioning parameters of the mobile robot.

[0143] According to the technical solution of the embodiment of the present invention, when the mobile robot moves in the moving area, the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot are respectively obtained at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; according to the identification code pose matrix, the first pose change matrix of the camera is calculated; according to the wheel angular velocity, the second pose change matrix of the camera is calculated; wherein, the pose of the mobile robot at the initial moment is the origin of the world coordinate system; by constructing an optimization model based on the first pose change matrix and the second pose change matrix and solving the optimization model, the calibrated positioning parameters of the mobile robot are obtained. Therefore, the technical problems existing in the existing calibration methods, such as high cost and workload required for calibration, low accuracy of calibration results, low calibration efficiency, and relatively cumbersome operation process, are overcome. Furthermore, during the operation of the mobile robot, the identification code pose matrix and the wheel angular velocity are obtained, and then the first pose change matrix and the second pose change matrix of the camera are calculated. By constructing an optimization model and solving the optimization model, the calibrated positioning parameters are obtained, which simplifies the calibration process, reduces the cost and workload required for calibration, and improves the calibration efficiency and the accuracy of calibration results.

[0144] The above specific embodiments do not constitute a limitation to the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A method for calibrating the positioning parameters of a mobile robot, characterized in that, Including: When the mobile robot moves in the moving area, respectively obtain the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot at different times; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; According to the identification code pose matrix, calculate the first pose change matrix of the camera; according to the wheel angular velocity, calculate the second pose change matrix of the camera; wherein, the pose of the mobile robot at the initial moment is the origin of the world coordinate system; Based on the first pose change matrix and the second pose change matrix, construct an optimization model, and solve the optimization model to obtain the calibrated positioning parameters of the mobile robot.

2. The method for calibrating the positioning parameters of a mobile robot according to claim 1, wherein, The step of calculating the first pose change matrix of the camera according to the identification code pose matrix includes: Multiply the identification code pose matrix at the current moment by the inverse matrix of the identification code pose matrix at the next moment to obtain the first pose change matrix of the camera.

3. The method for calibrating the positioning parameters of the mobile robot according to claim 1, characterized in that The step of calculating the second pose change matrix of the camera according to the wheel angular velocity includes: According to the wheel angular velocities at different times, calculate the robot pose matrices of the mobile robot in the world coordinate system at different times; Multiply the inverse matrix of the robot pose matrix at the current moment by the robot pose matrix at the next moment to obtain the robot pose change matrix of the mobile robot; According to the robot pose change matrix, calculate the second pose change matrix of the camera.

4. The method for calibrating the positioning parameters of the mobile robot according to claim 3, characterized in that, The step of calculating the second pose change matrix of the camera according to the robot pose change matrix further includes: Determine the transformation matrix between the camera coordinate system and the robot coordinate system; According to the robot pose change matrix and the transformation matrix, calculate the second pose change matrix of the camera.

5. The method for calibrating the positioning parameters of a mobile robot according to claim 1, characterized in that, The step of constructing an optimization module based on the first pose change matrix and the second pose change matrix and solving the optimization model includes: Construct an optimization model according to the two-dimensional rigid body transformation matrix, the two-norm matrix, the first pose change matrix and the second pose change matrix; Use the least squares method to solve the optimization model, and the solution result is the calibrated positioning parameters of the mobile robot.

6. The method for calibrating the positioning parameters of the mobile robot according to claim 5, wherein, The positioning parameters include wheel parameters and camera extrinsic parameters, wherein, the wheel parameters include the left wheel hub radius, the right wheel hub radius and the wheel hub spacing, and the camera extrinsic parameter is the pose of the camera in the robot coordinate system.

7. A positioning parameter calibration device for a mobile robot, characterized in that, Including: An acquisition module, configured to respectively acquire the identification code pose matrix of the identification code in the camera coordinate system and the wheel angular velocity of the mobile robot at different times when the mobile robot moves in the moving area; wherein, the identification code is set on the ground of the moving area, and the camera is fixedly arranged on the mobile robot; A calculation module, configured to calculate a first pose change matrix of the camera according to the identification code pose matrix; and calculate a second pose change matrix of the camera according to the wheel hub angular velocity; wherein, at the initial moment, the pose of the mobile robot is the origin of the world coordinate system; A calibration module, configured to construct an optimization module based on the first pose change matrix and the second pose change matrix, and solve the optimization model to obtain the positioning parameters of the calibrated mobile robot.

8. The positioning parameter calibration device for a mobile robot according to claim 7, characterized in that, The calibration module is further configured to: Construct an optimization model according to a two-dimensional rigid body transformation matrix, a two-norm matrix, the first pose change matrix, and the second pose change matrix; Solve the optimization model by using the least squares method, and the solution result is the positioning parameters of the calibrated mobile robot.

9. An electronic device for calibrating positioning parameters of a mobile robot, characterized in that, Including: One or more processors; A storage device, configured to store one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors are caused to implement the method according to any one of claims 1-6.

10. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, the method according to any one of claims 1-6 is implemented.

Citation Information

Patent Citations

  • Robot locating method based on two-dimensional code signpost, camera and gyro

    CN111113415A

  • Robot positioning method, robot and storage medium

    CN111256689A