Skip to content

About

A fully functional Omni-directional Autonomous ROS delivery robot with Jetson Nano, SLAMTEC RPLIDAR and Orbbec Astra Camera

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Autonomous Delivery Robot

The Story Behind This Beast

Remember those sci-fi movies where robots deliver packages autonomously? Well, my team and I decided to stop dreaming and actually build one! This isn't your typical Arduino project - this is a full-blown autonomous delivery system that can navigate complex environments, avoid obstacles, and deliver packages like a pro.

After months of planning, coding, debugging (and a few existential crises), we ended up with something that still amazed us every time it ran. It's basically a mini version of what Amazon and FedEx are spending millions developing!

What Makes This Special

  • True Autonomous Navigation - No remote control, no pre-programmed paths. It figures out where to go all by itself
  • Computer Vision - Uses RGB-D camera to "see" and understand its environment
  • Real-time Mapping - Creates maps as it explores (SLAM technology)
  • Omni-directional Movement - Can move in ANY direction without turning (like those fancy warehouse robots)
  • Smart Delivery System - Picks up and delivers packages to specified locations
  • ROS Integration - Built on Robot Operating System for professional-grade robotics

The Hardware Arsenal

Component What We Used Why This Matters
Main Computer NVIDIA Jetson Nano AI processing power for computer vision and path planning
LIDAR SLAMTEC RPLIDAR A1 360° laser scanning for precise obstacle detection
Camera Orbbec Astra RGB-D Depth perception and visual recognition
Chassis Custom Omni-wheel Platform Allows movement in any direction without rotation
Motors 4x Omni-wheel Motors Individual wheel control for complex maneuvers
Sensors IMU, Encoders, Ultrasonic Sensor fusion for accurate positioning
Delivery System Custom gripper/platform Actually picks up and carries packages

Total cost: Around $800 (vs $50k+ for commercial delivery robots!)

How This Actually Works

The Brain (Software Architecture)

# Simplified version of the main decision loop
while robot.is_running():
    current_map = slam.update_map()
    obstacles = lidar.scan_environment()
    target = delivery_system.get_next_target()
    
    path = path_planner.plan_route(current_position, target, obstacles)
    
    if delivery_system.has_package():
        navigate_to_delivery_point()
    else:
        navigate_to_pickup_point()
        
    motor_controller.execute_movement(path)

The Magic Behind the Scenes

1. SLAM (Simultaneous Localization and Mapping)

  • Robot doesn't know where it is initially
  • Uses LIDAR to scan surroundings
  • Builds a map while figuring out its own position
  • Like being dropped in a new city with a compass - you explore and map simultaneously

2. Path Planning

  • Takes the map and finds the best route to destination
  • Avoids obstacles in real-time
  • Recalculates if something new appears (like a person walking by)

3. Omni-directional Movement

  • Can move forward, backward, sideways, or diagonally without turning
  • Each wheel can spin independently
  • Makes navigation in tight spaces WAY easier

4. Computer Vision

  • RGB-D camera provides both color and depth information
  • Identifies packages, delivery points, and obstacles
  • Helps with precise manipulation tasks

System Architecture

[LIDAR] ──┐
[Camera] ──┤
[IMU] ─────┤── [Jetson Nano] ── [ROS Core] ── [Path Planner] ── [Motor Controllers]
[GPS] ─────┤                       │                              │
[Encoders]─┘                   [SLAM Node]                   [Omni Wheels]
                                    │
                              [Map Database]

See It In Action on RViz and a Successful Delivery from one Office to the other

video_2025-07-20_15-32-17.mp4
video_2025-07-23_00-51-39.mp4

Performance Stats:

  • Navigation accuracy: ±5cm positioning
  • Obstacle detection range: 0.15m - 12m
  • Max speed: 1.5 m/s (but usually runs slower for safety)
  • Battery life: 3-4 hours continuous operation
  • Payload capacity: Up to 5kg

The Challenges (And How We Survived Them)

SLAM Tuning Hell: Getting the mapping algorithm to work reliably took WEEKS. The robot would get confused in symmetrical environments or when lighting changed. Solution: Tuned parameters for hours and added sensor fusion.

Omni-wheel Calibration: Those wheels are tricky! Each one needed individual calibration, and the kinematics math made my brain hurt. Spent many late nights with coffee and linear algebra.

ROS Learning Curve: Coming from Arduino to ROS was like jumping from a bicycle to a spaceship. The node system, topics, and launch files were overwhelming at first. YouTube tutorials saved my life!

Real-world vs Simulation: Everything worked perfectly in simulation, then the real world happened. Carpet texture, lighting changes, and random obstacles broke everything. Learned that robust robotics is HARD.

What This Project Taught Us

Technical Skills:

  • ROS (Robot Operating System) - Industry standard for robotics
  • Computer Vision - OpenCV, point clouds, object detection
  • SLAM Algorithms - Mapping and localization techniques
  • Path Planning - A*, RRT, and other algorithms
  • Sensor Fusion - Combining multiple data sources
  • Kinematics - Math behind omni-directional movement
  • Linux & Python - System integration and real-time processing

Real-world Lessons:

  • Simulation ≠ Reality (learned this the hard way!)
  • Robust error handling is EVERYTHING
  • Good documentation saves future-you hours of confusion
  • Test in small increments - debugging a full system is nightmare fuel
  • Battery management is crucial for autonomous systems

Current Features vs Future Dreams

What Works Now:

  • Autonomous navigation in indoor environments
  • Real-time obstacle avoidance
  • Package pickup and delivery
  • Remote monitoring and control
  • Map saving and reloading

What's Coming Next:

  • Outdoor GPS navigation
  • Elevator usage (for multi-floor delivery)
  • Voice commands and interaction
  • Machine learning for route optimization
  • Integration with delivery management systems

Real-World Applications

This isn't just a cool project - it's addressing real problems:

Healthcare: Delivering medicines and supplies in hospitals
Warehouses: Moving inventory autonomously
Restaurants: Food delivery in large facilities
Offices: Internal mail and supply delivery
Elder Care: Medication and meal delivery to residents

The techniques we developed here scale directly to commercial delivery robots that cost 100x more!

Technologies Used

ROS Python OpenCV SLAM LIDAR Computer-Vision Autonomous-Navigation Jetson-Nano Path-Planning Robotics Omni-Wheels Sensor-Fusion


Built with determination, lots of debugging, and an unhealthy amount of coffee

This project convinced me that the future of robotics isn't just in labs - it's something we can build today with the right combination of hardware, software, and persistence. Every delivery this robot makes feels like science fiction becoming reality!

About

A fully functional Omni-directional Autonomous ROS delivery robot with Jetson Nano, SLAMTEC RPLIDAR and Orbbec Astra Camera

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages