IP Library Granted Patent US 12686118
Granted Patent B2
US 12686118 · App. 18/315,413 · Granted Jul 21, 2026

Techniques for controlling movement of a machine

Inventors: Lorenzo Mambretti (Kitchener, CA); Francesco Iorio (Toronto, CA); Massimiliano Moruzzi (Rockford, IL)
Assignee: XABA INC.
B25J9/1605B25J9/163B25J9/1664B25J19/022B25J13/089
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12686118
App. No.
18/315,413
Granted
Jul 21, 2026
Kind
B2
Abstract

A computer-implemented method for controlling a machine includes: determining a first state for the machine based on a kinematics model of the machine and a target roto-translation for an end effector associated with the machine; determining, using a forward-kinematics machine-learning model, a difference between the target roto-translation of the end effector and a first roto-translation of the end effector when the machine is in the first state; based on the difference between the target roto-translation and the first roto-translation, determining a second state for the machine; and outputting a control input for one or more actuators that causes the machine enter into the second state.

Claims (43)

1 . A computer-implemented method for controlling a machine, the method comprising:

iteratively determining a proposed state for the machine, comprising:

determining a candidate state for the machine based on a kinematics model of the machine and a target roto-translation of an end effector associated with the machine;

determining, using a forward-kinematics machine-learning model, a difference between the target roto-translation of the end effector and a candidate roto-translation of the end effector when the machine is in the candidate state, wherein the difference is based on at least one of a load that is applied to an axis of the machine or an environmental factor that affects a kinematic behavior of the machine;

when the difference between the target roto-translation and the candidate roto-translation exceeds a threshold convergence value, determining a second state for the machine for evaluation as the candidate state; and

when the difference between the target roto-translation and the candidate roto-translation does not exceed the threshold convergence value, selecting the candidate state as the proposed state; and

outputting a control input for one or more actuators that causes the machine to enter into the proposed state.

2 . The computer-implemented method of claim 1 , wherein a difference between the target roto-translation of the end effector and a proposed roto-translation of the end effector when the machine is in the proposed state is less than the difference between the target roto-translation of the end effector and the candidate roto-translation.

3 . The computer-implemented method of claim 1 , wherein the proposed state for the machine includes a state value for each actuator associated with the machine.

4 . The computer-implemented method of claim 3 , wherein the state value for each actuator comprises either a rotation value or a translation value.

5 . The computer-implemented method of claim 1 , wherein the target roto-translation comprises a target position of the end effector relative to a base of the machine and a target orientation of the end effector relative to the base.

6 . The computer-implemented method of claim 1 , wherein the kinematics model of the machine is based on an ideal representation of kinematic behavior of the machine.

7 . The computer-implemented method of claim 6 , wherein the ideal representation of the kinematic behavior of the machine includes an ideal kinematic chain from a base of the machine to the end effector.

8 . The computer-implemented method of claim 1 , wherein determining the proposed state for the machine is further based on an initial state for the machine that is determined prior to determining the proposed state for the machine.

9 . The computer-implemented method of claim 8 , wherein determining the initial state for the machine comprises:

determining the initial state for the machine based on the kinematics model of the machine and the target roto-translation of the end effector; and

determining, using the forward-kinematics machine-learning model, a difference between the target roto-translation of the end effector and an initial roto-translation of the end effector when the machine is in the initial state.

10 . The computer-implemented method of claim 9 , further comprising determining that the difference between the target roto-translation of the end effector and the initial roto-translation is greater than the threshold convergence value.

11 . The computer-implemented method of claim 9 , wherein the proposed state for the machine is further based on the difference between the target roto-translation of the end effector and the initial roto-translation.

12 . One or more non-transitory computer readable media including a set of instructions that, in response to execution by one or more processors of a computer system, cause the one or more processors to control a machine by performing the steps of:

iteratively determining a proposed state for the machine, comprising:

determining a candidate state for the machine based on a kinematics model of the machine and a target roto-translation of an end effector associated with the machine;

determining, using a forward-kinematics machine-learning model, a difference between the target roto-translation of the end effector and a candidate roto-translation of the end effector when the machine is in the candidate state, wherein the difference is based on at least one of a load that is applied to an axis of the machine or an environmental factor that affects a kinematic behavior of the machine;

when the difference between the target roto-translation and the candidate roto-translation exceeds a threshold convergence value, determining a second state for the machine for evaluation as the candidate state; and

when the difference between the target roto-translation and the candidate roto-translation does not exceed the threshold convergence value, selecting the candidate state as the proposed state; and

outputting a control input for one or more actuators that causes the machine to enter into the proposed state.

13 . The one or more non-transitory computer readable media of claim 12 , wherein a difference between the target roto-translation of the end effector and a proposed roto-translation of the end effector when the machine is in the proposed state is less than the difference between the target roto-translation of the end effector and the candidate roto-translation.

14 . The one or more non-transitory computer readable media of claim 12 , wherein the proposed state for the machine includes a state value for each actuator associated with the machine.

15 . The one or more non-transitory computer readable media of claim 14 , wherein the state value for each actuator comprises either a rotation value or a translation value.

16 . The one or more non-transitory computer readable media of claim 12 , wherein the target roto-translation comprises a target position of the end effector relative to a base of the machine and a target orientation of the end effector relative to the base.

17 . The one or more non-transitory computer readable media of claim 12 , wherein the kinematics model of the machine is based on an ideal representation of kinematic behavior of the machine.

18 . The one or more non-transitory computer readable media of claim 17 , wherein the ideal representation of the kinematic behavior of the machine includes an ideal kinematic chain from a base of the machine to the end effector.

19 . A system, comprising:

one or more actuators that move one or more movable parts;

a memory storing instructions, and

one or more processors that execute the instructions to control a machine that includes the one or more actuators by performing steps comprising:

iteratively determining a proposed state for the machine, comprising:

determining a candidate state for the machine based on a kinematics model of the machine and a target roto-translation of an end effector associated with the machine;

determining, using a forward-kinematics machine-learning model, a difference between the target roto-translation of the end effector and a candidate roto-translation of the end effector when the machine is in the candidate state, wherein the difference is based on at least one of a load that is applied to an axis of the machine or an environmental factor that affects a kinematic behavior of the machine;

when the difference between the target roto-translation and the candidate roto-translation exceeds a threshold convergence value, determining a second state for the machine for evaluation as the candidate state; and

when the difference between the target roto-translation and the candidate roto-translation does not exceed the threshold convergence value, selecting the candidate state as the proposed state; and

outputting a control input for one or more actuators that causes the machine to enter into the proposed state.

20 . The computer-implemented method of claim 1 , wherein the environmental factor comprises one of an ambient temperature, an atmospheric pressure, or an atmospheric humidity.