Monthly Archives: October 2019

マイクロマウス九州地区大会、中部地区大会に出場しました – 元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, お知らせ, 研修


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

 

今回も音についての現状報告になります。

 

何かしら音楽を鳴らすという点で、簡単なものを選ぶ際

某アニメの某主人公が最初に練習した曲が思い浮かんだので選んでみました。

そして実際楽譜を見て入力してみると、恐ろしい程に単純な流れで

これは確かに初心者には最適な曲だと実感しました。

曲名は「きらきら星」です。

 

これを文字で書くと

 

ドドソソララソー、ファファミミレレドー

ソソファファミミレー、ソソファファミミレー

ドドソソララソー、ファファミミレレドー

 

となります。凄い単純な構成ですね。

これを前回定義した音の周波数で並べていきます。

最初はただ周波数を変えて並べて行っていましたが

すぐにちょっとした罠に気付きます。

同じ音を同じ時間連続で鳴らしても

「ドド」とはならず「ドー」と鳴ります。

つまり一瞬完全に音を止める動作を入れないといけない事が判明しました。

そこで

同じ音を続けて鳴らす場合、一瞬止める動作を割り込ませ

鳴り続ける音を分けました。

 

音の長さも定義して入れていますが、

今はアピール用に実際の曲よりも2倍くらいの早さで流れる様にしています。

ただ、これは練習曲なので、

次はある程度好きな曲で鳴らし易いものを探してみようと思います。

続きを読む ›

Posted in Pi:Co Classic3


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

宇野です。

信地旋回の最短走行を詰める前に、別の事をしたくなったので

しばらくそちらの研究に力を注ぐ予定です。

 

という訳で、何をするかと言うと、ブザーで音楽を鳴らす。という事です

 

今回はその為の準備段階として

音の周波数を調べました。

ある程度は先駆者がいてくれたお陰で準備はそれ程苦労はしなかったのですが

問題は音楽、効果音としてどう鳴らすかです。

そこら辺の詰めはまた次回でやろうと思います。

 

今回はまず設定した音がなるかだけは確認しましたが、ただ音が出てるだけなので

何かしら形になったら動画を上げる事にします。

 

続きを読む ›

Posted in Pi:Co Classic3


持ち運び用クラシックマウスフィールド製作1(岩本)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
岩本ブログ一覧
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

こんにちは岩本です。

本日は、簡単に作れる持ち運び用クラシックマウスフィールドを作ったのでご紹介です。
まずフィールドを作る際に最初に用意したのは、キャリーケースでした。
持ち運ぶと言うコンセプト的に入れ物に入るかどうかが絶対条件でした。
と言うことで、こちらのキャリーケースを購入しました。
このキャリーケースなんと、内寸450×390で、クッションなんかを入れても丁度360×360のフィールドが入ります。
まるで、マウスフィールドを入れるためとしか思えないピッタリ感です。

さて、無事1枚当たりのフィールドサイズが決まったところで、材質検討です。
今回、持ち運びと言うことで、軽さ重視で検討し、ファルカタ材を使用することにしました。
ファルカタ材は、軽量で加工性が良い材料です。その代わり、耐久性が低く、凹みやすい等の問題もあるのですが、今回初めて製作するので使ってみて判断することにしました。
今回、購入したのは、t12のファルカタ材です。マウスの柱は10㎜程差し込むため、t10㎜以上の厚さが欲しかったためです。
材料カットは、大体どこのホームセンターでも行ってくれるため、360×360でカットしてもらいます。
後は、穴を180×180でφ9㎜で4か所穴をあけます。CNC等で、ジグを作ると大量に作るとき楽です。
塗料はマイクロマウスのHPで使用していた塗料(ニッペホームプロダクツ製 水性フレッシュワイド【つやなしブラック】)を使用しました。

ただ、フィールドを並べただけだと、段差が結構あるのでダボ繋ぎを付けることにしました。
穴を開けるだけで良いので、比較的楽に加工できます。こちらもジグがあると楽です。

