Powered By Blogger

2014年2月21日金曜日

活動再開

1か月ぶりに更新します。それまで卒論とかでバタバタしてたので。

一応今年の大会に向け動き出してます。

昨年度作成したマウスに加速度センサを載せてましたが、全く使ってませんでした。ようやくマウスの速度計測、制御に役立つことが確認できました。明日行われる関西支部の勉強会でネタにしようと思ってます。そのためこんな↓スライド作ってます。ウケが良ければブログでも内容を公開するつもりです。



あとは今使っている3軸加速度&3軸ジャイロセンサシリーズの最新型について、Digikeyの在庫切れがもうすぐ解消されそうなので、変換基板作りながら待ち伏せしてます。




2014年1月13日月曜日

磁気式エンコーダIC 「AS5050」

今回は来年使用予定のエンコーダの話。
昨年までエンコーダは定番IC「AS5040」を用いて自作していました。

今年も自作磁気式エンコーダを使いますが、「AS5050」という素子に変更することにしました。
これはインクリメンタル型でなくアブソリュート型で、SPI通信で角度を取得できます。


AS5040と比較しながら、この素子を使うメリットをあげると
・消費電流が少ない(AS5040に比べ最大でも半分、使い方次第で5分の1以下)
・小型かつ軽量、安価
・インクリメンタル型でないので、波形をカウントするタイマー(消費電力大きい)を使わなくてよい
などがあります。

AS5050はSPI通信を介して、ICが内蔵のホール素子で磁石角度を取得するときのサンプルレートを自分で決めることができます。
サンプルレートを下げていくと、かなり消費電流が下げられることが分かりました。ただし、ナイキスト周波数に気をつける必要があります。
実際にどれくらいかというと、例えば2ms周期でサンプリングすると消費電流は2.5mAほどだそうです。
AS5040の16mAに比べるとかなり違いますね。5分の1以下です。


逆にデメリットをあげると
・サンプルレートを下げるとリアルタイムの速度は取得できない
・アブソリュートエンコーダ、SPI通信などの使用により速度取得に関してソフトが使いまわせない

などがあるでしょうか。どちらもソフトの工夫で対処できるものと考えています。


連休を利用してブレッドボード上でテストをしていました。動作確認ができたので、今回情報を公開しています。なかなかいいものですので、興味のある方はぜひ。

2014年1月9日木曜日

新年

遅ればせながら、あけましておめでとうございます。
本年もよろしくお願いいたします。

昨年は台湾大会(@台北)、学生大会(@早稲田大学)と遠征も増え過去最大の大会出場数となり、おかげさまで充実したシーズンを過ごすことが出来ました。

今年はというと、すでにスケジュール的に無理そうな大会がいくつか、、、 残念。
昨年ほどたくさんの大会には出られなさそうです。


さて、マイクロマウス活動の方ですが、今年もハードを新調するつもりでして、もう設計が終わってたり。




ただ、新作を作るといっても昨年のマウス「Vector」がボロボロだからというだけなので、特に目新しいものは導入せず、「Vector 改」を作るくらいの気持ちでいます。「Vector」は2度もジャイロ張り替えたりしてあちこち補修だらけですし。


ブログとしては引き続き昨年取り組んだこと、新作を作る中で検討していることについて小出しにしていこうと思います。

2013年12月30日月曜日

