Monthly Archives: January 2020

Raspberry Pi Mouse 研修[8]

こんにちは。seyaです。

前回、Raspberry Pi Mouse V2が迷路を走るようになりました。しかし、ステッピングモーターにパルスを与えて走らせるだけでは走っているうちに左右にずれて、途中で壁にぶつかりリタイアせざるを得ない状況に陥りました。

そこで、マウスが中心にいるときのセンサの値に合わせるように比例のみのフィードバック系の制御をいれてみました。しかし、安定はしませんでした。P制御だけではだめだという結論に至ったため、D項による滑らかさを追加して偏差を収束させてみるという試みをしてみました。また、前に壁があった場合は距離をセンサで計測して自己位置の修正をする前壁制御も追加しました。

練習の走行動画は以下の通りです。

16*16のフルサイズの迷路でも走るようになりました。最後にゴール座標を間違えているのは私のミスです。大会でやらないように注意したいと思います。

デンソー杯のフレッシュマンクラスに挑戦をしに行く予定です。それまでに、もっと安定して走行できるように頑張りたいと思っています。

今後も、Raspberry Pi Mouseで公式大会を完走をモットーに頑張っていきたいと思います。

続きを読む ›

Posted in Raspberry Pi Mouse


ESP32マウスPart.31 ADCでバッテリ電圧を計測

こんにちは、shotaです。

前回の記事ではESP-IDFのADCサンプルを動かし、コードを読み解きました。

今回はADC機能を使って、ESP32マウスEspecialのバッテリ電圧を計測します。

続きを読む ›

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

マイクロマウス研修(しおたに)その15[前壁補正②]

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

前回、前壁との距離をみて一定位置で止まれるようにしました。

今回はスラロームと合体させ、曲がり終わった位置をなるべく一定にさせようと思います。

実装にあたり気にしたことは下の3つです。

  1. スラロームを開始したい地点

    前方との距離を測るセンサの値を記録します。
    前壁との距離を測ってから機体が曲がり始めるまで若干時間がかかるので、少し手前に置いたときのセンサ値を閾値とし、これを超えたら曲がり始めるようにしました。
    この手前具合は何度か試走して調整して求めています。

  2. 前壁がない場合

    十字路などスラロームの際に前壁が無い場合があります。このため、前方のセンサ値が一定以下なら前壁なしと判断し、適当なところで曲がり始めるようにしました。
    だいたい1.5区画先の壁をみたときのセンサ値を閾値としています。

  3. 前壁が近すぎる場合

    曲がる区画に入った時点で前壁が近すぎると曲がり切れないので、この場合は旋回半径を小さくすることにしました。
    タイヤ径などがしっかり調整されていると仮定し、ズレても最大で15mm程度だろうとあたりをつけ、半径が15mm小さい旋回半径で曲がれるように設定しました。「1.」の閾値を超えた場合はこのモードになるようにしています。

 

実装前

 

実装後

 

これでかなり安定性が向上したと思います。

 

今回はここまで。

次回、突然ですが社内走行会が開かれることになったのでその様子をお伝えします。

 

続きを読む ›

Posted in DCマウス研修, Pi:Co Classic3, Pi:Co Classic3 製作記, ブログ, 研修


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

今回は新たに加えた動作を綴っていきます。

まず1つは、スタート時に手で大体の位置に置いていたのでは、毎回ズレが生じるので

最初バックして壁に当ててからスタートする様にしました。

 

実はこれに少し手間取りまして

普段使っている前に走る関数のモーター回転方向を反対にすればそのままいけると思っていたら

ただ反対にしただけでは、まともに動かなかったのです。

試行錯誤した結果、その関数を使うのを辞めて

袋小路に入った時に180度反転する関数を使い、これのタイヤ回転方向を後ろに合わせて

後進する距離を入れられる様にしたバック専用関数を作りました。

引数でスピード等の入力は無くしてバックする距離だけを入れる簡単なものです。

 

これでバックを覚えたので、櫛などで徐々にずれていくのを修正出来る様に

何回か連続で櫛に入ったらバックして壁に当てて位置を修正する様にしました。

それに合わせてフロントLEDの点灯による状態表示も変更、

今まで1から順に状態表示していましたが、視覚的に何番が何と判り辛いので

4つのLEDを[○○○○]で表すと、ストレートで走る場合には[●○○○]特殊ルーチンに入ると[○○○●]

