... | ... | @@ -45,6 +45,7 @@ Som det ses af video 1 reagerer bilen på de udefrakommende stimuli, her én tes |
|
|
Det omvendte af exitatory fobindelser er inhibatory forbindelser. Disse ses af figur 1 som markeret med et - tegn . At sensorerne er koblet til motorerne med inhibatory forbindelser betyder at desto højere lyder fra omgivelserne er, desto langsommere bevæger bilen sig.
|
|
|
|
|
|
*Video 2: Demonstration af Vehicle 1 - inhibitory connection*
|
|
|
|
|
|
[![image alt text](https://img.youtube.com/vi/_ub8TykKagE/0.jpg)](https://www.youtube.com/watch?v=_ub8TykKagE)
|
|
|
|
|
|
Af video 2 ses den omvendte opførsel af video 1. Bilen bevæger sig frem med en fast hastighed lige indtil sensoren registrerer kraftig lyd fra omgivelserne (testperson banker i bordet). Bilen sænker derefter sin hastighed indtil lyden igen forsvinder, og bilen kommer op i hastighed igen. Lydsensoren agerer dermed som en simpel resistormekanisme, der er direkte afhængig af lysintensiteten.
|
... | ... | @@ -70,11 +71,11 @@ Vehicle 2 er stort set magen til vores Vehicle 1, idet at den fysisk er konstrue |
|
|
*Vehicle 2a:*
|
|
|
Af figur 1 ses det at vehicle 2a skal afbilde lys fra venstre sensor over på den venstre motor og lys fra højre sensor over på den højre motor. Dette har vi implementeret på følgende måde:
|
|
|
|
|
|
´´´Java
|
|
|
```Java
|
|
|
int leftPower = (int) (minPower + leftLight.getValue() * (maxPower - minPower));
|
|
|
int rightPower = (int) (minPower + rightLight.getValue() * (maxPower - minPower));
|
|
|
BetterCar.power(leftPower, rightPower);
|
|
|
´´´
|
|
|
```
|
|
|
|
|
|
BetterCar.power(leftPower, rightPower) metode-kaldet sætter venstre og højre motor til at køre enten frem eller tilbage, alt efter om værdien af de tilsvarende variable er positiv eller negativ. BetterCar kan findes i vores repository.
|
|
|
|
... | ... | @@ -87,6 +88,7 @@ Vi forsøge at tildele Vehicle 2a både exibitory og inhibitory forbindelser. De |
|
|
I video 4 ser vi, hvordan exitatory forbindelser gør at Vehicle 2a tilegner sig en adfærd, hvor den søger lyset. Som det ses af videoen, starter bilen ud med at befinde sig bagved en hvid papkasse, men er i stand til at dreje rundt om kassen i retning af vinduet - hvilket er den kraftigste lyskilde i lokalet.
|
|
|
|
|
|
*Video 5: Inhibatory Vehicle 2a*
|
|
|
|
|
|
[![image alt text](https://img.youtube.com/vi/iOHpEeeHclc/0.jpg)](https://www.youtube.com/watch?v=iOHpEeeHclc)
|
|
|
|
|
|
I video 5 ser vi den omvendte adfærd af video 4. Her gør Inhibitory forbindelserne at Vehicle 2a bevæger sig væk fra lyset, og tilegner sig en kakerlak-agtig adfærd. Det ses hvordan bilen finder skygge ved at søge væk fra lyskilden fra vinduet og ind i skyggen fra kassen.
|
... | ... | @@ -94,11 +96,11 @@ I video 5 ser vi den omvendte adfærd af video 4. Her gør Inhibitory forbindels |
|
|
*Vehicle 2b:*
|
|
|
På figur 1 ses det at vehicle 2b skal afbilde lys fra venstre sensor over på den højre motor og lys fra højre sensor over på den venstre motor. Det har vi implementeret på følgende måde:
|
|
|
|
|
|
´´´Java
|
|
|
```Java
|
|
|
int leftPower = (int) (minPower + rightLight.getValue() * (maxPower - minPower));
|
|
|
int rightPower = (int) (minPower + leftLight.getValue() * (maxPower - minPower));
|
|
|
BetterCar.power(leftPower, rightPower);
|
|
|
´´´
|
|
|
```
|
|
|
|
|
|
Vi udførte de samme eksperimenter for Vehicle 2b med Exitatory og Inhibitory forbindelser.
|
|
|
|
... | ... | @@ -134,7 +136,7 @@ Vi erfarede at bil C skulle placeres forholdsvis tæt på bil B med den ene sens |
|
|
Billede med Vehicle 2a med lamper i horisontal retning.
|
|
|
Denne konstruktion sikrede at bil C var i stand til at følge bil B af længere tidsintervaller. Nedenstående video viser et lille lucia-optog bestående af testperson som bil A og to Vehicle 2a som bil B og bil C.
|
|
|
|
|
|
Video 8:
|
|
|
*Video 8: Lucia-optog*
|
|
|
[![image alt text](https://img.youtube.com/vi/AOmJ1V5DnoA/0.jpg)](https://www.youtube.com/watch?v=AOmJ1V5DnoA)
|
|
|
|
|
|
Vi ser af video 8, at både bil B og bil C er i stand til at følge den lyskeglen fra den forankørende bil. Selvom vi forsøgte at dæmpe lyskeglen fra mobiltelefonen, er det dog stadig muligt at både bil B og bil C nogle tidspunkter har fulgt samme lyskegle og dermed kørt samme retning. Af video 8 virker det dog som om at bilerne har hver deres referencepunkt, idet bil C justerer sin retning forsinket i forhold til bil B, og dermed reelt følger RCX-lamperne bagpå bil B og ikke lyset fra mobiltelefonen. Vi vil muligvis kunne afgøre om mobiltelefonen påvirker bil C ved at lave længere optog med flere og hårdere sving.
|
... | ... | @@ -144,12 +146,13 @@ I Tom Deans beskrivelse af hans implementation af lys-efterfølgende vehicles, g |
|
|
|
|
|
Vi har udført 2 eksperimenter for bearbejde forskellen mellem vores implementation og Tom Deans implementation. I eksperimentet lader vi bilen kører i kort tid, hvorefter vi peger en kraftig lyskilde (smartphone blitz) ind i begge lyssensorer, for at skabe en stor variation i lysmiljø.
|
|
|
|
|
|
Video 9: Eksperiment med livstids minimum og maksimum værdier
|
|
|
*Video 9: Eksperiment med livstids minimum og maksimum værdier*
|
|
|
|
|
|
[![image alt text](https://img.youtube.com/vi/p4r4fSwr_HM/0.jpg)](https://www.youtube.com/watch?v=p4r4fSwr_HM)
|
|
|
|
|
|
Videoen ovenfor viser vores afprøvelse af en løsning der ligner Tom Deans implementationen, hvor maksimum og minimum værdierne sættes for hele programmets levetid. Som set stopper bilen efter at blive blændet af den stærke lyskilde, og starter ikke igen. Dette er fordi maksimumsværdien nu afspejler et lysmiljø som ikke længere eksistere. Nye sensor målinger har ingen virkning eftersom de er signifikant mindre end maksimum værdien.
|
|
|
|
|
|
Video 10: Eksperiment med løbende minimum og maksimum værdier
|
|
|
*Video 10: Eksperiment med løbende minimum og maksimum værdier*
|
|
|
[![image alt text](https://img.youtube.com/vi/Lrc93v3vWlI/0.jpg)](https://www.youtube.com/watch?v=Lrc93v3vWlI)
|
|
|
|
|
|
Ovenstående video demonstrerer vores implementation, hvori maksimum og minimum værdierne løbende fornyes. Her ses det at selvom vi peger en stærk lyskilde ind i lyssensoren og bilen stopper, genvinder bilen bevægelse efter et stykke tid. Altså “glemmer” bilen med tiden store udsving i værdier, og på denne måde kan den tilpasse sig lysmiljøet selvom det er stærkt varieret.
|
... | ... | @@ -159,7 +162,8 @@ Ovenstående video demonstrerer vores implementation, hvori maksimum og minimum |
|
|
|
|
|
Vi forsøgte med to forskellige opsætninger. En svarende til 2a men med inhibitory sensor afbildning og en svarende til 2b med excitatory sensor afbildning. Begge opsætninger virkede til at opføre sig ens og havde lignende problemer med fuldstændigt at undgå forhindringer i omverdenen. Nedenstående video viser en kørsel af 2b opsætningen.
|
|
|
|
|
|
Video 11: Kørsel af en 2b vehicle med ultralydssensorer.
|
|
|
*Video 11: Kørsel af en 2b vehicle med ultralydssensorer.*
|
|
|
|
|
|
[![image alt text](https://img.youtube.com/vi/l-0sTuJ-yJk/0.jpg)](https://www.youtube.com/watch?v=l-0sTuJ-yJk)
|
|
|
|
|
|
Som det ses i slutningen af videoen styrer bilen direkte mod bordets bordben. Dermed fik vi ikke vores robot til fuldstændigt at undgå forhindringer, men vi har overvejet forskellige årsager til dette:
|
... | ... | @@ -181,7 +185,8 @@ For at teste bilens evne til at navigere ved brug af både lyssensoren, samt den |
|
|
*Billede x: Eksperimentopsætning. Bemærk at der er placeret en lyskegle inde i kassen.*
|
|
|
BILLEDE AF EKSPERIMENTSETUP HER
|
|
|
|
|
|
Video 12: Demonstration af bil med kombineret ultralydssensor og lyssensor
|
|
|
*Video 12: Demonstration af bil med kombineret ultralydssensor og lyssensor*
|
|
|
|
|
|
[![image alt text](https://img.youtube.com/vi/H_5F81Bx2uo/0.jpg)](https://www.youtube.com/watch?v=H_5F81Bx2uo)
|
|
|
|
|
|
Demonstrationen viser bilens evne til at undgå at kollidere med forhindringerne, mens lyset er tilstrækkeligt vægtet, til at den slutteligt søger mod dette inde i kassen.
|
... | ... | @@ -213,3 +218,4 @@ Hernæst eksperimenterede vi med Vehicle 3, som benytter to slags sensorer. I vo |
|
|
[6] Group 5 - Lesson 3: https://gitlab.au.dk/group-5/group-5-lesson-3/wikis/home
|
|
|
|
|
|
|
|
|
|