Projectorganisatie

Tips voor een succesvol roboticaproject

Een roboticaproject succesvol uitwerken is niet eenvoudig. Veel robotica-uitdagingen blijken een stuk moeilijker, dan aanvankelijk ingeschat en daarbovenop komt de uitdaging van iets complex te verwezenlijken. Volgende tips zijn opgesteld met een roboticaproject in gedachten, maar de meeste zijn ook daarbuiten toepasbaar.

Algemeen #

  • Stel een duidelijk doel. Bestaande projecten kunnen hiervoor inspiratie geven. Toewerken naar een wedstrijd stelt een nog duidelijker doel.

    Tip #

    Laat je niet afschrikken door de vrees dat jouw robot de dag van de wedstrijd niet goed zal werken: jouw robot zal verre van de enige zijn!
  • Mik laag, zeker bij de eerste projecten, en ga voor meer ambitieuze projecten naarmate jouw ervaring toeneemt.
  • Verdeel en heers
    • Splits het project op in projectonderdelen die deels onafhankelijk zijn van elkaar om de probleemcomplexiteit te verlagen. Te weinig onafhankelijkheid bemoeilijkt de ontwikkeling, te veel onafhankelijkheid leidt tot inefficiënte oplossingen.
      Voorbeeld
      De ontwikkeling van een lijnvolgrobot kan worden opgesplitst in waarneming (sensoren), controle (regelaar), platform (chassis, motoren en drivers, wielen) en energievoorziening (accu en spanningsregelaars).
    • Valideer elk onderdeel individueel vooraleer alle onderdelen samen te voegen in een geheel.
  • Identificeer de belangrijkste uitdagingen (moeilijkste projectonderdelen) en pak deze eerst aan. Dit doen is niet eenvoudig, aangezien bij het begin van een project er steeds veel nieuw is. Het is daarnaast vaak aantrekkelijk, maar niet adviseerbaar, om te beginnen met de makkelijkere delen. Experimenteren en prototypes maken van projectonderdelen kan hierbij helpen.
  • Bestudeer de projectuitdaging totdat er een duidelijk beeld is van hoe het gewenste eindresultaat bereikt zal worden, alvorens te beginnen met het aankopen van componenten en/of het effectief bouwen (hardware en software) van de robot.
  • Voorzie tijdig de hardware om jouw werk te valideren, bijvoorbeeld het (uitgeprinte) wedstrijdparcours.
  • Reserveer voldoende tijd (minstens 1/5 van de totale projectloopduur) voor het oplossen van onverwachte problemen naar het einde van het project.

Teamprojecten #

  • Kies reeds bij de opstart van het project een teamleider zodat de rest van de projectopstart reeds door iemand geleid wordt. Indien nodig kan de teamleider veranderen tijdens het project.
  • Duid minstens twee personen aan voor elk te ontwikkelen onderdeel, waarvan één persoon verantwoordelijk is voor de controle van het werk van de anderen.
    Voorbeeld
    Alice, Bob en Carl werken aan onderdelen X, Y en Z: Alice bouwt onderdeel X en controleert Y, Bob bouwt Y en controleert Z, en Carl bouwt Z en controleert X.
  • Definieer voor elk projectonderdeel het gewenste eindresultaat en de betrokken personen, zodat het voor iedereen duidelijk is wie wat moet verwezenlijken.
  • Duid een verantwoordelijke aan voor de integratie van onderdelen ontwikkeld door verschillende teamleden.
  • Noteer alle iets of wat belangrijke beslissingen (bijvoorbeeld de taakverdeling).
  • Houd een logboek bij waarin minstens wekelijks elk teamlid beknopt verslag doet.
  • Houd een lijst van todo’s bij zodat het voor iedereen duidelijk is hoeveel er nog gedaan moet worden. Dit kan als deel van een Gantt-chart.
  • Zorg dat alle nota’s makkelijk raadpleegbaar zijn, bijvoorbeeld op een NAS of remote repository (zoals GitLab of GitHub).
  • Waar mogelijk: gebruik VCS-software zoals Git en remote repositories zodat de bijdrage van elk teamlid voor iedereen duidelijk is.
  • Houd vaak (vaker dan één keer per acht uur werk of wekelijks) korte (< 15 min) meetings waar iedereen aanwezig is en actief deelneemt (bijvoorbeeld kort eigen gedane en gepland werk voorstelt). Voor meer specifieke discussies die meer tijd vereisen, betrek alleen de relevante teamleden.
  • Introduceer projectregels bij voorkeur in het begin van het project. Dit maakt het begin wat moeilijker, maar dit is voor iedereen aangenamer dan om tijdens de loop van het project steeds regels toe te voegen.