DJI Ronin RS2の制御 (メモ)
このページは個人的なメモ書きです。何かあればご連絡ください。

理想を言えば、シリアル通信越しにGrblと同じプロトコルで制御できると嬉しいです!
Grbl Protocol: https://github.com/gnea/grbl/blob/master/doc/markdown/interface.md
- 右手座標系、レンズがZ+軸、コールドシューがY+軸
- ジンバルのロール軸は傾斜していますが、関係なく、直交した
X=pitch,Y=yaw,Z=roll3軸のオイラー角(度数法)として姿勢を表現 - ジンバルロックが起きる場合はどうする?
- あくまでインターフェース越しの角度表現は、ジンバルの物理軸を上記の座標系に従って変換したものなので、各軸ごとに普遍の可動域を設定することが出来ない
- 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>