四足歩行ロボットの開発

コンセプト

・無線方法は赤外線以外に電波方式も採用する。
・加速度センサーを使用しバランス制御ができるようにする。
・画像処理などができるようにする。

などの機能を搭載するロボットの開発をすることにしました。
ただ二足歩行で再現しようとなると歩くだけで終わってしまいかねないので、安定感がある四足歩行ロボットを採用します。

設計

毎度の3DCADで設計しています。

基本的に改良型のブラケットを組み合わせただけの構成になっています。
胴体部は47mm*72mmのユニバーサル基板がギリギリ入るサイズにし、基板の下にバッテリーを搭載しています。
ブラケットの組み立てもなるべく足が短くコンパクトになるような構成にしたつもりです。
また足の付け根はONOさん言うところの「爬虫類型」を採用しております。

製作

ブラケット以外に板金が必要なのは本体部分のこれだけです。


ブラケット側に色々な固定ができるように穴を開けたので、本体にブラケットが付くと言うよりもブラケット間を本体が繋げているだけという感じになります。


これに足のブラケットを繋げていけばメカ部は完成です。

コントロールボードは全12軸になるので前回のものでは制御軸数が足りなくなるので新作で作ります。
サイズは最初から同一の基板と決めていたのでスペース的に無理があるのでいろいろ考えました。
まずメインCPUは軸制御数が増えるのでPIC16F877としました。
ただし通常のものではサイズが大きく、搭載できないので秋月電子のAKI-PIC877モジュール(写真左)を採用しました。

このサイズでRS-232Cレベル変換ICまで搭載しているので助かります。
ただし部品面にレギュレータ、コンデンサ、セラロックなどがでっぱっているのでピンヘッダは逆さまに接続し、基板へは裏返して搭載するようにしてみました。
さらに部品の実装スペースを確保するためにシリアルEEP-ROMはPICの下に搭載します。


このようなレイアウトになるわけですが一つ問題があります。
PICのソケットに短いものを使用したためこのままではEEP-ROMとPICが干渉してしまい搭載できません。

しかたないのでEEP-ROMのソケットが入る足をドリルで大きくします。
もちろん貫通してしまってはランドが無くなってしまうのでギリギリのところでやめておきます。

こうするとICソケットの足部分が基板にもぐりこみその分だけは低くなります。

左が作業前で右が作業後です。

あとはスイッチやLED、サーボドライバとしてのPIC16F84A*2などを搭載してコントロールボードは完成です。

メカ部と基板を合体させれば基本部分は完成となります。

この状態ではまだ前回の二足歩行ロボと比べて軸数が多いだけでなんら進歩している部分はありません。
有線による「歩行(mpeg1 164KB)」の様子。

オプションボード


同サイズの基板に16F877(フルサイズ)をコントローラにして加速度センサ、RC受信機、LCDモジュールを搭載しました。
つまりオプションボード側でいろいろな処理を行い、演算結果をメインボードへ送り込み、メインボードは演算結果によって動作を決定するというような構成にしました。

加速度センサはロボットがどちらに傾いているか検出し、傾いている方とは逆に体をひねるという動作にしてみました。
加速度センサによる「オートバランス(mpeg1 416KB)」の様子。

画像処理

続いて画像処理を行います。
使用するカメラはもうコレしかないって感じでPHSのfeel H”用外付けカメラTrevaです。
電子工作な人は皆使っているので安心感もあります。

AAF ぱ研さんで接続方法は解析されていますが、PICのアセンブラ用のプログラムは存在しないので自分で書きます。
写真は毎度の16F628でブレッドボード上での実験です。
TrevaのデータをPICで読み出し、RS-232CでPCに送り出すだけのものです。

画像処理は月並みですがボールを認識させます。
このオレンジ色のボールを判定します。

ロボットの先端にカメラを取り付けPCで読み出し、PC上で処理してみます。

カメラを縦に付けたのでフレームは横になってしまいます。
色のしきい値を16進データを眺めて適当に決め、オレンジ色っぽいものにチェックを入れるようにします。
そして縦方向、横方向でチェックが入ったドットの数を数えて一番多い列と行を中心と判定します。
毎度のVisualBasicで判定プログラムを書きましたが、PICのアセンブラへ移植しなければならないので、処理は極力単純にしました。(配列は最低限だとか、掛け算割り算は使わないとか)

実際にPICへ移植し中心位置を判定してXY軸をLCDへ表示、そしてボールの方向へ体をひねる動作を仕込みました。

ボディ搭載

KYOSHOミニッツ モンスターのボディを載せてみました。

実はミニッツの搭載を設計段階から意識し、ホイールベースをチェックしたりしていました。
ついでにヘッドライトに白色LEDを仕込んで電飾しています。

ブラケットの可能性

ブラケットは今回かなりの汎用性を持たせています。
組み立てようによってはこの通りちゃんとした二足歩行ロボットにも簡単に組み換えられます。