Collection of packages which make up the MLAM framework to perform mutual localization with anonymous measurements.
- Author: Maintained by Paolo Stegagno and Antonio Franchi
License: http://www.dis.uniroma1.it/~stegagno/assets/files/licenseBSD.txt
- Source: svn://labrob.dis.uniroma1.it/software/mlam/release/mlam-0.1
Contents
This site and the MLAM code itself are under active development. We will always try out best to release only tested code, however, any version might still contain some undesired behavior.
License
MLAM is released under the new BSD license. Please note that this software is provided 'as is' whithout any warranties. Furthermore, neither one of the authors nor their institutions can be hold responsible of any harm or damage of any kind caused by the use of this software or by follwing this instructions. The use of MLAM is completely at your own risk!
If you appreciate MLAM and it is usefull for your research, please cite us. The academic reference for this work is
A. Franchi, G. Oriolo and P. Stegagno. Mutual Localization in Multi-Robot Systems using Anonymous Relative Measurements. International Journal of Robotics Research, in press.
There you can find also all theoretical details on the mutual localization with anonymous measurements. If you are interested, you should check also:
http://www.dis.uniroma1.it/~labrob/research/mutLoc.html
Requirements
- Currently, MLAM is tested only on Ubuntu 12.04 LTS in combination with ROS Fuerte. In principle, it should work on other Ubuntu and ROS distributions, and if you want to try it and report the results we will be glad to update this page.
- MLAM uses the following libraries:
bfl (ROS package)
- libgsl0-dev (from synaptic)
- boost-serialization (we plan to eliminate this in the next version, as it is not really used)
Tutorial
In this tutorial we assume you have ROS Fuerte correctly installed on your PC, as well as a workspace directory.
Download
$ roscd |
$ svn export svn://labrob.dis.uniroma1.it/software/mlam/release/mlam-0.1 mlam |
$ rosmake mlam |
Packages
MLAM consists of 2 packages:
mlam-baselibs: contains the basic classes which will be used in the developed algorithms
mlam-p: contains the algorithms and methods to execute mutual localization with anonymous measurements
Offline execution
In the mlam stack we provide a dataset to try mlam offline, you can find it in mlam-p/data/exp16. In order to perform the mutual localization with anonymous measurements on this dataset, execute:
$ roslaunch mlam-p example.launch --screen |
Note: you can avoid '--screen' if you want to suppress the output. You will need to check the output topic
Note that example.launch is a complete howto. in order to understand what is going on when you launch it, how to perform mutual localization from anonymous measurements on your own data and how to interface with the mode performing the mutual localization, you should read all the comments in example.launch.
The output of the estimation will be sent as a std_msgs::Float64MultiArray message on the output topic (default /mlam_p/out). The format of the output data is explained in the example.launch file, as well as how to change the output topic.
Online execution
You can easily perform mutual localization online with your robots by executing:
$ roslaunch mlam-p exampleOnLine.launch --screen |
To understand how to interface with the mlam-p-server node, refer to example.launch. In order to understand all parameters of the algorithms to perform the mutual localization with anonymous measurements, you can find the complete list in the exampleOnLine.launch file, with an explanation and some hint.
Report a Bug
Please report me any bug you find, I will try to work it out.
<<TracLink(REPO COMPONENT)>>