計算機は外部の環境を認識しそれに働きかける- 情報コンセント教室の計算機を用いて自走車の制御を 行なう学生実験と人間の行動を理解し予測し支援する知能ロボットを 開発する卒業研究 -神戸大学 工学部 情報知能工学科 服部元史
1.はじめに情報知能工学科と聞いて高校生は何を期待して、その学科を 受験して進学したいと考えるのだろうか。おそらく多数の人達がコンピュータの勉強ができるからと考え、 インターネットやコンピュータグラフィックスなどの華やかな世界を思い描きながら情報知能工学科を志望するのではないだろうか。 “１回生から３回生までの間、講義は退屈だったが、(計算機を用いた) 演習はおもしろかった”と情報知能工学科の卒業研究生が語るのを聞きながら、 上記のように小生は思った。
確かに情報知能工学科は彼らの期待を裏切っていない。進学すれば演習でも卒業研究でも、おもいっきり計算機を使える環境にある。ただし情報知能工学科は、計算機の使い方だけを学ぶ学科ではない。 計算機を深く学ぶために、計算機システムのハードウェアとソフトウェアに関する機関技術や応用技術を学ばなければならない。 そして忘れてはならない事は、計算機は外部の実環境と結びついているという事であろう。 (情報知能工学科の教育内容は、上記でつくされている訳ではないが、本原稿で述べたい内容につなげて行くために、これ以上は触れない。)
計算機が外部の実環境を認識し実環境に働きかける、つまり センサで観測された外部環境の情報を、計算機が処理して様々な認識，判断を行ない、ハードウェアを制御して外部環境に働きかけるという側面を教育するために、情報知能工学実験 III という科目が設けられている。これは情報コンセント教室のワークステーションを用いて自走車を制御する実験であるが、それについての詳細を以下で述べる。
またこのような学生実験を通して、計算機によって機械を制御する事に興味を持った学生が４回生になった時に、例えば小生が所属しているような研究室に進んで、周囲の環境や人間を認識して行動する移動ロボットの開発などを卒業研究として行なうようになるので、それについても述べる。
情報知能工学科における学生実験や卒業研究の中で、センサで観測された外部環境の情報を、計算機が処理して様々な認識、判断を行ない、ハードウェアを制御して外部環境に働きかける工学システムの教育が行なわれ、外界を認識しそれに働きかける知能を実現するという計算機の重要な側面が教えられている事を本稿でお伝えしたいと思う。

2.情報知能工学実験 III の概要
工学部情報コンセント教室 S 209 にはワークステーション Panasonic Solbourne P Series P
2100 が約４０台備えられている。これを用いて自走車を制御するのであるが、実験は 自走車を組み立てる所から始まる。そして完成した時には、その自走車は、光源を探索しその方向に向かって行く機能と、壁などの障害物にぶつかった事を認識し、それを回避する事ができるようになっている。そのようなハードウェアとソフトウェアを作成，開発する事が、実験の主旨である。
光源を探索しその方向を認識するための 光センサ回路と、壁などの障害物にぶつかった事を認識するためのタッチセンサ回路を作成し、プラモデルの戦車(これが自走車の原型である)に取り付ける。電子回路をハンダごてで作成するのは、これが始めてという学生も多い。
光センサやタッチセンサが正常に働くことが確認されると、次は自走車のモータを制御する回路を作成する。ワークステーションから送られてくるビット命令を、左右２種類のモータの前進，後進，停止に変換し、自走車の前進，後進，回転などの動きを実現する回路で、リレーとトランジスタから成り立っている。
このモータ制御回路を製作するのに手間取る学生達は少なくない。作成された回路が正常に動作しないときに、どこで間違えたかを見つける事に苦労する学生も多い。 どうしても間違いを見つけられず、最初から回路を作り直す者も出てくる。このような苦労を重ねることで、物を作成する
際には、 動作を確認しながら少しずつ作成すべきである事を悟っていく。
以上の回路が完成すると、いよいよ自走車をワークステーションにつないで、思い通りに自走車を動かせるようになるまでプログラムを開発し続けることになる。毎年このプログラムを開発する段階が、学生達にとって一番おもしろいと感じるようである。年末の学生にとっても 忙しい時期であるにもかかわらず、手の込んだプログラムを 開発するために、正規の時間以外も実験させて欲しいと申し出る班もある。

3.情報知能工学実験 III で学ぶ事
上記の実験を通して学べる事は、


計算機と機械との間での情報のやり取りの形式。



計算機から出力されるビット列を、機械の動きに対応させる手法。



外界をセンサで観測して得られたアナログのデータをデジタルの値として取り込む A/D変換の手法。



外界の状態を判断するという知能は、計算機のプログラムでどのように実現されるのかという簡単な物ではあるが人工知能の雛型を知る事。などであろう。もちろん自走車を作成したり種々の電子回路を作成する体験も非常に貴重なものであるが、本稿は計算機と機械の関係という観点に注目する。
１回生から３回生まで様々な講義や演習，実験などを通して、ハードウェアやソフトウェアの知識を身に付けてきた学生が、それらの知識を総動員して３回生の後期に 一つの明確な目標を実現できる工学システムを具体的に作成する。意味のある工学システムを実際に作る事で、今まで学んで来た知識の意味が再認識され、より深い理解が得られていると思う。

