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.