2010年3月末で仕事が終わりになり時間ができたので、3才の孫(男の子)が遊べるおもちゃを作ることにした。動くものに限ると思いあれこれ検討した結果、以前息子用に買ってあったレゴのマインドストームを使うことに決めた。制御は自作することにしてネットでCPUの調査を行い、昔ながらのDIPのパッケージが自作向きなのでPICを使うことにした。 いくつかおもちゃを作成し、自分用のメモを作っておくことにしたがついでなのでブログを作成して公開することにした。 写真と動画を見て笑っていただきたい。 なお、1ページで表示できなくなってきたので、以前のものを見る場合は、このページの最後の「前の投稿」をクリックしてください。
2011年8月28日日曜日
8.5 自分で荷物を取り台に乗せるフォークリフト
フォークリフトが自分で荷物を取り、台に乗せる仕組みを作った。
作成中にモーターをもう1つ調達できたので、車輪の駆動を左右それぞれ独立に行うようにした。これで、ディファレンシャルギアなしでも曲がりやすくなったし、駆動力も強くなった。
モーターは4つ使っており、車輪の駆動に2つ、フォークの上下に1つ、ステアリングに1つ使用している。
フォークの上下とステアリングはフォトインタラプタで移動量を監視しているが、車輪の駆動はフォトインタラプタを使えないので、駆動時間だけで制御している。
センサーは駐車場に車を停めるのと同じ超音波センサーを使い、制御もほぼ同じ仕組みで行っている。
台の方向は、台から送信される超音波が左右の受信器に届く時間差で検出する。
フォークリフトから送信する超音波が台の壁で反射され、左右の受信器に戻ってくる時間を測定し、台との距離と台との角度を測定する。
台はマニュアル動作用に作成したテーブルと散歩のお供で使った引っ張る車を合体させ、壁を拡大して作った。200ms毎に40KHzの超音波を発生する。
フォークリフトは受信用のセンサーを左右それぞれ1つ持ち、距離測定用の送信器を1つ持つ。送信器の位置は最初はフォークの後ろにしたが、これだとフォークの上下の位置の制限もあるし、台との間に柱などもあったりして不安になり、結局フォークの下に取り付けることにした。
動かす前にマニュアルでフォークを床ギリギリの高さにし、ステアリングを真っ直ぐにしてリセットボタンを押しておく。
荷物を取り上げるところは、方向の検出はなしでやることにした。荷物をフォークリフトの正面に置き、フォークを少し持ちあげて荷物までの距離を測定し、一定距離まで前進する。そこで再度距離を測定し、フォークを床に降ろして前進し荷物を台より少し高い位置まで持ち上げる。
その後、荷物を持って後ろに下がり、台と真っ直ぐになるように方向を調整し、だいたいまっすぐになったところで停止し、台に向かって真っ直ぐ前進する。
台と一定の距離に近付いたら停止し、台の中心に近いか、台との角度が直角に近いか測定する。OKなら前進して荷物を台に降ろし、後ろに下がって終了。
NGの場合は再度後ろに下がり、やり直す。
これで、なんとか予定の動きができるようになったが、成功の確率がかなり低いのが残念である。
動画は2つあり、最初のものは一度で成功した例で、2番目はやり直して成功した例。
孫の反応
一度動かしてみせ、うまく台に乗せることができたが、どうもリモコンで操作していると思っているらしい。自分で動いていることを説明してもう一度見せる必要がある。
2011年8月1日月曜日
8.4 ハンドルがモーターで動くフォークリフト
レゴのモーターを1つ調達できたのでフォークリフトのハンドルをモーターで動かすようにした。
また、以前のフォークリフトを友人に見せたときに「こいつが自分で荷物を取ってテーブルに置くのか」と言われたことを思い出したので、実現方法を検討し、駐車場に車を停める仕組みを使うことにした。
以前のフォークリフトをベースに、ハンドル用のモーターと超音波の送信用のピエゾ1つ、受信用のピエゾを2つ追加した。
ピエゾを実装する位置の関係でフォーク用のモーターは高い位置に置かざるをえなくなり、以前よりも背が高くなった。
フォークリフトが自分で荷物を運ぶ制御はこれから作り始めるが、マニュアルでは動くようになったので、とりあえずブログに書き込むことにした。今月中には自分で荷物を取ってテーブルに置く仕組みを動かすつもりである。
ハンドルの駆動は、以前手で回していた軸に歯車をつけ、これをモーターで駆動する。ハンドルの角度を検出するため、歯車にフォトインタラプタをつけてある。ハンドルは右回転・左回転・停止・直進の制御ができる。右回転・左回転の場合、一定の角度になるとそれ以上角度が大きくならないようにモーターを停止させる。
フォークを駆動するモーターの取り付け位置が高い所に変更になったので、駆動用のチェーンが短くなり、フォークが以前よりも高い位置まで上がるようになった。フォークの上下の位置を制御するため、フォークを駆動する歯車にもフォトインタラプタを取り付けた。
超音波を送信するピエゾは車体の中央に置く。フォークの後ろ側にしか置けなかったので、超音波を送信するときはフォークを高い位置に移動させておく必要がある。
受信用のピエゾは車体の左右に置く。
荷物までの距離を測定できるよう、荷物のタイヤの後ろに壁を作った。
荷物の台から超音波を送信する、また距離測定用の壁も必要なので、荷物の台に以前作った散歩のお供の引っ張る車をそのままくっつけてある。
写真は10枚ある。最初の3枚はフォークリフト全体の写真。最初の写真に送信用のピエゾが見える。次の2枚はフォークの駆動部とフォトインタラプタ、次の2枚はハンドルの駆動部とフォトインタラプタ。次はフォークリフトと荷物の台で最後の2枚は荷物の台。
動画は2つあり、最初は仕組みの説明で、次は荷物をマニュアルで台に移動するデモ。
登録:
投稿 (Atom)