Blog Archives

マイクロマウス研修記<Pi:Coくん組み立て編1>

こんにちは。初めまして!

2020年1月から入社したkomizunaiです。長いのでkomiで。

若い頃はアーケードゲーム基板の中古屋さんで動作チェックやメンテのお仕事をし、のちに某ゲームコーナーでゲーム機メンテ担当してました。(ついでに着ぐるみ着てイベントしたりしてました)

結婚してからしばらくニートおばちゃん生活をした後そろそろ仕事を…と探していたところ、そんなこんなな経歴もあり有難いご縁でアールティに週3で通わせて頂けることになりました!

感謝感激雨あられ。人間生きてりゃ良いコトもあるモンだ!まだまだ捨てたモンじゃないな、我が人生!!ロボットはメダルゲームの真ん中にいる恐竜とかしかバラした事ありませんが、皆様今後ともどうぞよろしくお願い致しますー!!

…なんて感じで始めてみましたよブログ。すぐ笑いを取りに行こうとする上に語彙力皆無なんで、その辺はご容赦を…

 

さて。入社前から聞き及んでいた「マイクロマウス研修」。アールティに入った人は全員マイPi:Coくんを作るのだそうな。共通言語を作るためらしいです。確かに全員が知ってる物があると話がしやすいですよね!

そしてPi:Coくんとの出会いは唐突に。

デデドン!!

…と、机の上に鎮座しておりました。うう~ん、この威圧感。惚れてまうやろ…!

 

ワクワクの組み立ては入社2週目から。週3日なのでちょっと遅い~。はんだ付けは一応経験者だったのですがプログラミング等は全くゼロからスタートだったので、先生を付けてもらって始めました。…まずは練習基板から…懐かしのはんだごてとはんだよ…ん?

装備が進化してるぅーーー!!!おばちゃん、学校の技術の授業で使うような安いはんだごてとかしか使ったことナイ…カッコイイ…!

ま、まあとりあえず組み立ててみましょ!説明書通りに部品を入れてはんだを流し入れるだけ…メンディングテープで基板を固定するとやりやすいヨ…?

基板が上手く固定できずグラグラして、手がプルップルするぅ~!今は鉛フリーのはんだというのを今は使わなきゃいけないらしいのですが、これがまたちょっと溶けにくい!(こての温度を上げるとやりやすいそうですが、はんだ経験者故にそのままでやりました)

…練習基板完成!センサーもバッチシでLEDも点いた!!…が、はんだあとがモッコリ美しくない…ギリギリギリ…ッ!!(泣)15年近いブランクもさることながら、昔からのクセでこてにはんだを乗せてから流そうとしてました。流し込む側を温めてからはんだを溶かしていくクセを付けましょう。反省~!

 

初回ブログ、最後までお付き合いありがとうございます。次回はもちょっとスピードアップで書きたい…な…できたら…(弱気)

続きを読む ›

Posted in Pi:Co Classic3, Pi:Co Classic3 製作記, 研修


Pi:Co製作(マイクロマウス研修)Part13(宇野)

前回スイッチ音を定義して簡単に鳴らすプログラムを作ってみましたが

配列というものの存在を教わったので、早速配列を使ってプログラムを変更してみました。

これが前回のプログラムで、画像は見切れてますがcase15まで続く長い記述になっています。

これを配列使って書き直すと

 

この様になりました。

あのずらずらと長い記述がこんなにコンパクトに収まりました。

これで一旦スイッチ音は終了にしようと思いましたが

どうせなのでモード選択の決定音も変える事にしました。

 

それはまた次回という事で、それとは別にやる事を予告しておきます。

こちらです。

長い間やろうと思って放置してきたフロントスカスカ問題を解決していこうと思います。

それではまた次回…

 

続きを読む ›

Posted in Pi:Co Classic3


マイクロマウス研修(しおたに)その13[パラメータの調整]

あけましておめでとうございます。しおたにです。

いつも作業している部屋が丸々引っ越しになり年末年始はドタバタとしてました。

環境が変わったのでパラメータ調整から行います。

現在管理している主なパラメータはこれくらいです。

  • タイヤ直径
  • トレッド幅
  •  センサ
    • 迷路中央においた際の各センサ値
    • 前壁判定閾値
    • 左右壁判定閾値

これらはparameter.hでまとめて管理しています。

迷路は変わっていないのでタイヤ直径やトレッド幅は変わりませんが、部屋は変わったので照明条件(蛍光灯の種類、配置、日光の差し込み具合等)は変わっています。

このため、センサ関連のパラメータを更新していきます。

 

壁の有無を判断する閾値は、Pi:Coを壁に寄せ一番遠い壁をみたときのセンサ値にしています。

