« 2010年10月 | トップページ | 2010年12月 »

2010年11月30日 (火)

USB-シリアル変換モジュールのソケットが取れていた

放送大学の中間レポート(通信添削)を送ったので、今年度のつくばチャレンジの反省に戻ってきました。今日はDCモータのトルク不足問題を再調査しようとして、ロボットの筺体をあけてみたら。本番の走行ログでファームがハングアップしているように見えた原因がわかりました。

こいつが犯人です。

Usb_socket_broken

写真に写っているのは、秋月で買ってきたUSB-シリアル変換モジュールです。制御用PCと台車制御回路基板上のマイコンとは、このモジュールを介して通信しています。そのモジュールのUSBソケットが取れているではありませんか! おそらく、USBケーブルが中途半端な高さに浮いた状態でバッテリなどに押されて、USBソケットに無理な力が繰り返し働いたのだと思います。USBソケットがとれていれば通信できないのは当たり前なので、制御用PCからみたらファームがハングアップしているようにみえるのは納得できます。去年からずっと同じ状態で使っていたので、潜在的に壊れる可能性がずっとあったわけです。

修理するのは簡単ですが、再発防止策をしっかり考えておかないことには同じことを何度も繰り返すことになります。USBケーブルがUSBソケットのみで保持されていることに原因があるので、理想的にはUSBケーブルが回路基板に触れる状態になっていれば無理な力がかからなくてよい。もっといえば、USBケーブルそのものがないのが一番いい。

USBケーブルが無いってことは無線ですか。Bluetoothモジュールが手元にあるのでやればできなことは無いと思います。しかし、無線は無線でいろいろ難しいところがありますから、もうちょっと対策を考えてみます。

中間レポート提出完了

つくばチャレンジ2010が終わってから怒涛の攻撃で、なんとか3科目のレポート(通信添削)を提出しました。三島から放送大学本部のある千葉までは葉書なら翌日には届くそうなので、ぎりぎり12/1には届くと思います。

放送大学のレポートが終わったら、次はSI2010の発表準備とつくばチャレンジ2010のテクニカルレポート作成です。発表内容は、グダグダだった今期の反省にせざるを得ません。なので、これから2週間で未解決だった問題点をちゃんと解決して、次につなげる反省にしたいと思います。そして、SI2010の発表内容を文章に起こして、つくばチャレンジ2010のテクニカルレポートに仕立てる予定です。

そんなわけで、これから年末にかけて仕事も趣味もプライベートも忙しくなりそうです。

2010年11月26日 (金)

中間レポートの締め切りが迫っている

中間レポートがあるんですよ、学生なので。といっても、放送大学の選科履修生ですが。その中間レポートは12/1本部必着なのですが、今期3科目とっている講義がまだ第3~4回までしか進んでいません。

放送はすでに第8回まで進んでいるようですが、私はインターネットのストリーミングで受講しているので、放送とは進み具合が違います。100kmウォークだ、つくばチャレンジだ、といって土日の時間を使っている間にだいぶ遅れをとってしまいました。なんとか間に合うように、会社から帰って夕飯を食べたら教科書を読んでストリーミングで受講していますが、かなり眠いです。

11/29(月)にレポートを仕上げて夜中に郵送するとして、講義に使える時間は金、土、日の3日間です。かなり厳しいけど、ギリギリ間に合うかな。

そのあとは、SI2010の発表準備とつくばチャレンジ2010のテクニカルレポート作成が待っています。仕事も忙しいです。

2010年11月25日 (木)

McAfeeのスパムメッセージ

私はアンチウィルスソフトに、McAfeeインターネットセキュリティを使っています。以前もあったのですが、そのMcAfeeアプリが断りもなく画面に広告メッセージを表示するので腹が立っています。

Mcafeespammessage

お前がスパマーになってどうすんだよ!

2010年11月24日 (水)

2010年度の反省

今年度のつくばチャレンジが終わりました。結果は、今年も去年とほぼ同じ。まったく進歩がありません。開発が全然間に合ってない状態でトライアルに臨んでしまったのですから、当然の結果です。

