日本ロボット学会誌

Vol. 17

No. 6, pp.855〜864, 1999

855

学術論文

自己組織化マップを用いた移動ロボットによる行為系列からの環境認識
山田 誠二∗1

室田 盛道∗2

Recognizing environments from action sequences using a self-organizing map
Seiji Yamada∗1 and Morimichi Murota∗2
In this paper, we describe development of a mobile robot which does unsupervised learning for recognizing environments from action sequences. Most studies on recognizing an environment have tried to build precise geometricmaps with high sensitive and global sensors. However such precise and global information may not be obtained inreal environments. Furthermore unsupervised-learning is necessary for recognition in unknown environments without
help of a teacher. Thus we attempt to build a mobile robot which does unsupervised-learning to recognize environments with low sensitive and local sensors. The mobile robot is behavior-based and does wall-following in enclosures.
Then the sequences of actions executed in each enclosure are transformed into input vectors for a self-organizing
map. Learning without a teacher is done, and the robot becomes able to identify enclosures. Moreover we developed
a method to identify environments independent of a start point using a partial sequence. We have fully implemented
the system with a real mobile robot, and made experiments for evaluating the ability. As a result, we found out thatthe environment recognition was done well and our method was adaptive to noisy environments.
Key Words: Action sequence, Self-organizing maps, Environment recognition, Mobile robot

1.

は

じ め

な生物でも環境の認識は行っているし，例えば，現在いる環境にを過去訪れたことのある環境と同定するという，重要ではある

移動ロボットによって環境をモデリングする従来の研究は，
占有グリッド（occupancy grid）に代表されるようにセンサが比較的簡単な環境認識のためには，必ずしも精度の高い幾何学的地図が必要ではない．

データから絶対座標をもつグローバルな幾何学的地図を獲得す

また，当然のことながら，ロボットによる環境認識は，ノイることを目指したものが多い [5] [7] [8] [2] [10] [6]．一般に移動

ズ等に対し頑健でなければならないし，さらに未知環境におけロボットに装備されたセンサで得られる情報は，環境全体に対る探検を考えると，明示的な教師なしに識別が可能である学習

して部分的でしかないため，移動ロボット自身が環境をモデリ能力も要求される．

ングするためには，部分的に得られた情報をデッドレコニング

以上のような背景から，我々は，低精度かつ局所的なセンサ（dead reckoning）などで得られる絶対座標に基づいて統合すしかもたない移動ロボットによって，いかにして環境をモデリる必要がある．

ングし，さらにはいかにしてそのモデルに基づく環境認識が可

しかし，例えば，局所的かつ相対的な情報しか得られない近能かを模索する研究を行なう．また，明示的な教師がいなくて接センサと精度の悪い内界センサしか持たず，さらにアクチュ

も，環境をロボット自身が学習により識別できるようになる能

エータの精度も高くないような移動ロボットによる環境モデリ

力も合わせ持ったシステムを目指す．このような単純な移動ロングを考えたとき，絶対的な基準をもとに局所情報を統合する

ボットによる環境認識の実現は，ロボット製作のコスト面，あことは，非常に困難である．なぜなら，そのような低精度の内るいは，光が全くない環境などの外界から得られる情報が非常界センサしかもたない移動ロボットのデッドレコニングは，大に少ない環境において価値があると考える．

きな累積誤差を含むため，絶対座標を維持することは実際的には難しいからである．一方，精度のよいセンサを持たない単純
原稿受付 1998 年 6 月 15 日
東京工業大学大学院総合理工学研究科知能システム科学専攻∗2
大阪大学大学院基礎工学研究科（現在，日本電信電話株式会社）∗1
Tokyo Institute of Technology∗2
Osaka University∗1

日本ロボット学会誌 17 巻 6 号

本研究では，頑健な識別能力と教師なし学習を実現するために，まず 2 つの赤外線近接センサだけを用いる行動ベースト（behavior-based）移動ロボットを設計し，そのロボットを実際に環境において行動させる．そして，環境において実行された行為の系列を環境の構造を表現する環境ベクトルに変換し，その環境ベクトルをコホーネンの自己組織化マップに入力とし—101—

1999 年 9 月

856

山田 誠二

室田 盛道

て与えることにより，教師なし学習を行なわせ，形状の異なるクトルとして自己組織化マップに与えられる．また，その出力環境の識別を行う [21] [22]．なお，本研究では，ロボットが行（勝者ノード）が直接的に何かを意味するわけではない．それ

動する，壁で囲まれた閉領域を部屋と呼ぶ．

に対し，本研究では，出力が直接部屋を指示するため，望ましNehmzow と Smithers は，直角のコーナーをもつ単純な囲いの中で，移動ロボットを壁沿い移動させることにより得られい結果が得られるように，センサデータをいかに適切に入力ベクトルに変換するかという興味深い問題が生じる．

た情報から，自己組織化マップの学習により，コーナーの同定

本論文の構成は，続く §2において行為に基づく環境モデリンを行なった [16] [17]．さらに，Smart と Hallam は，Nehmzow

グ AEM の概要を説明する．そして，§3において，AEM を構のシステムを用いて，追加実験を行ない，その結果とラット成する行動ベースの移動ロボットについて述べ，§5でコホーネの位置認識との類似性を議論している [18]．彼らが用いた表現

ンの自己組織化マップの構造と学習アルゴリズムについて説明

は，既に訪れたのコーナーの形状（凹，凸）と壁の長さからなする．また，§4では，本研究で用いた行為系列とその環境ベク

る＜方向，期間＞対というものであり，それが自己組織化マッ

トルへの変換について説明し，§6では，部分的な行為系列を用

プに入力され，学習の結果，コーナーが同定されるようになっいた環境認識の方法について述べる．続く §7と §8では，実際た．しかし，センサ入力から＜方向，期間＞対への変換は，小に環境の認識について行った実験について，その実験環境，方さな障害物などのノイズに弱いという欠点がある．これに対し，法，そして結果を示し，§9では，問題点及び今後の課題につい我々は，まず環境の情報を再現性のある行為系列から得ることて触れる．

を考え，行為系列をさらに BI 変換と呼ばれる方法により環境

2.

ベクトルに変換することで，ノイズに対して頑健な認識を実現する．また，彼らの研究における認識対象は，コーナーであり，行為に基づく環境モデリング：AEM

本研究では，「ロボットが現在いる環境を，過去に訪れたこ

本研究における認識対象である部屋全体とは異なる．

とのある環境と同定すること」を環境認識と呼ぶ．赤外線近接Mataric は，ランドマークをノードとするオートマトンにより環境を表現した [14]．その表現は，幾何学的なものよりも頑センサしか持たず，精度の悪いデッドレコニングしかできない健であるが，移動ロボット自身がセンサデータからランドマー

とき，従来のように，局所的なセンサ情報を統合して，絶対座クを抽出し，さらにその同定を行なう必要がある．しかし，一標のどの位置に障害物があるかを示す幾何学地図をつくる方

般に，低い精度のセンサを用いたランドマークの抽出と同定は

法 [5] [7] [8] [2] [10] [6] は実現困難である．なぜなら部分的情報困難なため，Mataric の手法は，我々の目的にはそぐわないとの統合に必要な絶対座標は，大きな累積誤差を含むものとなり，考えられる．

それからつくられた幾何学地図は，現実と著しく異なったもの

また，辻と李は，ルートに沿って移動したときに得られる

単純な移動ロボットに環境認識をさせることを考えよう．このとなるからである．

シーンを視覚ベースで記憶する方法を提案し，実装した [19]．

よって，より頑健でかつ環境認識に必要な情報を含む環境の移動ロボットは，全方位の定性的表現を記録し，現在のセンサモデリングが必要になる．そこで我々は，ロボットの行動を環

情報とのマッチングにより，ルート上での位置決定が可能とな境の局所的な構造を反映するように与え，環境でロボットが実る．高度な視覚システムをもつ移動ロボットでは，このような際に行動することにより得られる行為系列から環境の構造を

視覚ベースの環境認識が有効であろう．しかし，我々は視覚よ

抽出して，環境をモデリングする方法を提案する [21] [22]．行

りも情報量がはるかに少ない低精度のセンサだけでの環境認識動を設計する際に，ある程度の幅をもったセンサ情報に対してを目指す．

行為を割り当てておけば，ノイズに対して頑健である抽象化

加藤らは，広い領域を徘徊できるように改良されたランダム

された記述として行為系列を利用できる．我々は，このようにウォークによりロボットを行動させ，その結果得られた行為系

センサ情報ではなく，実際に実行された行為系列を基に環境列の統計量を用いて，環境を分割する研究を行った [11]．環境をモデリングする手法を行為に基づく環境モデリング：AEM

において実行された行為を用いる点は，我々の研究と類似して（Action-based Environment Modeling）と呼ぶ．

AEM 手続きの概要

いるが，彼らの研究は我々の目的である環境認識を直接の目標

2. 1としたものではない点と，統計情報のため非常に多くの行為の行為に基づく環境モデリング AEM の基本となる考えは，セ実行を必要とし，実機では実現が難しい点において，本研究とンサ情報により環境をモデリングするのではなく，環境におい異なる．

て実行された行為の系列を基に環境をモデリングすることでまた，本研究のように行為系列だけから環境モデリングをす

ある．

るのではなく，行動により得られたセンサ情報の系列を基に環全体の処理の流れを，Fig.1 に示す．AEM は，訓練フェーズ

境モデリングを行う中村らの研究 [15] がある．そこでは，障害と試験フェーズの 2 つからなる．まず，訓練フェーズ（Fig.1(a)）

物回避を行なう移動ロボットのソナーリングにより得られたセでは，識別すべき複数の部屋（訓練環境と呼ばれる）においてンサ値の系列から，主成分分析により局所的構造が取り出され，

行動ベースの移動ロボットが壁沿い移動（wall following）を

それらを統合した大局的地図が構成される．

行って部屋内部を一周し，そのとき実行された行為系列（文字通常ロボティクスにおいて，自己組織化マップは，高次元の列）を得る．このとき，それぞれの部屋に対し，少なくとも一センサデータを低次元に圧縮するために用いられる場合が多回は壁沿い移動が行われるとする．次に，得られた行為系列をい [3]．そのような応用では，センサデータがそのまま入力ベ

環境ベクトルと呼ばれる多次元ベクトルに変換した後，その環

JRSJ Vol. 17 No. 6—102—

Sep., 1999

自己組織化マップを用いた移動ロボットによる行為系列からの環境認識

Training
environment

Test
environment

Actionsequence

Actionsequence

Transfomation into
environment vectors

Transfomation into
environment vectors
Environment
vectors

Environment
vectors

SOM(Learning)(a) Training phase857

Learned SOM(environment
identification)

Fig. 2 A mobile robot(b) Test phase: An infraredproximity sensor

Fig. 1 An overview of AEM: An actuator

境ベクトルを自己組織化マップに入力して，教師なし学習が行われる．このとき，どの環境ベクトルがどの部屋に対応するか

Fig. 3 Positions of sensors and actuatorsという情報を明示的に与える教師は存在しない．そして，自己組織化マップに対し，それぞれの部屋の環境ベクトルが繰り返し与えられて学習が進んで行き，十分な訓練が行なわれた後，学習は終了する．
学習が終了すると，次は試験フェーズ（Fig.1(b)）になる．
このフェーズでは，一つの試験環境（通常は，訓練環境のうちの一つ）が与えられ，ロボットはその試験環境と訓練環境との同定を行なう．試験環境において，移動ロボットは訓練フェーズと同様に壁沿い移動を行ない，その結果行為系列とそれを変換した環境ベクトルが得られる．そして，その環境ベクトルが，訓練フェーズで学習済みの自己組織化ネットに入力され，その競合層の勝者ノードを調べることにより，その試験環境と訓練
環境が同定される．これにより，環境認識が行なわれる．以上する．また，4 つの赤外線近接センサを搭載しているものの，壁沿い移動のために実際必要となるのは，左右どちらかの 2 つの近接センサだけである点に注意してほしい．左右いずれのセンサが使われるかは，移動ロボットの壁沿い移動する方向に依存する．時計周りなら左側に付いてる 2 つのセンサだけが用いられ，反時計回りなら右側の 2 つだけが使われる．
さらに，精度の低い慣性型方向センサと移動距離センサも搭載している．慣性型方向センサは，マウスを回転させるときの角度の指定に，移動距離センサは，凸型のコーナーを曲がるときの行動に使用した．なお，このような知覚能力の低い移動ロ
ボットを用いることは，我々の研究目的に沿ったものである．

3. 2の手続きの詳細を，次節以降で説明していく．

3.

駆動系

タイヤの配置は，Fig.3 のように，左右に 2 個の駆動輪，そして前後に各 1 個の操舵輪を配置している．この駆動輪はそれ

行動ベースト移動ロボット

ぞれ 1 個のステッピングモータでタイミングベルトを介して駆本 研 究 で は ，マ イ ク ロ マ ウ ス 用 の 小 型 の 移 動 ロ ボ

動される．前後の操舵輪は，それぞれの軸が逆回転するようにット（ 日 本 シ ス テ ム デ ザ イ ン 製 マ イ ク ロ マ ウ ス 1，

タイミングベルトを介して 1 個の DC サーボモータで駆動され100mm(W)×165mm(D)×135mm(H)）を実験で用いる．移動ロボットの外観を Fig.2 に示す．以下に，移動ロボットのセンる．駆動輪と操舵輪は，サスペンションによって接続されておサと駆動系について述べる．

らにその場での回転が可能である．

3. 1

り，路面状態に関わらず 4 輪を確実に接地することができ，さセンサ

また，移動ロボットは，シリアルポート（RS232C）を介しパルス点灯により物体までの距離を反射強度で測定する赤外て，ホスト計算機とのデータ送受信が可能である．
行動ベースアプローチ

線近接センサを 4 個搭載している．前方を向いているものが 23. 3個，45˚斜め前方ものが 2 個，それぞれ左右に搭載されている

移動ロボットは，壁沿い移動という単純な行動を行うが，環（Fig.3）．ただし，この赤外線近接センサは，移動ロボットの境変化への適応性を高めるため，多少の障害物に対してもほぼ近く（0cm から約 15cm）しか探知できず，さらに障害物が小同様の移動が可能なことが望ましい．そのため，本研究では，さいものだと探知されにくい傾向がある．本研究では，移動ロ

Brooks の提案 [4] に始まる行動ベース（あるいは，リアクティ
ブプラニング [23]）による移動ロボットを構築した．行動ベーボットの近くに壁があるかどうかの判定に赤外線センサを使用

日本ロボット学会誌 17 巻 6 号—103—

1999 年 9 月

山田 誠二858

室田 盛道

Behavior-based mobile robot
Behaviors

Sensorvalue

IF state1 THEN action1
IF state2 THEN action2
IF state3 THEN action3
・・・

Execution
(a)

(b)

(c)

(d)

Fig. 4 A behavior-based mobile robot

ストアプローチは，環境変化に対し頑健であり，精度の低い局
所的なセンシングでも制御が可能である．また，環境モデル上
でのプラニングなどの必要がなく，迅速な行動が可能である．
なお本研究では，直接実行可能な断片的な行為からなる結論部

Fig. 5 Behavior A，B，C，Dと，センサ出力から直接判定可能な条件部で記述されたルールを行動（behavior）と呼ぶ．行動ベーストロボットの構成を（Fig.5(b) 参照）

Fig.4 に示す．

• 行動 C（壁に近付きすぎたら離れる）
IF 壁に 5cm 以内に近づいた
THEN 右に 13.5˚ステアリングを切る．
（Fig.5(c) 参照）

観測されたセンサ情報が，複数の行動に直接与えられ，それぞれのルールが並列にその条件の適用を判定する．そして，条件が満たされたルールのうち，適切なものが選択され実行され• 行動 D（壁から離れすぎたら近付く）
IF 壁から 5cm 以上離れたTHEN 左に 13.5˚ステアリングを切る．
（Fig.5(d) 参照）

る．一つのルールが実行されると，また観測を行うというループが，環境の変化に対して十分に短い周期で繰り返される．

3. 4

壁沿い移動

本研究では，部屋は形状の違いで識別される．そのためには，

以上の 4 つの行動を適時実行するだけで，かなりスムーズな入力となる行動の系列が部屋の壁面の形状を反映したものでな

壁沿い移動が可能なことが実験的にわかっている．実際に移動ければならない．例えば，ランダムウォークにより部屋の中をロボットを走らせてみると，壁に沿って移動している時は，行徘徊すると，どの 2 つの部屋についても，そこで得られる行為

動 C と行動 D が大体交互に繰り返し実行され，凹と凸のコー系列は類似したものとなってしまい，それらの差異を見つける

ナーでは，行動 A と行動 B がそれぞれ 2 回連続して実行されことは難しい．また，過去の同じ部屋での移動との類似性を見ることにより，コーナーを曲がるのが観察された．

つけるためには，再現性のある移動が必要である．以上の条件

4.

を満たす行動として，本研究では壁沿い移動を採用し，部屋を環境ベクトルの生成

壁沿いで一周したときに移動ロボットは停止することにした．

移動ロボットが壁沿い移動により各部屋を一周することで，壁沿い移動により，ある環境で実行された行為系列の長さかそのとき実行された行為系列が獲得される．直観的に，この系

らおおまかな部屋の大きさ（より正確には，壁面の長さ）を知

列は，部屋の形状を反映していると考えられるので，この系列ることができるし，コーナーに反応する行動を組み込むことにを入力ベクトルに変換して，自己組織化マップで学習させるこより，行為系列から部屋のコーナーの情報も獲得できる．さらとで，形状の違う部屋の識別が可能になる．行為系列から変換に，経験的に同じ部屋での壁沿い移動の経路は大きく変化する

