Implementácia ramena do Robotického laboratória

From RoboWiki
Jump to: navigation, search

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.

Robotnacka.jpg

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:
  1. hore a dole
  2. 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.
int g_actualWidth;
int g_actualHeight;
int g_pointOfGrip;
int g_carryID;
int g_state; // movement type (GRIPPER_MOVE_* from the enum gripper movement)
int g_destination;
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

  1. 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.ControlPanel.jpg Kontrolny panel aplikacie
  2. Robotnacka s otvorenym ramenom sputenym uplne dole.OpenDown.jpg Robotnacka s otvorenym ramenom uplne dole
  3. Robotnacka s otvorenym ramenom vytiahnutym uplne horeOpenUP.jpg Robotnacka s otvorenym ramenom uplne hore
  4. Robotnacka so zatvorenym ramenom spustenym uplne doleCloseDown.jpg Robotnacka so zavretym ramenom uplne hore

Súvisiace odkazy

see English version