具体的に何をしようとして、実際には何がおきて、結果どうなったのか。現在まとめを書いている途中です。時間軸で振り返って見ると、こんな感じ。

  • 1~3月 スキーとか情報処理技術者試験の勉強とか。ロボット開発は何もしてない。
  • 4月 参加登録。
  • 5月 URGLibをC#で一から作ろうとした。しかし途中で断念。
  • 6月 URGLibはC/C++で配布されているものを使用することにしたので、合わせてAIモジュールもC++で作り直すことにした。そのために、log4cxxやboostライブラリに手を出した。しかし、C++からジョイスティックを扱うのが大変で、boost::threadの問題が解決せずに7月の最初の試走会(兼、説明会)を迎えた。結局、C++で作り直す案も断念。
  • 7月 作戦を変更して、URGLibをC#から使えるようにするためにWrapper DLLを作成。これはまあまあ上手くいった。
  • 8月 秋月の3軸地磁気センサを扱えるようにした。しかし、お盆明けから仕事が急に忙しくなって、9月半ばまでロボット開発がほぼ中断。
  • 9月 3軸地磁気センサでデータが取れるようになった。
  • 10月 ロボット制御用のPCでセンサデータのログをとろうとすると、URGLib wrapper DLLに近いところでバグが発生。SI2010の予稿原稿を提出して、試走会でセンサデータログ収集した。モータのトルクが細すぎる問題の調査に時間をかけたが結局解決せず。
  • 11月 走行軌跡をGoogle Map上に表示するプログラムを作成。3軸地磁気センサをうまく使いこなせない。ナビゲーションの処理は去年のものをそのまま使ってトライアルに出走。

こうしてみると、URGと地磁気センサを使えるようにするだけで7カ月くらい使ってしまっています。さらに、モータのトルクが出ない問題が未解決のままです。この調子では、あと1年あっても走れないだろうと思います。

では、開発が間に合わなかった真の原因はどこにあるのかと問われると、その時点その時点で間違ったことをしていたわけでもないので、なんとも言えません。このあたりはもう少し深いところまで踏み込んで原因を追及したいと思います。

2010年11月17日 (水)

トライアルまであと1日

トライアルまであと1日です。しかし、トライアル突破どころか、まだ自律走行できる状態ではありません。逃げ出したい気分です。しかし、来月東北大で開催されるSI2010に申し込んでしまったので、ここで逃げるわけにもいきません。反省するのは大会後にして、次の目標をSI2010の発表までに何とかまともに走れることに切り替えて、立て直しを図ります。

現在の状況です。

  • とりあえずカルマンフィルタのチューニングは不満はたくさんあってもこれで無理やりOKとします。かなりGPS頼みです。
  • ナビゲーション部分は昨年作ったのをそのまま使いまわします。検証は全然できていません。
  • レーザーレンジスキャナからデータを取り込むことはできますが、障害物回避は全然手つかずです。あと3日あったとしても、おそらく状況はそれほど変わっていないと思います。

もっと細々としたところでは、

  • 車体用のナンバープレート作成完了
  • 以前試走会で指摘された点2か所(非常停止スイッチの周りに黄色いテープを貼る、ファンに指を突っ込めないようにメッシュを貼る)の改善完了
  • バッテリは現在充電中
  • 宿の手配も完了

17日(水)は定時で退社した後、荷物を車に積んでつくばに向けて出発します。なので、プログラムをいじっている時間はありません。

苦しいな。

2010年11月11日 (木)

まずい。非常にまずい。

先週末にあった公開走行実験(試走会)の参加を見送り、ロボットのナビゲーション用プログラムをせっせと作っています。しかし、まだまだ自律走行できる見通しが立っていません。非常にまずいです。

現在は、試走会などで収集したログをGoogle Map上に表示することができるようになった程度の進捗です。そんなこともまだできていなかったのか、っていうレベルですよ。カルマンフィルタのチューニングも去年のままです。う~ん、去年のパラメータをそのまま使うか・・・。

次の日曜日(11/14)が実質的に最後の公開走行実験(試走会)です。そして、11/18(木)がトライアル、すなわち予選の日。とにかくトライアルコースだけでも走りきれるよう、機能を絞り込んで作るしかないでかな。

« 2010年10月 | トップページ | 2010年12月 »

最近の写真