2011年1月13日木曜日

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






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

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

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

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

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

0 件のコメント:

コメントを投稿