Blog Archives

ハーフマウス研修 その33 ~HM_StarterKit販売~

こんにちは
まえけんです。

今回は開発していたハーフマウスの販売報告です!
(開発している間に”ハーフ”ではなくなってしまいましたが)

先月7月にとうとう販売にたどり着くことが出来ました。
このような綺麗な製品ページも作ってもらい無事販売開始いたしました。

製品の見た目はこんな感じです。

実際の内容物等に関しては別日にブログが上がりますので
そちらをご覧ください!

今後はこのブログでHM-StarterKitの開発例なんかを上げていきたいと思います。

続きを読む ›

Posted in お知らせ, ハーフマウスキット製作記, ブログ, 研修


DCマウス研修(吸引編)[17] 金沢・草の根大会参加

こんにちは
inukaiです。

ついに参加してきました初大会!
週末に金沢草の根大会に行ってまいりました。簡単に大会の参戦記を書ければと思います。
大会の日程や結果はこちら

今年は国際高等専門学校、白山麓キャンパスでの開催でした。東京から金沢まで新幹線、金沢駅から会場まではレンタカーで1時間ほど移動して現地に到着。
正門には大会看板が目立っていました。

こちらが、大会会場の校舎です。一部をお借りして大会を行いました。

こちらはイノベーションハブという宿舎です。中もめっちゃきれいでした!さすがかんぽの宿跡地だけはありますね。

大会会場はこんな感じです。クラシック、トレーサー、マイクロマウスの3競技が開催。

早速調整に入っていきます。
調整に悩んでいるところを社長にとられた私の図。
必死で気が付かなかった…

ひたすら懇親会まで調整。19:30から懇親会。

懇親会はイノベーションハブ内のカフェテリアで行われました。
みんなに持ち寄られた懇親会のお酒たち↓

東北での合宿の教訓から、飲むのはほどほどに、懇親会後もひたすら調整。

16×16の迷路を走っていると、軌道の誤差が蓄積し、迷路によってゴール出来たり失敗したりと不安定な状態でした。
そこで、「前壁補正」を急遽実装することに。(こちらは後日記事できればと思います。)

午前12時なんとか安定してゴールできるようになり、その後も2時ごろまで確認と調整を行って就寝。

 

 

そして大会当日!

朝ごはんを食べて、大会用迷路が組まれる前に急いで会場でセンサ調整。

9:00に競技開始。自分はクラシック競技の出走番号が4番とあっという間に出番が回って来ました。

初の大会での緊張もありましたが、前日に入れた前壁補正で新たなバグを生み出していないかという不安のほうが大きかった気がします。

とは言ったものの前壁補正が功を奏して、ゆっくりではあるものの安定して探索走行で完走できました!
また、スタートまで無事帰ってくることもできたのでほっとしました。

写真は競技中に探索走行しているところです。

その他クラシックの様子のyoutubeの中継はこちら

https://www.youtube.com/watch?v=Mlu3KHZ1ADU

その他の競技や表彰の様子も先ほどのチャンネルからご覧いただけます。

無事、認定証も発行されました!


走り終わって2分くらいでもらえました。(仕事が早い!)

というわけで初大会を無事終えることができました。

NTF事務局やI.Sysをはじめとした運営の皆様、本当にありがとうございました。
そして参加者の皆様お疲れさまでした!

それではまた次回

続きを読む ›

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


DCマウス研修(吸引編)[16] 慣性センサ(ジャイロ)の読み取り

こんにちは
inukaiです。

西日本を中心としたで豪雨で被災した皆様とそのご家族、関係者の方々に心よりお見舞い申し上げます。一日も早い復旧を心よりお祈り申し上げます。

それに伴って、関西地区大会も延期となりました。

 

前回までに8×8の迷路を走りきることができましたが、マウス内部の処理としては各車輪のエンコーダ情報を用いてステッパーと同じように走行距離や車体角度を管理していました。今回は今後のためにもジャイロを読み取って制御できるようにしていきたいと思います。
とはいっても読み取り自体は2ヵ月くらい前に実装していたのですが、この度ジャイロ角速度を制御に使えるようにしたので、これを機に記事にしました。

というわけで、ジャイロの読み取りの実装にあたってぶつかった壁をいくつか書きとめていきたいと思います。

①簡易SPI端子割り当て

慣性センサ(ジャイロ)は「ICM-20648」を使用しています。マイコンとの通信はI2CとSPIに対応しており、読み取り速度の速いSPIを使うことにしました。RX631のマニュアルの「機能別端子一覧」より、SPIには下記の端子を割り当てて回路設計をしていました。

RX63Nグループ、RX631グループユーザーズマニュアル ハードウェア編より引用

端子を割り当てる際、MOSI、MISO、SCKの文字だけを見てSPIはここでOKだと思っていました…

しかし、いざプログラムを書こうと思ったら頭に”S”がつく(SMISOなど)ところは簡易SPI機能が割り当てられた端子だったのです。簡易SPIと通常のSPIの大きな違いとしては、簡易SPIは8ビットごとの通信となるところです。これは想定外だったのですが、「ICM-20648」は基本的に8ビットごとの通信で問題なさそうなので特に大きな問題にはなりませんでした。

②SPIのMOSI、MISO接続が逆

以前ご紹介した回路図からSPI周りを抜き出すと下記となるのですが、SPIのMOSI、MISO接続が逆になっていました。
今回の構成は、SPIのMasterはマイコンであるRX631、SlaveはセンサであるICM-20648です。
MOSIは「Master Out Slave In」の略、MISOは「Master In Slave Out」の略として機能名がついています。これを意識していれば間違えないところのはずなのに…

ジャイロは0.4mmピッチなので一番再配線したくなかったのですが…
仕方なくパターンカットと再配線、そして配線がはがれないようホットボンドで固めました。

 

これらの確認と修正と行ったところで簡易SPIでジャイロを読み取り、まずはいわゆる”宴会芸”を実装。

制御の安定性に余裕を持たせているので少し遅れはありますが、宴会芸ができるようになり角速度方向の制御をできるようになりました。

余談ではありますが、下記が簡易SPIを6MHzに設定して、「ICM-20648」のZ軸周りの角速度を読み取ったときのCS端子の波形です。
読み取りに約11usかかっています。今回は特に割り込みを使用せずにSPIの通信をしていますが、この読み取り時間なら問題なさそうです。

では今週末の金沢草の根大会に向けて、ソフトを詰めていきたいと思います!
ではまた次回!

 

続きを読む ›

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


DCマウス研修(吸引編)[15] マイクロマウス合宿@山形(長井)

こんにちは
inukaiです。

週末の6/30(土)、7/1(日)にマウス合宿@山形に参加してきました!

合宿日程としては
1日目
・~16:00 到着次第、マウス開発
・16:00~17:00 弊社社長の講演
・~18:00 懇親会までマウス開発
・18:00~22:00 懇親会
・22:00~次の日 マウス開発
2日目
・~11:00 マウス開発
・11:00~ プチ大会
・13:30 片付け&解散

という感じでした。
まとまった開発の時間が取れたため、マウス開発もはかどる合宿となりました。

こちらが合宿での開発中風景です。
基本的には黙々と開発しつつ、情報交換をしたりしながら次の日のプチ大会に向けて開発。

用意されているのは、クラシックマウス競技8×8と、

マイクロマウス競技(旧ハーフサイズ)の16×16の迷路

クラシックサイズの合宿用の8×8迷路は少し滑りやすい迷路でした。
(東北大会用とはまた別の迷路みたいです)

講演の様子がこちら。
内容はロボット技術動向について、具体的なロボットを挙げて紹介していくものでした。

 

懇親会は写真を撮り忘れてしまいました。
とりあえず、東北の方々はお酒が強かったです!

私は懇親会後、開発を再開するもグロッキー状態で23:30頃から次の日の朝まで酔いつぶれてました…
次の日は朝7:00~2日酔い状態ながらも作業再開!

プチ大会に向けてプログラムを書いたり、パラメータ調整したりしてはマウスを走らせて見守ります。

 

そしてプチ大会開始!
プチ大会では1人あたり3回走行というルールで行われました。

写真は2回目のスタートをする様子。

結果としては8×8を2分49秒で探索し、約5分でスタートに戻ることができました。
本番の16×16を考えると時間は厳しいところですが、8×8を往復できたことは合宿の大きな成果でした。

というわけで、地区大会直前の合宿も終わり、今週末は関西地区大会となるわけですが、完走(全日本出場権)を目指して頑張ってまいります。

ではまた次回

続きを読む ›

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


DCマウス研修(吸引編)[14] 迷路を走行

こんにちは
inukaiです。

モータ、光センサを確認したところで、実際に走行しました。
とりあえずジャイロは未使用です…

いままでも、社内やマウス合宿で走行させてはいたのですが、壁制御や光センサの調整がうまくいかなかったりで迷路を安定して走れていませんでした。

しかしついに安定して4×4を走行できるようになりました!
走行時の動画はこちら

行き詰っていた点としては、

・超信地旋回の際、停止時の振動により旋回角度の計算がずれる → 停止時間を多めにとって解決

・壁制御をかけると直進できない → 迷路中心にいるときの光センサの値を環境ごとに取り直す

・壁制御のゲインを上げすぎると壁がなくなるところで大きくぶれる → 壁制御ゲインを下げて、壁なしでもそこそこ走れるように調整しておく

ひとまず上記を意識することで4×4の迷路を安定して走れるようにできました。

まだまだゆっくりな走行ですが、ジャイロを使うなどして迷路のサイズを大きくしても安定するようにしていきたいと思います。

それではまた次回!

続きを読む ›

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


DCマウス研修(吸引編)[13] マイクロマウス合宿参加

こんにちは!
inukaiです。

先週末(6/16, 17)にマイクロマウス合宿@東京理科大学野田キャンパスに参加してきました!
実際にマウスを製作してから皆さんとの初めての交流だったのでいろいろ刺激が多かったです。

合宿の流れとしては、
1日目
・技術交流会(講演)
・懇親会
2日目
・プチ大会

という流れでした。

技術交流会では、どれもおもしろかったのですが、個人的にはマウスのログの取得方法からどう活用するかについてのお話がとても興味深かったです。

技術交流会はこんな感じです。

技術交流会では私のほうからは、毎年恒例のステッピングモータについてと、オリエンタルモータ株式会社様からのマイクロマウス初心者へのステッピングモータ無償プログラムの案内をさせていただきました。
無償提供プログラムにつきましてNTFのHPにリンクが掲載されていますのでご覧ください。

交流会の後は懇親会でした。技術交流会は講演形式でしたが、懇親会ではざっくばらんに技術交流をさせていただきました。
ご飯を食べながら実際にマウスを見てもらったり、見させてもらったりしながらアドバイスをいただけたりしました。
やはり、実際に強豪の方々のマウスを見ると、自分のマウスのよくないところなどが見えてくるので大変参考になります。

2日目はプチ大会でした。
自分は残念ながら完走できずリタイアしてしまいましたが、非公式とはいえ大会で初出走できたのでひとまずよかったかなと思います。
未完成のマウスでも参加して出走する方も多く、みなさんの気概を感じました。
マウスを作り始めてから改めてトップクラスの方々の走りを見ると目を見張るものがあり、モチベーションが上がります。

大会の参加賞は、いろいろな方のご提供で豪華でした!(写真を撮り忘れてしまいました…)
理系のための婚活本からモータまで様々なものがあり、合宿参加者全員が何かもらえる数はあったみたいです。

