Multi-joint control method, device, electronic device, medium and program product

By constructing joint control functions and calculating joint motion data based on the desired position, the problems of low efficiency and poor synergy of multi-joint control in the prior art are solved, and the effect of all joints moving to the desired position at the same time is achieved.

CN119369414BActive Publication Date: 2025-03-04BEIJING INSTITUTE FOR GENERAL ARTIFICIAL INTELLIGENCE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411933459.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-03-04
Estimated Expiration
2044-12-26

AI Technical Summary

Technical Problem

In the prior art, the control efficiency of joints is low and the coordination is poor, and all joints of one action cannot be controlled simultaneously to reach the desired position.

Method used

By constructing joint control functions, the motion data of each joint is obtained based on the desired position and joint control functions of the multi-joint joint, and all joint movements to the desired position are controlled based on these data.

Benefits of technology

The efficiency and coordination of multi-joint control are improved, so that all joints can move to the desired position at the same time, solving the problems of low control efficiency and poor coordination.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119369414B_ABST
    Figure CN119369414B_ABST
Patent Text Reader

Abstract

The present invention provides a multi-joint control method, device, electronic device, medium and program product. The multi-joint control method includes: constructing a joint control function; obtaining motion data of each joint based on the acquired desired positions of the multi-joints and the joint control function; and controlling all joints to move to the desired positions based on the motion data. By constructing the joint control function, the motion data of all joints are obtained based on the desired positions of all joints and the joint control function, and all joints are controlled to move simultaneously according to the motion data, so as to achieve the purpose of improving control efficiency and coordination.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of robot control technology, and in particular relates to a multi-joint control method, device, electronic equipment, medium and program product. Background Art

[0002] In the fields of virtual humans, embodied intelligence, robots, etc., controlling joint movement is a key technology. The control of joints in the existing technology is to control single joints one by one, so as to control virtual humans, embodied intelligence, robots, etc. to complete complex actions, and it is impossible to control all joints of an action to reach the desired position at the same time. In the process of implementing this embodiment, the inventor found that the existing technology of single joint control has the problems of low control efficiency and poor coordination. Summary of the invention

[0003] In view of the problems existing in the prior art, the present invention provides a multi-joint control method, device, electronic device, medium and program product, which at least partially solve the problems of low control efficiency and poor coordination existing in the prior art.

[0004] In a first aspect, an embodiment of the present disclosure provides a multi-joint control method, comprising:

[0005] Construct joint control function;

[0006] The motion data of each joint is obtained based on the desired positions of the multiple joints and the joint control functions;

[0007] Based on the motion data, all joints are controlled to move to desired positions.

[0008] Optionally, the joint control function is based on the rotation R of the joint j in the local coordinate system j , given R j The actual position P of joint i at i , and the expected position EP of a given joint i i Build.

[0009] Optionally, the R j The calculation methods include:

[0010] If joint j has a child joint, calculate the normal direction of the line connecting the child joint and the parent joint in the standard posture and the current posture, and calculate the minimum rotation R that satisfies the transformation of the normals of the two lines j ;

[0011] If joint j has multiple sub-joints, the position of joint j and its sub-joint positions are formed into point sets in the standard posture and the current posture, and the singular value decomposition method is used to calculate the rotation R between the two sets of point sets j .

[0012] Optionally, obtaining motion data of each joint based on the acquired desired positions of the multiple joints and the joint control function includes:

[0013] Build a system that can j Calculate P i The tree computing structure, the tree nodes store the rotation data R of the joints j and offset data t j ;

[0014] Setting R j The initial value of is the joint rotation value of the virtual character in the standard posture;

[0015] The tree calculation structure is updated layer by layer to calculate the actual position P of each joint i , and calculate the joint position error;

[0016] The actual position P of each joint is obtained based on the relationship of the set threshold of the joint position error i .

[0017] Optionally, the actual position P of each joint is obtained based on the relationship of the set threshold value of the joint position error. i ,include:

[0018] If the updated value of the joint position error is not less than the set threshold, calculate the joint position error relative to the rotation R j The first-order partial derivative of , based on which the Jacobian matrix J and the Hessian matrix H are formed;

[0019] Update R according to the Hessian matrix H j ;

[0020] Based on the updated R j The tree calculation structure is updated layer by layer to obtain the actual position P of each joint i ;

[0021] If the updated value of the joint position error is less than the set threshold, the calculation is stopped.

[0022] Optionally, the joint position error is calculated as ,

[0023] in, is the joint position error, is the actual position of the joint, is the desired position of the joint.

[0024] In a second aspect, the embodiments of the present disclosure further provide a multi-joint control device, comprising: a construction module for constructing a joint control function;

[0025] A motion module, used for obtaining motion data of each joint based on the acquired desired positions of multiple joints and joint control functions;

[0026] The control module controls all joints to move to desired positions based on the motion data.

[0027] In a third aspect, an embodiment of the present disclosure further provides an electronic device, the electronic device comprising:

[0028] at least one processor; and,

[0029] a memory communicatively connected to the at least one processor; wherein,

[0030] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any multi-joint control method described in the first aspect.

[0031] In a fourth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, which stores computer instructions, and the computer instructions are used to enable a computer to execute any multi-joint control method described in the first aspect.

[0032] In a fifth aspect, an embodiment of the present disclosure further provides a computer program product, comprising a computer program / instruction, which, when executed by a processor, implements any of the multi-joint control methods described in the first aspect.

[0033] The present invention provides a multi-joint control method, device, electronic device, medium and program product, wherein the multi-joint control method constructs a joint control function, obtains motion data of all joints based on the expected positions of all joints and the joint control function, and controls all joints to move simultaneously according to the motion data, thereby achieving the purpose of improving control efficiency and coordination. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, wherein like reference numerals generally represent like components throughout the exemplary embodiments of the present disclosure.

[0035] Figure 1 A flowchart of a multi-joint control method provided by an embodiment of the present disclosure;

[0036] Figure 2 A principle block diagram of a multi-joint control device provided in an embodiment of the present disclosure;

[0037] Figure 3 A functional block diagram of an electronic device provided in an embodiment of the present disclosure.

[0038] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.

[0039] It should be clear that the following embodiments of the present disclosure are described by specific specific examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that the following embodiments and features in the embodiments can be combined with each other in the absence of conflict. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present disclosure.

[0040] It should be noted that various aspects of the embodiments within the scope of the appended claims are described below. It should be apparent that the aspects described herein may be embodied in a wide variety of forms, and any specific structure and / or function described herein is merely illustrative. Based on the present disclosure, it should be understood by those skilled in the art that an aspect described herein may be implemented independently of any other aspect, and two or more of these aspects may be combined in various ways. For example, any number of aspects described herein may be used to implement the device and / or practice the method. In addition, other structures and / or functionalities other than one or more of the aspects described herein may be used to implement this device and / or practice this method.

[0041] It should also be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present disclosure. The illustrations only show components related to the present disclosure rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.

[0042] Additionally, in the following description, specific details are provided to facilitate a thorough understanding of the examples. However, it will be understood by those skilled in the art that the aspects described may be practiced without these specific details.

[0043] Multi-joint control method is a very important technique in the field of robotics and automation, which involves precisely controlling multiple joints to achieve the desired motion. Following are the detailed steps and explanation of the mentioned multi-joint control method, along with further extensions:

[0044] Key technologies include:

[0045] Constructing joint control function: Constructing joint control function is the first step of multi-joint control method. This function is usually based on the dynamic model of the robot, including joint space mass matrix, Coriolis force, and gravity torque. These parameters can be calculated by corresponding functions, such as massMatrix function to calculate mass matrix, velocityProduct function to calculate Coriolis force, and gravityTorque function to calculate gravity torque. The goal of the control function is to calculate the required torque to drive the joint to the desired position and velocity.

[0046] When building joint control functions, we first need to understand the physical structure and dynamic characteristics of the robot. This includes the type of joints (such as revolute joints or linear joints), the geometric parameters of the joints (such as joint length, link length, and mass distribution), and the connection between the joints. This information is crucial for building an accurate dynamic model.

[0047] Establishment of dynamic model: The establishment of dynamic model usually starts with Lagrange equation, which describes the relationship between the rate of change of kinetic energy and potential energy of the system and the force and torque acting on the system. For multi-joint robots, Lagrange equation can be used.

[0048] Calculation of mass matrix: The mass matrix is ​​a symmetric positive definite matrix that describes the inertial properties of the robot joints. Calculating the mass matrix usually involves calculating and transforming the inertia tensor of each link of the robot. The inertia tensor is a 3x3 matrix that describes the inertial properties of the link relative to its center of mass. By transforming the inertia tensor of each link to the joint coordinate system and considering the connection relationship between the links, we can construct the mass matrix of the entire robot.

[0049] Calculation of Coriolis and centrifugal forces: Coriolis and centrifugal forces are caused by the acceleration and angular velocity of the robot's joints and affect the robot's motion. The calculation of Coriolis and centrifugal forces involves the analysis of the robot's joint velocities and accelerations and how these velocities and accelerations affect the robot's dynamic characteristics.

[0050] Calculation of gravity torque: Gravity torque is the torque generated by the earth's gravity on each link of the robot. The calculation of gravity torque requires considering the center of mass position and mass of each link, as well as their position relative to the joint coordinate system. By summing the gravity torque vector of each link, we can get the gravity torque vector of the entire robot.

[0051] The motion data of each joint is obtained based on the acquired desired positions of the multiple joints and the joint control functions.

[0052] After obtaining the joint control functions, the next step is to calculate the motion data for each joint based on the desired positions and velocities. This usually involves solving the inverse kinematics problem, which is to infer the joint angles from the position and attitude of the end effector. The joint control functions are then used to calculate the torque or force required to achieve these desired positions and velocities. In some cases, it may also be necessary to consider the dynamic characteristics of the joints, such as the natural frequency and damping ratio, which are often used to design controllers, such as PD controllers, to improve the dynamic response of the system.

[0053] Solving Inverse Kinematics: Inverse kinematics is the process of calculating the joint angles of a robot, given the position and attitude of the end effector. This problem usually does not have a unique solution, because most robots have multiple degrees of freedom, which means that there may be multiple different combinations of joint angles to achieve the same end effector position. The solution methods for inverse kinematics include analytical methods, numerical methods, and geometric methods.

[0054] Planning of desired trajectory: In practical applications, the robot's motion trajectory needs to be carefully planned to ensure smoothness and efficiency of the motion. This involves planning the acceleration, velocity, and position of the robot's motion. Trajectory planning is usually achieved using mathematical tools such as polynomials, spline functions, or Bézier curves.

[0055] Controller design: Controller design is the key to achieve precise joint control. Common controllers include proportional-derivative (PD) controller, proportional-integral-derivative (PID) controller and adaptive controller. These controllers are designed according to the dynamic characteristics and control objectives of the system to achieve precise control of the robot joints.

[0056] Controlling all joints to move to the desired position based on the motion data: The last step is the actual joint motion control. Based on the calculated torque or force, the motion of each joint is controlled by the underlying servo system. This usually involves a closed-loop control system in which the actual position and velocity of the joint are continuously monitored and compared with the expected value, and the resulting error is used to adjust the control input to ensure that the joint can accurately reach and track the desired position and velocity. In actual operation, this may involve different control strategies such as PID control, adaptive control or model predictive control to adapt to different application scenarios and system characteristics.

[0057] Implementation of a closed-loop control system: A closed-loop control system uses feedback to adjust the control input to reduce system errors. In a multi-joint control system, this usually involves real-time monitoring of the position, velocity, and acceleration of each joint. By comparing the actual value with the expected value, the control system can calculate the required control torque and apply it to the servo motor of the joint.

[0058] Servo system response: The servo system is a key component to achieve precise control of joints. It includes motors, drives, and feedback devices (such as encoders). The servo system needs to respond quickly to control signals and accurately drive the joint to the desired position. The dynamic characteristics of the servo system, such as bandwidth and response time, have an important impact on the performance of the entire control system.

[0059] Optimization of control strategies: In practical applications, it may be necessary to optimize the control strategy according to different tasks and environments. This may involve adjusting controller parameters, improving control algorithms, or developing new control strategies. The goal of optimization is to improve the stability, response speed, and accuracy of the system.

[0060] Application of multi-joint control method: Multi-joint control method has wide applications in many fields, including industrial automation, service robots, medical robots, aerospace, etc. In these applications, precise joint control is crucial to complete the task efficiently and safely.

[0061] Industrial Automation: In the field of industrial automation, multi-joint robots are widely used for tasks such as assembly, welding, handling, and spraying. Precise joint control can improve production efficiency, reduce waste, and improve product quality.

