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.
- Disclaimer
- Repository information
- Repository requirements and dependencies
- Installation Instructions
- Running Instructions
- Documentation
- License
- Contributors
- Acknowledgments
You are using this software at your own risk. The authors decline any responsibility for personal injuries and/or property damage.
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
This repository generates:
- Libraries: several
- Executables: one, msf_localization
This repository has the following branches:
- Master: Catkin version of the package.
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
This metapackage requires:
- Eigen3
- Boosts
This metapackage depends on the following ROS packages:
- roscpp: http://wiki.ros.org/roscpp
- message_generation: http://wiki.ros.org/message_generation
- message_runtime: http://wiki.ros.org/message_runtime
- std_msgs: http://wiki.ros.org/std_msgs
- std_srvs: http://wiki.ros.org/std_srvs
- sensor_msgs: http://wiki.ros.org/sensor_msgs
- geometry_msgs: http://wiki.ros.org/geometry_msgs
- tf: http://wiki.ros.org/tf
This metapackage depends on the following extra ROS packages:
- pugixml: https://github.com/joselusl/pugixml
- aruco_eye_msgs: https://github.com/joselusl/aruco_eye
- px_comm: http://wiki.ros.org/px-ros-pkg
Install all the system and ROS dependencies (for example, using rosdep install, or apt-get, or directly from source).
- Create your ROS catkin workspace as usual.
- Inside your workspace, download the extra ROS package pugixml: git clone https://github.com/joselusl/pugixml ./
- Inside your workspace, download the extra ROS package aruco_eye: git clone https://github.com/joselusl/aruco_eye ./
- Inside your workspace, download the extra ROS package px-ros-pkg: git clone https://github.com/cvg/px-ros-pkg ./
- Inside your workspace, download the msf_localization repository: git clone https://bitbucket.org/joselusl/msf_localization ./
- Compile your ROS catkin workspace as usual.
The package msf_localization_ros included in this repository generates one ROS node that can be executed:
This node runs the core of the algorithm.
The package msf_localization_ros includes a launcher called msf_localization_ros.launch.
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.
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
Advertised ROS sevices:
- several. TODO
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.
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.
All distributed software are subject to the 3-clause BSD license. See the LICENSE file.
List of people that have contributed:
- Jose Luis Sanchez-Lopez (joselusl@hotmail.com): Main Author, Maintainaince, Debugging, Testing and Documentation.
Questions, suggestions, requests, ... whatever. Feel free to contact me (Jose Luis Sanchez-Lopez - joselusl@hotmail.com).
You are very welcome to contribute to this repository by opening a pull request via Github.
Special thanks to:
- LAAS-CNRS: https://www.laas.fr
- Computer Vision Group (CVG): www.vision4uav.eu
- Centre for Automation and Robotics (CAR): http://www.car.upm-csic.es/
- Consejo Superior de Investigaciones Cientificas (CSIC): http://www.csic.es
- Universidad Politecnica de Madrid (UPM): http://www.upm.es