pymycobotでのmyCobot - Adaptive Gripperの扱い
https://gyazo.com/30230015f8e3358fa882e90b19f05dbc
確認環境
AtomMain 3.2
Windows 11
Python 3.9.2(IPython 7.20.0)
結論
pymycobot 2.5.6とAtomMain 3.2との組み合わせでは
最大限に開閉するだけならset_gripper_state(0,0)/set_gripper_state(1,0)を使う。
第2引数の速度は0以外はすべてスローモーションのように動くので、実質0でしか使えない
AtomMain 4.1では0でもスローモーションのように動くようになってしまっている
グリッパーの開き具合を調整して開閉したいときはset_encoder(7, 値)を使う
ただし,値がある値以下になるとロックするので,その値を見つけておく
set_gripper_value()はバグバグで使えない
set_encoder(joint_id, encoder)
joint_idは1から7まで
7がグリッパー
encoderは0から4096まで
通常は最大に開いた位置を2048とし,それより小さい値を指定して閉じる
半開きの状態を初期位置として設定し,開くときは2048より大きい値(最大値4096)を,閉じるときは2048より小さい値(最小値0)を指定するという使い方もできなくはない
完全に閉じた位置が0ではない
ある値以下にすると,グリッパーがロックし,一定時間(だいたい20秒くらい)経たないと操作できなくなる
ロックするとATOMのLEDが消えるのでわかる
ロックしている間はis_gripper_move()が-1を返す
saitotetsuya.icon私のグリッパーでは1291より小さい値でロックすることが多い
必ずその値でロックするわけでもない
ロックしない位置の値を試行錯誤で求めておけば使える
動く速度は指定できない
set_gripper_value(value, speed)
valueは0から4096
speedは0から100
バグバグで使えない
閉じることしかできない
valueもspeedも効いてない
set_gripper_state(flag, speed)
flagが0なら開く,1なら閉じる
speedは0から100
speedが0なら使える
他の値はすべてスローモーションで動く
参考
set_encoders() executes get_encoders() functionality and get_encoders() returns empty array
get_encoder() should return one scalar value