MOBOROBOT

Mapless Autonomous Coverage via Stereo-Visual-Inertial Odometry and SLAM

A physical robot that builds its understanding of a space, visualizes safe movement through costmaps, then systematically covers reachable regions without GPS or pre-built maps.

Stereo Perception

OAK-D Pro depth sensing

Real-Time Mapping

Using SLAM

Intelligent Navigation

Obstacle avoidance & Coverage planning

Built on ROS2

Powered by Jetson Orin

Overview

System Overview

MOBOROBOT mobile robot hardware platform

Moborobot - mobile robot platform

Compute
NVIDIA Jetson Orin 16GB
Camera
OAK-D Pro Luxonis active stereo + RGB
Depth
Hardware stereo engine, 640x400 @ 20fps
Stereo Baseline
75mm
IMU
BNO085 9-axis accel + gyro + mag, integrated in OAK-D Pro
Middleware
ROS 2
Pipeline

OAK-D Pro

RGB + stereo + IMU

RTAB-Map Odom

Visual-inertial odometry

RTAB-Map SLAM

Occupancy map + loop closure

Nav2

Costmaps + navigation planning

Point Cloud

Depth from camera

OpenNav Coverage + Fields2Cover

Coverage path from target area

Robot Motors

via /cmd_vel

METHODS

How the system was built and tested.

Tech Stack
ROS 2 Docker Nav2 RTAB-Map OAK Driver OpenNav Jetson Orin
Testing Workflow
  1. 01

    ROS conventions and TF tree

    We aligned the workspace around standard ROS frames, connecting map, odom, base_link, and camera frames so sensor drivers, RTAB-Map, and Nav2 shared the same pose model.

  2. 02

    Motor driver through /cmd_vel

    The motor driver was tested with the standard /cmd_vel topic. Containers on the same subnet and ROS_DOMAIN_ID could publish velocity commands from any part of the system.

  3. 03

    RTAB-Map for visual SLAM

    We selected RTAB-Map because it supports RGB-D visual odometry, SLAM, loop closure, and map generation from the OAK-D camera's depth and visual streams.

  4. 04

    Nav2 plugins

    Nav2 handled planning, control, smoothing, behavior recovery, waypoint following, lifecycle management, velocity smoothing, and local/global costmaps.

  5. 05

    OpenNav Coverage

    OpenNav Coverage and Fields2Cover generated coverage paths from polygon field boundaries, producing swaths and paths for visualization and execution through Nav2.

Results

SLAM Loop Closure

Key Result

RTAB-Map SLAM outperformed pure wheel odometry on a 25.16m closed-loop course. Lateral deviation stayed below 0.2m compared to 1.0m for odometry alone, and the estimated path dimensions matched the 5.10 x 7.48m ground truth to within 8%.

SLAM map before loop closure with visible trajectory drift
Before Loop still open
SLAM map after loop closure with the trajectory corrected
After Loop closure corrected drift

Demos

SLAM & LOOP CLOSURE DEMO

Add assets/videos/loop-closure.mp4

TEAM

Get To Know Us :)