Skip to content

Probler-Yt/SensorsAndRobotics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Sensors & Robotics — Autonomous Navigation with Vision Tracking

Autonomous robot navigation system combining Arduino-based motor control with MATLAB computer vision tracking. The robot follows a predefined path through an environment while being tracked in real-time from static camera footage.

Built as part of the Sensors & Robotics module at Liverpool John Moores University.

Overview

The project has two core components:

Robot Navigation (Arduino/C++) — A pre-built differential-drive robot chassis was wired and programmed to execute a precise sequence of movements autonomously:

  1. Drive forward 2m, rotate 90° left on the spot
  2. Drive forward 1m, rotate 90° right on the spot, then drive forward 2m
  3. Stop exactly 5cm in front of the destination target

All movements are from the robot's frame of reference. Motor control was calibrated to achieve accurate distances and rotation angles using timed drive sequences.

Vision Tracking (MATLAB) — A static camera (phone mounted in a fixed position) recorded the robot's full navigation run. A custom MATLAB algorithm processes the video feed to detect and track the robot throughout the entire sequence with zero loss of tracking.

Tech Stack

Component Technology
Microcontroller Arduino
Motor Control DC motors via H-bridge driver
Navigation Logic C++ (Arduino IDE)
Vision Tracking MATLAB (Computer Vision)
Recording Static-mounted phone camera

How It Works

Navigation

The Arduino controls two DC motors through an H-bridge, executing sequential move commands — forward drives at calibrated speeds/durations for distance accuracy, and differential steering (opposite wheel directions) for on-the-spot rotation. Timing and PWM values were tuned through iterative testing to hit the required distances and angles.

Vision Tracking

The MATLAB tracking algorithm processes the recorded video frame-by-frame, using colour-based detection and a tracking algorithm to maintain a continuous lock on the robot's position throughout the full navigation sequence. The system was designed to handle lighting variation and maintain tracking without dropout.

Demo

Robot Navigation & Vision Tracking

Project Structure

├── arduino/
│   └── robot_nav_annotated.ino    # Arduino motor control & navigation sequence
├── matlab/
│   ├── tracking_annotated.m       # MATLAB vision tracking algorithm
│   └── VideoOG.mp4                # Original recorded footage
├── Preview.gif                    # Demo of tracking in action
└── README.md

Results

The robot successfully completed the full navigation path autonomously, stopping within the required 5cm of the destination target. The MATLAB tracking algorithm maintained continuous detection throughout the entire recorded run with no loss of focus.

License

University coursework — LJMU Sensors & Robotics Module.

About

Arduino-based autonomous robot navigation with MATLAB computer vision tracking - LJMU Sensors & Robotics coursework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors