BROKEN's Advanced Vehicle Laboratory

開発日報 2001年 10月

 2001年10月25日 木曜日 給料日&マウス設計

全然仕事の成果があがってないのに会社から給料をいただいてしまって申し訳ない。 今コツコツとやっているので、年末前にはど〜〜んと成果をあげて見せますです(^_^;)

給料明細を見てちっと驚き。 引き去り額が8万円近くに上っているではないか! 一番大きいのは厚生年金保険料でこれが21,000円くらい。 次は寮の食事代(朝・夕)で15,000円くらい。 お次は生命保険で14,000円くらい。所得税や雇用保険も10,000円超えてるし・・・。 今月は残業代で5万円くらい稼いでるからトントンってところだけれど、業績悪化でサービス残業ばっかりだったらやっていかれなくなるよなぁ。

早めに退社してからはスポーツジムに行って、帰ってきたらマイクロマウスの設計。 等角図をつかって組み立てイメージを作成し、それを元にA4の方眼紙にむかって実寸で図面書き。 方眼紙、便利です。 今週中に何とか設計かたづけて部品そろえて製作に入りたい。 もう1ヶ月をきってしまったのだから・・・。


2001年10月20日 土曜日、21日 日曜日 実家に帰省

入院している祖母のお見舞いついでに実家に帰省。 車で帰れるので荷物があっても大丈夫。 だから剣道の防具を持ち帰って、夜は昔からお世話になっている道場で稽古。

準備運動のつもりで小学生の元立ちをやったら、久しぶりに頭がタンコブだらけになってしまった(ノ_・、) 小学生は20人くらいいたし、大人もまあまあ集まっていた。 昔と変わらずにぎわっていて結構結構。 昇段審査が近いらしくて、受験する人達が審査と同じ形式で稽古するところを見せてもらった。 さすがに六段、七段の人の稽古はレベルが違う。 模範演技としてビデオで何度でも見たいくらい。 そんなところ。


2001年10月18日 木曜日 ロボット制御用ソフトウエアの作り方

今日はロボット学会主催のロボット工学セミナーで「ロボット制御用ソフトウェアの作り方」という題目で講習会があったのでそちらに参加してきた。 RT-Linuxを用いたロボット制御法の話とか、理研の全方向移動ロボットの話とかは大変ためになったと思う。 欲を言えば、PowerPointがあまりにもさっさと切り替わってしまうので、できればPowerPointを印刷した資料なんかも欲しかった。 話を聞きながら、そろそろここのサイトのコンテンツにあるRTLinux関連の話は最近Linux触ってないこともあるから取り下げちゃおうかなぁとか思ったりした。 削除しちゃっても良いでしょうか?(^_^;)

さて、出張ついでのお買い物。 実際買ってきたのはこんなもの。

シャーシ、ホイール等(買ってきたもの)
品目 規格 単価 個数
ユニバーサル基盤 ガラスエポキシ・片面金メッキ
115 x 160 mm
1800 2 3600
ユニバーサル基盤 ガラスエポキシ・片面
45 x 120 mm
760 2 1520
トグルスイッチ 中点オフ 110 2 220
ステッピングモータ 日本サーボ KH42HM2
2相ユニポーラ、42x42x34 mm
3,800 2 7600
ホイール エフテック ホイール30090/1 2000 2 4000
タイヤ エフテック タイヤEP70/47/43/7.2 300 2 600
雑誌 ロボコンマガジンNo.18 838 1 838
(消費税抜き)小計 18378
(税込み)合計 19297

買ってきたものはちょこっと違うけど、大体予想通りの出費。 上から3品までは千石電商、下の4品はロボコンマガジン館で購入。 なんといってもステッピングモータが一番高い。次に高いのがホイール。ガラエポ基盤も探せばもっと安い店があるのかも。 単4ニッケル水素電池も見てきたのだが、1本200円とか270円とかするので、これを20本もかったら4000円強。 充電するためのなんらかの機械も必要となるだろな。 趣味でやっているのだから金に糸目はつけない・・・と言いたいところだが、資金には限界があるのであまり無理もできない。 ロボットを個人で自作されている方が「ロボット作りに必要なのは金と時間だ」とおっしゃるのがよ〜くわかる。

仕事も進んでないからなぁ、何とかしたいなぁ(*'-')トオイメ


 2001年10月17日 水曜日 間に合わなさそうな気配

センサ実験を済ませるのが遅すぎたせいか、今ごろマウスの設計なんぞをしているのでこんなペースでは11月23日までに間に合わない。 でも、勉強だと思って努力します。 

明日はロボット工学セミナーがあるので新宿の工学院大まで出張り。 せっかく東京まで行くのだから秋月によってきたいところだが、残念ながら木曜日は秋月の定休日。 それでも秋葉原は秋月だけじゃないので、必要な部品はどこかで入手してきたい。 ・・・入手してきたいけど、まだ設計ができていないので、何をいくつ買ってくればいいのかも決まってない。 よ〜し、じゃあ今から設計やるか! と思ったのは24時を回ってから。 水曜日は定時退社日なのだが、最近剣道復活のため水曜日の夜はそっちに時間を持ってかれてしまう。 土日は急遽実家に帰ることになったからなぁ。 まずいなぁ、まにあわないのが、さらに間に合わなくなるよ・・・。

しゃーないから必要最低限度の部品だけリストアップしてから寝ようかな。 明朝は6時半起床、7時には駅に向かう予定。 2時までには寝ないと体が持ちましぇん(泣)

作業ついでに。 設計は今すぐにはできないので買い物リストを作成。 もちろん私のための買い物リスト。 他の人が見たから役に立つって物でもないでしょうね。 リスト作っても、秋月開いて無いと買えない物もあるからなぁ。 帰るものだけ買ってくれば良いかな。 ちなみに、これが全部ではないです。 フラッシュROM書き込み回路とか作らなきゃいけないので。 う〜ん、H8Tinyにしてしまおうかな・・・あっちは12V用意しなくてすむから・・・

シャーシ、ホイール等(手持在庫なし)
品目 規格 単価 個数 予算
ユニバーサル基盤 ガラスエポキシ・片面
140 x 90 以上あるもの
3000(?) 2 6000
ユニバーサル基盤 ガラエポより安めのヤツ 600 2 1200
ステッピングモータ 日本サーボ KH42HM2
2相ユニポーラ、42x42x34 mm
3,800 2 7600
ホイール マイクロマウス用車輪セット 3000 1組 3000
状態表示用LED 赤、青、緑、黄色など大き目のもの 100? 20 2000
トグルスイッチ 中点オフ 500 1 500
合計 20300

買ってくる予定はここまで。 2万円ちょっと持ってけば良いってことみたい。 後はリストアップのみ。

モータドライバ外付け回路用部品(2回路分)
品目 型式、容量 個数 価格 手持ちの在庫 必要購入数
モータドライバIC サンケン SLA7024M 2 \1,500 2
抵抗 1 Ω 2 ? 4
抵抗 510 Ω 2 ? 3
抵抗(VR) 100 Ω 2 ? 2
抵抗 47 kΩ 4 ? 8
抵抗 2.4 kΩ 4 ? 4
セラミックコンデンサ 470 pF 4 ? 4
セラミックコンデンサ 2200 pF 4 ? 4
電解コンデンサ 470 μF 2 ? 2

センサ系外付け回路用部品(4回路分)
品目 型式 個数 価格 手持ちの在庫 必要購入数
LED 東芝 TLRH 180P 4 ? 1 3
フォトトランジスタ 東芝 TPS601A 4 ? 2 2
抵抗 47 Ω 4 ? 8
1 kΩ 4 ? 7
4.7 kΩ 4 ? 7
10 kΩ 8 ? 6 2
100 kΩ 12 ? 3 9
セラミックコンデンサ 0.01 μF 12 ?
電解コンデンサ 100 μF 4 ? 3
シリコンダイオード 8 ? 4
トランジスタ 2SC1213 4 ? 1 3
OPアンプ LM358 2 ? 1 1

 2001年10月14日 日曜日 マイクロマウスのシステム設計