[0062] Service robots: Service robots, such as cleaning robots and catering service robots, require precise joint control to achieve complex movements and interactions. This can not only improve service efficiency, but also enhance user experience.

[0063] Medical Robotics: In the medical field, multi-joint robots are used for tasks such as surgical assistance, rehabilitation training, and drug delivery. Precise joint control is essential to improve surgical precision and patient safety.

[0064] Aerospace: In the aerospace field, multi-joint robots are used in tasks such as satellite assembly, space station maintenance, and Mars exploration. In these tasks, precise joint control is crucial to ensure the success of the mission and the safety of astronauts.

[0065] Challenges of multi-joint control methods: Although the multi-joint control method has wide applications in many fields, it also faces some challenges, including system complexity, nonlinearity and uncertainty.

[0066] System complexity: Multi-joint robots usually have complex dynamic characteristics, which makes the design and implementation of control algorithms difficult. In addition, the robot's working environment and task requirements also increase the complexity of the system.

[0067] Nonlinearity: The dynamics model of the multi-joint robot is nonlinear, which complicates the design and analysis of the control algorithm. Nonlinear systems may exhibit unpredictable behaviors such as chaos and bifurcations.

[0068] Uncertainty: In practical applications, robots may face various uncertainties, such as model errors, external disturbances, and environmental changes. These uncertainties pose challenges to the performance and stability of the control system.

[0069] Future development directions of multi-joint control methods: In order to overcome these challenges, future development directions of multi-joint control methods include intelligent control, adaptive control, and learning control.

[0070] Intelligent control: Intelligent control methods, such as fuzzy control and neural network control, can handle the nonlinearity and uncertainty of the system. These methods can improve the robustness and adaptability of the control system.

[0071] Adaptive control: Adaptive control methods can automatically adjust controller parameters based on changes in system parameters and external disturbances. This can improve the robustness and performance of the control system.

[0072] Learning control: Learning control methods, such as reinforcement learning and model predictive control, can learn optimal control policies through interaction with the environment. These methods can improve the adaptability and efficiency of control systems.

[0073] Multi-joint control method is the key technology to achieve precise motion of robots. By constructing joint control functions, calculating motion data and realizing joint motion control, we can control multi-joint robots to complete complex tasks. Despite the challenges, through intelligent control, adaptive control and learning control.

[0074] There are many factors that affect the performance of multi-joint control systems. Here are some key factors:

[0075] Dynamic characteristics: The robot has complex dynamic characteristics such as time-varying, strong coupling, and nonlinearity, which have a significant impact on the performance and dynamic quality of the control system.

[0076] Uncertain factors: including unmodeled dynamics, parameter measurement errors, load changes, external disturbances, and friction between joints, these uncertain factors will seriously affect the control performance of the system.

[0077] Physics engine performance: When simulating complex robotic systems, the accuracy and calculation speed of the physics engine are critical to the reliability of real-time simulations. Different physics engines perform differently in terms of stability, accuracy, and friction effectiveness, which can affect the performance of multi-joint control systems.

[0078] Thermal effect: Temperature is the main factor affecting the service life of industrial robots. If the various heat sources in the robot joint module, such as the gear transmission system, motor windings, brake coils, etc., cannot be effectively dissipated, the robot will heat up quickly and affect the performance of key components.

[0079] Transmission accuracy and response parameters: The testing principles and methods of the transmission accuracy, response parameters, mechanical parameters and electrical parameters of the joint have a direct impact on the joint performance.

[0080] The performance of the control system: including the system structure design, the resolution of the measuring elements, the influence of nonlinear links, etc., will affect the low-speed motion performance of the robot.

[0081] Friction modeling and compensation: Joint friction modeling and compensation are critical to improving the performance of low-speed motion.

[0082] Performance of motors and reducers: The motor is responsible for generating force to rotate the joint, while the reducer reduces the motor speed to increase the torque of the joint. The performance of the motor and reducer directly affects the various postures and movements of the robot arm.

[0083] Dynamic parameter identification: The accuracy of dynamic parameters has an important impact on the control performance of the robot, including the difficulty of parameter identification and the efficiency of the identification algorithm.

[0084] Impedance control strategy: The design of the impedance control strategy has a significant impact on the performance of the multi-joint robot.

[0085] Synchronous control strategy: The synchronous control strategy of a multi-joint industrial robot is very critical to the robot's motion accuracy and stability. Different synchronous control strategies, such as PID control, adaptive control and model control, have different advantages and disadvantages.

[0086] Modular joint design: The design and performance of modular joints directly affect the performance of the robot, including the accurate testing and evaluation of its dynamic and static performance parameters.

[0087] These factors jointly determine the overall performance of the multi-joint control system, so they need to be considered comprehensively when designing and evaluating the multi-joint control system.

[0088] This implementation is based on the research of existing multi-joint control technology and proposes the following technical solutions:

[0089] For ease of understanding, Figure 1 As shown, this embodiment discloses a multi-joint control method, including:

[0090] Step S101: constructing a joint control function;

[0091] The joint control function is ,

[0092] Among them, Joints represents the set of all joints, Expected Joints represents the set of joints with expected positions, and R j represents the rotation of joint j in the local coordinate system, P i Indicates that given R j The actual position of joint i at EP i represents the desired position of a given joint i.

[0093] Step S102: obtaining motion data of each joint based on the acquired desired positions of the multiple joints and the joint control function;

[0094] Optionally, the R j The calculation methods include:

[0095] If joint j has a child joint, calculate the normal direction of the line connecting the child joint and the parent joint in the standard posture and the current posture, and calculate the minimum rotation R that satisfies the transformation of the normals of the two lines j ;

[0096] If joint j has multiple sub-joints, the position of joint j and its sub-joint positions are formed into point sets in the standard posture and the current posture, and the singular value decomposition method is used to calculate the rotation R between the two sets of point sets j .

[0097] Optionally, obtaining motion data of each joint based on the acquired desired positions of the multiple joints and the joint control function includes:

[0098] Build a system that can j Calculate P i The tree computing structure, the tree nodes store the rotation data R of the joints j and offset data t j ;

[0099] Setting R j The initial value of is the joint rotation value of the virtual character in the standard posture;

[0100] The tree calculation structure is updated layer by layer to calculate the actual position P of each joint i , and calculate the joint position error;

[0101] The calculation formula of joint position error is: ,

[0102] in, is the joint position error, is the actual position of the joint, is the desired position of the joint.

[0103] The actual position P of each joint is obtained based on the relationship of the set threshold of the joint position error i .

[0104] Optionally, the actual position P of each joint is obtained based on the relationship of the set threshold value of the joint position error. i ,include:

[0105] If the updated value of the joint position error is not less than the set threshold, calculate the joint position error relative to the rotation R j The first-order partial derivative of , based on which the Jacobian matrix J and the Hessian matrix H are formed;

[0106] Update R according to the Hessian matrix H j ;

[0107] Based on the updated R j The tree calculation structure is updated layer by layer to obtain the actual position P of each joint i ;

[0108] If the updated value of the joint position error is less than the set threshold, the calculation is stopped.

[0109] Step S103: Control all joints to move to desired positions based on the motion data.

[0110] In a specific implementation scenario, the control of the joints is converted into obtaining a set of rotation angles of all joint degrees of freedom, so as to minimize the difference between the expected position and the actual position of the given multiple joints.

[0111] The rotation angle solution process is as follows:

[0112] Step 1: Create a system that can be based on R j Calculate P i The tree computing structure, the tree nodes store the rotation data R of the joints j and offset data tj;

[0113] Step 2: Set R j The initial value of is the joint rotation value of the virtual character in the standard posture;

[0114] Step 3: Update the tree calculation structure in step 1 layer by layer to calculate the actual position P of each joint i , and calculate the joint position error ;

[0115] Step 4: If The updated value is less than the specified threshold, so the calculation stops. The P obtained in step 3 i That is, the actual position of each joint, if If the updated value is not less than the specified threshold, proceed to step 5;

[0116] Step 5: Calculate joint position error Relative to the rotation R j The first-order partial derivatives of , and form the Jacobian matrix J and the Hessian matrix H;

[0117] Step 6: Update R according to the Hessian matrix H j ;

[0118] Step 7: Update the tree calculation structure layer by layer to calculate the actual position Pj of each joint.

[0119] Evaluating the performance of a multi-joint control system is a complex process involving multiple parameters and test methods. The following are some key performance evaluation indicators and methods:

