/msf_localization

Primary LanguageC++OtherNOASSERTION

msf_localization

This is the repository of the full msf_localization metapackage. It is a repository for full 3D state estimation (pose, velocity and acceleration) using several sensors sources. It is based on an indirect EKF, with a buffer for time-delayed measurements.

Table of contents

Disclaimer

You are using this software at your own risk. The authors decline any responsibility for personal injuries and/or property damage.

Repository information

Packages

This repository is formed by a three ROS packages:

  • msf_localization_core: C++ (and ROS-independent) core of the algorithm.
  • msf_localization_ros_srvs: custom services.
  • msf_localization_ros: ROS-dependent wrapper of the core algorithm.

And one ROS metapackage:

  • msf_localization

Libraries and executables generated by this repository

This repository generates:

  • Libraries: several
  • Executables: one, msf_localization

Repository Branches

This repository has the following branches:

  • Master: Catkin version of the package.

Repository requirements and dependencies

System Requirements and Compatibility

This package is running under:

  • Ubuntu: 14.04 and above
  • ROS: Indigo and above with Catkin

This package has been tested under:

  • Ubuntu: 14.04
  • ROS: Indigo and Jade with Catkin

Dependencies

Additional System Dependencies

This metapackage requires:

  • Eigen3
  • Boosts

ROS Dependencies

This metapackage depends on the following ROS packages:

Extra ROS Dependencies

This metapackage depends on the following extra ROS packages:

Installation Instructions

Pre-requirements

Install all the system and ROS dependencies (for example, using rosdep install, or apt-get, or directly from source).

Installation steps

  1. Create your ROS catkin workspace as usual.
  2. Inside your workspace, download the extra ROS package pugixml: git clone https://github.com/joselusl/pugixml ./
  3. Inside your workspace, download the extra ROS package aruco_eye: git clone https://github.com/joselusl/aruco_eye ./
  4. Inside your workspace, download the extra ROS package px-ros-pkg: git clone https://github.com/cvg/px-ros-pkg ./
  5. Inside your workspace, download the msf_localization repository: git clone https://bitbucket.org/joselusl/msf_localization ./
  6. Compile your ROS catkin workspace as usual.

Running Instructions

The package msf_localization_ros included in this repository generates one ROS node that can be executed:

msf_localization_ros

This node runs the core of the algorithm.

ROS Launcher

The package msf_localization_ros includes a launcher called msf_localization_ros.launch.

ROS Topics

Subscribed topics:

  • several, configurable with an xml file, depending on the number and kind of the sensors used.

Published topics:

  • tf [tf2_msgs/TFMessage]: The tf information of the detected and reconstructed visual markers.
  • several.

ROS Parameters

Configurable ROS parameters:

  • msf_localization_config_file [type=string, default=$(find msf_localization_ros)/configs/msf_localization_config_file.xml]: the path to the configuration file. See below for more information.
  • several. TODO

ROS Services

Advertised ROS sevices:

  • several. TODO

Additional Configurations in files

There are two configuration files. An example can be find in msf_localization_ros/config:

  • msf_localization_config_file.xml: state estimator configuration, including used sensors. TODO complete.

Documentation

In the folder ./documentation, further documentation can be found.

Unfortunately this repository has no more extra documentation.

If this repository gets the interest of the community, we will continue adding information depending on the questions made by its users.

License

All distributed software are subject to the 3-clause BSD license. See the LICENSE file.

Contributors

Authors / Maintainers / Past contributors

List of people that have contributed:

  • Jose Luis Sanchez-Lopez (joselusl@hotmail.com): Main Author, Maintainaince, Debugging, Testing and Documentation.

Contact information

Questions, suggestions, requests, ... whatever. Feel free to contact me (Jose Luis Sanchez-Lopez - joselusl@hotmail.com).

New contributors

You are very welcome to contribute to this repository by opening a pull request via Github.

Acknowledgments

Special thanks to: