SOMA projektet (18 / 20 steg)
Steg 18: Programmering i styrelserna - programmering
Styrelsen kontrollen använder command.aps projektet som har tre huvudsakliga funktioner: kommunikation, rörelsekontroll och token passning. Det börjar med första att skapa eller ansluta till ett nätverk och sedan börjar huvudsakliga Tillståndsmaskinen för motion control och token passerar. Om roboten deklareras som ledare då det kommer att ta är det tur att utforska. Detta innebär att det kör och undvika hinder och stannar och gör en 180 graders sopa av området och skicka läget samt platsen för hinder runt det till en PC för att skapa kartan. Sedan passerade ledarskap till en annan robot i svärm och processen börjar om igen.
Localization styrelsen använder localize.aps projektet som innehåller funktioner som talar till iRobot och ultraljud styrelse. Den får odometry avläsningar från iRobot och lokalisering avläsningarna från ultraljud styrelsen. Det också skickar kommandon till iRobot som driver motorerna. Dessutom genererar lokalisering styrelsen 24kHz och 36,7 kHz signalerna som driver IR och ToF överföringarna.
Alla microcontollers i ToF styrelsen använda tof.aps projektet och är funktionellt identisk. Syftet med ToF styrelsen är rakt fram: av timing skillnaden i ankomsttiden för samtidigt angivna IR ljus och ultraljud ljudet, kan du berätta hur långt bort den utsändande källan är. Genom att spela in time-of-flight på tre separata punkter på roboten, kan du triangulera positionen för källan. Varje microcontroller använder en dedikerad input capture pin till exakt tid hur länge infrarött syns (som en kontroll att det var den avsedda signalen) sedan beräknar tiden-av-flyg av ljudet. Dessa data är redo att överföras tillbaka till lokalisering styrelsen på begäran.
Förutom alla de viktigaste funktionerna som vi har för varje mikrokontroller finns olika test program som kan köras i styrelserna. Våra huvudsakliga testprogram för robotarna var ett WASD program som i princip fjärrstyrda robotar använder sändtagarna som var robotarna.