Skip to content

A Jetson Nano-powered mobile robot with camera, LiDAR, and ROS-based navigation. Supports remote control and real-time sensor visualization.

Notifications You must be signed in to change notification settings

mrsamsonn/autonomous-delivery-wagon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🚚 Autonomous Delivery Wagon (ADW) [In Progress]

A sidewalk-friendly autonomous delivery robot designed for scalable logistics.

πŸ› οΈ Project Overview

The Autonomous Delivery Wagon (ADW) is a heavy-duty autonomous robot platform, based on a modified garden wagon chassis, and tailored for real-world delivery applications. Designed with affordability, modularity, and functionality in mind, ADW is engineered to carry up to 600 lbs while navigating sidewalks and varied terrains autonomously.

tldr; designing an autonomous bot for local food delivery (ie. doordash, ubereats) by utilizing sidewalks


Block Diagram

Axle Installed

βš™οΈ Key Features

  • Modified Commercial Wagon Base

    • Reinforced steel-frame platform
    • Custom axle replacement for improved durability
    • Integrated 350W high-torque motor and servo system for controlled mobility
  • Advanced Perception Stack

    • Mounted 3D LiDAR with 360Β° horizontal and 90Β° vertical FOV for robust environmental awareness
    • Mono camera for object detection and tracking
    • Real-time obstacle detection and path planning
  • Compute & Autonomy

    • Powered by NVIDIA Jetson Nano
    • Running SLAM (Simultaneous Localization and Mapping) and ROS (Robot Operating System) for localization and autonomous decision-making
  • Planned Capabilities

    • Manual control phase (for testing and calibration)
    • Data collection for SLAM and AI model tuning
    • Autonomous path planning and dynamic rerouting
    • Secure delivery logic with compartment locking

πŸ“… Development Roadmap

Current Phase: Finalizing steering for precise movement
Upcoming Phase: LiDAR Point Cloud and Mono Camera RGB data fusion

  • βœ… Modify base wagon and install axle/motor system
  • βœ…πŸ”„ Integrate motor and servo components
  • βœ… Mount 3D LiDAR and mono camera
  • βœ… Building housing and electronics mount
  • βœ… Manual control setup
  • πŸ”„πŸ§ͺ Upcoming: SLAM data collection and initial autonomy tests

πŸ“š Tech Stack

Hardware:
Modified Wagon Frame β€’ Custom Axle β€’ 350W Motor β€’ 3D LiDAR (360Β°x90Β°) β€’ Mono Camera β€’ Servo Steering

Software & Compute:
NVIDIA Jetson Nano β€’ ROS β€’ SLAM β€’ Python β€’ C++


πŸ’‘ Project Goal

To create a low-cost, sidewalk-compatible autonomous delivery robot platform inspired by real-world AVs. Aiming to utilize sidewalk infastracture for logistics (ie doordash, ubereats).


Journal Log

πŸ›ž status as of 05/28/25 [current servo not reliable πŸ€¦β€β™‚οΈ, attempting to replace with RS380 12V steering motor βš™οΈ]

Issue:

  • kept blowing even under low current
  • has inline fuse of 5A and board still blew at quick stall, brought inline fuse down to 3A, still blew the board
  • context, this is the second servo that blew up despite having inline fuse below rated stall current: "Stall current at locked ( 12.6V ): 8.3A"
  • should have listened to amazon 'frequently returned' warning πŸ˜…

Will attempt to use RS380 12V steering motor typically used for kids electric car

  • designed and printed new holder
  • but currently experiencing tensions at specific areas due to minor measurement issues +/-1mm

πŸ›ž status as of 05/15/25 [init ros launch script πŸ’»]

πŸ›ž status as of 05/08/25 [responsive steering, but wheel alignment issue? πŸ›žβš™οΈ]

new problem!!!! what's an engineering project that doesn't have issues right? 🫠

Axle Installed Axle Installed Axle Installed Axle Installed

Issue:

  • forward-right seems to be sliding

Investigation:

  • noticed left wheel has less grip compare to right wheel
    • further investigation shows that right wheel is slightly floating
  • noticed wagon chassis is sagging more to left side
    • resulting to a lower left wheel and higher right wheel

Attempts:

  • removing air from left wheel to lower left side and theoretically balance
    • there was slight improvement but issue persist

