Dato:
01-06-2013
Varighed:
Fælles lab: 5 timer
Blog: 5 timer
Deltagere:
Steffen Høi
Nikolaj Mols Hansen
Martin Vang
Ulrik Sahl Lystbæk
Nikolaj Mols Hansen
Martin Vang
Ulrik Sahl Lystbæk
Status
Vi har adfærdbaseret kode, så det er nemt at tilføje adfærd til vores program. Robotterne er endnu ikke færdige. Vi har endnu problemer med at finde retningen for målene. Adfærdhierarkiet er stadig buggy.
Mål
Målet for denne laboratoriesession er at færdigbygge konstruktionen af den nye robot. Desuden er målet også at indlede eksperimenter med, hvordan vi bestemmer, hvilken retning robotten vender, så vi sikrer, at robotten skyder mod det rigtige mål.
Plan
- Færdigbygge og teste ny robot.
- Retningbestemmelse af robotten.
- Rette adfærdhierarkiet.
Proces
Færdigbygning af ny robot
På dette tidspunkt fandt vi frem til at vores Robot2 desværre var utroligt uheldigt sammensat ift. at få på-monteret en farvesensor, samt at den pga. vinkle på den klo, ikke var så god til at slynge bolden af sted som Robot1. Vi besluttede os derfor for noget radikalt - endnu et redesign. Dette redesign gik ud på at rette Robot2 op så den var i en vertikal stilling med brikken.
Der var nu plads til farvesensor imellem hjul og klods, selvom den ultrasoniske sensor stadig sad noget dårligt.
Efter dette redesign blev en kopi af Robot3 bygget, så vi kunne påbegynde intensiv test af vores programmer på 2 robotter samtidig. Denne kopi var færdig i slutningen af dagen.
Der var nu plads til farvesensor imellem hjul og klods, selvom den ultrasoniske sensor stadig sad noget dårligt.
![]() |
| Robot 3 til venstre, Robot2 til højre |
Efter dette redesign blev en kopi af Robot3 bygget, så vi kunne påbegynde intensiv test af vores programmer på 2 robotter samtidig. Denne kopi var færdig i slutningen af dagen.
Retningsbestemmelse af robotten
Eksperiment med kompas
Vi startede dagen med at revidere planen om at orientere os med kompas. Efter nogen debat, kom vi frem til at vi blev nød til at finde en løsning. Hele gruppen gik nu ind i at "debugge" hardwaren. Ligesom ved alle andre bugs gik vi i gang med at eliminere alle faktorer, én ad gangen.Vi havde følgende ideer til hvad der kunne være galt:
- Trådløse signaler
- Strømledende kabler under gulvet
- Motorerne (selvom vi regnede med at vores kalibrering var korrekt)
Til sidst besluttede vi os for at teste ved at løfte banen rundt i lokalet for at finde et "godt" sted. Umiddelbart efter at vi flyttede banen væk fra bordet, begyndte robotten at opføre sig som forventet. Ved at holde banen tilbage over bordet, opstod problemet præcis som før. Vi havde nu fundet problemet: Der løber store jern-bjælker under alle bordene i bygningen, og hver gang vi testede robotten stod den på et sådan bord. En side-effekt er dog, at påvirkningen af bordene kan ses som en bueformet afbrydelse af jordens magnetfelt - sjovt nok nu vi ved hvad der går galt, men meget frustrerende og tidskrævende at finde frem til.
Herunder er en sjov video af os der glade, og slæbende på en tung bane, finder frem til problemet.
Koden der får den til at stoppe op, i videoen ovenfor, er meget upræcis og kun til testformål. Robotten viser dog en meget klar tendens til, at uanset hvor vi bærer den hen i lokalet (bla. over en samlings-boks af ledninger), kan den finde frem til vores ønskede retning.
Koden vi har brugt til at kalibrere robotten kan ses her:
public static void calibrate() { LCD.drawString("Calibrating compass", 0, 2); Robot.COMPASS.startCalibration(); PILOT.setRotateSpeed(18); Robot.rotate(360 * 2); PILOT.stop(); PILOT.setRotateSpeed(120); Robot.COMPASS.stopCalibration(); Robot.stop(); }
Rette adfærdhierarkiet
Vi fik pillet lidt ved vores variabler for hvornår vores ultrasoniske sensor-målinger er godtaget som at have boldkontrol. Vi har nu en robot der fungerer efter et simpelt adfærdhierarki:
Exit > CatchBall > Shoot > Drive Random.
Exit > CatchBall > Shoot > Drive Random.
Konklusion
Vi havde fået kompasset til at virke og havde 2 næsten ens robotter, der begge kunne programmeres sideløbende. Vores nyeste medlem af holdet, kopien af vores robot3, manglede dog et kompas.
Vi var nu i stand til at vurdere hvilken generelle retning vores modstanderes mål lå i, men havde stadig ikke nogen brugbar strategi for at sigte på målet.
Vores adfærdhierarki virker nu efter hensigten, men er blevet noget rodet.
Vi var nu i stand til at vurdere hvilken generelle retning vores modstanderes mål lå i, men havde stadig ikke nogen brugbar strategi for at sigte på målet.
Vores adfærdhierarki virker nu efter hensigten, men er blevet noget rodet.

No comments:
Post a Comment