Welcome to Kerala Project Center.

Path Planner Robot for Indoor Positioning using RF Ranging GPS

Path Planner Robot for Indoor Positioning using RF Ranging GPS

Path Planner Robot for Indoor Positioning using RF Ranging GPS project diagram

Standard GPS receivers are accurate to roughly 20–50 metres at best, and their signal doesn't reliably reach indoors at all — leaving indoor mobile robots with no usable satellite positioning inside buildings.

This project replaces GPS with a 3-node Ultra-Wideband (UWB) anchor grid, achieving around 10cm positioning accuracy indoors — a large improvement over GPS, in an environment where GPS doesn't function at all. The user sends a target (x, y) coordinate from an Android app; the robot calculates its own position from the UWB grid, plans a path to the target, and drives there — using an onboard magnetometer to correct heading drift along the way and Mecanum wheels for precise, no-wide-turn maneuvering into final position.

How It Works

  • Three UWB anchor modules (e.g. DecaWave DWM1000) are fixed at known coordinates around the operating space, forming a reference grid.
  • The robot's onboard UWB tag exchanges time-of-flight ranging messages with each of the three anchors; the resulting distances are trilaterated into the robot's real-time (x, y) position, accurate to roughly 10cm.
  • The user enters a target coordinate through an Android app, sent to the robot over Bluetooth/Wi-Fi.
  • An onboard path-planning routine computes a route from the robot's current UWB-derived position to the target.
  • A magnetometer (digital compass) cross-checks and corrects heading drift during travel, since wheel odometry alone accumulates error over a route.
  • Mecanum wheels let the robot strafe and rotate precisely to align exactly with the target coordinate without needing a wide turning arc.

Components



Arduino Mega or ESP32 (robot controller)
3x UWB DWM1000 anchor modules (fixed, known coordinates) + 1 mobile UWB tag (on robot)
Magnetometer (HMC5883L / QMC5883L)
4x Mecanum wheels + DC gear motors
Dual motor driver modules (L298N / BTS7960) for 4-wheel independent control
Bluetooth (HC-05) or built-in Wi-Fi (ESP32) for Android app communication
Android app for target-coordinate input
Battery pack + chassis


Applications

  • Warehouse and indoor delivery robots
  • Hospital equipment/medication transport bots
  • Indoor mobile robot and drone navigation research
  • GPS-denied environments — basements, tunnels, multi-storey buildings

Advantages

  • ~10cm UWB accuracy vs GPS's 20-50m — and works fully indoors, where GPS doesn't reach at all
  • App-based target-coordinate input replaces manual driving with a simple destination command
  • Magnetometer heading correction keeps the robot on course over longer routes than wheel odometry alone
  • Mecanum wheels give precise final positioning without wide turning maneuvers

Sample Code — UWB Trilateration with Magnetometer Heading Correction



// Simplified UWB trilateration + heading correction outline - Arduino
struct Point { float x, y; };
Point anchor1 = {0, 0}, anchor2 = {500, 0}, anchor3 = {250, 500}; // cm, known positions

Point trilaterate(float d1, float d2, float d3) {
  float x = (sq(d1) - sq(d2) + sq(anchor2.x)) / (2 * anchor2.x);
  float y = (sq(d1) - sq(d3) + sq(anchor3.x) + sq(anchor3.y) - 2*anchor3.x*x) / (2 * anchor3.y);
  return {x, y};
}

void loop() {
  float d1 = readUWBDistance(1); // DWM1000 ranging exchange per anchor
  float d2 = readUWBDistance(2);
  float d3 = readUWBDistance(3);
  Point pos = trilaterate(d1, d2, d3);

  float heading = readMagnetometerHeading(); // corrects drift from wheel odometry
  driveTowardWaypoint(pos, heading, targetWaypoint); // Mecanum path-follow + correction
}


Related Research


Hours

Monday - Saturday: 9:00 AM - 5:00 PM
Sunday: Not Working

Location

2nd Floor, Comptron Arcade, Kallattumukku,
Thiruvananthapuram, Kerala 695012

Book Now

+91 9633118080