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 [2017/11/09 16:37]
petroolg [Ovládání z Matlabu]
help:common:robot_crs [2018/10/03 20:17]
smutny
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 ​ +  * Python knihovnu můžete stáhnout nebo naklonovat ze stránek GitHub [[https://github.com/​petroolg/​robo-spline|robo-spline/​Pyrocon]] 
-\\k333\appl\robots\tools\bluebot''​\\ ​ a budete ​je moci používat.  +  ​* Demonstrační program ovládaní z Matlabu ​je v souboru "​test/​bbdemo.m" 
-  * Demonstrační program je v souboru "bbdemo.m"+  * Demonstrační program ​ovládaní z Pythonu ​je v souboru "test.py"
   * K odstranění varování v Matlabu o change notification použijte příkaz <code matlab> system_dependent DirChangeHandleWarn Never; </​code>​   * K odstranění varování v Matlabu o change notification použijte příkaz <code matlab> system_dependent DirChangeHandleWarn Never; </​code>​
-  * Při ovládání robotu ​postupujte ​takto: +  * Postupy při ovládání robotu ​jsou prakticky stejné pro oba jazyky. Lišit se budou pouze příkazy. Postupujte ​takto:
-    * spusťte Matlab+
     * zapněte robota červeným kolébkovým vypínačem na čelním panelu řídicí jednotky (vypínač se rozsvítí)     * 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)     * stiskněte žluté tlačítko Arm Power (rozsvítí se nad ním žlutá dioda)
-    * pro zahájení komunikace a nezbytnou inicializaci spusťte ​z Matlabu ​příkazy <code matlab>​rob=bbopen('​CRS93'​);​ % nebo rob=bbopen('​CRS97'​);​ +    * pro zahájení komunikace a nezbytnou inicializaci spusťte příkazy <code matlab>% Matlab  
-rob=bbinit(rob);</​code>​+rob=bbopen('​CRS93'​);​ % nebo rob=bbopen('​CRS97'​);​ 
 +rob=bbinit(rob);​</​code>​ <code python># Python 
 +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     * 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>​bbclose(rob);</​code>​+    * 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     * 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 <code matlab>​bbrelease(rob);</​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)+    * spusťte příkaz <code matlab>% Matlab 
 +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).     * 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).
Line 40: Line 49:
     * zmáč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á error LED. V tom případě je třeba spustit z Matlabu příkaz: <code matlab> bbresetmotors(rob);</​code>​+  * 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 
 +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   * 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 2. a 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