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 a deep learning method that predicts plausible future positions. Model Predictive Control (MPC) solvers later generate a collision-free trajectory for the mobile robot.
The paper is available: Prescient Collision-Free Navigation of Mobile Robots With Iterative Multimodal Motion Prediction of Dynamic Obstacles
Bibtex citation:
@ARTICLE{10185133,
author={Zhang, Ze and Hajieghrary, Hadi and Dean, Emmanuel and Åkesson, Knut},
journal={IEEE Robotics and Automation Letters},
title={Prescient Collision-Free Navigation of Mobile Robots With Iterative Multimodal Motion Prediction of Dynamic Obstacles},
year={2023},
volume={8},
number={9},
pages={5488-5495},
doi={10.1109/LRA.2023.3296333}}
You might find "doc/interface.pdf" useful!
The NMPC formulation is solved using open source implementation of PANOC, namely OpEn. Follow the installation instructions before proceeding.
pip install -r requirements.txt
Go to "solver_build.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 :)
Run main.py for the warehouse simulation (one robot, two pedestrians) in Python. The evaluation is in main_eva.py.
Update: Go to the ros_version
branch to run the ROS code
To run the ROS simulation, download the above repository and first open a terminal to run the launch command in the ROS repo, then run the "main_ros.py" in this repo.