A robot repositioning method, device, equipment and medium

By identifying the robot navigation task stage and using preset identification images for positioning, the problem of inaccurate positioning of robots in similar environments in the prior art is solved, and the accuracy of the robot navigation task is improved.

CN119063739BActive Publication Date: 2025-03-14SHENZHEN QIHANG TERRITORY TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411528050.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-30
Publication Date
2025-03-14
Estimated Expiration
2044-10-30

AI Technical Summary

Technical Problem

In the prior art, when a robot is positioned in a highly similar geometric environment, due to the lack of obvious differences in environmental characteristics, the positioning results of the laser odometer are not accurate enough, which in turn causes deviations in the robot navigation task.

Method used

By identifying the current navigation task stage of the robot, using the preset identification image and navigation task stage to measure the actual orientation of the robot under the scene coordinate system, and update the robot status to realize the repositioning of the robot.

Benefits of technology

Improve the accuracy of robot positioning results and ensure that the robot can perform navigation tasks accurately.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119063739B_ABST
    Figure CN119063739B_ABST
Patent Text Reader

Abstract

The present application discloses a robot repositioning method, device, equipment and medium, the method comprising: obtaining the measured posture data of the robot at the current moment, determining whether the current navigation task stage is the docking stage; if the current navigation task stage is not the docking stage, determining the first actual posture data of the robot in the scene coordinate system based on the actual identification image of the first preset identification and the posture data of the first preset identification in the scene coordinate system; calculating the difference between the measured positioning result and the actual positioning result of the robot based on the measured posture data and the first actual posture data; updating the status information of the robot based on the first actual posture data to complete the repositioning of the robot. Through this technical solution, the purpose of repositioning the robot can be achieved, the accuracy of the robot positioning result is improved, and then the robot can be ensured to accurately perform the navigation task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of measuring orientation, and specifically relates to a robot repositioning method, device, equipment and medium. Background Art

[0002] With the development of the robotics industry, mobile robots have been widely used in industries such as industry, logistics, and warehousing. Using mobile robots for tasks such as material transfer, shopping guides, and goods sorting has greatly improved operational efficiency. In order to ensure that the robot can perform its tasks normally, accurate positioning of the robot has become very important.

[0003] In the prior art, the robot's orientation is mainly measured using a laser odometer. A laser radar emits a laser beam, measures the time from the laser being emitted to being reflected, calculates the distance using the speed of light and time, and builds a three-dimensional model of the environment through continuous scanning and data processing, thereby estimating the robot's positioning result. However, when the robot is driving in a highly similar geometric environment, the difference in the signal reflected by the laser beam is very small due to the lack of obvious feature differences in the environment. At this time, it is difficult to distinguish different positions when using a laser odometer to locate the robot, and the positioning result is not accurate enough, which leads to deviations in the robot's navigation task. Summary of the invention

[0004] The purpose of the embodiments of the present application is to provide a robot repositioning method, device, equipment and medium, which solves the problem of inaccurate positioning results when using existing technologies to position the robot. By identifying the current navigation task stage of the robot, measuring the actual position of the robot in the scene coordinate system based on a preset identification image and the navigation task stage, and updating the robot state based on the actual position, the purpose of repositioning the robot can be achieved, the accuracy of the robot positioning results is improved, and the robot can be ensured to accurately perform navigation tasks.

[0005] In a first aspect, an embodiment of the present application provides a robot repositioning method, the method comprising:

[0006] Obtaining the measured posture data of the robot at the current moment, and determining whether the current navigation task phase of the robot is a docking phase based on the measured posture data;

[0007] When the robot is currently in a navigation task phase that is not a docking phase, an actual identification image of the first preset identification is acquired, and first actual posture data of the robot in the scene coordinate system is determined based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system;

[0008] Calculate a first difference between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data;

[0009] Identify whether the first difference degree is greater than a first preset degree threshold, and when the first difference degree is greater than the first preset degree threshold, update the state information of the robot based on the first actual posture data to complete the repositioning of the robot.

[0010] Optionally, also include:

[0011] When the robot is currently in a docking phase, a current identification image of a second preset identification is obtained, the angular velocity and / or linear velocity of the robot is adjusted based on the current identification image until the current identification image matches the historical identification image, and a second actual posture data of the robot in the scene coordinate system is read in advance;

[0012] Calculating a second degree of difference between a second measured positioning result and a second actual positioning result of the robot based on the measured posture data and the second actual posture data;

[0013] Identify whether the second difference degree is greater than a second preset degree threshold, and when the second difference degree is greater than the second preset degree threshold, update the state information of the robot based on the second actual posture data to complete the repositioning of the robot.

[0014] Optionally, adjusting the angular velocity and / or linear velocity of the robot based on the current identification image until the current identification image matches the historical identification image includes:

[0015] Determine current identification position and posture data of the second preset identification in the robot coordinate system based on the current identification image;

[0016] Read the pre-stored historical identification posture data of the second preset identification in the robot coordinate system, and adjust the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data, so that the current identification image conforms to the historical identification image.

[0017] Optionally, adjusting the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data includes:

[0018] Determine the current horizontal coordinate value, the current vertical coordinate value and the current yaw angle of the second preset marker in the robot coordinate system according to the current marker posture data;

[0019] Determine the historical horizontal coordinate value, historical vertical coordinate value and historical yaw angle of the second preset marker in the robot coordinate system according to the historical marker posture data;

[0020] Adjust the robot's first angular velocity until the current horizontal coordinate value is equal to the historical horizontal coordinate value;

[0021] Adjust the robot's linear speed until the current vertical coordinate value is equal to the historical vertical coordinate value;

[0022] Adjust the robot's second angular velocity until the current yaw angle is equal to the historical yaw angle.

[0023] Optionally, determining first actual posture data of the robot in the scene coordinate system based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system includes:

[0024] Determine first marker position and posture data of the first preset marker in the image acquisition device coordinate system according to the actual marker image;

[0025] Acquire a conversion relationship between the image acquisition device coordinate system and the robot coordinate system, and calculate second marker pose data of the first preset marker in the robot coordinate system based on the first marker pose data and the conversion relationship;

[0026] Calculate the inverse transformation of the second identification posture data to obtain an inverse transformation result;

[0027] The third identification posture data of the first preset identification in the scene coordinate system is obtained, and the first actual posture data of the robot in the scene coordinate system is calculated based on the inverse transformation result and the third identification posture data.

[0028] Optionally, calculating a first difference between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data includes:

[0029] Determine a first measured position coordinate and a first actual position coordinate of the robot in a scene coordinate system based on the measured pose data and the first actual pose data;