4.計算機の知能で制御される移動ロボットの卒業研究
上記のような学生実験を通して、機械を知能的に制御する計算機に興味を持った学生は、例えば小生が所属しているような研究室に進んで、知能的な移動ロボットの 卒業研究を行なうのであろう。 知能的な移動ロボットとは、周囲に人間がどこに存在するのかを認識し、その人間の動作を理解し、その人間の意図を推測し、その人間を支援できるようなロボットである。
このようなロボットを開発するためには、赤外線センサや超音波センサやカメラなどのハードウ
ェアへの深い理解と、それらから得られてくる情報を計算機で処理して知能的な判断を行なう アイディアが大切である。生物のような知能を機械でいきなり実現しようとしても無理である。私見ながら、生物と機械は根本的に別種の物で、生物に見られる知能の真似を、機械に行なわせるに当っては、その働きを計算機で実現できるようにする具体的な手続き(それは人間の知能のみが開発できる)が不可欠である。生物の知能が非常に崇高であるのに対して、機械に搭載される知能はアルゴリズムに過ぎないのかもしれないと小生は考えている。(生物を深く研究しそれと同じ機能を機械で実現しようと研究されている方々は、また別の考えを持っておられるかもしれません。
機械はその知能まで込めて、いくらでも生物に近付き得るという御意見のかたもいらっしゃると思います。 小生の辿ってきた短い研究生活からは、これ以上深く論じられませんが、本稿で紹介する学生実験と卒業研究は、機械と生物は根本的に異なるという考えに基づいている気がいたしま
すので、このまま続けます。)
人間の存在を判断するためには、赤外線センサで温度の高い部分を検出し(人間の体温は気温より高い)、そこまでの距離を超音波センサで測れば人間の位置まで判定できる。また人間の動作を認識するためには、人間の動作をカメラで動画像として観測し、その画像情報を低次元化して得られる時系列のパターンから、人間の動作の種類を判断できるかもしれない。動作時系列のパターンを判断するにあたっても、人間ならばその時系列のグラフを目で見れば一目瞭然である。

しかし同じ事を計算機で実現するには、グラフの局所的な形を数量的に表現する wavelet 係数などに基づいて評価する事が必要かもしれない。また人間の将来の行動を予測するためには、 過去何日間かのその人間の行動を観測した結果に基づいて、その人間の癖を反映した状態遷移の様子を表すネットワークを作成する事が有効かもしれない。
具体的には、当研究室では下記のような方法で実現している。限定された環境における人間の行動を、状態から状態への推移として捉えて、状態を place 推移を transition とする Petri net で人間の行動パターン(人間の癖)を表現する。
上記の限定された環境において人間の行動を実際に観測したデータから状態から状態への推移確率を計算(学習)し、その結果完成した Petri net に基づいて人間の行動予測を行ったところ、ある程度正確に行動を予測できることが分かった。
これは人間が本人の行動パターン(癖)をロボットに教えて、それを学習したロボットが人間の行動を予測できるようになるという意味での、人間とロボットの協調として実現されるロボットの知能であると言える。
この Petri net による行動予測システムをロボットに実装するために、人間の行動の推移を認識する視覚システムをロボットに持たせるのが望ましいと考えた。人間の行動を動画像として採集し、その情報を圧縮させ低次元の時系列に変換し、時系列パターンから元の行動を推測する視覚システムを構築した。
人間が本人の行動を(無意識に)ロボットに教えて、それをロボットは Petri net という離散事象や画像時系列として理解するという意味で、人間の行動とロボットの視覚システムとの相互作用によりロボットに実現する知能の目処がたちつつある。
このように、ロボットにとっての外界から観測された情報を知能的に処理して判断を下す事を実行するのは、計算機に開発されたプログラムである。当研究室では Dell OptiPlex のようなDos/V 計算機を用いて、上記のような情報の処理を行ないロボットの知能を実現しつつある。
また上記の処理によって、その人間の将来の行動を予測できれば、次にそれに見合った支援をロボットが行なう。その動作を実現するために、移動ロボットのモータを具体的に動かすのも計算機の役目である。

5.おわりに以上、外部環境を観測して得られた情報を処理して判断を行なう知能的を実現する計算機と、その判断に基づいて機械を知能的に制御する計算機という観点から、情報知能工学科における学生実験と卒業研究の一例を報告させて頂きました。
計算機システムのハードウェアとソフトウェアに関する機関技術や応用技術を教育すると同時に、 計算機が外部の実環境を認識し実環境に働きかける、つまりセンサで観測された外部環境の情報を、計算機が処理して様々な認識，判断を行ない ハードウェアを制御して外部環境に働きかけるという 側面まで含めて、教育されるべきであるし、また現に教育されている事を述べさせて頂きたかったのです。
このような機械系のハードウェア教育と結びつけた形で計算機の教育を行なう事の大切さが認識され、情報知能工学実験の改訂が計画されており、平成１１年度からの新カリキュラムで実現される予定です。本稿で紹介させて頂いた情報知能工 実験 III は半年間に渡って実施される物ですが、毎年課題が多い割に実験時間が足りないという感があります。(従って多くの班が、正規の時間以外にも 実験を行なっています。)新カリキュラムの実験では１年半をかけて、もっと本格的な移動ロボットを製作し、 計算機で制御する予定です。計算機による機械の制御方法やハードウェア作成のノウハウなども 実験の時間を用いて本格的に講義される予定です。
計算機に関する最先端の話題が主に記される MAGE に、少し場違いの原稿を書かせて頂きましたが、そのような話題は小生以外の多くの方々によって論じられると推察いたしましたので、小生が直接担当する機会に恵まれた学生実験や卒業研究を中心にまとめさせて頂きました。