[0120] 1. Range of motion (ROM): Assess the maximum angle a joint can move. This is an important measure of joint flexibility.

[0121] 2. Payload capacity: refers to the maximum weight that the joint can support or manipulate, measured in kilograms.

[0122] 3. Torque: The ability of a joint to exert force is measured in torque, which is measured in Newton meters. High torque values ​​indicate the strength of the joint and its ability to handle heavy loads or resist external forces.

[0123] 4. Stiffness: Measures the resistance of a joint to deformation or deflection under load, expressed in Newton meters per arc minute.

[0124] 5. Speed ​​and acceleration: The speed in linear motion is measured in meters per second, and the acceleration is measured in meters per second squared. For rotational motion, the unit is revolutions per minute.

[0125] 6. Response time: A measure of how quickly a joint reacts to a control signal or command, expressed in milliseconds.

[0126] 7. Accuracy and precision: A measure of a joint’s ability to reach a desired position or follow a specific path with minimal deviation, usually measured in millimeters or microns.

[0127] 8. Repeatability: Measures the consistency of movement of a joint when it repeats the same task or movement multiple times, quantified by the change in position achieved during repeated execution of the same movement.

[0128] 9. Noise Level: Evaluates the amount of sound produced by the connector during operation, measured in decibels.

[0129] 10. Performance parameter test: Joint performance parameters such as reverse starting torque, rated power, rated speed, rated torque, maximum allowable speed, peak torque, torque constant, efficiency, torque density, maximum allowable bending moment, maximum allowable axial load, maximum allowable radial load, absolute positioning accuracy, repeatable positioning accuracy, position response time of step input, position response bandwidth, etc. are all important indicators for evaluating the performance of robot joints.

[0130] 11. Test platforms and equipment: Using specialized test platforms and equipment, such as a multifunctional robot mechanical performance evaluation test platform, the torque, speed, and positioning accuracy of the robot joints can be accurately measured.

[0131] 12. Control system analysis: Analyze the performance of the joint control system through oscilloscopes, signal analyzers and dedicated control software to monitor the effectiveness of control signals, feedback loops and closed-loop control systems.

[0132] 13. Energy Consumption Analysis: Use energy meters and data logging equipment to measure the energy consumed by robot joints during operation, evaluate energy efficiency and identify areas where energy use can be optimized.

[0133] Through the above indicators and methods, the performance of the multi-joint control system can be comprehensively evaluated to ensure the efficient, stable and precise operation of the robot system.

[0134] This embodiment also discloses a multi-joint control device, including: a construction module for constructing a joint control function;

[0135] A motion module, used for obtaining motion data of each joint based on the acquired desired positions of multiple joints and joint control functions;

[0136] The control module controls all joints to move to desired positions based on the motion data.

[0137] Optional,

[0138] The joint control function is ,

[0139] Among them, Joints represents the set of all joints, Expected Joints represents the set of joints with expected positions, and R j represents the rotation of joint j in the local coordinate system, P i Indicates that given R j The actual position of joint i at EP i represents the desired position of a given joint i.

[0140] Optionally, the R j The calculation methods include:

[0141] If joint j has a child joint, calculate the normal direction of the line connecting the child joint and the parent joint in the standard posture and the current posture, and calculate the minimum rotation R that satisfies the transformation of the normals of the two lines j ;

[0142] If joint j has multiple sub-joints, the position of joint j and its sub-joint positions are formed into point sets in the standard posture and the current posture, and the singular value decomposition method is used to calculate the rotation R between the two sets of point sets j .

[0143] Optionally, obtaining motion data of each joint based on the acquired desired positions of the multiple joints and the joint control function includes:

[0144] Build a system that can j Calculate P i The tree computing structure, the tree nodes store the rotation data R of the joints j and offset data tj;

[0145] Setting R j The initial value of is the joint rotation value of the virtual character in the standard posture;

[0146] The tree calculation structure is updated layer by layer to calculate the actual position P of each joint i , and calculate the joint position error;

[0147] The actual position P of each joint is obtained based on the relationship of the set threshold of the joint position error i .

[0148] Optionally, the actual position P of each joint is obtained based on the relationship of the set threshold value of the joint position error. i ,include:

[0149] If the updated value of the joint position error is not less than the set threshold, calculate the joint position error relative to the rotation R j The first-order partial derivative of , based on which the Jacobian matrix J and the Hessian matrix H are formed;

