Techniques for controlling computer-aided system

By adding damping and compensating environmental impedance in computer-aided systems, the problems of phase loss and instability in remote operations are solved, the stability and tracking accuracy of input devices are improved, the instability of feedback force feedback is reduced, and the instability of feedback force feedback is improved. User experience and system performance.

CN119173215APending Publication Date: 2024-12-20INTUITIVE SURGICAL OPERATIONS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380039235.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-05-11
Filing Date
2023-05-11
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

Computer-assisted systems are prone to phase loss and instability during remote operation, especially in physical separation between input devices and robotic arms, sensing, responding and associated time delays in transmission of information, actuators providing power and transmission Feedback instability and institutional resonance problems caused by factors such as the time required for system movement.

Method used

By increasing the system to apply damping to the input device and introducing a frequency filter to ignore high-frequency signals, reducing the gain of the control loop, compensating for changes in environmental impedance and the stiffness of the robotic arm motion chain, reducing the feedback force felt by the user, and improving tracking accuracy and stability .

Benefits of technology

It realizes greater stability and tracking accuracy of input devices during remote operations, reduces the instability of feedback force feedback, and improves user experience and system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119173215A_ABST
    Figure CN119173215A_ABST
Patent Text Reader

Abstract

A computer-aided system includes a robotic arm configured to support an instrument, an input device configured to accept a user command to move the instrument, and an actuator system coupled to the input device. A controller of the computer-aided system is configured to determine a component of a change in force at the instrument, the component relating to a direction of motion of the input device. If the ambient stiffness experienced by the instrument exceeds the threshold stiffness, the controller further determines a feedback force based at least in part on the ambient stiffness and a component of the change in force. The controller causes the actuator system to drive the input device to apply a feedback force.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of priority under 35 U.S. SC §119(e) to U.S. Provisional Patent Application Serial No. 63 / 340,573, filed on May 11, 2022, the entire contents of which are incorporated herein by reference. Technical Field

[0003] The disclosed embodiments relate to computer-assisted systems, such as robotic systems, techniques for controlling computer-assisted systems, and related methods of use. Background Art

[0004] The use of computer-assisted electronic devices is becoming more and more frequent. This is especially true in industrial, entertainment, education and other environments. As a medical example, today's medical facilities have large arrays of electronic devices found in operating rooms, interventional suites, intensive care units, emergency rooms and / or similar places. Many of these electronic devices are capable of autonomous or semi-automatic movement. It is also known that one or more input devices located at the user control system are used to control the movement and / or operation of electronic devices. As a specific example, a minimally invasive robot teleoperation system allows medical personnel to remotely operate a robot system to perform procedures on a patient from a position within the patient's touch distance, from a position away from the patient but still within the viewing distance of the human naked eye, or from a remote position outside the same facility, city or country of the patient. Telesurgery generally refers to a remotely operated surgical operation performed using a surgical system, in which the surgeon uses some form of remote control, such as by commanding a servo mechanism, to manipulate the movement of surgical instruments, rather than directly holding and moving the instrument by hand. Summary of the invention

[0005] In some embodiments, a computer-assisted system includes a mechanical arm configured to support an instrument, an input device configured to accept user commands to move the instrument, an actuator system coupled to the input device, and a controller including at least one processor. The controller is configured to determine a component of a change in force at the instrument, wherein the component is related to a direction of motion of the input device. The controller is also configured to determine a feedback force based at least in part on the environmental stiffness and the component of the change in force in response to a determination that an environmental stiffness experienced by the instrument exceeds a threshold stiffness, and cause the actuator system to drive the input device to apply the feedback force.

[0006] In some embodiments, a method of controlling a computer-assisted system configured to support an apparatus includes the following. The computer-assisted system includes an input device configured to control movement of the apparatus, and an actuator system configured to apply a force to the input device. The method includes determining a component of a change in force at the apparatus, the component being related to a direction of motion of the input device. The method also includes determining a feedback force based at least in part on the component of the change in force and the environmental stiffness in response to a determination that an environmental stiffness experienced by the apparatus exceeds a threshold stiffness, and causing the actuator system to drive the input device to apply the feedback force.

[0007] In some embodiments, a non-transitory computer-readable storage medium stores instructions that, when executed by at least one processor associated with a computer-assisted device, cause the at least one processor to perform a method. The computer-assisted system is configured to support an instrument. The computer-assisted system includes an input device configured to control movement of the instrument, and an actuator system configured to apply a force to the input device. The method includes determining a component of a change in force at the instrument, wherein the component is related to a direction of motion of the input device. The method also includes, in response to a determination that an environmental stiffness experienced by the instrument exceeds a threshold stiffness, determining a feedback force based at least in part on the environmental stiffness and the component of the change in force, and causing the actuator system to drive the input device to apply the feedback force.

[0008] It should be understood that the aforementioned concepts and the additional concepts discussed below can be arranged in any suitable combination, as the present disclosure is not limited thereto in this regard. In addition, other advantages and novel features of the present disclosure will become apparent from the following detailed description of various non-limiting embodiments when considered in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The accompanying drawings are not drawn to scale. In the accompanying drawings, each identical or nearly identical component illustrated in various figures may be represented by the same numeral. For clarity, not every component is labeled in every figure.

[0010] In the attached picture:

[0011] Figure 1 is a schematic diagram of a computer-assisted system according to some embodiments;

[0012] Figure 2 is a block diagram of a computer-assisted system according to some embodiments;

[0013] Figure 3 is a schematic diagram of a control loop of a computer-aided system according to some embodiments;

[0014] Figure 4is a schematic diagram of a control block of a computer-assisted system according to some embodiments;

[0015] Figure 5 is a schematic diagram of a portion of a control block according to some embodiments;

[0016] Fig. 6A Depicted Figure 5 Experimental results of the implementation of the control block;

[0017] Figure 6B Depicted Figure 5 Experimental results of the implementation of the control block;

[0018] Figure 7 is a schematic diagram of a portion of a control block according to some embodiments;

[0019] Fig. 8A Depicted Figure 7 Experimental results of the implementation of the control block;

[0020] Figure 8B Depicted Figure 7 Experimental results of the implementation of the control block;

[0021] Figure 8C Depicted Figure 7 Experimental results of the implementation of the control block;

[0022] Fig. 9 is a schematic diagram of a portion of a control block according to some embodiments;

[0023] Fig.10 is a simplified schematic diagram of a computer-assisted system during operation according to some embodiments; and

[0024] Fig.11 A flow chart of a method of operating a computer-assisted system according to some embodiments is depicted. DETAILED DESCRIPTION

[0025] Stabilizing a computer-assisted system can sometimes be difficult, increasing costs, requiring larger or more powerful actuators, reducing performance, introducing adverse feedback to the user of the computer-assisted system, etc. For example, in the case where an input device is used as a "leader" to remotely control a "follower" robotic arm, phase loss may be introduced between the input device and the robotic arm. Such phase loss may be due to the physical separation of the input device from the robotic arm, the associated time delays in sensing, responding, and transmitting information, the time required for the actuator to provide power and drive or transmit the system to move, physical imperfections in the system (e.g., backlash, etc.), etc. In some cases where a leader input device of a computer-assisted system is used to facilitate remote operation of a robotic arm of the computer-assisted system, phase loss may be significant and may generate instability in the control of the actuator of the input device and / or the actuator of the robotic arm. In addition, the higher the loop gain used in the remote operation control loop, the greater the likelihood of instability due to phase loss. As another example, instability in control systems for computer-assisted systems may also be caused by the presence of resonances and anti-resonances in the mechanism. For example, an input command that matches the frequency of a natural resonant mode of a manipulator may cause an increase in response and make it unstable. As another example, instabilities in a control system for a computer-assisted system may also be caused by changes in the operating environment of the manipulator. For example, the manipulator may support an instrument that, in some operating environments and situations, may engage with materials such as objects of varying rigidity or flexibility. For example, the instrument may interact with one or more harder, more rigid surfaces of an object and one or more softer (e.g., less hard), more compliant (e.g., less rigid) surfaces of an object. As another example, the instrument may interact with a harder, more rigid bulk of an object in the environment and a softer (e.g., less hard), more compliant (e.g., less rigid) bulk of an object. As yet another example, the instrument may interact with non-solid materials (such as liquid or gel-type materials) in the environment. As used herein, the hardness of an object may refer to the resistance of an object to surface deformation, while rigidity may be a measure of the resistance of an object or other material to bulk deformation. As the instrument interacts with these various surfaces, or bulk or non-solid materials, changes in environmental stiffness or compliance encountered may also introduce instabilities in controlling the actuators of the input device to provide feedback to the user due to rapid increases in force at the instrument.

[0026] The first method to solve this problem includes increasing the damping applied by the system to the input device. However, greater damping may introduce or increase offset errors (e.g., errors in the output value relative to the expected value), reduce usability, and / or impair user experience, etc. For example, greater damping applied to the input device may increase the amount of force required to move the input device or keep the input device moving, causing the input device to decelerate faster, reducing the time it takes for the input device to stop moving, and so on. "Force" is used here to indicate a linear force, a rotational force (also called "torque"), or a combination of linear and rotational forces. These effects may cause the input device to feel slower, heavier, slower, or more difficult to move for the user. The second method to solve this problem includes "relaxing" the feedback tracking of the input device to the robotic arm, such as by introducing a frequency filter to ignore high-frequency signals that are more likely to cause instability. This method may result in a less accurate correspondence between the position and / or velocity of the input device and the robotic arm. The first method and the second method may also be used in combination.

[0027] In various cases, the techniques described in the present disclosure may provide one or more of the following benefits, either alone or in combination with each other. According to some embodiments, a computer-assisted system includes a robotic arm controlled by an input device, and provides feedback to a user of the input device while operating with greater stability of the input device and / or improved tracking accuracy between the input device and the robotic arm. In some cases, the improved tracking accuracy may result in sub-millimeter tracking errors. In some embodiments, the disclosed techniques reduce the amount of damping applied to the input device, and in some embodiments, apply little or no damping (e.g., barely detectable based on human senses or undetectable based on human senses) when the robotic arm remotely operated by the input device is not subject to reaction forces from the operating environment (e.g., the robotic arm or an instrument supported by the robotic arm is not in contact with any material, or is in free space).

[0028] In some embodiments, the disclosed technology provides a controller configured to compensate for the impedance of the operating environment encountered by the teleoperated manipulator while reducing the possibility of a sharp increase in the control loop gain, which reduces the possibility of unstable force feedback rendered at the input device. For example, contact with a substantially rigid surface (e.g., a bone or another instrument in a surgical example) or a substantially rigid block or some other more rigid material (e.g., a more viscous fluid, a harder gel, etc.), if not compensated, may cause a rapid increase in the control loop gain due to the rapid increase in the input force measured at the instrument. In some embodiments, the disclosed technology provides a controller configured to compensate for changes in the stiffness of a kinematic chain including a teleoperated robotic arm. For example, a fully extended robotic arm may be more compliant and less stiff than a fully retracted robotic arm, which may also result in an increase in the control loop gain if not compensated. Compared to a retracted robotic arm, an extended robotic arm will have a different bending stiffness due to its physical construction, so that due to the increased lever arm, the force applied to the tip of the extended robotic arm is more capable of bending the robotic arm. In some embodiments, the disclosed techniques reduce the mass of a user input device, which can improve user convenience and user feel. However, the inventors have also realized that such low-mass input devices may increase loop gain and make the input device more susceptible to instability. Therefore, the inventors have realized a controller that is configured to compensate for increases in feedback control loop gain of input device feedback forces caused by one or more sources using the exemplary methods described herein.

[0029] As used herein, "stiffness" is the ratio of the change in force to the change in displacement. For example, the stiffness factor K stiffness Can be defined as

[0030] K stiffness =ΔFprce / ΔDisplacement

[0031] Where ΔForce is the change in force experienced by an instrument supported by the robotic arm, and ΔDisplacement is the distance traveled by the supported instrument that causes the change in applied force. The stiffness determined by the system described herein can be an approximation of the physical stiffness property of an environmental object, which is traditionally defined as the ratio of force to deformation.

[0032] According to exemplary embodiments described herein, a controller may respond to the effective environmental stiffness experienced by an apparatus supported by a robotic arm. The effective stiffness may be due to the interaction of the apparatus with a surface, with a viscous material or within a viscous material, within a block of a solid material, and / or within the apparatus. In some embodiments, the controller and exemplary methods described herein do not distinguish the cause of the stiffness experienced. In some embodiments, the controller and exemplary methods described herein do not distinguish the location at which the force is applied to the apparatus. In other embodiments, the controller may distinguish the orientation and / or direction of the force applied to the apparatus. For example, different force directions may be used to control the apparatus, and the force may be fed back differently on different degrees of freedom. According to some specific examples discussed herein, the total effective stiffness of the apparatus is determined based on how the point controlled by the remote operation (e.g., in response to an input provided by an operator via an input device) responds when the apparatus moves in the apparatus environment.

[0033] For example, the computer-assisted system may include an actuator system coupled to a mechanical arm, wherein the second actuator system is configured to drive the movement of the instrument by driving the movement of the mechanical arm or by driving the transmission element of the mechanical arm. The controller may be configured to determine the environmental stiffness based on a sensor signal received from an environmental sensor, or based on the movement of the instrument or the second actuator system measurement in response to a command to move the instrument. As a specific example, the controller may be configured to determine the environmental stiffness based on the amount of force or torque associated with the second actuator system when driving the instrument to move (e.g., the amount of force or torque provided by the second actuator system, the amount of force or torque experienced by the second actuator system as a reaction force or torque, a proxy for the amount of force or torque - such as a current or voltage proxy through an electrically driven actuator, etc.). As another specific example, the controller may be configured to determine the environmental stiffness based on the resultant movement of the instrument when the movement of the instrument is driven by the second actuator system. The environmental stiffness may be determined, for example, as a function of force and linear displacement and / or torque and angular displacement (e.g., the amount of rotation around a reference axis). As a specific example, an estimate of environmental stiffness may be calculated as the ratio of a change in force to linear displacement, or a change in torque to angular displacement (eg, the amount of rotation about a revolute joint axis or some other reference axis), etc.

[0034] In a teleoperation example, a controller of a computer-assisted system is configured to command an actuator system to drive the motion of an instrument in response to an operator input received at an input device. The motion of the instrument may be measured based on a control point fixed relative to the instrument (e.g., at the tip of an end effector of the instrument, at a jaw rotation joint for an instrument with a jaw, etc.). The controller may be configured to determine the environmental stiffness based on the motion of the instrument (determined as the motion of the control point) when the actuator system drives the motion of the instrument. In some embodiments, multiple control points are used to command the motion of the instrument, and the stiffness is determined based on the aggregate motion of the multiple control points (e.g., a weighted or unweighted average, a weighted or unweighted sum, etc.). Similar to the above, the environmental stiffness may be determined, for example, as a function of the force and linear displacement of a control point (or an average of multiple control points) and / or the torque and angular displacement of a control point (or an average of multiple control points).

[0035] In some embodiments, the computer-assisted system includes a mechanical arm configured to support an instrument, and an input device configured to accept user commands to move the instrument by moving the mechanical arm. The computer-assisted system may also include an actuator system configured to apply feedback force to the input device based on one or more forces (linear force and / or rotational force) sensed at the mechanical arm. For example, in the case of a remotely operated computer-assisted system, the actuator system may apply force to the input device based on the force sensed at the mechanical arm remotely operated by the input device. In this way, the actuator system can be used to provide force feedback to a user contacting the input device. The computer-assisted system may also include a controller including one or more processors configured to command the actuator system to control the force applied to the input device, wherein the controller includes at least one processor configured to execute programming instructions that prompt the at least one processor to perform the exemplary method described herein.

[0036] In some embodiments, a method for controlling a computer-assisted system includes limiting the feedback force presented to an input device based on a determination of the environmental stiffness experienced by an instrument supported by a mechanical arm. The method may include determining a change in the force (linear or rotational force) experienced at the instrument and a direction of motion (e.g., velocity) of an input device used to command a remotely operated motion of the instrument. The method may include determining a portion of the change in force associated with the direction of motion of the input device. That is, the method may include determining a component of the change in force projected into the direction of motion. The method may also include determining the environmental stiffness of the instrument-operating environment interaction. The environmental stiffness may be determined by measuring the force and displacement at the instrument. The method may include determining the feedback force based at least in part on the component of the change in environmental stiffness and force. For example, in some embodiments, the environmental stiffness may be compared to a stiffness threshold, which may form the basis for feedback force determination. In some embodiments, an environmental stiffness exceeding a threshold stiffness may cause the feedback force to be reduced (e.g., as a fixed or variable gain reduction). The method may include causing the computer-assisted system to apply the determined feedback force to the input device (e.g., using one or more actuators of an actuator system).

[0037] In addition to the above, the inventors have realized the benefits of a method for controlling a computer-assisted system, the method comprising determining and / or applying a feedback force based on the velocity of an input device. In particular, the inventors have realized the benefits of a method comprising ignoring any component of a change in force that is not related to the direction of motion of the input device. In some embodiments, the method comprising determining the feedback force may include determining a non-zero change in force only in a direction in which the user input device has a non-zero velocity. In other embodiments, the method comprising causing the actuator system to apply a determined force may include applying a change in gated force so that the change in force is only applied in a direction in which the user input device has a non-zero velocity. Therefore, depending on the specific embodiment, the force may be determined while taking into account the velocity of the input device, or the determined force may simply not be applied to the input device. Such an arrangement may allow the feedback force to be presented to the input device based solely on the input motion provided by the user. External disturbances on the instrument that are not related to the movement of the input device may be effectively ignored. Therefore, resonant modes and instabilities generated by unexpected external disturbances at the instrument may be addressed by such methods.

[0038] According to the exemplary embodiments described herein, the method may be described without specific reference to directionality. In some embodiments, the feedback force, environmental stiffness and other parameters determined may be directional or specified directionality. For example, the feedback force and stiffness may be associated with three non-parallel translational degrees of freedom (e.g., Cartesian x, y and z directions). In such embodiments, the feedback force may be determined in each degree of freedom of the input device. In some embodiments, the feedback force and stiffness may be determined in rotational degrees of freedom (e.g., pitch, roll and yaw directions). In some embodiments, the feedback force and stiffness may be determined by any number of translational and rotational degrees of freedom or any sub-combination of rotational and translational degrees of freedom. In some embodiments, the comparison may be a comparison of scalars associated with each degree of freedom of the manipulator. In some embodiments, the Cartesian reference frame may be different between the input device and the manipulator. That is, in a global reference frame, the x direction of the input device may not be parallel to the x direction of the manipulator. On the contrary, the movement and force of the input device in the x direction may be converted into the movement and force of the manipulator in the x direction based on their corresponding local reference frames. In some embodiments, the degrees of freedom of the input device may be parallel to the degrees of freedom of the robotic arm in the global reference frame, as the present disclosure is not limited in this regard.

