Robot CRS

Tento popis se týká dvou kusů robotu CRS umístěného v místnosti KNE-132, roboty jsou označeny podle dat výroby CRS93 a CRS97.

Popis hardwaru

Řízení robotu

Řízení robotu z Matlabu nebo Pythonu

  • Pro ovládání robotu lze použit Matlab Toolbox, původní verze BlueBot, aktuální verzeMarocon na CVUT GitHubu.
  • Python knihovnu můžete stáhnout nebo naklonovat ze stránky Pyrocon na CVUT GitHubu (původní umístění GitHub robo-spline/Pyrocon na stránkách autorky)
  • Soubory přímo vidíte z v učebně instalovaných počítačů na cestě
     /bluebot/data/Marocon/src 
    nebo
     /bluebot/data/Pyrocon/
  • Demonstrační program ovládaní z Matlabu je v souboru “test/bbdemo.m”
  • Demonstrační program ovládaní z Pythonu je v souboru “test.py”
  • Postupy při ovládání robotu jsou prakticky stejné pro oba jazyky. Lišit se budou pouze příkazy. Postupujte takto:
    • zapněte robota červeným kolébkovým vypínačem na čelním panelu řídicí jednotky (vypínač se rozsvítí),
    • stiskněte žluté tlačítko Arm Power (rozsvítí se nad ním žlutá dioda),
    • pro zahájení komunikace a nezbytnou inicializaci spusťte příkazy:
      % Matlab 
      rob=bbopen('CRS93'); % nebo rob=bbopen('CRS97');
      rob=bbinit(rob);
      # Python
      rob = robCRS93() # nebo rob = robCRS97()
      c = Commander(rob)
      c.open_comm(tty_dev)  ???/dev/ttyUSB0 ???
      c.init()
    • po provedení inicializace pokračujte v práci s robotem,
    • pro ukončení práci v Matlabu spusťte (robot se vrátí do pozice home)
      % Matlab
      bbclose(rob);
      # Python
      c.soft_home()
      c.rcon.close()
    • vypněte robot červeným kolébkovým vypínačem na čelním panelu.
  • Pokud chcete něco provést uvnitř ochranné klece:
    • zastavte robota (vyčkejte zastavení pohybu),
    • spusťte příkaz:
      % Matlab
      bbrelease(rob);
      # Python
      c.release()
      (robot se zabrzdí a rozpojí se zpětná vazba, rameno robotu přitom může mírně poklesnout, proto to nedělejte těsně nad podložkou),
    • otevřete dveře klece (žlutá LED Arm Power zhasne).
  • Pokud robot dělá něco, co nemá, okamžitě stiskněte tlačítko Emergency stop (červený hříbek).
  • Návrat do původního stavu po aktivaci Emergency stop nebo po práci uvnitř klece:
    • odjistěte emergency stop tlačítko (zmačknutím modrého tlačítka na boku “hříbku”), případně zavřete dveře klece,
    • zmáčkněte červené tlačítko Motion Stop,
    • zmáčkněte žluté tlačítko Arm Power (rozsvítí se žlutá kontrolní LED Arm Power),
    • pokračujte posíláním příkazů pro pohyb robota.
  • Motor se může dostat do chybového stavu, kdy nad písmenem motoru bliká zelená stavová LED a kromě toho svítí červená error LED. V tom případě je třeba spustit z Matlabu příkaz:
    % Matlab
    bbresetmotors(rob);
    # Python
    c.reset_motors()
  • Pokud nedojde k vypnutí řídicí jednotky, není nutné nikdy, tedy ani po stisknutí Emergency stop ani po otevření dveří klece, znovu homovat.

Pohyb po hladkých trajektoriích

  • Toolbox BlueBot a knihovna Marocon obsahují funkce pro interpolace trajektorií spliny 2. a 3. řádu.
  • Matlab-program demonstrující pohyb po splinech robotu CRS je v souboru “test/interp_demo.m”
  • Pro demonstraci pohybu po splinech v Pythonu z příkazové řádky spusťte
    python test.py -a move
  • Obecný postup pro interpolaci trajektorie
    • Vytvořit předpis pro nějakou trajektorii v Kartézských souřadnicích (parametrickou nebo po částech lineární)
    • Nasamplovat body trajektorie (s odstupem 1-5 cm)
    • Převést body trajektorie do kloubových souřadnic v IRC jednotkách.
    • Zavolat na body jednu ze tří funkcí pro interpolaci.
    • Spočítané parametry použít pro pohyb.

Foto robotu

help/common/robot_crs.txt · Last modified: 2021/11/09 13:32 by smutny