Skip to content

Research-ready Visual Odometry implementation for robotics education and research.

Notifications You must be signed in to change notification settings

kryptologyst/Visual-Odometry-Implementation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visual Odometry Implementation

Research-ready Visual Odometry implementation for robotics education and research.

DISCLAIMER

WARNING: This software is for educational and research purposes only. DO NOT use on real robots without proper safety measures, expert review, and extensive testing. This implementation lacks safety-critical features required for real-world deployment.

Features

  • Multiple Visual Odometry algorithms (ORB, SIFT, Optical Flow)
  • Comprehensive evaluation metrics (ATE, RPE, drift analysis)
  • ROS 2 integration with proper message types
  • Interactive demos and visualizations
  • Simulation data generation
  • Modern Python practices with type hints and documentation

Quick Start

Installation

# Clone the repository
git clone https://github.com/kryptologyst/Visual-Odometry-Implementation.git
cd Visual-Odometry-Implementation

# Install dependencies
pip install -e .

# Install optional dependencies
pip install -e ".[ros2,simulation,learning]"

Basic Usage

# Run the basic visual odometry demo
python scripts/run_vo_demo.py

# Run with ROS 2 (if installed)
ros2 launch visual_odometry vo_demo.launch.py

# Run interactive demo
streamlit run demo/streamlit_app.py

Project Structure

├── src/                    # Source code
│   ├── visual_odometry/    # Core VO algorithms
│   └── utils/              # Utility functions
├── robots/                 # Robot descriptions
│   ├── urdf/              # URDF files
│   └── meshes/            # 3D meshes
├── launch/                # ROS 2 launch files
├── config/                # Configuration files
├── data/                  # Datasets and sample data
├── scripts/               # Command-line scripts
├── notebooks/             # Jupyter notebooks
├── tests/                 # Unit tests
├── assets/                # Generated artifacts
└── demo/                  # Interactive demos

Algorithms

  • ORB-based VO: Oriented FAST and Rotated BRIEF features
  • SIFT-based VO: Scale-Invariant Feature Transform
  • Optical Flow: Lucas-Kanade and Farneback methods
  • Essential Matrix: RANSAC-based outlier rejection

Evaluation Metrics

  • ATE (Absolute Trajectory Error): Overall trajectory accuracy
  • RPE (Relative Pose Error): Frame-to-frame accuracy
  • Drift Analysis: Long-term trajectory drift
  • Feature Tracking: Match quality and consistency

Safety and Limitations

  • Simulation-only implementation
  • No real-time guarantees
  • Limited to indoor environments
  • Requires good lighting conditions
  • No obstacle avoidance
  • No collision detection

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Visual-Odometry-Implementation

About

Research-ready Visual Odometry implementation for robotics education and research.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors