ダンプカーが自分で荷物を降ろす場所まで行く仕組みを作った。センサーはいつもの超音波を使う。
前回のものは走るスピードが速すぎたので、タイヤを交換してギア比を変えてスピードを遅くした。同じタイヤが2つしかないので、後輪が1軸になったのが残念。
超音波のセンサーは何度も使ってきたが、センサーとPICマイコンの動作を見直してみたところ、割り込み処理で問題があることが発覚した。対策をいくつか検討してみたが、結局送信部がほぼ正面にあるときだけ左右の時間差を測定できるが、それ以外の場合は方向だけしかわからない、というところで落ち着いた。
制御は、まず送信部が左・中央・右のどの位置にあるかを測定してハンドルの位置を決め、送信部が中央にくるまで後退する。その後は左右の時間差を見てハンドルを調整しながら送信部に向かって後退し、距離が近づいたら停止する。ここで送信部との角度を測定し、荷物を降ろす皿にほぼ直角に向いていればOKとする。そうでなければ真っ直ぐになるようにハンドルを切り、ハンドルを戻しながら前進し、また送信部に向かって後退する。真っ直ぐになったら、荷台を上げて荷物を降ろし、荷台を降ろして少し前進して終了とする。
荷物を降ろす容器は四角い箱だと正面からでないと降ろしにくいので、丸い皿を使うことにした。荷物はBB弾だとあちこち飛び散ってしまうので、レゴの小さくて丸いブロックを使うことにしたが、これでも少し飛び出すことがある。
孫のリー君はリモコンで動かすダンプカーは面白がって遊んでいたが、自分で動くのは好きではないらしく興味を示さなかった、、。
前回のものは走るスピードが速すぎたので、タイヤを交換してギア比を変えてスピードを遅くした。同じタイヤが2つしかないので、後輪が1軸になったのが残念。
超音波のセンサーは何度も使ってきたが、センサーとPICマイコンの動作を見直してみたところ、割り込み処理で問題があることが発覚した。対策をいくつか検討してみたが、結局送信部がほぼ正面にあるときだけ左右の時間差を測定できるが、それ以外の場合は方向だけしかわからない、というところで落ち着いた。
制御は、まず送信部が左・中央・右のどの位置にあるかを測定してハンドルの位置を決め、送信部が中央にくるまで後退する。その後は左右の時間差を見てハンドルを調整しながら送信部に向かって後退し、距離が近づいたら停止する。ここで送信部との角度を測定し、荷物を降ろす皿にほぼ直角に向いていればOKとする。そうでなければ真っ直ぐになるようにハンドルを切り、ハンドルを戻しながら前進し、また送信部に向かって後退する。真っ直ぐになったら、荷台を上げて荷物を降ろし、荷台を降ろして少し前進して終了とする。
荷物を降ろす容器は四角い箱だと正面からでないと降ろしにくいので、丸い皿を使うことにした。荷物はBB弾だとあちこち飛び散ってしまうので、レゴの小さくて丸いブロックを使うことにしたが、これでも少し飛び出すことがある。
孫のリー君はリモコンで動かすダンプカーは面白がって遊んでいたが、自分で動くのは好きではないらしく興味を示さなかった、、。
0 件のコメント:
コメントを投稿