Monthly Archives: July 2013

マイクロマウス製作五十七日目

こんにちは!

昨日までの四日間、お休みを頂いて実家に帰省しました。
1歳の姪にジェニちゃんを見せると(手を触れないように注意しながら)、動くわ光るわ音が出るわで、
他のどんなおもちゃより興味深そうに観察していましたw
アンパンマンそっちのけですw
写真 2013-07-28 20 02 34
父が私のはんだづけを吟味している様子。
ちょっとほめられましたw
写真 2013-07-28 20 17 48

精密機器なので用心しながら持ち歩かなければならないのですが、
がんばって持って帰った甲斐がありました♪

さて、今日のマイクロマウス研修です。
先日はPMWについてレクチャーを受けるもその深遠な世界を前に挫折しました。
PMWは、様々なものに通ずる(がしかし通り一遍の仕組みだけで動くわけではない…にくい…)事柄ということで非常に重要なのですが、
追々勉強していきましょうということになり、
今日は、run.cに入っているstraight関数の中身をじっくり見てみました。

straight関数は、ズバリ「直線走行」をするプログラムです。
音を鳴らされたり、LEDをぴかぴかさせられたりしているジェニちゃんも、本業は「走行」!
その肝がこの関数というわけです。

前提として今日いまさら「そうなのか!」と思ったことは、
先日のジェニちゃんにおける時間の感覚のなぞと同じく、距離の感覚はどうなってるんだろう、ということ。
のり先生によると、ジェニちゃんはモータのステップ数を距離に換算して把握しているそうです。
macro.hにそれが書いてあります。

ジェニちゃんのモータは0.9度刻みで1ステップとなります。
ですから、0.9/360=400、つまり400ステップでタイヤが一回転するということです。
また、ジェニちゃんのタイヤが一回転したときの走行距離はもちろんタイヤの円周に等しく、
円周を求める式は「直径×円周率」なので、
1ステップごとに「直径×π/400 mmsec」進んでいるということになりますね!(ふう、義務教育をなんとかかんとか思い出しながらのり先生の説明を理解しました…)

さてさてその前提を踏まえて
以下がstraight関数の全貌です。

見ての通り、とてもわかりやすーいプログラム!(ではないですか?) 基本はwhile文のループで、条件がなりたたなくなったらヒョイヒョイと次へと移っていくシンプルな構造です。 これならわたしにもわかります。(細かい計算はのり先生の解説が必要です…。) 特にこの部分が「なるほど!」という感じでした。

