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 製作記, 研修


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

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

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

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

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

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

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

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

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

 

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

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

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

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

 

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

ではまた次回。

続きを読む ›

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


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

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

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

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

原因の一つとして、

スラロームの調整不足

が考えられそうです。

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

調整方法

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

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

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

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

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

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

調整後

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

今回はここまで。

 

続きを読む ›

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


2019年マイクロマウス大会(全国大会)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
岩本ブログ一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
こんにちは岩本です。
今回は、ついに全国大会に参加してきました。

全国大会は毎度おなじ東京工芸大学で行われました。

大会前夜は、宿でマウスフィールドを広げて、マウスの動作確認を行いました。
いつもならここで、新しい走行パラメーターを追加するのですが、どこかにバクを仕込んで全国大会で走れなかったら目も当てられないので、プログラムを編集することはなく、前回の地区大会で完走実績のあるプログラムで挑戦しました。

その結果、タイムは27.761秒で26位でした。
少し惜しかったのは、フィールド間違いがあり走り直しになったのですが、走りなおしたほうが遅くなってしまいました。。。最高パラメーター安定しないのです。

大会後の懇親会では、大量のマウスが並べられて撮影会が行われました。
全国大会ということもあり、かなりのマウスが並べられて圧巻の光景です。

来年は、自作マウスを作成して、大会に出ていきたいと思います。
今は、マウスを作る為の加工機作成中です。

以上、今回はここまでです。

続きを読む ›

Posted in Pi:Co Classic3 製作記, お知らせ


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

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

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

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

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

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

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

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

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

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

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

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

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

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

今回はここまで。

続きを読む ›

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


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

前回に続き逆曲がりの調査をしようと思ってましたが、

曲がった時に毎回モーターを止めてる疑惑を指摘され

確かに動きがギクシャクというか

ワンアクション毎に一旦動きが止まってる様な感じがしてました。

 

その原因を放置したまま、探索の最高速度を上げる事で見え辛くしてましたが

ここにきてアドバイスを貰い原因の特定が出来ました。

曲がる部分のプログラムではなく、その前後の直進するプログラムに問題がありました。

 

基本、サンプルプログラムを土台にしているので前進に関してはほぼそのまま使ってました。

このデフォルトの状態だと初速が0になっており、毎回猛烈な減速が一瞬起こる

というのが判りました。

そこで、ある程度の数値を入れてみたところ止まらずに動く様になりました。

これが前回紹介した今までの走行

1つ1つの動きの後、一瞬減速されています。

そして、次に改善後

まだ調整が出来てないので簡単なコーナーだけですが、

動きが途切れず継続して動く様になりました。

 

動きが止まらなくなった事により、また調整のやり直しになりましたが

ちょくちょくセンサー周りが誤動作しているのか、

壁を無視して真っ直ぐ走ったり、逆に壁がないのに曲がったりが多発して

1日ずっとまともに走らない日があったと思ったら、次の日には普通に走る

という事があったので、不安な点が増えてきました。

ハード面も視野に入れた調整が必要になってきたのかもしれません。

 

しかし、ギクシャクした動きが改善されたので今後の調整が楽しくなってきました。

 

続きを読む ›

Posted in Pi:Co Classic3 製作記


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

前回のジグザグ走行でたまに反対に曲がる原因を調べる為に色々弄っていたら、

逆に悪化して元に戻せなくなってしまったので

このままさらに調整して直して行く事にしました。

これ(↑)が諸悪の根源です。

比較的帰りに逆曲がりする事が多い気がします。

ズレの蓄積で誤動作すると思われるので、細かい数値調整で改善を模索していましたが

いくらやっても良くなった感がなく、ちょいちょいぶつかるので一度動画を撮り

何度も見返して、どこが悪いかを考えてみました。

移動距離をこれまで弄っていましたが、こうやって見ていると

毎回不安定な動きをするのは曲がる時のスピードが速い様な気がしてきました。

 

という事で、スピードを落としつつ細かい調整をしていこうと思います。

軽く弄った現段階でもまだぶつかってないので(動きはまだ安定しませんが)

この方向性での調整を続けます。

 

続きを読む ›

Posted in Pi:Co Classic3 製作記


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

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

前回、最短走行で等速円運動スラロームを試し、信地旋回と比べ大幅にタイム短縮できました!
一見滑らかに曲がれているしこれで終了…とはいきません。

等速円スラローム中の角速度変化をグラフにすると下図のような感じになります。

モータにへの速度指令はこんな感じです。

