Computer vision / 2024 — 2025

Autonomous Rover Navigation

From camera pixels to a navigation signal.

PERCEPTION / ROS 2TRAINING ANNOTATIONS
Real annotated arrow training mosaic from the rover repository, not inference output

01 / THE PROBLEM

Perception in motion.

A rover needs to turn visual cues into a navigation signal under changing outdoor conditions. Detecting an arrow is only one part of the problem; its position must reach the robotics stack in a useful form.

My contribution

AI/ML developer · Rover team

I built the arrow detection pipeline, assembled annotated training images and integrated perception with the ROS 2 navigation workflow for competition trials.

02 / TECHNICAL APPROACH

Inside the
implementation.

  1. 01

    The project explores classical OpenCV methods and YOLO-based detection. The YOLOv8n training configuration uses a 640-pixel input size and batch size 16.

  2. 02

    A ROS 2 node subscribes to image_raw, converts the message using CvBridge and sends the frame to a YOLO model with a 0.5 confidence threshold.

  3. 03

    For each detected box, the node computes horizontal deviation from the frame center, publishes it in a Twist message on yolo_info and displays annotated frames.

  4. 04

    The Roboflow dataset export contains 1,244 images with auto-orientation and 1024 × 1024 resizing before model-specific preprocessing.

03 / SYSTEM ARCHITECTURE

Follow the signal.

Select a stage to explore
how the system works.

01

Camera topic

ROS 2 sensor_msgs/Image messages arrive on image_raw.

05 / RESULTS & OUTCOMES

What the work delivers.

1,244Images in public export
14thInternational Rover Challenge 2025
32Competing teams

The rover team placed 14th among 32 teams at the International Rover Challenge 2025. The perception pipeline turns detected arrows into position signals that the navigation stack can consume.

Scope & limitations

  • The visual is a saved training mosaic with annotations, not a live inference or tracking demo.
  • Detection is frame-based; the pipeline does not track object identities across frames.
  • Public source includes local model paths that need configuration before running on another machine.

06 / ENGINEERING DECISIONS

The interesting
constraints.

Perception has to leave the notebook

The ROS node makes the detector’s result available to other processes through a concrete message interface.

Keeping coordinates useful

A bounding box alone is not a navigation command. Expressing its center relative to the frame gives the robotics stack a consistent signal to interpret.

ENGINEERING TAKEAWAY

Perception becomes useful when the output, timing and coordinate conventions fit the system consuming it.

07 / BUILDING BLOCKS

Tools with
a purpose.

Python / OpenCV
Frame processing and visualization
YOLOv8
Arrow detection experiments
ROS 2 / CvBridge
Camera and navigation messaging

Go to the source

NEXT PROJECT / 03

Market Analysis & Financial Insights