Robot Motion Control Method, Device, Electronic Device and Storage Medium

Adjusting the coordinate system of the robot arm through the position difference between the computer robot camera and the recognition label, the problem of low positioning accuracy of the composite robot is solved, high-precision operation motion control is achieved, and its application in high-precision production processes is expanded.

CN115847426BActive Publication Date: 2025-08-05SHANGHAI JIEKA ROBOT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310071463.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-16
Publication Date
2025-08-05
Estimated Expiration
2043-01-16

AI Technical Summary

Technical Problem

The low positioning accuracy of composite robots leads to insufficient operating motion accuracy, which makes it difficult to meet the needs of high-precision production process scenarios.

Method used

By obtaining the recognition tag image taken by the robot camera, calculating the position difference between the camera and the recognition tag, adjusting the update coordinate system of the robot arm, and controlling the robot motion using the pre-stored motion teaching position points to improve the operating accuracy of the robot arm.

Benefits of technology

It improves the operating motion accuracy of the robot, meets the needs of high-precision production processes, and expands the applicability of composite robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115847426B_ABST
    Figure CN115847426B_ABST
Patent Text Reader

Abstract

The present application provides a robot motion control method, device, electronic device and storage medium, which belongs to the field of robot control technology. The method includes: obtaining an identification tag image taken by a camera of the robot, wherein the identification tag image is an image obtained by the camera taking the identification tag after the robot arm moves to a preset coordinate system, and the preset coordinate system is calibrated with the first position information of the robot arm when the camera and the identification tag are in a template posture; according to the identification tag image, the posture of the camera and the identification tag is calculated; according to the posture difference between the posture of the camera and the identification tag and the template posture, the updated coordinate system of the robot arm is determined, wherein the updated coordinate system includes the updated position information of the robot arm; obtaining a plurality of pre-stored motion teaching posture points; according to the plurality of motion teaching posture points and the updated coordinate system, the robot is controlled to move to improve the accuracy of the robot movement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a robot motion control method, device, electronic device and storage medium. Background Art

[0002] With the increasing demand for industrial intelligence and the increasing complexity of processes, companies are increasingly demanding automated equipment. Compared to the single functions of AGV / AMR, collaborative robots, and machine vision, composite mobile robots that combine the characteristics of all three are clearly more flexible, and the robots are increasingly integrated with actual application needs. Composite robots can achieve continuous iterative evolution, combining more possible applications. The application scenarios in the industrial field are very diverse, such as spraying, palletizing, inspection, patrol, security, and many other fields. Currently, due to the advantages of composite robots' flexibility and high cost-effectiveness, they are often used in some production scenarios. Composite robots in production scenarios generally consist of a mobile device and a robotic arm installed on the mobile device.

[0003] However, in the field of production technology, due to the low positioning accuracy of composite robots, there are usually deviations in their positioning, resulting in low accuracy of the composite robot's operating movements (material picking, feeding, docking, etc.), while the operating accuracy requirements of the production process are generally high, making it difficult for composite robots to meet the needs of production process scenarios. Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a robot motion control method, device, electronic device and storage medium to solve the problem that the low positioning accuracy of the composite robot leads to low operating motion accuracy and is difficult to meet the requirements of production process scenarios with high precision requirements.

[0005] In a first aspect, the present invention provides a robot motion control method, the method comprising: obtaining an identification tag image taken by a camera of the robot, wherein the identification tag image is an image obtained by photographing the identification tag by the camera after the robotic arm moves to a preset coordinate system, and the preset coordinate system is calibrated with the first position information of the robotic arm when the camera and the identification tag are in a template posture; calculating the posture of the camera and the identification tag according to the identification tag image; determining an updated coordinate system of the robotic arm according to the posture difference between the posture of the camera and the identification tag and the template posture, wherein the updated coordinate system includes the updated position information of the robotic arm; obtaining a plurality of pre-stored motion teaching posture points; and controlling the robot to move according to the plurality of motion teaching posture points and the updated coordinate system.

[0006] The robot motion control method designed above first obtains the identification tag image captured by the robot's camera, then calculates the position of the camera and the identification tag based on the identification tag image, compares it with the template position of the camera and the identification tag, and then determines the updated coordinate system of the robotic arm based on the position difference between the position of the camera and the identification tag and the template position, thereby updating the position of the robotic arm so that the updated position of the robotic arm can make the camera and the identification tag reach the template position, thereby correcting the position of the robot's robotic arm by the difference between the position of the camera and the identification tag and the template position, thereby avoiding the deviation of the robotic arm position caused by the positioning accuracy deviation of the robot, thereby improving the operational motion accuracy of the robot's robotic arm, and finally controlling the robot to move through multiple pre-stored motion teaching posture points, thereby further improving the accuracy of the robot's operational motion with the help of the accuracy of the robot teaching, thereby solving the problem that the low positioning accuracy of the composite robot leads to low operational accuracy and is difficult to meet the requirements of high-precision production processes, improving the operational motion accuracy of the composite robot, thereby making the composite robot suitable for high-precision production process requirements, and improving the applicability of the composite robot.

[0007] In an optional implementation of the first aspect, the updated coordinate system of the robot arm is determined based on the posture difference between the posture of the camera and the identification tag and the posture of the template, including: calculating the posture difference between the posture of the camera and the identification tag and the posture of the template; judging whether the posture difference is greater than a preset posture difference threshold; if the posture difference is determined to be less than or equal to the preset posture difference threshold, then determining the preset coordinate system as the updated coordinate system. This implementation determines whether the positioning accuracy of the robot is inaccurate by comparing the posture difference between the posture of the camera and the identification tag and the posture of the template with the preset posture difference threshold. When the posture difference is less than or equal to the preset posture difference threshold, that is, when the positioning accuracy of the robot is accurate, the preset coordinate system is directly used as the updated coordinate system. Therefore, when the positioning accuracy is accurate, there is no need to change the coordinate system of the robot arm, thereby achieving rapid movement of the robot.

[0008] In an optional embodiment of the first aspect, an updated coordinate system of the robotic arm is determined based on a posture difference between the posture of the camera and the identification tag and the posture of the template, including: calculating the posture difference between the posture of the camera and the identification tag and the posture of the template; determining whether the posture difference is greater than a preset posture difference threshold; if it is determined that the posture difference is greater than the preset posture difference threshold, determining the mobile posture of the robotic arm based on the posture difference; controlling the robotic arm to move based on the mobile posture so that the posture of the camera and the identification tag changes to the template posture; after the robotic arm movement is completed, constructing an updated coordinate system based on the tool center point of the robotic arm and the updated position information of the robotic arm. In this embodiment, when the posture difference is greater than the preset posture difference threshold, that is, when the positioning accuracy of the robot is inaccurate, the mobile posture of the robotic arm is determined based on the posture difference, and then controlling the robotic arm to move so that the posture of the camera and the identification tag changes to the template posture. When the positioning accuracy is inaccurate, the position of the robotic arm is corrected by the posture of the camera and the identification tag, so that the robotic arm can accurately maintain the original initial state of the teaching, thereby improving the accuracy of the robot movement.

[0009] In an optional embodiment of the first aspect, an updated coordinate system of the robotic arm is determined based on a pose difference between the poses of the camera and the identification tag and the template pose, including: determining a mobile pose of the robotic arm based on the pose difference; controlling the robotic arm to move based on the mobile pose so that the pose of the camera and the identification tag changes to the template pose; and after the robotic arm moves, constructing an updated coordinate system based on the tool center point of the robotic arm and the updated position information of the robotic arm. This embodiment does not require determining the pose difference and directly assumes that the robot's positioning is inaccurate, thereby quickly correcting and adjusting the position of the robot's robotic arm.

[0010] In an optional embodiment of the first aspect, calculating the pose of the camera and the identification tag based on the identification tag image includes: obtaining size information of the tag image and pre-calibrated camera intrinsic parameters; and calculating the pose of the camera and the identification tag based on the size information of the tag image, the pre-calibrated camera intrinsic parameters, and the identification tag image. This embodiment accurately calculates the pose of the camera and the identification tag based on the size information of the tag image, the pre-calibrated camera intrinsic parameters, and the identification tag image, thereby improving the accuracy of the pose of the camera and the identification tag.

[0011] In an optional implementation of the first aspect, controlling the robot to move according to multiple motion teaching pose points and an updated coordinate system includes: controlling the robot arm to move to multiple motion teaching pose points in the updated coordinate system.

[0012] In an optional embodiment of the first aspect, before obtaining an image of the identification tag captured by the robot's camera, the method further includes: obtaining an identification tag template image; wherein the identification tag template image is an image of the identification tag fully exposed in the camera's field of view and at a target position in the camera's field of view; and calculating the three-dimensional pose of the camera and identification tag based on the identification tag template image to obtain a template pose. This embodiment calculates the template pose of the camera and identification tag based on the identification tag template image in advance, allowing the template pose to be directly invoked during robot motion control, thereby improving the real-time performance of the robot's motion control.

[0013] In an optional implementation of the first aspect, after obtaining the template posture, the method further includes: when the camera and the identification tag are in the template posture, constructing and storing a preset coordinate system based on the tool center point of the robot arm and the position information of the robot arm; using the preset coordinate system as a reference, performing motion teaching on the robot arm, and storing multiple motion teaching posture points during the motion teaching process.

[0014] In an optional implementation manner of the first aspect, the motion teaching includes any one of material picking teaching, material feeding teaching or docking teaching.

[0015] In a second aspect, the present invention provides a robot motion control device, which includes: an acquisition module, a calculation module, a determination module and a control module; the acquisition module is used to acquire an identification tag image taken by the robot's camera, wherein the identification tag image is an image obtained by the camera taking the identification tag after the robotic arm moves to a preset coordinate system, and the preset coordinate system is calibrated with the first position information of the robotic arm when the camera and the identification tag are in a template posture; the calculation module is used to calculate the posture of the camera and the identification tag based on the identification tag image; the determination module is used to determine the updated coordinate system of the robotic arm based on the posture difference between the posture of the camera and the identification tag and the template posture, wherein the updated coordinate system includes the updated position information of the robotic arm; the acquisition module is also used to acquire multiple pre-stored motion teaching posture points; the control module is used to control the robot to move based on the multiple motion teaching posture points and the updated coordinate system.

[0016] The robot motion control device designed above, this scheme first obtains the identification tag image obtained by the robot's camera, then calculates the position of the camera and the identification tag based on the identification tag image, compares it with the template position of the camera and the identification tag, and then determines the updated coordinate system of the robotic arm based on the position difference between the position of the camera and the identification tag and the template position, thereby updating the position of the robotic arm so that the updated position of the robotic arm can make the camera and the identification tag reach the template position, thereby correcting the position of the robot's robotic arm by the difference between the position of the camera and the identification tag and the template position, thereby avoiding the deviation of the robotic arm position caused by the positioning accuracy deviation of the robot, thereby improving the operational motion accuracy of the robot's robotic arm, and finally controlling the robot to move through multiple pre-stored motion teaching posture points, thereby further improving the accuracy of the robot's operational motion with the help of the accuracy of the robot teaching, thereby solving the problem that the low positioning accuracy of the composite robot leads to low operational accuracy and is difficult to meet the requirements of high-precision production processes, improving the operational motion accuracy of the composite robot, thereby making the composite robot suitable for high-precision production process requirements, and improving the applicability of the composite robot.

[0017] In an optional implementation of the second aspect, the determination module is specifically used to calculate the posture difference between the posture of the camera and the identification tag and the posture of the template; determine whether the posture difference is greater than a preset posture difference threshold; if it is determined that the posture difference is less than or equal to the preset posture difference threshold, determine the preset coordinate system as the updated coordinate system.

[0018] In an optional implementation of the second aspect, the determination module is further specifically used to calculate the posture difference between the posture of the camera and the identification tag and the template posture; determine whether the posture difference is greater than a preset posture difference threshold; if it is determined that the posture difference is greater than the preset posture difference threshold, determine the moving posture of the robotic arm according to the posture difference; control the robotic arm to move according to the moving posture so that the posture of the camera and the identification tag changes to the template posture; after the movement of the robotic arm is completed, construct an updated coordinate system based on the tool center point of the robotic arm and the updated position information of the robotic arm.

[0019] In an optional implementation of the second aspect, the determination module is further specifically used to determine the moving posture of the robotic arm based on the posture difference; control the robotic arm to move according to the moving posture of the robotic arm so that the posture of the camera and the identification tag changes to the template posture; after the movement of the robotic arm is completed, construct an updated coordinate system based on the tool center point of the robotic arm and the updated position information of the robotic arm.

[0020] In an optional implementation of the second aspect, the calculation module is specifically used to obtain the size information of the label image and the pre-calibrated camera intrinsic parameters; and calculate the position and posture of the camera and the identification tag based on the size information of the label image, the pre-calibrated camera intrinsic parameters and the identification tag image.

[0021] In an optional implementation of the second aspect, the control module is specifically used to control the robotic arm to move to multiple motion teaching pose points in the updated coordinate system.

[0022] In an optional implementation of the second aspect, the acquisition module is further used to acquire an identification label template image; wherein the identification label template image is an image in which the identification label is completely exposed in the camera field of view and the identification label is at a target position in the camera field of view; the calculation module is further used to calculate the three-dimensional pose of the camera and the identification label based on the identification label template image to obtain the template pose.

[0023] In an optional embodiment of the second aspect, the device also includes a construction module for constructing and storing a preset coordinate system based on the tool center point of the robotic arm and the position information of the robotic arm when the camera and the identification tag are in a template posture; a teaching module for performing motion teaching on the robotic arm based on the preset coordinate system, and storing multiple motion teaching posture points during the motion teaching process.

[0024] In a third aspect, the present application provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, it executes the method in the first aspect or any optional implementation of the first aspect.

[0025] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the method in the first aspect or any optional implementation of the first aspect is executed.

[0026] In a fifth aspect, the present application provides a computer program product, which, when running on a computer, enables the computer to execute the method in the first aspect or any optional implementation of the first aspect.

[0027] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0029] Figure 1 A schematic diagram of a flow chart of a robot motion control method provided in an embodiment of the present application;

[0030] Figure 2 Schematic diagram of the identification tag provided in the embodiment of the present application;

[0031] Figure 3 A schematic diagram of the structure of a robot motion control device provided in an embodiment of the present application;

