# US 12,377,538 B2 · Hybrid control of a robotic system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,377,538 B2
- Document ID: US12377538B2
- Status: Granted
- Kind: B2
- Application number: 18/329,824
- Filed: 2023-06-06
- Published: 2023-12-07
- Granted: 2025-08-05
- Earliest claimed: 2020-01-24
- Assignees: The Cleveland Clinic Foundation
- Applicants: The Cleveland Clinic Foundation
- Inventors: Robb Colbrunn; Tara Nagle; Callan Gillespie
- Web page: https://patentgrep.com/patent/US12377538B2

## CPC

- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- B25J 9/1638: {compensation for arm bending/inertia, pay load weight/inertia}
- B25J 9/1653: {parameters identification, estimation, stiffness, accuracy, error analysis}
- B25J 9/1664: {characterised by motion, path, trajectory planning}
- B25J 13/085: {Force or torque sensors (B25J13/082, B25J13/084 take precedence)}
- B25J 13/088: {with position, velocity or acceleration sensors}
- B25J 13/089: {Determining the position of the robot with reference to its environment}
- B25J 9/1692: {Calibration of manipulator}
- G05B 2219/39183: Compliance compensation
- G05B 2219/39322: Force and position control
- B25J: MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES ({manipulators specially adapted for use in surgery A61B34/70; manipulators used in cleaning hollow articles B08B9/04}; manipulators associated with rolling mills B21B39/20; manipulators associated with forging machines B21J13/10; {manipulators associated with picking-up and placing mechanisms B23P19/007}; means for holding wheels or parts thereof B60B30/00; {vehicles with ground-engaging propulsion means, e.g. walking members B62D57/02, B62D57/032; devices for picking-up and depositing articles or materials between conveyors B65G47/90, B65G47/91; manipulators with gripping or holding means for transferring packages B65H67/065}; cranes B66C; {manipulators used in the protection or supervision of pipe-line installations F17D5/00; walking equipment adapted for nuclear steam-generators F22B37/006}; manipulators specially adapted for, or associated with, nuclear reactors G21C; {apparatus used for handling wafers during manufacture or treatment of semiconductor H10P72/50})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)

## Abstract

An object can be moved via a robotic system with a combination of force and position control. The control system can include the object to be moved, the robotic system that moves the object, at least one force sensor, at least one position sensor, and a controller. A position control output, a force control output, and a hybrid weighting value can each be determined by the controller based on sensor data and then combined to determine an amount of position control and/or force control to be applied to move the object and/or modify an object in motion's trajectory.

## Claims

### Claim 1

A system comprising:
at least one object configured to be moved by a robotic system;
at least one force sensor configured to be positioned on the at least one object to measure actual forces associated with the at least one object;
at least one position sensor configured to be positioned on the at least one object to measure an actual position associated with the at least one object;
at least one input source configured to measure, calculate, or receive a measurement of at least one other parameter of the system; and
a controller comprising:
a non-transitory memory storing executable instructions; and
a processor for executing the instructions to:
receive, from the at least one force sensor, the actual forces associated with the at least one object;
receive, from the at least one position sensor, the actual position associated with the at least one object;
receive, from the at least one input source, the measurement of the at least one other parameter of the system;
retrieve desired forces to be associated with the at least one object, wherein the desired forces and the actual forces are each within a first coordinate system;
retrieve a desired position to be associated with the at least one object, wherein the desired position and the actual position are each within a second coordinate system;
retrieve a trajectory of the at least one object based on the desired forces and the desired position;
establish a common reference frame for the actual forces, the actual position, the desired forces, and the desired position;
transform the actual forces, the actual position, the desired forces, and the desired position from the respective first coordinate system and second coordinate system to the common reference frame;
determine at least one adaptive compensation adjustment parameter based on the measurement of the at least one other parameter of the system;
determine a force control output based on the difference between the actual force and the desired force and the at least one adaptive compensation adjustment parameter;
determine a position control output based on the difference between the actual position and the desired position and the at least one adaptive compensation adjustment parameter;
determine a hybrid weighting value based on an amount of position control required for the at least one object to reach the desired position at the desired forces at a future time and an amount of force control required for the at least one object to reach the desired position at the desired forces at the future time, wherein the hybrid weighting value is variable in time based on at least one control variable;
determine a change in position associated with the at least one object and a change in forces associated with the at least one object based on the hybrid weighting value, the force control output, and the position control output;
modify the trajectory of the at least one object based on the change in position and the change in forces associated with the at least one object; and
move the at least one object based on the modified trajectory.

### Claim 2 (depends on 1)

The system of claim 1, wherein the at least one object is at least one of a tool within the robotic system and a base within the robotic system.

### Claim 3 (depends on 1)

The system of claim 1, wherein the at least one object is a rigid body or a deformable body.

### Claim 4 (depends on 1)

The system of claim 1, wherein the actual forces are applied by, to, from, or with the at least one object.

### Claim 5 (depends on 1)

The system of claim 1, wherein each of the force control output and the position control output are determined using a combination of control laws comprising a partially non-linear proportional-integral-derivative controller, a feedforward controller, and/or a deadband controller, wherein each of the force control output and the position control output are based on outputs of the combination of control laws.

### Claim 6 (depends on 5)

The system of claim 5, wherein the combination of control laws include a plurality of control law parameters that are each varied in real time as the at least one object is moved.

### Claim 7 (depends on 6)

The system of claim 6, wherein, as the at least one object is moved along the trajectory, the plurality of control law parameters are varied by interpolating between way points defined in the trajectory.

### Claim 8 (depends on 1)

The system of claim 1, wherein the trajectory is modified each time the at least one force sensor and the at least one position sensor are sampled.

### Claim 9 (depends on 1)

The system of claim 1, wherein the at least one input source comprises at least one other sensor, a user input interface, and/or a computational model stored in the memory and executed by the processor.

### Claim 10 (depends on 9)

The system of claim 9, wherein the at least one other sensor is a pressure sensor configured to measure a pressure between the object and a portion of the environment, and wherein the at least one adaptive compensation adjustment parameter is configured to control the pressure.

### Claim 11

A method of moving at least one object comprising:
receiving, by a controller comprising a processor, actual forces associated with the at least one object in a first coordinate system, the actual forces being measured by at least one force sensor positioned on the at least one object;
receiving, by the controller, an actual position associated with the at least one object in a second coordinate system, the actual position being measured by at least one position sensor positioned on the at least one object;
receiving, by the controller, a measurement of the at least one other parameter of the system from at least one input source, wherein the input source receives a manual input of, calculates, or measures the measurement of the at least one other parameter of the system;
retrieving, by the controller, desired forces to be associated with the at least one object, wherein the desired forces are input into the system in the first coordinate system;
retrieving, by the controller, a desired position to be associated with the at least one object, wherein the desired position is input into the system in the second coordinate system;
retrieving, by the controller, a trajectory of the at least one object based on the desired forces and the desired position;
establishing, by the controller, a common reference frame for the actual forces, the actual position, the desired forces, and the desired position;
transforming, by the controller, the actual forces, the actual position, the desired forces, and the desired position from the respective first coordinate system and second coordinate system to the common reference frame;
determining, by the controller, at least one adaptive compensation adjustment parameter based on the measurement of the at least one other parameter of the system;
determining, by the controller, a force control output based on the difference between the actual force and the desired force and the at least one adaptive compensation adjustment parameter;
determining, by the controller, a position control output based on the difference between the actual position and the desired position and the at least one adaptive compensation adjustment parameter;
determining, by the controller, a hybrid weighting value based on an amount of position control required for the at least one object to reach the desired position at the desired forces at a future time and an amount of force control required for the at least one object to reach the desired position at the desired forces at the future time, wherein the hybrid weighting value is variable in time based on at least one control variable;
determining, by the controller, a change in position and a change in forces associated with the at least one object based on the hybrid weighting value, the force control output, and the position control output;
modifying, by the controller, the trajectory of the at least one object based on the change in position and the change in forces associated with the at least one object; and
moving, by a robotic system associated with the controller, the at least one object based on the modified trajectory.

### Claim 12 (depends on 11)

The method of claim 11, wherein the at least one object is at least one of a tool within the robotic system and a base within the robotic system.

### Claim 13 (depends on 11)

The method of claim 11, wherein the at least one object is at least one of a rigid body and a deformable body.

### Claim 14 (depends on 11)

The method of claim 11, wherein the measuring the actual forces associated with the at least one object further comprises the actual forces being applied by, to, from, or with the at least one object.

### Claim 15 (depends on 11)

The method of claim 11, wherein the determining the hybrid weighting value further comprises a user or a control loop inputting the amount of position control required for the at least one object to reach the desired position at the desired forces at a future time and the amount of force control required for the at least one object to reach the desired position at the desired forces at the future time into the controller.

### Claim 16 (depends on 11)

The method of claim 11, wherein the determining the force control output and the position control output further comprises:
comparing the actual forces and the desired forces using a combination of control laws, wherein the combination of control laws includes a partially non-linear proportional-integral-derivative controller, a feedforward controller, and a deadband controller; and
comparing the actual position and the desired position using a combination of control laws, wherein the combination of control laws includes a partially non-linear proportional-integral-derivative controller, a feedforward controller, and a deadband controller.

### Claim 17 (depends on 16)

The method of claim 16, wherein the control laws have a plurality of control law a parameters that are varied in time as the at least one object is moved.

### Claim 18 (depends on 17)

The method of claim 17, wherein, as the object is moved along the trajectory, the plurality of control law parameters are varied in time by interpolating between way points defined in the trajectory.

### Claim 19 (depends on 16)

The method of claim 16, wherein at least one actuator moves a component associated with the at least one object based on another hybrid weighting value, an actuator force control output, and an actuator position control output.

### Claim 20 (depends on 11)

The method of claim 11, wherein the modifying the trajectory further comprises:
querying the at least one force sensor and the at least one position sensor at a sampling frequency; and
modifying the trajectory at the sampling frequency.
