弱い知識構造に基づくロボットの行動生成
内田恵久・武田英明・西田豊明
奈良先端科学技術大学院大学 情報科学研究科〒 630-0101 奈良県生駒市高山町 8916-5

yoshih-u@is.aist-nara.ac.jp
本研究は、オフィスのような人間のいる環境において、備品のようにその存在場所が変化する物の位置を特定できるようなロボットを実現することである。ロボットがすべての物の位置を把握するというのは困難である。しかし人間は普段の生活を通して物がどのような場所に存在しうるかという知識を持っている。そこでこの物の位置に関する人間の知識をロボットと人間が共有することで、刻々と変化する物の位置を特定して行動するロボットを実現した。この知識はロボットが利用可能であるだけでなく、人間にとっても理解、変更可能である必要がある。そこで、この知識の表現法として弱い知識構造を用いる。人間はこの知識の中に人間と場所と物の関係を記述する。ロボットは定期的に環境内を周回して場所の情景を取得し、知識を更新する。人間は物と情景とを結びつけることで、物の位置を把握するための知識とする。本研究では実際に、人間の背景知識をもつロボットを実装し、評価を行なった。
ロボットが人間の背景知識を用いることにより、物の位置の変化に対応することができることを確認した。

Behavior generation of mobile robot
based on a weak knowledge structure
Yoshihisa Uchida, Hideaki Takeda, Toyoaki Nishida

Graduate School of Information Science,
Nara Institute of Science and Technology
8916-5, Takayama, Ikoma, Nara 630-0101 Japan
We realized a robot which can bring an object of which position is not determined. It is dicultfor the robot to understand objects' positions. To avoid this diculty, we search positions byusing human knowledge on objects.Human have knowledge on objects, in particular, what they
are and how they are used in our daily life. We adopt weak knowledge structure as a method todescribe human's background knowledge. With this type of knowledge, robot and human can shareknowledge.We can provide easily our background knowledge to the robot, and the robot can use
this knowledge to serach a object.Furthermore both human and robot can update knowledge.We
implement the robot which has our background knowledge, and evaluate it. We confermed thatthe robot could nd a position of a object by using human's background knowledge.

1

はじめに人間のいる環境の中で作業を行なうためには、環境の動的な変化を把握することが必要である。例えば、人間が使用する道具などその存在場所が変化する物

近年、人間の存在する環境の中で、人間の支援を行なうロボットの研究がなされてきている [1, 2, 3]。

12. 知識データを検索して、その物が置かれているをロボットが扱おうとした場合、ロボットはその物の位置を把握する必要がある。
そのようなロボットの例として、我々は研究室やオフィスのような建物内部を自律的に移動し、人間から要求された物を持ってくるロボットの実現を目指している。ここでいう物とは、研究室やオフィス内で共有されている辞書や学会誌などの備品のことを指している。
物の位置は変化するものであるが、無規則に変化するわけではない。例えば、ある特定の分野の論文集などは、その分野に関連した人に最もよく利用されるので、その人達に関係する場所に存在するであろう。また、ある人の周りには、その人の趣味に関連した物が集まりやすいであろう。
このような事実を人間は普段の生活を通して経験として獲得している。本研究では、このような人間の経験、すなわち人間の背景知識をロボットが物を見つけるための知識として用いる。
ロボットが人間の背景知識を利用するためには、何らかの方法でそれを表現しなければならない。人間の知識というものはあいまいであり、それを厳密に定義をすることが困難であるため、述語論理などでは表現がしにくい。
このような知識を表現する手法に、弱い構造を用いた知識表現 [4, 5] が提案されている。これは厳密な定義を用いず、概念と概念の関係の有無のみを用いた知識表現である。本研究ではロボットの知識として、この弱い知識構造を用いる。

2

候補地のスナップショットをユーザインタフェースに出力する（図 1の３）

3. ユーザはそのスナップショットを見て、自分が入力した物が写っているスナップショットを選択する（図 1の４, ５）

4. ロボットは選択されたスナップショットが撮影された場所へ移動する

5. 移動後、ロボットはその場所の近くにいる人に対して、依頼された物をロボットに載せるように協力を求める

