Blog Archives

shotaのマイクロマウス研修22 アートワーク作成の続き(モータドライバから)

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

[前回の記事]の続きで、アートワーク作成について書きます。

↓回路図はこちら
especial.pdf
※2シート目のソフト書き込み回路には間違いがあるのでご注意ください
参考:shotaのマイクロマウス研修17 回路設計⑤:ESP32ソフト書き込み基板と間違い
※この回路図は最新状態であり、これから貼るアートワーク画像と異なる部分があります

モータドライバ回路の結線から開始

モータドライバ(回路図のMotor Driver)を結線します。

とりあえず接続することはできました。機能ピンの割り当てを変えればもう少し綺麗にパターンを引けそうですが、それは後ほど考えることにします。

次にモーションセンサ(回路図のMotion Tracking)を結線します。
ここでも機能ピンの割り当てをいくつか変更しました。(アートワーク中に機能割り当てを変更できてESP32は楽だなぁ〜

通信ラインなのでできるだけ他の線とクロスしないように、かつ表面だけで結線できるようにしたかったのですが、基板が小さいのでなかなか難しいです。。。
最低でも、モーションセンサからの通信線同士がクロスしないように結線しました。

次に距離センサ(回路図のObject Sensors)への出力信号(IRLED_R_FL, IRLED_L_FR)を結線します。

距離センサは基板上部にあるため、ESP32のできるだけ上にあるピンと接続したいです。
そのため、またESP32の機能割り当てを変更しました。迷いなく変更できるのでいいですねぇ〜。出力信号は24, 26ピンです。

この信号線を距離センサ回路ブロックまで持っていきます。距離センサまわりのパターンがぐちゃぐちゃしてきましたね・・・整えたいです。

最後にエンコーダ(回路図のMotor Encoder)を結線します。
こちらも通信信号ラインなので、クロスせずに結線したかったのですが、、、やっぱり難しいですね。
とりあえず接続することはできました。

これで各回路ブロックとESP32を接続できました。
残りは電源とGNDラインです。まずは4層基板に設定して、2層目を電源・GND、3層目をベタGNDにしてみます。

これですべてのパターンを結線できました。
もちろんこれで完成ではないので、次回はパターンの修正に入ります。

次回の記事

アートワーク作成の続きで、パターンの修正について書きます。

続きを読む ›

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


shotaのマイクロマウス研修21 アートワーク作成の続き(メイン基板の配線開始)

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

[前回の記事]の続きで、アートワーク作成について書きます。

回路図の確認

今回はメイン基板の配線について書くので、改めて回路図を確認します。

↓このリンクを開くとPDFファイルが表示されます。
especial.pdf

※2シート目のソフト書き込み回路には間違いがあるのでご注意ください
shotaのマイクロマウス研修17 回路設計⑤:ESP32ソフト書き込み基板と間違い

※この回路図は最新状態であり、これから貼るアートワーク画像と異なる部分があります

メイン基板の配線スタート

まず、アナログ回路である距離センサ(回路図上のObject Sensors)からパターンを引きます。
画像上部にあるのがセンサ回路ブロックです。

ESP32のA/Dピンは固定されているので、仕方なく上から右下に接続します。他の機能だとピンの入れ替えができて良いんですけどね〜

次にソフト書き込み用のパターン(回路図上のUSB Serial)を引きます。
こちらも、ESP32の機能ピンを入れ替えられないので、仕方なくこのように引きました。

(だんだんESP32周りがゴチャゴチャしてきました。。。)

ここでちょこっと回路修正

次にデバッグLED(2個)のパターンを引くのですが、上手に引けそうにないので機能ピンを入れ替えました。

まず、機能割り当て表を変更します。
デバッグLEDが接続されるのは、24ピンのLED0と28ピンのLED1です。これを36ピン(IRLED_L_FR)と、37ピン(6AXIS_MOSI)と交換します。

変更後の割り当て表はこのようになりました。
LED0が接続されていた24ピンは、起動時プルダウンされるピンです。そのため、外部回路がPull DownとなっているIRLED_L_FR(元36ピン)を割り当てます。

28ピンには6AXIS_MOSI(元37ピン)を割り当てます。SPIの機能を好きなピンに割り当てられるのはESP32に強みですね〜。すごい。

LED0, LED1は、それぞれ37ピン、36ピンに割り当てました。GPIOももちろん好きなピンに割り当てられます。

※好きなピンと言ってもいくつか制限があるので注意してください。
参考:shotaのマイクロマウス研修18 ESP32周辺回路とピンの機能選択

もちろん回路図も変更します。
こういう時に回路図をブロック化していると変更が楽ですね!

そして最後に、LEDとESP32間のパターンを引きます。

ここで、メイン回路のアートワーク進捗は30%くらいです。まだまだです。

次回の記事

次回もアートワーク作成の続きで、モータドライバ回路のパターンを引きます。

続きを読む ›

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


マイクロマウス研修(安江) [Part.05] ~中部地区初級者大会!~

こんにちは!安江です。

早速ですが、9/1(日)の中部地区初級者大会に参加された皆さん、お疲れさまでした!

今回は、[前回の記事]で実装したスラローム走行を携えて、中部地区初級者大会のクラシック部門に参加した結果をご報告をしたいと思います!

 

初めてマイクロマウスの大会に出たのですが、皆さんの走りを見ていろいろと刺激を受けました!

マイクロマウス面白い!自分の機体を作りたい!と改めて思いましたので、初心者の皆さんもぜひ出場してみてくださいね!

(大会の雰囲気を感じて、他のマウサーの方の走りを見るだけでも勉強になりますよ!)

中部地区初級者大会の結果!

結論からご報告しますと、写真のタイムを見て頂ければ分かるように、探索走行で完走することはできましたが、最短走行に失敗してしまいました・・・

 

一緒に大会に参加した同期の友人が、持ち運び用自作クラシックマウスコースを持ってきてくれたので、前日の夜遅くまでプログラムをいじっていたのですが、かえって不安定になってしまったようです・・・

(大会後に修正して走らせてみたら普通に走ったので、余計に悔しいです・・・)

(↑同期の友人が作成した持ち運び用クラシックマウスコースです。これは売れるのでは??)

 

中川社長からは、「1ヵ月前にはできていないと」と叱咤激励を受けたのですが、まったくもってその通りですね。この反省を次回以降に活かさなければ!!

次回からは遅くとも大会1週間前には、当日の微調整以外にいじらなくてもいいように準備したいと思います!

と決意を新たにしたのですが、東日本地区大会、北陸信越地区大会に申請しているので、早くもピンチなんですよねw 急いでマウスやらねば!

 

初めての大会に参加しての感想

反省点の多かった初めての大会でしたが、良かった点もたくさんありました。

まずは、「スラローム走行で16×16コースを完走する」という目標を達成することができました!

社内大会時では実装することができず悔しい思いをしたので、達成することができて本当にうれしいです^^

 

また、大会で他の参加者の方とコミュニケーションをとることができました。

普段はtwitterで皆さんのマイクロマウスへの取り組みを拝見していましたが、大会で直にお話しすることができとても刺激を受けました!

初級者大会ということもあり、弊社の教育キットであるPi:Coを使用頂いている方が多かったので、とても嬉しかったです!

 

後は何といっても、一線級のマウサーの方々の走りを直に見れたことが一番の収穫でした!

早く自分の機体を作りたいなー

 

また、ブログからは少し外れますが、ロボトレース競技が面白かったのでいつかロボトレースにも参加してみたいと思いました!

まぁ、まずはクラシックマウス競技でいい結果を出せるように頑張ります!

 

続きを読む ›

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


shotaのマイクロマウス研修20 アートワーク作成の続き

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

[前回の記事]の続きで、アートワーク作成について書きます。

ソフト書き込み基板とエンコーダ基板

先にソフト書き込み基板とエンコーダ基板の作成に取り掛かります。

ソフト書き込み基板については、ほぼ完成です。

エンコーダ基板については、この後修正しました。

エンコーダ基板の配置を3D CADで確認

もともとエンコーダ基板はピンソケットを使って立てる予定でしたが、接触不良が発生しそうなので、
代わりに直接ハンダ付けで接続するようにしました。

3D CAD(Fusion360)に基板データを取り込んで、エンコーダの位置を決めています。

Fusion360で、上から見た図です。
この図の茶色い塊は1.5mm厚のエアギャップです。

エンコーダ[MA702のデータシート]によると、

The recommended magnet is a Neodymium alloy (N35) cylinder with dimensions Ø5x3mm inserted into
an aluminum shaft with a 1.5mm air gap between the magnet and the sensor (surface of package).

… 磁石とパッケージの表面間には1.5 mmのエアギャップを設けてね

と書かれています。エンコーダと磁石の間には適切なギャップが必要なようです。

3D CADに合わせてアートワークを修正

エンコーダ基板の形状と配置が決まったので、アートワークを修正します。

エンコーダ基板には、メイン基板と接続するためのランドを用意しました。
(メイン基板との接続ランドが少し小さいように見えますが、、、そうです小さいのです(失敗)

メイン基板にも、エンコーダ基板を接続するためのランドを用意してます。

その後、ちょこちょこと修正して、エンコーダ基板はこうなりました。

部品番号は違いますが、同じ形状同じ配線の基板です。
これは量産が簡単ですね。(接続用のランドはもちろん小さいままです。)

全体としての進捗はこんな感じです。
ソフト書き込み基板とエンコーダ基板はほぼ完成です。
次はいよいよメイン基板の配線スタートです。

次回の記事

アートワーク作成の続きで、メイン基板の配線について書きます。

続きを読む ›

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


shotaのマイクロマウス研修19 アートワーク作成開始

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

前回までで回路設計の記事がまとまったので、今回はアートワークについて書きます。

設計思想

[HM-StarterKit]の機械部品をそのまま流用するので、それに合わせてアートワーク(主に基板形状)を作ります。

目指せ、HM-StarterKitのESP32バージョン!

アートワーク製作開始

さて、やっていきましょう。

そもそも迷路に収まるサイズなのか・・・?

マイクロマウス競技の迷路は、1区画9cm×9cmです。(詳細は公式ページを見てね)

とりあえず、この区画内に回路部品が収まるかどうかチェックしてみましょう。

なんとかなりそうです!エンコーダ基板や、ソフト書き込み基板の部品も含まれているので、割りと余裕があるのでは・・・?(これはポジティブに考えすぎでした)

それにしても、ESP32は大きいですね。

上の部分の斜線領域は何かというと、パターン・部品の配置禁止領域です。

ESP32には無線通信用のアンテナが飛び出ています。このアンテナの裏に金属があると通信に悪影響が出ます。そのため、アンテナ付近には部品はもちろんパターンも引いてはいけないのです。
これが、アートワークを作る上でかなり厄介なのです・・・

とりあえず部品を配置してみた

マイクロマウスっぽい感じで部品を配置してみました。
この後に回路を修正したので、これまでの記事の回路図と一致しない部分が有ります。ご了承ください。

今思うと、この基板も懐かしいですね〜〜〜

電源回路が右側にあったり、エンコーダ基板用のピンソケットがあったり、不要なコンデンサがたくさん右下にあったり・・・

配置を整えてみた

もう少し部品配置を整えたのがこちらです。

だいぶ完成形に近づいてきました。

今は部品を置いただけなので、次はパターンを引き始めます。

次回の記事

アートワーク作成の続きで、ソフト書き込み基板とエンコーダ基板について書きます。

続きを読む ›

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


元Web屋のマイクロマウス製作記 Part1. ハードウェアの組み立て

ししかわです。

今回から、マイクロマウス研修(キット編)を始めていきます。

まずはマウスの組み立てです。

技術部のマイクロマウス研修のゴールは「(回路から作った)自作マウスを使い、マイクロマウスの大会で完走すること」です。

しかし、回路の設計や部品の調達などは、ロボット製作の初心者には敷居が高いです。

そこで、まずは当社製のキットを組み立てて動かすことで、マウスの構成要素やプログラミングについて学習します。

使用するのは「Pi:Co Classic3」という当社製のマイクロマウスキットです。

また、教科書として「マイクロマウスではじめよう ロボットプログラミング入門」を使います。

本書を読み勧めながらPi:Coの実装とプログラミングを進めることで、ロボットプログラミングのエッセンスを効率よく学習できます。

 

最初に基板に部品をはんだ付けしながらキットを組み立てます。

はんだ付けが初めての方も、練習用の基板がついているから安心です。

完成したものがこちらになります!

このPi:Co、実は今販売されているキットと違う点がひとつあって、スルーホール(部品を挿す穴)に金メッキ処理が施されています。基板の腐食を防ぐ効果があるそうです。

はんだ付けは滞りなく完了…と思いきや、スイッチを入れてもCPU基板のLEDが点滅して起動しないというトラブルが。

再度回路図と基板を見比べながらチェックした所、電源基板の三端子レギュレータを逆向きに付けるミスを犯していました。

はんだ吸い取り機を使って、逆向きの部品を抜くまではできましたが、スルーホールがはんだで埋まったままになり再度挿すことができません。

結果、部品は挿さず、ホールの上にはんだを盛って部品の足と接続するという力技で対処しました。

この状態でももちろん電流は流れますが、衝撃に弱く、はんだが根本からポキっと折れてしまう可能性があります。今後の扱いに注意したいところです…

ともあれ、無事に組み立ては完了し、動作確認もできました。

次回からはサンプルプログラムを使いながら、マイコンの制御を学習していきます。

続きを読む ›

Posted in Pi:Co Classic3, 研修


マイクロマウス研修(安江) [Part.04] ~スラローム実装に向けて~

こんにちは!安江です。

早速ですが、中部地区初級者大会、東日本地区大会の参加申し込みが始まりましたね!僕のPi:Coもなんとか完走できるまでになりましたので、参加申し込みしましたよー!

先輩マウサーの方たちとの交流楽しみにしていますので、よろしくお願いします!

 

ではでは、今回は[前回の記事]でも言っていたように、スラローム実装に向けてやったことを報告したいと思います。

 

そもそもスラローム走行ってなに??

マウサーの方には今更な説明だと思いますが、スラローム走行を一言でいうと、「停止することなくカーブと直進を連続的に走行すること」です。

(マイクロマウス用語辞典をTokoroさんがまとめられています!とっても分かりやすいです!)

Pi:Co Classic3のサンプルプログラムは、機体の動かし方などを学習するためのプログラムですので、タイムを短縮するためのスラローム走行は組み込まれておりません!

しかし、各大会でいい成績を残すためには、このスラローム走行が重要なテクニックとなりますので、頑張りたいと思います!

 

スラローム走行を導入!!

では、実際にスラローム走行を導入していきたいと思います。

まず、サンプルプログラムを元にスラローム走行用のプログラムを作成していきたいと思います。

ざっくり説明しますと、スラローム走行では左右のモータへ異なる速度を与える必要があり、そのための変数を追加する必要があります。

この時、後でプログラムを変更したりする際に、分かりやすい名前を付けるのがポイントですね!

(僕はslalom_speed_r, slalom_speed_lのように変数名をつけています)

 

左右のモータへ異なる速度を与えることができるようになったら、あとは左右の速度差をどのように指定すればきれいに曲がれるかを計算します。

僕は、[前回の記事]で紹介したようにシミュレーションを作成したので、ある程度あたりをつけることができました!

実際は、うまくタイヤがグリップしてくれていないのか、なかなかシミュレーション通りの結果が得られず苦労しましたが・・・

 

ともあれ、なんとか作成できたスラローム走行の導入テストをしたいと思います!

今回は、ニューテクノロジー振興財団HPの過去の迷路集より、1994年の全日本大会の迷路で走行テストをしてみました。

走行時の動画を撮影したので、ぜひご覧になってください!

 (今回の迷路)

 

見て頂いたように、なんとかスラローム走行で探索走行を完走することができました!

動画にはしていませんでしたが、超信地旋回で探索走行した際のタイムは2分54秒だったので、1分30秒のタイム短縮です!!

スラローム、スゴイ!!!

 

続きを読む ›

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


元Web屋のマイクロマウス製作記 Part0. はじめに

はじめに

はじめまして!8月からアールティで働き始めました、ししかわと申します。

前職ではWebフロントエンド技術を中心とした研究開発に従事していましたが、個人のMaker活動が高じて物作りを仕事にしたくなり、この度転職しました。アールティのエンジニアは大半がNHKロボコンロボカップ などの出場経験がありますが、私はロボットはほぼ未経験です(ラズパイ/Arduino/M5Stackで趣味電子工作をやった程度)。そんな私でも業務でロボットを扱えるようになるために、研修を通じてロボットの修行をしていきます!

アールティでは、全社員必修のマイクロマウス研修 をはじめとして、ロボット製作の一回りを体験するための研修メニューが豊富に用意されています。また、この研修のアウトプットとして、製作記や技術記事をブログで公開することが奨励されています。私も研修を通じて得られた知見を記事にまとめていきます。

目標

  • 私が独力でロボットを作れるようになる
  • ブログの読者が記事に沿ってロボットを作れるようになる

想定読者

「Web屋の」と銘打っているので、次のようなスキルセットをイメージしています。

  • ソフト寄り(含、Cプログラミング)はなんとなくわかる
    • 構造体(struct)、共用体(union)、ポインタ(*p)、列挙型
      (enum)、ビットフィールド(メンバ名 : ビット数)、ビット演算、などを調べながら理解できる
    • 適宜、参考資料は載せますが、記事中の説明はそこそこにします
  • ハード寄り(含、機械、電気電子系)は知識ほぼゼロ
    • 「何がわからないのかわからない」的な状態から次に進むための手がかりを示します
  • micro:bit、M5Stack、Obnizなどで「はんだ付けしないものつくり」はやったことがある
    • PCからマイコンにプログラムを転送して、センサーやモーターを動かして…みたいな世界観はわかる

目次(予定)

多分、こんなことを書いていきます。

記事を追加するたびに目次も更新していきます。

マイクロマウス(キット)編←いまここ

Pi:Co classic3 というアールティ製のマイクロマウスキットを組み立てて、ロボット製作の大まかな流れを学びます。

  • ハードの組み立て
  • サンプルプログラムの実装解説
  • 追加課題の実装
    • より早くマウスを走らせるための制御テクニック
  • 仕組みを深く勉強する
    • 例えば「この部品(コンデンサ、レギュレータ等々)はなぜこの場所に必要か」が説明できるようになる
  • 大会に出る!

マイクロマウス(自作)編

DCモーターを駆動するマイクロマウスを回路から自作します。

  • 詳しくは今後追記します

2足ロボット編

2足歩行ロボットを自作します。

  • 詳しくは今後追記します

目次に挙げている研修をひととおり終えるまで数年スパンという長い道のりになると思いますが、どうぞお付き合いください!

続きを読む ›

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


shotaのマイクロマウス研修18 ESP32周辺回路とピンの機能選択

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

今日は回路設計の最後の記事です。(やっと終わる・・・)
ESP32周りとピンの機能選択について書きます。

これまでの記事で各回路ブロックについて説明したので、どんな回路があったのかは過去記事を参照してください。
この記事の上部にある編集者名shotaをクリックすれば、過去記事が見れます。

続きを読む ›

Posted in DCマウス研修, お知らせ, ブログ, 研修


shotaのマイクロマウス研修18 7月のマウスツアー報告

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

ブログを更新していなかった間、マイクロマウスの合宿・地区大会に参加しました。
今日のブログはその報告です。

続きを読む ›

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