Rigidity-based robotic arm position selection and compensation
The rigidity-based kinematics system in robotic surgery optimizes arm configurations for high rigidity and compensates for deflection, addressing precision and safety issues in robotic surgery systems.
Patent Information
- Application Number
- PCT/IL2025/050018
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-09
- Filing Date
- 2025-01-07
- Publication Date
- 2025-07-17
AI Technical Summary
Existing robotic surgery systems face challenges in ensuring accurate tool positioning and minimizing deflection due to load-induced rigidity variations, which can lead to potential injuries and reduced precision.
A rigidity-based kinematics system that employs a solution optimization algorithm to select the most rigid arm configuration for a desired trajectory, considering constraints and operational parameters, and compensates for deflection through deflection compensation algorithms.
Improves the accuracy and safety of robotic surgical systems by reducing deflection and enhancing precision in tool positioning, thereby minimizing risks to patients.
Smart Images

Figure IL2025050018_17072025_PF_FP_ABST
Abstract
Description
RIGIDITY-BASED ROBOTIC ARM POSITION SELECTION AND COMPENSATION FIELD
[0001] This application relates generally to the field of robotics assisted surgery, and more particularly to robotics navigation.BACKGROUND
[0002] Surgical robots may assist a surgeon or other medical provider in carrying out a surgical procedure or may complete one or more surgical procedures autonomously. During such surgical procedures, surgical tools may be used on one or more anatomical elements. The tools may be oriented and operated by the surgical robot and / or the surgeon or other medical provider.BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views, together with the detailed description below, are incorporated in and form part of the specification, and serve to further illustrate embodiments, examples, aspects, and features of concepts that include the claimed subject matter and explain various principles and advantages of those embodiments, examples, aspects, and features.
[0004] FIG. 1 is a block diagram illustrating a robotic system according to various examples.
[0005] FIG. 2 illustrates aspects of the operation of the robotic system of FIG. 1 according to various examples.
[0006] FIGS. 3 A and 3B illustrate an example robotic arm 116 of the robotic system of FIG. 1 according to various examples.
[0007] FIG. 4 illustrates a flowchart of a method performed by the robotic system of FIG. 1 according to various examples.
[0008] FIG. 5 is a two-dimensional chart illustrating a robotic arm’s rigidity as a function of a parameter of the of the robotic system of FIG. 1 according to various examples.
[0009] FIG. 6 a three-dimensional chart illustrating a robotic arm’s rigidity as a function of two parameters of the of the robotic system of FIG. 1 according to various examples.
[0010] FIG. 7 illustrates a flowchart of a method performed by the robotic system of FIG. 1 according to various examples.
[0011] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of theelements in the figures may be exaggerated relative to other elements to help to improve understanding of examples, aspects, and features illustrated.
[0012] In some instances, the apparatus and method components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the of various embodiments, examples, aspects, and features so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.DETAILED DESCRIPTION
[0013] When performing robotics assisted spinal surgery, potential risks include injury to the patient’s spinal cord and other less severe temporary or permanent injuries. To mitigate these risks, it is important that the system operate accurately to improve patient outcomes. Operating a surgical robot system requires determining both a tool trajectory (i.e., the trajectory along which a tool is used on the patient) and the tool center point (“TCP”), typically the distal-most point of the tool (e.g., the tip of a bone removal tool). The point of interest for determining accuracy is the TCP. Generally speaking, there are two main methods of improving and validating accuracy used in robotic surgery systems: navigation (e.g., tracking the arm via navigation cameras and trackers) and kinematics (e.g., the use of software calculations based on inputs from the arm’ s joints’ sensors, e.g., encoders).
[0014] However, the accuracy potential for navigation methods is limited based on the sensed and sensing elements. The accuracy of the kinematics methods may be affected by the deflection of the robot under load (e.g., as caused by the weight of the robot itself or external loads). In addition, some robotic arms have near infinite solutions (e.g., possible positions) for reaching a particular TCP in a particular angle (trajectory). Different arm solutions for the same trajectory may have different responses to load in terms of rigidity, which affect the resulting deflection.
[0015] To address these problems, embodiments and aspects presented herein provide a rigiditybased kinematics system, which implements a solution optimization algorithm. As noted, each arm trajectory can be achieved through multiple solutions. The embodiments and examples presented herein evaluate the possible solutions for a desired trajectory (e.g., as selected by a surgeon) and selects the solution that results in the highest level of structural rigidity for the robotic arm. In some aspects, the chosen solution would be within the constraints of the specific location and orientation,including collision (with external objects), self-collision (the arm not colliding with itself), and joint rotational limitations.
[0016] In another aspect, the examples presented herein provide for deflection compensation. In some aspects, instead of selecting the most rigid arm solution, a solution is selected based on other parameters (e.g., speed, number of movements, etc.). A solution may also be selected based on parameters relating to the surgeon operating the system (e.g., taking into account accessibility, ergonomics, fatigue, and the like). The deflection under force for that solution may then be calculated. Using such examples, the calculated deflection is input into the control software for the robotic arm and used for compensation (e.g., adjusting the arm’s position based on the calculated deflection).
[0017] Using the examples presented herein, the deflection of the TCP from the desired location is reduced and / or compensated for to improve the accuracy of the robotic surgical system.
[0018] In some aspects, the techniques described herein relate to an example medical system including: a robot including a robotic arm; a surgical tool coupled to a distal end of the robotic arm; an electronic processor coupled to the robot, and configured to: receive a desired position for a tool center point of the surgical tool; determine a plurality of solutions for the robotic arm based on the desired position; for each of the plurality of solutions, determine a rigidity for the robotic arm; select, from the plurality of solutions, a preferred solution, the preferred solution based on the rigidity; and control the robotic arm based on the preferred solution.
[0019] In some aspects, the techniques described herein relate to another example medical system including: a robot including a robotic arm; a surgical tool coupled to a distal end of the robotic arm; an electronic processor coupled to the robot, and configured to: receive a desired position for a tool center point of the surgical tool; determine a plurality of solutions for the robotic arm based on the desired position; select, from the plurality of solutions, a preferred solution, the preferred solution based on an operational parameter; determine a rigidity for the robotic arm based on the preferred solution; determine a load for the robotic arm based on the preferred solution; calculate a deflection for the robotic arm based on the rigidity and the load; and control the robotic arm based to position the surgical tool on the preferred solution and the deflection.
[0020] In some aspects, the techniques described herein relate to an example method for operating a surgical robot, the method including: receiving a desired position for a tool center point of a surgical tool coupled to a distal end of a robotic arm of the surgical robot; determining a pluralityof solutions for the robotic arm based on the desired position; selecting, from the plurality of solutions, a preferred solution, the preferred solution based on an operational parameter; determining a rigidity for the robotic arm based on the preferred solution; determining a load for the robotic arm based on the preferred solution; calculating a deflection for the robotic arm based on the rigidity and the load; and controlling the robotic arm to position the tool center point based on the preferred solution and the deflection.
[0021] Specific embodiments of the present disclosure are now described with reference to the figures, wherein like reference numbers indicate identical or functionally similar elements. The terms “distal” and “proximal” are used in the following description with respect to a position or direction relative to the surgical robot. “Distal” or “distally” are a position distant from or in a direction away from the surgical robot toward the patient. “Proximal” and “proximally” are a position near or in a direction away from the patient toward the surgical robot.
[0022] Before any examples are explained in detail, it is to be understood that the examples presented herein are not limited in their application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The examples are capable of other embodiments and of being practiced or of being carried out in various ways. For ease of description, the example systems presented herein may be illustrated with a single exemplar of each of its component parts. Some examples may not describe or illustrate all components of the systems. Other example embodiments may include more or fewer of each of the illustrated components, may combine some components, or may include additional or alternative components.
[0023] FIG. 1 is a block diagram of a robotic system 100. The robotic system 100 may be used to carry out robotic assisted surgery, including one or more aspects of one or more of the methods disclosed herein. The robotic system 100 includes a computing device 102, one or more imaging devices 112, a robot 114, a navigation system 118, one or more sensors 126, a database 130, and / or a cloud (or another network) 134. Systems according to other embodiments of the present disclosure may comprise more or fewer components than the robotic system 100. The computing device 102 includes an electronic processor 104, a memory 106, a communication interface 108, and a user interface 110. In some aspects, the computing device 102 may include more or fewer components than illustrated in the example.
[0024] The computing device 102 includes an electronic processor 104 (for example, a microprocessor, application specific integrated circuit, etc.), a memory 106, a communication interface 108, and a user interface 110. The electronic processor 104, the memory 106, the communication interface 108, and the user interface 110, as well as the other various modules (not illustrated) are coupled directly, by one or more control or data buses (e.g., the bus 140), or a combination thereof.
[0025] The memory 106 may be made up of one or more non-transitory computer-readable media and includes at least a program storage area and a data storage area. The program storage area and the data storage area can include combinations of several types of memory, such as read-only memory (“ROM”), random access memory (“RAM”) (for example, dynamic RAM (“DRAM”), synchronous DRAM (“SDRAM”), etc.), electrically erasable programmable read-only memory (“EEPROM”), flash memory, or any other suitable tangible, non-transitory memory for storing computer- readable data and / or instructions. The memory 106 may store information or data useful for completing, for example, any aspect of the methods 400 and 700 described herein, or of any other methods. The memory 106 may store, for example, instructions and / or machine learning models that support one or more functions of the robot 114. For instance, the memory 106 may store content (e.g., instructions and / or machine learning models) that, when executed by the electronic processor 104, enable image processing 120, sensor processing 122, and / or rigiditybased kinematics 124. Such content may, in some embodiments, be organized into one or more applications, modules, packages, layers, or engines.
[0026] The image processing 120 enables the electronic processor 104 to process image data of an image (received from, for example, the imaging device 112, a camera of the navigation system 118, or any imaging device) for the purpose of, for example, identifying information about an anatomical element 204 (shown in FIG. 2) and / or objects in the image such as a surgical tool 128. The identifying information can be used to determine a three-dimensional location of the surgical tool 128, for example, relative to the anatomical element 204.
[0027] The sensor processing 122 enables the processor 104 to process sensor output data (received from for example, the one or more sensors 126) for the purpose of, for example, determining the location of the robotic arm 116 and / or the surgical tool 128. The sensor output may be received as signal(s) and may be processed by the electronic processor 104 using the sensor processing 122 tooutput data such as, for example, force data, acceleration data, pose data, time data, location data, etc.
[0028] The rigidity-based kinematics 124 enables the processor 104 to select positioning solutions for the robotic arm 116 based in part on the rigidity of the robotic arm 116. The robotics kinematics 124 uses the relationship between the dimensions and connectivity of kinematic chains and the position, velocity, and acceleration of each of the links in the robotic arm 116, in order to plan and control movement for the robotic arm 116, as described herein.
[0029] Alternatively, or additionally, the memory 106 may store other types of content or data (e.g., machine learning models, artificial neural networks, deep neural networks, etc.) that can be processed by the electronic processor 104 to carry out the various method and features described herein. Thus, although various contents of memory 106 may be described as instructions, it should be appreciated that functionality described herein can be achieved through use of instructions, algorithms, and / or machine learning models. The data, algorithms, and / or instructions may cause the electronic processor 104 to manipulate data stored in the memory 106 and / or received from or via the imaging device 112, the robot 114, the database 130, the sensors 126, and / or the cloud 134.
[0030] The electronic processor 104 sends and receives information (for example, from the memory 106, the communication interface 108, and / or the user interface 110) and processes the information by executing one or more software instructions or modules, capable of being stored in the memory 106, or another non-transitory computer readable medium. The software can include firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The electronic processor 104 is configured to retrieve from the memory 106 and execute, among other things, software for performing methods as described herein.
[0031] The communication interface 108 transmits and receives information from devices external to the computing device 102, for example, components of the robotic system 100. The communication interface 108 receives input (for example, from the user interface 110), provides system output or a combination of both. The communication interface 108 may be used for receiving image data or other information from an external source (such as the imaging device 112, the robot 114, the navigation system 118, the sensors 126, the database 130, the cloud 134, and / or any other system or component not part of the robotic system 100), and / or for transmitting instructions, images, or other information to an external system or device (e.g., another computingdevice 102, the imaging device 112, the robot 114, the navigation system 118, the sensors 126, the database 130, the cloud 134, and / or any other system or component not part of the robotic system 100).
[0032] The communication interface 108 may include one or more wired interfaces (e.g., a USB port, an Ethernet port, etc.) and / or one or more wireless transceivers or interfaces (configured, for example, to transmit and / or receive information via one or more wireless communication protocols such as 802.11a / b / g / n, Bluetooth, NFC, ZigBee, and so forth). In some embodiments, the communication interface 108 may be useful for enabling the computing device 102 to communicate with one or more other electronic processors or computing devices, whether to reduce the time needed to accomplish a computing-intensive task or for any other reason.
[0033] The computing device 102 may also include one or more user interfaces 110. The user interface 110 may be or include a keyboard, mouse, trackball, monitor, television, screen, touchscreen, and / or any other device for receiving information from a user and / or for providing information to a user. The user interface 110 may be used, for example, to receive a user selection or other user input regarding any step of any method described herein. Notwithstanding the foregoing, any required input for any step of any method described herein may be generated automatically by the robotic system 100 (e.g., by the electronic processor 104 or another component of the robotic system 100) or received by the robotic system 100 from a source external to the robotic system 100. In some embodiments, the user interface 110 may be useful to allow a surgeon or other user to modify instructions to be executed by the electronic processor 104 according to one or more embodiments of the present disclosure, and / or to modify or adjust a setting of other information displayed on the user interface 110 or corresponding thereto.
[0034] Although the user interface 110 is shown as part of the computing device 102, in some embodiments, the computing device 102 may utilize a user interface 110 that is housed separately from one or more remaining components of the computing device 102. In some embodiments, the user interface 110 may be located proximate one or more other components of the computing device 102, while in other embodiments, the user interface 110 may be located remotely from one or more other components of the computing device 102.
[0035] It should be understood that although FIG. 1 illustrates only a single electronic processor 104, memory 106, communication interface 108, and user interface 110, alternative embodiments of the computing device 102 may include multiple electronic processors, memory modules,communication interfaces, and / or user interfaces. It should also be noted that the robotic system 100 may include other computing devices, each including similar components as, and configured similarly to, the computing device 102. In some embodiments, portions of the computing device 102 are implemented partially or entirely on a semiconductor chip (e.g., an application specific integrated circuit (ASIC), a field-programmable gate array (“FPGA”), and the like). Similarly, the various modules and controllers described herein may be implemented as individual controllers, as illustrated, or as components of a single controller. In some aspects, a combination of approaches may be used.
[0036] Continuing with other aspects of the robotic system 100, the imaging device 112 may be operable to image anatomical feature(s) (e.g., a bone, veins, tissue, etc.) and / or other aspects of patient anatomy and / or objects such as the surgical tool 128 to yield image data (e.g., image data depicting or corresponding to a bone, veins, tissue, etc.). “Image data” as used herein refers to the data generated or captured by an imaging device 112, including in a machine-readable form, a graphical / visual form, and in any other form. In various examples, the image data may comprise data corresponding to an anatomical feature of a patient, or to a portion thereof, and / or objects such as the surgical tool 128. The image data may be or comprise a preoperative image, an intraoperative image, a postoperative image, or an image taken independently of any surgical procedure. The imaging device 112 may be capable of taking a 2D image or a 3D image to yield the image data. The imaging device 112 may be or comprise, for example, an ultrasound scanner (which may comprise, for example, a physically separate transducer and receiver, or a single ultrasound transceiver), an 0-arm, a C-arm, a G-arm, or any other device utilizing X-ray-based imaging (e.g., a fluoroscope, a CT scanner, or other X-ray machine), a magnetic resonance imaging (MRI) scanner, an optical coherence tomography (OCT) scanner, an endoscope, a microscope, an optical camera, a thermographic camera (e.g., an infrared camera), a radar system (which may comprise, for example, a transmitter, a receiver, a processor, and one or more antennae), or any other imaging device 112 suitable for obtaining images of an anatomical feature of a patient and / or objects such as the surgical tool 128.
[0037] The sensors 126 are configured to provide sensor output. The sensors 126 may include a position sensor, a proximity sensor, a magnetometer, or an accelerometer. In some embodiments, the sensors 126 may include a linear encoder, a rotary encoder, or an incremental encoder (e.g., positioned to sense movement or position of the robotic arm 116). Sensor output or output datafrom the sensors 126 may be provided to an electronic processor of the robot 114, to the electronic processor 104 of the computing device 102, and / or to the navigation system 118. Output data from the sensor(s) 126 may also be used to determine position information for the robot 114. It will be appreciated that in some embodiments, the sensors 126 may be a component separate from the robotic arm 116. In other embodiments, sensors 136 — which may be the same as or similar to the sensors 126 — may be integrated with the robot 114. The sensors 126 may enable the electronic processor 104 (or an electronic processor of the robot 114) to determine a precise pose in space of a robotic arm 116 (as well as any object or element held by or secured to the robotic arm). In other words, sensor output or output data from the sensors 126 may be used to calculate a position in space of the robotic arm 116 (and thus, the surgical tool 128) relative to one or more coordinate systems.
[0038] The robot 114 may be any surgical robot or part of any robotic assisted surgery system, either of which is capable of operating as described herein. The robot 114 may be or comprise, for example, the Mazor X™ Stealth Edition robotic guidance system, or any derivative thereof. The robot 114 may be configured to position the surgical tool 128 at one or more precise poses (e.g., position(s) and orientation(s)). The surgical tool 128 may be any tool capable of cutting, drilling, milling, and / or parting an anatomical element. The surgical tool 128 may be, in one example, a drill bit. In some embodiments, the robot 114 may be configured to rotate and / or advance the cutting tool 128 using, for example, one or more motors to rotate the surgical tool 128.
[0039] The robot 114 may additionally or alternatively be configured to manipulate any component (whether based on guidance from the navigation system 118 or not) to accomplish or to assist with a surgical task. In some embodiments, the robot 114 may be configured to hold and / or manipulate an anatomical element during or in connection with a surgical procedure. The robot 114 may comprise one or more robotic arms 116. In some embodiments, the robotic arm 116 may comprise a first robotic arm and a second robotic arm, though the robot 114 may comprise more than two robotic arms. In some embodiments, one or more of the robotic arms 116 may be used to hold and / or maneuver the surgical tool 128. Each robotic arm 116 may be positionable independently of the other robotic arm. The robotic arms 116 may be controlled in a single, shared coordinate space, or in separate coordinate spaces.
[0040] The robot 114, together with the robotic arm(s) 116, may have, for example, one, two, three, four, five, six, seven, or more degrees of freedom. Further, the robotic arm 116 may be positionedor positionable in any pose, plane, and / or focal point. The pose includes a position and an orientation. As a result, a surgical tool 128 or another object held by the robot 114 (or, more specifically, by the robotic arm 116) may be precisely positionable in one or more needed and specific positions and orientations.
[0041] In some embodiments, reference markers (e.g., navigation markers) may be placed on the robot 114 (including, e.g., on the robotic arm 116), the surgical tool 128, or any other object in the surgical space. The reference markers may be tracked by the navigation system 118, and the results of the tracking may be used by the robot 114 and / or by an operator of the robotic system 100 or any component thereof.
[0042] The navigation system 118 provides navigation for a surgeon and / or a surgical robot during an operation. The navigation system 118 may be any now-known or future-developed navigation system, including, for example, the Medtronic StealthStation™ S8 surgical navigation system or any successor thereof. The navigation system 118 may include one or more cameras (e.g., the camera 210 illustrated in FIG. 2) or other sensor(s) for tracking one or more reference markers, navigated trackers, or other objects within the operating room or other room in which some or all of the robotic system 100 is located. The one or more cameras may be optical cameras, infrared cameras, or other cameras. In some embodiments, the navigation system 118 may comprise one or more electromagnetic sensors. In various embodiments, the navigation system 118 may be used to track a position and orientation (e.g., a pose) of the imaging device 112, the robot 114 and / or robotic arm 116, the surgical tool 128), and / or one or more other tools (or, more particularly, to track a pose of a navigated tracker attached, directly or indirectly, in fixed relation to the one or more of the foregoing). The navigation system 118 may include a display for displaying one or more images from an external source (e.g., the computing device 102, imaging device 112, or other source) or for displaying an image and / or video stream from the one or more cameras or other sensors of the navigation system 118. In some embodiments, the robotic system 100 can operate without the use of the navigation system 118. The navigation system 118 may be configured to provide guidance to a surgeon or other user of the robotic system 100 or a component thereof, to the robot 114, or to any other element of the robotic system 100 regarding, for example, a pose of one or more anatomical elements, whether or not a tool is in the proper trajectory, and / or how to move a tool into the proper trajectory to carry out a surgical task according to a preoperative or other surgical plan.
[0043] The database 130 may store information that correlates one coordinate system to another (e.g., one or more robotic coordinate systems to a patient coordinate system and / or to a navigation coordinate system). The database 130 may additionally or alternatively store, for example, one or more surgical plans (including, for example, pose information about a target and / or image information about a patient’s anatomy at and / or proximate the surgical site, for use by the robot 114, the navigation system 118, and / or a user of the computing device 102 or of the robotic system 100); one or more images useful in connection with a surgery to be completed by or with the assistance of one or more other components of the robotic system 100; and / or any other useful information. The database 130 may be configured to provide any such information to the computing device 102 or to any other device of the robotic system 100 or external to the robotic system 100, whether directly or via the cloud 134. In some embodiments, the database 130 may be or comprise part of a hospital image storage system, such as a picture archiving and communication system (PACS), a health information system (HIS), and / or another system for collecting, storing, managing, and / or transmitting electronic medical records including image data.
[0044] The cloud 134 may be or represent the Internet or any other wide area network. The computing device 102 may be connected to the cloud 134 via the communication interface 108, using a wired connection, a wireless connection, or both. In some embodiments, the computing device 102 may communicate with the database 130 and / or an external device (e.g., a computing device) via the cloud 134.
[0045] The robotic system 100 or similar systems may be used, for example, to carry out one or more aspects of the methods 400 and 700 described herein. The robotic system 100 or similar systems may also be used for other purposes.
[0046] FIG. 2 illustrates a representative example system 200 of the robotic system 100. The system 200 includes the computing device 102, the robot 114, and the navigation system 118. The illustrated example of the robot 114 includes one robotic arm 116, and the surgical tool 128. As illustrated in FIG. 2, the robot 114 may be used to perform procedures on an anatomical element 204.
[0047] The navigation system 118 includes a camera 210, which has a field of view 206. As illustrated in FIG. 2, the field of view may encompass the anatomical element 204 (including an anatomy tracker 208) and the robotic arm 116.
[0048] In the illustrated example, the robotic arm 116 is a 7 DOF (seven degrees of freedom) anthropomorphic robotic arm. FIGS. 3 A and 3B illustrate the example robotic arm 116 in more detail. As illustrated in FIG. 3A, the robotic arm 116 has seven joints, each of which may be positioned at a respective rotational angle 0i- O7.
[0049] FIG. 4 illustrates an example method 400 for operating the system of FIG. 1 to position the robotic arm 116. Although the method 400 is described in conjunction with the robotic system 100 as described herein, the method 400 could be used with other systems and devices. In addition, the method 400 may be modified or performed differently than the example provided. In particular, the method 400 is applicable to robotic systems, which are not used for surgery.
[0050] As an example, the method 400 is described as being performed by the computing device 102, and, in particular, the electronic processor 104. However, it should be understood that, in some examples, portions of the method 400 may be performed by other components of the robotic system 100, such as, for example, the robot 114.
[0051] At block 402, the electronic processor 104 receives a desired position for a tool center point of the surgical tool 128. For example, the electronic processor 104 may receive the desired position from a user input provided via the user interface 110. In another example, the electronic processor 104 may receive the desired position from a surgical plan stored in the memory 106 or input via the user interface 110. The desired position is a desired position in space of the tool center point for the surgical tool 128 relative to one or more applicable coordinate systems. The desired position may result, for example, in the surgical tool being positioned to drill into or remove a particular portion of bone, insert a screw, or perform another part of a surgical procedure.
[0052] At block 404, the electronic processor 104 determines a plurality of solutions for the robotic arm 116 based on the desired position. For example, the electronic processor 104 may execute one or more routines of the rigidity-based kinematics 124 to generate a plurality of solutions. As would be understood by one skilled in the art, a “solution” describes a configuration for the robotic arm 116, which results in the tool center point being located at the desired position. Each solution is comprised of joint space information, which describes the configuration of the robotic arm. For example, a solution may include values for the rotational angle of each of the arm's joints (e.g., 0i- O7). As noted, for a 7 DOF robotic arm, the number of possible solutions is very large.
[0053] In some instances, the electronic processor 104 is able to reduce the number of possible solutions by applying certain parameters (e.g., an external collision, a self-collision, and a jointrotational limitation). For example, there may be joint rotational limitations imposed by the specifications of the robotic arm 116, which rule out a subset of solutions. In another example, some solutions might result in the robotic arm 116 colliding with external objects in its environment during the movement required to implement the solutions. For example, the electronic processor 104 may be aware of the position of surrounding objects based on information received from the navigation system 118. In another example, the electronic processor 104 may be aware of the position of surrounding objects based on a three-dimensional work volume provided by a 3D camera (e.g., one of the sensors 136) positioned on the robotic arm 116. In another example, some solutions might result in the robotic arm 116 colliding with itself (e.g., a portion of the robotic arm 116, the robot 114, and / or the surgical tool 128). In producing the plurality of solutions for evaluation (at blocks 406-408), the electronic processor may rule out those solutions that would exceed a joint rotational limitation or result in a self or external collision.
[0054] At block 406, the electronic processor 104, for each of the plurality of solutions, determines a rigidity for the robotic arm 116. The rigidity may be a measurement of the rigidity of an end effector (e.g., the surgical tool 128) of the robotic arm 116, a cumulative rigidity of the robotic arm 116, or some combination (e.g., an average) of both. The rigidity for the robotic arm 116 is a measurement of the stiffness of the robotic arm 116 (i.e., its resistance to deflection under varying types of loads while in the desired position).
[0055] As noted, in some examples, the robotic arm 116 is a 7 DOF robotic arm. In such examples, the electronic processor 104 (e.g., the rigidity-based kinematics 124) may determine the rigidity for the robotic arm using algorithms described in “Task-oriented rigidity optimization for 7 DOF redundant manipulators.” (D. Busson, et al. / IFAC PapersOnLine 50-1 (2017) 14588-14593). Other algorithms may be used or developed for determining the rigidity of the robotic arm.
[0056] In some instances, the robotic arm 116 includes at least one redundant joint (e.g., it is kinematically redundant in at least one degree of freedom). In such instances, the electronic processor 104 is further configured to determine the rigidity for the robotic arm based on a redundancy parameter for the at least one redundant joint and a specified force vector. For example, as illustrated in FIG. 5, chart 500 shows that for a force F, varying a redundancy factor P results in varying levels of rigidity in a direction y (opposed the force F).
[0057] In some instances, the electronic processor 104 determines the rigidity for the robotic arm based on the redundancy parameter for the at least one redundant joint and an axis translation. Forexample, as illustrated in FIG. 6, chart 600 shows how rigidity varies with movement of the end effector along the x axis. In another example, the rigidity for the robotic arm may be based on a redundancy parameter for a redundant joint and a y axis translation or on two or more rotational joints and translations. In some aspects, the rigidity for the robotic arm may be based on one or more of the redundancy parameter for the at least one redundant joint, a translational displacement of the robotic arm, and a rotational displacement of the robotic arm
[0058] At block 408, the electronic processor 104 selects, from the plurality of solutions, a preferred solution, the preferred solution based on the rigidity. In some instances, the electronic processor 104 may select as the preferred solution the solution having the greatest rigidity value (e.g., in N / m). In some instances, the electronic processor 104 may determine the rigidity as the solutions are generated and select as the preferred solution the first solution generated where a rigidity value exceeds a threshold level. The threshold may be set, for example, based on a known tolerance for deflection, given the surgical procedure being performed. In some instances, the electronic processor 104 may determine the rigidity for the plurality of solutions when generation of the plurality of solutions is complete.
[0059] In some aspects, the electronic processor 104 may select the preferred solution by determining an acceptable level of rigidity based on other factors.
[0060] For example, the electronic processor 104 may determine a force to be applied by the surgical tool 128 when in the desired position and select the preferred solution based on the rigidity and the force to be applied. For example, a higher level of rigidity may be desired where more force will be applied by the surgical tool 128 (e.g., drilling into bone, inserting a screw, and the like).
[0061] For each part of a procedure (e.g., a screw that needs to be inserted, a bone removal procedure, and the like) a different trajectory may be required. Different robotic arm positions for the same given location / trajectory have different responses to load in terms of rigidity (displacement). Accordingly, in some instances, the electronic processor 104 may base the selection of the preferred solution on the trajectory of the surgical tool. For example, the electronic processor 104 may determine a trajectory for the surgical tool by retrieving it from a surgical plan stored in the memory 106 and select the preferred solution based on the rigidity and the trajectory.
[0062] In another example, the electronic processor 104 may determine a type of operation to be performed by the surgical tool when in the desired position and select the preferred solution basedon the rigidity and the type of operation to be performed. For example, where the operation to be performed is bone removal guided by the surgeon, a lower rigidity value may be required.
[0063] Regardless of how the preferred solution is selected, at block 410, the electronic processor 104 controls the robotic arm 116 based on the preferred solution. For example, the electronic processor 104 executes control algorithms, which activate servos to operate the joints of the robotic arm 116 in the appropriate sequence to execute the preferred solution.
[0064] FIG. 7 illustrates an example method 700 for operating the system of FIG. 1 to position the robotic arm 116. Although the method 700 is described in conjunction with the robotic system 100 as described herein, the method 700 could be used with other systems and devices. In addition, the method 700 may be modified or performed differently than the example provided. In particular, the method 700 is applicable to robotic systems, which are not used for surgery.
[0065] As an example, the method 700 is described as being performed by the computing device 102, and, in particular, the electronic processor 104. However, it should be understood that, in some examples, portions of the method 700 may be performed by other components of the robotic system 100, such as, for example, the robot 114.
[0066] At block 702, the electronic processor 104 receives a desired position for a tool center point of the surgical tool 128, as described above with respect to the method 400.
[0067] At block 704, the electronic processor 104 determines a plurality of solutions for the robotic arm 116 based on the desired position, as described above with respect to the method 400.
[0068] At block 706, the electronic processor 104 selects, from the plurality of solutions, a preferred solution, the preferred solution based on an operational parameter. For example, the electronic processor 104 may select the solution based on the type of surgical tool (e.g., a solution, which results in the placement of the tool in the best position to perform its task, be observed by the navigation system, be monitored or guided by a surgeon, and the like). In another example, the electronic processor 104 may select the solution based on the type of surgical procedure. For example, a procedure calling for a large number of movements may require selecting solutions resulting in more efficient moves of the robotic arm 116. In another example, the electronic processor 104 may select the solution based on a duration for the procedure, selecting, for example, solutions based on the time to implement them.
[0069] At block 708, the electronic processor 104 determines a rigidity for the robotic arm based on the preferred solution, as described above with respect to the method 400.
[0070] At block 710, the electronic processor 104 determines a load for the robotic arm based on the preferred solution. The load for the robotic arm is the force, which could potentially result in deflection. This force could be calculated or measured, as appropriate given the surgical procedure.
[0071] For example, the electronic processor 104 may determine a force to be applied by the surgical tool 128 when in the desired position and determine the load based on the force. For example, a surgical plan may require the application of a particular force to apply a cutting motion, drill a hole, insert a screw, and the like.
[0072] Alternatively, or additionally, the electronic processor 104 may determine a direction for the force to be applied by the surgical tool 128 when in the desired position and determine the load based on the force and the direction. For example, the electronic processor 104 may determine the direction of the force by retrieving it from a surgical plan stored in the memory 106 or receive the direction from a surgeon via the user interface 110 and determine the load based on the force and the direction.
[0073] Alternatively, or additionally, the electronic processor 104 may determine a type of operation to be performed by the surgical tool when in the desired position and determine the load based on the type of operation to be performed. For example, some operations may vary the level of force applied over the course of the operation.
[0074] As described herein, the robot 114 may include one or more sensors 136 positioned to sense forces associated with the surgical tool 128. In some instances, the electronic processor 104 may determine, based on signals received from the one or more sensors, an applied force for the surgical tool 128 and determine the load based on the applied force.
[0075] At block 712, the electronic processor 104 calculates a deflection for the robotic arm based on the rigidity and the load. In some examples, the electronic processor calculates the deflection using Hooke’s Law, where the deflection is the quotient of the load divided by the rigidity.
[0076] At block 714, the electronic processor 104 controls the robotic arm 116 to position the surgical tool 128 based on the preferred solution and the deflection. For example, the electronic processor 104 may adjust the preferred solution to position the surgical tool 128 taking into account the deflection and execute control algorithms, which activate servos to operate the joints of the robotic arm 116 in the appropriate sequence to execute the adjusted preferred solution.
[0077] In some instances, the electronic processor 104 may evaluate a plurality of solutions for a desired position and a known force by generating a deflection for each and selecting the solution with the least amount of deflection.
[0078] In other aspects, the electronic processor 104 may be configured to combine the approaches described above. For example, it may select the solution in terms of rigidity and compensate for the deflection under load for the arm in that position.
[0079] With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain implementations and should in no way be construed to limit the claims.
[0080] Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation.
[0081] All terms used in the claims are intended to be given their broadest reasonable constructions and their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary in made herein. In particular, use of the singular articles such as “a,” “the,” “said,” et cetera, should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.
[0082] Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value or range.
[0083] Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at leastone embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
[0084] Unless otherwise specified herein, the use of the ordinal adjectives “first,” “second,” “third,” etc., to refer to an object of a plurality of like objects merely indicates that different instances of such like objects are being referred to, and is not intended to imply that the like objects so referred-to have to be in a corresponding order or sequence, either temporally, spatially, in ranking, or in any other manner.
[0085] Unless otherwise specified herein, in addition to its plain meaning, the conjunction “if’ may also or alternatively be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” which construal may depend on the corresponding specific context. For example, the phrase “if it is determined” or “if [a stated condition] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event].”
[0086] Also, for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” et cetera, imply the absence of such additional elements. The same type of distinction applies to the use of terms “attached” and “directly attached,” as applied to a description of a physical structure. For example, a relatively thin layer of adhesive or other suitable binder can be used to implement such “direct attachment” of the two corresponding components in such physical structure.
[0087] The described embodiments are to be considered in all respects as only illustrative and not restrictive. In particular, the scope of the disclosure is indicated by the appended claims rather than by the description and figures herein. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
[0088] The functions of the various elements shown in the figures, including any functional blocks labeled as “processors” and / or “controllers,” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriatesoftware. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and nonvolatile storage. Other hardware, conventional and / or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.
[0089] As used in this application, the term “circuitry” may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry); (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.” This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.
[0090] It should be appreciated by those of ordinary skill in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the disclosure. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams,pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0091] It should be understood that although certain figures presented herein illustrate hardware and software located within particular devices, these depictions are for illustrative purposes only. In some embodiments, the illustrated components may be combined or divided into separate software, firmware, and / or hardware. For example, instead of being located within and performed by a single electronic processor, logic and processing may be distributed among multiple electronic processors. Regardless of how they are combined or divided, hardware and software components may be located on the same computing device or may be distributed among different computing devices connected by one or more networks or other suitable communication links.
[0092] The following paragraphs provide various Examples reciting examples and alternatives disclosed herein.
[0093] Example 1. A medical system comprising a robot including a robotic arm; a surgical tool coupled to a distal end of the robotic arm; and an electronic processor coupled to the robot, and configured to: receive a desired position for a tool center point of the surgical tool; determine a plurality of solutions for the robotic arm based on the desired position; for each of the plurality of solutions, determine a rigidity for the robotic arm; select, from the plurality of solutions, a preferred solution, the preferred solution based on the rigidity; and control the robotic arm based on the preferred solution.
[0094] Example 2. The medical system of Example 1, wherein the electronic processor is further configured to: determine a force to be applied by the surgical tool when in the desired position; and select the preferred solution based on the rigidity and the force.
[0095] Example 3. The medical system of Example 1 or Example 2, wherein the electronic processor is further configured to: determine a trajectory for the surgical tool when in the desired position; and select the preferred solution based on the rigidity and the trajectory.
[0096] Example 4. The medical system of any one of Examples 1 to 3, wherein the electronic processor is further configured to: determine a type of operation to be performed by the surgical tool when in the desired position; and select the preferred solution based on the rigidity and the type of operation to be performed.
[0097] Example 5. The medical system of any one of Examples 1 to 4, wherein the electronic processor is further configured to: determine the plurality of solutions for the robotic arm based on the desired position and at least one selected from a group consisting of an external collision, a self-collision, and a joint rotational limitation.
[0098] Example 6. The medical system of any one of Examples 1 to 5, wherein: the robotic arm includes at least one redundant joint; and the electronic processor is further configured to, for each of the plurality of solutions, determine the rigidity for the robotic arm based on a redundancy parameter for the at least one redundant joint and a specified force vector.
[0099] Example 7. The medical system of Example 6, wherein the electronic processor is further configured to: determine, for each of the plurality of solutions, the rigidity for the robotic arm based on at least one selected from the group consisting of the redundancy parameter for the at least one redundant joint, a translational displacement of the robotic arm, and a rotational displacement of the robotic arm.
[0100] Example 8. The medical system of any one of Examples 1 to 7, wherein the rigidity for the robotic arm is one selected from a group consisting of a rigidity of an end effector of the robotic arm and a cumulative rigidity of the robotic arm.
[0101] Example 9. A medical system comprising: a robot including a robotic arm; a surgical tool coupled to a distal end of the robotic arm; an electronic processor coupled to the robot, and configured to: receive a desired position for a tool center point of the surgical tool; determine a plurality of solutions for the robotic arm based on the desired position; select, from the plurality of solutions, a preferred solution, the preferred solution based on an operational parameter; determine a rigidity for the robotic arm based on the preferred solution; determine a load for the robotic arm based on the preferred solution; calculate a deflection for the robotic arm based on the rigidity and the load; and control the robotic arm based to position the surgical tool on the preferred solution and the deflection.
[0102] Example 10. The medical system of Example 9, wherein the electronic processor is further configured to: determine a force to be applied by the surgical tool when in the desired position; and determine the load based on the force.
[0103] Example 11. The medical system of Example 9 or 10, wherein the electronic processor is further configured to: determine a direction for the force to be applied by the surgical tool when in the desired position; and determine the load based on the force and the direction.
[0104] Example 12. The medical system of any one of Examples 9 to 11, wherein the electronic processor is further configured to: determine a type of operation to be performed by the surgical tool when in the desired position; and determine the load based on the type of operation to be performed.
[0105] Example 13. The medical system of Example 9, further comprising: one or more sensors positioned to sense forces associated with the surgical tool; wherein the electronic processor is further configured to: determine, based on signals received from the one or more sensors, an applied force for the surgical tool; determine the load based on the applied force.
[0106] Example 14. The medical system of any one of Examples 9 to 13, wherein the electronic processor is further configured to: determine the plurality of solutions for the robotic arm based on the desired position and at least one selected from a group consisting of an external collision, a self-collision, and a joint rotational limitation.
[0107] Example 15. The medical system of any one of Examples 9 to 14, wherein: the robotic arm includes at least one redundant joint; and the electronic processor is further configured to determine the rigidity for the robotic arm based on at least one selected from the group consisting of the redundancy parameter for the at least one redundant joint, a translational displacement of the robotic arm, and a rotational displacement of the robotic arm.
[0108] Example 16. The medical system of Example 15, wherein the electronic processor is further configured to determine the rigidity for the robotic arm based on the redundancy parameter for the at least one redundant joint and an x axis translation.
[0109] Example 17. The medical system of any one of Examples 9 to 16, wherein the operational parameter is one selected from a group consisting of a type of surgical tool, a type of surgical procedure, and a duration for a procedure.
[0110] Example 18. A method for operating a surgical robot, the method comprising: receiving a desired position for a tool center point of a surgical tool coupled to a distal end of a robotic arm of the surgical robot; determining a plurality of solutions for the robotic arm based on the desired position; for each of the plurality of solutions, determining a rigidity for the robotic arm; selecting, from the plurality of solutions, a preferred solution, the preferred solution based on the rigidity; and controlling the robotic arm based on the preferred solution.
[0111] Example 19. A method for operating a surgical robot, the method comprising: receiving a desired position for a tool center point of a surgical tool coupled to a distal end of arobotic arm of the surgical robot; determining a plurality of solutions for the robotic arm based on the desired position; selecting, from the plurality of solutions, a preferred solution, the preferred solution based on an operational parameter; determining a rigidity for the robotic arm based on the preferred solution; determining a load for the robotic arm based on the preferred solution; calculating a deflection for the robotic arm based on the rigidity and the load; and controlling the robotic arm to position the tool center point based on the preferred solution and the deflection.
[0112] Various features and advantages of the embodiments presented herein are set forth in the following claims.
Claims
CLAIMSWhat is claimed is:
1. A medical system comprising: a robot (114) including a robotic arm (116); a surgical tool (128) coupled to a distal end of the robotic arm (116); and an electronic processor (104) coupled to the robot (114), and configured to: receive a desired position for a tool center point of the surgical tool (128); determine a plurality of solutions for the robotic arm (116) based on the desired position; for each of the plurality of solutions, determine a rigidity for the robotic arm (116); select, from the plurality of solutions, a preferred solution, the preferred solution based on the rigidity; and control the robotic arm (116) based on the preferred solution.
2. The medical system of claim 1, wherein the electronic processor (104) is further configured to: determine a force to be applied by the surgical tool (128) when in the desired position; and select the preferred solution based on the rigidity and the force.
3. The medical system of claim 1 or 2, wherein the electronic processor (104) is further configured to: determine a trajectory for the surgical tool (128) when in the desired position; and select the preferred solution based on the rigidity and the trajectory.
4. The medical system of any one of claims 1 to 3, wherein the electronic processor (104) is further configured to: determine a type of operation to be performed by the surgical tool (128) when in the desired position; and select the preferred solution based on the rigidity and the type of operation to be performed.
5. The medical system of any one of claims 1 to 4, wherein the electronic processor (104) is further configured to: determine the plurality of solutions for the robotic arm (116) based on the desired position and at least one selected from a group consisting of an external collision, a self-collision, and a joint rotational limitation.
6. The medical system of any one of claims 1 to 5, wherein: the robotic arm (116) includes at least one redundant joint; and the electronic processor (104) is further configured to, for each of the plurality of solutions, determine the rigidity for the robotic arm (116) based on a redundancy parameter for the at least one redundant joint and a specified force vector.
7. The medical system of claim 6, wherein the electronic processor (104) is further configured to: determine, for each of the plurality of solutions, the rigidity for the robotic arm (116) based on at least one selected from the group consisting of the redundancy parameter for the at least one redundant joint, a translational displacement of the robotic arm (116), and a rotational displacement of the robotic arm (116).
8. The medical system of any one of claims 1 to 7, wherein the rigidity for the robotic arm is one selected from a group consisting of a rigidity of an end effector of the robotic arm (116) and a cumulative rigidity of the robotic arm (116).
9. A medical system comprising: a robot (114) including a robotic arm (116); a surgical tool (128) coupled to a distal end of the robotic arm (116); an electronic processor (104) coupled to the robot (114), and configured to: receive a desired position for a tool center point of the surgical tool (128); determine a plurality of solutions for the robotic arm (116) based on the desired position; select, from the plurality of solutions, a preferred solution, the preferred solution based on an operational parameter; determine a rigidity for the robotic arm (116) based on the preferred solution; determine a load for the robotic arm (116) based on the preferred solution; calculate a deflection for the robotic arm (116) based on the rigidity and the load; and control the robotic arm (116) based to position the surgical tool (128) on the preferred solution and the deflection.
10. The medical system of claim 9, wherein the electronic processor (104) is further configured to: determine a force to be applied by the surgical tool (128) when in the desired position;determine a direction for the force to be applied by the surgical tool (128) when in the desired position; and determine the load based on the force and the direction.
11. The medical system of claim 9 or 10, wherein the electronic processor (104) is further configured to: determine a type of operation to be performed by the surgical tool (128) when in the desired position; and determine the load based on the type of operation to be performed.
12. The medical system of claim 9, further comprising: one or more sensors (136) (126) positioned to sense forces associated with the surgical tool (128); wherein the electronic processor (104) is further configured to: determine, based on signals received from the one or more sensors (136) (126), an applied force for the surgical tool (128); determine the load based on the applied force.
13. The medical system of any one of claims 9 to 12, wherein the electronic processor (104) is further configured to: determine the plurality of solutions for the robotic arm (116) based on the desired position and at least one selected from a group consisting of an external collision, a self-collision, and a joint rotational limitation.
14. The medical system of any one of claims 9 to 13, wherein: the robotic arm (116) includes at least one redundant joint; and the electronic processor (104) is further configured to determine the rigidity for the robotic arm (116) based on at least one selected from the group consisting of the redundancy parameter for the at least one redundant joint, a translational displacement of the robotic arm (116), and a rotational displacement of the robotic arm (116).
15. The medical system of claim 14, wherein the electronic processor (104) is further configured to determine the rigidity for the robotic arm (116) based on the redundancy parameter for the at least one redundant joint and an x axis translation.
Citation Information
Patent Citations
Robotic surgical system
EP4289383A1
Method for assessing the positioning accuracy of a medical robot arm
US20100131099A1
Method And Device For Controlling A Manipulator
US20110010008A1
Robotic Systems And Methods For Manipulating A Cutting Guide For A Surgical Instrument
US20200323540A1
Arm movement safety layer
US20230133689A1