Blog Archives

shotaのマイクロマウス研修7[Pi:Co Classic3 全日本大会に出場]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしました。

前回は、マイクロマウス全日本大会に向けてやることリストを作りました。

[前回の記事はこちら]

今回は全日本大会の結果を書きます。やることリストの反省は次回書きます。

 

全日本大会に出場しました

2018年12月1日、2日に開催された[第39回全日本マイクロマウス大会]に出場しました。

競技者はゼッケンをつけます。私はB競技台の7番目に走ります。

初日は会場で練習できます。会場が明るいのでセンサ値が心配でしたが走行できました。本番も期待できそう・・・

練習後はマウスパーティに参加しました。ものすごい人数と料理の数です。

マウスパーティ恒例の田代杯です。ハーフマウスを走らせるイベントです。

シンプルに見えるけども、エンコーダの誤差が蓄積するので意外と難しい迷路(通路)。

 

2日目が大会本番です。クラシックマウスのB競技台で走行しました。

クラシックマウス競技では5分間で5回までマウスを走らせます。私のPi:Coはこのように走りました。

  1. 迷路探索
  2. 最短走行(失敗)
  3. 最短走行(失敗)
  4. 最短走行(成功
  5. 時間切れのため走行なし

ギリギリセーフで最短走行を成功できました。結果は30.8秒です。A競技台では5秒台で迷路を走行しています。それと比べるとまだまだ改善できそうです。

大会の動画はこちらでご覧頂けます。

大会の結果はこちらに記載されています。

[マイクロマウス2018大会結果]

これからの活動について

大会も終わったので研修も終わり・・・ではなく、むしろここからが研修の本番です。2019年の大会に向けて、例年通りDCモータを使ったオリジナルマウスを作成します。

ハーフマウスにするのか、クラシックマウスにするのかは決まっていません。まずは、今回の大会を反省して、良かった点や改善点をまとめようと思います。

 

続きを読む ›

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


DCマウス研修(inukai編)[21] 最短走行を作りました

こんにちは!
inukaiです。

中部地区大会後制御を少し見直しつつ調整をしたのでその進捗を今回は簡単に書いていければと思います。

今までのスラローム探索は直線時に壁の姿勢制御に頼っていたため、ふらつきながら走っていました。
まず壁姿勢制御なしである程度走れるよう、スラロームを終えたところで角速度0 rad/s、角度π/2 radになるようスラロームの調整をしました。

調整した走行がこちら。まずは連続スラローム(壁姿勢制御なし)から。

置く位置によるオフセットがあるものの、壁の姿勢制御なしである程度の探索が可能になりました。

次にくしの探索。

ちなみにこちらは壁の姿勢制御はありませんが、前壁補正により停止時に壁との距離補正はしています。

 

 

前よりきれいに走れるようになったので、最短走行に挑戦しました。
ターンは探索と同じですが、直線の最高速度4 m/s、加速度9.8 m/s/sにしています。
こちらも壁の姿勢制御はないのですが、ターンをきれいに作っておいたおかげか、短い区間であればパラメータを上げるだけで走行できました。

最後ぶつかっているのは、本番のゴールだと1マス余裕がある分、できるだけはやい速度でゴールを切るためです。
(マウスに負担がかかるからこれからは気を付けます…)

最後は先ほどと同様のパラメータで吸引をした場合です。

吸引による影響でスラロームの軌道がずれているようです。
非吸引で走れている速度なので、あえて吸引する必要もないですが。
大会までにはターン速度を上げて、吸引したうえでのパラメータ調整をしていきたいと思います。

大会前で簡単な進捗報告にはなってしまいましたが、今回はここまで。
ではまた次回

続きを読む ›

Posted in DCマウス研修, DCマウス研修(吸引編), ブログ


shotaのマイクロマウス研修6[Pi:Co Classic3 全日本大会に向けてやること]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。

前回はマイクロマウス東日本記録会の結果と、全日本大会に向けてやることについて書きました。

[前回の記事はこちら]

今回は全日本大会に向けてやることの詳細を書きます。

やることリスト

こちらが全日本大会に向けてのやることリストです。リストはGitHubのGistで編集しており、[ここ]に公開しています。

それぞれの項目について詳細を書きます。

全日本大会の申し込みをする

参加登録をしないと参加できません。(例年、登録を忘れて参加できなくなった人がいるようです。)

[こちらのページ]で登録しました。すでに登録締め切り日は過ぎています。

 

running_maze_Dataflash_usbをベースに新規作成

Pi:Co Classic3のサンプルプログラムには、迷路の壁情報をフラッシュメモリに保存できるものがあります(プログラム名:running_maze_Dataflash_usb)。

東日本記録会ではフラッシュメモリを使っていなかったので、Pi:Coの電源を切ると壁情報も消えていました。このままではPi:Coが暴走したときに電源を切ることもできないので、サンプルプログラムをベースにプログラムを作り直します。

 

Git管理を開始する

[git]はプログラムの変更履歴を記録・追跡できる分散型のバージョン管理システムです。

gitでPi:Coのプログラムを管理することで、正常に動いた時のプログラムを記録することができます。もし、プログラムを改造してPi:Coが動かなくなったときは、正常に動いた時のプログラムにすぐに戻すことができます。

ほかにもgitの良いところはたくさんあるので、興味のある方は調べてみてください。

 

迷路情報をフラッシュに保存する

サンプルプログラムに搭載されている機能です。

 

探索中断処理を入れる

サンプルプログラムでは、探索を終了したとき(ゴールに到着したとき、スタートに戻ったとき)に壁情報を記録します。そのため、ゴールに到着する直前でPi:Coが止まった場合、それまでに手に入れた壁情報がすべて消えてしまいます。

そこで、探索中断処理を追加し、探索途中で止まった場合も壁情報を保存できるようにします。

注意点としては、Pi:Coが暴走したり止まったりした時は、間違った壁情報を記録している可能性があります。その間違った壁情報を消す機能も搭載しなければなりません。

 

最短走行中断処理を入れる

最短走行中にボタンを押すことで、走行を中断できる機能を追加します。最短走行では壁情報を記録しないので、特別な処理は不要です。

 

ゴール座標設定モードを追加

ボタン操作でゴール座標を設定できる機能を追加します。練習ではゴール座標を頻繁に変えるので、作業効率が上がります。(今までは座標を変えるたびにプログラムを書き直していました・・・)

 

続きを読む ›

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


DCマウス研修(inukai編)[20] 新しいマウス紹介

こんにちは!
inukaiです。

以前の記事で新しいマウスをお披露目いたしましたが、今回は新旧のマウスを比較しながら新しいマウスについて紹介したいと思います。

金沢草の根大会で一応探索は成功したのですが、初の大会参加や他のマウスを拝見して課題が見つかったため、7-8月に作り直していました。
というわけで、左が新STRONG/ZER0、右が旧STRONG/ZER0です。

具体的な変更点をご紹介します。

まずは機械面から

モータマウントについて。
下の図のように、両方とも長穴を作ることで、ピニオンギアとスパーギアの間のバックラッシュを調整できるようにしてあります。
旧作では、走行時にタイヤが力を受ける方向に対して、タイヤの取付穴が長穴になっており、バックラッシュがずれることがありました。
1回目の試作であったため、いろいろなギア比を試す意図もあったのですが、新作ではここを改善しました。
ギア比を確定し、長穴をモータの取付穴側に変更して、モータを上下にずらすことでバックラッシュを調整できるようにしています。

ギアについて。
まず、軽量化のため材料を真鍮→POMにしています。
ギアのモジュールもM0.3にすることで、バックラッシュも小さくしています。
モータの軸はM2のネジだと少し不安だったのでM3にして強度を高めています。
ギア比は、40/9から71/19に変更しています。

その他の改善点

・基板とマウントの固定:ナットブロックによる固定から3Dプリントの一体型のフレームでの固定。
・バッテリーマウントを製作。
・できるだけ重心と回転中心を合わせる。

回路面について

①光センサ:左右の壁センサをより壁に近づけるように配置を変えて、センサのダイナミックレンジを大きくとれるようにしています。
②スイッチ:エンコーダと光センサによる操作に変更して部品を減らしています。
③後付けのコンデンサの削減:配線のGND強化および、制御と動力の電源分離を意識して配線することでノイズが問題にならなくなったため、なくしています。
④電流センサ:電流フィードバック系を作るより先にやるべきことが多かったので、一旦取り外して最低限の機能にまとめています
その他:配線の修正をしてUEWによるジャンパをなくしています。

 

ということで、旧作からのSTRONG/ZER0の改善点をご紹介しました。
基本性能はほとんど以前の記事の通りですが、車体性能としては下記が変わった点になります。

・車輪:2輪→変速4輪

・ギア比:40/9→71/19

・サイズ 99 mm × 67 mm × 30 mm

・重量 105g (ギアの軽量化や部品削減、3Dプリンタの一体パーツに変更などで重量はほぼ変わらず)

 

続きを読む ›

Posted in DCマウス研修(吸引編), ブログ, 研修


shotaのマイクロマウス研修5[Pi:Co Classic3 全日本大会出場決定!]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。

前回はスラローム走行するための計算をしました。

[前回の記事はこちら]

 

今回はスラローム走行時の台形制御のシミュレーションについて・・・

ではなく、11月3日に開催されたマイクロマウス東日本記録会について書きます。

 

迷路を完走できました

マイクロマウス全日本大会に出場するためには、地区大会で迷路を完走しなければなりません。

[マイクロマウス各競技と全日本大会の今後について]

 

東日本記録会が今年最後の地区大会のため、自分にとっては最初で最後の大会です。

そして、無事完走できました!

走行時間から分かる通り、最短走行は失敗しています。スラローム走行で壁にぶつかりました・・・

 

全日本大会に向けて

全日本大会は12月1日に開催されます。あと1か月もありません・・・

[第39回全日本マイクロマウス大会のご案内]

残り少ない時間ですが、大会に向けてやることをまとめました。

次回から、このやることリストについてブログを書きます。

 

[おまけ]スラローム走行シミュレーションについて

Googleスプレッドシートでスラローム走行のシミュレータを作りました。

バブルチャート(真ん中の図)を使うと、走行軌跡と角速度の大きさを同時に描画できるので面白いです。

ここまで準備しましたが、大会では失敗しました・・・。プログラムを見直します。

続きを読む ›

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


DCマウス研修(inukai編)[19] 中部地区大会結果

こんにちは!
inukaiです。

タイトルの通り、週末にマイクロマウス中部地区大会に参加してきました。

時を少しだけさかのぼって大会前日。
ついに僕のところにも妖怪”ピニオンすべり”がやってきました…


ピニオンギアが滑り、位置がずれてしまっているのがわかります。
ということで、一回ばらしてメンテナンス。

縫い糸をほぐして一本だけ取り出し、ピニオンギアの穴に通して圧入します。

 

マウスを組みなおした後で、スラロームの調整して大会に臨みました。
大会は名古屋工学院専門学校で行われました。

試走会会場の様子(懇親会前)。

大会当日の写真は撮り忘れてしまいましたが、本番の走行は下記の通りです。

1走目:スラローム探索でゴール近くで失敗
2走目:保険の超信地旋回で探索するも、旋回時のずれの調整不足で失敗
3走目:スラローム探索でゴール(残り時間十数秒)

となり、最短走行を挑戦することができませんでした。
というわけで、結果はこちらです。
中部地区大会の迷路は探索の歩数が少し長めではあるものの直線が多く探索しやすい迷路ではあったと思います。
しかしながら探索失敗が多かったので、全日本に向けて制御の見直しと調整をしていきたいと思います。

それではまた次回

続きを読む ›

Posted in DCマウス研修(吸引編), ブログ, 研修


shotaのマイクロマウス研修4 [Pi:Co Classic3 スラローム走行の計算]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。

前回はテキトーなパラメータを設定してスラローム走行をしました。

[前回の記事はこちら]

今回は、スラローム走行の制御パラメータを計算します。

角速度の台形指令シミュレーションは次回の記事に書きます。

Pi:Co Classic3の基本情報

まず、Pi:Co Classic3の基本情報を確認します。

タイヤの直径は48mmで、タイヤ間の距離(トレッド長)は65 mmです。

モータにはステッピングモータを使っており、タイヤと直結しています。400パルスでタイヤが1回転します。

タイヤの円周は48π mm≒150.8 mmです。そのため、モータに400パルスを送信して進む距離は150.8mmになります。

パルスを速く送信する≒速く走行するという関係ですが、どんなに速く走っても・遅く走っても、送信パルス数が同じであれば移動距離も同じです。

※タイヤがスリップしたり、モータが脱調した場合は走行距離が変わります。

角を曲がるための情報

スラローム走行は、前に進みながら角を曲がる動作のことです。角を曲がるためには、ロボットの情報だけではなく迷路の情報も必要です。

 

マイクロマウスクラシック競技の迷路は1区画180 mmの正方形で構成されています。

Pi:Co Classic3が区画の中心を走行する場合、半径90 mmの円弧を走ることになります。このときの移動距離は約141.4 mmです。

下図のように角を時計回りで走る場合は、右タイヤよりも左タイヤの方が長い距離を移動します。

まず、左右のタイヤそれぞれの旋回半径を計算します。ロボット中心の旋回半径が90 mmなので、左タイヤ旋回半径はそこからトレッド長の半分を足した90 + 65/2 mm、右タイヤの旋回半径は90 – 65/2 mmとなります。

次に旋回半径をもとに、左右のタイヤそれぞれの移動距離を計算します。左タイヤは192.4 mm、右タイヤは90. 3 mmとなります。

最後に、曲がるために必要モータのパルス数を計算します。400パルスで150. 8 mm進むという関係は分かっているので、それをもとに計算できます。左タイヤは510パルス、右タイヤは240パルス必要です。

それでは実際に走らせてみます。

1秒で角を曲がりたいので、左タイヤの速度は192 mm/sec・右タイヤの速度は90 mm/secとします。

送信パルス数が左:510、右:240を超えるまで走らせます。

実際に走らせると、約1秒でピッタリ90度曲がったように見えます。

動画にはありませんが、タイヤ速度を2倍にしても半分にしても走行距離は変わりませんでした。

送信パルス数が同じであれば移動距離も同じということが分かります。

 

続きを読む ›

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


DCマウス研修(inukai編)[18] 九州地区大会結果などなど

お久しぶりです!
inukaiです。

最近投稿できてなくてすいませんでした。
これまでの間に、東日本と東北地区大会に参加していたものの、完走はできず…
というのも、金沢草の根大会から東日本の間にマウスを作り直したことや、9月は弊社のプレスリリース準備で新しい機体の調整時間をうまく確保できませんでした。
九州地区大会の結果やいかに

ちなみに製作したマウスはこちらです↓

スペックや製作話は後日書きますのでお楽しみに

というわけでタイトルの通り先週末九州地区大会に参加してきました!
九州地区大会は福岡の福岡市科学館で行われました。

参加費500円でしたが、500円分くらいの参加賞がもらえました。
僕はモバイルバッテリーをいただきました。これで出先でもマウスが充電できますね!(1セルずつ)

前回は超信地旋回による探索でしたので、今回はスラローム探索を目標に参戦してきました。
あらかじめ作っておいたスラローム軌道はこちら。


縦軸と横軸の単位は距離 [m]です。

車体速度:0.4 m/s (スラローム中一定、探索速度と同じ)
角速度の加速区間:0 – π/6 rad
角速度の等速区間:π/6 – π/3 rad
角速度の減速区間:π/3 – π/2 rad
角速度の加減速度:50 rad/s/s (減速時はマイナス)

角速度指令値の時間波形がこちら。

あとは実際に会場で走らせ、スラローム前後の直線距離を調整して軌道と実際の誤差を埋めます。

さて、本番でスラローム探索が成功するのか!?
結果は下記動画でご覧ください。

というわけで何とかスラローム探索ができました。
(帰りの探索で早速こけてますが…)

スラロームのおかげで探索時間が1分12秒 → 33秒へ大幅に短縮できました!
角で一回曲がるごとに止まらなくてよい分、同じ探索速度0.4 m/sでもかなり時間が短縮できますね(当たり前といえば当たり前か)

さて、来週は中部地区大会に参加しますので、スラロームで最短走行を目標に引き続き頑張ってまいります!
それではまた次回

 

続きを読む ›

Posted in DCマウス研修(吸引編), ブログ, 研修


shotaのマイクロマウス研修3[Pi:Co Classic3 スラロームできた?]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。

 

前回は4×4サイズの迷路でPi:Coを走らせました。

[前回の記事はこちら]

 

今回は、曲がり角をスムーズに進むスラローム走行に挑戦しました。

 

スラローム走行とは

スラローム走行は前進しながら角を曲がる走行です。

自動車や自転車で角を曲がる動作と同じです。

 

前回の動画では、曲がり角まで進む→停止する→その場で旋回する→前に進む、という動作をしていました。

これは超信地旋回やスピンターンと呼ばれています。

超信地旋回では一度その場で停止しなければならないため、角を曲がるのに時間がかかります。

[超信地旋回とは Wikipedia]

 

マイクロマウス競技では迷路を早く走行することが求められます。

そのため、超信地旋回ではなくスラローム走行で角を曲がりたいです。

 

スラローム走行を実装する

スラローム走行をどのように実装すればよいか調査しました。

[マイクロマウス「Pi:Co Classic」に挑戦!No.76 スラローム実装…!?]

[マウスにおけるスラローム走行]

 

マイクロマウスでスラローム走行するためには、以下のポイントが重要であるとわかりました。

  • 急に大きな角速度を与えると曲がれない
  • 加速、一定速、減速区間を設ける

 

これをプログラムに変換するのですが、そのためにはさらに情報が必要です。

  1. どんな指令値をモータに与えれば角速度を表現できるのか
  2. どのくらいの角速度を与えれば曲がるのか
  3. 加速、一定速、減速区間はそれぞれ何秒必要なのか

 

続きを読む ›

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


shotaのマイクロマウス研修2[Pi:Co Classic3 迷路を走る]

こんにちは、shotaです。

社員研修として、弊社が販売するマイクロマウス[Pi:Co Classic3]を動かしています。

前回ははんだ付けをしてPi:Coを組み立てました。

[前回の記事はこちら]

 

今回は、キットに同封されているサンプルプログラムを使って迷路を走らせました。

 

サンプルプログラムについて

Pi:Co Classic3には、ルネサス製のRX631マイコンが搭載されています。

私はこのマイコンを使ったことがないため、プログラムが書けるか不安でした。

 

しかし、このキットにはプログラミング初心者向けのマニュアルとサンプルプログラムが用意されています。

このサンプルプログラムにより、LEDを光らせる・ブザーを鳴らす・センサーの値を読み取る・モータを回すことができます。

そして最後には、マイクロマウスの迷路を走らせることができます。

迷路を走らせてみる

サンプルプログラムには3つの走行方法が用意されています。

  • 左手法
  • 足立法
  • 最短走行(足立法)

左手法

左手法では、常に左側の壁に沿って走行します。

この方法はとてもシンプルなので簡単にプログラミングできます。しかし、左手法では解くことができない迷路があります。

この動画では左手法で迷路を走行しています。ゴールが迷路の真ん中にあるため、左手法ではたどり着きません。

足立法

足立法は、ゴールへの最短経路を進むアルゴリズムです。

ゴールまでの経路に壁がないと仮定して走行します。壁を見つけた場合は最短経路を計算し直して走行します。

[足立法の説明1][足立法の説明2]

この動画では足立法で迷路を走行しています。左手法と違い、ゴールへたどり着くことができました。

ゴールに着いた後はスタート地点に戻り、最短経路をたどってゴールへ再走行しています。

 

次回やること

走行プログラムを改良します!

サンプルプログラムでは右折・左折するときに、止まる→右を向く(左を向く)→進む、という動きをしています。

この動きがスムーズになるようにプログラムを書きます!

[次回の記事はこちら]

続きを読む ›

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