IP Library › Granted Patent US 12,397,424
Granted Patent B2
US 12,397,424 · App. 18/317,128 · Granted Aug 26, 2025

Method and apparatus for online task planning and robot motion control

Inventors: Akihiro Suzumura (San Ramon, CA); Gaurav Misra (San Ramon, CA); Andres Rodriguez Campo (San Ramon, CA); Kautilya Chenna (San Francisco, CA); Sean Bailey (San Ramon, CA); John Drinkard (San Ramon, CA)
Assignee: OMRON CORPORATION
B25J9/1661B25J9/1666B25J9/1682
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,397,424
App. No.
18/317,128
Granted
Aug 26, 2025
Kind
B2
Abstract

Disclosed techniques embody advantageous approaches to online task and motion planning for robots, based on the decomposition of robot tasks into subtasks having attached attributes that, among other things, indicate whether dynamic trajectory modification is permitted during subtask execution. The decomposition and attribute tagging allows for hybrid motion control during task execution, for example, with some subtasks allowing for reactive motion planning for collision avoidance, and other subtasks disallowing reactive motion. Collision avoidance for non-reactive subtasks involves, for example, coordinating volume reservations within an involved robot work cell, to prevent other robots from interfering with a robot engaged in a subtask designated as non-reactive. Determination of which subtasks are non-reactive relies on information included in an input task specification and may be based on user analysis or automated analysis of the involved robot application.

Claims (39)

1. A method of online task planning and robot motion control, the method comprising:

processing an input task specification that specifies robot tasks, wherein the input task specification decomposes robot tasks into subtasks and differentiates reactive-motion (RM) subtasks for which dynamic trajectory modification is permitted from non-reactive motion (NRM) subtasks for which dynamic trajectory modification is not permitted;

generating subtask commands sequentially according to subtask dependencies determined from the input task specification, wherein the subtask commands are distinguished between RM subtasks and NRM subtasks;

determining robot trajectories for performing the subtask commands, according to online motion planning that allows dynamic trajectory modification during the performance of RM subtasks, and does not allow dynamic trajectory modification during the performance of NRM subtasks; and

outputting position commands to one or more robot controllers, for execution of robot motion.

2. The method according to claim 1 , wherein the subtask commands are distinguished between RM subtasks and NRM subtasks via the inclusion of subtask attributes.

3. The method according to claim 1 , wherein each subtask listed in the input task specification belongs to a corresponding subtask category, and wherein there are multiple subtask categories recognized by the processing, including one or more categories of non-motion subtasks and two or more categories of motion subtasks, including the RM and NRM categories, wherein each subtask command includes an attribute indicating the corresponding subtask category, for consideration in the online motion planning.

4. The method according to claim 3 , wherein the two or more categories of motion subtasks include an idle category for which dynamic trajectory modification is permitted and the one or more categories of non-motion tasks include a non-motion action (NMA) category for which dynamic trajectory modification is not permitted.

5. The method according to claim 4 , wherein the method includes outputting action commands to the one or more robot controllers, corresponding to NMA tasks represented in the subtask commands.

6. The method according to claim 5 , wherein NMA tasks involve robot end-effector actions, and the action commands are end-effector control commands.

7. The method according to claim 3 , wherein, in addition to the RM and NRM categories, the two or more motion categories include a predictive motion category where motion of the robot is planned repeatedly over a prescribed time horizon, and a manual-mode motion category where motion of the robot is defined manually according to a number of waypoints, with trajectory along the waypoints being generated using interpolation algorithms.

8. The method according to claim 3 , wherein an online motion planner uses the attributes for motion subtasks, to determine corresponding trajectory constraints, including determining at a subtask granularity as to whether dynamic trajectory modification is or is not permitted.

9. The method according to claim 1 , wherein the input task specification relates to two or more robots operating in a shared workspace and, with respect to a given one of the robots performing RM subtasks, the online motion planning includes dynamic trajectory modification for avoiding collisions with respect to the remaining one or more robots, and wherein with respect to the given robot performing NRM subtasks, collision avoidance is based on performing coordinated volume reservations, such that the remaining one or more robots do not perform interfering robot trajectories during execution of NRM subtasks by the given robot.

10. The method according to claim 1 , wherein the input task specification relates to two or more robots operating in a shared workspace and wherein the method includes identifying related tasks that must be performed by a same one among the two or more robots and assigning subtasks comprising the related tasks to the same robot.

11. The method according to claim 10 , wherein the input specification indicates one or more subtask bundles, each subtask bundle comprising two or more subtasks of a corresponding task that must be performed by a robot to which the corresponding task is assigned without interruption by the one or more other robots, and wherein the method further comprises coordinating operations of the two or more robots to provide for uninterrupted execution of each subtask bundle.

12. The method according to claim 1 , wherein one or more tasks or subtasks are pre-assigned for performance by a specific robot among two or more robots cooperatively sharing a workspace, and wherein one or more tasks or subtasks are unassigned, and the method further includes determining robot assignments for the unassigned tasks or subtasks.

13. A computer system for online task planning and robot motion control, the computer system comprising:

interface circuitry configured for receiving data comprising an input task specification that specifies robot tasks; and

processing circuitry configured to:

process the input task specification that specifies robot tasks, wherein the input task specification decomposes robot tasks into subtasks and differentiates reactive-motion (RM) subtasks for which dynamic trajectory modification is permitted from non-reactive motion (NRM) subtasks for which dynamic trajectory modification is not permitted;

generate subtask commands sequentially according to subtask dependencies determined from the input task specification, wherein the subtask commands are distinguished between RM subtasks and NRM subtasks;

determine robot trajectories for performing the subtask commands, according to online motion planning that allows dynamic trajectory modification during the performance of RM subtasks, and does not allow dynamic trajectory modification during the performance of NRM subtasks; and

output, via the interface circuitry, position commands to one or more robot controllers, for execution of robot motion.

14. The computer system according to claim 13 , wherein the subtask commands are distinguished between RM subtasks and NRM subtasks via the inclusion of subtask attributes.

15. The computer system according to claim 13 , wherein each subtask listed in the input task specification belongs to a corresponding subtask category, and wherein there are multiple subtask categories recognized by the computer system, including one or more categories of non-motion subtasks and two or more categories of motion subtasks, including the RM and NRM categories, wherein each subtask command includes an attribute indicating the corresponding subtask category for consideration in the online motion planning.

16. The computer system according to claim 15 , wherein the two or more categories of motion subtasks include an idle category for which dynamic trajectory modification is permitted, and wherein the one or more categories of non-motion subtasks includes a non-motion action (NMA) category for which dynamic trajectory modification is not permitted.

17. The computer system according to claim 16 , wherein the processing circuitry is configured to output action commands to the one or more robot controllers, corresponding to NMA tasks represented in the subtask commands.

18. The computer system according to claim 17 , wherein NMA tasks involve robot end-effector actions, and the action commands are end-effector control commands.

19. The computer system according to claim 15 , wherein, in addition to the RM and NRM categories, the two or more motion categories include a predictive motion category where motion of the robot is planned repeatedly over a prescribed time horizon, and a manual-mode motion category where motion of the robot is defined manually according to a number of waypoints, with trajectory along the waypoints being generated using interpolation algorithms.

20. The computer system according to claim 15 , wherein an online motion planner instantiated via the computer system uses the attributes for motion subtasks, to determine corresponding trajectory constraints, including determining at a subtask granularity as to whether dynamic trajectory modification is or is not permitted.

21. The computer system according to claim 13 , wherein the input task specification relates to two or more robots operating in a shared workspace and, with respect to a given one of the robots performing RM subtasks, the online motion planning includes dynamic trajectory modification for avoiding collisions with respect to the remaining one or more robots, and wherein with respect to the given robot performing NRM subtasks, the processing circuitry is configured to perform collision avoidance via coordinated volume reservations, such that the remaining one or more robots do not perform interfering robot trajectories during execution of NRM subtasks by the given robot.

22. The computer system according to claim 13 , wherein the input task specification relates to two or more robots operating in a shared workspace and wherein the processing circuitry is configured to identify related tasks that must be performed by a same one among the two or more robots and assign subtasks comprising the related tasks to the same robot.

