Robot control method and apparatus having follow-up effect, and device and system
Patent Information
- Application Number
- PCT/CN2025/115256
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-25
- Filing Date
- 2025-08-18
- Publication Date
- 2026-10-01
Smart Images

Figure CN2025115256_01102026_PF_FP_ABST
Abstract
Description
Robot control methods, devices, equipment and systems with follow-up effects
[0001] Related applications
[0002] This application claims priority to Chinese patent application filed on March 25, 2025, with application number 2025103567892, entitled "Robot Control Method, Apparatus, Device and System with Follow-up Effect", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of robot control technology, and in particular to a robot control method, apparatus, device and system with follow-up effect. Background Technology
[0004] Total knee arthroplasty (TKA) surgery has undergone years of development and improvement, resulting in increasingly sophisticated techniques. It now allows for the precise placement of an artificial joint within the knee, restoring knee function and alleviating knee pain caused by severe osteoarthritis, rheumatoid arthritis, and other knee conditions. During TKA surgery, the patient's leg is typically held by medical staff, leading to a degree of instability. Therefore, while the robot performs the osteotomy along a pre-planned path, the patient's leg, the target object, may experience slight movement due to the lack of fixation, potentially reducing the accuracy of the osteotomy or even causing secondary injury. Summary of the Invention
[0005] In view of this, the present application provides a robot control method, apparatus, device and system with follow-up effect to solve at least one problem existing in the background art.
[0006] In a first aspect, embodiments of this application provide a robot control method with a follow-up effect, comprising:
[0007] After obtaining the force on the robot's end effector, admittance control is performed on the robot based on the force obtained in the target direction to solve for the desired pose of the end effector.
[0008] Based on the preset planning information, the pose deviation of the end tool relative to the target object at the current position is calculated;
[0009] The desired pose is compensated based on the pose deviation in order to control the end-effector to move to the compensated desired pose.
[0010] In conjunction with a first aspect of the embodiments of this application, in an optional implementation, the step of performing admittance control on the robot based on the force obtained in the target direction to solve for the desired pose of the end effector includes:
[0011] The force on the end-effector of the robot is determined based on the force obtained, and the target direction includes at least one of the directions corresponding to the X-axis, Y-axis and Z-axis and the directions corresponding to rotation about the X-axis, Y-axis and Z-axis.
[0012] The robot is subjected to admittance control based on a determined force to obtain the pose increment of the end effector.
[0013] After determining the current pose of the end effector in the robot's base coordinate system, the desired pose of the end effector in the base coordinate system is solved based on the pose increment.
[0014] In conjunction with a first aspect of the embodiments of this application, in an optional implementation, the step of compensating for the desired pose based on the pose deviation includes:
[0015] After obtaining the desired pose of the end effector in the robot's base coordinate system, the matrix of the desired pose in the base coordinate system is multiplied by the matrix of the pose deviation.
[0016] In conjunction with a first aspect of the embodiments of this application, in an optional implementation, the step of calculating the pose deviation of the end-effector relative to the target object at the current position based on preset planning information includes:
[0017] Based on preset planning information, the initial feed position of the end tool is determined. The planning information includes the size information, initial position, and installation position of the prosthesis.
[0018] Based on the current position of the end-effector relative to the target object, the pose deviation of the end-effector is calculated based on the initial feed pose.
[0019] In conjunction with a first aspect of the embodiments of this application, in an optional implementation, the step of calculating the pose deviation of the end-effector based on the initial feed pose according to the current position of the end-effector relative to the target object includes:
[0020] Based on the set first registration matrix and second registration matrix, the current pose of the end tool in the reference coordinate system is obtained. The first registration matrix represents the transformation matrix between the reference coordinate system and the target object coordinate system, and the second registration matrix represents the transformation matrix between the end tool coordinate system and the target object coordinate system.
[0021] The position deviation of the end tool is obtained by solving the initial feed pose and the current pose in the reference coordinate system.
[0022] In conjunction with a first aspect of the embodiments of this application, in an optional implementation, the step of calculating the pose deviation of the end-effector based on the initial feed pose in the reference coordinate system and the current pose in the reference coordinate system includes:
[0023] Based on the initial tool approach pose in the reference coordinate system, the current pose in the reference coordinate system is converted into the current pose in the tool approach coordinate system;
[0024] The desired feed pose in the feed coordinate system is determined based on the current pose in the feed coordinate system in the target direction.
[0025] Based on the initial approach pose in the reference coordinate system, the desired approach pose in the approach coordinate system is converted into the desired approach pose in the reference coordinate system;
[0026] The pose deviation of the end-effector is obtained by combining the current pose in the reference coordinate system and the expected feed pose in the reference coordinate system; or, the pose deviation of the end-effector is obtained by multiplying the inverse matrix of the current pose in the reference coordinate system and the matrix of the expected feed pose in the reference coordinate system.
[0027] In conjunction with the first aspect of the embodiments of this application, in an optional implementation, it further includes:
[0028] In response to a touch operation on a trigger control, the force on the end effector of the robot is acquired.
[0029] Secondly, one embodiment of this application provides a robot control device with a follow-up effect, comprising:
[0030] The pose solving module is configured to, after obtaining the force on the end effector of the robot, perform admittance control on the robot based on the force obtained in the target direction, and solve for the desired pose of the end effector.
[0031] The deviation calculation module is configured to calculate the pose deviation of the end tool relative to the target object at the current position based on preset planning information.
[0032] The pose compensation module is configured to compensate the desired pose based on the pose deviation in order to control the end-effector to move to the compensated desired pose.
[0033] Thirdly, one embodiment of this application provides an electronic device, the electronic device comprising:
[0034] processor;
[0035] Memory used to store executable instructions for a computer;
[0036] The processor is configured to execute the computer-executable instructions to implement the robot control method with follow-up effect described in any one of the first aspects above.
[0037] In conjunction with a third aspect of the embodiments of this application, in an optional embodiment, the electronic device further includes:
[0038] A trigger control, connected to the processor, is used to receive touch operations so that the processor responds to the touch operation on the trigger control to obtain the force on the end effector of the robot.
[0039] Fourthly, one embodiment of this application provides a robot system, including:
[0040] robot;
[0041] Optical navigation equipment;
[0042] The electronic device described in the third aspect above is connected to both the robot and the optical navigation device.
[0043] The beneficial effects of the technical solutions provided in this application include:
[0044] The technical solution provided in this application addresses the process of dragging a robot end-effector towards a target object using admittance control. By determining the desired pose of the end-effector through the force exerted on it in the target direction, and by calculating the pose deviation of the end-effector at its current position using the relative relationship between the end-effector and the target object in the real environment, the desired pose is compensated. This enables the robot end-effector to follow the target object during the dragging process, achieving the purpose of follow-up and improving the accuracy of admittance control.
[0045] Additional aspects and advantages of the embodiments of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the embodiments of this application. Attached Figure Description
[0046] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0047] Figure 1 is a schematic diagram of the workflow of a robot control method with follow-up effect provided in an embodiment of this application;
[0048] Figure 2 is a flowchart of step S102 in Figure 1;
[0049] Figure 3 is a flowchart of step S202 in Figure 2;
[0050] Figure 4 is a schematic diagram of step S2022 in Figure 3;
[0051] Figure 5 is another flowchart of step S102 in Figure 1;
[0052] Figure 6 is a structural block diagram of a robot control device with a follow-up effect provided in an embodiment of this application;
[0053] Figure 7 is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;
[0054] Figure 8 is a schematic diagram of the structure of a robot system provided in an embodiment of this application. Detailed Implementation
[0055] To make the technical solutions and beneficial effects of the embodiments of this application more apparent and understandable, a detailed description is provided below by listing specific embodiments. The accompanying drawings are not necessarily drawn to scale, and local features may be enlarged or reduced to more clearly show the details of the local features; unless otherwise defined, the technical and scientific terms used herein have the same meanings as those in the technical field to which the embodiments of this application pertain.
[0056] As shown in Figure 1, this application provides a robot control method with a follow-up effect, applied in osteotomy surgery, especially when the bone to be osteotomized is in an uncertain environment. This can be understood as the bone potentially wobbling under the force of the end-effector, leading to positional uncertainty. In this embodiment, the bone can be the femur. This control method can reduce secondary injury to the patient and improve osteotomy accuracy. The control method mainly includes steps S101 to S103.
[0057] Step S101: After obtaining the force on the robot's end effector, perform admittance control on the robot based on the force obtained in the target direction, and solve for the desired pose of the end effector.
[0058] In this embodiment, the robot's end effector is mounted on the robot's end joint, and a tool tracer is also mounted on the end joint. The end effector and tool tracer are relatively fixed. Therefore, given the position of the tool tracer, the position of the end effector can be determined by the coordinate transformation relationship between the end effector and the tool tracer. The tool tracer can be tracked by an NDI optical navigation system, while the end effector cannot be directly tracked by the NDI. Therefore, the position of the end effector can be determined based on the tracked position of the tool tracer and the positional relationship between the tool tracer and the end effector. It should be noted that the robot end effector described in this embodiment refers to the robot's end joint, while the robot's end effector is a tool mounted on the end joint, such as a milling cutter, a drill, or a oscillating saw.
[0059] In an optional embodiment, the force on the robot's end effector is acquired and calibrated by a six-dimensional force sensor on the robot's end effector, i.e., the acquired force is obtained after zero-point correction and gravity compensation of the acquired six-dimensional force.
[0060] In admittance control, the control is based on an admittance model, which describes the relationship between the position, velocity, and acceleration of the robot's end effector and external forces. The admittance model can typically be expressed as a second-order differential equation, where mass parameters, damping parameters, and stiffness parameters determine the robot's dynamic response. The robot's goal is to adjust the end effector position according to external forces. When an external force is applied to the robot's end effector, the admittance controller calculates the corresponding position adjustment based on the admittance model, and then determines the desired position of the end effector from its current position.
[0061] When a robot performs osteotomy on a target object, such as the femur, it has admittance locking planes or axes, as well as dragging axes or planes. Locking a plane means locking that plane in a specific position; dragging an axis means moving the end effector in a specific direction. Dragging the end effector in a specific direction, which is also the target direction, results in zero degrees of freedom for the locked direction.
[0062] In some embodiments, step S101 may include:
[0063] The force on the end-effector of the robot is determined based on the force obtained. The target direction includes at least one of the directions corresponding to the X-axis, Y-axis and Z-axis and the directions corresponding to rotation around the X-axis, Y-axis and Z-axis.
[0064] The robot is controlled by admittance based on a determined force to obtain the pose increment of the end effector.
[0065] After determining the current pose of the end-effector in the robot's base coordinate system, the desired pose of the end-effector in the base coordinate system is solved based on the pose increment.
[0066] In one embodiment, the end-effector is subjected to a force F0 = (Fx Fy Fz Mx My Mz) with six degrees of freedom. Assuming the end-effector moves along the xy plane, the degrees of freedom Freedof = [1 1 0 0 0 0], where diag represents a diagonal matrix. Therefore, the force F in the xy plane direction is F = diag(Freedof) * F0 = [Fx Fy 0 0 0 0]. This is then converted to the acceleration of the corresponding degree of freedom according to the admittance model's mass-spring-damped second-order system, and further converted to the displacement X = [p] of the corresponding degree of freedom through a second-order integration. x p y p z r x r y r z ], which is the pose increment per unit time, and the displacement X is in the form of 1*6 Euler angles.
[0067] The mathematical formula for the admittance model is: M i *ddX i +B i *dX i +K i *X i =F i ,
[0068] In the formula, i represents the corresponding degree of freedom, ddX represents acceleration, dX represents velocity, X represents displacement, M represents the inertia coefficient, B represents the damping coefficient, and K represents the stiffness coefficient. The admittance parameters M, B, and K are adjustable, and F is the force in the target direction. Generally, filtering is required before it can be used in the admittance model.
[0069] Generally, after obtaining the displacement X, it can be converted into a 4x4 matrix T_tcp_move, and then the matrix T_base_tcp can be used to determine the current pose of the end effector in the robot's base coordinate system. j The matrix T_base_tcp, representing the desired pose of the end-effector in the base coordinate system, is calculated based on the matrix of pose increments. j+1 The calculation formula is T_base_tcp j+1 =T_base_tcp j *T_tcp_move. Wherein, the matrix T_base_tcp j+1 It cannot be directly recognized and read by the robot. This matrix T_base_tcp... j+1Before sending it to the robot, the matrix T_base_tcp also needs to be... j+1 The data is converted into Euler angles and then sent to the robot's controller to control the end effector to move along the target direction.
[0070] It should be noted that if the objects represented by the 1*6 Euler angle form and the 4*4 matrix are the same, the specific form can be determined according to the actual needs.
[0071] Step S102: Based on the preset planning information, calculate the pose deviation of the end tool relative to the target object at the current position.
[0072] As shown in Figure 2, in some embodiments, step S102 may include:
[0073] Step S201: Determine the initial feed position of the end tool according to the preset planning information. The planning information includes the size information of the sculptor, the initial position, and the installation position.
[0074] Step S202: Based on the current position of the end tool relative to the target object, solve the pose deviation of the end tool based on the initial feed pose.
[0075] In this embodiment, the installation pose of the prosthesis is pre-planned, and the initial pose of the prosthesis is known. Based on the prosthesis's dimensional information, such as dimensions and angles, the initial feed pose for each facet can be calculated. Then, based on the current positions of the end-effector and the target object, and combined with the initial feed pose, the pose deviation of the end-effector is determined. Considering that the target object, i.e., the femur, may shift during osteotomy, the pose deviation of the end-effector relative to the femur can be determined first based on the preset planning information and the current actual position of the femur. This ensures that the end-effector follows the femur during osteotomy, improving osteotomy accuracy.
[0076] As shown in Figure 3, step S202 may further include:
[0077] Step S2021: Based on the set first registration matrix and second registration matrix, solve for the current pose of the end tool in the reference coordinate system. The first registration matrix represents the transformation matrix between the reference coordinate system and the target object coordinate system, and the second registration matrix represents the transformation matrix between the end tool coordinate system and the target object coordinate system.
[0078] Step S2022: Based on the initial feed pose and the current pose in the reference coordinate system, the pose deviation of the end tool is calculated.
[0079] In this embodiment, the end-effector coordinate system, the tool tracer coordinate system, the femoral tracer coordinate system, and the reference coordinate system can be transformed through coordinate system transformation. The swaying effect of the femur during osteotomy can be considered by taking into account the transformation relationship of the coordinate system. The current pose of the end-effector will be finally converted into the current pose in the reference coordinate system, and the pose deviation of the end-effector will be finally determined by combining the initial feed pose in the reference coordinate system.
[0080] As shown in Figure 4, further, step S2022 may include:
[0081] Step S20221: Based on the initial approach pose in the reference coordinate system, convert the current pose in the reference coordinate system into the current pose in the approach coordinate system;
[0082] Step S20222: Determine the desired feed pose in the feed coordinate system based on the current pose in the feed coordinate system in the target direction;
[0083] Step S20223: Based on the initial approach pose in the reference coordinate system, convert the desired approach pose in the approach coordinate system into the desired approach pose in the reference coordinate system;
[0084] Step S20224: Based on the current pose in the reference coordinate system and the expected feed pose in the reference coordinate system, obtain the pose deviation of the end tool.
[0085] In at least one embodiment, step S20224 may include:
[0086] Multiply the inverse matrix of the current pose in the reference coordinate system with the matrix of the desired tool approach pose in the reference coordinate system.
[0087] In at least one embodiment, a target object tracer, namely a femoral tracer, is installed on the target object, and a tool tracer is installed on the robot's end effector joint. An NDI optical navigation system is used to track the current poses of the femoral tracer and the tool tracer. However, the current pose of the tool tracer tracked by the NDI optical navigation system is not the same as the current pose of the end effector tool. A coordinate transformation is needed based on the relative positional relationship between the end effector tool and the tool tracer to determine the current pose of the end effector tool. Furthermore, based on the mapping relationship T_femur_calib between the tool tracer and the femoral tracer, and the mapping relationship T_calib_tcp between the end effector tool and the tool tracer, the relative relationship between the end effector tool and the femur can be determined. This relationship is the transformation matrix between the end effector tool coordinate system and the femoral coordinate system, which is the aforementioned second registration matrix. The second registration matrix can be mathematically expressed as T_femur_calib * T_calib_tcp.
[0088] Point cloud registration is performed on the femoral tracer corresponding to the femur of the target object and the reference coordinate system to obtain the first registration matrix T_femur_ct of the reference coordinate system relative to the femoral tracer. The first registration matrix represents the transformation matrix between the reference coordinate system and the target object coordinate system. It can be seen that the reference coordinate system corresponds to the CT (Computed Tomography) image, that is, the reference coordinate system is the CT coordinate system.
[0089] Plan the installation pose T_ct_prosthesis of the prosthesis in the reference coordinate system. At the same time, given the initial pose of the prosthesis, the initial feed pose T_ct_initFeedPos of each face can be calculated based on the size and angle of the prosthesis. Assuming the end tool moves along the xy plane, the degree of freedom Freedof = [1 1 0 0 0 0]. Assuming the end tool moves along the x-axis, the degree of freedom Freedof = [1 0 0 0 0 0].
[0090] As shown in Figure 5, in at least one embodiment, step S102 can be:
[0091] A201: Solve for the current pose T_ct_currenttcp of the end-effector in the CT coordinate system, where T_ct_currenttcp = (T_femur_ct). -1 *T_femur_calib*T_calib_tcp;
[0092] A202: Solve for the current pose T_initFeedPos_currenttcp of the end-effector in the feed coordinate system, where T_initFeedPos_currenttcp = (T_ct_initFeedPos). -1 *T_ct_currenttcp;
[0093] A203: After converting the current pose of the end-effector in the feed coordinate system into 1*6 Euler angle form initFeedPos_currenttcp, solve for the expected feed pose of the end-effector initFeedPos_Goaltcp, initFeedPos_Goaltcp=diag(Freedof)*initFeedPos_currenttcp;
[0094] A204: Convert the desired feed pose of the end-effector, initFeedPos_Goaltcp, into a 4x4 matrix, T_initFeedPos_Goaltcp, and solve for the desired feed pose of the end-effector in the CT coordinate system, T_ct_Goaltcp, where T_ct_Goaltcp = (T_ct_initFeedPos). -1 *T_initFeedPos_Goaltcp;
[0095] A205: Solve for the end-effector pose deviation T_tcpcompensation, where T_tcpcompensation = (T_ct_currenttcp) -1 *T_ct_Goaltcp.
[0096] Step S103: Compensate for the desired pose based on the pose deviation to control the end-effector to move to the compensated desired pose.
[0097] In step S103, compensating for the desired pose based on the pose deviation may include multiplying the matrix of the desired pose in the base coordinate system of the end-effector with the matrix of the pose deviation after obtaining the desired pose of the end-effector in the robot's base coordinate system. Specifically, the matrix of the desired pose in the base coordinate system, T_base_tcp, is multiplied... j+1 Multiplying the matrix T_tcpcompensation with the pose error matrix yields the compensated desired pose T_base_Goaltcp. The mathematical formula for the compensated desired pose is T_base_Goaltcp = T_base_tcp j+1 The *T_tcpcompensation method converts the compensated desired pose into 1*6 Euler angles and sends it to the robot, which can control the robot's end-effector to move to the specified pose. In this embodiment, the pose deviation can be calculated in real time during the movement of the end-effector and compensated to the robot, thereby enabling the end-effector to adapt to the uncertainty of the femur during osteotomy, and has a follow-up effect, effectively improving the osteotomy accuracy based on admittance control.
[0098] In a preferred embodiment of this application, the method further includes: acquiring the force on the robot's end effector in response to a touch operation on the trigger control. In this embodiment, the robot control method may involve the trigger control receiving the user's touch operation, and then the processor acquiring the force on the robot's end effector in response to the touch operation on the trigger control, thereby executing the aforementioned steps S101 to S103. The trigger control can be software-level or hardware-level; for example, it can be triggered by clicking or touching on a display interface, or it can be a button that the user presses to control the robot, thereby achieving a follow-up effect during the osteotomy process.
[0099] As can be seen, the robot control method with follow-up effect provided in this application embodiment, when applied to the osteotomy process in TKA surgery, differs from the common admittance control robot end-effector movement in that this application embodiment also uses an NDI optical navigator to monitor the pose of the effector tracer and femoral tracer in real time during movement. The current position of the end-effector can be determined by the current position of the effector tracer based on the positional relationship between the effector tracer and the end-effector. Then, the pose deviation is calculated based on the relative relationship between the end-effector and the target femur. The relative relationship between the end-effector and the target femur can be determined by the current position between the effector tracer and the femoral tracer obtained by the NDI optical navigator. Finally, the calculated pose deviation is compensated to the robot's end-effector, enabling the robot's end-effector to follow the target object's movement, achieving the purpose of osteotomy follow-up, reducing secondary injury to the patient, and improving the accuracy of osteotomy.
[0100] It should be understood that although the steps in the flowcharts of Figures 1 to 5 are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some of the steps in Figures 1 to 5 may include multiple steps or multiple stages, which are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0101] As shown in Figure 6, this application embodiment also provides a robot control device with a follow-up effect, applied in osteotomy surgery, including:
[0102] The pose solving module 601 is configured to, after obtaining the force on the end tool of the robot, perform admittance control on the robot in the target direction based on the obtained force, and solve for the desired pose of the end tool.
[0103] The deviation solving module 602 is configured to solve the pose deviation of the end tool relative to the target object at the current position based on preset planning information.
[0104] The pose compensation module 603 is configured to compensate for the desired pose based on the pose deviation in order to control the end-effector to move to the compensated desired pose.
[0105] In some embodiments, the pose solving module 601 is further configured to:
[0106] The force on the end-effector of the robot is determined based on the force obtained. The target direction includes at least one of the directions corresponding to the X-axis, Y-axis and Z-axis and the directions corresponding to rotation around the X-axis, Y-axis and Z-axis.
[0107] The robot is controlled by admittance based on a determined force to obtain the pose increment of the end effector.
[0108] After determining the current pose of the end-effector in the robot's base coordinate system, the desired pose of the end-effector in the base coordinate system is solved based on the pose increment.
[0109] In some embodiments, the pose compensation module 603 is further configured to:
[0110] After obtaining the desired pose of the end-effector in the robot's base coordinate system, the matrix of the desired pose in the base coordinate system is multiplied by the matrix of the pose deviation.
[0111] In some embodiments, the deviation solving module 602 includes a tool approach pose determination unit and a deviation solving unit; the tool approach pose determination unit is configured to determine the initial tool approach pose of the end tool according to planning information, the planning information including the size information of the dummy, the initial pose and the installation pose; the deviation solving unit is configured to solve the pose deviation of the end tool based on the initial tool approach pose according to the current position of the end tool relative to the target object.
[0112] Furthermore, the deviation solving unit is further configured as follows:
[0113] Based on the set first registration matrix and second registration matrix, the current pose of the end tool in the reference coordinate system is obtained. The first registration matrix represents the transformation matrix between the reference coordinate system and the target object coordinate system, and the second registration matrix represents the transformation matrix between the end tool coordinate system and the target object coordinate system.
[0114] The positional deviation of the end-effector is obtained by solving the initial feed pose and the current pose in the reference coordinate system.
[0115] In the deviation calculation unit, the position deviation of the end tool is calculated based on the initial approach pose and the current pose in the reference coordinate system. This includes: converting the current pose in the reference coordinate system to the current pose in the approach coordinate system based on the initial approach pose; determining the desired approach pose in the approach coordinate system based on the current pose in the approach coordinate system in the target direction; converting the desired approach pose in the approach coordinate system to the desired approach pose in the reference coordinate system based on the initial approach pose; and obtaining the position deviation of the end tool based on the current pose and the desired approach pose in the reference coordinate system.
[0116] In some embodiments, the device further includes a force acquisition module configured to acquire the force on the end effector of the robot in response to a touch operation on a trigger control.
[0117] It is worth noting that the device embodiments provided in this application have been described in detail in the above method embodiments, and will not be repeated here.
[0118] This application also provides a computer-readable storage medium. The computer-readable storage medium stores instructions that, when executed by a processor of an electronic device, enable the electronic device to perform the robot control method with a follow-up effect described in any of the above embodiments.
[0119] The embodiments of this application may be systems, methods, and / or computer program products. A computer program product may include a computer-readable storage medium loaded with computer-readable program instructions for causing a processor to implement various aspects of the embodiments of this application. The computer program product may be written in any combination of one or more programming languages to perform operations of the embodiments of this application. Programming languages include object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The program code may execute entirely on a user's computing device, partially on a user's device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computers, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing state information of computer-readable program instructions. These electronic circuits can execute computer-readable program instructions to implement various aspects of the embodiments of this application.
[0120] Computer-readable storage media can take the form of any combination of one or more readable media. A readable medium can be a readable signal medium or a readable storage medium. A computer-readable storage medium is a tangible device capable of holding and storing instructions for use by an instruction execution device. A readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combinations thereof. The computer-readable storage medium as used herein is not to be construed as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0121] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0122] Various aspects of embodiments of this application are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0123] 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 apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0124] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be 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 perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0125] This application also provides an electronic device. Figure 7 shows a schematic diagram of the structure of an electronic device provided in an embodiment of this application. As shown in Figure 7, the electronic device 700 includes: one or more processors 701 and a memory 702; the memory 702 stores computer-executable instructions; the processor 701 is used to execute the computer-executable instructions to implement the steps in the method as described in any of the above embodiments.
[0126] Furthermore, the electronic device 700 also includes a trigger control, which is connected to the processor 701 and is used to receive touch operations so that the processor 701 responds to the touch operation on the trigger control to obtain the force on the robot's end effector. In this embodiment, the trigger control can be displayed as a follow-up button icon on the operating interface. When the user clicks the icon, the trigger control can receive the user's touch operation command to trigger the controller to obtain the force on the robot's end effector, thereby achieving the purpose of follow-up movement of the robot's end effector during osteotomy.
[0127] The processor 701 may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 700 to perform desired functions.
[0128] The memory 702 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 701 may execute the program instructions to implement the steps in the methods of the various embodiments of this application above and / or other desired functions.
[0129] In one example, the electronic device 700 may also include input devices and output devices, which are interconnected via a bus system and / or other forms of connection mechanism (not shown).
[0130] In addition, input devices may include, for example, a keyboard, a mouse, a microphone, etc. Output devices can output various information to the outside, and may include, for example, a monitor, speakers, a printer, and communication networks and their connected remote output devices, etc.
[0131] Of course, for simplicity, Figure 7 only shows a portion of the components of the electronic device 700 relevant to the embodiments of this application, omitting components such as buses, input devices / output interfaces, etc. In addition, the electronic device 700 may include any other suitable components depending on the specific application.
[0132] As shown in Figure 8, this application embodiment also provides a robot system 800, including a robot 801, an optical navigation device 802, and the aforementioned electronic device 700. The electronic device 700 is connected to both the robot 801 and the optical navigation device 802. The optical navigation device 802 may include an NDI optical navigator and a femoral tracer. The robot 801 may also include a tool tracer. The electronic device 700 may be separate from or integrated into the robot 801.
[0133] It should be noted that the robot control methods, devices, equipment and system embodiments with follow-up effects provided in this application belong to the same concept; the technical features in the technical solutions described in each embodiment can be arbitrarily combined without conflict.
[0134] It should be understood that the above embodiments are exemplary and are not intended to encompass all possible implementations included in the claims. Various modifications and changes can be made to the above embodiments without departing from the scope of this disclosure. Similarly, the various technical features of the above embodiments can be arbitrarily combined to form other embodiments of this application that may not be explicitly described. Therefore, the above embodiments only illustrate several implementations of this application and do not limit the scope of protection of this patent application.
Claims
1. A robot control method with servo effect, wherein, include: After obtaining the force on the robot's end effector, admittance control is performed on the robot based on the force obtained in the target direction to solve for the desired pose of the end effector. Based on the preset planning information, the pose deviation of the end tool relative to the target object at the current position is calculated; The desired pose is compensated based on the pose deviation in order to control the end-effector to move to the compensated desired pose.
2. The robot control method with follow-up effect according to claim 1, wherein: The step of performing admittance control on the robot based on the force obtained in the target direction to solve for the desired pose of the end effector includes: The force on the end effector of the robot is determined based on the obtained force on the end effector in the target direction. The target direction includes at least one of the directions corresponding to the X, Y, and Z axes and the directions corresponding to rotation about the X, Y, and Z axes. Based on the determined force, admittance control is applied to the robot to obtain the pose increment of the end effector. After determining the current pose of the end-effector in the robot's base coordinate system, the desired pose of the end-effector in the base coordinate system is solved based on the pose increment. Alternatively, the compensation for the desired pose based on the pose deviation includes: After obtaining the desired pose of the end effector in the robot's base coordinate system, the matrix of the desired pose in the base coordinate system is multiplied by the matrix of the pose deviation.
3. The robot control method with follow-up effect according to claim 1, wherein, The process of calculating the pose deviation of the end-effector relative to the target object at its current position based on preset planning information includes: Based on preset planning information, the initial feed position of the end tool is determined. The planning information includes the size information, initial position, and installation position of the prosthesis. Based on the current position of the end-effector relative to the target object, the pose deviation of the end-effector is calculated based on the initial feed pose.
4. The robot control method with follow-up effect according to claim 3, wherein, The step of calculating the pose deviation of the end-effector based on the current position of the end-effector relative to the target object and the initial feed pose includes: Based on the set first registration matrix and second registration matrix, the current pose of the end tool in the reference coordinate system is obtained. The first registration matrix represents the transformation matrix between the reference coordinate system and the target object coordinate system, and the second registration matrix represents the transformation matrix between the end tool coordinate system and the target object coordinate system. The position deviation of the end tool is obtained by solving the initial feed pose and the current pose in the reference coordinate system.
5. The robot control method with follow-up effect according to claim 4, wherein, The step of calculating the pose deviation of the end-effector based on the initial feed pose and the current pose in the reference coordinate system includes: Based on the initial tool approach pose in the reference coordinate system, the current pose in the reference coordinate system is converted into the current pose in the tool approach coordinate system; The desired feed pose in the feed coordinate system is determined based on the current pose in the feed coordinate system in the target direction. Based on the initial approach pose in the reference coordinate system, the desired approach pose in the approach coordinate system is converted into the desired approach pose in the reference coordinate system; The pose deviation of the end-effector is obtained by combining the current pose in the reference coordinate system and the expected feed pose in the reference coordinate system; or, the pose deviation of the end-effector is obtained by multiplying the inverse matrix of the current pose in the reference coordinate system and the matrix of the expected feed pose in the reference coordinate system.
6. The robot control method with follow-up effect according to claim 1, wherein, Also includes: In response to a touch operation on a trigger control, the force on the end effector of the robot is acquired.
7. A robot control device with a follow-up effect, wherein, include: The pose solving module is configured to, after obtaining the force on the end effector of the robot, perform admittance control on the robot based on the force obtained in the target direction, and solve for the desired pose of the end effector. The deviation calculation module is configured to calculate the pose deviation of the end tool relative to the target object at the current position based on preset planning information. The pose compensation module is configured to compensate the desired pose based on the pose deviation in order to control the end-effector to move to the compensated desired pose.
8. An electronic device, wherein, The electronic device includes: processor; Memory used to store executable instructions for a computer; The processor is configured to execute the computer-executable instructions to implement the robot control method with follow-up effect as described in any one of claims 1 to 6.
9. The electronic device according to claim 8, wherein, The electronic device also includes: A trigger control, connected to the processor, is used to receive touch operations so that the processor responds to the touch operation on the trigger control to obtain the force on the end effector of the robot.
10. A robot system, wherein, include: robot; Optical navigation equipment; The electronic device as described in claim 8 or 9 above, wherein the electronic device is connected to the robot and the optical navigation device, respectively.