左折すると[○●○○]連続左折の特殊ルーチンに入ると[●●○○]

右折も同様に[○○●○]連続で入ると[○○●●]と光る事で視覚的に判り易くしました。

因みに180度反転は[○●●○]で、その後バックすると

[○●●○]が一度点滅すると同時にモード決定音が鳴る様にしています。

 

その後、新しい試みを幾つか試していましたが

社内大会が近日あるという事で、それに向けて完走優先での調整に切り替えて

プログラムを弄っていく事にしました。

 

社内大会については次回でお伝えします。

 

続きを読む ›

Posted in Pi:Co Classic3, ブログ


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

こんにちは!komiです。

お外も寒い今日この頃、皆様いかがお過ごしでしょうか?猫舌komiは普段あまりホットのドリンクを飲まないのですが、さすがに朝夜は暖かいモノが欲しい…そんなお年頃。

 

さてさて。前回練習基板で終わってしまったので、今回はちょっとスピードアップしたい!はんだのコツは徐々に掴め!実践あるのみ!!

足の長い部品はちょっと根元を曲げてやると抜けにくいって昔習ったのですよ。グラグラ動いてやりにくい時はテープで固定しようね!ふんふんふ~n……

温めが弱くてはんだがちゃんと入らず山盛りに!?どどどどうしよう!!…いや大丈夫!慌てず騒がず、コンセントレーション!!すーはーすーはー…

コレを使って温めたはんだをキュポン!っと吸い取ります。おぉ、頭イイ!!…でもkomiはアホなので、しょっちゅう押し込む方のボタンを押しちゃって吸えない!?って慌てます。皆様はご注意を…!(やりません)

さ・ら・に!今回からはんだごてさんが今まで先っちょが丸いノーマルな物から、斜めにカッコ良くカットされたタイプに変更!!これは細かい部分に当てやすい!使いやすい!こてで固定ができる!!(シャレではない)

あとはドンドンはんだ付け~!もうこれ終わったも同然じゃない!?無敵無敵ィーーー!!

…なんて調子をこくkomiに、新たな試練が襲い掛かる…!待て次回!!(多分大した事じゃないw)

続きを読む ›

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


ESP32マウス Part.30 ADCのサンプルコードを読み解く

こんにちは、shotaです。

前回の記事ではLEDを点灯させました。

今回はESP-IDFのADC(Analog to Digital Converter)のサンプルを動かして、コードを読み解きます。

続きを読む ›

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

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

前回の予告通り、フロントの浮きを解消する為に重りを用意しました。

適当なものでも良かったのですが、先人の知恵で

車のホイールのバランスウェイトを使っていたので、マネさせて頂きました。

大量に買えば物凄く安いという話でしたが、

車のディーラーに用事で行った時に、幾らか売って欲しいと頼んだところ

ただで頂いたので、助かりました。

では、早速取り付けてみましょう。

全部付けてみましたが、まだフロントは浮いたままです。

とりあえず、これで走らせてみましたが

全然まともに走りませんでした。

 

なので、徐々に重りを減らしていった結果

これくらいでやっとまともに走る様になりました。

この状態で再びプログラムの調整を行っていきたいと思います。

 

ただ、今までの細かい調整の積み重ねでプログラムが見辛く複雑化してしまったので

一回、条件式を全部無くして1から調整し直す事にしました。

それに伴って新しい動作を加える予定です。

それについてはまた次回

続きを読む ›

Posted in Pi:Co Classic3


アーキテクチャ設計 – 元Web屋のマウス製作記 Part.14

過去の記事一覧

ししかわです。

研修の一環で基板からマイクロマウスを自作します。

インフルエンザが流行っていますね。
先週インフルエンザにかかり、丸一週間進捗ゼロの生活が続いてしんどかったですが、めげずにやっていきます。
皆さんもお気をつけください。

今回はマウスのアーキテクチャ設計をしました(下図)。

  •  ユーザ入出力であるや迷路探索を行う「コア」と、走行や壁のセンシングを行う「マウスモジュール」にモジュールを分割します。
  • コアについて:
    • M5Stack Fireをそのまま使います。
      • ESP32という高性能マイコンが載っており、加えて4MBのPSRAMも使えるため、迷路探索やリッチなUIの構築で効果を発揮します。
    • 加速度・角速度取得はM5Stack側に搭載のMPU6886を使います。
      • この責務はマウスモジュール側に持たせるのが自然ではありますが、実装面積と工数削減のためにコア側に寄せます。
  • マウスモジュールについて:
    • STM32を使います。
    • センサ回路等は新しい試みはせず、実績ある先達の回路を参考に作ります。
  • モジュール間の必要な情報はI2Cプロトコルでやりとりします。

