The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005

3B2-03

SOBAR: コミュニケーションロボットによる環境センサ情報への制約
SOBAR: A restriction for environmental sensor’s information with communication robot∗1∗2

大澤 博隆∗1向井 淳∗2今井 倫太∗2

Osawa Hirotaka

Mukai Jun

Imai Michita∗3

慶應義塾大学理工学研究科

Graduate School of Science and Technology, Keio University

慶應義塾大学理工学部

Faculty of Science and Technology, Keio University

Today, ubiquitous informing device such like RFID, environmental sensors have come into wide use. And it
is easy to get and use information for communication robot. But especially in human-robot communication, ameaning of object and action easily changes by condition of human or conversation between human and robot (wecall them context). Then, it is difficult to get meaning just from environmental information.
To solve this problem, we propose SOBAR(Sensor-Oriented Behavior-Acquisition system for Robot). SOBAR
make definitions and priorities of cognition for interaction of robot. While a communication continues, SOBAR
determines best meaning of object or action along with prior restriction and definit restriction.

1.

?

はじめにA cup of tea.

Delicious?

本研究では，コミュニケーションロボットを使用し，人間とシステムの間で違和感無くコミュニケーションシナリオを実行することを目標としている．
近年，RFID や環境センサなどの外部情報取得デバイスが急速に普及しつつある．これらのユビキタス環境をロボットの処理に利用した例として，知識分散型フレームワーク [本宮 他 03]や，福田らの調理支援ロボット [福田 他 04] など，物体に取り付けられた RFID からの情報に合わせて行動を行なうシステ
ムが存在する．外部情報処理デバイスと協調して動作することにより，コミュニケーションロボットも，周囲にある物体の情報を直接得て，その情報を元にコミュニケーションシナリオを実行できると考えられる．
しかしながら，コミュニケーションロボットは周囲にある物体の情報を直接得ても，現在の認識となる物や行為の意味を，必ずしも正しく捉えることができない．なぜならば，人間−ロボット間のコミュニケーションの状況によって物や行為の保持する意味が変化してしまうからである．たとえばコップに付けた加速度センサからだけでは，その人間がコップを片付けたくて動かしているのか，それともコップの中身を飲もうとしているのかわからない．図 1 の場合には，人間がコップを片付けようと動かしたセンサ情報に対し，ロボットが「美味しい？」という発話を行っている．しかし，人間は，想定外の発話に対して驚いている．それに対し図 2 の場合には，ロボットが “Acup of tea” と発話し，あらかじめ人間をコップへ注目させている．この発話はあらかじめ意味を与える．結果，人間はロボットの発話を容易に理解できるようになる．
本研究では上記の問題を解決する．SOBAR ではまず，物や行為の意味を変化させるコミュニケーション内の行動を優先制約と定義制約という二つのモデルに分類する．次にこれら二つの制約モデルを利用して，環境センサ情報から現在解釈するべき最適な物や行為の意味を選択し，それに従ってロボットの現在の認識や発話を変化させるシステム SOBAR(SensorOriented Behavior-Acquisition system for Robot) を提案する．SOBAR は前提条件と実行部を合わせたスキーマと呼ばれる命令群を持っており，センサ入力やロボットの行動によっDelicious?

TRASH

図 1: コミュニケーションの 図 2: コミュニケーションの失敗例
成功例て選択されるスキーマの順序を変更し，またスキーマの前提条件となるシンボルを定義する．このようにして，その時々でロボットが状況に合わせた発話を行う．SOBAR によって，人間−ロボット間で，人間の行動に対して適切な応答を返すコミュニケーションシナリオを成立させることができる．
本稿ではまず，SOBAR の中心となる優先制約と定義制約の二つのモデルについて詳しく説明する．その後，SOBAR を実行するための，ロボット内部の SOBAR と外部環境センサク
ライアントの設計について記述する．最後に，SOBAR と外部センサクライアントの具体的な実装環境と検証結果について述べ，その結果を考察する．

2.

コミュニケーションによる制約のモデル

本研究では，状況によって変化する物体の機能を扱うため，物体と物体の持つ各機能に対し図 3 のような分類を割り当てる．図 3 は，コップの使われかたと，コップに取り付けられた加速度センサ値に対応する状況下でのコップの機能を表した図である．たとえば，コップが飲物の容器 (コップ) として解釈される時には，傾いた状態の加速度センサ値を「飲む」機能に対応した値として解釈することができる．一方，コップがゴミとして解釈されている時には，同じ値が「捨てる」という機能に対応した値になる．このように，コミュニケーション中の物体の役割によって，外部情報に対応する機能の役割はまったく異なってくる．この役割を本研究では物体の定義と呼ぶ．
また，物体が飲物の容器 (コップ) として扱われている際にも，ロボットが飲むことを勧めているか，あるいは動かすこと

A: 大 澤 博 隆 ，慶 應 義 塾 大 学 理 工 学 研 究 科 ，神 奈 川 県
横浜市港北区日吉 3-14-1，43222，FAX:045-560-1064，
osawa@ayu.ics.keio.ac.jp1

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005
オが実行できる．このような認識のためには，コップのセンサ情報だけではなく，抽象的なコップという概念を扱って，人がコップをどのように意識しているかを前提としてロボットが行動する必要がある．
本研究では物体の役割を定義制約と呼ぶ．定義制約は，コミュニケーション中に人間が注目している物体の役割に応じて変更される．図 5 は，定義制約の変化を表した図である．図 5の左図では，コップはなにも定義されていないデフォルト状態として扱われている．それに対し，右側は，「紙が押さえてあるよ」などの発話によって，双方がコップを重しとして認識した後の図である．この状況下ではコップのセンサ情報に対して，重しとしての機能が優先されて解釈される．

図 3: 制約のモデルを勧めているかで，センサ値の傾きに対応する解釈は異なる．
このように物体の定義が同じ状態でも，ロボットの発話によって，同じセンサ値での物体の機能は異なってくると考えられる．本モデルではこのような物体の機能の変化を扱うため，事前知識として与える，各機能に対応するセンサ値の解釈幅を可能な限り広く取る．そして，一つのセンサ値に対応する，重複した機能のうちどれを優先するかを，状況に応じてシステムで決定する．
これらコミュニケーション中の認識を制約するモデルとして，本研究では具体的に以下の二つを考慮した．

2.1

図 5: 定義制約による認識の変化例
ここで本研究では，制約の前提となる「飲物の容器 (コップ)」や「重し」対象をシンボルと呼ぶ．上記のモデルを達成するた
めには，必要に応じてシンボルを定義し，行為の前提条件に置くシステムが必要となる．

優先制約

例えば，コップが傾いているというセンサ情報を得たとしても，それは人間が片付けようとしているのか，単に手に取っただけなのか，内容物を飲もうとしているのかはわからない．
しかし，仮にロボットが「飲んでみてね」と発話したならば，そのコップの傾きという情報は，飲もうとしているとみなすことができる．
図 4 は，ロボットの発話によってコップの機能と加速度センサ値の対応が変化した図である．図 4 の左図では，コップの「置く」という機能が「飲む」という機能に対して優先されている．しかしながら，ロボットが「飲んでみてね」など，飲む行為を優先する発話をした後の右の図では，「飲む」という機能が「置く」という機能よりも優先されており，同じ傾きの値に対してより素早く飲む行為に対応した発話が可能となる．
このように，加速度センサ値に対して，それを前提とするロボットの行動が複数存在する場合には，ロボットの発話に応じて「飲む」という行為に対応した認識が優先される．

3.

本研究では以上のモデルを実現するため，SOBAR というシステムを設計した．SOBAR ではロボットの行動を利用して，人間の認識の前提となる定義制約・優先制約を変更し，現在のコミュニケーション状況に合わせた認識を行う．また，その認識結果をトリガーとして，現在のコミュニケーション状況に沿った行動を行う．
SOBAR を含めたシステムの概略を図 6 に示す．システムは，ロボット内部の SOBAR と外部センサ情報を取り扱う PCクライアントで成り立っている．コミュニケーションによる制約を扱うため，SOBAR はスキーマとコンテキストという二つの要素を持つ．コミュニケーションの現在状態を表すコンテキストは，外部センサクライアントからのセンサ情報に従って追加・更新される．一方，スキーマリスト中では現在のコンテキストからもっとも適切なスキーマを選び，そのスキーマを実行してロボットの行動を行う．ロボットの行動結果はコンテキス
トに追加される．
スキーマとコンテキストについて，以下の項で詳しく説明する．

3.1

図 4: 優先制約による認識の変化例