[0039] In some embodiments, a method of controlling a computer-assisted system includes determining a feedback force applied to an input device. In some embodiments, the determination of the feedback force may be based on a saturation function that is limited by the maximum ambient stiffness measured at the instrument. In some embodiments, the method may include determining a saturation limit of the saturation function based on the measured ambient stiffness and a threshold stiffness (e.g., the maximum allowable stiffness for the design or intended operation of a given system). The threshold stiffness may be set at any appropriate time, such as at system design, at system manufacturing (e.g., to account for manufacturing variations), at field calibration, and the like. The threshold stiffness may be such a threshold that, when not exceeded, provides a level of system stability that meets performance criteria. In some embodiments, the saturation limit may be a saturation upper limit that limits the amount of change in the feedback force applied to the input device. In some embodiments, when the ambient stiffness exceeds the threshold stiffness, the saturation upper limit may be determined by dividing the threshold stiffness by the ambient stiffness. In some embodiments, when the ambient stiffness does not exceed the threshold stiffness, the saturation function may be used as a passthrough that does not limit the determined change in the feedback force. In some embodiments, the feedback force may be determined by accumulating (e.g., integrating) the resultant change in force after applying the saturation limit of the saturation function. In some embodiments, the saturation limit may be based on a stiffness threshold and an input device velocity. In some such embodiments, the velocity of the input device may be proportional to the saturation limit.

[0040] The inventors have also recognized that the methods described above and herein may introduce some undesirable unintended performance characteristics of the input device. Therefore, the inventors have recognized the benefits of a method of controlling a computer-assisted device that addresses these unintended performance characteristics.

[0041] In some embodiments, the method according to the exemplary embodiments described herein may introduce a steady-state force error in the feedback force presented at the input device. For example, in the case where a saturation limit is applied and the change in the feedback force to the user is limited, once the input device stops moving, there may be a steady-state error in the force output to the user. In addition, in the case where an external force is suddenly applied to the instrument or the force is suddenly lost on the instrument, the method according to the exemplary embodiments described herein may not present a change in the feedback force. This is because the input device is not moving. As previously described, in some embodiments, the feedback force may be determined based on the presence of the speed of the input device and presented to the input device. Therefore, if the input device has zero speed, the positive or negative change in force may not be presented to the input device. In some cases, force feedback may be used by the user to guide the robot arm or complete a task, so in some cases, the inventors have realized that it may be beneficial to eliminate or mitigate the errors in the force presentation generated by the method according to the exemplary embodiments of this article.

[0042] In view of the above, the inventors have realized a method of controlling a computer-assisted system that provides steady-state force recovery to allow accurate force to be presented to the user over time. In some embodiments, the method of controlling a computer-assisted system may include determining a restoring force applied to an input device to eliminate a steady-state error between a feedback force and a force measured at an instrument of a robotic arm. However, in order for the restoring force to not generate instability, the restoring force is applied in a direction perpendicular to any direction of motion of the input device. Therefore, the restoring force will not have a component consistent with the direction of a non-zero input device velocity. The effect of this condition is that a restoring force is applied when the input device remains stationary or approximately stationary in one or more directions. In such cases, a restoring force may be applied to the input device without generating a velocity associated with the restoring force. In the case where the input device does not remain stationary or approximately stationary, the application of the restoring force will create a non-zero velocity of the input device, thereby causing the application of the restoring force to be canceled in the new direction of motion. In some embodiments, the restoring force may be superimposed on the determined feedback force. In some embodiments, the restoring force may increase over time until the resultant force applied to the input device is equal to the force measured at the instrument (after compensating for scaling). In some embodiments, the restoring force may not be applied until a threshold period of time has passed, which may be based on the particular application. In some embodiments, the restoring force may be applied at a linear rate, such as an exponential decay, or any other suitable force profile.

[0043] In view of the above, the inventors have also realized a method of controlling a computer-assisted system that envelops the feedback force to ensure that the feedback force does not exceed the force at the instrument (after taking into account scaling). The envelope of the feedback force can act as a gate to eliminate the force presented at the input device, regardless of the absence of force at the instrument. In the absence of such an envelope, due to the velocity dependence of the feedback force applied to the input device determined according to the exemplary embodiments described herein, if the force at the instrument changes, the force presented at the input device when the input device velocity is zero will not change. The force envelope can be applied to all degrees of freedom of the input device, regardless of velocity, because the envelope can only reduce the force, not increase it. It should be noted that according to the exemplary embodiments described herein, the force envelope can be applied to a specific feedback force. In some embodiments, due to other implemented control loop methods, the feedback force may exceed the force measured at the instrument (after taking into account scaling).

[0044] In view of the above, the inventors have also realized a method for controlling a computer-assisted system, which uses an excess budget of the saturation limit of the saturation function to reduce or eliminate the steady-state error of the force caused by the exemplary method described herein. In particular, the inventors have realized the benefits of a switch in the control loop, which allows the control loop to compensate for the divergence between the feedback force presented at the input device and the force measured at the instrument. In some embodiments, a method may include determining the deficiency of the saturation limit, and using the determined deficiency to gradually reduce the divergence of the force in the direction opposite to the direction of the user input speed. Due to the consideration of the deficiency, the total change of the force is still within the total saturation limit, so that despite the increase in force, stability is maintained. In some embodiments, a method may include determining the change in force, adding the previous error signal change of the force from the control loop, and determining whether the combined change in force is greater than the change in the force initially determined. The method may also include determining whether the change in force is in the direction opposite to the direction of the velocity of the input device. In some embodiments, the determination may be based on determining whether the component of the change in force is directly opposite to the direction of the velocity in the reference system of the input device (e.g., in Cartesian space or joint space). When determining that the change in force is in a direction opposite to the direction of the velocity of the input device, the method may include using the combined change in force as an input to the saturation function. Such methods may ensure that a larger force is input to the saturation function when the change in force is in a direction opposite to the direction of the velocity of the input device.

[0045] According to exemplary embodiments described herein, the forces and velocities of a manipulator and an input device may be used to determine the feedback force to be applied to the input device. In some cases, the manipulator and the input device may have different scaling ratios such that the force or velocity of one may be much greater than the force or velocity of the other when compared directly. For example, the manipulator may move a distance of approximately 1m, while the input device may move a distance of approximately 10cm. Therefore, when compared directly, the manipulator velocity may be an order of magnitude greater than the input device velocity. Therefore, in some embodiments, the forces and velocities of the manipulator and the input device may be scaled so that they may be appropriately compared. In some embodiments, such scaling may be based on a scaling factor of the position tracking between the input device and the manipulator. Any suitable scaling factor for velocity and force may be used, as the present disclosure is not limited thereto.

[0046] According to the exemplary embodiments described herein, a method of controlling a computer-assisted system includes determining and applying a feedback force as part of a control loop. In some embodiments, the control loop may operate at a frequency suitable for applying the feedback force in a target frequency band. In some embodiments, the method according to the exemplary embodiments described herein may be used to generate a feedback force at a frequency range between 0 Hz and 1000 Hz at an input device based on human touch. In some embodiments, the speed of the control loop may determine the cumulative time period of the control loop cycle. In some embodiments, the change in force may be accumulated (e.g., integrated) as part of the control loop over a time period of 1 millisecond (ms) to 10 ms. Depending on the specific computer-assisted application, the control loop may operate within any other suitable frequency range, as the present disclosure is not limited in this regard.

[0047] The present disclosure describes various devices, components, and computer-aided devices and portions of components according to their states in three-dimensional space. As used herein, the term "position" refers to the orientation of an element or a portion of an element in three-dimensional space (e.g., three translational degrees of freedom along Cartesian x, y, and z coordinates). As used herein, the term "orientation" refers to the rotational placement of an element or a portion of an element (three rotational degrees of freedom - e.g., roll, pitch, and yaw, angular axes, rotation matrices, quaternion representations, and / or the like). As used herein, and for devices with repositionable arms and / or other repositionable structures, the term "proximal" of a kinematic chain refers to the direction toward the base of the kinematic chain, while "distal" refers to the direction away from the base along the kinematic chain.

[0048] As used herein, the term "pose" of a rigid body refers to the multi-degree-of-freedom (DOF) spatial position and orientation of the coordinate system of interest attached to the rigid body. In general, the pose includes the pose variables for each of the DOFs in the pose. For example, the full 6-DOF pose of a rigid body will include 6 pose variables corresponding to 3 positional DOFs (e.g., x, y, and z) and 3 orientational DOFs (e.g., roll, pitch, and yaw). The only 3-DOF position pose of a rigid body will only include the pose variables of the 3 positional DOFs. Similarly, the only 3-DOF orientation pose of a rigid body will only include the pose variables of the 3 rotational DOFs. In addition, the velocity of the pose captures the change of the pose over time (e.g., the first-order derivative of the pose). For the full 6-DOF pose, the velocity will include 3 translational velocities and 3 rotational velocities (also referred to as "angular velocities"). A pose with other number of DOFs will have a corresponding number of translational velocities and / or rotational velocities.

[0049] Various aspects of the present disclosure are described with reference to computer-assisted systems and devices, which may include remotely operated, remotely controlled, autonomous, semi-automatic, robotic, and other systems and devices. In addition, various aspects of the present disclosure are described according to embodiments using surgical systems. However, knowledgeable people will understand that the inventive aspects disclosed herein can be embodied and implemented in various ways, including robotic and, if applicable, non-robotic embodiments and embodiments. The embodiments on surgical systems are merely exemplary and should not be considered as limiting the scope of the inventive aspects disclosed herein. For example, the techniques described with reference to surgical instruments and surgical methods can be used in other contexts. Therefore, the instruments, systems, and methods described herein can be used for humans, animals, parts of human or animal anatomical structures, industrial systems, general robots, or remotely operated systems. As another example, the instruments, systems, and methods described herein can be used for non-medical purposes, including industrial uses, general robotic uses, sensing or manipulating non-tissue artifacts, cosmetic improvements, imaging of human or animal anatomical structures, collecting data from human or animal anatomical structures, installing or removing systems, training medical or non-medical personnel, and the like. Other example applications include procedures for tissue removed from a human or animal anatomy (without needing to be returned to the human or animal anatomy) and procedures for human or animal cadavers. In addition, these techniques may also be used for medical treatment or diagnostic procedures that may or may not include surgical aspects.

[0050] Turning to the drawings, certain non-limiting embodiments are described in more detail. It should be understood that the various systems, components, features, and methods described with respect to these embodiments may be used alone and / or in any desired combination, as the present disclosure is not limited to the specific embodiments described herein.

