Learning with pyCub: A Simulation and Exercise Framework for Humanoid Robotics

Dit artikel introduceert pyCub, een open-source Python-gebaseerde simulatieomgeving voor de humanoid robot iCub die, in tegenstelling tot bestaande C++-oplossingen, geen YARP-middleware vereist en studenten via schaalbare oefeningen de basisprincipes van humanoid robotica leert.

Lukas Rustler, Matej Hoffmann

Gepubliceerd 2026-03-05
📖 5 min leestijd🧠 Diepgaand

Each language version is independently generated for its own context, not a direct translation.

De "LEGO-robot" voor studenten: Een nieuwe manier om robots te leren besturen

Stel je voor dat je wilt leren hoe je een complexe robot bestuurt, maar in plaats van een ingewikkeld handleiding in een vreemde taal (zoals C++ met veel technische jargon) te krijgen, krijg je een speelse, visuele omgeving waar je gewoon met Python kunt spelen. Dat is precies wat pyCub is: een nieuwe, open-source simulatie voor de mensachtige robot iCub, speciaal ontworpen om studenten de basis van robotica bij te brengen.

Hier is een uitleg in gewone taal, vol met vergelijkingen:

1. Het Probleem: De "Zware" Oude Methode

Vroeger was het leren van robotica als het proberen te leren autorijden in een vrachtwagen die alleen maar met een sleutel en een ingewikkeld dashboard werkt.

  • De oude manier: Om de iCub-robot te besturen, moesten studenten eerst een zware softwarelaag (YARP) installeren en programmeren in C++. Dit is als proberen een auto te bouwen terwijl je de motor zelf moet smeden. Het kostte veel tijd en frustratie, en veel studenten gaven op voordat ze echt iets leerden over de robot zelf.
  • De nieuwe manier (pyCub): De auteurs hebben een nieuwe "besturing" gebouwd die werkt met Python. Python is als de "automatische versnelling" van de programmeertaalwereld: makkelijker te leren, leesbaarder en toegankelijker voor iedereen, zelfs voor beginners.

2. Wat is pyCub eigenlijk?

pyCub is een virtuele speelplaats op je computer.

  • De Robot: Het is een digitale tweeling van de echte iCub-robot. Deze robot lijkt op een vierjarig kindje en heeft 53 gewrichten (zoals schouders, ellebogen, knieën).
  • De "Huid": Een uniek kenmerk van de echte iCub is dat hij overal op zijn lichaam gevoelige huid heeft met meer dan 4.000 zintuigen. In pyCub is dit ook nagebootst! Als je de robot in de simulatie aanraakt, voelt hij het alsof hij echt wordt aangestoten.
  • De Ogen: De robot heeft twee camera's in zijn ogen. In de simulatie kun je precies zien wat hij ziet, inclusief hoe hij een groene bal op een tafel ziet.

3. De Oefeningen: Van "Duw die bal" tot "Vang die bal"

De auteurs hebben een reeks oefeningen bedacht die variëren van heel makkelijk tot uitdagend. Het is als een videogame met levels:

  • Level 1: "Duw die bal!"
    De eerste opdracht is simpel: duw een bal zo ver mogelijk van een tafel af. Je mag alles proberen: slaan, duwen of zelfs de bal vastpakken en gooien. Dit is de "hello world"-oefening om te leren hoe je de robot beweegt.

    • Vergelijking: Het is als het leren van een nieuw spelletje door gewoon te spelen, zonder eerst de handleiding te lezen.
  • Level 2: "Soepele Bewegingen"
    Hier leren studenten hoe ze de robot een rechte lijn of een cirkel laten tekenen zonder dat hij haperend of schokkerig beweegt.

    • Vergelijking: Het is als leren tekenen met een potlood. Je wilt een gladde lijn trekken, niet een stippellijn die eruitziet alsof je hand trilt.
  • Level 3: "Kijk naar de bal" (Gaze)
    De robot moet met zijn hoofd en ogen een bewegend object volgen.

    • Vergelijking: Stel je voor dat je een bal gooit en je moet je ogen en hoofd zo bewegen dat je de bal blijft zien zonder je nek te breken. De robot moet dit nu doen met wiskunde.
  • Level 4: "Reageren op aanraking"
    Als de robot ergens tegen aan stoot (bijvoorbeeld met zijn arm), moet hij direct weten waar hij geraakt is en zich terugtrekken.

    • Vergelijking: Het is als de reflex van je hand als je per ongeluk iets heets aanraakt: je trekt je direct terug. De robot doet dit nu met zijn "huid" en wiskundige berekeningen.
  • Level 5: "Grijpen"
    De robot moet een bal zien, er naartoe bewegen, hem vastpakken en optillen.

    • Vergelijking: Dit is de ultieme test: zien, berekenen, bewegen en grijpen, allemaal in één vloeiende beweging.

4. Waarom is dit zo belangrijk?

De auteurs hebben deze tool getest in twee cursussen aan de universiteit.

  • Het resultaat: Studenten die voorheen worstelden met de complexe oude software, konden zich nu volledig focussen op de robotica zelf (hoe beweegt een robot? hoe ziet hij? hoe grijpt hij?) in plaats van vast te lopen in technische installatieproblemen.
  • Toegankelijkheid: Omdat het in Python werkt en alles via een Docker-container (een soort "verpakte" software die op elke computer werkt) of zelfs online in de browser kan, kan bijna iedereen het gebruiken. Je hoeft geen dure computer of een PhD in informatica te hebben.

Conclusie

pyCub is als het geven van een simulator voor vliegen aan beginnende piloten, in plaats van ze direct een echte vliegtuigcabine met honderden knoppen te laten besturen. Het maakt robotica leuk, begrijpelijk en haalbaar voor iedereen die geïnteresseerd is in hoe robots de wereld kunnen veranderen.

De hele simulatie, de oefeningen en de video's zijn gratis beschikbaar voor iedereen op internet.