Robot navn: Our little birdy

Grupeemedlemmer: Kasper M. Rasmussen, Jacob T. Jørgensen

Video:

Bedste konkurrencetid: N/A

Opbygning af hardware, vist vha. Softwaren fritzing:

Opbygning af robot i Lego

Download (ZIP, 1.97MB)

Opbygning af program

 

Vores program er bygget op over 4 områder:

  • En pre-setup fase hvor at all vores variable, arrays og pins bliver defineret.
  • En setup fase hvor pins bliver sat pins og arrays bliver sat.
  • En fase i “loop” hvor at koden til at følge den sorte linje, samt logikken hvormed at robotten nærmer sig muren, står.
  • En anden fase (der igen består af to faser) der bliver aktiveret når knappen foran på robotten bliver aktiveret af muren. Disse faser er:
    • Et halvt sekund hvori at robotten igen bakker væk fra muren, efterfulgt at en drejning til robotten holder parallelt med muren.
    • Robotten kører her langs med muren, mens den korrigere dens position i forhold til muren vha. sonar. I det at robotten kører forbi muren, og sonaren derved opnår tilstrækkelig høje værdier, vil robotten begynde at rotere kraftigere end hidtil.

 

Hvordan er sammenspillet mellem mekanik, elektronik og software?

              

For at kunne beskrive sammenspillet mellem robottens mekanik, elektronik og software, vil det være på sin plads først at liste robottens sensorer og aktuatorer:

 

Sensor:

 

Aktuators:

  • 4x lego hjul – link manglende.

Listen er kort, men relevant for at forstå sammenspillet.

 

I den tredje af de nævnte områder fra ovenstående afsnit, er det at robotten skal følge den sorte streg. Dette gør den ved at benytte “line sensor breakout” sensorerene (fra nu af betegnet som LSB-sensor), som er placeret på hver sin side af den sorte linje, foran på robotten.
Robotten vil blive ved med at kører fremad så længe at de målte værdier ikke afvigere fra hinanden med en værdi højere end 30. I tilfældet af at den ene LSB-sensor skulle blive ført over den sorte streg, vil det reflekterede lys blive absorberet, og sensor værdien derved falde. Robotten drejere nu mod den retning som fører den LSB-sensor som har målt den lave værdi, væk fra stregen. I det at værdierne igen ligger i nærheden af hinanden, med en fejlmargen på 30, fortsætter robotten ligeud som før. Dette fortsætter til robotten er nået enden af den sorte streg, hvor at ende-linjen betyder at begge LSB-sensorerne får betydeligt højere værdier end normalt.

Dette medfører at robotten sætter farten ned, således at den tactile knap kan blive aktiveret uden at ødelægge muren eller robotten.
Ved aktivering af knappen, overgår robotten til en ny fase: sonarfasen.

I det sekund af denne fase bakker robotten først væk fra muren igen for at få plads, efterfulgt af en rotation mod venstre til robotten ligger vandret med muren. Dernæst begynder robotten at bevæge sig langs muren med en lignende logik som den anvendte til at følge stregen: En målt afstand på 4 eller under får robotten til at dreje mod venstre, afstande mellem 5 og 7 får den til at køre lig ud, 8 til 15 drejer den til højre, og en værdi på over 15 får robotten til at lave et skarpt sving mod højre.

robotten set fra siden

robotten set bagfra

Konklusion:

Det lykkes os at komme igennem banen, om end med noget hardcoding for at komme uden om nogle problmer vi havde med sensoreren.

Vores gennemsnitlige gennemløbstid var omkring 1 minut.

 

Perspektivering:

Vi havde problemer med at anvende sonaren til at dreje rundt om væggen – vi oplevede to adskilte problemer:
Enten registrerede vores robot alt for sent at den var kommet forbi væggen og skulle påbegynde svinget, ellers drejede den alt for skarpt, og endte med at køre ind i væggen efter svinget. Vores midlertidige løsning er at hardcode svinget, men dette gør vores robot mindre fleksibel, i det at den ikke længere benytter sonaren til at bestemme hvornår den skal dreje og rette op igen. Dette trækker selvfælgelig fra vores robots evne til at tilpasse sig nye omgivelser, og bør rettes i fremtidige itterationer. På den anden side kan vi se at den virkede udemærket til at følge den sorte linje.

Leave a Reply