Warning
This page is located in archive.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
help:common:robot_crs [2011/10/03 14:50]
smutny
help:common:robot_crs [2018/10/02 08:18]
pisa
Line 1: Line 1:
 ===== Robot CRS ===== ===== Robot CRS =====
-Tento popis se týká dvou kusů robotu CRS umístěného v místnosti KNE-132+Tento popis se týká dvou kusů robotu CRS umístěného v místnosti KNE-132, roboty jsou oznaceny podle data vyrobty CRS93 a CRS97.
  
 === Popis hardwaru === === Popis hardwaru ===
Line 15: Line 15:
   * [[http://​cmp.felk.cvut.cz/​cmp/​courses/​ROB/​labsmaterial/​CRS/​CRS-uvod.htm|Robot CRS, stručný popis]]   * [[http://​cmp.felk.cvut.cz/​cmp/​courses/​ROB/​labsmaterial/​CRS/​CRS-uvod.htm|Robot CRS, stručný popis]]
  
-=== Ovládání ​z Matlabu ​=== +=== Ovládání ​robotu ​=== 
-  * Robot je z Matlabu většinou řízen prostřednictvím Toolboxu ​[[help:​common:​bluebot_toolbox|BlueBot]] +  * Pro ovladání robotu lze použit Matlab Toolbox, původní verze [[help:​common:​bluebot_toolbox|BlueBot]], aktuální verze[[https://​github.com/​cvut/​marocon|Marocon]] na FEL GitLabu. 
-  * Funkce pro řízení robotu CRS jsou v adresáři:​\\ ​"\\k333\appl\robots\tools\bluebot". \\ V Matlabu stačí napsat \\ ''​addpath \\k333\appl\robots\tools\bluebot''​\\ ​ a budete je moci používat.  +  * Matlab Toolbox se nachází ​v adresáři:​\\ \\k333\appl\robots\tools\bluebot. \\ V Matlabu stačí napsat \\ <code matlab>addpath \\k333\appl\robots\tools\bluebot</​code> ​ a budete je moci používat. ​ 
-  * Demonstrační program je v souboru "​bbdemo.m"​ +  * Python knihovnu můžete stáhnout nebo naklonovat ze stránek GitHub [[https://​github.com/​petroolg/​robo-spline|robo-spline/​Pyrocon]] 
-  * K odstranění varování v Matlabu o change notification použijte příkaz ​\\ " ​system_dependent DirChangeHandleWarn Never; ​" +  * Demonstrační program ​ovládaní z Matlabu ​je v souboru "test/bbdemo.m
-  * Při ovládání robotu ​postupujte ​takto: +  * Demonstrační program ovládaní z Pythonu je v souboru "​test.py
-    * spusťte Matlab, +  * K odstranění varování v Matlabu o change notification použijte příkaz ​<code matlab> ​system_dependent DirChangeHandleWarn Never; ​</​code>​ 
-    * zapněte robota červeným kolébkovým vypínačem na čelním panelu řídicí jednotkyvypínač se rozsvítí, +  * Postupy při ovládání robotu ​jsou prakticky stejné pro oba jazyky. Lišit se budou pouze příkazy. Postupujte ​takto: 
-    * stiskněte žluté tlačítko Arm Power (rozsvítí se nad ním žlutá dioda), +    * zapněte robota červeným kolébkovým vypínačem na čelním panelu řídicí jednotky ​(vypínač se rozsvítí) 
-    * v Matlabu se spustí \\ " ​rob=bbopen('​CRS93'​) ​" ​nebo " ​rob=bbopen('​CRS97'​) ​"​\\  ​(inicializuje se komunikace z Matlabu), +    * stiskněte žluté tlačítko Arm Power (rozsvítí se nad ním žlutá dioda) 
-    * v Matlabu se spustí \\ " ​rob=bbinit(rob) "​\\  ​(robot nalezne referenční pozici), +    * pro zahájení komunikace a nezbytnou inicializaci spusťte příkazy <code matlab>% Matlab  
-    * normálně pracujete ​s robotem, +rob=bbopen('​CRS93'​); % nebo rob=bbopen('​CRS97'​)
-    * pokud chcete ​ukončit práci v Matlabu ​spustíte \\ " ​bbclose(rob) ​"​\\  ​(robot najede do referenční pozicea +rob=bbinit(rob);</​code>​ <code python># Python 
-    * vypněte robot červeným kolébkovým vypínačem na čelním panelu.+rob = robCRS93() # nebo rob = robCRS97() 
 +c = Commander(rob) 
 +c.open_comm(tty_dev) 
 +c.init()</​code>​ 
 +    * 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) <code matlab>% Matlab 
 +bbclose(rob);</​code>​ <code python># Python 
 +c.soft_home() 
 +c.rcon.close()</​code>​ 
 +    * vypněte robot červeným kolébkovým vypínačem na čelním panelu
   * Pokud chcete něco provést uvnitř ochranné klece:   * Pokud chcete něco provést uvnitř ochranné klece:
-    * zastavte robota (vyčkejte zastavení pohybu), +    * zastavte robota (vyčkejte zastavení pohybu) 
-    * spusťte příkaz ​"bbrelease(rob)" ​(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), +    * spusťte příkaz ​<code matlab>% Matlab 
-    * otevřte dveře klece (žlutá LED Arm Power zhasne).+bbrelease(rob);</​code>​ <code python># Python 
 +c.release()</​code> ​(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).   * 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:   * Návrat do původního stavu po aktivaci Emergency stop nebo po práci uvnitř klece:
-    * odjištěte emergency stop tlačítko (zmačknutím modrého tlačítka na boku "​hříbku"​),​ případně zavřete dveře 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 
-    * zmačkněte červené tlačítko Motion Stop, +    * zmáčkněte červené tlačítko Motion Stop 
-    * zmačkněte žluté tlačítko Arm Power (rozsvítí se žlutá kontrolní LED Arm Power), +    * 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. +    * 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á LED Err. V tom případě je třeba spustit z Matlabu příkaz: ​\\ " ​bbresetmotors(rob) ​"\\ +  * 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: ​<code matlab>% Matlab 
-  * Pokud nedojde k vypnutí řídicí jednotky, není nutné nikdy, tedy ani po stisknutí Emergency stop ani po otevření dveří klece, znovu homovat.+bbresetmotors(rob);</​code>​ <code python># Python 
 +c.reset_motors()</​code>​ 
 +  * 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í splinami 2a 3. řadů. 
 +  * 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 <code python>​python test.py -a move</​code>​  
 +  * 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-5cm) 
 +    * Převést body trajektorie na IRC 
 +    * Zavolat na body jednu ze tří funkcí pro interpolaci 
 +    * Spočítané parametry použit pro pohyb 
 +=== Foto robotu ===
   * [[http://​cmp.felk.cvut.cz/​cmp/​courses/​ROB/​labsmaterial/​CRS/​CRSpredklon.png|Robot CRS v předklonu]]   * [[http://​cmp.felk.cvut.cz/​cmp/​courses/​ROB/​labsmaterial/​CRS/​CRSpredklon.png|Robot CRS v předklonu]]
   * [[http://​cmp.felk.cvut.cz/​cmp/​courses/​ROB/​labsmaterial/​CRS/​CRSpozor.png|Robot CRS v pozoru]]   * [[http://​cmp.felk.cvut.cz/​cmp/​courses/​ROB/​labsmaterial/​CRS/​CRSpozor.png|Robot CRS v pozoru]]
- 
- 
help/common/robot_crs.txt · Last modified: 2021/11/09 13:32 by smutny