project 02

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
Computer vision and autonomous driving software

technologies used

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

problem

Problem

For an autonomous ground vehicle, seeing an obstacle is not enough — the decision has to be made before impact. The real challenge was running high-frame-rate object detection on a power-constrained embedded board and delivering that data to motion control without delay.

solution

Solution

I structured perception, decision and motion as separate ROS2 nodes, with communication running over low-latency message channels. The YOLOv8 model runs on a Jetson Orin Nano with CUDA acceleration, and the position of detected objects feeds into a navigation node that performs dynamic route optimisation.

outcome

Outcome

The vehicle navigates autonomously in environments containing previously undefined obstacles, recalculating its route in real time.

key features

  • 01High-FPS object and obstacle detection with CUDA-accelerated YOLOv8 on a Jetson Orin Nano.
  • 02Low-latency communication architecture for sensor and camera data across ROS2 nodes.
  • 03Route optimisation and autonomous navigation under dynamic environmental conditions.

why these choices

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?