« BLANCAのアプリを作る 1日目 | トップページ | BLANCAのアプリを作る 2日目(VGA) »

2006.10.28

SH2基板で動くロボットを見た

今日は、東京工業大学のお祭りである「工大祭」に行って、「ロボット技術研究会」の展示を見てきました。

毎年相変わらずいろいろなロボットが動き回っています。今年は完成度が高かったという印象です。

マイクロマウスや、各種コンテスト用のロボットは結構高度な処理や条件判断をしなければならないためマイコンを積んでいるのですが、そのうちかなりの数のロボットがInterfaceのSH2基板を積んで動いていました。残りは秋月のH8ボードのようでした。
センサで周囲の状況を感知してモータを適切に動かす、という制御のループが閉じているロボットを見るのは楽しいですね。PがDがどうのこうのなんて会話で盛り上がってます。

しかし、そのようなロボットのSH2基板をよくみると、集合抵抗R5の左端の端子からジャンパ線が延びてGNDに接続されています。それから3端子レギュレータに大きな電解コンデンサをつけたり、さらには例の問題の3端子レギュレータを外してしまって外部電源にしてしまった基板もありました。

さて、部員の人に聞くと、みんな口をそろえて「このSH2基板は安定して動かない」といいます。たしかにどの基板にも改造された跡がありました。でも、そんな暴れん坊な基板を改造して、ちゃんと動くロボットを作り上げた皆さんは偉いです。

SH2基板はJTAG端子を使っていなさそうだったのがちょっと残念でした。早いところフラッシュライタ機能もつけて使いやすくして、どんどん使ってもらいたいところです。

その夜、友人と話していて、FPGAで対数をとる演算方法のヒントを思いつきました。なぜFPGAで対数を取りたいかというと、FPGAでスペアナをつくろうとした場合、
P=log sqrt(x^2+y^2)
という計算が必要になりますが、logをとる演算回路が大変そうだからです。平方根はlogの外に出せるし、x^2とy^2はFPGA内蔵の乗算器と加算器でできるので、難しい演算は対数の部分になります。
対数を計算するのにテーブルを作ってしまう、という手もあるのですが、対数をとるという演算は、広範囲に広がった入力を狭い範囲の数値にマッピングするものなので、テーブルだけでは簡単にはできません。
アルゴリズムのヒントを得て、帰りの電車の中で紙上で計算してみると、かなりコンパクトで高速な回路でいけそうな気がしてきました。

|

« BLANCAのアプリを作る 1日目 | トップページ | BLANCAのアプリを作る 2日目(VGA) »

コメント

コメントを書く



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




« BLANCAのアプリを作る 1日目 | トップページ | BLANCAのアプリを作る 2日目(VGA) »