project 03

Autonomous Unmanned Ground Vehicle

An embedded systems project developed within a technology development society, combining real-time object detection, obstacle avoidance and autonomous driving algorithms.

Category
Embedded & Robotics
Role
Autonomous algorithms and embedded computer vision
Year
2025 – 2026

technologies used

  • Python
  • C++
  • ROS2
  • YOLOv8
  • Jetson Orin Nano
  • CUDA
  • OpenCV

problem

Problem

On rough terrain and in fields containing obstacles, the vehicle had to perceive its environment in real time, avoid obstacles and follow a target route without human intervention. The real difficulty: seeing an obstacle isn't enough — the decision has to be made before impact, and on a power-constrained embedded board at that.

solution

Solution

I built a distributed ROS2 node architecture in which the sensing, decision and motion layers run as independent nodes communicating over low-latency message channels. I optimised the YOLOv8 model with CUDA acceleration on a Jetson Orin Nano to build the detection pipeline; the positions of detected objects feed directly into the motor driver control algorithms.

outcome

Outcome

The outcome is a working autonomous ground vehicle platform with real-time obstacle detection and dynamic route correction, field-tested on demanding courses.

key features

  • 01High-FPS object and obstacle detection with CUDA-accelerated YOLOv8 on a Jetson Orin Nano.
  • 02Distributed ROS2 node architecture separating the sensing, decision and motion layers.
  • 03Low-latency delivery of detected object positions to the motor driver control algorithms.
  • 04Dynamic route correction, field-tested on demanding terrain.

why these choices

Why CUDA-accelerated YOLOv8?

Lightweight CPU models such as MobileNet would have consumed less power, but lost accuracy on the small and complex obstacles found in the field. Hardware acceleration on the Jetson made it possible to reach high FPS without sacrificing accuracy.

Why ROS2?

The camera, the sensors and the motor control all needed to run independently of one another. ROS2's node architecture made it possible to replace one part without breaking the others.

Why the Jetson Orin Nano?

The onboard system had to support CUDA while staying within a power budget that the vehicle's battery could sustain.

Thinking about a similar project?