スキーマ

本研究ではスキーマを，ロボットの認識と行動の基本単位とする．スキーマは前提条件部と実行部を持っている．スキーマの例を次に示す．

本研究ではこれを，優先する行為の順序をある行為が変えるモデルと考える．このモデルを達成するには，選択される認識の優先順位を会話の状況に応じて変化させる必要がある．

2.2

SOBAR のシステム構成

cup_defcup: (if (ifaction "cupgaaruyo") (def Cup))
diary_read: (if (and (ifdef Diary)(range 1 4 550 *)) (action "omoshiroi"))
cup_topdrink: (if (and (ifdef Cup)(ifaction "nondemitene" )) (top cup_afterdrink))

定義制約

例えば人間がコップを手に取っても，それはコップではなく，重石として扱われる可能性がある．人間−ロボット間でコップを扱うコミュニケーションを成り立たせるには，双方がコップを認識している必要がある．逆にコップが飲物の容器 (コップ)として定義されていれば，飲物を与えるなどといったシナリ最初のスキーマは cup defcup という名前であり，「コップがあるよ」と発話する行為が前提条件で，Cup というシンボルの定義が実行部である．

2

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005
ま ず，SOBAR
を コ ミュニ ケ ー ション ロ ボット
Robovie[Kanda 他 02] 上 に 実 装 し た ．Robovie の 外 観を図 7，ハードウェア構成を表 1 に示す．また，環境センサには MICA-MOTE([Samuel 他 03]，図 8) を使用し，外部センサクライアントを PC に実装した．Robovie と外部センサ
クライアントの間は，無線 LAN による通信を行った．

ロボットSOBARSchema List

行動
実行

優先順位の入れ替え

代入

検索
検索された
スキーマ

内部状態
追加

更新

Context

PCクライアント
外部センサ
クライアント

外部センサ入力

図 6: システム概略図
次のスキーマの名前は diary read であり，もしコンテキスト中に Diary というシンボルが定義されていて，かつセンサ(1, 4)(後述する外部センサクライアントからのセンサ情報) が550 以上の値を示したときに，「面白い？」と発話するスキーマである．このように前提条件にシンボルを使用することで，定義制約を実現する．
最後のスキーマでは，シンボル Cup が定義されており，かつ「飲んでみてね」という発話があったときに，コンテキスト中の cup afterdrink というスキーマの優先順位を上げる，というスキーマを表している．
SOBAR はスキーマを複数持ち，検索条件に当てはまったスキーマがいくつか存在する場合には，検索結果のリストから，先に並んでいるものを優先する．ただし，優先順位を変更する
スキーマによってスキーマ列の順番は変化する．このようにあるスキーマが他のスキーマの優先順位を変えることで，優先制約を実現する．

3.2

図 7: コミュニケーションロ
ボット Robovie

表 1: Robovie の構成
アクチュエータ

コンテキストSOBAR は，ロボットの行動や外部センサ入力といった事前情報をコンテキストという形で扱う．コンテキストにはロボッ
トの行動・外部センサの入力・シンボルが順番に入力されている．スキーマを実行した際には，その実行部が新しくコンテキストに追加される．

4.

センサ

頭部 (3 自由度)，腕 (4 自由度)
2 輪独立駆動方式の車輪・キャスター
ステレオマイクロフォン
全方位視覚センサ
ステレオカメラ (両眼の位置，2 自由度で注視方向が制御可能)
接触センサ (上半身 18 個下半身 10 個)
超音波センサ (24 個)
赤外線センサ外部センサクライアント
実験で使用したセンサは以下の通りである．まず，コップに加速度センサと光センサ (図 9) を取り付け，その傾きとコップ内の光量を環境情報として得た．また，日記に曲げセンサ (図10) を取り付けて表紙の曲げ具合を取得し，絵に赤外線センサ(図 11) を取り付けて絵の前の障害物との距離を得た．さらに机と椅子を囲む範囲に焦電センサを利用したモーションセンサ(図 12) を取り付けて，人間の動きを情報として得た．
ロボット内部の SOBAR には事前に 14 のスキーマを与えた．ロボットは，起動してから 30 秒毎にコップの定義・日記の定義・絵の定義を表すシナリオ動作を自動的に行う．この動作も action として SOBAR のコンテキスト中に入力される．
このような動作環境において，人間 1 人とのインタラクションを実行させた．
図 13・図 14 ・図 15 に，定義制約によるロボットの行動の変化を表す．図 13 はコップが定義されていない状態であり，コップを動かした人間に対し，ロボットが制止する動作を行い「動かしちゃだめだよ」と発話した．その後，図 14 において「コップがあるよ」と発話し，コップを定義する行動をした後，外部センサには様々な種類の物があるが，外部環境情報を統一して扱うには，これらを抽象化する必要がある．外部センサ用のミドルウェアは TinyDB[Samuel 他 03] などが存在するが，今回の研究では SOBAR に合わせた抽象化が必要となるため，外部センサクライアント exorgan client を新たに設計した．
exorgan client はまず外部センサに固有の番号を振り，センサの種類とセンサ番号によって外部センサを抽象化する．その後，exorgan client は一定期間毎に外部センサデータをロボット上のプログラムに送信する．この際，必要なデータが受け取れなかった場合には，exorgan client が前のデータから次のデータを補間して送信する．