[0032] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.

[0033] Icons: 300 - acquisition module; 310 - calculation module; 320 - determination module; 330 - control module; 340 - construction module; 350 - teaching module; 4 - electronic device; 401 - processor; 402 - memory; 403 - communication bus. DETAILED DESCRIPTION

[0034] The following embodiments of the technical solution of the present application will be described in detail with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present application and are therefore only examples and are not intended to limit the scope of protection of the present application.

[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application belongs; the terms used herein are only for the purpose of describing specific embodiments and are not intended to limit this application; the terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned figure descriptions are intended to cover non-exclusive inclusions.

[0036] In the description of the embodiments of this application, the technical terms "first" and "second" are used only to distinguish different objects and should not be understood to indicate or imply relative importance or implicitly specify the quantity, specific order, or primary and secondary relationship of the indicated technical features. In the description of the embodiments of this application, the meaning of "plurality" is more than two, unless otherwise clearly and specifically defined.

[0037] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0038] In the description of the embodiments of this application, the term "and / or" is simply a description of the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent the following three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0039] In the description of the embodiments of the present application, the term "multiple" refers to more than two (including two). Similarly, "multiple groups" refers to more than two groups (including two groups), and "multiple pieces" refers to more than two pieces (including two pieces).

[0040] In the description of the embodiments of the present application, the technical terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc., indicating the orientation or position relationship, are based on the orientation or position relationship shown in the accompanying drawings, and are only for the convenience of describing the embodiments of the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the embodiments of the present application.

[0041] In the description of the embodiments of the present application, unless otherwise expressly specified or limited, technical terms such as "installed," "connected," "connected," and "fixed" should be understood in a broad sense. For example, they can refer to fixed connections, detachable connections, or integration; mechanical connections or electrical connections; direct connections or indirect connections through an intermediate medium; internal connections between two components or interactions between two components. Those skilled in the art can understand the specific meanings of the above terms in the embodiments of the present application based on specific circumstances.

[0042] At present, composite robots are often used in some production process scenarios. Composite robots are usually composed of a mobile device (such as a cart) and a grasping device (such as a robotic arm) on the mobile device. During the production process, the composite robots are used to operate process materials (such as picking, feeding or docking, etc.).

[0043] The inventors of this application have found that although the use of composite robots in production process scenarios is a flexible and cost-effective solution, the positioning accuracy of composite robots is relatively low, usually 2-3 cm. In production process scenarios, each operation needs to be refined and accurate. The operation accuracy of composite robots on process materials is low, making it difficult to meet the refined requirements of production process operations.

[0044] In response to the above problems, the inventors of the present application designed a robot motion control method, device, electronic device and storage medium. By identifying the difference between the posture of the camera and identification tag on the robot and the template posture, the coordinate system of the robot's mechanical arm is adjusted, so that when the camera and the identification tag are in the template posture, the updated position of the mechanical arm adjustment is obtained. Finally, the robot is controlled to move according to the motion teaching posture point and the updated position of the mechanical arm adjustment, so that the position of the composite robot's mechanical arm can be flexibly adjusted through the posture relationship between the identification tag and the camera, and with the help of the accuracy of the robot teaching, the robot's motion control is made more precise, thereby improving the robot's operation accuracy on process materials.

[0045] Based on the above ideas, the present application provides a robot motion control method, which can be applied to computing devices, including but not limited to computers, servers, controllers, chips, and host computers, etc. Figure 1 As shown, the robot motion control method can be implemented by the following methods, including:

[0046] Step S100: Acquire an identification tag image captured by the robot's camera.

[0047] Step S110: Calculate the position and posture of the camera and the recognition tag according to the recognition tag image.

[0048] Step S120: Determine the updated coordinate system of the robotic arm according to the pose difference between the pose of the camera and the recognition tag and the pose of the template.

[0049] Step S130: Acquire multiple pre-stored motion teaching posture points.

[0050] Step S140: Control the robot to move according to the multiple motion teaching positions and the updated coordinate system.

[0051] In the above-described embodiment, the robot may comprise a composite robot comprising a mobile device and a robotic arm mounted on the mobile device. The mobile device may be specifically a mobile cart. When the composite robot is operating at its workstation, the mobile cart can drive the robotic arm to move. The robot of this embodiment is also provided with a camera, which can be mounted on the robot body or on the robotic arm. When the camera is mounted on the robotic arm, it can be mounted at the end of the robotic arm. In addition to the camera, the end of the robotic arm may also be provided with an actuator claw to grasp and release the required process materials. Furthermore, the robotic arm of the robot may be a six-axis robotic arm or other multi-axis robotic arm.