[0030] The Euclidean distance between the first measured position coordinates and the first actual position coordinates is calculated, and the Euclidean distance is determined as a first difference degree between the first measured positioning result and the first actual positioning result of the robot.

[0031] Optionally, after updating the state information of the robot based on the first actual posture data, the method further includes:

[0032] Delete the local map recorded during the robot's driving;

[0033] A target local map matching the state of the robot in a pre-stored global map is identified, and the target local map is reloaded to generate a robot navigation plan based on the target local map.

[0034] In a second aspect, an embodiment of the present application provides a robot repositioning device, the device comprising:

[0035] The task phase identification module is used to obtain the measured posture data of the robot at the current moment, and determine whether the current navigation task phase of the robot is the docking phase based on the measured posture data;

[0036] an actual posture calculation module, for obtaining an actual identification image of the first preset identification when the current navigation task stage of the robot is not a docking stage, and determining first actual posture data of the robot in the scene coordinate system based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system;

[0037] A difference degree calculation module, used for calculating a first difference degree between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data;

[0038] The repositioning module is used to identify whether the first difference degree is greater than a first preset degree threshold. When the first difference degree is greater than the first preset degree threshold, the state information of the robot is updated based on the first actual posture data to complete the repositioning of the robot.

[0039] In a third aspect, an embodiment of the present application provides an electronic device, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the method described in the first aspect.

[0040] In a fourth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.

[0041] In the fifth aspect, an embodiment of the present application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium, and at least one processor of the device reads and executes the computer program from the computer-readable storage medium, so that the device performs the method described in the first aspect.

[0042] In an embodiment of the present application, the measured posture data of the robot at the current moment is obtained, and whether the current navigation task stage of the robot is the docking stage is determined based on the measured posture data; when the current navigation task stage of the robot is not the docking stage, the actual identification image of the first preset identification is obtained, and the first actual posture data of the robot in the scene coordinate system is determined based on the actual identification image and the posture data of the first preset identification in the scene coordinate system stored in advance; the first difference degree between the first measured positioning result and the first actual positioning result of the robot is calculated based on the measured posture data and the first actual posture data; it is identified whether the first difference degree is greater than the first preset degree threshold, and when the first difference degree is greater than the first preset degree threshold, the state information of the robot is updated based on the first actual posture data to complete the repositioning of the robot. Through the above robot repositioning method, the problem of inaccurate positioning results existing in the prior art for robot positioning is solved. By identifying the current navigation task stage of the robot, measuring the actual orientation of the robot in the scene coordinate system based on the preset identification image and the navigation task stage, and updating the robot state based on the actual orientation, the purpose of repositioning the robot can be achieved, and the accuracy of the robot positioning result is improved, thereby ensuring that the robot accurately performs the navigation task. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 is a flow chart of a robot repositioning method provided by an embodiment of the present application;

[0044] Figure 2 It is a schematic diagram of the internal structure of the robot provided by this application;

[0045] Figure 3 is a flow chart of another robot repositioning method provided by an embodiment of the present application;

[0046] Figure 4 is a flowchart of robot navigation planning provided by an embodiment of the present application;

[0047] Figure 5 is a structural block diagram of a robot repositioning device provided in an embodiment of the present application;

[0048] Figure 6 It is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical scheme and advantages of the present application clearer, the specific embodiments of the present application are further described in detail below in conjunction with the accompanying drawings. It is understood that the specific embodiments described herein are only used to explain the present application, rather than to limit the present application. It should also be noted that, for the convenience of description, only part of the present application is shown in the accompanying drawings, but not all of the content. Before discussing the exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flow charts. Although the flow chart describes each operation (or step) as a sequential process, many of the operations therein can be implemented in parallel, concurrently or simultaneously. In addition, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The process can correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.

[0050] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the present application belong to the scope of protection of this application.

[0051] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0052] First of all, the usage scenario of this solution can be a scenario where the robot is focused, especially the scenario where the robot is focused during the execution of a navigation task in order to accurately plan the robot's navigation route. By identifying the current navigation task stage of the robot, measuring the actual position of the robot in the scene coordinate system based on the preset identification image and the navigation task stage, and updating the robot state based on the actual position, the purpose of repositioning the robot can be achieved, which improves the accuracy of the robot's positioning results, thereby ensuring that the robot accurately performs navigation tasks. Based on the above usage scenarios, it can be understood that the executor of this solution can be a control chip or controller integrated in the robot.

[0053] In the following, in conjunction with the accompanying drawings, a robot repositioning method, device, equipment and medium provided in an embodiment of the present application are described in detail through specific embodiments and their application scenarios.

[0054] Figure 1 : is a flow chart of a robot repositioning method provided by an embodiment of the present application. Figure 1 As shown, the specific steps include:

[0055] S101, obtaining the measured posture data of the robot at the current moment, and determining whether the current navigation task stage of the robot is a docking stage based on the measured posture data.

[0056] Among them, the measured posture data may be the posture data of the robot in the scene coordinate system of the scene at the current moment measured by a positioning device such as a laser radar set on the robot. The scene coordinate system may be a three-dimensional coordinate system established based on the scene where the robot performs the task. For example: if the robot performs a handling task in a warehouse, the scene coordinate system may be a three-dimensional coordinate system established based on the warehouse where the robot is located. The posture data may be data used to represent the current position and posture of the robot, which may be represented by a rotation matrix and a translation vector respectively. The navigation task stage may be the position of the navigation route at the current moment during the robot's execution of the navigation task. The navigation task may be the process in which the robot performs the target task according to a navigation route that is pre-planned or planned in real time. For example: when using a robot to transport goods, the process in which the robot transports the goods from the starting position to the target position according to the planned route is the navigation task of the robot. In this process, the robot needs to scan the surrounding environment information in real time to avoid collisions with obstacles or other robots in the route. The navigation task stage may include: a docking stage and a non-docking stage. The docking stage may be the stage in which the robot drives from a preset position to a docking point and completes precise docking. For example: the stage when the robot docks at the charging point or the robot docks at the power on / off point after completing the handling task. The preset position can be the position where the straight-line distance between the robot and the docking point is less than the preset docking stage distance threshold. The non-docking stage can be the stage when the robot starts from the initial position and drives to the target point, that is, the driving stage. For example: the stage when the robot carries goods according to the navigation route.

[0057] In one embodiment, the measured posture data of the robot at the current moment can be obtained by receiving the measurement data of the positioning device set on the robot, and the estimated posture of the robot in the current scene can be determined according to the measured posture data. Determine whether the robot is about to dock according to the estimated posture of the robot. If the straight-line distance between the current position of the robot and the docking point in the estimated posture is less than the preset docking stage distance threshold, and the driving direction of the robot is towards the docking point, then it is determined that the current navigation task stage of the robot is the docking stage; if the distance between the current position of the robot and the docking point in the estimated posture is greater than or equal to the preset distance threshold, and / or the driving direction of the robot is away from the docking point, then it is determined that the current navigation task stage of the robot is not the docking stage.

[0058] S102, when the robot is currently in a navigation task stage that is not a docking stage, obtain an actual identification image of the first preset identification, and determine the first actual posture data of the robot in the scene coordinate system based on the actual identification image and the pre-stored posture data of the first preset identification in the scene coordinate system.

[0059] Among them, the preset mark can be an object used to mark the key position or area of ​​the scene where the robot is located. This solution mainly uses visual identifiers, such as ArUco tags, AprilTags, etc. as the first preset mark. The key position or area can be a position where the positioning device is prone to positioning errors. For example: charging point, corner, intersection, room entrance, etc. In the setting process of this solution, the preset mark is set at a proper height from the ground and facing the robot's driving direction at a suitable angle based on the optimal field of view of the image acquisition device on the robot during the setting process, ensuring that the image acquisition device set on the robot can clearly capture the image of the preset mark during the movement of the robot, and establish a scene coordinate system after the setting is completed, and use a high-precision calibration tool to accurately measure and record the pose information of each preset mark in the scene coordinate system. The pose information includes the unique identification id and pose data of the preset mark, and the pose information is stored in the mark pose storage data for the robot to match during the correction and repositioning process. Considering the possible errors in the actual measurement, the calibration accuracy can be improved by taking the average value of multiple measurements or using an error compensation algorithm.

[0060] The first preset mark may be a marking object set on the robot's driving path. The position data of the first preset mark is pre-measured and stored according to the above steps. The actual mark image may be an image of the first preset mark collected by an image acquisition device set on the robot.

[0061] Figure 2 This is a schematic diagram of the internal structure of the robot provided by this application. Figure 2As shown, the laser radar positioning device and the image acquisition device are both arranged inside the robot, and the posture relationship between them and the robot is fixed. The control chip is connected to the laser radar positioning device and the image acquisition device respectively, and is used to control the movement of the robot and the navigation path planning. The laser radar positioning device obtains the measured posture data of the robot at the current moment, and the image acquisition device obtains the identification image of the preset identification under the current posture of the robot. The control chip analyzes the actual posture of the robot based on the identification image collected by the image acquisition device, and then corrects the measured posture obtained by the laser radar positioning device to achieve the repositioning of the robot.

[0062] The pose data of the first preset mark in the scene coordinate system may be data indicating the position and pose of the first preset mark in the scene where the robot is located. The first actual pose data may be accurate pose data of the robot in the scene coordinate system during driving.

[0063] In one embodiment, when the robot is currently in a navigation task stage that is not a docking stage, the actual identification image of the first preset identification can be obtained by an image acquisition device preset on the robot, and the posture data of the first preset identification in the pre-stored identification posture data in the scene coordinate system can be read according to the identification ID of the first preset identification. The posture data of the first preset identification in the image acquisition device coordinate system is obtained by analyzing the actual identification image. Since the positional relationship between the image acquisition device and the robot is fixed, the posture data of the first preset identification in the image acquisition device coordinate system can be converted to the robot coordinate system. The conversion relationship between the robot coordinate system and the scene coordinate system is calculated according to the posture data of the first preset identification in the robot coordinate system and the posture data of the first preset identification in the pre-stored scene coordinate system. The first actual posture data of the robot in the scene coordinate system is determined based on the conversion relationship between the robot coordinate system and the scene coordinate system. The conversion relationship between the robot coordinate system and the scene coordinate system can be represented by a rotation and translation matrix.

[0064] In one embodiment, optionally, determining first actual posture data of the robot in the scene coordinate system based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system includes:

[0065] Determine first marker position and posture data of the first preset marker in the image acquisition device coordinate system according to the actual marker image;

[0066] Acquire a conversion relationship between the image acquisition device coordinate system and the robot coordinate system, and calculate second marker pose data of the first preset marker in the robot coordinate system based on the first marker pose data and the conversion relationship;

[0067] Calculate the inverse transformation of the second identification posture data to obtain an inverse transformation result;

[0068] The third identification posture data of the first preset identification in the scene coordinate system is obtained, and the first actual posture data of the robot in the scene coordinate system is calculated based on the inverse transformation result and the third identification posture data.

[0069] Among them, the first identification posture data can be the posture matrix of the first preset identification in the image acquisition device coordinate system. The posture data can be represented by a rotation matrix and a translation vector, and the rotation matrix and translation vector can be converted into a matrix by homogeneous transformation to obtain the posture matrix. The conversion relationship between the image acquisition device coordinate system and the robot coordinate system can be a rotation and translation matrix that brings the image acquisition device coordinate system and the robot coordinate system together. According to the conversion relationship between the image acquisition device coordinate system and the robot coordinate system, the data in the image acquisition device coordinate system and the data in the robot coordinate system can be converted into each other. The second identification posture data can be the posture matrix of the first preset identification in the robot coordinate system. The inverse transformation can be a calculation of converting the posture matrix of the first preset identification in the robot coordinate system into the posture matrix of the robot in the first preset identification coordinate system. The inverse transformation can be realized by performing a matrix inversion calculation on the second identification posture data. The first actual posture data can be the accurate posture data of the first preset identification in the scene coordinate system. The third identification posture data can be the posture matrix of the first preset identification in the scene coordinate system. The third identification posture data is used to represent the position and posture of the first preset identification in the scene coordinate system.

[0070] In one embodiment, the three-dimensional coordinates of the first preset mark in the actual mark image in the image coordinate system can be obtained by image recognition, and the first mark posture data of the first preset mark in the image acquisition device coordinate system can be determined according to the three-dimensional coordinates of the first preset mark in the image coordinate system and the internal and external parameters of the image acquisition device. The posture relationship between the image acquisition device and the robot is fixed, and the conversion relationship between the image acquisition device coordinate system and the robot coordinate system can be measured and stored in advance, and the second mark posture data of the first preset mark in the robot coordinate system is calculated based on the first mark posture data and the conversion relationship. The inverse transformation of the second mark posture data is calculated by performing matrix inversion on the second mark posture data, and the inverse transformation result, that is, the posture matrix of the robot in the first preset mark coordinate system, is obtained. The third mark posture data of the first preset mark in the scene coordinate system stored in advance is read, and the first actual posture data of the robot in the scene coordinate system is calculated based on the inverse transformation result and the third mark posture data.

[0071] In this solution, a camera or other visual sensor is installed on the robot to capture the visual identifier in the scene where the robot is located, that is, the first preset identifier. When the camera recognizes the first preset identifier in the scene during the mobile robot's navigation task, it is necessary to determine whether there is a measurement deviation in the measured posture of the robot by positioning equipment such as laser radar based on the posture of the first preset identifier. Through a series of coordinate changes, the deviation between the actual posture of the actual robot in the scene coordinate system and the measured posture can be inferred. For example: the first identifier posture data of the first preset identifier in the camera coordinate system can be obtained through RGB images. The first identifier posture data contains the rotation matrix R and the translation vector t. The rotation matrix is ​​a 3×3 matrix, which can be expressed as , the translation vector is a 3×1 matrix and can be expressed as , by using the homogeneous transformation matrix, the rotation and translation operations can be combined into one matrix operation, that is , according to the first preset marker in the image acquisition device coordinate system of the first marker pose data , the position data of the second marker of the first preset marker in the robot coordinate system can be obtained:

[0072] ;

[0073] in, It is the transformation matrix between the image acquisition device coordinate system and the robot coordinate system, which can be obtained through actual high-precision measurement. is the first marker position data of the first preset marker in the image acquisition device coordinate system, It is the second marker pose data of the first preset marker in the robot coordinate system. According to the pose of the first preset marker in the robot coordinate system and the pose of the first preset marker in the scene coordinate system, the real pose of the robot in the scene coordinate system can be calculated, that is, the first actual pose data:

[0074] ;

[0075] in, is the third marker pose data of the first preset marker in the scene coordinate system, It is the first actual pose data of the robot in the scene coordinate system. It is the inverse transformation matrix of the posture of the first preset mark in the robot coordinate system. According to the above coordinate conversion, the real posture of the robot in the scene coordinate system can be obtained according to the first preset mark.

[0076] This solution can achieve the purpose of determining the robot's posture using preset markers by calculating the second marker posture data of the first preset marker in the robot coordinate system and calculating the inverse transformation of the second marker posture data to determine the first actual posture data of the robot in the scene coordinate system, thereby improving the efficiency of the robot posture calculation.

[0077] S103: Calculate a first difference between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data.

[0078] The first difference degree may be a deviation degree between a measured posture obtained by positioning the robot during driving and an actual posture.

[0079] In one embodiment, the difference of the rotation matrix and the difference of the translation vector between the first measured posture data and the first actual posture data in the measured posture data can be calculated respectively, and the difference of the rotation matrix and the difference of the translation vector can be used as the first difference degree between the first measured positioning result and the first actual positioning result of the robot. The first measured posture data can be the posture data obtained by positioning the robot by the positioning device when the robot is not docked.

[0080] In one embodiment, optionally, calculating a first difference degree between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data includes:

[0081] Determine a first measured position coordinate and a first actual position coordinate of the robot in a scene coordinate system based on the measured pose data and the first actual pose data;

[0082] The Euclidean distance between the first measured position coordinates and the first actual position coordinates is calculated, and the Euclidean distance is determined as a first difference degree between the first measured positioning result and the first actual positioning result of the robot.

[0083] The first measured position coordinates may be the position positioning result of the robot in the scene coordinate system determined by the laser positioning device. The first actual position coordinates may be the real position coordinates of the robot in the scene coordinate system. The Euclidean distance may be the real distance between the first measured position coordinates and the first actual position coordinates in the three-dimensional space.

[0084] In one embodiment, the measured position data and measured posture data of the robot in the scene coordinate system can be determined based on the measured posture data, and the position data is the first measured position coordinate of the robot in the scene coordinate system. The actual position data and actual posture data of the robot in the scene coordinate system are determined based on the first actual posture data, and the actual position data is the first actual position coordinate. The Euclidean distance between the first measured position coordinate and the first actual position coordinate is calculated, and the Euclidean distance is determined as the first difference between the first measured positioning result of the robot and the first actual positioning result.

[0085] For example: Assume that the first actual pose data of the robot in the scene coordinate system is , the measured pose data obtained by the laser radar device is Since the first actual pose data and the measured pose data are both based on the scene coordinate system, it can be directly based on and Get the position data under the pose data, that is, the translation vector: and , the Euclidean distance between the first measured position coordinate and the first actual position coordinate can be calculated by the following formula:

[0086] ;

[0087] Available through Indicates a first degree of difference between the first measured positioning result and the first actual positioning result.

[0088] This solution determines the first degree of difference between the robot's first measurement positioning result and the first actual positioning result by calculating the Euclidean distance between the robot's first measurement position coordinates and the first actual position coordinates in the scene coordinate system, thereby achieving the purpose of calculating the degree of deviation between the robot's position measurement result and the actual position, and improving the accuracy of determining the degree of deviation of the measurement result.

[0089] S104, identifying whether the first difference degree is greater than a first preset degree threshold, and when the first difference degree is greater than the first preset degree threshold, updating the state information of the robot based on the first actual posture data to complete the repositioning of the robot.

[0090] Among them, the first preset degree threshold may be a preset maximum value that can tolerate the deviation between the measured positioning result of positioning the robot when the robot is not in the docking stage and the first actual positioning result. That is, if the first difference degree is less than or equal to the first preset degree threshold, the measured posture data is considered accurate; if the first difference degree is greater than the first preset degree threshold, the measured posture data is considered inaccurate and the robot needs to be repositioned. The status information of the robot may be the current working mode of the robot. The status information of the robot may include the current posture information of the robot, and may also include the current local map information of the robot, etc. Repositioning may be an operation to modify and correct the measurement and positioning result of the robot at the current moment.

[0091] In one embodiment, the first degree of difference can be compared with the first preset degree threshold to determine whether the first degree of difference is greater than the first preset degree threshold. When the first degree of difference is greater than the first preset degree threshold, the posture information in the robot's state information is replaced by the measured posture data with the first actual posture data to complete the repositioning of the robot.

[0092] In common robot scenarios, such as inspection scenarios, the robot's on / off position is fixed. Usually, the inspection logic is to start the inspection task after powering on, and return to the power-on point after the task is completed. In order to extend the service life of the robot, the robot will be shut down and wait for the next inspection task. During this period, if the robot position shifts, the system cannot record the shift at this time. In order to ensure accurate navigation planning for the robot after powering on, the robot needs to be repositioned after powering on.

[0093] The technical solution provided by the embodiment of the present application is to obtain the measured posture data of the robot at the current moment, and determine whether the current navigation task stage of the robot is the docking stage based on the measured posture data; when the current navigation task stage of the robot is not the docking stage, obtain the actual identification image of the first preset identification, and determine the first actual posture data of the robot in the scene coordinate system based on the actual identification image and the posture data of the first preset identification in the scene coordinate system stored in advance; calculate the first difference degree between the first measured positioning result of the robot and the first actual positioning result based on the measured posture data and the first actual posture data; identify whether the first difference degree is greater than the first preset degree threshold, and when the first difference degree is greater than the first preset degree threshold, update the state information of the robot based on the first actual posture data to complete the repositioning of the robot. Through the above robot repositioning method, the problem of inaccurate positioning results existing in the existing technology for robot positioning is solved. By identifying the current navigation task stage of the robot, measuring the actual orientation of the robot in the scene coordinate system based on the preset identification image and the navigation task stage, and updating the robot state based on the actual orientation, the purpose of repositioning the robot can be achieved, and the accuracy of the robot positioning result is improved, thereby ensuring that the robot accurately performs the navigation task.

[0094] Figure 3 FIG. 1 is a flow chart of another robot repositioning method provided in an embodiment of the present application. Figure 3 As shown, the specific steps include:

[0095] S301, when the robot is currently in a docking phase, obtain a current identification image of a second preset identification, adjust the angular velocity and / or linear velocity of the robot based on the current identification image until the current identification image matches the historical identification image, and read the second actual posture data of the robot in the scene coordinate system that is pre-stored.

[0096] Among them, the second preset mark can be a marking object set near the robot's docking position. The current mark image can be an image of the second preset mark collected by the robot at the current position through the image acquisition device. The angular velocity of the robot can be a physical quantity used to describe the speed of the robot rotating around a certain point. The robot of the two-wheel differential model generates angular velocity by controlling the speed difference of the left and right wheels, thereby achieving steering and movement. The linear velocity of the robot can be a physical quantity used to describe the speed of the robot's linear motion. The historical mark image can be a pre-acquired image obtained by photographing the second preset mark through the image acquisition device after the robot has accurately docked. When the robot completes the accurate docking, the current mark image should completely overlap with the historical mark image. That is, the historical mark image can be used as the standard mark image that the image acquisition device needs to collect. The second actual posture data can be the standard position and posture data that the robot needs to finally dock, which is pre-set according to the user's docking requirements for the robot. That is, the standard posture data of the robot during the docking stage is pre-set. This solution is based on the image acquisition device continuously collecting the current identification image of the second preset identification to guide the robot to adjust the angular velocity and / or linear speed, so that the robot can accurately dock from the current posture and adjust to the preset standard posture.

[0097] In one embodiment, when the robot is currently in a docking phase of the navigation task, a current identification image of a second preset identification can be obtained through an image acquisition device, and the angular velocity and / or linear velocity of the robot can be adjusted based on the difference between the current identification image and the historical identification image until the current identification image coincides with the historical identification image, and the second actual posture data of the robot in the scene coordinate system that is pre-stored can be read.

[0098] In one embodiment, optionally, adjusting the angular velocity and / or linear velocity of the robot based on the current identification image until the current identification image matches the historical identification image includes:

[0099] Determine current identification position and posture data of the second preset identification in the robot coordinate system based on the current identification image;

[0100] Read the pre-stored historical identification posture data of the second preset identification in the robot coordinate system, and adjust the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data, so that the current identification image conforms to the historical identification image.

[0101] The current identification posture data may be the actual posture data of the second preset identification in the robot coordinate system at the current posture of the robot, and the historical identification posture data may be the target posture data of the second preset identification in the robot coordinate system that needs to be achieved.

[0102] In one embodiment, the current identification posture data of the second preset identification in the robot coordinate system can be determined by analyzing the current identification image, and the pre-stored historical identification posture data of the second preset identification in the robot coordinate system can be read. According to the deviation between the historical identification posture data and the current identification posture data, the angular velocity and / or linear velocity of the robot can be adjusted until the current identification posture data reaches the historical identification posture data, so that the current identification image coincides with the historical identification image.

[0103] In this solution, high-precision repositioning can only be completed when the robot's precise docking meets the accuracy requirements. Therefore, it is necessary to guide the robot to dock through a second preset mark during the robot's docking stage. At this stage, it is necessary to place a second preset mark at the precise docking position in advance, and the robot can be guided to dock by pre-recording the standard posture data of the second preset mark in the robot coordinate system when the robot has docked accurately in the past. Therefore, there is no need to record the posture data of the second preset mark in the scene coordinate system. During the entire docking process, the robot needs to always keep the second preset identifier within the field of view of the image acquisition device to ensure the accuracy of positioning and docking. Considering the motion characteristics of the robot on a two-dimensional plane, its motion can be decomposed into two key components, linear velocity and angular velocity, to control the robot's forward and backward movement and left and right rotation, and through the real-time adjustment of these two components, precise control of the docking position can be achieved.

[0104] This solution, by determining the current identification posture data of the second preset identification in the robot coordinate system, adjusts the robot's angular velocity and / or linear velocity according to the historical identification posture data until the current identification posture data reaches the historical identification posture data, thereby achieving the purpose of adjusting the robot's precise docking based on the preset identification and improving the efficiency of guiding the robot to dock.

[0105] In one embodiment, optionally, adjusting the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data includes:

[0106] Determine the current horizontal coordinate value, the current vertical coordinate value and the current yaw angle of the second preset marker in the robot coordinate system according to the current marker posture data;

[0107] Determine the historical horizontal coordinate value, historical vertical coordinate value and historical yaw angle of the second preset marker in the robot coordinate system according to the historical marker posture data;

[0108] Adjust the robot's first angular velocity until the current horizontal coordinate value is equal to the historical horizontal coordinate value;

[0109] Adjust the robot's linear speed until the current vertical coordinate value is equal to the historical vertical coordinate value;

[0110] Adjust the robot's second angular velocity until the current yaw angle is equal to the historical yaw angle.

[0111] Among them, the current horizontal coordinate value may be the horizontal coordinate value of the second preset mark in the robot coordinate system at the current posture of the robot. The current vertical coordinate value may be the vertical coordinate value of the second preset mark in the robot coordinate system at the current posture of the robot. The current yaw angle may be a parameter used to describe the left and right deflection state of the second preset mark in the current posture of the robot. The yaw angle may be represented by the angle of rotation of the second preset mark around the z-axis of the robot coordinate system. Since the posture of the second preset mark is fixed, the yaw angle of the camera relative to the standard posture can be determined according to the marked yaw angle. The historical horizontal coordinate value may be the horizontal coordinate value of the second preset mark in the robot coordinate system at the standard posture of the robot. The historical vertical coordinate value is the vertical coordinate value of the second preset mark in the robot coordinate system at the standard posture of the robot. The historical yaw angle may be a parameter used to describe the left and right deflection state of the second preset mark in the standard posture of the robot. The first angular velocity may be a parameter used to adjust the lateral offset of the robot so that the current vertical coordinate of the second preset mark conforms to the historical vertical coordinate. The second angular velocity may be a parameter used to adjust the rotation angle offset of the robot so that the current yaw angle of the second preset identifier conforms to the historical yaw angle.

[0112] In one embodiment, the current horizontal coordinate value, the current vertical coordinate value and the current yaw angle of the second preset mark in the robot coordinate system can be determined according to the current mark posture data, and the historical horizontal coordinate value, the historical vertical coordinate value and the historical yaw angle of the second preset mark in the robot coordinate system can be determined according to the historical mark posture data. The first angular velocity of the robot is adjusted and the current horizontal coordinate value is identified in real time until the current horizontal coordinate value is equal to the historical horizontal coordinate value, the linear velocity of the robot is adjusted and the current vertical coordinate value is identified in real time until the current vertical coordinate value is equal to the historical vertical coordinate value, and the second angular velocity of the robot is adjusted and the current yaw angle is identified in real time until the current yaw angle is equal to the historical yaw angle.

[0113] In this solution, a target position can be set in advance near the robot's to-be-docked position, and the robot can be controlled to dock at the target position, and the position of the second preset mark in the robot coordinate system at this time can be recorded. , and the robot's current position in the scene coordinate system , based on the historical position deviation data of the second preset mark in the robot coordinate system Control the robot to move until The robot docking task is completed. By controlling the first angular velocity of the robot, the lateral offset of the second preset mark in the robot coordinate system (i.e. value) gradually moves toward the standard value (i.e. value) to ensure that the robot is facing the center of the second preset mark to avoid lateral deviation. By adjusting the robot's linear speed to reduce and eliminate the offset of the second preset mark in the front-to-back direction (i.e., the x value), the robot can accurately dock at the specified position in the front-to-back direction. By adjusting the second angular velocity, the yaw angle (yaw) of the robot relative to the target point is corrected to ensure that the robot reaches the docking point completely. After the above angular velocity and linear velocity adjustment steps are completed, if it is detected that the x, y or yaw values ​​have not all reached the target values, it means that the robot has not yet achieved completely accurate docking. At this time, it is necessary to control the robot to retreat to an appropriate distance by adjusting the linear speed, and then repeat the above steps until the x, y and yaw values ​​all reach the target values, thereby completing the final accurate docking.

[0114] S302: Calculate a second difference between a second measured positioning result and a second actual positioning result of the robot based on the measured posture data and the second actual posture data.

[0115] The second difference degree may be a deviation degree between a measured posture obtained by positioning the robot during the docking process and an actual posture.

[0116] In one embodiment, the difference of the rotation matrix and the difference of the translation vector between the second measured posture data and the second actual posture data in the measured posture data can be calculated respectively, and the difference of the rotation matrix and the difference of the translation vector can be used as the second difference degree between the second measured positioning result and the second actual positioning result of the robot. The second measured posture data can be the posture data obtained by positioning the robot by a positioning device when the robot is in a docked state.

[0117] S303, identifying whether the second difference degree is greater than a second preset degree threshold, and if the second difference degree is greater than the second preset degree threshold, updating the state information of the robot based on the second actual posture data to complete the repositioning of the robot.

[0118] The second preset degree threshold may be a preset maximum value that can tolerate the deviation between a measured positioning result of positioning the robot when the robot is in the docking stage and a second actual positioning result.

[0119] In one embodiment, by comparing the second difference degree with the second preset degree threshold, it can be identified whether the second difference degree is greater than the second preset degree threshold. When the second difference degree is greater than the second preset degree threshold, the measured posture data in the robot's state information is replaced with the second actual posture data to complete the repositioning of the robot.

[0120] The technical solution provided in the embodiment of the present application, when the robot is in the docking stage, adjusts the angular velocity and / or linear velocity of the robot based on the current identification image of the second preset identification until the current identification image matches the historical identification image, and reads the second actual posture data of the robot in the scene coordinate system that is pre-stored, and updates the status information of the robot based on the second actual posture data to complete the repositioning of the robot, thereby achieving the purpose of guiding the robot to dock and improving the accuracy of the robot's docking control and repositioning.

[0121] Figure 4 is a flowchart of robot navigation planning provided by an embodiment of the present application. Figure 4 As shown, the specific steps include:

[0122] S401, deleting the local map recorded during the robot's driving process.

[0123] The local map may be an image of the surrounding environment scanned by the robot during driving, or an image of the environment around the robot. The local map may include obstacles and the like.

[0124] In one embodiment, when it is identified that the first difference degree is greater than the first preset degree threshold, that is, there is a deviation in the measured posture data, it can be determined that the actual driving path of the robot also has a deviation, and the local map recorded during the driving process also has a deviation. At this time, the local map recorded during the driving process of the robot before the current moment can be deleted to ensure that the global map stored in advance will not conflict with the local map recorded by the robot.

[0125] S402, identifying a target local map that matches the state of the robot in a pre-stored global map, and reloading the target local map to generate a robot navigation plan based on the target local map.

[0126] The global map may be a pre-stored map of the entire scene where the robot is located. The target local map may be an actual local map of the robot's current location. The robot navigation plan may be a route plan for guiding the robot on how to drive to complete the final task. For example: a route with the shortest driving route and avoiding collisions with obstacles.

[0127] In one embodiment, the position and orientation of the robot in the global map can be determined based on the actual posture data of the robot, a target local map matching the state of the robot in a pre-stored global map can be determined based on the position and orientation, and the target local map can be reloaded to generate a robot navigation plan based on the map parameters in the target local map.

[0128] The technical solution provided in the embodiment of the present application generates a robot navigation plan by deleting the local map recorded during the robot's driving process and reloading the target local map that matches the robot's posture in the pre-stored global map. This can avoid the local map entry deviation caused by the robot's positioning deviation, improve the accuracy of the robot's navigation plan, and thus improve the success rate of the robot in performing navigation tasks.

