UMLロボットコンテスト UMLロボットコンテスト ロゴマーク

第3回 UMLロボットコンテスト

『Team-さぷらいや~』開発記

あるメンバーの日記より・・・・・

2月11日(水)
わがチームリーダより「UMLロボコン」出場者募集の御触れが出される。
何でもMindStrormsを使って機体を組んで、UMLデモリングしてソースを書き起こして制御するらしい・・・・
フト気が付くと、手元には以前購入した「RIS2.0」が1セット。
目の前には「期待に満ちたリーダーの目」
これは天の啓示と思って、参加せねばなるまい。
仕事は忙しいけど。
2月16日(月)
凶悪なウィルス(非PC用)の攻撃に38度発熱しあえなく爆沈。
早くも人間用の「アンチウィルス」を開発して欲しいところ。
それも、首筋のコネクターからケーブルで流しこめる奴。
閑話休題。
私が爆沈している間にチーム名が決定。
チームメンバーも最終的に10名まで増加、喜ばしい限りである。
というわけで、『Team-さぷらいや~』始動である。
とりあえずチーム方針として、
   ・Cで行こう!
   ・RISは私が提供(参加費安くすむし~)
は決定。
それ以外は未定。
・・・・・・・・・・・・・・・・・・・・・だいじょーぶなんだろーか(汗
ま、まぁ大丈夫だろう。
睡眠時間を削って、それでも足りなかったら身を削って納期に間に合わせるのが我々だから。
2月21日(土)
今日は朝から機体組み立て。とは言うものの、正式な実機のデータCD-ROMで事務局から届くので手元にある図面は正式な図面ではない。
手元にある資料とは説明会資料にあった上面俯瞰図と廉価版キットを使用した際に変更となるパーツの説明に使用された側面図のみ。
うーむ…この図だけだと駆動モータからの動力伝達が判らないなぁ…。
ま、とりあえず、外見だけでもそれらしい物が出来て『雰囲気』が判れば、よしとしよう。
    (作成中)
      :
    (夢中になって作ってるラシイ)
      :
    (時刻は既に夕刻、食事を忘れてるラシイ)
      :
    23:00-経過

よし、本体下面の図が無いからパワートレーン系が判らないけど、とりあえず『外見は』そっくりなものが
出来上がった……が。 ……あれ、光センサとタッチセンサからのケーブルが…RCXに届かない!?
      :
 (再度、格闘中……分解、組み立て、分解、組み立て)
      :
むー、やっぱり図面通りの向きだとセンサと駆動モータのケーブル取りまわしが判らない…余分なケーブルで延長と言う手もあるが…良いんだろーか?
仕方が無いので、この問題については来週持ち越しとして諦める。
人間(プログラマ)は諦めどころ(妥協点)が肝心である。……多分。

しかし、この段階ですでに幾つかの懸案点が浮上。

  ・前輪シャフトに光センサを取り付けているぺグの固定力が弱い。
   光センサはぺグ2本(ポッチ2つ分)で前輪シャフトに取り付けられているが、タッチスイッチと
   摩擦する上に、路面振動をサスペンションなしでモロに受ける為、ハードな走行をした場合、
   外れる恐れアリ。

  ・前輪は横軸シャフトに対してブッシュで固定されていない為、ハードなコーナリングを
   すると車輪が外れる可能性アリ。

  ・光センサとタッチスイッチは接触しており前輪部が左右に振れる事によりスイッチのON/OFF
   が発生、と言うことは光センサーとスイッチの接触距離によっては突出したスイッチに引っかかって
   ラダー不能となる恐れアリ。
   おそらく、機体本体のメカニカルなセッティングに関してはここが『肝』になるであろうと予測する。

懸案点は翌週、他のメンバーと検討することにする。
もう一つ、休日中ほったらかした為に斜めになった女房の御機嫌をどう取るかも、来週検討しよう。うん。
2月23日(月)
いよいよ待望のCD-ROMがリーダーの所に到着。
さすがに会社で堂々と見るわけに行かないので、リーダーからCDを借りて自宅へ持ち帰る。
自宅で早速、図面を見ようとするが、収録されているソフトが破損しているとの情報アリ。
こんなときは慌てず騒がず、開発元のホームページでからダウンロード。
事務局の皆さんも少ない人数で仕切ってるから大変なんだろうと推測する次第である。
それにしても、1200ボーのモデム時代からパソコン通信(死語)してた人間としてはしみじみ便利になったと感じるなぁ、大体昔は…(以下、本題と関係ない昔話がしばらく続く)
…と、言うわけで、語っている内にMLCADのインストール終了。
図面を見ながら、間違いの無いよう少しづつ組み立てていく。
組んだりバラしたりしながら色々検討している内、気が付けば睡魔に襲われ爆沈。
それにしても、どーも月曜日は調子が出ない。
やはり、体質が『追い詰められないと力が発揮できない(やる気が出ない)』プログラマー体質だからだろうか。
2月24日(火)
今日は所用で仕事を定時終了。
所用をさっさと済ませ、自宅で実機の組み立てを続行する。
やはり、図面を見てもどうひねくり回してもセンサーのケーブルが届かない。
長いケーブルを使うんだろうな、多分。
最初の上面俯瞰図だけではわからなかったが、パワートレーン系はやはりデフを組み込んだ
タイプになっていた。
モーター~駆動シャフトまでのギヤ比とタイヤ径を考慮すると、低トルク高速型と言う事が判る。 
まぁ、コースのほとんどが平坦と考えれば必然ではあるが、速度が乗った状態での急制動は避けるべき、
と言うことか…?。
 本日判った事。
  ・パワートレーン系は低トルク高速駆動タイプで構成。
  ・タイヤの取り付けと、ギヤの強度を考えるとトップスピードでの急制動は避けたほうがよさそう。
  ・女房の機嫌は『シュークリーム』で直る事。
2月25日(水)
本日はミーティングの日。
実機(走行体)を見るのは、私以外のメンバーは初めてである。
会議室で走行体をバッグから取り出すと、みんなの目が輝く輝く
やっぱり、みんな子供の心をもった大人なんだね(笑)。
実機を前にして、みんなでブレインストーミング。
やはり、懸案事項はコースに設けられる「坂道」と「分岐」に集中する。
現時点で必要となるであろう機能としては、
  ・分岐を認識できるロジック
  ・カーブ、直線を適切なスピードで走る為のコース予想機能
  ・光センサキャリブレーション機能
  ・操舵角制御
  ・etc ..
モデリング、実装、両面から攻めて色々アイディアを出す。
ま、こういう物を開発しようと思ったら、最初は実現可能、不可能は置いておいて、
とにかくアイディアを出す事である。
一見無意味な事が連想を呼び、思いもよらない新たなアイディアを生み出すのだから。
で。
ハード面ではと言うと…。
 『最大速度がどの位出るのかな?』とか。
 『光センサの外乱光補正値を実測しなきゃいけないかな』とか。
 『操舵角の分解能を計測しなきゃ』とか。
みんなまだ開発環境も出来てないのに~気が早いって(笑。
だが、この時、みんな気づいていなかった。
最初の敵は【開発環境のセッティング】だと言うことに…。
………しまった、今回はオチが無い…(汗
2月28日(木)
開発環境の設定を開始する。
Cygwin は最新環境がいいよね~ってんで、Webからダウンロード。
とりあえず、後でソースHackする為に前の日に丸ごとダウンロードをセットしていたのを確認する…………は、800Mぁ?でかっ(汗
CDに環境保存して置こうと思ったんだが…。
気を取り直してバイナリだけ落としなおし。んで、どうせならフル環境ってんで全部インストール。
昔、Slackware をコツコツ構築したり、X11R5をソースから make world した頃をしみじみ思い出したが、
今はセットアップツールが全部やってくれるので楽チンである。
Cygwin インストール後、LegOSのアーカイブを展開して、Makefile をチョコチョコっと弄って make っと。
 ……。
 ……。
 ……。
make がコケる。
ま、まぁこのくらいは予想してたけどね(ホントか?って外野の声アリ)
同時期、リーダからも 「make が通らない~」と悲鳴が伝わってくる。
MLにも make が通らないとのポストがチラホラ。
ここで一句。
 「通らぬなら、通して見せよう make かな」(字余り、季語無し)
と、莫迦なことを言ってる間に、原因特定。
ソースの修正部分はMLにポストされていた情報があったから、別に困らなかったが…。
as が出してたエラーの解決方法はいささか安直だったかなぁ… Makefile いじるなんて。
まぁ、Make が通って .lx が出来たからよしとしよう。うん。
で。
出来た lx をIrタワー経由でRCXに転送して、無事 "Hello World" 出来る事を確認。
いよいよ開発開始、本格稼動である。