Techniques for controlling movement of a machine
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.
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.