Blog Archives

shotaのマイクロマウス研修25 基板発注と実装とアートワーク作業の振り返り

こんにちは、shotaです。
社員研修として、オリジナルマウスを製作しています。

[前回の記事]では、GitHubを使用した大会振り返り方法について書きました。

[前々回の記事]では、アートワークが完了しました。
今回はアートワークの最終記事です。

部品実装の話と、大反省会です。

続きを読む ›

Posted in DCマウス研修, ブログ, 研修


マイクロマウス研修(安江) [Part.10] ~惨敗に終わった中部地区大会~

<公開中のブログ一覧>

 

こんにちは!安江です。

先週末にかけて、最後の地区大会である九州地区大会/中部地区大会へ参加してきましたので、その様子をご報告したいと思います。

今回は中部地区大会についてまとめていきたいと思います。

 

九州地区大会で壊れた機体の修理!

[前回の記事]でご報告した通り、九州地区大会へ参加した際にセンサ周りにはんだクラックと思われる故障が発生しており、このままでは探索走行も覚束ない状況でした。

しかも、九州地区大会の次の日に中部地区大会があるため、名古屋のホテルに到着してから寝るまでの間に修理をする必要が・・・

 

ホテルについてから同僚からお借りした半田ごてで怪しい箇所(フォトトランジスタや周りの抵抗)を修理したのですが、テスターが手元になかったのでちゃんと修理できたのかは大会前の時間で確認することにしました。

 

中部地区大会!

大会会場に到着後すぐに前日の夜に修理したセンサ周りに問題がないか確認しました!

さすがは中部地区大会、かなり早い時間にも関わらず人が多くあまりデバッグする時間がとれなかったのですが、センサ値が全体的に高いかな?くらいで問題なさそうだったので、前回大会時に実装したプログラムを削除しました。

 

結論から言いますと、この判断は最悪でした・・・

実は修理が完全にできていなかったようで、大会では全走行でリタイアという屈辱の結果に・・・(泣

 

次の全国大会までには修正をしてリベンジしたいと思います!!!

 

中部地区大会の裏で修理してました

あまりにも悔しくて、自分の走行が終わった後に控室でひたすら修理していました。

その時の動画を撮影してあったので、ご覧ください!(ちゃんと最短走行もできるんだという証拠です)

 

パラメータは故障時のままだったので走行が安定していないですが、ちゃんと走行できるんです!w

今度はちゃんと大会で走行できるように頑張りますね!

続きを読む ›

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


マイクロマウス研修(のり)[1]

KiCADのマニュアル作成も兼ねて、マイクロマウス研修を再開しております。

4月から少しずつやっていたのですが、遅々として進まないため、奮起して途中でもブログで出してしまいます。

マイクロマウスでつかうKiCad入門

途中で、seyaさんに教えてもらったKiCAD v.5.1の同人誌を参考にさせて頂いております。
練習で汎用マイコンボードを回路設計して、マイクロマウスの先生にレビューして頂いたので、Nucleoを買って動作確認しつつ、基板設計を進めていきます。

STM32F446_USBOTG

続きを読む ›

Posted in 研修


マイクロマウス研修(安江) [Part.09] ~九州地区大会~

<公開中のブログ一覧>

 

こんにちは!安江です。

先週末にかけて、最後の地区大会である九州地区大会/中部地区大会へ参加してきましたので、その様子をご報告したいと思います。

今回は、スラローム走行を用いた最短走行を完走するために、Githubを用いたスケジュール管理のもと時間をかけて準備することができました!

 

九州地区大会直前にトラブル発生!

今回、10/25(金)の試走会にも参加したのですが、危ないところはあるものの最短走行での完走もできたのでかなり余裕をもって大会に臨めました。

しかし、懇親会の後に調整をし続けた結果、机の上から機体を落とすポカミス・・・(あれほど前日に作業するなと学んだはずなのに調子に乗ってしまいました(汗))

 

その日は作業をやめて寝たのですが、大会前の時間で走行させてみたところ、なにもない直進区画で横壁にぶつかるようになってしまいました。

原因はセンサにあると思い確認したところ、左前および左横を見ているセンサの値が非周期で暴走する状態に!

非周期で値が暴走することから、フォトトランジスタか抵抗のはんだにクラックが入り、走行中の振動により結果として値が暴走してしまっていると考えましたが、時間もなかったので閾値以上の値をカットするプログラムを急遽追加しました。

 

応急処置でしたがなんとか走行できる程度にはなったので一安心したのですが、ここで更なるトラブルが!!

写真のように、ステッピングモータを固定していたネジが1か所緩んできて(左上のネジです)タイヤと干渉しているのを発見してしまいました・・・

このネジ位置がまた厄介でして、ネジを締めるのは簡単なのですが一度タイヤを外さなくてはいけないため、パラメータを再度調整しなくてはいけないのです!

こちらもなんとか時間内に調整できたのですが、ここで時間切れ・・・かなり不安を残したまま大会が始まりました。

 

九州地区大会の結果!

そんなこんなで、慌ただしく大会に臨んだのですが、結果は案の定振るいませんでした・・・

なんとか5走目で完走できましたが、頑張って準備した最短走行を試すこともできず悔しい結果となりました。

しかし、発生したトラブルに対しその場で対応してなんとか完走することができたのは一つ自信になりました!

次はトラブルを起こさないこと重要なので、そのあたりも考えて準備したいと思います。

 

とはいえ、次の中部地区大会が次の日なので、名古屋へ移動したらすぐに機体の修理しなくては・・・

中部地区大会の結果は次回のブログで書きたいと思いますので、よろしくお願いします^^

続きを読む ›

Posted in Pi:Co Classic3, ブログ, 研修


M5Stackでマイクロマウスを作る(自作編予告) – 元Web屋のマイクロマウス製作記 Part.9

ししかわです。

社員研修の一環で、マイクロマウスキット「Pi:Co Classic3」を使ってマイクロマウスの大会に出場します。

全日本大会に向けて鋭意開発中ですが、今回メインとなる機能の「斜め走行」は実装量や試行錯誤が多く、まとまった進捗がまだありません。
代わりに今後行う予定の「自作マウス研修」について、隙間時間で書き溜めた記事を投下します。

自作マウス研修ではオリジナルのマウスを基板から設計して作り、公式大会での完走を目指します。

手始めに自作マウスのコンセプトを考えてみました。

コンセプト

私はWeb屋さんからロボット屋さんに転職した身として
「私と同じようなスキルセットの人にもロボットに興味を持ってもらい、ロボット分野に参入してほしい」と考えています。
そこでWeb屋のためのマイクロマウス – Web技術者にも簡単に触れて、学習できるマウス – を自作マウスのコンセプトにしたいと思います。

たとえば次のような特徴を持ちます。

  • Webのスキルセットを持つ人がプログラムを理解して開発できる
    • リアルタイム制が求められる制御と、迷路探索やその他の便利機能のレイヤーを分けて、
      後者はスクリプト言語(Python、JavaScriptなど)でも書けるようにする
  • ネットワーク通信ができる(WiFiまたはBLE)
    • Webブラウザ経由でマウスとやり取りができる
    • オドメトリや迷路の経路などのログをリアルタイムに送受信できる
    • ただし、競技中は無線通信禁止なので、競技外用途限定
  • UIにこだわれる
    • 分かりやすいUIが作れる(作った本人じゃなくても迷いなく操作できる)
    • 従来のマウスに無かった豊富なインタフェース(ディスプレイや音声)を備える

できれば下記も実現したいです。

  • 組み立てやすく、壊れにくい or 壊れても簡単に直せる
  • 外部モジュール接続で入出力を拡張できる

逆に、重視しないことは…

  • 速くなくていい(最低限、競技の制限時間内に5回完走できればいい)

設計・実装方針

上記のコンセプトを考慮した結果、マイコンとしてM5Stackを使うことにします。
次のようなメリットがあります。

  • ESP32を搭載しているため、WiFiとBLEによるネットワーク通信ができる○
  • C++(ESP-IDF)、Python、JavaScript等言語の選択肢が多い○
  • 液晶ディスプレイとスピーカーを使ったUIを構築できる○
  • 外部モジュールを接続して機能を拡張できる○
  • 既にM5Stackを持っているWebエンジニアがたくさんいるので、興味を持ってもらえそう◎
  • (私が)使い慣れている◎

研修では、マイクロマウスの回路のうち「壁センサ」と「モータードライバ・エンコーダ」部分を、「M5Stackの拡張モジュール」として実装します。

課題

M5Stackを使うことで次のような課題があります。

  • M5Stackから出ているピンの数が足りるか?M5Stackで自由に使えるピンの数は、実はそれほど多くない。
    • IOエクスパンダを検討する
    • 場合によってはモジュール側にもマイコンを搭載して、I2Cで通信するなど考えられるが、リアルタイム制が犠牲になりそう
  • M5Stackの電源管理でのトラブルをたまに目にするが大丈夫か?
  • M5Stackを使うことによる機械的な制約(サイズや重心の偏りなど)は許容できるか?

これらは回路や筐体設計をする上で解決策を検討していきます。

参考

マイクロマウスの回路の構成は先輩方の作例を参考にします。

また、車輪型ロボットはM5Stack公式や国内ユーザが多数製作されていますので参考にします。

なお、M5Stack界隈のちょっとしたネタとして、
「国内ユーザが拡張モジュールを作ると、その直後に公式から同じコンセプトの製品が出る」という、
通称「速すぎた公式」の事象が複数報告されています。が、この研修ではキニシナイことにします!
「マイクロマウス競技向け」のコンセプトが被る可能性は低いですし、被ったとしても自分で作ることに意味があるからです。

以上です。
自作編の記事を先行で書いてしまいましたが、まずはPi:Coを使って全日本大会で完走しないとキット編を修了できません。
今年の大会が終わるまではPi:Coの実装に注力したいと思います。

続きを読む ›

Posted in DCマウス研修, 研修
Tags:

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

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

前回、信地旋回で曲がる様子を紹介しましたが、今後さらに滑らかな曲がり方を目指すにあたり解決しておかなければならない問題があります。

それは…
タイヤゴムのズレ です。

Pi:Co Classic3はアルミホイールの外側にゴムを嵌めてタイヤとしていますが、このゴムは摩擦で固定されています。
固定といっても指で押せば簡単にズレてしまいます。

画像は4×6の迷路を10回程度走行する前後のタイヤゴムです。

左:走行前 右:走行後

若干ですがゴムが内側にズレ、アルミホイールが見えるようになってしまいました。
タイヤゴムがズレると左右のタイヤの中心距離(トレッド幅)が変わり、曲がり方に影響します。
僅かなズレですが迷路では何十回と曲がるため、許容できないくらいズレが積み重なります。

さて、タイヤが横向きの力を受けるとズレるわけですが、これは曲がる際に生じる遠心力や、地面との摩擦により生じます。
これは迷路を走る以上仕方ないことなので、よく取られている対策を講じることにしました。


ホイールに両面テープを貼りタイヤを固定します。これでだいぶズレにくくなりました。

ここで気を付けることがあります。
Pi:Coはタイヤの回転角度から移動距離を計算しているため、タイヤの直径が変わるとこの計算に影響が出てきます。
直径を測ってみると

48.1mmでした。
以前測った際は47.9mmでしたので0.2mm大きくなりました。
これに合わせてプログラムを修正する必要がります。

今回はここまで。次回はタイヤ径に合わせたプログラム修正から行います。

続きを読む ›

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


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

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

今回から走行プログラムの改良をやっていきます。

早速ですが、現状の曲がり方について

サンプルプログラムでは“超信地旋回”という曲がり方をしています。

図にすると↓のような感じ

左右のタイヤを逆方向に回しその場で向きを変えています。

利点としては、

  • ロボット本体がその場から動かないため、ズレが生じにくい
  • プログラムが簡単

などが挙げられます。

しかし、

  • 一旦停止する必要がある
  • 交差点の中心まで進む必要があるため走行経路の無駄が多い

といった欠点があります。

 

改善策としては“信地旋回”があります。

これは内側のタイヤのみを止める旋回方法です。
利点として、下の図のように走行経路がカーブを描くようになっていて超信地旋回よりも無駄が減っています。

動画で比較すると

超信地旋回 約9.4秒でゴール

信地旋回 約6.4秒でゴール

6×4の簡易迷路ですが3秒も縮まりました!

改良の効果が見えると嬉しいですね。

 

超信地旋回よりは信地旋回のほうが速いことがわかりましたが、まだ改良の余地はあります。
ではまた次回。

 

 

 

続きを読む ›

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


マイクロマウス研修(しおたに)その3[今後の予定]

こんにちは、しおたにです。
前回、16×16マスの迷路を無事完走できました!

……といっても私がやったのはセンサ調整や底面のテフロンシートの貼りかえなど細々としたことだけ。動きはサンプルプログラムのままです。

これからはこのサンプルプログラムをベースに

より速く
安定して

完走できるよう改良していきます。

・速さについて
現状では前回の動画のように曲がるたびに停止しており、見るからに遅い…
止まらずに滑らかな曲線を描いて曲がりたいものです。

・安定性について
滑らかに曲がれるようになれば、より速く走れるはず。
サンプルプログラムでは今のところ問題なさそうですが、さらに速度を上げていくと上手く曲がれない、壁を認識できないなど様々な問題が考えられます。
加えて大会などコース条件に適応する必要もあります。
どんなコースでも必ず完走したいところです。

というわけで、

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

という順にやっていこうと思います。

ではまた次回。

続きを読む ›

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


マイクロマウス九州地区大会、中部地区大会に出場しました – 元Web屋のマイクロマウス製作記 Part.8

ししかわです。

社員研修の一環で、マイクロマウスキット「Pi:Co Classic3」を使ってマイクロマウスの大会に出場します。

10/26(土)九州地区大会、10/27(日)中部地区大会に出場しましたので報告します。2泊3日のツアーを組んでの参加でした。

東日本地区大会北陸信越地区大会では完走はしているものの、最短走行には一度も成功していません。そこで今回も「最短走行を成功させる」ことを目標にしました。

戦績

今回出場した2大会の戦績サマリです。

  • 両大会とも最短走行で完走できました!
  • さらに九州地区大会では初めて5回とも完走できました!

それぞれで目標を達成し、良い成績を残せましたが、課題もあります。以下、各大会の詳細です。

九州地区大会

10/26(土)熊本高等専門学校にて九州地区大会が開催されました。高専の学園祭が開催されており、賑やかな雰囲気の中の開催でした。

MAXパラメータで完走…しかし

私のPi:Coは順調な走りを見せてくれました。1走目で探索走行、2走目で最短走行が成功。さらに3走目では一番速いパラメータを使った最短走行もできました。

しかし、言い換えればそこで用意したパラメータを使い切った形になります。

結果、5走目でわずかにタイムが伸びましたが、アールティの同僚(同じくPi:Coで出走)岩本さんに1秒近い差を付けて負けてしまいました。今回は「最短経路で完走」が目標だったので、速く走るためのチューニングまで手が回らなかったのが敗因です。

正直、負けてめちゃくちゃ悔しいです!同じキットを使っているだけに、技術力の差がはっきり可視化されている感じが一層悔しさを引き立てますね…。

かなり安定して走れるようにはなったので、全日本大会ではより速く走れるようにがんばります。斜め走行にもチャレンジしていきます。

アールティ全社員完走!

本大会でnomuraさんとshotaさんが完走しました。これで研修中のアールティ社員は全員、地区大会で完走し、全日本大会への切符を手にしました。
皆揃って全日本大会に進むことができ、嬉しいです!

中部地区大会

10/27(日)名古屋工学院専門学校にて中部地区大会が開催されました。こちらも高専の学園祭期間中の開催でした(来客の方がマイクロマウスを目にする機会になってとても良いですね!)

中部地区は参加者が多く、クラシックマウスで55名エントリーがありました。私は3番目の出走でした。

出走前のトラブル…電源が付かない

九州では良い成績だったのでこのまま中部も…と思っていたら、トラブルに見舞われました。

大会当日の朝、会場にて。マウスのスイッチをONにしても電源が付きません。「おかしいな、バッテリーは満充電にしてあるはず…」と思い基板を見たら、三端子レギュレータの足のはんだが欠けて、部品が剥がれてしまっていました。

この部品は組み立ての際にトラブルがあり、強引にはんだを盛って接続していました。こんなところで伏線を回収することになるとは!
幸い、同僚がはんだごてを持参してくれていたため、その場で再度はんだ付けできましたが、かなり焦りました…。

「壊れるかもと思った所は、かならず壊れる」という格言を思い出します。全日本で同じトラブルが置きないように、ここはちゃんと付け直したいと思います。

段差で引っかかる

1、2走目では探索走行に失敗しました。いずれも床の段差に引っかかって失速したのが原因です。3走目で運良く成功しましたが、探索走行の失敗は時間のロスも多く、5走目スタートする前に時間切れになってしまいました。

現在、段差を越える確率は6~7割といったところです。先日の段差対策が効いているのは間違いありませんが、同じPi:Coでも、この段差をすんなり越えている機体もあったので、もっと安定させられるはずです。他の人にアドバイスをもらいながら機体の調整もしていきます。

全日本大会の目標

次はいよいよ全日本大会です。大会に向けた目標は次のとおりです。

  • 完走する(Pi:Co研修の修了要件なので、かならず!)
  • 最短経路で完走する
  • 斜め走行を使って完走する

先日の計画にあったDCマウスの自作に向けた準備は一旦保留とし、Pi:Coのパフォーマンスを引き出すことに注力したいと思います。
引き続きがんばります!

続きを読む ›

Posted in Pi:Co Classic3, お知らせ, 研修