Skip to content

Woodenonez/DyObAv-MPCnEBM-Warehouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Obstacle Avoidance: One-shot Prediction (EBM) and Control (MPC)

To explore safer interactions between mobile robots and dynamic obstacles, this work presents a comprehensive approach to collision-free navigation in indoor environments. The proposed approach is an integration of multimodal motion predictions of dynamic obstacles and predictive control for obstacle avoidance. Motion prediction is achieved by an energy-based deep learning method that predicts plausible future positions. Model Predictive Control (MPC) solvers later generate collision-free trajectories for mobile robots.

NOTE: ROS2 Code is available: ROS2 Gazebo Simulation

Publication

The paper is published on RA-L. Bibtex citation:

@ARTICLE{ze_2025_ebmmpc,
  author={Zhang, Ze and Hess, Georg and Hu, Junjie and Dean, Emmanuel and Svensson, Lennart and Åkesson, Knut},
  journal={IEEE Robotics and Automation Letters}, 
  title={Future-Oriented Navigation: Dynamic Obstacle Avoidance With One-Shot Energy-Based Multimodal Motion Prediction}, 
  year={2025},
  volume={10},
  number={8},
  pages={8043-8050},
  doi={10.1109/LRA.2025.3575969}
}

Example

Quick Start

OpEn

The NMPC formulation is solved using open source implementation of PANOC, namely OpEn. Follow the installation instructions before proceeding.

Install dependencies

pip install -r requirements.txt

Generate MPC solver

Go to "build_solver.py", use the proper configuration name cfg_fname and run

python solver_build.py

After this, a new directory mpc_solver will appear and contain the solver. Then, you are good to go :)

Use Case

Run main_base.py for the warehouse simulation (different scenarios and methods) in Python. The evaluation is activated by setting the evaluation variable to True.

To watch the demo videos:

  • ROS 2 and Gazebo simulation: Link
  • Python long-term simulation: Link More videos from other projects are available on my personal page.

ROS 2 Simulation

The ROS 2 (Humble) simulation is available in the following repository: ROS2 Gazebo Simulation.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages