Projects

A showcase of my work in robotics, computer vision, and practical tools

Featured Projects

VILA-Powered Semantic Mapping & Navigation

Robotics

Autonomous Exploration meets Modern Vision-Language Models (VLMs)

The Goal: To build a robot that doesn't just see a "map", but understands its environment. By combining ROS2 Humble, 2D LiDAR SLAM, and the VILA 2.7B Vision-Language Model, this robot autonomously maps indoor spaces and labels them (e.g., "Kitchen", "Office") for high-level semantic navigation.

Key Capabilities:

  • Zero-Intervention Exploration: Using a frontier-based explorer and the Nav2 stack, the robot autonomously drives toward unknown areas to build a complete 2D occupancy grid of any indoor environment.
  • Real-Time Semantic Understanding: While mapping, the robot captures image frames and processes them through a quantized VILA 2.7B VLM running on NVIDIA Jetson hardware.
  • Spatial Consensus Mapping: Rather than relying on a single capture, the system aggregates multiple AI inferences at specific (X, Y) coordinates to ensure robust room identification.
  • Natural Language Navigation: Once mapped, the robot can be sent to specific rooms using human-readable commands (e.g., "Go to the Bedroom"), translating semantic labels into precise navigation waypoints.

Performance Metrics:

  • Semantic Accuracy: 80% consistency in room/zone detection across varying lighting conditions.
  • Inference Latency: ~700ms per frame - optimized for real-time background processing on embedded edge hardware.
  • Exploration Reliability: High-stability mapping with zero-intervention coverage of complex apartment layouts.

How it Works (Technical Deep-Dive):

  • Mecanum Drivetrain: Precise 3-DOF movement allows the robot to strafe and pivot in tight spaces, optimized via a custom mecanum_odometry_node.
  • Containerized Stack: The entire system - from LiDAR drivers to the VILA model - is managed via Docker Compose, ensuring consistent performance and easy updates on edge hardware.
  • Sensor Fusion: Synchronizing LiDAR (for geometry) and Camera (for semantics) requires precise TF2 coordinate transforms to accurately tag the 2D map with AI-generated labels.
ROS2 HumbleNav2SLAM ToolboxVILA 2.7BNVIDIA JetsonOpenMV RT1062Docker
A website to help track your wishlist cards and where to purchase them at the cheapest price, this includes raw and graded cards.
PythonWeb ScrapingData AnalysisREST APISupabaseNext.jsOAuth

OpenMV-Lego-NXT Robot

Robotics
Lego NXT robot with AprilTag navigation that successfully traversed hallways detecting tags. On pause while focusing on ROS2.
PythonJavaOpenCVAprilTagsLego NXTLeJOS

eBay Assistant Web Extension

Tools
Chrome extension that finds the best price for Pokemon cards by searching PriceCharting.com from eBay listings.
JavaScriptWeb ScrapingREST APIs

DIY 3D Printer from CD Players

Hardware
A fun learning project exploring how 3D printers work by building one from salvaged CD player motors and spare parts.
ArduinoSolderingFusion360ElectronicsMechanical Design

VILA-Powered Semantic Mapping & Navigation

Robotics
VILA-Powered Semantic Mapping & Navigation: Autonomous Exploration meets Modern Vision-Language Models (VLMs)
ROS2 HumbleNav2SLAM Toolbox
A website to help track your wishlist cards and where to purchase them at the cheapest price, this includes raw and graded cards.
PythonWeb ScrapingData Analysis

OpenMV-Lego-NXT Robot

Robotics
Lego NXT robot with AprilTag navigation that successfully traversed hallways detecting tags. On pause while focusing on ROS2.
PythonJavaOpenCV

eBay Assistant Web Extension

Tools
Chrome extension that finds the best price for Pokemon cards by searching PriceCharting.com from eBay listings.
JavaScriptWeb ScrapingREST APIs

DIY 3D Printer from CD Players

Hardware
A fun learning project exploring how 3D printers work by building one from salvaged CD player motors and spare parts.
ArduinoSolderingFusion360

Arduino VR Walking Tracker

Hardware
MPU6050-based device that detects foot movement to enable walking-in-place in VR environments.
ArduinoC++VR

5DOF Robot Arm

Robotics
Five degree-of-freedom robotic arm with inverse kinematics for pick-and-place tasks and computer vision.
PythonInverse KinematicsOpenCV

Custom Robot Parts Library

CAD
Collection of custom-designed mechanical parts for robotics projects, designed in Fusion360 and optimized for 3D printing.
Fusion360CAD3D Printing

3D Models & CAD Work

Design Philosophy

I design parts for two main areas: everyday utility and robotics. On the practical side, that means things like a custom laptop mount and magnetic card holders for my wall, basically parts that solve real problems around the house and workspace.

On the robotics side, a big focus has been recreating components that are no longer in productionso I can keep building with the Actobotics hardware I already have. Rather than scrapping a whole build over a discontinued bracket or adapter, I model the part myself and print it.

Everything is designed in Fusion360 and printed on my 3D printer, iterated until it fits and holds up in real use.

Interactive 3D Models

A select few from the many parts I've designed — just a glimpse of what I've worked with.

Click and drag to rotate • Scroll to zoom

OpenMV RT1062 Mount for Servo

A mount designed to hold the standard OpenMV RT1062 V5 case and screw directly onto a standard-size servo, letting me attach a camera to any joint on my robotic arm for on-arm computer vision.

Application:Computer vision systems
Material:PLA recommended
Fusion3603D Printable

Custom Servo Mount

Purpose-built servo mounting bracket tailored to specific robot joint configurations. Provides rigid attachment while maintaining alignment under load.

Application:Robot arm & joint assemblies
Material:PLA/PETG optimized
Fusion3603D Printable

V2 CD-ROM 3D Printer

Second revision of my DIY 3D printer built from salvaged CD player motors. This full assembly model captures the complete frame and motion system designed in Fusion360.

Application:DIY 3D printer build
Material:Mixed PLA & salvaged hardware
Fusion3603D PrintableFull Assembly

My Design Process

📏

1. Measure & Plan

Carefully measure existing components and define requirements

🖥️

2. CAD Design

Model in Fusion360 with parametric design for easy adjustments

🖨️

3. Print & Test

3D print on my DIY printer and test fit with actual hardware

🔄

4. Iterate

Refine design based on real-world performance and feedback

Tools & Software

CAD Software

  • • Fusion360 (Primary)
  • • Parametric modeling
  • • Simulation & analysis

Fabrication

  • • DIY 3D printer (CD players)
  • • 3D Scanning
  • • PLA/PETG printing
  • • Post-processing

Applications

  • • Robot components
  • • Sensor mounts
  • • Custom adapters