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番目はやり直して成功した例。
孫の反応
一度動かしてみせ、うまく台に乗せることができたが、どうもリモコンで操作していると思っているらしい。自分で動いていることを説明してもう一度見せる必要がある。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