Next: この文書について...
Up: 4 AIBOを動かすには
Previous: 4.5 ダブルバッファ
AIBOの首や脚の関節を動かすモータは,自動制御機能を持つサーボモータです
.サーボには,自動制御のためのPID(比例,積分,微分)ゲインを動かす前
に指定しておく必要がある.AIBOでは,ゲインは各関節に6つずつあり,
PGAIN,IGAIN,DGAIN,PSHIFT,ISHIFT,DSHIFTからなる.それぞれのゲ
インの標準値が提供されるので,プログラマはゲインを調整する必要なく,標
準値を与えておくだけである.
ゲインを指定するには,OPEN-R APIを使う.
OStatus OPENR::EnableJointGain(OPrimitiveID*
primitiveID)
関節のゲインを有効にする.有効状態のときに次のSetJointGain()を実行する
と,サーボにPIDゲインが設定される.
OStatus OPENR::SetJointGain(OPrimitiveID* primitiveID
word pg, word ig, word dg, word ps, word is, word ds)
[wordの定義]
typedef unsigned short word;
6つの値を指定してゲインを設定する.
AIBOの起動時に,急激な動作をしないように,次の手順でサーボPIDゲインを
設定する必要がある.
- 1.
- モータ電源をオンにする.
- 2.
- 関節の角度の現在値を読み取る.
- 3.
- 読み取った現在値をそのまま指示値として送る.
- 4.
- サーボゲインをセットする.
2.の段階では,OPEN-R APIのGetJointValue()を使う.
OStatus OPENR::GetJointValue(OPrimitiveID primitiveID,
OJointValue* value)
関節角度の現在値を引数valueに返す.
generated through LaTeX2HTML. M.Inaba 平成18年5月6日