6. その物を持って、依頼したユーザのもとへ移動する

ユーザ

1.「ものの名称」を入力
5. スナップショットを選択

4. スナップショットを見て判断

ユーザインターフェース

2.「ものの名称」を伝達
6. 移動場所を伝達

3. スナップショットを出力
7. 動作結果を出力

図 1: 人間に頼まれた物を持ってくる作業の実行シー
ケンス

物の位置を把握するロボット

本研究で実現を目指す、人間から頼まれた物を持ってくるロボットについて述べる。
本研究で最終的に実現したいロボットは、人間から要求された物をロボットが環境内を自律的に移動してその物を見つけ出し、それを持って依頼された人の所まで運ぶ、というものである。物を見つけるためには画像処理などを行なう必要があるが、実環境において物を正確に認識するのは困難である。また、物を見つけた後、アーム等を用いてそれを取り出す必要があるが、さまざまな状況がありうる環境内においてはそれも困難である。
そこで本研究では、ロボットにとって困難な作業は人間の手助けを使う。物の認識のために、ロボッ
トは人間にその物が撮影されている静止画像（スナップショット）を示して、人間に判断をしてもらう。また、物を取る作業を行なう場合、ロボットはその周囲にいる人間に対して、音声を用いてその物をロボットに載せてもらうよう、依頼する。
以上のことを仮定して、ロボットが行なう作業の流れを以下にしめす。なお、この実行手順を図にしたものを図 1に示す。

1. ユーザがユーザインタフェースから持って行きて欲しい物の名称を入力する（図 1の１）

2

このシステムを実現するためには、物の位置を把握する方法を考察しなければならない。本研究では物の位置を把握する方法として、ロボットは人間の背景知識を共有する。

3

人間と知識を共有するロボット

本研究では、図 2のように、ロボットと人間とが知識を共有する。ここで共有する知識は人間の背景知識を記述したものである。
ロボットは、人間によって記述された共有知識を用いて、作業を行なうための行動計画に利用する。
またロボットは環境を観察して、その様子を経験として共有知識の中に取り入れる。
人間は共有知識に対して、人間の持つ背景知識を与える。また、ロボットによって取り入れられた経験に対して、意味付けを行なう。この意味付けのために、人間は他の知識と結び付けたり、新たに知識を書き加えたりする。
すなわち、ロボットは人間と共通の知識を用いて作業を行ない、また環境の様子を観察する。環境の変化による知識の更新は人間の判断に基づいて行なわれる。

5

実環境
環境観察

5.1

弱い構造を用いた知識表現
連想構造

ロボット

AAA
A行動AAA
AAAA
AAA
A
AA
AAAA
AAA
AAA
AAA
AAA
AAAAA
AA
AA
AA
共有知識
A
A
AA
A
AA
AAA
A
AA
AAA
A
AAA
AAAAAA行動の観察AAAAAAAAAAAAAAAAAAAAAAAAAA 人間
行動計画に利用

意味づけ

知識の追加

人間の背景知識を記述する方法として、弱い知識構造を用いた知識表現を使用する。弱い知識構造を用いた知識表現とは、述語論理における意味的関係の定義や、人間向きの構造化文書における章や節のような物理的階層構造などを用いず、概念と概念間の関係の有無のみを用いた知識表現である。この知識表現は、人間にとって直観的に分かりやすい表現方法であり、知識の変更が容易に行なえる利点がある。
弱い知識構造は key と呼ばれるいくつかのユニットと value と呼ばれるいくつかのユニットの間に定義され、「key が与えられると value が想起される」という連想構造を用い、ゆるやかな関連を表現する。
key と value の間の連想関係は厳密に定義されるのではなく、多分に主観的なものであることを許している。すなわち、表現の意味を漠然としか定義せず、表現の意味解釈を書き手と受け手にまかせてしまおうというアプローチをとっている。連想構造の例を
図 4に示す。

経験の追加

環境の理解

図 2: 人間の背景知識を持つロボット

4ロボットによる環境の観察

