ねずーの反射神経テスト・「とびだすな!ロボは急に止まれません?」
今回は反射神経テストの基本編です。
運動テストでは、ひたすら指定のパワーで指定時間走る関数go_fwdを作りましたが、これではセンサーの処理を入れられません。
そこで50msだけ直進補正しながら前進するkeep_fwdという関数を作りました。これを実行してはセンサーをチェックし、問題なければまたkeep_fwdを実行して・・・というやり方で、障害物を見張りながら走行させることが出来ました。
こう言った処理は、タイマー割り込みを使えばもっと確実にできるのですが、今回はあまり勉強せずにCoronのサンプルプログラムを活用しようという虫のいい企画なので、こんな風になりました。
背の高い(センサーの視野に入っている)物体は正面のPSDで検知し、急ブレーキで停止後方向転換。センサーに引っかからない物体は、加速度センサーで衝突を検出、少しバックして方向転換するようにプログラムしてあります。
加速度センサーはそのままだと周波数帯域が広過ぎて、ちょっとつついたくらいでも大きな信号が出てしまいます。そのため0.39ufとかなり大きめのコンデンサを出力に入れて帯域を制限しています。
とにかく動画はこんな感じです。
次回は、ここまでの回路図と、実験に使ったソースコードをアップしたいと思います。
« ホイールエンコーダーを作る | トップページ | ねずーの回路図とテスト用ソースコード »
「ちょこっとCoron」カテゴリの記事
- SoftModem用インターフェイスのまとめ(2010.10.05)
- iRover走行テスト!ジャイロはやっぱり振動に弱い(2010.07.29)
- iRoverにもCoron搭載(2010.07.27)
コメント