2008年11月17日月曜日

全体設計

ロボットを構成する各要素とその主な役割を紹介します。


カメラからの画像、レンジセンサからの距離情報、方位センサからの方向情報を、PCで統括し計算してスラスタ(推進器)への入力を決めています。
たとえば
・レンジセンサで底面までの距離を測定し、目標の距離と離れているので近づくように上下方向のスラスタ(推進器)に入力を与える。
・ライントレースだと赤い線をカメラで読み取ってラインから離れると近づくように左右方向のスラスタ(推進器)に入力を与える。
・ドッキングのブイを探すため方位センサの値が北を向くように水平方向のスラスタにロボットが回転するように入力を与える。
などのような使い方をします。
しかし、PCにはUSBポート、LANポート、シリアルポートなど、センサデータやスラスタの指令などの信号の送受方法は決まっています。
そこでUSBで直接つなぐことのできるカメラはPCに直結し、
その他のセンサはH8マイコンを通してPCと通信できる信号に変換してPCに繋げています。
さらに、H8はPCからのスラスタへの指令をモータドライバの読み取れる信号に変換する役割をも担っています。
電力供給は電池から行っており、DC/DCコンバータを通して安定化して系に電力を供給しています。

2008年11月14日金曜日

容器内の板の固定

丸い容器の中にPCや基盤、カメラなどを固定しなくてはなりません。
パーツを固定するために、
1、板にPCなどの内容物を全てねじ止めなどで固定し、
2、容器に板を固定する
という方法をとりました。
今回は2の方法について説明します。
丸い容器に板を固定するには、板が
1、円周方向にまわらない。
2、上方向に飛び上がらない、下方向に沈まない。
3、前後方向にスライドしない。
この3方向への拘束が必要です。
そこで下図のように細長いレールを容器に接着し、これを用いて板を拘束しました。






このレールを用いて下のような板を固定します。






レールは拡大すると下のような形をしています。
細長い直方体のアクリル棒をやすりで角を削り取ってこの形を作ることができます。
やすりは目の粗い紙やすりを使うとスムーズに削れます。
斜面を完全に曲面に作る必要はなく、ある程度面が合うくらいで十分接着することができます。



この棒を2本作って円筒部の内面に接着します。
接着する際には板を容器に入れておいてそれに合わせて行うとうまく接着できます。
接着剤としてアクリル癒着接着剤を用いると液が板(アクリル以外の材料、HALにはジュラルミンの板を用いました)に付着してもくっつくことがなく、棒と容器だけを接着することができます。
棒と板の間は僅かにでも隙間をあけておかなくては板を抜き差ししづらくなるので、板にビニルテープを一枚貼っておいた状態で接着するなど、レールと板の間に若干のオフセットをとるとよいでしょう。

板はレールの上を通すのではなく、下に通します。
板を上のレールと容器で挟んで固定します。
これで円周方向と上下方向の拘束ができました。
前後方向の拘束は ゴムシートを用いて行いました。
1mm厚の薄いゴムシートを板に貼り付け、レールとゴムとの間の摩擦力で前後方向の拘束を行いました。
滑り止めゴムシート
http://fa.misumi.jp/m00-00.jsp


画像は前方hullのものですが、後方hullも同じ方法で板を固定しています。

2008年11月12日水曜日

電池

AUV(無索水中ロボット)であるためには電力を外部から得るわけにはいきません。
そのため電池からの電力供給が必要になってきます。
電池はラジコン用の充電池を用いました。
option No.1 フォーミュラー4500Ni-MH ZAPストレート
7.2V、4500mAhのニッケル水素電池を4本用意し、2本を直列に繋げて14.4V・4500mAh、
2本を並列に繋げて7.2V・9000mAhの電源として用います。
直列の電源をDC/DCコンバータで12V、5Vに変換してPC系へ、
並列の電源を直接スラスタ系へと繋ぎました。

          図:バッテリ系

さらにコネクタの接続をかえるだけで外部電源と内部電源を変換できるようにしました。



           図:電源外部内部切替


防水コネクタメスに外部電源をつなげると外部から電力を供給することができ、


          図:デバッグ用外部電源接続


電池をつなげると無索でロボットを動かすことができるようになります。


          図:AUVモード用内部電源接続


防水コネクタは多治見無線電機製の防水コネクタを用いました。

http://www.tajimi.co.jp/

1ピンで流せる電流量が限られていますので(1ピンあたり2A)、

8ピンのものを選び14.4Vを2ピン、7.2Vを2ピン、GNDを共通で4ピンとして十分な定格電流を確保しました。

2008年11月7日金曜日

圧力容器

 今回はHALの圧力容器についての話です。
 アクリル材の半球、円筒、円盤、ドーナツ状の円盤の貼り合わせ・組み合わせで水深約10mまでの耐圧性能を持った圧力容器を作ることができます。
 直径150mm、厚み3mmのアクリル半球と直径150mm、厚み4mmの円筒をアクリル用癒着接着剤で貼り合わせて前方圧力容器を作ります。
直径150mm、厚み3mmの円盤と直径150mm、厚み4mmの円筒を貼り合わせて後方の圧力容器を作ります。
 それに蓋をつけると出来上がりなのですが、この蓋にはひと工夫が必要です。普通蓋には溝を掘ってOリングを用いて水密を保ちますが、この溝をHALでは径の違うドーナツ状円盤の貼り合わせせで実現しました。
図1:蓋の貼り付け


 142mm内径に合うOリング規定の溝幅7.5mmのところを8mmで作りましたが問題なく水密効果が得られました。
 鏡板φ150mm/t3、ドーナツ大φ141mm/t5、ドーナツ小φ132mm/t8、ドーナツ大φ141mm/t5をこの順に貼り付けて蓋を作りました。
 このとき中心を丁寧に合わせることに注意してください。
 容器に蓋を付けただけでは外にケーブルが出せません。
 水中コネクタであるバルクヘッドコネクタは高価であり、コスト削減のためIP68(防水1気圧規格)のLAPP社製スキントップを用いてケーブルを直接外に出しました。
 スキントップを通す穴径は通るギリギリの大きさが推奨です。

図2:前方hull



図3:後方hull


 使用したスキントップはST-7、ST-M16などです。使うケーブルの数や太さに合わせて選びます。http://www.kmecs.com/products/products.cgi?id=17
前方は蓋に12個の穴をあけ、後方は鏡板に3個の穴をあけましたが、どちらも問題なく耐圧効果は得られています。
 耐圧計算は浦環・高川真一編著「海中ロボット総覧」のpp.151~の式を参考に計算し、水深10m耐圧を目標に設計しました。
 前方の蓋はフレームと容器で挟んで固定し、後方の蓋はバンドで留めました。

図4:空っぽのHALurabo



 蓋を取り付ける際、グリスを塗っておくと楽に閉めることができます。

☆水中ロボコン☆

11月1日に水中ロボコン大会がありました。

HALウラボもこの日までに無事完成させることができ、実験水槽では個別にですがそれぞれのタスクをクリアできるようになりました。



ケーブルが付いていますが、これはスタートの指令を送るためのもので、タスク中に通信を行っているわけではありません。
本番には無索(電力供給・通信のためのケーブルなし)で挑むことができました。

今回の水中ロボコンではまだ少し不安定であったレンジセンサを使わず、スラスタの回転時間を用いて深度制御を行いました。

第一戦ではHALウラボの浮力が大きすぎてすぐに浮上してきてしまいました。

第二戦では浮力が小さく、沈んでしまいました。

いずれも目標を探そうと動いてはいましたが結局見つけることができずクリアすることができませんでした。

結果、HALウラボは第4位になりました。

次回の水中ロボコンは4月。
今回の初舞台で多くの課題が見つかり、これからはそれらを1つ1つクリアしていくことを目標としてレベルアップしていこいうと考えています。

2008年7月18日金曜日

☆方位センサ☆ Part1

今日は方位センサの部分を話しましょう。

ハルの方位センサにはRDCM-802デジタルコンパスモジュール(秋月電子)を使っています。値段は¥5,200です。
詳細参照:http://www.technobase.jp/eclib/OTHER/DATASHEET/rdcm802j.pdf










RDCM-802ボードには電池ホルダー(9Vバッテリー用)がありますが、外部電源を繋いで起動したら電圧6.6Vから動作し始めることを確認しました。

電源は、006P(9V)電池から5Vレギュレーターで供給されますので直接電源を供給する場合は5Vで動作可能です。具体的な電源と接続方法は以下のようになります。
 






