Model Predictive Control (MPC) is a local planning method that usually locally optimizes a single trajectory. When its initial guess or current behavior is poor, it tends to get stuck in that behavior. This can lead to poor motion plans or even failure to find a motion plan.
Topology-driven MPC (T-MPC++) is our new trajectory optimization framework that simultaneously computes multiple trajectories, each passing obstacles in a unique way. Our approach enables mobile robots to choose from multiple distinct locally optimal trajectories, significantly improving their ability to navigate dynamic, crowded environments.
Ground robots navigating in complex, dynamic environments must compute collision-free trajectories to avoid obstacles safely and efficiently. Nonconvex optimization is a popular method to compute a trajectory in real-time. However, these methods often converge to locally optimal solutions and frequently switch between different local minima, leading to inefficient and unsafe robot motion. In this work, we propose a novel topology-driven trajectory optimization strategy for dynamic environments that plans multiple distinct evasive trajectories to enhance the robot's behavior and efficiency. A global planner iteratively generates trajectories in distinct homotopy classes. These trajectories are then optimized by local planners working in parallel. While each planner shares the same navigation objectives, they are locally constrained to a specific homotopy class, meaning each local planner attempts a different evasive maneuver. The robot then executes the feasible trajectory with the lowest cost in a receding horizon manner. We demonstrate, on a mobile robot navigating among pedestrians, that our approach leads to faster trajectories than existing planners.
A schematic explanation of T-MPC. An environment with several obstacles and a robot is visualized in x, y, t (time in the upwards
axis). Obstacle motion predictions are denoted with cylinders.
(Left) A guidance planner finds P = 4 trajectories
(visualized with colored lines) from the robot initial position to one out of multiple goals. We filter trajectories on the way that they pass the obstacles using results from topology. As a result each of the guidance trajectories avoids obstacles differently.
(Middle) Each trajectory guides a local planner as initial guess and through a set of constraints that prevent the planner from changing its overtaking behavior. Four guidance trajectories and optimized trajectories (as occupied regions for each step) are visualized.
(Right) To decide on the trajectory to execute, the locally optimized trajectories are compared through their objective value the lowest cost trajectory (in red) is executed. This decision may take into account whether the robot was following the same behavior in the previous iteration.
We observed that adding a non-guided regular MPC in parallel to the guided planners further improves performance. In crowded environments, the regular MPC may occasionally find trajectories that the guidance planner does not find. By combining both strategies we eliminate key weaknesses in both planners. We refer to the combined planner as T-MPC++.
Deterministic: Our results demonstrate that T-MPC++ allows mobile robots to navigate significantly faster through crowded environments than other planners. We compared against several planners (see the paper) in a corridor environment with a varying number of pedestrians following the social forces model. The figure shows the distribution of the task duration over 200 experiments for 4, 8 and 12 pedestrians. The vertical dashed line denotes the task duration without obstacles. Performance of TEB-Planner and LMPCC degrade in more crowded environments. Our previous work Guidance-MPCC can cause high (undesired) speeds leading to faster task durations than without obstacles. T-MPC++, slows down the least compared to the case without pedestrians without leading to collisions.
Uncertain: T-MPC++ can additionally handle different collision avoidance constraint formulations. For example, Chance-Constrained MPC (CC-MPC) considers Gaussian uncertainty in the future positions of obstacles. We showed that deploying T-MPC++ with CC-MPC constraints (referred to as TCC-MPC++) reduced the task duration and collisions compared to CC-MPC in isolation.
We successfully applied T-MPC++ to navigate in a lab environment among 5 pedestrians, comparing it against LMPCC (i.e., regular MPC) and comparing TCC-MPC++ against CC-MPC. While the order of planners was randomized, participants unanimously preferred T-MPC++ and TCC-MPC++ over LMPCC and CC-MPC.
While the baseline planner regularly could not find a feasible trajectory or gets stuck in fast dangerous overtaking behaviors, T-MPC++ did not show these behaviors, which led to safer robot motion.
Our implementation, including the simulation environments, is publicly available as a single VSCode containerized environment. The MPC and guidance planner are also available as stand-alone packages. Please see:
Topology-Driven Parallel Trajectory Optimization in Dynamic Environments
In IEEE Transaction on Robotics (T-RO),
2024.
Probabilistic Motion Planning and Prediction via Partitioned Scenario Replay
In IEEE Int. Conf. on Robotics and Automation (ICRA),
2024.
Probabilistic Risk Assessment for Chance-Constrained Collision Avoidance in Uncertain Dynamic Environments
In IEEE International Conference on Robotics and Automation (ICRA),
2023.
Globally Guided Trajectory Planning in Dynamic Environments
In IEEE Int. Conf. on Robotics and Automation (ICRA),
2023.
Scenario-Based Trajectory Optimization in Uncertain Dynamic Environments
In , IEEE Robotics and Automation Letters (RA-L),
2021.
Robust Collision Avoidance for Multiple Micro Aerial Vehicles Using Nonlinear Model Predictive Control
In Proc. of the IEEE/RSJ Conf. on Robotics and Intelligent Systems (IROS),
2017.