Difference between revisions of "Robot nasleduje čiaru a vykreslí svoju dráhu do programu"

From RoboWiki
Jump to: navigation, search
(popis projektu)
 
(Popis programu na vykresľovanie)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Program na vykreslenie dráhy bol písaný v '''IDE NetBeans'''.
+
Program na vykreslenie dráhy pre model robota Sbot[http://virtuallab.kar.elf.stuba.sk/sbot/2.0].
  
 +
== Popis k programu na nasledovanie čiary ==
  
== Popis k programu na nasledovanie čiary ==
 
  
 +
'''Zapojenie'''
  
'''Zapojenie''' adc_vals[0] - ľavý senzor
+
                adc_vals[0] - ľavý senzor
 
                 adc_vals[1] - pravý senzor
 
                 adc_vals[1] - pravý senzor
  
 
Program po nadviazaní spojenia s počítačom pomocou bluetooth prostredníctvom programu putty reaguje na stlačenia kláves nasledovne:
 
Program po nadviazaní spojenia s počítačom pomocou bluetooth prostredníctvom programu putty reaguje na stlačenia kláves nasledovne:
p - testovacie tlačidlo, vypíše do výstupu putty "hello"
+
  p - testovacie tlačidlo, vypíše do výstupu putty "hello"
i - vypíše hodnoty z poľa adc_vals od 0 po 7  
+
  i - vypíše hodnoty z poľa adc_vals od 0 po 7  
w,s,a,d - ovládanie robota šípkami
+
  w,s,a,d - ovládanie robota šípkami
g - zastaví oba motory
+
  g - zastaví oba motory
v - vypíše hodnoty senzorov na čiaru
+
  v - vypíše hodnoty senzorov na čiaru
c - spustí sa nasledovanie čiary robotom
+
  c - spustí sa nasledovanie čiary robotom
  
 
'''Algoritmus nasledovania čiary:'''
 
'''Algoritmus nasledovania čiary:'''
Line 26: Line 27:
  
 
Keď je spustený mód nasledovania čiary, pri každom prechode cyklom vypíše na nový riadok do programu putty jedno z písmen "r,p,l". r ak ide rovno, p - zabáča doprava, l - zabáča doľava.
 
Keď je spustený mód nasledovania čiary, pri každom prechode cyklom vypíše na nový riadok do programu putty jedno z písmen "r,p,l". r ak ide rovno, p - zabáča doprava, l - zabáča doľava.
Po tom ako robota zastavíme, treba ručne z programu putty skopírovať celý výstup a uložiť do textového formátu (.txt).  
+
Po tom ako robota zastavíme, treba ručne z programu putty skopírovať celý výstup a uložiť do textového formátu (.txt).
  
 +
== Popis programu na vykresľovanie ==
  
== Popis programu na vykresľovanie ==
+
Program bol písaný v '''IDE NetBeans'''.
 +
 
 +
Screenshot programu:
 +
 
 +
[[Image:Screen.jpg]]
  
 
'''Načítavanie vstupného súboru''' (zdrojový kód ..src/robot/robot1.java)
 
'''Načítavanie vstupného súboru''' (zdrojový kód ..src/robot/robot1.java)
Line 46: Line 52:
  
 
"r" - načítava ďalšie hodnoty, až kým nenačíta rotáciu, pričom pri každom ďalšom načítaní "r" posunie koncový bod úsečky v smere aktuálneho natočenia o malú hodnotu. Úsečka sa vykreslí až pri načítaní rotácie, pričom reálne súradnice sú zaokruhlené na celočíselné.
 
"r" - načítava ďalšie hodnoty, až kým nenačíta rotáciu, pričom pri každom ďalšom načítaní "r" posunie koncový bod úsečky v smere aktuálneho natočenia o malú hodnotu. Úsečka sa vykreslí až pri načítaní rotácie, pričom reálne súradnice sú zaokruhlené na celočíselné.
 +
 +
==Zdrojáky ==
 +
 +
zdrojáky[http://virtuallab.kar.elf.stuba.sk/robowiki/index.php?title=Image:Projekt.zip]
 +
 +
'''Autor:''' Martin Chudjak

Latest revision as of 18:03, 24 June 2011

Program na vykreslenie dráhy pre model robota Sbot[1].

Popis k programu na nasledovanie čiary

Zapojenie

               adc_vals[0] - ľavý senzor
               adc_vals[1] - pravý senzor

Program po nadviazaní spojenia s počítačom pomocou bluetooth prostredníctvom programu putty reaguje na stlačenia kláves nasledovne:

 p - testovacie tlačidlo, vypíše do výstupu putty "hello"
 i - vypíše hodnoty z poľa adc_vals od 0 po 7 
 w,s,a,d - ovládanie robota šípkami
 g - zastaví oba motory
 v - vypíše hodnoty senzorov na čiaru
 c - spustí sa nasledovanie čiary robotom

Algoritmus nasledovania čiary:

V cykle prechádza nasledovným vetvením: Ak vidí robot na oboch senzoroch svetlo ide rovno (predpokladá, že čiaru má medzi senzormi). Ak vidí na ľavom otočí sa na mieste do ľava, kým nevidí znova na oboch svetlo. Inak zistí, či je na pravom senzore tma, točí do prava, kým nevidí na oboch svetlo.

Výpis činnosti robota

Keď je spustený mód nasledovania čiary, pri každom prechode cyklom vypíše na nový riadok do programu putty jedno z písmen "r,p,l". r ak ide rovno, p - zabáča doprava, l - zabáča doľava. Po tom ako robota zastavíme, treba ručne z programu putty skopírovať celý výstup a uložiť do textového formátu (.txt).

Popis programu na vykresľovanie

Program bol písaný v IDE NetBeans.

Screenshot programu:

Screen.jpg

Načítavanie vstupného súboru (zdrojový kód ..src/robot/robot1.java) Program si načítava údaje zo zadaného vstupného súboru informácie o chode robota ("r,l,p") a ukladá ich do poľa vystup_file, pričom vždy z dviadsiatich po sebe nasledujúcich riadkov vyberie najpočetnejší znak a uloží do poľa vystup_file. Množstvo riadkov po ktorých ukladá hodnotu do poľa vystup_file je možné nastaviť v premennej dlzkaseturiadkov, ale táto zmena ovplivní aj dĺžku vykreslovanej čiary, preto sa to neodporúča.

Vykreslovanie (zdrojový kód ..src/robot/draha.java)


Počiatočnú pozíciu robota a jeho počiatočný smer si načíta zo vstupu ktorý je možný zadať v programe. Dráha sa vykresľuje podľa hodnôt z poľa vystup_file. V cykle číta za radom všetky načítané hodnoty. Reakcie na hodnoty sú nasledovné:

"p" - otočí aktuálny smerový vektor robota o 1° v smere hodinových ručičiek

"l" - otočí aktuálny smerový vektor robota o 1° proti smeru hodinových ručičiek

"r" - načítava ďalšie hodnoty, až kým nenačíta rotáciu, pričom pri každom ďalšom načítaní "r" posunie koncový bod úsečky v smere aktuálneho natočenia o malú hodnotu. Úsečka sa vykreslí až pri načítaní rotácie, pričom reálne súradnice sú zaokruhlené na celočíselné.

Zdrojáky

zdrojáky[2]

Autor: Martin Chudjak