黒 → D0
赤 → D1
白 → D2



実験したときの様子を下の図に示します。













 








本センサの出力は3ビットなので、表せる方位は8方向、つまり45度ごとに信号が変化します。
8方向に対応して以下の表の通りになっています。ここでのポイントは3つの線を正しく繋ぐことです。

表1 方位センサの出力信号
H8に接続してテストしました。
まず北に向いたところ(信号が01 01 00です) 00は表1の「0」、01は「1」に対応しています。
















45°左回したところ (北西側に来る信号が01 01 01になります)




2008年7月11日金曜日

☆スラスタ☆ Part1

さて、HALウラボのスラスタ(推進器)部分を作りましょう。

普通、水中でモーターを動かすためには水が入らないような工夫が必要です。

そのための方法としてマグネットカップリングやメカニカルシールなどがありますが、今回はなるべく安く手軽に作るために、ブラシレスDCモーターを直接水中で使う作戦です。以下のページを参考にしました。

http://www.geocities.jp/suityurov/motor01.htm

HALのモータにはブラシレスDCモータHP-Z2209-26を使います。ラジコン用なので安く、入手しやすく、また使いやすいのです。値段は¥6,710です。
詳細参照:
http://www.aircraft-japan.com/prod_datasheets/hp/z22/z22all.htm







プロペラは以下のものを使いました。
模型用プロペラ YSP3809 値段は¥3,650
   [商品説明]
    TDK 4537378032204
    SP3809 スクリューV
    D(直径)      38mm
    P(ピッチ比)    0.9
    適用シャフトネジ 4.0mm

ドライバはQuark Pro Car 22Aを使っています。値段が¥10,900でちょっと高いですね。 本来はラジコンの送受信機を使って制御するものですが、HALウラボではH8で制御します。






ドライバの設定は以下の通りです。

モード設定:ブレーキ・バック

ブレーキの設定:0%

ドラグブレーキ強度設定:3%

バッテリー設定:ニッケル水素(ノーマル)

リチウムポリマーバッテリーカットオフ電圧設定:2.2V

設定方法:http://h1070250.hobbyshopnow.com/ProdInfo/Files/SQB0022APC_33A_65AR_80BC_125BMP.docを参照してください。

実験したときの様子を下の図に示します。










H8からドライバへ送るPPM信号は次のようなものです。














ドライバのモード設定が「ダイレクトリバース」にできず、なぜか「ブレーキ・バック」にしかできませんでした。このため、モーターの回転方向を変えるには以下のような信号を送らなくてはなりません。ラジコンの送受信機を使えば問題ないかもしれませんが・・

右回転から左回転へ:max(右回転) → center(ニュートラル) → min(ブレーキ) → center(ニュートラル) → min(左回転)
左回転から右回転へ:min(左回転) → center(ニュートラル) → max(右回転)


準備ができたら、さっそく動かしてみましょう。

まず、ペラをつけずにモータが水中で動くかどうかを確認します。









次はペラをつけて水中テストをします。接着にはエポキシ系接着剤(araldite)を使いました。シャフトの径よりもペラの穴がわずかに大きいのですが、うまく軸を合わせてください。ペラを付けた後一日ぐらい待ってね。ここでのポイントはペラの回転軸がモータの回転軸と完全に合うように確認することです。モーターを手で回して、ペラの先端がブレないことを確認します。









まわりました!!7Vで7A程度流れます。

2時間の連続稼動でも問題なしです。それから一ヶ月半ほど空中で放置しましたが順調に動いています。錆などの心配もなさそうです。まったくメンテなしで、そのままで使えました。ただし海では使えないかもしれませんけどね。

2008年7月10日木曜日

競技ルール

さて

いよいよ始まりました。このページでは水中ロボコンに向けてU研究室が製作中の自律型水中ロボット「HALウラボ」の情報を公開します。水中ロボットは陸上ロボットと比べて電波が使えない、水漏れを防ぐための特別な仕掛けが必要になるといった問題があります。そして水中用のセンサはとにかく高額です。どうにかして安く手軽に作れないものでしょうか。。我々の試みが、水中ロボットを作るときの参考になれば幸いです。うまくいった部分から順次UPしていきます。

ちなみに、HALウラボの名前の由来は、 High Autonomy Level Ura Laboratory Robot です。