[0052] The above description states that when the composite robot is working at the workplace, the mobile trolley can drive the robotic arm to move. Specifically, the composite robot can establish a map of the workplace in advance, and the method of establishing the map can adopt any of the currently available methods of establishing maps for mobile robots. Among them, there are multiple work positions in the composite robot workplace, and each work position is provided with an identification label. For example, each work position has a corresponding workbench (feeding table, material picking table, etc.), and each workbench is provided with a corresponding identification label. Specifically, the identification label can be any label with known dimensions and clear edges, such as an arucuo code, a nameplate that comes with the workbench, etc., or a label such as Figure 2 The black and white grid image shown.

[0053] Based on the above, before executing step S100, this solution can determine and store the template pose, preset coordinate system and motion teaching pose points of the camera and the identification tag in advance.

[0054] Specifically, as a possible implementation, the template pose of the camera and the identification tag can be determined by the following method, including: obtaining the identification tag template image, calculating the three-dimensional pose of the camera and the identification tag based on the identification tag template image, and thus obtaining the template pose.

[0055] The identification tag template image is an image of the identification tag fully exposed in the robot's camera field of view and at the target position of the camera field of view. Specifically, the identification tag template image can be an image obtained by photographing the identification tag when the identification tag is at the center of the camera field of view.

[0056] As one possible implementation, this solution acquires the identification tag template image by adjusting the camera's field of view and the tag's position when the robot reaches the tag's corresponding work position, capturing the image when the tag is exactly within the camera's field of view. Alternatively, the identification tag template image can be acquired in advance and directly read when determining the template's pose.

[0057] Based on the identification tag template image obtained by the above method, this solution can specifically solve the three-dimensional pose relationship between the identification tag and the camera through a three-dimensional pose estimation algorithm according to the physical size of the identification tag, the camera intrinsic parameters and the pixel points in the identification tag template image, thereby obtaining the template pose. Among them, the physical size of the identification tag can be measured in advance, and the camera intrinsic parameters can be obtained in advance through the camera calibration method.

[0058] Based on the above, this solution constructs and stores a preset coordinate system based on the tool center point of the robot's manipulator and the position information of the manipulator when the robot's camera and identification tag are in a template pose. The preset coordinate system is used as a reference for motion teaching of the manipulator, and multiple motion teaching pose points during the motion teaching process are stored. The motion teaching includes any one of material picking teaching, material feeding teaching, or docking teaching. For example, when the robot performs a material feeding operation, the preset coordinate system is used as a reference for teaching the manipulator to feed the material, and multiple feeding teaching pose points during the feeding teaching process are stored.

[0059] Based on the above, this solution can obtain an image of the identification tag captured by the robot's camera. This image is captured by the camera of the identification tag at the robot's work location after the robot reaches the work location and the robot's robotic arm moves to a preset coordinate system. The preset coordinate system is calibrated with the first position information of the robotic arm when the camera and the identification tag are in a template pose. Specifically, if the robotic arm is a multi-axis robotic arm, the first position information of the robotic arm may include the first position information of each joint of the robotic arm.

[0060] Specifically, after the robot reaches the working position, it can first control the robotic arm to move so that the robotic arm moves to the preset coordinate system, that is, the robotic arm moves to the position corresponding to the first position information. At this time, the camera on the robot shoots the identification label image to obtain the identification label image.

[0061] Based on the obtained identification tag image, this solution can calculate the pose of the camera and identification tag based on the identification tag image. The method for calculating the pose of the camera and identification tag based on the identification tag image is similar to the method for calculating the template pose described above. Specifically, the pose of the camera and identification tag can be calculated using a 3D pose estimation algorithm based on the tag image's size information, pre-calibrated camera intrinsic parameters, and the pixels of the identification tag image.

[0062] Based on the obtained poses of the camera and identification tag, this solution determines the updated user coordinate system of the robot arm according to the pose difference between the poses of the camera and identification tag and the pose of the template. The updated user coordinate system contains the updated position information of the robot arm.

[0063] As a possible implementation method, due to the low positioning accuracy of the composite robot, there is usually an error of 2-3cm. Therefore, when the composite robot reaches the working position, although its robotic arm moves to the preset coordinate system, due to the positioning deviation of the composite robot, there will be a deviation in the position of the camera and the identification tag at the working position. Therefore, this solution can determine the moving posture of the robotic arm based on the posture difference between the posture of the camera and the identification tag and the template posture, and then control the robotic arm to move according to the moving posture of the robotic arm, so that the posture of the camera and the identification tag changes to the template posture. After the movement of the robotic arm is completed, the updated coordinate system is constructed based on the tool center point of the robotic arm and the updated position information of the robotic arm.

[0064] The above method can be illustrated by the following example: for example, assuming that the camera is set on the robotic arm, the template pose of the camera and the identification tag is that the camera is 20 cm directly above the identification tag. However, due to the positioning error of the composite robot, after stopping at the working position, the camera and the identification tag deviate 2 cm to the left relative to the template pose. On this basis, this solution controls the robotic arm to drive the camera to move 2 cm to the right, so that the pose of the camera and the identification tag is the template pose, that is, the camera is 20 cm directly above the identification tag. After the movement is completed, the updated coordinate system is constructed according to the tool center point of the robotic arm and the updated position information of the robotic arm.

[0065] As another possible implementation, the positioning of the composite robot is unstable. In most cases, the positioning error is large, i.e., 2-3 cm. However, there are occasional cases where the positioning error is small or the positioning error is basically non-existent. On this basis, this solution can first calculate the posture difference between the camera and the identification tag and the template posture, and then determine whether the posture difference is greater than the preset posture difference threshold. If the posture difference is greater than the preset posture difference threshold, it means that the positioning error of the composite robot is large. On this basis, this solution uses the method described above to construct an updated coordinate system; if the posture difference is less than or equal to the preset posture difference threshold, it means that the positioning error of the composite robot is small or the positioning error is basically non-existent, and the preset coordinate system is directly used as the updated coordinate system, that is, the robotic arm is not moved.

[0066] Among them, the three-dimensional pose of the camera and the recognition tag is generally represented by three-dimensional coordinates. On this basis, the difference between the pose of the camera and the recognition tag and the pose of the template described above can be obtained by calculating the difference in three-dimensional coordinates to obtain the pose difference.

[0067] After determining the updated coordinate system for the robotic arm, this solution retrieves multiple pre-stored motion teaching poses and controls the robot's movements based on these poses and the updated user coordinate system. Specifically, this solution controls the robotic arm to move to these poses within the updated coordinate system, thereby achieving robot movement.

[0068] For example, the previous example uses the multiple feeding teaching posture points obtained in sequence based on the teaching process of the robotic arm completing the feeding of a process material. On this basis, the robotic arm of the robot is controlled to move in sequence based on the multiple feeding teaching posture points in the updated coordinate system, thereby automatically completing the feeding of the process material.

[0069] The robot motion control method designed above first obtains the identification tag image captured by the robot's camera, then calculates the position of the camera and the identification tag based on the identification tag image, compares it with the template position of the camera and the identification tag, and then determines the updated coordinate system of the robotic arm based on the position difference between the position of the camera and the identification tag and the template position, thereby updating the position of the robotic arm so that the updated position of the robotic arm can make the camera and the identification tag reach the template position, thereby correcting the position of the robot's robotic arm by the difference between the position of the camera and the identification tag and the template position, thereby avoiding the deviation of the robotic arm position caused by the positioning accuracy deviation of the robot, thereby improving the operational motion accuracy of the robot's robotic arm, and finally controlling the robot to move through multiple pre-stored motion teaching posture points, thereby further improving the accuracy of the robot's operational motion with the help of the accuracy of the robot teaching, thereby solving the problem that the low positioning accuracy of the composite robot leads to low operational accuracy and is difficult to meet the requirements of high-precision production processes, improving the operational motion accuracy of the composite robot, thereby making the composite robot suitable for high-precision production process requirements, and improving the applicability of the composite robot.

[0070] Figure 3 The present application provides a schematic structural block diagram of a robot motion control device. It should be understood that the device is Figure 1The device corresponds to the method embodiment executed in the embodiment, and is capable of executing the steps involved in the aforementioned method. The specific functions of the device can be found in the description above, and a detailed description is omitted here to avoid repetition. The device includes at least one software function module that can be stored in a memory in the form of software or firmware or embedded in the operating system (OS) of the device. Specifically, the device includes: an acquisition module 300, a calculation module 310, a determination module 320 and a control module 330; the acquisition module 300 is used to acquire the identification tag image taken by the robot's camera, wherein the identification tag image is an image obtained by the camera taking the identification tag after the robotic arm moves to a preset coordinate system, and the preset coordinate system is calibrated with the first position information of the robotic arm when the camera and the identification tag are in a template posture; the calculation module 310 is used to calculate the posture of the camera and the identification tag based on the identification tag image; the determination module 320 is used to determine the updated coordinate system of the robotic arm based on the posture difference between the posture of the camera and the identification tag and the template posture, wherein the updated coordinate system includes the updated position information of the robotic arm; the acquisition module 300 is also used to acquire multiple pre-stored motion teaching posture points; the control module 330 is used to control the robot to move based on multiple motion teaching posture points and the updated coordinate system.

[0071] The robot motion control device designed above, this scheme first obtains the identification tag image obtained by the robot's camera, then calculates the position of the camera and the identification tag based on the identification tag image, compares it with the template position of the camera and the identification tag, and then determines the updated coordinate system of the robotic arm based on the position difference between the position of the camera and the identification tag and the template position, thereby updating the position of the robotic arm so that the updated position of the robotic arm can make the camera and the identification tag reach the template position, thereby correcting the position of the robot's robotic arm by the difference between the position of the camera and the identification tag and the template position, thereby avoiding the deviation of the robotic arm position caused by the positioning accuracy deviation of the robot, thereby improving the operational motion accuracy of the robot's robotic arm, and finally controlling the robot to move through multiple pre-stored motion teaching posture points, thereby further improving the accuracy of the robot's operational motion with the help of the accuracy of the robot teaching, thereby solving the problem that the low positioning accuracy of the composite robot leads to low operational accuracy and is difficult to meet the requirements of high-precision production processes, improving the operational motion accuracy of the composite robot, thereby making the composite robot suitable for high-precision production process requirements, and improving the applicability of the composite robot.