されたベクトルは，環境の構造を表すものであり，我々はそれことはないため，再現性が期待できる．

を環境ベクトルと呼ぶ．

本研究において壁沿い移動のために，我々の設定した行動は，

4. 1

行為系列から環境ベクトルへの変換

以下の 4 つである．なお，ステアリングは，正面方向に向かっ

行為系列を自己組織化マップに入力するためには，行為系列て相対的であり，ロボットは時計周りに壁沿い移動をする．

を環境ベクトルに変換する必要がある．この際，様々な変換が• 行動 A（凹コーナーを曲がる）
IF 前方の壁が 10cm 以内に近づいて，左 10cm 以内に壁がある

スタリングできるような変換を設定することが重要である．自己組織化マップは，単に入力ベクトル間のユークリッド距離のTHEN 時計方向に 40˚回転する．
（Fig.5(a) 参照）• 行動 B（凸コーナーを曲がる）
IF 左右 5cm，前方 10cm に障害物なし
THEN 10cm 前方に進み，反時計方向に 40˚回転する．

JRSJ Vol. 17 No. 6

考えられるが，環境ベクトルを自己組織化マップが適切にクラ大小関係を保持したまま，次元の低い疎な離散ベクトル値に変換するだけなので，元の環境ベクトルの空間上で望ましいクラスタリングができていないとよい結果が得られない．つまり，入力の環境ベクトルの空間において 1 つのクラスタになって欲—104—

Sep., 1999

自己組織化マップを用いた移動ロボットによる行為系列からの環境認識

しい環境ベクトル値間の距離は，そうでない環境ベクトルとの859

Trace ofactions

距離よりも小さくなるように変換される必要があるし，さらにはノイズの影響を吸収できるような変換が望ましい．
そこで，本研究では，部屋の形状が多角形であるという前提の基に，次のような変換を行う．ここでは，環境ベクトルの次元数は，得られた行為系列の長さ n 以上の数 m であり，
環境ベクトルは，初期ベクトル値をすべて 0 とする．今，行
為系列を [r1 , r2 , · · · , rn ](ri ∈ {A, B, C, D})，環境ベクトル

An action sequence = (v0 , v2 , · · · , vm ) (n ≤ m) とすると， のベクトル値が v1
から vn の順に，以下に示す BI 変換により決定される．なお，
この変換は，相対角度を用いている点と，行動 C，または D[ C, D, A, A, D, C, A, A, C, D, B, B, D, C,
A, A, C, D, A, A, C, D, C, D, A, A, D, C ]An environment vectorのときにベクトルの次元が増えない点において，チェインコー

4

ディング（あるいは，turning 関数）[1] を AEM のために改良

3

Vectorvalues 2viしたものである．行動 C，D においてベクトルの次元が増える
ようにすると，周囲長が同じ部屋でもコーナーが多いほど，ベクトルの次元が増えてしまうことになり，正確な同定が困難に1なるため，このような改良を加えた．

0
0

BI 変換

2

4

6

8

10

12

14

16

18

30

Vector dimensions i（1）i = j = 1，v0 = v1 = · · · = vm = 0 で初期化．

Fig. 6 An environment vector（2）i > n なら，環境ベクトル (v0 , · · · , vm ) を出力して終了．
（3）ri = A なら，vj−1 = vj−1 + 0.5，i = i + 1 として，(2) へ．

4. 2（4）ri = B なら，vj−1 = vj−1 − 0.5，i = i + 1 として，(2) へ．
（5）ri = C または ri = D なら，vj = vj−1 ，i = i + 1，

行為系列の障害物による影響

さらに，BI 変換の頑健性を Fig.7 で説明する．Fig.7 は，移動ロボットによる移動の軌跡の一部と，その行為系列から BI
変換により変換された環境ベクトルである．Fig.7(a) は，障

j = j + 1 として，(2) へ．
上記の BI 変換を説明するために，環境と移動ロボットの行

害物がない部屋であり，Fig.7(b) は，同じ部屋で壁ぎわに障動軌跡，実行された行為系列，そしてその系列から変換された

害物をおいた場合である．障害物があるなしの違いはあるが，環境ベクトルの例を Fig.6 に示す．環境ベクトルの横軸と縦軸

この 2 つは同じ部屋なので，ロボットがそれらを同一の部屋では，それぞれベクトルの次元数とベクトル値を表し，行為数あると認識することが望ましい．そのためには，この 2 つの部

n = 28，環境ベクトルの次元数 m = 30 (≥ n) とする．まず，
v0 = v1 = · · · = v30 = 0 として，すべてのベクトル値が 0 で初期化される．次に，行為 r に依存してベクトル値が決定されていくが，上記の手続きの (3)〜(5) に注意して欲しい．(3) と(4) では，r がコーナーを曲がる行為 A または B であるため，一つ前のベクトル値を増減させる．しかし，ベクトルの次元 jは増加されない．これに対し，(5) では，ベクトル値は一つ前の値を維持したまま，ベクトルの次元 j を増やしていく．よって，(3)〜(5) において値の決定されるベクトルの次元数（Fig.6 では，16）は，もとの行為系列の行為数以下になる．これにより，用意しておく環境ベクトルの次元数は，行為系列の長さ以上の数でよいことがわかる．また，(2) で i > n が満たされて屋の環境ベクトルの距離が小さくなるように，行為系列から環
境ベクトルへの変換を設定する必要がある．環境ベクトルを見てみると，直観的には，Fig.7(b) の影のかかった領域の面積が 2 つの環境ベクトル間の距離を表すが，それが比較的小さ
いのがわかる．ここで，障害物の存在により，環境ベクトル全体のパターンがシフトされていない点に注意して欲しい．もしNehmzow らの先行研究 [16] で用いられている＜方向，期間＞
対のような柔軟性のない表現を用いれば，障害物により環境ベ
クトルパターン全体がシフトしてしまい，2 つの環境ベクトル間の距離が，BI 変換よりも著しく大きくなってしまう．このよ
うに，BI 変換は障害物のようなノイズに対し頑健であると考えられ，後述する実験によりその有効性が検証される．
出発地点に依存しない環境ベクトル

手続きが停止したとき，(3)〜(5) で処理されていないベクトル

4. 3

値（Fig.6 では，v17 〜v30 ）が残っている場合があるが，それここまで述べた AEM の方法では，試験環境の環境ベクトル

らのベクトル値は初期値 0 のままにして，環境ベクトルが出力を訓練環境の環境ベクトルと正しく同定するためには，移動ロされる．

ボットは同じ環境では同じ出発地点から壁沿い移動を始めなけ

Fig.6 において，同じベクトル値の連続している部分は壁にればならないという制約がある．しかし，この制約は，以下の対応し，そして，ベクトル値の変化はコーナーの存在を示してように最も長い壁が先頭にくるように環境ベクトルをシフトすいる．ベクトル値が増加する変化が凹のコーナーに，減少するることで，実際上取り除くことが可能である．

変化が凸のコーナーに対応する．また，実際の行為系列から得（1）訓練フェーズ：訓練環境での行為系列から得られた環境ベられた環境ベクトルの例は，Fig.10 を参照されたい．

日本ロボット学会誌 17 巻 6 号

クトルをベクトル値が変化しない領域（環境の壁に対応）—105—

1999 年 9 月

山田 誠二860

室田 盛道

自己組織化マップは，まず入力ベクトルに対する各競合層のノードの一致度  −  i  を計算する．この一致度は，下式のような重みと入力ベクトルのユークリッド距離でで計算される．

 −  i  =

(ej − uij )2j(a) No obstacle

一致度の 最も低 い（最も一 致する ）ノードを 勝者ノ ード（winner node）と呼ぶ．勝者ノードを c とすると，c は以下の式を満たす．

 −  c  = min{ −  i }i

ここで，最小値はすべての競合ノードから選択される．複数(b) One obstacleのノードが最小の一致度を持つなら，i が最小のノードが選ば
Fig. 7 Robustness of BI-transformation

れる．
勝者ノードが決まると，その近傍の競合ノードの重みが更新される．近傍は，競合層の次元に応じて定義される．例えば，競合層が 2 次元なら，勝者ノードを重心とする正方形がよく用いられる．近傍のノードの重みの更新式は下式である．なお，

α は，学習率であり，1 回の重み更新により，学習が進む程度

Competitive
layerを決定する．

∆uij =...
Node-1 Node-2 Node-n(e 1, e 2, ..., en )Input layer
Input vector

old
unew
ij = uij + ∆uijα(ej − uij ) ：ノード i が近傍にある
0：それ以外以上の処理を入力ベクトルが与えられる毎に繰り返す．また，学習率と近傍のサイズは，学習が進むにつれて減少させる場合が多い．後述するように，本研究の実験においても，学習の進Fig. 8 A self-organizing map

展につれて，学習率と近傍のサイズを小さくしていく方法を採っている．

の最大のものが先頭にくるようにシフトさせて用いる．

5. 2（2）試験フェーズ：試験環境で得られた環境ベクトルについて
も，(1) と同様にシフトをして用いる．

5.
5. 1

試験フェーズでの環境同定法

自己組織化マップの更新がほとんど無くなり，学習が収束してくると，いくつかの限られた競合ノードだけが勝者になるという状態が生じる．それらの勝者ノードは，部屋に対応してい自己組織化マップによる環境認識

ると考えられ，我々はそれらを r ノードと呼ぶ．更新が無くな
ると学習は終了し，r ノードが得られる．得られた r ノードの自己組織化マップ

ここでは，コホーネンらにより開発された自己組織化マップ（self-organizing map）[12] [13] を簡潔に説明する．自己組織化
マップは，入力層と競合層からなる 2 層ネットワーク（Fig.8）
であり，入力層のノード（入力ノード）と競合層のノード（競合ノード）が重みつきリンクで完全結合されている．入力ベク
トルが与えられると，入力ノードは入力ベクトルの対応した要個数が部屋数に対応している．
次に，判定すべき部屋の環境ベクトルが，これまで学習された部屋のどれと同じであるかを同定する必要がある．そこで，試験環境から得られた環境ベクトルと各 r ノードの重みとのユークリッド距離が計算され，その距離が最小の r ノードに対応する部屋と同定される．

6.

素の値をとる．それから競合ノードは，入力と重みとの距離を

部

分 判

定

計算し，最小の距離をもつ唯一の勝者ノードを決定する．そしこれまで述べてきた方法では，移動ロボットが部屋を一周して，その勝者ノードの近傍のノードの重みが更新される．
今，入力ベクトルと，入力ノード全体から一つの競合ノード

i へのリンクの重みを，それぞれ次の  ， i とする．

 = [e1 , e2 , · · · , en ]

た後に，その一周分の行為系列を入力として，部屋の判定を行なっていた．しかし，特徴的な情報が含まれていれば，完全に一周しなくても，部分的に壁沿い移動して得られた行為系列か
ら部屋の認識を行なうことも可能と考えられる．そこで，部分的な情報から部屋の判定を行なう手続きを考案した．その手続

 i = [ui1 , ui2 , · · · , uin ]JRSJ Vol. 17 No. 6

きを以下に示す．最も長い壁が先頭になるように環境ベクトル—106—

Sep., 1999

自己組織化マップを用いた移動ロボットによる行為系列からの環境認識

861

た環境ベクトルを得た．そして，それらのうち各部屋について
一つづつランダムに選んだ N 個の環境ベクトルを順序固定で繰り返し自己組織化マップへの入力ベクトルとして与えて学習を行なった．
そして，試験フェーズでは，残りの各部屋につき 5 個の環境ベクトル（総数は，5N ）が学習済みの自己組織化マップに与えられ，訓練環境と試験環境の同定，つまり環境認識が行なわ
れる．

7. 3

自己組織化マップの設定

ここでの実験では，移動ロボットは，各部屋を 1 周するのにFig. 9 An experimental environment

1000 程の行為を実行する．当然ながら，自己組織化マップの入力層ノード数は，その実行される行為数よりも多く設定するをシフトして比較し，r ノードとの距離がしきい値以下になっ必要がある．以下に，自己組織化マップのパラメータの設定値たら同定したと見なす方法である．

を示す．競合層のトポロジーと競合層のノードの重みの初期値

部分情報からの部屋の判定手続き

に関しては，自己組織化マップのパフォーマンスに影響を与え（1）最も長い壁が先頭になるように行為系列をシフトして，自る可能性があるので，典型的な複数の設定を試してみることにした．

己組織化マップで学習させる．

• 入力層ノード数：1300• 競合層ノード：128• 競合層のトポロジー：1 次元の線分（端あり）と環状（端（2）移動ロボットから，逐次的に部分情報を受け取り，コーナーの検出毎に行為系列を BI 変換により環境ベクトルに変換
し，下記のシフトを行なう．
（a）すべての履歴の中で最も長い壁を見つけ，それを先頭なし）．競合ノード数を一定にしておけば，計算コストをにそれから以後に得られたベクトルを残し，他のベク抑えたままで競合層の次元を上げていくことが可能である．

トル値は 0 として，部分環境ベクトルをつくる．

しかし，競合層を 2 次元と 3 次元にして予備実験した結果，（b）もし最も長い壁が複数ある場合は，それぞれについて

識別精度の向上はみられなかったので，1 次元の競合層を(2a) の処理を行ない，部分環境ベクトルをつくる．
（3）(2) で得られたそれぞれの部分環境ベクトルと (1) で得られたそれぞれの r ノードの重みベクトルとの距離を計算し，それがしきい値 ξ 以下なら，その r ノードの部屋と判定．

用いた．

• 競合層のノードの重みの初期値：0.5 ± 10%，1.5 ± 10%，4.0 ± 10% の 3 種類．
• 総訓練回数（訓練フェーズで入力として与えられる環境ベ
クトルの総数）：経験的に妥当とされている 100000 回に最も長い壁を先頭にするようなシフトを行なうため，壁沿い
移動が部屋の壁面のどの位置から開始されてもよい．問題は，設定．

しきい値 ξ の決定であるが，ここでは実験をしながら経験的に決めるとする．

7.
7. 1

また，t 回目の学習における，学習率 α と近傍の幅 d を下式を用いて，学習進行とともに減少させた．

実

験 方



αt = 0.8 1 −

法

実験環境

t
1000008.

前述の移動ロボットを用いて，実機による実験を行った．ホ

8. 1





dt = 16 1 −t
100000

各種実験と結果

7 種の部屋の認識

スト計算機は，IBM-PC/AT 互換機（Intel Pentium 133MHz,
RAM64M）を用い，PC-UNIX の Linux 上で C++ を用いてまず，Fig.10 に示す 7 つの部屋について実験を行なった．図プログラミングをした．また，ホスト計算機と移動ロボットは，には，部屋の形状とそこでの行為系列から得られた環境ベクト

RS232C を介して通信する．壁沿い移動を行なうための処理は，ルが示されている．なお，大きい方の正方形の一辺が 146cm

移動ロボット上で行ない，得られた行為系列をホスト計算機にで，図中の各部屋は同じスケールである．また，この実験では送り，自己組織化マップでの学習と部屋の認識の処理は，ホス

部分判定は用いず，一周した行為系列を用いた．なお，部分判

ト計算機上で行なう．

定の実験は，8. 3で行なわれる．

実験環境は，白いプラスチック板により高さ 13cm の囲いを

実 験 結 果 は ，競 合 層 の ト ポ ロ ジ ー と 競 合 層 の ノ ー ド

つくることで部屋を構成し（Fig.9），そこで実機の移動ロボッの 重 み の 初 期 値 に 関 す る す べ て の 設 定 に お い て ，すトが壁沿い移動を行なった．なお，部屋を壁沿い移動で一周しべが 行 な わ れ ，認 識 精 度
 ての試験環境の正しい認識
正しく認識された部屋数=
× 100 は 100%であった．また，全体の部屋数
これらの行為系列は，障害物はないものの，同じ壁に沿って移たことの認識は，ロボットの内界センサ（慣性型方向センサと移動距離センサ）を用いたデッドレコニングで行なった．

7. 2

実験方法

動していても実行される行為は，センサとアクチュエータのノ

まず，訓練フェーズでは，移動ロボットに，N 個の部屋を 6
回づつ壁沿い移動させ，合計 6N 個の行為系列および変換され日本ロボット学会誌 17 巻 6 号

イズの影響によりまったく同じものにはならないことに注意し
てほしい．

—107—

1999 年 9 月

山田 誠二

862

8. 2

室田 盛道

Table 1 Experimental results on 20 rooms

20 種の部屋の認識

次に，部屋を Fig.11 のような 20 個に増やして，実験を行なった．ここでも，E-3 の一辺が 146cm で，図中の各部屋は同じスケールである．訓練フェーズで自己組織化マップに与えた環境ベクトルの系列は，[ E-4, E-5, E-1, E-12, E-2, E-8, E-9,
E-3, E-7, E-11, E-10, E-20, E-19, E-18, E-14, E-17, E-13,
E-16, E-15, E-6 ] であり，一周した行為系列を用いた．この訓練により学習された自己組織化マップの認識精度は，Table
1 のようになった．
この結果から，まず自己組織化マップの重みの初期値と競合層の形状には認識精度はあまり依存していないことがわかる．
また，7 種類の部屋の認識精度が 100%だったのに較べ，部屋数が増えた影響で，認識精度が低下していることがわかる．

3

3

3

2

2

2

1

1

1

0

1

101

201 301

0

1

101

0

201 301

1

3

3

3

2

2

2

1

1

1

0

1

101

0

201 3011

101

0

201 301

101

201

8. 3

Initial weights

Sape: line

Sape: circle

0.5 ± 10%
1.5 ± 10%4.0 ± 10%

74%
74%
74%

69%
74%
69%

部分判定

次に，先の実験で用いた 20 の部屋について，部分判定の実験を行なった．ここでは，各環境について，訓練環境と試験環
境を合わせた 6 つの環境ベクトルを用いて，学習後の自己組織化マップによる環境認識を行なった．実験結果として，各部屋での認識精度を Table 2 に示す．なお，自己組織化マップの設定は，競合層の形状は線分，競合層の重み初期値は 1.5 ± 10%
を用いた．

E-1

E-2

E-3

E-4

E-5

E-6

301

E-8
E-7

1

101

201 301

E-9

E-10

E-11

E-12

E-13

E-14

E-15

E-16

E-17

E-18

E-19

E-20

3
2
1
0

1

101

201 301

401

Fig. 10 Seven rooms

JRSJ Vol. 17 No. 6

Fig. 11 20 rooms—108—

Sep., 1999

自己組織化マップを用いた移動ロボットによる行為系列からの環境認識














Table 2 Experimental results
E-1
E-5
E-9
E-13
E-17

50%
33%
100%
17%
67%

E-2
E-6
E-10
E-14
E-18

83%
33%
67%
67%
17%

E-3
E-7
E-11
E-15
E-19

100%
83%
100%
17%
67%

E-4
E-8
E-12
E-16
E-20

100%
100%
83%
17%
17%

部分判定の全体の認識精度は，60.8% で，周回率は，47.8%
だった．ここで，周回率 = 判定に要した行為系列の長さ × 100
行為系列の全長である．認識精度が悪いのは，BI 変換は障害物の影響は小さくできるが，§6における部分判定の手続きでは，まだ移動していないところのベクトル値をすべて 0 としてしまうことが影響していると考えられる．一周回った場合の認識結果も 80% 弱なので，それを考慮するとまずまずの結果だといえる．ただ，Table 2 からわかるように，認識精度は部屋の形状に強く依存しており，比較的小さい部屋の場合が認識率が悪かった．

8. 4

障害物のある部屋の認識

さらに，8. 1で用いた 7 つの部屋の壁面に障害物を置いた 9
つの部屋について，一周回った行為系列により実験を行なった．
なお，自己組織化マップの設定は，競合層の形状は線分，競合層の重み初期値は 1.5 ± 10% を用いた．その結果，5 つだけが(b) Unrecognizedenvironments(a) Recognizedenvironments

正しく認識できた．正しく認識できた部屋とできなかった部屋
を，Fig.12 に示す．

Fig.12(a) では，壁に接した，一つの障害物か，2 つの小さな

 
 

 

 
 
 

 

 

 
 
 
 

  

863

Fig. 12 Environments with obstacles

障害物に関しては認識がうまくいっている．しかし，Fig.12(b)のように，2 つの大きな障害物や，壁に対し斜めになっている
障害物がある場合は認識に失敗していることがわかる．ただし，本来は，障害物が多く存在する場合，それらの部屋を同じ部屋と認識すべきか否かは，ロボットというエージェントがどのような目的のために部屋の認識を行なうのかに依存する．

9.

本来なら，AEM で具体的にどのような環境を識別するのかが決まった後に，その認識に対して適切な行動が設定されるべきである．しかも問題なのは，一般に状態から行為のマッピン
グである行動の候補は，非常にたくさんあり，その候補から様々な環境に対して AEM に適切な行動を見つけることは，人間の設計者にとって容易なことではない．よって，その適切な行動

問題点及び今後の課題

を自動的に獲得するメカニズムが必要となる．この問題に対処

AEM の問題点と，今後その問題に対しどのように対処するかについて議論する．

9. 1

するために，現在我々は遺伝的アルゴリズムを使って，AEMに適切な行動を自動獲得する研究を行なっている [20]．そこでインクリメンタルな学習は，帰巣性，認識精度，認識効率を統合した適合度関数を用い自己組織化マップは，基本的に訓練例をバッチ的に処理する．

て，AEM に適切な行動の探索が行なわれる．そして，予備的

つまり，新しい訓練例が得られたときに，それまでの学習結果

な実験では，実際に壁沿い移動以外の行動が獲得されている．

と統合しながら学習を進めるインクリメンタルな学習はできな

10.

い．よって，当然本研究の AEM もインクリメンタルな学習は

ま

と

め

不可能であり，大きな制約となっている．この問題に対しては，精度の低いセンサをもつ行動ベースの移動ロボットが壁沿い

自己組織化マップの学習則を改良して，インクリメンタルな学

移動することによって，得られる行為系列を BI 変換により環習を実現する研究 [9] が報告されており，その手法の適用が考境ベクトルに変換し，コホーネンの自己組織化マップによる教えられる．

師なし学習を行ない，部屋の認識を行なう方法である AEM を

9. 2

AEM に適した行動の獲得提案した．さらに，部分的に部屋を壁沿い移動するだけで，判本研究では，壁沿い移動を AEM にとって適切な行動として定が可能である手続きを考案した．

用いた．では，なぜ壁沿い移動が適切だったのかと言うと，そマイクロマウスにより実機を用いた実験を行ない，その結果

れは，部屋の輪郭の形状を基に環境認識を行なうと仮定してい良好な結果を得た．また，障害物がいくつか置かれた部屋の認たからである．よって，例えば，部屋の形状は同じでも，明か識についても，おおむね良い結果が得られた．これらの実験にりがついているか否か，また部屋に障害物があるか否かで環境より，本研究の手法の有効性が検証された．また，このような認識を行なう場合は，壁沿い移動ではうまくいかない．

結果から，単純な知覚能力でも，環境認識を達成するロボット

日本ロボット学会誌 17 巻 6 号—109—1999 年 9 月

山田 誠二864を構築できる可能性が示されたと考える．

