反射行動とPSDの距離変換のソースコード
ちょこっとCoron:ねずー製作記のつづき
記事の頭にこんな↑ヘッダーをつけることにしました。「ロボット作ろう」のカテゴリーでシェーキーの製作記、「ちょこっとCoron」のカテゴリーで、この、ねずー製作記をやっているのですが、なにせどっちも知能ロボットの話なのでわかりにくいようです。
あるひとに「ねずーに車輪エンコーダーを追加してるの?」と聞かれてしまいました。シェーキーとねずーの内容がごっちゃになっているのですね。確かにブログで読むとわかりにくいですね。
さて、今日はねずーの反射行動のおさらいです。ソースコードはこれです。↓
今回のコードで追加した関数は
exploreBehaviorとavoidBehavior、それにPSDの電圧を距離に変換するadj_psdです。
ビヘィビア関数の内容はこの動画と、基本動作関数についての説明を見てもらえば、すぐわかると思います。ポイントはいずれの関数にも、終了条件を設定して、終了した状況を返すようにしていることです。こうすることで、終了時のロボットの置かれた状況を推測することができます。
PSDの出力電圧を距離に変換する関数adj_psdはこれを12bitADに対応させたものです。元のコードはADが10bitの場合です。
ただ、距離がちょっと(30cmで数センチくらいの誤差)違っていたので、return(220000 / (xd - 200));の部分をreturn(220000 / (xd - 100));に調整しました。このくらいの誤差はこの値で調整できます。
« ねずーの反射行動テスト・「ねずーくんのネコブルース」 | トップページ | ドライブサーバの基板を作る »
「ちょこっとCoron」カテゴリの記事
- SoftModem用インターフェイスのまとめ(2010.10.05)
- iRover走行テスト!ジャイロはやっぱり振動に弱い(2010.07.29)
- iRoverにもCoron搭載(2010.07.27)
コメント