IP Library Granted Patent US 9,486,918
Granted Patent B1
US 9,486,918 · App. 14/207,519 · Granted Nov 8, 2016

System and method for quick scripting of tasks for autonomous robotic manipulation

Inventors: Darren J. Earl (Los Angeles, CA); Derek W. Mitchell (Calabasas, CA); Heiko Hoffmann (Simi Valley, CA)
Assignee: HRL Laboratories, LLC
B25J9/163
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 9,486,918
App. No.
14/207,519
Granted
Nov 8, 2016
Kind
B1
Abstract

Described is a system for a system for autonomous robotic manipulation. The system is configured to receiving a selected task from a task file library. The task is associated with causing a robot end effector to perform an action with a particular item, such as picking up an item. The selected task is transformed into a state machine. Thereafter, the system executes the state machine and, in doing so, causes the robot end effector to perform the selected task.

Claims (60)

1. A system for autonomous robotic manipulation, the system comprising:

one or more processors and a memory, the memory having executable instructions encoded thereon, such that upon execution of the instructions, the one or more processors perform operations of:

learning one or more movement primitives by recording both movement and force applications from human demonstration of a robot end effector, each movement primitive being a path command;

converting the movement primitive representing both movement and force applications into a differential equation;

receiving a selected task from a task file library, the selected task being associated with causing the robot end effector to perform an action with a particular item;

transforming the selected task into a state machine; and

executing the state machine and, in doing so, causing the robot end effector to perform the selected task.

2. The system as set forth in claim 1 , wherein executing the state machine further comprises operations of:

selecting goals to accomplish the selected task;

integrating perception data into a world model, the world model reflecting a position of the robot end effector in relation to the particular item;

selecting path commands to be executed by an Arm Control Module, with the Arm Control Module executing the path commands to control the robot end effector;

receiving feedback from sensors regarding the robot end effector;

modifying the path commands based on the feedback; and

executing and modifying the path commands until completion of the selected task.

3. The system as set forth in claim 2 , wherein in executing and modifying the path commands, the path commands are modified based on gravity-compensation torques and movement torques, with the gravity-compensation torques being added to the movement torques, with the movement torques combining path following and obstacle avoidance.

4. The system as set forth in claim 3 , wherein path following is implemented as a proportional-derivative (PD) controller, and obstacle avoidance is represented as a vector field dependent on position of the robot end effector.

5. The system as set forth in claim 1 , wherein for each movement primitive, the system learns from human demonstration a nominal behavior in task space and confidence boundaries to monitor task progress.

6. The system as set forth in claim 1 , wherein before executing the state machine to perform the selected task, the system tests alternative movement primitives against collisions with objects and selects the movement primitive with largest clearance from obstacles.

7. The system as set forth in claim 1 , wherein in transforming the selected task into a state machine, the system performs operations of:

compiling a text file that defines the state machine and conditions by which the state machine progresses, wherein each text file is organized to list states individually along with properties of actions specified in each state as well as the conditions for completion and a pointer to a next state; and

sorting the states and building the state machine to suit the selected task.

8. A computer program product for autonomous robotic manipulation, the computer program product comprising:

a non-transitory computer-readable medium having executable instructions encoded thereon, such that upon execution of the instructions by one or more processors, the one or more processors perform operations of:

learning one or more movement primitives by recording both movement and force applications from human demonstration of a robot end effector, each movement primitive being a path command;

converting the movement primitive representing both movement and force applications into a differential equation;

receiving a selected task from a task file library, the selected task being associated with causing the robot end effector to perform an action with a particular item;

transforming the selected task into a state machine; and

executing the state machine and, in doing so, causing the robot end effector to perform the selected task.

9. The computer program product as set forth in claim 8 , wherein executing the state machine further comprises operations of:

selecting goals to accomplish the selected task;

integrating perception data into a world model, the world model reflecting a position of the robot end effector in relation to the particular item;

selecting path commands to be executed by an Arm Control Module, with the Arm Control Module executing the path commands to control the robot end effector;

receiving feedback from sensors regarding the robot end effector;

modifying the path commands based on the feedback; and

executing and modifying the path commands until completion of the selected task.

10. The computer program product as set forth in claim 9 , wherein in executing and modifying the path commands, the path commands are modified based on gravity-compensation torques and movement torques, with the gravity-compensation torques being added to the movement torques, with the movement torques combining path following and obstacle avoidance.

11. The computer program product as set forth in claim 10 , wherein path following is implemented as a proportional-derivative (PD) controller, and obstacle avoidance is represented as a vector field dependent on position of the robot end effector.

12. The computer program product as set forth in claim 8 , wherein for each movement primitive, a nominal behavior in task space and confidence boundaries to monitor task progress are learned from human demonstration.

13. The computer program product as set forth in claim 8 , wherein before executing the state machine to perform the selected task, alternative movement primitives are tested against collisions with objects and the movement primitive with largest clearance from obstacles is selected.

14. The computer program product as set forth in claim 8 , wherein transforming the selected task into a state machine further comprises operations of:

compiling a text file that defines the state machine and conditions by which the state machine progresses, wherein each text file is organized to list states individually along with properties of actions specified in each state as well as the conditions for completion and a pointer to a next state; and

sorting the states and building the state machine to suit the selected task.

15. A computer implemented method for autonomous robotic manipulation, the method comprising an act of:

causing one or more processers to execute instructions encoded on a non-transitory computer-readable medium, such that upon execution, the one or more processors perform operations of:

learning one or more movement primitives by recording both movement and force applications from human demonstration of a robot end effector, each movement primitive being a path command;

converting the movement primitive representing both movement and force applications into a differential equation;

receiving a selected task from a task file library, the selected task being associated with causing the robot end effector to perform an action with a particular item;

transforming the selected task into a state machine; and

executing the state machine and, in doing so, causing the robot end effector to perform the selected task.

16. The method as set forth in claim 15 , wherein executing the state machine further comprises operations of:

selecting goals to accomplish the selected task;

integrating perception data into a world model, the world model reflecting a position of the robot end effector in relation to the particular item;

selecting path commands to be executed by an Arm Control Module, with the Arm Control Module executing the path commands to control the robot end effector;

receiving feedback from sensors regarding the robot end effector;

modifying the path commands based on the feedback; and

executing and modifying the path commands until completion of the selected task.

17. The method as set forth in claim 16 , wherein in executing and modifying the path commands, the path commands are modified based on gravity-compensation torques and movement torques, with the gravity-compensation torques being added to the movement torques, with the movement torques combining path following and obstacle avoidance.

18. The method as set forth in claim 17 , wherein path following is implemented as a proportional-derivative (PD) controller, and obstacle avoidance is represented as a vector field dependent on position of the robot end effector.

19. The method as set forth in claim 15 , wherein for each movement primitive, a nominal behavior in task space and confidence boundaries to monitor task progress are learned from human demonstration.

20. The method as set forth in claim 15 , wherein before executing the state machine to perform the selected task, alternative movement primitives are tested against collisions with objects and the movement primitive with largest clearance from obstacles is selected.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jul 2, 2014
From: HRL LABORATORIES, LLC
To: DARPA
Reel/Frame 033266/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2014
From: EARL, DARREN J.; MITCHELL, DEREK W.; HOFFMANN, HEIKO
To: HRL LABORATORIES, LLC
Reel/Frame 032863/0162 →
Continuity (1)
Provisional Application 61780903 · Mar 13, 2013