((len※走るべき距離 – STEP2LEN(step_r + step_l) ※カウントされゆく走っている距離) がどんどん減っていき、
( ((speed*speed) –

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十六日目

こんにちは~!

今週末実家に帰省できることになってうきうきの松崎です。
1歳の姪ちゃんに会えるのがとても楽しみです♪

写真 2013-06-02 12 32 39

さて、マイクロマウス研修です。
本日は、通常午前に行っている研修を夕方からスタート!

引き続き「壁切れ補正」実装に向けてのり先生からレクチャーを頂きます。

どうやってプログラムを書こうかな~というお話から派生して、
のり先生の講義は「モータ」のお話に…。
(実は松崎、ステッピングモータがどうやって動いているのか知らなかったのです。)

ぐるぐる回っているように見えるステッピングモータは、実は無数の細かいステップによって回転しているそうです。
その細かいステップがどのようにして作られているかというと、それは磁力…!

周りに配置されたコイルの磁極に振り回されて、中心で磁石がくるくる回るのがモータの回転になっているそうです。

コイルの磁極は、電流の流れによってコントロールします。
磁石(磁極?)をそんなに正確に制御できること、モータを回転させるだけのパワーがあること、
幼少期に家の軒下でアリ地獄探しついでに砂鉄集めしたことくらいしか磁石と触れ合った記憶のない私にはピンときません…。

マイコンから出される細かい指令を、モータのコイルの電流として通訳するのが、モータドライバ!
(ありがとうモータドライバ!)
マイコンからのオン・オフや回転の速さ、方向といった指令をモータに的確に伝える賢いやつです。
さすが、基板の上でもでしゃばってるだけある!w
(はんだづけ大変だった…)

R0010802 - コピー

そして、モータを語る上で欠かせない「PWM」の話へと研修は移っていきます。。

「PWM]とは「 pulse width modulation」の略。
マイクロマウスをはじめてからこれまでに、頻繁にその名を耳にしていたので、
きっとこの研修にとってラスボスみたいな存在なんだろうと怖がっていました。
(一度wikipediaで調べたら、計算式とか見たことのない記号がわんさか登場したのでそっと逃げた経験がw)

Pi:Co Classicでは、ブザーやモータで活躍しているそうです。
しかーし!!
一概にPWMと言っても、いろんな種類があるみたい…ですよ?

motor

上の図は、PWMの何たるかをまだよくわからない松崎が、今日の限られた研修の時間でかろうじて習得したPWMについての知識です…。
ステッピングモータとDCモータにおけるPWMの波形の例です。
どちらも、上の波形のほうがモータは早く回ります。
(ちなみに、こういった凸凹も「波」形というのに松崎ははじめものすごく抵抗を感じました。「矩形波」というらしいですね。
「波」というと、「~」のようななだらか~なイメージしか思い浮かばず、まずその認識のギャップを埋めるのにちょっと苦労しましたw)

ステッピングモータはひとつの周期(凸凹)の幅が一定ではなく、どれだけ激しく上下しているかでモータの回転の速さが変わりますが、
DCモータは周期の幅が一定で、どれだけ長く(幅を広く)「凸」してるかで早さが変わります。
(この波形の上下しているのの平均を取ったら…と考えてみてと佐倉さんに教わったら、確かにそちらのほうが値が高いと理解できました!)

しかもしかもしかも!

これだけではなくて、サーボモータにもPWMは使われているそうなのですが、その場合はまた違った方法でPWMを使うらしい…!!!
恐るべしPWM!何なんだPWM!!!

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十五日目

こんにちは。
猛暑と言ったり冷夏と言ったり、本当に今年の夏の気候はあまのじゃくです。
夏バテしないよう、今夜の夕食はカレーを作りたいと思います!
(ですが、一人暮らしでカレーはなかなか食べきれないので大変です…。)

さて、今日のマイクロマウス研修も、「壁切れ補正」実装に向けて、のり先生からの授業です。
interrupt.cのプログラムを上から順に見ていきます。

R0011933

そんな本日のメカラウロコはこちら。
どうやってPi:Co Classicが時間の感覚を持っているのか?

「wait_ms(1000)」等々頻繁に使用しているジェニちゃんが持つ時間の感覚。
実はずっと「どうやってやってるんだろう」って、疑問に思っていたことです。

のり先生によると、それは、水晶発振子というヤツのおかげだそうなのです。
(まさか水晶が登場するとは思わなかった…)

R0011961

これが1ミリ秒というのをほぼ正確にずっとカウントしている。

↑これがプログラムでカウントしているところ!

でも、ずーっとカウントし続けていても意味がない。
例えば「wait_ms」で、何か処理を始めて終わる時間の目印になるにはどうしているのか?

答えはこちら;

式だけ見てもピンと来ない。
よし、わからないことがあったら代入だ!

例えば、3000まで数えていたとして、そこから「wait_ms(1000)」がスタートしたとする。
そのスタートしたタイミングが「start_time」として記憶される。(この場合は3000。)
それからもずーっとタイマーは走り続ける。例えば3500になったときはこんな式になります。

3500(現在のタイマーのカウント) - 3000(スタートしたときの値) < 1000(wait_msで指定した値)

が成り立つので、処理を繰り返します。
そして、実際に1000ms待ったとき、

4000(現在のタイマーの値) - 3000(スタートしたときの値) < 1000(wait_msで指定した値)

となり、式が成り立たなくなるので、ついに処理を抜け出します。なるほど!

ふおおお、何気なく使っていたwait_msはこういう仕組みだったんですね。
先日の電圧監視用LEDのプログラムといい、
教わってみたらシンプルな仕組みだなと思うことが多いですが、それだけにメカラウロコ感がすさまじいです。

さてさて。
肝心の壁切れ補正を実装するために、さらにさらに割り込みのサンプルプログラムを見てみました。
Pi:Co Classicの割り込み用タイマー「CMT」の
CMT0では、
・電圧監視→LED制御
・速度制限(加減速)
・壁センサによる姿勢制御の計算(計算のみ)
・モータ用レジスタ代入
・時間生成
を行っており、
CMT1では、
・センサからのデータ読み込み
・左右の壁のあるなし判断(あるなしのみ)
を行っています。
のり先生と、CMT1のプログラムを見てみたところ、割り込みを使用した難しいプログラムを書かずとも、
すでにあるサンプルプログラムを元に壁切れ補正が実現できそうとのことです!

CMT1ですでに使われている「左右の壁のあるなし判断」を元に書けるそうなので、教わりながらやりたいと思います♪

ちなみに、ご参考までに
CMT1の件のプログラムをお見せします。
右壁のあるなしを判断している部分です。

sen_r.is_wall = true;

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十四日目

こんにちは!
最近、本を読みたい欲がとても強いです。
実はしばらくあまり本を読んでいなかったのですが、最近になって燃えてきました。
昨日は、2時間あまりかけて書店2店舗を見て回りましたが、読みたいと思う本に出会えず残念でした。
面白い本があったら教えていただきたいです。

さて、関西地区大会から凱旋し、マイクロマウスへの情熱をさらに燃やした松崎。
さらなる目標として、「速さ」か「確実性」か…。
悩ましいところです。

私としては、やはりスラロームとやらをぜひとも我が物にしてジェニちゃんを速く鍛えてあげたいところでもあるのですが、
その前に、確実に完走することもマイクロマウスにとっては非常に重要です。

ですから、関西地区大会で同じくPi:Co Classicを使用して出場した久住さん、兎さんにその存在を教えていただいた「壁切れ補正」の実装を目標にしたいと思います。
壁切れ補正とは、壁の切れ目をセンサで感知して、マウスが区画を正しく認識できているかどうか都度補正するものです。
今のジェニちゃんはトレッドの調整が甘いと、コーナーがあればあっただけ誤差が生じてしまいますが、
壁切れ補正を実装すると、コーナーの度に補正がかかりより確実な走行が可能になります。

と、いうことで、早速のり先生にプログラムを教えてもらいます。

まず初歩の初歩として、Pi:Co Classicがどのようにして得たアナログのデータ(電圧としてCPUに入る)をデジタルに変換してプログラムを走らせているのかを教わりました。

R0011935

壁切れ補正は、割り込みを使うため、割り込みについて書いてあるinterrupt.cを上から順に解説と共に見ていきました。

Pi:Co Classicの割り込み用タイマー「CMT」は、電圧の監視も担当しています。
上から見ていくと、このプログラムがまず書いてあります。

Pi:Co Classicは、電圧を監視した結果をLEDの色で教えてくれます。
2色のLEDの色の変化で電圧の寡多がわかるようになっているのです。
(写真だとちょっとわかりづらいですね…)
写真 2013-07-18 11 50 49

いつも調整などなどでGenieちゃんを長時間酷使してしまう私は、このLEDによく助けられましたw

その電圧監視結果をLEDの点灯として反映させるプログラムはinterrupt.cの以下の部分に書かれています。

このプログラムによって、電圧監視用LEDは色を変えて私たちに電池交換のタイミングを教えてくれます。

でも…ど、どうやって…!?
もしかしてお詳しい方は上記を見ただけで理屈がわかるのかもしれないですが、
松崎にはどうもわからないので、具体的な数値を入れて計算してみます。
試してみないとわからないのです…。

※前提
static_parameter.hを見ると、BATT_MAX(電池いっぱい)時のAD変換値は645。BATT_MIN(電池ないよ~)時のAD変換値は538となっています。
BLED0が1になると赤色、BLED1が1になると青色に光ります。

それを
if( (10.0 * (voltage – BATT_MIN) / (BATT_MAX – BATT_MIN)) > bled_cnt )
の式に入れ、あらゆる場合のAD変換値(電池残量)を「voltage」に代入してみます。

お腹ぺこぺこ(電池が全くない)数値=538を代入
10×(538-538)/(645-538)=0となり、bled_cntがどんな数字になろうと式が成り立たず、BLED0が1になり、赤色に光ります。
この処理を「++」の指示通り10になるまで繰り返しても、BLED1は0のまま。青に光ることはないです。
つまり、電圧監視用LEDは真っ赤に煌々と光り続ける→ヤバイ!電池交換しないと!

お腹いっぱい(電池ばりばり!)数値=645を代入
10×(645-538)/(645-538)=10となり、bled_cntが10まで数える間、10以外の数字のときは式が成り立つので、BLED1が1になり、青色に光ります。ただ、11回に1回だけbled_cntが10になったとき、「10>10」という式になってしまい、BLED0が1になり赤色が光るのですが、1秒に1000回という非常に短い時間しか光らないので、人間の目には青色に光り続けているように見えるというわけです。

お腹まあまあ(電池普通)数値=590を代入
10×(590-538)/(645-538)=だいたい5くらいとなり、bled_cntが10まで数えるうちのだいたい半分ずつ青色、赤色に点灯→紫に光る

のです!!!!!!!!!!
のり先生に教えてもらって理解した瞬間ものすごい感動に包まれました…!!

※プログラムの2行目、
if(bled_cnt >

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十三日目【関西地区大会参加編】

こんにちは。
ここ数日涼しい日々が続いています。
夏が始まって早々に布団を片付けてしまったので、毛布一枚では朝方寒さに目覚めてしまうこともしばしば。
寒さに毛布を手繰り寄せて体を丸めて温まって二度寝するのが至福の時…w
私にとってはこれくらいが丁度よい気候です。

さて、去る7/13、14日は、マイクロマウスの関西地区大会に参加してきました。
そう、Genieちゃんと松崎にとって、初めての公式大会となります。

マイクロマウスの先輩である早苗さんに引率をお願いして、一路京都へ。
(新幹線大好き!!!)

大会前日の試走会から参加させていただきました!

写真 2013-07-13 13 45 32

会場の状況に合わせてセンサを調整し、トレッドとホイールもあわせて、
何度か走らせて頂きました。

ここで松崎が学んだマイクロマウス調整のコツ。
調整は、行き詰ったら休憩する!!!
いざ調整をはじめると、私はすぐにドツボにはまってしまい、大して意味のないことをダラダラやってしまうクセがあるので、
これくらいでいいかな~と思ったら、ちょっと休むw
休んでいるうちに完走してるとこや速く走っているところをイメトレすると、それを実現させたくなり、気分転換しただけ違った視点で調整に励めるみたいです。

さてさて、そんな試走会。
余裕の表情で完走を繰り返すジェニちゃん。
浮かれるとロクなことがないと思いつつも、ニヤマリw
ジェニちゃんかわいいよ、ジェニちゃん。。
写真 2013-07-13 15 35 38

パラメータを微妙にいじって、ちょっと速くなったりもしながら大会に向けて調整をしました。

そしてついにやってきた大会当日。
お写真でしか拝見したことのないマイクロマウス界の有名人が多いw
大変光栄です。
(女性も想像以上にいらっしゃったので、ちょっとうれしい♪)

R0011895

早苗さんのプログラムに入っているスラロームをうらやみつつ、走行前の最後の調整です。
(早苗さんいいなっいいなっ;_;)
写真 2013-07-13 16 52 08

そうそう。
実は意外とずっと気になっていたことがありまして。

それはこれ。
写真 2013-07-13 17 13 26

マイクロマウスはスタートとゴールをセンサで検知してタイムを測定するのですが、
センサがこんな風に柱に仕込んでありました。
手をかざすと、ピッと鳴って実際に測定がスタートします。
なんかこういうの、さすがって感じがしましたw

各自調整が終了し、大会スタート!Genieちゃんは3番手!


R0011890

結果は…
写真 2013-07-14 15 35 02

じゃじゃん!
完走できました~~~~~~~~~~~~~~!!!
やったやったやったやったーー!

ずっと夢見てた「完走」をついにはじめて果たしました♪!
タイムは「01:08:847」!!!
well done!Genie!!!

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十二日目

こんにちは~!
大変な暑さです…。
電車の冷房に、はぁ~、お店に入って、はぁ~、冷たいジュースを飲んで、はぁ~…。
そんな毎日ですねw

さて、どうしましょう!
今週末、ついにはじめての公式大会に参加します!!

なんだかんだ4月から約3ヶ月ほどやってきたマイクロマウス。
まだまだ拙いけれども、それでもマイクロマウスを通してたくさんのことを学んできたつもりです。

実はとても緊張しています。

改めて確認します。

私の今回の大会での目標は、
一にも二にも「完走」です!
マイクロマウスをはじめてすぐは、「速く走る」ことを夢見てやっていました。
ですが、ずっとやってみて、「確実に走る」ことがいかに難しいか、また、そこにいかに多くの学ぶべき事柄が潜んでいるか、ということを知りました。

と、いうわけで、今日もかわいいかわいいわたしのGenieちゃんを試走させてみます。
(早苗さんともお話ししたのですが、やはり自分のマイクロマウスはなんと言ってもかわいい!
ちゃんと走らなくても、かわいい。調整してあげるからねって気持ちになる。
ちゃんと走ってゴールしてきた時には、もう、ぴかぴか光るLEDの部分でも撫で回してあげたくなる…!!w)

テスト走行しましたが、探索で停止時にガタつくのが直りませんね。
かれこれこれで1週間以上悩んでいます。
佐倉さんにアドバイス頂いて、機体底部のテフロンシートを貼ったり、
加速度を遅くしたりしても直らなかったのです。

出張帰りののり先生に聞いてみたところ、初心に帰ってデフォルトのプログラムで走らせることに。
間違いなく正常に動作するプログラムで動かしてみることにより、そもそも問題がハードにあるのか、ソフト(デフォルトを改変した部分)にあるのかわかります。
センサ等々、各種の値だけ書き換えて、テスト走行。

あれ~!?
ちゃんと走るうえに、ガタつかない!!

デフォルトのプログラムは、私がずっと作ってきたプログラムより加速度が高いので、
素人の私からしたら、「スピードが速い」→「停止時のショック(反動みたいなイメージ)が大きい」と思ってしまうのですが、どうも必ずしもそういうわけではないみたいです。
停止状態から最低速度へ至る(あるいは走行状態から最低速度へ至る)までの加速が弱いと、その分不具合がでるようです。。
※のり先生がたくさん計算した結果、加速度は、1.0m/sec以下にしてはならないということがわかりました。
(その他の値がデフォルトの場合の数値です。)

根拠に基づいた試行錯誤こそが解決への道ということですね。
もっと早くもっと賢くジェニちゃんを走らせるには、モータの特性やプログラムについて詳しく知る必要がるなあ、と思いました。

ということで、デフォルトのプログラムに、今までに作ったブザーのデモやナイトライダーをコピペして大会に出場することになりました。

大会…!
がんばろう、Genieちゃん!!
今日明日で時間を見て調整をつめます。
(Genieちゃん持ち運び用のうさぎのバッグと、川上さんからもらったケーブルと共に)
R0011836

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十一日目

こんにちは^^
毎日毎日暑いですね…。

この間、うっかり水分補給を忘れて外を散歩していたら、なんだか頭痛が…。
危うく熱中症になってしまうところでした。
みなさんくれぐれもお気をつけください…!!

さてさて、昨日はゴールアピールのメロディを無事作成し、プログラムに関数化して書き入れました。
次の課題として私がやりたいのは、

①メロディ作成のプログラムの中身も関数化して、もっとメロディを簡単に作れるようにする
②迷路探索中に音楽を流しながら走るようにする。
③メロディをちゃんと披露できるように完走を目指す

の3つ。

今日は、②への布石として、
昨日作ったワンフレーズ(ゴールアピール用)につながるメロディを作成(コツコツ作業が楽しかったので昨日休み時間に…w)関数化しました。
今日関数化したメロディを鳴らしながら走って、ゴール時にゴールアピールのメロディが再生されるのが目標です。

—————
※余談※
今日は、作ったメロディを早苗さんと川上さんに聞いてもらおうとしたのですが、スピーカーのボリュームが小さかったので、
マイコン下に隠れている可変抵抗を調整してボリュームを上げました。

R0011833

思ったのですが、普通「ボリュームを上げる」と言えば「時計回し」にしますよね。
でもこの場合は可変抵抗によってスピーカーに流れる電流を調整するので、
ボリューム上げる→抵抗値下げる(半時計回し)
ボリューム下げる→抵抗値上げる(時計回し)
になります。
当たり前の話なのですが、ボリュームが上がったり下がったりする仕組みに思いが及んでいないと、
ついつい時計回しをしちゃうなあ~と思いました^^
—————–

さて、では、どうやったら走行中に鳴らせるのか。
(松崎はまだ上から下へ順番に処理を行うシンプルなプログラムしか理解していません)
どうやら、「割り込み」という技を使うらしいです。そして、それには「タイマ」というものを使うみたい。

んん、何だかちょっと高度な話になってきた予感。

のり先生から聞いた話によると、Pi:Co Classicには「CMT」と「MTU」という二つの「タイマ」を使っているみたいです。
「CMT」の方が、姿勢制御やセンサなどに使われていて、MTUの方がスピーカーやモータに使われているそうです。

…ふむふむ。
で、どうしたらそれを使ってやりたいことができるのカナ…??
わからないよーーー!

…明日は、出張帰りののり先生に聞いてみようと思います。

と、いうことで関数化はもうちょいちょいっとできるまでに慣れたので、
今日の研修の残りの時間は、調整をもう少し煮詰めました。

R0011835

調整を始めると、ただただ同じ作業の繰り返しなのでブログネタにしづらくて申し訳ないですw
ただ、ジェニさん。だんだん走りが安定してきています。

は~~大会緊張する!!!

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作五十日目

こんにちは!!

関東では梅雨も明けたみたいで、いよいよ夏本番です。
先日は、大学時代の友人と東京大神宮におまいりに行ってきました。
縁結びのご利益があるということで、女性の参拝客の方が大変多かったですw
どこもいろんな個性があって、寺社仏閣めぐり楽しいです^^

さて、記念すべき連載50回目の本日。
今日は今週末のマイクロマウス関西地区大会に向けてジェニちゃんをいじります。

関西地区大会エントリー時に、マウスのPRとして、 「ゴールしたら音楽が鳴ります!」
と、現段階でできてもないことを宣言してしまったので、メロディ作成です…!汗

demo_musicのソースファイルを作成し、関数化して迷路走行のプログラムに入れます♪
以下がプログラムの内容です。

個人的に面白かったのは、周波数です。
音楽をやっていたのにそんなに音楽に詳しくない私…
周波数の数値を書き換えて鳴らして書き換えて鳴らして…と作っているのですが、
1オクターブあがったら、音階ごとの周波数の差が2倍になりました。なぜ??

何かわけがあるに違いない。

ちなみに、何の曲か気になる方がもしいらっしゃいましたら、上記を参考に推理してくださいw
実際に迷路走行させてみて実装できたことを確認しましたが、動画は機密にしておきます^^

さーて、せっかくがんばってメロディ作ったので、完走しないと♪
大会まで、もう少し。。

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作四十九日目

こんにちは。
最近、たくさん映画を観たいなあと思っている松崎です。
先日は、よく行く英会話カフェで「ロストハイウェイ」をオススメしていただいたので、観てみました。
…すでに3回繰り返し観ましたw
おもしろいのと、わけがわからないので、何度も観てしまう映画ってありますよね~◎
(返却期限忘れないようにしないと…)

今朝、のり先生から素敵なプレゼントをもらいました♪

写真 2013-07-04 10 30 40

これは何かといいますと、
Pi:Co Classicの二つのモータ(デフォルトでは両面テープで固定)を、より強固に留めるものです!

うっへへ
早速、浅井製作所さんの3×4ねじで取り付けました!
写真 2013-07-04 10 34 00

これで、モータのぐらつきがなくなり、走行が安定します!
ありがとうございます、のり先生♪

これを取り付けるためにホイールをはずしたので、せっせと調整をしなおします。

それにしても、ジェニちゃんは何かと改造の餌食になっているなあw
(Ex.LEDの取替え、マウントの取り付け、エポキシの固定→除去etc…)
ホイールの取り外しなんて昨日もやって今日もやってしまった。今日にまとめれば、シャフトに負担をかけずに済んだと反省。
みなさん、ハードの拡張は計画的に!

それから、静止時の「ガクッ」を防ぐべく、
プログラムで加速度を減らしてみました。

20130704

case3の「最短走行」で、加速度2.0を1.0にしてみました。
走りをご覧ください。

ちょっとのろまになったけど、前よりも安定感あります。
スピードよりも安定した走りを追及して、完走を目指しているので、満足満足^^

足立法で探索しているときの「ガクッ」がまだ気になるので、
もうちょっとプログラムを見てみようと思います。

モータの特性上どうにもできない問題もあるようですが、完走目指して、解決できることは解決します♪

続きを読む ›

Posted in Pi:Co Classic製作記


マイクロマウス製作四十八日目

こんにちは。
夜のジョギングが地味に続いていて毎日健康な松崎です^^

さて、今日は連日悩まされていた静止時の「ガクッ」に挑みます。

出社直後、佐倉さんに聞いてみると、
マウス底部に貼っているテフロンシートを重ねて機体のお尻をちょっと上げることで
機体前方の遊び(床との距離)が微妙ながらも少なくなり、「がたっ」が解消されるのではないか?とのこと。

早速ぺたり。(黄色っぽいのがデフォルトのもの。茶色っぽいのが今日貼ったもの。)
R0011744

ちなみにあまりここを厚くして前のめりにしすぎると、
今度はコースとコースの間の段差などに躓いてしまう恐れがあるので、難しいところです。
マウス前方にコインでおもしを載せている方もいらっしゃるそうですね。

いざ走らせてみると、昨日よりもわずかにスムーズに走るようになっていました。
が、まだ微妙に「がたっ」と言います…。

解決するための残りの手段といえば、静止前にもっと減速させることでしょうか。
明日挑戦してみます♪

それから今日は、より機体を常に安定した状態にするために、
タイヤをホイールに両面テープで接着しました。

と、その前に、ホイールがシャフトからなかなか抜けなかったので、ハンダで温めて(!)抜くことになりました。
そんな方法があるのかーーー!
R0011738

ホイールにぐるりと両面テープを巻く。(見えづらいですが…)
R0011739

タイヤをいじったということは、トレッド幅もホイール径も変わっているということなので、
再度調整しなおし。
(秘技、ベース3枚敷き!!)
R0011742

yukiさんにも見ていただいたりしながら、妥協なく調整します。
R0011743

かなーり安定して走るようになりました…!

そろそろ、Genie(天才)の名に恥じないマウスになってきたかな♪
きびきびとした走りを見るたびにうっとりしますw

安定した機体を目指すということで、個人的にはモータとモータの間のこの微妙なスキマも気になる。
R0011741
結構ここブレがあるんですよね…。
両面テープでとめているだけなのでしょうがないのですが…

何か固定する方法がないかのり先生に聞いてみます^^

続きを読む ›

Posted in Pi:Co Classic製作記