No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

fgsp package from fgsp repo

fgsp

Package Summary

Tags No category tags.
Version 2.0.0
License MIT
Build type AMENT_PYTHON
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ethz-asl/fgsp.git
VCS Type git
VCS Version main
Last Updated 2024-05-21
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Factor Graph Signal Processing

Additional Links

No additional links.

Maintainers

  • Lukas Bernreiter

Authors

No additional authors.

Collaborative Robot Mapping using Spectral Graph Analysis

This work entitled FGSP (short for Factor Graph Signal Processing) deals with the problem of creating globally consistent pose graphs in a centralized multi-robot SLAM framework.

Overview

FGSP mainly relies on two separate components for synchronization, the graph_monitor (server) and the graph_client (robots). The graph_monitor reads the optimized server graph published by a separate system. This is generally agnostic to the mapping server as long as the specific messages are used. The message definitions can be obtained from maplab_msgs and an example server is the maplab_server which can be found here.

The graph_client finds the discrepancies and publishes the required constraints to obtain consistent pose graphs on server and robot. To do so, it listens to the graph of published by the graph_monitor as well as the onboard state estimation. Similar to the graph_monitor, this is also agnostic to the used framework as long as the state estimation is published on the correct topics.

Getting started

There are mainly two options to build FGSP:

  • Regular colcon build
  • Deployment build with docker

For the former, the following dependencies need to be installed on the host machine:

A submodule of each dependency can be found in the in the dependencies/ directory. Other dependencies are numpy, pandas, scipy and need to be installed with, e.g., pip.

Colcon Build

Having all dependencies installed, FGSP can be built with

colcon build

The server then runs graph_monitor.py (see launch/graph_monitor.launch for an example) while the clients runs graph_client.py (see launch/robots/local_client.launch for an example). For actual robot deployments, the client configuration needs to be adapted per robot.

Docker Build

Ensure that you have docker installed

sudo apt install docker.io docker


Run the deployment script that builds the image and makes it available to the local Docker daemon:

./deploy/build_docker.sh

Run files can be found in the script/ folder. For example, for running the graph monitor on the server side:

./script/run_graph_monitor

Reference

Our paper is available at

Bernreiter, Lukas, Shehryar Khattak, Lionel Ott, Roland Siegwart, Marco Hutter, and Cesar Cadena. “Collaborative Robot Mapping using Spectral Graph Analysis.” In The International Journal of Robotics Research , 02783649241246847. [Link]

BibTex:

@article{bernreiter2024framework,
  title={A framework for collaborative multi-robot mapping using spectral graph wavelets},
  author={Bernreiter, Lukas and Khattak, Shehryar and Ott, Lionel and Siegwart, Roland and Hutter, Marco and Cadena, Cesar},
  journal={The International Journal of Robotics Research},
  pages={02783649241246847},
  year={2024},
  publisher={SAGE Publications Sage UK: London, England}
}

and

Bernreiter, Lukas, Shehryar Khattak, Lionel Ott, Roland Siegwart, Marco Hutter, and Cesar Cadena. “Collaborative Robot Mapping using Spectral Graph Analysis.” In 2022 IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2022. [Link] [ArXiv]

BibTex:

@inproceedings{bernreiter2022collaborative,
  author={Bernreiter, Lukas and Khattak, Shehryar and Ott, Lionel and Siegwart, Roland and Hutter, Marco and Cadena, Cesar},
  booktitle={2022 International Conference on Robotics and Automation (ICRA)}, 
  title={Collaborative Robot Mapping using Spectral Graph Analysis}, 
  year={2022},  
  pages={3662-3668},
  doi={10.1109/ICRA46639.2022.9812102}
}

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fgsp at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.