IP Library › Granted Patent US 12,351,164
Granted Patent B2
US 12,351,164 · App. 17/796,209 · Granted Jul 8, 2025

Planning in mobile robots

Inventors: Majd Hawasly (Bristol, GB); Francisco Eiras (Bristol, GB); Subramanian Ramamoorthy (Bristol, GB)
Assignee: Five AI Limited
B60W30/09B60W60/0015B60W2520/10B60W2554/20B60W2554/40
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,351,164
App. No.
17/796,209
Granted
Jul 8, 2025
Kind
B2
Abstract

A computer-implemented method of determining control actions for controlling a mobile robot comprises: receiving a set of scenario description parameters describing a scenario and a desired goal for the mobile robot therein; in a first constrained optimization stage, applying a first optimizer to determine a first series of control actions that substantially globally optimizes a preliminary cost function for the scenario, the preliminary cost function based on a first computed trajectory of the mobile robot, as computed by applying a preliminary robot dynamics model to the first series of control actions, and in a second constrained optimization stage, applying a second optimizer to determine a second series of control actions that substantially globally optimizes a full cost function for the scenario, the full cost function based on a second computed trajectory of the mobile robot, as computed by applying a full robot dynamics model to the second series of control actions; wherein initialization data of at least one of the first computed trajectory and the first series of control actions is used to initialize the second optimizer for determining the second series of control actions, and wherein the preliminary robot dynamic model approximates the full robot dynamics model, the cost functions embody similar objectives to each encourage achievement of the desired goal, and both are optimized with respect to similar hard constraints, such that the initialization data guides the second optimizer to the substantially globally-optimal second series of control actions.

Claims (41)

1. A computer-implemented method of determining control actions for controlling a mobile robot, the method comprising:

receiving a set of scenario description parameters describing a scenario and a desired goal for the mobile robot therein;

in a first constrained optimization stage, applying a first optimizer to determine a first series of control actions that substantially globally optimizes a preliminary cost function for the scenario, wherein the desired goal for the mobile robot is fixed during the first constrained optimization stage, and wherein the preliminary cost function is based on a first computed trajectory of the mobile robot, as computed by applying a preliminary robot dynamics model to the first series of control actions, and

in a second constrained optimization stage, applying a second optimizer to determine a second series of control actions that substantially globally optimizes a full cost function for the scenario, wherein the desired goal for the mobile robot is fixed during the second constrained optimization stage, and wherein the full cost function is based on a second computed trajectory of the mobile robot, as computed by applying a full robot dynamics model to the second series of control actions;

wherein initialization data comprising at least one of the first computed trajectory and the first series of control actions is used to initialize the second optimizer for determining the second series of control actions, and wherein the preliminary robot dynamics model approximates the full robot dynamics model, the cost functions embody similar objectives to each encourage achievement of the desired goal, and both are optimized with respect to similar hard constraints, such that the initialization data guides the second optimizer to the substantially globally-optimal second series of control actions.

2. The method of claim 1 , wherein each computed trajectory is determined, based on an initial mobile robot state, as a series of subsequent mobile robot states;

wherein each mobile robot state of the first computed trajectory is determined by applying the preliminary robot dynamics model to at least a previous mobile robot state of the first computed trajectory and a corresponding control action of the first series of control actions;

wherein each mobile robot state of the second computed trajectory is determined by applying the full robot dynamics model to at least the previous mobile robot state of the second computed trajectory and a corresponding control action of the second series of control actions.

3. The method of claim 2 , wherein the preliminary robot dynamics model is linearly dependent on at least the previous mobile robot state of the first computed trajectory and the corresponding control action of the first series of control actions, and the full robot model is non-linearly dependent on at least one of the previous mobile robot state of the second computed trajectory and the corresponding control action of the second series of control actions.

4. The method of claim 1 , wherein the first optimizer is a mixed integer linear programming (MILP) optimizer, and the second optimizer is a non-linear programming (NLP) optimizer.

5. The method of claim 4 , wherein the hard constraints of the first stage comprise one or more mixed integer collision avoidance constraints for one or more static or moving obstacles in the scenario and/or one or more mixed integer permitted area constraints for keeping the mobile robot within a permitted area, and wherein the hard constraints of the second stage comprise one or more similar collision avoidance and/or permitted area constraints formulated in terms of non-integer variables.

6. The method of claim 1 , wherein the first optimizer applies a receding horizon approximation to iteratively optimize component costs of the preliminary cost function, and thereby determine the first series of control actions, and wherein the second optimizer does not use any receding horizon approximation and instead optimizes the full cost function as a whole.

7. The method of claim 1 , wherein the goal is defined relative to a reference path, and each cost function encourages achievement of the goal by penalizing at least one of lateral deviation from the reference path, and longitudinal deviation from a reference location on the reference path.

8. The method of claim 7 , wherein each of the computed trajectories is represented in a frame of reference defined by the reference path.

9. The method of claim 7 , wherein the preliminary cost function is linearly dependent on said lateral and/or longitudinal deviation, and the full cost function is non-linearly dependent thereon.

10. The method of claim 7 , wherein both cost functions penalize deviation from a target speed.

11. The method of claim 1 , wherein the method is implemented in a planner of a mobile robot and comprises the step of using control data of at least one of: the second computed trajectory, and the second series of control actions to control motion of the mobile robot.

12. The method of claim 1 , wherein the method is performed repeatedly for different scenarios so as to generate:

a first training set comprising inputs to the first optimizer and corresponding outputs computed by the first optimizer, the first training set being used to train a first function approximator to approximate the first optimizer; or

a second training set comprising inputs to the second optimizer and corresponding outputs computed by the second optimizer, the second training set being used to train a second function approximator to approximate the second optimizer; or

a third training set comprising inputs to the first optimizer and corresponding outputs computed by the second optimizer, the third training set being used to train a single function approximator to approximate both of the first and the second optimizers.

13. The method of claim 12 , comprising the step of configuring a runtime stack of mobile robot to implement one of the following:

(i) the first optimizer and the second function approximator, wherein the second function approximator cooperates with the first optimizer within the runtime stack to approximate the second optimization stage;

(ii) the first function approximator and the second optimizer, wherein the first function approximator approximates the first optimization stage for initializing the second optimizer;

(iii) the first function approximator and the second function approximator, which cooperate to approximate both optimization stages; or

(iv) the single function approximator.

14. The method of claim 13 , wherein the runtime stack is configured to implement one of combinations (i) and (ii), or the single function approximator, and the method comprises an additional step of configuring the runtime stack with a verification component configured to verify an output of the second function approximator or the single function approximator.

15. The method of claim 12 , wherein the or each function approximator has a neural network architecture.

16. A computer system comprising one or more hardware processors configured to:

receive a set of scenario description parameters describing a scenario and a desired goal for a mobile robot therein; and

implement or approximate:

a first constrained optimization stage comprising applying a first optimizer to determine a first series of control actions that substantially globally optimizes a preliminary cost function for a scenario, wherein the desired goal for the mobile robot is fixed during the first constrained optimization stage, and wherein the preliminary cost function is based on a first computed trajectory of the mobile robot, as computed by applying a preliminary robot dynamics model to the first series of control actions, and

a second constrained optimization stage comprising applying a second optimizer to determine a second series of control actions that substantially globally optimizes a full cost function for the scenario, wherein the desired goal for the mobile robot is fixed during the second constrained optimization stage, and wherein the full cost function is based on a second computed trajectory of the mobile robot, as computed by applying a full robot dynamics model to the second series of control actions.

17. The computer system of claim 16 , wherein the one or more hardware processors are configured to implement a first optimization component configured to implement or approximate the first optimization stage, and a second optimization component configured to implement or approximate the second optimization stage, using initialization data provided by the first optimization component.

18. The computer system of claim 17 , embodied in a mobile robot, wherein the computer system is further configured to control a motion of the mobile robot via one or more actuators of the mobile robot using control data provided by the second optimization component.

19. The computer system of claim 18 , wherein the mobile robot is an autonomous vehicle.

20. A computer program embodied on non-transitory computer-readable storage media for programming one or more computers to implement the steps of:

receiving a set of scenario description parameters describing a scenario and a desired goal for a mobile robot therein;

in a first constrained optimization stage, applying a first optimizer to determine a first series of control actions that substantially globally optimizes a preliminary cost function for the scenario, wherein the desired goal for the mobile robot is fixed during the first constrained optimization stage, and wherein the preliminary cost function is based on a first computed trajectory of the mobile robot, as computed by applying a preliminary robot dynamics model to the first series of control actions, and

in a second constrained optimization stage, applying a second optimizer to determine a second series of control actions that substantially globally optimizes a full cost function for the scenario, wherein the desired goal for the mobile robot is fixed during the second constrained optimization stage, and wherein the full cost function is based on a second computed trajectory of the mobile robot, as computed by applying a full robot dynamics model to the second series of control actions;

wherein initialization data comprising at least one of the first computed trajectory and the first series of control actions is used to initialize the second optimizer for determining the second series of control actions, and wherein the preliminary robot dynamics model approximates the full robot dynamics model, the cost functions embody similar objectives to each encourage achievement of the desired goal, and both are optimized with respect to similar hard constraints, such that the initialization data guides the second optimizer to the substantially globally-optimal second series of control actions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2022
From: HAWASLY, MAJD; EIRAS, FRANCISCO; RAMAMOORTHY, SUBRAMANIAN
To: FIVE AI LIMITED
Reel/Frame 061672/0508 →
Priority Claims (3)
GB 2001200 · Jan 28, 2020 · national
GB 2001202 · Jan 28, 2020 · national
GB 2001277 · Jan 30, 2020 · national
Continuity (1)
Related Publication 20230081921A1 · Mar 16, 2023
References Cited (40)
US 9315178B1 · Ferguson et al. · 2016 [cited by applicant]
US 10678247B2 · Jiang et al. · 2020 [cited by applicant]
US 10884422B2 · Zhang et al. · 2021 [cited by applicant]
US 20170277193A1 · Frazzoli et al. · 2017 [cited by applicant]
US 20180129203A1 · Tafti et al. · 2018 [cited by applicant]
US 20180292830A1 · Kazemi et al. · 2018 [cited by applicant]
US 20190079523A1 · Zhu et al. · 2019 [cited by applicant]
US 20190220016A1 · Phillips et al. · 2019 [cited by applicant]
US 20190317511A1 · Xu et al. · 2019 [cited by applicant]
US 20200310446A1 · Zhu et al. · 2020 [cited by applicant]
US 20200310451A1 · Zhu et al. · 2020 [cited by applicant]
US 20200326719A1 · Tram et al. · 2020 [cited by applicant]
US 20210094569A1 · Febbo et al. · 2021 [cited by applicant]
US 20210114617A1 · Phillips et al. · 2021 [cited by applicant]
US 20210118245A1 · Gyllenhammar et al. · 2021 [cited by applicant]
US 20210221386A1 · Quirynen et al. · 2021 [cited by applicant]
US 20210237769A1 · Ostafew · 2021 [cited by applicant]
US 20210240190A1 · Wray et al. · 2021 [cited by applicant]
US 20210302974A1 · Di Cairano · 2021 [cited by examiner]
US 20210394794A1 · Gyllenhammar et al. · 2021 [cited by applicant]
US 20210403034A1 · Lapin et al. · 2021 [cited by applicant]
US 20220055651A1 · Baric et al. · 2022 [cited by applicant]
US 20220121213A1 · Hsu · 2022 [cited by examiner]
US 20220371594A1 · Raffone et al. · 2022 [cited by applicant]
US 20230089978A1 · Pulver et al. · 2023 [cited by applicant]
US 20230365131A1 · Do et al. · 2023 [cited by applicant]
WO 2020079074A1 · 2020 [cited by applicant]
WO 2020079698A1 · 2020 [cited by applicant]
Joao Salvado, Oct. 1, 2018, Motion Planning and Goal Assignment for Robot Fleets using Trajectory Optimization. pp. 7939-7946. (Year: 2018). [cited by examiner]
Eiras et al., “A Two-Stage Optimization Approach to Safe-by-Design Planning for Autonomous Driving,” arXiv.org, arXiv.2002.02215v1, Feb. 6, 2020, pp. 1-10. [cited by applicant]
Hult et al., “An MIQP-based heuristic for Optimal Coordination of Vehicles at Intersections,” 2018 IEEE Conference on Decision and Control (CDC), IEEE, Dec. 17-19, 2018, pp. 2783-2790. [cited by applicant]
Most, Thomas, “Approximation of complex nonlinear functions by means of neural networks,” 2nd Weimar Optimization and Stochastic Days, 2005, pp. 1-17. [cited by applicant]
Salvado et al., “Motion Planning and Goal Assignment for Robot Fleets Using Trajectory Optimization,” 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), IEEE, Oct. 1-5, 2018, pp. 7939-7946. [cited by applicant]
International Search Report and Written Opinion mailed Mar. 29, 2021 in corresponding International PCT Patent Application No. PCT/EP2021/052040 (12 pages). [cited by applicant]
International Search Report and Written Opinion from the International Searching Authority from related PCT Application No. PCT/EP2021/052036, dated Apr. 9, 2021, (13 pages). [cited by applicant]
Schwarting Wilkq et al: “Safe Nonlinear Trajectory Generation for Parallel Autonomy With a Dynamic Vehicle Model”, IEEE Tran Sa Cti Ons on Intelligent Transportation Systems, IEEE, Piscataway, NJ, USA, vol. 19, No. 9, S… [cited by applicant]
Pokorny Florian T. et al: “Topological trajectory classification with filtrations of simplicial complexes and persistent homology”, International Journal of Robotics Research., vol. 35, No. 1-3, Aug. 21, 2015 (Aug. 21, … [cited by applicant]
International Search Report and Written Opinion from the International Searching Authority from related PCT Application No. PCT/EP2021/080206, dated May 10, 2022, (16 pages). [cited by applicant]
U.S. Office Action date Dec. 17, 2024, from related U.S. Appl. No. 18/011,016. [cited by applicant]
U.S. Office Action date Oct. 25, 2024, from related U.S. Appl. No. 17/796,206. [cited by applicant]