[0051] Figure 11 is a simplified schematic diagram of an example computer-assisted system according to various embodiments. In some examples, the computer-assisted system is a teleoperation system 100. In a medical example, the teleoperation system 100 may be a teleoperated medical system, such as a surgical system. As shown, the teleoperation system 100 includes a follower device 104 that can be remotely operated by controlling one or more leader input devices 106 configured to accept external inputs, as will be described in more detail below. A system including a leader device and a follower device is referred to as a leader-follower system. Figure 1 As shown, the input device is part of an input system that includes a workstation 102 (eg, a console). In other embodiments, the input system may take any suitable form and may or may not include the workstation 102.

[0052] exist Figure 1 In an exemplary embodiment of the present invention, the workstation 102 includes one or more input devices 106 configured to be contacted and manipulated by a user 108. For example, the workstation 102 may include one or more input devices 106 configured to be used by a hand, head, or some other body part of the user 108. The input device 106 in this example is supported by the workstation 102 and may be mechanically grounded. In some embodiments, an ergonomic support 110 (e.g., a forearm stand) may be provided on which the user 108 may place his or her forearm. In some examples, the user 108 may command the follower device 104 to perform a task at the work site during a procedure by using the input device 106. In some embodiments, the workstation 102 may be physically located near the follower device 104. In other embodiments, the workstation 102 may be remote from the follower device 104 and may communicate with the follower device via a local area network, a wide area network, and / or via the Internet via one or more communication protocols.

[0053] like Figure 1 As shown, the workstation 102 includes a display unit 112. The display unit 112 can display images for viewing by the user 108. In some embodiments, the display unit 112 can be moved in various degrees of freedom to adapt to the viewing position of the user 108 and / or optionally provide control functions as another input device. In an example of a remote operation system 100, the displayed image can depict a work site where the user 108 is performing various tasks by manipulating the input device 106 and / or the display unit 112. In some examples, the workstation 102 can receive the image displayed by the display unit 112 from one or more imaging devices arranged at the work site. In other examples, the image displayed by the display unit 112 can be generated by the display unit 112 (or by a different connected device or system), such as a virtual representation of a tool, a work site, or for a user interface component.

[0054] according to Figure 1 In some embodiments, when using workstation 102, user 108 may sit on a chair or other support in front of workstation 102, position his or her eyes in front of display unit 112, manipulate input device 106, and, as desired, place his or her forearms on ergonomic support 110. In some embodiments, user 108 may stand at the workstation or assume other postures, and display unit 112 and input device 106 may be adjusted in position (height, depth, etc.) to accommodate user 108.

[0055] In some embodiments, one or more input devices 106 may be ungrounded (an ungrounded input device is kinematically ungrounded, such as an input device held by a user 108's hand without additional physical support). Such ungrounded input devices may be used in conjunction with a display unit 112. In some embodiments, a user 108 may use a display unit 112 located near a work site, allowing the user 108 to manually operate an instrument at the work site, such as a laparoscopic instrument in a surgical example, while viewing an image displayed by the display unit 112.

[0056] The teleoperation system 100 may also include a follower device 104 that can be commanded by the workstation 102. In a medical example, the follower device 104 may be located near an operating table (e.g., a table, bed, or other support) on which a patient may be located. In some medical examples, a working site is provided on the operating table, for example, on or in a patient, a simulated patient, or a model, etc. (not shown). The follower device 104 shown includes a plurality of robotic arms 120, each of which is configured to be coupled to an instrument assembly 122. The instrument assembly 122 may include, for example, an instrument 126. In various embodiments, one or more instruments 126 may include an imaging device for capturing images (e.g., an optical camera, a hyperspectral camera, an ultrasonic sensor, etc.). For example, one or more instruments 126 may be an endoscope assembly including an imaging device that may provide a captured image of a portion of the working site to be displayed via the display unit 112. The one or more instruments 126 may also include instruments configured to function in an operating environment and to physically interact with physical objects or features of the operating environment (e.g., in a medical example, the operating environment may be a workspace within a patient's body). Examples of potential instruments 126 may include, but are not limited to, graspers, scalpels, staplers, imagers or other sensors, cautery instruments, suction irrigators, and scissors. Any suitable instrument may be used with the robotic arm 120, as the present disclosure is not limited in this regard.

[0057] In some embodiments, the robotic arm 120 and / or instrument assembly 122 can be controlled to move and articulate the instrument 126 in response to the user 108's manipulation of the input device 106, and in this way "follow" the input device 106 for remote operation. This enables the user 108 to use the robotic arm 120 and / or instrument assembly 122 to perform tasks at the work site. The robotic arm 120 and the follower device 104 are examples of repositionable structures on which instruments such as manipulation instruments and / or imaging instruments including imaging instruments can be mounted. The repositionable structure (one or more) of the computer-assisted system includes a repositionable structure system of the computer-assisted system. For the example of surgical procedures, the user 108 can guide the follower robotic arm 120 to move the instrument 126 to perform a surgical procedure at an internal surgical site through a minimally invasive hole or a natural orifice. The robotic arm 120 and / or instrument assembly 122 can also provide feedback information, which is presented to the user 108 through one or more input devices 106. For example, in some embodiments, the robotic arm 120 and / or the instrument assembly 122 may provide force information that is used to apply feedback forces at one or more input devices 106 .

[0058] As shown, the control system 140 is provided external to the workstation 102 and communicates with the workstation 102. In other embodiments, the control system 140 may be provided in the workstation 102 or the follower device 104. When the user 108 moves the input device(s) 106, sensed spatial information including sensed position and / or orientation information based on the movement of the input device 106 is provided to the control system 140. The control system 140 may determine control signals or provide control signals to the follower device 104 based on the received information and user input to control the movement of the robotic arm 120, the instrument assembly 122, and / or the instrument 126. In one embodiment, the control system 140 supports one or more wired communication protocols (e.g., Ethernet, USB, etc.) and / or one or more wireless communication protocols (e.g., Bluetooth, IrDA, HomeRF, IEEE 1002.11, DECT, wireless telemetry, etc.). In some embodiments, the control system 140 may be configured to implement the exemplary methods herein and determine feedback forces to be applied to one or more input devices 106.

[0059] The control system 140 may be implemented on one or more computing systems. The one or more computing systems may be used to control the follower device 104. Additionally, the one or more computing systems may be used to control components of the workstation 102, such as movement of the display unit 112.

[0060] As shown, the control system 140 includes a processor 150 and a memory 160 storing a control module 170. In some embodiments, the control system 140 may include one or more processors, non-permanent storage devices (e.g., volatile memory, such as random access memory (RAM), cache memory), permanent storage devices (e.g., hard disk, optical drive (such as compact disk (CD) drive or digital versatile disk (DVD) drive), flash memory, etc.), communication interfaces (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.), and many other components and functionalities. In addition, the functionality of the control module 170 may be implemented in any technically feasible software and / or hardware.

[0061] Each of the one or more processors of the control system 140 may be an integrated circuit for processing instructions. For example, the one or more processors may be one or more cores or micro-cores of a processor, a central processing unit (CPU), a microprocessor, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a digital signal processor (DSP), a graphics processing unit (GPU), a tensor processing unit (TPU), etc. The control system 140 may also include one or more input devices, such as a touch screen, a keyboard, a mouse, a microphone, a touch pad, an electronic pen, or any other type of input device.

[0062] The communication interface of the control system 140 may include an integrated circuit for connecting the computing system to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, or any other type of network) and / or another device, such as another computing system.

[0063] In addition, the control system 140 may include one or more output devices, such as a display device (e.g., a liquid crystal display (LCD), a plasma display, a touch screen, an organic LED display (OLED), a projector, or other display device), a printer, a speaker, an external storage device, or any other output device. One or more of the output devices may be the same as or different from the input device(s). There are many different types of computing systems, and the input device(s) and output device(s) described above may take other forms.

[0064] In some embodiments, the control system 140 may be connected to a network or be part of a network. The network may include multiple nodes. The control system 140 may be implemented on a node or a group of nodes. For example, the control system 140 may be implemented on a node of a distributed system connected to other nodes. As another example, the control system 140 may be implemented on a distributed computing system with multiple nodes, wherein different functions and / or components of the control system 140 may be located on different nodes within the distributed computing system. In addition, one or more elements of the aforementioned control system 140 may be located in a remote location and connected to other elements via a network.

[0065] Software instructions in the form of computer-readable program code for executing embodiments of the present disclosure may be stored in whole or in part, temporarily or permanently, on a non-transitory computer-readable medium (such as a CD, DVD, storage device, disk, tape, flash memory, physical memory, or any other computer-readable storage medium). Specifically, the software instructions may correspond to a computer-readable program code that, when executed by a processor (one or more) (e.g., processor 150), is configured to perform an embodiment of any method described herein.

[0066] Figure 2 is a block diagram of a computer-assisted system according to some embodiments. Figure 2 As shown, the computer-assisted system includes an input device 200. The input device can be configured to receive external input from a user. For example, the input device provides a user interface through which the user can apply physical movements and forces to the user interface, which are reflected in the following robotic arm. That is, based on a predetermined or variable scaling factor, an inverse kinematic filter, or other suitable transformation, the robotic arm can move according to the input received at the input device. Figure 2 As shown, the input device includes an actuator(s) 204. The actuator(s) 204 may be configured to apply a force to the input device to provide feedback to a user of the input device. For example, the actuator(s) may be configured to apply a force based on a force sensed at the robotic arm 250. The actuator(s) may include one or more motors, servo mechanisms, stepper motors, brushless motors, pneumatic actuators, or any other suitable actuators. Figure 2As shown, the input device may optionally include physical damper(s) 206. In some embodiments, the damper may be an adjustable damper so that the amount of damping applied to the input device is controlled by the processor(s) according to the methods described herein. In some embodiments, the actuator(s) 204 may be commanded to provide damping (e.g., by applying resistance to the movement of the input device in the reference frame of the input device). In some such embodiments, the damping provided by the actuator(s) 204 may be a force other than the force applied based on the feedback of the manipulator or other active forces. The damping provided by the actuator may be used in place of the physical damper or in combination with the physical damper. The input device 200 also includes optional sensor(s) 208. The sensor may utilize any appropriate sensing technology and may include any appropriate sensor configured to provide information about the input device and its operating environment. Example sensors include optical sensors, cameras, accelerometers, inertial measurement units, proximity or contact sensors, force sensors, linear or rotary encoders, potentiometers. In some embodiments, the sensor (one or more) 208 may include an encoder or other joint position sensor, which may provide deflection information, from which force information may be calculated based on the physical characteristics of the input device. In some embodiments, the actuator (one or more) 204 may provide information about the force applied to the input device, the position and / or linear velocity of the input device, and / or the orientation or angular velocity of the input device to the processor (one or more). As used herein, "input device" indicates one or more points or parts of interest of the input device. For example, an actuator including a motor may be used to determine an estimated force by estimating the motor torque from the motor current or power, which may be used together with the geometry and kinematics of the input device to determine the force applied to the input device. As another example, the position and / or orientation of the input device may be determined by an actuator including a motor by monitoring the steps of a stepper motor or monitoring the speed of the motor over time. The motor information may be used together with the geometry and kinematics of the input device to determine the position or velocity information of the input device. Such information derived by the actuator may be used to replace or supplement the sensor information provided by one or more sensors as described above.

[0067] according to Figure 2In an embodiment of the present invention, the robotic arm 250 includes a follower device configured to follow a leader device including an input device 200. For example, the robotic arm 250 may be configured to follow a user command provided by a user input at the input device 200. The robotic arm 250 includes an actuator (one or more) 254. The actuator (one or more) 254 may be configured to apply a force to a portion of the robotic arm (e.g., an arm link) to move the robotic arm 250 and / or an instrument supported by the robotic arm 250. In some embodiments, the actuator (one or more) 254 may be configured to apply a velocity and / or displacement to a portion of the robotic arm. The movement of the instrument may cause the instrument to apply a force in an operating environment containing the instrument. In some cases, different actuators of the actuator (one or more) 254 are configured to operate the robotic arm 250 and the instrument supported by the robotic arm 250. In some cases, one or more actuators of the actuator (one or more) 254 are configured to operate both the robotic arm and one or more instruments supported by the robotic arm 250. Actuator(s) 254 may be configured to move the robotic arm 250 based on movement of the input device 200. Actuator(s) 254 may include one or more motors, solenoids, pneumatic or hydraulic pistons, etc. Example motors include servo motors, stepper motors, brushless motors. Figure 2 As shown, the manipulator may optionally include one or more instruments 256. One or more instruments may be coupled to the manipulator and may be detachable and interchangeable in some embodiments. The manipulator 250 also includes optional sensor(s) 258, which may include the example sensor described above with reference to sensor(s) 208. In some embodiments, the sensor(s) may be configured to provide information about the contact force on the manipulator, the position of the manipulator, and the speed of the manipulator. In some embodiments, the actuator(s) 254 may provide information about the force applied to the manipulator and the position and / or orientation of the manipulator. For example, force may be measured by converting motor torque and / or current into force. As another example, position, orientation, and / or speed may be measured by monitoring the stepping of a stepper motor or monitoring the speed of the motor over time. In some embodiments, the sensor(s) 258 may include a force sensor located at a distal portion of the instrument. In some embodiments, the sensor(s) 258 may include one or more strain gauges located on a portion of the manipulator. The manipulator 250 may include any suitable number and type of sensors, as the present disclosure is not limited thereto.

[0068] according to Figure 2In some embodiments shown, the computer-assisted system includes a control system 300, which can coordinate and control the interoperation between the input device 200 and the mechanical arm 250. The control system 300 can implement the method according to the exemplary embodiments described herein for controlling the operation of the input device 200 and the mechanical arm 250. In particular, the control system receives input from the input device 200, and can provide tactile, touch and / or force feedback to the input device based on the operating characteristics of the mechanical arm 250. The control system also sends commands to the mechanical arm 250 based on the input received at the input device 200, and receives sensor signals from the mechanical arm 250. In some embodiments, the control system can send commands to the mechanical arm based on the input received at the mechanical arm 250. For example, when someone pushes the mechanical arm, the control system can send a command to the mechanical arm to maintain the position. In some embodiments, the control system can send self-generated commands to the mechanical arm. For example, the control system can send a command (one or more) to perform an automatic movement or a command (one or more) to maintain the position. The control system 300 can command the actuator (one or more) of both the mechanical arm 250 and the input device 200 in one or more control loops.

[0069] like Figure 2 As shown, the control system includes one or more processors 302, which are configured to implement programming instructions, which prompt the one or more processors to perform the exemplary method described herein. The programming instructions may be stored on a memory 304, which may be a non-transitory memory. In some embodiments, the control system 300 may cooperate with the processor (one or more) of the input device and the manipulator to control the input device and the manipulator. In some embodiments, the control system may be physically implemented in one processor. In other embodiments, the control system may be physically implemented in multiple processors. In some embodiments, the processing or control system may be physically set in or on the input device, the manipulator, the auxiliary tower or the user console or any combination thereof. The control system also includes a communication interface 306, which may facilitate the communication of commands, requests and information between the manipulator, the input device and the control system. The communication interface 306 may include an integrated circuit for connecting the control system to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) (such as the Internet), a mobile network or any other type of network) and / or another device, such as another control system. In some embodiments, the robotic arm 250 and the input device 200 may also include a communication interface to facilitate communication with the control system 300 .

