CourseWare Wiki
Search
Log In
b181
help
common
robot_crs
Warning
This page is located in archive.
Differences
This shows you the differences between two versions of the page.
View differences:
Side by Side
Inline
Go
Link to this comparison view
Both sides previous revision
Previous revision
2021/11/09 13:32 smutny
2021/11/09 13:32 smutny
2021/11/09 13:31 smutny
2018/10/28 10:56 pisa
2018/10/28 10:55 pisa
2018/10/09 14:30 smutny
2018/10/04 18:01 smutny
2018/10/04 17:58 smutny
2018/10/04 17:55 smutny
2018/10/04 17:54 smutny
2018/10/04 17:48 smutny
2018/10/04 14:15 smutny
2018/10/03 20:23 smutny
2018/10/03 20:17 smutny
2018/10/02 08:18 pisa
2018/10/02 08:13 pisa
2018/02/15 17:10 smutny
2018/02/15 17:00 smutny
2018/02/03 10:49 external edit
2017/11/09 18:21 petroolg
2017/11/09 18:21 petroolg
2017/11/09 17:57 petroolg [Ovládání robotu]
2017/11/09 17:24 petroolg [Ovládání robotu]
2017/11/09 17:21 petroolg
2017/11/09 16:37 petroolg [Ovládání z Matlabu]
2011/10/03 14:50 smutny
2011/04/04 08:53 smutny
2010/05/11 11:21 smutny
2010/03/31 16:16 xmatousm
2010/03/18 15:38 smutny
2010/02/17 09:15 smutny
2010/02/17 09:15 smutny
2010/02/17 09:14 smutny
2010/02/17 08:48 smutny
2010/02/17 08:47 smutny
2010/02/16 14:52 smutny created
Go
Next revision
Previous revision
2021/11/09 13:32 smutny
2021/11/09 13:32 smutny
2021/11/09 13:31 smutny
2018/10/28 10:56 pisa
2018/10/28 10:55 pisa
2018/10/09 14:30 smutny
2018/10/04 18:01 smutny
2018/10/04 17:58 smutny
2018/10/04 17:55 smutny
2018/10/04 17:54 smutny
2018/10/04 17:48 smutny
2018/10/04 14:15 smutny
2018/10/03 20:23 smutny
2018/10/03 20:17 smutny
2018/10/02 08:18 pisa
2018/10/02 08:13 pisa
2018/02/15 17:10 smutny
2018/02/15 17:00 smutny
2018/02/03 10:49 external edit
2017/11/09 18:21 petroolg
2017/11/09 18:21 petroolg
2017/11/09 17:57 petroolg [Ovládání robotu]
2017/11/09 17:24 petroolg [Ovládání robotu]
2017/11/09 17:21 petroolg
2017/11/09 16:37 petroolg [Ovládání z Matlabu]
2011/10/03 14:50 smutny
2011/04/04 08:53 smutny
2010/05/11 11:21 smutny
2010/03/31 16:16 xmatousm
2010/03/18 15:38 smutny
2010/02/17 09:15 smutny
2010/02/17 09:15 smutny
2010/02/17 09:14 smutny
2010/02/17 08:48 smutny
2010/02/17 08:47 smutny
2010/02/16 14:52 smutny created
Go
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/04 17:58]
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 označeny podle dat výroby 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 ovládá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 CVUT GitHubu.
-
*
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.
+
* Soubory přímo vidíte z instalovaných počítačů na cestě <code> /data/Marocon/</code> nebo <code> /data/Pyrocon/</code>
-
* Demonstrační program je v souboru "bbdemo.m"
+
* Demonstrační program
ovládaní z Matlabu
je v souboru "
test/
bbdemo.m"
-
*
K odstraně
ní
varování
v
Matlabu o change notification použijte příkaz <code matlab> system_dependent DirChangeHandleWarn Never; </code>
+
*
Demonstrač
ní
program ovládaní z Pythonu je
v
souboru "test.py"
-
*
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 příkazy
:
<code matlab>
% Matlab
-
* pro zahájení komunikace a nezbytnou inicializaci spusťte
z Matlabu
příkazy <code matlab>rob=bbopen('CRS93'); % nebo rob=bbopen('CRS97');
+
rob=bbopen('CRS93'); % nebo rob=bbopen('CRS97');
-
rob=bbinit(rob);</code>
+
rob=bbinit(rob);
</code> <code python># Python
-
* po provedení inicializace pokračujte v práci s robotem
+
rob = robCRS93() # nebo rob = robCRS97()
-
* pro ukončení práci v Matlabu spusťte (robot se vrátí do pozice home) <code matlab>bbclose(rob);</code>
+
c = Commander(rob)
-
* vypněte robot červeným kolébkovým vypínačem na čelním panelu
+
c.open_comm(tty_dev) ???/dev/ttyUSB0 ???
+
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 <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).
* 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:
-
* odjistě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
,
-
* zmáčkněte červené tlačítko Motion Stop
+
* zmáčkněte červené tlačítko Motion Stop
,
-
* 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
-
* 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í 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 <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-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 ===
* [[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