ROBOTICA / EINDSTAGEPROJECT

Battlebot

KLAAR

Van een bestaande robot naar een intelligent en grotendeels autonoom systeem.

  • Raspberry Pi 5
  • Pico 2
  • MicroPython
  • CAN-bus
  • Hailo-8

BATTLEBOT / HET PROJECT

{ hardware × software }

Battlebot

De Battlebot: de basis voor autonome besturing, sensoren en objectdetectie.

01 / 11 - BATTLEBOT

Van idee naar autonomie

// stap voor stap

  1. 01 / BATTLEBOT

    Introductie

    Battlebot was een eindstageproject waarin een bestaande robot werd omgevormd tot een intelligent en grotendeels autonoom systeem.

    Het doel was niet alleen een werkende robot bouwen, maar ook diepgaand inzicht krijgen in hoe complexe systemen samenwerken.

    Gedurende vier maanden werd de robot stap voor stap uitgebreid, getest en geoptimaliseerd.

  2. 02 / BATTLEBOT

    Visie en Doelstelling

    De kern van het project was het realiseren van een robot die zowel handmatig als autonoom kan functioneren.

    Dit duale besturingssysteem combineert directe controle met zelfstandige intelligentie.

    De autonome functionaliteit richtte zich op objectherkenning en bewegingsplanning.

  3. 03 / BATTLEBOT

    Architecturale opzet

    Vanaf het begin werd gekozen voor een gescheiden architectuur, waarbij verantwoordelijkheden duidelijk werden verdeeld tussen software en hardware. Dit verhoogde onderhoudbaarheid en maakte testen eenvoudiger.

    De Raspberry Pi 5 fungeerde als centrale besturingshub voor logica, communicatie, AI-verwerking en beslissingsalgoritmen.

    De Raspberry Pi Pico 2 verzorgde real-time aansturing van motoren en de grijparm, waardoor lage-latentie acties betrouwbaar konden worden uitgevoerd, onafhankelijk van de zwaardere verwerking op de Pi 5.

  4. 04 / BATTLEBOT

    Besturing en Veiligheid

    De robot werd primair bestuurd via een RC-controller, waarvan signalen worden ingelezen door de Raspberry Pi 5.

    Deze signalen worden gevalideerd en geïnterpreteerd, waarna ze worden doorgestuurd naar de Raspberry Pi Pico 2 voor fysieke aansturing van motoren en actuators.

    Om veiligheid te waarborgen is een heartbeat-mechanisme geïmplementeerd, dat continu controleert of de communicatie tussen Pi en Pico 2 intact is en bij verlies van verbinding de robot in een veilige staat zet.

  5. 05 / BATTLEBOT

    Autonome Besturing

    Nadat de handmatige besturing stabiel functioneerde, verschoof de focus naar autonome aansturing. Hiervoor werd een camerasysteem toegevoegd waarmee de robot zijn omgeving kon waarnemen en visuele data kan verzamelen voor objectdetectie.

    Door visuele input te combineren met afstandsmetingen van sensoren kon de robot objecten detecteren, volgen en ermee interacteren, zoals het oppakken of ontwijken van obstakels.

  6. 06 / BATTLEBOT

    Hardwarekeuze

    De keuze voor de Raspberry Pi 5 was gebaseerd op de behoefte aan rekenkracht, uitbreidbaarheid en ondersteuning voor AI-frameworks. De Raspberry Pi Pico 2 werd ingezet voor real-time besturing vanwege de directe GPIO-aansturing en voorspelbare timing.

    Deze combinatie resulteerde in een schaalbaar systeem waarin software en hardware logisch van elkaar gescheiden zijn, waardoor complexe taken betrouwbaar uitgevoerd kunnen worden.

  7. 07 / BATTLEBOT

    CAN-bus

    Voor communicatie tussen Raspberry Pi 5 en Pico 2 is gekozen voor het CAN-bus protocol, bekend om zijn betrouwbaarheid en fouttolerantie. De MCP2515-modules verzorgen de interface, waardoor berichten met verschillende prioriteiten veilig verzonden kunnen worden.

    Hoewel de implementatie complex was, bood het waardevolle inzichten in industriële communicatieprotocollen en message-prioritization technieken.

  8. 08 / BATTLEBOT

    RC-Receiver

    De Flysky FS-iA10B receiver vormt de schakel tussen gebruiker en robot, waarbij RC-signalen worden ontvangen en verwerkt. De signalen worden via UART omgezet naar digitale besturingswaarden die de Pi 5 kan interpreteren en doorsturen naar de Pico 2. Failsafe-functionaliteit zorgt ervoor dat de robot automatisch stopt of in een veilige modus komt bij signaalverlies of foutieve inputs.

  9. 09 / BATTLEBOT

    Sensoren

    Extra sensoren werden toegevoegd voor betrouwbaardere besturing, vooral tijdens autonome navigatie. Ultrasone afstandssensoren leveren realtime data over de omgeving, wat cruciaal is voor obstakelvermijding en positionering van de grijparm. Deze sensoren ondersteunen zowel autonome navigatie als het nauwkeurig uitvoeren van fysieke taken.

    Om rijprecisie te verbeteren zijn optische encoders en odometrie onderzocht. Hoewel deze technieken theoretisch nauwkeurige resultaten opleverden, bleken ze in de praktijk gevoelig voor mechanische afwijkingen en oppervlakteruis. Uiteindelijk is gekozen voor een eenvoudiger correctiemechanisme op basis van PWM-aansturing, dat betrouwbaarder en onderhoudsvriendelijker bleek.

  10. 10 / BATTLEBOT

    AI-Verwerking

    Real-time objectdetectie werd uitgevoerd met de Hailo-8 AI Accelerator, die beelden lokaal verwerkt zonder externe afhankelijkheid. De accelerator maakt het mogelijk zware AI-modellen snel en efficiënt uit te voeren, wat cruciaal is voor autonome beslissingen. Dankzij deze setup kan de robot zelfstandig objecten herkennen en acties uitvoeren op basis van lokaal verwerkte data.

  11. 11 / BATTLEBOT

    Cameragebruik

    De Camera Module 3 Wide NoIR werd gekozen vanwege het brede gezichtsveld en de goede prestaties bij weinig licht. Beelden worden direct naar de Hailo-8 gestuurd voor analyse, waardoor realtime objectdetectie mogelijk is. Aanpassingen aan autofocus en aanvullende sensoren verbeterden de nauwkeurigheid bij korte afstand en complexe interacties.

  12. 12 / BATTLEBOT

    Softwarearchitectuur

    De software op de Raspberry Pi 5 is volledig geschreven in Python, met nadruk op leesbaarheid, onderhoudbaarheid en objectgeoriënteerd ontwerp. Op de Raspberry Pi Pico 2 draait MicroPython, waarmee directe hardware-aansturing mogelijk is met lage latentie. Versiebeheer via GitHub zorgt voor traceerbaarheid van wijzigingen, samenwerking en reproduceerbaarheid van experimenten.

  13. 13 / BATTLEBOT

    Projectverloop

    Het project volgde een iteratief proces, waarbij ontwerpen regelmatig werden herzien op basis van testresultaten en observaties. Problemen met voeding, communicatie en mechanica leidden tot meerdere herontwerpen, wat het systeem uiteindelijk robuuster maakte. Deze iteraties leverden diepgaand inzicht in systeemintegratie, foutafhandeling en praktische engineering-vaardigheden.

  14. 14 / BATTLEBOT

    Eindresultaat

    Het eindresultaat is een robot die stabiel handmatig bestuurbaar is en gedeeltelijk autonoom kan functioneren. Hoewel niet alle doelen volledig zijn gerealiseerd, biedt het project een solide basis voor verdere uitbreiding en verbetering. De belangrijkste opbrengst is kennis over embedded systemen, AI, communicatieprotocollen en de integratie van complexe software-hardware-systemen.

Project Specificaties

Hardware

  • Raspberry Pi 5
  • Raspberry Pi Pico 2
  • Hailo-HAT
  • UBEC (Universal battery eliminator circuit)
  • ESC (Electronic Speed Controller)
  • MCP2515-module
  • DC-Converter
  • CSI (Camera Serial Interface)
  • PWM (Pulse-width modulation)

Software

  • Bitwise Operators
  • Thonny
  • YOLOv11
  • Crontab

Protocol

  • UART (Universal asynchronous receiver-transmitter)
  • CAN (Controller area network)
  • I-Bus
  • SPI (Serial Peripheral Interface)
  • SSH (Secure Shell)

Sensor

  • HC-SR04
  • FC-03 IR Optical Encoder

Project Contributors

Meer van mijn werk ontdekken?

Alle projecten