Rozdíly

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

linefollower 2011/04/23 11:21 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
 
 
Driven by DokuWiki

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