私は大会結果は特に結果は残せなかったものの、運よくRX71Mの開発ボードをいただきました。
(ロング17号の製作者様ご提供いただきありがとうございます!)

得られるものの多かった合宿となり、大会参加でモチベーションが上がったところで、まずは関西大会に向けて開発をしていきたいと思います!

ではまた次回

続きを読む ›

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


DCマウス研修(吸引編)[12] 光センサの確認

こんにちは!
inukaiです。

Lチカ、モータ用を回したところで、光センサの動作確認について書いていこうと思います。

このマウスでは下の写真のように、赤外線LEDと光センサが4組ついています。
赤い熱収縮チューブを巻いてあるのが赤外線LEDでその下側についているのが光センサです。

回路図から光センサ周りを抜き出すと下図のようになります。

Lチカ同様に赤外線LEDを光らしてみたところ。

上と下の写真をみると少し紫に発行しているのが見えるかと思います。
目では見えませんが、カメラによっては赤外線が紫っぽく映るのが確認できます。

 

では実際に壁に光を反射させて確認していきます。
壁を置いてオシロスコープで光センサを確認した結果がこちらです。
上のラインが発光中のLEDのON信号、下が光センサの電圧になります。
センサの立ち上がりが飽和するあたりで、LEDをOFFしています。
OFFするタイミングでRXマイコンのAD変換機能により光センサの電圧を取り込みます。

次にマウスで壁判定するために、壁とマウスの距離に対する光センサの値を確認していきます。
測定の様子

特に今回は姿勢制御に用いる左右の壁をみるセンサの値を確認を行いました。その結果がこちら。

左右で若干センサ値が違いますが、同じようなカーブであるのが確認できました。
発光時間や、赤外線LEDおよび光センサの抵抗を調整すればカーブが重なりそうです。

調整については姿勢制御の壁補正の精度をどこまで求めるかによりますが、とりあえずはこの値をもとにマウスを走らせて行こうと思います。

では、今回はここまで。
また次回よろしくお願いします!

続きを読む ›

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


DCマウス研修(吸引編)[11] 吸引ファン強化

こんにちは!
inukaiです。

以前の記事で吸引ファンの製作から吸引力の評価まで行ったわけですが、社内でよさげなモータを紹介してもらったので吸引ファンを強化してみました。

モータを「CL-0614-10250-7」→「M716PA」に変更しました。
直径が1mmほど大きくなるのですが、軸径は変わらないので割と簡単に置き換えれました。

変更後の吸引力の測定結果がこちら!

吸引力が約100g→約150gと1.5倍に強化できました!

では、実際にマウスに搭載して吸引力を測定したいと思います。
マウスには下の写真のように取り付いています。

裏の吸引用スカートはこんな感じです。

マウスでの測定結果がこちら。

120-140gぐらいの吸引力がでました!

今後もちょくちょくマウス裏面の密着度などを改善して行けたらと思います。

以上、ファームウェア作成の現実逃避からの吸引力強化でした。

ではまた次回

続きを読む ›

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


ハーフマウス研修 その32 ~3台目の改良点~

こんにちは
まえけんです。

今回は前回記事で拳げた問題点を解決するための解決策を上げていきたいと思います。

まずおさらいで、前回挙げた改良点を書いておきます。

主に改良したいところは次の4点です。
・エンコーダサブ基板のマウント方法
・サブ基板のはんだ付け方法
・インターフェース
・見た目

ちなみにこれに加えてバッテリを置く際に
斜めになってしまうという問題点も2作目ではあったので追記しておきます。

・エンコーダサブ基板のマウント方法
・サブ基板のはんだ付け方法

この二つはL字ピンヘッダを用いる事と
もう一つの基板で挟むことで位置決めをします。
言葉だとわかりにくいので(ブログ上ではまだ出来てませんが)
実機の写真で説明いたします。

