Patent ID: 9694495
Date: 2017-07-04
CPC Classifications: B25J,G05B,Y10S

Claim:
1. A method, comprising: prior to performance of a task comprising a plurality of subtasks by a robotic device, defining the task, wherein defining the task comprises: receiving, at a computing device, movement information for the plurality of subtasks to be performed by a manipulator of the robotic device, wherein subtasks of the plurality of subtasks represent motions of the manipulator in response to external forces applied to the manipulator, wherein the movement information indicates paths to be followed by the manipulator while the robotic device is performing the subtasks and input forces to be experienced by the manipulator when following the paths, and wherein the movement information is defined by way of a virtual toolbox that simulates aspects of the manipulator; determining, by the computing device, task information for the plurality of subtasks, wherein the task information includes output forces to be exerted by the manipulator at points along a trajectory, wherein the output forces are based on the input forces, and a trajectory to be followed by the manipulator, wherein the trajectory comprises a combination of paths corresponding to the plurality of subtasks; determining, based on the task information, torques to be applied over time to the manipulator via an actuator of a joint coupled to the robotic device; performing the task by the robotic device, wherein performing the task comprises causing the torques to be applied to the manipulator via the actuator of the joint in accordance with the plurality of subtasks so as to cause the manipulator to follow the trajectory and exert the output forces along the trajectory, wherein performing the task comprises evaluating the task as defined; and automatically revising the task information based on the evaluation of the task as defined, wherein revising the task information results in adjusting the torques to be applied to the manipulator based on feedback information indicative of how closely the robot follows the trajectory and exerts the output forces along the trajectory while performing the plurality of subtasks.