To Do:

  • investigate what causing chassis imbalance and attempt fix
  • dive into adding suspension
    • might result to more complication
    • will take more time on steering mechanism development, pushing data fusion and collection dev further.

πŸ›ž status as of 05/04/25 [servo and motor signal is clean πŸ‘Œ]

Axle Installed Axle Installed Axle Installed

Solution:

  • Found out SDA and SCL can be enabled through device tree for Jetson Nano Pin 27/28
  • used another PCA PWM controller for servo - resulted to cleaner signals and eliminated twitching
  • but this solution met by another issue, Jetson only has two 5V pins (was being used by motor driver and pca_1) - see block diagram above for new wiring as solution

πŸ›ž status as of 05/02/25 [servo twitching... 🫠]

Axle Installed Axle Installed

Problem:

Steering mech is resolved!! but currently experiencing servo twitching, even with no mechanical load. After investigation, the issue appears to stem from the PWM signal quality from Jetson Nano pin 32.

New Findings:

  • PWM Signal from Jetson Pin 32 (GPIO12) appears to be a sine-like waveform, not a proper square wave.
    • Observed via oscilloscope: signal is unstable and inconsistent, likely due to software-based PWM emulation.
  • In contrast, a PWM signal from a PCA9685 (driven through IΒ²C from the Jetson) is a clean square wave.
  • Jetson GND is confirmed stable, as it was used during both tests (pin 32 vs PCA).
Pin 32 PWM Signal (Sine-Like) PCA9685 PWM Signal (Clean Square Wave)
Pin 32 PWM Signal (Sine-Like)
PCA9685 PWM Signal (Clean Square Wave)

Constraint:

  • Only one PCA9685 is available and is currently used for controlling a brushed motor, which runs at a different PWM frequency.
  • Jetson Nano provides only one physical SDA/SCL pair, limiting direct support for multiple PCA9685 boards without hardware modifications.

Hypothesis:

The servo twitching is likely caused by the poor PWM signal quality from pin 32, not wiring or voltage instability.

Next Steps:

  1. Test pin 33 (GPIO13) β€” a Jetson-supported PWM-capable pin that might provide a cleaner signal if properly configured through Jetson-IO.
  2. Explore using an IΒ²C multiplexer (e.g., TCA9548A) or software IΒ²C to add a second PCA9685 board.
  3. Investigate options to clean the signal from pin 32 using a low-pass filter or buffer (if switching pins isn't viable).
  4. Collect and share oscilloscope screenshots comparing pin 32 vs PCA outputs for further debugging and validation.

πŸ›ž status as of 04/30/25 [steering mechanism void πŸ₯²]

Axle Installed Axle Installed Axle Installed

Steering Mechanism Development Log

Currently facing challenges in designing and printing parts for a stable and precise steering mechanism.

Axle Installed

Approaches Tried:

  • Direct rotational steering: Mounted the servo directly on the pivoting axle assembly.

    • Issue: The servo moved with the steering assembly, causing instability and limiting the range of motion.
  • Lever-actuated steering using PVC arms: Connected the servo to the wagon’s front axle with makeshift linkages.

    • Issue: This setup lacked precision and mechanical robustness.
  • Current approach – Drag link steering:

Axle Installed
Credits: Mekanizmalar

Mounting the servo to the fixed chassis and connecting it to the steering arm via a push-pull linkage (drag link).
Goal: Achieve better mechanical control, increase range of motion, and keep the servo stationary for consistent torque application.

πŸ›ž status as of 04/25/25

Axle Installed

πŸ›ž status as of 04/17/25

Axle Installed Axle Installed

πŸ›ž status as of 04/15/25

Axle Installed Axle Installed Axle Installed Axle Installed

πŸ›ž status as of 04/03/25

Axle Installed Axle Installed

🀝 Collaboration & Feedback

This is an ongoing solo project β€” open to collaboration, ideas, or advice.
Feel free to open an issue or contact directly with feedback.


πŸ“œ License

To be determined.


πŸ”” Stay Tuned

More updates coming soon β€” follow commits and README changes as the project evolves!

About

A Jetson Nano-powered mobile robot with camera, LiDAR, and ROS-based navigation. Supports remote control and real-time sensor visualization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published