project 03
Autonoom onbemand grondvoertuig
Een embedded systems-project ontwikkeld binnen een technologievereniging, dat realtime objectdetectie, obstakelvermijding en autonome rijalgoritmes combineert.
- Categorie
- Embedded & Robotica
- Rol
- Autonome algoritmes en embedded computer vision
- Jaar
- 2025 – 2026
gebruikte technologieën
- Python
- C++
- ROS2
- YOLOv8
- Jetson Orin Nano
- CUDA
- OpenCV
probleem
Probleem
Op ruw terrein en in velden met obstakels moest het voertuig zijn omgeving in realtime waarnemen, obstakels ontwijken en zonder menselijk ingrijpen een route volgen. De echte moeilijkheid: een obstakel zien is niet genoeg — de beslissing moet vallen vóór de botsing, en dat op een embedded board met beperkt vermogen.
oplossing
Oplossing
Ik heb een gedistribueerde ROS2-node-architectuur gebouwd waarin waarneming, besluitvorming en beweging als onafhankelijke nodes draaien en communiceren over berichtkanalen met lage latentie. Het YOLOv8-model heb ik met CUDA-versnelling geoptimaliseerd op een Jetson Orin Nano om de detectiepijplijn te bouwen; de posities van gedetecteerde objecten gaan rechtstreeks naar de motoraandrijvingsbesturing.
resultaat
Resultaat
Het resultaat is een werkend autonoom grondvoertuigplatform met realtime obstakeldetectie en dynamische routecorrectie, in het veld getest op zware parcoursen.
belangrijkste functies
- 01Objectdetectie met hoge framerate via CUDA-versneld YOLOv8 op een Jetson Orin Nano.
- 02Gedistribueerde ROS2-node-architectuur met gescheiden lagen voor waarneming, besluitvorming en beweging.
- 03Levering met lage latentie van gedetecteerde objectposities aan de motoraandrijvingsalgoritmes.
- 04Dynamische routecorrectie, getest in het veld op zwaar terrein.
waarom deze keuzes
Waarom CUDA-versneld YOLOv8?
Lichte CPU-modellen zoals MobileNet zouden minder energie verbruiken, maar verloren nauwkeurigheid bij de kleine en complexe obstakels in het veld. Hardwareversnelling op de Jetson maakte hoge FPS mogelijk zonder in te leveren op nauwkeurigheid.
Waarom ROS2?
De camera, de sensoren en de motorbesturing moesten onafhankelijk van elkaar draaien. De node-architectuur van ROS2 maakte het mogelijk één onderdeel te vervangen zonder de rest te breken.
Waarom de Jetson Orin Nano?
Het systeem aan boord moest CUDA ondersteunen en tegelijk binnen een verbruik blijven dat de accu van het voertuig aankon.