エッジくんを作ろう!

エッジくんの製作手順を説明します。

★ NQCを使用する場合 ★


●手順1:ロボットの組み立て
1.LEdit&パーツ群を用意してください。LEditはMindStorms情報局のCADソフト紹介からたどってください。 (こんな図面レベルでいいよという方は1〜3のプロセスは必要ありません)
2.エッジくんのLEditデータをここからダウンロードします。
3.LEditを起動します。
4.LEditで組み立て手順を再生してロボットを組み立てます。ここで前輪タイヤは30.4×14VRタイヤを、ホイールは2994を使用してください。NQCの場合は、モータは操舵用×1、駆動用×1の2個だけです。また、デファレンシャルのt24ギアとモータ側のt24ギアを組み合わせてください。この場合、軸受けは6541の代わりにTechnic 1×2ブロック1穴(3700)を使用してください。
5.駆動用モータをAに、ステアリングモータをBに、ライトセンサを2に接続してください。
6.NQCをDave Baum氏のwebページからダウンロードして下さい。
7.プログラムのソースをダウンロードして解凍して下さい。
8.nqc -d edge.nqcとして下さい。


★ legOSを使用する場合 ★


legOSの導入には難関が多いので、2つのコースに分けました。

◆お手軽コース◆
コンパイル済みの実行ファイルを使用します。
・legOSの環境を作る必要がないのでお手軽です。
・しきい値の設定ができないので、ロボットに照明条件を合わせなくてはいけない。


◆正当派コース◆
legOSの開発環境作りからスタートします。
・しきい値の変更、ソースの改良等思うがままに操作できる。
・導入が結構めんどうだし、HD容量もそこそこ必要。
(1999.04.28追記: legOSのメインページ にWebCompilerなるものが登場しました。
これは、WebのフォームにCのソースを書いて送信するとメールでコンパイル済みのファームウェアが
送られてくるというものです。これを利用するのもひとつの方法かもしれません。)


また、エッジくん製作にはRISに入っていない部品として以下の部品が必要です。 Technic 71427モータはLEGOからの通信販売かROBOSPORTSで入手できます。
財布が許せば、もう1セットMindStormsを買ってしまうのも良いかもしれません。
6541と32000についてはTechnicのセットから入手するしか手がないようです。おもちゃ屋さんを探してください。
私は8480セットから入手しました。
RISの部品だけでも製作は可能ですが駆動モータが1つになることによるモータパワーの低下とギア比の変化により
タイムは10周につきもモータ2個で28秒、モータ3個で22〜23秒が目標タイムになります。
この場合、デファレンシャルのt24ギアとモータ側のt24ギアを組み合わせてください。



それでは説明します。

●手順1:ロボットの組み立て
1.LEdit&パーツ群を用意してください。LEditはMindStorms情報局のCADソフト紹介からたどってください。 (こんな図面レベルでいいよという方は1〜3のプロセスは必要ありません)
2.エッジくんのLEditデータをここからダウンロードします。
3.LEditを起動します。
4.LEditで組み立て手順を再生してロボットを組み立てます。ここで前輪タイヤは30.4×14VRタイヤを、ホイールは2994を使用してください。
(注意)RISの部品だけで製作する場合は、(デファレンシャルのt24ギアとモータ側のt24ギアを組み合わせてください)
この場合、軸受けは6541の代わりにTechnic 1×2ブロック1穴(3700)が使用可能です。
5.駆動用モータをA、Cに、ステアリングモータをBに、ライトセンサを3に接続してください。


●手順2:ファームウェアの準備
◆お手軽コース◆
1.エッジくんお手軽セットをここからダウンロードします。
中身は(1)コンパイル済みの実行ファイル(ume.srec)、(2)ローダー(firmdl.exe)(3)Readme.txtの3つです。
ローダの動作確認はWindows95で行いました。
2.適当な場所で解凍して、DOS窓を起動してカレントに移動し"firmdl ume.srec"とするとダウンロードすることができます。
3.手順3へ進んでください。


◆正当派コース◆
legOSの環境作りから始めます。
(OSはWindows,Linuxがありますが梅はWindowsを使ったのでWindowsを対象に説明します。)

