US 12,343,876 B2
System and method for controlling a robot using constrained dynamic movement primitives
Devesh Jha, Cambridge, MA (US); Seiji Shaw, Providence, AL (US); Arvind Raghunathan, Medford, AL (US); Radu Ioan Corcodel, Quincy, AL (US); Diego Romeres, Boston, AL (US); and Daniel Nikovski, Brookline, AL (US)
Assigned to Mitsubishi Electric Research Laboratories, Inc., Cambridge, MA (US)
Filed by Mitsubishi Electric Research Laboratories, Inc., Cambridge, MA (US)
Filed on Sep. 14, 2022, as Appl. No. 17/931,954.
Prior Publication US 2024/0083029 A1, Mar. 14, 2024
Int. Cl. B25J 9/16 (2006.01)
CPC B25J 9/1666 (2013.01) [B25J 9/161 (2013.01); B25J 9/163 (2013.01); G05B 2219/39244 (2013.01); G05B 2219/40116 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method of controlling a robot for executing a task, wherein the method uses a processor coupled to memory storing a set of dynamic movement primitives (DMPs) parameterized for the task, wherein the set of DMPs comprise a set of at least two dynamical systems, the set of the at least two dynamical systems comprising at least: a function representing point attractor dynamics associated with the task and a learned forcing function encoding motion characteristics from a demonstration of the task, the processor is coupled with stored instructions which when executed by the processor carry out steps of the method, comprising:
obtaining the set of DMPs associated with the task;
transforming, the obtained set of DMPs to a set of constrained DMPs (CDMPs) by defining a perturbation function that modifies the learned forcing function based on a set of operational constraints that need to be satisfied for performance of the task;
solving, a non-linear optimization problem to determine the perturbation function for the set of CDMPs such that the learned forcing function is adjusted minimally while satisfying the set of operational constraints; and
generating, a control input causing the robot to execute the task, wherein the control input is computed based on the modified forcing function incorporating the perturbation function determined by the optimization problem.