さたーんろぼ・SaturnHeart2 [TOP] [Diary] [BBS]

ここでは、知能ロボコンで動かしたロボットSH2の製作に関する技術情報などを公開していきます。 まさやんのページ SegaSATURN-Robot PROJECT Saturn Heart 2もよろしく!
Saturn Heart 2 が雑誌ロボコンマガジン No.5, 38ページに掲載されました。

 コンセプト
 知能ロボットコンテストJAPANとは
 Saturn Heart 2 の仕様
 どうやってセガサターンでロボットを動かすか?
 汎用入出力インターフェイス S2PPX
 製作経過

コンセプト
通常、自動制御で動くロボットを作る場合、 高度な電子回路の知識と、それを制御するための C言語やマシン語などのプログラミングの知識が要求されます。 また、それらを製作する環境を整えるためには多額の出費が必要となり、 なかなか手を出すことができませんでした。 しかしながら、ここ数年の電子部品などの発展により ちょっとしたものであれば、 割と簡単にロボット作りが楽しめるようになってきたようにおもいます。 それを実際にやってみよう!というのが今回のコンセプトです。

Saturn Heart 2は、 家庭用ゲーム機 SEGA SATURNをつかって制御をおこなっています。 市販ソフト GAME BASIC for SEGASATURN (開発元 ビッツラボラトリー) の採用により、

  • セガサターンの改造は一切不要

    本来Windowsマシンとの接続のために GAMEBASIC for SEGASATURN に付属している通信ケーブルに回路を接続するだけです。 ロボットをつながないときには普通の家庭用ゲーム機として使うことができます。

  • 安価なロボット開発環境

    セガサターン本体、GAME BASIC for SEGASATURN、 セガサターン用キーボード(パソコンと接続する場合には不要)、 ロボットとセガサターンをつなぐ回路(S2PPX)をぜんぶあわせても 3万円程度で開発環境が整います。

  • BASIC言語でプログラミング

    簡単にプログラムを作成することが出来ます。 昔のBASICとは違いインタプリタながら高速です。

を実現することができました。 また、安価ながら高い機能を持ち、通販などで入手可能な電子部品を積極的に活用し、 回路設計、製作が非常に簡単となっています。
[もどる]
知能ロボットコンテストJAPANとは
[チャレンジコース・競技設定] 毎年6月に仙台で行われており、今年(1999年)で11回目を迎えるロボットコンテストです。このロボコンのおもしろさは スタート時以外は一切ロボットを操作してはいけないという点にあります。 今回参加したチャレンジコースは、競技台上に散らばる、赤、青、黄 のテニスボールを回収しゴールに捨てるというルールでした(左図参照)。 小学生から社会人まで幅広い年齢層の方が参加しており、 今年はチャレンジコースだけでも50台以上の個性あふれるロボットが出場しました。 詳しくは こちらのページをご覧ください。
[もどる]

Saturn Heart 2 の仕様
[さたーんろぼ・SH2]
企画・製作ささお&まさやん
名称Saturn Heart 2 (注 1)
外観左図
重量約 5kg
電源AC100V
制御セガサターン + GAME BASIC for SEGASATURN
移動ステッピングモータ2基を用いた車輪駆動。ラインセンサを使用し自己位置を補正。
ボールの探索PSDを使用
ボールの色判別カラーLED + CdSを使用
ボールの回収ロボット前方のアームを使用し1個ずつ回収
その他ロボットの思考がリアルタイムにモニタできる実況中継機能。BGM付き(注 2)。
(注 1) 本ページで募集し寄せられた名称のうちもっとも人気のあったものです。NAKATHさん命名。名前を寄せていただいた皆さん、投票していただいた皆さんどうもありがとうございました。
(注 2) KEENさん作成のデータを使用させていただきました。
[もどる]