23. The computer system according to claim 22 , wherein the input specification indicates one or more subtask bundles, each subtask bundle comprising two or more subtasks of a corresponding task that must be performed by a robot to which the corresponding task is assigned without interruption by the one or more other robots, and wherein the processing circuitry is further configured to coordinate operations of the two or more robots to provide for uninterrupted execution of each subtask bundle.

24. The computer system according to claim 13 , wherein one or more tasks or subtasks are pre-assigned for performance by a specific robot among two or more robots cooperatively sharing a workspace, and wherein one or more tasks or subtasks are unassigned, and, with respect to unassigned tasks or subtasks, the processing circuitry is further configured to determine robot assignments.

25. A method of online task planning and robot motion control, the method comprising:

processing an input task specification that relates to two or more robots operating in a shared workspace, the input task specification indicating a number of tasks to be performed;

identifying related tasks that must be performed by a same one among the two or more robots; and

assigning subtasks comprising the related tasks to the same robot.

26. The method according to claim 25 , wherein the input specification indicates one or more subtask bundles, each subtask bundle comprising two or more subtasks of a corresponding task that must be performed by a robot to which the corresponding task is assigned without interruption by the one or more other robots, and wherein the method further comprises coordinating operations of the two or more robots to provide for uninterrupted execution of each subtask bundle.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2023
From: SUZUMURA, AKIHIRO; MISRA, GAURAV; RODRIGUEZ CAMPO, ANDRES; CHENNA, KAUTILYA; BAILEY, SEAN; DRINKARD, JOHN
To: OMRON CORPORATION
Reel/Frame 064558/0683 →
Continuity (2)
Provisional Application 63456441 · Mar 31, 2023
Related Publication 20240326245A1 · Oct 3, 2024
References Cited (30)
US 8568302B2 · Donhowe et al. · 2013 [cited by applicant]
US 8924021B2 · Dariush · 2014 [cited by examiner]
US 9411330B2 · Iuchi et al. · 2016 [cited by applicant]
US 9592604B2 · Hoffman et al. · 2017 [cited by applicant]
US 9915937B2 · Linnell et al. · 2018 [cited by applicant]
US 10296995B2 · Saboo et al. · 2019 [cited by applicant]
US 10745003B2 · Kentley-Klay et al. · 2020 [cited by applicant]
US 10782670B2 · Crivella et al. · 2020 [cited by applicant]
US 20170139423A1 · El Ferik et al. · 2017 [cited by applicant]
US 20200262065A1 · Ghobadi et al. · 2020 [cited by applicant]
US 20200305984A1 · Zhao et al. · 2020 [cited by applicant]
US 20210060778A1 · Butterfoss et al. · 2021 [cited by applicant]
US 20210308862A1 · Lin et al. · 2021 [cited by applicant]
US 20220226997A1 · Takahashi et al. · 2022 [cited by applicant]
US 20220305646A1 · Jain et al. · 2022 [cited by applicant]
US 20230082482A1 · Satoh et al. · 2023 [cited by applicant]
CN 101612733B · 2013 [cited by applicant]
CN 103529856A · 2014 [cited by applicant]
CN 105824292A · 2016 [cited by applicant]
CN 103970139B · 2017 [cited by applicant]
CN 111191931A · 2020 [cited by examiner]
CN 111496774A · 2020 [cited by applicant]
CN 112706166A · 2021 [cited by applicant]
CN 111300420B · 2021 [cited by applicant]
EP 2485875B1 · 2013 [cited by applicant]
JP 2020040205A · 2020 [cited by applicant]
WO 2020083633A1 · 2020 [cited by applicant]
Evan Drumwright et al., The Task Matrix: An Extensible Framework for Creating Versatile Humanoid Robots, May 2006, IEEE, p. 448-455 (Year: 2006). [cited by examiner]
Anibal Coimbra de Matos et al., A Methodology for Replanning Collision Free Trajectories for a Mobile Robot, 1993, IEEE, p. 1454-1459 (Year: 1993). [cited by examiner]
English machine translation of CN111191931A (Year: 2020). [cited by examiner]