11 Virtuálne modely

Nie každý má možnosť pracovať s reálnym robotom. Preto sme vytvorili virtuálne modely, ktoré budú simulovať správanie sa reálneho robota. Základom virtuálneho modelu je blok Differential Drive Kinematic Model. Tento blok reprezentuje správanie robota. Vstupom sú rýchlosti kolies a výstupom je stav robota (aktuálna poloha a natočenie). Pred vstupom sú zosilnenia, ktoré reprezentujú prevod medzi hodnotou PWM signálu (ak by sme použili bloky pre Arduino) a rýchlosťou kolies. Stav robota ide do 3D vizualizácie. 3D vizualizácia zobrazuje robota vo virtuálnom priestore s čiarou. Na snímanie čiary sa využíva 5 kamier, ktoré reprezentujú 5 snímačov. Obraz z kamier sa prevádza na signál snímačov v bloku cam2sensor. Z tohoto bloku vychádza ďalší signál, ktorý je logická 1, ak je robot všetkými snímačami na bielej farbe (mimo čiary). Tento signál sa dá využiť na zastavenie simulácie pomocou manuálneho prepínača, ak je robot mimo čiary. Ďalším blokom môžu byť stopky, ktoré merajú čas medzi prvým dotykom kolies snímačom na dráhe a ďalším dotykom kolies snímača po 5 sekundách. Medzi snímačom a modelom robota sa typicky nachádzajú bloky pre snímanie čiary (kapitola 7) a riadiaca logika (kapitoly 8-10).

Štruktúra adresára

V adresáry sa nachádzajú 3 podadresáre zodpovedajúce kapitolám pre reálneho robota a pomocný adresár pre 3D vizualizácie.

Sequence_steps

Model v tomto adresári slúži na testovanie postupnosti krokov v prostredí Stateflow z návodu 6. Výstupom úlohy by mal byť blok Chart, ktorý bude obsahovať rozhodovaciu logiku pre pohyb robota.

LineSensor

Model v tomto adresári slúži na testovanie snímača čiary z návodu 7. Výstupom úlohy by mal byť subsystém, ktorý bude prevádzať hrubý signál zo snímačov na vážený priemer a binárne výstupy. Na overenie všetkých snímačom môžete robotom hybať pomocou konštánt (X,Y,Theta) alebo slajdrov, ktoré su na konštanty naviazané.

LineFollower

Model v tomto adresári slúži na testovanie algoritmov sledovania čiary z návodov 8-10. Výstupom úlohy by mal byť subsystém vašej logiky, ktorá prevedie hrubé signály zo snímačov na signál reprezentujúci PWM pre ľavé a pravé koleso.

Práca s 3D vizualizáciou

Vizualizácia robota sa otvára spoločne s modelom. Pokiaľ by ste vizualizáciu náhodou zavreli môžete ju znova otvoriť 2 klikom do bloku 3D Visualization a 2 klikom na blok VR Sink. 3D vizualizácia ma niekoľko pohľadov na virtuálny svet. Pohľady si môžete prepínať pomocou skrolovacieho menu. Odporúčame pohľad Follow Robot. Pohľady S1 - S5 reprezentujú kamery snímačov.

Zrýchlenie simulácie

Modely pre sledovanie čiary obsahujú súčasti, ktoré môžu spomaliť kompiláciu modelu a samostatnú simuláciu. Subsystém snímača obsahuje bloky na zobrazovanie obrazu pod snímačmi počas simulácie. Môže to byť užitočné pre ladenie algoritmu. 3D Vizualizácia obsahuje zobrazovanie času, ktoré tiež spomaluje rýchlosť vykreslovania. Poslednou časťou ktorá môže spomaľovať simuláciu sú náhľady blokov Chart a subsystémov. Z tohoto dôvodu boli vytvorené 2 typy modelov. Pomalý (_slow) s všetkými súčasťami, ktoré spomaľujú simuláciu, ale môžu byť vhodné pre ladenie a rýchly (_fast) pre testovanie algoritmu. Pre najrýchlejšiu simuláciu odporúčame zavrieť aj okno 3D Vizualizácie, pokiaľ ste si istý, že sa robot bude správať korektne.