| 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 |

|
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.
|