Boo! πŸ‘»
https://miyatakazuya.github.io/projects/ucsdece148-team14/
Back to Projects
Autonomous Logistics UGV

Autonomous Logistics UGV

#ROS2 #Python #Computer Vision #Autonomous Driving #NVIDIA Jetson #YOLOv8
View Source on GitHub

Overview

Our team built an autonomous mail delivery robot for the UCSD ECE/MAE 148 course. The goal was to navigate a simulated city environment, following lanes, obeying traffic signals (stop signs), and delivering packages to designated addresses marked by AprilTags.

Team 14 Delivery Bot

Key Features

  • Lane Following: Robust PID control loop using computer vision to stay centered in lanes.
  • Object Detection: Custom-trained YOLOv8 Nano model running on an OAK-D camera to detect stop signs and pedestrians.
  • AprilTag Localization: Precise pose estimation to identify delivery targets.
  • Mission Control: State machine architecture (ROS2) handling navigation, waiting, and delivery logic.

System Architecture

The robot is built on a 1/10th scale chassis powered by an NVIDIA Jetson Orin Nano. We used a distributed node architecture in ROS2.

Hardware Setup

  • Compute: NVIDIA Jetson Orin Nano
  • Camera: Luxonis OAK-D (Wide Angle)
  • Chassis: Traxxas / Custom 3D Printed mounts
  • Actuation: VESC Motor Controller + Servo Steering

Neural Network: YOLOv8

We trained a custom YOLOv8 Nano model on a dataset of our specific delivery boxes and course elements. This model was compiled into a .blob file to run natively on the OAK-D’s Myriad X VPU, essentially offloading the heavy inference work from the main CPU.

YOLO Model Result The model detecting a delivery target in low-light conditions.

Development Process

1. Data Collection & Training

We collected over 500 images of the course environment and labeled them using Roboflow. The dataset helped our model generalize well to different lighting conditions.

Roboflow Training

2. ROS2 Implementation

We developed several custom nodes:

  • lane_follower_node: Processes camera feed to find lane centroids.
  • object_detector_node: Wrapper for the OAK-D AI pipeline.
  • mission_controller: The β€œbrain” that switches between following lanes and executing delivery stops.

Results

Our robot successfully navigated the final course, stopping correctly at all stop signs and delivering the payload to the correct address 80% of the time during the final demo.

Robot Structure