-
Notifications
You must be signed in to change notification settings - Fork 34
trouble_shooting
Tomoki Anzai edited this page Jan 10, 2020
·
19 revisions
- 一周が12bit(4096分割)のdynamixelサーボモータを使っている
- サーボ軸は一回転以上しないように制限されている。一回転以上する場合は初期化する角度が決められている。
- 指令/取得できるサーボ角度は符号付き15bit
(-16384~16383)
である。
- ロボットにおいて0[rad]と定める角度を、
2047
としてキャリブレーションしてください。(例えばhydrusなら一直線になる角度がロボットモデル上の0度。)neuronの内部処理でサーボの角度が0~4095に収まっていない場合は収まるようにオフセットをかける処理がかかるからです。 - これは角度を
0~4095
でしかやりとりしていなかった頃の名残で、今は符号付き15bit(-16384~16383)
まで送受信できるため、本来は-2047~2047
に収めるように処理し、0
になるようにキャリブレーションすべきですが、従来の仕様のままになっています。
Servo.yamlを書くとき、ジョイントが10を超えると気をつけないといけない点として、
controller1:
controller2:
...
controller10:
と定義したとき、これをアルファベット順(+数字順)にソートするとcontroller1, controller10, controller2 ...
となってしまい、ジョイントの順番がおかしくなってしまうので注意.
なので
controller01
controller02
...
controller10
...
のようにすればよい.
- HALのバージョンが変わってAPIが変わっている
- HALのバージョンを元のプロジェクトのバージョンに合わせてプロジェクトを生成する
- 例えばneuron_f4はv1.14.0
- 本当は最新のバージョンに合わせてこっちがプログラムを変えたほうがよい
- カメラの画角に何か環境以外のものが映り込んでいないか?自身のケーブルなどが映り込んでいないか?
- rigid bodyという無名のアブジェクトは必ず破棄する(位置推定が振動する)