AIT鉄人1号の開発環境、使用されている技術
 

 ロボットには色々な技術が使われており、幅広い知識が必要になります。今回の鉄人の開発に使われている技術は、全て愛知工業大学の学部で学ぶことができるものです。大学内では他学科の講義を受けることもでき、必要に応じて自分の所属する学科に無い科目も勉強できます。


構造設計

 構造は3次元CADのAutodesk Inventorを使用。CADで各パーツを設計後、CAD上で組み立て。その設計図に基づいてパーツの加工を行い、実機の組み立てを行った。愛知工業大学では機械系学科などでCADの講義が行われている。

1. パーツ設計 2. CAD上でパーツ組み立て
3. 加工図出力 展開図も簡単にできる

加工

 愛知工業大学には、みらい工房という設備があり、さまざまな工作機械が置いてある。簡単な講習を受ければ、愛知工業大学の学生であれば誰でも使うことができる。工房には機械工作に熟練した技術員の方々も常駐されており、色々アドバイスしてもらえる。置いてある材料は自由に使えるし、無い材料も工房の予算で購入してもらえる、大変うれしい設備だ。AIT鉄人1号で使用したのは以下の機械。他にも旋盤などたくさんの機械がある。

シャーリングマシーン:金属をまっすぐ切断するカッター コンターマシン:金属を切断するノコギリ
 
立ボール盤:穴を開けるドリル 金属を曲げる機械:直角に曲げるのに便利

ベルト式グラインダー?:材料を削る電動サンドペーパ ハイトゲージ:ケガキ線はこれで一発

制御システム

 PCから動作指令を鉄人本体のSH7045Fに送信。SH7045Fは指令に基づいて、サーボモータ用のPWM信号を作る。ただし、SH7045Fは16本のPWM信号しか出せないため、タイムシェアリングで16本の出力ピンより32のPWM信号を出し、それをCPLD(Complex Programmable Logic Device)で32本に分けている。CPLDはVHDLでプログラミングを行った。VHDLや信号処理、モータ制御の講義は愛知工業大学では電気系学科などで行われている。
 1号では、センサ類はまだ取り付けておらず、フィードバック制御は行っていない。

 
使用したCPLDについて
開発ツール: XilinxWebPACK ISEVHDLを使用、WindowsXP
XilinxXC9572-15PC84: 69入出力ピン 1600ゲート 72マクロセル
VHDL
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity IO is
    Port ( Pulse_IN : in std_logic_vector(15 downto 0);
           Pulse_OUT : out std_logic_vector(31 downto 0);
           Out_Select : in std_logic;
 Dummy_IN5V :in std_logic_vector(4 downto 0);
 Dummy_OUT : out std_logic);
end IO;
architecture RTL of IO is
begin
process (Pulse_IN, Out_Select) begin
if (Out_Select='0') then
Pulse_OUT <= "0000000000000000" & Pulse_IN;
       ・
       ・
       ・

プログラミング

 本体に使っているSH7045FはC言語でのプログラミング。雑誌や書籍を参考にしながら独自のプログラムを製作。PCからの各モータの角度及びスピードに関する指令を、PWM信号に直して出力する(鉄人本体にデータを記憶して、自律動作も可能)。プログラムはPC上でコンパイルし、SH7045Fに書き込んだ。C言語は、愛知工業大学の多くの学科で講義が行われている。
 動作指令を送るPCのアプリケーションも独自に開発した。VisualBasic6.0で製作。本体に各モータの角度、スピードの指令などを送っている。また、逆に本体側から現在のモータの角度などを取得することもできる。
指令アプリケーションはVisualBasic6.0で製作
C言語によるプログラミング
//--------------------------
// 一括移動
//-------------------------
void all_move(){
int ii,jj;
float time_ratio;
int step_no;
int step_time[8];
int D[8][32];
char data_string[256];
SCI1_IN_STRING(data_string,256);
step_no=atoi(data_string);
for (jj=0;jj<=step_no-1;++jj){
  SCI1_IN_STRING(data_string,256);
  step_time[jj]=atoi(data_string);
  for (ii=0;ii<=31;++ii) {
    SCI1_IN_STRING(data_string,256);
       ・
       ・
       ・

回路設計

 今回はCPU本体のボードは市販のものを使用した。それに接続するCPLD及び電源回路は回路設計としては比較的簡単な物となった。ただ、配線が大変なため、以下のようなプリント基板自動加工機でプリント基板を製作した。この加工機もみらい工房にある。配線図はフリーソフトのPCBEを使い、それをガーバーデータというプリント基板の標準データ形式のファイルに落とす。それを、自動加工機で読み込み、加工データに変換したのち、自動加工機で基板を削った。

プリント基板の製作
CAD PCBE(フリーソフト)
CAM CAM-21RS
プリント基板自動加工機 FP-7A(MITS)
使用基板 両面基板
 
プリント基板自動加工機

AIT鉄人1号マザーボード基板設計パターン
 
AIT鉄人1号マザーボード

 あと、電源はバッテリーでも動くが、すぐ放電してしまうため開発やデモの時には外部電源で動かすことになる。鉄人では10A近い電流を必要とするが、手持ちの中にはそれだけの電流を取れるものが無かった。かといって、新たに10Aの電源を購入する予算も無い。幸い5Aの電源1台と2.5Aの電源3台が見つかった。そこで、これらを並列に接続することにより、電源を確保した。ただ、安定化電源では電池のように単純に並列接続はできない。そこで、並列接続のための電源供給回路を製作した。回路の設計には、SPICE(CircuitMaker)を使用。シミュレーションを行い、それに基づいて回路を作った。アナログ回路やSPICEを使った回路設計などの講義も愛知工業大学では行われている。

SPICEによるシミュレーション 電源供給器