[0070] Figure 3 is a schematic diagram of a control loop 400 of a computer-assisted system according to some embodiments. Figure 3The control loop shown may represent the control of a computer-assisted system, including an input device and a corresponding robotic arm. A computer-assisted system may have sub-loops, super-loops, or Figure 3 The control loops shown are parallel to loops used to control specific actuators, specific joints of a robot or device, special functions (e.g., application of energy), other robots or devices, other parts of a computer-assisted system, etc. Figure 3 As shown, the main input of the control loop 400 is the user force input at the input device. The resultant force including the force from the user acting on the input device can cause the input device to move, and the input device movement is monitored by one or more sensors (such as encoders, inertial measurement units and / or trackers). That is, one or more processors of the input device can receive information from one or more sensors and / or actuators of the input device, which can be used to determine the force input from the user and the synthetic movement of the input device. In block 402, the control loop outputs a control signal to apply force to the input device via one or more actuators. The control signal can be a function of the force input from the user, the error signal from the adjustable damping in the block 404 that reduces the force, and the signal from multiple control blocks, as further discussed below. The adjustable damping of block 404 can be based on the position change (e.g., speed) of the input device, and the force presented to the input device can be limited to improve stability. The control of the input device in block 402 can include the control of multiple actuators to apply feedback force to the input device on one or more degrees of freedom of the input device.

[0071] like Figure 3 As shown, the signal from the input device (e.g., the position x of the input device) id ) is provided to block 406, in which the position is scaled. As previously described, scaling may include compensating for size differences between the input device and the robotic arm. The scaled position from the input device is then provided to the inverse kinematics block 410. The inverse kinematics block may be configured to receive the scaled position input from the input device and convert the scaled position input into a control signal to command one or more actuators to move the robotic arm toward a target position. In some embodiments, the inverse kinematics block may receive input from the input device and convert the input from the input device joint space to a three-dimensional space (e.g., Cartesian space) using forward kinematics. The inverse kinematics block may transform the converted input in three-dimensional space to provide commands to the distal portion of the robotic arm or a supporting instrument in three-dimensional space (e.g., Cartesian space). The inverse kinematics block may then use the inverse kinematics of the robotic arm (and appropriate supporting instrument) to convert the commands to the robotic arm to the joint space of the robotic arm. Inverse kinematics block 410 may be used in situations where the kinematics of the input device and the robotic arm are different. As Figure 3As shown, in block 412, the control signal from the inverse kinematics block 410 is provided to the robotic arm. Block 412 may represent an output at the robotic arm causing the robotic arm to follow the input at the input device. Figure 3 As shown, in some embodiments, a linear manipulator impedance filter (shown in block 408) may be used as an input to the kinematic filter. The impedance filter may improve the stability of the manipulator by increasing the compliance of the manipulator, which in turn may improve the stability of the control loop 400. The linear impedance filter may be based on feedback from the manipulator and is optional.

[0072] like Figure 3 As shown, after outputting to the robotic arm in block 412, the robotic arm may in turn output a force and / or motion relative to the operating environment 414. The interaction between the robotic arm and the operating environment may generate a feedback signal. Figure 3 As shown, this type of interaction can generate an environmental interaction force F env In block 416, the force signal may be filtered or scaled by a gain factor. Such scaling and filtering may reduce noise or normalize the force at the robotic arm to be comparable to the force applied at the input device (e.g., in the same order of magnitude as the force applied at the input device). Figure 3 In the embodiment, block 416 includes scaling and filtering, but in other embodiments, scaling and filtering may be performed in different blocks. In some embodiments, only one of scaling and filtering may be used. In some embodiments, neither scaling nor filtering may be used. After applying the gain factor and filtering of block 416, the modified force signal may represent the force feedback to be provided to the input device. The modified force signal may also be further adjusted by the impedance limiter of block 408 to determine the force feedback to be provided to the input device. Figure 3 As shown, in block 418, the modified force signal may be passed to a software gain limiter. The software gain limiter may represent an exemplary embodiment described herein. That is, the software gain limiter may reduce or change the feedback force provided to the input device based on the modified force signal to maintain the stability of the input device when the input device is actively driven. The software gain limiter may eliminate runaway gain instabilities in the overall control loop 400, which will be discussed further below.

