ページへ戻る

− Links

 印刷 

FREEDOM jr.III Sample Code のバックアップソース(No.13) :: Besttechnology

knowledge:FREEDOM jr.III Sample Code のバックアップソース(No.13)

« Prev[4]  Next »[5]
TITLE:FREEDOM jr.III Sample Code
[[GCC Developer Lite Ver2.4.0.13>GDL#DOWNLOAD]]のリリースに合わせ、本サンプルも改訂されているため、それよりも古いバージョンを使用している場合は最新版をインストールしてください。


|CENTER:BGCOLOR(red):||c
|  :idea:|''現在GCC Developer Liteの公開調整中の為、本ページの内容は改訂中となっています''。|

**FREEDOM III Library [#a882609e]
FREEDOM III Libraryについては[[こちら>FREEDOM III Library]]をご覧下さい。~
~

**ダウンロード [#l911f88a]

**サンプルプログラム一覧 [#jcfdc388]
FREEDOM jr.IIIシリーズは構成が異なっていても、同一のサンプルプログラムが提供されています。但し、構成により一部修正が必要となります。~
: BTH050/BTH051 FREEDOM Jr.III Basic/Complete Kit(AX-12シリーズ使用) |
#html{{
<pre class="brush: c;">
#include "share/HumanoidSpecAX12.c"
//#include "share/HumanoidSpecRX28.c"
//#include "share/HumanoidSpecRX28_2.c"
</pre>
}}
:BTH072 FREEDOM Jr.III RX-28 Edition(初期型) |
#html{{
<pre class="brush: c;">
//#include "share/HumanoidSpecAX12.c"
#include "share/HumanoidSpecRX28.c"
//#include "share/HumanoidSpecRX28_2.c"
</pre>
}}
:BTH072 FREEDOM Jr.III RX-28 Edition(最新型) |
#html{{
<pre class="brush: c;">
//#include "share/HumanoidSpecAX12.c"
//#include "share/HumanoidSpecRX28.c"
#include "share/HumanoidSpecRX28_2.c"
</pre>
}}
: リモートコントローラとしてSIXAXISを使用 |
#html{{
<pre class="brush: c;">
#define SIXAXIS
//#define RC100
</pre>
}}
: リモートコントローラとしてRC-100Bを使用 |
#html{{
<pre class="brush: c;">
//#define SIXAXIS
#define RC100
</pre>
}}

***shareフォルダ内 [#e5d47141]
いずれのサンプルプログラムも本フォルダに含まれるファイルを共有しています。~
人型向けに構造の定義をしなおしているヘッダ、デフォルトのモーションデータの定義、製品構成に依存するファイル、歩行サブルーチンといったものが含まれます。

****Humanoid16Axis.h [#oba7d5c8]
fd.hで宣言されている一部の構造体を、人型向に再定義しています。他に、再定義に伴うAPIのウォーニングを抑止するための関数の型変換といったマクロも含まれます。

****HumanoidSpecAX12.c [#g8816dc3]
Dynamixel AX-12シリーズを使用した16軸人型ロボット用のTSpec構造体(IDや動作範囲、制限値といった諸元)を宣言しています。

****HumanoidSpecRX28.c [#ia35a8be]
Dynamixel RX-28を使用した初期型(ID2~4及び7~9の出力軸が脚の内側に向いているバージョン)16軸人型ロボット用のTSpec構造体(IDや動作範囲、制限値といった諸元)を宣言しています。

****HumanoidSpecRX28_2.c [#h8b065fd]
Dynamixel RX-28を使用した最新型(ID2~4及び7~9の出力軸が脚の外側に向いているバージョン)16軸人型ロボット用のTSpec構造体(IDや動作範囲、制限値といった諸元)を宣言しています。

****HumanoidWalk.c [#d2e45c8a]
16軸人型ロボット用歩行サブルーチンです。

****HumanoidSampleMotionData.c [#oc3fe248]
人型用のデフォルト用ホームポジションと、いくつかのモーションデータの定義、さらにはそれらのデータをSDカードへ書込むためのサブルーチンが定義されています。

***SMPL1.c [#t6bbc743]
ホームポジションデータ・モーションデータを作成します。モーションデータはSDカード上に作成され、他のサンプルプログラムから読み出して再生することが可能です。~
本サンプルプログラムではキーボードからの入力とコンソール([[SIMPLE TERM:http://www.besttechnology.co.jp/modules/knowledge/?GCC%20Developer%20Lite#STERM]])への出力を想定しています。

****キーボード入力 [#jbae8ac7]
: I | ホームポジションデータ・モーションデータを作成します。
: m | 全身脱力(全アクチュエータの位置決め制御がOFF)になります。
: f | 全身硬直(全アクチュエータの位置決め制御がON)になります。
: h | 現在のFREEDOM jr.IIIの姿勢をホームポジションとして保存します。
: c | 全アクチュエータの状態を確認します。
: ESCキー | 本サンプルを終了します。

***SMPL2.c [#r8b03390]
モーションの再生を行います。

****キーボード入力 [#zf41aa9e]
: 1 | ホームポジションへ移動します。
: 2 | お辞儀をします。
: 3 | 右腕を振ります。
: 4 | 片足立ちをします。
: 5 | 左腕を振ります。~

その他のキーボード入力についてはSMPL1.cを参照。

***SMPL3.c [#uce44ab9]
モーションの再生を行います。~
本サンプルプログラムではリモートコントローラ([[RC-100B:http://www.besttechnology.co.jp/modules/knowledge/?BTX048%20RC-100B]]/SIXAXIS)とキーボードからの入力とコンソール([[SIMPLE TERM:http://www.besttechnology.co.jp/modules/knowledge/?GCC%20Developer%20Lite#STERM]])への出力を使用します。
****リモートコントローラ入力 [#da6b7dba]
: 1/△ボタン | ホームポジションへ移動します。
: 2/□ボタン | お辞儀をします。
: 3/×ボタン | 右腕を振ります。
: 4/○ボタン | 片足立ちをします。
: 5/R1ボタン | 右旋回をします。
: 6/L1ボタン | 左旋回をします。
: U/↑ボタン | 左腕を振ります。
: D/↓ボタン | しゃがみます。(離すと立ち上がります)
: L/←ボタン | 左側への攻撃を行います。
: R/→ボタン | 右側への攻撃を行います。~

キーボード入力についてはSMPL1.cを参照。

***SMPL4.c [#j87569e4]
モーションの作成・再生を行います。~
本サンプルプログラムではキーボードからの入力とコンソール([[SIMPE TERM:http://www.besttechnology.co.jp/modules/knowledge/?GCC%20Developer%20Lite#STERM]])への出力を使用します。~
#ref(motion.png)

****キーボード入力 [#v1783875]
: l | モーションデータの読み出して、先頭のポーズを選択します。
: s | 編集中のモーションデータの保存。
: k | モーションデータの削除。
: n | 全身脱力(全アクチュエータの位置決め制御がOFF)になります。
: o | 全身硬直(全アクチュエータの位置決め制御がON)になります。
: p | 編集中のモーションデータを再生します。
: e | 再生中のモーションを停止します。
: f | 次のポーズを再生します。
: r | 前のポーズを再生します。
: a | 選択されたポーズのポーズ間の補間方式を変更します。
: x | 選択されたポーズのポーズ間の遷移時間を短縮します。
: z | 選択されたポーズのポーズ間の遷移時間を延長します。
: g | 編集中のモーションの最後に、現在の姿勢を新しいポーズとして追加します。
: d | 選択されたポーズを削除します。
: i | 選択されたポーズの前に、現在の姿勢を新しいポーズとして追加します。
: m | 選択されたポーズを、現在の姿勢で置き換えます。
: c | 編集中のモーションデータを破棄します。
: w | ホームポジションに移動します。
: h | 現在のFREEDOM jr.IIIの姿勢をホームポジションとして保存します。
: I | ホームポジションデータ・モーションデータを作成します。~
既存のデータは上書きされます。
: q | 本サンプルプログラムを終了します。

***SMPL5.c [#f13e2cc0]

***SMPL6.c [#u5703b05]

***SMPL7.c [#h7cb8a09]
モーション作成・再生・歩行といった一連の操作を取り入れたサンプルです。
****モード [#qcf3b6df]
: Edit motion | モーションの作成・削除・再生、ホームポジションの調整を行います。
: Walking parameter | 歩行パラメータの変更を行います。
: Assign to button | 任意のボタンへ任意のモーションを割り当てます。~
方向キーに割り当てることはできません。
: Run | プログラムを実行するとこのモードになります。~
任意のボタンへ割り当てた任意のモーションの再生と、方向キーによる前後左右への歩行を行います。~
メインメニューへ戻るにはFDIII-HCのPB1を押すか、キーボード上でESCキーを2度押します。
: Status of DX | アクチュエータの状態を表示します。~
: Exit | サンプルプログラムを終了します。

« Prev[4]  Next »[5]