Warning
This page is located in archive.

Differences

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

Link to this comparison view

help:common:robot_pan_tilt_megarobot [2014/02/18 12:05]
krsek [Ovládání jednotky]
help:common:robot_pan_tilt_megarobot [2018/02/03 10:49]
Line 1: Line 1:
-==== Pan-Tilt jednotka Megarobot ==== 
- 
-Pan-Tilt jednotka se skládá vždy ze dvou pohonů AI-701 firmy Megarobotics. Pohon AI-701 tvoří servo, které je řízeno příkazy prostřednictvím sběrnice RS-232. Samotné servo přímo interpretuje příkazy. Mezi PC a pohonem není prostředníkem žádná řídící jednotka. ​ 
- 
-V případě PT jednotky jsou na jedné sběrnici RS-232 počítače připojeny vždy dva pohony. Příjemce řídícího příkazu je v něm identifikován identifikačním číslem (ID). V tomto případě byly pohony nastaveny tak, aby pohon pro otačení v azimutu (vodorovně) měl ID == 0 a pohon pro elevaci (svisle) měl ID == 1. **Neprovádějte změny ID** -- můžete tak snadno způsobit nefunkčnost zařízení. Ze stejných důvodů je také zakázáno měnit komunikační rychlost sériového rozhraní (Baudrate). 
- 
-  * Dodavatel ([[http://​www.megarobot.net/​|MEGAROBOT.NET]]) poskytuje manuál k pohonu {{:​help:​common:​aimotor701_manual_megarobot.pdf|AI-701}}. 
-  * K snadnému testování pohonu lze použít program "​AI-MOTOR Tool v1.26",​ který je již na pracovišti nainstalován. 
-  * K programu doporučujeme číst krátky popis "​{{:​help:​common:​zaciname_s_aimotorem.pdf|Zacínáme s AI-MOTORem}}"​ , který poskytuje dodavatel ([[http://​www.megarobot.net/​|MEGAROBOT.NET]]). Tento poisis se zabývá prvními kroky práce s pohonem ve zmíněném programu. 
- 
-==== Ovládání jednotky ==== 
- 
-Pan-Tilt jednotku lze z MATLAbu ovládat pomocí [[http://​www.mathworks.com/​help/​matlab/​matlab_external/​getting-started-with-serial-i-o.html|Serial Port I/O]]. 
- 
-  - Pan-Tilt jednotka se inicializuje následující sekvencí příkazů<​code>​ser = serial('​COM1'​);​ 
-set(ser,'​BaudRate',​57600);​ 
-fopen(ser);</​code>​ 
-  - Ovládat jednotku lze zapisováním příslušných řídících bytů (viz [[http://​www.megarobot.net/​cj/​manualy/​megarobotics/​AIMotor701_manual.pdf|manuál]]) do souboru ''​ser''​ pomocí příkazu ''​fwrite''​. 
-  - Pro ulehčení práce s ovládáním jednotky je možno použít funkci ''​ptmove'':<​code>​ptmove(ser,​ pan_pos, tilt_pos);</​code>​ kde ''​pan_pos''​ udává absolutní úhel otočení kolem svislé osy, ''​tilt_pos''​ potom absolutní úhel otočení kolem vodorovné osy. Rozsah hodnot pro ''​pan_pos''​ i ''​tilt_pos''​ je 0 až 254, pokrývající cca 80 úhlových stupnů v daném směru. Pro nastavení jednotky do základní polohy, tedy do polohy, kdy optická osa kamery je kolmá na plochu LCD obrazovky, použijte hodnoty ''​pan_pos==127'',​ ''​tilt_pos==127''​.<​code>​function ptmove(ser, pan_pos, tilt_pos, speed) 
-    if nargin<4 
-        speed = 3; 
-    end 
- 
-    sermove(ser,​ speed, 0, pan_pos); 
-    sermove(ser,​ speed, 1, tilt_pos); 
-end 
- 
-function sermove(ser,​ speed, pantilt, pos) 
-    b1 = uint8(hex2dec('​ff'​));​ 
-    b2 = uint8(bitshift(uint8(speed),​ 5) + uint8(pantilt));​ 
-    b3 = min(max(uint8(pos),​ uint8(0)), uint8(254));​ 
-    b4 = uint8(bitand(bitxor(b2,​ b3), uint8(hex2dec('​7f'​))));​ 
-    fwrite(ser, [b1 b2 b3 b4]); 
-end 
-</​code>​ 
-  - Pro skončení práce s jednotkou ji deinicalizujte příkazy<​code>​fclose(ser);​ 
-delete(ser);</​code>​ 
- 
  
help/common/robot_pan_tilt_megarobot.txt · Last modified: 2018/02/03 10:49 (external edit)