Robot control method, apparatus, device, and storage medium

CN116787417BActive Publication Date: 2026-05-26LANZHOU UNIV +1
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LANZHOU UNIV
Filing Date
2022-03-15
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In the existing technology, position control of the end effector of redundant robots has been studied, but few studies have considered its real-time attitude control, especially Euler angle control, which limits its applicability and makes it difficult to achieve precise attitude control and position control of the end effector in sync.

Method used

By establishing velocity-level position constraints and attitude constraints based on the desired end-effector position and attitude, and combining the Cartesian-Kuhn-Tucker condition and the dual space method, the robot's control information is determined, thereby achieving synchronous control of the robot's end-effector position and attitude.

Benefits of technology

It improves the efficiency and effectiveness of robot control, realizes real-time synchronous control of end-effector position and attitude, and enhances the functionality and flexibility of the robot in the process of performing tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116787417B_ABST
    Figure CN116787417B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a robot control method, device, equipment and computer readable storage medium. The method provided by the embodiments of the present disclosure can jointly limit the constraints of the end position and posture of the robot, simultaneously solve the end position control and posture control problems of the robot from the perspective of kinematics, and improve the efficiency of robot control. The method provided by the embodiments of the present disclosure determines the position constraint condition and the posture constraint condition of the speed layer in the robot motion process based on the expected motion information of the robot (including the expected end position information and the expected end posture information), thereby realizing real-time synchronous control of the end position and posture of the robot, and improving the effectiveness and functionality of the robot in the process of executing tasks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the fields of artificial intelligence and robotics, and more specifically, to a robot control method, apparatus, device, and storage medium. Background Technology

[0002] Robotics technology has flourished for decades, with a wide variety of robots developed and applied to people's daily lives. End effectors are essential devices in robots, directly interacting with external objects and enhancing the flexibility and functionality of robot systems. For any given task, the position and orientation of the end effector are crucial. Position control of the end effector can be applied to positioning-related tasks such as grasping, carrying, and placing objects, while orientation control involves directional information about interaction with the external environment, such as the direction of the end effector's forces. Currently, some research exists on the position control of end effectors in redundant robots, but few studies consider real-time orientation control, especially Euler angle control, which limits its applicability to some extent. How to better combine the position and orientation control of the end effector to achieve a more comprehensive control effect is a pressing technical problem that needs to be solved in the control of redundant robots.

[0003] Therefore, an efficient and accurate robot control method is needed to enable simultaneous position and attitude control of the robot's end effector. Summary of the Invention

[0004] To address the aforementioned issues, this disclosure establishes position and attitude constraints at the velocity layer based on the robot's desired end-effector position and desired end-effector posture, thereby enabling simultaneous control of the robot's end-effector position and posture.

[0005] Embodiments of this disclosure provide a robot control method, apparatus, device, and computer-readable storage medium.

[0006] This disclosure provides a robot control method, comprising: acquiring desired end-effector position information and desired end-effector posture information of a robot; determining position constraints of the robot based on the desired end-effector position information, wherein the position constraints are related to the joint angular velocities of the robot; determining posture constraints of the robot based on the desired end-effector posture information, wherein the posture constraints are related to at least a portion of elements in a desired rotation matrix corresponding to the desired end-effector posture information; and determining control information for the robot based on the position constraints and the posture constraints, for controlling the end-effector position and end-effector posture of the robot.

[0007] Embodiments of this disclosure provide a robot control device, comprising: an information acquisition module configured to acquire desired end-effector position information and desired end-effector posture information of a robot; a position constraint module configured to determine position constraint conditions of the robot based on the desired end-effector position information, the position constraint conditions being related to the joint angular velocities of the robot; an attitude constraint module configured to determine attitude constraint conditions of the robot based on the desired end-effector posture information, the attitude constraint conditions being related to at least a portion of elements in a desired rotation matrix corresponding to the desired end-effector posture information; and a control determination module configured to determine control information for the robot based on the position constraint conditions and the attitude constraint conditions, for controlling the end-effector position and end-effector posture of the robot.

[0008] Embodiments of this disclosure provide a robot control device, including: one or more processors; and one or more memories, wherein the one or more memories store a computer-executable program, and when the processor executes the computer-executable program, the robot control method described above is performed.

[0009] Embodiments of this disclosure provide a computer-readable storage medium having computer-executable instructions stored thereon, which, when executed by a processor, are used to implement the robot control method described above.

[0010] Embodiments of this disclosure provide a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform a robot control method according to embodiments of this disclosure.

[0011] Compared to traditional robot motion control methods, the method provided by the embodiments of this disclosure can combine constraints on the robot's end-effector position and posture, and simultaneously solve the problems of robot end-effector position control and posture control from a kinematic perspective, thereby improving the efficiency of robot control.

[0012] The method provided by the embodiments of this disclosure determines the position and attitude constraints of the velocity layer during the robot's motion based on the robot's desired motion information (including desired end-effector position information and desired end-effector posture information), thereby realizing real-time synchronous control of the robot's end-effector position and posture, and improving the effectiveness and functionality of the robot in the process of performing tasks. Attached Figure Description

[0013] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some exemplary embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without any creative effort.

[0014] Figure 1A This is a schematic diagram illustrating a scenario of controlling a robot using a computing device according to an embodiment of the present disclosure;

[0015] Figure 1B This is a schematic diagram illustrating the structure of an example redundant robot according to an embodiment of the present disclosure;

[0016] Figure 2A This is a flowchart illustrating a robot control method according to an embodiment of the present disclosure;

[0017] Figure 2B This is a schematic flowchart illustrating a robot control method according to an embodiment of the present disclosure;

[0018] Figure 3 This is a schematic block diagram illustrating an optimization problem for a pose tracking task according to embodiments of the present disclosure;

[0019] Figure 4 This is a schematic block diagram illustrating a quadratic optimization scheme established according to an embodiment of the present disclosure;

[0020] Figure 5 This is a schematic diagram illustrating the solution and application of the results of a quadratic optimization scheme according to an embodiment of the present disclosure;

[0021] Figure 6A This is a diagram illustrating the joint trajectory of a redundant robot performing a pose tracking task according to an embodiment of the present disclosure;

[0022] Figure 6B This is a graph showing the variation of joint angular velocity parameters during pose tracking tasks performed by a redundant robot according to an embodiment of the present disclosure;

[0023] Figure 6C This is a graph illustrating the error variation of a redundant robot performing a pose tracking task according to an embodiment of the present disclosure;

[0024] Figure 7 This is a schematic diagram illustrating a robot control device according to an embodiment of the present disclosure;

[0025] Figure 8 A schematic diagram of a robot control device according to an embodiment of the present disclosure is shown;

[0026] Figure 9A schematic diagram of the architecture of an exemplary computing device according to embodiments of the present disclosure is shown; and

[0027] Figure 10 A schematic diagram of a storage medium according to an embodiment of the present disclosure is shown. Detailed Implementation

[0028] To make the objectives, technical solutions, and advantages of this disclosure more apparent, exemplary embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this disclosure, and not all embodiments of this disclosure. It should be understood that this disclosure is not limited to the exemplary embodiments described herein.

[0029] In this specification and accompanying drawings, steps and elements that are substantially the same or similar are indicated by the same or similar reference numerals, and repeated descriptions of these steps and elements are omitted. Furthermore, in the description of this disclosure, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance or order.

[0030] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. The terminology used herein is for the purpose of describing embodiments of the invention only and is not intended to limit the invention.

[0031] To facilitate the description of this disclosure, the following concepts related to this disclosure are introduced.

[0032] The robot control method disclosed herein can be based on artificial intelligence (AI). Artificial intelligence is the theory, method, technology, and application system that uses digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results. In other words, artificial intelligence is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine that can react in a way similar to human intelligence. For example, an AI-based robot control method can control the robot's joints in a manner similar to how humans control robots to perform specific trajectory planning tasks. By studying the design principles and implementation methods of various intelligent machines, artificial intelligence enables the robot control method of this disclosure to have the function of determining the robot's end-effector position and posture in real time and accurately based on the input desired motion information.

[0033] The robot control method disclosed herein can be applied to redundant robots. Redundant robots are proposed in contrast to non-redundant robots. Redundant degrees of freedom refer to the difference between the joint space dimension and the task space dimension, where the joint space dimension equals the robot's degrees of freedom, and the task space dimension refers to the number of end-effector pose parameters in the task space. Therefore, a non-redundant robot is one where the joint space dimension equals the task space dimension, while a redundant robot is one where the joint space dimension is greater than the task space dimension. Traditional robots are non-redundant robots; given an end-effector pose, only a finite number of joint configurations correspond to it. Although the kinematics of non-redundant robots are relatively simple to solve, they suffer from inflexible movement, making it difficult for them to complete certain tasks with optimal performance. Redundant robots, on the other hand, can achieve more flexible applications due to their redundancy. For a redundant robot, given an end-effector pose, multiple configurations correspond to it in the joint space. While maintaining the end-effector pose, the configurations in the joint space of a redundant robot can vary between multiple configurations, which provides the possibility for optimizing its motion control. For example, a redundant robot can be a robotic arm with seven degrees of freedom and orthogonal adjacent joint structures, which has been widely studied due to its humanoid arm characteristics. During robot operation, various requirements may exist, such as performing specific trajectory planning in the task space, avoiding singular configurations in the joint space, and preventing joint motion from exceeding limits. Therefore, the motion control method disclosed herein will determine the constraints on the motion of the redundant robot based on at least some of these requirements, thereby achieving more precise, flexible, and robust control of the redundant robot.

[0034] The robot control method disclosed herein can be used for robot trajectory planning. Robot trajectory planning is the foundation of robot motion control. Its purpose is to find the relationship between time and space during robot movement, and to plan the robot's motion trajectory so that it can accurately and reliably complete specific tasks. Trajectory planning generally transforms the robot and its kinematic or dynamic constraints into a mathematical optimization problem, and then uses different optimization methods to optimize the trajectory. In modern industrial automation applications, robot end effectors must move as required, with strict requirements on their displacement, velocity, and acceleration, necessitating trajectory planning. The quality of the trajectory planning scheme directly determines the robot's operating efficiency, lifespan, and performance. For example, in the embodiments of this disclosure, specific motion planning for the robot can be executed, allowing the robot to change the posture of its end effector according to a preset state while keeping the end effector's position unchanged.

[0035] Optionally, the robot control method of this disclosure can also be based on the Karush-Kuhn-Tucker (KKT) conditions and the dual space method. The KKT conditions are an important concept in optimization theory for solving Lagrange dual problems, and are widely used in operations research, convex and non-convex optimization, and machine learning. The KKT conditions are necessary and sufficient conditions for a nonlinear programming problem to have an optimal solution, provided certain rules are met. Those skilled in the art know that a prominent difficulty in solving constrained nonlinear equations using optimization methods is that the calculated points are only the stable points or local minima of the optimization problem, not the solution points of the equations. Therefore, it is necessary to obtain points that are better than the equations from the stable points. The aforementioned KKT conditions and dual space method can be used to solve the nonlinear optimization problem concerning the joint angular velocities of the robot established in this disclosure. Of course, this disclosure uses the above-mentioned KKT conditions and dual space method as examples and not as a limitation to solve the optimization problem in this disclosure. Therefore, other solution algorithms that can achieve similar results can also be applied to the robot control method of this disclosure.

[0036] In summary, the solutions provided by the embodiments of this disclosure involve technologies such as artificial intelligence and robot motion control. The embodiments of this disclosure will be further described below with reference to the accompanying drawings.

[0037] Figure 1A This is a schematic diagram illustrating a scenario of controlling a robot using a computing device according to an embodiment of the present disclosure. Figure 1B This is a schematic diagram illustrating the structure of an example redundant robot according to an embodiment of the present disclosure.

[0038] like Figure 1A As shown, the robot can be controlled by various computing devices. The computing devices can obtain the robot's real-time motion information from each motor of the robot through the network. After a series of data processing based on the real-time motion information for a specific task, control information for the robot's motion parameters can be generated. This control information can be returned to the robot again through the network in the form of control signals to control the motors at each joint of the robot.

[0039] Optionally, computing devices may specifically include smartphones, tablets, laptops, in-vehicle terminals, wearable devices, and so on. The network can be an Internet of Things (IoT) based on the Internet and / or telecommunications networks, which can be wired or wireless; for example, it can be an electronic network capable of information exchange, such as a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), or a cellular data communication network.

[0040] Optionally, the robot can be a redundant robot or a non-redundant robot as described above. For example, the robot can be a redundant robot with seven degrees of freedom and orthogonal adjacent joint structures, such as... Figure 1B As shown, it has been extensively studied due to its humanoid arm-like characteristics. Figure 1B The redundant robot shown has seven controllable joints (labeled as number 1-7 in the figure) and one end effector (labeled as number 8 in the figure).

[0041] During the operation of this redundant robot, various requirements are typically present based on actual needs, such as performing specific trajectory planning in the task space, while also avoiding singular configurations and exceeding joint movement limits in the joint space. Robot trajectory planning aims to enable the robot to operate as smoothly and quickly as possible while satisfying robot kinematic or dynamic constraints. Those skilled in the art understand that good trajectory planning is a crucial prerequisite and guarantee for high-performance robot operation. In the embodiments of this disclosure, various specific motion plans can be executed for the redundant robot to enable it to move along a desired motion pattern. For example, the desired motion information for the redundant robot is predetermined (e.g., through methods such as...). Figure 1A Given that the computing device shown is given inputs such as desired end-effector position information and desired end-effector pose information (which may correspond to the robot pose tracking task in this paper), the redundant robot needs to move according to the desired trajectory and desired end-effector pose.

