13: 2011-08-02 (火) 20:33:08 yoshida | 14: 2011-08-03 (水) 14:41:34 yoshida | ||
---|---|---|---|
Line 85: | Line 85: | ||
****初期化 [#w63f4eb4] | ****初期化 [#w63f4eb4] | ||
+ | 初期化には次の様にAPIを使用します。 | ||
#html{{ | #html{{ | ||
<pre class="brush:c;toolbar:false"> | <pre class="brush:c;toolbar:false"> | ||
Line 90: | Line 91: | ||
</pre> | </pre> | ||
}} | }} | ||
+ | |||
*****[[fd_SetSpec>FDIIILIB#r0f0534c]] [#a6a7bd34] | *****[[fd_SetSpec>FDIIILIB#r0f0534c]] [#a6a7bd34] | ||
指定された値を使用して、初期設定を行います。~ | 指定された値を使用して、初期設定を行います。~ | ||
- | ''第1引数''は、ホームポジションを指定したTHomePosition構造体変数のアドレスです。~ | + | ''第1引数''は、ホームポジションを指定した[[THomePosition構造体>FDIIILIB#fa1e627a]]変数のアドレスです。~ |
- | ''第2引数''は、アクチュエータの情報を指定したTSpec構造体変数のアドレスです。~ | + | ''第2引数''は、アクチュエータの情報を指定した[[TSpec構造体>FDIIILIB#w18bc93a]]変数のアドレスです。~ |
''第3引数''は、TSpec配列数です。 | ''第3引数''は、TSpec配列数です。 | ||
- | *****THomePosition構造体 [#e87812da] | + | *****[[THomePosition構造体>FDIIILIB#fa1e627a]] [#e87812da] |
基準となる位置を指定します。 | 基準となる位置を指定します。 | ||
#html{{ | #html{{ | ||
Line 105: | Line 107: | ||
6軸のアクチュエータに対し、512(出力軸は150°)を指定しています。 | 6軸のアクチュエータに対し、512(出力軸は150°)を指定しています。 | ||
- | *****TSpec構造体 [#lbf8e4eb] | + | *****[[TSpec構造体>FDIIILIB#w18bc93a]] [#lbf8e4eb] |
各初期情報を指定します。 | 各初期情報を指定します。 | ||
#html{{ | #html{{ | ||
Line 119: | Line 121: | ||
</pre> | </pre> | ||
}} | }} | ||
- | AX-12+のIDを1~6と設定しているので、それらをオフセット0~2と10~12へ割り当てます。オフセットは60の配列の為、59まで使用可能となっており、TApplyPartで指定するオフセットと対応していればどのような順番であっても問題ありません。 | + | AX-12+のIDを1~6と設定しているので、それらをオフセット0~2と10~12へ割り当てます。オフセットは60の配列の為、59まで使用可能となっており、[[TApplyPart>FDIIILIB#q3b8aabf]]で指定するオフセットと対応していればどのような順番であっても問題ありません。 |
****モーション再生 [#u5c51edb] | ****モーション再生 [#u5c51edb] | ||
+ | モーションを再生するには次の様にAPIを使用します。 | ||
#html{{ | #html{{ | ||
<pre class="brush:c;toolbar:false"> | <pre class="brush:c;toolbar:false"> | ||
+ | fd_PlayMotion (GoToHomePosition, 1, sizeof(GoToHomePosition)/sizeof(TPose), 100, &HandParts); | ||
</pre> | </pre> | ||
}} | }} | ||
+ | |||
*****[[fd_PlayMotion>FDIIILIB#xc988ccc]] [#h4574808] | *****[[fd_PlayMotion>FDIIILIB#xc988ccc]] [#h4574808] | ||
+ | 指定されたモーションを指定部位にて再生します。~ | ||
+ | ''第1引数''は、モーションデータを指定した[[TPose構造体>FDIIILIB#y2b4d82e]]変数のアドレスです。~ | ||
+ | ''第2引数''は、モーションの開始位置を指定します。~ | ||
+ | ''第3引数''は、モーションの終了位置を指定します。~ | ||
+ | ''第4引数''は、モーションの再生スピード(%)を指定します。~ | ||
+ | ''第5引数''は、モーションを再生部位を指定した[[TApplyPart構造体>FDIIILIB#q3b8aabf]]変数のアドレスです。~ | ||
+ | *****[[TPose構造体>FDIIILIB#y2b4d82e]] [#ra67c632] | ||
+ | ホームポジションからの角度情報を指定します。 | ||
+ | #html{{ | ||
+ | <pre class="brush:c;toolbar:false"> | ||
+ | const TPose GoToHomePosition [] = { | ||
+ | { Structure:{ 0, 0, 0, 0, 0, 0 }, Adj:ADJ_SACC_SDECEL, Div:2000, }, | ||
+ | }; | ||
+ | </pre> | ||
+ | }} | ||
+ | 6軸全てを0°としており、ホームポジション位置への移動を指示します。~ | ||
- | *****TApplyPart構造体 [#fdec1af9] | + | *****[[TApplyPart構造体>FDIIILIB#q3b8aabf]] [#fdec1af9] |
- | モーションはTApplyPartで設定された部位単位に動きます。1つのアクチュエータを複数の部位で使用しても問題ありません。~ | + | モーションは[[TApplyPart>FDIIILIB#q3b8aabf]]で設定された部位単位に動きます。1つのアクチュエータを複数の部位で使用しても問題ありません。~ |
但し、その場合はPriorityが有効になります。 | 但し、その場合はPriorityが有効になります。 | ||
#html{{ | #html{{ | ||
Line 158: | Line 178: | ||
AllPartのモーション稼働時にHandPartのモーションが稼働すると、ID1~3はAllPartのモーションがそのまま稼働し、ID4~6はHandPartのモーションが稼働します。 | AllPartのモーション稼働時にHandPartのモーションが稼働すると、ID1~3はAllPartのモーションがそのまま稼働し、ID4~6はHandPartのモーションが稼働します。 | ||
- | *****TPose構造体 [#if4363ee] | + | *****[[TPose構造体>FDIIILIB#y2b4d82e]] [#if4363ee] |
モーションデータになります。部位と合わせて使用します。 | モーションデータになります。部位と合わせて使用します。 | ||
#html{{ | #html{{ | ||
Line 167: | Line 187: | ||
</pre> | </pre> | ||
}} | }} | ||
- | モーションデータは配列で宣言して下さい。又、TSpecで宣言したアクチュエータ分、作成して下さい。 | + | モーションデータは配列で宣言して下さい。又、[[TSpec>FDIIILIB#w18bc93a]]で宣言したアクチュエータ分、作成して下さい。 |
***モーションプログラム [#s04f1e9e] | ***モーションプログラム [#s04f1e9e] |