A ROS wrapper for libviso2, enabling visual odometry for monocular and omnidirectional camera systems in robotics.
viso2 is a ROS wrapper for the libviso2 library, enabling visual odometry for robotic systems. It processes camera images to estimate a robot's motion and position without relying on wheel encoders or GPS, using either standard monocular or omnidirectional cameras. This is particularly useful in GPS-denied environments or for platforms where traditional odometry is unreliable.
Robotics researchers and engineers working on autonomous navigation, especially those using ROS and needing visual-based motion estimation for drones, ground robots, or other mobile platforms.
It provides a ready-to-use ROS integration of a proven visual odometry library, with added support for omnidirectional cameras—offering flexibility and accuracy where standard perspective cameras fall short. The included benchmarking tools help validate performance against ground truth data.
A ROS wrapper for libviso2, a library for visual odometry
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides ready-to-use ROS nodes, topics, and launch files, making it easy to incorporate into existing robotic systems without extensive coding.
Extends libviso2 to work with fisheye and wide-angle cameras using a unified camera model, offering flexibility in camera choice for various applications.
Includes sample datasets and launch files for performance testing, allowing users to compare accuracy against methods like Hector SLAM and conventional odometry.
Wraps libviso2, a well-established visual odometry library, ensuring reliable motion estimation algorithms.
Calibration for omnidirectional cameras requires the Ocamcalib toolbox for MATLAB, which is proprietary and adds an extra layer of setup complexity.
Camera height and pitch must be set manually for scaling, and incorrect calibration can lead to inaccurate odometry, as emphasized in the README.
Does not include loop closure or full SLAM capabilities, so it's prone to drift over long trajectories without external correction.
The README is brief and focuses on basic execution, lacking detailed troubleshooting guides or advanced configuration examples.