IP Library Granted Patent US 12,202,142
Granted Patent B2
US 12,202,142 · App. 18/420,203 · Granted Jan 21, 2025

Systems, apparatuses, and methods for robotic learning and execution of skills including navigation and manipulation functions

Inventors: Andrea Lockerd Thomaz (Austin, TX); Vivian Yaw-Wen Chu (Austin, TX); Peter Worsnop (Bethesda, MD); Reymundo Gutierrez (Round Rock, TX); Lauren Hutson (Austin, TX); Shuai Li (Sammamish, WA); Anjana Nellithimaru (Austin, TX); Frank Mathis (Austin, TX)
Assignee: Diligent Robotics, Inc.
B25J9/163B25J9/162B25J9/1666B25J9/1676B25J19/021
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 12,202,142
App. No.
18/420,203
Granted
Jan 21, 2025
Kind
B2
Abstract

Systems, apparatus, and methods are described for robotic learning and execution of skills. A robotic apparatus can include a memory, a processor, sensors, and one or more movable components (e.g., a manipulating element and/or a transport element). The processor can be operatively coupled to the memory, the movable elements, and the sensors, and configured to obtain information of an environment, including one or more objects located within the environment. In some embodiments, the processor can be configured to learn skills through demonstration, exploration, user inputs, etc. In some embodiments, the processor can be configured to execute skills and/or arbitrate between different behaviors and/or actions. In some embodiments, the processor can be configured to execute skills and/or behaviors using cached trajectories or plans. In some embodiments, the processor can be configured to execute skills requiring navigation and manipulation behaviors.

Claims (86)

1. A robotic device, comprising:

a base supported on a transport element;

a manipulating element coupled to the base and including an end effector;

a set of sensors; and

a memory storing a plan cache including a plurality of plans for executing a skill, each plan from the plurality of plans being associated with a starting pose of the base and the end effector relative to a physical object in an environment near the robotic device;

a processor operatively coupled to the base, the manipulating element, the set of sensors, and the memory, the processor configured to:

scan, using at least one sensor from the set of sensors, the environment near the robotic device;

identify, based on the scan of the environment near the robotic device, a location of the physical object in the environment near the robotic device;

determine a current pose of the base and the end effector relative to the location of the physical object;

select a first plan from the plurality of plans having a first starting pose of the base and the end effector that is substantially the same as the current pose of the base and the end effector;

execute the first plan;

in response to determining that the skill has not been successfully executed,

select a second plan from the plan cache based on the current pose of the base and the end effector, the second plan having a second starting pose of the base and the end effector that is different from the first starting pose; and

execute the second plan.

2. The robotic device of claim 1 , wherein the processor is further configured to:

move the base and the end effector to a different pose relative to the location of the physical object; and

determine the current pose of the base and the end effector when the base and the end effector is in the different pose,

the processor configured to select the second plan after determining the current pose of the base and the end effector when the base and the end effector is in the different pose.

3. The robotic device of claim 1 , wherein the processor is further configured to:

detect a collision with an obstacle during the execution of the first plan; and

in response to detecting the collision, terminate the execution of the first plan and move the end effector back into a predefined safe position.

4. The robotic device of claim 3 , wherein the processor is configured to select the second plan from the plan cache for triggering executing the skill that avoids the collision with the obstacle.

5. The robotic device of claim 4 , wherein the processor is further configured to generate the second plan based on parameters associated with the obstacle.

6. The robotic device of claim 4 , wherein the processor is further configured to select a second plan from the plurality of plans that avoids the collision with the obstacle.

7. The robotic device of claim 3 , wherein the processor is configured to obtain information of the obstacle by retrieving information of objects near at least one of a marker associated with the physical object or the physical object from a map of the environment stored in the memory.

8. The robotic device of claim 1 , wherein the processor is further configured to:

detect a collision with an obstacle during the execution of the second plan;

in response to detecting the collision, terminate the execution of the second plan and move the end effector back into a predefined safe position; and

generate a modified plan for triggering executing the skill that avoids the collision with the obstacle.

9. The robotic device of claim 1 , wherein the physical object includes at least one of surfaces, walls, doors, equipment, supplies, instruments, tools, furniture, or humans.

10. A robotic device, comprising:

a base supported on a transport element;

a manipulating element coupled to the base and including an end effector;

a set of sensors; and

a memory storing a plan cache including a plurality of plans for executing a skill, each plan from the plurality of plans being associated with a starting pose of the base and the end effector relative to a physical object in an environment near the robotic device;

