A robot control method, device, robot system, and storage medium
By incorporating operational space and joint space constraints into the robot control method, the acceleration and torque of the next control cycle are calculated, thus solving the problem of inaccurate robot movement in confined spaces and improving the operational precision and safety of the robot's end-effector surgical instruments.
Patent Information
- Application Number
- CN202310956165.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-31
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2043-07-31
AI Technical Summary
Existing robot control methods do not simultaneously consider both operational space constraints and joint space constraints, resulting in inaccurate movement of the robot's end-effectors within confined spaces.
By determining the acceleration constraints for the next control cycle based on the robot's maneuver space and joint space constraints, and combining the robot's joint torque and motion information in the current control cycle, the joint acceleration and joint torque for the next control cycle are calculated to ensure the robot's accurate movement within the confined space.
It enables accurate movement of the robot in confined spaces, improving the operational precision and safety of the robot's end-effector surgical instruments.
Smart Images

Figure CN119427337B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control, and in particular to a robot control method, apparatus, robot system, and storage medium. Background Technology
[0002] In order to improve safety and intelligent interactivity during the operation of medical robots, the application of virtual gripper technology is becoming more and more widespread. This technology limits the working space of the robot's end-effectors as needed, allowing the robot to move within a confined space and safely complete the operation.
[0003] Existing robot control methods do not simultaneously consider the constraints of operating space and joint space, thus failing to guarantee the accuracy of the robot's end effector movement within the confined space. Summary of the Invention
[0004] This application provides a robot control method, device, robot system, and storage medium to address the problem that existing robot control methods do not simultaneously consider the limitations of operating space constraints and joint space constraints, thus failing to guarantee the accuracy of the robot's end effector movement within a confined space.
[0005] In a first aspect, this application provides a robot control method, the method comprising:
[0006] Based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle, the joint acceleration of the robot in the next control cycle is determined; the acceleration constraints are determined based on the robot's operating space constraints and the robot's joint space constraints, which are determined based on the robot's constraint space.
[0007] Based on the joint acceleration of the robot in the next control cycle, determine the joint torque of the robot in the next control cycle;
[0008] The robot is controlled based on the joint torque of the robot in the next control cycle.
[0009] In some embodiments, the method further includes:
[0010] Based on the robot's operating space constraints, the robot's joint space constraints, and the relationship between the robot's motion information in the current control cycle and the robot's motion information in the next control cycle, the acceleration constraints of the robot in the next control cycle are determined.
[0011] In some of these embodiments, the robot motion information includes joint positions and joint velocities;
[0012] The step of determining the joint acceleration of the robot in the next control cycle based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle includes:
[0013] Based on the joint torque, joint position, and joint velocity of the robot in the current control cycle, determine the joint acceleration and end effector acceleration of the robot in the current control cycle;
[0014] Based on the joint acceleration and end effector acceleration of the robot in the current control cycle and the predetermined acceleration constraints of the robot in the next control cycle, the joint acceleration of the robot in the next control cycle is determined.
[0015] In some embodiments, determining the joint acceleration and end effector acceleration of the robot in the current control cycle based on the joint torque, joint position, and joint velocity of the robot in the current control cycle includes:
[0016] Based on the joint torque, joint external force, joint position, and joint velocity of the robot in the current control cycle, the joint acceleration of the robot in the current control cycle is calculated using the robot's dynamic model.
[0017] Obtain the mapping relationship between the robot's joint accelerations and end effector accelerations;
[0018] The robot's end-effector acceleration in the current control cycle is calculated based on the joint acceleration of the robot in the current control cycle and the mapping relationship.
[0019] In some embodiments, determining the joint acceleration of the robot in the next control cycle based on the robot's joint acceleration and end effector acceleration in the current control cycle and predetermined acceleration constraints for the robot in the next control cycle includes:
[0020] The robot's acceleration at the end of the current control cycle is determined based on the robot's acceleration at the end of the current control cycle and the predetermined acceleration constraints for the robot in the next control cycle.
[0021] The joint acceleration of the robot in the next control cycle is determined based on the robot's end-of-cycle acceleration.
[0022] In some embodiments, determining the joint torque of the robot in the next control cycle based on the joint acceleration of the robot in the next control cycle includes:
[0023] Based on the joint position and joint velocity of the robot in the current control cycle and the joint acceleration of the robot in the next control cycle, the joint torque of the robot in the next control cycle is determined.
[0024] In some embodiments, determining the joint acceleration of the robot in the next control cycle based on the robot's joint acceleration and end effector acceleration in the current control cycle and predetermined acceleration constraints for the robot in the next control cycle includes:
[0025] The robot's acceleration at the end of the current control cycle is determined based on the robot's acceleration at the end of the current control cycle and the predetermined acceleration constraints of the robot in the next control cycle.
[0026] Based on the robot's end-of-cycle acceleration, the initial joint acceleration of the robot in the next control cycle is determined using the robot's dynamic model.
[0027] The joint acceleration of the robot in the next control cycle is determined based on the initial joint acceleration of the robot in the next control cycle and the predetermined acceleration constraints of the robot in the next control cycle.
[0028] In some embodiments, the geometry of the robot's constraint space is determined based on the surgical area and the target tissue corresponding to the surgical area.
[0029] Secondly, this application provides a robot control device, the device comprising:
[0030] The first determining module is used to determine the joint acceleration of the robot in the next control cycle based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle; the acceleration constraints are determined based on the robot's operating space constraints and the robot's joint space constraints, and the operating space constraints and the joint space constraints are determined based on the robot's constraint space.
[0031] The second determining module is used to determine the joint torque of the robot in the next control cycle based on the joint acceleration of the robot in the next control cycle.
[0032] An execution module is used to control the robot based on the joint torque of the robot in the next control cycle.
[0033] Thirdly, this application provides a robot system comprising a robot, the robot including a robotic arm, the robot being configured to execute the robot control method described in the first aspect, thereby controlling the motion of the robotic arm via the method.
[0034] Fourthly, this application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the robot control method described in the first aspect.
[0035] Compared with existing technologies, the robot control method, device, robot system, and storage medium provided in this application determine the acceleration constraints for the next control cycle based on the robot's operating space constraints and joint space constraints. Based on the robot's joint torque in the current control cycle, robot motion information, and the predetermined acceleration constraints for the next control cycle, the joint acceleration of the robot in the next control cycle is determined. Based on the joint acceleration of the robot in the next control cycle, the joint torque of the robot in the next control cycle is determined. The robot is then controlled based on the joint torque of the robot in the next control cycle. This approach simultaneously considers the limitations of both operating space constraints and joint space constraints to control the robot, thereby solving the technical problem that existing robot control methods do not simultaneously consider the limitations of operating space constraints and joint space constraints, and therefore cannot guarantee the accuracy of the robot's end effector movement within a confined space.
[0036] Details of one or more embodiments of this application are set forth in the following drawings and description to make other features, objects and advantages of this application more readily apparent. Attached Figure Description
[0037] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0038] Figure 1 This is a hardware structure block diagram of a terminal that executes a robot control method according to an embodiment of this application;
[0039] Figure 2 This is a flowchart of a robot control method according to an embodiment of this application;
[0040] Figure 3 This is a schematic diagram of a robot system based on torque control according to a specific embodiment of the present invention;
[0041] Figure 4 This is a flowchart of a robot control method according to a specific embodiment;
[0042] Figure 5 This is a schematic diagram of the constraint space in this specific embodiment;
[0043] Figure 6 This is a structural block diagram of a robot control device according to an embodiment of this application. Detailed Implementation
[0044] To better understand the purpose, technical solution, and advantages of this application, the application is described and illustrated below in conjunction with the accompanying drawings and embodiments.
[0045] Unless otherwise defined, the technical or scientific terms used in this application shall have the general meaning as understood by one of ordinary skill in the art to which this application pertains. Words such as “a,” “an,” “an,” “the,” “the,” and “these,” used in this application, do not indicate quantitative limitation and may be singular or plural. The terms “comprising,” “including,” “having,” and any variations thereof used in this application are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that comprises a series of steps or modules (units) is not limited to the listed steps or modules (units) but may include steps or modules (units) not listed, or may include other steps or modules (units) inherent to such processes, methods, products, or devices. The terms “connected,” “linked,” and “coupled,” used in this application, are not limited to physical or mechanical connections but may include electrical connections, whether direct or indirect. The term “multiple” used in this application refers to two or more. The "and / or" operator describes the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: A alone, A and B simultaneously, and B alone. Typically, the character " / " indicates that the objects before and after it are in an "or" relationship. The terms "first," "second," and "third," etc., used in this application are merely for distinguishing similar objects and do not represent a specific ordering of the objects.
[0046] The method embodiments provided in this application can be executed on a terminal, computer, or similar computing device. For example, they can be run on a terminal. Figure 1 This is a hardware structure block diagram of a terminal executing a robot control method according to an embodiment of this application. For example... Figure 1 As shown, a terminal may include one or more ( Figure 1Only one is shown in the diagram. A processor 102 and a memory 104 for storing data are also included. The processor 102 may be, but is not limited to, a microprocessor (MCU) or a programmable logic device (FPGA). The terminal may also include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that… Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the terminal described above. For example, the terminal may also include components that are larger than... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown are illustrated.
[0047] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to a robot control method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the aforementioned method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0048] The transmission device 106 is used to receive or send data via a network. This network includes a wireless network provided by the terminal's communication provider. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 can be a Radio Frequency (RF) module used for wireless communication with the Internet.
[0049] This application provides a robot control method. Figure 2 This is a flowchart of a robot control method according to an embodiment of this application, such as... Figure 2 As shown, the process includes the following steps:
[0050] Step S210: Based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle, determine the joint acceleration of the robot in the next control cycle; the acceleration constraints are determined based on the robot's operating space constraints and the robot's joint space constraints, which are determined based on the robot's constraint space.
[0051] Specifically, based on the robot's manipulator space constraints, joint space constraints, and the relationship between the robot's motion information in the current control cycle and the robot's motion information in the next control cycle, the acceleration constraints for the robot in the next control cycle are determined. The manipulator space constraints and joint space constraints are determined based on the robot's constrained space, i.e., the restricted manipulator space. More specifically, the robot's motion information for the next control cycle is estimated based on the robot's motion information in the current control cycle. This estimated motion information is then substituted into the robot's manipulator space constraints and joint space constraints to determine the robot's acceleration constraints for the next control cycle. The acceleration constraints include the robot's end-effector acceleration constraints and joint acceleration constraints. The manipulator space constraints are Cartesian space constraints, i.e., end-effector constraints. The joint space constraints are the robot's own joint constraints. The manipulator space constraints include Cartesian position constraints, Cartesian velocity constraints, and Cartesian acceleration constraints. The joint space constraints include joint position constraints, joint velocity constraints, and joint acceleration constraints.
[0052] It should be noted that the robot motion information here includes the robot's end-effector position, maximum end-effector position, minimum end-effector position, end-effector velocity, maximum end-effector velocity, minimum end-effector velocity, end-effector acceleration, maximum end-effector acceleration, minimum end-effector acceleration, joint position, maximum joint position, minimum joint position, joint velocity, maximum joint velocity, minimum joint velocity, joint acceleration, maximum joint acceleration, minimum joint acceleration, etc.
[0053] Step S220: Determine the joint torque of the robot in the next control cycle based on the joint acceleration of the robot in the next control cycle.
[0054] Specifically, the joint torque of the robot in the next control cycle is determined based on the joint position of the robot in the current control cycle, the joint velocity of the robot in the current control cycle, and the joint acceleration of the robot in the next control cycle determined in step S210.
[0055] Step S230: Control the robot according to the joint torque of the robot in the next control cycle.
[0056] Specifically, the joint torque of the robot can be used to determine the joint acceleration of the robot through forward dynamics. The robot is controlled according to the determined joint acceleration, so that the corresponding robot operation space constraints and joint space constraints are met in each control cycle.
[0057] In this embodiment, the acceleration constraint conditions for the next control cycle are determined based on the robot's operating space constraints and joint space constraints. The joint acceleration of the robot in the next control cycle is determined based on the robot's joint torque in the current control cycle, the robot's motion information, and the predetermined acceleration constraint conditions for the next control cycle. The joint torque of the robot in the next control cycle is then determined based on the joint acceleration. The robot is then controlled based on the joint torque in the next control cycle. This approach simultaneously considers the limitations of both operating space constraints and joint space constraints, thus solving the technical problem of existing robot control methods that fail to simultaneously consider the limitations of operating space constraints and joint space constraints, making it impossible to guarantee the accuracy of the robot's end effector movement within a confined space.
[0058] In some embodiments, determining the joint acceleration of the robot in the next control cycle based on the robot's joint torque in the current control cycle, robot motion information, and predetermined acceleration constraints for the robot in the next control cycle includes: determining the joint acceleration and end effector acceleration of the robot in the current control cycle based on the robot's joint torque, joint position, and joint velocity; and determining the joint acceleration of the robot in the next control cycle based on the robot's joint acceleration, end effector acceleration, and predetermined acceleration constraints for the robot in the next control cycle.
[0059] In some embodiments, determining the joint acceleration and end effector acceleration of the robot in the current control cycle based on the joint torque, joint position, and joint velocity of the robot in the current control cycle includes: calculating the joint acceleration of the robot in the current control cycle using the robot's dynamic model based on the joint torque, joint external force, joint position, and joint velocity of the robot in the current control cycle; obtaining the mapping relationship between the robot's joint acceleration and end effector acceleration; and calculating the end effector acceleration of the robot in the current control cycle based on the joint acceleration of the robot in the current control cycle and the obtained mapping relationship between the robot's joint acceleration and end effector acceleration.
[0060] In some embodiments, the joint acceleration of the robot in the next control cycle is determined based on the robot's joint acceleration and end effector acceleration in the current control cycle, and predetermined acceleration constraints for the robot in the next control cycle, including:
[0061] Based on the robot's end-of-cycle acceleration in the current control cycle and the predetermined acceleration constraints for the robot in the next control cycle, determine the robot's end-of-cycle acceleration.
[0062] Based on the robot's end-of-cycle acceleration, determine the robot's joint acceleration for the next control cycle.
[0063] In some embodiments, determining the joint acceleration of the robot in the next control cycle based on the robot's joint acceleration and end effector acceleration in the current control cycle, and predetermined acceleration constraints for the robot in the next control cycle, includes: determining the robot's end effector acceleration in the next control cycle based on the robot's end effector acceleration in the current control cycle and predetermined acceleration constraints for the robot in the next control cycle; determining the robot's initial joint acceleration in the next control cycle using the robot's dynamics model based on the robot's end effector acceleration in the next control cycle; and determining the robot's joint acceleration in the next control cycle based on the initial joint acceleration and predetermined acceleration constraints for the robot in the next control cycle.
[0064] In some of these embodiments, the geometry of the robot's constraint space is determined based on the surgical area and the target tissue corresponding to the surgical area.
[0065] Specifically, the robot's constraint space is a safe operating space determined based on the surgical area and the corresponding target tissue. The geometry of this safe operating space is determined according to the geometry of the surgical area and the corresponding target tissue. The target tissue can be tissues such as the knee joint or pelvis. The geometry of the robot's constraint space varies depending on the surgical area and the corresponding target tissue. For example, for the pelvis, the robot's constraint space can be a conical constraint space; for the knee joint, it can be a planar constraint space; and for other tissues, it can be a cuboid constraint space.
[0066] This application provides a robot for performing the robot control method described in the foregoing embodiments.
[0067] Specifically, the robot includes a controller and an end effector, which are connected to each other. The controller executes the robot control method described in the embodiment to control the robot's end effector to move accurately within a constrained space.
[0068] In this embodiment, the robot determines the acceleration constraint conditions for the next control cycle based on the robot's operating space constraints and joint space constraints. Based on the robot's joint torque in the current control cycle, robot motion information, and the pre-determined acceleration constraint conditions for the next control cycle, the robot determines its joint acceleration for the next control cycle. Based on the joint acceleration in the next control cycle, the robot's joint torque for the next control cycle is determined. The robot is then controlled based on its joint torque for the next control cycle. This simultaneous consideration of the limitations of both operating space constraints and joint space constraints solves the technical problem of existing robots that fail to simultaneously consider the limitations of both operating space constraints and joint space constraints, thus failing to guarantee the accuracy of the robot's end effector movement within a confined space.
[0069] This application provides a robot system including a robot with a robotic arm. The robot is used to execute the robot control method described in the foregoing embodiments, via which the robotic arm of the robot is motion controlled.
[0070] In this embodiment, the robot system determines the acceleration constraint conditions for the next control cycle based on the robot's operating space constraints and joint space constraints. Based on the robot's joint torque in the current control cycle, robot motion information, and the pre-determined acceleration constraint conditions for the next control cycle, the system determines the robot's joint acceleration for the next control cycle. Based on the robot's joint acceleration in the next control cycle, the system determines the robot's joint torque for the next control cycle. The system then controls the robot based on the joint torque for the next control cycle. By simultaneously considering the limitations of both operating space constraints and joint space constraints, the system solves the technical problem of existing robot systems that fail to simultaneously consider the limitations of operating space constraints and joint space constraints, thus failing to guarantee the accuracy of the robot's end effector movement within a confined space.
[0071] The embodiments of this application will be described and illustrated below through specific examples.
[0072] Taking total hip replacement surgery as an example, the purpose of this surgery is to replace the diseased hip joint with a joint prosthesis. During the surgery, the robotic system needs to ensure the safety and precision of the operation. Specifically, this includes precisely grinding the planned hemispherical volume of the acetabular reamer without damaging the target tissue. To achieve the safety and precision requirements during the surgery, this specific embodiment provides a torque-controlled robotic system to assist the surgeon in the operation. Figure 3 As shown, the robot system includes:
[0073] Constraint space 1, a safe operating space determined based on the surgical area and target tissue, can be a conical constraint region. This constraint space 1 is a virtual geometric region where position / velocity / acceleration constraints can be defined. When the doctor drags the tool to different positions, the robotic arm 2 will apply corresponding feedback forces based on the constraint conditions to prompt and correct the doctor's operational errors.
[0074] The robotic arm 2 is used to execute the robot control method described in the foregoing embodiments to control the state of the pose constraint tool 3 and provide force feedback to achieve precise operation. Here, tool 3 is the end effector of the robot described in the foregoing embodiments, and robotic arm 2 is the robot described in the foregoing embodiments.
[0075] Tool 3 is used to grind and file the volume of the acetabular hemisphere.
[0076] The trolley array 4, mounted on the trolley 7 which is fixedly connected to the robotic arm 2, is used in conjunction with the navigation device 6 to determine the position of the robotic arm base in space.
[0077] The pelvic array 5, installed on the patient's pelvis, is used in conjunction with the navigation device 6 to determine the position of the pelvis in space.
[0078] Navigation device 6 is used to locate the position of the robotic arm base and the patient's pelvis during surgery.
[0079] In this embodiment, the robot system determines the acceleration constraint conditions for the next control cycle based on the robot's operating space constraints and joint space constraints. Based on the robot's joint torque in the current control cycle, robot motion information, and the pre-determined acceleration constraint conditions for the next control cycle, the system determines the robot's joint acceleration for the next control cycle. Based on the robot's joint acceleration in the next control cycle, the system determines the robot's joint torque for the next control cycle. The system then controls the robot based on the joint torque for the next control cycle. By simultaneously considering the limitations of both operating space constraints and joint space constraints, the system solves the technical problem of existing robot systems that fail to simultaneously consider the limitations of operating space constraints and joint space constraints, thus failing to guarantee the accuracy of the robot's end effector movement within a confined space.
[0080] Figure 4 This is a flowchart of a robot control method according to a specific embodiment of this invention. Figure 4 As shown, the process includes the following steps:
[0081] Step S410: Determine the constraint conditions and convert them into acceleration constraint conditions.
[0082] Specifically, acceleration constraints include end-effector acceleration constraints and joint acceleration constraints. Position, velocity, and acceleration can be linked and constraints can be transformed through forward and backward control cycles. The joint torque of the robotic arm can be determined through forward dynamics to determine joint acceleration. Similarly, based on the state (position, velocity) of the robotic arm's joints, the required joint torque can be determined through inverse dynamics. Constraints at the acceleration level provide more intuitive and effective feedback to control commands, and compared to controlling joint position / velocity, controlling joint torque is smoother.
[0083] More specifically, the constraint space includes Cartesian space constraints (task constraints, end-effector constraints) and joint space constraints (lower-level implementation, constraints of the robot joints themselves), and the general constraint relationship is expressed as shown in equation (1):
[0084]
[0085] Where, x, These represent Cartesian position, Cartesian velocity, and Cartesian acceleration, respectively, x. These can also be referred to as end-effector position, end-effector velocity, and end-effector acceleration; that is, Cartesian space constraints include Cartesian position constraints, Cartesian velocity constraints, and Cartesian acceleration constraints, q, The joint space constraints include joint position, joint velocity, and joint acceleration, respectively. min x max These are the minimum and maximum values at the Cartesian position, respectively. These are the minimum and maximum values of the Cartesian velocity, respectively. Let q be the minimum and maximum values of Cartesian acceleration, respectively. min q max These are the minimum and maximum values for the joint position, respectively. These are the minimum and maximum values of the joint velocity, respectively. These are the minimum and maximum values of the joint acceleration, respectively. Formula (1) represents the general constraint relationship, which can also be called the initial constraint relationship.
[0086] In order to constrain the tool to stop at the boundary, the velocity and acceleration must be zero when the position is at the boundary. Based on this, additional constraints can be added to ensure stability at the boundary.
[0087] Estimate the velocity and position at the next moment (next control cycle) from the current moment (current control cycle):
[0088]
[0089]
[0090]
[0091]
[0092] Where T is the control period, x k , q k , These represent the current end-effector position, end-effector velocity, joint position, and joint velocity, respectively, x. k+1 , q k+1 , These represent the estimated state at the next moment, namely the end position, end velocity, joint position, and joint velocity at the next moment. One possible approach is to use limited acceleration; limiting acceleration can better ensure the smoothness of the motion.
[0093] Substituting equations (2) to (5) into equation (1) yields the acceleration constraints in Cartesian space and joint space, namely the acceleration constraints at the end point and the acceleration constraints at the joints, as shown in equation (6):
[0094]
[0095] Wherein, min represents the minimum value, max represents the maximum value, equation (1) is the basic constraint determined based on the constraint space, and equation (6) is the acceleration constraint condition obtained by converting position, velocity, and acceleration in relation to each other in the preceding and following control cycles, based on equation (1). The acceleration constraint conditions of the end effector and the joints determined by equation (6) are the predetermined acceleration constraint conditions of the robot in the next control cycle as described in the aforementioned embodiment. The acceleration constraint conditions of the end effector and the joints are: the minimum value of the end effector acceleration is The maximum of the three, the maximum value of the terminal acceleration is The minimum of the three; the minimum value of joint acceleration is The maximum value among the three is the maximum value of the joint acceleration. It is the minimum value among the three.
[0096] Step S420: Obtain the current state of the robotic arm and calculate the acceleration based on the torque.
[0097] Specifically, the current state of the robotic arm (end-effector and joint positions and velocities) is obtained. This state includes end-effector position, end-effector velocity, joint position, and joint velocity. End-effector acceleration and joint acceleration are calculated based on the joint commands from the previous moment. Joint position can be obtained through a robotic arm joint encoder, and joint velocity is obtained through differential calculation. End-effector position is obtained through forward kinematics, and end-effector velocity is obtained by multiplying the Jacobian matrix by the joint velocity. Since directly calculating acceleration through position differential results in significant noise, joint acceleration and end-effector acceleration are calculated using forward kinematics. Alternatively, Kalman filtering can be used to process the joint angles to obtain joint acceleration.
[0098] More specifically, entering the controller's initial static state corresponds to The state is constrained to meet the conditions in each control cycle through iterative constraints. Here, iterative constraints refer to the cyclic execution of steps S410 to S440, with each cycle corresponding to one loop. In free space, the controller only needs to compensate for gravity and Coriolis force (or only gravity), corresponding to τ = g + c, where τ, c, and g are the joint output torque, Coriolis force, and gravity, respectively.
[0099] Based on the current joint position, joint velocity, joint external force (environmental force), and joint torque command from the previous cycle (an optional approach is to directly use the actual force detected by sensors), the joint acceleration and end-effector acceleration for the current control cycle are calculated using a dynamic model. Based on the joint torque, joint external force, joint position, and joint velocity of the robotic arm in the current control cycle, the joint acceleration of the robotic arm in the current control cycle is calculated using the robotic arm's dynamic model. Based on the joint acceleration of the robotic arm in the current control cycle and the mapping relationship between joint acceleration and end-effector acceleration, the end-effector acceleration of the robotic arm in the current control cycle is calculated. The mapping relationship between joint acceleration and end-effector acceleration can be derived from the mapping relationship between joint velocity and end-effector velocity. The mapping relationship between joint velocity and end-effector velocity is as follows: The mapping relationship between joint acceleration and end-effector acceleration can be: Where J is the Jacobian matrix.
[0100] Step S430: Limit the end effector acceleration and joint acceleration to determine the joint acceleration of the robotic arm in the next control cycle.
[0101] Specifically, the end-effector acceleration and joint acceleration are limited, with boundary values used for values exceeding the limits. Since the output power and torque of the robotic arm joints are limited, the calculated desired joint acceleration or end-effector acceleration may exceed the motor's output capacity. Therefore, the desired acceleration is limited within the motor's output capacity to ensure effective output. One option is to determine the range of joint and end-effector acceleration based on common configurations and motor output capacity, and take the minimum value as the constraint. Another option is to collect the actual joint and end-effector speed limits from multiple cycles and select the narrowest range or a certain proportion based on this range. Yet another option is to calculate the shutdown acceleration and end-effector acceleration values based on the motor's output capacity and the current state as thresholds, which can also be selected according to a certain proportion and updated in each cycle to maximize the utilization of the motor's output capacity.
[0102] More specifically, the end-effector acceleration and joint acceleration are limited, the input end-effector acceleration is constrained during iteration, and the desired end-effector acceleration value is calculated, as shown in equation (7):
[0103]
[0104] The desired terminal acceleration value is obtained by constraining the input terminal acceleration. The maximum value among the four, of which The input is the terminal acceleration.
[0105] The initial expected joint acceleration is calculated based on the desired end-effector acceleration and the dynamic model. The calculated initial expected joint acceleration is then constrained to obtain the constrained expected joint acceleration value, as shown in equation (8).
[0106]
[0107] The initial desired joint acceleration is constrained to obtain the constrained desired joint acceleration value. The maximum value among the four is, where, The initial desired joint acceleration is to be solved.
[0108] The desired end-effector acceleration here refers to the end-effector acceleration of the robot in the next control cycle as described in the previous embodiment. The initial desired joint acceleration here refers to the initial joint acceleration of the robot in the next control cycle as described in the previous embodiment. The constrained desired joint acceleration value here refers to the joint acceleration of the robot in the next control cycle as described in the previous embodiment.
[0109] Based on the end-effector acceleration of the robotic arm in the current control cycle and the end-effector acceleration constraint in equation (6), determine the end-effector acceleration of the robotic arm in the next control cycle; based on the end-effector acceleration of the robotic arm in the next control cycle, use the dynamic model of the robotic arm to determine the initial joint acceleration of the robotic arm in the next control cycle; based on the initial joint acceleration of the robotic arm in the next control cycle and the joint acceleration constraint in equation (6), determine the joint acceleration of the robotic arm in the next control cycle.
[0110] Step S440: Calculate the desired joint torque based on the current position, velocity, and constrained desired joint acceleration, and send the control to the robotic arm.
[0111] Specifically, the desired joint torque is calculated based on the current position, velocity, and constrained desired joint acceleration, and then sent to control the robotic arm. Iterative control is performed from the initial state to ensure that the controller meets the constraints during operation, with a control frequency of 1000Hz. Near the boundary, the arm automatically decelerates according to the constraints to ensure compliance. More specifically, the desired joint torque is calculated using inverse dynamics based on the current joint position, joint velocity, and constrained desired joint acceleration, and this calculated torque is sent to control the robotic arm. The calculated joint torque serves as the initial value for the joint torque in the next iteration, ensuring that the corresponding Cartesian space and joint space constraints are met within each control cycle. The joint torque for each control cycle is calculated and sent to constrain the tool or end effector within a safe range, ensuring the smoothness and safety of the doctor's operation.
[0112] The above embodiment restricts the acceleration layer of the robotic arm, or it can be restricted at the accelerometer layer or the velocity layer, and finally it is converted into the joint torque of the robotic arm.
[0113] In this embodiment, the acceleration constraint condition for the next control cycle is determined based on the robotic arm's operating space constraint and joint space constraint. The joint acceleration of the robotic arm in the next control cycle is determined based on the joint torque of the robotic arm in the current control cycle, the robotic arm motion information, and the predetermined acceleration constraint condition for the next control cycle. The joint torque of the robotic arm in the next control cycle is then determined based on the joint acceleration. The robotic arm is then controlled based on the joint torque in the next control cycle. This approach simultaneously considers the limitations of both operating space and joint space constraints, thus solving the technical problem of existing robotic arm control methods that fail to simultaneously consider the limitations of both operating space and joint space constraints, making it impossible to guarantee the accuracy of the surgical instrument's movement within a confined space.
[0114] In some of these embodiments, the geometry of the constraint space is determined based on the surgical area and the target tissue, and may be a funnel-shaped constraint space, a cone-shaped constraint space, a planar constraint space, or a cuboid constraint space, etc. Figure 5 The diagram illustrates three types of constraint spaces: conical constraint space, planar constraint space, and cuboid constraint space. More complex constraints can be extended from the basic constraints.
[0115] The constraints in a cone-shaped constrained space only require refining the general constraints. For example... Figure 5 As shown, the world coordinate system is OXYZ, with the centerline of the cone as the positive Z-axis and the fixed point of the cone as the origin of the coordinate system. The X3Y3 axis can be determined by rotating the world coordinate system to align the Z-axis of the two coordinate systems, thus establishing a coordinate system of O3X3Y3Z3. From this, the position constraints, combined velocities, and accelerations in the three directions of the corresponding Cartesian space can be obtained, thus deriving all constraints. The conical constraint space generally corresponds to the pelvis, and the conical constraint space is relatively stationary with respect to the pelvis.
[0116] In a planar constraint space, the direction of the plane's normal vector is within the free region, while the other side is within the forbidden region. For example... Figure 5 As shown, a coordinate system O1X1Y1Z1 is established in the constraint plane, where Z1 is the normal vector of the constraint plane, and X1Y1 can be obtained by rotating the world coordinate system to make the Z-axis of the two coordinate systems coincide. The planar constraint space generally corresponds to the knee joint, and the constraint relationship corresponding to the planar constraint space is shown in Equation (9):
[0117]
[0118] Where x3 represents the Z-axis coordinate in the coordinate system O1X1Y1Z1.
[0119] Rectangular confined space, such as Figure 5 As shown, a coordinate system O2X2Y2Z2 is established based on the edges of the cuboid, where the origin of the coordinate system is at the center of the cuboid. The corresponding constraint conditions are shown in equation (1). The upper and lower limits of the Cartesian space position are determined based on the boundaries of the cuboid.
[0120] It should be noted that the steps shown in the above process or in the flowchart of the accompanying figures can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.
[0121] This application also provides a robot control device for implementing the above embodiments and preferred embodiments, which will not be repeated hereafter. The terms "module," "unit," "subunit," etc., used below refer to combinations of software and / or hardware that implement a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0122] Figure 6 This is a structural block diagram of a robot control device according to an embodiment of this application, such as... Figure 6 As shown, the device includes:
[0123] The first determining module 610 is used to determine the joint acceleration of the robot in the next control cycle based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle; the acceleration constraints are determined based on the robot's operating space constraints and the robot's joint space constraints, which are determined based on the robot's constraint space.
[0124] The second determining module 620 is used to determine the joint torque of the robot in the next control cycle based on the joint acceleration of the robot in the next control cycle.
[0125] The execution module 630 is used to control the robot based on the joint torque of the robot in the next control cycle.
[0126] It should be noted that the above modules can be functional modules or program modules, and can be implemented through software or hardware. For modules implemented through hardware, the above modules can reside in the same processor; or the above modules can be located in different processors in any combination.
[0127] This application also provides an electronic device including a memory and a processor, the memory storing a computer program and the processor being configured to run the computer program to perform the steps in any of the above method embodiments.
[0128] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.
[0129] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:
[0130] S1. Based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle, determine the joint acceleration of the robot in the next control cycle. The acceleration constraints are determined based on the robot's operating space constraints and joint space constraints, which are determined based on the robot's constraint space.
[0131] S2, Based on the joint acceleration of the robot in the next control cycle, determine the joint torque of the robot in the next control cycle;
[0132] S3 controls the robot based on the joint torque of the robot in the next control cycle.
[0133] It should be noted that the specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated in this embodiment.
[0134] Furthermore, in conjunction with the robot control method provided in the above embodiments, this embodiment can also provide a storage medium for implementation. The storage medium stores a computer program; when executed by a processor, the computer program implements the steps of any of the robot control methods in the above embodiments.
[0135] It should be understood that the specific embodiments described herein are merely illustrative of the application and not intended to limit it. All other embodiments derived by those skilled in the art based on the embodiments provided in this application without inventive effort are within the scope of protection of this application.
[0136] Obviously, the accompanying drawings are merely some examples or embodiments of this application. Those skilled in the art can apply this application to other similar situations based on these drawings without any creative effort. Furthermore, it is understood that although the work done in this development process may be complex and lengthy, for those skilled in the art, certain design, manufacturing, or production modifications made based on the technical content disclosed in this application are merely conventional technical means and should not be considered as insufficient disclosure of this application.
[0137] The term "embodiment" in this application refers to a specific feature, structure, or characteristic described in connection with an embodiment that may be included in at least one embodiment of this application. The appearance of this phrase in various places in the specification does not necessarily imply the same embodiment, nor does it imply that it is mutually exclusive with or independent of other embodiments. It will be clearly or implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments without conflict.
[0138] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of patent protection. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the appended claims.
Claims
1. A robot control method, characterized in that, The method includes: Based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle, the joint acceleration of the robot in the next control cycle is determined; the acceleration constraints are determined based on the robot's operating space constraints, the robot's joint space constraints, and the relationship between the robot motion information of the current control cycle and the robot motion information of the next control cycle, and the operating space constraints and the joint space constraints are determined based on the robot's constraint space; Based on the joint acceleration of the robot in the next control cycle, determine the joint torque of the robot in the next control cycle; The robot is controlled based on the joint torque of the robot in the next control cycle.
2. The robot control method according to claim 1, characterized in that, The robot motion information includes joint positions and joint velocities; The step of determining the joint acceleration of the robot in the next control cycle based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle includes: Based on the joint torque, joint position, and joint velocity of the robot in the current control cycle, determine the joint acceleration and end effector acceleration of the robot in the current control cycle; Based on the joint acceleration and end effector acceleration of the robot in the current control cycle and the predetermined acceleration constraints of the robot in the next control cycle, the joint acceleration of the robot in the next control cycle is determined.
3. The robot control method according to claim 2, characterized in that, The step of determining the joint acceleration and end effector acceleration of the robot in the current control cycle based on the joint torque, joint position, and joint velocity of the robot in the current control cycle includes: Based on the joint torque, joint external force, joint position, and joint velocity of the robot in the current control cycle, the joint acceleration of the robot in the current control cycle is calculated using the robot's dynamic model. Obtain the mapping relationship between the robot's joint accelerations and end effector accelerations; The robot's end-effector acceleration in the current control cycle is calculated based on the joint acceleration of the robot in the current control cycle and the mapping relationship.
4. The robot control method according to claim 2, characterized in that, The step of determining the joint acceleration of the robot in the next control cycle based on the joint acceleration and end-effector acceleration of the robot in the current control cycle and the predetermined acceleration constraints of the robot in the next control cycle includes: The robot's acceleration at the end of the current control cycle is determined based on the robot's acceleration at the end of the current control cycle and the predetermined acceleration constraints for the robot in the next control cycle. The joint acceleration of the robot in the next control cycle is determined based on the robot's end-of-cycle acceleration.
5. The robot control method according to claim 1, characterized in that, Determining the joint torque of the robot in the next control cycle based on the joint acceleration of the robot in the next control cycle includes: Based on the joint position and joint velocity of the robot in the current control cycle and the joint acceleration of the robot in the next control cycle, the joint torque of the robot in the next control cycle is determined.
6. The robot control method according to claim 1 or claim 3, characterized in that, The step of determining the joint acceleration of the robot in the next control cycle based on the joint acceleration and end-effector acceleration of the robot in the current control cycle and the predetermined acceleration constraints of the robot in the next control cycle includes: The robot's acceleration at the end of the current control cycle is determined based on the robot's acceleration at the end of the current control cycle and the predetermined acceleration constraints of the robot in the next control cycle. Based on the robot's end-of-cycle acceleration, the initial joint acceleration of the robot in the next control cycle is determined using the robot's dynamic model. The joint acceleration of the robot in the next control cycle is determined based on the initial joint acceleration of the robot in the next control cycle and the predetermined acceleration constraints of the robot in the next control cycle.
7. The robot control method according to any one of claims 1 to 5, characterized in that, The geometry of the robot's constrained space is determined based on the surgical area and the target tissue corresponding to the surgical area.
8. A robot control device, characterized in that, The device includes: The first determining module is used to determine the joint acceleration of the robot in the next control cycle based on the joint torque of the robot in the current control cycle, the robot motion information, and the predetermined acceleration constraints of the robot in the next control cycle. The acceleration constraints are determined based on the robot's operating space constraints, the robot's joint space constraints, and the relationship between the robot motion information in the current control cycle and the robot motion information in the next control cycle. The operating space constraints and the joint space constraints are determined based on the robot's constraint space. The second determining module is used to determine the joint torque of the robot in the next control cycle based on the joint acceleration of the robot in the next control cycle. An execution module is used to control the robot based on the joint torque of the robot in the next control cycle.
9. A robot system, characterized in that, The system includes a robot, the robot including a robotic arm, the robot being used to execute the robot control method according to any one of claims 1 to 7, via the method to perform motion control on the robotic arm of the robot.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the robot control method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Task execution control method and device, control equipment and readable storage medium
CN112775976A
Industrial robot online trajectory planning method and device based on variable structure filter
CN112792808A