現在は設計をもとに「部品の選定、調達と動作確認」「開発環境構築」を進めています。

部品は下図を使います(現時点で決まっている範囲)。
マイクロマウス大会のテクニカルデータやを参考に、M5Stack以外は使用実績のある部品を選定しました。
今後、センサやモータ等機能毎に詳しく記事にしていきます。

 

開発環境について、STM32は私が今回始めて使うこともあり予習すべきことが多いです。公式チュートリアルを読み進めています。
STM32 step-by-step
こちらは次週記事にしたいと思います。

以上です。

続きを読む ›

Posted in DCマウス研修


yasueの自作吸引マウス製作記【Part.02】-部品選定

<公開中のブログ一覧>

こんにちは!yasueです。

プログの更新が滞っており、煽られてしまったので焦って更新しています(汗

今回は自作マウスに使用する部品を選定していきたいと思います。

皆さんのオススメの部品があったら教えてくれると嬉しいです^^

 

僕の自作マウスに使用する部品はこれだ!

とりあえず、コンセプトに合わせて部品を選定してみました!(まだまだ選定途中ですが・・・)

 

時間がかかると思って駆動用モータ(信頼と実績の1717T006SR-6V)だけは発注したんですが、RTに在庫があったのですぐに届いちゃいました!

RT ROBOT SHOPでエンコーダ付きを販売していますので、1717モータが欲しい方は購入検討してください~!

 

次回以降にやりたいこと

今回、内容が薄くて申し訳ないですが、次回以降はコンスタントに進捗を出していきたいと思います。

とりあえず今後は下記について頑張っていきますよー!!

  • モータドライバの購入
  • ESP32でモータ制御
  • KICADで基板設計
  • 使用部品の選定
  • 消費電力の計算
  • Fusion360で機体設計

続きを読む ›

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


マイクロマウス研修(hara) その1

こんにちは。2020年1月に入社しましたharaです。

アールティでは、経歴に関わらずマイクロマウスを制作して迷路走破までが必修の研修項目となっています。そのため、Pi:Co Classic3というマイクロマウスキットで研修を開始していきます。

Pi:Co Classic3は、半田付けと簡単なプログラミングができれば、簡単に制作できるキットになっています。まずは、部品表の確認を行い、半田付けを行っていきます。(半田付けの過程の写真は撮り忘れました)

半田付けと組立が終われば、ハードウェアは完成です。

ハードウェアが完成すれば、動作確認を兼ねてプログラムのサンプルを実行していきます。
Pi:Co Classic3には、Step by Stepで動作確認できるサンプルプログラムが提供されていますので、
ルネサスエレクトロニクス社製のマイコン共通の開発環境ツールである CS+ for CC をダウンロードして、実行していきます。

CS+ for CCのダウンロード

CS+ for CCは、ルネサスエレクトロニクス社のホームページの「無償評価版」からダウンロードすることができます。

Pi:Co Classic3のCPUは、RX631を使っていますので、「統合開発環境 CS+ for CC (RL78, RX, RH850用)」のインストーラをダウンロードしました。
なお、ホームページからのダウンロードでは、My Renesasに登録する必要があります。

CS+ for CCのインスト―ル

CS+ for CCのダウンロード後は、インストールを行います。
インストーラを起動すると下の画面が出てきますので、迷わず「CS+のセットアップを開始する」でインストールしました。

初期設定は、マニュアル通りに実行して準備完了です。

サンプルプログラムでハードウェアの確認

ハードウェアが正常に動作しているかどうかを確認するために、サンプルプログラムを実行しました。
Step1(LEDを光らせよう)からStep6(モータを回そう)までできれば、ハードウェアまでは問題ないと
思いますので、動作せていきます。

  • STEP1(LEDを光らせよう)     — 問題なく動作しました。
  • SETP2(ブザを鳴らそう)        — 問題なく動作しました
  • SETP3(スイッチを使おう)    — 問題なく動作しました
  • SETP4(モードを作ろう)        — 問題なく動作しました
  • SETP5(センサの値を見よう)– センサの値が少しおかしいようですが、動いていました
  • SETP6(モータを回そう)        —

続きを読む ›

Posted in Pi:Co Classic3