[0073] Figure 4 is a schematic diagram of a control block 500 of a computer-assisted system according to some embodiments. In some embodiments, Figure 4 The control block 500 may represent Figure 3 A software gain limiter in block 418 of FIG. Figure 4 The control block is configured to limit the force feedback provided to the input device. Figure 4As shown, force and velocity are inputs to the control block. The force input may be a scaled and / or filtered force from the robotic arm. That is, the force input may be a feedback signal from the associated robotic arm. The velocity input may be measured at the input device and may optionally be scaled and / or filtered. Figure 4 In an embodiment of the present invention, several functions of the control block 500 may depend on the speed of the input device, as will be discussed further below.

[0074] like Figure 4 As shown, the force is first input to block 502 where the force is differentiated to obtain a delta force (e.g., a change in force). Figure 4 In some embodiments, the derivative is relative to time. In some embodiments, the derivative of the force can be obtained by comparing discrete force measurements over time to obtain an incremental force. The incremental force is passed to block 504, where the incremental force can be projected onto velocity. The projection onto velocity can include determining the components of the incremental force corresponding to the degrees of freedom of the input device. The projection of velocity can use a three-dimensional vector provided by the velocity signal from the input device. In some embodiments, such a projection can be implemented using a dot product to obtain a matrix of incremental forces corresponding to the velocity. In some embodiments, the change in force can also be a matrix of multiple forces, which can correspond to different degrees of freedom of the robotic arm. In some embodiments, the degrees of freedom of the input device and the robotic arm can be the same, so that the force and velocity matrices have the same size. For example, in an input device and a robotic arm having three translational degrees of freedom, the force can be a matrix with three values, each corresponding to a different degree of freedom, and the velocity can be a matrix also with three values, each corresponding to a different degree of freedom. Any suitable size matrix representing one or more degrees of freedom can be used, as the present disclosure is not limited to this. According to Figure 4 In an embodiment, the projection on velocity in block 504 is used as a gate to eliminate variations in force presented on the input device in any direction where the input device has zero velocity.

[0075] like Figure 4 As shown, after the incremental force is projected onto the velocity in block 504, the incremental force is transmitted to the saturation block 506 via a ratcheting switch 516, which will be discussed further below. The saturation block can use a variable saturation limit based on the velocity of the input device, which will be discussed below with reference to Figure 5 Further discussion. The saturation function effectively operates as a transfer or gain reduction, depending on the environmental stiffness determined between the robot arm and its operating environment and the environmental stiffness. After applying the saturation function of block 506, the resultant incremental force is accumulated (e.g., integrated) in block 508. The integrated force is then passed to the force envelope block 510, which will be referred to below. Figure 7Further discussion. The force envelope block 510 can ensure that the force output to the input device does not exceed the force measured at the robotic arm. The force is output from block 510, and the output signal is also provided as an error signal to a portion of the control block.

[0076] like Figure 4 As shown, the lower portion of the control loop receives the original force input and the output force from the previous cycle of the control block (the previous cycle of the same control loop). The difference of these forces is used to obtain a divergent force. Similar to the projection of block 504, the divergent force is then projected onto the velocity in block 514. In the lower path of block 514, the divergent force parallel to the direction of motion of the input device (e.g., corresponding to a non-zero velocity) is subtracted from the previously obtained divergent force to obtain only the force perpendicular to any direction with a non-zero velocity. The vertical divergent force is passed to block 512, which is a time recovery block. This block allows the vertical divergent force to be superimposed on the force output from the saturation function, which eliminates steady-state errors over time. In the upper path of block 514, the parallel divergent force is provided to a ratchet switch 516. The ratchet switch uses the larger force from block 504 or block 514 as input, which allows the control loop to use the excess space in the saturation block 506 to apply feedback force without generating instability. As Figure 4 As shown, the ratchet switch can determine whether the parallel divergence force is positive relative to the velocity of the input device.

[0077] Figure 4 The subcomponents and methods of the overall control block and their advantages will be referred to below Figure 5-Figure 9 It should be noted that these various subcomponents may be optional and, in some embodiments, may not be used in the control loop depending on the specific performance characteristics used for the feedback force at the input device.

[0078] Figure 5 is a schematic diagram of a portion of a control block according to some embodiments. Figure 5 As shown, the force is first input to block 502, where the force is differentiated to obtain an incremental force (e.g., a change in force). The incremental force is passed to block 504, where the incremental force can be projected onto velocity. As previously described, the projection onto velocity can include determining the components of the incremental force corresponding to the degrees of freedom of the input device. The projection of velocity can take the form of a three-dimensional vector provided by the velocity signal from the input device or any other suitable dimension. According to Figure 5In an embodiment of the present invention, the projection on velocity in block 504 is used as a gate to eliminate changes in force presented on the input device in any direction where the input device has zero velocity. That is, any change in force corresponding to zero velocity will be eliminated or effectively eliminated by multiplying by zero. This effectively ignores forces in directions that are not related to the direction of motion of the input device used to determine the feedback force.

[0079] like Figure 5 As shown, after the incremental force is projected onto the velocity in block 504, it is passed to the saturation block 506. The saturation block may employ a variable saturation limit based on the velocity of the input device and the ambient stiffness determined from information at the robotic arm. The saturation function effectively operates as a transfer or gain reduction, depending on the ambient stiffness and the ambient stiffness determined between the robotic arm and its operating environment. In some embodiments, the saturation limit of the saturation function may be defined as:

[0080] Saturation Limit = K max *v ID *Δt

[0081] where v ID is the speed of the input device, K max is a stiffness threshold (e.g., a maximum stiffness threshold) determined based on the specific kinematics of the manipulator and the input device, and Δt is a time interval used to control the manipulator control system and can be used as an integration time when appropriate in the control loop. The saturation function limits its output to this saturation limit. If the force or environmental stiffness is low enough, the saturation function operates as a transfer. In the case where the environmental stiffness is greater than the stiffness threshold, the saturation function can operate as a gain reduction of the change in force. The environmental stiffness can be determined by comparing the change in force at the manipulator device instrument and the change in its position. After applying the saturation function of block 506, the resultant incremental force is accumulated (e.g., integrated) in block 508. After accumulation in block 508, the force can be output to the input device.

[0082] Fig. 6A Depicted Figure 5 The experimental results of the implementation of the control block in the simulation. Fig. 6AAs shown, the environmental stiffness K is 100, which is less than the stiffness threshold of 200. Therefore, when the instrument is pushed into contact with the surface of an object or other material or into contact within a mass of an object or other material, and when the instrument is released from contact with a portion of the surface or mass of the object or other material, the generated force can be "fully" returned to the input device and rendered. "Fully rendered" as used herein indicates what would be provided if the saturation limit were not applied - the full rendering can be scaled according to the scaling relationship between the instrument operating environment and the input device operating environment. The full rendering of the force in this example is because the saturation limit of the saturation function is not reached due to the lower environmental stiffness. Therefore, in this example, the saturation function acts as a transfer operation, allowing the feedback force to be fully applied to the input device.

[0083] Figure 6B Depicted Figure 5 The experimental results of the implementation of the control block in the simulation. Figure 6B As shown, the environment stiffness K is 300, which is greater than the stiffness threshold K max 200. Thus, when a device is pushed into contact with an ambient surface, or into a mass or other material, and is released from contact with that surface, or from that portion of the mass or other material, according to Figure 5 The feedback force determined by the control block is reduced compared to the force measured at the robotic arm. Because the ambient stiffness is greater than the stiffness threshold, the saturation limit is reached and not exceeded. Therefore, in the event that the stiffness threshold is exceeded by the ambient stiffness, the saturation function operates as a fixed gain reduction based on a comparison (e.g., a difference or ratio) between the threshold stiffness and the ambient stiffness. In some embodiments, the comparison can be performed separately as a scalar in multiple degrees of freedom. That is, a stiffness comparison can be performed for each degree of freedom of the instrument and associated input devices. Figure 6A-6B In the example shown, a single degree of freedom is shown for simplicity. For example, in some embodiments, the saturation function may take the ratio K of the threshold stiffness to the ambient stiffness. max / K determines the change in the output feedback force. That is, the control block may determine a gain factor based at least in part on the threshold stiffness and the ambient stiffness, and apply the gain factor to the change in the force output to the input device, wherein in this embodiment, the above ratio may be applied as the gain factor. As another example, when the ambient stiffness is greater than the threshold stiffness, the saturation function may change (e.g., reduce) the output feedback force based on the stiffness difference between the ambient stiffness and the threshold stiffness. For example, when the ambient stiffness is greater than the threshold stiffness, the saturation function may determine the force reduction according to the following equation:

[0084] Force Reduction=(KK max )*v ID *Δt

[0085] In other embodiments, the saturation function may employ any linear or nonlinear operation to change (eg, decrease) the output feedback force based on the ambient stiffness and the threshold stiffness.

[0086] Figure 7 is a schematic diagram of a portion of a control block according to some embodiments. Figure 7 The control block may optionally be combined with other exemplary embodiments herein (e.g., Figure 5 ) to reduce the effects of steady-state error and / or account for force differences in the absence of input device velocity in the direction of the steady-state error. Figure 7 As shown, the control block receives a force input from the robotic arm and an output force from a previous cycle of the control block. The difference of these forces is used to obtain a divergent force. This divergent force is then projected onto the velocity in block 514, which uses a velocity input signal from the input device. The divergent force parallel to the direction of motion of the input device (e.g., corresponding to a non-zero velocity) is subtracted from the previously obtained divergent force to obtain only the force perpendicular to the velocity direction. This vertical divergent force is passed to block 512, which is a time recovery block. This block allows a vertical divergent force (e.g., a restoring force) to be applied to the input device over time, which eliminates steady-state errors over time. In Figure 7 In some embodiments, the time recovery block may implement exponential decay. That is, the divergent force applied to the input device will increase in an exponential decay curve until the divergent force is fully applied. In other embodiments, the time recovery may implement linear force recovery or any other suitable force distribution, as the present disclosure is not limited in this regard. In some embodiments, the time recovery block may implement a time delay before applying the divergent force to the input device. For example, the control block may determine whether a threshold time period of the stabilization force has been exceeded before adding the divergent force to the input device.

