2011年4月7日木曜日

6.2 自分で駐車場に停まる車








デフつきの四輪車が自分で駐車場に停まる仕組みがなんとか動くようになった。
センサーは得意の超音波を使う。駐車場が超音波を発信し、車はその超音波の方向にバックで進み駐車場に近付いたら停止する。そこで車が発信した超音波が駐車場から反射して戻ってくる時間を測定し、車の角度を求め、直角になるように角度を調整する。
駐車を開始するときは、駐車場からの超音波が聞こえていることが条件となる。

距離や角度をきちんと測定しようとしたところ、超音波のセンサーではいくつか問題があることが判明した。受信器が40KHzの超音波を受けた信号をオペアンプで増幅し、それで割り込みをかけて時間を測定するようにしているが、40KHzの周期(25μsec)毎に波形のピークがあり、そこで割り込みがかかるため、時間の精度は25μsecまでとなる。これは音波が進む距離にすると約8mmとなる。距離の測定精度は±8mmまでということになる。
また、車が超音波を発信し、駐車場からの反射音が戻ってくるまでの時間を測定しているが、ある距離の範囲(20-30cm)だと床からの反射音との干渉のせいか、誤差が大きくなることがある。
このような問題があることが判明したため、正確に測定する必要がある場合は距離が近いときに限定し、数回測定して平均値を使うことにした。

4輪車の車体
デフつきの四輪車を使用。バックで駐車するため、センサーは車の後部につける。

駐車場
散歩のお供で使った引っ張る車を利用。超音波の発信部分はそのまま使う。車からの超音波を反射しやすくするよう、後部の壁を左右に拡大してある。

駐車場のセンサー
超音波の発信器を1つ持つ。200ms毎に40KHzの超音波を発信する。

車のセンサー
超音波の受信器は車の後部の左右に1つずつ。
超音波の発信器は車の後部の中央に1つ。駐車場からの超音波を受信した50ms後に40KHzの超音波を発信する。

駐車場の方向測定
駐車場が発信した超音波が車の左右のセンサーに届く時間差で駐車場の方向を判定する。
駐車場との角度測定
駐車場との距離が近い場合に、車が発信した超音波の駐車場からの反射音が左右のセンサーに届く時間差を測定し、駐車場と車の角度を求める。
誤差を少なくするため、8回測定して平均値を使うようにしてある。

駐車の制御
1.車体が駐車場にまっすぐ向くよう、ハンドルを切って前進する。
2.まっすぐになったら停止し、ハンドルを直進にして後退開始。
3.後退中は駐車場からの音波の向きをみて、まっすぐなるようハンドルを切る。
4.駐車場に近付いたら停車してハンドルをまっすぐに戻す。
5.車が出した超音波の駐車場からの反射音が左右のセンサーに戻ってくる時間を測定し車の角度を求める。8回測定し平均値を使う。
6.角度にしたがい、ハンドルを切って前進し直角になるところで停止し、ハンドルをまっすぐに戻す。
7.まっすぐ後退し、駐車場に近付いたら停止。これで駐車終了。

リモコン操作
「戻る」ボタンで駐車開始。
「決定」ボタンで停止。

孫の反応
興味なし。大きくなったらまた見せることにして、もっといろいろ作っておくしかないか。

2011年4月2日土曜日

7.0 観覧車




孫のリー君とレゴで遊んでいて、観覧車を作ろうということになった。作ってみると、けっこうかわいらしくできたので、これもブログに載せることにした。
今回のものは特に難しい所とかはない。一つだけ気を使ったのは、歯車の軸が片持ちで多少ガタがあり、観覧車の回転が時々ひっかかったようになってスムーズでなかったので、軸を支えるパーツをもう一つ重ねてガタを減らしたことくらい。これでかなりスムーズに回転するようになった。
観覧車らしくゆっくり回転するよう、歯車3段で減速し、さらにモーターを駆動するPWMのデューティーを3%にしてある。

孫の反応
最初はヘリコプターを作ろうとしたが、パーツを他に使っていたため観覧車に変更したせいか、あまり興味を示さなかった、、。

2011年3月26日土曜日

6.1 デフあり・なしの比較








ブログを見た友人から「市販のリモコンカーより凄いところがわからない」とか「動画を撮るときは三脚を使うべし」という指摘を受けたので、デフのあり・なしの違いを動画で見えるようにしてみた。
なお、今回の四輪車の最大のポイントはレゴのパーツだけでディファレンシャルギアを作ったことである。

まず、作者が2,000円程度で購入してあったデフなしの市販のラジコンカーのハンドルをいっぱいに切ったときの車輪の角度を測定して見たところ、およそ20度であった。一方、今回作成したデフ付きの車のハンドルをいっぱいに切り車輪の角度を測定したところ、およそ40度であった。

デフ付きの車なら40度までハンドルを切ってもスムーズに動くことは確認できているので、この車のデフを取り外し、左右の車輪を同じ軸で駆動するようにしたものを動かしてみた。まず手で動かしてみたところ、ハンドルを40度程度切った状態だと抵抗が非常に大きく、前輪はスリップすることもある。ハンドルを20度くらいにすると、抵抗は少なくなるがまだかなりの抵抗感を感じる。10度くらいでやっとほとんど抵抗を感じなくなった。
次にモーターで動かしてみたところ、40度だと前進できない、後退はできるが非常に遅い。20度でも前進できない。10度くらいにしてようやく前進できるようになったが直進に比べるとスピードはかなり遅い。
ディファレンシャルギアの効果は絶大である。

写真は上から、市販のラジコン車のハンドル角度測定、今回の四輪車のハンドル角度測定、差動ギア、駆動ギア、差動ギア+駆動ギア、実装状態のデフ、デフ付きの四輪車。
動画は上から、デフの動き、デフ付きの車の走行、デフなしの車を手で動かす、デフなしの車の走行、となっている。

2011年3月21日月曜日

6.0 ディファレンシャルギアつきの四輪車






これまでは三輪車を動かしていたが、四輪車のボディを作ることにした。
普通の自動車と同様、前輪にステアリングをつけ、後輪を駆動する。最初のものは左右の後輪を同じ軸で駆動したが、これだとハンドルを大きく切るとまがりにくい。これを改善するため、ディファレンシャルギア(デフ)を組み込むことにした。全てレゴのパーツで作成したので少し大きくなったが、機能的には問題なく、大きくハンドルを切ってもスムーズに曲がるようになった。
このボディで、駐車場に自分でキチッと停めることに挑戦しているが、まだうまくできていない。しばらく書き込んでいなかったので、デフつきの四輪車だけでも紹介をすることにした。

ディファレンシャルギア
差動ギアは、小さめのかさ歯車を3つ組み合わせて作成した。歯車を固定する枠がけっこう大きくなってしまった。
駆動ギアは車輪の軸と同じ軸上にあるが、別々の回転をさせるため、歯車の軸を通す部分をニッパーでパチパチッと切り取った。この歯車を軸に取り付けるためのパーツを歯車に固定する。
駆動ギアと差動ギアの枠をつなぐ。しっかり固定する仕組みを考えてみたが、簡単にはできそうもないので、駆動ギア側に作動ギアの枠を挟み込むストッパーを付けることにした。これで多少ガタはあるものの、コンパクトにつなぐことができた。

駆動と車輪
差動ギアの枠がかなり大きくなり、駆動ギアも差動ギアの隣に置く必要があるため、駆動用のモーターは離れた位置にしかおけないことが判明した。バイク用のチエーンがあったので、これを使って駆動する。
車輪もデフが地面をこすらないよう、大きなものを使う必要が生じ、やはりバイク用の車輪を使うことにした。
最初のものは駆動用モーターの歯車は一番小さいものを使っていたが、チエーン駆動だと小さい歯車では回りにくいので、一回り大きい歯車を使った。車輪も最初のものより大きくなったので、走るスピードが速くなった。
チエーン駆動にしたため、走行音はかなり静かになっている。

ステアリング
角度が変わる平行四辺形を作成し、2か所の頂点に軸を通して車輪を取り付ける。片方の軸に歯車を取り付け、これをウオームギアで回転させてハンドルを切る。
ステアリングの現在値を知るため、またハンドルを切る最大値を設定するため、ウオームギアの軸の歯車にフォトインタラプタを取り付け、回転角度(歯車の歯数)を計測する。
リモコン
いつものDVDレコーダ用のリモコンを使用する。駆動は前進・後退・停止、ステアリングは右・左・直進のボタンでコントロールする。

2011年1月21日金曜日

4.1 秒針がカチカチ動くキッチンタイマー





前回作ったタイマーは秒針をモーターで回しているだけなので、動きにシャープさがないのが不満であった。時計のテンプのように歯車をストッパーで止める仕組みを作り、秒針がカチッカチッと動くようにしてみることにした。

ストッパー
歯車の形に合うようにレゴの軸を削り、アームに取り付けて具合を試してみたところ、微妙な位置関係のせいで、秒針が右回りになるように歯車を回すとストッパーが自然に持ちあがって回るが、逆方向だとストッパーが強く効いてストッパーを外さないと歯車が回らないことがわかった。
秒針右回りのバージョンと、カムでストッパーを持ちあげる仕掛けを入れた左回りのバージョンの2つを作ってみる。

秒針を動かす歯車
1秒毎に秒針を動かしたいが、レゴの歯車の歯数の関係で1秒毎はできず、1秒に2回ずつ秒針を動かすことにした。
秒針は40歯の歯車に取り付け、これを8歯の歯車で回す。8歯の歯車と同じ軸に24歯の歯車をつけ、これをストッパーで止める。こうすることで、24歯の歯車が1歯動くと、秒針の40歯の歯車が1/3歯動く。24歯の歯車が120歯動くと、秒針の歯車が40歯動き、ちょうど一回りすることになる。
それぞれの軸の歯車の歯数は、
モーター軸:8
1軸目:24->8
2軸目:24->8 ストッパー
3軸目:40   秒針
モーターは500ms毎に起動し、一定時間(90ms)で停止するようにした。

