... | @@ -20,15 +20,19 @@ At følge instruktionerne for Lesson 4 [1]. |
... | @@ -20,15 +20,19 @@ At følge instruktionerne for Lesson 4 [1]. |
|
## Results
|
|
## Results
|
|
|
|
|
|
### Exercise 1 - Black White Detection
|
|
### Exercise 1 - Black White Detection
|
|
|
|
|
|
I denne exercise benyttes programmet BlackWhiteSensor.java. Vi kalibrerede hernæst bilen til bilens miljø ved at holde sensoren over hhv. en sort overflade (se billede 1) og en hvid overflade (se billede 2). Ved hjælp af værdierne for disse to målinger udregnes et blackWhiteThreshold. Dette beregnes som medianen mellem de to målinger. Efter kalibrering afprøvede vi programmet ved at holde sensoren over en grålig overflade (se billede 3), der derfor hverken kan bestegnes som hvid eller sort, for at se om hvordan programmet reagerede på denne farve.
|
|
I denne exercise benyttes programmet BlackWhiteSensor.java. Vi kalibrerede hernæst bilen til bilens miljø ved at holde sensoren over hhv. en sort overflade (se billede 1) og en hvid overflade (se billede 2). Ved hjælp af værdierne for disse to målinger udregnes et blackWhiteThreshold. Dette beregnes som medianen mellem de to målinger. Efter kalibrering afprøvede vi programmet ved at holde sensoren over en grålig overflade (se billede 3), der derfor hverken kan bestegnes som hvid eller sort, for at se om hvordan programmet reagerede på denne farve.
|
|
|
|
|
|
*Billede 1: Sort overflade*
|
|
*Billede 1: Sort overflade*
|
|
|
|
|
|
![sort](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/c39b7c2226/sort.JPG)
|
|
![sort](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/c39b7c2226/sort.JPG)
|
|
|
|
|
|
*Billede 2: Hvid overflade*
|
|
*Billede 2: Hvid overflade*
|
|
|
|
|
|
![hvid](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/c6a5dcec42/hvid.JPG)
|
|
![hvid](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/c6a5dcec42/hvid.JPG)
|
|
|
|
|
|
*Billede 3: Grålig overflade*
|
|
*Billede 3: Grålig overflade*
|
|
|
|
|
|
![grå](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/2d71b0e890/gr%C3%A5.JPG)
|
|
![grå](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/2d71b0e890/gr%C3%A5.JPG)
|
|
|
|
|
|
Sensoren tolkede farven som vist på billede x som hvid. Dvs. programmet yieldede White True, Black False. Dette betyder at værdien for denne farve lægger over det beregnede threshold for sort og hvid. Dette stemmer meget godt overens med vores egen opfattelse af farven, som snarere lysegrå end mørkegrå.
|
|
Sensoren tolkede farven som vist på billede x som hvid. Dvs. programmet yieldede White True, Black False. Dette betyder at værdien for denne farve lægger over det beregnede threshold for sort og hvid. Dette stemmer meget godt overens med vores egen opfattelse af farven, som snarere lysegrå end mørkegrå.
|
... | @@ -48,6 +52,7 @@ For demonstration af dette program se videoen nedenfor |
... | @@ -48,6 +52,7 @@ For demonstration af dette program se videoen nedenfor |
|
Programmet BlackWhiteSensor.java kan potentielt set også bruges til at læse og reagere på andre farver end sort og hvid. I programmet ThreeColorSensor.java har vi implementeret en klasse der også kan detektere grøn.
|
|
Programmet BlackWhiteSensor.java kan potentielt set også bruges til at læse og reagere på andre farver end sort og hvid. I programmet ThreeColorSensor.java har vi implementeret en klasse der også kan detektere grøn.
|
|
|
|
|
|
*Java-kode 1: Calibrate-metoden fra ThreeColorSensor.java*
|
|
*Java-kode 1: Calibrate-metoden fra ThreeColorSensor.java*
|
|
|
|
|
|
```Java
|
|
```Java
|
|
public void calibrate()
|
|
public void calibrate()
|
|
{
|
|
{
|
... | @@ -61,6 +66,7 @@ Programmet BlackWhiteSensor.java kan potentielt set også bruges til at læse og |
... | @@ -61,6 +66,7 @@ Programmet BlackWhiteSensor.java kan potentielt set også bruges til at læse og |
|
}
|
|
}
|
|
```
|
|
```
|
|
*Java-kode 2: Green-metoden fra ThreeColorSensor.java*
|
|
*Java-kode 2: Green-metoden fra ThreeColorSensor.java*
|
|
|
|
|
|
```Java
|
|
```Java
|
|
public boolean green() {
|
|
public boolean green() {
|
|
return Math.abs(greenLightValue - ls.readValue()) < (greenDetectionRange / 2);
|
|
return Math.abs(greenLightValue - ls.readValue()) < (greenDetectionRange / 2);
|
... | @@ -100,6 +106,7 @@ public class Test { |
... | @@ -100,6 +106,7 @@ public class Test { |
|
Ved at afprøve programmet gennem ovenstående program test.java blev det klart, at programmet kunne detektere grøn på mere end en måde. F.eks. eksperimenterede vi med at læse både sort og hvid for at opnå samme værdi som en grøn overflade ville give. På opsætning nedenfor (billede 4) oplevede vi at at programmet yieldede grøn (" Green: true") ved at læse en bestemt mængde sort og hvid.
|
|
Ved at afprøve programmet gennem ovenstående program test.java blev det klart, at programmet kunne detektere grøn på mere end en måde. F.eks. eksperimenterede vi med at læse både sort og hvid for at opnå samme værdi som en grøn overflade ville give. På opsætning nedenfor (billede 4) oplevede vi at at programmet yieldede grøn (" Green: true") ved at læse en bestemt mængde sort og hvid.
|
|
|
|
|
|
*Billede 4: Sensor placeret over både hvid og sort overflade.*
|
|
*Billede 4: Sensor placeret over både hvid og sort overflade.*
|
|
|
|
|
|
![reader](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/04b289af5d/reader.JPG)
|
|
![reader](http://gitlab.au.dk/uploads/group-5/group-5-lesson-4/04b289af5d/reader.JPG)
|
|
|
|
|
|
|
|
|
... | @@ -158,6 +165,7 @@ public class LineFollowerCal { |
... | @@ -158,6 +165,7 @@ public class LineFollowerCal { |
|
}
|
|
}
|
|
```
|
|
```
|
|
*Video 2: Demonstration af programmet*
|
|
*Video 2: Demonstration af programmet*
|
|
|
|
|
|
[![image alt text](http://img.youtube.com/vi/u0Iddyub2Z0/0.jpg)](http://www.youtube.com/watch?v=u0Iddyub2Z0)
|
|
[![image alt text](http://img.youtube.com/vi/u0Iddyub2Z0/0.jpg)](http://www.youtube.com/watch?v=u0Iddyub2Z0)
|
|
|
|
|
|
|
|
|
... | | ... | |