[0072] In an optional implementation of this embodiment, the determination module 320 is specifically used to calculate the posture difference between the posture of the camera and the identification tag and the posture of the template; determine whether the posture difference is greater than a preset posture difference threshold; if it is determined that the posture difference is less than or equal to the preset posture difference threshold, then determine the preset coordinate system as the updated coordinate system.

[0073] In an optional implementation of this embodiment, the determination module 320 is further specifically used to calculate the posture difference between the posture of the camera and the identification tag and the template posture; determine whether the posture difference is greater than a preset posture difference threshold; if it is determined that the posture difference is greater than the preset posture difference threshold, determine the moving posture of the robotic arm according to the posture difference; control the robotic arm to move according to the moving posture so that the posture of the camera and the identification tag changes to the template posture; after the movement of the robotic arm is completed, construct an updated coordinate system based on the tool center point of the robotic arm and the updated position information of the robotic arm.

[0074] In an optional implementation of this embodiment, the determination module 320 is further specifically used to determine the moving posture of the robotic arm based on the posture difference; control the movement of the robotic arm according to the moving posture of the robotic arm so that the posture of the camera and the identification tag changes to the template posture; after the movement of the robotic arm is completed, construct an updated coordinate system based on the tool center point of the robotic arm and the updated position information of the robotic arm.

[0075] In an optional implementation of this embodiment, the calculation module 310 is specifically used to obtain the size information of the tag image and the pre-calibrated camera intrinsic parameters; and calculate the position and posture of the camera and the identification tag based on the size information of the tag image, the pre-calibrated camera intrinsic parameters and the identification tag image.

[0076] In an optional implementation manner of this embodiment, the control module 330 is specifically used to control the robot arm to move to multiple motion teaching pose points in the updated coordinate system.

[0077] In an optional implementation of this embodiment, the acquisition module 300 is also used to acquire an identification label template image; wherein the identification label template image is an image in which the identification label is completely exposed in the camera field of view and the identification label is at the target position in the camera field of view; the calculation module 310 is also used to calculate the three-dimensional pose of the camera and the identification label based on the identification label template image to obtain the template pose.

[0078] In an optional implementation of this embodiment, the device also includes a construction module 340, which is used to construct and store a preset coordinate system based on the tool center point of the robotic arm and the position information of the robotic arm when the camera and the identification tag are in a template posture; a teaching module 350, which is used to teach the robotic arm motion based on the preset coordinate system, and store multiple motion teaching posture points during the motion teaching process.

[0079] According to some embodiments of the present application, Figure 4As shown, the present application provides an electronic device 4, including: a processor 401 and a memory 402, the processor 401 and the memory 402 are interconnected and communicate with each other through a communication bus 403 and / or other forms of connection mechanisms (not marked), and the memory 402 stores a computer program executable by the processor 401. When the computing device is running, the processor 401 executes the computer program to execute the method executed in the aforementioned implementation, such as steps S100 to S140: obtaining an identification tag image taken by the robot's camera; calculating the posture of the camera and the identification tag based on the identification tag image; determining the updated coordinate system of the robotic arm based on the posture difference between the posture of the camera and the identification tag and the posture of the template; obtaining multiple pre-stored motion teaching posture points; controlling the robot to move based on the multiple motion teaching posture points and the updated coordinate system.

[0080] The present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the aforementioned execution method is executed.

[0081] Among them, the storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0082] The present application provides a computer program product, which enables the computer to execute the aforementioned method when running on the computer.

[0083] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some or all of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application, and they should all be included in the scope of the claims and specification of the present application. In particular, as long as there is no structural conflict, the various technical features mentioned in the various embodiments can be combined in any way. The present application is not limited to the specific embodiments disclosed herein, but includes all technical solutions that fall within the scope of the claims.

Claims

