Wolf is a front-end library to solve localization problems in mobile robotics, such as SLAM, map-based localization, or visual odometry. The approach contemplates the coexistence of multiple sensors, be them synchronized or not. It is thought to build state vectors formed by a set of key-frames (window), and compute error vectors given the available measurements in that window.
==== Features ====
* State and error mapped to a memory space.
* Multi-sensor
* Different state types
* Highly templatized library
==== Some preliminary documentation ====
* You can visit this [https://docs.google.com/document/d/1_kBtvCIo33pdP59M3Ib4iEBleDDLcN6yCbmwJDBLtcA Wolf inspiring document]. Contact [mailto:jsola@iri.upc.edu Joan] if you need permissions for the link.
* You can also have a look at the [https://docs.google.com/drawings/d/1jj5VVjQThddswpTPMLG2xv87vtT3o1jiMJo3Mk1Utjg Wolf tree], showing the organization of the main elements in the Wolf project. Contact [mailto:acorominas@iri.upc.edu Andreu] if you need permissions for the link.
* You can finally visit this [https://docs.google.com/document/d/18XQlgdfTwplakYKKsfw2YAoaVuSyUEQoaU6bYHQDNpU other inspiring document] providing the initial motivation for the Wolf project. Contact [mailto:jsola@iri.upc.edu Joan] if you need permissions for the link.
== Dependencies ==
==== Eigen ====
[http://eigen.tuxfamily.org Eigen]. Linear algebra, header library.
Eigen 3.2 is also a depencency of ROS-Hydro. In case you don't have ROS in your machine, you can install Eigen by typing:
[http://www.ceres-solver.org/ Ceres] is an optimization library. Currently, this dependency is optional, so the build procedure of Wolf skips part of compilation in case this dependency is not found on the system. '''Installation''' is desctibed at [http://www.ceres-solver.org/building.html Ceres site]. However we report here an alternative step by step procedure to install Ceres.
'''(1)''' Skip this step if Cmake 2.8.0+ and Eigen3.0+ are already installed. Otherwise install them with ''apt-get''.