[0042] Currently, some research exists on the position control of end effectors in redundant robots. However, compared to previous studies, few have considered real-time attitude control of end effectors, especially Euler angle-based attitude control, which limits its applicability to some extent. While Euler angles can directly and accurately describe changes in end effector attitude, the complex transformation relationship between Euler angles and the rotation matrix makes direct control of Euler angles via joint angular velocity difficult, which is considered a research gap in this field. Existing attitude control methods can maintain the end effector's attitude to address attitude deformation, but they cannot achieve real-time directional control. Furthermore, these attitude control methods have limited application scenarios and cannot meet the practical requirements for Euler angle control of end effectors.

[0043] Therefore, how to better achieve attitude control of the robot's end effector, and further, how to better combine the position control and attitude control of the robot's end effector to achieve more comprehensive control of the robot, is an urgent problem to be solved in the field of redundant robot control.

[0044] Therefore, to address the above problems, this disclosure provides a robot control method that establishes position and attitude constraints at the velocity layer based on the robot's desired end-effector position and desired end-effector posture, thereby achieving simultaneous control of the robot's end-effector position and posture.

[0045] Compared to traditional robot motion control methods, the method provided by the embodiments of this disclosure can combine constraints on the robot's end-effector position and posture, and simultaneously solve the problems of robot end-effector position control and posture control from a kinematic perspective, thereby improving the efficiency of robot control.

[0046] The method provided by the embodiments of this disclosure determines the position and attitude constraints of the velocity layer during the robot's motion based on the robot's desired motion information (including desired end-effector position information and desired end-effector posture information), thereby realizing real-time synchronous control of the robot's end-effector position and posture, and improving the effectiveness and functionality of the robot in the process of performing tasks.

[0047] Figure 2A This is a flowchart illustrating a robot control method 200 according to an embodiment of the present disclosure. Figure 2B This is a schematic flowchart illustrating a robot control method according to an embodiment of the present disclosure.

[0048] like Figure 2A As shown, in step 201, the desired end-effector position information and desired end-effector posture information of the robot can be obtained.

[0049] Optionally, the robot's desired motion pattern can be predetermined, i.e., the robot's desired motion information (including but not limited to desired end-effector position information and desired end-effector posture information). For example, the desired motion information can be the time-varying desired motion parameters of the robot's end-effector, wherein the desired end-effector position information and desired end-effector posture information can be used to adjust the robot's joint angles so that the robot moves according to the desired end-effector trajectory and end-effector posture.

[0050] For example, for a redundant robot with seven degrees of freedom as described above, it may include, for instance, the following: Figure 1B As shown in the diagram, for this redundant robot, motion constraints for the end-effector position and end-effector posture can be determined separately based on the desired end-effector position information and the desired end-effector posture information, so as to jointly determine the control information for each joint of the redundant robot.

[0051] Optionally, by having the robot adjust its joint motion parameters based on this desired motion information, the robot can be controlled to perform various tasks. The following description focuses on pose tracking tasks. However, it should be understood that the robot control method disclosed herein can also be applied to controlling the robot to perform other tasks. The pose tracking tasks described below are for illustrative purposes only and are not intended to limit the scope of the task.

[0052] The robot control method disclosed herein can be mainly divided into the following categories: Figure 2B The execution is carried out in six stages, S1-S6, as shown. Specifically, in S1 and S2, the inverse kinematics equations of the redundant robot can be established at the velocity layer based on the desired end-effector position information, and the attitude control constraints of the end-effector can be established based on the desired end-effector posture information. Specifically, this may include the following steps 202 and 203, and refer to... Figure 3 The described operation.

[0053] Figure 3 This is a schematic block diagram illustrating an optimization problem for a pose tracking task according to embodiments of the present disclosure. Wherein, Figure 3 The upper half of the image shows a redundant robot moving according to a predetermined pose change, and the predetermined pose change is shown as an example on the right side of the redundant robot, such as changing the end-effector pose of the redundant robot while keeping its end-effector position unchanged.

[0054] In step 202, positional constraints of the robot can be determined based on the desired end-effector position information of the robot. These positional constraints are related to the joint angular velocities of the robot.

[0055] Optionally, the robot's joint angles can be adjusted to make the robot's actual end-effector trajectory consistent with the desired trajectory. Therefore, according to embodiments of this disclosure, the position constraint can be an equality constraint, which can be used to make the robot's end-effector position consistent with the desired end-effector position information.

[0056] As mentioned above, the position movement of the robot's end effector can be achieved by adjusting the joint angles of the robot's various joints. Therefore, there can be a mapping transformation relationship between the robot's end position and joint angles.

[0057] According to embodiments of this disclosure, determining the positional constraints of the robot based on the desired end-effector position information may include: determining the inverse kinematics equation of the robot based on the relationship between the end-effector position and joint angles, wherein the inverse kinematics equation is related to the joint angular velocity of the robot; and determining the positional constraints of the robot based on the inverse kinematics equation and the desired end-effector position information.

[0058] Optionally, based on the relationship between the robot's end effector position and joint angles, the inverse kinematics equations of the robot at the velocity level can be determined, i.e., the relationship between the robot's end effector velocity and joint angular velocities can be determined. For example, the position equation of the end effector of a redundant robot (i.e., the relationship between the robot's end effector position and joint angles) can be expressed as r = f(θ), where, This represents the position of the end effector of the redundant robot, and f(·) represents the nonlinear mapping function. Let be the joint angle of the redundant robot, and m be the degree of freedom of the redundant robot (e.g., for a redundant robot with seven degrees of freedom, m = 7). Therefore, based on this position equation, by differentiating both sides of the position equation with respect to time, the inverse kinematics equation of the redundant robot at the velocity level can be determined as follows:

[0059]

[0060] in, The time derivative representing the position of the end effector of the redundant robot (i.e., the velocity of the end effector of the redundant robot). The Jacobian matrix representing the position of the end effector. The time derivative of the joint angles of the redundant robot (i.e., the joint angular velocity of the redundant robot) can be a vector that includes the joint angular velocities of all the robot's joints.

[0061] As described above, based on the inverse kinematics equations of the robot's end-effector position and joint angles, the robot's inverse kinematics equations at the velocity level can be determined. By controlling the robot's end-effector position to the desired end-effector position (specifically, controlling the robot's end-effector velocity to the desired end-effector velocity) within the inverse kinematics equations at this velocity level, the solutions for the joint angular velocities of each joint of the robot can be determined. Therefore, the robot's position constraints can be expressed as:

[0062]

[0063] in, For the desired trajectory of the end effector, This is the derivative of the desired trajectory of the end effector, i.e., the desired end velocity of the robot's end effector.

[0064] For redundant robots, the inverse kinematics equations of the robot can have infinitely many solutions, that is, infinitely many combinations of joint angular velocities. By selectively setting other constraints, the expected combinations of joint angular velocities can be determined. This makes the motion control of redundant robots more flexible and versatile. The self-motion of redundant robots can be used to improve the robot's working quality or achieve other goals.

[0065] For the pose tracking task of this disclosure, in addition to the control of the robot's end effector position mentioned above, it is also necessary to achieve synchronous control of the robot's end effector posture. Therefore, posture constraints on the robot's end effector can also be established, including establishing posture control constraint indices for the end effector based on the desired end effector posture information, such as... Figure 2B As shown in S2.

[0066] In step 203, the robot's posture constraints can be determined based on the robot's desired end-effector posture information. The posture constraints are related to at least a portion of the elements in the desired rotation matrix corresponding to the desired end-effector posture information.

[0067] Optionally, the robot's actual end-effector posture can be made consistent with the desired posture by adjusting the robot's joint angles. Therefore, according to embodiments of this disclosure, the posture constraint can be an equality constraint, which can be used to make the robot's end-effector posture consistent with the desired end-effector posture information.

[0068] According to embodiments of this disclosure, the desired rotation matrix may be determined based on the desired end-effector pose information of the robot, which may include desired Euler angle information.

[0069] Optionally, since there is a complex conversion relationship between the Euler angles and the rotation matrix of the robot's end effector, it is difficult to directly control the Euler angles of the end effector through the joint angular velocity. The attitude control constraint index of the end effector can be established based on the rotation matrix and the desired Euler angle of the end effector of the redundant robot, thereby realizing the attitude control of the end effector.

[0070] According to embodiments of this disclosure, determining the robot's posture constraints based on the robot's desired end-effector posture information may include: determining the robot's posture constraints based on at least a portion of the elements in the robot's rotation matrix and at least a portion of the elements in the desired rotation matrix, wherein the robot's rotation matrix may be related to the robot's joint angles, and the posture constraints may be related to the robot's joint angular velocities.

[0071] Optionally, the aforementioned attitude control constraint indices can be related to at least a subset of elements in the robot's rotation matrix and at least a subset of elements in the desired rotation matrix, wherein at least a subset of elements in the robot's rotation matrix can have a one-to-one correspondence with at least a subset of elements in the desired rotation matrix. In other words, controlling Euler angles can be converted into controlling a subset of elements in the rotation matrix corresponding to the Euler angles.

[0072] For example, for a redundant robot, the rotation matrix of its end effector can be represented as:

[0073]

[0074] Among them, o ij This represents the ij-th element of the rotation matrix, which is related to the joint angles of the redundant robot.

[0075] Assume the predetermined expected Euler angles are The superscript T denotes the transpose of a vector or matrix. The expected rotation matrix corresponding to the desired Euler angle can be expressed as (assuming a ZYZ rotation transformation is used).

[0076]

[0077] in,

[0078] Optionally, considering the coupling relationships between the elements of the rotation matrix, such as the orthogonality or normalization relationships between the row or column elements of the rotation matrix, the control of Euler angles can be converted into the control of some elements in the rotation matrix corresponding to the Euler angles, as described above, thereby reducing the computational complexity in the attitude control process.

[0079] Therefore, according to embodiments of this disclosure, determining the robot's posture constraints based on at least a subset of elements in the robot's rotation matrix and at least a subset of elements in the desired rotation matrix may include: determining the at least a subset of elements in the robot's rotation matrix based on the coupling relationship between the elements in the robot's rotation matrix, wherein the elements in the robot's rotation matrix are related to the robot's joint angles; and determining the posture constraints based on the time derivatives of the at least a subset of elements in the rotation matrix and the time derivatives of the corresponding at least a subset of elements in the desired rotation matrix.

[0080] Optionally, at least a subset of the elements in the rotation matrix of the robot described above can be elements that, once determined, can be used to determine other elements in the rotation matrix, such as the four elements in the lower right portion of the rotation matrix. Furthermore, the at least a subset of elements may also include redundant matrix elements to ensure the correctness of the determined elements. For example, the at least a subset of elements in the rotation matrix of the redundant robot described above can be constructed as follows: (That is, including the above four elements and another redundant element), which may be referred to as the attitude vector in this disclosure.

[0081] After determining the attitude vector, we can take the derivative of the attitude vector with respect to time to obtain... in Let be the Jacobian matrix of this attitude vector. Let w be the time derivative of the attitude vector w.

[0082] Therefore, when attitude control is applied, i.e., when predetermined desired end-effector attitude information is input (e.g., the aforementioned desired Euler angles), In the case of ), extract the elements from the expected rotation matrix corresponding to the expected Euler angles, which are located at positions corresponding to the positions of the elements in the above attitude vector within its rotation matrix, thereby constructing the corresponding expected attitude vector as follows:

[0083]

[0084] Therefore, the attitude control constraint index (i.e., attitude constraint condition) of the end effector of this redundant robot can be expressed as:

[0085]

[0086] in, This is the time derivative of the desired attitude vector.

[0087] Therefore, as described above, based on the acquired desired end-effector position information and desired end-effector pose information, constraints for position tracking and pose tracking in the pose tracking task can be determined respectively, such as... Figure 3 As shown, optimization schemes for robot position and attitude control are established based on these constraints, such as quadratic optimization schemes, like... Figure 2B As shown in S3.

[0088] Next, return to Figure 2A In step 204, control information for the robot can be determined based on the position constraints and the attitude constraints, for controlling the robot's end position and end attitude.

[0089] Optionally, in addition to the position and posture constraints mentioned above, the robot's motion may also be subject to other constraints, such as joint motion constraints set to prevent joint motion from exceeding limits.

[0090] Therefore, according to embodiments of this disclosure, determining control information for the robot based on the position constraints and the attitude constraints may include: determining control information for the robot based on the position constraints, the attitude constraints, and constraints on the robot's joint angular velocities, wherein the control information is related to the robot's joint angular velocities. Optionally, it can be based on... Figure 2BThe inverse kinematics equations of the redundant robot in S1 (e.g., equation (2)) and the attitude control constraints of the end effector in S2 (e.g., equation (6)), as well as the constraints on the robot's joint angular velocities, are used to establish an optimization scheme to determine the optimization problem for the robot's end-effector position and attitude control, thereby determining the control information for the robot. Optionally, this control information may be information used to control the robot's joint angular velocities at the next moment.

[0091] In embodiments of this disclosure, the constraint condition for the robot's joint angular velocity can be an inequality constraint, which can correspond to a feasible region constraint for the robot's joint angular velocity, and may include at least one of a lower limit constraint and an upper limit constraint for the robot's joint angular velocity. For example, the constraint condition for the robot's joint angular velocity can be expressed as follows: Figure 3 The inequality constraints shown are:

[0092]

[0093] Wherein, Ω is the feasible region of the robot's joint angular velocity, which can be a range of joint angular velocities between the upper and lower limits of the joint angular velocity.

[0094] Optionally, physical constraints can be constructed on at least one of the joint angles or joint angular velocities of the redundant robot according to actual task requirements, and these physical constraints can be converted into further angular motion constraints, such as corresponding physical constraint ranges for at least one of the joint angles and joint angular velocities of each joint of the robot. By setting feasible domain constraints (upper and lower limit constraints) on the joint angular velocities of the robot as described above, the problem of damage to the robot's servo motors caused by the robot's joint movements exceeding their physical limits can be avoided.

[0095] According to embodiments of this disclosure, determining control information for the robot based on the position constraints, the posture constraints, and the joint angular velocity constraints of the robot includes: determining the control performance index of the robot based on a predetermined motion pattern of the robot; and determining the control information of the robot by minimizing the control performance index of the robot as the optimization objective function and by using the position constraints, the posture constraints, and the joint angular velocity constraints of the robot as boundary conditions.

[0096] Optionally, for any predetermined motion pattern under the above pose tracking task, the robot's control performance index can be determined as, for example... Figure 3 The control performance index shown is a quadratic function of the joint angular velocity of the redundant robot:

[0097]

[0098] The aforementioned control performance indicators can be used to determine the joint angular velocity solution with the smallest absolute value in the joint angular velocity solution determined according to the boundary conditions such as position constraints and attitude constraints as described above, thereby achieving the beneficial effect of saving energy consumption.

[0099] Based on the above control performance indicators, an objective function can be constructed, namely, minimizing the above control performance indicators as the optimization objective function of the robot control optimization problem of this disclosure.

[0100] Figure 4 This is a schematic block diagram illustrating a quadratic optimization scheme established according to an embodiment of the present disclosure.

[0101] Therefore, based on the above control performance indicators (e.g., equation (8)) and the boundary conditions including position constraints, posture constraints and robot joint angular velocities (e.g., equations (2), (6) and (7)), the pose tracking of the redundant robot is analyzed at the velocity level, and a control scheme for the redundant robot based on a quadratic programming problem can be established, namely the following quadratic optimization scheme:

[0102]

[0103] in, The position of the end effector of the redundant robot is represented by the attitude vector. λ(rr d ) and λ(ww d This refers to the position error feedback and attitude error feedback of the end effector. For feedback coefficients, For the desired trajectory of the end effector of the redundant robot, The desired end effector speed of the redundant robot's end effector.

[0104] In embodiments of this disclosure, the position constraint and the attitude constraint are further related to the robot's real-time position error feedback and real-time attitude error feedback, respectively. The real-time position error feedback indicates the error between the robot's current end-effector position and the desired end-effector position, and the real-time attitude error feedback indicates the error between the robot's current end-effector attitude and the desired end-effector attitude. As described above, the robot's real-time position error feedback λ(rr) d The error is related to the error between the robot's current end-effector position and the desired end-effector position, and the robot's real-time posture error feedback λ(ww) is related to this error. dThe error is related to the current end pose and the desired end pose of the robot. By solving the quadratic optimization scheme shown in equation (9), these two error feedback terms can be made to approach zero, so that the motion of the redundant robot approaches until it conforms to the desired end trajectory and desired end pose. The speed at which the error feedback terms approach zero can be controlled by this feedback coefficient.

[0105] Optionally, such as Figure 2B As shown in S4, the above quadratic optimization scheme can be transformed into a quadratic programming problem, which makes it easier to solve the quadratic optimization scheme.

[0106] For example, the above quadratic optimization scheme can be rewritten in matrix form, and the feasible region representation of the specific joint angular velocities can be determined to transform the quadratic optimization scheme into a quadratic programming problem. Specifically, a new vector x can be introduced to replace the original derivative variable. The above quadratic optimization scheme is rewritten as minimizing the control performance index x. T x / 2 is the objective function, which is constrained by two boundary conditions (position constraint and attitude constraint (represented as a single boundary condition) Ax = b) and the constraint Ω on the robot's joint angular velocities. - ≤x≤Ω + ),in, Among them, Ω - Ω + These represent the upper and lower limits of the feasible domain for the joint angular velocities of the redundant robot, respectively.

[0107] like Figure 4 As shown, this redundant robot control scheme uses a given control performance index as the minimization objective function, end-effector position and attitude tracking tasks as equality constraints, and physical constraints on the joint angular velocities of each joint of the robot as inequality constraints. Therefore, for the established optimization problem, it is necessary to find the minimum value (i.e., the lowest point) of its objective function and the combination of joint angular motion parameters that minimizes the objective function under the constraints. The optimal joint angular velocity value can be used for robot motion control in the next moment.

[0108] Therefore, after establishing the optimization problem as described above, it is necessary to solve the optimization problem to determine such a combination of joint angle motion parameters.

[0109] Optionally, such as Figure 2BAs shown in S5, the above quadratic programming problem can be solved using a quadratic programming solver to obtain the optimal solution for the position and attitude control of the end effector of the redundant robot. Therefore, for the robot motion control scheme based on quadratic programming proposed in this disclosure, a feasible quadratic programming solver is given below as a corresponding solution scheme. However, it should be understood that this solution scheme is only an example and not a limitation. Other solution schemes that can achieve similar effects can also be applied to solving the optimization problem of this disclosure. For example, commercial optimizers such as Gurobi, Cplex, Xpress, and Mosek, free optimizers such as SCIP, CBC, and GLPK, or commonly used optimizers in Matlab can be used to solve the above quadratic programming problem of this disclosure. This disclosure does not impose any limitations on this.

[0110] Figure 5 This is a schematic diagram illustrating the solution and application of the results of a quadratic optimization scheme according to an embodiment of the present disclosure.

[0111] According to embodiments of this disclosure, determining the robot's control information by minimizing the robot's control performance index as the optimization objective function and using the position constraints, attitude constraints, and joint angular velocity constraints as boundary conditions may include: converting the optimization objective function and boundary conditions into a piecewise linear projection equation system based on the Caro-Kuhn-Tucker conditions and the dual space method; and obtaining the robot's control information by solving the piecewise linear projection equation system.

[0112] As described above, by rewriting the above quadratic optimization scheme in matrix form, the quadratic optimization scheme shown in equation (9) can be transformed into a quadratic programming problem, which can be expressed as follows:

[0113]

[0114] Therefore, the Lagrangian function for the above quadratic programming problem can be constructed as follows:

[0115]

[0116] Alternatively, the KKT conditions and dual space method can be used to transform the quadratic programming problem into a problem of solving a piecewise projection equation system, thereby obtaining a quadratic programming solver.

[0117] For example, by using the KKT conditions and the dual space method, the solution to the above quadratic programming problem can satisfy the following relation.

[0118]

[0119] Among them, P Ω(·) is the projection function, which can be specifically expressed as:

[0120]

[0121] Furthermore, the following set of piecewise projection equations can be calculated.

[0122]

[0123] Therefore, based on the above piecewise projection equations, the quadratic programming solver can be specifically expressed as follows: Figure 5 The form of the differential system shown is, i.e.

[0124]

[0125] Where γ is the Lagrange coefficient, and σ>0 is a coefficient used to control the convergence rate (for example, it can be taken as 0.001).

[0126] The above exemplary solution scheme can determine the optimal combination of joint angle motion parameters under various constraints such as position and attitude. For example... Figure 5 As shown, the real-time position of the end effector of the redundancy-based robot. With the attitude vector w and the predefined desired end position Desired attitude vector The feasible region Ω of the joint angular velocity can determine the intermediate control parameters (e.g., λ and γ shown in the figure) of the above solution process, thereby determining the control information for the robot at the next moment, such as the joint angular velocity at the next moment.

[0127] Optionally, based on the determined control information of the robot, motor control signals can be generated to drive the motor movement of each joint of the robot at the next moment, so as to control the robot to perform a predetermined task. For example... Figure 5 As shown, after obtaining the solution to this optimization problem through a quadratic programming solver (e.g., the aforementioned linear projection equations), the above-mentioned information regarding joint angular velocity can be applied. The control information is converted into the control signals required for motor drive, thereby driving the robot to complete the specified task, achieving position and attitude control of the end effector of the redundant robot, such as... Figure 2B As shown in S6.

[0128] Specifically, it can be targeted at, for example, based on, such as Figure 3 The redundant robot and pose tracking task shown are used to describe the state changes of the redundant robot during the execution of the task.

[0129] Figure 6AThis is a joint trajectory diagram illustrating a redundant robot performing a pose tracking task according to an embodiment of the present disclosure. Figure 6B This is a graph showing the variation of joint angular velocity parameters during pose tracking tasks performed by a redundant robot according to an embodiment of the present disclosure. Figure 6C This is a graph illustrating the error variation of a redundant robot performing a pose tracking task according to an embodiment of the present disclosure.

[0130] Alternatively, for the pose tracking task of this redundant robot, it can be assumed that the redundant robot (e.g., Figure 3 The predefined motion pattern of the seven-DOF Franka Emika Panda robot shown involves keeping the position of the robot's end effector constant while changing the end-effector's pose according to preset values. For example, the physical constraint on the joint angular velocity of this redundant robot can be set to Ω. + =-Ω - =[2, 2, 2, 2, 2, 2, 2] T (radians / second), the initial joint angles of each joint are θ(0) = [0, -π / 4, 0, -3π / 4, 0, π / 2, π / 4] T (radians). In a specific pose tracking task, assume the desired end-effector position is r. d (t) = r(0), and the desired end attitude is δ d (t)=[0.2(1-cos(0.5π×t)), 0, -0.1(1-cos(0.5π×t))] T +δ(0), where δ(0) is the initial Euler angle of the end effector, and t represents time (seconds).

[0131] Based on this, Figure 6A The motion process of the redundant robot during the above pose tracking task is illustrated, and this process takes place in a Cartesian coordinate system (unit: meters). Figure 6A The black broken line segments in the diagram represent the trajectory of the redundant robot at a certain moment. All the black broken line segments in the diagram form the trajectory changes of the redundant robot during the execution of the trajectory planning task. Figure 6A As shown, the trajectory change of the redundant robot is in a stable and continuous state, thus the redundant robot successfully completes the given position control and attitude control tasks.

[0132] Figure 6B The diagram illustrates the changes in joint angular velocity of the redundant robot during the aforementioned pose tracking task. The horizontal axis represents time (in seconds), and the vertical axis represents joint angular velocity (in radians per second). The subscripts 1-7 of the joint angular velocity represent the joint angular velocities corresponding to the seven degrees of freedom of the redundant robot. Figure 6B As shown, during the entire task execution process, the joint angular velocity of the redundant robot starts at 0 radians / second and stops at 0 radians / second, and fluctuates continuously and smoothly up and down over time, while always remaining within the physical constraints. This demonstrates the effectiveness of the robot control method disclosed in this paper in achieving joint angular velocity constraint control.

[0133] Figure 6C The changes in position and attitude errors of the end effector of the redundant robot during the above pose tracking task are shown.

[0134] like Figure 6C As shown in (a), where the horizontal axis represents time (in seconds) and the vertical axis represents position error (in meters), based on the robot control method of this disclosure, the position tracking error of the end effector of the redundant robot during the entire task execution process is... It always remains on the order of 10^(-4) and is always less than 1.5 × 10. -4 Meters. Therefore, it can be seen that the robot control method of this disclosure is accurate in the position control of the end effector of a redundant robot.

[0135] like Figure 6C As shown in (b) of the diagram, the horizontal axis represents time (in seconds), and the vertical axis represents Euler angle error (in radians). Based on the robot control method of this disclosure, the attitude tracking error of the end effector of the redundant robot during the entire task execution process is... It always remains on the order of 10^(-3) and is always less than 2×10 -3 Radius. Therefore, it can be seen that the robot control method of this disclosure is accurate in the attitude control of the end effector of a redundant robot.

[0136] Figure 7 This is a schematic diagram illustrating a robot control device 700 according to an embodiment of the present disclosure.

[0137] According to embodiments of this disclosure, the robot control device 700 may include an information acquisition module 701, a position constraint module 702, an attitude constraint module 703, and a control determination module 704.

[0138] According to embodiments of the present disclosure, the information acquisition module 701 can be configured to acquire the desired end-effector position information and desired end-effector posture information of the robot.

[0139] Optionally, the robot's desired motion pattern can be predetermined, i.e., the robot's desired motion information (including but not limited to desired end-effector position information and desired end-effector posture information). For example, the desired motion information can be the time-varying desired motion parameters of the robot's end-effector, wherein the desired end-effector position information and desired end-effector posture information can be used to adjust the robot's joint angles so that the robot moves according to the desired end-effector trajectory and end-effector posture.

[0140] For example, for a redundant robot with seven degrees of freedom as described above, motion constraints for the end-effector position and end-effector posture can be determined separately based on the desired end-effector position information and the desired end-effector posture information, so as to jointly determine the control information for each joint of the redundant robot.

[0141] According to embodiments of this disclosure, the position constraint module 702 can be configured to determine position constraints of the robot based on the robot's desired end-effector position information, the position constraints being related to the robot's joint angular velocities.

[0142] Optionally, the robot's actual end effector trajectory can be aligned with the desired trajectory by adjusting the robot's joint angles. Therefore, the position constraint can be an equality constraint, which can be used to ensure that the robot's end effector position matches the desired end effector position information. The positional movement of the robot's end effector can be achieved by adjusting the joint angles of each joint of the robot; therefore, a mapping transformation relationship can exist between the robot's end effector position and the joint angles.

[0143] Optionally, the position constraint module 702 may determine the position constraint conditions of the robot based on the desired end-effector position information of the robot by: determining the inverse kinematics equation of the robot based on the relationship between the end-effector position and the joint angle, wherein the inverse kinematics equation is related to the joint angular velocity of the robot; and determining the position constraint conditions of the robot based on the inverse kinematics equation and the desired end-effector position information.

[0144] For example, based on the inverse kinematics equations of the robot's end-effector position and joint angles, the robot's inverse kinematics equations at the velocity level can be determined. By controlling the robot's end-effector position to the desired end-effector position (specifically, controlling the robot's end-effector velocity to the desired end-effector velocity) in the inverse kinematics equations at this velocity level, the solution for the joint angular velocities of each joint of the robot can be determined.

[0145] According to embodiments of this disclosure, the attitude constraint module 703 can be configured to determine attitude constraints of the robot based on the robot's desired end-effector attitude information, the attitude constraints being related to at least a subset of elements in a desired rotation matrix corresponding to the desired end-effector attitude information.

[0146] Optionally, the robot's actual end-effector posture can be made consistent with the desired posture by adjusting the robot's joint angles. Therefore, the posture constraint can be an equality constraint, which can be used to make the robot's end-effector posture consistent with the desired end-effector posture information. For example, the posture control constraint index of the end-effector can be established based on the rotation matrix and desired Euler angles of the redundant robot's end-effector, thereby realizing the posture control of the end-effector.

[0147] The posture constraint module 703 may determine the posture constraint conditions of the robot based on the desired end-effector posture information of the robot by: determining the posture constraint conditions of the robot based on at least a portion of the elements in the robot's rotation matrix and at least a portion of the elements in the desired rotation matrix, wherein the robot's rotation matrix is ​​related to the robot's joint angles, and the posture constraint conditions are related to the robot's joint angular velocities.

[0148] For example, the aforementioned attitude control constraints can be related to at least a subset of elements in the robot's rotation matrix and at least a subset of elements in the desired rotation matrix, wherein the at least a subset of elements in the robot's rotation matrix can have a one-to-one correspondence with the at least a subset of elements in the desired rotation matrix. That is, controlling Euler angles can be converted into controlling a subset of elements in the rotation matrix corresponding to the Euler angles. The at least a subset of elements in the robot's rotation matrix can be, for example, elements that, once determined, can be used to determine other elements in the rotation matrix, such as the four elements in the lower right portion of the rotation matrix. Furthermore, the at least a subset of elements can also include, for example, redundant matrix elements to ensure the correctness of the determined elements.

[0149] As described above, based on the acquired desired end-effector position information and desired end-effector pose information, constraints for position tracking and pose tracking in the pose tracking task can be determined respectively.

[0150] According to embodiments of this disclosure, the control determination module 704 can be configured to determine control information for the robot based on the position constraints and the attitude constraints, for controlling the robot's end position and end attitude.

[0151] For example, according to Figure 2BThe inverse kinematics equations of the redundant robot in S1 (e.g., equation (2)) and the attitude control constraints of the end effector in S2 (e.g., equation (6)), as well as the constraints of the robot's joint angular velocities, are used to establish an optimization scheme to determine the optimization problem for the robot's end position and attitude control. The control information for the robot is determined by the quadratic programming solution method described above with reference to step 204, so as to convert it into the control signals required for motor drive, thereby driving the robot to complete the specified task.

[0152] According to another aspect of this disclosure, a robot control device is also provided. Figure 8 A schematic diagram of a robot control device 2000 according to an embodiment of the present disclosure is shown.

[0153] like Figure 8 As shown, the robot control device 2000 may include one or more processors 2010 and one or more memories 2020. The memories 2020 store computer-readable code, which, when executed by the one or more processors 2010, can perform the robot control method as described above.

[0154] The processor in the embodiments of this disclosure can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor, and can be based on an x86 architecture or an ARM architecture.

[0155] In general, the various exemplary embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, firmware, logic, or any combination thereof. Some aspects can be implemented in hardware, while others can be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device. When aspects of embodiments of this disclosure are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it will be understood that the blocks, apparatuses, systems, techniques, or methods described herein can be implemented as non-limiting examples in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0156] For example, the method or apparatus according to embodiments of this disclosure can also be used by means of Figure 9 The architecture of the computing device 3000 shown is used for implementation. For example... Figure 9As shown, the computing device 3000 may include a bus 3010, one or more CPUs 3020, a read-only memory (ROM) 3030, a random access memory (RAM) 3040, a communication port 3050 connected to a network, an input / output component 3060, a hard disk 3070, etc. The storage devices in the computing device 3000, such as the ROM 3030 or the hard disk 3070, may store various data or files used for processing and / or communication in the robot control method provided in this disclosure, as well as program instructions executed by the CPU. The computing device 3000 may also include a user interface 3080. Of course, Figure 8 The architecture shown is merely exemplary and can be omitted as needed when implementing different devices. Figure 9 One or more components in the computing device shown.