a processor operatively coupled to the base, the manipulating element, the set of sensors, and the memory, the processor configured to:

scan, using at least one sensor from the set of sensors, the environment near the robotic device;

identify, based on the scan of the environment near the robotic device, a location of the physical object in the environment near the robotic device;

determine a current pose of the base and the end effector relative to the location of the physical object;

select a first plan from the plurality of plans having a starting pose of the base and the end effector that is substantially the same as the current pose of the base and the end effector;

execute the first plan;

in response to detecting a collision with an obstacle during the execution of the first plan, terminate the execution of the first plan and move the end effector into a predefined safe position; and

execute a second plan that avoids the collision with the obstacle.

11. The robotic device of claim 10 , wherein the processor is configured to select the second plan from the plan cache for triggering executing the skill that avoids the collision with the obstacle.

12. The robotic device of claim 10 , wherein the processor is further configured to generate the second plan based on parameters associated with the obstacle.

13. The robotic device of claim 10 , wherein the processor is further configured to:

move the base and the end effector to a different pose relative to the location of the physical object; and

determine the current pose of the base and the end effector when the base and the end effector is in the different pose,

the processor configured to select the second plan after determining the current pose of the base and the end effector when the base and the end effector is in the different pose.

14. The robotic device of claim 10 , wherein the processor is configured to obtain information of the obstacle by retrieving information of objects near at least one of a marker associated with the physical object or the physical object from a map of the environment stored in the memory.

15. The robotic device of claim 10 , wherein the physical object includes at least one of surfaces, walls, doors, equipment, supplies, instruments, tools, furniture, or humans.

16. A robotic device, comprising:

a memory;

a base supported on a transport element;

a manipulating element coupled to the base and including an end effector;

a set of one or more sensors; and

a processor operatively coupled to the memory, the base, the manipulating element, and the set of sensors, the processor configured to:

in response to receiving a first user input indicating a starting pose for executing a skill, register the starting pose of the base and the end effector relative to a physical object in an environment;

obtain, using the set of sensors and during a demonstration of a manipulation required to execute the skill, sensor data at a plurality of keyframes of the demonstration;

in response to receiving a second user input indicating a target pose for interacting with the physical object to execute the skill, register the target pose of the end effector relative to the physical object;

generate a plan for executing the skill based at least in part on the starting pose, the sensor data collected at the plurality of keyframes, and the target pose;

identify a plurality of additional starting poses for executing the skill;

generate a plurality of additional plans for executing the skill based at least in part on the plurality of additional starting poses, the sensor data collected at the plurality of keyframes, and the target pose; and

store the plan and the plurality of additional plans for executing the skill as a plan cache in the memory.

17. The robotic device of claim 16 , wherein the physical object is a first physical object, the processor is further configured to:

detect, using at least one sensor from the set of sensors, a second physical object;

determine to execute the skill; and

select, based on a pose of the base and the end effector relative to the second physical object, a specific plan from the plan cache to execute to interact with the second physical object to execute the skill.

18. The robotic device of claim 17 , wherein the processor is further configured to:

scan, using at least one sensor of the set of sensors, the environment near the robotic device; and

identify, based on the scan of the environment, a location of the physical object,

the processor being configured to register the starting pose of the base and the end effector relative to the physical object based at least in part on a position of the physical object relative to the base.

19. The robotic device of claim 17 , wherein the processor is further configured to:

obtain information of an obstacle in an environment near the second physical object;

determine whether executing the specific plan would cause a collision between the robotic device and the obstacle; and

in response to determining that executing the specific plan would cause a collision, generate a modified plan for executing the skill.

20. The robotic device of claim 19 , wherein the processor is configured to obtain information of the obstacle by retrieving information of objects near at least one of a marker associated with the second physical object or the second physical object from a map of the environment stored in the memory.

21. The robotic device of claim 17 , wherein the processor is further configured to:

determine whether executing the specific plan corresponding to the second physical object would result in successful execution of the skill;

in response to determining that the specific plan would result in successful execution of the skill, execute the specific plan.

22. The robotic device of claim 21 , wherein the processor is further configured to:

in response to determining that the specific plan would not result in successful execution of the skill, generate a modified plan for executing the skill.

23. The robotic device of claim 16 , wherein the processor is further configured to:

in response to determining that the execution of the specific plan corresponding to the second physical object did not result in successful execution of the skill, select a different plan from the plan cache; and

execute the different plan.

