Automatické autíčko
Zo stránky SensorWiki
Záverečný projekt predmetu MIPS / LS2024 - Meno Priezvisko
Automatické autíčko sledujúce čiernu čiaru
Sledovanie čiary je základnou technikou používanou v rôznych odvetviach robotiky, vrátane priemyselných robotov, autonómnych vozidiel, ale aj v domácich aplikáciách, ako sú napríklad čistiace roboty. Táto technika umožňuje vozidlám efektívne navigovať v prostredí, kde sú k dispozícii jednoduché vizuálne orientačné body, ako je napríklad čiara na zemi.
V tejto práci sa zameriame na implementáciu sledovania čiary v prostredí AVR, pričom sa budeme venovať nielen samotnému algoritmu sledovania čiary, ale aj analýze vplyvu rôznych parametrov a technických obmedzení na výkon a spoľahlivosť systému. Na základe tejto analýzy budeme schopní navrhnúť a implementovať optimalizovaný algoritmus sledovania čiary, ktorý bude schopný účinne navigovať v rôznych prostrediach a podmienkach.
Zadanie úlohy
Rozhodli sme sa pre náš záverečný projekt z MIPS vytvoriť autíčko, ktoré sleduje čiernu čiaru. Autíčko musí absolvovať celú dráhu zloženú z rôznych zatáčok a prerušení tejto čiary, ktoré musí zvládnuť.
Literatúra:
Popis autíčka
Analýza a opis riešenia
Ako teda autíčko funguje? Úlohu sledovania čiary zabezpečujú tri IR senzory, ktoré fungujú na princípe odrazenia sa signálu z IR led diódy do Photo diódy. Ak je podklad pod autíčkom čierny, tak sa od podkladu signál neodrazí a Photo dióda ho nezachytí. Akonáhle ale autíčko prejde mimo jeho stanovenej dráhy (mimo čiernej čiary) tak je naprogramované najprv zotrvať sekundu na jeho mieste a potom vybrať si smer rovno alebo pravý, ľavý. Pričom vždy jeden z týchto smerov ho navedie naspäť na dráhu.
Postup ako sa robot vracia späť na dráhu je jednoduchý. V našom funguje aj tak že vedia obe ľavé kolesa sa otáčať jedným smerom a kolesa vpravo do protismeru takže je veľmi efektívny pri otáčaní a zatáčaní.
Schéma zapojenia autíčka
Algoritmus a program
Algoritmus programu je....
#include <avr/io.h>
int main(void)
{
unsigned int measuredValue;
while (1)
{
/* relax */
}
return(0);
}
#include <avr/io.h>
void adc_init(void); // A/D converter initialization
unsigned int adc_read(char a_pin);
Pridajte sem aj zbalený kompletný projekt, napríklad takto (použite jednoznačné pomenovanie, nemôžeme mať na serveri 10x zdrojaky.zip:
Zdrojový kód: zdrojaky.zip
Overenie
Na používanie našej aplikácie stačia dve tlačítka a postup používania je opísaný v sekcii popis riešenia. Na konci uvádzame fotku záverečnej obrazovky pred resetom. Vypísaný je tu priemerný čas a najlepší čas.
Video:
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.