システム設計。 ある程度決まったところから適当に。

駆動方式 ステッピングモータを2個使用したPWS方式
センサ方式 赤色LEDを使用したアナログ壁面センス型
迷路探索アルゴリズム トレモー法、もしくは等高線法
走行形態 直進、斜め45°スラローム、ターン、カーブ
全幅 床から50mmまでは80mm程度。それ以上では100mm程度。
全長 130mm以下
高さ 未定
重量 未定
最高速度 どれだけでるものかわからん。
CPU 秋月 AKI-H8 1
モータ オリエンタルモータ PK243-01A 2
モータドライバ サンケン SLA7024M 2
車輪 2
光距離センサ用赤色LED 東芝 TLRH180P 4
フォトトランジスタ 東芝 TPS601A 4
電池 単四ニッケル水素 20
出力ポート 入力ポート
光距離センサ用LED PIO x 4 光距離センサ受光器 A/D x 4
ステッピングモータ PIO x 4 バッテリ電圧監視 A/D x 1
モータ電流リミッタ D/A x 1 走行スタートボタン PIO x 1
状態表示用LCD PIO x 11 リセットボタン PIO x 1
状態表示用LED PIO x 4 モード切替スイッチ PIO x 1
スイッチ類
電源ON/OFFスイッチ
フラッシュROM書き込みスイッチ
走行スタートボタン
リセットボタン
チューニングモードスイッチ(DIPスイッチ)
表示用LED
電源ON/OFF
フラッシュROM書き込み
探索走行モード
最速走行モード
マップ書き込み(短く点灯)/ゴール(点灯)
チューニングモード
基盤構成 概要
シャーシ基盤 ステッピングモータ搭載
マザーボード基盤 CPU、5V電源、12V電源、フラッシュROM書き込み回路、
スイッチ類、状態表示LED、LCD
モータドライブ基盤 モータドライバICとその周辺回路
センサ基盤その1 光測距センサ用LED、フォトトランジスタ
センサ基盤その2 LEDパルス発光回路、ハイパスフィルタ+増幅+ピークホールド回路

 2001年10月13日 土曜日 久しぶりにマウス作成 & C言語での開発環境

そろそろマウスの設計を終えて作り始めなきゃ間に合わない時期にきた。 ・・・のだが、未だに要素実験すら終わってなかった(汗)  hpでやるといっておきながらやらないというわけにも行かないので、大会当日まで予定を立てて進めて行きいますです。

そんなわけで。今日はこれまでずっと滞っていた光センサ回路の見直し。 回路図も20%くらいは理解したつもり。 実配線図も確認、配線も確認。半田付けもちゃんとしてるしなぁ・・・。 ここでちょっと問題が一つ。 回路図上ではフォトダイオードになっているところをフォトトランジスタを替わりに使っていること。 フォトトランジスタのエミッタとコレクタ、どっち向きに配置して良いかわからなくて、いいかげんにつけてた記憶が・・・。 逆向きに差してみたら、はい、ちゃんと動いてます。 距離に応じて出力電圧が変動します。 しかも、LEDを発光させる信号が出てるときだけセンサ出力がでて、発光してないときは出力0です。 てことで、センサ回路がちゃんと働くことを確認しました。  AD変換してLCDに出力するところまではやってないけど。 波形見てわかるんだから良いでしょ。 アナログオシロ大活躍です。 こういう計測機器がなかったらやっていけません。 (デジタルオシロは高くて買えない)

ついでなので、計測試験。 試験環境は写真の通り。壁は白い箱。 壁までの距離が6cm以下だとセンサ出力の変化なし。壁際6cmでのセンサ出力がだいたい3Vくらい。遠くだと壁から25cmで0.5V程度。 あまり出力が低いとノイズと区別できなくなるのでこれくらいがいいとこかな? 出力特性はリニアではなくって、距離に反比例するような感じ。 割り込み周期を変えてサンプリング時間を変化させてみたけれど、センサの出力は変わらず。 しいて言えば、LEDがちょっと暗くなった程度。 ここまでのデータを見る限り、ロボコンマガジンNo.11の45ページにあるデータと大体同じような感じ。後は実際にマイクロマウスを組み立ててからデータを取って距離換算表を作りましょうか。 マウスの設計をする際には、近距離が6cm以下では計測できないことを頭に入れてセンサ配置を決めなきゃね。 LEDが明るすぎるからフォトトランジスタが飽和して近距離が取れないのかな? それなら、LEDの発光時間をもっと短くして明るさを抑えたらもっと近距離が測れるかな? と思ってちょっと試してみたら、変わりませんでした(爆) 試験はこの程度で良いでしょ。 これでセンサ回路実験終了です。

H8マイコンの基本的な使い方に始まり、モータドライブ回路試作、ステッピングモータ駆動実験、光センサ回路試作まできて、これでとりあえずマイクロマウス作成に必要な要素技術は確認したでしょ、と思ってます。 これからは大会のルールを熟読して、規定に沿ったマウスを設計して、部品購入、製作、ソフト設計、コーディング、デバッグ、走行試験、チューニングときて競技会になる予定。 これだけやることがあったらあと1ヶ月じゃあできんわな。 と、泣き言も言っても始まらないので。 大会の規定を読んでマウス自体の設計にはいります。

ハードウェアの設計とは別に、ソフトウェアのほうで今抱えている問題が一つ。 開発環境の問題。 ここまでの実験は、AKI-H8マイコンキットを購入すると付いてくるアセンブラ、リンカ、フラッシュROMライタを使って、メモ帳で全然わからないニーモニックを並べて、DOSプロンプトで作業していたのだが、そろそろC言語に開発環境を移したくなってきた。 つーか、アセンブラで大きいもの書くの、やだ、やりたくないっっ! そこで、C言語で開発するための開発環境選び。いろいろあるようだ。

まずはYellowSoftのYellowIDEとYCH8。 H8/300H用のアセンブラ、Cコンパイラ、ライブラリアン、メイク、H8/3048F用フラッシュROMライターソフト、標準ライブラリのソース、数値計算・浮動小数点ライブラリソースまでついて\28,000。 YellowSoftから直接購入してもいいし、ロボコンマガジン館で買ってもいい。 ロボコンマガジンNo.17の「隔月の穴場 第5回 ワンチップマイコン」でマイコンの開発環境としてYellowIDE使ってるから、それがいいのかも、と思ってみた。(実はロボコンマガジンNo.17が出るずっと前に購入してたりする(爆)) 将来的にOSとしてμITRONを積む気があるなら、YellowSoftからNORTi 3 というRTOSが出てるから(そしてYellowIDE自体にNORTi 3の設定があるから)、これにしておくというのも手かな。 H8マイコンごときにOS積むヤツがあるか!って言う人もいるかも知れんけど(爆)

次はベストテクノロジーが提供してくれているGCC Developer Light。cygnusのGNUPro ToolkitにWindows用統合環境を用意したって感じかな? GNUPro ToolkitのコンパイラであるGCCってのはGNUプロジェクト(UNIXライクなOSやソフトウェアを全部フリーで作っちゃおうというプロジェクト)のCコンパイラなので、基本的にUNIX用であってWindows用じゃあない。それをCygnusSolution社(現Red Hat Inc)がWindowsでも使えるようにしてくれたわけだが、英語版しかなくって、作業もDOSプロンプト中心。UNIXならコマンドラインで作業するのが基本だからね。 それをもうちっと使いやすい日本語版+統合環境にして提供してくれたのがべステクさんってぇわけだ。 GNUPro ToolkitもGCC Developer Lightもべステクさんのhpからダウンロード可。 ただで手に入り、サポートもしてくれる。 ただ、ダウンロードするには大きすぎるから、CD-ROMを送ってもらうほうが良いかも。 私は「自立型ロボット作成バイブル」(西山一郎、メガテン共著、オーム社)という本についてきたCD-ROMから入手した。

続いての候補は、日立製作所の 評価用 H8/300H、H8Sシリーズマイコン開発ツール。 C/C++コンパイラ、アセンブラ、リンカ等、いろいろそろっている。 標準ライブラリもあるし、サンプルにはとってもうれしい3048F.Hが用意してある。 こいつはあくまで評価版で、統合環境がないので作業はDOSプロンプト。 マイコン作ってるところが出してる開発ツールだから、信用に関しては間違いないでしょ。 ちなみに、私はこの開発ツールを「H8マイコン完全マニュアル」(藤沢幸穂 著、オーム社)という本についてきたCD-ROMから入手した。

開発環境の候補は他にもあって、LinuxでGCCを使うとか、秋月でAKI-H8用のCコンパイラを買ってきて今までのアセンブラ&リンカ&フラッシュROMライタと組み合わせて使うとか。 他にもあるかも知れないけど、今とりあえず私の手元にある、or入手可能なC言語によるH8/300H開発環境はこれくらい。

今回紹介した3つについては、どれも試しては見てるんだけど、上手く動いてないんだよね〜。なんでかな〜〜〜? 月曜日、会社行ったらT先輩に聞いてみよ〜〜っと(笑)

開発環境のついで。 メカCADと電気CADも欲しいです。 できればフリーソフトで。 メカCADが3DCADなら5〜6万円くらいは出しても良いかな。 CADソフトがあったから設計ができるって訳じゃあないけど。 今はとりあえず、手書きで原寸大の図面書いて我慢しておこうかな・・・


 2001年10月10日 水曜日 剣道復活

今日から剣道復活。 水曜日は会社の定時退社日なので残業も無い。 だから水曜日に剣道というのは大変都合がよい。 仕事のほうはちょっと停滞してる感じ・・・

稽古が始まるのは8時で寮を出たのは7時ちょっと。 場所がわからなくてぐるぐる走り回って、7時50分くらいに到着。 稽古に参加されている方の年齢層はちょっと高め。 大学4年の夏から3年くらいのブランクのせいか、体が動かないし、気持ちが続かない。 腕が上がらないし足もついてこない。 3、4人くらい相手してもらったらもう両足にマメができてしまった。 いきなり全盛期に戻ろうってのも無理があるので、ボチボチやっていこかな、と。

しかしまぁ、マウスの開発は進まず、hp更新も進まず、停滞感は否めないなぁ。 放り出してしまえばそれまでなんだけど。 精神的にも肉体的にも、ちょっとお疲れモードです。


 2001年10月6日 土曜日 結局何にもしなかった

今日から月曜日(最近法律が変わってずれた体育の日)まで3連休。だが、月曜日は休日出勤しようかなと思っているので休みは土日のみ。 今日はお昼まで寝て、部屋掃除して、車洗って給油して、チョコっと買い物ついでにドライブして終わり。 結局何にも進展なし。


2001年10月5日 金曜日風邪をひく原因

昨日一日集中していたせいか、今日は作業効率が悪い。 ちょっと風邪気味。 風邪をひいた原因はわかっていて、昨日帰って夕飯を食べてから、布団も敷かずにゴロっと横になってそのまま朝を迎えたから。 夏ならまだしも、この季節じゃあ夜は結構涼しくなっているので風邪をひくのも当然。 おかげで今週片付けたかったことが全然片付いていないけれども、残業しても作業効率の悪さから片付かないと判断し、休日出勤覚悟で退社。 飯食って布団しいてさっさと寝る。

