fredag den 7. januar 2011

2011/01/07

Dato: Fredag d. 7/1 2011
Tilstedeværende: Lars Christian, Daniel og Line
Varighed: 6 timer
Mål: Implementere en måde at kalibrere robottens sensorer, få enderobotten til at køre stabilt, få bluetooth kommunikation til at virke, få midterrobot med omnihjul til at virke (opfriskning af vektorregning)
Plan: Line arbejder på enderobot, LC på midterrobot og Daniel arbejder på bluetooth kommunikation

Implementering af kalibrerings funktionalitet:
Line implementerede en kalibreringsfunktionalitet i KickerCar klassen, til det formål blev Behavior constructoren udvidet til at tage en parameter mere med (en int), som fortæller hvad gennemsnitsværdien af lys/bold eller hvid/sort er alt efter om der er tale om bold sensor eller bane sensor.

Vi havde længe haft problemer med at robotten ikke skiftede retning når den nåede de sorte underlag. Der blev brugt meget tid på at gøre koden så simpel som mulig for at overskue hvad der gjorde dette. Til sidst fandt vi ud af at ledningerne sad i spænd på robotten og ødelagde en masse målinger fra lyssensoren. Dette fandt vi ud af ved brug at dataloggeren (og implementere dens metoder i Behavior klassen).

Tilbage står vi nu med en robot der ikke altid stopper for at skyde, men ellers fungerer glimrende, bortset fra at skydearmen ikke er robust nok da den falder fra hinanden ved længere kørsler.

Kommunikation med flere devices over bluetooth:
Formålet er at teste hvor effektivt flere devices koblet op til en PC kan kommunikere med hinanden.

Der blev lavet et standard GUI og begyndte at implementere funktionalitet for at kunne koble op til tre devices og så sende den samme besked til dem alle. Nåede ikke meget længere end at lave GUI'en færdig og så begynde at etablere kommunikation (men det blev ved med at bøvle lige så meget som før jul).

Styring af midterobot med omnijul

Efter flere overvejelser blev det besluttet at den nemmeste måde at styre de 3 motorer der er placeret med 120 graders forskydning var ved vektorregning. LC gik derfor igang med at genopfriske sin vektorregning.

Resultatet blev at hver motor bliver repræsenteret som en vektor der peger i samme retning som den positive omløbsretning på motoren er:


Hvilket gør os i stand til at projektere “stick” vektoren på hver motor vektor og få kræften som den enkelte motor skal køre med da dette kan udtrykkes således:

Til at starte med uviklede vi en simpel API i java til at fange input fra mus, og en simpel bluetooth protokol imellem API og NXT til at kommunikere motorhastigheder. Resultatet kan ses her:





Vi gik dog igang med at videreudvikle kontrollen af midterrobotten da vi gerne ville kontrollere den via en Wiimote.
Efter en del bøvlen med at få adgang til Wiimoten igennem Java lykkedes det, men kun så længe vi enten koblede op til Wiimoten eller NXT’en. Efter lang tids debugging fandt vi ud af at det havde at gøre med hvilken bluetooth stack som blev brugt til at kommunikere med. NXT’en kommunikerer via winsock, mens wiimoten kommunikerer via en anden. Og det er endnu ikke lykkedes os at få begge to til at snakke sammen via den samme stack eller få java til at bruge to forskellige stacks.
Vi opgiver derfor at bruge wiimotes til kontrol af midterrobotten.

Konklusion
Vi har implementeret kalibrering af lyssensor-værdier i KickerCar klassen, vi har også fået testet at robotten skifter retningen hver gang den når enden, og lært at ledninger ikke skal sidde for stramt.
Vi har fået midterobotten til at køre på omnihjul ud fra input fra en mus på PC’en. Vi har ikke fået wiimote kontrol til at virke.
Vi har fået programmeret GUI’en til det program der skal teste bluetooth kommunikationen imellem flere NXT’er, men brugte meget tid på at få selve kommunikationen til at virke.
Det næste vi skal til er at finjustere skydearmen så den rammer bolden bedre, samt bygge den mere stabil så den ikke falder fra hinanden.
Vi skal have bluetooth til at fungere så vi kan implementere reglerne i en PC samt sikre os at midterobotten kører stabilt og gøre PC-interfacet bedre.

Ingen kommentarer:

Send en kommentar