[0129] Figure 5 is a structural block diagram of a robot repositioning device provided in an embodiment of the present application. Figure 5 As shown, specifically including the following:

[0130] The task phase identification module 501 is used to obtain the measured posture data of the robot at the current moment, and determine whether the current navigation task phase of the robot is the docking phase based on the measured posture data;

[0131] A first actual posture calculation module 502 is used to obtain an actual identification image of the first preset identification when the current navigation task stage of the robot is not the docking stage, and determine first actual posture data of the robot in the scene coordinate system based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system;

[0132] A first difference degree calculation module 503, used to calculate a first difference degree between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data;

[0133] The first repositioning module 504 is used to identify whether the first difference degree is greater than a first preset degree threshold. When the first difference degree is greater than the first preset degree threshold, the state information of the robot is updated based on the first actual posture data to complete the repositioning of the robot.

[0134] Optionally, also include:

[0135] a second actual posture calculation module, for obtaining a current identification image of a second preset identification when the robot is currently in a docking phase of the navigation task, adjusting the angular velocity and / or linear velocity of the robot based on the current identification image until the current identification image matches the historical identification image, and reading pre-stored second actual posture data of the robot in the scene coordinate system;

[0136] A second difference degree calculation module, used for calculating a second difference degree between a second measured positioning result and a second actual positioning result of the robot based on the measured posture data and the second actual posture data;

[0137] The second repositioning module identifies whether the second difference degree is greater than a second preset degree threshold. When the second difference degree is greater than the second preset degree threshold, the state information of the robot is updated based on the second actual posture data to complete the repositioning of the robot.

[0138] Optionally, the second actual posture calculation module is specifically used for:

[0139] Determine current identification position and posture data of the second preset identification in the robot coordinate system based on the current identification image;

[0140] Read the pre-stored historical identification posture data of the second preset identification in the robot coordinate system, and adjust the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data, so that the current identification image conforms to the historical identification image.

[0141] Optionally, the second actual posture calculation module is specifically used for:

[0142] Determine the current horizontal coordinate value, the current vertical coordinate value and the current yaw angle of the second preset marker in the robot coordinate system according to the current marker posture data;

[0143] Determine the historical horizontal coordinate value, historical vertical coordinate value and historical yaw angle of the second preset marker in the robot coordinate system according to the historical marker posture data;

[0144] Adjust the robot's first angular velocity until the current horizontal coordinate value is equal to the historical horizontal coordinate value;

[0145] Adjust the robot's linear speed until the current vertical coordinate value is equal to the historical vertical coordinate value;

[0146] Adjust the robot's second angular velocity until the current yaw angle is equal to the historical yaw angle.

[0147] Optionally, the first actual posture calculation module 502 is specifically used for:

[0148] Determine first marker position and posture data of the first preset marker in the image acquisition device coordinate system according to the actual marker image;

[0149] Acquire a conversion relationship between the image acquisition device coordinate system and the robot coordinate system, and calculate second marker pose data of the first preset marker in the robot coordinate system based on the first marker pose data and the conversion relationship;

[0150] Calculate the inverse transformation of the second identification posture data to obtain an inverse transformation result;

[0151] The third identification posture data of the first preset identification in the scene coordinate system is obtained, and the first actual posture data of the robot in the scene coordinate system is calculated based on the inverse transformation result and the third identification posture data.

[0152] Optionally, the first difference degree calculation module 503 is specifically used to:

[0153] Determine a first measured position coordinate and a first actual position coordinate of the robot in a scene coordinate system based on the measured pose data and the first actual pose data;

[0154] The Euclidean distance between the first measured position coordinates and the first actual position coordinates is calculated, and the Euclidean distance is determined as a first difference degree between the first measured positioning result and the first actual positioning result of the robot.

[0155] Furthermore, the device also includes:

[0156] The map deletion module is used to delete the local map recorded during the robot's driving process;

[0157] The navigation planning module is used to identify a target local map that matches the state of the robot in a pre-stored global map and reload the target local map to generate a robot navigation plan based on the target local map.

[0158] The technical solution provided in the embodiment of the present application includes a task stage identification module, which is used to obtain the measured posture data of the robot at the current moment, and determine whether the current navigation task stage of the robot is the docking stage based on the measured posture data; a first actual posture calculation module, which is used to obtain the actual identification image of the first preset identification when the current navigation task stage of the robot is not the docking stage, and determine the first actual posture data of the robot in the scene coordinate system based on the actual identification image and the pre-stored posture data of the first preset identification in the scene coordinate system; a first difference degree calculation module, which is used to calculate the first difference degree between the first measured positioning result and the first actual positioning result of the robot based on the measured posture data and the first actual posture data; and a first repositioning module, which is used to identify whether the first difference degree is greater than a first preset degree threshold, and when the first difference degree is greater than the first preset degree threshold, update the status information of the robot based on the first actual posture data to complete the repositioning of the robot. The above-mentioned robot repositioning device solves the problem of inaccurate positioning results when using the existing technology to position the robot. By identifying the current navigation task stage of the robot, measuring the actual position of the robot in the scene coordinate system based on the preset identification image and the navigation task stage, and updating the robot state based on the actual position, the purpose of repositioning the robot can be achieved, the accuracy of the robot positioning results is improved, and the robot can be ensured to accurately perform the navigation task.

[0159] A robot repositioning device in the embodiment of the present application can be configured in the device, or it can be configured in a component, integrated circuit, or chip in the terminal. The device can be a mobile electronic device or a non-mobile electronic device. Exemplarily, the mobile electronic device can be a mobile phone, a tablet computer, a laptop computer, a PDA, an in-vehicle electronic device, a wearable device, an ultra-mobile personal computer (UMPC), a netbook or a personal digital assistant (PDA), etc., and the non-mobile electronic device can be a server, a network attached storage (NAS), a personal computer (PC), a television (TV), a teller machine or a self-service machine, etc., which is not specifically limited in the embodiment of the present application.

[0160] A robot repositioning device in the embodiment of the present application may be an operating system, which may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.

[0161] A robot repositioning device provided in an embodiment of the present application can implement each process implemented in the above-mentioned method embodiments, and will not be described again here to avoid repetition.

[0162] like Figure 6 As shown, an embodiment of the present application also provides an electronic device 600, including a processor 601, a memory 602, and a program or instruction stored in the memory 602 and executable on the processor 601. When the program or instruction is executed by the processor 601, each process of the above-mentioned robot repositioning method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0163] It should be noted that the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.