Considering emitter's light process

   Here, I will write about the consideration to the previous experiment.

   The result was that Vector's diagonal receiver catches more light than experimental circuit's horizontal one. This means stronger reflected light comes from the front, though nothing reflects light. I wonder what the emitted light process is like.

   I completely forgot "diffuse reflection". Since maze wall is not mirror, light does not go like the picture below (sorry I'm not good at painting).


   In fact, light goes like this, I think. Here, diffuse reflection occurs and reflected light goes in all direction.


  Because of that light process, stronger reflected light comes from front than side. This explaines the experiment result. And parallel arrangement of IR emitter and receiver is the best, since receiver faces to the direction in that light comes.

2013年12月23日月曜日

非平行センサ試作テスト

前回 横壁センサのフォトトランジスタ(PT)はLEDに平行でなくてもいいのではないか、真横でもいいのでは、なんて書きましたが、今回試作してテストしてみました。
結論から言うと、平行なときより明らかに信号強度が下がり、問題外でした。
一応、何をしたのか紹介します。

下の写真左のようなLEDとPT、抵抗だけの簡単な回路をユニバーサル基板上に試作。テキトーです。
私のマウス「Vector」(写真左)と比較して、LEDはだいたい同じ配置で、PTだけはほぼ真横にしています。横壁のPTだけ調べたいので、前壁用のPTは付けていません。


これをブレッドボードに接続してテスト。Vectorと回路構成は同じです。ブレッドボードの接点抵抗が大きいですし、配線が長いですが。




実際にAD変換してみました。まず、周囲に何もない場合。直接PTに入って来る光量を調べています。
12bitAD変換値はおおよそ 試作:100、Vector:50 でした。


次に横壁から3cmくらい離れたところで実験。
AD変換値は試作:200、Vector:500 でした。



どうも直接光は増えて反射光は減るようで、あまり利点がなさそうだということで、これ以上のテストは中止。

やはり多くの人がやっていることには、それなりの理由があるということで。残念。

2013年12月16日月曜日

壁センサの発光素子と受光素子の光軸は平行であるべきか?

気になります。
前回に続き壁センサの話。
だいたいどのマウスの壁センサもLEDとフォトトラが平行に実装されてますよね。
例えば私のハーフマウス「Vector」だとこんな感じ。


自分としてはこれといった考えもなくみんな平行にしているからという理由で自分も平行にしてましたが、真横とか真正面にLEDを向けない限り壁から光が反射してくる方向はLEDに平行ではありません。

LEDを傾ける角度は横壁センサだと45°とか、ある程度経験的に決定された値を使うとして受光素子はその限りではないなと思うわけです。

横壁センサのLEDは45°に向けるけど対応するフォトトラは真横にしたりするとどうなるんですかね?

①横壁から光が反射してくる方向に向けることで信号強度が増える
②前壁から反射してくる方向に向けないことで干渉を防ぐ

あたりの効果があると思ってます。

そのうちテストしてみましょうかね。Vectorに使ってるLEDが在庫切れですが、、、

2013年12月13日金曜日

壁距離-センサAD変換値テーブルの作成(6次曲線近似)

全日本大会も終わりましたし、今年やったこと、来年に向けて検討していることについて小出しにしていこうと思います。

まず最初は壁センサのAD変換値から壁との距離をどのようにして推定するかということについて。
現在は測定した結果をそのまま6次関数で近似して使用していまして、これについて、自分の従来の方法とその問題点についても触れながら書こうと思います。

代表的な手法は壁との距離とセンサのAD変換値との関係を測定し、ある関数で近似して、1対1対応の表を作るというものでしょうか。
例えばこちらでは関数として対数関数を用いたものが紹介されてますし、自分もこれまではもっと単純化して距離の2乗に反比例すると仮定して以下のようなAD変換値と壁との距離の関係を求め、表にして使用していました。
これは左の横壁センサのものです。




しかしご覧の通り実験の測定値(赤い点)と近似関数(青線)との間に明確な違いがあり、これをこのまま横壁センサに適用すると迷路の中心を走れないため、近似関数に5mmくらいオフセットをかけて調整していました。


これでそこそこ走るようになりますが、オフセットの値はいくらにすべきか調整しないといけませんし、問題ないにしても実験値との誤差が大きくなんとなく気持ち悪いです。
そこで、実験結果をそのまま6次関数で近似するとそこそこきれいに一致しました。


ここで、AD変換値2500以上の値は関数に関係なく一定値にしています。あとで示しますが、6次くらいになると横軸両端の極端な値で変な挙動をするので。

ちなみに6次曲線近似は研究室で使用している「GP」というソフトを使いました。
フリーソフトですが、名前がありきたりなせいか、Windowsより年上の古いソフトなせいか簡単にインターネットで探せません。紹介できなくてすいません。
ちなみにGP上で近似した時のイメージはこんな感じ。赤線は近似関数の導関数を表わしており、値は縦軸の右側です。AD変換値2500以下の範囲では負であることから6次関数の単調減少性が確保されているのが分かります。
AD変換値2500以上のところの近似関数(青線)は単調減少性を示さず急激に増加していることから、一定値にさせているわけです。


こうして6次関数により単調性と実験値との一致ができるようになりました。
これにより、オフセット値の調整をしなくて済むようになりました。
さらに、一度設定をしてしまえば実験結果からより簡単に近似曲線が求められるため、少しだけ開発時間の短縮ができました。

ただ、残念ながら壁からの姿勢制御は壁の中央値と単調性があれば問題ない気がするので、わざわざここまでする必要があるかわかりません、、、