Skip to content

TomasMerva/g3f_planner

Repository files navigation

Globally-Guided Geometric Fabrics

Implementation of Globally-Guided Geometric Fabrics presented in our paper "Globally-Guided Geometric Fabrics for Reactive Mobile Manipulation in Dynamic Environments"

Mobile manipulators operating in dynamic environments shared with humans and robots must adapt in real time to environmental changes to complete their tasks effectively. While global planning methods are effective at considering the full task scope, they lack the computational efficiency required for reactive adaptation. In contrast, local planning approaches can be executed online but are limited by their inability to account for the full task’s duration. To tackle this, we propose Globally-Guided Geometric Fabrics (G3F), a framework for real-time motion generation along the full task horizon, by interleaving an optimization-based planner with a fast reactive geometric motion planner, called Geometric Fabrics (GF). The approach adapts the path and explores a multitude of acceptable target poses, while accounting for collision avoidance and the robot’s physical constraints. This results in a real-time adaptive framework considering whole-body motions, where a robot operates in close proximity to other robots and humans. We validate our approach through various simulations and real-world experiments on mobile manipulators in multi-agent settings, achieving improved success rates compared to vanilla GF, Prioritized Rollout Fabrics and Model Predictive Control.

A project page showcasing the presented approach can be found here.

How to cite this work

If you found this repository useful, please consider citing the associated paper below:

@article{merva2025globally,
  title={Globally-Guided Geometric Fabrics for Reactive Mobile Manipulation in Dynamic Environments},
  author={Merva, Tomas and Bakker, Saray and Spahn, Max and Zhao, Danning and Virgala, Ivan and Alonso-Mora, Javier},
  journal={IEEE Robotics and Automation Letters},
  year={2025},
  publisher={IEEE}
}

Teaser

2 Robots applying G3F

Build

Fabrics controller (C++)

You can automatically generate C++ code for a custom fabrics controller using the create_dinovas_planner.py example. The custom fabrics controller is built based on the robot's URDF file and configuration files, and is stored in the g3f_planner/src/ folder. To use it, you need to rebuild it in the build folder or run the following script:

./build.sh

The precompiled library

Virtual environment (advised)

You can install the necessary dependencies using poetry virtual environment. After installing poetry, run the following command:

poetry install

Access the virtual environment using:

poetry shell

Example

The example code for the G3F planner, specifically tailored to the Dinova mobile manipulator, is provided in examples/example_g3f_dinovas.py, and the corresponding optimization problem is formulated in examples/g3f_planner_dinova.py. To run the example:

python examples/example_g3f_dinovas.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages