IP Library Granted Patent US 9,327,403
Granted Patent B2
US 9,327,403 · App. 14/036,451 · Granted May 3, 2016

Advanced behavior engine

Inventors: Robert Todd Pack (Hollis, NH); Orjeta Taka (Bedford, MA)
Assignee: iRobot Corporation
B25J9/1664G05D1/0088G05D1/0274G06N3/008G05B2219/40519G05D1/027G05D1/0238G05D1/0251G05D1/0272G05D2201/0209G05D2201/0213
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,327,403
App. No.
14/036,451
Granted
May 3, 2016
Kind
B2
Abstract

A method of commanding a remote vehicle includes executing a command on a controller of the remote vehicle based on a kinodynamic fixed depth motion planning algorithm to use incremental feedback from evaluators to select a best feasible action. The method also includes determining servo commands corresponding to the best feasible action for one or more actuators of a drive system or a manipulation system of the remote vehicle and commanding the one or more actuators of the remote vehicle based on the servo commands. The best feasible action includes actions within a fixed time horizon of several seconds from a current time each time a feasible action is selected.

Claims (46)

1. A method of commanding a remote vehicle, the method comprising:

constructing a kinodynamic tree by adding nodes that represent a fixed difference in time from a current time, wherein each node is added by assuming a command change is applied during a given time step and is integrated through a forward dynamics model and a forward kinematic model of the remote vehicle;

executing a command on a controller of the remote vehicle based on a kinodynamic fixed depth motion planning algorithm to use incremental feedback from evaluators to select a best feasible action, the best feasible action comprising actions within a fixed time horizon of several seconds from the current time each time a feasible action is selected, wherein the kinodynamic fixed depth motion planning algorithm comprises the kinodynamic tree, the kinodynamic tree having nodes that encode kinematic and dynamic state variables of the resources of the remote vehicle;

determining, on the controller, resource commands corresponding to the best feasible action for commanding resources of the remote vehicle; and

commanding, using the controller, the resources of the remote vehicle based on the resource commands.

2. The method of claim 1 , wherein the best feasible action is dynamically feasible and kinematically feasible.

3. The method of claim 1 , further comprising searching the kinodynamic tree for a node that corresponds to the best feasible action.

4. The method of claim 3 , wherein searching for the best feasible action comprises building a search tree of a given search depth and accepting a maximum branching factor.

5. The method of claim 4 , further comprising:

maintaining a priority queue of nodes by node cost;

inserting a root node into a best node queue;

maintaining a best expandable node queue containing the best nodes that can still be expanded; and

inserting a first node in both queues.

6. The method of claim 5 , wherein the search for the best feasible action proceeds by an alternating sequence of expand and refine operations applied to the kinodynamic tree.

7. The method of claim 6 , wherein the kinodynamic fixed depth motion planning algorithm searches for future feasible actions until one of following termination conditions is used to extract the best feasible action:

a time limit is reached;

the best node queue becomes empty when the kinodynamic tree is all expanded out; or

the node cost of the best node goes below a threshold cost, in which case the search returns the current best feasible action at the time the node cost of the best node goes below the threshold cost.

8. The method of claim 7 , wherein the best feasible action is extracted by picking the best node from the best node queue and tracing the parent links backward until the root node is located.

9. The method of claim 1 , further comprising setting parameters of the forward kinematic model to cover the remote vehicle, the forward kinematic model covering separate classes of vehicles and multiple vehicles within a class of vehicles based on the parameters.

10. The method of claim 9 , wherein a plug-in model of dynamics and kinematics allows a planning engine of the kinodynamic fixed depth motion planning algorithm to handle resources comprising holonomic or non-holonomic drive systems.

11. The method of claim 1 , wherein each node of the kinodynamic tree is annotated with a collection of tracking variables in addition to dynamic state information, the tracking variables comprising:

a command that generated the node;

a node cost comprising a weighted sum of the evaluators applied to the node;

an expansion index and an expansion counter, the expansion index equal to the number of times expansion has been done on a node to drive expansion selection, and the expansion counter equal to the number of child nodes added to a node in total; and/or

a depth counter.

12. The method of claim 11 , wherein the evaluators comprise functions that map nodes to a cost function representing goals of the remote vehicle, each evaluator handling a different part of the cost, wherein nodes are evaluated based on their cost.

13. A robotics system comprising:

system resources;

a control arbiter for each system resource, each control arbiter controlling its associated system resource;

a system controller in communication with the control arbiters, the system controller:

constructing a kinodynamic tree by adding nodes that represent a fixed difference in time from a current time, wherein each node is added by assuming a command change is applied during a given time step and is integrated through a forward dynamics model and a forward kinematic model of the remote vehicle;

executing a command based on a kinodynamic fixed depth motion planning algorithm to use incremental feedback from evaluators to select a best feasible action, the best feasible action comprising actions within a fixed time horizon of several seconds from the current time each time a feasible action is selected, wherein the kinodynamic fixed depth motion planning algorithm comprises the kinodynamic tree, the kinodynamic tree having nodes that encode kinematic and dynamic state variables of the resources of the remote vehicle;

determining resource commands corresponding to the best feasible action for the system resources; and

communicating the resource commands to at least one control arbiter for commanding affected system resources.

14. The robotics system of claim 13 , wherein the system controller:

generates a behavior tree comprising behaviors for controlling the system resources, the behavior tree generating behavior goals;

executes one or more action models that generate system constraints;

generates an overall command based on the behavior goals and system constraints; and

generates the resource commands to effect the overall command.

15. The robotics system of claim 13 , wherein each node of the kinodynamic tree is annotated with a collection of tracking variables in addition to dynamic state information, the tracking variables comprising:

a command that generated the node;

a node cost comprising a weighted sum of the evaluators applied to the node;

an expansion index and an expansion counter, the expansion index equal to the number of times expansion has been done on a node to drive expansion selection, and the expansion counter equal to the number of child nodes added to a node in total; and/or

a depth counter.

16. The method of claim 15 , wherein the evaluators comprise functions that map nodes to a cost function representing goals of the robotics system, each evaluator handling a different part of the cost, wherein nodes are evaluated based on their cost.

Assignments (5)
NOTICE OF ASSIGNMENT OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Nov 25, 2025
From: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
To: SANTRUM HONG KONG CO., LIMITED, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 073707/0516 →
SECURITY INTEREST Recorded Aug 9, 2023
From: IROBOT CORPORATION
To: TCG SENIOR FUNDING L.L.C., AS COLLATERAL AGENT
Reel/Frame 064532/0856 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2023
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: IROBOT CORPORATION
Reel/Frame 064430/0001 →
SECURITY INTEREST Recorded Nov 3, 2022
From: IROBOT CORPORATION
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 061878/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2013
From: PACK, ROBERT TODD; TAKA, ORJETA
To: IROBOT CORPORATION
Reel/Frame 031630/0555 →
Continuity (5)
Continuation 13105872 · May 11, 2011
Continuation In Part 12100782 · Apr 10, 2008
Provisional Application 61041707 · Apr 2, 2008
Provisional Application 61333541 · May 11, 2010
Related Publication 20140081506A1 · Mar 20, 2014