[0150] Update R according to the Hessian matrix H j ;

[0151] Based on the updated R j The tree calculation structure is updated layer by layer to obtain the actual position P of each joint i ;

[0152] If the updated value of the joint position error is less than the set threshold, the calculation is stopped.

[0153] Optionally, the joint position error is calculated as ,

[0154] in, is the joint position error, is the actual position of the joint, is the desired position of the joint.

[0155] The electronic device disclosed in this embodiment includes a memory and a processor. The memory is used to store non-temporary computer-readable instructions. Specifically, the memory may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, a random access memory (RAM) and / or a cache memory (cache), etc. The non-volatile memory may include, for example, a read-only memory (ROM), a hard disk, a flash memory, etc.

[0156] The processor may be a central processing unit (CPU) or other forms of processing units with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device to perform desired functions. In one embodiment of the present disclosure, the processor is used to run the computer-readable instructions stored in the memory, so that the electronic device performs all or part of the steps of the multi-joint control method of each embodiment of the present disclosure.

[0157] Those skilled in the art should be able to understand that in order to solve the technical problem of how to obtain a good user experience, the present embodiment may also include well-known structures such as a communication bus and an interface, and these well-known structures should also be included in the protection scope of the present disclosure.

[0158] like Figure 3 The present invention provides a schematic diagram of the structure of an electronic device according to an embodiment of the present invention, which is suitable for implementing the electronic device in the embodiment of the present invention. Figure 3 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0159] like Figure 3 As shown, the electronic device may include a processing device (such as a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) or a program loaded from a storage device into a random access memory (RAM). In the RAM, various programs and data required for the operation of the electronic device are also stored. The processing device, ROM, and RAM are connected to each other through a bus. The input / output (I / O) interface is also connected to the bus.

[0160] Typically, the following devices can be connected to the I / O interface: input devices such as sensors or visual information acquisition devices; output devices such as display screens; storage devices such as tapes, hard disks, etc.; and communication devices. The communication device allows the electronic device to communicate with other devices (such as edge computing devices) wirelessly or by wire to exchange data. Figure 3 An electronic device having various devices is shown, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.

[0161] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device, or installed from a ROM. When the computer program is executed by a processing device, all or part of the steps of the multi-joint control method of an embodiment of the present disclosure are executed.

[0162] For detailed description of this embodiment, reference may be made to the corresponding descriptions in the aforementioned embodiments, which will not be repeated here.

[0163] The computer-readable storage medium disclosed in this embodiment stores non-transitory computer-readable instructions. When the non-transitory computer-readable instructions are executed by a processor, all or part of the steps of the multi-joint control method of each embodiment of the present disclosure are executed.

[0164] The above-mentioned computer-readable storage media include, but are not limited to: optical storage media (e.g., CD-ROM and DVD), magneto-optical storage media (e.g., MO), magnetic storage media (e.g., magnetic tape or mobile hard disk), media with built-in rewritable non-volatile memory (e.g., memory card) and media with built-in ROM (e.g., ROM box).

[0165] For detailed description of this embodiment, reference may be made to the corresponding descriptions in the aforementioned embodiments, which will not be repeated here.

[0166] The basic principles of the present disclosure are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present disclosure are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present disclosure. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, and are not limitations. The above details do not limit the present disclosure to the necessity of adopting the above specific details to be implemented.

[0167] In the present disclosure, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. The block diagrams of the devices, devices, equipment, and systems involved in the present disclosure are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagram. As will be appreciated by those skilled in the art, these devices, devices, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including", "comprising", "having", etc. are open words, referring to "including but not limited to", and can be used interchangeably with them. The words "or" and "and" used here refer to the words "and / or" and can be used interchangeably with them, unless the context clearly indicates otherwise. The words "such as" used here refer to the phrase "such as but not limited to", and can be used interchangeably with them.

[0168] Additionally, as used herein, "or" used in a list of items beginning with "at least one" indicates a separate list, so that, for example, a list of "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not mean that the example described is preferred or better than other examples.

[0169] It should also be noted that in the system and method of the present disclosure, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present disclosure.

