Hvordan få et Robot Følg en linje

Hvordan få et Robot Følg en linje


Et hjul robot som kan følge en linje på gulvet er en god demonstrasjon av roboten evne til å samhandle med omgivelsene. Det er også en god måte å få roboten til å gå hvor du vil den skal gå. Sensoren informasjon som holder roboten på sporet kommer fra lysstråler spretter opp fra gulvet. Noen få linjer med programkode kan slå denne informasjonen inn retningskommandoer, og regulerer hastigheten på hjulene hjelper deg å styre roboten.

Bruksanvisning

1 Sett opp en lyskilde og en detektor på hver side av roboten. Hver lyskilde skal sprette opp fra gulvet på den ene side av linjen og inn i en reseptor. Hver reseptor bør registrere to typer signaler: "høy" og "lav", avhengig av om lysstrålen er hoppende fra en lys eller mørk bakgrunn. Disse verdier er bestemt ved eksperimentell testing.

2 En begynnelsen av koden, skriver to linjer som oversette signalene som reflekteres fra en hvit overflate som "høy" og signaler som kommer fra en mørk overflate som "lav" - hvor "lav" oversettes til "linje" og "høy oversettes til" back_ground ". (forutsatt at linjen er svart) Derfor, hvis roboten følger en svart linje på en hvit bakgrunn, vil koden se slik ut:" define linjen: = lav, "og" define back_ground: = høy; " . for å endre fra å følge en svart linje for å følge en hvit linje, kan du bare reversere de definerte verdier i disse to linjene. Deretter skrive to linjer med kode i drifts løkke av robotens kontroll program som gjenkjenner når roboten er få av . spor - det vil si når en av detektorene er å se på linjen for eksempel vil en linje med kode være "HVIS left_sensor == linjen deretter ringe turn_left ();" og den andre linjen med kode ville være "IF right_sensor == linjen samtale turn_right (); "Disse kodelinjer er i PBASIC for en PARALLAX robot, men intensjonen skal være klar. Så lenge begge sensorene detektere bakgrunnen, blir roboten skrevende linje.

3 Bekrefte eksperimentelt hastighetsendring er nødvendig for å holde roboten sporing linjen. Fordi hvert hjul reagerer på signaler individuelt, hvis venstre sidehjul spinner saktere, blir robot igjen. For å opprettholde den relative hastigheten som kreves for å holde roboten på sporet, må du lære å øke eller redusere hastigheten slik at roboten alltid svinger i en vinkel som ikke er for bratt og ikke til grunne. Disse forskjellene kan etableres eksperimentelt. Lag en gjetning, kjøre roboten, endre din gjetning og gjenta som nødvendig til du får det riktig.

Hint

  • Hvis banen at roboten tar når du følger linjen er jerky, kan du vurdere å bruke fire linjer med kode i stedet for to. I stedet for å ha bare en enkelt tur, ha en svak sving, etterfulgt av en større omdreining.
  • Svingene vil være forskjellig for ulike overflatestrukturer. Pass på at du teste roboten på samme overflate som du brukte under utvikling.