[0087] It should be noted that Figure 7 The restorative divergent force applied by the control block does not introduce instability in the input device because Figure 7 In this embodiment, the force is applied only in a direction perpendicular to the direction of the velocity. The result of this restriction is that if the force causes the input device to move, the force will not be applied to the input device because the force will immediately generate a non-zero velocity in that direction. Therefore, Figure 7 The restoring force provided by the embodiments may be applied to situations where a user holds the input device steadily and resists forces in one or more directions.

[0088] like Figure 7 As shown, the output from the time recovery block 512 is provided to the integration block 508, which accumulates the divergent force to be applied to the input device. Figure 7In some of the illustrated embodiments, the control block also includes a force envelope block 510. The force envelope block is configured to limit the force output at the input device to be less than or equal to the scaled force measurement at the instrument of the manipulator device, regardless of velocity. For example, in the case where a force change of reduced magnitude is not applied to the input device as a feedback force due to the zero velocity of the input device, the force envelope block will capture the reduced change in force and correspondingly reduce the force output of the input device. Such blocks are also useful in alerting a user of a computer-assisted system that a force has been lost on an instrument, even if the input device has not moved and remains stationary.

[0089] Fig. 8A Depicted Figure 7 Experimental results of the implementation of the control block in simulation. Fig. 8A The case where the instrument is pushed into contact with its operating environment (e.g., surface, mass, etc.), held in place, and then released from contact is shown. In addition, the environment stiffness is greater than the threshold stiffness, so the saturation function (see Figure 5 ) or other stability control function acts as a gain reduction that may cause a steady-state error in the feedback force presented to the user at the input device. Fig. 8A As shown, the force is limited until the time recovery block operates to provide a restoring force to the input device. Since the velocity in the direction corresponding to this example is zero, the force can be applied with an exponential decay curve. This situation may correspond to the user holding the input device stationary. When the instrument is released from contact, the force envelope function ensures that the output force is less than or equal to the measured force, regardless of the velocity of the input device. In this way, Fig. 8A The control block can improve user feel by increasing the accuracy of force feedback without introducing additional instability into the input device.

[0090] Figure 8B Depicted Figure 7 The experimental results of the implementation of the control block in the simulation. Figure 8B In the example of , the input device is not moving and has a constant zero velocity. However, a sudden external force is applied to the instrument where no force was previously applied to the instrument. For example, another instrument may contact the instrument, or a portion of the operating environment may move, thereby applying a force to the instrument. In some embodiments, due to the zero velocity of the input device, the force is not presented to the input device. However, as long as the input device remains at zero velocity, such as Figure 7 The time-recovery restoring force shown can be used to present a force to an input device. Thus, the force can be accurately presented if the input device remains stationary. If the input device is free to move, the application of the force will cause the input device to move accordingly, which will cancel further application of force to the input device in that direction.

[0091] Figure 8C Depicted Figure 7 The experimental results of the implementation of the control block in the simulation. Figure 8C In the example of , the input device is not moving and has a constant zero velocity. In addition, there is a constant force at the device, which can occur when the device is in contact with its operating environment or carries a fixed weight. When the velocity of the input device remains at zero, the force is suddenly released. For example, the operating environment in contact with the device may move or yield, causing a loss of force. In some embodiments, due to the zero velocity, the force is not presented to the input device. However, as Figure 7 The force envelope shown can be used to reduce the force applied to the input device to less than or equal to the force measured at the instrument. When limiting the force, the force envelope can take into account the scaling difference between the input device and the instrument. Therefore, in the case where the input device remains stationary and there is a loss of force, the force can be accurately presented.

[0092] Fig. 9 is a schematic diagram of a portion of a control block according to some embodiments. Fig. 9 As shown, the control block receives a force input from the manipulator and a previous output force from the control loop cycle. The force input is differentiated in block 502 and projected onto the velocity of the input device in block 504. A ratchet switch 516 is used to allow the control block to maximize the use of the saturation function in block 506. That is, the ratchet switch is configured to pass additional force into the saturation function to maintain stability when certain conditions are met. The saturation function in block 506 may be similar to reference Figure 5 The difference of these forces is used to obtain the divergent force. Fig. 9 As shown, the output force from the previous cycle is subtracted from the force input to obtain the divergent force. Similar to the projection of block 504, the divergent force is then projected onto the velocity in block 514 to determine the component of the divergent force corresponding to the input device velocity. From block 514, the parallel divergent force is provided to the ratchet switch 516. The ratchet switch uses the larger force from block 504 or block 514 as input, which allows the control block to use the excess space in the saturation block 506 to apply feedback force without generating instability. As shown in FIG. Fig. 9 As shown, the ratchet switch can determine whether the parallel divergence force is positive relative to the speed of the input device. The ratchet switch can determine whether the divergence change of the force is opposite to the speed direction of the input device, and if this condition is met, the switch can be activated to use the divergence switch as an input to the saturation function. This type of arrangement ensures that a larger force is input to the saturation function in block 506 when the change of the force is opposite to the speed direction of the input device.

[0093] Fig.10 is a simplified schematic diagram of a computer-assisted system during operation according to some embodiments. Fig.10As shown, the computer-assisted system includes an input device 106 and a mechanical arm 120. The mechanical arm includes an instrument 126 having a distal portion 127 (e.g., a distal end) that physically interacts with an operating environment 600. Depending on the specific application, the operating environment may include an object (e.g., a table, a work surface, a component, etc.), a surface (e.g., a floor, a wall, a ceiling), or an object (e.g., a patient). As previously described, the input device 106 and the mechanical arm 120 may be remote from each other and may communicate via a control system configured to coordinate the operation of the input device and the mechanical arm. The mechanical arm may be configured to proportionally follow the movement and force applied to the input device by the user. That is, the user input received at the input device may be the basis for the command sent to the mechanical arm to move and interact with the operating environment 600.

[0094] according to Fig.10 In an embodiment of the present invention, the computer-assisted system can be controlled to provide feedback force to the input device 106. The force between the operating environment and the instrument in one or more directions can be measured at the instrument, and F env According to an exemplary embodiment of the present invention, after appropriate scaling, filtering and / or limiting, the force can be used to provide feedback force to the input device 106. In some embodiments, the force can be measured at the instrument in at least two degrees of freedom (e.g., three degrees of freedom) and can be used to generate feedback force in at least two corresponding degrees of freedom of the input device. In some embodiments, the force can be measured in a single degree of freedom and can be used to generate feedback force in the corresponding single degree of freedom. For example, forces in the same Cartesian direction based on a local reference frame can be measured at the instrument and generated at the input device. Fig.10 As shown, the feedback force at the input device can be limited according to a force envelope function, which converts the scaled force F at the input device into input The force envelope can be determined independently in at least two degrees of freedom. The envelope block simply compares the input force (F env_in ) and the input force (F in ) to operate. When the dot product of the input force of 502 and the input force of 510 is negative, the output force (F out ) is cleared, or the output force of 510 is in the same direction as the input force of 510, and its magnitude is saturated by the magnitude of the input force of 502 projected onto the input force of 510.

[0095] If F in .F env_in <0

[0096] Limit = 0

[0097] otherwise

[0098]

[0099] F out =Bound(F env_in ,limit)

[0100] Fig.11 A flow chart of a method of operating a computer-assisted system according to some embodiments is depicted. In block 700, a component of a change in force at an instrument associated with a direction of motion of an input device is determined. For example, one or more force sensors, strain gauges, or other suitable sensors may be used to determine the force at the instrument, and the force may be projected onto a velocity of the input device in one or more degrees of freedom. The method may also include determining an environmental stiffness of the instrument. For example, a change in force measured at the instrument may be compared with a change in displacement of the instrument to determine the environmental stiffness. In block 702, the method includes determining a feedback force based at least in part on the environmental stiffness and the component of the change in force in response to a determination that the environmental stiffness experienced by the instrument exceeds a threshold stiffness. In some embodiments, the threshold stiffness may be a maximum stiffness for setting a saturation limit of a saturation function. In some embodiments, determining the feedback force may be based on a gain factor determined by the environmental stiffness and the threshold stiffness. In some embodiments, determining the feedback force may also include one or more additional methods as described herein. For example, determining the feedback force may include one or more of a force envelope, a ratchet switch, and a time recovery restoring force determination as described herein. At block 704 , the input device is driven with one or more actuators of the actuator system to apply the determined feedback force.

[0101] The above-mentioned embodiments of the technology described herein can be implemented in a variety of ways. For example, the embodiments can be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be implemented on any suitable processor or processor set, whether provided in a single computer or distributed in multiple computers. Such processors can be implemented as integrated circuits, with one or more processors in an integrated circuit assembly, including commercially available integrated circuit assemblies known in the art by names such as CPU chips, GPU chips, microprocessors, microcontrollers or coprocessors. Alternatively, the processor can be implemented in a custom circuit system (such as an ASIC, or a semi-custom circuit system obtained by configuring a programmable logic device). As another option, the processor can be part of a larger circuit or semiconductor device, whether commercially available, semi-custom or custom. As a specific example, some commercially available microprocessors have multiple cores, so that one or a subset of these cores can constitute a processor. However, the processor can be implemented using a circuit system of any suitable format.

[0102] The term "program" or "software" as used herein refers in a general sense to any type of computer code or computer executable instruction set that can be used to program a computer or other processor to implement the various aspects of the present disclosure described above. In addition, it should be understood that according to one aspect of this embodiment, one or more computer programs that perform the methods of the present disclosure when implemented do not need to reside on a single computer or processor, but can be distributed in a modular manner among multiple different computers or processors to implement various aspects of the present disclosure.

