2018年12月2日日曜日

全日本大会

楽しく苦しい今年の大会が終わった.

第39回全日本マイクロマウス大会
東京工芸大学 厚木キャンパス
2018年12月1-2日
競技 ロボット名 記録(秒)
マイクロマウス こじまうす12 14.388 6位,特別賞

当日の朝の試走でまさかの最短走行がどうやってもできない事象が発生.不安しかない状態で出走まで長い時間待ったが,特定のパターンだけに対する問題だったのか,競技の迷路パターンでは問題なかったようだ.

しかしながら,当初から懸案事項であったバッテリの劣化はどうしようもなく,4,5走目では直進途中で3.2V以下まで低下したため停止.走行そのものは全然問題なかっただけに残念であるがこれが現実.とはいえ,かなりのパラメータで走った記録は残ったので,バッテリに問題がなくとも順位は変わらなかったように思う.

そう思うと,5段階くらいマウスを進化させないと勝てない世界になっているようである.

そして今回はマウスのバッテリだけではなく,人の方のバッテリもかなり切れかかっている.電車で乗り過ごしたり,無意識のうちに目覚ましを止めたり制御不能な状態に陥っているので来年のことを考える前に人の方を充電しよう.

2018年12月1日土曜日

試走会

全日本大会の試走会に参加して最後の調整を図った.

探索速度を上げた影響か99%のターンはOKだが,まれにおかしな軌道になる.これが32×32区画の迷路では致命的なので調整して押さえ込んだつもりだが発生確率が低い現象なので直ったのかは不明である.

その他,壁読みの間違いがわずかにあり,スタート直後のターンも苦手なようで気になる部分が多少あるものの,短時間で修正しうる部分は対応できたので今これ以上何もやることはない.

さて,マウスパーティはなぜかマイクを握っていた某マウサーの影響で昨年にも増して盛り上がっていた.

その後,体力的にかなりきつい,というより休日ということもあり元気が出ない状況なので,とっととホテルへ帰る.で,部屋に入るとなんか見たことのある光景である.これは,2015年に泊まったのと同じホテルか.夜更かししてマウスの調整をした机が記憶にある.あのときは最短走行できなかった...イヤなかんじである.

忘れた

今日は試走会である.朝バタバタしてたらPCマウスを忘れてしまった.少しは睡眠をとった結果起きられなかったのが一つの原因である.なお,寝たのが悪いという突っ込みはなしで.タッチパッドはレスポンスが遅いので使いにくくデバッグ力が低くなるが最後の調整くらいのつもりなので問題はないだろう.ACアダプターを忘れそうになって気付いたのでよしとする.

全日本大会はとにかく探索の安定度が必要なので,繰り返し探索走行させてチェックしたが頻繁にこける.迷路にほこりが多いからというのは言い訳で通用しないがどうしようもない.昨年の全日本大会走行時のログファイルを見ると,全面探索するには104m走行する必要があるらしい.今年の東北地区大会だと30m必要だった.

安定度が重要とわかっていながら時間切れが怖いので探索速度を1割上げてみた.

しばらくマウスのプログラムを触っていなかったためか,今年加えたコードでは変数が double で宣言されている.float で良いのでは?と思うが今書き換えるのは怖いので止めておく.

マウスの速度感,安定性に対する直感,コーディングなどさまざまな記憶が薄れているようだ.大丈夫だろうか.

2018年11月30日金曜日

壊れた

5年ほどほぼ毎日持ち歩いているかばんのベルトが破損した.こういうところが壊れるのはわかっているのでプラスチック製のものは避けて金属でできているものを使っていたのだが.かばん本体が破れるよりも先にまさかここが壊れるとは.縦向けジャイロのマウスが走っているのと同じくらい不思議.

先端の摩耗具合からも寿命ということでしょう.ベルトだけ替えれば良いのでこれは大きな問題ではない.

で,問題は,明らかに貧弱そうなマウスが今年3年目で,バッテリは一度交換したと思うがちょっとあやしいことである.しかも,明日から全日本大会である.こちらの人を見習って今からでも調整すべきだろうか.

二兎を追う者は一兎をも得ず,とすれば,人とロボットどちらの健康を優先すべきか.この判断をまともにできない人たちが明日厚木に集合するのだろう.

2018年11月25日日曜日

全日本大会前

あと1週間で全日本大会である.公式ページで出走順が公開されている.最後から6番目ということで6位入賞が今年の目標.調整していないこともあり,中部地区大会の結果を見る限り上位のマウスとは戦えない.

ジャイロセンサの温度依存をなんとか補正したいと思っていたが,結局時間が足りず,補正が難しいということだけわかった.理由は,ジャイロセンサに内蔵されている温度センサが本当に知りたい温度を測っていないからである.動作とともに自己発熱で温度が上がり,同時に周囲に放熱する.このような非定常熱伝導過程があるためにチップ内蔵の温度センサといえども一次遅れのある温度を知ることができるだけであり,直接補正に使えないようであることがわかった.

非定常熱伝導方程式を解けばよいのか?いや,周囲への放熱は熱伝達によるので雰囲気温度だけでなく,チップ周囲の流速の関数にもなる.また,全日本大会ではもしかすると環境光に含まれる赤外線によるチップの直接加熱があるかもしれず,不確定要素が大きい.

なお,基板に実装されていない設置が不安定なセンサに対して細かいことをいってどうする?という突っ込みは受け付けない.

また,バッテリがへたっているので昨年より走れないのでは?と思えてきた.10分間走りきれるのか?重くなるがバッテリ容量を増やそうか.

2018年10月21日日曜日

プログラミング言語

世の中にやたらたくさんあるらしいプログラミング言語のうち,マイクロマウスではC/C++言語が使われるのが通例である.マイコン上で動作するコードに変換できなきゃ意味ないので例外はあるが普通は他に選択肢はない.それで特に問題もない.

一方,PC上でだけ動けばよいソフトウェアを作るときには言語の選択肢があまりにたくさんあって人によっても好みも違うのでなかなか環境を共有できない.

これまでにある程度以上コードを書いたことがある言語と個人的な印象は,

  • Fortran:古い言語に新しい機能を付け加えているので言語仕様がカオス.でも数値計算には使われている.積極的には使いたくない.
  • C/C++:速度を求められるときは最高.使い慣れている.でもpythonの便利なライブラリを触ると物足りない.
  • Python:使いやすいし言語仕様もうまくできている.データ解析等に最近最もよく使う.データベース上の大量のデータをさばくのにも使う.最近ライブラリの充実度がすさまじい.
  • Javascript:言語してはイマイチ.でもブラウザが実行環境になる点はWindowsというプログラム?なにそれ?みたいなOSでも何もインストールすることなく動作するのは良いかも.
  • PHP:あまり慣れてはいないが,Cに似ているのであまり違和感はない.htmlに埋め込んで使えるのでWEB関係では便利だし標準.
  • SQL:他とはくくりが違うがデータベースを操作する上で必要.深入りしなければ普通.
  • MATLAB/Simulink:一見使いやすそうだが,仕様がカオス.Simulinkは直感的に使えるのでプログラムに慣れていない人にも使ってもらうソフトを作るのには良さそうだが,深く使おうとするとやはりカオス.

今年はマウスのコンテスト参加者にMATLAB/Simulinkが無償提供されるというのは驚いたが,最近個人的には距離を置こうかと思っている言語である.(互換性を保つために)古い仕様をひきずっているのと言語そのものについて書かれた良い本がないためか,それなりの時間費やしたが言語仕様を理解できず,カオスな言語という印象なのが一つの理由.また,プログラムを書くとき構文や関数を覚えているわけではないので何かで調べながらになるわけだが,今の世の中最も速いのはGoogle先生に聞くことである.商用ソフトはこれが通用しない点が致命的で,結果書きにくいと感じるのがもう一つの理由.さらに,パッケージ化ができそうでできないような気がするので規模が大きいプログラムを組めない.

というよりも,GVIMで書いてターミナルで実行,が基本パターンになっているので,それにあわない言語は嫌いということかもしれない.統合開発環境嫌いだし.OSもプログラミング言語も道具である以上,便利さよりもストレスのなさが重要である.

2018年10月14日日曜日

刺さるピンセット

8年前に全日本大会の副賞としていただいた先の細いピンセット,いわゆる刺さるピンセットを1年くらい前に紛失した,と思っていた.1005や0603といった小さい部品を半田付けするのに必須のアイテムであり活躍してきたが,小さい部品は2本使わないと作業ができず,ここ数年は他の同様に細いピンセットとあわせて使っていた.捉え方を変えると予備のピンセットを持っているわけなので,なくしたことはあまり気にしていなかった.

ところが,最近某所へ行くのに航空機を利用する機会があり,かばんをX線検査に通すと...かばんの底にピンセットがあると言われ,あーここにあったのかと.探したのに気付かなかった.すばらしい検査法ですね.で,刺さることを知っているので廃棄せざるを得ず,なくしたことには変わりがない.

あるはずのものがなくなるのは気持ちが悪いのでその状態からは解放されたものの,まだ使えるものを捨ててしまったことに対する罪悪感にさいなまれる今日この頃.

全日本大会には1台だけエントリーした.これで登録忘れの心配はない.