Robot 2

English version

Druhý pokus o proniknutí do světa robotiky je stejně jako 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://temp.adamh.cz/soc/mobilni-robot.pdf jako práce SOČ (3. místo na celostátní přehlídce SOČ 2009).

temp.adamh.cz_robot2_foto_cely3.jpg

Blokové schéma

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 16×2 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á.

temp.adamh.cz_robot2_foto_cely4.jpg

Ří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 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.

temp.adamh.cz_robot2_foto_vnitrek-detail.jpg temp.adamh.cz_robot2_foto_edimax-br6104kp.jpg

temp.adamh.cz_robot2_foto_lf33.jpg temp.adamh.cz_robot2_foto_atmega8.jpg

Elektronika

Počítač komunikuje s okolím pomocí znakového LCD displeje (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 SRF02 nebo elektronický kompas CMPS03) jsou připojeny přes sběrnici I2C. Infračervený měřič vzdálenosti GP2D120 je připevněn na mikroservo a měření zpracovává 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á deska s jednočipem ATmega8 běžícím na 8 MHz. Další 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

temp.adamh.cz_robot2_foto_vnitrek.jpg

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):

Vizualizace pohybu pak může vypadat například takto:

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
  • robot umí úžasně rychle vybít libovolnou baterii (Opraveno výměnou vadného regulátoru otáček motoru)

Odkazy

 
robot2.txt · Poslední úprava: 2017/10/10 17:32 (upraveno mimo DokuWiki)
 
Driven by DokuWiki

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