1: 2009-06-23 (火) 18:46:07 sho ソース 現: 2009-06-23 (火) 19:34:55 sho ソース
Line 5: Line 5:
**歩行のためのパラメータ [#c81bd850] **歩行のためのパラメータ [#c81bd850]
 TWalkParam WalkParam = {  TWalkParam WalkParam = {
-WalkParamが歩行のパラメータです。+WalkParamが歩行のパラメータの構造体です。
  LegDim :{                      // 脚リンク長さ初期値 [mm *10]   LegDim :{                      // 脚リンク長さ初期値 [mm *10]
   R:{{{  327,    74,    0},  //  Pivot→ID1    R:{{{  327,    74,    0},  //  Pivot→ID1
Line 59: Line 59:
 }  }
歩行を制御するためのキースキャンです。例えばwを1度入力するとWalkParamのwsを50増やす、つまり歩幅5mmで前進します。次にxを3回押すとwsを150減らす、つまりwsが-100になり歩幅10mmで後退します。 歩行を制御するためのキースキャンです。例えばwを1度入力するとWalkParamのwsを50増やす、つまり歩幅5mmで前進します。次にxを3回押すとwsを150減らす、つまりwsが-100になり歩幅10mmで後退します。
 +**プラグイン設定 [#j65e763c]
 +  // 歩行サブルーチン登録
 +  fd_AddPlugin ((TFDPluginFunc)Walk, 0, &WalkPart, &WalkParam);
 +歩行の関数はFREEDOMライブラリの中にはありません。ですので歩行関数をプラグインとして登録する必要があります。以下引数の紹介です。
 + (TFDPluginFunc)Walk
 +歩行の関数です。
 + 0
 +歩行の関数は割り込みの中で実行されます。割り込みは一定周期で実行されるプログラムのようなものです。この引数を0にすると割り込みが実行されると必ずその中でWalk関数が実行されます。1にすると割り込み2回に1回Walk関数が実行されます。1回お休みします。
 + &WalkPart
 +歩行を行う体の部位を指定します。
 + TApplyPart WalkPart = {
 +  Priority:  5,
 +  PartNum:  10,
 +  part:{
 +     &((THumanoid*)0)->Servos.RightLeg[0],
 +     &((THumanoid*)0)->Servos.RightLeg[1],
 +     &((THumanoid*)0)->Servos.RightLeg[2],
 +     &((THumanoid*)0)->Servos.RightLeg[3],
 +     &((THumanoid*)0)->Servos.RightLeg[4],
 +     &((THumanoid*)0)->Servos.LeftLeg[0],
 +     &((THumanoid*)0)->Servos.LeftLeg[1],
 +     &((THumanoid*)0)->Servos.LeftLeg[2],
 +     &((THumanoid*)0)->Servos.LeftLeg[3],
 +     &((THumanoid*)0)->Servos.LeftLeg[4],
 +  }
 + };
 +歩行を行うのは必ず脚なのでこのように設定します。
 + &WalkParam
 +歩行のためのパラメータの章で紹介したパラメータです。
 +**歩行開始 [#u20d8d6e]
 + WalkParam.cmd = CMD_START_WALK;
 +WalkParamのcmdをCMD_START_WALKにすると歩行を開始します。
 +あとはWalkParamのws(歩幅), wh(腰上げ量), lf(脚持ち上げ量), pf(脚押しこみ量), kf(脚持ち上げ保持量), rs(右側横歩き歩幅), ls(左側横歩き歩幅), speed(歩行動作速度)に好きな値を代入して歩行を操作します。ta(旋回角度)はFREEDOMjr.IIIには旋回軸が無いので機能しません。
 +cmdにCMD_DECEL_WALKを入れるdecel


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom