Mechanical arm control method and device, electronic equipment and computer readable storage medium
By using the first transformation matrix and constraint relationship adjustment technology in the robot arm control system, the problem of the inability to effectively control the robot arm with driven joints in the prior art is solved, and the precise update of the active and driven joint motion information and the precise control of the robot arm are achieved.
Patent Information
- Application Number
- CN202411787278.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2044-12-05
AI Technical Summary
The prior art cannot effectively solve the control problem of the robotic arm with driven joints in the kinematic inverse solution, and cannot achieve accurate updates of the motion information of the active joint and driven joints.
By determining the position information at the end of the arm based on the movement information of the robot arm joint, and when the error between the position information and the target position information is greater than the threshold, the first transformation matrix is used to characterize the transformation relationship between the movement speed of the arm joint and the movement speed of the arm end. Combined with the constraint relationship between the active joint and the driven joint, the first transformation matrix is adjusted to update the movement information of the arm joint to achieve precise control.
It realizes accurate update of the movement information of the active and driven joints of the robot arm, enhances the adaptability of the robot arm control, and realizes precise control of the robot arm.
Smart Images

Figure CN119795159A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of motion control technology, and in particular to a robot arm control method, device, electronic device and computer-readable storage medium. Background Art
[0002] Inverse Kinematics (IK) is an important concept in robotics and mechanical engineering. It refers to solving the required positions and angles of each joint of the robot arm when the target pose information of the end effector of the robot arm in the Cartesian coordinate system is known, so that the end effector can accurately reach this predetermined pose. Inverse kinematics is the basis of the motion control function of the robot arm, and its solution method has always been highly valued. However, the relevant technology can only be applied to the robot arm with all active joints, and cannot be applied to the robot arm with driven joints. Summary of the invention
[0003] The embodiments of the present application provide a robot arm control method, device, electronic device and computer-readable storage medium, which can accurately update the motion information of the active joint and the driven joint.
[0004] The technical solution of the embodiment of the present application is implemented as follows:
[0005] The present application provides a method for controlling a robotic arm, the method comprising:
[0006] Determine the position and posture information of the end of the arm based on the motion information of the arm joint of the robotic arm, wherein the arm joint includes an active joint and a driven joint;
[0007] Acquire target posture information of the end of the arm, and when the error between the posture information and the target posture information is greater than an error threshold, determine a first transformation matrix based on the motion information of the arm joint, wherein the motion information includes at least one of a rotation arc and a displacement distance, and the first transformation matrix represents a transformation relationship between a motion speed of the arm joint and a motion speed of the end of the arm;
[0008] Based on the constraint relationship between the active joint and the driven joint, the first transformation matrix is adjusted to obtain an adjusted first transformation matrix;
[0009] Based on the adjusted first transformation matrix and the error, the motion information of the arm joint is updated to obtain the target motion information of the arm joint, and based on the target motion information, the robotic arm is controlled to move.
[0010] An embodiment of the present application provides a robotic arm control device, the device comprising:
[0011] A posture information determination module, used to determine the posture information of the arm end based on the motion information of the arm joint of the robotic arm, wherein the arm joint includes an active joint and a driven joint;
[0012] a matrix calculation module, configured to obtain target posture information of the end of the arm, and when an error between the posture information and the target posture information is greater than an error threshold, determine a first transformation matrix based on the motion information of the arm joint, wherein the motion information includes at least one of a rotation arc and a displacement distance, and the first transformation matrix represents a transformation relationship between a motion speed of the arm joint and a motion speed of the end of the arm;
[0013] The matrix calculation module is further used to adjust the first transformation matrix based on the constraint relationship between the active joint and the driven joint to obtain the adjusted first transformation matrix;
[0014] A motion information updating module is used to update the motion information of the arm joint based on the adjusted first transformation matrix and the error, obtain the target motion information of the arm joint, and control the movement of the robotic arm based on the target motion information.
[0015] An embodiment of the present application provides an electronic device, the electronic device comprising:
[0016] A memory for storing computer executable instructions or computer programs;
[0017] The processor is used to implement the robot arm control method provided in the embodiment of the present application when executing the computer executable instructions or computer program stored in the memory.
[0018] An embodiment of the present application provides a computer-readable storage medium storing a computer program or computer-executable instructions for implementing the robotic arm control method provided in the embodiment of the present application when executed by a processor.
[0019] An embodiment of the present application provides a computer program product, including a computer program or computer executable instructions. When the computer program or computer executable instructions are executed by a processor, the robot arm control method provided in the embodiment of the present application is implemented.
[0020] The embodiments of the present application have the following beneficial effects:
[0021] Based on the motion information of the arm joint, the posture information of the arm end can be accurately determined. When the error between the posture information and the target posture information is greater than the error threshold, the first transformation matrix is determined based on the motion information of the arm joint. At the same time, considering the mutual constraint relationship between the active joint and the driven joint in the arm joint, the first transformation matrix is adjusted to obtain the adjusted first transformation matrix. In combination with the adjusted transformation matrix and the current error information, the motion information of the arm joint is updated while the robotic arm is controlled to perform corresponding movements, thereby realizing accurate updating of the motion information of the active joint and the driven joint of the robotic arm and precise control of the robotic arm, and significantly enhancing the adaptability of the robotic arm control method of the embodiment of the present application to different types of device configurations. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 It is a structural diagram of the robotic arm control system architecture provided by an embodiment of the present application;
[0023] Figure 2 is a schematic diagram of the structure of an electronic device for controlling a robotic arm provided in an embodiment of the present application;
[0024] Figure 3 is a first flow chart of the robot arm control method provided in an embodiment of the present application;
[0025] Figure 4 is a second flow chart of the robot arm control method provided in an embodiment of the present application;
[0026] Figure 5 is a third flow chart of the robot arm control method provided in an embodiment of the present application;
[0027] Figure 6 is a fourth flow chart of the robot arm control method provided in an embodiment of the present application;
[0028] Figure 7 is a first principle schematic diagram of the robot arm control method provided in an embodiment of the present application;
[0029] Figure 8 It is a second principle schematic diagram of the robot arm control method provided in an embodiment of the present application.
[0030] It should be pointed out that the above-mentioned "first" and "second" are only used to distinguish different solutions, and do not represent the degree of superiority or inferiority of the solutions or the priority in the implementation process. DETAILED DESCRIPTION
[0031] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present application. All other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of this application.
[0032] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0033] In the following description, the terms "first\second\third" involved are merely used to distinguish similar objects and do not represent a specific ordering of the objects. It can be understood that "first\second\third" can be interchanged with a specific order or sequence where permitted, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0034] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0035] Unless otherwise defined, all technical and scientific terms used in the embodiments of the present application have the same meanings as those commonly understood by those skilled in the art. The terms used in the embodiments of the present application are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
[0036] The relevant data collection and processing in the embodiments of this application should be strictly in accordance with the requirements of relevant laws and regulations when applied in examples, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of authorization of laws and regulations and the personal information subject.
[0037] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0038] 1) Inverse Kinematics (IK): refers to the process of solving the required positions and angles of each joint of the robot arm when the target pose information of the end effector of the robot arm in the Cartesian coordinate system is known, so that the end effector can accurately reach this predetermined pose. The solution of inverse kinematics is very important in robotics, which allows technicians to control the robot's movements and enable the robot to perform specific tasks.
[0039] 2) Posture information: refers to the parameters that describe the position information and posture of an object in space. Position information refers to the specific position of an object in space, which can be represented by Cartesian coordinates. Posture information refers to the direction and orientation of an object, which can be described by a 3x3 rotation matrix to describe the rotation of an object relative to a reference coordinate system.
[0040] 3) Jacobian Matrix: It is a core concept in robotics and manipulator control. It describes the relationship between the velocity of the end effector of the manipulator and the velocity of each joint. Each element of the Jacobian matrix is the partial derivative of the end effector velocity with respect to the velocity of each joint.
[0041] The embodiments of the present application provide a robot arm control method, device, electronic device, computer-readable storage medium and computer program product, which can accurately update the motion information of the active joint and the driven joint.
[0042] The electronic device for controlling the robotic arm provided in the embodiments of the present application may be various types of terminals or servers, wherein the server may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services; the terminal may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart TV, a smart watch, etc., but is not limited thereto. The terminal and the server may be directly or indirectly connected via wired or wireless communication, which is not limited in the present application.
[0043] See also Figure 1 , Figure 1 It is a structural diagram of the robotic arm control system architecture provided in the embodiment of the present application. In the robotic arm control system 10 provided in the embodiment of the present application, in order to support a robotic arm control application, the terminal 400 is connected to the server 200 through the network 300. The network 300 can be a wide area network or a local area network, or a combination of the two.
[0044] Terminal 400 may be used to obtain a robotic arm control request including motion information of an arm joint and target posture information.
[0045] In some embodiments, a robotic arm control plug-in may be implanted in the client running in the terminal 400 to implement the robotic arm control method locally on the client. For example, the terminal 400 calls the robotic arm control plug-in to implement the robotic arm control method, and determines the posture information of the arm end based on the motion information of the arm joint of the robotic arm; when the error between the posture information and the target posture information is greater than the error threshold, determines the first transformation matrix based on the motion information of the arm joint; adjusts the first transformation matrix based on the constraint relationship between the active joint and the driven joint to obtain the adjusted first transformation matrix; updates the motion information of the arm joint based on the adjusted first transformation matrix and the error to obtain the target motion information of the arm joint, and controls the robotic arm to move based on the target motion information.
[0046] In some embodiments, after the terminal 400 obtains the robot arm control request containing the word to be processed, the robot arm control interface of the server 200 is called (which can be provided in the form of a cloud service), and the server 200 implements the robot arm control method through the robot arm control plug-in, and determines the posture information of the end of the robot arm based on the motion information of the arm joint; when the error between the posture information and the target posture information is greater than the error threshold, the first transformation matrix is determined based on the motion information of the arm joint; based on the constraint relationship between the active joint and the driven joint, the first transformation matrix is adjusted to obtain an adjusted first transformation matrix; based on the adjusted first transformation matrix and the error, the motion information of the arm joint is updated to obtain the target motion information of the arm joint, and the target motion information of the arm joint is returned to the terminal 400, so that the terminal 400 controls the robot arm to move based on the target motion information.
[0047] See also Figure 2 , Figure 2 is a schematic diagram of the structure of an electronic device for controlling a robotic arm provided in an embodiment of the present application, Figure 2 The electronic device 500 shown may be Figure 1 In the terminal 400 or server 200, the electronic device 500 includes: at least one processor 510, a memory 550 and at least one network interface 520. The various components in the electronic device 500 are coupled together through a bus system 540. It can be understood that the bus system 540 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 540 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, Figure 2 Various buses are labeled as bus system 540 .
[0048] The processor 510 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0049] The memory 550 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, a hard disk drive, an optical disk drive, etc. The memory 550 may optionally include one or more storage devices that are physically located away from the processor 510.
[0050] The memory 550 includes a volatile memory or a non-volatile memory, and may also include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), and the volatile memory may be a random access memory (RAM). The memory 550 described in the embodiments of the present application is intended to include any suitable type of memory.
[0051] In some embodiments, the memory 550 can store data to support various operations, examples of which include programs, modules, and data structures, or a subset or superset thereof, as exemplarily described below.
[0052] Operating system 551, including system programs for processing various basic system services and performing hardware-related tasks, such as framework layer, core library layer, driver layer, etc., for implementing various basic services and processing hardware-based tasks;
[0053] A network communication module 552, for reaching other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 include: Bluetooth, Wireless Compatibility Certification (WiFi), and Universal Serial Bus (USB);
[0054] In some embodiments, the device provided in the embodiments of the present application can be implemented in software. Figure 2 A robot arm control device 555 stored in a memory 550 is shown, which may be software in the form of a program or a plug-in, including the following software modules: a posture information determination module 5551, a matrix calculation module 5552, and a motion information update module 5553. These modules are logical, and therefore can be arbitrarily combined or further split according to the functions implemented. The functions of each module will be described below.
[0055] In other embodiments, the device provided in the embodiments of the present application can be implemented in hardware. As an example, the device provided in the embodiments of the present application can be a processor in the form of a hardware decoding processor, which is programmed to execute the robot arm control method provided in the embodiments of the present application. For example, the processor in the form of a hardware decoding processor can adopt one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs) or other electronic components.
[0056] As mentioned above, the electronic device for implementing the robot arm control method of the embodiment of the present application can be a terminal, a server, or a combination of the two, so the execution subject of each step will not be repeated below, see Figure 3 , Figure 3 is a first flow chart of the robot arm control method provided in the embodiment of the present application, which will be combined with Figure 3 The steps shown are explained.
[0057] In step 101 , based on the motion information of the arm joints of the robot arm, the position and posture information of the arm end is determined.
[0058] Among them, from the dimension of joint movement laws, arm joints can include active joints and driven joints; from the dimension of joint functions, arm joints can include rotational joints and displacement joints. When the arm joint is a rotational joint, the movement information of the arm joint is the rotation arc; when the arm joint is a displacement joint, the movement information of the arm joint is the displacement distance.
[0059] As an example, obtain the motion information of the arm joint and determine when the motion information of the arm joint is When , the position information of the arm end in the Cartesian coordinate system, where the motion information of the arm joint q n It is the motion information of the nth arm joint on the robotic arm. The robotic arm is a device with arm-like functions. The arm joints and arm ends are all mounted on the same robotic arm. The robotic arm includes arm joints, arm ends, connecting rods and bases. The robotic arm can be a physical robotic arm or a virtual robotic arm in a digital simulation platform for simulating the kinematics and dynamics of the robotic arm. It is not limited here.
[0060] For example, see Figure 7 , Figure 7 is a first principle schematic diagram of the robot arm control method provided in an embodiment of the present application, Figure 7 The seven-axis robotic arm shown includes joint 701 , joint 702 , joint 703 , joint 704 , joint 705 , joint 706 , joint 707 , base 708 , link 709 , and arm end 710 .
[0061] In the embodiment of the present application, the arm joint includes an active joint and a driven joint, so that the robotic arm can flexibly adapt to various application scenarios and operating requirements.
[0062] In some embodiments, see Figure 4 , Figure 4 is a second flow chart of the robot arm control method provided in an embodiment of the present application, Figure 3 The illustrated step 101 can be implemented by following the steps 1011 to 1013, which are described in detail below.
[0063] In step 1011, the joint parameters of the arm joints are obtained, and based on the joint parameters and the motion information of the arm joints, the homogeneous transformation matrix between each arm joint and the previous adjacent joint is determined.
[0064] As an example, the joint parameters of the arm joint refer to the parameters of the connecting rod connected to the arm joint, including the connecting rod length, the connecting rod torsion angle and the connecting rod offset. Based on the joint parameters and motion information of the arm joint, the Denavit-Hartenberg parameters (DH parameters) of each arm joint are constructed. The DH parameters of the arm joint include the connecting rod parameters connected to the arm joint and the motion information of the arm joint. Based on the DH parameters of the arm joint, the homogeneous transformation matrix between each arm joint and the previous adjacent joint is determined, wherein the homogeneous transformation matrix corresponding to the first arm joint is the homogeneous transformation matrix between the first arm joint and the base of the robotic arm, and the base of the robotic arm is the basic part that supports and fixes the entire robotic arm.
[0065] For example, see Figure 7 , the first arm joint is joint 701, the homogeneous transformation matrix corresponding to joint 701 is the homogeneous transformation matrix between joint 701 and base 708, the second arm joint is joint 702, the homogeneous transformation matrix corresponding to joint 702 is the homogeneous transformation matrix between joint 702 and joint 701, and so on.
[0066] In step 1012, the homogeneous transformation matrices corresponding to each arm joint are fused to obtain a fusion matrix.
[0067] As an example, matrix multiplication is performed on the homogeneous transformation matrix corresponding to each arm joint to obtain a fusion matrix.
[0068] In step 1013, the pose information of the end of the arm is extracted from the fusion matrix.
[0069] The posture information of the end of the arm includes the position information and the rotation matrix of the end of the arm.
[0070] As an example, the position information is the coordinate information of the end of the arm in the Cartesian coordinate system, which can be represented as a three-dimensional vector The rotation matrix is the posture information of the end arm in the Cartesian coordinate system, which can be represented as the matrix R. Based on the last row elements of the fusion matrix, the position information of the end arm is determined. Based on the sub-matrices of the fusion matrix, the rotation matrix R of the end of the arm is determined.
[0071] For example, the vector composed of the first three elements in the last row of the fusion matrix is determined as the position information of the end of the arm The 3x3 submatrix in the upper left corner of the fusion matrix is used as the rotation matrix R of the end of the arm.
[0072] By acquiring the joint parameters of each arm joint, the embodiment of the present application can accurately understand the spatial position (displacement and rotation angle) of the arm joint, thereby more accurately predicting and controlling the movement of the robotic arm, and accurately determining the position and posture information of the end of the arm.
[0073] In step 102, the target posture information of the arm end is obtained, and when the error between the posture information and the target posture information is greater than an error threshold, a first transformation matrix is determined based on the motion information of the arm joint.
[0074] The motion information includes at least one of a rotation arc and a displacement distance, and the first transformation matrix represents the transformation relationship between the movement speed of the arm joint and the movement speed of the arm end.
[0075] As an example, the target posture information of the end of the arm is obtained, and based on the posture information and the target posture information, the error between the posture information and the target posture information is determined. The error between the posture information and the target posture information includes a position error vector and a rotation error vector. Based on formula (1.1), the sum of the modulus lengths of the position error vector and the rotation error vector is determined. Formula (1.1) is as follows:
[0076]
[0077] in, is the position error vector, is the modulus of the position error vector, is the rotation error vector, is the modulus of the rotation error vector, and e is the sum of the modulus of the position error vector and the modulus of the rotation error vector.
[0078] When the sum of the modulus lengths e of the position error vector and the rotation error vector is greater than the error threshold e d When the first transformation matrix is determined based on the motion information of the arm joint, the error threshold is used to determine whether the posture information is close enough to the target posture information. The error threshold can be a fixed value set by the technician based on historical data and statistical analysis results, or it can be obtained based on a trained error threshold prediction model, which is not limited here.
[0079] In some embodiments, the posture information includes position information and a rotation matrix, and the target posture information includes target position information and a target rotation matrix. After "obtaining the target posture information of the end of the arm", the following steps can also be performed: based on the difference between the position information and the target position information, determine the position error vector; based on the product of the inverse matrix of the rotation matrix and the target rotation matrix, determine the rotation error matrix, and perform vector conversion processing on the rotation error matrix to obtain the rotation error vector; determine the position error vector and the rotation error vector as errors.
[0080] As an example, the error between the pose information and the target pose information includes a position error vector. The difference between the position information and the target position information is determined based on formula (1.2), and the difference between the position information and the target position information is used as the position error vector. Formula (1.2) is as follows:
[0081]
[0082] in, is the location information, is the target location information, is the position error vector.
[0083] The error between the pose information and the target pose information includes a rotation error vector. The rotation error matrix between the rotation matrix and the target rotation matrix is determined based on formula (1.3). e Perform vector conversion processing to obtain a three-dimensional rotation error vector vector The direction of represents the axis of rotation of the end of the arm in the Cartesian coordinate system, the vector The modulus length represents the rotation angle of the arm end in the Cartesian coordinate system, and the formula (1.3) is as follows:
[0084] R e =R -1 R d (1.3)
[0085] Among them, R -1 is the inverse matrix of the rotation matrix, R d is the target rotation matrix, R eis a rotation error matrix. Methods for converting the rotation error matrix into a rotation error vector include: Euler angle representation, rotation vector representation (Rodriguez formula), rotation matrix decomposition method, etc., which are not limited here.
[0086] The embodiment of the present application can accurately analyze the difference between the arm end posture information and the target posture information by calculating the position error vector and the rotation error vector, thereby providing a basis for the subsequent update of the motion information of the arm joint.
[0087] In some embodiments, "determining the first transformation matrix based on the motion information of the arm joints" can be achieved through the following steps: based on the motion information, deriving the homogeneous transformation matrix corresponding to each arm joint to obtain the partial derivative of the homogeneous transformation moment corresponding to each arm joint; splicing the partial derivatives of the homogeneous transformation moment corresponding to each arm joint to obtain the first transformation matrix.
[0088] As an example, based on the motion information of the arm joints, the partial derivatives of the homogeneous transformation matrix corresponding to each arm joint relative to the posture information are determined, and the partial derivatives corresponding to each arm joint are concatenated to obtain a first transformation matrix. The first transformation matrix can be a Jacobian matrix. The first transformation matrix represents the transformation relationship between the motion speed of the arm joint and the motion speed of the end of the arm (1.4). Formula (1.4) is as follows:
[0089]
[0090] Where J is the first transformation matrix, is the movement speed of the arm joint, is the movement speed of the end of the arm, see formula (1.5), the movement speed of the end of the arm It is composed of the linear velocity at the end of the arm and the angular velocity at the end of the arm. Formula (1.5) is as follows:
[0091]
[0092] in, is the linear velocity, which can be expressed as v x Line speed The linear velocity component in the x-axis direction of the Cartesian coordinate system, v y Line speed The linear velocity component in the y-axis direction of the Cartesian coordinate system, v z Line speed The linear velocity component in the z-axis direction of the Cartesian coordinate system, is the angular velocity, which can be expressed as w x is the angular velocity The angular velocity component in the x-axis direction of the Cartesian coordinate system, wy is the angular velocity The angular velocity component in the y-axis direction of the Cartesian coordinate system, w z is the angular velocity The angular velocity component about the z-axis of the Cartesian coordinate system.
[0093] In an embodiment of the present application, by performing partial derivative processing on the homogeneous transformation matrix of each arm joint, the influence of a slight change in the motion information of the arm joint on the entire arm end posture information can be obtained, thereby better determining the influence of the motion information of the arm joint on the arm end posture information.
[0094] In some embodiments, after "determining the error between the posture information and the target posture information based on the posture information and the target posture information", the following steps can also be performed: when the error between the posture information and the target posture information is less than or equal to the error threshold, the motion information of the arm joint is determined as the target motion information of the arm joint.
[0095] As an example, referring to the above formula (1.1), determine the sum of the moduli of the position error vector and the rotation error vector. When the sum of the moduli of the position error vector and the rotation error vector is less than or equal to the error threshold, determine the motion information of the arm joint as the target motion information of the arm joint.
[0096] In an embodiment of the present application, when the posture information of the end of the arm is close to the target posture information, further updating of the arm joint motion information can be stopped to reduce unnecessary calculations and improve the efficiency of solving the inverse kinematic solution of the robotic arm.
[0097] In step 103, based on the constraint relationship between the active joint and the driven joint, the first transformation matrix is adjusted to obtain an adjusted first transformation matrix.
[0098] As an example, the constraint relationship between the active joint and the driven joint can represent the transformation relationship between the motion information of the active joint and the motion information of the driven joint. Based on the transformation relationship between the motion information of the active joint and the motion information of the driven joint, the first transformation matrix is adjusted to obtain an adjusted first transformation matrix. The adjusted first transformation matrix represents the transformation relationship between the motion speed of the active joint and the motion speed of the end of the arm.
[0099] In some embodiments, see Figure 5 , Figure 5 is a third flow chart of the robot arm control method provided in an embodiment of the present application, Figure 3 The illustrated step 103 may be implemented by following the steps 1031 to 1032, which are described in detail below.
[0100] In step 1031 , based on the constraint relationship, a speed conversion relationship between the movement speed of the target active joint and the movement speed of the target driven joint is determined.
[0101] As an example, the target active joint and the target driven joint are a pair of joints in the arm joint that have a constraint relationship. When the target active joint and the target driven joint are both displacement joints, the constraint relationship is the transformation relationship between the displacement distance of the target active joint and the displacement distance of the target driven joint; when the target active joint and the target driven joint are both rotation joints, the constraint relationship is the transformation relationship between the rotation arc of the target active joint and the rotation arc of the target driven joint.
[0102] See also Figure 7 ,exist Figure 7 In the seven-axis robot arm shown, joint 704 is an active joint, joint 705 is a driven joint (passive joint), and both joint 704 and joint 705 are rotational joints. The rotation arc of joint 705 is determined by the rotation arc of joint 704. Joint 704 and joint 705 have the following constraint relationship (1.6):
[0103] q5=αq4 (1.6)
[0104] Wherein, α is the proportional coefficient, q4 is the rotation arc of joint 704 , and q5 is the rotation arc of joint 705 .
[0105] The constraint relationship between the active joint and the driven joint can also represent the speed conversion relationship between the movement speed of the active joint and the movement speed of the driven joint. The speed conversion relationship (1.7) between the joint 704 and the joint 705 is as follows:
[0106]
[0107] Among them, α is the proportionality coefficient, is the movement speed of joint 704, is the movement speed of joint 705.
[0108] In step 1032, based on the velocity transformation relationship, the elements corresponding to the target active joint and the elements corresponding to the target driven joint in the first transformation matrix are merged to obtain an adjusted first transformation matrix.
[0109] The elements corresponding to the target active joint include the elements of the corresponding columns in the first transformation matrix.
[0110] As an example, see Figure 7 ,exist Figure 7 In the seven-axis robot shown, the first transformation matrix J can be represented as in, The element corresponding to the joint 704 is a column vector composed of the fourth column elements in the first transformation matrix. The element corresponding to the joint 705 is a column vector composed of the fifth column elements in the first transformation matrix.
[0111] Based on the velocity transformation relationship (1.7) between joint 704 and joint 705 shown above, the element corresponding to joint 704 in the first transformation matrix J is The element corresponding to joint 705 Merge to obtain the adjusted first transformation matrix, and the relationship between the adjusted first transformation matrix and the first transformation matrix satisfies formula (1.8):
[0112]
[0113] in, is the velocity of the end of the arm, J is the first transformation matrix, J c is the adjusted first transformation matrix, is the movement speed of the arm joint, which can be expressed as is the movement speed of the first joint, and so on. is the movement speed of the seventh joint, To exclude the arm joint movement speed After the motion speed of the driven joint (joint 705) in , the motion speed of the active joint is obtained, which is represented as The adjusted first transformation matrix J c Can be characterized as
[0114] The following will expand the derivation of formula (1.8) to verify the adjusted first transformation matrix accuracy.
[0115] Known and Formula (1.9) can be derived:
[0116]
[0117] Known and Formula (1.10) can be derived:
[0118]
[0119] Based on the velocity transformation relationship (1.7) between joint 704 and joint 705, formula (1.11) is obtained:
[0120]
[0121] The embodiment of the present application adjusts the Jacobian matrix (first transformation matrix) based on the speed transformation relationship between the target active joint and the target driven joint, thereby ensuring the consistency between the movement speeds of the active joint and the driven joint, and at the same time helping to keep the movement of the entire robotic arm in compliance with a predetermined constraint relationship.
[0122] In step 104, based on the adjusted first transformation matrix and the error, the motion information of the arm joint is updated to obtain the target motion information of the arm joint, and based on the target motion information, the robot arm is controlled to move.
[0123] As an example, based on the adjusted first transformation matrix and the error, the change in motion information of the active joint is determined, and based on the change in motion information of the active joint and the constraint relationship between the active joint and the driven joint, the motion information of the arm joint is updated to obtain the target motion information of the arm joint, and based on the target motion information, the robotic arm is controlled to perform the target motion corresponding to the target motion information, wherein the relationship between the adjusted first transformation matrix, the error and the change in motion information satisfies formula (1.12):
[0124]
[0125] in, is the position error vector in the error, is the rotation error vector in the error, J c is the adjusted first transformation matrix, is the change in motion information of the active joint.
[0126] In some embodiments, see Figure 6 , Figure 6 is a fourth flow chart of the robot arm control method provided in an embodiment of the present application, Figure 3 The step 104 shown in which "based on the adjusted first transformation matrix and the error, the motion information of the arm joint is updated to obtain the target motion information of the arm joint" can be implemented by following the steps 1041 to 1043, which are described in detail below.
[0127] In step 1041, a matrix inverse operation is performed on the adjusted first transformation matrix to obtain a second transformation matrix.
[0128] As an example, when the adjusted first transformation matrix is a square matrix and the first transformation matrix is a full rank matrix, a matrix inverse operation is performed on the adjusted first transformation matrix to obtain the inverse matrix of the adjusted first transformation matrix, and the inverse matrix of the adjusted first transformation matrix is used as the second transformation matrix; when the adjusted first transformation matrix is not a square matrix or the first transformation matrix is not a full rank matrix, a matrix inverse operation is performed on the adjusted first transformation matrix to obtain the generalized inverse matrix (Moore-Penrose generalized inverse) of the adjusted first transformation matrix, and the generalized inverse matrix of the adjusted first transformation matrix is used as the second transformation matrix.
[0129] In step 1042, based on the error and the second transformation matrix, the change amount of the motion information of the active joint is determined.
[0130] In some embodiments, the error includes a position error vector and a rotation error vector, and step 1042 can be implemented by the following steps: splicing the position error vector and the rotation error vector to obtain a splicing matrix; and taking the product of the splicing matrix and the second transformation matrix as the motion information change.
[0131] As an example, the position error vector and the rotation error vector are vertically spliced to obtain a splicing matrix. When the second transformation matrix is the inverse matrix of the adjusted first transformation matrix, the product of the splicing matrix and the second transformation matrix is determined based on formula (1.13), and the product of the splicing matrix and the second transformation matrix is used as the motion information change. Formula (1.13) is as follows:
[0132]
[0133] in, is the second transformation matrix ( is the inverse matrix of the first transformation matrix), is the change in motion information of the active joint, is the position error vector, is the rotation error vector, is the concatenation matrix.
[0134] When the second transformation matrix is the generalized inverse matrix of the adjusted first transformation matrix, the product of the splicing matrix and the second transformation matrix is determined based on formula (1.14), and the product of the splicing matrix and the second transformation matrix is used as the motion information change amount. Formula (1.14) is as follows:
[0135]
[0136] in, is the second transformation matrix ( is the generalized inverse matrix of the first transformation matrix).
[0137] The embodiment of the present application can obtain a comprehensive error representation by splicing the position error vector and the rotation error vector, thereby comprehensively analyzing the posture information error of the arm end, and multiplying it with the second transformation matrix to determine the change in motion information. The change in motion information directly reflects the adjustments that need to be made to the arm joints, thereby accurately updating the motion information of the arm joints.
[0138] In step 1043, based on the motion information change and the constraint relationship, the motion information of the arm joint is updated to obtain the target motion information of the arm joint.
[0139] In some embodiments, step 1043 can be implemented by the following steps: based on the change in motion information and the motion information of the active joint, updating the motion information of the active joint to obtain updated motion information of the active joint; based on the constraint relationship and the updated motion information of the active joint, updating the motion information of the driven joint to obtain updated motion information of the driven joint; based on the updated motion information of the active joint and the updated motion information of the driven joint, updating the motion information of the arm joint to obtain target motion information of the arm joint.
[0140] As an example, the sum of the change in motion information and the motion information of the active joint is taken as the updated motion information of the active joint. Since the constraint relationship between the active joint and the driven joint can characterize the transformation relationship between the motion information of the active joint and the motion information of the driven joint, the motion information of the driven joint is updated based on the constraint relationship and the updated motion information of the active joint.
[0141] The embodiment of the present application updates the motion information of the active joint and the driven joint by the change in motion information, thereby achieving an accurate solution of the inverse kinematic solution of the robotic arm including the active joint and the driven joint.
[0142] Below, an exemplary application of the embodiments of the present application in an application scenario where the robotic arm is a physical robotic arm will be described.
[0143] Solving the inverse kinematics of a robotic arm is the basis of its motion control function, and its solution method has always been highly valued. By solving the inverse kinematics of a robotic arm, technicians can calculate the expected positions of each joint of the robotic arm based on the expected target posture of the end of the robotic arm in Cartesian space.
[0144] In the related art, there are generally two ways to solve the inverse kinematics of a robotic arm: using an analytical method to obtain an analytical solution and using an iterative method to obtain a numerical solution. However, the analytical method is complex and has certain requirements on the configuration of the robotic arm, so it is not universal; although the iterative method has stronger universality, it can only be applied to robotic arms with all joints being independent joints (equivalent to the active joints mentioned above), and cannot be applied to robotic arms with passive joints (equivalent to the driven joints mentioned above).
[0145] In order to solve the above problems, the present application embodiment proposes a robot arm control method, which has stronger universality and can solve the inverse kinematic solution of the robot arm with passive joints. Figure 7 The angle of the passive joint (joint 705) depends on the corresponding active joint (joint 704), and the angle of joint 705 is proportional to the angle of joint 704, and the proportional coefficient is α.
[0146] See also Figure 8 , Figure 8 This is a second principle schematic diagram of the robot arm control method provided in the embodiment of the present application. Figure 8 The robot arm control method of the embodiment of the present application is introduced.
[0147] Step 801, obtaining the initial joint position (equivalent to the motion information above).
[0148] At the beginning of the iteration, get the initial joint position of the iteration Initial joint position Contains the initial positions of all active and passive joints, where the initial angle of the passive joint (equivalent to the rotation arc above) is determined by the active joint. q n is the position of the nth arm joint on the robotic arm.
[0149] The initial joint position can be the actual joint position of the robot arm, or it can be set to other joint positions that meet the task requirements. The joint position is a scalar. When the joint is a rotational joint, the joint position refers to the rotation angle of the joint in radians; when the joint is a linear joint (equivalent to the displacement joint mentioned above), the joint position refers to the displacement of the joint in meters.
[0150] Step 802, calculate the end (equivalent to the arm end mentioned above) posture error.
[0151] According to the forward kinematics of the robot arm, it is determined that when the robot arm joint position is When , the position of the end in Cartesian space (equivalent to the position information above) and posture R (equivalent to the rotation matrix above), where, is a three-dimensional vector, and R is a rotation matrix. Based on the target position of the target end in Cartesian space and the target posture R d , determine the position error (equivalent to the position error vector above) through the above formula (1.2), and determine the attitude difference R through the above formula (1.3) e , R eConvert to rotation vector according to Rodriguez formula is a three-dimensional vector, The direction of the vector represents the rotation axis, The modulus of represents the rotation angle. Based on the above formula (1.1), the error e is defined as Module length and The sum of the module lengths.
[0152] Step 803, determine whether the error meets the requirement.
[0153] Let the target error be e d (equivalent to the error threshold above), when e≤e d When the error e meets the requirement, the iteration ends and the error in step 801 is This is the solution to the inverse kinematics of the robot arm;
[0154] At that time, e>e d When the error does not meet the requirement, the iterative calculation process continues and step 804 is executed.
[0155] Step 804, calculate the Jacobian matrix.
[0156] According to the differential kinematics of the robot arm, it is determined that when the robot arm joint position is The Jacobian matrix J (equivalent to the first transformation matrix above) at this time makes the robot joint velocity Jacobian matrix J and terminal velocity in Cartesian space Satisfies the relationship shown in formula (1.4) above, where From the linear velocity in Cartesian space and angular velocity composition, and are all three-dimensional vectors,
[0157] Step 805, modify the Jacobian matrix.
[0158] The Jacobian matrix is modified according to the constraints of the active joint on the passive joint.
[0159] See also Figure 7 , the joint 705 of a seven-axis robot is a passive joint, and its angle is determined by the angle of the joint 704, which is represented by q5=αq4, where α is the proportional coefficient; because of the existence of the above positional relationship, the angular velocity of the joint 705 is also determined by the angular velocity of the joint 704, which is represented by in, is the angular velocity of joint 704, is the angular velocity of joint 705.
[0160] The purpose of modifying the Jacobian matrix is to find a new matrix J c (equivalent to the adjusted first transformation matrix above), so that it is consistent with the velocity vector excluding the passive joint Satisfaction relationship Among them, the J matrix has 7 columns and is represented as There are 7 elements, represented by There are 6 elements, represented by
[0161] According to the relationship between the angular velocity of joint 705 and the angular velocity of joint 704 described above It can be deduced that hour, Established.
[0162] Because at this time and
[0163] Will Substitution We can get:
[0164] Step 806, determine the joint position for the next step.
[0165] Through the processing of step 805, the modified Jacobian matrix J is obtained. c , we can use the Newton-Raphson method to perform one iteration, and let the difference between the active joint position vector of the next step and the active joint position vector of the current step be As determined above and The relationship between can be found in the above formula (1.12), from which we can determine that The solution formula is the above formula (1.13), when J c Not a square or J c When you are dissatisfied with your rank, The solution formula is the above formula (1.14).
[0166] The active joint position vector at the current step is Then the position vector of the active joint in the next step is The positions of all joints in the next step can be deduced based on the relationship between the passive joints and the active joints, and then the iteration of the joint positions in the next step can be performed (execution step 802).
[0167] In summary, the embodiment of the present application solves the inverse kinematics of the robotic arm based on the iterative method, is independent of the configuration of the robotic arm, and can be applicable to more robotic arms; passive joints are sometimes used in the design of robotic arms, and traditional iterative methods cannot be applied to such robotic arms. The embodiment of the present application expands the scope of application of the iterative method and can solve robotic arms with passive joints; the embodiment of the present application proposes a method for adjusting the Jacobian matrix to achieve constraints on passive joints.
[0168] The following is a description of an exemplary structure of a robot arm control device 555 provided in an embodiment of the present application implemented as a software module. In some embodiments, Figure 2 As shown, the software modules stored in the robot control device 555 of the memory 550 may include:
[0169] A posture information determination module 5551, used to determine the posture information of the arm end based on the motion information of the arm joint of the robot arm, wherein the arm joint includes an active joint and a driven joint;
[0170] a matrix calculation module 5552, configured to obtain target posture information of the arm end, and when an error between the posture information and the target posture information is greater than an error threshold, determine a first transformation matrix based on the motion information of the arm joint, wherein the motion information includes at least one of a rotation arc and a displacement distance, and the first transformation matrix represents a transformation relationship between a motion speed of the arm joint and a motion speed of the arm end;
[0171] The matrix calculation module 5552 is further used to adjust the first transformation matrix based on the constraint relationship between the active joint and the driven joint to obtain the adjusted first transformation matrix;
[0172] The motion information updating module 5553 is used to update the motion information of the arm joint based on the adjusted first transformation matrix and the error, obtain the target motion information of the arm joint, and control the movement of the robotic arm based on the target motion information.
[0173] In some embodiments, the matrix calculation module 5552 is also used to determine the speed transformation relationship between the movement speed of the target active joint and the movement speed of the target driven joint based on the constraint relationship, wherein the target active joint and the target driven joint are a joint pair with a constraint relationship in the arm joint; based on the speed transformation relationship, the elements corresponding to the target active joint and the elements corresponding to the target driven joint in the first transformation matrix are merged to obtain the adjusted first transformation matrix.
[0174] In some embodiments, the matrix calculation module 5552 is further used to perform a matrix inverse operation on the adjusted first transformation matrix to obtain a second transformation matrix; and determine the change in motion information of the active joint based on the error and the second transformation matrix.
[0175] In some embodiments, the motion information updating module 5553 is further used to update the motion information of the arm joint based on the motion information change amount and the constraint relationship to obtain the target motion information of the arm joint.
[0176] In some embodiments, the error includes a position error vector and a rotation error vector, and the matrix calculation module 5552 is further used to splice the position error vector and the rotation error vector to obtain a splicing matrix; and the product of the splicing matrix and the second transformation matrix is used as the motion information change.
[0177] In some embodiments, the posture information includes position information and a rotation matrix, the target posture information includes target position information and a target rotation matrix, and the matrix calculation module 5552 is further used to determine the position error vector based on the difference between the position information and the target position information; determine the rotation error matrix based on the product of the inverse matrix of the rotation matrix and the target rotation matrix, and perform vector conversion processing on the rotation error matrix to obtain the rotation error vector; and determine the position error vector and the rotation error vector as the error.
[0178] In some embodiments, the motion information update module 5553 is also used to update the motion information of the active joint based on the motion information change and the motion information of the active joint to obtain the updated motion information of the active joint; to update the motion information of the driven joint based on the constraint relationship and the updated motion information of the active joint to obtain the updated motion information of the driven joint; to update the motion information of the arm joint based on the updated motion information of the active joint and the updated motion information of the driven joint to obtain the target motion information of the arm joint.
[0179] In some embodiments, the posture information determination module 5551 is also used to obtain the joint parameters of the arm joint, and determine the homogeneous transformation matrix between each arm joint and the previous adjacent joint based on the joint parameters and the motion information of the arm joint; fuse the homogeneous transformation matrices corresponding to each arm joint to obtain a fusion matrix; and extract the posture information of the arm end from the fusion matrix.
[0180] In some embodiments, the matrix calculation module 5552 is also used to perform derivative processing on the homogeneous transformation matrix corresponding to each arm joint based on the motion information to obtain the partial derivative of the homogeneous transformation moment corresponding to each arm joint; and concatenate the partial derivatives of the homogeneous transformation moment corresponding to each arm joint to obtain the first transformation matrix.
[0181] The embodiment of the present application provides a computer program product, which includes a computer program or a computer executable instruction, and the computer program or the computer executable instruction is stored in a computer-readable storage medium. The processor of the electronic device reads the computer executable instruction from the computer-readable storage medium, and the processor executes the computer executable instruction, so that the electronic device executes the above-mentioned robot arm control method of the embodiment of the present application.
[0182] The present application embodiment provides a computer-readable storage medium, in which computer executable instructions or computer programs are stored. When the computer executable instructions or computer programs are executed by a processor, the processor will be caused to execute the robot arm control method provided by the present application embodiment, for example, Figures 3 to 6 The robot arm control method is shown.
[0183] In some embodiments, the computer-readable storage medium may be a memory such as RAM, ROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.
[0184] In some embodiments, computer executable instructions may be in the form of a program, software, software module, script or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine or other unit suitable for use in a computing environment.
[0185] As an example, computer-executable instructions may, but need not, correspond to a file in a file system, may be stored as part of a file storing other programs or data, such as in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or code portions).
[0186] As an example, computer executable instructions may be deployed to be executed on one electronic device, or on multiple electronic devices located at one site, or on multiple electronic devices distributed at multiple sites and interconnected by a communication network.
[0187] The above is only an embodiment of the present application and is not intended to limit the protection scope of the present application. Any modifications, equivalent substitutions and improvements made within the spirit and scope of the present application are included in the protection scope of the present application.
Claims
1. A robot arm control method, characterized in that: The method comprises: Determine the position and posture information of the end of the arm based on the motion information of the arm joint of the robotic arm, wherein the arm joint includes an active joint and a driven joint; Acquire target posture information of the end of the arm, and when the error between the posture information and the target posture information is greater than an error threshold, determine a first transformation matrix based on the motion information of the arm joint, wherein the motion information includes at least one of a rotation arc and a displacement distance, and the first transformation matrix represents a transformation relationship between a motion speed of the arm joint and a motion speed of the end of the arm; Based on the constraint relationship between the active joint and the driven joint, the first transformation matrix is adjusted to obtain an adjusted first transformation matrix; Based on the adjusted first transformation matrix and the error, the motion information of the arm joint is updated to obtain the target motion information of the arm joint, and based on the target motion information, the robotic arm is controlled to move.
2. The method according to claim 1, characterized in that The adjusting the first transformation matrix based on the constraint relationship between the active joint and the driven joint to obtain the adjusted first transformation matrix includes: Based on the constraint relationship, determining a speed conversion relationship between a movement speed of a target active joint and a movement speed of a target driven joint, wherein the target active joint and the target driven joint are a joint pair in the arm joint having a constraint relationship; Based on the speed transformation relationship, the elements corresponding to the target active joint and the elements corresponding to the target driven joint in the first transformation matrix are merged to obtain the adjusted first transformation matrix.
3. The method according to claim 1, characterized in that: The updating the motion information of the arm joint based on the adjusted first transformation matrix and the error to obtain the target motion information of the arm joint includes: Performing a matrix inverse operation on the adjusted first transformation matrix to obtain a second transformation matrix; Determine a change in motion information of the active joint based on the error and the second transformation matrix; Based on the motion information change amount and the constraint relationship, the motion information of the arm joint is updated to obtain the target motion information of the arm joint.
4. The method according to claim 3, characterized in that The error includes a position error vector and a rotation error vector; The step of determining the change in motion information of the active joint based on the error and the second transformation matrix includes: splicing the position error vector and the rotation error vector to obtain a splicing matrix; The product of the splicing matrix and the second transformation matrix is used as the motion information variation.
5. The method according to claim 4, characterized in that The pose information includes position information and a rotation matrix, and the target pose information includes target position information and a target rotation matrix; After acquiring the target posture information of the end of the arm, the method further includes: Determining the position error vector based on a difference between the position information and the target position information; Determine a rotation error matrix based on the product of the inverse matrix of the rotation matrix and the target rotation matrix, and perform vector conversion processing on the rotation error matrix to obtain the rotation error vector; The position error vector and the rotation error vector are determined as the error.
6. The method according to claim 3, characterized in that The updating of the motion information of the arm joint based on the motion information variation and the constraint relationship to obtain the target motion information of the arm joint includes: Based on the motion information variation and the motion information of the active joint, the motion information of the active joint is updated to obtain updated motion information of the active joint; Based on the constraint relationship and the updated motion information of the active joint, the motion information of the driven joint is updated to obtain the updated motion information of the driven joint; Based on the updated motion information of the active joint and the updated motion information of the driven joint, the motion information of the arm joint is updated to obtain the target motion information of the arm joint.
7. The method according to claim 1, characterized in that The determining of the position information of the end of the arm based on the motion information of the arm joint of the robotic arm comprises: Acquire joint parameters of the arm joints, and determine a homogeneous transformation matrix between each arm joint and a previous adjacent joint based on the joint parameters and motion information of the arm joints; Fusing the homogeneous transformation matrices corresponding to each arm joint to obtain a fusion matrix; The pose information of the end of the arm is extracted from the fusion matrix.
8. The method according to claim 7, characterized in that The determining of a first transformation matrix based on the motion information of the arm joint comprises: Based on the motion information, a homogeneous transformation matrix corresponding to each arm joint is derivatized to obtain a partial derivative of the homogeneous transformation moment corresponding to each arm joint; The partial derivatives of the homogeneous transformation moments corresponding to each arm joint are concatenated to obtain the first transformation matrix.
9. A robot arm control device, characterized in that: The device comprises: A posture information determination module, used to determine the posture information of the arm end based on the motion information of the arm joint of the robotic arm, wherein the arm joint includes an active joint and a driven joint; a matrix calculation module, configured to obtain target posture information of the end of the arm, and when an error between the posture information and the target posture information is greater than an error threshold, determine a first transformation matrix based on the motion information of the arm joint, wherein the motion information includes at least one of a rotation arc and a displacement distance, and the first transformation matrix represents a transformation relationship between a motion speed of the arm joint and a motion speed of the end of the arm; The matrix calculation module is further used to adjust the first transformation matrix based on the constraint relationship between the active joint and the driven joint to obtain the adjusted first transformation matrix; A motion information updating module is used to update the motion information of the arm joint based on the adjusted first transformation matrix and the error, obtain the target motion information of the arm joint, and control the movement of the robotic arm based on the target motion information.
10. An electronic device, characterized in that: The electronic device comprises: A memory for storing computer executable instructions or computer programs; The processor is used to implement the robot arm control method described in any one of claims 1 to 8 when executing the computer executable instructions or computer programs stored in the memory.
11. A computer-readable storage medium storing computer-executable instructions or a computer program, characterized in that: When the computer executable instructions or computer program are executed by a processor, the robot arm control method according to any one of claims 1 to 8 is implemented.
12. A computer program product comprising computer executable instructions or a computer program, characterized in that: When the computer executable instructions or computer program are executed by a processor, the robot arm control method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Computer-assisted teleoperation surgical systems and methods
CN114767266A
Five-degree-of-freedom hybrid robot ball head cutter attitude planning method and system
CN117170241A
Surgical robot operation guiding method, device, equipment and medium
CN117733846A
Control method for master slave manipulator
JP1993177563A
Medical robotic system with sliding mode control
US20070138992A1