CONTROLLED RESISTANCE IN BACKDRIVABLE JOINTS
A computer-assisted system includes a manipulator arm including a joint, an actuator mechanism configured to drive the joint, and a controller. The controller is configured with a first control mode and a second control mode. In each of the first control mode and the second control mode, the controller commands the actuator mechanism to allow an external articulation to reconfigure the manipulator arm by backdriving the joint. The controller is configured to, in the first control mode: operate the joint in a servo control mode, and command the actuator mechanism to provide a first speed-dependent resistance independent from a position of the joint in response to the joint being backdriven at a first backdriven speed above a first speed threshold, the first speed-dependent resistance opposing the joint being backdriven. The controller is configured to, in the second control mode: operate the joint in a clutch control mode.
1 . A computer-assisted system comprising:
a manipulator arm comprising a joint, and an actuator mechanism configured to drive the joint; and
a controller comprising a computer processor, the controller communicatively coupled to the manipulator arm and configured with a first control mode and a second control mode,
wherein, in each of the first control mode and the second control mode, the controller commands the actuator mechanism to allow an external articulation to reconfigure the manipulator arm by backdriving the joint,
wherein the controller is configured to, in the first control mode:
operate the joint in a servo control mode, and
command the actuator mechanism to provide a first speed-dependent resistance independent from a position of the joint in response to the joint being backdriven at a first backdriven speed above a first speed threshold, the first speed-dependent resistance opposing the joint being backdriven, and
wherein the controller is configured to, in the second control mode:
operate the joint in a clutch control mode.
2 . The computer-assisted system of claim 1 , wherein the first speed-dependent resistance simulates a speed-dependent damping response.
3 . The computer-assisted system of claim 1 , wherein the controller is configured to, in the second control mode, command the actuator mechanism to float the joint.
4 . The computer-assisted system of claim 1 , wherein to operate the joint in the clutch control mode while in the second control mode, the controller is configured to:
command the actuator mechanism to provide a second speed-dependent resistance in response to the joint being backdriven at a second backdriven speed above a second speed threshold, wherein the second speed threshold is higher than the first speed threshold.
5 . The computer-assisted system of claim 1 , wherein to operate the joint in the servo control mode while in the first control mode, the controller is configured to:
command the actuator mechanism to allow the external articulation to reconfigure the manipulator arm by performing operations comprising:
obtaining an actual state of the joint;
determining a deviation between a commanded state of the joint and the actual state;
in response to the deviation exceeding a defined threshold:
adjusting the commanded state to generate an adjusted commanded state, wherein a difference between the adjusted commanded state and the actual state is smaller than the deviation, and
applying the adjusted commanded state in commanding the actuator mechanism; and
in response to the deviation not exceeding the defined threshold:
applying the commanded state in commanding the actuator mechanism.
6 . The computer-assisted system of claim 1 , wherein the first speed-dependent resistance increases with an amount that the first backdriven speed exceeds the first speed threshold.
7 . The computer-assisted system of claim 1 ,
wherein the actuator mechanism comprises an actuator with a back electromotive force speed limit at which the actuator mechanism saturates, and
wherein the first speed threshold is below the back electromotive force speed limit.
8 . The computer-assisted system of claim 1 ,
wherein the actuator mechanism comprises an actuator with a back electromotive force speed limit at which the actuator mechanism saturates;
wherein the controller is configured to: in the first control mode, command the actuator mechanism to resist backdriving of the joint in accordance with a first resistance versus speed profile;
wherein the controller is further configured to: in the second control mode, command the actuator mechanism to resist backdriving of the joint in accordance with a second resistance versus speed profile; and
wherein the first resistance versus speed profile is distinct from the second resistance versus speed profile for all non-zero speeds of backdriving below the back electromotive force speed limit.
9 . The computer-assisted system of claim 1 , wherein:
the manipulator arm is configured to support and move a tool; and
the joint provides a degree of freedom to move the tool along an insertion axis into a workspace.
10 . The computer-assisted system of claim 1 , wherein the controller is further configured to, in the first control mode, command the actuator mechanism to provide a speed-independent resistance opposing backdriving of the joint such that the speed-independent resistance provides a haptic feedback to a user causing the backdriving, wherein the haptic feedback distinguishes the backdriving of the joint in the first control mode from the backdriving of the joint in the second control mode.
11 . The computer-assisted system of claim 1 , wherein the first speed-dependent resistance provides a haptic feedback to a user causing the backdriving the joint in the first control mode, wherein the haptic feedback distinguishes the backdriving of the joint in the first control mode from the backdriving of the joint in the second control mode.
12 . The computer-assisted system of claim 1 , wherein the controller is further configured to, in the first control mode, command the actuator mechanism to provide a speed-independent resistance opposing the backdriving in response to the joint being backdriven at a speed not exceeding the first speed threshold.
13 . A method for operating a robotic system comprising a manipulator arm and a controller, the manipulator arm comprising a joint and an actuator mechanism configured to drive the joint, the controller configured with a first control mode and a second control mode, the method comprising:
when the controller is in each of the first control mode and the second control mode, commanding the actuator mechanism to allow an external articulation to reconfigure the manipulator arm by backdriving the joint; and
when the controller is in the first control mode:
operating the joint in a servo control mode, and
commanding the actuator mechanism to provide a first speed-dependent resistance independent from a position of the joint in response to the joint being backdriven at a first backdriven speed above a first speed threshold, the first speed-dependent resistance opposing the joint being backdriven, and
when the controller is in the second control mode:
operating the joint in a clutch control mode.
14 . The method of claim 13 further comprising, when the controller is in the second control mode, commanding the actuator mechanism to float the joint.
15 . The method of claim 13 , wherein operating the joint in the clutch control mode while in the second control mode comprises:
commanding the actuator mechanism to provide a second speed-dependent resistance in response to the joint being backdriven at a second backdriven speed above a second speed threshold, wherein the second speed threshold is higher than the first speed threshold.
16 . The method of claim 13 , wherein operating the joint in the servo control mode while in the first control mode comprises:
commanding the actuator mechanism to allow the external articulation to reconfigure the manipulator arm by performing operations comprising:
obtaining an actual state of the joint;
determining a deviation between a commanded state of the joint and the actual state;
in response to the deviation exceeding a defined threshold:
adjusting the commanded state to generate an adjusted commanded state, wherein a difference between the adjusted commanded state and the actual state is smaller than the deviation, and
applying the adjusted commanded state in commanding the actuator mechanism; and
in response to the deviation not exceeding the defined threshold:
applying the commanded state in commanding the actuator mechanism.
17 . The method of claim 13 ,
wherein the actuator mechanism comprises an actuator with a back electromotive force speed limit at which the actuator mechanism saturates;
wherein the method further comprises:
when in the first control mode, commanding the actuator mechanism to resist backdriving of the joint in accordance with a first resistance versus speed profile;
when in the second control mode, commanding the actuator mechanism to resist backdriving of the joint in accordance with a second resistance versus speed profile; and
wherein the first resistance versus speed profile is distinct from the second resistance versus speed profile for all non-zero speeds of backdriving below the back electromotive force speed limit.
18 . A non-transitory machine-readable medium comprising a plurality of machine-readable instructions executed by one or more processors associated with a computer-assisted system, the plurality of machine-readable instructions causing the one or more processors associated with a robotic system comprising a manipulator arm and a controller comprising the one or more processors, the manipulator arm comprising a joint and an actuator mechanism configured to drive the joint, the controller configured with a first control mode and a second control mode, to:
when the controller is in each of the first control mode and the second control mode, command the actuator mechanism to allow an external articulation to reconfigure the manipulator arm by backdriving the joint; and
when the controller is in the first control mode:
operate the joint in a servo control mode, and
command the actuator mechanism to provide a first speed-dependent resistance independent from a position of the joint in response to the joint being backdriven at a first backdriven speed above a first speed threshold, the first speed-dependent resistance opposing the joint being backdriven, and
when the controller is in the second control mode:
operate the joint in a clutch control mode.
19 . The non-transitory machine-readable medium of claim 18 wherein the instructions further cause the one or more processors to, when the controller is in the second control mode, command the actuator mechanism to float the joint.
20 . The non-transitory machine-readable medium of claim 18 , wherein operating the joint in the clutch control mode while in the second control mode comprises:
commanding the actuator mechanism to provide a second speed-dependent resistance in response to the joint being backdriven at a second backdriven speed above a second speed threshold, wherein the second speed threshold is higher than the first speed threshold.