Joint Control Unit
The control unit calculates reference torque using filtered frequency components to simplify joint control in robotic manipulators, addressing the complexity of drivetrain dynamics and enhancing stability and accuracy.
Patent Information
- Application Number
- JP2024555037
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-23
- Filing Date
- 2023-12-22
- Publication Date
- 2025-04-16
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing robotic manipulators face challenges in accurately controlling joint configurations due to the complexity introduced by elasticity, mass, and friction in drivetrains, leading to instability and inaccuracy in torque modeling, which complicates the control algorithm and reduces performance.
A control unit calculates a reference torque value using frequency components of drive source and joint signals, applying high-pass and low-pass filters to determine the torque value, which is then used by a joint controller to adjust the current input, simplifying the control process and improving robustness.
This method enhances the stability and accuracy of joint control by reducing reliance on multiple feedback terms, improving high-frequency tracking, and minimizing current oscillations, while allowing for a more compact and efficient joint design.
Smart Images

Figure 2025511541000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to controlling the configuration of joints in mechanical systems, such as the joints in the arms of a surgical robot. [Background technology]
[0002] A typical robotic manipulator includes a series of rigid elements coupled together by one or more joints, which may be joined in series to form an arm. The manipulator further includes a base unit at a first proximal end of the series of rigid elements and an end effector at a second distal end opposite the first end. Each joint of the manipulator is driven by a drive source and a corresponding drive train to cause relative movement of the rigid elements. This relative movement is used to change the configuration of the end effector at a desired position. Each joint may provide rotational or linear motion. The drive source may be any suitable means, such as an electric motor or a hydraulic actuator.
[0003] In theoretical modeling, the drivetrain that actuates the robot joints can be modeled as "rigid". A rigid drivetrain is one that has no elasticity or backlash. Backlash occurs with changes in direction and is due to gaps or clearances between opposing components in the drivetrain. If the drivetrain has no elasticity or backlash, and if the drivetrain is frictionless, massless, and infinitely stiff, the torque produced by the drive source (i.e., the input torque provided to a first end of the drivetrain) is always proportional to the torque produced by the joint (i.e., the output torque at a second end of the drivetrain opposite the first end).
[0004] In reality, the drivetrain components that actuate the robot joints have associated levels of elasticity, mass and friction. Thus, the dynamics of the joints cannot be accurately modeled using a linear relationship between input and output torques. There is a dynamic relationship (i.e., one that is described by a differential equation) between the drive source torque and the output torque. Thus, a real joint controller controls both the internal dynamics of the joint and the external dynamics of the arm. Therefore, the drive source must be controlled using an algorithm that incorporates multiple feedback terms, those feedback terms corresponding to sensor data measured at both the input and output of the drivetrain. The sensor data can thus be used to provide an indication of the performance of the joint. Incorporating multiple feedback terms into a control algorithm increases the complexity of the controller associated with that algorithm, as well as introducing stability and accuracy limitations.
[0005] There is a need for a simpler method of controlling the configuration of joints in mechanical systems such as robotic arms that provides good robustness and performance. Summary of the Invention
[0006] According to a first aspect, there is provided a control unit for a surgical robot, the surgical robot comprising joints driven by a drive train that transfers power from a drive source to the joints, the control unit comprising: depending on a drive source component signal indicative of a position of the drive source and a joint component signal indicative of a position of the joint in the surgical robot, calculating a reference torque value for the joint using a frequency component of the drive source component signal in a high frequency range and a frequency component of the joint component signal in a low frequency range, and outputting the reference torque value to a joint controller for controlling the joint.
[0007] The joint controller may adjust the current input to the drive source to achieve a reference torque at the drive source (i.e., so that the drive source torque matches the reference torque).
[0008] The control unit may be configured to receive a drive component signal indicative of a position of the drive. The control unit may be configured to receive a joint component signal indicative of a position of a joint in the surgical robot. The control unit may be configured to receive a frequency component of the drive component signal in a high frequency range. The control unit may be configured to receive a frequency component of the joint component signal in a low frequency range. The control unit may be configured to receive a signal including a frequency component of the drive component signal in a high frequency range and a frequency component of the joint component signal in a low frequency range. The control unit may calculate a value of the reference torque from the received signal or components.
[0009] The frequency components of the drive source configuration signal that are in the high frequency range may be the output of a high pass filter that takes the drive source configuration signal as an input. The frequency components of the joint configuration signals that are in the low frequency range may be the output of a low pass filter that takes the joint configuration signal as an input. The control unit may be configured to calculate the value of the reference torque using the frequency components of the drive source configuration signal that are output from the high pass filter that takes the drive source configuration signal as an input and the frequency components of the joint configuration signals that are output from the low pass filter that takes the joint configuration signal as an input.
[0010] Thus, the control unit may be configured to determine the frequency content of the drive component signals and / or the frequency content of the joint component signals by applying one or more filters to the respective signals, for example, the control unit may be configured to apply a low pass filter to the joint component signals and a high pass filter to the drive component signals.
[0011] Each filter may take as input a drive component signal or a joint component signal. The drive component signal and / or the joint component signal may include raw sensor data, or the raw sensor data may be scaled or input to some other filter before the drive component signal or the joint component signal is output.
[0012] One or more filters (eg, a high-pass filter and / or a low-pass filter) may each apply different gains to different frequency components of the respective signal.
[0013] The control unit is o L+q i may be configured to calculate a value of the reference torque using a position signal given by: o is the joint component signal, and q i is the driving source configuration signal, and L is the low-pass filter, where (1-L) is the high-pass filter.
[0014] The control unit may be further configured to receive a reference input indicating a desired position of the joint.
[0015] The value of the reference torque may further be calculated using a reference input indicating a desired position of the joint.
[0016] The value of the reference torque may be calculated using the difference between the first derivative of the reference input and the first derivative of the drive source configuration signal. The derivative may be with respect to time.
[0017] The value of the reference torque may be calculated using the virtual position signal. The value of the reference torque may be calculated using a difference between the reference input and the virtual position signal. The virtual position signal may be calculated using a frequency component of the drive component signal in a high frequency range and a frequency component of the joint component signal in a low frequency range. The virtual position signal is calculated using q virt =q o L+q i(1-L), where q o is the joint component signal, and q i is the driving source configuration signal and L is a low pass filter (so (1-L) is a high pass filter).
[0018] The value of the reference torque may be given by the following formula:
[0019]
number
[0020] The drive configuration signal may be determined from data obtained by the first position sensor, and the joint configuration signal may be determined from data obtained from the second position sensor.
[0021] The first position sensor may be located at or proximal to a first end of the drive train where the drive source is located, and the second position sensor may be located at or proximal to a second end of the drive train where the joint is located.
[0022] The drive configuration signal may be a measured angular position of a drive, and the joint configuration signal may be a measured angular position of a joint.
[0023] Calculating the value of the reference torque may include adding a torque term that compensates for the effect of gravity on the joint.
[0024] Calculating the value of the reference torque may include adding an additional torque term when the value of the externally applied torque at the joint exceeds a predetermined value.
[0025] The value of the further torque term may be determined based on the function φ:
[0026]
number
[0027] The high frequency range may correspond to frequencies greater than a first frequency value of approximately 1-3 Hz. The low frequency range may correspond to frequencies less than a second frequency value of approximately 1-3 Hz. For example, the high frequency range may contain primarily frequencies greater than a threshold of 3 Hz, and the low frequency range may contain primarily frequencies less than a threshold of 3 Hz. The high and low frequency ranges may partially overlap. For example, both the high and low frequency ranges may include frequencies in the range of 2.5-3.5 Hz. The high frequency range may have a higher median (or other average) frequency than the low frequency range. The lowest frequency value in the low frequency range may be less than the lowest frequency value in the high frequency range. This may reflect the distribution of frequency content of the signal output from a high pass filter (for the high frequency range) and a low pass filter (for the low frequency range). Such filters may have a specified cutoff frequency (e.g., 3 Hz) and may attenuate the signal at frequencies above (for a low pass filter) and below (for a high pass filter) the cutoff frequency, but are not a true step function. The lowest frequency of the low frequency range may be 0 Hz. The highest frequency of the high frequency range may depend on the sensitivity of the sensor acquiring the signal data and / or the frequency at which the signal is transmitted. For example, this may be 5 Hz. In other implementations, this may be up to 50 Hz.
[0028] In some implementations, the control unit may be configured to calculate values of the reference torques of the joints using frequency components of the drive component signal that are above a frequency threshold and frequency components of the joint component signal that are below a frequency threshold. These thresholds may be different.
[0029] The control unit may be configured to iteratively calculate the value of the reference torque.
[0030] The drive source may be a motor.
[0031] According to a second aspect, there is provided a method (e.g., a computer-implemented method) for controlling a surgical robot, the surgical robot comprising joints driven by a drive train that transfers power from a drive source to the joints, the method comprising: calculating a reference torque value of the joint using a frequency component of the drive source component signal in a high frequency range and a frequency component of the joint component signal in a low frequency range depending on a drive source component signal indicative of a position of the drive source and a joint component signal indicative of a position of the joint within the surgical robot, and outputting the reference torque value to a joint controller for controlling the joint.
[0032] According to another aspect, there is provided a computer readable storage medium having stored thereon computer readable instructions that, when executed in a computer system having one or more processors, cause the one or more processors to perform the method described above. The computer readable storage medium may be a non-transitory computer readable storage medium. [Brief description of the drawings]
[0033] The invention will now be described, by way of example only, with reference to the accompanying drawings in which:
[0034] [Figure 1] FIG. 1 is a schematic diagram of an exemplary robotic arm. [Diagram 2] FIG. 2 is a schematic block diagram showing an ideal control loop for controlling the configuration of joints in a robot arm. [Diagram 3] FIG. 3 illustrates the nonlinear stiffness characteristics of a drive train for a robot joint. [Figure 4] FIG. 4 is a schematic block diagram illustrating an all-state control scheme for controlling the configuration of joints in a robot arm. [Diagram 5] FIG. 5 is a schematic block diagram illustrating one implementation of a control scheme for controlling the positions of the joints in a robotic arm. [Figure 6] FIG. 6 is a schematic block diagram illustrating another implementation of a control scheme for controlling the positions of the joints in a robotic arm. [Figure 7] FIG. 7 is a schematic block diagram illustrating a further implementation of a control scheme for controlling the position of the joints in a robotic arm. [Figure 8] FIG. 8 shows diagrammatically the variation of the function φ with the output torque τj. [Figure 9] FIG. 9 illustrates method steps for controlling joints in a surgical robot. [Figure 10] FIG. 10 is a schematic block diagram illustrating components of an exemplary computing-based device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0035] The following description describes the present technology in the context of robotic systems, which may include manufacturing systems such as vehicle manufacturing systems, parts handling systems, laboratory systems, and manipulators for hazardous materials or surgical manipulators. The robotic system illustrated in FIG. 1 is specifically a surgical robotic system. However, the features described below are not limited to such systems and apply more broadly to robotic systems.
[0036] FIG. 1 illustrates a surgical robot having an arm 100 extending from a base unit 102. The arm comprises a number of rigid limbs 104a-e coupled by a number of swivel joints 106a-e. The swivel joints 106a-e are configured to apply rotational motion. Alternatively, or in addition to these swivel joints, the surgical robot may include one or more joints for providing linear motion. The limb closest to the base 102 is the most proximal limb 104a, which is coupled to the base by a proximal joint 106a. The remaining limbs of the arm are each coupled in series by a number of joints 106b-e. The wrist 108 may include four individual swivel joints. The wrist 108 couples one limb (104d) to the most distal limb (104e) of the arm. The most distal limb 104e carries a mount 110 for a surgical instrument 112. Each joint 106a-e of the arm 100 has one or more drive sources 114 operable to induce rotational motion at the respective joint. Each drive source 114 is connected to the respective joint 106a-e by a drive train that transfers power from the drive source to the joint. In one embodiment, the drive train includes one or more gears. In a more specific example, the drive train is a harmonic drive. A harmonic drive includes a concentric arrangement of wave generators, flexsplines, and circular splines to increase the torque that can be applied to the joints by the drive sources.
[0037] In one embodiment, the driving source 114 is a motor. The driving source 114 may alternatively be a hydraulic actuator, or any other suitable means. Each joint 106a-e further includes one or more configuration and / or force sensors 116 that provide information regarding the current configuration and / or force at that joint. If the joint is a revolute joint, one or more of the sensors 116 may be a torque sensor. If the joint is configured to provide linear motion, one of the one or more sensors 116 may be a strain gauge. In addition to the configuration and / or force data, the one or more sensors 116 may additionally provide information regarding temperature, current, or pressure (such as hydraulic pressure). In one embodiment, the one or more configuration sensors are position sensors. That is, the configuration sensors may measure the physical position of the joint. In such an embodiment, one or more of the sensors 116 may be an encoder. An encoder is a position sensor that converts a position measurement into an electronic signal. The encoder 116 may be a linear or rotary encoder.
[0038] The actuators 114 are positioned proximal to the joints whose movements they drive to improve weight distribution. For clarity, FIG. 1 shows only some of the actuators and sensors. It will also be understood that the surgical robot 100 may include more or fewer limbs and joints than those depicted in FIG. 1.
[0039] The instrument 112 of the surgical robot 100 includes an end effector for performing surgery. The end effector may take any suitable form. For example, the end effector may be a smooth jaw, a serrated jaw, a gripper, a pair of shears, a suture needle, a camera, a laser, a knife, a stapler, a cautery, or an aspirator. The instrument further includes an instrument shaft and an articulation joint located between the instrument shaft and the end effector. The articulation joint includes a number of joints that allow the end effector to move relative to the instrument shaft.
[0040] The configuration controllers of the actuators 114 and the sensors 116 are distributed within the robotic arm 100. The controllers are connected to a control unit 118 via a communication bus. The control unit 118 comprises a processor 120 and a memory 122. The memory 122 stores software executable by the processor 120 to control the operation of the actuators 114 to operate the arm 100 in a non-transient manner. In particular, the software can control the processor 120 to drive the actuators (e.g., via a distributed controller) depending on inputs from the sensors 116 and the surgeon command interface 124. The control unit 118 is coupled to the actuators 114 to drive them according to outputs generated by the execution of the software. The control unit 118 is electrically connected to the sensors 116 to receive sensed inputs from the sensors and to the command interface 124 to receive inputs from the sensors. The electrical connections described with reference to FIG. 1 and all subsequent figures may be, for example, electrical or optical cables, respectively, or may be provided by wireless connections.
[0041] The command interface 124 includes one or more input devices by which a user can request movement of the end effector in a desired manner. The input device, or input controller, can be, for example, a manually operable mechanical input device such as a control handle or joystick, a touch operable input such as a touch screen, or a non-contact input device such as an optical gesture sensor or a voice sensor. The input device can monitor eye movements to receive input. The input device can be, for example, some combination of these types of input devices. Commands entered by the input device can include movement commands to move the instrument in a particular manner, such as, for example, lateral movement and / or rotation. Such commands can include, for example, end effector commands to operate the end effector, such as coupling and controlling the end effector to the distal end of the instrument 112 to open and close gripper jaws, or to operate (turn on or off) an electrosurgical end effector.
[0042] Software stored in memory 122 is configured to respond to these inputs and accordingly move the joints of the arms and instruments according to a predefined control strategy. The control strategy may include safety features that mitigate the motion of the arms and instruments in response to command inputs. Thus, in summary, a surgeon at a surgeon console, suitably including a command interface 124, can control the instruments 112 to move to perform a desired surgical procedure. Thus, the robotic arm 100 functions as a master-slave manipulator, with the control unit 118 acting as the master controller. The control unit 118 and / or the command interface 124 may be remote from the arm 100.
[0043] Figure 2 shows an example control loop 200 for controlling the configuration of a revolute joint in a robotic arm, as shown in Figure 1. The control loop includes a configuration controller 202, a torque controller 204, an inertial output 206, and a sensor 208.
[0044] The controller 202 may be distributed within a robotic arm, such as the arm illustrated in FIG. 1, such that it is proximate to the joints it is configured to control. The configuration controller 202 is electrically connected to one or more sensors 208 by a feedback loop. The feedback loop enables the controller 202 to receive measurements indicative of the configuration of the joints from the sensors. The configuration controller 202 is also connected to the control unit 118 by a feedforward loop, and receives a reference configuration value q from the control unit 118. ref In one embodiment, the configuration controller 202 is a separate entity from the control unit 118. In another embodiment, the configuration controller 202 and the control unit 118 are included within the same entity. Thus, in this embodiment, the control unit may be directly connected to the sensor 208.
[0045] Standard configuration q refmay alternatively be referred to as the desired or commanded configuration of the joint. ref is calculated from the end effector pose commanded by the surgeon at the command interface 124. ref may be calculated by applying one or more inverse kinematic calculations to the commanded end-effector pose. ref is the desired physical position of the joint.
[0046] The configuration controller 202 receives the reference position value q from the control unit 118. ref and a feedback value from the sensor 208 is used to perform a calculation to obtain a reference torque value τ ref The reference torque value τ ref is the reference configuration of the joint q ref The torque required to move to the reference torque value τ ref is sent to the torque controller 204.
[0047] The torque controller 204 is electrically connected to the configuration controller 202 and is configured to detect a reference torque value τ ref The joint torque controller is configured to receive τ ref , which is the actual torque applied by the drive source. i If the driving source is a motor, this may be referred to as the motor torque. The joint torque controller adjusts the current input to the driving source to achieve a reference torque at the driving source (i.e., so that the driving source torque matches the reference torque).
[0048] A non-rigid joint, when it is driven, experiences inertia that opposes the torque provided by the drive source. Inertia can be caused by a number of factors that are internal or external to the joint. An example of a source of inertia is the weight of the joint due to gravity. Another exemplary source is the weight of an object supported by or joined to the joint. The presence of inertia reduces the force of its output q o The joint configuration in is the reference configuration q ref For a joint that is rigid, the inertia is determined by the output configuration q of the joint. o Therefore, for a rigid joint, the output configuration q o and the desired configuration q ref There is no difference between.
[0049] The sensor 208 outputs the joint output configuration q o 1. The sensor 208 may correspond to one of the sensors 116 illustrated in FIG. 1. Thus, the sensor 208 may be included within a joint of the robot arm 100. In one embodiment, the output configuration q o is the output position of the joint. Thus, the sensor 208 may be a position sensor, such as a linear or rotary encoder. In this example, the sensor 208 is configured to measure the position of the joint it is configured to and transmit an electrical signal indicative of this measurement to the configuration controller 202. The transmittance of this electrical signal forms a feedback loop that is used by the configuration controller 202 to calculate an updated reference torque.
[0050] In general, a feedback term indicates the deviation between the desired configuration of a joint and its actual configuration and is used within the control system to compensate for disturbances that may take the joint further from its steady state. Thus, a reference torque τ refThe value of may be continuously updated as successive data measurements are obtained from the sensor 208. The feedback loop may further include one or more filters, integrators, or differentiators to manipulate the raw output values obtained from the sensor 208 before being provided to the configuration controller 202.
[0051] As mentioned above, the joints controlled by the loops illustrated in Figure 2 are modeled as "rigid." For a rigid joint, the input torque (i.e., the torque measured at a first end of the drive train where the driving source is located, or a proximal location) is proportional to the output torque (i.e., the torque measured at a second end of the drive train where the joint is located, or a proximal location).
[0052] The output torque measured for a joint can be characterized by the following equation:
[0053]
number
[0054] The spring constant referred to herein may be referred to as the spring coefficient K. It should be noted that the spring constant (or spring coefficient) does not necessarily have a constant value for all extension values. Indeed, in some embodiments, the spring coefficient is a continuous function of the extension value, and in some other embodiments, the spring coefficient is selected from a set of discrete values, each discrete value being associated with a respective range of extension values.
[0055] As mentioned above, mechanisms for driving joints in robotic systems include an associated element of elasticity, resulting in non-linear stiffness characteristics. This elasticity is particularly characteristic of harmonic drives. FIG. 3 is a graph illustrating an exemplary non-linear stiffness characteristic for an elastic joint of a robotic arm. The graph plots extension on the x-axis and output torque on the y-axis. The output torque may be measured by a sensor located at a second end of the drive train where the joint is located. The sensor for measuring the output torque may be a gauge sensor. The gauge sensor is configured to measure the change in voltage due to mechanical strain. The extension is proportional to the input configuration q i The output configuration of the joint q o The input configuration may be measured by a first sensor located at a first end of the drive train where the drive source is located, and the output configuration may be measured by a second sensor located at a second end of the drive train where the joint is located.
[0056] In Fig. 3, the output torque τ o is measured in Nm and the elongation ε is measured in degrees. In an alternative embodiment, the elongation ε may be measured in radians. In both of these embodiments, the first and second sensors for measuring the input and output configurations are rotational position sensors. In a further embodiment, the elongation may be a linear measurement that may be calculated using measurements obtained from a linear position sensor. In this embodiment, the elongation may be measured in meters. In a further embodiment, the elongation may be dimensionless. An example of a dimensionless measurement of the elongation is as a percentage.
[0057] The graph shown in FIG. 3 includes five distinct regions 302-310. Regions 302 and 310 are plots of the relationship between drivetrain elongation and output torque τ o 3 shows a direct proportional relationship between the extension of the drivetrain and the output torque. That is, as the extension of the drivetrain increases, the output torque increases at a constant rate. This represents the ideal performance of the joint described above with reference to FIG. 2. Region 302 shows the joint performance for negative values of extension, and region 310 shows its performance for positive values of extension. The slope of the graphs plotted in regions 302 and 310 represents the stiffness K of the drivetrain within the associated range of extension values.
[0058] Region 306 represents the phenomenon of backlash, where the slope of the line representing the drivetrain stiffness is approximately zero. As discussed above, backlash refers to the lost motion in a mechanism experienced when changing direction and is caused by gaps or clearances between opposing components of the drivetrain.
[0059] In the case of harmonic drives, backlash is a result of the clearance between the circular spline and the flexspline, and / or the elastic deformation of the flexspline under torque. This phenomenon typically occurs within a region of extension values. In the example illustrated in Figure 3, the values of this extension region are between -0.1 and 0 degrees. Naturally, for different joints, the backlash region will appear at different ranges of extension values. In this region of the graph, the measured sensor torque is zero and remains zero as the extension increases between -0.1 and 0 degrees. Thus, during the reversal of joint direction between -0.1 and 0 degrees of extension, no torque is transferred through the drive train from the drive source to the joint.
[0060] Regions 304 and 308 are transition zones. In these zones, the drivetrain is transitioning between the backlash region and the region of intended performance. During these regions, there is a non-linear relationship between extension and sensor torque.
[0061] The representative stiffness of the drivetrain throughout the range of extension values recorded in Figure 3 is represented by the slope of the regression line 312, which passes through all regions of the graph. From Figure 3, it can be seen that for an elastic joint, the relationship between extension and output torque is not perfectly linear. That is, the slope of the stiffness characteristic in the backlash region 306 (zero) is substantially different than its slope in regions 302 and 310. Thus, the straight line represented by 312 provides an accurate representation of the stiffness characteristic of the drivetrain for all values of extension.
[0062] The performance of joints that exhibit the nonlinear characteristics shown in Figure 3 cannot be accurately modeled. It is therefore important for a robotic control system to incorporate feedback loops that measure the real-world performance of the joints and use those performance measurements as feedback terms to adjust the reference signals used to drive the joints.
[0063] The differential equation for a single elastic joint can be expressed as follows:
[0064]
number
[0065] In the above formula, M, B, K, D, F i , and F o are the parameters of the system to be controlled, M is the inertia at the output of the drive train, and B o is the inertia at its input (i.e., at the output of the driving source), K is the spring constant of the drivetrain, and D is the damping term. Thus, D represents the energy lost due to the elasticity of the drivetrain. F i is the input torque disturbance. The input torque disturbance may be due to, for example, static friction. F o is the output torque disturbance. In one embodiment, the output torque disturbance is caused by other joints in the robot arm.
[0066] In addition to the control variables mentioned above, the differential equations observe four state variables of the elastic joint: position, velocity, acceleration, and torque. These variables may be defined either at the input or output of the drivetrain. In the above equations, the output configuration q of the joint o is the output position of the joint. Therefore,
number
number
number
[0067] Figure 4 is a block diagram illustrating an all-state control scheme for controlling the configuration of joints in a robotic arm. In the particular example illustrated in Figure 4, the configuration of a joint is its position. The control scheme may be implemented in a joint controller as described with reference to Figure 1. The control scheme includes a joint controller 402 and a control loop 404 electrically connected to each other by an interconnect circuit. The joint controller 402 includes one or more electrical connections for connecting to a joint 406 of the robotic arm. The robotic arm may correspond to the arm 100 shown in Figure 1, and the joint 406 may correspond to one or more of the joints 104a-e.
[0068] The joint controller 402 determines an input torque τ generated by a drive source and transmitted to the joint 406 by a drive train. i The control loop 404 is configured to receive sensor data from the joints 406 and use the sensor data as feedback to calculate a reference torque value τ ref The method is configured to calculate:
[0069] The joint controller 402 includes a drive source 408 and a drive source controller 410. The joint controller 402 controls the torque and reads and / or processes the sensor signals. The joint controller adjusts the drive source (e.g., motor) current to achieve a reference torque at the drive source, i.e., the input torque at the drive source matches the reference torque. The drive source 408 is connected to both the joints 406 of the robot arm and the drive source controller 410. The drive source 408 outputs an input torque τ to a drive train that drives the joints 406 of the robot arm. i In one embodiment, the drive source 408 is a motor. In other embodiments, the drive source 408 may be a hydraulic or pneumatic actuator, or any alternative power source. The drive source controller 410 is configured to control the performance of the drive source, and therefore the input torque around the motor.
[0070] The drive source 408 and the drive source controller 410 are electrically connected to each other by a loop passing from the controller to the drive source and a feedback loop passing from the drive source to the controller. In an embodiment where the drive source is a motor, the loop passing from the controller to the drive source allows the controller to provide a three-phase voltage supply to the motor. In this embodiment, the feedback loop allows the motor to provide three-phase current feedback to the controller. The feedback loop is used to modify the voltage, and therefore the current, supplied to the motor. Thus, the feedback loop ensures that the intended torque is generated by the motor.
[0071] The joint controller 402 further includes a number of sensors for measuring one or more parameters indicative of the performance of the joint 406. The sensors are further configured to generate electrical signals associated with their measurements such that these electrical signals can be transmitted to the control loop 404.
[0072] In one example, the sensor is included within joint 406. In another embodiment, the sensor is external but coupled to joint 406. The multiple sensors may correspond to sensors 116 shown in Figure 1. In Figure 4, the multiple sensors include a first sensor 412, a second sensor 414, and a third sensor 416.
[0073] The first sensor 412 and the second sensor 414 are configured to measure a configuration about the joint 406. As mentioned above, the joint configuration can be a position of the joint. In this example, the sensor can be an encoder. The encoder can be either a linear encoder or a rotary encoder depending on the movement of the joint being coupled. The first sensor 412 is configured to measure an input configuration of the joint 406. The input position is measured at the output of a drive source configured to drive the joint. Thus, the first sensor 412 may be located at or proximal to a first end of the drive train where the drive source 408 is located. The second sensor 414 is configured to measure an output configuration at the joint 406. The output configuration is measured at the input to the joint. Thus, the second sensor is located at or proximal to a second end of the drive train where the joint 406 is located. The third sensor 416 is configured to measure an output torque about the joint 406. Thus, the third sensor is also located at the second end of the drive train. The sensors 412, 414, 416 may be configured to continuously sense data indicative of the performance of the joints. This continuous sensing of data may occur at regular intervals. That is, sensing of data from the joints may be performed by the sensors at a predefined sampling rate. This sampling rate may be configurable, such as via the command interface 124 shown in FIG. 1.
[0074] In addition to the one or more sensors, the joint controller 402 may include one or more sensor filters for filtering raw electrical signals received from each sensor to form a signal sent to the controller. Filters may be provided to combine information from multiple data values to efficiently monitor the performance of the joint. In one embodiment, the filters are time filters, which are used to incrementally update their information for each new data value. The first filter 418 is configured to filter the electrical signals received from the first sensor 412. In an embodiment where the first sensor 412 is an input position sensor, the first filter 418 is configured to filter the input position values. Accordingly, the second filter 422 is electrically connected to the second sensor 414 and configured to filter the electrical signals received from that sensor. Accordingly, when the second sensor 414 is an output position sensor, the second filter 422 is configured to filter the output position values. The third filter 426 is electrically connected to the third sensor 416. Accordingly, the third filter 426 is configured to filter the output torque values.
[0075] The joint controller 402 may further include a fourth filter 420 and a fifth filter 424 for deriving filtered derivative values from the first sensor 412 and the second sensor 414, respectively. As described above, the sensing of data by the sensors 412, 414, 416 may be performed at a given sampling rate. The fourth filter 420 and the fifth filter 422 may be configured to maintain a record of the sampling rate at which the sensor data is measured. Velocity (ω) is the first derivative of position (q) with respect to time. Thus, if the first sensor 412 and the second sensor 414 are input and output position sensors, the fourth filter 420 and the fifth filter 422 are configured to calculate input and output velocity values of the joint, respectively, using the given sampling rate and the continuously sampled data values.
[0076] In addition to being electrically connected to the one or more sensors, the one or more sensor filters are electrically connected to an incoming interconnect circuit 428. The incoming interconnect circuit 428 is further connected to the control loop 404. As such, the interconnect circuit 428 is configured to transmit sensor data from the joint controller 402 to the control loop 404. As such, the sensor data may be provided as feedback to the control loop 404. In one embodiment, the interconnect circuit is a communication bus, such as an Ethercat bus.
[0077] The control loop 404 is configured to control a reference torque τ provided to a controller 410 and to a drive source 408. ref The reference torque τ ref is the reference configuration q ref and may be calculated using multiple feedback loops derived from measured sensor data. The control loop 404 may include a sixth filter 430, a configuration controller 432, a dynamic torque observer 434, and a gravity compensator 436.
[0078] The control loop 404 may be a proportional-derivative (PD) control unit, which is a type of controller whose output varies proportionally to and with the derivative of the error signal.
[0079] The sixth filter 430 is coupled to the position controller 432 and is configured to receive one or more incoming criteria configuration values (e.g., from the control unit 118). The sixth filter 430 filters these values to provide an input (q ref ) as the reference configuration q ref The first derivative with respect to time (ω ref) value. If the reference configuration is the reference position of the joint 406, then the first derivative (with respect to time) of this reference configuration is the reference velocity. The sixth filter 430 may correspond to the filters 418, 420, 422, 424, 426 of the joint controller 402. That is, the position filter may be configured to combine information from multiple data values to effectively monitor the input position values and calculate the reference velocity values using a stored given sampling rate and continuously sampled reference position values.
[0080] The control loop further comprises a gravity compensator 436. The gravity compensator 436 is configured to receive reference configuration data from the sixth filter 430. A torque τ for compensating for gravity grav The value of is the reference configuration q ref τ can be calculated by the gravity compensator 436 using grav is described below virt This torque to compensate for gravity is provided to the position controller 432.
[0081] In addition to the gravity compensated measured torque, the position controller 432 receives an input configuration q from the interconnect circuit 428. i , output configuration q o , and the first derivative of the output configuration ω o The input configuration may be scaled to the same units as the output configuration, which may take into account the gear ratio of the transmission.
[0082] The position controller 432 is also electrically connected to the sixth filter 430 and the interconnect circuit 428. Thus, in this example, the position controller 432 is configured to receive the input and output configurations (i.e., positions) and the first derivatives of these configurations from the incoming interconnect circuit 428. In other implementations, the position controller 432 may receive specific frequency components of these configuration signals and use these frequency components to determine a reference torque, which will be described in more detail below. The position controller is further configured to receive the reference configuration and the first derivative of this value from the sixth filter 430. From these received values, the configuration controller 432 determines a value of the reference torque τ , which is provided to the joint controller 402. ref Calculate the reference torque τ ref is transmitted from the command loop 404 to the joint controller 402 by the transmitting interconnect circuit 434. Like the incoming interconnect circuit 428, the transmitting interconnect circuit 434 may be a communication bus, such as an Ethercat bus.
[0083] As mentioned above, the output torque of a robot joint can be characterized by the following equation:
[0084]
number
[0085] In one embodiment, the configuration of the joint controlled by the control unit is the position of the joint. In this embodiment, the reference configuration is a reference or desired physical position of the joint. The input and output configurations are the input and output positions of the joint, respectively.
[0086] In the above example, the input configuration q used for the calculated reference torque i is a measured configuration obtained from a sensor located at or proximal to the first end of the drive train. In another example, the input configuration may be calculated using the value of a reference joint configuration required at a time prior to the time the output joint configuration is measured. Ideally, for a "rigid" joint, the previous reference configuration is identical to the input configuration of the joint. Thus, in this example, no sensor is required to measure the input joint configuration, increasing the compactness of the joint.
[0087] The PD controller on the input position sensor is stable based on passivity analysis. The joints of the robot arm may not be stiff enough in some implementations to be able to effectively use PD on the input to control the joints due to the springiness of the joints. Using only the input position sensor signals, the system can be more robust, and using only the output position sensor signals, the system can be more accurate but less robust. As described below, using a combination of input and output position sensor signals at certain frequencies can allow the control scheme to be robust at high frequencies where stability issues may appear and accurate at low frequencies where good tracking is desired.
[0088] As mentioned above, it is a well-known result that proportional-derivative control using only an input position encoder results in a passive controller that is always stable in conjunction with any passive energy dissipating mechanical system. Such a controller can be expressed as follows:
[0089]
number
[0090] This control method would have improved stability characteristics, but in the presence of gravity and external loads, the elasticity of the joints could result in unacceptable position tracking errors.
[0091] Therefore, the following control method can be used, using a signal from an input position sensor at a high frequency (where stability problems are most likely to occur) and a signal from an output position sensor at a low frequency (which preferably has low sensitivity to external force disturbances).
[0092] The virtual position signal can be defined by the following equation:
[0093]
number
[0094] q virt is τ ref can be used as a feedback term to calculate
[0095] According to this control scheme, an example of a reference torque is given by:
[0096]
number
[0097]
number
[0098] As defined above, the virtual position signal q virt represents the output position sensor signal at low frequency and the input position sensor signal at high frequency. An alternative notation is q virt is rewritten as follows:
[0099]
number
[0100] Therefore, in this control scheme, q virt is used as a feedback signal to the controller.
[0101] In another embodiment of this control scheme, τ ref may be given by:
[0102]
number
number
[0103] q in the low frequency range o The frequency components of q are filtered by the low-pass filter L. o may be obtained by inputting q i The frequency components of q are filtered by the high-pass filter (1-L). i may be obtained by inputting:
[0104] K p (q ref -q virt ) term is the difference between the reference position signal and the "virtual" position signal, modified by a proportional gain. d,i (ω ref -ω i ) term is the first derivative (with respect to time) of the reference position signal and the input position signal q, modified by a derivative gain applied to the input position sensor signal. i is the difference between the first derivative (with respect to time) of
[0105] A torque term τ that compensates for the effect of gravity to calculate the input torque grav The use of may prevent drift of the joint due to gravity during its operation.
[0106] In one embodiment, a low pass filter may be used to obtain frequency components of the output position sensor signal that are primarily above a frequency threshold, e.g., 3 Hz. The frequency threshold may be, for example, 1-3 Hz. A low pass filter is a filter that passes signal components with frequencies below a selected frequency threshold and attenuates signal components with frequencies greater than a selected frequency threshold. An ideal low pass filter would pass signal components with frequencies below the frequency threshold, e.g., q, that are below the frequency threshold. o and an ideal high-pass filter would output frequency components of the driving source component signal q above a frequency threshold. i As is well known in the art, most practical low-pass filters do not have a step profile, so in practice some of the frequencies passed by the low-pass filter L and the high-pass filter (1-L) may overlap (in practice the frequency thresholds will be different for each filter).
[0107] The high frequency range may correspond to frequencies greater than a first frequency value of 1-3 Hz. The low frequency range may correspond to frequencies less than a second frequency value of 1-3 Hz. For example, the high frequency range may contain primarily frequencies greater than a threshold of 3 Hz, and the low frequency range may contain primarily frequencies less than a threshold of 3 Hz. The high and low frequency ranges may partially overlap. For example, both the high and low frequency ranges may include frequencies in the range of 2.5-3.5 Hz, since the common low-pass and high-pass filters are not step functions. The high frequency range may have a higher median (or other average) frequency than the low frequency range. The lowest frequency value in the low frequency range may be less than the lowest frequency value in the high frequency range. This may reflect the frequency content of the signal output from the high-pass filter (for the high frequency range) and the low-pass filter (for the low frequency range).
[0108] Figures 5 to 7 show the virt is used as the input to the position controller τ ref Here is an example of calculating
[0109] In FIG. 5, a position controller 500 is configured to determine a desired position q ref The sensors of the joints 501 measure the input and output positions and receive the signal q o and q i is formed. q o and q i are sent to the virtual position sensor generator 502, which can also be used directly as feedback to the joint controller. In the virtual position sensor generator 502, each signal is input to a respective filter (the input position sensor signal is input to a high-pass filter, and the output position sensor signal is input to a low-pass filter) to generate q, which represents the high-frequency component of the input position sensor signal and the low-frequency component of the output position sensor signal. virt is passed to the position controller 500. In the position controller 500, as described above, τ ref is determined and used by the joint controller to control the joint 501.
[0110] In FIG. 6, a position controller 600 is configured to determine a desired position q ref The sensor at joint 601 measures the input position and receives the output position and signal q o and q i is formed. q o and q i is sent to the virtual position sensor generator 602, where q virt is determined and passed to the position controller 600 to ref Determine.
[0111] In FIG. 7, a position controller 700 is configured to determine a desired position q ref The sensors at joint 701 measure the input position and output position and signal q o and q iis formed. q o and q i is sent to the virtual position sensor generator 702, where q virt is determined and passed to the position controller 700 to ref Determine the position controller, q ref andq virt The difference between τ and τ is then determined at 750. ref Using one of the formulas for τ ref Then, calculate the value of τ ref The value of is used by the joint controller to control the joint 501.
[0112] It may also be beneficial to protect some joints of the arm that are under high loads, such as the wrist pitch and yaw joints of a robotic arm.
[0113] In some implementations, the control methods described above may be modified to protect a joint from excessive torque applied to the joint by occurring when the externally applied torque exceeds a certain value. For example,
[0114]
number
[0115]
number
[0116] As shown in Figure 5, τ max For output torques less than τ, this additional feedback term is inactive and the controller behaves similarly to the unmodified control method described above. However, for output torques less than τ maxAs the torque command rises above , the additional feedback term acts to reduce the motor torque command, thus limiting the build-up of torque at the joint's output. This approach may be more suitable for the weaker joints of the robot arm. For example, this approach may be particularly applicable to the pitch and yaw joints of a robot arm's wrist, as these joints are generally weaker than the more proximal joints of the robot arm and, as a result, may be more susceptible to damage during use.
[0117] A method for controlling a robot joint using the control unit described above is shown in FIG.
[0118] The drive configuration signal is the position of the drive (q i 4. The control unit may receive a drive source configuration signal from a first sensor, which may correspond to first sensor 412 of FIG. 4. As described above with reference to FIG. 4, first sensor 412 may be located at a first end of the drive train where drive source 408 is located. The control unit may optionally receive a sensed torque signal corresponding to the torque at the output of the joint, which may be used to calculate additional torque terms, as described above with reference to FIG. 8.
[0119] The joint configuration signal is the position of the joints in the surgical robot (q o 4, etc.). The control unit may receive a joint configuration signal from a second sensor, which indicates an output position of the joint. The output configuration may be received from a second sensor, which may correspond to second sensor 414 of FIG. 4. In one example, second sensor 414 may be located at a second end of the drivetrain where the joint is located.
[0120] In step 901 of method 900, the control unit calculates values of the reference torques of the joints using frequency components of the drive component signals in the high frequency range and frequency components of the joint component signals in the low frequency range. The respective frequency components of the respective signals may be determined using one or more filters. For example, the frequency components of the drive component signals in the high frequency range may be obtained by inputting the drive component signals into a high pass filter, and the frequency components of the joint component signals in the low frequency range may be obtained by inputting the joint component signals into a low pass filter.
[0121] In step 902, the control unit outputs the value of the reference torque to the joint controller for controlling the joint.
[0122] The control method described above may receive a continuous stream of sensor data indicative of the joint input and output configurations. The control algorithm may then calculate the value of the reference torque τ ref The control system may be configured to repeatedly calculate the reference torque. Continuous calculation of the reference torque ensures that the control system can immediately compensate for disturbances in joint performance as they occur. In one embodiment, this compensation can occur substantially in real time. This method can be used with all joints of a robot arm.
[0123] 2-8 imply that the force generated by the joint is a torque, as discussed above. Thus, FIG. 2-8 refer to a controller for controlling the configuration of the revolute joint. In an alternative embodiment, the controlled joint may be configured to provide linear motion. In this embodiment, the corresponding force may be measured and calculated using strain gauges or other force sensors.
[0124] The approach described herein may also improve the robustness of the dynamic performance of the joint controller against mechanical variations. In turn, this may help ensure consistent performance in the face of part-to-part and lifetime variations of the system. Thus, the proposed control scheme is more robust and stable than existing control systems.
[0125] In particular, this control scheme may result in improved robustness, improved high frequency tracking of joint positions, and reduced current oscillations. This approach may also mitigate lack of joint smoothness, improving tolerance to low joint stiffness, as well as increasing tolerance to joint stiffness variations.
[0126] As an added benefit, the methods described herein, in some implementations, can eliminate the reliance on the torque sensor for position feedback, leaving the torque sensor with the sole function of sensing the external load. This simplifies the specification, development, and testing of the torque sensor. This approach provides a high degree of accuracy in terms of the q-axis at high frequencies. i By switching to using proportional-derivative control from q0 at low frequencies and proportional control from q1 at low frequencies, we eliminate the reliance on torque sensors for position feedback. Thus, a control system using this method does not require a torque sensor (such as the third sensor 416 in FIG. 4) to measure the output torque to the joint. The elimination of the sensor to measure the output torque can result in a more compact joint design, which reduces the number of assembly steps and joint computational costs. Also, signal disturbances generated by noise in the system can be reduced as a result of the reduction in sensor inputs.
[0127] Referring now to FIG. 10, various components of an exemplary computing-based device 1000 are illustrated, which may be implemented as any form of computing and / or electronic device in which embodiments of the methods and modification systems described herein may be implemented. The computing-based device 1000 includes one or more processors 1002, which may be a microprocessor, controller, or any other suitable type of processor for processing computer-executable instructions. In some embodiments, for example when a system on a chip architecture is used, the processor 1002 may include one or more fixed function blocks (also called accelerators) that implement portions of the method of modifying a data stream in hardware (rather than software or firmware). Platform software, including an operating system 1004 or any other suitable platform software, is provided with the computing-based device, which allows application software, such as software 1005 implementing the method of FIG. 9, to be executed on the device.
[0128] Computer-executable instructions may be provided using any computer-readable medium that is accessible by the computing-based device 1000. Computer-readable media may include, for example, computer storage media, such as memory 1006 and communication media. Computer storage media (i.e., non-transitory machine-readable media), such as memory 1006, include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage devices, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other non-transmission media that may be used to store information for access by a computing-based device. In contrast, communication media may embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transport mechanism. As defined herein, computer storage media does not include communication media. Although computer storage media (i.e., non-transitory machine-readable media, such as memory 1006) are shown within computing-based device 1000, it will be understood that the storage devices can be distributed or located remotely and accessed over a network or other communications link (e.g., using communications interface 1008).
[0129] The computing-based device 1000 also includes an input / output controller 1010 arranged to output display information to a display device 1012, which may be separate from or integrated with the computing-based device 1000. The display information may provide a graphical user interface. The input / output controller 1010 is also arranged to receive and process input from one or more devices, such as a user input device 1014 (e.g., a mouse or keyboard). This user input may be used to initiate validation. In one embodiment, the display device 1012 may also act as the user input device 1014 if it is a touch-sensitive display device. The input / output controller 1010 may also output data to a device other than a display device, for example, a locally connected printing device (not shown).
[0130] In the above description, for ease of explanation, the actions taken by the system are divided into functional blocks or modules. In practice, two or more of these blocks can be architecturally combined. The functions can also be divided into different functional blocks.
[0131] Although the present technology has been described in the context of a surgical robotic system, at least some of the features described are not limited to such systems and may be applied to robotic systems more broadly. In some embodiments, the present technology may be applied to remotely operated robotic systems. Some examples of situations in which the present technology may be useful include those using a "snake-like" robot for exploration, investigation, or repair. In the case of a surgical robot, the end effector may be a surgical tool such as scissors, a surgical cutter, a surgical pincer, or a cauteriser.
[0132] The applicant hereby separately discloses each individual feature described herein and any combination of two or more such features to the extent that such feature or combination can be made based on the present specification as a whole in light of the general knowledge common to those skilled in the art, regardless of whether such feature or combination solves any problem disclosed herein and without limiting the scope of the claims. The applicant indicates that aspects of the invention may consist of any such individual feature or combination of features. In view of the foregoing description, it will be apparent to those skilled in the art that various modifications may be made within the scope of the present invention.
Claims
1. 1. A control unit for a surgical robot, the surgical robot comprising joints driven by a drive train that transfers power from a drive source to the joints, the control unit comprising: calculating a reference torque value for the joint based on a drive component signal indicative of a position of the drive and a joint component signal indicative of a position of the joint within the surgical robot, using a frequency component of the drive component signal in a high frequency range and a frequency component of the joint component signal in a low frequency range; A control unit configured to output the value of the reference torque to a joint controller for controlling the joint.
2. The control unit of claim 1 , wherein the frequency components of the drive source component signal that are within the high frequency range are the output of a high pass filter that takes the drive source component signal as an input.
3. A control unit according to claim 1 or 2, wherein the frequency components of the joint configuration signal that are within the low frequency range are the output of a low pass filter that takes the joint configuration signal as an input.
4. The control unit, o L+q i (1-L), wherein said value of a reference torque is calculated using a position signal given by q o are the joint constituent signals, and q i A control unit according to any one of claims 1 to 3, wherein: is the driving source configuration signal, and L is a low pass filter.
5. A control unit according to any preceding claim, wherein the control unit is further configured to receive a reference input indicative of a desired position of the joint.
6. The control unit of claim 5 , wherein the value of the reference torque is further calculated using the reference input indicative of a desired position of the joint.
7. A control unit according to claim 5 or claim 6, wherein the value of the reference torque is calculated using the difference between a first derivative of the reference input and a first derivative of the drive source configuration signal.
8. 8. A control unit according to claim 5, wherein the value of the reference torque is calculated using a difference between the reference input and a virtual position signal, the virtual position signal being calculated using the frequency components of the drive component signal that are in the high frequency range and the frequency components of the joint component signal that are in the low frequency range.
9. The value of the reference torque is given by: [0010] In the formula, q virt =q o L+q i (1-L), and q ref is the reference input, and ω ref is the reference angular velocity, and q o is the joint constituent signal, and q i is the driving source component signal, and ω i is the angular velocity of the driving source component signal, and τ grav is the gravitational torque term, ε is the joint efficiency, and K p is the proportional gain for the control unit, and K d,i A control unit according to any one of claims 5 to 8, wherein: ∇ is a differential gain applied to the driving source component signal, and L is a low pass filter.
10. 10. A control unit according to any one of claims 1 to 9, wherein the drive configuration signal is determined from data obtained by a first position sensor and the joint configuration signal is determined from data obtained by a second position sensor.
11. 11. The control unit of claim 10, wherein the first position sensor is located at or proximate to a first end of the drive train where the drive source is located, and / or the second position sensor is located at or proximate to a second end of the drive train where the joint is located.
12. A control unit according to any one of the preceding claims, wherein the drive configuration signals are measured angular positions of the drive sources and the joint configuration signals are measured angular positions of the joints.
13. A control unit according to any preceding claim, wherein calculating the value of the reference torque comprises adding a torque term to compensate for the effect of gravity on the joint.
14. A control unit according to any one of claims 1 to 13, wherein calculating the value of the reference torque comprises adding a further torque term when the value of the externally applied torque at the joint exceeds a predetermined value.
15. The value of the further torque term is determined based on a function φ: [0025] In the formula, τ j is the sensed torque at the joint output, and τ max 15. The control unit of claim 14, wherein: is a predetermined value.
16. 16. A control unit according to any one of the preceding claims, wherein the high frequency range corresponds to frequencies greater than a first frequency value of approximately 1-3 Hz and the low frequency range corresponds to frequencies less than a second frequency value of approximately 1-3 Hz.
17. A control unit according to any one of the preceding claims, wherein the control unit is configured to iteratively calculate values of the reference torque.
18. The control unit according to any one of claims 1 to 17, wherein the drive source is a motor.
19. 1. A method for controlling a surgical robot, the surgical robot comprising joints driven by a drive train that transfers power from a drive source to the joints, the method comprising: calculating a value of a reference torque of the joint in dependence on a drive component signal indicative of a position of the drive and a joint component signal indicative of a position of the joint in the surgical robot, using a frequency component of the drive component signal lying in a high frequency range and a frequency component of the joint component signal lying in a low frequency range; and outputting the value of the reference torque to a joint controller for controlling the joint.
20. 20. A computer readable storage medium having stored thereon computer readable instructions which, when executed on a computer system having one or more processors, cause the method of claim 19 to be performed.
Citation Information
Patent Citations
Robot, control device, and robot system
JP2017226045A
Joint control in a mechanical system
WO2022008886A1