まずメインとなるlegOSを legOSのメインページ からダウンロードします。
(バージョンがいくつか存在しますが、梅はlegOS-0.1.7.zipを使用。以後legOS-0.1.7.zipに ついて述べます)
次に Louさんのページ からバージョンにあったパッチをダウンロードします。

ダウンロードして解凍した後,パッチをあてて下さい。
●重要●必ずパッチをあてて下さい。最低でもmotor-speed.patch,direct-motor.patch はあてないと,モータスピードが最高になりません。

次にクロスコンパイル環境をつくります。
legOSメインページの Getting started の章でWindowsの Building instructionsをクリックします。
ここにCygwinへのリンクがありますので Cygwin development kit binaryをダウンロードしてください。
13MBありますので覚悟してダウンロードして下さい。(解凍すると70MBにもなります)
またthis package (4,037,631 bytes).をクリックしてRCXに使われている日立のH8用の クロスコンパイラもダウンロードします。

Cygwinのコマンドの多くはcygwin-b20\H-i586-cygwin32\binにありますので、このディレクトリ にパスを通しておいてください。

またActiveStateをクリックするとPerlのダウンロードページへジャンプします。
Perlはなくても実行ファイルの生成に支障はありませんが、make時にエラーになるので,
エラーがでて気持ち悪い人は一緒にダウンロードしておいてください。

legOSアーカイブを解凍するといくつかのディレクトリとファイルができます。
まず,Makefile.commonというファイルがあるのでH8用のプレフィクスh8300-hms-と
ターゲットディレクトリTARGET=... を変更します。
例)
# Hitachi H8 tool prefix
TOOLPREFIX=/legos/win-gcc-h8/bin/h8300-hitachi-hms-

# legOS root directory
LEGOS_ROOT=/legos/legos017/

次にmakefileを編集します。
まずTARGETにume.cソースファイルを指定します。
例)
# our target
TARGET=src/ume

Perlをインストールしてある方はPerlのあるディレクトリにパスを通して
Perl util/merge-map $*.map $*.dis > $*.dis2
と直接書き込んでしまってください。


さあ、準備完了です。TARGETディレクトリにソースをおいて makeしてみましょう。

スタートメニュー→プログラム→Cygnus Solutions→Cygwin B20
を起動してからcdコマンドでlegOSルートにカレントを移してmakeしてみてください。

どうですか?ソースと同じディレクトリに***.srecというファームウェアができましたか?
エラーが出る場合は各ファイルの場所指定などをチェックしてみてください。

次に,ファームウェアをRCXにダウンロードするダウンローダーを生成します。
ローダはlegOSルートディレクトリにあるutilというディレクトリの中にあります。
ここではH8用ではなくx86用のgccを使いますのでお間違いなく。
gcc -o firmdl -O2 firmdl.c
としてください。firmdl.exeというファイルができているはずです。
ファームウェアとローダーが生成できたら手順3に進んでください。


●手順3:ファームウェアのダウンロード
1.一旦電池を抜いてファームウェアを消去してください。再度電池を入れてRCXとIRタワーを向きあわせてください。
2.RCXの電源投入後、firmdl ume.srecとしてファームをダウンロードしてください。ダウンロード中は RCXのLCD画面に数字がカウントされます。440くらいで表示がLEG05になったらダウンロード完了
3.テストパッド上でステアリングの状態をチェック。センサをエッジ付近スレスレまで近づけてエッジを捕捉するか確認してください。閾値が合わないようなら◆正当派コース◆の方はソース中の閾値を変更し再度繰り返してください。この際、On-OffボタンとProgmボタンを同時に押してファームを一旦消してからダウンロードしてください。
◆お手軽コース◆ の方は申し訳ありませんが、正常に動作するよう室内の照明条件を変更してください。テストは夜に行っていましたので、 比較的暗い部屋を設定してしきい値が設定されています。
4.閾値または照明の調整が終わったら後は走らせるだけです。エッジくんをスタート地点に置いてください。注意事項として、エッジくんは右回りも、左回りも内側のエッジを探索するようにソフトウェアが組まれているので、On-Offボタンを押す前に、左回り(中心を左にみて回る)時にはセンサを黒の上に、右回り(中心を右にみて回る)時にはセンサを緑の上にセットして下さい。
5.On-Offボタンを押してスタートです。1周1.8秒の走りをお楽しみください。(^_^)



 エッジくんメインページに戻る