↓ 迷路にPi:Coを置いて、センサ値を記録しているところ

大きく変わったところはここだけでした。

思ったより変わらなかった…。まぁそれが分かっただけでも良しとします。

 

このパラメータ調整は大会会場でも必ず行うのでミスなくできるようやり方を工夫していきたいですね。

ではまた次回。

続きを読む ›

Posted in Pi:Co Classic3, Pi:Co Classic3 製作記, 研修


Pi:Co製作(マイクロマウス研修)Part12(宇野)

前回LEDでどのルーチンに入ったか見れる様になって

プログラムが無駄に複雑な書き方になってるのが判ってきました。

このまま手を加えて行っても、どんどん見辛く迷宮入りしていってしまいそうなので

一旦複雑な条件を無くしてシンプルに戻してから、精度を上げていく方向にしました。

 

それとは関係なく、

息抜きにスイッチを押した時に鳴らしているブザー音を少しアレンジしてみました。

サンプルプログラムのデフォルトでは、モード番号が上がる時の音、下がる時の音、決定音

と3種類ありましたが、折角音程の定義をしているのでモード番号毎に音程を割り振って

モード1は「ド」が、モード2は「レ」が鳴るという様にし、

スイッチでモード番号が進んでも戻ってもモード番号の音程が鳴るので、

今何番なのか判り易さが上がったかな、と思います。

しかし、進むスイッチと戻るスイッチに直接1~15まで1個ずつ書き込んでいると、

結構長い記述になってしまったので、何とか簡単にならないかなと考えて

別個数字を入れるだけで鳴らせる様に改造してみました。

これをデモ用のファイルに記述しておき

実際鳴らす方に投入。

随分すっきりしました。

 

次、時間が取れれば決定音も何かしら変えようと思います。

 

続きを読む ›

Posted in Pi:Co Classic3


マイクロマウス研修(しおたに)その12

こんにちは、しおたにです。

前回、滑らかに曲がれるようになったので、今後の進め方についてまとめたいと思います。

以前、以下の順で進めるよう計画しました。

  1. 滑らかに曲がる
  2. より速くしてみる
  3. 完走率を高める
  4. コース適応力を高める

前回で「1.滑らかに曲がる」は一区切りついたので次に進みます。

「2.より速くしてみる」は後回し

現状、直線走行の最高速度に関しては現状でかなり限界近くに設定しています。
ハードウェア的にはさらに速くできるのですが、現状の台形加速では最も長い直線区間でも最高速度に達する前に減速する必要があり、あまり意味がありません。

また、現状の速さでは安定した走行が難しく、デバックの効率が悪いです。

このため、速さを求めるのは後回しにし、まずは安定走行を目指したいと思います。(マウス十則にもそうありました)

走行時間を短縮する方法としては、
加減速方法の改良(曲線加速やS字加速と言われるそうです)や階段上の経路で斜め走行、連続カーブはまとめる等の走行経路の改良があるようなので、後々やっていきたいと思います。

 

まずは安定性

「3.完走率を高める」を進めていこうと思います。
今のところ完走率が高まりそうだなぁと考えている工夫はこれです。

  • スラローム時の前壁補正の実装
  • 袋小路での走行位置補正
  • 櫛型壁配置での安定走行

前壁補正とはスラロームに入る前に前面にある壁との距離を測り、適切な距離で曲がり始めるようにする補正のことです。

図のように、適切な位置で旋回を開始することで、旋回終了時にコース中央を走れるようになります。
長距離を走行しているとタイヤのスリップや走行距離の誤差等が蓄積した際に、スラロームの開始位置がズレることを防ぎます。

次の袋小路の走行位置補正では、袋小路に入った際に前と左右の壁との距離を測り、壁間の中心に位置を修正することで走行位置の補正を行うことを考えています。

最後の櫛型壁配置での安定走行とは、ロボット両脇の壁が櫛のように配置されていると徐々に壁に近づいていくように走っていく現象への対処です(対処方法はまだ検討中)。

 

というわけで、まずは安定走行を目指して進めていきます。

今回はここまで。良いお年を

続きを読む ›

Posted in Pi:Co Classic3, 研修


マイクロマウス研修(しおたに)その11[滑らかに曲がる⑦]

こんにちは、しおたにです。

前回、台形駆動スラロームを実装しました。

以前より滑らかに曲がれるようになりましたが、旋回前後がかなりフラフラしているように見えます。

原因の一つとして、

スラロームの調整不足

が考えられそうです。

曲がった後に壁に近すぎるようなので少し大回りになっているのかもしれません。

調整方法