5.

図 8: MICA-MOTE

実装と検証実験

本実験では，ロボットが実行するべきシナリオと，外部センサ情報を元に反応を行う SOBAR が協調して動作できるかどうかに主眼を置いた．

3

The 19th Annual Conference of the Japanese Society for Artificial Intelligence, 2005

図 9: 加速度センサと光センサ

図 10: 曲げセンサ
図 15: コップの定義後

図 16: 飲む行為の優先後また今回のモデルでは，複数の人間がコミュニケーション対象となったときに，コンテキストの情報がすべて同じになってしまうためうまくコミュニケーションシナリオが実行できない．従って，複数の人間とのコミュニケーションでも成立するモデルを考える必要がある．
図 11: 赤外線センサ

図 12: モーションセンサ

参考文献
人間がコップを手に取った図が図 15 である．ここではロボットが人間に対し「飲んでみてね」とコップを前提とした発話をしている．
また，図 15・図 16 間では，優先制約によるロボットの行動の変化が現れている．図 15 ではコップの傾き情報に対して，持つという行為の認識が飲むという行為の認識より優先されていたため，持つ行為に対応した会話を行っている．その後，ロボットが「飲んでみてね」と発話することで，飲むという行為の認識を優先させる．これによって，図 16 では，コップを傾けた情報に対して，飲んでいるという認識を行い，その結果として「おいしい？」という，飲む行為に対応した会話をロボットが行った．

[本宮 他 03] 本宮弘, 丁洛榮, 大場光太郎, 大原賢一, 宮崎学,
竹村浩司, 平井成興, 谷江和雄. 知識分散型ロボット制御
フレームワーク. 第 21 回日本ロボット学会学術講演会(2003).
[福田 他 04] 福田司, 中内靖, 野口勝則, 松原隆. ユビキタス
センサによる調理支援ロボットに関する研究. 第 5 回シ
ステムインテグレーション部門学術講演会 (SI2004), pp.
142–143 (2004).
[Samuel 他 03] Samuel R. Madden, Michael J. Franklin,
Joseph M. Hellerstein, and Wei Hong. The Design ofan Acquisitional Query Processor For Sensor Networks. ACM SIGMOD (2003).
[Kanda 他 02] Takayuki Kanda, Hiroshi Ishiguro, Tetuo
Ono, Michita Imai and Ryohei Nakatsu:
Development and Evaluation of an Interactive Humanoid
Robot “Robovie”, Proceedings of IEEE International
Conference on Robotics and Automation(ICRA 2002),
pp. 1848–1855 (2002)

図 13: コップの定義前

図 14: コップの定義

結果，ロボットは状況によって認識を変化させ，人間とのコミュニケーションを行なうことができた．

6.

まとめと今後の課題

今回，コンテキストという形であらかじめ前提条件を蓄え，さらに命令の優先度を上下させるシステムを実装した．これによって，外部センサと協調し，状況によって対応を変えてシナリオを実行する，人間−ロボット間のコミュニケーションが可能となった．
ただし今回の例では，複数のシンボルが存在したときのスキーマ間の優先順位については考慮しておらず，シンボルの消去も扱っていないという問題がある．またスキーマの数が多くなると，1 つのスキーマだけでなく，複数のスキーマの優先順位をまとめて変更させる仕組みも必要となる．したがって，システム内部での検索方法に改良の余地がある．

4