| |
— | robot2 [2023/06/26 19:23] (aktuální) – vytvořeno - upraveno mimo DokuWiki 127.0.0.1 |
---|
| ====== Robot 2 ====== |
| |
| [[http://translate.google.com/translate?prev=hp&hl=cs&js=n&u=http%3A%2F%2Fprojects.adamh.cz%2Frobot2&sl=auto&tl=en|English version]] |
| |
| Druhý pokus o proniknutí do světa robotiky je stejně jako [[Eurobot2008|robot první]] postaven na podvozku závodního RC auta. Cílem je postavit robota, který bude umět autonomně projet zadanou trasu a vyhýbat se překážkám. Při jeho stavbě se chci vyvarovat chyb, které se jeho předchůdce objevily (špatná konstrukce, přehlcení mikrokontroléru, podceňení obecných elektrotechnických pravidel). Robot je popsán na http://dir.adamh.cz/soc/mobilni-robot.pdf jako práce SOČ (//3. místo na celostátní přehlídce SOČ 2009//). |
| |
| {{http://dir.adamh.cz/robot2/foto/cely3.jpg?400x300}} |
| |
| ====== Blokové schéma ====== |
| {{http://dir.adamh.cz/soc/schema.png?600x400}} |
| |
| ===== Konstrukce ===== |
| Jak již bylo zmíněno, základ robota tvoří podvozek závodního RC auta (1:10), na kterém je na dvou ohnutých páscích ze stavebnice Merkur přišroubovaná průhledná plastová bedna, která v sobě skrývá elektroniku. Z krabice je vyvedena zásuvka pro síť (připojení k počítači) a na víku krabice je umístěn 16x2 znakový LCD displej a tři tlačítka, sloužící jako "uživatelské rozhraní". Jako zdroj energie slouží 6-ti článková baterie, která se běžně v závodních autech používá. |
| |
| {{http://dir.adamh.cz/robot2/foto/cely4.jpg?400x300}} |
| |
| ===== Řídící počítač ===== |
| Mozkem robota je upravený router //Edimax BR-6104KP// (vyvedené I/O, sériový port a upravený napájecí zdroj), na kterém šlape systém s jádrem Linux, konkrétně distribuce [[http://midge.vlad.org.ua|Midge]]. Router startuje z připojeného USB flashdisku. Byl vybrán proto, že je relativně levný, dostatečně výkonný a programy se na něm dají spouštět úžasně jednoduše - přes FTP nahraju program v Perlu a během pár sekund jej můžu spustit. Navíc se dají upravovat přímo na routeru. Další příjemnou funkcí je webový server, který umožňuje řzení přes webvé rozhraní. |
| |
| K počítači je připojeno WiFi AP (rovněž Edimax), díky kterému lze robota řídit bezdrátově z notebooku nebo třeba "chytrého telefonu" s WiFi a webovým prohlížečem. Na fotografiích není, protože v robotu zabírá výhled na součáskty a ještě není zcela jisté, jak a kde bude uchyceno. |
| |
| {{http://dir.adamh.cz/robot2/foto/vnitrek-detail.jpg?200x150}} {{http://dir.adamh.cz/robot2/foto/edimax-br6104kp.jpg?200x150}} |
| |
| {{http://dir.adamh.cz/robot2/foto/lf33.jpg?200x150}} {{http://dir.adamh.cz/robot2/foto/atmega8.jpg?200x150}} |
| |
| ===== Elektronika ===== |
| Počítač komunikuje s okolím pomocí znakového LCD displeje ([[http://shop.snailinstruments.com/index.php?main_page=product_info&cPath=94_95&products_id=218|SIC1602A20]]) připojeného na sériový port. Vzhledem k tomu, že displej vyžaduje invertovaný signál, jsem mezi něj a počítač zapojit ještě invertor s obvodem 7404, který se o úpravu signálu postará. Dálší periferie a senzory (například ultrazvukový měřič vzdálenosti - sonar [[http://shop.snailinstruments.com/index.php?main_page=product_info&cPath=65_72&products_id=192|SRF02]] nebo elektronický kompas CMPS03) jsou připojeny přes sběrnici I<sup>2</sup>C. Infračervený měřič vzdálenosti GP2D120 je připevněn na mikroservo a měření zpracovává [[cs:atmega8board|deska s mikrokontrolérem ATmega8]], podobným způsobem je zpracováván i inkrementlní enkodér pro měření ujeté vzdálenosti, který je tvořen reflexním IR senzorem QRD114 vestavěným do krytu převodovky. O řízení serv se stará [[cs:atmega8board|deska s jednočipem ATmega8]] běžícím na 8 MHz. Další [[cs:atmega8board|deska]] s ATmega8 je použita pro zpracování dat z akcelerometru MMA7260, ten ale zatím není v algoritmech použit. Poslední vychytávkou je bzučák (auto prostě //musí// umět troubit), který sloužil pro nejjednodušší, ale velice efektní algoritmus vyhýbání se překážkám ("pokud narazíš na překážku, zastav a trub tak dlouho, dokud neuhne") :-) |
| Pro jednoduchou diagnostiku stavu baterie je použit panelový voltmetr. |
| |
| Časem plánuji zapojit kameru, nejžhavějšími kandidáty jsou: |
| |
| * USB webkamera (bohužel ji použitý kernel 2.4 npodporuje) |
| * IP kamera (přiliš drahá, nejspíš velká spotřeba) |
| * přídavná kamera se sériovým rozhraím ze Sony Erricsonu |
| |
| |
| {{http://dir.adamh.cz/robot2/foto/vnitrek.jpg?400x300}} |
| |
| ===== Dálkové ovládání ===== |
| //[Duben 2009]// Dálkové ovládání realizované webovým rozhraním je sice flexibilní, ale velice pomalé (skoro sekundová prodleva způsobená webserverem), proto jsem se v Delphi rozhodl napsat aplikaci, která se telnetem spojí s //příkazovým řádkem// routeru (něco jako SSH) a přes něj posílá příkazy nebo čte senzory (čtení senzorů je realizováno v samostatné relaci) a zároveň v reálném čase vykresluje trasu pohybu (na obrázku je aplikace nepřipojená a v testovacím režimu): |
| |
| {{http://dir.adamh.cz/robot2/control.png}} |
| |
| |
| Vizualizace pohybu pak může vypadat například takto: |
| |
| {{http://dir.adamh.cz/robot2/map-visualisation.png}} |
| |
| ===== Co to umí? ===== |
| * robot může být řízen pomocí počítače připojeného k LAN |
| * robot můře být rovněž řízen mobilním telefonem nebo PDA připojeným bezdrátově |
| * robot je schopen objet překážku |
| * robot by měl být schpen projet zadanou trať, popřípadě zakreslit mapu pohybu |
| * <del>robot umí úžasně rychle vybít libovolnou baterii</del> (//Opraveno výměnou vadného regulátoru otáček motoru//) |
| |
| ===== Odkazy ===== |
| * Článek o routeru na Robotika.cz Wiki: http://robotika.cz/wiki/RouterLinux |
| * Web věnovaný routeru [EN]: http://www.sunspot.co.uk/Projects/sweexproject.htm |
| * Distribuce midge [EN]: http://midge.vlad.org.ua |
| * Diskuzní fórum k routeru [EN]: http://midge.vlad.org.ua/forum |
| * Další obrázky: http://dir.adamh.cz/robot2/foto/ |
| * **Práce SOČ věnovaná stavbě robota - http://dir.adamh.cz/soc/mobilni-robot.pdf** |
| * Let's Make Robots article [EN]: http://letsmakerobots.com/node/6905 |
| |
| |