[0103] Computer executable instructions may be in various forms, such as program modules executed by one or more computers or other devices. Generally speaking, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. Typically, in various embodiments, the functionality of program modules may be combined or distributed as desired.

[0104] In addition, the data structure can be stored in a computer-readable medium in any suitable form. To simplify the description, the data structure can be shown as having fields that are related by positions in the data structure. Such relationships can also be achieved by allocating storage for the fields using positions in the computer-readable medium that convey the relationship between the fields. However, any suitable mechanism can be used to establish the relationship between the information in the fields of the data structure, including by using pointers, tags, or other mechanisms that establish relationships between data elements.

[0105] Various aspects of the present disclosure may be used alone, in combination, or in various arrangements not specifically discussed in the foregoing embodiments, and therefore their application is not limited to the details and arrangements of components set forth in the foregoing description or illustrated in the accompanying drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.

[0106] In addition, the embodiments described herein may be embodied as a method, where examples of the method have been provided. The actions performed as part of the method may be ordered in any suitable manner. Thus, embodiments may be constructed in which the actions are performed in an order different from that shown, which may include performing some actions simultaneously, even though shown as sequential actions in the illustrative embodiments.

[0107] Additionally, some actions are described as being taken by a “user.” It should be understood that a “user” need not be a single individual, and in some embodiments, actions attributable to a “user” may be performed by a group of individuals and / or individuals in conjunction with computer-assisted tools or other mechanisms.

[0108] Although the present teaching has been described in conjunction with various embodiments and examples, it is not intended that the present teaching is limited to these embodiments or examples. On the contrary, as will be appreciated by those skilled in the art, the present teaching includes various substitutions, modifications and equivalents. Therefore, the foregoing description and the accompanying drawings are only illustrative.

Claims

1. A computer-aided system, include: a robotic arm configured to support an instrument; an input device configured to accept user commands to move the apparatus; an actuator system coupled to the input device; as well as A controller comprising at least one processor, wherein the controller is configured to: determining a component of the change in force at the instrument, the component being related to the direction of movement of the input device, responsive to a determination that an ambient stiffness experienced by the instrument exceeds a threshold stiffness, determining a feedback force based at least in part on the ambient stiffness and the component of the change in force, and The actuator system is caused to drive the input device to apply the feedback force.

2. The computer-assisted system of claim 1, wherein the instrument comprises a distal portion, and wherein the change in force comprises a change in distal force at the distal portion of the instrument.

3. The computer-aided system according to claim 1, further comprising: include: one or more sensors coupled to the robotic arm, the one or more sensors configured to sense a force applied to the robotic arm, Wherein the controller is configured to determine the change in force based on the force applied to the robotic arm.

4. The computer-assisted system of claim 1, wherein the direction of motion of the input device is determined in at least two degrees of freedom, and wherein the direction of motion of the input device is a velocity direction of the input device.

5. The computer-assisted system of claim 1 , wherein the controller is configured to determine the feedback force by: The feedback force is determined to be opposite to the direction of movement of the input device.

6. The computer-assisted system of claim 1 , wherein the controller is configured to determine the feedback force based at least in part on the ambient stiffness and the threshold stiffness by: A comparison of the ambient stiffness and the threshold stiffness is used.

7. The computer-assisted system of claim 1 , wherein the controller is configured to determine the feedback force based at least in part on the ambient stiffness and the threshold stiffness by: determining a gain factor based at least in part on the threshold stiffness and the ambient stiffness, and The gain factor is applied to the component of the change in force.

8. The computer-aided system of claim 7, wherein determining the gain factor include: using a ratio between the threshold stiffness and the ambient stiffness; or The difference between the threshold stiffness and the ambient stiffness is used.

9. The computer-aided system according to any one of claims 1 to 8, wherein the controller is further configured to: determining a saturation limit based on the ambient stiffness and the threshold stiffness, and applying said saturation limit to said component of said change in force to produce a resultant change in force, Wherein the controller is configured to determine the feedback force by accumulating the resultant change in force.

10. The computer-assisted system according to any one of claims 1 to 8, wherein the controller is configured to determine the feedback force by: The feedback force is limited to a force limit determined based on the force at the instrument.

11. The computer-aided system of claim 10, wherein the controller is further configured to: The force limit is determined in at least two degrees of freedom of the input device, the at least two degrees of freedom of the input device being related to at least two degrees of freedom of the instrument.

12. The computer-assisted system according to any one of claims 1 to 8, wherein the controller is configured to determine the feedback force by: using only the component of the change in force that is related to the direction of movement of the input device, and not using any other component of the change in force, or The feedback force is determined by neglecting any components of the change in force that are not related to the direction of movement of the input device.

13. The computer-aided system according to any one of claims 1 to 8, wherein the controller is further configured to: The actuator system is caused to drive the input device to apply a restoring force superimposed on the feedback force, the restoring force being directed perpendicular to the direction of movement of the input device.

14. The computer-assisted system of claim 13, wherein the controller is further configured to: determining an instrument force at the instrument, and The restoring force is increased over time until the resultant force applied by the input device is no less than the machine force.

15. The computer-assisted system of any one of claims 1 to 8, wherein the controller is further configured to, in response to determining that the change in force plus the error in the feedback force is greater than a previous change in force at the instrument: determining whether the change in force has an opposite component associated with an opposite direction of the direction of movement of the input device, and In response to determining that the change in force has the opposing component, the feedback force is also determined based on the opposing component plus the error.

16. A computer-aided system according to any one of claims 1 to 8, in: The actuator system is a first actuator system; The computer-assisted system further includes a second actuator system coupled to the robotic arm, the second actuator system configured to drive movement of the instrument; as well as The controller is also configured to: determining the ambient stiffness based on an amount of force or torque associated with the second actuator system when driving the motion of the instrument, or The ambient stiffness is determined based on a resultant motion of the instrument when the motion of the instrument is driven by the second actuator system.

17. A computer-aided system according to any one of claims 1 to 8, in: The actuator system is a first actuator system; The computer-assisted system also includes a second actuator system coupled to the robotic arm; and The controller is also configured to: causing the second actuator system to drive movement of the instrument in response to operator input received at the input device, and The ambient stiffness is determined based on the motion of a point when the second actuator system drives the motion of the instrument, wherein the point is fixed relative to the instrument.

18. A method of controlling a computer-assisted system configured to support an apparatus, the computer-assisted system comprising an input device configured to control movement of the apparatus and an actuator system configured to apply a force to the input device, the method include: determining a component of the change in force at the instrument, the component being related to a direction of movement of the input device; responsive to a determination that an ambient stiffness experienced by the instrument exceeds a threshold stiffness, determining a feedback force based at least in part on the ambient stiffness and a component of the change in force; as well as The actuator system is caused to drive the input device to apply the feedback force.

19. The method of claim 18, wherein the instrument comprises a distal portion, and wherein the change in force comprises a change in distal force at the distal portion of the instrument.

20. The method according to claim 18, further comprising: include: The change in force is determined based on a force applied to the robotic arm.

21. The method of claim 18, wherein determining the feedback force comprises determining the feedback force to be opposite to the direction of movement of the input device.

22. The method of claim 18, wherein determining the feedback force based at least in part on the ambient stiffness and the threshold stiffness comprises using a comparison of the ambient stiffness and the threshold stiffness.

23. The method of claim 18, wherein the feedback force is determined based at least in part on the ambient stiffness and the threshold stiffness. include: determining a gain factor based at least in part on the threshold stiffness and the ambient stiffness; as well as The gain factor is applied to the component of the change in force.

24. The method of claim 23, wherein determining the gain factor include: using a ratio between the threshold stiffness and the ambient stiffness; or The difference between the threshold stiffness and the ambient stiffness is used.

25. The method according to any one of claims 18 to 24, further comprising: include: determining a saturation limit based on the ambient stiffness and the threshold stiffness; as well as The saturation limit is applied to the component of the change in force to produce a resultant change in force, wherein determining the feedback force includes accumulating the resultant change in force.

26. The method of any one of claims 18 to 24, wherein determining the feedback force comprises limiting the feedback force to a force limit determined based on the force at the instrument.

27. The method according to any one of claims 18 to 24, wherein determining the feedback force include: using only the component of the change in force that is related to the direction of movement of the input device and not using any other component of the change in force; or The feedback force is determined by neglecting any components of the change in force that are not related to the direction of movement of the input device.

28. The method according to any one of claims 18 to 24, further comprising: include: The actuator system is caused to drive the input device to apply a restoring force superimposed on the feedback force, the restoring force being directed perpendicular to the direction of movement of the input device.

29. The method according to claim 28, further comprising: include: determining an instrument force at the instrument; as well as The restoring force is increased over time until the resultant force applied by the input device is no less than the machine force.

30. The method of any one of claims 18 to 24, further comprising, in response to determining that the change in force plus the error in the feedback force is greater than a previous change in force at the instrument: determining whether the change in force has an opposite component associated with an opposite direction of the direction of motion of the input device; and In response to determining that the change in force has the opposing component, the feedback force is also determined based on the opposing component plus the error.

31. The method of any one of claims 18 to 24, wherein the actuator system is a first actuator system and the computer-assisted system further comprises a second actuator system configured to drive movement of the instrument, the method further comprising: include: determining the ambient stiffness based on an amount of force or torque associated with the second actuator system when driving the motion of the instrument; or The ambient stiffness is determined based on a resultant motion of the instrument when the motion of the instrument is driven by the second actuator system.

32. The method of any one of claims 18 to 24, wherein the actuator system is a first actuator system and the computer-aided system further comprises a second actuator system, the method further comprising: include: causing the second actuator system to drive movement of the instrument in response to operator input received at the input device; as well as The ambient stiffness is determined based on the motion of a point when the second actuator system drives the motion of the instrument, wherein the point is fixed relative to the instrument.

33. A non-transitory computer-readable storage medium storing instructions which, when executed by at least one processor associated with a computer-assisted device, cause the at least one processor to perform the method of any one of claims 18 to 32.