Difference between revisions of "Implementácia ramena do Robotického laboratória"
From RoboWiki
m (→Súvisiace odkazy) |
m (→Implementácia) |
||
Line 18: | Line 18: | ||
== Implementácia == | == Implementácia == | ||
− | + | Pre implementáciu ramena bolo potrebné upraviť Nasledovné moduly: | |
− | + | * Modul Robot.h, kde boli doplnené premenné hovoriace o výške a roztvorenosti ramena, o stave ramena, v ktorom sa práve nachádza, a enumerovany typ so všetkými možnými stavmi ramena. | |
− | + | enum virtual_robot_gripper_movment { | |
− | + | GRIPPER_MOVE_NONE, // not moving (gripper is idle) | |
+ | GRIPPER_MOVE_UP, // executing a positional command | ||
+ | GRIPPER_MOVE_DOWN, | ||
+ | GRIPPER_MOVE_OPENING, | ||
+ | GRIPPER_MOVE_CLOSING | ||
+ | }; | ||
+ | * Robot.cpp, kde bola pridaná funkcia, obsluhujúca rameno. Na základe prijatého paketu rozhodne o ďalšom stave ramena, prípadne o počte jednotiek o koľko bude rameno roztvorené/pritvorené, alebo zodvihnuté/položené. Funkcia pri každej zmene stavu volá metódu na odoslanie správy pre zobratujúce moduly. Táto bol tiež doplnená o informacie o stave ramena | ||
+ | * Viewer.java, je zobrazovací modul, ktorý príjma správy o pohybe Robotnačky. Bol upravený aby príjmal spravy, v ktorých sa už nachádza informácia o výške a roztvorení ramena. Samotné rameno je zobrazené pomocou dvoch elíps, roztvorenie ramena určuje ich vzájomnú vzdialenosť. Červená zložka RGB farby ramena je určena výškou ramena, zelena jeho roztvorením a modrá oboma premennými. | ||
== Demo == | == Demo == |
Revision as of 19:48, 22 June 2009
Cieľ
Našim cieľom bolo implementovať rameno pre Robotické Laboratórium, tak aby bola Robotnačka schopná uchopiť, preniesť a položiť rôzne objekty.
Tím
Michal Vince
Špecifikácia
- Cieľom je implementovať funkcionalitu ramien do Robotického laboratória,konkrétne pohyb ramena smerom hore a dole, a roztváranie a zatváranie ramena. Rameno bude mať 2 druhy pohybov:
- hore a dole
- otvoriť a zatvoriť
každý z týchto pohybov sa bude môcť vykonávať o 1 jednotku, resp. na maximálnu úroveň otvorenia, resp. spustenia.
- Zabezpečiť prenos informacií o stave ramena pre zobrazovacie moduly, konkrétne doplniť správy pre moduly o informácie o stave ramena.
- Zobrazovať rameno podľa aktuálneho stavu, upraviť a doplniť zobrazovacie moduly aby boli schopné príjmať upravené správy, získať z nich potrebné informácie pre zobrazenie ramena a nakoniec ho vykresliť.
Implementácia
Pre implementáciu ramena bolo potrebné upraviť Nasledovné moduly:
- Modul Robot.h, kde boli doplnené premenné hovoriace o výške a roztvorenosti ramena, o stave ramena, v ktorom sa práve nachádza, a enumerovany typ so všetkými možnými stavmi ramena.
enum virtual_robot_gripper_movment { GRIPPER_MOVE_NONE, // not moving (gripper is idle) GRIPPER_MOVE_UP, // executing a positional command GRIPPER_MOVE_DOWN, GRIPPER_MOVE_OPENING, GRIPPER_MOVE_CLOSING };
- Robot.cpp, kde bola pridaná funkcia, obsluhujúca rameno. Na základe prijatého paketu rozhodne o ďalšom stave ramena, prípadne o počte jednotiek o koľko bude rameno roztvorené/pritvorené, alebo zodvihnuté/položené. Funkcia pri každej zmene stavu volá metódu na odoslanie správy pre zobratujúce moduly. Táto bol tiež doplnená o informacie o stave ramena
- Viewer.java, je zobrazovací modul, ktorý príjma správy o pohybe Robotnačky. Bol upravený aby príjmal spravy, v ktorých sa už nachádza informácia o výške a roztvorení ramena. Samotné rameno je zobrazené pomocou dvoch elíps, roztvorenie ramena určuje ich vzájomnú vzdialenosť. Červená zložka RGB farby ramena je určena výškou ramena, zelena jeho roztvorením a modrá oboma premennými.
Demo
- Ovladaci panel,tlacitko Connect sluzi na nadviazanie spojenia s Robotnackou. Vyznacene tlacitka sluzia na obsluhu ramena. Pri zapnutom prepinaci A bit sa rameno pohybuje o 1 jednotku.
- Robotnacka s otvorenym ramenom sputenym uplne dole.
- Robotnacka s otvorenym ramenom vytiahnutym uplne hore
- Robotnacka so zatvorenym ramenom spustenym uplne dole