# US 12,600,033 B1 · Dynamic system controller with online machine learning

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

- Number: US 12,600,033 B1
- Document ID: US12600033B1
- Status: Granted
- Kind: B1
- Application number: 19/310,237
- Filed: 2025-08-26
- Granted: 2026-04-14
- Earliest claimed: 2025-06-10
- Assignees: Sanctuary Cognitive Systems Corporation
- Applicants: Sanctuary Cognitive Systems Corporation
- Inventors: Javad Khodaei Mehr; Rodrigo Barbosa
- Web page: https://patentgrep.com/patent/US12600033B1

## CPC

- B25J 9/163: {learning, adaptive, model based, rule based expert control}
- B25J 9/14: fluid
- B25J 9/1633: {compliant, force, torque control, e.g. combined with position control}
- B25J 9/1689: {Teleoperation}
- B25J 15/10: with three or more finger members {(B25J15/0009 takes precedence)}
- 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})

## Abstract

A dynamic system controller includes a first error detection unit that determines a first error between a joint state and a joint state target. The joint state describes an actual state of a set of joints in a dynamic body. The set of joints has one or more degrees of freedom that are controlled by a set of actuators. An impedance controller generates an impedance torque or force based on the first error. A first neural network accepts the joint state target and outputs an estimated actuation force. A second error detection unit determines a second error between an actual actuation force applied to the set of joints by the set of actuators at the joint state and a combination of the impedance torque or force and the estimated actuation force. A force controller generates a set of actuation commands based on the second error.

## Claims

### Claim 1

A dynamic system controller comprising:
a first error detection point configured to determine and output a first error between a joint state and a joint state target, wherein the joint state describes an actual state of a set of joints in a dynamic body, the set of joints having one or more degrees of freedom that are controlled by a set of actuators;
an impedance controller having an impedance controller input and an impedance controller output, wherein the impedance controller input is coupled to the first error detection point to receive the first error, wherein the impedance controller is configured to generate and output an impedance torque or force based on the first error;
a summing point having a first summing input coupled to the impedance controller output to receive the impedance torque or force, wherein the summing point generates and outputs a reference force based at least in part on the impedance torque or force;
a second error detection point configured to determine and output a second error between the reference force and an actual actuation force applied to the set of joints by the set of actuators at the joint state; and
a force controller communicatively coupled to an actuator control that translates actuator commands to controls for the set of actuators, the force controller having a force controller input coupled to the second error detection point to receive the second error, wherein the force controller is configured to generate a set of actuation commands based on the second error and output the set of actuator commands to the actuator control.

### Claim 2 (depends on 1)

The dynamic system controller of claim 1, wherein the impedance controller is a proportional-integral-derivative controller.

### Claim 3 (depends on 1)

The dynamic system controller of claim 1, wherein the force controller is a proportional-integral-derivative controller.

### Claim 4 (depends on 1)

The dynamic system controller of claim 1, further comprising:
a feedforward estimation that receives the joint state target, the feedforward estimation comprising a first neural network that outputs an estimated actuation force to move the set of joints to the joint state target.

### Claim 5 (depends on 4)

The dynamic system controller of claim 4, wherein the summing point includes a second summing input coupled to an output of the first neural network to receive the estimated actuation force, and wherein the summing point generates the reference force based on the estimated actuation force and the impedance torque or force.

### Claim 6 (depends on 4)

The dynamic system controller of claim 4, further comprising:
a feedforward training that receives the joint state and the actual actuation force, the feedforward training comprising a second neural network that learns a policy based on the joint state and the actual actuation force.

### Claim 7 (depends on 6)

The dynamic system controller of claim 6, wherein the first neural network comprises first weights, wherein the second neural network comprises second weights, and wherein the first weights are initialized with the second weights.

### Claim 8 (depends on 7)

The dynamic system controller of claim 7, wherein the first and second neural networks are shallow neural networks.

### Claim 9 (depends on 6)

The dynamic system controller of claim 6, wherein the second neural network learns the policy under a condition in which external contact force is not applied to the dynamic body by an environment of the dynamic body.

### Claim 10 (depends on 1)

The dynamic system controller of claim 1, wherein the set of actuators is a set of fluid-powered actuators, wherein the actuator control comprises a set of valves that control fluid communication with the set of actuators, and further comprising a feedback force calculation that receives a set of pressure readings from the set of valves that control fluid communication with the set of actuators and determines and outputs the actual actuation force based on the set of pressure readings.

### Claim 11 (depends on 10)

The dynamic system controller of claim 10, wherein the set of actuation commands comprises a set of fluid flow rates.

### Claim 12 (depends on 1)

The dynamic system controller of claim 1, further comprising a contact force estimation that receives the joint state and the impedance torque or force and determines and outputs an external contact force on the dynamic body based on the joint state and impedance torque or force.

### Claim 13

A method of dynamic system control, the method comprising:
determining a first error between a joint state and a joint state target, wherein the joint state describes an actual state of a set of joints in a dynamic body, the set of joints having one or more degrees of freedom that are controlled by a set of actuators;
applying the first error to an input of an impedance controller to output from the impedance controller an impedance torque or force based on the first error;
generating a reference force based at least in part on the impedance torque or force;
determining an actual actuation force applied to the set of joints by the set of actuators at the joint state;
determining a second error between the reference force and the actual actuation force;
applying the second error to an input of a force controller to output from the force controller a set of actuation commands; and
outputting the set of actuator commands to an actuator control, wherein the actuator control translates the set of actuator commands to controls for the set of actuators.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
applying the joint state target to an input of a first neural network to obtain an estimated actuation force to move the set of joints to the joint state target;
wherein generating a reference force based at least in part on the impedance torque or force comprises applying the estimated actuation force and the impedance torque or force to a summing point to obtain the reference force.

### Claim 15 (depends on 14)

The method of claim 14, further comprising generating controls for the set of actuators based on the set of actuation commands.

### Claim 16 (depends on 14)

The method of claim 14, further comprising, prior to applying the joint state target to the input of the first neural network to obtain the estimated actuation force, initializing first weights of the first neural network with second weights of a second neural network trained to learn a policy from joint states and corresponding actual actuation forces.

### Claim 17 (depends on 13)

The method of claim 13, wherein determining the actual actuation force comprises:
receiving a set of pressure readings from a set of valves of the actuator control that controls fluid communication with the set of actuators; and
determining the actual actuation force based on the set of pressure readings.

### Claim 18 (depends on 17)

The method of claim 17, wherein the set of actuation commands outputted by the force controller comprises a set of fluid flow rates, and wherein the actuator control translates the set of fluid flow rates into a set of valve commands for the set of valves.

### Claim 19 (depends on 13)

The method of claim 13, further comprising estimating a contact force on the dynamic body based on the joint state and the impedance torque or force.

### Claim 20 (depends on 19)

The method of claim 19, wherein the dynamic body is an end effector, and further comprising:
generating a control for the end effector based at least in part on the estimated contact force on the dynamic body; and
transmitting the control for the end effector to a machine learning system or a teleoperation system.