画像のように壁をグルグルとまわり、旋回距離と旋回半径が適切かを見ます。
この際、壁制御はすべて無効にし、旋回前後のズレが残るようにします。

この状態で3周くらい回ってみると…

序盤は良さそうですが途中で旋回距離が足らないのか壁に当たりました。

この後、何度か旋回距離を変えたりしたのですが、再現性のないズレがよく見られたのでタイヤがスリップしているような気がしてきました。

スリップするということは加速度が大きすぎるか速度が速すぎるということ。
旋回速度を遅くしてやりました。すると、

かなり安定するようになりました。

調整後

速度は遅くなりましたが安定性が増したように見えます。
依然としてゴール後に壁に当たるという問題はありますが、スラロームの調整は出来ました。

今回はここまで。

 

続きを読む ›

Posted in Pi:Co Classic3, Pi:Co Classic3 製作記, 研修


Pi:Co製作(マイクロマウス研修)Part11(宇野)

しばらくこれといった進展が見受けられない宇野です、こんにちは。

動きが止まらなくなってから、がっつり調整する時間があまり取れず

プログラムに自分で手を加え出してからは、それを読むのにまた時間がかかり

毎日の進展がかなりスローペースになっております。

 

前回、自分で作ってみたルーチンに入ってるかどうかの確認方法で

一旦異常な数値で動きを見る方法を取っていましたが

直後に様々な確認方法を教えて頂き、その中でLED点灯を実装する事にしました。

幸い、サンプルプログラムでLED点灯自体は簡単に行えるので

ルーチンの中に一文入れるだけで様々な状況をLEDで確認出来る様になりました。

これによりどの部分で詰まるか判るようになりましたが、

残念ながらすぐに直る感じではないので、やっぱり調整には時間が掛かりそうです。

ゴール到達率は半々くらいですが、LEDがどう光るかの記録を残しておきます。

思った以上に動画では判り辛いですね。

ただ、曲がった時にどのルーチンに入ったかが確認出来る様になったので

直す部分の特定は楽になりました。

場所がわかっても簡単には直らないんですけどね

これから頑張ります。

 

続きを読む ›

Posted in Pi:Co Classic3


Pi:Co製作(マイクロマウス研修)Part10(宇野)

こんにちは、相変わらず細かい調整を続けています。

 

そんな中、実はテストコースが歪んでいる

という事実が発覚してしまいました。

壁や柱がきれいに刺さらないとは思っていましたが、思った以上に歪んでいるようです。

なので、詰めた調整というよりは簡単な基本調整を行い

後は、サンプルプログラムを改造した部分が正常に動作するかのテストを重ねる

といった事がメインになっていきそうです。

 

今現在は連続した櫛やジグザグに入った時にだけ少しパラメータを変える様にしてみましたが

何分プラグラムの知識に乏しいので

簡単なC言語の本を借りて、読みながら進めて行っています。

 

しかし、コースが歪んでいるからか毎回動きが変わるので

少し弄った程度では意図したルーチンに入ったのか判らず

まずは想定より遥かに高い数値を入れて、

おかしな動きにする事によって動作確認をしています。

その後、数値の調整に入るのですが、

新たな発見、試みがなければしばらくこの調整で安定化を目指す事になるでしょう。

 

なんにしても、完走出来る安定した動きを今月中には実現したいです。

 

後、音楽の方も作りたい曲が確定したものの、走りが安定していない現状では

割ける時間がないので、出来る限り早く完走を目指したいところです。

 

続きを読む ›

Posted in Pi:Co Classic3


マイクロマウス研修(しおたに)その10[滑らかに曲がる⑥]

こんにちは、しおたにです。

今回は台形駆動スラロームを作りました。

角速度を急激に変えないよう、下図のように内輪、外輪の回転速度を変化させます。

両輪の速度差が大きいほど旋回半径が小さくなります。

等速円運動スラロームでは円弧を描きましたが、台形駆動スラロームでは円弧の前後にクロソイド曲線を描きます。

実はこれ、自動車が一定速度でハンドルを回しながら走行すると描かれる曲線で、道路のカーブ前後に設けられているそうです。
ちなみに、いきなり円弧区間になると一気にハンドルを切らなくてはならず、タイヤのスリップや乗り心地に悪影響が生じます。

マイクロマウスでも同様で、タイヤが滑ったりカーブ前後の姿勢が崩れたりといったことが防げるそうです。
普段何気なく走る道路にもマイクロマウスに応用できることがあるんですね。

詳細はこちらに書かれています。クロソイドの雑学

