橋本 Hashimoto   Baku

橋本 Hashimoto   Baku

DJI Ronin RS2の制御 (Scratchpad)

This page is a personal scratchpad.

理想を言えば、シリアル通信越しにGrblと同じプロトコルで制御できると嬉しいです!

Grbl Protocol: https://github.com/gnea/grbl/blob/master/doc/markdown/interface.md

  • 右手座標系、レンズがZ+軸、コールドシューがY+軸
  • ジンバルのロール軸は傾斜していますが、関係なく、直交したX=pitch, Y=yaw, Z=roll 3軸のオイラー角(度数法)として姿勢を表現
  • ジンバルロックが起きる場合はどうする?
    • あくまでインターフェース越しの角度表現は、ジンバルの物理軸を上記の座標系に従って変換したものなので、各軸ごとに普遍の可動域を設定することが出来ない
    • Grbl的には、可動域を超えた場合
    • > G0 X10000  
      ok  
      ALARM:2  
      [MSG:Reset to continue]  
      
    • のように表示され、0x18(リセット用制御文字)→ $X(unlock)を送信する必要がある
    • ジンバル制御において、可動域を超えるのは比較的頻繁に発生するため、もう少しライトな方法を用意したい
      • 最大可動域で角度がクランプされ、何らかのメッセージを返すだけ。など。
  • G90(絶対座標指定)とG91(相対座標指定)の双方をサポート
> $H  ; 原点復帰  
ok  

> G90 ; 絶対角度指定  
ok  

> G0 X45 Y90 Z0 ; 回転  
ok   

> G91 ; 相対角度指定  
ok  

> G0 X2 ; ちょこっとピッチを上げる  
ok  

> ?  
<Idle|MPos:45.200,90.000,0.000|FS:0,0>