どうやってセガサターンでロボットを動かすか?
  • 回路

    GAME BASIC for SEGASATURN に付属している Windows 通信ケーブルに、 今回開発した、汎用I/OインターフェイスS2PPX を中継ぎすることによって、ロボットの電子回路とセガサターンを接続し 制御を行います。 このためセガサターンを改造しなくても電子回路を制御することができます。 また、S2PPX はパソコンのシリアルポートに接続することもできます。
    [S2PPXの外観写真]

  • プログラム

    S2PPXに対して簡単なコマンドを送ることによって 電子回路の制御を行います。 一部、GAME BASIC for SEGASATURN のマニュアルには記載されていない隠し命令を使っていますが、 まあそれはそれってことで(^^;
    [プログラムの一例]

S2PPX についての詳細はこちらをご覧ください。

[もどる]

汎用入出力インターフェイス S2PPX
S2PPX についての詳細はこちらをご覧ください。
[もどる]

製作経過
これまでの製作経過です。

99/07/02 プレゼンテーション風景

右側の黄色いのが競技台です。ロボットもうつっているのですが、よくわかりませんね(^^)で、左側にうつっているのがサターンの映像です。こんなこともあろうかと購入しておいた10mのAVケーブルが役に立ちました(^^;


99/06/28 ロボット動作中の画面

キャプチャしてもらいました。
(1)通常走行画面 (2)現実の競技台に引いてあるラインを使って自分の位置を計算し、座標や向きを修正しているところです。緑の線のなかで黒くなっている部分でセンサがラインに反応しています。
(3)ボールを捜しているところ。赤い点が距離センサの値で、 これを元にしてボールの位置(水色の線)と 距離(右上の文字)を計算しています(水色の線) (4)見つけたボールのうちもっとも近い位置にあるボールを取りにいっているところです


99/06/13 これがSH2だ!

[さたーんろぼ・SH2] できるだけシンプルに、ということでついているのは車輪と アームだけです。"走るセガサターン"って感じですね(笑)
電子回路はサターンの下の部分に入っています。 電源ケーブルとビデオケーブルを引きずらなければならないですが まあ、それはそれでいいですよね。

それにしてもデジカメほし〜


99/06/10 ボールの色を見わける

[色の識別] LEDを白く光らせたときと、まったく光らせなかったときの CdS(光センサ)の出力を基準値として、 LEDをさまざまな色で光らせたとき、ボールの種類によって どのくらいの値が返ってくるかをみたものです。 図は、 robo1.b このプログラムで さたべー上に表示された画面をそのまま GSAVE したものです (ボールの写真はハメコミ合成)。 この程度差が出ていれば十分識別できます。


99/06/04 距離を測るプログラム

下の回路とのやり取りはこんなプログラムで行われています。 回路やコマンドの仕様の詳細はまた後日。でも、なんとなくわかりますよね、ねっ?


100 SCREEN 0 :'画面モードを設定
110 OPTION COM : OPEN "COM:TERMINAL:" AS #1 :'通信ポートを初期化
120 FWRITE #1,"WFF4W005W006" :'I/O ポートの入出力を設定
130 FWRITE #1,"W000W001W002" :'I/O ポートの出力をすべてOFFにする
140 FWRITE #1,"WB07" :'アナログ入力の設定
150 *MAIN
160 FWRITE #1,"R3":FREAD #1,I$,2 :'アナログ値の読み取り
170 LOCATE 5,5 : PRINT "DIST. "; VAL("&H"+I$) :'距離の表示
180 VSYNC: GOTO *MAIN

99/04/25 サターンとロボットをつなぐ回路
[Serial to Parallel Port eXtender]
サターンとロボットをこの回路でつなぎます。 2CPU構成です(笑)。 シリアルポートが使えるおかげで、 セガサターンを改造することなく ロボットを制御できます。


各部の説明
@ サターンから送られてきたコマンドを解釈してAに命令を出します。いっぱい部品がついていて複雑そうですが、 キット(
秋月で売ってます)なので半田ゴテをにぎったことがあるひとなら1時間もかからず作れます。AKIPICとかいてある方がCPU(10MHz動作)。 もう一つはレベルコンバータICです。 おなじようなものが通信ケーブルのハコの中にも入っているはずです。

A ロボットからデータを読み込んだり、 モーターを回す司令をだしたりします。24 bit の自由に入出力設定が可能な I/Oポートがあります。うち、8 bit 分を アナログ入力(分解能 各8bit)に割り当てることができます。こっちのCPUは20MHzで動作してます。

B ここからフラットケーブルでロボットにつなぎます。


[もどる]