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台だけエントリーした.これで登録忘れの心配はない.

2018年10月8日月曜日

東北地区大会

クラシックマウスは見たことのある迷路.例のターンを連発するとかなり効く.が,小さいマウスは斜めでゴールに突っ込むとゴールセンサが検知してくれなかったので手動計測.機体の高さが低いのは事実であるが,十分に光路をカットしているので,センサを横切る時間が短すぎるためだろうか?

マイクロマウス競技では19台出走したうち5台しか完走できないという厳しい状況ながら,普通に走ってくれたので良かった.これで全日本大会の出場権を得た.周囲光が強く,路面が塗り立てで他の支部の迷路と少し違い,会場の温度は30℃を超えていたのではないかと思われる高温と,大きく3点普通とは異なる状況で,それぞれ影響を受けていたのは確かではあるが,いずれも前日の試走会で状態を掴んで調整できていたのでカバーできた.今回は経験値が効いた.

第31回マイクロマウス東北地区大会
タス(TAS) (一財)置賜地域地場産業振興センター
2018年10月7日
競技 ロボット名 記録(秒)
マイクロマウス競技 こじまうす12 3.521 優勝
クラシックマウス競技
(エキスパートクラス)
こじまうす12CL 5.920 3位

東北支部は今年も豪華でおもてなしの精神にあふれていた.こうした人たちにも支えられてマウスやってるというのを再認識した大会でもあった.

2018年10月7日日曜日

東北地区大会試走会

今年唯一の地区大会参加.ということは,ここで完走しないと詰む.

以前全日本大会が行われたホールが会場のようだ.照明がきつく,ハーフは迷路が塗り立てでツルツルてかてか.少し滑る.そして空調が効かないらしく,暑い.(なぜか精神と時の部屋だけ空調が効くようだ.やはり何か違う空間なのか.)客室も暑い.これなら寝るより調整してる方が良いのでは?とも思うが寝る.

今日は240fpsの動画をアップロード.

明滅しているのがわかる.

壁の明るさもいいかんじに変化している.

もちろん原因は天井のライト.100Hzで明滅している.位相は少しずれているようだ.

温度の影響なのか,ジャイロの係数がずれている.照明も不安である.床面は滑る.三重苦であるがちゃんと走るだろうか.

2018年9月17日月曜日

台湾大会2018

台湾大会に参加した.

今年は国内学生選手のクラスと国外選手含めたクラスが同じトレースコース,迷路を使うことで時間短縮を図るようになっていた.そのため,ロボットは朝競技が始まる前にはロボット置き場に置かなくてはならず,当日のデバッグはほぼできなかった.

ということはクラシック(こじまうす12CL)は絶望のはずだった.しかし...1回目の探索が途中で失敗したものの,2回目で経路はつながり,3回目,4回目と最短走行,重ね探索をし,5回目の最短走行も成功とどういうわけかそれなりに走ってしまった.スコア形式なので順位には結びつかないものの意外と走るらしい.なぜだ.

そして最も重要なハーフサイズ(こじまうす12).毎年心臓に悪い戦いになるのが台湾大会であるが,今年も例外ではなかった.

出走は最後から2番目で,出走時点でかなり良いタイムが出ていたのでプレッシャーがかかる.探索走行は問題なく全面探索完了した.そして最短走行をそれなりのパラメータでスタートさせたが...動画から人の寿命が縮まる瞬間がわかる.

衝撃的なことにさっきまで全く問題なく走っていたのに,左タイヤが動かない.正確には妙に摩擦が大きくてまともに回転しない.原因不明であるが,モータのピニオンを0.3mm程度ずらしてみたところちょっとおかしい気もするが回るようにはなった.これは日本ルールなら2回目がリタイヤになるところだったが,ここは台湾ルールということで2回目の走行を仕切り直し.

ちゃんと走った.安心した.が,その直後,タイムを見ると...6.472秒.暫定一位のタイムは...S国のK氏の6.469秒.んっ!?なんだこれは!

Three milliseconds!!!

つらい.

そして3回目,4回目はクラッシュ.やはり昨年と同じで床面との相性なのかターン時に大きく破綻することがあるらしい.しかし,パラメータを落とす意味もないのでそのまま運命の5回目.

これが走りきって優勝.

台湾マイクロマウス大会(TMIRC2018)
龍華科技大學
2018年9月16日
競技 ロボット名 記録(秒)
ハーフサイズマウス Kojimouse12 6.354 優勝
クラシックマウス Kojimouse12CL 10.855(スコア)

寿命はかなり縮まったが楽しい大会であった.

2018年9月15日土曜日

台湾大会試走会

ブログの存在意義が生存報告になりつつあるが,今回は機体の生存報告をする.

動画のとおりマウスは動いている.速いパラメータのはずだがこれだとまだまだなのでは?という気がする.

台湾の迷路とは少し相性が悪く,スリップしやすいのは昨年同じ機体で経験したのでわかっている.実際,迷路がきれいであるにもかかわらずスリップするようなので加速度を下げて対処.これでどこまで戦えるかは明日わかる.

クラシックサイズはもうムリです.走れないことがわかったし調整しきれないし.今年はハーフ一本にしようかと.

2018年9月9日日曜日

マウスシーズン

今年のマウスシーズンが始まる.いや,すでに始まっているらしい.

東北地区大会だけ登録完了した.今週末は台湾大会であるので,動作確認もした.動くことと速く確実に動くことは違うが,感覚のなまっている今の私には見分けがつかない...競技ルールの確認からリハビリしなければならないんじゃないかと思うくらいである.

今一番重要なのは当日台湾に行くことを忘れないことである.