1. A robot motion control method, characterized in that: The method comprises: When the robot's camera and identification tag are in a template pose, a preset coordinate system is constructed and stored based on the tool center point of the robot's manipulator and the position information of the manipulator; Based on the preset coordinate system, the robot arm is taught motion, and a plurality of motion teaching positions and postures during the motion teaching process are stored; Obtaining an identification tag image captured by a camera of the robot, wherein the identification tag image is an image captured by the camera of the identification tag after the robot's robotic arm moves to a preset coordinate system, the preset coordinate system being calibrated with first position information of a joint of the robotic arm when the camera and the identification tag are in a template pose; Calculating the position and orientation of the camera and the identification tag according to the identification tag image; Determining a moving posture of the robotic arm based on a posture difference between the posture of the camera and the identification tag and a template posture, controlling the robotic arm to move based on the moving posture of the robotic arm so that the posture of the camera and the identification tag changes to the template posture, and after the movement of the robotic arm is completed, constructing an updated coordinate system of the robotic arm based on the tool center point of the robotic arm and the updated position information of the robotic arm, wherein the updated coordinate system includes the updated position information of the robotic arm; Obtaining the plurality of pre-stored motion teaching posture points; The robot's mechanical arm is controlled to move according to the multiple motion teaching pose points and the updated coordinate system.

2. The method according to claim 1, characterized in that Determining an updated coordinate system of the robotic arm according to a pose difference between the poses of the camera and the identification tag and the pose of the template includes: Calculating the pose difference between the pose of the camera and the identification tag and the pose of the template; Determining whether the posture difference is greater than a preset posture difference threshold; If it is determined that the posture difference is less than or equal to a preset posture difference threshold, the preset coordinate system is determined as the updated coordinate system.

3. The method according to claim 1, characterized in that Determining an updated coordinate system of the robotic arm according to a pose difference between the poses of the camera and the identification tag and the pose of the template includes: Calculating the difference between the pose of the camera and the recognition tag and the pose of the template; Determining whether the posture difference is greater than a preset posture difference threshold; If it is determined that the posture difference is greater than a preset posture difference threshold, determining the moving posture of the robotic arm according to the posture difference; Controlling the robotic arm to move according to the mobile posture so that the posture of the camera and the identification tag changes to the template posture; After the movement of the robotic arm is completed, the updated coordinate system is constructed according to the tool center point of the robotic arm and the updated position information of the robotic arm.

4. The method according to claim 1, wherein The calculating the position and posture of the camera and the identification tag according to the identification tag image includes: Obtain the size information of the label image and the pre-calibrated camera intrinsic parameters; The position and orientation of the camera and the identification tag are calculated according to the size information of the tag image, the pre-calibrated camera intrinsic parameters, and the identification tag image.

5. The method according to claim 1, wherein The controlling the robot to move according to the multiple motion teaching pose points and the updated coordinate system includes: The robotic arm is controlled to move to the plurality of motion teaching positions in the updated coordinate system.

6. The method according to any one of claims 1 to 5, characterized in that Before acquiring the identification tag image captured by the robot's camera, the method further includes: Acquire an identification label template image; wherein the identification label template image is an image in which the identification label is completely exposed in the camera field of view and the identification label is at a target position in the camera field of view; The three-dimensional pose of the camera and the identification tag is calculated according to the identification tag template image to obtain the template pose.

7. The method according to claim 6, characterized in that After obtaining the template pose, the method further includes: When the camera and the identification tag are in a template posture, the preset coordinate system is constructed and stored according to the tool center point of the robotic arm and the position information of the robotic arm; The robot arm is subjected to motion teaching based on the preset coordinate system, and the plurality of motion teaching posture points during the motion teaching process are stored.

8. The method according to any one of claims 1 to 5, characterized in that The motion teaching includes any one of material taking teaching, material feeding teaching or docking teaching.

9. A robot motion control device, characterized in that: The device includes: a construction module, a teaching module, an acquisition module, a calculation module, a determination module and a control module; The construction module is used to construct and store a preset coordinate system based on the tool center point of the robot's mechanical arm and the position information of the mechanical arm when the robot's camera and the identification tag are in a template posture; The teaching module is used to perform motion teaching on the robotic arm based on the preset coordinate system and store multiple motion teaching posture points during the motion teaching process; The acquisition module is configured to acquire an identification tag image captured by a camera of the robot, wherein the identification tag image is an image captured by the camera of the identification tag after the robot's mechanical arm moves to a preset coordinate system, and the preset coordinate system is calibrated with first position information of the joint of the mechanical arm when the camera and the identification tag are in a template pose; The calculation module is used to calculate the position and posture of the camera and the identification tag according to the identification tag image; The determination module is configured to determine a moving posture of the robotic arm based on a posture difference between the posture of the camera and the identification tag and a template posture, control the robotic arm to move according to the moving posture of the robotic arm so that the posture of the camera and the identification tag changes to the template posture, and after the movement of the robotic arm is completed, construct an updated coordinate system of the robotic arm based on the tool center point of the robotic arm and the updated position information of the robotic arm, wherein the updated coordinate system includes the updated position information of the robotic arm; The acquisition module is further configured to acquire the plurality of pre-stored motion teaching posture points; The control module is used to control the movement of the robot's mechanical arm according to the multiple motion teaching posture points and the updated coordinate system.

10. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the method according to any one of claims 1 to 8 is implemented.

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

Citation Information

Patent Citations

  • Navigation positioning error measuring method

    CN110017852A