[0164] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, each process of the above-mentioned robot repositioning method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0165] The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0166] The present application embodiment further provides a program product, which includes a program code. When the program product is run on a computer device, the program code is used to enable the computer device to execute the steps of the method according to various exemplary embodiments of the present application described above in this specification. For example, the computer device can execute a robot repositioning method recorded in the embodiment of the present application. The program product can be implemented in any combination of one or more readable media.

[0167] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0168] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0169] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0170] The above are only preferred embodiments of the present application and the technical principles used. The present application is not limited to the specific embodiments described herein, and various obvious changes, readjustments and substitutions that can be made by those skilled in the art will not deviate from the scope of protection of the present application. Therefore, although the present application is described in more detail through the above embodiments, the present application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present application, and the scope of the present application is determined by the scope of the claims.

Claims

1. A robot repositioning method, characterized in that: The method comprises: Acquire the measured posture data of the robot at the current moment, and determine whether the current navigation task stage of the robot is a docking stage based on the measured posture data; When the current navigation task stage of the robot is not a docking stage, obtaining an actual identification image of a first preset identification, and determining first actual posture data of the robot in the scene coordinate system based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system; Calculate a first difference degree between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data; Identify whether the first difference degree is greater than a first preset degree threshold, and if the first difference degree is greater than the first preset degree threshold, update the state information of the robot based on the first actual posture data to complete the repositioning of the robot; When the robot is currently in a docking phase, a current identification image of a second preset identification is obtained, an angular velocity and / or a linear velocity of the robot is adjusted based on the current identification image until the current identification image matches the historical identification image, and second actual posture data of the robot in the scene coordinate system is read out in advance; Calculating a second difference degree between a second measured positioning result and a second actual positioning result of the robot based on the measured posture data and the second actual posture data; Identify whether the second difference degree is greater than a second preset degree threshold. If the second difference degree is greater than the second preset degree threshold, update the state information of the robot based on the second actual posture data to complete the repositioning of the robot.

2. The robot repositioning method according to claim 1, characterized in that: The adjusting the angular velocity and / or linear velocity of the robot based on the current identification image until the current identification image matches the historical identification image includes: Determine the current identification position and posture data of the second preset identification in the robot coordinate system based on the current identification image; Read the pre-stored historical identification posture data of the second preset identification in the robot coordinate system, and adjust the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data, so that the current identification image is consistent with the historical identification image.

3. The robot repositioning method according to claim 2, characterized in that: The step of adjusting the angular velocity and / or linear velocity of the robot according to the historical identification posture data until the current identification posture data reaches the historical identification posture data includes: Determine the current horizontal coordinate value, the current vertical coordinate value and the current yaw angle of the second preset marker in the robot coordinate system according to the current marker posture data; Determine the historical horizontal coordinate value, the historical vertical coordinate value and the historical yaw angle of the second preset marker in the robot coordinate system according to the historical marker posture data; Adjusting the first angular velocity of the robot until the current horizontal coordinate value is equal to the historical horizontal coordinate value; Adjusting the linear speed of the robot until the current ordinate value is equal to the historical ordinate value; The second angular velocity of the robot is adjusted until the current yaw angle is equal to the historical yaw angle.

4. The robot repositioning method according to claim 1, characterized in that: The determining, based on the actual identification image and the pre-stored posture data of the first preset identification in the scene coordinate system, first actual posture data of the robot in the scene coordinate system comprises: Determine first marker position and posture data of the first preset marker in the image acquisition device coordinate system according to the actual marker image; Acquire a conversion relationship between the image acquisition device coordinate system and the robot coordinate system, and calculate second marker pose data of the first preset marker in the robot coordinate system based on the first marker pose data and the conversion relationship; Calculating an inverse transformation of the second identification posture data to obtain an inverse transformation result; Acquire third identification posture data of the first preset identification in the scene coordinate system, and calculate first actual posture data of the robot in the scene coordinate system based on the inverse transformation result and the third identification posture data.

5. The robot repositioning method according to claim 1, characterized in that: The calculating a first difference degree between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data comprises: Determine a first measured position coordinate and a first actual position coordinate of the robot in the scene coordinate system based on the measured pose data and the first actual pose data; The Euclidean distance between the first measured position coordinates and the first actual position coordinates is calculated, and the Euclidean distance is determined as a first difference degree between a first measured positioning result and a first actual positioning result of the robot.

6. The robot repositioning method according to claim 1, characterized in that: After updating the state information of the robot based on the first actual posture data, the method further includes: Deleting the local map recorded during the driving process of the robot; A target local map matching the state of the robot in a pre-stored global map is identified, and the target local map is reloaded to generate a robot navigation plan based on the target local map.

7. A robot repositioning device, characterized in that: The device comprises: A task phase identification module is used to obtain the measured posture data of the robot at the current moment, and determine whether the current navigation task phase of the robot is a docking phase based on the measured posture data; A first actual posture calculation module is used to obtain an actual identification image of a first preset identification when the current navigation task stage of the robot is not a docking stage, and determine first actual posture data of the robot in the scene coordinate system based on the actual identification image and pre-stored posture data of the first preset identification in the scene coordinate system; A first difference degree calculation module, used for calculating a first difference degree between a first measured positioning result and a first actual positioning result of the robot based on the measured posture data and the first actual posture data; a first repositioning module, configured to identify whether the first difference degree is greater than a first preset degree threshold, and if the first difference degree is greater than the first preset degree threshold, update the state information of the robot based on the first actual posture data to complete the repositioning of the robot; a second actual posture calculation module, for obtaining a current identification image of a second preset identification when the robot is currently in a docking phase of the navigation task, adjusting the angular velocity and / or linear velocity of the robot based on the current identification image until the current identification image matches the historical identification image, and reading pre-stored second actual posture data of the robot in the scene coordinate system; A second difference degree calculation module, used for calculating a second difference degree between a second measured positioning result and a second actual positioning result of the robot based on the measured posture data and the second actual posture data; The second repositioning module is used to identify whether the second difference degree is greater than a second preset degree threshold. When the second difference degree is greater than the second preset degree threshold, the state information of the robot is updated based on the second actual posture data to complete the repositioning of the robot.

8. An electronic device, characterized in that: The method comprises a processor, a memory and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of a robot repositioning method as described in any one of claims 1 to 6.

9. A readable storage medium, characterized in that: The readable storage medium stores a program or instruction, and when the program or instruction is executed by the processor, the steps of a robot repositioning method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Locating method, locating robot and computer storage medium

    CN110470296A