一般に,ロボットが直面する実環境は非常に複雑です.それは環境には,「膨大な要因」と「不可逆な変化である時間の流れ」が存在しているためです.
それに対して,ロボットには様々な拘束条件があります.特に身体的な拘束条件としては,どのような身体構造を持つのか,その身体構造を駆動させるデバイスは何か,デバイスの発生できる力はどの程度か,周囲を知覚するセンサは何か?,それらセンサは身体のどこにどのように付いているのか?,それらセンサが知覚できる範囲はどの程度か? 身体が異なるロボットでは当然異なる制約が課せられますが,同じロボットであっても全く同一の身体をつくることは不可能であり,微少ながら身体に違いがうまれ,それゆえ制約に違いがでてきます.これらの制約によってロボットが可能なこと(認識や動作など)が決められます.ここで,技術の進歩により,空も飛べる,海も潜れる,といったロボットがうまれてくるかもしれません.また,陸を100m5秒で走れる人型ロボットもうまれてくるかもしれません.しかし,物理的条件を超えて,瞬間移動ができる(光速以上で移動できる)ロボットなどは不可能です.同じように,光を感知できる,触覚センサを搭載している,匂いセンサによってモノを嗅ぐことができるロボットがでてくるかもしれない. しかし,どんなに多種類のセンサを搭載しても,環境を完全に認識できるロボットは非常に困難でしょう.環境の中で,不完全な「認識」と「行動」の能力しか持ち得ません.
更に身体的制約の一つにもなりますが,脳に相当するコンピュータ部分にも制約があります.それは「認識」したり「行動」を制御したりする処理能力の時間的制約です.どのように技術が進化したとしても,有限時間内に処理が要求され,かつ処理を行うために一定の時間を必要とすることは変わりません.そして最もよい結果を生むためには,まだ来ていない時間・未来の情報が必要になることも多々ありますが,ロボットには未来の情報を認識することは不可能です.
このように実環境下でロボットが有効に存在し続けようとすると,ロボットは能力的に不完全である状態で複雑な環境に対応していかなくてはなりません.これは正に生物が行っていることです.生物も不完全な能力の中で,行き続けるための有効な能力・工夫を身につけています.我々は,「知能」とはそのような能力・工夫のある見方ではないか,と考えています.そして,複雑な環境下で動き続けられるロボットの研究を通して,「知能」というものを考えいきたいと思っています.
これまでにロボットが用いられてきた環境は非常に限定的でした.
社会で用いられているロボットは工場のラインで使用されているロボットが主であり,単調な仕事を限定的な環境で行うものです.この限定的な環境,というのは,なるべく人が入らず,突発的な変化が起こらず,毎日同じ状況を再現している環境です.
一方,研究・開発で用いられるロボットは,初期はシミュレーション(コンピュータ内に構築した仮想環境下)で動かされていました.現在もシミュレーションは重要な役割を担っていますが,次第に実機を用いた研究・開発も行われるようになってきています.その際,実機が用いられる環境は,ロボットが動きやすいように外乱・ノイズがあまりなく,実験毎に同じ状況を再現できるように整えられます.
このような工場等での環境,シミュレーション,および研究開発における実験環境における特徴は,人が環境をコントロールすることができ,ロボットを用いる前にどのような環境であるのかを予想することができることです.環境をコントロールすることでロボットの用い方は飛躍的に簡単になります(それでも難しいのですが).
しかし,ロボットの適用範囲を広げ,より身近に,より便利に用いるためには整えられた環境から私達が生活している実際の環境でロボットが動作することが必要になってきます.ここで,私達が生活している環境,とはロボットのために特別に用意された空間ではなく,私達が物理的に移動可能な空間全てを指します.それは,私達が住む一般家庭内で動くことから,究極は他の惑星に行って動くことまで対象になります.その難しさは,複雑性(関連する要因が無限にある),リアルタイム性(時間に応じて不可逆的に変化していくため時間制約が存在する),開放性(何かを考える時に無視してよい環境とそうでない環境とに分けることができない)などがあります.
「知能的な振る舞い」を私達は,「身体による知能の表現」と捉えます.よって自転車にのったり運動をしたりという動きはもちろんのこと,考え込んだり本を読んだりという動きの少ないものも「知能的な振る舞い」と捉えます.特に後者の場合,そのような動きを通して見ることのできる脳みその内部の情報処理メカニズムを「知能的な振る舞い」と考えることが多いと思います. そこで私達の研究室では,「動き」に注目し,「動き」をつくり出すメカニズムまで含めて「知能的な振る舞い」と考え,実現していきたいと思っています.
ここで,「動き」について考えてみます.
コップをとる動き,ドアをあける動き,お手玉をする動き,様々な動きがあります.人間が行っている動きを正確に記録し,人間と同じ機構をもつロボットで再現してやるとどうなるでしょう?ちゃんと「動く」のでしょうか?もちろんロボットの体は「動き」ます.しかし,コップをとる動き,ドアをあける動き,お手玉をする動き,となるのでしょうか?周りの状況までも人間が動いた時と完全に同じにすれば,意味のある動きとなるかもしれません.しかし多くは,コップをつかみそこなった,あける途中でドアが引っかかった,お手玉がどっかに飛んでいった,といった失敗の動きになると思います.
人間は動くときに,「まわりの環境」に合わせて動くことができます.置いてあるコップに合わせて手の位置を修正し,握力も調整し,にぎることができます.むしろ人間にとって,「まわりの環境と全く無関係に動く」ことは難しいものです.一方,機械・ロボットにとって後者の方が簡単であり,「まわりの環境」に合わせて動くことは大変難しいことです.なぜなら,「まわりの環境」は,「未知なる環境」だからです.ここで言う「未知なる環境」とは,見たことも聞いたこともない環境のことではありません.過去になんども同じような環境・状況を経験しており,沢山の予備知識を持っているけれども,全く同じ環境・状況ではない故に,未知なる要素がわずかでも入っている,そんな環境です.昨日コップをつかんだ環境とは,今日は場所が違う・重さが違う・コップが違う.恐らく一つ一つの要素は,数mm,数mg,数mlくらいの違いかもしれませんが,沢山の数ミリ違う要素が存在する環境は過去のどの環境とも違うのです.私達の囲まれている実環境は,無限の環境パターンを許容するくらい,複雑なのです.
人間は,このよく馴染んだ未知の日常環境の中で動きを創造し続けて生きています.そのメカニズムは何か?それを考え,創り,ロボットを用いて動かす.これが現在,私達が研究している事柄です.
人間のレベルで考えると,「知能」とは言葉を操り,道具を操り,情報を操ることのように感じるかもしれません.しかし,生物のレベルで考えると,そこで共通する目標は,自然界の中で生きつづける事であり,そのために様々な工夫を行っています.その工夫を生物の「知能」と考えると,実環境の中で動き続けるという命題は,実はロボットでも生物でも同じです.ロボットの場合,生物と同じような工夫をしなくても,動き続けるという命題はクリアできます.解決方法は様々あります.その中で,生物の工夫を見習い,実現していくことで,生物の「知能」とは何か?そして機械における「知能」とは何か?について考えていくのが我々の知能研究です.