2020年12月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

カテゴリー

ブログパーツ

無料ブログはココログ

« ねずーの反射行動テスト・「ねずーくんのネコブルース」 | トップページ | ドライブサーバの基板を作る »

2010年2月 7日 (日)

反射行動とPSDの距離変換のソースコード

ちょこっとCoron:ねずー製作記のつづき

記事の頭にこんな↑ヘッダーをつけることにしました。「ロボット作ろう」のカテゴリーでシェーキーの製作記、「ちょこっとCoron」のカテゴリーで、この、ねずー製作記をやっているのですが、なにせどっちも知能ロボットの話なのでわかりにくいようです。

あるひとに「ねずーに車輪エンコーダーを追加してるの?」と聞かれてしまいました。シェーキーとねずーの内容がごっちゃになっているのですね。確かにブログで読むとわかりにくいですね。

さて、今日はねずーの反射行動のおさらいです。ソースコードはこれです。↓

「main100128.c」をダウンロード

今回のコードで追加した関数は

exploreBehaviorとavoidBehavior、それにPSDの電圧を距離に変換するadj_psdです。

ビヘィビア関数の内容はこの動画と、基本動作関数についての説明を見てもらえば、すぐわかると思います。ポイントはいずれの関数にも、終了条件を設定して、終了した状況を返すようにしていることです。こうすることで、終了時のロボットの置かれた状況を推測することができます。

PSDの出力電圧を距離に変換する関数adj_psdはこれを12bitADに対応させたものです。元のコードはADが10bitの場合です。

ただ、距離がちょっと(30cmで数センチくらいの誤差)違っていたので、return(220000 / (xd - 200));の部分をreturn(220000 / (xd - 100));に調整しました。このくらいの誤差はこの値で調整できます。   

« ねずーの反射行動テスト・「ねずーくんのネコブルース」 | トップページ | ドライブサーバの基板を作る »

ちょこっとCoron」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: 反射行動とPSDの距離変換のソースコード:

« ねずーの反射行動テスト・「ねずーくんのネコブルース」 | トップページ | ドライブサーバの基板を作る »