実装ですが、等速円運動スラロームの際に求めた両輪の速度に向け、少しずつ外輪を加速、内輪を減速さればOKです。
円弧の前後でクロソイド曲線を描くため、円弧部分の距離は若干縮まりますから走行距離は調整する必要があります。

等速円運動スラロームの様子はこちら

そして台形駆動スラロームは(最後ぶつかりましたが)

等速円運動スラロームでは約8.2秒でしたがこちらは約7.5秒でした。
連続カーブがより滑らかになった気がします。

これで滑らかに曲がれるようになりました!

今回はここまで。

続きを読む ›

Posted in Pi:Co Classic3, Pi:Co Classic3 製作記, 研修


全日本大会で完走しました – 元Web屋のマイクロマウス製作記 Part.11

ししかわです。

12/1 マイクロマウス全日本大会に出場しました。

記事一覧

結果

5回のトライ中、探索走行と最短走行を1回ずつ成功しました!

走行の様子は下記YouTube Liveの録画から見れます。

本番の振り返りと反省
スラロームの調整不足

スタートから階段状のスラロームがたくさんあります。
動画を見るとよくわかりますが、私のマウスは「スラロームの誤差が蓄積して、壁に接触する」というパターンでの失敗が多かったです。
開発時は4マス*6マスの小さい迷路で走らせていたため、この誤差はほとんど気になりませんでした。
フルサイズの迷路でしっかり調整すべきだったと思います。

斜め走行まにあわず

前回の記事でマウスの斜め走行を紹介しましたが、135度ターンやV90度ターンを含む斜め走行の実装が終わりませんでした。
代わりに「直進→右旋回→左旋回→直進」を斜めに突っ切るパターンと、「直進→右旋回→直進」を大回り旋回するパターンの2つを用意しました。
しかし、これらのパターンに合致する経路がほとんど無かった上に、肝心の変換プログラムにバグがあり、
「経路最適化しようとするとマウスが走り出さない」という現象に見舞われました。
幸い経路最適化のON/OFFを切り替えられるようにしておいたので、無事に最短経路での走行も行うことができました。

本番で斜め走行を披露できなかったのは悔しいです。次回の自作マウス編ではしっかり実装していきたいです。

地道な対策が功を奏した

社員研修の修了要件は「全日本大会で完走すること」です。
今回、「確実に完走するための対策」を色々用意して望みました。

  • 袋小路ではマウスの背面を壁に当てて、ズレを補正する
  • 探索走行時の旋回はスラロームと超信地旋回どちらも用意する(スラロームで失敗したら超信地旋回で走る)
  • 最短走行時のパラメータはゆっくり(探索走行と同じ加速度/最高速度)のものも用意する
  • 最短走行時の経路最適化処理をOFFにできるようにする
  • ゴール座標はボタンで変えられるようにする(座標を間違って書き込んでしまっていたときの対策)
  • 操作方法のメモ(カンニングペーパー)を用意する

本番の迷路をマウスが上手く走れないときの対策はもちろんですが、
同時に人的な操作ミスや、プログラムにバグがあった場合の対策も考えて実行しました。
操作方法のメモまで持ち込むのはやりすぎかもしれませんが、
「ヒューマンエラーは必ず発生する」「ミスしたときの焦りがさらなるミスを招く」という気持ちで愚直にやりました。

用意した対策の中には結局使わなかったもの、使ったもの両方ありますが、
限られた時間で確実に完走するために色々なリスクを考えて対策を重ねるのは良いことで、今後も続けたいです。

技術交流

大会前日の試走会に併せて実施された「マウスパーティー」、本番後の「技術交流会」に参加して、
全国のマウサーの皆さんとお話してきました。

本番の走行では遠目にしか見れないマウスも、じっくり手にとって見せていただきました。
どの開発者の方も「ここはこうしたい!」という強いこだわりを持って開発されているのが伝わってきました。
開発の苦労話なども聞けてとても参考になりました。

余談

今回の迷路、なんと「マイクロマウス記録認定証」でおなじみの迷路です!

「40周年にふさわしい迷路を」という理由で採用したとのことでした(実行委員長の鈴木先生談)。

40周年の節目となった今回の大会ですが、運営の「今後もいつもどおりやっていきます」というメッセージが印象に残っています。
テレビではNHKロボコンのような華やかな大会が注目されがちですが、
一方マイクロマウスのように40年間ルールもほぼ変えずに続く大会の存在は
「開発者の技術伝承」「その年々の技術動向を占う試金石」のような役割を担うのだなあという思いです。

以上で、マイクロマウス研修(キット編)は一区切りです。
次回からは基板から作る自作マウス編です。がんばります!!

続きを読む ›

Posted in Pi:Co Classic3, お知らせ