2010年3月末で仕事が終わりになり時間ができたので、3才の孫(男の子)が遊べるおもちゃを作ることにした。動くものに限ると思いあれこれ検討した結果、以前息子用に買ってあったレゴのマインドストームを使うことに決めた。制御は自作することにしてネットでCPUの調査を行い、昔ながらのDIPのパッケージが自作向きなのでPICを使うことにした。 いくつかおもちゃを作成し、自分用のメモを作っておくことにしたがついでなのでブログを作成して公開することにした。 写真と動画を見て笑っていただきたい。 なお、1ページで表示できなくなってきたので、以前のものを見る場合は、このページの最後の「前の投稿」をクリックしてください。
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.まっすぐ後退し、駐車場に近付いたら停止。これで駐車終了。
リモコン操作
「戻る」ボタンで駐車開始。
「決定」ボタンで停止。
孫の反応
興味なし。大きくなったらまた見せることにして、もっといろいろ作っておくしかないか。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