これによってエンコーダ基板の位置に再現性が生まれ
はんだ付けしやすくなるのではないかと考えました。

また、基板をモータマウントの上部に渡すことで車体全体の剛性を高められる事と
触って壊れやすいエンコーダ基板をガードすることが出来るため
製品として誰が触っても安心な車体になるのではないかと考えました。

・インターフェース

インターフェースに関しては先ほど登場した
モータマウントの上部に渡した基板をインターフェース基板と
することで解決しました。

写真のように新たにLEDを4つとスイッチを3つ付けたことで
Pi:Co Classic3と同じ数のインターフェースとしました。
また、このインターフェース基板にエンコーダ基板を接続することで
メイン基板へのDIP実装点数が減り、配線面積を稼ぐことが出来ました。
また、ブザーを設置しました。

・見た目
・バッテリスペース

これらに関してはインターフェース基板を付けたことで
モータ配線が隠れ、全体がまとまった印象となりました。

また、基板の前方を数mm伸ばしたことで
バッテリを置くスペースが確保できました。

3作目の主な改良点としては以上です。
次回ですが、本業の方が忙しくなってしまったため
2,3週間程度ブログの更新をお休みさせていただきます!
いつも見て下さってる方々には申し訳ないですが
しばらくお待ちください!

ちなみに別のサイトでは二足歩行ロボット研修のブログも連載しております!
こちらもぜひご覧ください!

続きを読む ›

Posted in お知らせ, ハーフマウスキット製作記, ブログ, 研修


DCマウス研修(吸引編)[10] PWM設定・重心と直進性能

こんにちは!
inukaiです。

前回Lチカが終わったので、ここからはペリフェラルの設定をしていきます。
今回はまずPWMから設定します。

製作中のマウスにおいてPWMを使う場所としては、左右のモータ、ブザー・吸引ファンの合計4つがあります。
制御用のマイコンにRX631を使用する場合、PWMを出力できる機能として、TPU(16bitタイマタイマパルスユニット)、MTU(マルチファンクションタイマパルスユニット)があります。
どちらの機能を使ってもよいのですが、MTUを使って実装することとしました。
なので、マイコンのMTIOCxxという端子を割り当てることになるわけです。

自分の回路図の場合は、PWMの割り当てのみ着目すると下記のようになります。

・モータ1 : MTIOC2B
・モータ2 : MTIOC3C
・吸引ファン:MTIOC0C
・ブザー : MTIOC4D

さて、PWMを出すファームを書こうと思い今一度ハードウェアマニュアルを見てみます。
PWM出力に関する部分を抜き出したものが下図になります。

PWMモード1を見てみると、モータ1 :用MTIOC2Bとブザー用MTIOC4Dが使えなかったのです・・・

というわけで、いったんブザーはあきらめ、どうしても必要なPWM1は別の端子から引いてきました。
(ブザーに割り当てているP31は、PPG(フログラマブルパルスジェネレーター)でPWMっぽいものは出せるそうなのですが、今回はブザーは後回しにします。)

ただブログ書いていて気が付いたのですが、PWMモード2でMTIOC2Bを駆動すればよかったのでは・・・

とりあえず、このように解決して無事PWM出力できました。

ひとまず左右で同じデューティー比でPWMを出力し走行した結果がこちらです。

なかなか真っすぐ走らないものだなぁという感じですね。

ここで、重心の話になるのですが、バッテリーを前においてはどうかという意見を社内でもらいました。
そこですぐにバッテリーを前に適当において走行をしてみました。

バッテリーの位置を変えるだけで、前重心となり真っすぐ走れるようになりました!
これは制御しやすそうでうれしい結果です。

これからはエンコーダを読んで速度フィードバックを実装したりするわけですが、直進性がよいものができたのでほっとしました。

ではまた次回!

 

最後におまけ(撮影NG)

(動画撮影でボタンを押し間違えて後ろに走らせてしまいました・・・)

続きを読む ›

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