参

考

文

献

[ 1 ] E. M. Arkin, L. P. Chew, D. P. Huttenlocher, K. Kedem, andJ. S. B. Mitchell: “An Eﬃciently Computable Metric for Comparing Polygonal Shapes”, IEEE Transaction on Pattern Analysis and Machine Intelligence, vol. 13, no. 3, pp. 209–216, 1991.
[ 2 ] M. Asada: “Map Building for A Mobile Robot from Sensory
Data”, IEEE Transaction on Systems, Man, and Cybernetics,
vol. 20, no. 6, pp. 1326–1336, 1990.
[ 3 ] R. D. Berns and U. Zachmann: “Reinforcement Learning for
The Control of An Autonomous Mobile Robot”, Proc. of the
1992 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems,
pp. 1808–1815, 1992.
[ 4 ] R. A. Brooks: “A Robust Layered Control System for A Mobile Robot”, IEEE Transaction on Robotics and Automation,
vol. 2, no. 1, pp. 14–23, 1986.
[ 5 ] J. L. Crowly: “Navigation of An Intelligent Mobile Robot”,
IEEE Transaction on Robotics and Automation, vol. 1, no. 1,
pp. 31–41, 1985.
[ 6 ] R. Dillmann, F. Wallner, and R. Graf: “Real-Time Map Reﬁnement by Fusing Sonar and Active Stereo-Vision”, Proc. of
the 1995 IEEE Int. Conf. on Robotics and Automation, pp.
2968–2973, 1995.
[ 7 ] A. Elfes: “Sonar-Based Real-World Mapping and Navigation”,
IEEE Transaction on Robotics and Automation, vol. 3, no. 3,
pp. 249–265, 1987.
[ 8 ] A. Elfes: “Using Occupancy Grids for Mobile Robot Perception and Navigation”, IEEE COMPUTER (June), pp. 46–57,
1989.
[ 9 ] P. Gaussier and S. Zrehen: “A Topological Neural Map for
On-ine Learning: Emergence of Obstacle Avoidance in a Mobile Robot”, Proc. of the Third Int. Conf. on Simulation of
Adaptive Behavior, pp. 282–290, 1994.
[10] 石岡宏治, 開一夫, 安西祐一郎: “複数の自律移動ロボットの個体差を考慮した地図獲得システムの設計と実装”, 日本ロボット学会誌,
vol. 12, no. 2, pp. 846–856, 1994.
[11] 加藤浩仁, 石黒浩, 辻三郎: “統計的解析による複雑な環境における環境モデルの獲得”, 日本ロボット学会誌, vol. 14, no. 5, pp. 660–667,
1996.
[12] T. Kohonen: “Self-Organization and Associative Memory”,
Springer-Verlag, 1989.
[13] T. Kohonen: “The Self-organizing Map”, Proc. of the IEEE,
pp. 1464–1480, 1990.
[14] M. J. Mataric: “Integration of Representation into Goal-Driven
Behavior-Based Robot”, IEEE Transaction on Robotics andAutomation, vol. 8, no. 3, pp. 14–23, 1992.
[15] T. Nakamura, S. Takamura, and M. asada: “Behavior-based
Map Representation for a Sonar-Based Mobile Robot by Statistical Methods”, Proc. of the 1996 IEEE/RSJ Int. Conf. onIntelligent Robots and Systems, pp. 276–283, 1996.
[16] U. Nehmzow and T. Smithers: “Map-building Using Selforganizing Networks in Really Useful Robots”, Proc. of theFirst Int. Conf. on Simulation of Adaptive Behavior, pp. 152–
159, 1991.
[17] U. Nehmzow and T. Smithers: “Using Motor Actions for Location Recognition”, Proc. of the First European Conference on
Artiﬁcial Life, pp. 96–104, 1991.
[18] Willian D Smart and John Hallam: “Location Recognition in
Rats and Robots”, Proc. of the Third Int. Conf. on Simulationof Adaptive Behavior, pp. 174–178. The MIT Press, 1994.
[19] S. Tsuji and S. Li: “Memorizing and Representing Route
Scenes”, Proc. of the Second Int. Conf. on Simulation of Adaptive Behavior, pp. 225–232, 1992.
[20] S. Yamada: “Learning Behaviors for Environment Modeling by
Genetic Algorithm”, Proc. of The First European Workshop on

JRSJ Vol. 17 No. 6

室田 盛道
Evolutionary Robotics, pp. 179–191, 1998.
[21] S. Yamada and M. Murota: “Applying Self-organizing Networks to Recognizing Rooms with Behavior Sequences of A
Mobile Robot”, Proc. of IEEE Int. Conf. on Neural Networks,
pp. 1790–1794, 1996.
[22] S. Yamada and M. Murota: “Unsupervised Learning to Recognize Environments from Behavior Sequences in A Mobile
Robot”, Proc. of the 1998 IEEE Int. Conf. on Robotics andAutomation, pp. 1871–1876, 1998.
[23] 山田誠二: “リアクティブプラニング”, 人工知能学会誌, vol. 8, no. 6,
pp. 729–735, 1993.

山田 誠二
1960 年 10 月 11 日生．1984 年大阪大学基礎工学部卒業．1989 年同大学院博士課程修了．同年基礎工学部システム工学科助手．1991 年より大阪大学産業科学研究所講師．1996 年 4 月より，東京工業大学大学院総合理工学研究科助教授，現在に至る．工学博士．人工知能，特に知的エージェント，ロボッ
ト学習，WWW での情報検索に興味をもつ．人工知能学会，情報処
理学会，日本認知科学会，AAAI，IEEE 各会員．
（日本ロボット学会正会員）

—110—

室田 盛道
1971 年 10 月 10 日生．1995 年大阪大学基礎工学
部制御工学科卒業．1997 年大阪大学大学院基礎工学研究科物理系専攻博士前期課程修了．同年日本
電信電話株式会社入社．現在に至る．
（日本ロボット学会正会員）

Sep., 1999