User manual

Odometrie
Tato část je věnována několika zajímavým aplikačním konceptům robota AAR. Nápady vycházejí ze
studií a vývoj takového softwaru nás může inspirovat při programování mikrokontroléru.
Sledovače čáry, reakce na světlo a barvu
Senzory citlivé na světlo nám umožňují naprogramovat robota, aby se choval jako sledovač čáry, nebo
aby reagoval na barvu. V prvním z příkladů se od robota očekává, že bude sledovat 8 hrannou křivku,
která ho přinutí pohybovat se stále dokola v nekonečné smyčce.
Druhý a třetí příklad naučí robota, aby se vyhnul zdroji červeného světla a aby ho zároveň přitahovalo
zelené světlo. Tento druh vzorců chování je již možné považovat za praktické vzorce pro přežití
u jednoduchých živých organismů, jako jsou červi.
Reakce na zvuk
Celkem zajímavé jsou i vzorce chování, podle kterých robot reaguje na zvuky v okolí. Nervózního
robota, který je vybaven citlivým mikrofonem, můžeme naučit, aby se vyhýbal tvrdé basové hudbě a
zároveň aby jej přitahovaly vysoké tóny flétny. Přitažlivost vysokých frekvencí může dokonce převýšit
strach z velmi nízkých frekvencí. Robot tak může být přinucen, aby ho přitahoval zdroj zvuku flétny i
přesto, že vnímá zároveň tvrdou metalovou hudbu.
Vzorce chování, která závisí na vysokých a nízkých frekvencích, na světle a barvách vyžadují pouze
několik senzorů, dva frekvenční filtry a pár senzorů reagujících na světlo vybavených barevnými filtry.
Komplexní sledování čáry
Pro vyhledávání a sledování čáry roboti obvykle potřebují světelný zdroj, jakým je LED a dva, nebo
více světelných senzorů. Tyto zařízení dovolují systému identifikovat čáru a sledovat trasu. Je možné,
že ze začátku bude robot potřebovat speciální vyhledávací vzorec, aby si vypěstoval návyk pro
vyhledání čáry. Tento vzorec se může skládat ze strategie pro sledování spirálového vzoru, jehož
poloměr se postupně od startu zvyšuje. Robot má sledovat daný vzorec, až dokud senzor nezachytí
jiný vzorec čáry a nezačne sledovat tuto čáru.
Vývoj takovýchto programů dostatečně řeší problém vyhledávání jakýchkoliv vzorců čar a patří už do
kategorie sofistikovaných programů.
Komplexní vzorce chování
(jako úloha programování)
Projekt může být zkomplikován zadáním vyhledávací strategie, s kterou se má pracovat
v komplikovaných vzorcích barevných oblastí a čar, aby se našla nějaká červená čára, která přivede
robota do bezpečné tmavé "garáže".
Jakmile se na chvilku ztratí vzorec hluku, robot může opustit svoji "garáž" a začít hledat zelenou čáru,
která ho může dovést do jiné "garáže" s jasným zeleným světlem, kde se bude robot cítit spokojeně,
a to i v prostředí s tvrdou rockovou hudbou.
Jakmile však robot zachytí vysoké frekvence flétny, začne se cítit nepříjemně. Opustí své stanoviště,
aby našel červenou čáru, která ho přivede zpět domů, do tmavé "garáže".
Zkušení programátoři si uvědomují složitost a požadavky na design programu, který má sloužit pro
řešení problémů sledování čáry spojených s několika různými závislostmi na barvě a zvuku.
Programátor bude muset navrhnout program s hierarchickou sadou mnoha funkcí. Komplexní, ale
spolehlivý software, který bude vykonávat specifický úkol, nám umožní napsat jen dobře strukturovaný
koncept sestávající s několika modulů.
Komplexnost softwaru může vzbuzovat u programátorů obdiv k všem drobným živým organizmům,
které kombinují tyto vzorce chování v strategii pro pravidelné vyhledávání potravy a rozmnožování. Je
to ohromné úsilí života přírody znova a znova zdokonalovat vzorce chování a zachovat existenci
života…
Programování programu bootloader
Pozor!
Níže popsaný návod vyžaduje zkušenost v programování!
Bootloader pro Arduino můžete načíst na mikrokontrolér například pomocí STK500. K tomu, abyste
mohli jakýkoliv program napsaný v jazyku Arduino přenést na mikrokontrolér Atmega, musí být
procesor Atmega vybaven speciálním bootloaderem Arduino. Tento program bude potřebný k tomu,
aby se správně lokalizovaly kódové znaky v paměti Atmega.
K instalaci programu bootloader budeme potřebovat následující komponenty:
• Vývojovou desku AVR (například desku STK500)
• 12 V napájecí zdroj
• Robota AAR včetně konektoru ISP zasazeného na desce (obr. 7)
• Počítač vybavený fyzickým Com portem (nejlépe bez konvertoru USB-RS232, který může mít
za následek riziko chyb časování).
Nainstalujte si prosím (respektive aktualizujte) poslední verzi softwaru Arduino, kterou najdete na
stránkách www.arduino.cc. Soubor bude ke stažení zřejmě v zkomprimovaném formátu. ZIP, nebo
RAR. Rozbalte soubor a jeho obsah si uložte na pevný disk.
Pro přenos programu Arduino bootloader na robota použijte WINAVR.
Pozor!
Software Arduino patří do kategorie volně dostupných programů a z času na čas se může stát,
že software Arduino nemusí s programem bootloader pro Arduino spolupracovat!
Pokud se setkáte s takovým problémem, navštivte příslušné fórum na některé ze stránek věnovaných
problematice Arduino.
Obr. 7: Konektor ISP
Technické údaje
Motory: 2 motory 3 V DC
Typ procesoru: ATmega328P
Programovací jazyk: ARDUINO
Napájecí napětí: 4 x baterie typu AAA, 4,8 - 6 V
Napájecí proud: Min. 10 mA - max. 600 mA
Komunikace: USB konektor
Rozšíření: Kompatibilní s ASURO
Výška: 40 mm
Šířka: 120 mm
Hloubka: 180 mm