ロボットは環境の変化に対応するために、定期的に環境内を循環し、環境の状況を観察する。このため、ロボットは環境内を自律的に移動する必要がある。人間のいる環境で自律的に移動するためには、障害物を避ける方法 [6] を用いたり、環境中のどこにいるのかを把握する方法 [7] が必要がある。これらは自律移動ロボットの研究として数多くの手法が提案されている。
本研究ではロボットの移動のために、研究室内の移動可能な場所をノードとリンクで結んだ環境地図[8] を用いる。図 3に研究室の環境地図を示す。
ロボットはこの経路にしたがって環境内の観察を行なう。移動にはロボットのエンコーダを用いているため、経路の移動距離が長くなると誤差が生じ、正しい経路を移動できなくなる。そのため、適当な場所で超音波センサーを用いて位置の補正を行なう。

nishida-lab

teradaresearch group member

shimokurauchidarobot

thesisproceedings of therobotics society
(b)

(a)

図 4: 連想構造の例
図 4(a) は、 key 「nishida-lab」「research groupmember」が与えられると value 「terada」「shimokura」「uchida」が想起されることを示す。図 4(b) は key「robot」「thesis」が与えられると value 「proceedings of the robotics society」が想起されることを示す。
5.2

物を探すための知識

図 5に筆者が持っている研究室に関する背景知識を記述したものを示す。われわれの研究室にある研究グループとそのグループに所属している人の名前などを連想されるままに書いたものである。ロボットはこの知識を利用して作業を行なう。

図 3: 環境地図

6

連想構造の検索ロボットは人間によって記述された知識を利用して物の位置を把握する。この節では、連想構造で記

3

7

thesis

知識の更新

CoMeMostorage place

ロボットが作業を行なう環境は常に変化がある。
物を見つけるための知識としてすでに持っている知
hiratahelp mate
JAVA
識が変化しなければ、実際の状況と対応できなくなっB21
position17-2
kajihara
research group memberてしまう。環境の状況に対応するためには、すでにSA robot
position20-0
books
desk positionoka
持っている知識を更新していく必要がある。
takahashi
user
JAVA API programing
知識の更新には、ロボットが撮影したスナップショッ
shimokura katayama terada mochizuki
guideuchidaposition19-9
perl
トに何が写っているかを人間に教えられて、ロボッ
adachiトが変更を行なう場合と、人間が新たな状況を直接shiozakiposition20-2 position21-1
kurodaposition20-1 position21-2
書き加える場合とがある。
Learning perl perl programing
position17-1
この２通りの知識の更新について述べる。
robot

proceedings of iros

maeda

proceedings of therobotics society

nishida-lab

position18-1

図 5: 物を探すための知識述された人間の背景知識を検索する方法について述べる。
6.1

ロボットによる知識の更新

7.1.1

人間からロボットへの教示

ユーザインタフェースを通してロボットは人間にスナップショットを表示するが、このときに人間はそのスナップショットには何が撮影されているかを入力することができる。

検索の手順

検索の手順として、人間が行なう検索手順をここでも実現したい。すなわち、まず最初にそのものが通常置かれているであろう場所を第一の候補とし、そのものを普段利用しそうな人の場所を第２の候補とする。そのものを普段利用する人が多数いる場合は、その人数分だけ第２の候補が存在することになる。
これをまとめると、検索の手順は以下のようになる。
まずその物の名前が知識の中に存在するかを調べ、あればその物が置かれている場所を第一候補とする。
次にその物を出発点として幅優先探索を用い、その物に関連のある人を探す。あればその人の場所を第二候補とする。
検索の戦略として、探したい物のユニットを出発点とした幅優先探索を用いた。これは、探したい物の場所というのは、その物と関連が強いので、そのもののユニットからなるべく近くのユニットにあると仮定しているからである。同様にその物を使用する人間のユニットも探したい物のユニットの近くにあると仮定している。
6.2

7.1

7.1.2

教示による知識の更新

人間から教えられたことを基に、ロボットは現在持っている知識を更新する。具体的には、既存の物のユニットと場所のユニットを、新たに関連づけることである。あるいは、新しい名前のものと、そのスナップショットが撮影された場所とを関連づける。
例えば、図 6のような知識をはじめにロボットが持っていたとする。これはロボットと人間が共有している知識の一部分を取り出したものである。ここには、我々の研究室でロボットの研究をしている人の名前と、ロボットの論文が連想構造を用いて記述されている。またその人の机の位置と、論文が普段置かれている場所とが、それぞれ記述されている。
thesisrobot
research group member

