Uživatelské nástroje

Nástroje pro tento web


linefollower

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

linefollower [2017/10/10 00:00] (aktuální)
Řádek 1: Řádek 1:
 +====== LineFollower ======
 +
 +[[http://​translate.google.com/​translate?​prev=hp&​hl=cs&​js=n&​u=http%3A%2F%2Fprojects.adamh.cz%2FLineFollower&​sl=auto&​tl=en|English version]]
 +
 +**Stránka slouží pouze jako __DOPLNĚNÍ__ článku v časopise Robot revue, ne jako kompletní návod ke stavbě!** (článek vyšel v číslech [[http://​robotrevue.cz/​2010/​4|4/​10]] a [http://​robotrevue.cz/​2010/​5|5/​10]])
 +
 +LineFollower je malý robotek postavený na podvozku [[http://​shop.snailinstruments.com/​index.php?​main_page=product_info&​cPath=77&​products_id=242|UMU-01]],​ kterého stavíme se **[[http://​zbynek.php5.cz/​|Zbyňkěm Moravcem]]**. Jeho hlavním úkolem je sledování čáry na soutěži [[http://​www.robotika.sk/​contest/​2010/​|ISTROBOT]] pod jménem **Bender** (ano, ten z Futuramy :-) ). Kromě sledování čáry musí být robot schopen objet překážku,​ kterou na soutěži může být cihla položená na čáře nebo tunel.
 +
 +Robot byl popsán v práci do Středoškolské odborné činnosti 2010 ([[http://​soc.cz|SOČ]]) pod názvem **"​Bender - robot sledující čáru"​** (Adam Heinrich, Zbyněk Moravec), kterou si můete stáhnout [[http://​temp.adamh.cz/​soc2010/​soc2010.pdf|zde]] (PDF, asi 5,1 MB).
 +
 +Mozkem robota je jednočip **ATmega16**,​ který spolu s H-můstkem **L293D** s PWM a Bluetooth modulem **OEMSPA310** sídlí na hlavní desce. Bluetooth modul poskytla firma [[http://​spezial.cz|Spezial Electronic]] a slouží k dálkovému řízení, monitorování stavu senzorů a také k bezdrátovému programování robota. Robot je dále vybaven infračerveným dálkoměrem **GP2D120**,​ připevněným na mikroservu. Měří vzdálenost k překážce v rozsahu 4-30 cm a je možné jej natočit v rozsahu 0-180°. Ke snímání čáry robot používá pětici infračervených odrazových senzorů **QRD1114** připevněných na plošném spoji v přední části robota.
 +
 +S řízením také pomáhá panáček ze stavebnice Lego :-)
 +
 +Napáení zajišťuje 6 AAA akumulátorů Eneloop. Když se vybijí, je možné sáhnout po 12 V síťovém zdroji - je ale nutné změnit rychlost motorů.
 +
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​linefollower1-small.jpg?​200x150}}
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​linefollower2-small.jpg?​200x150}}
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​top-small.jpg?​200x150}}
 +
 +
 +===== Hlavní deska =====
 +
 +Hlavní deska je navržena jako oboustranný plošný spoj. Diskrétní součástky jsou v pouzdru SMD (vel. 1206), integrované obvody jsou v pouzdrech DIP a v paticích, aby je v případě problémů bylo možné vyměnit.
 +
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​board1-small.jpg?​400x300}}
 +{{http://​temp.adamh.cz/​robot-linefollower/​images/​mainboard-schematic.png?​400x300}}
 +
 +Bluetooth modul je připojen speciálním SMD Board-To-Board konektorem Samtec (obrázek [[http://​www.spezial.cz/​connectblue/​images/​samtec.gif|zde]],​ který rovněž dodává firma Spezial Electronic (www.spezial.cz). Bluetooth je možné připojit i připájením kablíků, doplněním odporového děliče podle schématu a jejich připojením na konektor UART. Kablíkové řešení ale __nedoporučuji__,​ na této konkrétní konstrukci není ověřené //(Rx pin BT modulu je připojen na Tx pin mikrokontroléru a naopak)//:
 +
 +{{http://​lib.adamh.cz/​tank/​bluetooth.png?​250x200}}
 +
 +Bluetooth modul si nechte nastavit přímo u dodavatele, nastavení doma není příliš pohodlné:
 +
 +  * Baudrate: 19200 kbps
 +  * PIN: 0 (výchozí)
 +  * HW Flow Control: none (Bez kontroly toku dat)
 +  * Vzdálená konfigurace:​ zapnuta (Configuration over Air)
 +
 +
 +Za footprinty konektoru pro Bluetooth modul děkuji [[http://​matejk.cz|Matěji Kubičkovi]].
 +
 +
 +===== Senzor čáry =====
 +
 +Senzor čáry je popsán na stránce [[LineSensor]].
 +
 +
 +{{http://​temp.adamh.cz/​line_sensor/​foto.jpg?​350x170}}
 +{{http://​temp.adamh.cz/​line_sensor/​popisky.png?​450x120}}
 +
 +
 +===== Blokové schéma =====
 +
 +{{http://​temp.adamh.cz/​robot-linefollower/​images/​schematic-cz-small.png}}
 +
 +(English: block scheme [[http://​temp.adamh.cz/​robot-linefollower/​images/​schematic-en.png|here]])
 +
 +
 +===== Video =====
 +<​html><​object width="​425"​ height="​344"><​param name="​movie"​ value="​http://​www.youtube.com/​v/​UpTokIYwrb8&​hl=cs&​fs=1"></​param><​param name="​allowFullScreen"​ value="​true"></​param><​param name="​allowscriptaccess"​ value="​always"></​param><​embed src="​http://​www.youtube.com/​v/​UpTokIYwrb8&​hl=cs&​fs=1"​ type="​application/​x-shockwave-flash"​ allowscriptaccess="​always"​ allowfullscreen="​true"​ width="​425"​ height="​344"></​embed></​object></​html>​
 +
 +Jeden z prvních pokusů o sledování čáry s velmi primitivním algoritmem.
 +
 +-------------
 +<​html><​br></​html>​
 +
 +
 +<​html><​object width="​425"​ height="​344"><​param name="​movie"​ value="​http://​www.youtube.com/​v/​bKYoy2BibnA&​hl=cs&​fs=1"></​param><​param name="​allowFullScreen"​ value="​true"></​param><​param name="​allowscriptaccess"​ value="​always"></​param><​embed src="​http://​www.youtube.com/​v/​bKYoy2BibnA&​hl=cs&​fs=1"​ type="​application/​x-shockwave-flash"​ allowscriptaccess="​always"​ allowfullscreen="​true"​ width="​425"​ height="​344"></​embed></​object></​html>​
 +
 +[[http://​zbynek.php5.cz|Zbyňkův]] algoritmus zabraňující robotovi spadnout ze stolu (naprogramovaný po několika zkušenostech s pádem - robot naštěstí pokaždé přežil :-) )
 +-------------
 +<​html><​br></​html>​
 +
 +
 +<​html><​object width="​425"​ height="​344"><​param name="​movie"​ value="​http://​www.youtube.com/​v/​gh4xgnkKwIo&​hl=cs&​fs=1"></​param><​param name="​allowFullScreen"​ value="​true"></​param><​param name="​allowscriptaccess"​ value="​always"></​param><​embed src="​http://​www.youtube.com/​v/​gh4xgnkKwIo&​hl=cs&​fs=1"​ type="​application/​x-shockwave-flash"​ allowscriptaccess="​always"​ allowfullscreen="​true"​ width="​425"​ height="​344"></​embed></​object></​html>​
 +
 +Algoritmus použitý v soutěži [[http://​www.robotika.sk/​contest/​2010/​|ISTROBOT 2010]] (sledování čáry, vyhledání a odtlačení kostky a objíždění překážek).
 +
 +===== Programování robota =====
 +
 +==== Nahrání bootloaderu ====
 +
 +Bootloader umožňuje bezdrátové probramování robota pomocí rozhraní Bluetooth.
 +
 +1) Stáhněte ZIP archív s bootloaderem uvedený na konci stránky.
 +
 +2) Postavte si programátor pro AVR - ten nejjednodušší se jmenuje STK200, připojuje se na paralelní port počítače (LPT) a jeho schéma je [[http://​robotika.cz/​guide/​blink/​stk200.png|zde]]. Skládá se z konektoru na LPT, čtyř rezistorů a pětižilného kabelu.
 +
 +3) Nahrajte program do jednočipu. To se dá udělat například programem avrdude, který je obsažen v toolchainu [[http://​winavr.sourceforge.net/​|WinAvr]]. Příkaz pro naprogramování (v příkazovém řádku) vypadá takto:
 +
 +**avrdude -p m16 -c stk200 -U flash:​w:​main.hex -U lfuse:​w:​0xff:​m -U hfuse:​w:​0xd8:​m**
 +
 +  * m16 je typ mikrokontroléru (ATmega16).
 +  * stk200 je typ programátoru.
 +  * -U flash:​w:​main.hex slouží k odeslání programu.
 +  * -U lfuse:​w:​0xff:​m slouží k zapsání nižšího bajtu s pojistkami (fuses).
 +  * -U hfuse:​w:​0xd8:​m slouží k zapsání vyššího bajtu s pojistkami (fuses) - ty nastavují zdroj hodinového signálu (krystal), vypínají JTAG, povolují bootloader a nastavují velikost paměti pro bootloader. **Pozor, neměňte pojistky, pokud nevíte, co děláte** - můžete tak jednočip nadobro zaseknout.
 +
 +4) Odpojte programátor a stiskněte tlačítko na desce (PB4) a tlačítko RESET - měla by se rozsvítit červená LED dioda.
 +
 +Autorem původního bootloaderu je Martin Thomasovi (http://​www.siwawi.arubi.uni-kl.de/​avr_projects).
 +
 +==== Nahrání programu ====
 +
 +Pro upload programu přes Bluetooth slouží soubor Makefile v adresářích se zdrojovými kódy robota. Obsahuje tyto příkazy (v příkazovém řádku):
 +
 +1) make clean - smazání zkompilovaných souborů.
 +
 +2) make  - kompilace.
 +
 +3) make load - nahrání programu bootloaderem.
 +
 +
 +===== Zdroje pro stavbu =====
 +
 +Zdroje pro stavbu robota a **fotografie ve vyšším rozlišení** najdete na http://​temp.adamh.cz/​robot-linefollower.
 +
 +  * Zdrojové kódy: [[http://​temp.adamh.cz/​robot-linefollower/​sources/​code-robot-linefollower.zip|example1]] a [[http://​temp.adamh.cz/​robot-linefollower/​sources/​code-robot-example1.zip|linefollower]]
 +  * Bootloader: [[http://​temp.adamh.cz/​robot-linefollower/​sources/​code-bootloader.zip|bootloader]]
 +  * Motivy DPS a seznam součástek (partlist): [[http://​temp.adamh.cz/​robot-linefollower/​sources/​boards.zip|boards]]
 +  * Ovládací program pro PC: [[http://​temp.adamh.cz/​robot-linefollower/​sources/​robot-control.zip|robot-control]]
 +
 +//​Ovládací program pro PC je napsán v Delphi. Pro upravování zdrojových kódů a kompilaci je potřeba knihovna [[http://​www.ararat.cz/​synapse/​files/​synaser.zip|synaser]] (soubory *.pas stačí nakopírovat do library adresáře Delphi), více o knihovně v [[http://​casopis.programator.cz/​r-art.php?​clanek=115|článku na programator.cz]].//​
 +
 +===== Soutěže =====
 +
 +  * [[http://​www.fm.tul.cz/​cs/​kyberrobot09|Kyber robot 2009]] - robot byl prezentován na soutěži středoškolských robotů pořádané Technickou univerzitou v Liberci.
 +  * [[http://​www.soc.cz|Středoškolská odborná činnost]] (SOČ) 2010 - 3. místo na celostátní přehlídce v Chrudimi.
 +  * [[http://​www.robotika.sk/​contest/​2010/​|ISTROBOT 2010]] - 9. místo v kategorii Stopař.
 +  * [[http://​www.robotika.sk/​contest/​2011/​|ISTROBOT 2011]] - 10. místo v kategorii Stopař.
 +
 +==== ISTROBOT 2010 ====
 +
 +Na soutěži [[http://​www.robotika.sk/​contest/​2010/​|ISTROBOT 2010]] byl Bender jedním ze čtyř robotů, kteří trať projeli napoprvé. Největším zádrhelem byl pant pro zvednutí senzoru čáry, aby robot mohl přejet přes [[http://​www.robotika.sk/​contest/​2009/​images/​IstrobotMostik2009.png|mostek]] :-) Nakonec se umístil na 9. místě a byl jedním z mála robotů, který splnil všechny úkoly na trati (jedním "​dobrovolným"​ úkolem bylo vyhledání a odstlačení červené [[http://​www.robotika.sk/​contest/​2010/​follower2.php|kostky]],​ která sloužila k otevření dveří na tunelu).
 +
 +Merkurová konstrukce s mikrospínači v přední části sloužila k odtlačení kostky (Zbyňkův vynález), kovové podložky v zadní čáti robota ji vyvažovali,​ aby se robot při jízdě z mostu nepřevrátil :-)
 +
 +Video soutěžního algoritmu můžete vidět [[http://​www.youtube.com/​watch?​v=gh4xgnkKwIo|zde]].
 +
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​istrobot2010/​bender1.jpg?​200x150}}
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​istrobot2010/​bender2.jpg?​200x150}}
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​istrobot2010/​bender3.jpg?​200x150}}
 +{{http://​temp.adamh.cz/​robot-linefollower/​foto/​istrobot2010/​bender4.jpg?​200x150}}
 +
 +===== Další zdroje informací =====
 +
 +  * [[http://​dir.adamh.cz/​robot-linefollower|Další fotky, schémata atd.]]
 +  * [[http://​rc.xf.cz/​servokonektory.html|Článek o krimpování konektorů]]
 +  * [[http://​robotika.cz/​guide/​blink/​cs|Blikáme LEDkou]] - úvod do programování jednočipů
 +  * [[http://​spezial.cz|Spezial Electronic]] - dodavatel Bluetooth modulů ConnectBlue v ČR
 +  * [[http://​www.robotika.cz|Robotika.cz]] - web věnovaný robotice
  
linefollower.txt · Poslední úprava: 2017/10/10 00:00 (upraveno mimo DokuWiki)


© 2008-2012 Adam Heinrich, adamh.cz, adam@adamh.cz