[0157] According to another aspect of this disclosure, a computer-readable storage medium is also provided. Figure 10 A schematic diagram 4000 of a storage medium according to the present disclosure is shown.

[0158] like Figure 10 As shown, the computer storage medium 4020 stores computer-readable instructions 4010. When the computer-readable instructions 4010 are executed by a processor, the robot control method according to embodiments of the present disclosure described with reference to the above figures can be performed. The computer-readable storage medium in the embodiments of the present disclosure may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct memory bus random access memory (DR RAM). It should be noted that the memory used in the methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0159] Embodiments of this disclosure also provide a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform a robot control method according to embodiments of this disclosure.

[0160] Embodiments of this disclosure provide a robot control method, apparatus, device, and computer-readable storage medium.

[0161] Compared to traditional robot motion control methods, the method provided by the embodiments of this disclosure can combine constraints on the robot's end-effector position and posture, and simultaneously solve the problems of robot end-effector position control and posture control from a kinematic perspective, thereby improving the efficiency of robot control.

[0162] The method provided in this disclosure determines the position and attitude constraints of the velocity layer during robot motion based on the desired motion information of the robot (including desired end-effector position information and desired end-effector posture information), thereby achieving real-time synchronous control of the robot's end-effector position and posture, improving the effectiveness and functionality of the robot in performing tasks. Furthermore, by setting feasible domain constraints (upper and lower limits) for the robot's joint angular velocities, the problem of damage to the robot's servo motors caused by the robot's joint movements exceeding their physical limits can be avoided.

[0163] It should be noted that the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing at least one executable instruction for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0164] In general, the various exemplary embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, firmware, logic, or any combination thereof. Some aspects can be implemented in hardware, while others can be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device. When aspects of embodiments of this disclosure are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it will be understood that the blocks, apparatuses, systems, techniques, or methods described herein can be implemented as non-limiting examples in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.

[0165] The exemplary embodiments of this disclosure described in detail above are merely illustrative and not restrictive. Those skilled in the art will understand that various modifications and combinations can be made to these embodiments or their features without departing from the principles and spirit of this disclosure, and such modifications should fall within the scope of this disclosure.

Claims

1. A robot control method, the method being used for a redundant robot, the method comprising: Obtain the desired end-effector position and desired end-effector posture information of the robot; Based on the desired end-effector position information of the robot, the position constraints of the robot are determined, including determining the position constraints by controlling the end-effector position of the robot to be the desired end-effector position based on the desired end-effector position information, wherein the position constraints are related to the joint angular velocities of the robot; Based on the desired end-effector pose information of the robot, the pose constraints of the robot are determined, including determining at least a portion of the elements in the robot's rotation matrix based on the coupling relationships of the elements in the rotation matrix, and determining the pose constraints based on the time derivatives of the at least a portion of the elements in the rotation matrix and the time derivatives of the corresponding at least a portion of the elements in the desired rotation matrix corresponding to the desired end-effector pose information, wherein the elements in the robot's rotation matrix are related to the joint angles of the robot; and Based on the position constraints and the attitude constraints, control information for the robot is determined to control the robot's end-effector position and end-effector attitude.

2. The method of claim 1, wherein, The determination of the robot's position constraints based on the robot's desired end-effector position information includes: Based on the relationship between the robot's end effector position and joint angles, the inverse kinematics equations of the robot are determined, and these inverse kinematics equations are related to the robot's joint angular velocities; and Based on the robot's inverse kinematics equations and the desired end-effector position information, the robot's positional constraints are determined.

3. The method as described in claim 1, wherein, The desired rotation matrix is ​​determined based on the desired end-effector pose information of the robot, which includes desired Euler angle information. The posture constraints are related to the joint angular velocities of the robot.

4. The method of claim 1, wherein, Determining control information for the robot based on the position constraints and the posture constraints includes: Based on the position constraints, the posture constraints, and the joint angular velocity constraints of the robot, control information for the robot is determined, and the control information is related to the joint angular velocity of the robot.

5. The method of claim 4, wherein, The position constraint and the attitude constraint are equality constraints. The position constraint is used to make the end position of the robot consistent with the desired end position information, and the attitude constraint is used to make the end attitude of the robot consistent with the desired end attitude information.

6. The method of claim 5, wherein, The position constraint and the attitude constraint are also related to the robot's real-time position error feedback and real-time attitude error feedback, respectively. The real-time position error feedback indicates the error between the robot's current end-effector position and the desired end-effector position, and the real-time attitude error feedback indicates the error between the robot's current end-effector attitude and the desired end-effector attitude.

7. The method of claim 4, wherein, The constraints on the joint angular velocities of the robot are inequality constraints, which correspond to the feasible region constraints of the joint angular velocities of the robot, including at least one of the lower limit constraints and upper limit constraints of the joint angular velocities of the robot.

8. The method of claim 4, wherein, Determining the control information for the robot based on the position constraints, the posture constraints, and the joint angular velocity constraints includes: Based on the robot's predetermined motion pattern, determine the robot's control performance indicators; and The robot's control information is determined by minimizing the robot's control performance index as the optimization objective function and by using the position constraints, attitude constraints, and joint angular velocity constraints as boundary conditions.

9. The method of claim 8, wherein, Using minimizing the robot's control performance index as the optimization objective function, and using the position constraints, attitude constraints, and joint angular velocity constraints as boundary conditions, the control information of the robot is determined as follows: Based on the Caro-Kun-Tucker conditions and the dual space method, the optimization objective function and boundary conditions are transformed into a piecewise linear projection equation system; and The control information of the robot is obtained by solving the piecewise linear projection equations.

10. A robot control device for a redundant robot, the device comprising: The information acquisition module is configured to acquire the robot's desired end-effector position information and desired end-effector posture information; The position constraint module is configured to determine the position constraint conditions of the robot based on the desired end-effector position information of the robot, including determining the position constraint conditions by controlling the end-effector position of the robot to the desired end-effector position based on the desired end-effector position information, wherein the position constraint conditions are related to the joint angular velocities of the robot; An attitude constraint module is configured to determine attitude constraints of the robot based on the robot's desired end-effector pose information. This includes determining at least a subset of elements in the robot's rotation matrix based on the coupling relationships between elements in the rotation matrix, and determining the attitude constraints based on the time derivatives of the at least a subset of elements in the rotation matrix and the time derivatives of corresponding at least a subset of elements in the desired rotation matrix corresponding to the desired end-effector pose information. The elements in the robot's rotation matrix are related to the robot's joint angles. The control determination module is configured to determine control information for the robot based on the position constraints and the attitude constraints, for controlling the robot's end position and end attitude.

11. The apparatus of claim 10, wherein, The determination of the robot's position constraints based on the robot's desired end-effector position information includes: Based on the relationship between the robot's end effector position and joint angles, the inverse kinematics equations of the robot are determined, and these inverse kinematics equations are related to the robot's joint angular velocities; and Based on the robot's inverse kinematics equations and the desired end-effector position information, the robot's positional constraints are determined.

12. The apparatus of claim 11, wherein, The desired rotation matrix is ​​determined based on the desired end-effector pose information of the robot, which includes desired Euler angle information. The posture constraints are related to the joint angular velocities of the robot.

13. A robot control device, comprising: One or more processors; as well as One or more memories storing a computer-executable program, which, when executed by the processor, performs the method of any one of claims 1-9.

14. A computer program product stored on a computer-readable storage medium and comprising computer instructions that, when executed by a processor, cause a computer device to perform the method of any one of claims 1-9.

15. A computer-readable storage medium having stored thereon computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-9.