Mentõexpedíció

A robotok felépítése

Az elveszett
Az elveszett robot forgó tornyán elhelyezkedõ villogó lámpákkal ad le vészjeleket a mentõegységnek. A mentõ, miután eljut az elveszetthez, a peremébe beleakaszkodva visszavontatja a bázishoz. A sérült robot könnyen húzható, mert a négyzet alakú talapzat négy sarkán elhelyezett forgó kerekek a húzás irányába fordulnak.
A tornyot lassító fogaskerékáttételen keresztül csigakerékkel forgatja a motor. A tornyon a lámpák nem egy síkban helyezkednek el, hanem szöget zárnak be egymással, így nagyobb területet szórnak be fényükkel. A mögöttük lévõ fehér elemek növelik a fényerõt.

A mentõrobot
A mentõ robot eredetileg lánctalpas volt, de nagyon rázkódott, ami jóformán lehetetlenné tette a nyomásérzékelõ által szolgáltatott jel kiértékelését, ezért a lánctalpat lecseréltük lánccal meghajtott kerekekre. Ez a konstrukció menettulajdonságaiban nagyon hasonlít a lánctalpra, de kiküszöböli annak hibáját. A robot mozgatását két motor biztosítja, az egyik a fodulásért, a másik a haladásért felelõs.
A mentõrobot elején hosszú, kampós végû rúd található, ezzel ragadja meg a segítségre szoruló robotot. A rúd alatt helyeztük el a nyomásérzékelõt, ami alaphelyzetben benyomott állapotban van -- míg a rúd be nem akad a másik robot peremébe, mert az a rudat megemeli. A mentõakció indulásakor a rudat rögzíti a képen is látható zöld lyukas kettes elem, hogy ne tudjon elfordulni. A vontatás alatt az elsõ fordulás megkezdése elõtt ezt a rögzítõ elemet egy külön mikromotorral felemeljük, hogy a mentõegység ugyanolyan könnyen tudjon fordulni, mint teher nélkül.
A fent említett meghajtást a képen látható -- két differenciálmûbõl felépített -- szerkezet teszi lehetõvé. A-val és B-vel jelölve a két motor erejét, az egyik oldali kerekek A+B, a másik oldaliak pedig A-B sebességgel forognak. Ha a B motort blokkoljuk, akkor az A segítségével egyenesen tudunk elõre vagy hátra haladni, míg az A-t blokkolva helyben tudunk forogni.

Érzékelők:
A mentõroboton egy elõre nézõ fényérzékelőt használunk a vészjelek érzékelésére, és a már említett nyomásérzékelõt annak megállapítására, hogy sikerült-e már megfogni a sérültet.


A programok:
A mentõakció programjai a legOS 0.2.5 könyvtárait használva C-ben íródtak. Windows 95 alatt -- a Cygwin segítségével -- fordítottuk le a legOS kernelét, C könyvtárát és segédprogramjait.

A programok forrásai:
halad.c A mentõrobot programja.
karvissza.c Külön program a rögzítõ elem visszaengedésére.
villog.c A sérült robot programja.
komm.h A kommunikációhoz használt közös header fájl -- az üzenetek definíciója.

Az elveszett robot programja:
Felváltva jobbra-balra forgatja a tornyot üzenetre várva, miközben egy külön szálon villogtatja a reflektorokat. Kétféle üzenet lehetséges:

  1. Ne forogj tovább!
  2. Ne villogj tovább!
Egyébként az üzeneteket ebben a sorrendben fogja megkapni. A parancsnak vidáman engedelmeskedik.

A mentõrobot programja:
A robot forogva keresi a másik robotot. Egy külön szál figyeli a felvillanásokat; ezek idõpontját listában tárolja, ennek segítségével képes megállapítani, hogy az eltelt 1 másodpercben hány felvillanást érzékelt. Ha ezek száma nagyobb egy, a villogás frekvenciája alapján megállapított küszöbértéknél, akkor úgy veszi, hogy meglátta a másik robotot, és üzenetet küld neki, hogy azonnal hagyja abba a forgást. Ekkor õ is abbahagyja a forgást, és elindul elõre (hisz ekkor nagyjából szemben van egymással a két robot). Addig megy, amíg el nem kapja a sérültet vagy el nem veszti a fényt. A nyomásérzékelõ állapotából tudja, hogy sikerült elkapni, ha viszont elveszti a fényt, akkor tovább kell keresnie. Ilyenkor kicsit hátratolat, majd forog, míg újra meg nem látja a fényt, hogy újra próbálkozhasson.
Keresés közben a forgások illetve haladások idõtartamát és irányát feljegyzi magának, és ha sikerült az összekapcsolódás, akkor ezen feljegyzések alapján jut vissza a bázishoz egy némileg egyszerûsített útvonalon. Összekapcsolódás után átszól a másiknak, hogy hagyja abba a villogást.

A következõ felvételeken meggyõzõdhettek róla, hogy nem mese volt, amit itt leírtunk: 1. felvétel 2. felvétel

Készítették:
Locher Kornél
Oroszi Sándor
Szabó Dániel
Vitéz László