カムを動かす歯車
カムはストッパーのアームを持ちあげるため、500ms毎に1回転させる。
秒針を動かすモーターと同じモーターでカムを動かしたかったが、簡単にできるメカを思いつけず、カム専用のモーターを使うことにした。モーターを減速せずカムの軸を回す。こちらのモーターも一定時間で停止するようにしてみたが、電池の残量が変わると止まる位置が変化することが判明したため、カムの軸に40歯の歯車を着け、これをフォトインタラプタでカウントして、30カウントになったところで駆動を停止するようにした。

結果
カムなしのほうがガチッガチッと大きな音がする。カムありのほうはカチッカチッと軽い音で動き、秒針の動きにシャープさがあるが、カムを動かすモーターの音がうるさい。
メカがシンプルで電池の使用量も少ないカムなしのほうが省エネで良さそうである。

孫の反応
これには興味を示さないだろうと思ったが、スイッチの操作を覚え、父親に動かして見せたりしている。クネクネ動かないので気持ち悪くないのか。

2011年1月16日日曜日

5.3 転びにくくなった逆立ち三輪車


先日、ジタバタ動く逆立ち三輪車をアップしたが、歩かせようとするとジタバタ動くだけですぐに転んでしまい、とても歩いたとは言えない状態であった。
どうにも悔しくて、しつこく調整をやってみたところ、少しは転びにくくなったので再度アップすることにした。

修正点
歩くときにボディを傾けるのをやめた、これで転びにくくなった。
センサーと床の距離(x)からモーターを駆動するPWMのデューティー(y)を計算するところをいくつか試してみた。y=ax, y=(ax)*(ax)の2つの式で係数aを数種類試してみたところ、y=1.75xが一番転びにくく、少しは歩いている風に見えるのでこれを採用した。
歩く時の前後の駆動の強さの比は1:(1/8)とした。

結果
前回よりは転びにくくなり、ゆっくりではあるが歩こうとしているように見える。ただし、前に歩かせようとしても、前に行ったり後ろに戻ったりするので、どちらに進んでいるのかわかりにくい、、、。

2011年1月13日木曜日

5.2 逆立ちしてジタバタ動く三輪車






以前、逆立ち2輪車を歩かせようとしたが、制御がいいかげんなため立ち上がるのがやっとで歩かせることはできなかった。久しぶりに逆立ち歩きに再挑戦することにした。
前回は2輪車のボディを作ったが、三輪車のボディが斜めに逆立ちできることに気がついたので、ボディは三輪車をそのまま使うことにした。
制御は前回と同じ方式とし、センサーも前回と同じ超音波の送・受信器を使う。
前回はセンサーを2セット使ったが、ボディの角度がわかれば良いのでセンサーは1セットあれば良いことに気がつき、ボディの前方に1セットだけセンサーを取り付けた。受信の感度を高くするため、また転んだときにセンサーが外れにくくするため、センサーの取り付け角度が変わるようにしてある。

逆立ち
ボディの角度をセンサーと床までの距離で測定する。ちょうど逆立ちになる位置にボディを置き、スイッチを押すとそのときのセンサーから床までの距離を測定し、これをゼロ点の値とする。測定の間隔は数ms程度で、リモコンで調整できるようにしてある。
2回連続して前方または後方に傾いたら、反対側にボディを動かすため、そのときの測定値とゼロ点の値の差をもとにして車輪の駆動のPWMのパルス幅を決めて駆動する。
ゼロ点の設定が難しいので、設定した後リモコンでゼロ点の値を調整できるようにした。逆立ちした状態でゼロ点の値を増やしたり減らしたりしながら、安定して逆立ちするよう調整する。

歩かせる
歩く方向にボディを傾けるようにしてみた。歩き始めるとすぐに速度が上がり、制御できなくなって転んでしまう。
次は歩く方向と逆方向に駆動する時の駆動力を弱くしてみた。4分の1くらいにすると転ばずにジタバタ動こうとする。ただし、2つのモーターの特性の違いのせいか、まっすぐに動かずに曲がってしまう。片方の車輪だけ駆動力の制御をしてみたところ、転びにくくなったので、この方法で歩かせることにした。
これだけだとあまり動かないので、歩き初めに少しだけボディを傾け、徐々に傾きをなくすようにしてある。
歩く方向はリモコンで指示する。前・後・右前・左前・右後・左後・停止。

結果
歩きたがっているのはわかるが、ちょっと動いたと思っても、しばらくすると元の場所に戻っていたりして、とても歩いたとは言えない。いいかげんな制御ではこのあたりが限界か。

孫の反応
逆立ちしているのを見て「へー」という顔をしていたが、歩いていると認識できないようで、それ以上の興味は示さなかった。