実際にはこの通りに速度変化はできません。摩擦や慣性が働いているからです。

身近な例でいえば自動車は止まった状態から急に100km/hで動くことは出来ません。
目標の速度めがけて徐々に加速するしかないのです。

角加速度変化をみるとこの通り

スラローム前後で一瞬無限大の入力(インパルスな入力)になっていることがわかります。

つまり現状ではモータに無理を強いて曲がっていることになります。
Pi:Coはステッピングモータを搭載していますので、急激に速度を変えると脱調します。
また、加速度が大きいためタイヤがスリップしやすく、走行経路の誤差が大きくなります。

これを解決するのが台形加速です(下図)。

ご覧の通り角速度を台形状に変化させて加減速します。
時間をかけて加減速するため角加速度の変化も抑えられます。

モータへの速度指令はこんな感じです。

これで曲がれば今までより無理なく滑らず曲がれるはず…
今後はこの台形加速を使ったスラロームを試していきます。

今回はここまで。

 

そういえばスラローム、スラロームとよく言っていますがこれは蛇行走行など指す言葉で、正しくは緩旋回(かんせんかい)と言うそうですね。
マイクロマウス界隈ではスラロームのほうが伝わるみたいですので私はこのままいきます。

ではまた次回。

続きを読む ›

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


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

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

これまで、その5でタイヤのゴムズレ対策をし、その6でパラメータ調整を行ったので、以前より安定して曲がれる機体になったと思います。

今回は等速円運動スラロームを試してみます。

等速円運動スラロームとは速度を変えずに円弧を描きながらカーブを曲がるスラローム走行です。
ざっくり説明すると、外側のタイヤの速度を速く、内側のタイヤの速度を遅く指定することで曲がります。

こちらに詳細にまとめられています。

参考にさせていただきました。

どれくらい速く/遅くすればよいかというと、外側のタイヤと内側のタイヤの旋回中心を一致させるようにすればOKです。

 

今回はロボット中心の旋回半径を60mm、中心速度が400mm/sになるように曲がることにします。
まず、旋回半径をr、円弧の接線方向の速度をvとし、角速度ωを求めると
式は ω=v/r
ω = 400/60 = 6.6666… ≒ 6.67[rad/s]
となります。

 

次に各タイヤの速度を求めます。
トレッド幅は67.7mmなので、外側のタイヤの旋回半径は60+67.7/2[mm]、内側は60-67.7/2[mm]となります。
この旋回半径と角速度から外側のタイヤ速度Voutと内側のタイヤ速度Vinを求めると、
式は v = rω
Vout = 93.85*6.67 ≒ 626[mm/s]
Vin = 26.15 * 6.67 ≒ 174[mm/s]
となります。

 

また、移動距離はロボット中心が描く円弧長なので
2π*r*90[°]/360[°]
から
2*π*60*1/4 ≒ 94[mm]
になります。

 

続きを読む ›

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


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

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

前回、タイヤゴムのズレを無くすために両面テープで固定しました。
これによりタイヤ径が若干変わってしまったので、今回はその調整を行います。

①タイヤ径の補正

プログラムで用いるタイヤ径を補正するため、一定区画を直進し、その距離を測ります。
プログラムでは目標とする移動距離に対し、予め入力されたタイヤ径をもとに何度タイヤを回すかを決めています。

今回は5区間(180mm×5=900mm)直進し、行き過ぎ/手前過ぎを調べます。

まずはスタートする区画にマウスを置くわけですが、進行方向に壁を挿してマウスの“鼻”を付けるようにします。


走らせる


行き過ぎました。(※壁は突き破った訳ではなく、止まった後に置きました)

行き過ぎということは入力してあるタイヤ径よりも実際のタイヤ径が大きいことになります。

…というわけで入力値を少しずつ大きくさせて走り、ピッタリ止まるようになるまで繰り返しました。

入力値は47.9mm → 47.97mmとなりました。その差0.07mmですが侮れないですね。

②トレッド幅の補正

続いてトレッド幅(左右のタイヤの中心距離)の補正を行います。主に旋回角度の計算にトレッド幅を用います。

その場で90度ずつ8回超信地旋回を行い、回りすぎ/回らなすぎを調べます。


壁と平行に置いて旋回させます。


旋回後。現在の入力値では回らなすぎでした。

つまり入力値よりも実際のトレッド幅が大きいということになります。

調整後。
66.5mm → 67.7mmになりました。

 

これで両面テープで変わったタイヤ径の調整完了です。これで以前より計算通りに動くようになる、はずです。

ではまた次回。

続きを読む ›

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