[0170] Various changes, substitutions, and modifications of the techniques described herein may be made without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of the present disclosure is not limited to the specific aspects of the processes, machines, manufactures, compositions of events, means, methods, and actions described above. Currently existing or later to be developed processes, machines, manufactures, compositions of events, means, methods, or actions that perform substantially the same functions or achieve substantially the same results as the corresponding aspects described herein may be utilized. Thus, the appended claims include such processes, machines, manufactures, compositions of events, means, methods, or actions within their scope.

[0171] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

[0172] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.

Claims

1. A multi-joint control method, characterized in that: include: Construct joint control function; The motion data of each joint is obtained based on the desired positions of the multiple joints and the joint control functions; Control all joints to move to desired positions based on the motion data; The joint control function is based on the rotation R of joint j in the local coordinate system j , given R j The actual position P of joint i at i , and the expected position EP of a given joint i i Build; The method of obtaining motion data of each joint based on the acquired desired positions of multiple joints and joint control functions includes: Build a system that can j Calculate P i The tree computing structure, the tree nodes store the rotation data R of the joints j and offset data t j ; Setting R j The initial value of is the joint rotation value of the virtual character in the standard posture; The tree calculation structure is updated layer by layer to calculate the actual position P of each joint i , and calculate the joint position error; The actual position P of each joint is obtained based on the relationship of the set threshold of the joint position error i ; The relationship between the set threshold value based on the joint position error is used to obtain the actual position P of each joint. i ,include: If the updated value of the joint position error is not less than the set threshold, calculate the joint position error relative to the rotation R j The first-order partial derivative of , based on which the Jacobian matrix J and the Hessian matrix H are formed; Update R according to the Hessian matrix H j ; Based on the updated R j The tree calculation structure is updated layer by layer to obtain the actual position P of each joint i ; If the updated value of the joint position error is less than the set threshold, the calculation is stopped.

2. The multi-joint control method according to claim 1, characterized in that: The R j The calculation methods include: If joint j has a child joint, calculate the normal direction of the line connecting the child joint and the parent joint in the standard posture and the current posture, and calculate the minimum rotation R that satisfies the transformation of the normals of the two lines j ; If joint j has multiple sub-joints, the position of joint j and its sub-joint positions are formed into point sets in the standard posture and the current posture, and the singular value decomposition method is used to calculate the rotation R between the two sets of point sets j .

3. The multi-joint control method according to claim 1, characterized in that: The calculation formula of joint position error is: , in, is the joint position error, is the actual position of the joint, is the desired position of the joint.

4. A multi-joint control device, characterized in that: include: Building blocks for building joint control functions; A motion module, used for obtaining motion data of each joint based on the acquired desired positions of multiple joints and joint control functions; A control module, which controls all joints to move to desired positions based on the motion data; The joint control function is based on the rotation R of joint j in the local coordinate system j , given R j The actual position P of joint i at i , and the expected position EP of a given joint i i Build; The method of obtaining motion data of each joint based on the acquired desired positions of multiple joints and joint control functions includes: Build a system that can j Calculate P i The tree computing structure, the tree nodes store the rotation data R of the joints j and offset data t j ; Setting R j The initial value of is the joint rotation value of the virtual character in the standard posture; The tree calculation structure is updated layer by layer to calculate the actual position P of each joint i , and calculate the joint position error; The actual position P of each joint is obtained based on the relationship of the set threshold of the joint position error i ; The relationship between the set threshold value based on the joint position error is used to obtain the actual position P of each joint. i ,include: If the updated value of the joint position error is not less than the set threshold, calculate the joint position error relative to the rotation R j The first-order partial derivative of , based on which the Jacobian matrix J and the Hessian matrix H are formed; Update R according to the Hessian matrix H j ; Based on the updated R j The tree calculation structure is updated layer by layer to obtain the actual position P of each joint i ; If the updated value of the joint position error is less than the set threshold, the calculation is stopped.

5. An electronic device, characterized in that: The electronic device comprises: at least one processor; and, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the multi-joint control method described in any one of claims 1-3.

6. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the multi-joint control method described in any one of claims 1-3.

7. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the multi-joint control method described in any one of claims 1 to 3 is implemented.

Citation Information

Patent Citations

  • Control method, equipment, system and construction machinery for multi-joint mechanical arm support

    CN103147577A

  • Multi-joint material distribution arm support tail end track control method and system and storage medium

    CN114193452A