Control method of robotic arm, robotic arm and surgical robot
By collecting interactive signals at the robotic arm control end and using Jacobian matrix and admittance control, the problem of insufficient control accuracy and stability of the robotic arm during abdominal surgery was solved, convenient position and posture adjustment was achieved, and control accuracy and safety were improved.
Patent Information
- Application Number
- CN202211370550.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-14
- Filing Date
- 2022-11-03
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2042-11-03
AI Technical Summary
In existing technologies, it is difficult for robotic arms to accurately identify external operating forces during abdominal surgery, resulting in reduced control accuracy and insufficient stability, especially when adjusting position and posture due to the influence of their own gravity and friction.
By collecting the interactive signals applied by the operator to the control end of the robotic arm, including force and torque, the movement of each joint of the robotic arm can be precisely controlled by using the Jacobian matrix and admittance control method, combined with gravity compensation and sensor zero drift compensation.
It realizes the convenient adjustment of the position and posture of the robot arm according to the operator's intention, improves the control accuracy and stability, avoids misoperation, and reduces the influence of the robot arm's own gravity and friction.
Smart Images

Figure CN115645060B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of intelligent robots, and in particular to a control method for a robotic arm, a robotic arm, and a surgical robot. Background Art
[0002] Laparoscopic surgery robots are used to intelligently assist medical staff in performing surgical operations. They have the advantages of small wound surface, low infection risk, and beneficial postoperative recovery for patients. Among them, multi-degree-of-freedom robotic arms are widely used in the field of laparoscopic surgery medical robots. When used in conjunction with a trolley, they can complete surgical tasks under complex working conditions and have good adaptability to spatial environments. Before laparoscopic surgery, the robotic arm needs to be adjusted to a suitable working area, that is, the position and posture of the robotic arm need to be adjusted. When the existing technology controls the force of the robotic arm, it is subject to the relationship between the robotic arm's own gravity and the friction between the active joint motor and the reducer. The operation is difficult, and it is difficult to accurately identify the external operating force, resulting in reduced control accuracy and insufficient stability. Therefore, it is necessary to provide a control method for the robotic arm. Summary of the Invention
[0003] An object of the present invention is to provide a new technical solution for controlling a robotic arm.
[0004] According to a first aspect of the present invention, a method for controlling a robotic arm is provided, comprising: collecting an interaction signal applied by an operator to a control end of the robotic arm; determining whether the collected interaction signal is greater than a corresponding preset threshold value, and if so, inputting the collected interaction signal into the Jacobian matrix of the robotic arm to determine the interaction signal mapped to each moving joint of the robotic arm; and performing admittance control according to the interaction signal at each moving joint to control the movement of each moving joint.
[0005] Optionally, the method also includes: the interaction signal includes a force signal, a torque signal and / or a key signal, and before the collected force and torque are input into the Jacobian matrix of the robotic arm, the collected force and torque are compensated for gravity and / or sensor zero drift.
[0006] Optionally, the admittance control is performed according to the interactive signals at each moving joint, including: obtaining the mass data of each moving joint and collecting the rotation data of each joint motor; establishing the admittance control equation of each moving joint based on the mass data of each moving joint and the rotation data of the joint motor; inputting the force and torque at each moving joint into the corresponding admittance control equation to generate the displacement signal of each moving joint; and controlling the movement of each moving joint based on the displacement signal of each moving joint.
[0007] Optionally, the admittance control according to the interactive signals at each moving joint includes: obtaining the control mode of the robotic arm; obtaining the mass data of each moving joint, and collecting the rotation data of each joint motor; establishing the admittance control equation of each moving joint corresponding to the control mode according to the mass data of each moving joint, the rotation data of the joint motor and the control mode; inputting the force and torque at each moving joint into the corresponding admittance control equation to generate the displacement signal of each moving joint; and controlling the movement of each moving joint according to the displacement signal of each moving joint.
[0008] Optionally, the control mode of the robotic arm is a position adjustment mode or a posture adjustment mode.
[0009] According to the second aspect of the present invention, a robotic arm is also provided, comprising: a sensor, arranged at the control end of the robotic arm, for collecting interaction signals applied by an operator; an operator, for receiving the interaction signals collected by the sensor, inputting the collected interaction signals into the Jacobian matrix of the robotic arm, obtaining interaction signals at each moving joint, and adjusting the posture of each moving joint of the robotic arm using admittance control.
[0010] According to a third aspect of the present invention, a robotic arm is further provided, comprising: a sensor and a controller; the sensor is arranged at the control end of the robotic arm, and is used to collect interactive signals applied by the operator; the controller comprises a processor and a memory, the memory stores a program that can be run on the processor, and when the program is executed by the processor, the steps of the method described in any one of the first aspects of the present invention are implemented.
[0011] Optionally, the robotic arm further includes a button connected to the controller:
[0012] The button is used to switch the control mode of the robotic arm.
[0013] Optionally, the number of the buttons is two, and the two buttons are symmetrically arranged on two sides of the robotic arm.
[0014] Optionally, the robotic arm further includes: an indicator light connected to the controller; the indicator light is used to indicate the control mode of the robotic arm.
[0015] According to a fourth aspect of the present invention, there is further provided a surgical robot, comprising: a robotic arm according to any one of the second aspect or the third aspect of the present invention.
[0016] According to a fifth aspect of the present invention, there is further provided an electronic device, comprising a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the computer program to implement any one of the methods described in the first aspect.
[0017] According to a sixth aspect of the present invention, a computer-readable storage medium is further provided, on which a computer program is stored. When the computer program is executed by a processor, the method according to any one of the first aspects is implemented.
[0018] The control method of the robotic arm, the robotic arm, and the surgical robot of the embodiments of the present disclosure achieve the purpose of controlling the movement of the motors at each joint of the robotic arm according to the operator's intention by obtaining the force and torque applied to the robotic arm by the operator, thereby achieving the purpose of adjusting the movement of the robotic arm.
[0019] The control method of the robotic arm, the robotic arm, and the surgical robot of the disclosed embodiments are applicable to the surgical field. The motor movement at each joint of the robotic arm is controlled according to the operator's intention, which can facilitate medical staff to adjust the position and posture of the robotic arm conveniently and quickly.
[0020] The control method, robotic arm, and surgical robot of the disclosed embodiments set preset thresholds corresponding to interaction signals. Each joint is controlled to move only when the collected interaction signal is greater than the corresponding preset threshold. This prevents erroneous operation caused by interference signals collected by the sensor, thereby improving safety and operational stability. Furthermore, this control method mitigates the effects of the robotic arm's own gravity, the gravity of the active joint motor, and friction from the reducer, accurately identifying external operating forces and improving control accuracy.
[0021] Further features and advantages of the present invention will become apparent from the following detailed description of exemplary embodiments of the present invention with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
[0023] Figure 1 is a flow chart of robotic arm control according to one embodiment;
[0024] Figure 2 is a flow chart of sensor calibration according to one embodiment;
[0025] Figure 3 is an admittance control flow chart according to one embodiment;
[0026] Figure 4 is an admittance control flow chart according to another embodiment;
[0027] Figure 5 is a schematic diagram of a dual-button robotic arm structure according to one embodiment;
[0028] Figure 6 is a block diagram of a robotic arm control according to one embodiment. DETAILED DESCRIPTION
[0029] Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention.
[0030] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.
[0031] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.
[0032] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.
[0033] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.
[0034] One application scenario of an embodiment of the present invention is to adjust the posture of the surgical robot's robotic arm for preoperative positioning, wherein positioning is divided into two modes: one is to adjust the instrument insertion position, i.e., position adjustment mode; the other is to adjust the instrument insertion posture, i.e., posture adjustment mode.
[0035] In order to achieve this purpose, the inventors proposed a new implementation method, which collects the interaction signal applied by the operator to the control end of the robotic arm, wherein the interaction signal includes force and torque; determines whether the collected interaction signal is greater than its corresponding preset threshold value. If both the force and torque are not greater than their corresponding preset threshold values, wait for the next collection of the force and torque applied by the operator to the control end of the robotic arm; if either one is greater than its corresponding preset threshold value, input the collected force and torque into the Jacobian matrix of the robotic arm to determine the force and torque mapped to each moving joint of the robotic arm; performs admittance control according to the force and torque at each moving joint to control the movement of each moving joint, thereby adjusting the posture and position of the surgical robot robotic arm.
[0036] The control method of the robotic arm, the robotic arm, and the surgical robot of the embodiments of the present disclosure, on the one hand, achieve the purpose of controlling the movement of the motors at each joint of the robotic arm according to the operator's intention by obtaining the force and torque applied to the robotic arm by the operator, thereby achieving the purpose of adjusting the movement of the robotic arm.
[0037] On the other hand, the control method of the robotic arm, the robotic arm and the surgical robot of the disclosed embodiments are suitable for the surgical field. The motor movement at each joint of the robotic arm is controlled according to the operator's intention, which can facilitate medical staff to adjust the position and posture of the robotic arm conveniently and quickly.
[0038] The control method, robotic arm and surgical robot of the embodiments of the present disclosure, on the other hand, set preset thresholds corresponding to the force and torque in the interactive signal, and only control the movement of each moving joint when any of the collected force and torque is greater than the corresponding preset threshold, thereby avoiding the occurrence of erroneous operation after the sensor collects interference signals.
[0039] <Device Example>
[0040] refer to Figure 5 , Figure 5 This is a schematic structural diagram of a robotic arm provided in this embodiment. The robotic arm is provided with: a force sensor 102 and a manipulator 103 , wherein the force sensor 102 and the manipulator 103 are both provided at the control end of the robotic arm 101 .
[0041] Among them, the robotic arm 101 is the robotic arm of a laparoscopic surgery robot in this embodiment, which is used to assist medical personnel in performing surgery and adopts a multi-degree-of-freedom robotic arm.
[0042] The movement of the conveyor mechanism is often referred to as its degrees of freedom. From a mechanical perspective, an object has only six degrees of freedom in space. Therefore, to grasp and convey objects at different positions and orientations in space, the conveyor mechanism must also possess six degrees of freedom. Each degree of freedom of the robotic arm is achieved by independently driven joints in its manipulator. Therefore, in practice, joints and degrees of freedom are synonymous in expressing the manipulator's mobility. Because joints are actually constructed as rotating or moving axes, they are often referred to as axes. Hence, the nomenclature of 6-degrees-of-freedom, 6-joint, or 6-axis manipulators has emerged. These designations all indicate that the manipulator has six independently driven joints, enabling it to grasp objects at any position and orientation within its workspace.
[0043] The force sensor 102, located at the control end of the robotic arm, is used to detect the force and torque applied by the operator. When a medical professional applies external force to the control end of the robotic arm, the force sensor 102 receives this physical signal, converts it into a digital signal, and sends it to the operator 103 for processing.
[0044] In one example, the force sensor 102 mainly consists of three parts:
[0045] 1. Force sensitive element (i.e. elastomer, common materials include aluminum alloy, alloy steel and stainless steel).
[0046] 2. Conversion element (the most common is the resistance strain gauge).
[0047] 3. Circuit part (usually enameled wire, PCB board, etc.).
[0048] The manipulator 103 is used to receive the forces and torques collected by the sensors, input the collected forces and torques into the Jacobian matrix of the manipulator, map the forces and torques at each moving joint, and adjust the postures of each moving joint of the manipulator using admittance control based on the forces and torques of each moving joint.
[0049] The robot is a multi-input, multi-output motion system. To better control its motion, the relationship between the robot's operating space and joint space must be accurately determined. Therefore, after obtaining the robot's structural data, the robot's Jacobian matrix is constructed based on this data. The structural data includes the shape of the robot arm 101, the dimensions of each joint, and the mass of each joint.
[0050] The Jacobian matrix is defined as the mapping matrix that transfers forces and torques to the end operation space.
[0051] In this embodiment, the methods for solving the velocity Jacobian matrix are:
[0052] Position derivative method: direct differentiation of the motion equation;
[0053] Vector product method: vector method solution, simple expression;
[0054] Differential transformation method: differential motion relative to a moving coordinate system;
[0055] Velocity recursion method: deduce the linear velocity and angular velocity of each connecting rod from the base.
[0056] The manipulator 103 receives the forces and torques detected by the force sensor 102. The driving forces (torques) of each joint are transmitted via connecting rods to the actuators at the end of the manipulator, thereby overcoming the external forces (torques). The Jacobian matrix describes the relationship between the forces (torques) acting on the end of the robot and the joint driving forces (torques) when the robot is at rest. In other words, given the end load, the driving forces (torques) of each joint at rest can be calculated.
[0057] In this embodiment, reference Figure 5 The main body of the robotic arm 101 is also provided with a button 104. This button 104 is provided at the control end of the robotic arm and is electrically connected to the controller. The button is used to switch the control mode of the robotic arm. When a press signal from the operator is sensed, a mode switching command is sent to the operator 103 to switch the operating mode of the robotic arm.
[0058] In this embodiment, there is only one button 104, which is a single-finger operation mode. The surface of button 104 is designed to be concave and non-smooth. The operator is wrapped in a soft material, including but not limited to leather, silicone, plastic, etc., which can effectively increase contact force and prevent slipping. The button is arranged at the top of the operator 103 for easy operation.
[0059] Among them, the working modes of the robotic arm include: a mode for adjusting the relative position between the robotic arm and the human body, and a mode for adjusting the posture of the robotic arm relative to the human body. Human-computer interaction is performed through buttons, and different control instructions are given to the robotic arm.
[0060] In this embodiment, reference Figure 6 The main body of the robot arm 101 is also provided with an indicator light 105, which is electrically connected to the controller and is used to reflect the pressing action of the button. Through software settings, the indicator light works in a predetermined manner, thereby representing different working modes of the robot arm control.
[0061] In one embodiment of the present invention, reference Figure 5 , a button 104 is also provided on the main body of the robotic arm 101. There are two buttons 104. The two buttons 104 are symmetrically arranged on the two sides of the robotic arm control end, which are used to simultaneously sense the operator's pressing action. When the two buttons 104 simultaneously sense the pressing force from the outside, the operator 103 can receive the mode switching instruction applied by the outside. This embodiment is a two-finger operation mode, which has been designed for human factors engineering. The button surface is designed to be a concave non-smooth surface, which can effectively increase the contact force and prevent it from slipping out of the hand. The buttons are arranged symmetrically on both sides, and the double-sided trigger mode is adopted to prevent accidental touches. At the same time, it can standardize the operating hand shape and avoid the problem of inaccurate force signal collection caused by the operator's hand touching the robotic arm shell.
[0062] In this embodiment, the pressing signal of the button 104 includes but is not limited to a single-click signal, a long-press signal, and a double-click signal.
[0063] In this embodiment, only one sensor is provided, and a small number of sensors are used, which saves joint space, reduces joint clearance, and improves structural rigidity. The operation of the entire robotic arm is intuitive and convenient for personnel to use.
[0064] The robotic arm provided in this embodiment is installed on a surgical robot, and is used by an operator to operate the robotic arm to complete preoperative positioning.
[0065] <Method Example 1>
[0066] refer to Figure 1 , Figure 1 The figure is a flow chart of a method for controlling a robotic arm according to an embodiment, comprising the following steps:
[0067] Step S100: collecting the interaction signal applied by the operator to the control end of the robotic arm.
[0068] In this embodiment, see Figure 5 As shown, a sensor is set at the control end of the robotic arm. This embodiment uses a force sensor to collect the force and torque applied by the operator.
[0069] Step S200, the interactive signal includes a force signal, a torque signal and / or a key signal. According to the force and torque collected by the sensor obtained in step S100, it is determined whether the collected force or torque is greater than its corresponding preset threshold. If neither is greater than, the sensor waits for the collection of the next applied force and torque; if either is greater than its corresponding preset threshold, the collected force and torque are input into the Jacobian matrix of the robotic arm to determine the force and torque mapped to each moving joint of the robotic arm.
[0070] In this embodiment, the preset threshold value of force is set to prevent the sensor from collecting tiny signals such as zero-position error, sensor's own weight, etc., which may cause the robot arm to move. The preset threshold value of torque is set to prevent the sensor from collecting tiny signals such as zero-position error, sensor's own weight, etc., which may cause the robot elbow joint to rotate. If the force and torque collected by the force sensor 102 are not greater than the preset threshold value, it indicates that the robot has not received the control signal and does not need to respond. Therefore, when the collected force and torque are not greater than the corresponding preset threshold value, the control end of the robot arm does not respond to adjust the position of the robot arm or adjust the posture of the robot arm.
[0071] In this embodiment, before realizing the control of the robotic arm, the corresponding Jacobian matrix is established according to the structural data of the robotic arm, so as to facilitate the subsequent mapping of the force and torque collected by the force sensor 102 to each motion joint.
[0072] In one embodiment, referring to Figure 2 , the step S200 may include the following steps:
[0073] Step S201: Before inputting the collected forces and torques into the Jacobian matrix of the manipulator, gravity compensation and / or sensor zero drift compensation are performed on the collected forces and torques, thereby eliminating or balancing the effects of the manipulator's own gravity and the friction of the joint motor reducer.
[0074] Step S300 , performing admittance control according to the force and torque at each motion joint to control the motion of each motion joint.
[0075] In one embodiment, reference Figure 3 , the step S300 may include the following steps:
[0076] Step S301, obtaining the mass data of each motion joint and collecting the rotation data of each joint motor;
[0077] Step S302, establishing the admittance control equation of each motion joint based on the mass data of each motion joint and the rotation data of the joint motor;
[0078] Step S303: Input the force and torque at each motion joint into the corresponding admittance control equation to generate a displacement signal for each motion joint;
[0079] Step S304: Control the movement of each motion joint according to the displacement signal of each motion joint.
[0080] In this embodiment, the quality data of the calibration of each moving joint of the robotic arm 101 is obtained, and the linear velocity and angular velocity of the motor at each moving joint of the robotic arm 101 are obtained using an encoder when the robotic arm 101 is working. The admittance equation of the corresponding moving joint is established based on the above data, and the admittance equation corresponding to the mapped force and torque input of the moving joint is used to generate a displacement signal of each joint. The joint motor of each joint works according to the displacement signal, thereby changing the posture or position of the robotic arm 101.
[0081] <Method Example 2>
[0082] The robotic arm control method provided in this embodiment includes:
[0083] In step S100 , the operator applies a force to the control end of the robotic arm, and collects interaction signals applied by the operator to the control end of the robotic arm, including force signals, torque signals and / or key signals.
[0084] In this embodiment, sensors are used to acquire interactive signals, which include force signals, torque signals and / or key signals. The sensors collect the force information applied by the operator and transmit it to the robot's controller. The controller controls the movement of the corresponding joint motor according to the operator's intention, and balances the effects of the robotic arm's gravity and the friction of the motor reducer.
[0085] Among them, the six-axis force sensor can sense three axial forces (f x ,f y ,f z ) and three axial moments (m x ,m y ,m z ). The force and torque collected by the sensor are expressed as:
[0086]
[0087] Where F is the force matrix measured by the sensor, M is the moment matrix, and the elements in the matrix represent the components along the x, y, and z axes respectively.
[0088] In this embodiment, a single button or a double button is set to switch the control mode, that is, the motor movement of each moving joint of the robotic arm is adjusted in two modes. Mode one adjusts the position of the robotic arm. When the robotic arm is used in a surgical scene, mode one can be used to change the relative position relationship between the robotic arm and the human body. Mode two adjusts the posture of the robotic arm. When the robotic arm is used in a surgical scene, mode two can be used to change the posture of the robotic arm relative to the human body. If you want to adjust both the relative position between the robotic arm and the human body and the posture of the robotic arm relative to the human body, you can first switch to mode one to adjust the position, and then switch to mode two to adjust the posture. The double button adopts a double-sided trigger mode to prevent accidental touches, and at the same time can standardize the operating hand shape, avoiding the problem of inaccurate force signal collection caused by the operator's hand touching the outer shell of the robotic arm.
[0089] Step S200 determines whether the force or torque is greater than the corresponding preset thresholds F0 and M0. If neither force nor torque is greater than the corresponding preset thresholds, the system waits to collect the next force and torque applied by the operator to the manipulator. If either force or torque is greater than the corresponding preset threshold, a Jacobian matrix is established based on the external structural dimensions of the manipulator. The collected force and torque are input into the Jacobian matrix to map the force and torque at each joint. The Jacobian matrix is pre-constructed based on the structural data of the manipulator 101.
[0090] In this embodiment, a force greater than a first threshold indicates that the parallelogram joint and the revolute joint of the manipulator need to be adjusted. A torque greater than a second threshold indicates that the elbow joint of the manipulator needs to be adjusted. A force greater than the first threshold and a torque greater than the second threshold indicate that the parallelogram joint, the revolute joint, and the elbow joint all need to be adjusted simultaneously. If any one of these thresholds is greater than the first threshold, then either the parallelogram joint and the revolute joint, or the elbow joint, needs to be adjusted.
[0091] In this embodiment, before the collected forces and moments are input into the Jacobian matrix of the manipulator, gravity compensation and / or sensor zero drift compensation are performed on the collected forces and moments. The compensation parameters used for gravity compensation and / or sensor zero drift compensation are pre-calibrated. For example, before the manipulator leaves the factory or during routine maintenance, multiple sets of manipulator end-arm postures are adjusted and data from the sensor acquisition state is recorded to perform gravity compensation and sensor zero drift compensation on the sensors and connectors.
[0092] In this embodiment, the data collected by the force sensor 102 is subjected to gravity compensation and / or sensor zero drift compensation to obtain the force component F e and the moment component M e , force component F e There are three gravity components g x、g y 、g z , the force component f caused by zero drift x0 、f y0 、f z0 The moment component M e Including the moment component m caused by gravity gx 、m gy 、m gz , the torque component m caused by zero drift x0 、m y0 、m z0 , the 12 compensation parameters obtained through gravity compensation and / or sensor zero drift compensation are passed to the controller.
[0093] After receiving the compensation parameters, the compensated force matrix F′ and moment matrix M′ are calculated as follows:
[0094]
[0095] in:
[0096]
[0097]
[0098] Where F e is the force component obtained after compensation, including the force component after gravity compensation and the force component after zero drift; M e is the torque component obtained after compensation, including the torque component after gravity compensation and the torque component after zero drift; F′ is the force matrix after compensation, and M′ is the torque matrix after compensation.
[0099] In this embodiment, after eliminating the effects of gravity compensation and zero drift, the force matrix F′ is compared with its corresponding threshold F0, and the torque matrix M′ is compared with the threshold M0 to determine whether joint adjustment control is required. If the operation value is less than the threshold, no positioning is required. If it is greater than the threshold, the force Jacobian matrix of the robotic arm is established through the kinematic equation. The Jacobian matrix is defined as: a mapping matrix for the transmission of force and torque to the end operation space velocity.
[0100] In this embodiment, the calculation formula for obtaining the joint torque vector is as follows:
[0101]
[0102] Where τ is the joint torque vector, and the matrix elements contain the moment M of the joint i and force f i , subscript i represents the i-th joint, J T is the transpose of the Jacobian matrix, is the torque vector acting on the manipulator's control end. The matrix elements contain the forces and torques acting on the manipulator's control end.
[0103] Distribute the force and torque collected by the end to each motion joint and calculate the torque M at the joint i and force f i Get the control mode of the robot arm. Mode 1 can be used to change the relative position relationship between the robot arm and the human body. Mode 2 can be used to change the posture of the robot arm relative to the human body. The mode determines whether each joint of the robot arm needs to rotate or move. Among them, the rotation joints involved in the movement calculate M i , move the joint to calculate f i .
[0104] Step S300 , performing admittance control according to the force and torque at each motion joint to control the motion of each motion joint.
[0105] In this embodiment, referring to Figure 4 , the step S300 may include the following steps:
[0106] Step S301, obtaining the control mode of the robotic arm;
[0107] Step S302, obtaining the mass data of each motion joint, and using an encoder to collect the rotation data of each joint motor, such as angular velocity and linear acceleration;
[0108] Step S303, establishing an admittance control equation for each motion joint corresponding to the control mode according to the mass data of each motion joint, the rotation data of the joint motor, and the control mode;
[0109] Step S304: Input the force and torque at each motion joint into the corresponding admittance control equation to generate a displacement signal for each motion joint;
[0110] Step S305 , controlling the movement of each movement joint according to the displacement signal of each movement joint.
[0111] In this embodiment, the control mode of the robot arm 101 is a position adjustment mode or a posture adjustment mode. A mode switching instruction is inputted using a key 104, and an indicator light 105 indicates the control mode of the robot arm.
[0112] In this embodiment, the control mode of the robotic arm is obtained, and the control mode is switched by a key input instruction. After the control mode of the robotic arm is determined, the quality data of the calibration of each moving joint of the robotic arm 101 is obtained, and the encoder is used to obtain the linear velocity and angular velocity of the motor at each moving joint when the robotic arm 101 is working. The admittance equation of the moving joint in the corresponding mode is established based on the above data, and the admittance equation corresponding to the mapped force and torque input of the moving joint is used to generate a displacement signal of each joint. The joint motor of each joint works according to the displacement signal, thereby changing the posture or position of the robotic arm 101.
[0113] In this embodiment, the admittance control equation of the motion joint is first established:
[0114]
[0115] f i =m i a i +c i v i
[0116] Where M i is the joint torque, f i is the joint force, m i is the joint mass, α i is the angular acceleration of the joint motor, a i is the linear acceleration of the joint motor, c i is the damping of the joint motor, is the joint rotation angular velocity, v i is the joint movement speed.
[0117] Through joint admittance control, the joint torque signal is converted into a joint velocity signal, the joint motor is controlled, and interactive control is completed.
[0118] <Equipment Example>
[0119] Figure 6 FIG. 1 is a block diagram of a device according to an embodiment. Figure 6 As shown, the robotic arm device may include a sensor module and a controller module.
[0120] In one embodiment, the sensor module can be used to obtain the force and torque applied by the operator to the control end of the robotic arm.
[0121] The controller module can be used to determine whether the collected force or torque is greater than its corresponding preset threshold. If either one is greater than its corresponding preset threshold, the collected force and torque are input into the Jacobian matrix of the robotic arm to determine the force and torque mapped to each moving joint of the robotic arm; admittance control is performed according to the force and torque at each moving joint to control the movement of each moving joint.
[0122] Figure 6 is a schematic diagram of the hardware structure of an electronic device according to another embodiment.
[0123] like Figure 6 As shown, the electronic device includes a processor and a memory, the memory is used to store an executable computer program, and the processor is used to execute a method as any of the above method embodiments under the control of the computer program.
[0124] The electronic device may be Figure 6 Controller in .
[0125] Each module of the above electronic device may be implemented by the processor in this embodiment executing a computer program stored in a memory, or may be implemented by other circuit structures, which is not limited here.
[0126] The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.
[0127] A computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. A computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. As used herein, a computer-readable storage medium is not to be construed as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
[0128] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.
[0129] The computer program instructions for performing the operation of the present invention can be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as "C" language or similar programming languages. The computer readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as an independent software package, partially on the user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), is personalized by utilizing the state information of the computer readable program instructions, and the electronic circuit can execute the computer readable program instructions, thereby realizing various aspects of the present invention.
[0130] Various aspects of the present invention are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present invention. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.
[0131] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.
[0132] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.
[0133] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present invention. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of an instruction, and the module, program segment or part of the instruction contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are all equivalent.
[0134] While various embodiments of the present invention have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technological improvements in the marketplace, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of the present invention is defined by the appended claims.
Claims
1. A method for controlling a robotic arm, characterized in that: The following steps are involved: Collect the interactive signals applied by the operator to the control end of the robotic arm; Determine whether the collected interaction signal is greater than its corresponding preset threshold. If it is greater than its corresponding preset threshold, input the collected interaction signal into the Jacobian matrix of the robotic arm to determine the interaction signal mapped to each motion joint of the robotic arm; Perform admittance control according to the interaction signals at each motion joint to control the motion of each motion joint; The step of performing admittance control according to the interaction signals at each motion joint includes: Acquire a control mode of the robotic arm, where the control mode is a position adjustment mode or a posture adjustment mode. The position adjustment mode is used to change the relative position relationship between the robotic arm and the human body, and the posture adjustment mode is used to change the posture of the robotic arm relative to the human body. Obtain the quality data of each motion joint and collect the rotation data of each joint motor; Establishing an admittance control equation for each motion joint corresponding to the control mode according to the mass data of each motion joint, the rotation data of the joint motor and the control mode; The force and torque at each motion joint are input into the corresponding admittance control equation to generate the displacement signal of each motion joint; According to the displacement signal of each moving joint, the movement of each moving joint is controlled.
2. The method according to claim 1, wherein The method further comprises: The interactive signal includes a force signal, a torque signal and / or a key signal. Before the collected force and torque are input into the Jacobian matrix of the robotic arm, the collected force and torque are compensated for gravity and / or sensor zero drift.
3. A robotic arm, characterized in that: Includes sensors and controllers; The sensor is provided at the control end of the robotic arm and is used to collect the interaction signal applied by the operator; The controller includes a processor and a memory, wherein the memory stores a program that can be run on the processor, and when the program is executed by the processor, the steps of the method according to claim 1 or 2 are implemented.
4. The robotic arm according to claim 3, wherein: Also included are buttons connected to the controller: The button is used to switch the control mode of the robotic arm.
5. The robotic arm according to claim 4, wherein: There are two buttons, which are symmetrically arranged on two sides of the robotic arm.
6. The robotic arm according to claim 3 or 4, characterized in that: Also included is an indicator light connected to the controller; The indicator light is used to indicate the control mode of the robotic arm.
7. A surgical robot, characterized in that: include: A robotic arm according to any one of claims 3 to 6.
8. An electronic device comprising a memory and a processor, wherein the memory is used to store a computer program; and the processor is used to execute the computer program to implement the method according to claim 1 or 2.
9. A computer-readable storage medium storing a computer program, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the computer program implements the method according to claim 1 or 2.
Citation Information
Patent Citations
Ascertaining an input command for a robot, said input command being entered by manually exerting a force onto the robot
CN108139747A
Mechanical arm, working method thereof and surgical robot
CN108210070A
Mechanical arm dragging teaching method based on terminal six-dimensional force sensor
CN110977990A
Passive and active arm control schemes with sensor integration to support tele-operation and direct manual interaction
US20210298850A1