AIT鉄人2号の開発環境、使用されている技術
AIT鉄人1号ではSH7045Fで時分割のPWM信号を発生し、CPLDで各サーボに信号を振り分けていた。AIT鉄人2号では、まずCPUをより高速なSH7145Fに変更し、さらにPWM信号の生成をFPGAに行わせるようにした。また、センサ信号もFPGAで処理させた。FPGAとはField
Programmable Gate Arrayの略で、プログラミングできるLSIを言う。CPLDもFPGAと同じようにプログラミングできるLSIだが、規模が小さくて、PWM信号を1個のCPLDで発生させることができなかったが、FPGAによりそれらが可能になった。このように信号処理を専用LSに任せることにより、CPUの負荷を減らし、高精度、高速な処理ができるようになる(かな?)。また、通常行われているようなトリッキーなプログラムが不要に成り、制御プログラミングも簡単でわかりやすく成る。
FPGAはSH7145FのCS2のメモリー空間にマッピングし、マッピングされたアドレスへPWMの値をWRITEするだけで、PWM信号が出力される。また、角速度ジャイロセンサーのパルス幅もFPGAで計測し、マッピングされたアドレスからREADするだけで、センサー信号を読み込むことができる。SH7145Fは16ビットデータバス、8ビットアドレスバスでFPGAと接続している。
今回のボードは、FPGAとコンフィグレーションPROMだけのシンプルなもの。回路図をEagleで書き、自動配線でパターンをある程度生成(実際には自動ではほとんどパターンはできません)した後、人力でパターン修正。データを基板加工機で読み込んで基板製作した。表面実装です。ボードの主な構成は以下のよう。これだけの機能を入れてもFPGAのゲートは1/3も使われていない。今後は、さらに機能を入れていく予定。
FPGAボード
FPGA |
XILINX SPARTAN II (XC2S100TQ144)
10万ゲート
User I/O 92 |
コンフィグレーションEEPROM |
XC18V01VQ44
1Mbit |
開発ツール |
Xilinx社WebPACK ISE |
回路設計、パターンレイアウト |
Eagle4.11 |
CAM |
CAM-21RS |
プリント基板自動加工機 |
FP-7A(MITS) |
使用基板 |
両面基板
表面実装 |
機能
出力 |
PWM×24(サーボ用:分解能0.5µs、周期16.384ms、パルス幅0-8,192ms)
PWM×3 (角速度ジャイロセンサ用:周期16.384ms、パルス幅1.024ms固定) |
入力 |
パルス幅×3(角速度ジャイロセンサ用:分解能0.5µs、計測パルス幅0-8.192ms) |
|
SH7145Fボードのメモリマップ
FPGAとは、CS2空間で8ビットアドレスで接続 |
|
回路の全体構成 |
|
|
PWMユニット |
ジャイロセンサユニット |
|
|
VHDLでFPGAの回路を記述 |
|
|
|
Eagleで回路設計、基板パターン作成 |
|
|
|
基板加工機で基板製作 |
部品を半田付けして完成(裏面/表面) |
|
SH7145F(ベストテクノロジーBTC080)
ボードと合体 |
AIT鉄人の低速時の歩行は膝を伸ばすのが特徴です。以下、「AIT鉄人的歩行法」を大まかに説明します。まずは、(b)
重心を右足に移動します。この時、多くのロボットでは膝を曲げますが、鉄人では曲げません。ポイントは、上体を平行にするということです。(c)次に左足を上げます。この時重心は右にあるので、倒れることはありません。(d)左足を前に出し、重心を左足に乗せます。この時、右足は伸ばします。あとは、左右逆の形に成ります。人間はゆっくり歩行するときは膝をあまり曲げないことは、試してみればわかります。この動作になるべく近い形を取っています。
|
|
|
(a) 初期ポジション |
(b) 上体は平行にして右足に重心を乗せます |
(c) 左足を上げます |
|
|
|
(d) 左足を前に出し、重心を左足に乗せます |
(e) 左足を伸ばし、右足を上げます |
(f) 右足を前に出し、重心を右足に乗せます |
取りあえず、下半身完成。結局は長さは鉄人1号と同じ程度になった。もっと短くもできたが、サイズよりも自由度を優先した。鉄人2号では鉄人1号よりも可動範囲が広くなっている。全体的にはコンパクトに成った。また、股関節部の前後軸を上に持ってくることにより、上体を軽くすることを考えた。このことにより上体が起こしやすくなり、立ち上がり動作が容易になることを期待している。
|
→ |
|
鉄人1号の足 |
(同じスケール) |
鉄人2号の足 |
直行軸の小型化を行った。サーボモータはケースを分解して加工。コントロール回路はサーボから切り離した。2種類の直行軸を設計。「直行軸1」は足首部分、「直行軸2」は股関節部分に使用。
|
|
直行軸1 |
|
|
直行軸2 |
外部電源で動かすとき、10Aでもまだ不足する場合がある。そこで、新たに10V、35Aまで出せる可変電源を購入。菊水電子工業コンパクト可変スイッチング電源PAK10-35A。10万円なり。
|
10V、35Aの電源 |
|