proceedings of therobotics society
shimokurauchidaterada

得られた結果の提示

desk position

storage place

position18
position20 position21 position17

検索の結果、そのものが存在しそうな候補地が得られる。このあとユーザが、これらの候補地のなかから、そのものがある場所を指定できるように、ロボットはその候補地のスナップショットを表示する。
探している物が存在する場所の候補が複数存在する場合には、そのものが存在する可能性の最も高い場所のスナップショットから順番に並べて表示する。
これによりユーザは、探している物が撮影されている可能性の高いスナップショットから、その物があるかどうかを調べることが可能となる。

図 6: はじめに持っている知識

人間からスナップショットに撮影されている物の名前が教えられると、図 7のようにその名前と場所とをリンクで結ぶ。その場所でスナップショットが撮影された時間も同様に関連ずけをしておく。この時間は、検索の結果を表示する場合に、表示の優先順位を決める要素となる。ここでは、新しいものとして"dictionary" が与えられた例を示している。

4

8

thesisrobot

研究室内物品獲得ロボット

research group member

本章では、前章までに述べたシステムをわれわれの研究室内において実装し、動作の確認を行なった結果について述べる。

proceedings of therobotics society
shimokurauchidateradadesk position

storage place

dictionary

8.1

position20 position21 position17

1/20 13:35

図 7: 更新後の知識
7.2

ロボットは、カメラをその上部に２台マウントしており、ロボット内部に格納式のアームを所有している。またロボットの周りに超音波センサー、赤外線センサー、衝突センサーを持っている。ロボットを制御するための計算機として、 CPU に Pentium Pro を使用したボードを２枚持っており、 OS は Linux を使用している。ロボット制御のソフトウェアは、 RWI社の BeeSoft というものを使用している。

人間による新しい状況の追加

ここでは人間が直接知識の書き換えを行なうことについて考察する。これは新たな状況が人間によって確認された場合に行なわれる。例えば、これまで知識の中になかった物を新たに付け加えたい場合や、すでに知識の中に存在する物に関連する人が新たにいることが分かった場合などがある。ここでは新たに物を追加する場合について考察する。
7.2.1

システムに用いたロボット

このシステムで用いるロボットは、アメリカの RealWorld Interface (RWI) 社製の B21 という移動ロボットである。 図 9にこのロボットの概観を示す。このposition18

新たに物を追加する場合新たに"Bee Soft manual というロボットのマニュアルを知識に追加することを考える。図 8はこのマニュアルを新たに知識として追加した例である。
これは西田研究室のロボットには B21 というロボットがあり、そのロボットのマニュアルは"Bee soft manual" であるということを、筆者の背景知識を用いて記述したものである。
このように知識を追加することにより、次回に"Beesoft manual" がロボットの作業対象となっても、それを見つけ出すことが可能となる。リンクを辿れば、このマニュアルもロボットの研究に従事している人の机に存在する可能性がある、ということが分かるようになる。
8.2

thesisrobot
research group member

proceedings of therobotics societyuchidaterada

システムの構成

図 10にシステムの構成を示す。

nishida lab

shimokura

図 9: B21 の概観

desk position

 インタフェース

ロボットへのインタフェースには、 WWW のブラウザを使用する。このブラウザを通して、人間は探したい物の名前を入力し、ロボットからその物が存在する場所の候補地のスナップショットを確認する。

storage place

manualB21

position18

position20 position21 position17

 ロボットエージェント

ロボットは、 retriever、 robot controller、 pathplanner の３つのモジュールからなる。 retriever

Bee Soft manual

図 8: 更新後の知識（人間が新たに付け加えた例）

は、連想構造で記述された人間の背景知識を検索するためのモジュールである。

robot controller はロボットを実際に動かすためのモジュールで、 C 言語で記述されている。
5

知識の記述AAAAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAAA
A retriever
AAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
path planner
AAAAAAAAAAA
AAAAAAAAAAAA
AAAAAAAAAA
robot controller
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA
AAAAAAAAAAA

ものの位置を特定できるロボットを実現することであった。ロボットが全ての物の位置を把握するのは困難であるので、物の位置に関する人間の知識を用いることによって、そのの位置を把握する方法を提案した。これは、物の位置というものはその物によっておおむね使用する人が同じである、という仮定に基づいている。人間の知識を記述するための方法として、連想構造を用いた記述を採用した。人間がロボットに新たな知識を教えてやることにより、つねに物の位置の変化に対応できることを述べた。
実際にシステムを実装し、動作を確認した。ある物を探す場合、ロボットは人間と共通の知識を用いてその物が存在する場所の候補を絞り、実際にそれを見つけ出すことができた。さらに人間から新たな知識を教えてもらうことにより、より早くその物を見つけだすことが可能であることも確認できた。

共有知識

知識の確認
「もの」の名前
ユーザ

作業の依頼

現在地と目的地

結果
結果

移動命令

ｗｗｗブラウザ

パスプラン

ロボット

図 10: システムの構成

参考文献

path planner は、研究室内の２点間を最短距[1] 松井、速水、麻生、原、木村. 「所内事情通ロボットの計画」, 1995 年度日本ロボット学会全国大会, 1995.
[2] S.J.Vestli, Tschichod-Gurman. "MOPS,a System for
Mail Distribution in Oce Type Buildings", Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems, pp.489-496, 1996
[3] H.Takeda, Y.Matsubara, N.kobayashi and T.Nishida,\Theknowledgeable Environment", AAAI Spring Symposium on Intelligent Environment,1998.(In printing)[4] 前田晴美, 糀谷和人, 西田豊明. 「既存の雑多な情報を統合す8.3
物を持ってくるタスクの実行るための連想構造の提案」, 情報処理学会研究報告 96-FI42, pp.1-8, 1996.
はじめにある人（Ａ氏）"proceedings of the robotics[5] 西田 豊明, 前田 晴美, 平田 高志. 「日常記憶の共有によるコsociety" を見たいと思い、その論文が置かれているミュニティインタラクション支援を目指して -CoMeMo」,
場所をロボットに尋ねる。ロボットは"proceedings ofシステム / 制御 / 情報 Vol.41, No.8, pp.303-308, 1997.
the robotics society" を自分の知識データの中に含[6] W.Burgard D.Fox and S.Thrun. \Controlling synchroんでいるので、 retriever を使ってそれがどこに存在
drive robots with the dynamic window approach toするかを求め、その結果を WWW ブラウザに返す。
collision avoidance", Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and SysＡ氏は示された結果を見て、その論文が撮影されtems, 1996.ているものを探す。その論文が普段置かれている場[7] I.Naurbakhsh,R.Powers,andS.Birch eld.
所には撮影されておらず、たまたまＢ氏の机の上に\DERVISH An oce-navigating robot".AI MAGA置かれているのが撮影されている。
ZINE, Summer 1995, pp.55-60, 1995.
Ａ氏はロボットに対して、 B 氏の机の所へ移動し[8]
麻生英樹. 「情報統合 - 課題と展望 -」, 人工知能学会誌てその論文を持ってくるように依頼する。
Vol.11
No.2,
pp.185-192, 1996.
ロボットはＢ氏の机の場所へ移動し、その場所で近くにいる人に対して"proceedings of the roboticssociety" を載せてくれるように音声を用いて要求する。近くにいた人はロボットにその論文集を載せる。
そしてロボットはＡ氏の場所へその論文集を持っていくことができる。
Ａ氏は現在自分の手元にその論文集があるので、そのことをロボットに対して教えておく。
離で移動するための経路を求めるためのモジュールである。 robot controller から現在の場所と目的の場所が渡されると、出力として最短の経路を robot controller に渡す。アルゴリズムは
dijkstra のアルゴリズムを用いており、 C 言語で記述されている。研究室内でロボットが移動する経路として表現したグラフの規模は小さいので、計算時間はほとんどかからない。

9まとめ

本研究の目的は、オフィスのような人間のいる環境において、備品のようにその存在場所が変化する

6