The Mobile Robot Programming Toolkit (MRPT) (2005-present)
Mobile Robot Programming Toolkit (MRPT) provides C++ developers an extensive, portable and well-tested set of libraries and applications which cover the most common data structures and algorithms employed in a number of mobile robotics research areas: localization, Simultaneous Localization and Mapping (SLAM), computer vision and motion planning (obstacle avoidance).
Official MRPT website: http://www.mrpt.org/
Robotics Frameworks
- The OpenMORA framework (2008-2009): Based on MOOS and MRPT. I started it and it's now maintained by the MAPIR lab.
- The BABEL framework: This software environment was developed by Juan Antonio Fernández Madrigal (Universidad de Málaga). I added small improvements to some of the latest versions and wrote a few modules for it.
- OpenSTARS: An initiative to define a common software core that can be used by many libraries, toolkits, frameworks and development systems in robotics.
Other Open-Source projects I started or contributed to
- CMake build system for StuiteSparse+METIS (2013): Allows using these libraries from Visual Studio or any other compiler supported by CMake.
- Denavit-Hartenberg GUI tutorial (2013): A didactic tool for learning, teaching or designing robotic arm kinematics.
- Maxwell-Boltzmann simulator (2012): A graphical simulator, with didactic purposes, which illustrates the Physics behind the kinetic theory of gasses and its relationship to probability distributions. Part of a Spanish Science blog article.
- The Recursive World Language (RWL) toolkit (2011-2013): A language definition and an interpreter for creating vast simulated worlds within which to simulate SLAM datasets.
- mooxygen (2009-2010): A tool which scans a directory tree containing MOOS modules and generates documentation about the variables that each module publishes or subscribes to, pretty much like doxygen does with functions and classes.
- Eigen linear Algebra C++ library: Really, really recommendable library. I made insignificant contributions there but don't want to waste the opportunity to recommend it.
- UTF-bom-utils (2009): Two small tools for adding and removing the UTF8 BOM marks to text files.
- Particle filter resampling routines in MATLAB (2009): This package has been published in the MATLAB Central web.
- The wxMathPlot library: This is a set of classes to allow the easy representation of scientific 2D graphs in GUI applications developed with the cross-platform wxWidgets framework. I made small contributions to this project. Visit the wxMathPlot main webpage at sourceforge.
- OpenCV: I made some small contributions to this C/C++ library well known in the field of computer vision. Visit the project website for more information and downloads.
- syncpath (2007): A cross-platform, open-source, lightweight command-line tool for synchronizing a source and a target directory. It can be used to synchronize two local directories in a machine, for example, a working directory and a backup in a removable device. Visit the sourceforge website to download the code or compiled versions.
- image_link: An extension to the MediaWiki content-manager. It allows a greater control on images in articles, such as assigning them custom links. Visit the project website for more information and downloads.
- "Open-cv bots" (2009): Fancy computer vision-based programs that learn how to play to Facebook games autonomously. Web: http://open-cv-bots.blogspot.com/
- I maintain a few Linux packages in Fedora and Debian (ported to Ubuntu as well).