Robot motion control methods, devices, robots, and storage media
By optimizing the joint variable control parameters in robot motion control and extending this optimization to N consecutive time points after the current time, based on the principle of minimizing following error, the problem of insufficient matching degree of joint variable control parameters is solved, thereby improving the accuracy and effectiveness of robot motion control.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2022-06-15
- Publication Date
- 2026-05-26
AI Technical Summary
In existing technologies, the matching degree of joint variable control parameters in robot motion control methods is insufficient, resulting in poor motion control performance.
By determining the robot's current task state and its reference task states for the next N consecutive moments, the joint variable control parameters are optimized based on the principle of minimizing the following error, and this optimization is extended to the next N consecutive moments after the current moment to improve the motion trajectory matching degree.
This improves the accuracy and effectiveness of robot motion control, enabling robots to move more accurately according to the planned motion trajectory.
Smart Images

Figure CN117001655B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robotics technology, and in particular to a robot motion control method, device, robot, storage medium, and computer program product. Background Technology
[0002] Robots are widely used to perform various tasks and automate the processing of those tasks. Currently, the motion control of robots mainly involves pre-planning motion trajectories. These trajectories are functions of the robot's various task state variables (such as posture, position, and velocity) that change over time. The process of motion control is to control the robot's movement based on these trajectories as much as possible.
[0003] Whether the robot's task state from the current moment to the next moment matches the pre-planned motion trajectory depends on the joint variable control parameters of the robot from the current moment to the next moment. In related technologies, the joint variable control parameters for the next moment are estimated based on the task state at the current moment. However, the estimated joint variable control parameters do not match the planned motion trajectory well enough, resulting in poor robot motion control performance. Summary of the Invention
[0004] Therefore, it is necessary to provide a robot motion control method, device, robot, storage medium, and computer program product that can improve the robot motion control effect in response to the above-mentioned technical problems.
[0005] This application provides a robot motion control method, the method comprising:
[0006] Determine the robot's current task state at the current moment, and the reference task states corresponding to each of the N consecutive moments following the current moment; where N is a natural number greater than 1.
[0007] For each target time among the N time points, the predicted task state corresponding to the target time is determined based on the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point, and the predicted task state corresponding to the previous time point; wherein, the predicted task state corresponding to the next time point of the current time among the N time points is determined based on the control parameters of the joint variables to be estimated for the robot from the current time point to the next time point, and the current task state corresponding to the current time point;
[0008] With the goal of minimizing the following error determined based on the reference task state and predicted task state corresponding to each of the N time points, the joint variable control parameters of the robot from the current time point to the next time point are determined.
[0009] According to the joint variable control parameters, the robot is controlled to move to the next moment after the current moment.
[0010] This application provides a robot motion control device, the device comprising:
[0011] The task state determination module is used to determine the current task state of the robot at the current moment, and the reference task states corresponding to each of the N consecutive moments after the current moment; where N is a natural number greater than 1.
[0012] The task state prediction module is used to determine the predicted task state corresponding to the target time for each target time among the N time points, based on the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point, and the predicted task state corresponding to the previous time point; wherein, the predicted task state corresponding to the next time point of the current time point among the N time points is determined based on the control parameters of the joint variables to be estimated for the robot from the current time point to the next time point, and the current task state corresponding to the current time point;
[0013] The optimization processing module is used to determine the joint variable control parameters of the robot from the current time to the next time with the goal of minimizing the following error determined based on the reference task state and the predicted task state corresponding to each of the N time moments;
[0014] The motion control module is used to control the robot to move to the next moment after the current moment according to the joint variable control parameters.
[0015] In one embodiment, the optimization processing module is further configured to, for each of the N time points, obtain the following error between the reference task state and the predicted task state at the target time point, sum the N following errors corresponding to the N time points to obtain the objective function, and determine the joint variable control parameters of the robot from the current time point to the next time point by minimizing the objective function.
[0016] In one embodiment, the optimization processing module is further configured to, for each target time among the N time points, obtain the following error between the reference task state and the predicted task state at the target time, and determine the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time, thereby obtaining the sum of the control parameters of the joint variables to be estimated between two adjacent time points among the N time points; determine an objective function based on the sum of the control parameters of the joint variables to be estimated and the following error; and determine the control parameters of the joint variables of the robot from the current time point to the next time point by minimizing the objective function.
[0017] In one embodiment, the control parameters of the joint variables to be estimated for the robot from the previous time to the target time have a preset upper limit and a preset lower limit.
[0018] In one embodiment, the task state includes pose and velocity in Cartesian coordinate system. The optimization processing module is further configured to obtain the pose error at the target time based on the reference pose and the predicted pose at the target time; obtain the velocity error at the target time based on the reference velocity and the predicted velocity at the target time; and obtain the following error between the reference task state and the predicted task state at the target time based on the pose error and the velocity error at the target time.
[0019] In one embodiment, the task state is a parameter in a Cartesian coordinate system, and the joint variable control parameters of the robot are parameters in a joint space coordinate system. The task state prediction module is further configured to obtain a transformation relationship between the Cartesian coordinate system and the joint space coordinate system based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint space coordinate system at the current moment. For each target moment among the N moments, the predicted task state corresponding to the target moment is determined based on the transformation relationship, the joint variable control parameters of the robot to be estimated from the previous moment to the target moment, and the predicted task state corresponding to the previous moment.
[0020] In one embodiment, the task state prediction module is further configured to: obtain a transformation matrix based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint coordinate system at the current moment; obtain the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of the position Jacobian matrix, and differential matrix of the posture Jacobian matrix based on the transformation matrix; and obtain the transformation relationship between the Cartesian coordinate system and the joint coordinate system based on the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of the position Jacobian matrix, and differential matrix of the posture Jacobian matrix.
[0021] In one embodiment, the task state prediction module is further configured to: when the target time is the next time after the current time, determine the predicted task state corresponding to the next time based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the current time to the next time, and the current task state at the current time; and when the target time is not the next time after the current time, determine the predicted task state corresponding to the target time based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the previous time to the target time, and the predicted task state corresponding to the previous time of the target time.
[0022] In one embodiment, when the robot's constraint degree is not zero, the optimization processing module is further configured to, for each of the N time points, obtain the following error between the reference task state and the predicted task state at the target time point, sum the N following errors corresponding to the N time points to obtain the objective function; transform the form of the objective function according to quadratic programming to obtain the transformed objective function; solve the transformed objective function using a quadratic programming solution method; and based on the solution result, obtain the joint variable control parameters of the robot from the current time point to the next time point.
[0023] In one embodiment, when the robot's constraint degree is 0, the optimization processing module is further configured to, for each of the N time points, obtain the following error between the reference task state and the predicted task state at the target time point, sum the N following errors corresponding to the N time points to obtain the objective function; solve the objective function using the least squares method to obtain the analytical solution of the joint variable control parameters; and determine the joint variable control parameters of the robot from the current time point to the next time point based on the analytical solution of the joint variable control parameters.
[0024] In one embodiment, the task state determination module is further configured to acquire the planned motion trajectory of the robot in a Cartesian coordinate system, the motion trajectory representing the reference motion state of the robot changing with time; determine N consecutive time points after the current time point; and obtain the reference task state corresponding to the N time points based on the motion trajectory.
[0025] This application provides a robot, including a memory and a processor, wherein the memory stores a computer program and the processor executes the robot motion control method described above.
[0026] This application provides a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor using the above-described robot motion control method.
[0027] This application provides a computer program product, including a computer program that, when executed by a processor, implements the above-described robot motion control method.
[0028] In the aforementioned robot motion control methods, devices, robots, storage media, and computer program products, when determining the joint variable control parameters for controlling the robot's end effector from the current moment to the next moment, the process is extended to N consecutive moments after the current moment. Taking into account the following error between the predicted task state and the reference task state at N moments, the optimal joint variable control parameters are determined with the goal of minimizing the following error at N moments. This enables the robot to move according to the planned reference task state, i.e., the motion trajectory. Specifically, for the next time step among N target time steps, the predicted task state for the next time step is determined based on the estimated joint variable control parameters of the robot from the current time step to the next time step, and the current task state corresponding to the current time step. For other target time steps among the N time steps, the predicted task state for the target time step is determined based on the estimated joint variable control parameters of the robot from the previous time step to the target time step, and the predicted task state corresponding to the previous time step of the target time step. Therefore, when minimizing the following error determined based on the reference task state and the predicted task state of N time steps is the optimization objective, the predicted task state of N time steps is considered. Moreover, the predicted task state of N time steps can be characterized by the estimated joint variable control parameters of the current time step, thereby obtaining better joint variable control parameters. This allows the trajectory of the current time step to be corrected when the robot moves from the current time step to the next time step based on the better joint variable control parameters, thus improving the robot control accuracy and control effect. Attached Figure Description
[0029] Figure 1 This is an application environment diagram of a robot motion control method in one embodiment;
[0030] Figure 2 This is a flowchart illustrating a robot motion control method in one embodiment;
[0031] Figure 3 This is a schematic diagram illustrating the interaction between task states and joint variable control parameters in one embodiment;
[0032] Figure 4 A schematic diagram of the objective function processing flow in an example;
[0033] Figure 5 This is a schematic diagram of the objective function processing flow in another example;
[0034] Figure 6 This is a schematic diagram of the process for obtaining the tracking error in an example.
[0035] Figure 7 This is a flowchart illustrating the optimization solution using quadratic programming in one embodiment.
[0036] Figure 8 This is a schematic diagram of the inverse kinematics solution process in one embodiment;
[0037] Figure 9 This is a structural block diagram of a robot motion control device in one embodiment;
[0038] Figure 10 This is a diagram of the internal structure of a robot in one embodiment. Detailed Implementation
[0039] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0040] In this application, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. Those skilled in the art will understand, explicitly and implicitly, that the embodiments described in this application can be combined with other embodiments. It should be noted that the terms "first," "second," etc., used in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0041] Artificial intelligence (AI) is the theory, methods, technology, and application systems that use 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 achieve optimal results. In other words, AI is a comprehensive technology within 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. AI studies the design principles and implementation methods of various intelligent machines, enabling them to possess the functions of perception, reasoning, and decision-making.
[0042] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, and machine learning / deep learning.
[0043] In some embodiments, the robot motion control method provided in this application can be combined with an artificial intelligence-based robot perception algorithm to jointly control the robot's motion.
[0044] The robot mentioned in the embodiments of this application is a robot that can achieve motion control using a Cartesian force sensor. For example, it can be a robotic arm, a parallel robot, or a three-dimensional turntable. The type and composition of the robot are not limited.
[0045] In current robot motion control, a motion trajectory is typically planned in advance for the robot. This trajectory can be referred to as the robot's reference motion state, including data such as the robot's Cartesian position, Cartesian posture, Cartesian velocity, and Cartesian acceleration that change over time. During motion control, the robot is guided to move as closely as possible to this trajectory.
[0046] Figure 1 This diagram illustrates an application environment for the robot motion control method provided in this application, as shown in one embodiment. The robot 102 communicates with the server 104 via a communication network. The robot 102 can interact with the server 104 through the communication network. The server 104 can be implemented as a standalone server, a server cluster consisting of multiple servers, or a cloud server. The server 104 can utilize a data storage system to store relevant data for the trajectory planned for the robot 102. The data storage system can be integrated into the server 104 or set up separately.
[0047] A robot typically consists of multiple links connected by joints. The last link is called the robot's end effector. To describe the relative poses of the links, a coordinate system is usually fixed to each link. This coordinate system rotates and translates with the link. The coordinate system fixed to the end effector is a Cartesian coordinate system, which is the robot's operational space (also known as task space). The coordinate systems fixed to other links are joint space coordinate systems. The coordinate system fixed to a link can be considered as the coordinate system corresponding to the joint that directly drives the link's movement. The joint that directly drives the link's movement is the joint closest to the robot's base among the two joints directly connected to the link.
[0048] For different tasks that the robot needs to perform, corresponding trajectories can be planned for the robot in Cartesian space. After obtaining the trajectory in Cartesian space, it is mapped to joint space to determine the joint variable control parameters for the robot. According to these joint variable control parameters, the joint movement of the robot is controlled in joint space, thereby driving the corresponding link movement, and thus causing the end effector to move.
[0049] During this process, after the end effector moves to a certain position, the task state of the end effector should generally be consistent with the pre-planned reference task state as much as possible. Since the movement of the end effector is related to the joint variable control parameters, the joint variable control parameters are the key factors affecting whether the task state of the end effector can be consistent with the reference task state.
[0050] In the traditional approach, when determining the joint variable control parameters for controlling the robot's end effector from the current moment to the next moment, it only relates to the current moment and the next moment. This is an optimization control for the current moment, which is quite limited. The determined joint variable control parameters result in poor matching between the robot's motion and the pre-planned motion trajectory, leading to poor motion control performance.
[0051] In the robot motion control method provided in this application, when determining the joint variable control parameters for controlling the robot's end effector from the current moment to the next moment, the method extends to N consecutive moments after the current moment. With the goal of minimizing the following error over N moments, the method extends to the following error over N moments to optimize the current moment, reducing limitations. This allows the robot to move from the current moment to the next moment based on the optimized joint variable control parameters, and the trajectory at the current moment can be corrected to a trajectory closer to the planned motion trajectory, thereby improving the robot's control accuracy and control effect.
[0052] In one embodiment, such as Figure 2 As shown, a robot motion control method is provided, which can be applied to... Figure 1 Taking robot 102 as an example, the explanation includes the following steps:
[0053] Step S202: Determine the robot's current task state at the current moment, and the reference task states corresponding to each of the N consecutive moments after the current moment; where N is a natural number greater than 1.
[0054] The task state refers to the state of the end effector in the Cartesian coordinate system during the execution of a specific task. This task state can include the pose and velocity in the Cartesian coordinate system. The pose can include position and orientation, and the velocity can include linear velocity and angular velocity. In other words, the task state... Where p and Ω represent position and attitude, respectively. w represents linear velocity and angular velocity, respectively.
[0055] Before a robot performs a task, a corresponding trajectory is typically planned for it. This trajectory includes multiple trajectory points that change over time, and each trajectory point has a corresponding task state. The task state corresponding to a trajectory point is the reference task state. In the motion trajectory in the Cartesian coordinate system, there are reference motion states for N consecutive time steps after the current time step.
[0056] During the robot's task execution, after the robot reaches a certain position at a given moment, it will have a corresponding actual task state, called the current task state. The current moment can be denoted as moment 0, and the N consecutive moments after the current moment can be denoted as moment 1, moment 2, moment 3, ..., moment N.
[0057] In one embodiment, obtaining the reference task state corresponding to each of the N consecutive time points after the current time point includes: obtaining the planned motion trajectory of the robot in the Cartesian coordinate system, determining the N consecutive time points after the current time point; and obtaining the reference task state corresponding to the N time points based on the motion trajectory.
[0058] Here, the motion trajectory represents the robot's reference motion state as it changes over time. Since each trajectory point on the motion trajectory corresponds to a task state, the task state corresponding to the trajectory point can be used as the reference task state.
[0059] For example, when the task status At that time, determine the robot's current task state at the current moment and the reference task states at N moments, denoted as . Where i = 0, 1, 2, ..., N, where 0 represents the current time and 1 to N represent the N consecutive times following the current time.
[0060] Step S204: For each target time among the N time points, based on the previous time point of the target time, the control parameters of the joint variables to be estimated for the robot at the target time, and the predicted task state corresponding to the previous time point of the target time, determine the predicted task state corresponding to the target time; wherein, the predicted task state corresponding to the next time point of the current time among the N time points is determined based on the control parameters of the joint variables to be estimated for the robot at the next time point, and the current task state corresponding to the current time point.
[0061] The target time can be any of the N time points. For example, if the current time is denoted as time 0, and the N time points are denoted as time 1, time 2, ..., time N, then time 1 to time N (t = 1, 2, ..., N) can all be used as target times. It can be understood that the current time changes over time; as the current time moves forward, the N time points following it also change. For example, based on the joint variable control parameters between time 0 and time 1, after controlling the robot to move from time 0 to time 1, the original time 1 is called the "new" current time, and the original time 2 is called the "new" time 1.
[0062] A joint is a component between links. The coordinate system corresponding to a joint can be the coordinate system of the link directly driven by the joint. Joint variables can be the rotation or translation of the joint's coordinate system relative to a reference coordinate system. When a joint undergoes translational movement, the translation of the joint's coordinate system relative to the reference coordinate system changes; when a joint undergoes rotational movement, the rotation of the joint's coordinate system relative to the reference coordinate system changes. Joint variable control parameters are parameters used to control the changes in joint variables. These can include control quantities for rotation and translation. The control quantities for rotation can include rotational velocity and acceleration, and the control quantities for translation can include translational velocity and acceleration. By controlling the changes in joint variables through joint variable control parameters, that is, controlling the changes in the rotation or translation of the joint's coordinate system relative to the reference coordinate system, the link is driven to change, causing changes in the pose, linear velocity, and angular velocity of the end effector. Here, the joint variable can be called the joint angle. Correspondingly, the joint variable velocity and joint variable acceleration included in the joint variable control parameters can be called joint angular velocity and joint angular acceleration, respectively. In this case, the joint variable control parameters can be denoted as... in, and These represent joint variable velocity and joint variable acceleration, respectively.
[0063] In this process, during the robot's task execution, the corresponding joint variable control parameters can be determined in real time for the transition from the current moment to the next moment. The joint variable control parameters to be estimated are those that need to be estimated in the robot's motion control. When controlling the robot to move from the current moment to the next moment, it is necessary to estimate the joint variable control parameters from the current moment to the next moment. In this embodiment, when estimating the joint variable control parameters from the current moment to the next moment, it is necessary to simultaneously estimate the joint variable control parameters from the previous moment to the target moment among the aforementioned N moments. These joint variable control parameters are referred to as the joint variable control parameters to be estimated.
[0064] For example, for each target time point out of N time points, the predicted task state corresponding to the target time point can be denoted as x. i+1 The value of i ranges from 0 to N-1. The current time is denoted as the previous time corresponding to the target time, and the task state is denoted as x. i Let u be the control parameters of the robot's joint variables to be estimated from the previous time step to the target time step. i . Figure 3 This is a schematic diagram illustrating the interaction between task states and joint variable control parameters in one embodiment, referencing... Figure 3 When i = 0, the task state corresponding to the target time is x1, the task state corresponding to the previous time (i.e., the current time) is x0, and the control parameters of the joint variables to be estimated for the robot from the previous time to the target time are denoted as u0; when i = 1, the task state corresponding to the target time is x2, the task state corresponding to the previous time (i.e., the current time) is x1, and the control parameters of the joint variables to be estimated for the robot from the previous time to the target time are denoted as u1... and so on. When i = N-1, the task state corresponding to the target time is x... N The task state corresponding to the previous time step of the target time step is x. N-1 Let u be the control parameters of the robot's joint variables to be estimated from the time before the target time to the target time. N-1 ...
[0065] If we consider that the robot's task includes position p and orientation Ω, then the task state... By differentiating each state variable included in the task state, the system state equation for robot motion control can be obtained as follows:
[0066]
[0067] The state equation of the above system can be expressed as follows:
[0068] In this formula, And J p and J Ω These are the robot's position Jacobian matrix and attitude Jacobian matrix, respectively. and These are the differential matrices of the robot's position Jacobian matrix and attitude Jacobian matrix, respectively.
[0069] Predicting the task state x based on the previous time step before the target time. i and the control parameter u of the joint variable to be estimated from the time before the target time to the target time. i The target time prediction task state is determined as follows:
[0070]
[0071] In the formula, A d =(Aδt+I), B d =Bδt.
[0072] Step S206: With the goal of minimizing the following error determined by the reference task state and the predicted task state corresponding to each of the N time points, determine the joint variable control parameters of the robot from the current time point to the next time point.
[0073] In this application, the following error is the error between the predicted task state and the reference task state at each target time. It reflects how well the predicted trajectory follows the reference trajectory. The smaller the following error, the closer the predicted trajectory is to the reference trajectory; the larger the following error, the further the predicted trajectory deviates from the reference trajectory. For each target time in N time steps, the reference task state x at the target time is obtained. i+1,ref And predict the task state x i+1 Then, based on the predicted task state x at that target time... i+1 Compared with reference task state x i+1,ref The following error at the target time is obtained, where i ranges from 0 to N-1. Thus, by minimizing the sum of the following errors from the first target time to the Nth target time, the joint variable control parameters for N cycles can be determined, which in turn determines u0, u1, ..., u... N-1 Since the current task is to control the robot's movement from the current moment to the next moment, we can only extract the joint variable control parameters between the previous moment and the first target moment, which represents the joint variable control parameters u0 of the robot from the current moment to the next moment. It can be understood that the joint variable control parameters at a single moment can have multiple possible values. In this case, the joint variable control parameters at N moments can form multiple combinations. For any combination, we can obtain the sum of the following errors from the first moment to the Nth moment. Therefore, minimizing the following error means: given that the joint variable control parameters at N moments can form multiple combinations, we determine one combination from these combinations such that the sum of the following errors from the first moment to the Nth moment is the smallest among these combinations.
[0074] Step S208: Control the robot to move to the next moment in time according to the joint variable control parameters.
[0075] After obtaining the joint variable control parameter u0 from the current time to the next time step, assume Therefore, the appropriate option can be selected based on the actual performance of the robot's robotic arm, such as choosing joint variable speed. Next, according to the joint variable velocity To control the robot's movement from the current moment to the next moment, joint variable acceleration can also be selected. Control the robot to move from the current moment to the next moment.
[0076] In the above-mentioned robot motion control method, when determining the joint variable control parameters for controlling the robot's end effector from the current moment to the next moment, the method extends to N consecutive moments after the current moment. Taking into account the following error between the predicted task state and the reference task state at N moments, the method aims to minimize the following error at N moments to determine the optimal joint variable control parameters, which enables the robot to move according to the planned reference task state, i.e., the motion trajectory. Specifically, for the next time step among N target time steps, the predicted task state for the next time step is determined based on the estimated joint variable control parameters of the robot from the current time step to the next time step, and the current task state corresponding to the current time step. For other target time steps among the N time steps, the predicted task state for the target time step is determined based on the estimated joint variable control parameters of the robot from the previous time step to the target time step, and the predicted task state corresponding to the previous time step of the target time step. Therefore, when minimizing the following error determined based on the reference task state and the predicted task state of N time steps is the optimization objective, the predicted task state of N time steps is considered. Moreover, the predicted task state of N time steps can be characterized by the estimated joint variable control parameters of the current time step, thereby obtaining better joint variable control parameters. This allows the trajectory of the current time step to be corrected when the robot moves from the current time step to the next time step based on the better joint variable control parameters, thus improving the robot control accuracy and control effect.
[0077] Figure 4 This is a schematic diagram of the objective function processing flow in an example, refer to... Figure 4 The objective is to minimize the following error determined by the reference task state and the predicted task state at each of the N time points. The method for determining the joint variable control parameters of the robot from the current time point to the next time point includes: Step S402, for each target time point among the N time points, obtaining the following error between the reference task state and the predicted task state at the target time point, and summing the N following errors corresponding to the N time points to obtain the objective function; Step S404, by minimizing the objective function, determining the joint variable control parameters of the robot from the current time point to the next time point.
[0078] For each of the N target times following the current time, there is a corresponding following error, resulting in N following errors. The following error at each target time is denoted as x. i+1 -x i+1,ref By summing the following errors over N time points, the corresponding objective function can be obtained; that is, the objective function includes... Q i This is the weight assigned to the following error at the (i+1)th target time. By minimizing the objective function, the joint variable control parameters for N cycles are determined, which also determines u0, u1, ..., u... N-1 , and retrieve u0.
[0079] In the above embodiments, by summing the following errors at N time points, the corresponding objective function is obtained. The robot can be controlled to move from the current time point to the next time point according to u0 determined by the objective function, and the actual motion trajectory is more in line with the planned motion trajectory.
[0080] Figure 5 For a schematic diagram of the objective function processing flow in another example, refer to... Figure 5 The objective is to minimize the following error determined by the reference task state and the predicted task state at each of the N time points. The method for determining the joint variable control parameters of the robot from the current time point to the next time point includes: Step S502, for each target time point among the N time points, obtaining the following error between the reference task state and the predicted task state at the target time point, and determining the estimated joint variable control parameters of the robot from the previous time point to the target time point, thus obtaining the sum of the estimated joint variable control parameters between two adjacent time points among the N time points; Step S504, determining the objective function based on the sum of the estimated joint variable control parameters and the following error; and determining the joint variable control parameters of the robot from the current time point to the next time point by minimizing the objective function.
[0081] If the current time is denoted as time 0, then the control parameters of the joint variables to be estimated between any two adjacent times in the N time intervals are: u1, u2, ..., u N-1 Based on the following errors at each of the N target times and the sum of the N estimated joint variable control parameters from the previous time to the target time, the objective function can be obtained, which is as follows:
[0082]
[0083] subject.to x i+1 =A i x i +B i u i i = 0, ..., N-1
[0084]
[0085] Where x i+1,ref Let Q be the reference task state corresponding to the (i+1)th target time. i To assign weights to the following error at the (i+1)th target time step, R iTo assign u i The weights are determined by minimizing the objective function, thus determining the joint variable control parameters for N cycles, i.e., u0, u1, ..., u... N-1 , and retrieve u0.
[0086] In the above embodiments, the objective function includes the sum of the following errors at N time points and the sum of the joint variable control parameters. Compared with single-objective optimization, the optimization objective includes minimizing the following error and minimizing the joint variable control parameters, so that the joint variable control parameters at the current time point will not change abruptly. This can effectively avoid problems such as abrupt changes in joint variable velocity or joint variable acceleration caused by the robot's singular configuration.
[0087] In one embodiment, the control parameters of the joint variables to be estimated for the robot from the previous time to the target time have a preset upper limit and a preset lower limit.
[0088] Reference objective function in, and They are u i The preset upper limit and preset lower limit values.
[0089] In the above embodiments, since the constraints of the objective function include the limits of the robot's joint variable control parameters, when the joint variable control parameters include joint variable velocity and joint variable acceleration, the constraints include the limits of joint variable velocity and joint variable acceleration, which can effectively increase the safety of robot movement.
[0090] Given that the mission state includes pose and velocity in Cartesian coordinate system. Figure 6 This is a schematic diagram illustrating the process of obtaining the tracking error in an example. (Refer to...) Figure 6 The following steps are used to obtain the following error between the reference task state and the predicted task state at the target time: Step S602, obtaining the pose error at the target time based on the reference pose and the predicted pose at the target time; Step S604, obtaining the velocity error at the target time based on the reference velocity and the predicted velocity at the target time; Step S606, obtaining the following error between the reference task state and the predicted task state at the target time based on the pose error and the velocity error at the target time.
[0091] In the motion trajectory in the Cartesian coordinate system, the reference mission state at each moment can include reference pose and reference velocity. The reference pose can include reference position and reference attitude, and the reference velocity can include reference linear velocity and reference angular velocity.
[0092] Specifically, the position error at the target time can be obtained based on the reference position and the predicted position at the target time; the attitude error at the target time can be obtained based on the reference attitude and the predicted attitude at the target time; the linear velocity error at the target time can be obtained based on the reference linear velocity and the predicted linear velocity at the target time; and the angular velocity error at the target time can be obtained based on the reference angular velocity and the predicted angular velocity at the target time.
[0093] Specifically, the pose error is obtained based on the position error and attitude error, and the velocity error is obtained based on the linear velocity error and angular velocity error. The following error between the reference mission state and the predicted mission state at the target time is then obtained using the pose error and velocity error.
[0094] In the above embodiments, the task state includes pose and velocity. Since pose includes position and orientation, and velocity includes linear velocity and angular velocity, the system can be represented as having the advantage of multi-objective optimization compared to conventional inverse kinematics.
[0095] In one embodiment, the task state is a parameter in Cartesian coordinate system, and the joint variable control parameters of the robot are parameters in joint space coordinate system. For each target time among N time points, based on the previous time point of the target time, the estimated joint variable control parameters of the robot at the target time, and the predicted task state corresponding to the previous time point of the target time, the predicted task state corresponding to the target time is determined, including: obtaining the transformation relationship between the Cartesian coordinate system and the joint space coordinate system based on the robot's pose in the Cartesian coordinate system at the current time and the joint variables of the robot at the current time; for each target time among N time points, based on the transformation relationship, the estimated joint variable control parameters of the robot at the target time, and the predicted task state corresponding to the previous time point of the target time, the predicted task state corresponding to the target time is determined.
[0096] The transformation relationship between the Cartesian coordinate system and the joint coordinate system is used to describe the mapping relationship between the quantities in the Cartesian coordinate system and the quantities in the joint coordinate system. The transformation relationship can include the position Jacobian matrix and its differential matrix, and the attitude Jacobian matrix and its differential matrix.
[0097] Based on the transformation relationship, the predicted task state x of the previous time step of the target time. i+1 and the control parameter u of the joint variable to be estimated from the previous time to the current time. i Determine the prediction task state x at the target time. i+1 for:
[0098]
[0099] In the formula, Ad =(Aδt+I), B d =Bδt, And J p and J Ω These are the robot's position Jacobian matrix and attitude Jacobian matrix, respectively. and These are the differential matrices of the robot's position Jacobian matrix and attitude Jacobian matrix, respectively.
[0100] In the above embodiments, the transformation relationship determined by the pose and joint variables at the current moment is used to predict the task state at the next N moments, which is extended to the prediction of the following error at N moments, to obtain better joint variable control parameters and correct the trajectory at the current moment.
[0101] In one embodiment, based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint coordinate system at the current moment, the transformation relationship between the Cartesian coordinate system and the joint coordinate system is obtained, including: obtaining a transformation matrix based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint coordinate system at the current moment; obtaining the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of position Jacobian matrix, and differential matrix of posture Jacobian matrix based on the transformation matrix; and obtaining the transformation relationship between the Cartesian coordinate system and the joint coordinate system based on the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of position Jacobian matrix, and differential matrix of posture Jacobian matrix.
[0102] The transformation relationship between the Cartesian coordinate system and the joint coordinate system can include the position Jacobian matrix and its differential matrix, and the attitude Jacobian matrix and its differential matrix.
[0103] Based on the robot's pose in the Cartesian coordinate system and its joint variables in the joint space coordinate system at the current moment, a transformation matrix can be obtained. This transformation matrix describes the mapping relationship between the pose in the Cartesian coordinate system and the joint variables in the joint space coordinate system. Then, by differentiating this transformation matrix, the position Jacobian matrix and its differential matrix, as well as the pose Jacobian matrix and its differential matrix, can be obtained.
[0104] The Cartesian kinematics of the robot can be represented as follows:
[0105]
[0106] In the formula, x e ∈R m This represents the position and orientation of the robot's end effector in a Cartesian coordinate system. Let be the velocity of the robot's end effector in the Cartesian coordinate system. Let be the acceleration of the robot's end effector in the Cartesian coordinate system. Let be the joint variable velocity of the robot's joints in the joint space coordinate system. Let J be the joint variable acceleration of the robot's joints in the joint space coordinate system. J is the robot's Jacobian matrix, including the position Jacobian matrix J. p And the posture Jacobian matrix J Ω ; This is the differential matrix of the robot's Jacobian matrix, including the differential matrix of the position Jacobian matrix. Differential matrix of the pose Jacobian matrix
[0107] In the above embodiments, the position Jacobian matrix and its differential matrix, the attitude Jacobian matrix and its differential matrix are determined based on the pose and joint variables at the current moment, thereby predicting the task state at the next N moments, extending to the prediction of the following error at the next N moments, obtaining better joint variable control parameters, and correcting the trajectory at the current moment.
[0108] In one embodiment, determining the predicted task state corresponding to the target time based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the previous time to the target time, and the predicted task state corresponding to the previous time to the target time includes: if the target time is the next time after the current time, determining the predicted task state corresponding to the next time based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the current time to the next time, and the current task state at the current time; if the target time is not the next time after the current time, determining the predicted task state corresponding to the target time based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the previous time to the target time, and the predicted task state corresponding to the previous time to the target time.
[0109] For example, when the target time is the first target time, which is the time after the current time, the predicted task state corresponding to the target time is denoted as x1, and the current task state at the current time is denoted as x0. Then, the predicted task state at the target time is determined based on the current task state x0, u0 at the current time, and the transformation relationship, as shown in the formula:
[0110] x1=A d x0+B d u0;
[0111] When the target time is the second target time out of N time points, the prediction task state corresponding to the target time is denoted as x2, and the prediction task state of the previous time point is denoted as x1. Then, the prediction task state at this target time is determined based on the prediction task states x1 and u1 of the previous time point and the transformation relationship, as shown in the following formula:
[0112]
[0113] Similarly, when the target time is the Nth time out of N time points, the predicted task state x corresponding to the target time is... N It is based on the predicted task state x from the previous moment. N-1 u N-1 The expression, determined by the transformation relationship, is:
[0114]
[0115] In the above embodiments, the task state at the previous moment, the corresponding control parameters of the joint variables to be estimated, and the transformation relationship are used to characterize the predicted task state at the next moment. These are then substituted into the objective function, which is transformed into an optimization solution for the control parameters of the joint variables to be estimated. With the minimization of the following error at N moments as the optimization objective, the joint variable control parameters are obtained, thus obtaining better joint variable control parameters that can correct the trajectory at the current moment.
[0116] When the robot's constraint degree is not 0, Figure 7 This is a flowchart illustrating the optimization solution using quadratic programming in one embodiment. (Refer to...) Figure 7 The objective is to minimize the following error determined by the reference task state and the predicted task state at N time points. The method determines the joint variable control parameters of the robot from the current time point to the next time point, including: Step S702, for each target time point among the N time points, obtaining the following error between the reference task state and the predicted task state at the target time point, and summing the N following errors corresponding to the N time points to obtain the objective function; Step S704, transforming the objective function into a quadratic programming form to obtain the transformed objective function, and solving the transformed objective function using a quadratic programming solution; Step S706, based on the solution results, obtaining the joint variable control parameters of the robot from the current time point to the next time point.
[0117] Regarding the above objective function:
[0118]
[0119] subject.to x i+1 =A i x i +B iu i i = 0, ..., N-1
[0120]
[0121] Taking into account the discrete kinematics representation of the robot system, we can obtain:
[0122] The above equation can be written in matrix form as follows:
[0123]
[0124] That is, X = A qp X0+B qp U.
[0125] In the formula,
[0126]
[0127] The objective function J(x,u) above can be expressed as: J(u)=||A qp X0+B qp UX ref || Q +||U|| R
[0128] Furthermore, we can obtain:
[0129]
[0130] subject.to
[0131] c down ≤u≤c up
[0132]
[0133]
[0134] By transforming the robot's inverse kinematics solution into a quadratic programming solution using the above method, the joint variable control parameters for N cycles can be obtained, thus determining u0, u1, ..., u N-1 , and retrieve u0.
[0135] In the above embodiments, after obtaining the objective function, it is converted into a quadratic programming solution to obtain the joint variable control parameters from the current time to the next time. Since the quadratic programming algorithm is a real-time algorithm, it can be used as a real-time kinematics algorithm for robots to improve the real-time performance of robot motion control.
[0136] In one embodiment, when the robot's constraint degree is 0, the robot is an unconstrained redundant robot. The goal is to minimize the following error determined by the reference task state and predicted task state at N time points. This involves determining the joint variable control parameters of the robot from the current time point to the next time point, including: for each target time point among the N time points, obtaining the following error between the reference task state and the predicted task state at the target time point; summing the N following errors corresponding to the N time points to obtain the objective function; solving the objective function using the least squares method to obtain the analytical solution of the joint variable control parameters; and determining the joint variable control parameters of the robot from the current time point to the next time point based on the analytical solution of the joint variable control parameters.
[0137] For an unconstrained redundant robot, an inverse kinematics representation with a special analytical form can be obtained. In this case, the kinematics optimization problem can be expressed as follows:
[0138]
[0139] subject.to
[0140]
[0141]
[0142] Since there are multiple solutions for redundant robots, the above unconstrained optimization problem is merely a particular solution for redundant robots, namely, the least squares minimum norm solution. Therefore, to obtain the analytical solution of the inverse kinematics of redundant robots, the above equations can be transformed as follows:
[0143] min||U||
[0144] subject.to
[0145] A qp X0+B qp UX ref =0
[0146] Considering the redundant robot, then B qp Since the state is underdetermined, the optimization problem of the joint variable control parameters can be directly obtained analytically from the least squares minimum norm solution:
[0147] Furthermore, considering the task optimization problem in null space, the above kinematic optimization objective problem is transformed into the following:
[0148]
[0149] subject.to
[0150] A qp X0+B qp UX ref =0
[0151] In the formula, Let be any vector in the null space, generally representing the gradient of the objective function to be optimized.
[0152] The general inverse kinematics of the corresponding redundant robot is as follows:
[0153]
[0154] By using the least squares method described above, we can obtain the joint variable control parameters for N cycles. In actual control, we can extract u0 and control the robot to move from the current moment to the next moment.
[0155] In the above embodiments, when the robot's constraint degree is 0, the least squares method is used to solve the problem. Since the least squares method is a real-time algorithm, it can be used as a real-time kinematics algorithm for the robot, thereby improving the real-time performance of the robot's motion control.
[0156] To better understand the above method, an application embodiment of the robot motion control method of this application is described in detail below. This embodiment is based on a robust inverse kinematics method with singular prediction. In this embodiment, based on the traditional inverse kinematics method, following error and singular prediction are introduced, so that while the trajectory is corrected at the current moment, the robot kinematics singularity problem (i.e., the joint variable velocity and joint variable acceleration do not change abruptly) will be taken into account during the prediction process according to the motion prediction model.
[0157] The Cartesian kinematics of the robot can be represented as follows:
[0158]
[0159] In the formula, x e ∈R m This represents the position and orientation of the robot's end effector in a Cartesian coordinate system. Let be the velocity of the robot's end effector in the Cartesian coordinate system. Let be the acceleration of the robot's end effector in the Cartesian coordinate system. Let be the joint variable velocity of the robot's joints in the joint space coordinate system. Let J be the joint variable acceleration of the robot's joints in the joint space coordinate system. J is the robot's Jacobian matrix, including the position Jacobian matrix J. p And the posture Jacobian matrix J Ω ; This is the differential matrix of the robot's Jacobian matrix, including the differential matrix of the position Jacobian matrix. Differential matrix of the pose Jacobian matrix
[0160] Robot inverse kinematics is mainly divided into velocity-level inverse kinematics and acceleration-level inverse kinematics. For velocity-level inverse kinematics, the following least-squares minimum norm optimization problem is considered:
[0161]
[0162]
[0163] In the formula, Let W be any vector, and W be the weight.
[0164] The optimal solution described above is represented as follows:
[0165] In the formula, J W+ This is the Jacobi-weighted pseudo-inverse solution for the robot.
[0166] Furthermore, the least squares minimum norm problem of acceleration level is taken into consideration.
[0167]
[0168]
[0169] Therefore, the optimal solution described above can be obtained as follows:
[0170] The above optimization method mainly optimizes the solution of joint variable control parameters based on the quantities at the current time and the next time, and the solutions of joint variable velocity and joint variable velocity are independent of each other.
[0171] In this embodiment, the quantities are extended to N time points to optimize the solution of joint variable control parameters, and the joint variable velocity and joint variable acceleration are solved together, which can avoid abrupt changes in joint variable velocity and joint variable acceleration.
[0172] Specifically, the steps in this embodiment include:
[0173] Determine the robot's current task state at the current moment; obtain the planned motion trajectory of the robot in the Cartesian coordinate system, and determine the N consecutive moments after the current moment; based on the motion trajectory, obtain the reference task states corresponding to the N moments; where N is a natural number greater than 1;
[0174] Based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint space coordinate system at the current moment, the transformation relationship between the Cartesian coordinate system and the joint space coordinate system is obtained.
[0175] For each target time in N time points, the predicted task state corresponding to the target time is determined based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous time point to the target time, and the predicted task state corresponding to the previous time point.
[0176] For each target time in N time steps, obtain the following error between the reference task state and the predicted task state at the target time, and determine the control parameters of the joint variables to be estimated for the robot from the previous time step to the target time, and obtain the sum of the control parameters of the joint variables to be estimated between two adjacent time steps in N time steps.
[0177] The objective function is determined based on the sum of the control parameters of the joint variables to be estimated and the sum of the following errors;
[0178] When the robot's constraint degree is 0, the objective function is transformed using quadratic programming to obtain the transformed objective function. The transformed objective function is then solved using quadratic programming. Based on the solution results, the joint variable control parameters of the robot from the current time to the next time are obtained.
[0179] When the robot's constraint degree is 0, the objective function is solved using the least squares method to obtain the analytical solution of the joint variable control parameters; based on the analytical solution of the joint variable control parameters, the joint variable control parameters of the robot from the current time to the next time are determined.
[0180] Specifically, considering that the robot's task includes position p and orientation Ω, a task state is introduced. By differentiating each state variable included in the task state, the system state equation for robot motion control can be obtained as follows:
[0181]
[0182] The state equation of the above system can be expressed as follows:
[0183] In this formula, And J p and J Ω These are the robot's position Jacobian matrix and attitude Jacobian matrix, respectively. and These are the differential matrices of the robot's position Jacobian matrix and attitude Jacobian matrix, respectively.
[0184] For each target time point out of N time points, the predicted task state x is based on the previous time point of the target time point. i and the control parameter u of the joint variable to be estimated from the previous time to the target time. i Determine the prediction task state x at the target time. i+1 for:
[0185]
[0186] In the formula, A d =(Aδt+I), B d =Bδt.
[0187] Therefore, we can further construct the following optimization problem related to robot kinematics:
[0188]
[0189] subject.to x i+1 =A i x i +B i u i i = 0, ..., N-1
[0190]
[0191] Where x i+1,ref Q represents the reference task state at the (i+1)th target time. i To assign weights to the following error at the (i+1)th target time step, R i To assign u i The weight. and They are u i The preset upper limit and preset lower limit values.
[0192] For a motion trajectory in a Cartesian coordinate system, the objective function described above includes minimizing the position tracking error and the velocity tracking error. Furthermore, the optimization objective includes minimizing the joint variable control parameters, thus minimizing the solved joint variable velocity and joint variable acceleration.
[0193] Taking into account the discrete kinematics representation of the robot system, we can obtain:
[0194]
[0195] The above equation can be written in matrix form as follows:
[0196]
[0197] That is, X = A qpX0+B qp U.
[0198] In the formula,
[0199]
[0200] The objective function J(x,u) above can be expressed as: J(u)=||A qp X0+B qp UX ref || Q +||U|| R
[0201] Furthermore, we can obtain:
[0202]
[0203] subject.to
[0204] c down ≤u≤c up
[0205]
[0206]
[0207] Figure 8 This is a schematic diagram of the inverse kinematics process in one embodiment, referring to... Figure 8 By using the above method, the inverse kinematics solution of the robot is transformed into a quadratic programming solution, obtaining the joint variable control parameters for N cycles, which can then determine u0, u1, ..., u N-1 The value of u0 is then retrieved and given to the robot joint controller to control the robot to move from the current moment to the next moment.
[0208] The objective function includes minimizing the task state at N time points. This part aims to make the robot move along a prescribed trajectory. Since the task state includes position, orientation, linear velocity, and angular velocity, the system can be represented as a multi-objective optimization method, which has advantages over conventional inverse kinematics. Furthermore, the objective function includes the weighted minimum of the joint variable control parameters from the current time point to the Nth time point, thus preventing abrupt changes in joint variable velocity and acceleration. This effectively avoids problems such as sudden changes in joint variable velocity caused by singular robot configurations. Moreover, since the solution includes the robot's joint variable velocity and acceleration limits, motion safety is effectively increased.
[0209] The joint variable control parameters obtained by the above quadratic programming method include the joint variable control parameters for N preset periods, which means that u0, u1, ..., uN-1 In actual control, only u0 needs to be retrieved. Furthermore, since the joint variable control parameters include joint variable velocity and joint variable acceleration, they can be selected based on the actual performance of the robot's arm; for example, joint variable velocity can be selected. Next, according to the joint variable velocity Control the robot to move to the next moment after the current moment.
[0210] For an unconstrained redundant robot, an inverse kinematics representation with a special analytical form can be obtained. In this case, the kinematics optimization problem can be expressed as follows:
[0211]
[0212] subject.to
[0213]
[0214]
[0215] Since there are multiple solutions for redundant robots, the above unconstrained optimization problem is merely a particular solution for redundant robots, namely, the least squares minimum norm solution. Therefore, to obtain the analytical solution of the inverse kinematics of redundant robots, the above equations can be transformed as follows:
[0216] min||U||
[0217] subject.to
[0218] A qp X0+B qp UX ref =0
[0219] Considering the redundant robot, then B qp Since the state is underdetermined, the optimization problem of the joint variable control parameters can be directly obtained analytically from the least squares minimum norm solution:
[0220] Furthermore, considering the task optimization problem in null space, the above kinematic optimization objective problem is transformed into the following:
[0221]
[0222] subject.to
[0223] A qp X0+B qp UX ref =0
[0224] In the formula, Let be any vector in the null space, generally representing the gradient of the objective function to be optimized.
[0225] The general inverse kinematics of the corresponding redundant robot is as follows:
[0226]
[0227] By using the least squares method described above, we can obtain the joint variable control parameters for N cycles. In actual control, we can extract u0 and control the robot to move from the current moment to the next moment.
[0228] The robot motion control method provided in this embodiment has the following advantages:
[0229] 1) Consider the following error prediction and singular optimization problem over N cycles;
[0230] 2) Consider the multi-objective task optimization problem, namely minimizing the position error, velocity error, joint variable velocity, and joint variable acceleration.
[0231] 3) The inverse kinematics architecture can take into account both the limits of joint variable velocity and joint variable acceleration of the robot.
[0232] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0233] Based on the same inventive concept, this application also provides a robot motion control device for implementing the robot motion control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations and technical effects of one or more robot motion control device embodiments provided below can be found in the limitations and technical effects of the robot motion control method described above, and will not be repeated here.
[0234] Figure 9 This is a structural block diagram of a robot motion control device in one embodiment. (Refer to...) Figure 9 The robot motion control device 900 includes:
[0235] The task state determination module 902 is used to determine the current task state of the robot at the current moment, and the reference task states corresponding to each of the N consecutive moments after the current moment; where N is a natural number greater than 1.
[0236] The task state prediction module 904 is used to determine the predicted task state corresponding to the target time for each target time among N time points, based on the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point, and the predicted task state corresponding to the previous time point; wherein, the predicted task state corresponding to the next time point of the current time point among N time points is determined based on the control parameters of the joint variables to be estimated for the robot from the current time point to the next time point, and the current task state corresponding to the current time point.
[0237] The optimization processing module 906 is used to determine the joint variable control parameters of the robot from the current time to the next time with the goal of minimizing the following error determined by the reference task state and the predicted task state corresponding to each of the N time points.
[0238] The motion control module 908 is used to control the robot's movement to the next moment in time according to the joint variable control parameters.
[0239] In one embodiment, the optimization processing module 906 is further configured to, for each target time among N time points, obtain the following error between the reference task state and the predicted task state at the target time, sum the N following errors corresponding to the N time points to obtain the objective function, and determine the joint variable control parameters of the robot from the current time point to the next time point by minimizing the objective function.
[0240] In one embodiment, the optimization processing module 906 is further configured to, for each target time among N time points, obtain the following error between the reference task state and the predicted task state at the target time, and determine the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time, thereby obtaining the sum of the control parameters of the joint variables to be estimated between two adjacent time points among the N time points; determine the objective function based on the sum of the control parameters of the joint variables to be estimated and the following error; and determine the control parameters of the joint variables of the robot from the current time point to the next time point by minimizing the objective function.
[0241] In one embodiment, the control parameters of the joint variables to be estimated for the robot from the previous time to the target time have a preset upper limit and a preset lower limit.
[0242] In one embodiment, the task state includes pose and velocity in Cartesian coordinate system. The optimization processing module 906 is further configured to obtain the pose error at the target time based on the reference pose and the predicted pose at the target time; obtain the velocity error at the target time based on the reference velocity and the predicted velocity at the target time; and obtain the following error between the reference task state and the predicted task state at the target time based on the pose error and the velocity error at the target time.
[0243] In one embodiment, the task state is a parameter in the Cartesian coordinate system, and the joint variable control parameters of the robot are parameters in the joint space coordinate system. The task state prediction module 904 is further used to obtain the transformation relationship between the Cartesian coordinate system and the joint space coordinate system based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot at the current moment. For each target moment among N moments, the predicted task state corresponding to the target moment is determined based on the transformation relationship, the estimated joint variable control parameters of the robot from the previous moment to the target moment, and the predicted task state corresponding to the previous moment.
[0244] In one embodiment, the task state prediction module 904 is further configured to obtain a transformation matrix based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint space coordinate system at the current moment; based on the transformation matrix, obtain the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of position Jacobian matrix, and differential matrix of posture Jacobian matrix; and obtain the transformation relationship between the Cartesian coordinate system and the joint space coordinate system based on the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of position Jacobian matrix, and differential matrix of posture Jacobian matrix.
[0245] In one embodiment, the task state prediction module 904 is further configured to determine the predicted task state corresponding to the next moment based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the current moment to the next moment, and the current task state of the current moment when the target moment is the next moment after the current moment; and to determine the predicted task state corresponding to the target moment based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous moment to the target moment, and the predicted task state corresponding to the previous moment before the target moment when the target moment is not the next moment after the current moment.
[0246] In one embodiment, when the robot's constraint degree is not zero, the optimization processing module 906 is further configured to, for each target time in N time steps, obtain the following error between the reference task state and the predicted task state at the target time, sum the N following errors corresponding to the N time steps to obtain the objective function; transform the form of the objective function according to the quadratic programming method to obtain the transformed objective function, solve the transformed objective function through the solution method of quadratic programming; and obtain the joint variable control parameters of the robot from the current time step to the next time step based on the solution result.
[0247] In one embodiment, when the robot's constraint degree is 0, the optimization processing module 906 is further configured to, for each target time in N time moments, obtain the following error between the reference task state and the predicted task state at the target time moment, sum the N following errors corresponding to the N time moments to obtain the objective function; solve the objective function using the least squares method to obtain the analytical solution of the joint variable control parameters; and determine the joint variable control parameters of the robot from the current time moment to the next time moment based on the analytical solution of the joint variable control parameters.
[0248] In one embodiment, the task state determination module 902 is further configured to acquire the planned motion trajectory of the robot in the Cartesian coordinate system, the motion trajectory representing the reference motion state of the robot changing with time; determine the N consecutive time points after the current time point; and obtain the reference task state corresponding to the N time points based on the motion trajectory.
[0249] In the aforementioned robot motion control device, when determining the joint variable control parameters for controlling the robot's end effector from the current moment to the next moment, the process is extended to N consecutive moments after the current moment. Taking into account the following error between the predicted task state and the reference task state at N moments, the optimal joint variable control parameters are determined with the goal of minimizing the following error at N moments. This enables the robot to move according to the planned reference task state, i.e., the motion trajectory. Specifically, for the next time step among N target time steps, the predicted task state for the next time step is determined based on the estimated joint variable control parameters of the robot from the current time step to the next time step, and the current task state corresponding to the current time step. For other target time steps among the N time steps, the predicted task state for the target time step is determined based on the estimated joint variable control parameters of the robot from the previous time step to the target time step, and the predicted task state corresponding to the previous time step of the target time step. Therefore, when minimizing the following error determined based on the reference task state and the predicted task state of N time steps is the optimization objective, the predicted task state of N time steps is considered. Moreover, the predicted task state of N time steps can be characterized by the estimated joint variable control parameters of the current time step, thereby obtaining better joint variable control parameters. This allows the trajectory of the current time step to be corrected when the robot moves from the current time step to the next time step based on the better joint variable control parameters, thus improving the robot control accuracy and control effect.
[0250] Each module in the aforementioned robot motion control device 900 can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the robot's processor in hardware form or independent of it, or stored in the robot's memory in software form, so that the processor can call and execute the operations corresponding to each module.
[0251] In one embodiment, a robot is provided whose internal structure diagram can be as follows: Figure 10As shown, the robot includes a processor, memory, input / output (I / O) interfaces, and a communication interface connected via a system bus. The processor, memory, and I / O interfaces are connected via the system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The robot's processor provides computational and control capabilities. The robot's memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The robot's database stores robot motion control data. The robot's I / O interfaces are used for exchanging information between the processor and external devices. The robot's communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a robot motion control method.
[0252] Those skilled in the art will understand that Figure 10 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the robot to which the present application is applied. A specific robot may include more or fewer parts than shown in the figure, or combine certain parts, or have different part arrangements.
[0253] In one embodiment, a robot is provided, including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement any one or more of the above method embodiments.
[0254] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements any one or more of the above method embodiments.
[0255] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements any one or more of the above method embodiments.
[0256] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0257] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0258] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0259] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A robot motion control method, characterized in that, The method includes: Determine the robot's current task state at the current moment, and the reference task states corresponding to each of the N consecutive moments following the current moment; where N is a natural number greater than 1; the current task state includes the position, attitude, linear velocity, and angular velocity of the robot's end effector; the reference task states include the position, attitude, linear velocity, and angular velocity of the end effector at the corresponding moment, and the reference task states are determined based on the robot's pre-planned motion trajectory; For each target time among the N time points, the predicted task state corresponding to the target time is determined based on the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point, and the predicted task state corresponding to the previous time point. The predicted task state corresponding to the next time point among the N time points is determined based on the control parameters of the joint variables to be estimated for the robot from the current time point to the next time point, and the current task state corresponding to the current time point. The predicted task state includes the position, attitude, linear velocity, and angular velocity predicted by the end effector at the target time point. With the goal of minimizing the following error determined based on the reference task state and predicted task state corresponding to each of the N time points, the joint variable control parameters of the robot from the current time point to the next time point are determined. According to the joint variable control parameters, the robot is controlled to move to the next moment after the current moment.
2. The method according to claim 1, characterized in that, The step of determining the joint variable control parameters of the robot from the current time to the next time, with the objective of minimizing the following error determined based on the reference task state and the predicted task state corresponding to each of the N time points, includes: For each target time among the N time points, the following error between the reference task state and the predicted task state at the target time point is obtained, and the N following errors corresponding to the N time points are summed to obtain the objective function; By minimizing the objective function, the joint variable control parameters of the robot from the current time to the next time are determined.
3. The method according to claim 1, characterized in that, The step of determining the joint variable control parameters of the robot from the current time to the next time, with the objective of minimizing the following error determined based on the reference task state and the predicted task state corresponding to each of the N time points, includes: For each target time in the N time points, the following error between the reference task state and the predicted task state at the target time is obtained, and the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point are determined, so as to obtain the sum of the control parameters of the joint variables to be estimated between two adjacent time points in the N time points. The objective function is determined based on the sum of the following error and the control parameters of the joint variable to be estimated; By minimizing the objective function, the joint variable control parameters of the robot from the current time to the next time are determined.
4. The method according to claim 3, characterized in that, The control parameters of the joint variables to be estimated for the robot from the time before the target time to the target time have preset upper and lower limits.
5. The method according to claim 3, characterized in that, The task state includes pose and velocity in Cartesian coordinate system, and the following error between the reference task state and the predicted task state at the target time includes: Based on the reference pose and predicted pose at the target time, the pose error at the target time is obtained; Based on the reference velocity and predicted velocity at the target time, the velocity error at the target time is obtained; Based on the pose error and velocity error at the target time, the following error between the reference task state and the predicted task state at the target time is obtained.
6. The method according to claim 1, characterized in that, The task state is a parameter in the Cartesian coordinate system, and the joint variable control parameters of the robot are parameters in the joint space coordinate system. For each target time among the N time points, based on the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point, and the predicted task state corresponding to the previous time point, the predicted task state corresponding to the target time point is determined, including: Based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint coordinate system at the current moment, the transformation relationship between the Cartesian coordinate system and the joint coordinate system is obtained. For each target time among the N time points, the predicted task state corresponding to the target time is determined based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous time point to the target time, and the predicted task state corresponding to the previous time point.
7. The method according to claim 6, characterized in that, The transformation relationship between the Cartesian coordinate system and the joint space coordinate system is obtained based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint space coordinate system at the current moment, including: Based on the robot's pose in the Cartesian coordinate system at the current moment, and the joint variables of the robot in the joint space coordinate system at the current moment, the transformation matrix is obtained; Based on the transformation matrix, the position Jacobian matrix, the attitude Jacobian matrix, the differential matrix of the position Jacobian matrix, and the differential matrix of the attitude Jacobian matrix of the robot are obtained. Based on the robot's position Jacobian matrix, posture Jacobian matrix, differential matrix of the position Jacobian matrix, and differential matrix of the posture Jacobian matrix, the transformation relationship between the Cartesian coordinate system and the joint coordinate system is obtained.
8. The method according to claim 6, characterized in that, The step of determining the predicted task state corresponding to the target time based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous time to the target time, and the predicted task state corresponding to the previous time, includes: When the target time is the next time after the current time, the predicted task state corresponding to the next time is determined based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the current time to the next time, and the current task state at the current time. If the target time is not the next time after the current time, the predicted task state corresponding to the target time is determined based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous time to the target time, and the predicted task state corresponding to the previous time.
9. The method according to claim 1, characterized in that, When the robot's constraint degree is not zero, the step of determining the joint variable control parameters of the robot from the current time to the next time, with the objective of minimizing the following error determined based on the reference task state and the predicted task state corresponding to each of the N time moments, includes: For each target time among the N time points, the following error between the reference task state and the predicted task state at the target time point is obtained, and the N following errors corresponding to the N time points are summed to obtain the objective function; The objective function is transformed using a quadratic programming approach to obtain the transformed objective function. The transformed objective function is then solved using a quadratic programming approach. Based on the solution results, the joint variable control parameters of the robot from the current time to the next time are obtained.
10. The method according to claim 1, characterized in that, When the robot's constraint degree is 0, the step of determining the joint variable control parameters of the robot from the current time to the next time, with the objective of minimizing the following error determined based on the reference task state and the predicted task state corresponding to each of the N time moments, includes: For each target time among the N time points, the following error between the reference task state and the predicted task state at the target time point is obtained, and the N following errors corresponding to the N time points are summed to obtain the objective function; The objective function is solved using the least squares method to obtain the analytical solution for the joint variable control parameters; Based on the analytical solution of the joint variable control parameters, the joint variable control parameters of the robot from the current time to the next time are determined.
11. The method according to any one of claims 1 to 10, characterized in that, Determining the reference task state for each of the N consecutive time intervals following the current time includes: Obtain the planned motion trajectory of the robot in the Cartesian coordinate system, wherein the motion trajectory represents the reference motion state of the robot as it changes over time; Determine the N consecutive time points following the current time point; Based on the motion trajectory, the reference task state corresponding to the N time points is obtained.
12. A robot motion control device, characterized in that, The device includes: The task state determination module is used to determine the current task state of the robot at the current moment, and the reference task states corresponding to each of the N consecutive moments after the current moment; where N is a natural number greater than 1; the current task state includes the position, attitude, linear velocity, and angular velocity of the robot's end effector; the reference task state includes the position, attitude, linear velocity, and angular velocity of the end effector at the corresponding moment, and the reference task state is determined based on the robot's pre-planned motion trajectory; The task state prediction module is used to determine the predicted task state corresponding to each of the N time points, based on the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time point, and the predicted task state corresponding to the previous time point; wherein, the predicted task state corresponding to the next time point of the current time point among the N time points is determined based on the control parameters of the joint variables to be estimated for the robot from the current time point to the next time point, and the current task state corresponding to the current time point; the predicted task state includes the position, attitude, linear velocity, and angular velocity predicted by the end effector at the target time point; The optimization processing module is used to determine the joint variable control parameters of the robot from the current time to the next time with the goal of minimizing the following error determined based on the reference task state and the predicted task state corresponding to each of the N time moments; The motion control module is used to control the robot to move to the next moment after the current moment according to the joint variable control parameters.
13. The robot motion control device according to claim 12, characterized in that, The optimization processing module is further configured to, for each of the N time points, obtain the following error between the reference task state and the predicted task state at the target time point, sum the N following errors corresponding to the N time points to obtain the objective function, and determine the joint variable control parameters of the robot from the current time point to the next time point by minimizing the objective function.
14. The robot motion control device according to claim 12, characterized in that, The optimization processing module is further configured to, for each target time among the N time points, obtain the following error between the reference task state and the predicted task state at the target time, and determine the control parameters of the joint variables to be estimated for the robot from the previous time point to the target time, thereby obtaining the sum of the control parameters of the joint variables to be estimated between two adjacent time points among the N time points; determine an objective function based on the following error and the sum of the control parameters of the joint variables to be estimated; and determine the control parameters of the joint variables of the robot from the current time point to the next time point by minimizing the objective function.
15. The robot motion control device according to claim 14, characterized in that, The control parameters of the joint variables to be estimated for the robot from the time before the target time to the target time have preset upper and lower limits.
16. The robot motion control device according to claim 14, characterized in that, The task state includes pose and velocity in Cartesian coordinate system. The optimization processing module is also used to obtain the pose error at the target time based on the reference pose and predicted pose at the target time; and to obtain the velocity error at the target time based on the reference velocity and predicted velocity at the target time. Based on the pose error and velocity error at the target time, the following error between the reference task state and the predicted task state at the target time is obtained.
17. The robot motion control device according to claim 12, characterized in that, The task state is a parameter in the Cartesian coordinate system, and the joint variable control parameters of the robot are parameters in the joint space coordinate system. The task state prediction module is also used to obtain the transformation relationship between the Cartesian coordinate system and the joint space coordinate system based on the pose of the robot in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint space coordinate system at the current moment. For each target time among the N time points, the predicted task state corresponding to the target time is determined based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous time point to the target time, and the predicted task state corresponding to the previous time point.
18. The robot motion control device according to claim 17, characterized in that, The task state prediction module is also used to obtain a transformation matrix based on the robot's pose in the Cartesian coordinate system at the current moment and the joint variables of the robot in the joint space coordinate system at the current moment; Based on the transformation matrix, the position Jacobian matrix, the attitude Jacobian matrix, the differential matrix of the position Jacobian matrix, and the differential matrix of the attitude Jacobian matrix of the robot are obtained; according to the position Jacobian matrix, the attitude Jacobian matrix, the differential matrix of the position Jacobian matrix, and the differential matrix of the attitude Jacobian matrix of the robot, the transformation relationship between the Cartesian coordinate system and the joint coordinate system is obtained.
19. The robot motion control device according to claim 17, characterized in that, The task state prediction module is further configured to determine the predicted task state corresponding to the next moment based on the transformation relationship, the control parameters of the joint variables to be estimated for the robot from the current moment to the next moment, and the current task state at the current moment, when the target moment is the next moment after the current moment. If the target time is not the next time after the current time, the predicted task state corresponding to the target time is determined based on the transformation relationship, the control parameters of the joint variables to be estimated of the robot from the previous time to the target time, and the predicted task state corresponding to the previous time.
20. The robot motion control device according to claim 12, characterized in that, When the robot's constraint degree is not 0, the optimization processing module is further used to obtain the following error between the reference task state and the predicted task state at each of the N time points for each target time point, sum the N following errors corresponding to the N time points to obtain the objective function; transform the form of the objective function according to the quadratic programming method to obtain the transformed objective function, and solve the transformed objective function by the quadratic programming solution method; Based on the solution results, the joint variable control parameters of the robot from the current time to the next time are obtained.
21. The robot motion control device according to claim 12, characterized in that, When the robot's constraint degree is 0, the optimization processing module is further configured to, for each of the N time points, obtain the following error between the reference task state and the predicted task state at the target time point, sum the N following errors corresponding to the N time points to obtain the objective function; solve the objective function using the least squares method to obtain the analytical solution of the joint variable control parameters; and determine the joint variable control parameters of the robot from the current time point to the next time point based on the analytical solution of the joint variable control parameters.
22. The robot motion control device according to any one of claims 12 to 21, characterized in that, The task state determination module is further configured to acquire the planned motion trajectory of the robot in the Cartesian coordinate system, the motion trajectory representing the reference motion state of the robot changing with time; determine N consecutive time points after the current time point; and obtain the reference task state corresponding to the N time points based on the motion trajectory.
23. A robot comprising a memory and a processor, the memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the method of any one of claims 1 to 11.
24. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 11.
25. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 11.