24. The robotic device of claim 16 , wherein the physical object includes at least one of surfaces, walls, doors, equipment, supplies, instruments, tools, furniture, or humans.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2024
From: THOMAZ, ANDREA LOCKERD; CHU, VIVIAN YAW-WEN; WORSNOP, PETER; GUTIERREZ, REYMUNDO; HUTSON, LAUREN; LI, SHUAI; NELLITHIMARU, ANJANA; MATHIS, FRANK
To: DILIGENT ROBOTICS, INC.
Reel/Frame 067144/0497 →
Continuity (5)
Continuation 18446040 · Aug 8, 2023
Continuation PCTUS2022015710 · Feb 8, 2022
Provisional Application 63211999 · Jun 17, 2021
Provisional Application 63147124 · Feb 8, 2021
Related Publication 20240157552A1 · May 16, 2024
References Cited (69)
US 9718188B2 · Stubbs et al. · 2017 [cited by applicant]
US 9802317B1 · Watts et al. · 2017 [cited by applicant]
US 9880561B2 · Russell · 2018 [cited by applicant]
US 9919232B2 · Tappeiner et al. · 2018 [cited by applicant]
US 9926138B1 · Brazeau et al. · 2018 [cited by applicant]
US 10571896B2 · Benaim et al. · 2020 [cited by applicant]
US 10834419B2 · Joshi et al. · 2020 [cited by applicant]
US 10836183B2 · Kajio et al. · 2020 [cited by applicant]
US 11148288B2 · Chu et al. · 2021 [cited by applicant]
US 11298825B2 · Chu et al. · 2022 [cited by applicant]
US 11833684B2 · Chu et al. · 2023 [cited by applicant]
US 20030120391A1 · Saito · 2003 [cited by applicant]
US 20120185096A1 · Rosenstein · 2012 [cited by examiner]
US 20130245824A1 · Barajas et al. · 2013 [cited by applicant]
US 20140163730A1 · Mian · 2014 [cited by applicant]
US 20160129592A1 · Saboo et al. · 2016 [cited by applicant]
US 20160257000A1 · Guerin et al. · 2016 [cited by applicant]
US 20170232613A1 · Ponulak et al. · 2017 [cited by applicant]
US 20170343992A1 · Benaim et al. · 2017 [cited by applicant]
US 20170357270A1 · Russell · 2017 [cited by applicant]
US 20200070343A1 · Thomaz et al. · 2020 [cited by applicant]
US 20210339399A1 · Schluntz et al. · 2021 [cited by applicant]
US 20210379758A1 · Chu et al. · 2021 [cited by applicant]
US 20220032458A1 · Chu et al. · 2022 [cited by applicant]
US 20220371193A1 · Chu et al. · 2022 [cited by applicant]
US 20230381959A1 · Thomaz et al. · 2023 [cited by applicant]
FR 2898824A1 · 2007 [cited by applicant]
JP 2003256025A · 2003 [cited by applicant]
JP 2003271975A · 2003 [cited by applicant]
JP 2004049731A · 2004 [cited by applicant]
JP 2005131713A · 2005 [cited by applicant]
JP 2013193202A · 2013 [cited by applicant]
JP 2016103277A · 2016 [cited by applicant]
JP 2016146188A · 2016 [cited by applicant]
WO WO2004106009A1 · 2004 [cited by applicant]
WO WO2006013829A1 · 2006 [cited by applicant]
WO WO2018156952A1 · 2018 [cited by applicant]
WO WO2020047120A1 · 2020 [cited by applicant]
WO WO2022170279A1 · 2022 [cited by applicant]
Ahmadzadeh et al., “Visuospatial skill learning for object reconfiguration tasks”. 2014, IEEE, p. 685-691. [cited by applicant]
Akgun et al., “Simultaneously learning actions and goals from demonstration,” Feb. 2016, vol. 40, Issue 2, pp. 211-227. [cited by applicant]
Akgun et al., “Trajectories and keyframes for kinesthetic teaching: a human-robot interaction perspective,” Proceedings of the 7th Annual ACM/IEEE International Conference on Human-Robot Interaction (2012), pp. 391-398. [cited by applicant]
Arduengo, et al., “Robust and Adaptive Door Operation with a Mobile Manipulator Robot”, Arxiv.Org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Feb. 25, 2019, 15 pages. [cited by applicant]
Chu et al., “Learning Haptic Affordances from Demonstration and Human-Guided Exploration,” IEEE Haptics Symposium (HAPTICS), Philadelphia, PA, 2016, pp. 119-125. [cited by applicant]
Cosgun et al., “Context-aware robot navigation using interactively built semantic maps,” Paladyn, J. Behav. Robot, 2018, 23 pages. [cited by applicant]
Dang et al., “Robot learning of everyday object manipulations via human demonstration”, IEEE (2010); pp. 1284-1289. [cited by applicant]
Green et al., “Designing for Learnability in Human-Robot Communication,” IEEE Transactions on Industrial Electronics, Aug. 2003, vol. 50, No. 4, p. 644-650. [cited by applicant]
Hart et al., “Learning Generalizable Control Programs,” 2011, IEEE Transactions on Autonomous Mental Development, Sep. 2011, vol. 3, No. 3, p. 216-231. [cited by applicant]
Holz et al., “A skill-based system for object perception and manipulation for automating kitting tasks,” IEEE, 2015, 9 pages. [cited by applicant]
Huang et al., “A virtual demonstrator environment for robot imitation learning”, IEEE, 2015, pp. 1-6. [cited by applicant]
International Preliminary Report on Patentability issued on Aug. 3, 2023 in PCT/US2022/015710, 10 pgs. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/015710, mailed on May 31, 2022, 15 pages. [cited by applicant]
International Search Report and Written Opinion mailed Feb. 5, 2020, for International Application No. PCT/US2019/048601, 18 pages. [cited by applicant]
International Search Report and Written Opinion mailed May 15, 2018, for International Application No. PCT/US2018/019520, 10 pages. [cited by applicant]
Kurenkov et al., “An Evaluation of GUI and Kinesthetic Teaching Methods for Constrained-Keyframe Skills,” IEEE/RSJ International Conference on Intelligent Robots and Systems, Sep. 28-Oct. 2, 2015, pp. 3608-3613. [cited by applicant]
Lallee et al., “Towards a Platform-Independent Cooperative Human Robot Interaction System: III an Architecture for Learning and Executing Actions and Shared Plans”, IEEE, 2012, p. 329. [cited by applicant]
Liu, et al., “Learning Articulated Constraints From a One-Shot Demonstration for Robot Manipulation Planning”, IEEE Access, vol. 7, Nov. 18, 2019, pp. 172584-172596. [cited by applicant]
Nassal, “An approach to motion planning for mobile manipulation,” IEEE, 1994, p. 831-838. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 18/446,040 dated Oct. 12, 2023, 11 pages. [cited by applicant]
Pairet, et al., “Learning and Generalisation of Primitives Skills Towards Robust Dual-arm Manipulation”, Arxiv.Org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Apr. 2, 2019, 8 pages. [cited by applicant]
Pardowitz, M., et al., “Incremental Learning of Tasks From User Demonstrations, Past Experiences, and Vocal Comments,” IEEE Transactions on Systems, Man, and Cybernetics—Part B: Cybernetics, Apr. 2007, vol. 37, No. 2, p… [cited by applicant]
Savarimuthu, T.R., et al., “Teaching a Robot the Semantics of Assembly Tasks,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, May 2018, vol. 48, No. 5, pp. 670-692. [cited by applicant]
Sucan et al., “Combining planning techniques for manipulation using realtime perception,” 2010, IEEE, 7 pages. [cited by applicant]
Vernon, D., et al., “A Survey of Artificial Cognitive Systems: Implications for the Autonomous Development of Mental Capabilities in Computational Agents,” IEEE Transactions on Evolutionary Computation, Apr. 2007, vol. … [cited by applicant]
Wächter, M., et al., “Action & sequence reproduction based on automatic segmentation and Object-Action Complexes,” 13th IEEE-RAS International Conference on Humanoid Robots (Humanoids), 2013, pp. 189-195. [cited by applicant]
Welschehold, Tim et al., “Learning mobile manipulation actions from human demonstrations”, 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, Sep. 24, 2017, pp. 3196-3201. [cited by applicant]
Weser et al., “Autonomous planning for mobile manipulation services based on multi-level robot skills,” IEEE, 2009, 1999-2004. [cited by applicant]
Bannat A., et al., Artificial Cognition in Production Systems, 2010, IEEE, p. 148-174 (Year: 2010). [cited by applicant]
Hermann., et al., Hardware and Software Architecture of a Bimanual Mobile Manipulator for Industrial Application, 2011, IEEE, p. 2282-2288 (Year: 2011). [cited by applicant]