繋ぎ合わせるとこんな感じで完成です。写真は4枚組ですが最終的に9枚作成して、5×5のフィールドにしました。
暫く使ってみた感じ、そこまで大きな段差もなく走れております。しかし、ずっと出したままにしているとやはりそり返ってきて、段差が出てきてしまいます。
後、何となくカッコいいと思って全面に塗料塗ったら板同士が引っ付いてしまって、間に紙を挟まなきゃいけなくなってしまったのはご愛敬。

キャリーケースに入れるとこんな感じです。板厚を少し厚くしすぎて、9枚入れるとちょっとオーバー気味。
重さもキャリーケースであれば、そこまで気にならなかったので、次のモデルは容積を気にして製作しようと思います。

『マウスフィールド欲しいけど置く場所がない人』や『大会前日入りしたけどホテルで走らせたい人』は、是非作ってみてください。

以上

続きを読む ›

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


shotaのマイクロマウス研修24 地区大会の振り返りをGitHubで。

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

[前回の記事]では、ようやくオリジナルマウスのアートワークが完成しました。

ところが、現実世界ではすでにいくつかの地区大会に参加しています。(ブログ更新が現実に追いついていません・・・)

ということで、今回は地区大会の参加結果とGitHubを用いた大会振り返り方法について書きます。

  • 第37回マイクロマウス東日本地区大会
  • 第37回マイクロマウス北陸信越地区大会
  • GitHubを用いた大会振り返り。
  • 第32回マイクロマウス東北地区大会(中止)
  • 続きを読む ›

    Posted in DCマウス研修, ブログ, 大会情報, 研修


    マイクロマウス研修(安江) [Part.08] ~GitHubを用いたスケジュール管理~

    <公開中のブログ一覧>

     

    こんにちは!安江です。

    東北地区大会を中止に追い込んだ台風19号が各地で猛威を振るいましたが、皆さんご無事だったでしょうか?

    twitterを見る限りでは大きな被害に遭われている方は見受けられなかったのですが、皆さんがご無事で大会でお会いできることを楽しみにしたいと思います!

     

    GitHubを用いたスケジュール管理!

    さて、東北地区大会が台風で中止となってしまいましたので、これを機にちゃんとできていなかったスケジュール管理について見直していきたいと思います。

    ishikawaさんのブログshotaさんのブログを参考に、GitHub上でスケジュール管理をしていきます!(お二人のブログ、とても参考になるので是非見てください^^)

     

    GitHubでは、マイルストーン(プロジェクトを完遂するために重要な中間目標地点)を設定でき、マイルストーン毎にissue(問題)を割り当てることができます。

    これにより「いつ」までに「何を」やるのかを明確にすることができるので、今までなんとなくやっていた研修にメリハリをつけて実施できそうです^^

    【final_pico issues】

     

    また、それぞれのissueは、コメントで詳細な内容を残すことができるので、何を考えてissueを作成したのか、振り返りができるので便利です!

    なぜこんな便利なものを今まで活用してこなかったのだろうと後悔するばかりです・・・

     

    今後は、このGitHubを有効活用し、スケジュール立てて研修していきたいなと思います!

     

     

    オリジナルマウス作成に向けた取り組み!

    実は・・・オリジナルマウス作成に向けて動き出そうと思います!

    「Pi:Coも完全に理解していないのにもうオリジナルマウスかよ」って思われる方も多いかと思いますが、弊社の研修の目標はあくまでオリジナルマウスで全日本大会完走なのです!

    僕のようなマウス初心者は、設計などに時間がとてもかかるのが予想できますので、今のうちにスケジュールを立てて動きたいなということなのです。

     

    続きを読む ›

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


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

    こんにちは、宇野です。

    しばらくセンサーやタイヤの調整をしていましたが、16×10のコースを

    走る機会があり、早速挑戦して完走する事が出来ました。

    16×16に向けて、センサーをグルーガンで固定したり、

    タイヤを両面テープで固定したりと、さらなる調整をしていましたが、

    大きなコースを走る機会があまりないので、その間に旋回方法を超信地旋回から

    信地旋回へ、プログラムを変えました。

    安定性が下がってしまったので、調整を重ねていましたが

    調整途中で16×16のコースを走る機会があり

    調整不足のまま、とりあえず現状の問題点を見る為に走ってみると

    安定感はないものの完走自体は出来たので、当初の目標は達成出来ました。

    その後は、ずれの調整をして安定感を上げていきました。

    次の目標は最短ルートを信地旋回で走る事です。

    続きを読む ›

    Posted in Pi:Co Classic3


    段差を越える – 元Web屋のマイクロマウス製作記 Part.7

    ししかわです。

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

    今回は練習中に遭遇したトラブルと、その対処について紹介します。

    段差で引っかかるマウス

    アールティ社内に16*16マスの迷路を組み立てての練習中。

    マウスが床の継ぎ目に足を取られてしまい、進めなくなりました。

    北信越地区大会でも同様のトラブルに見舞われましたが、完全に進めなくなったのは初めてです。

    走行速度を調節しても結果は同じでした。

    段差への対策

    ソフトウェア的な制御では対処が難しいので、ハードウェアを調整することにしました。

    Pi:Co classic3は二輪のマウスです。両輪と前または後ろに貼ったテープで接地します。

    床の段差で前後のテープのみ床に付いてタイヤが浮いてしまうと走れなくなります。

    これを防ぐためにはテープを低くするか、タイヤを高くすればよいことになります。

    前後のテープは、その隣にあるネジが直接接地して引っかからないためにも、ある程度の高さが必要です。

    そこで今回はタイヤを高くすることにしました。

    方法は簡単で、ホイールとタイヤの間に両面テープを挟むだけです。

    タイヤをホイールから外して、ホイールの円周上に両面テープを這わせます。

    テープに歪みが無いことを確認したらタイヤを戻します。

    単純ですが、これだけで1mm程度タイヤの直径を増すことができます。

    (直径が変わるので再調整を忘れずに行います。)

    以上で無事に段差を越えられるようになりました!

    続きを読む ›

    Posted in Pi:Co Classic3
    Tags: ,

    マイクロマウス研修(kora編)[34] モータ制御の実装

    こんにちは。koraです。

    今回は、指示した通りにマウス本体を動かせるようにモータを制御するモジュールを追加します。

    CubeMXの設定

    左右のモータを制御できるように、2つのPWMを出力できるようにします。使用するタイマをTIM3として、チャンネル1と2をPWM出力に設定します。

    PWMのクロックにはAPB1 Timer clockが供給されるらしいので、108MHzになります。

    以前使用していたHM-StarterKitでは48MHzで240階調 = 200kHz周期のPWMを出力していました。同じモータとモータドライバを使っているので、周期を同じにするため108MHzで200kHzになるよう539(540階調 – 1)に設定します。

    PWMを出力

    HALを使ってPWMのパルス幅を変更するには、TIM_OC_InitTypeDefという構造体を使用します。この構造体のメンバPulseに0~539の値を設定してHAL_TIM_PWM_ConfigChannel関数に渡すことで、パルス幅が変わります。

    設定をするだけではPWM出力が開始されるわけではありません。開始するには以下のHAL_TIM_PWM_Start関数を呼び出します。

    モータ制御モジュールの追加

    指定される目標速度と目標角速度に対して、エンコーダとジャイロで測定される車体の速度と角速度を一致させるよう、モータに掛ける電圧を調整します。単純なPID制御を使って実装しました。

    テスト

    実際にスラロームの軌道に追従させてみました。あまりなめらかな動きとは言えませんが、一応意図した動作はしてくれているようです。

    続きを読む ›

    Posted in DCマウス研修


    Ignition+ROS Melodicで走らせるRaspberry Pi Mouse

    こんにちは!satoです。

    前回はGitHub上で動かせるIgnition + ROSのサンプルを動かして移動台車のロボットをシミュレーションしてみました。

    今回はIgnitionでRaspberry Pi Mouseを動かしてみましたので、Raspberry Pi Mouseのシミュレータについての簡単な説明とともにその使い方を軽く説明していきます。

    なお、ここで紹介する内容は2019年10月6日の時点での情報です。その後のアップデートにより内容が変わる可能性があります。

    Raspberry Pi Mouse Simlulatorとは

    Raspberry Pi Mouse SimlulatorはGazebo + ROSで動かすRaspberry Pi Mouseのシミュレータです。

    こちらに導入方法と使用方法をまとめています。

    https://github.com/rt-net/raspimouse_sim/wiki

    開発の記録はこの記事にまとめています。

    Gazeboで走るRasPiMouse その6

    Image from Gyazo

    Ignition + ROSで自作ロボットを動かす

    ros_ign_gazebo_demosを拡張したros_ign_gazebo_raspimouseを使ってRaspberry Pi Mouseを動かしてみます。

    ros_ign_gazebo_raspimouseのインストール

    ros_ign_gazebo_raspimouseをダウンロードします。ファイルを一部変更する必要があるので今の段階ではまだビルドはしません。

    先程の移動台車をRaspberry Pi Mouseに置き換えたSDFを作成してworldディレクトリに保存しています。
    https://github.com/Tiryoh/ros_ign_gazebo_raspimouse/blob/master/worlds/raspimouse_on_world.sdf

    サンプルの簡単なSDFは以下に公開されています。

    https://bitbucket.org/ignitionrobotics/ign-gazebo/src/default/examples/worlds/

    例えば、tunnel.sdfを起動すると以下のようなモデルが起動します。中を読んでみるとuriでIgnition Fuelに公開されているモデルデータを指定していることを確認できます。

    メッシュデータを含む複雑なSDFはIgnition Fuelに公開してSDFから呼び出すのが良いようです。

    とりあえず手軽に試したいのでローカルに保存したまま呼び出すことにします。
    Ignition Fuelに公開されているモデルデータはIgnition Fuel Toolsでダウンロードして$HOME/.ignition/fuelにダウンロードすることができるようです。

    SDFが保存されている場所からの相対パスでvisual用のメッシュデータをuriで指定し、呼び出せれば簡単なのですが、現在プルリクエストが出されていてマージ待ちのようです。
    https://bitbucket.org/ignitionrobotics/ign-gazebo/pull-requests/433/handle-relative-uris/diff

    そこで今回はメッシュデータへのファイルパスをフルで指定します。ファイルパスを書き換えるために以下のスクリプトを実行します。configure_modelsを呼び出しています。

    モデルデータの書き換えができたらビルドします。

    ros_ign_gazebo_raspimouseの起動

    それではIginitionでRaspberry Pi Mouseを起動してみましょう。以下のコマンドで呼び出します。

    このようにかなり高くロボットを見下ろす位置からスタートします。スタート位置を調整する方法は今の所なさそうなようでした。

    この状態で別のターミナルから以下のコマンドを実行するとロボットが3秒間走行して停止する様子が確認できます。

    まとめ

    前回はGitHub上で動かせるIgnition + ROSのサンプルを動かして移動台車のロボットをシミュレーションしました。
    今回は開発途中のIgnitionを使用して弊社のロボットであるRaspberry Pi Mouseを起動してみました。
    Raspberry Pi MouseはROS2にも対応しているロボットなのでシミュレーション環境についても開発を進めていきます。

    更新履歴
    2019年10月23日

    osrf/ros1_ignがosrf/ros_ignにリネームされていたため、コマンドを更新しました。
    詳細: https://github.com/osrf/ros_ign/commit/2ebaa77ea7ae67e25d431415ac860d02386dd652

    続きを読む ›

    Posted in Raspberry Pi Mouse
    Tags: ,