よって今日もマイクロマウスの製作は進まず・・・


 2001年10月4日 木曜日 モチベーション

もうすでに新入社員扱いは解けているのだが、仕事をしながら今やってることってどうなんだろう?と思ったりする。 まだ開発中なのにいろいろなところから貸して欲しいとの声があったり、調べ物をしてみると同じようなものを研究開発している会社が結構あったり。 どこの会社が先に商品化してもおかしくないような気がするのに、市場にはまだどこも投入してなかったり。 ちょっとくらい高くても欲しいという人もあれば、こんな役に立たないものいらない、という人もあり。 私はやってて面白いから良いけど。 はたして売れるのだろうか? 私がいまできることは、お客様に使っていただいて、満足していただけるレベルの完成度に仕上げることのみ。  会社に入って初めて手がけた仕事で、いきなり私の果たす役割が大きい(と勝手に思っている)分だけ気合を入れて取り組みたい。 

・・・といって自分を奮い立たせているわけで、その実、調べ物ってのが机の上に山積みになっていて片付かなくて逃げ腰になっているのをなんとか食い止めようとしてたりして(爆)


 2001年10月3日 水曜日 大会までの道程

締め切りが来なければ仕事をしない、テストが無ければ勉強しない。そんなことをみなさんもヒシヒシと感じられていることだろう。 ロボットを作るためにも学ばなければならないことは山ほどあるのだが、これだって好きなときにやるんじゃあ全然進まない、だから大会を利用するんです。

そんなわけで、マイクロマウス大会までのスケジュールを引きなおす。大雑把に言えば、今月中に設計、製作して11月前半でプログラム作成。大会前1週間でデバッグとチューニング・・・と考えたのだが、ちょっと無理があるような・・・

本日BBSにSuperMachineRの吉村さんから書き込みあり。リンク張ってくださるそうです。ありがとうございます。リンクしていただいて恥ずかしくないよう、ちょっと気合いいれて更新します。


 2001年10月2日 火曜日 フレックスタイム

昨日からフレックスタイムが使えるようになったようだが、今朝もいつもどおりに起きて、いつもより10分くらい遅く寮を出て会社に向かった。 そして会社から帰ってきたのはいつもよりずっと遅かった(爆)  お仕事のほうはやることが山積みだけど、楽しくやっております。 自分で立てたスケジュールはすでに崩れてるけど・・・

RSJ2001リポート、中途半端な形でUPしちゃってます。ゴメンナサイ。時間を見つけて少しずつ解説書いていきます。「4脚ロボット入門」も書きかけなんだよなぁ。サイト構造もなおしたいし、CGIも少しなおしたい。 でも、マウスの製作もあるからなぁ・・・


 2001年10月1日 月曜日 光センサ回路を理解する

しばらく滞っていたマイクロマウス製作。 参加申し込みをしてしまった以上ほったらかしにはできない。 ってことで、上手く動作していない光センサ回路の理解からやり直すことにした。

私のマウスのお手本は、ロボマガマウスそのもの。 LEDをパルス発光させる回路は、電子回路なんぞ全然わからない私でもなんとか理解できた。トランジスタをスイッチとして使用し、スイッチがONになったら電解コンデンサに蓄えておいた電荷をLEDにドバッと流してやろう、という寸法らしい。 しかし、ちょっと理解に困っているのが受光側の回路で、説明によると、ハイパスフィルタ、アンプ、ピークホールド回路という構成になっているらしい。 仕方が無いので会社の先輩に聞いて見たところ、ふんふん、そーゆーふーに動作するんです、という感じで理解できた。 回路は理解できたので、もう一度実配線図と配線を見直してみようかな。

話はちょっと変わるけど、会社の勤務時間が今日から変わったらしい。 今朝、いつもどおり8時に出勤してから始業時刻が8時半に変わったことに気がついた。 それに、今月から労働組合員になって、さらにフレックスタイムまで使えるようになったらしい。 これから毎朝ゆっくりになるのかな?