Robot control methods, devices, equipment and storage media
By estimating the Jacobian matrix and establishing constraints on angular velocity and angular acceleration, the problem of unknown or inaccurate robot model structure was solved, enabling fast and accurate robot motion control, reducing computational losses and control errors, and avoiding motor damage.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- LANZHOU UNIV
- Filing Date
- 2021-12-14
- Publication Date
- 2026-05-26
AI Technical Summary
Existing robot control methods cannot achieve accurate motion control when the model structure is unknown or inaccurate, leading to task failure or damage to the robot due to exceeding its motion limits. Furthermore, existing methods suffer significant losses when calculating the Jacobian matrix and cannot use the performance indicators of the velocity layer as optimization targets.
By estimating the Jacobian matrix based on the robot's measured motion information and establishing constraints for the angular velocity and angular acceleration layers, control information for joint angular velocities is determined, enabling precise control of a model-free robot.
In situations where the robot model structure is unknown or inaccurate, this method enables fast and precise motion control, reduces computational losses and control errors, minimizes joint angle deviations, and avoids motor damage caused by excessive joint angle acceleration.
Smart Images

Figure CN116262348B_ABST
Abstract
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] Redundant robots are robots with a joint space dimension greater than the task space dimension. They possess the redundancy characteristic of having more degrees of freedom in the joint space than the minimum required degrees of freedom in the task space, and are widely used in national economic production activities such as equipment manufacturing, product processing, and machine operations. Redundant robots, due to their redundancy characteristics, can achieve more flexible applications, thus becoming a hot topic in robotics research. For a redundant robot, given the end effector pose, there are multiple configurations corresponding to it in the joint space. That is, while maintaining the end effector pose, the configuration in the joint space of a redundant robot can change between multiple configurations (i.e., the self-motion of the redundant robot). The self-motion characteristic of redundant robots provides the possibility for optimizing their motion control. During robot operation, various requirements may exist, such as performing specific motion trajectory planning in the task space, avoiding singular configurations in the joint space, and preventing joint motion from exceeding limits.
[0003] Most current robot control methods are only applicable to robots with known model structures (e.g., DH parameters), and are not suitable for robots with unknown model structures. In industrial production, situations sometimes arise where robot model structure information is unknown or inaccurate. In such cases, existing control methods cannot enable the robot to accurately complete the given task, leading to task failure or damage due to the robot exceeding its motion limits. To address this problem, data-driven technology can be applied to acquire robot model structure information, providing crucial technical support for controlling robots with unknown or inaccurate model structures. However, in existing robot control methods, most schemes that simultaneously apply joint angles, joint angular velocities, and joint angular accelerations are based on the acceleration level. These schemes involve differentiating the Jacobian matrix, resulting in significant computational overhead, and cannot use velocity-level performance indicators as optimization targets.
[0004] Therefore, an efficient and accurate robot control method is needed to enable fast and precise robot motion control even when the robot model structure is unknown or inaccurate. Summary of the Invention
[0005] To address the aforementioned issues, this disclosure estimates the Jacobian matrix based on the robot's measured motion information and establishes constraints for angular velocity and angular acceleration layers to determine control information for the robot's joint angular velocities, thereby achieving precise control of model-free robot motion under specific tasks.
[0006] Embodiments of this disclosure provide a robot control method, apparatus, device, and computer-readable storage medium.
[0007] Embodiments of this disclosure provide a robot control method, comprising: acquiring an end effector velocity and joint angular velocities of a robot; estimating a Jacobian matrix of the robot based on the acquired end effector velocity and joint angular velocities, the estimated Jacobian matrix indicating the relationship between the end effector velocity and joint angular velocities; determining a first motion constraint on the robot based on predetermined joint constraints, the first motion constraint including restrictions on joint angular motion parameters of each joint of the robot, the joint angular motion parameters including joint angular acceleration; and determining joint control information of the robot based on the first motion constraint and the estimated Jacobian matrix, for controlling the joint angular motion of the robot at a next moment.
[0008] Embodiments of this disclosure provide a robot control device, comprising: a data acquisition module configured to acquire the end effector velocity and joint angular velocities of a robot; a matrix estimation module configured to estimate a Jacobian matrix of the robot based on the acquired end effector velocity and joint angular velocities of the robot, the estimated Jacobian matrix indicating the relationship between the end effector velocity and the joint angular velocities of the robot; a constraint determination module configured to determine a first motion constraint on the robot based on predetermined joint constraints of the robot, the first motion constraint including restrictions on joint angular motion parameters of each joint of the robot, the joint angular motion parameters including joint angular acceleration; and a control generation module configured to determine joint control information of the robot based on the first motion constraint of the robot and the estimated Jacobian matrix, for controlling the joint angular motion of the robot at a next moment.
[0009] 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.
[0010] 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.
[0011] 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.
[0012] Compared to traditional robot control methods, the method provided by the embodiments of this disclosure can estimate the Jacobian matrix based on measured motion data and data-driven methods, rather than deriving the Jacobian matrix through robot model structure information. It can also achieve physical constraints on the joint angles, angular velocities, and angular accelerations of redundant robots, thereby achieving safe and efficient motion control of the robot.
[0013] The method provided in the embodiments of this disclosure estimates the Jacobian matrix of robot motion based on real-time acquired robot motion data, and establishes an optimization problem for a specific task based on physical constraints on the joint angular velocities and joint angular accelerations of each robot joint to determine the control information for the robot's joint angular velocities, thereby achieving precise control of robot motion. The method of the embodiments of this disclosure enables fast and accurate robot motion control based on data drive even when the robot model structure is unknown or inaccurate, reducing computational costs and control errors caused by inaccurate structural information, and effectively reducing joint angular deviations during task execution. Furthermore, by limiting the robot's joint angular acceleration, the problem of discontinuous speed or even motor damage caused by excessively large joint angular acceleration is solved. Attached Figure Description
[0014] 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.
[0015] 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;
[0016] Figure 1B This is a schematic diagram illustrating the structure of an example redundant robot according to an embodiment of the present disclosure;
[0017] Figure 2A This is a flowchart illustrating a robot control method according to an embodiment of the present disclosure;
[0018] Figure 2BThis is a flowchart illustrating a robot control method according to an embodiment of the present disclosure;
[0019] Figure 3 This is a schematic block diagram illustrating the objective function and boundary conditions for a trajectory planning task according to an embodiment of the present disclosure;
[0020] Figure 4 This is a schematic block diagram illustrating an optimization problem for a trajectory planning task according to embodiments of the present disclosure;
[0021] Figure 5 This is a schematic diagram illustrating the relationship between data and signals in a robot control method according to an embodiment of the present disclosure;
[0022] Figure 6A This is a joint trajectory diagram illustrating a redundant robot performing a trajectory planning task according to an embodiment of the present disclosure;
[0023] Figure 6B This is a graph showing the changes in joint angle motion parameters during trajectory planning tasks performed by a redundant robot according to an embodiment of the present disclosure;
[0024] Figure 6C This is an error diagram illustrating a redundant robot performing a trajectory planning task according to an embodiment of the present disclosure;
[0025] Figure 7 This is a schematic diagram illustrating a robot control device according to an embodiment of the present disclosure;
[0026] Figure 8 A schematic diagram of a robot control device according to an embodiment of the present disclosure is shown;
[0027] Figure 9 A schematic diagram of the architecture of an exemplary computing device according to embodiments of the present disclosure is shown; and
[0028] Figure 10 A schematic diagram of a storage medium according to an embodiment of the present disclosure is shown. Detailed Implementation
[0029] 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.
[0030] 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.
[0031] 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.
[0032] To facilitate the description of this disclosure, the following concepts related to this disclosure are introduced.
[0033] 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 of computer science that attempts to understand the essence of intelligence and produce a new kind 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 accurately estimate the Jacobian matrix of the robot's motion in real time and automatically determine the control information for the robot based on the multidimensional physical constraints of the robot's motion.
[0034] 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.
[0035] 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, repetitive motion planning can be performed on the robot, enabling it to perform repetitive movements along a predetermined trajectory. Appropriate performance parameters need to be designed so that when the robot (e.g., a redundant robot) completes a specific task, each joint angle can return to its corresponding initial position.
[0036] Optionally, the robot control method of this disclosure can be based on data-driven technology. Data-driven technology can be used for model-free adaptive control of robots. For example, in embodiments of this disclosure, the Jacobian matrix of robot motion can be estimated based on real-time acquired robot motion data, instead of deriving its Jacobian matrix using a known model structure of the robot as in existing methods, thereby achieving precise control of a model-free robot.
[0037] Optionally, the robot control method of this disclosure can also be based on the Lagrange projection method and the Karush-Kuhn-Tucker (KKT) conditions. KKT conditions are an important concept in optimization for solving Lagrange dual problems and are widely used in operations research, convex and non-convex optimization, and machine learning. 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 Lagrange projection method and KKT conditions 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 Lagrange projection method and KKT conditions described above as examples, not as limitations, 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] Optionally, computing devices may specifically include smartphones, tablets, laptops, in-vehicle terminals, wearable devices, and so on. The network may 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.
[0042] 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).
[0043] 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 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 its kinematic or dynamic constraints. Those skilled in the art understand that good trajectory planning is a crucial prerequisite and guarantee for the high-performance operation of a robot.
[0044] For example, in embodiments of this disclosure, repetitive motion planning can be performed for a redundant robot, enabling the redundant robot to perform repetitive motion along a predetermined trajectory. In this repetitive motion planning scheme, given the end effector position of the redundant robot, it is necessary to determine the joint angles of the redundant robot (i.e., the inverse kinematics problem of the redundant robot). When the task trajectory of the redundant robot's end effector is a closed curve, even if the end effector returns to its initial position, its joints may deviate from the initial state (this phenomenon is called joint angle deviation, or non-repetitive motion problem). If the redundant robot cannot achieve repetitive motion, unpredictable situations may occur during operation, potentially damaging the redundant robot or endangering the personal safety of those around it. The repetitive motion planning scheme aims to design appropriate performance parameters so that when the robot (e.g., the redundant robot) completes the closed curve task, each joint angle can return to its corresponding initial position.
[0045] However, due to the high accuracy requirements of such continuous trajectories, existing continuous trajectory planning algorithms are usually computationally intensive, and further research and development are needed for planning algorithms for continuous trajectories. Existing optimal trajectory planning algorithms often rely on dynamic modeling, which is cumbersome, complex, and computationally expensive.
[0046] Specifically, current research has analyzed various robot trajectory planning techniques, such as using adaptive, sliding mode, and optimal state feedback strategies to achieve robot control. However, these control methods rely on robot models and parameter information to achieve precise robot control, and are only applicable to robots with known model structures (DH parameters), not to robots with unknown model structures. With the development of modern industry, robot models are becoming increasingly complex and inherently uncertain. Coupled with the influence of external disturbances, modeling them is becoming increasingly difficult. In this situation, existing control methods based on robot structural models cannot enable robots to accurately complete given tasks, leading to task failure or robot damage due to exceeding performance limits.
[0047] Furthermore, in existing robot control methods, most schemes that simultaneously apply joint angles, joint angular velocities, and joint angular accelerations to a robot are based on the acceleration level. These schemes involve differentiating the Jacobian matrix, which results in significant computational overhead, and they cannot use the performance indicators of the velocity level as optimization targets.
[0048] Therefore, to address the above problems, the solution disclosed herein applies data-driven technology to the acquisition of robot structural information, aiming to provide important technical support for the control of robots with unknown or inaccurate model structures.
[0049] Based on this, this disclosure provides a robot control method that estimates the Jacobian matrix based on the robot's measured motion information and establishes constraints for the angular velocity and angular acceleration layers to determine the control information for the robot's joint angular velocities, thereby achieving precise control of the model-free robot motion under specific tasks.
[0050] Compared to traditional robot control methods, the method provided by the embodiments of this disclosure can estimate the Jacobian matrix based on measured motion data and data-driven methods, rather than deriving the Jacobian matrix through robot model structure information. It can also achieve physical constraints on the joint angles, angular velocities, and angular accelerations of redundant robots, thereby achieving safe and efficient motion control of the robot.
[0051] The method provided in the embodiments of this disclosure estimates the Jacobian matrix of robot motion based on real-time acquired robot motion data, and establishes an optimization problem for a specific task based on physical constraints on the joint angular velocities and joint angular accelerations of each robot joint to determine the control information for the robot's joint angular velocities, thereby achieving precise control of robot motion. The method of the embodiments of this disclosure enables fast and accurate robot motion control based on data drive even when the robot model structure is unknown or inaccurate, reducing computational costs and control errors caused by inaccurate structural information, and effectively reducing joint angular deviations during task execution. Furthermore, by limiting the robot's joint angular acceleration, the problem of discontinuous speed or even motor damage caused by excessively large joint angular acceleration is solved. Moreover, for task scenarios where a range of joint angular acceleration is required, the robot's joint angular acceleration can be effectively constrained while applying control signals for joint angular velocities.
[0052] Figure 2A This is a flowchart illustrating a robot control method 200 according to an embodiment of the present disclosure.
[0053] Figure 2B This is a flowchart illustrating a robot control method 300 according to an embodiment of the present disclosure.
[0054] like Figure 2A As shown, in step 201, the robot's end effector velocity and the joint angular velocity of each joint can be obtained.
[0055] Optionally, the state information of a robot whose structural information is unknown can be obtained from the robot's sensors and interfaces. The obtained robot information may include the joint angular velocities of each joint and the end effector's end effector velocity.
[0056] For example, for a redundant robot with seven degrees of freedom as described above, it may include, for instance, the following: Figure 1B The seven joints shown represent the information acquired for this redundant robot, which may include the real-time end effector velocity of the redundant robot. and joint angular velocity Where m represents the degrees of freedom of the redundant robot (e.g., for a redundant robot with seven degrees of freedom, m = 7). It can be a vector of joint angular velocities that include all the joints of the robot.
[0057] In step 202, the Jacobian matrix of the robot can be estimated based on the acquired end-effector velocity and joint angular velocities of each joint. The estimated Jacobian matrix can indicate the relationship between the end-effector velocity and the joint angular motion parameters of the robot.
[0058] As mentioned above, for robots with unknown or inaccurate model structures, their Jacobian matrix can be estimated in real time based on the acquired motion information, and then the constraints on the robot's motion process can be determined based on the estimated Jacobian matrix.
[0059] Optionally, the estimation of the Jacobian matrix can be based on a defined error function used to estimate the Jacobian matrix. For example, the Jacobian matrix can be estimated by applying gradient descent and real-time measurement data of the robot motion obtained in step 201 to derive an estimation formula.
[0060] Specifically, as an embodiment of this disclosure, the error function used to estimate the Jacobian matrix can be defined as follows: Where ψ represents the error function, Let ||·||2 represent the real-time end effector velocity of the robot, and let ||·||2 represent the L2 norm of the vector. The estimated end velocity (hereinafter referred to as the estimated end velocity) can be expressed as the product of the estimated Jacobian matrix and the determined joint angular velocity, i.e. (in, Let Jacobian matrix represent the estimated Jacobian matrix of a robot with m degrees of freedom. In this equation, when the estimated Jacobian matrix is infinitely close to the true Jacobian matrix, the estimated end-effector velocity is also infinitely close to the actual end-effector velocity. The estimated end-effector velocity at the current moment can be obtained based on the joint angular velocities determined by the robot at the current moment and the estimated Jacobian matrix.
[0061] By analyzing the above error function with respect to Taking the partial derivative, we can obtain the following continuous form of the Jacobian matrix estimation equation:
[0062]
[0063] in, The Jacobian matrix is the estimate of the redundancy of the robot. for Time derivative, Let $\frac{ ... r The elements in ∈ all contain polynomials with time as the independent variable. Note that, unless otherwise specified, in the following description, differentiation in this disclosure is differentiation with respect to the time variable.
[0064] Therefore, by examining equation (1) regarding... By performing integration, the estimated Jacobian matrix of the robot can be obtained based on the robot's end effector velocity and the joint angular velocities of each joint at the current moment.
[0065] As mentioned above, the derivative of the Jacobian matrix can be calculated from the robot's motion information (joint angular velocity and end effector velocity) at the current moment, and then the estimated Jacobian matrix can be obtained through integration.
[0066] In the embodiments of this disclosure, taking the trajectory planning task of a robot as an example, the constraints on the robot's motion process can mainly include two types of constraints, namely, the first motion constraint and the second motion constraint. The first motion constraint can correspond to the physical constraints on the robot's joints, while the second motion constraint can correspond to the constraints on the robot's motion trajectory planning.
[0067] Figure 3 This is a schematic block diagram illustrating the objective function and boundary conditions for a trajectory planning task according to an embodiment of the present disclosure.
[0068] Figure 3 The upper part of the figure shows a redundant robot that performs repetitive motions along a closed curve. The estimate of the Jacobian matrix of this redundant robot can be expressed as Equation (1) above.
[0069] After estimating the robot's Jacobian matrix based on the acquired real-time motion information, the constraints on the robot's motion process can be further determined based on the estimated Jacobian matrix.
[0070] In step 203, a first motion constraint on the robot can be determined based on the robot's predetermined joint constraints. The first motion constraint may include restrictions on the joint angular motion parameters of each joint of the robot, and the joint angular motion parameters may include joint angular acceleration.
[0071] According to embodiments of this disclosure, in addition to the joint angular acceleration described above, the joint angular motion parameters of the robot may also include at least one of the joint angles and joint angular velocities of each joint of the robot. Therefore, the first motion constraint may include physical constraints on at least one of the joint angles and joint angular velocities of each joint of the robot, as well as the joint angular acceleration.
[0072] According to embodiments of this disclosure, the predetermined joint constraint may include a predetermined limit on at least one of the joint angles and joint angular velocities of the robot's joints and the joint angular acceleration, and the predetermined limit may include a corresponding physical constraint range on at least one of the joint angles and joint angular velocities of the robot and the joint angular acceleration.
[0073] According to embodiments of this disclosure, the physical constraint range may include at least one of a lower limit constraint and an upper limit constraint of the angular motion parameters of each joint of the robot. The first constraint and the second constraint may be inequality constraints. The first constraint may be used to specify at least one of an upper limit angular velocity and a lower limit angular velocity of each joint of the robot, and the second constraint may be used to specify at least one of an upper limit angular acceleration and a lower limit angular acceleration of each joint of the robot.
[0074] Optionally, physical constraints can be constructed on at least one of the joint angles and joint angular velocities of the redundant robot and the joint angular acceleration, based on actual task requirements, and these physical constraints can be converted into further angular motion constraints.
[0075] For example, based on the actual task and workspace requirements, the physical constraints of the robot can be defined as follows ( Figure 3 (The following is a system of multi-level physical constraint inequalities):
[0076]
[0077] in, These represent the joint angle, joint angular velocity, and joint angular acceleration of the redundant robot, respectively. and These represent the lower and upper limits of the joint angle constraint, respectively. and These represent the lower limit constraint (lower limit angular velocity) and upper limit constraint (upper limit angular velocity) of the joint angular velocity, respectively. and These represent the lower limit constraint (lower limit angular acceleration) and upper limit constraint (upper limit angular acceleration) of joint angular acceleration, respectively.
[0078] As mentioned above, by setting upper and lower limits for the robot's joint angular motion, the problem of the robot's servo motor being damaged due to the robot's joint motion exceeding its physical limits can be avoided. Furthermore, by setting constraints on angular acceleration, the problem of discontinuous robot speed caused by excessive angular acceleration due to the task can be avoided, which could lead to control failure.
[0079] According to embodiments of this disclosure, step 203 may include: determining a first constraint on the joint angular velocity of each joint of the robot based on predetermined constraints on the joint angle and joint angular velocity of each joint of the robot; and determining a second constraint on the joint angular acceleration of each joint of the robot based on predetermined constraints on the joint angular acceleration of each joint of the robot. The first motion constraint on the robot may include the first constraint and the second constraint.
[0080] Optionally, the predetermined constraints on the joint angles and angular velocities of each joint of the robot can be unified at the velocity level, that is, the first and second inequalities in equation (2) above can be transformed into the following form:
[0081]
[0082] in, in This represents the adjustment coefficient for the joint angle, used to adjust and ensure that the joint angular velocity has a sufficiently large feasible range.
[0083] Equation (3) further restricts the joint angular velocity of each joint of the robot in relation to the joint angle, so that when the joint angle of the robot approaches the upper or lower limit, the absolute value of its joint angular velocity also decreases, so as to prevent the robot's movement from exceeding the physical limit.
[0084] Optionally, after setting the physical constraints on the joint angular acceleration of the robot through equation (2), the joint angular acceleration can be further restricted to a smaller constraint range (for example, selecting the minimum angular acceleration constraint range of all joints of the robot).
[0085] Optionally, the threshold of joint angular acceleration can be determined based on the angular acceleration constraint range of each joint of the robot. For example, the intersection of the angular acceleration ranges of all joints can be selected, and the absolute value of the one with the smallest absolute value among the upper and lower limits of this intersection can be determined as the threshold. Inequality constraints can then be constructed using the infinity norm and this angular acceleration threshold.
[0086]
[0087] Among them ||·|| ∞ Representing the infinite norm of a matrix or vector, this constraint (4) ensures that the absolute value of the angular acceleration of each joint remains within the defined range.
[0088] Through the above processing, the physical constraints of equation (2) can be transformed into further inequality constraints at the velocity and acceleration levels of equations (3) and (4). Equations (3) and (4) constitute the first motion constraints on the robot's motion process.
[0089] In step 204, the joint control information of the robot can be determined based on the first motion constraint of the robot and the estimated Jacobian matrix, and used to control the joint angle motion of the robot at the next moment.
[0090] By combining the aforementioned first motion constraint and determining the objective function and related constraints for a specific task, an optimization problem for robot control can be established to determine the joint control information for the robot. Optionally, this joint control information may be information used to control the joint angular velocity of the robot at the next moment.
[0091] The following section will determine the second motion constraints and objective function for the robot's motion for a specific task (taking trajectory planning as an example) in order to establish an optimization problem for that specific task and obtain the robot's joint control information by solving it.
[0092] In addition to the above references Figure 2A In addition to steps 201-204 described herein, according to embodiments of this disclosure, the robot control method 300 may further include, as follows: Figure 2B The following steps are shown.
[0093] In step 205, the end position and desired trajectory information of the robot can be obtained.
[0094] For trajectory planning tasks, the robot needs to move along a predetermined trajectory. Therefore, according to embodiments of this disclosure, the second motion constraint can be an equality constraint, which can be used to make the robot's end position and end velocity consistent with the desired trajectory information.
[0095] According to embodiments of this disclosure, step 204 may include, for example: Figure 2B Steps 2041 and 2042 are shown.
[0096] In step 2041, a second motion constraint on the robot can be determined based on the robot's end-effector position, desired trajectory information, and estimated Jacobian matrix. The second motion constraint instructs the robot to move along a predetermined desired trajectory.
[0097] Optionally, based on the Jacobian matrix estimation equation (1) in step 202, equality constraints for performing the trajectory planning task can be constructed. For the case where the redundant robot performs the predetermined trajectory planning task, the robot's end-effector velocity and end-effector position should be consistent with the desired velocity and position, i.e., υ r →υ d at the same time Among them, υ r This indicates the obtained end-effector position of the robot. This indicates the desired end position, while This represents the desired terminal velocity.
[0098] Therefore, based on the above conditions, the second motion constraint can be expressed as follows: Figure 3The trajectory tracking form shown enables the robot to track the predetermined trajectory in real time, which can be expressed as the following equation constraint:
[0099]
[0100] Where κ(υ) r -υ d ) represents the position error compensation term, and κ is the compensation coefficient.
[0101] In step 2042, the joint control information of the robot can be determined based on the first motion constraint and the second motion constraint of the robot.
[0102] According to an embodiment of this disclosure, step 2042 may include: determining a control performance index of the robot based on a predetermined motion pattern of the robot, for indicating the control accuracy of the robot; and determining joint control information of the robot based on the control performance index of the robot and the first motion constraint and the second motion constraint of the robot.
[0103] Optionally, for the trajectory planning task described above, in order to minimize the joint angle deviation between the initial and final states when the robot performs a closed trajectory planning task, a method can be established as follows: Figure 3 The control performance indicators shown are:
[0104]
[0105] Where γ = d(∈-∈0), ∈0 represents the initial state of each joint of the robot, ∈ represents the real-time state (joint angle) of each joint of the robot, and d>0 is a coefficient used to scale the magnitude of the robot's response to joint displacement.
[0106] Therefore, based on the above control performance indicators, an objective function can be constructed, namely, minimizing the above control performance indicators as the objective function of the robot control optimization problem of this disclosure.
[0107] Specifically, according to embodiments of this disclosure, determining the joint control information of the robot based on the robot's control performance index and the first and second motion constraints of the robot in step 2042 may include: using minimizing the robot's control performance index as the optimization objective function and using the first and second motion constraints of the robot as boundary conditions to determine the robot's joint control information.
[0108] Figure 4 This is a schematic block diagram illustrating an optimization problem for a trajectory planning task according to embodiments of the present disclosure.
[0109] Optionally, based on the first motion constraints (inequality constraints: equations (3) and (4)) on the robot's motion process in step 203, the second motion constraints (equality constraints: equation (5)) on the robot's motion process in step 2041, and the control performance index for robot motion control determined in step 2041 (equation (6)), a velocity-level analysis can be performed on the motion planning of the redundant robot to establish a redundant robot control scheme based on a quadratic programming problem, namely the following optimization problem:
[0110]
[0111] The Jacobian matrix can be estimated using the data-driven algorithm in step 202, and This redundant robot control scheme can use a given control performance index as the minimization objective function, the trajectory planning task as the equality constraint, and the physical constraints on the joint angles, joint angular velocities, and joint angular accelerations of each joint of the robot as the inequality constraints.
[0112] like Figure 4 As shown, for the established optimization problem, it is necessary to find the minimum value (i.e., the lowest point) of its objective function under the constraints, as well as the combination of joint angular motion parameters that make the objective function reach the minimum value. The optimal joint angular velocity value can be used for robot motion control in the next moment.
[0113] 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.
[0114] Regarding 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. However, it should be understood that this solution is only an example and not a limitation. Other solution schemes that can achieve similar effects can also be applied to the optimization problem solution of this disclosure.
[0115] According to embodiments of this disclosure, determining the robot's joint control information by minimizing the robot's control performance index as the optimization objective function and using the first and second motion constraints on the robot as boundary conditions may include: converting the optimization objective function and boundary conditions into a piecewise linear projection equation system based on the Lagrange projection method and the Carlow-Kun-Tucker conditions; and obtaining the robot's joint control information by solving the piecewise linear projection equation system.
[0116] Alternatively, by using the Lagrange projection method and the KKT conditions, the above optimization problem can be transformed into the following set of piecewise linear projection equations:
[0117]
[0118] Where δ>0 represents the coefficient controlling convergence; P Λ (x)=arg min y∈Λ ||xy||2 is the projection function representing the projection of y onto the set Λ, P η The definition of (·) is similar, except that the set Λ is replaced with η, where η is the proportionality coefficient that ensures the angular acceleration is within the constraint range; κ>0 represents the position error feedback coefficient of the robot's end effector; λ is the auxiliary variable of the projection equation system. Its time derivative.
[0119] Therefore, the optimal combination of joint angle motion parameters under multi-level constraints can be determined through the above exemplary solution scheme.
[0120] Figure 5 This is a schematic diagram illustrating the relationship between data and signals in a robot control method according to an embodiment of the present disclosure.
[0121] like Figure 5 As shown, based on the obtained end-effector position υ of the robot r With terminal velocity and the predefined expected end position υ d and terminal velocity The intermediate parameters of the above solution process can be determined (e.g., λ and λ shown in the figure). This allows the robot to determine its joint angular velocity control information for the next moment, i.e.
[0122] Furthermore, preset noise can be introduced into the motion control system to drive it. For example, such as Figure 5 As shown, the determined joint angular velocity control information can be obtained. Add noise n (e.g., independent and identically distributed noise) to generate the robot's joint angular velocity control information for the next moment.
[0123] Optionally, the solution method based on the Lagrange projection method and KKT conditions described above can be implemented based on a piecewise linear projection equation system. For example, the controller can be designed first, assuming the robot's Jacobian matrix is known. Then, the determined Jacobian matrix estimate can be incorporated into the scheme, thus combining learning and control in the robot motion control scheme of this disclosure. The optimization problem is solved based on the designed linear projection equation system, enabling the robot with unknown structural parameters to complete the given inverse kinematics task with high precision while satisfying multi-level physical constraints. It should be understood that the linear projection equation system used here to solve the optimization problem is only used as an example and not a limitation. Other quadratic programming solvers that can achieve similar learning and control effects can also be applied to the robot control method of this disclosure.
[0124] Furthermore, according to embodiments of this disclosure, the robot control method 300 may also include step 206, which involves generating motor control signals for driving the motor movement of each joint of the robot at the next moment based on the determined joint control information of the robot, so as to control the robot to perform a predetermined task.
[0125] like 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 aforementioned joint angular velocity control information can be... This is converted into the control signals needed to drive the motor, thereby driving the robot to complete the specified task.
[0126] Specifically, it can be targeted at, for example, based on, such as Figure 3 The redundant robot and the trajectory planning task of the closed trajectory are shown to describe the state changes of the redundant robot during the execution of the task.
[0127] Figure 6A This is a joint trajectory diagram illustrating a redundant robot performing a trajectory planning task according to an embodiment of the present disclosure. Figure 6B This is a graph showing the changes in joint angle motion parameters during trajectory planning tasks performed by a redundant robot according to an embodiment of the present disclosure. Figure 6C This is an error graph illustrating a redundant robot performing a trajectory planning task according to an embodiment of the present disclosure.
[0128] 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, and the given trajectory planning task is performed well.
[0129] Figure 6B Figures (a) and (b) show the changes in joint angular velocity and joint angular acceleration during the trajectory planning task of the redundant robot, respectively. The subscripts 1-7 of the joint angular velocity and joint angular acceleration parameters represent the parameters corresponding to the seven degrees of freedom of the redundant robot.
[0130] like Figure 6B As shown in (a), the joint angular velocity of the redundant robot fluctuates continuously and smoothly over time, and when the joint angular velocity reaches a pre-set physical upper limit... and the lower realm Subsequently, it was successfully contained within the defined range.
[0131] like Figure 6B As shown in (b), similar to the joint angular velocity, the joint angular acceleration of the redundant robot also fluctuates continuously and smoothly over time. When the joint angular acceleration reaches a preset physical upper limit... and the lower realm Subsequently, it was well confined within the predetermined range.
[0132] Figure 6B (c) in the figure shows a comparison between the infinite norm of joint angular acceleration and the physical constraints of joint angular acceleration during the trajectory planning task of the redundant robot.
[0133] like Figure 6B As shown in (c), during the execution of the task, the infinite norm of the joint angular acceleration of the redundant robot touches its upper bound (i.e., the joint angular acceleration threshold mentioned above) many times, but is well kept within the constraint range.
[0134] Figure 6C (a) and (b) in the figure show the changes in the end-effector position error and the error of the Jacobian matrix, respectively, during the trajectory planning task performed by the redundant robot.
[0135] like Figure 6C As shown in (a), based on the robot control method of this disclosure, the position error of the end effector of the redundant robot remains at the millimeter level throughout the entire task execution process, thus achieving precise control of the modelless robot.
[0136] like Figure 6C As shown in (b), the error of the Jacobian matrix of the redundant robot can quickly converge to a very small range, and after reaching a steady state, the error of the Jacobian matrix of the redundant robot is on the order of 10^(-3). This fully demonstrates that the method disclosed in this paper achieves efficient estimation of the Jacobian matrix based on the robot's real-time motion data.
[0137] Figure 7 This is a schematic diagram illustrating a robot control device 700 according to an embodiment of the present disclosure.
[0138] The robot control device 700 may include a data acquisition module 701, a matrix estimation module 702, a constraint determination module 703, and a control generation module 704.
[0139] According to embodiments of this disclosure, the data acquisition module 701 can be configured to acquire the end effector velocity and the joint angular velocity of each joint of the robot.
[0140] Optionally, the state information of a robot with unknown structural information can be obtained from its sensors and interfaces. The obtained robot information may include the joint angular velocities of each joint and the end effector's end effector velocity. For example, for a redundant robot with seven degrees of freedom, it may include, for instance, the joint angular velocities of each joint and the end effector's end effector velocity. Figure 1B The seven joints shown indicate that, for this redundant robot, the acquired robot information can include the real-time end-effector velocities and joint angular velocities of all joints of the redundant robot (e.g., represented in vector or matrix form).
[0141] The matrix estimation module 702 can be configured to estimate the Jacobian matrix of the robot based on the acquired end-effector velocity and joint angular velocities of the robot. The estimated Jacobian matrix can indicate the relationship between the end-effector velocity and the joint angular velocities of the robot.
[0142] Optionally, for robots with unknown or inaccurate model structures, their Jacobian matrix can be estimated in real time based on the acquired motion information, and then the constraints on the robot's motion process can be determined based on the estimated Jacobian matrix.
[0143] Optionally, the estimation of the Jacobian matrix can be based on a defined error function used to estimate the Jacobian matrix. For example, the Jacobian matrix can be estimated by applying gradient descent and real-time measurement data of the robot motion obtained in step 201 to derive an estimation formula.
[0144] Optionally, taking the trajectory planning task of a robot as an example, the constraints on the robot's motion process can mainly include two types of constraints, namely, the first motion constraint and the second motion constraint. The first motion constraint can correspond to the physical constraints on the robot's joints, while the second motion constraint can correspond to the constraints on the robot's motion trajectory planning.
[0145] The constraint determination module 703 can be configured to determine a first motion constraint on the robot based on predetermined joint constraints of the robot. The first motion constraint includes restrictions on the joint angular motion parameters of each joint of the robot, including joint angular acceleration.
[0146] Optionally, in addition to the joint angular acceleration mentioned above, the joint angular motion parameters of the robot may also include at least one of the joint angles and joint angular velocities of each joint of the robot. Therefore, the first motion constraint may include physical constraints on at least one of the joint angles and joint angular velocities of each joint of the robot, and on the joint angular acceleration.
[0147] Optionally, the predetermined joint constraint may include a predetermined limit on at least one of the joint angles and joint angular velocities of the robot's joints and the joint angular acceleration, and the predetermined limit may include a corresponding physical constraint range on at least one of the joint angles and joint angular velocities of the robot and the joint angular acceleration.
[0148] For example, the physical constraint range may include at least one of the lower limit constraint and the upper limit constraint of the angular motion parameters of each joint of the robot. The first limit and the second limit may be inequality constraints. The first limit may be used to specify at least one of the upper limit angular velocity and the lower limit angular velocity of each joint of the robot, and the second limit may be used to specify at least one of the upper limit angular acceleration and the lower limit angular acceleration of each joint of the robot.
[0149] According to an embodiment of this disclosure, the constraint determination module 703 may determine a first motion constraint on the robot based on predetermined joint constraints of the robot, including: determining a first limit on the joint angular velocity of each joint of the robot based on predetermined limits on the joint angle and joint angular velocity of each joint of the robot; and determining a second limit on the joint angular acceleration of each joint of the robot based on predetermined limits on the joint angular acceleration of each joint of the robot; wherein the first motion constraint on the robot includes the first limit and the second limit.
[0150] For example, physical constraints on the joint angles, joint angular velocities, and joint angular accelerations of the redundant robot can be constructed according to actual task requirements, and these physical constraints can be converted into further angular motion constraints, such as the velocity-level and acceleration-level inequality constraints of equations (3) and (4) described in step 203 above.
[0151] The control generation module 704 can be configured to determine the joint control information of the robot based on the first motion constraint of the robot and the estimated Jacobian matrix, for controlling the joint angular motion of the robot at the next moment.
[0152] Optionally, by combining the first motion constraint described above and determining the objective function and related constraints for a specific task, an optimization problem for robot control can be established to determine the joint control information for the robot. Optionally, this joint control information may be information used to control the joint angular velocity of the robot at the next moment.
[0153] According to embodiments of this disclosure, the data acquisition module 701 can also be configured to acquire the robot's end-effector position information and desired trajectory information.
[0154] Optionally, for trajectory planning tasks, the robot needs to move along a predetermined trajectory. Therefore, the second motion constraint can be an equality constraint to ensure that the robot's end position and end velocity are consistent with the desired trajectory information.
[0155] The control generation module 704 may determine the joint control information of the robot based on the first motion constraint on the robot and the estimated Jacobian matrix, including: determining a second motion constraint on the robot based on the robot's end-effector position, desired trajectory information and the estimated Jacobian matrix, the second motion constraint instructing the robot to move according to a predetermined desired trajectory; and determining the joint control information of the robot based on the first motion constraint and the second motion constraint.
[0156] As described above, the control generation module 704 can determine the second motion constraint (equation constraint as shown in equation (5)) by the operation described with reference to step 204, thereby determining the joint control information of the robot.
[0157] The control generation module 704 may determine the joint control information of the robot based on the first motion constraint and the second motion constraint of the robot, including: determining the control performance index of the robot based on the predetermined motion mode of the robot, which is used to indicate the control accuracy of the robot; and determining the joint control information of the robot based on the control performance index of the robot and the first motion constraint and the second motion constraint of the robot.
[0158] Optionally, for the trajectory planning task described above, in order to minimize the joint angle deviation between the initial state and the final state when the robot performs the closed trajectory planning task, a control performance index as shown in equation (6) can be established. Based on this control performance index, an objective function can be constructed. That is, minimizing the control performance index is taken as the objective function of the robot control optimization problem of this disclosure. The joint control information of the robot is determined by using the first and second motion constraints on the robot as boundary conditions, as described above regarding step 2042 and reference... Figure 4 As stated above.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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 9 As 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.
[0164] 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.
[0165] 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.
[0166] 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.
[0167] Embodiments of this disclosure provide a robot control method, apparatus, device, and computer-readable storage medium.
[0168] Compared to traditional robot control methods, the method provided by the embodiments of this disclosure can estimate the Jacobian matrix based on measured motion data and data-driven methods, rather than deriving the Jacobian matrix through robot model structure information. It can also achieve physical constraints on the joint angles, angular velocities, and angular accelerations of redundant robots, thereby achieving safe and efficient motion control of the robot.
[0169] The method provided in the embodiments of this disclosure estimates the Jacobian matrix of robot motion based on real-time acquired robot motion data, and establishes an optimization problem for a specific task based on physical constraints on the joint angular velocities and joint angular accelerations of each robot joint to determine the control information for the robot's joint angular velocities, thereby achieving precise control of robot motion. The method of the embodiments of this disclosure enables fast and accurate robot motion control based on data drive even when the robot model structure is unknown or inaccurate, reducing computational costs and control errors caused by inaccurate structural information, and effectively reducing joint angular deviations during task execution. Furthermore, by limiting the robot's joint angular acceleration, the problem of discontinuous speed or even motor damage caused by excessively large joint angular acceleration is solved. Moreover, for task scenarios where a range of joint angular acceleration is required, the robot's joint angular acceleration can be effectively constrained while applying control signals for joint angular velocities.
[0170] 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.
[0171] 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.
[0172] 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, comprising: Obtain the robot's end effector velocity and the joint angular velocities of each joint; Based on the obtained end-effector velocity and joint angular velocity of the robot, the Jacobian matrix of the robot is estimated. The estimated Jacobian matrix indicates the relationship between the end-effector velocity and the joint angular velocity of the robot. Based on the predetermined joint constraints of the robot, a first motion constraint is determined for the robot. This first motion constraint includes a first inequality constraint on the joint angular velocities of each joint of the robot and a second inequality constraint on the joint angular accelerations of each joint of the robot. The second inequality constraint on the joint angular accelerations of each joint of the robot is configured to prevent excessively large joint angular accelerations from causing discontinuities in the robot's joint angular velocities. Based on the first motion constraints of the robot and the estimated Jacobian matrix, the joint control information of the robot is determined for controlling the joint angular motion of the robot at the next moment. This includes: establishing a quadratic programming problem based on the first motion constraints of the robot and the estimated Jacobian matrix, wherein the boundary conditions of the quadratic programming problem include the first inequality constraint and the second inequality constraint; and determining the joint angular velocity of the robot at the next moment by solving the quadratic programming problem for controlling the joint angular motion of the robot at the next moment.
2. The method of claim 1, further comprising: Obtain the end-effector position and desired trajectory information of the robot; The determination of the robot's joint control information based on the first motion constraint on the robot and the estimated Jacobian matrix includes: Based on the robot's end-effector position, desired trajectory information, and estimated Jacobian matrix, a second motion constraint is determined for the robot, instructing the robot to move along a predetermined desired trajectory; and The joint control information of the robot is determined based on the first motion constraint and the second motion constraint of the robot.
3. The method as described in claim 2, wherein, The joint angular motion parameters of the robot also include at least one of the joint angles and joint angular velocities of each joint of the robot. The predetermined joint constraints include predetermined restrictions on at least one of the joint angles and joint angular velocities of each joint of the robot and the joint angular acceleration. The predetermined restrictions include the corresponding physical constraint ranges on at least one of the joint angles and joint angular velocities of each joint of the robot and the joint angular acceleration. The determination of the first motion constraint on the robot based on the robot's predetermined joint constraints includes: Based on predetermined constraints on at least one of the joint angles and joint angular velocities of each joint of the robot, a first inequality constraint is determined for the joint angular velocities of each joint of the robot; and Based on a predetermined constraint on the joint angular acceleration of each joint of the robot, a second inequality constraint on the joint angular acceleration of each joint of the robot is determined. The first motion constraint on the robot includes the first inequality constraint and the second inequality constraint.
4. The method of claim 3, wherein, The physical constraint range includes at least one of the lower limit constraint and the upper limit constraint of the angular motion parameters of each joint of the robot. The first inequality constraint is used to specify at least one of the upper limit angular velocity and the lower limit angular velocity of each joint of the robot, and the second inequality constraint is used to specify at least one of the upper limit angular acceleration and the lower limit angular acceleration of each joint of the robot.
5. The method of claim 2, wherein, The second motion constraint is an equality constraint, which is used to make the robot's end position and end velocity consistent with the desired trajectory information.
6. The method of claim 2, wherein, The determination of the robot's joint control information based on the first and second motion constraints includes: Based on the robot's predetermined motion pattern, control performance indicators of the robot are determined to indicate the control accuracy of the robot; and The joint control information of the robot is determined based on the robot's control performance indicators and the first and second motion constraints on the robot.
7. The method of claim 6, wherein, The determination of the robot's joint control information based on the robot's control performance indicators and the first and second motion constraints on the robot includes: The objective function of the quadratic programming problem is to minimize the control performance index of the robot, and the boundary conditions of the quadratic programming problem are the first motion constraint and the second motion constraint of the robot. By solving the quadratic programming problem, the joint control information of the robot is determined.
8. The method of claim 7, wherein, The objective function of the quadratic programming problem is to minimize the control performance index of the robot, and the boundary conditions of the quadratic programming problem are the first and second motion constraints on the robot. By solving the quadratic programming problem, the joint control information of the robot is determined, including: Based on the Lagrange projection method and the Carlow-Kuhn-Tucker conditions, the optimization objective function and boundary conditions are transformed into a piecewise linear projection equation system; and The joint control information of the robot is obtained by solving the piecewise linear projection equations.
9. The method of claim 1, further comprising: Based on the determined joint control information of the robot, motor control signals are 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.
10. A robot control device, comprising: The data acquisition module is configured to acquire the robot's end effector velocity and the joint angular velocities of each joint; The matrix estimation module is configured to estimate the Jacobian matrix of the robot based on the acquired end-effector velocity and joint angular velocities of the robot. The estimated Jacobian matrix indicates the relationship between the end-effector velocity and the joint angular velocities of the robot. A constraint determination module is configured to determine a first motion constraint on the robot based on predetermined joint constraints. The first motion constraint includes a first inequality constraint on the joint angular velocities of each joint of the robot and a second inequality constraint on the joint angular accelerations of each joint of the robot. The second inequality constraint on the joint angular accelerations of each joint of the robot is configured to prevent excessively large joint angular accelerations from causing discontinuities in the robot's joint angular velocities. A control generation module is configured to determine joint control information of the robot based on the first motion constraints of the robot and the estimated Jacobian matrix, for controlling the joint angular motion of the robot at the next moment. This includes: establishing a quadratic programming problem based on the first motion constraints of the robot and the estimated Jacobian matrix, wherein the boundary conditions of the quadratic programming problem include the first inequality constraint and the second inequality constraint; and determining the joint angular velocity of the robot at the next moment by solving the quadratic programming problem, for controlling the joint angular motion of the robot at the next moment.
11. The apparatus of claim 10, wherein, The data acquisition module is also configured to acquire the robot's end-effector position information and desired trajectory information; The control generation module determines a second motion constraint on the robot based on the robot's end-effector position, desired trajectory information, and estimated Jacobian matrix, the second motion constraint instructing the robot to move along a predetermined desired trajectory; and determines joint control information of the robot based on the first motion constraint and the second motion constraint.
12. The apparatus of claim 11, wherein, The joint angular motion parameters of the robot also include at least one of the joint angles and joint angular velocities of each joint of the robot. The predetermined joint constraints include predetermined restrictions on at least one of the joint angles and joint angular velocities of each joint of the robot and the joint angular acceleration. The predetermined restrictions include the corresponding physical constraint ranges on at least one of the joint angles and joint angular velocities of each joint of the robot and the joint angular acceleration. The constraint determination module determines a first inequality constraint on the joint angular velocity of each joint of the robot based on a predetermined constraint on at least one of the joint angle and joint angular velocity of each joint of the robot; and determines a second inequality constraint on the joint angular acceleration of each joint of the robot based on a predetermined constraint on the joint angular acceleration of each joint of the robot. The first motion constraint on the robot includes the first inequality constraint and the second inequality constraint.
13. The apparatus of claim 11, wherein, The control generation module determines the robot's control performance index based on the robot's predetermined motion pattern, which is used to indicate the control accuracy of the robot; and determines the robot's joint control information based on the robot's control performance index and the first motion constraint and the second motion constraint of the robot.
14. 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.
15. A computer program product comprising computer instructions that, when executed by a processor, cause a computer device to perform the method of any one of claims 1-9.
16. 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.