海底資源の探査、地震や気候システムの解明、また最近では公害による海洋汚染の定量的な調査などの必要性の高まりから海中ロボットはその必要性を増している。一般に海中で作業をするロボットは有人か無人かということと通信及びエネルギ供給のためのケーブルがつながっているかどうかという二つの点で大きく分けることができるのだが大深度の海で作業することを考えると無索無人のロボットが有利である。なぜなら有人のロボットでは人命尊重の立場から安全性にゆとりをもち、また生命を維持する装置を積まねばならず全体として大がかりで非常に高価なものにならざるをえない。またケーブルを付けて6000mの海底まで行くならば6kmのケーブルを引き回すことになりこのケーブルに働く潮流の力は非常に大きなものとなる。この力に打ち勝って海中で運動をするにはロボットは非常に大きな推力を発生する必要がある。またケーブルを収納して運ぶ支援船が必要となるのでこの点でもシステムは大がかりにならざるを得ない。ケーブルがなけらばエネルギの供給を受けられないためエネルギ源を内蔵しなければならないがそれでも大深度の海底においては以上の様な理由により無索無人であることが望ましい。また有人あるいは有索型のロボットはある程度確立した技術となっているので研究する必要性は低いと思われる。このような海中ロボットの中で形状が滑らで前進するときの抵抗が小さなロボットを航行型海中ロボットと呼ぶ。 このような無索無人型の海中ロボットに仕事をさせる場合に海中では電磁波はすぐに減衰してしまい電波による遠隔操作ができないのでロボットは自律的に動かなければならない。つまりロボットは自分で自分の状況を判断しそれから目的を達成するようにロボットのコントロールをしなければならない。一般的にこのような海中ロボットのコントローラはif-thenルールによる場合分けからなるエキスパートシステムによって構築される。しかしながらエキスパートシステムはあらかじめ想定された状況では有効だが、未知の状況ではどのようにコントロールをすべきかが記述されていないので有効に働かない。そこで目的が設定されたならばその目的を達成するようにコントローラが自動的に生成され、環境が変化したり新しい環境に遭遇してもそれに応じてまた目的が達成されるようにコントローラが自動的に調整されるような自律性を持つシステムが必要とされる。 本論文においてはニューラルネットワークを利用した航行型海中ロボットの自律的なコントローラの生成法についての研究を行い、航行型海中ロボットのテストベッドロボットの製作を行い実際のロボットにおいてその働きの検証を行った。ニューラルネットワークによる制御法の古典制御に対する利点はシステムが非線形性が強いなどの理由で数学的にモデル化しにくいときでも入出力データから簡単にシステムが表現できるということ、表現されたシステムに対して任意の評価量によって制御方法の調整が行えるということなどがあげられる。本論文ではそれらの特徴を生かし既に提案されている自己生成型ニューラルネットコントローラシステム(Self-Organizing Neural-Net Controller System,SONCS)にいくつかの改良を加え、精度、コントローラの調整速度を向上させ、経験の蓄積機構を組み込んだ。 具体的には、「差分型ネットワーク」を提案しこれを利用してロボットのダイナミクスを表現するニューラルネットワークの学習精度を向上させた。また現実世界を表現するフォーワードモデルに対してこれらをいくつかの写像に分けて、より簡単な写像の組み合わせにするネットワークの「モジュール化」によってフォワードモデルの精度を上げることができた。具体的にはフォワードモデルをロボットのダイナミクスを表すダイナミクスネットワーク、まわりの地形を表すジオメトリックネットワーク、またまわりの地形からロボットの高度を表す高度ネットワークに分割した。また「暫定的教示データ学習法」を提案し、コントローラをより速く適切に調整することができるようになった。またフォワードモデルの出力を利用して複数のネットワークを切り替える方法により従来のSONCSで問題とされていた新しい事柄を学習させると古い事柄を忘れてしまうという欠点を克服し、経験の蓄積を行う方法を提案した。これらの有効性はシミュレーションでの検討を行った後に航行型海中ロボットのテストベッドを用いて水槽での検証も行いその有効性の確認を行った。 まずシミュレーションにおいてはロボットの速度や姿勢角などの状態量だけでなく、超音波センサで測ったロボットから海底面までの距離のような環境情報も並列に取り込んでそれによってロボットの海底からの高度を一定に保つようなコントローラを自動的に生成することができることを第一に示した。具体的には無索無人型の航行型海中ロボットとして実験から得た運動方程式を用いてシミュレーションを行った。このときいろいろな地形に対して高度一定で航行することを目的として自動的にコントローラが生成されること、また地形を変化させてもその地形に対して定高度で航行するようにコントローラが調整されることを示した。このようなコントローラの生成が新しい方法の導入により、より速く適切に行われることを示した。 次に航行型海中ロボットのテストベッドロボットの試作を行った。実際に海中で使われるロボットは現在の所大きく重いので、これを用いて実験を行うのは、費用、時間、人手などの面で非常な負担がかかり、また実験の回数もそれほど多くはできない。そこで小さな水槽でも実験が行え人力によって運べるようなテストベッドを製作しこれによって理論の検証を行うことを考えた。近くの水槽で1人で実験を行うことができれば、いろいろな制御方式をいろいろなパラメータで実験を行うことができ、より頑健なコントローラが開発することができるので、その上で実際の海中ロボットに搭載すればよい。目的とした水槽は20m×5m×1.5mの大きさであり、ここを周回しながらコントローラの調整を行えるようにロボットの設計を行った。このロボットの主要目は全長489mm、全幅634mm、高さ196mm、乾燥重量13.8kg、耐圧深度10m、最大速度1m/sec、連続稼働時間2時間30分である。断面形状は翼型を採用した。CPUにはINMOSのトランスピュータT805×2とNECのV50を使用し、搭載センサとしては水中で障害物までの距離を測る超音波測距センサを6チャンネル分装備しており、鉛直面内の正面、30度下、60度下、真下と左、右向きの障害物までの距離を測りこれによってまわりの地形を把握している。また2軸の傾斜計、方位計、深度計、プロペラ式流速計、左右のスラスタの回転数計、電源電圧計を装備している。アクチュエータとしては左右の正逆転可能なスラスタ、左右独立に動かせるエレベータを備えている。また、CPUによる操縦とラジオコントロールによる遠隔操縦を切り替えて動かすことができるので、ラジオコントロールで動作させて、その航行データからダイナミクスのモデル化を行い、その上でそのモデルを利用してコントローラを作り、CPUで航行させるということができる。今回は水深が浅いので電波でも操縦することができる。 このようにして航行型のテストベッドの製作を行ったが、遠隔操縦による手動操縦においては極めて機敏に動き、スラスタを左右逆転することによりその場で回頭でき、また後進することもでき、前進しながらロール方向に1回転できるほどの運動性能が得られた。次にこのロボットをCPUで自律的に航行させた。まず水槽内を四角に航行するための制御構造をbehaviorに基づく制御構造によって作りこれを有限状態オートマトンとして条件により遷移させることで実現した。具体的には東西南北のそれぞれの方位へ壁から一定距離を保ちながら進むbehavior、90度左に回るbehavior停止するbehaviorに分け、このbehaviorの間を状態推移することで水槽内を何周でも四角く航行させることに成功した。 次に平らな水底の上を提案した改良されたSONCSにより測距センサの値を用いて定高度で航行するようにコントローラの調整を行う実験を行った。水槽内を四角く航行する間に水槽の長辺に沿って航行するロボットの縦方向の制御に対して提案したコントローラの調整方法を用いて、実際のロボットにおいて平らな水底の上を定高度航行するようにコントローラが調整されることが示された。 更に水底が平らでない場合についても提案したシステムが適切に動作するか検証を行った。水底の地形はこわれものの梱包材として使われるエアーキャップと呼ばれるシートをその浮力によって水中に蒲鉾状に設置し、これを海底の地形の起伏と見なして実験を行った。水中においては空気は非常によく空気を反射するので、この形状は超音波によって精度よく把握される。このような地形の上方をテストベッドロボットを航行させて定高度で航行するようにコントローラが調整されるか検証し、提案した知識の蓄積機構は適切に動作し、平らな地形の上では平らな地形用のネットワークが選択され、平らな地形用のコントローラが調整され、同様に山形の地形の上では山形の地形用のネットワークが選択され、山形の地形用のコントローラが調整された。このことからこの機構を導入することにより、幅広い知識をネットワークの中に自動的に導入することができ、これによっていろいろな状況において目的を満たすようなコントロールができるコントロールシステムが構築できるものと結論できる。 |