(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123375
(43)【公開日】2024-09-12
(54)【発明の名称】情報処理装置、制御プログラムおよび制御方法
(51)【国際特許分類】
G05D 1/00 20240101AFI20240905BHJP
G05D 1/43 20240101ALI20240905BHJP
【FI】
G05D1/00 B
G05D1/02 H
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023030720
(22)【出願日】2023-03-01
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「企業連携実証実験基盤の開発・ 運営と企業コンソーシアム活動支援」委託研究、産業技術力強化法第17条の適用を受ける特許出願。/ 令和2年度、国立研究開発法人科学技術振興機構、ムーンショット型研究開発事業「利用者モニタリングと経験管理の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願。
(71)【出願人】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(72)【発明者】
【氏名】太田 陽
(72)【発明者】
【氏名】宮下 敬宏
(72)【発明者】
【氏名】内海 章
(72)【発明者】
【氏名】西村 祥吾
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301BB14
5H301DD06
5H301DD07
5H301DD17
5H301GG08
5H301GG10
5H301GG17
(57)【要約】 (修正有)
【課題】人間毎に適切に安全を確保するとともに、情報セキュリティおよびプライバシーを保護する。
【解決手段】情報処理システム10では、ネットワーク14によって、サーバ12、操作者端末16およびロボット18が連係する。ロボットは、表示装置30に操作者のアバター28を表示し、ユーザに所定のサービスを提供する。ロボットが、人間または/および地図上の禁止領域との距離が接近可能距離以下となる位置まで接近すると、サーバは移動を停止させる動作コマンドをロボットに送信する。したがって、ロボットは移動を停止する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
操作者端末およびロボットがネットワークを介して連係して、前記操作者端末の操作者が、前記ロボットを通してユーザと対話する遠隔対話システムにおける情報処理装置であって、
1または複数の侵入禁止領域が設定された環境地図である設定地図データを記憶する地図記憶手段、
1または複数の人間および1または複数の前記侵入禁止領域のそれぞれに対して接近可能な距離が設定された接近可能距離データを記憶する接近可能距離記憶手段、
前記ロボットのカメラで撮影された画像であるロボットカメラ画像のデータを受ける第1受信手段、
前記ロボットで検出された当該ロボットの現在位置および当該ロボットの周囲に存在する人間の識別情報および現在位置を受ける第2受信手段、
前記設定地図データに対応する環境地図を参照して、前記第2受信手段で受けた前記ロボットの現在位置と、当該ロボットの周囲に存在する1または複数の人間および1または複数の前記侵入禁止領域の各々との距離である2点間距離を算出する距離算出手段、
前記距離算出手段によって算出された2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在するかどうか判断する判断手段、および
前記判断手段によって前記2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在すると判断されたとき、前記ロボットの移動を停止させるコマンドである停止コマンドを前記ロボットに送信する停止コマンド送信手段を備える、情報処理装置。
【請求項2】
前記判断手段によって前記2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在すると判断されたとき、前記ロボットカメラ画像に、前記2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域を指示する指標画像を重ねる重畳手段、および
前記重畳手段によって指標画像が重ねられた前記ロボットカメラ画像のデータを前記操作者端末へ送信する画像送信手段をさらに備える、請求項1記載の情報処理装置。
【請求項3】
前記ロボットは、予め設定された、移動開始地点から1または複数の経由地点を経由して目標地点まで移動し、
前記停止コマンド送信手段によって前記ロボットに停止コマンドを送信した後に、前記2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域に接近しない領域である移動可能な領域に設定され、前記ロボットの現在位置から最も近い前記経由地点または前記目標地点に移動する移動コマンドを送信する移動コマンド送信手段をさらに備える、請求項1または2記載の情報処理装置。
【請求項4】
操作者端末およびロボットがネットワークを介して連係して、前記操作者端末の操作者が、前記ロボットを通してユーザと対話する遠隔対話システムにおける情報処理装置で実行される情報処理プログラムであって、
前記情報処理装置は、1または複数の侵入禁止領域が設定された環境地図である設定地図データを記憶する地図記憶手段、および、1または複数の人間および1または複数の前記侵入禁止領域のそれぞれに対して接近可能な距離が設定された接近可能距離データを記憶する接近可能距離記憶手段を備え、
前記情報処理プログラムは前記情報処理装置のプロセッサに、
前記ロボットのカメラで撮影された画像であるロボットカメラ画像のデータを受ける第1受信ステップ、
前記ロボットで検出された当該ロボットの現在位置および当該ロボットの周囲に存在する人間の識別情報および現在位置を受ける第2受信ステップ、
前記設定地図データに対応する環境地図を参照して、前記第2受信ステップで受けた前記ロボットの現在位置と、当該ロボットの周囲に存在する1または複数の人間および1または複数の前記侵入禁止領域の各々との距離である2点間距離を算出する距離算出ステップ、
前記距離算出ステップで算出した2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在するかどうか判断する判断ステップ、および
前記判断ステップにおいて前記2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在すると判断したとき、前記ロボットの移動を停止させるコマンドである停止コマンドを前記ロボットに送信する停止コマンド送信ステップを実行させる、情報処理プログラム。
【請求項5】
操作者端末およびロボットがネットワークを介して連係して、前記操作者端末の操作者が、前記ロボットを通してユーザと対話する遠隔対話システムにおける情報処理装置の情報処理方法であって、
前記情報処理装置は、1または複数の侵入禁止領域が設定された環境地図である設定地図データを記憶する地図記憶手段、および、1または複数の人間および1または複数の前記侵入禁止領域のそれぞれに対して接近可能な距離が設定された接近可能距離データを記憶する接近可能距離記憶手段を備え、
前記ロボットのカメラで撮影された画像であるロボットカメラ画像のデータを受け、
前記ロボットで検出された当該ロボットの現在位置および当該ロボットの周囲に存在する人間の識別情報および現在位置を受け、
前記設定地図データに対応する環境地図を参照して、受けた前記ロボットの現在位置と、当該ロボットの周囲に存在する1または複数の人間および1または複数の前記侵入禁止領域の各々との距離である2点間距離を算出し、
算出した2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在するかどうか判断し、
前記2点間距離が前記接近可能距離以内である前記人間または/および前記禁止領域が存在すると判断したとき、前記ロボットの移動を停止させるコマンドである停止コマンドを前記ロボットに送信する、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、情報処理装置、制御プログラムおよび制御方法に関し、特にたとえば、操作者のアバターとして機能するロボットを制御する、情報処理装置、制御プログラムおよび制御方法に関する。
【背景技術】
【0002】
この種の従来の情報処理装置の一例が特許文献1に開示されている。この特許文献1には、表示装置に操作者の顔画像を表示して移動するロボットが開示されている。このロボットは、2次元距離計測装置の出力に基づいて周囲に存在する人間または障害物との距離を計測し、人間または障害物に衝突する可能性がある場合に、移動を停止する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の特許文献1に開示されたロボットは、人間の年齢(子供または大人)および役割などの属性に関係無く、衝突の可能性がある場合に一律に停止するため、安全が確保されているが、ロボットを操作者のアバターとして機能させる場合には衝突の可能性があるだけで一律に停止することが適切でない場合もある。
【0005】
また、特許文献1に開示されたロボットでは、人間または障害物との衝突を未然に回避することで安全を確保することは考慮されているが、情報セキュリティおよびプライバシーを保護することについては考慮されていない。
【0006】
それゆえに、この発明の主たる目的は、新規な、情報処理装置、制御プログラムおよび制御方法を提供することである。
【0007】
また、この発明の他の目的は、人間毎に適切に安全を確保するとともに、情報セキュリティおよびプライバシーを保護することができる、情報処理装置、制御プログラムおよび制御方法を提供することである。
【課題を解決するための手段】
【0008】
第1の発明は、操作者端末およびロボットがネットワークを介して連係して、操作者端末の操作者が、ロボットを通してユーザと対話する遠隔対話システムにおける情報処理装置であって、1または複数の侵入禁止領域が設定された環境地図である設定地図データを記憶する地図記憶手段、1または複数の人間および1または複数の侵入禁止領域のそれぞれに対して接近可能な距離が設定された接近可能距離データを記憶する接近可能距離記憶手段、ロボットのカメラで撮影された画像であるロボットカメラ画像のデータを受ける第1受信手段、ロボットで検出された当該ロボットの現在位置および当該ロボットの周囲に存在する人間の識別情報および現在位置を受ける第2受信手段、設定地図データに対応する環境地図を参照して、第2受信手段で受けたロボットの現在位置と、当該ロボットの周囲に存在する1または複数の人間および1または複数の侵入禁止領域の各々との距離である2点間距離を算出する距離算出手段、距離算出手段によって算出された2点間距離が接近可能距離以内である人間または/および禁止領域が存在するかどうか判断する判断手段、および判断手段によって2点間距離が接近可能距離以内である人間または/および禁止領域が存在すると判断されたとき、ロボットの移動を停止させるコマンドである停止コマンドをロボットに送信する停止コマンド送信手段を備える、情報処理装置である。
【0009】
第2の発明は、第1の発明に従属し、判断手段によって2点間距離が接近可能距離以内である人間または/および禁止領域が存在すると判断されたとき、ロボットカメラ画像に、2点間距離が接近可能距離以内である人間または/および禁止領域を指示する指標画像を重ねる重畳手段、および重畳手段によって指標画像が重ねられたロボットカメラ画像のデータを操作者端末へ送信する画像送信手段をさらに備える。
【0010】
第3の発明は、第1または第2の発明に従属し、ロボットは、予め設定された、移動開始地点から1または複数の経由地点を経由して目標地点まで移動し、停止コマンド送信手段によってロボットに停止コマンドを送信した後に、2点間距離が接近可能距離以内である人間または/および禁止領域に接近しない領域である移動可能な領域に設定され、ロボットの現在位置から最も近い経由地点または目標地点に移動する移動コマンドを送信する移動コマンド送信手段をさらに備える。
【0011】
第4の発明は、操作者端末およびロボットがネットワークを介して連係して、操作者端末の操作者が、ロボットを通してユーザと対話する遠隔対話システムにおける情報処理装置で実行される情報処理プログラムであって、情報処理装置は、1または複数の侵入禁止領域が設定された環境地図である設定地図データを記憶する地図記憶手段、および、1または複数の人間および1または複数の侵入禁止領域のそれぞれに対して接近可能な距離が設定された接近可能距離データを記憶する接近可能距離記憶手段を備え、情報処理プログラムは情報処理装置のプロセッサに、ロボットのカメラで撮影された画像であるロボットカメラ画像のデータを受ける第1受信ステップ、ロボットで検出された当該ロボットの現在位置および当該ロボットの周囲に存在する人間の識別情報および現在位置を受ける第2受信ステップ、設定地図データに対応する環境地図を参照して、第2受信ステップで受けたロボットの現在位置と、当該ロボットの周囲に存在する1または複数の人間および1または複数の侵入禁止領域の各々との距離である2点間距離を算出する距離算出ステップ、距離算出ステップで算出した2点間距離が接近可能距離以内である人間または/および禁止領域が存在するかどうか判断する判断ステップ、および判断ステップにおいて2点間距離が接近可能距離以内である人間または/および禁止領域が存在すると判断したとき、ロボットの移動を停止させるコマンドである停止コマンドをロボットに送信する停止コマンド送信ステップを実行させる、情報処理プログラムである。
【0012】
第5の発明は、操作者端末およびロボットがネットワークを介して連係して、操作者端末の操作者が、ロボットを通してユーザと対話する遠隔対話システムにおける情報処理装置の情報処理方法であって、情報処理装置は、1または複数の侵入禁止領域が設定された環境地図である設定地図データを記憶する地図記憶手段、および、1または複数の人間および1または複数の侵入禁止領域のそれぞれに対して接近可能な距離が設定された接近可能距離データを記憶する接近可能距離記憶手段を備え、ロボットのカメラで撮影された画像であるロボットカメラ画像のデータを受け、ロボットで検出された当該ロボットの現在位置および当該ロボットの周囲に存在する人間の識別情報および現在位置を受け、設定地図データに対応する環境地図を参照して、受けたロボットの現在位置と、当該ロボットの周囲に存在する1または複数の人間および1または複数の侵入禁止領域の各々との距離である2点間距離を算出し、算出した2点間距離が接近可能距離以内である人間または/および禁止領域が存在するかどうか判断し、2点間距離が接近可能距離以内である人間または/および禁止領域が存在すると判断したとき、ロボットの移動を停止させるコマンドである停止コマンドをロボットに送信する、情報処理方法である。
【発明の効果】
【0013】
この発明によれば、人間毎に適切に安全を確保するとともに、情報セキュリティおよびプライバシーを保護することができる。
【0014】
この発明の上述の目的、その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0015】
【
図1】
図1はこの発明の一実施例の情報処理システムを示す図である。
【
図2】
図2は
図1に示すサーバの電気的な構成の一例を示すブロック図である。
【
図3】
図3は
図1に示す操作者端末の電気的な構成の一例を示すブロック図である。
【
図4】
図4は
図1に示すロボットの電気的な構成の一例を示すブロック図である。
【
図5】
図5は操作者端末に表示されるUI画面の一例を示す図である。
【
図6】
図6は接近可能距離テーブルの一例を示す図である。
【
図7】
図7は環境地図に禁止領域が設定された設定地図の一例を示す図である。
【
図8】
図8(A)はUI画面に表示されるロボットカメラ画像の一例を示す図であり、
図8(B)はUI画面に表示されるロボットカメラ画像の他の例を示す図である。
【
図9】
図9は
図2に示すサーバのRAMのメモリマップの一例を示す図である。
【
図10】
図10は
図3に示す操作者端末のRAMのメモリマップの一例を示す図である。
【
図11】
図11は
図4に示すロボットのRAMのメモリマップの一例を示す図である。
【
図12】
図12は
図2に示すサーバのCPUの停止制御処理の一例の一部を示すフロー図である。
【
図13】
図13は
図2に示すサーバのCPUの停止制御処理の一例の他の一部であって、
図12に後続するフロー図である。
【
図14】
図14は
図2に示すサーバのCPUの所定のサービスの実行中における送受信処理の一例の一部を示すフロー図である。
【
図15】
図15は
図2に示すサーバのCPUの所定のサービスの実行中における送受信処理の一例の他の一部であって、
図14に後続するフロー図である。
【発明を実施するための形態】
【0016】
図1を参照して、この実施例の情報処理システム10はサーバ12を含み、サーバ12は、ネットワーク14を介して、操作者端末16およびロボット18に通信可能に接続される。
【0017】
操作者端末16は、操作者によって操作され、主として、ロボット18を制御するために使用される。この実施例では、操作者は、サーバ12によって提供されるアバターを用いた所定のサービスを利用する者(サービスユーザ)である。ロボット18は、操作者のアバターとして機能する。この実施例の情報処理システム10では、操作者端末16およびロボット18がネットワーク14を介して連係して、操作者端末16の操作者が、ロボット18を通して後述する対話エージェントと対話する。
【0018】
所定のサービスは、所定の環境(たとえば、企業のオフィス、店舗、博物館、美術館、水族館または科学館など)に配置されるロボット18を、遠隔に存在する操作者のアバターとして機能させ、アバターすなわちロボット18が所定の環境内を自由に動き回って利用されるサービスである。
【0019】
この場合、操作者は、ロボット18を通して、オフィス内に存在する人間と対話する。また、操作者は、ロボット18を通して、店舗、博物館、美術館、水族館または科学館などに存在する案内人である人間の説明を聞いたり、案内人である人間と対話したりする。つまり、操作者と対話する人間は、操作者の対話相手(すなわち、対話エージェント)である。
【0020】
なお、
図1では、1台の操作者端末16および1台のロボット18を示してあるが、実際には、複数の操作者端末16および複数のロボット18が設けられる、操作者が所定のサービスを利用する場合に、サーバ12によって、当該操作者(操作者端末16)に対して1台のロボット18が割り当てられる。以下、1台の操作者端末16および1台のロボット18を用いて説明するが、同じ内容が他の操作者端末16および他のロボット18にも当てはまる。
【0021】
サーバ12は、情報処理装置の一例であり、汎用のサーバを用いることができる。この実施例では、サーバ12は、アバターを用いた所定のサービスを提供するウェブサイトを運営する。設定地図データベース(以下、「設定地
図DB」という)12aと接近可能距離データベース(以下、「接近可能距離DB」という)12bがサーバ12に接続されている。設定地
図DB12aは、ロボット18が配置される所定の場所または所定の施設のマップ(環境地図)上に、侵入することが禁止されている領域(以下、「禁止領域」という)が設定されたデータである。接近可能距離DB12bは、ロボット18が接近可能な距離を、各人間および各禁止領域について指定されたデータである。ただし、接近可能な距離が指定される人間は、個人を識別可能な人間(会話エージェントを含む)個人であるが、個人を識別できない人間については接近可能な一定の距離が指定されている。
【0022】
なお、設定地
図DB12aおよび接近可能距離DB12bは、サーバ12に内蔵されるHDDに設けてもよいし、ネットワーク14を介して通信可能に設けてもよい。
【0023】
ネットワーク14は、インターネットを含むIP網(または、IPネットワーク)と、このIP網にアクセスするためのアクセス網(または、アクセスネットワーク)とから構成される。アクセス網としては、公衆電話網、携帯電話網、有線LAN、無線LAN、CATV(Cable Television)等を用いることができる。
【0024】
操作者端末16は、サーバ12とは異なる他の情報処理装置であり、一例として、デスクトップ型PCである。他の例では、操作者端末16として、スマートフォン、タブレットPCまたはノート型PCなどの汎用の端末を用いることもできる。
【0025】
ロボット18は、自律行動可能な、いわゆるテレプレゼンス(または、テレイグジステンス)ロボットであり、市販の移動型のロボットを用いることができる。一例として、ロボット18としては、出願人が開発等したロボビー(登録商標)またはDouble Robotics, Incが販売するロボットDouble 3を使用することができる。ただし、ロボット18は、このような特定のロボットに限られることなく、特許文献1で開示しているようなロボットも利用可能である。
【0026】
なお、一例として、ロボット18を自律行動させる方法としては、特開2009-131914号に開示された方法を採用することができる。
【0027】
実施例においては、操作者は、操作者端末16を操作して、ロボット18にタスク(動作)を実行させるためのコマンドを、サーバ12を介してロボット18に送信する。また、操作者端末16は、操作者の音声をマイク82で検出し、検出した音声をサーバ12を介してロボット18に送信する。したがって、ロボット18のスピーカ112から操作者の音声が出力される。ただし、操作者の音声は、他のキャラクタの音声に変換されて出力されてもよい。さらに、操作者端末16は、操作者の画像(以下、「操作者画像」という)をカメラ88で撮影し、撮影した操作者画像をサーバ12を介してロボット18に送信する。この実施例では、操作者画像は、操作者の顔画像である。したがって、ロボット18の表示装置30には、操作者の顔画像が表示される。
【0028】
一方、ロボット18は、対話エージェントまたは/および環境の画像をカメラ122で撮影し、撮影した画像(以下、「ロボットカメラ画像」という)をサーバ12を介して操作者端末16に送信する。したがって、操作者端末16では、ロボット18から見た画像すなわち対話エージェントまたは/および環境の画像が表示装置80に表示される。また、ロボット18は、対話エージェントの音声を含む周囲の音をマイク110で検出し、検出した音声をサーバ12を介して操作者端末16に送信する。したがって、操作者端末16のスピーカ112から対話エージェントの音声を含む音が出力される。
【0029】
したがって、操作者は、対話エージェントの顔を見ながら対話したり、環境を見ながらロボット18を操作したりすることができる。
【0030】
また、ロボット18は、ベース20を含み、このベース20の正面には移動用センサの1つである超音波センサ22が設けられる。このベース20の両端には左右の移動用車輪24Lおよび24Rが回転自在に設けられる。
【0031】
ベース20の上面には、上方に延びるポール26が設けられ、そのポール26の上端には、操作者の画像(たとえば、顔画像)28を表示することができる、表示装置30が設けられる。なお、この表示装置30には、タッチパネル、カメラ、マイクおよびスピーカ等が設けられるが、詳細は
図4に示すブロック図を参照して説明する。また、このロボット18は、バッテリ駆動型のロボットであり、バッテリはたとえばポール26の中に収容されている。
【0032】
図2は
図1に示したサーバ12の電気的な構成を示すブロック図である。
図2に示すように、サーバ12はCPU50を含み、CPU50は、内部バスを介して、RAM52、通信部54および入出力インタフェース(以下、「入出力I/F」という)56に接続される。
【0033】
CPU50は、サーバ12の全体的な制御を司る。ただし、CPU50に代えて、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)を設けてもよい。RAM52は、サーバ12の主記憶装置であり、CPU50のワーク領域およびバッファ領域として用いられる。
【0034】
図示は省略するが、サーバ12は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0035】
通信部54は、CPU50の制御の下、ネットワーク14を介して、操作者端末16およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部54としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0036】
入出力I/F56には、入力装置58および表示装置60が接続されている。入力装置58として、キーボードおよびコンピュータマウスが用いられる。表示装置60は、LCDまたは有機ELディスプレイである。
【0037】
入出力I/F56は、入力装置58から入力された操作データ(または、操作情報)をCPU50に出力するとともに、CPU50によって生成された画像データを表示装置60に出力して、画像データに対応する画面を表示装置60に表示させる。
【0038】
なお、
図2に示すサーバ12の電気的な構成は一例であり、限定される必要はない。
【0039】
図3は
図1に示した操作者端末16の電気的な構成を示すブロック図である。
図3に示すように、操作者端末16はCPU70を含み、CPU70は、内部バスを介して、RAM72、通信部74および入出力I/F76に接続される。
【0040】
CPU70は、操作者端末16の全体的な制御を司る。ただし、CPU70に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM72は、操作者端末16の主記憶装置であり、CPU70のワーク領域およびバッファ領域として用いられる。
【0041】
図示は省略するが、操作者端末16は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0042】
通信部74は、CPU70の制御の下、ネットワーク14を介して、サーバ12およびロボット18などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部74としては、有線LANのみならず、無線LANまたはBluetooth(登録商標)等を使用することもできる。
【0043】
入出力I/F76には、入力装置78および表示装置80、マイク82およびスピーカ84が接続されている。入力装置78として、キーボードおよびコンピュータマウスが用いられる。さらに、タッチパネルが設けられる場合もある。表示装置80は、LCDまたは有機ELディスプレイである。
【0044】
ただし、操作者端末16として、スマートフォンが用いられる場合には、入力装置78は、タッチパネルおよびハードウェアのボタンである。タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0045】
入出力I/F76は、マイク82で検出された操作者の音声をデジタルの音声データに変換してCPU70に出力するとともに、CPU70によって出力される音声データをアナログの音声信号に変換してスピーカ84から出力させる。ただし、実施例では、CPU50から出力される音声データは、ロボット18から受信した音声データである。また、入出力I/F76は、入力装置78から入力された操作データ(または、操作情報)をCPU70に出力するとともに、CPU70によって生成された画像データを表示装置80に出力して、画像データに対応する画面または画像を表示装置80に表示させる。ただし、この実施例では、表示装置80に表示されるUI画面200(
図5参照)には、ロボット18から送信されたロボットカメラ画像データも出力される。ロボットカメラ画像データは、ロボット18のカメラ122で撮影された画像(動画像または静止画像)の画像データである。
【0046】
また、操作者端末16は、センサI/F86およびカメラ88を備えている。CPU70は、バスおよびセンサI/F86を介してカメラ88に接続される。カメラ88は、CCDまたはCMOSのような撮像素子を用いたカメラである。
【0047】
なお、
図3に示す操作者端末16の電気的な構成は一例であり、限定される必要はない。
【0048】
また、操作者端末16がスマートフォンである場合には、携帯電話通信網、または、携帯電話網および公衆電話網を介して、通話するための通話回路を備えるが、この実施例では、そのような通話は行わないため、図示は省略してある。
【0049】
図4は
図1に示したロボット18の電気的な構成を示すブロック図である。
図4に示すように、ロボット18はCPU100を含み、CPU100は、内部バスを介して、RAM102、通信部104および入出力I/F106に接続される。
【0050】
CPU100は、ロボット18の全体的な制御を司る。ただし、CPU100に代えて、CPU機能、GPU機能等の複数の機能を含むSoCを設けてもよい。RAM52は、操作者端末16の主記憶装置であり、CPU100のワーク領域およびバッファ領域として用いられる。
【0051】
図示は省略するが、ロボット18は、HDDおよびROMのような補助記憶装置も備える。ただし、HDDおよびROMに代えて、または、HDDおよびROMに加えて、SSD等の不揮発性メモリが使用されてもよい。
【0052】
通信部104は、CPU100の制御の下、ネットワーク14を介して、サーバ12および操作者端末16などの外部のコンピュータとの間で、制御信号(動作コマンドを含む)およびデータの送受信を行う。ただし、通信部104としては、無線LANまたはBluetooth(登録商標)等を使用することができる。
【0053】
入出力I/F106には、入力装置108および表示装置30、マイク110およびスピーカ112が接続されている。入力装置108として、緊急停止用のハードウェアのボタンなどが設けられる。さらに、入力装置108として、表示装置30の表示面に重ねてタッチパネルが設けられる。表示装置30は、LCDまたは有機ELディスプレイである。一例として、タッチパネルは、汎用のタッチパネルであり、静電容量方式、電磁誘導方式、抵抗膜方式、赤外線方式など、任意の方式のものを用いることができる。
【0054】
入出力I/F106は、マイク110で検出された対話エージェントの音声をデジタルの音声データに変換してCPU100に出力するとともに、CPU100によって出力される音声データをアナログの音声信号に変換してスピーカ112から出力させる。ただし、実施例では、CPU100から出力される音声データは、操作者端末16から受信した音声データである。また、入出力I/F106は、入力装置108から入力された操作データ(または、操作情報)をCPU100に出力するとともに、CPU100によって生成(または、出力)された画像データを表示装置30に出力して、画像データに対応する画面または画像を表示装置30に表示させる。ただし、この実施例では、表示装置30には、操作者端末16から送信されたカメラ88の映像(カメラ画像、すなわち、動画像または静止画像)が表示される。つまり、操作者の顔画像が表示装置30に表示される。ただし、操作者の顔画像に代えて、操作者に対応するキャラクタの顔画像が表示装置30に表示されてもよい。
【0055】
また、ロボット18は、モータドライバ114を備え、モータドライバ114はバスを介してCPU100に接続される。モータドライバ114は、CPU100の命令に従って、ロボット18の右車輪24Rを回転させる右車輪モータ116の駆動を制御するとともに、ロボット18の左車輪24Lを回転させる左車輪モータ118の駆動を制御する。
【0056】
また、ロボット18は、センサI/F120、カメラ122、レーザ距離計(LRF)124、LRF126、超音波センサ22および慣性計測ユニット128を備えている。
【0057】
CPU100は、バスおよびセンサI/F120を介して、カメラ122、LRF124、LRF126、超音波センサ22および慣性計測ユニット128にそれぞれ接続される。
【0058】
カメラ122は、CCDまたはCMOSのような撮像素子を用いたカメラである。
図1では省略したが、カメラ122は、表示装置30の上端部または下端部に設けられ、ロボット18の前方の所定範囲(画角で決まる範囲)を撮影する。したがって、カメラ122は、ロボット18に対面し、ロボット18を通して操作者と対話する対話エージェントまたは/およびロボット18が配置されたり移動したりする環境を撮影する。また、ロボット18は、撮影した画像に含まれる顔画像を認識することで、予め顔画像が登録されている人間を個別に特定する。
【0059】
LRF124は、一般に、レーザ光を照射し、それが対象(物体や人体など)で反射して戻ってくるまでの時間から距離を計測する。この実施例のLRF124(後述する、LRF126も同じ)は、軸の周りをたとえば±45度の範囲で回転するミラー(図示せず)を含み、レーザ光の進路をこの回転ミラーでたとえば0.6度ずつ変化させながら計測を行う(レーザ光でスキャンする)ことができる。以下では、LRF124によってレーザ光でスキャン(走査)される平面をスキャン面と呼ぶ。また、LRF124で計測可能な距離は、レーザ光が人間の目に影響を与えないよう、所定距離R(たとえば15m)以下に制限されている。このため、LRF124の計測領域(すなわち、スキャン面)は、たとえば扇形、つまり半径Rで中心角90度の扇形となる。なお、スキャン面(扇形)の中心角は90度とは限らず、たとえば180度や360度などでもよい。
【0060】
この実施例では、LRF124は、特定の人間を追跡するためなどの目的で設けられるものである。LRF126は、このロボット18の自律移動のためのものである。LRF124は、LRF126と兼用されてもよい。つまり、ロボット18の移動中と、ロボット18の移動を停止してアバター28による対話中と
で、1つのLRFを使い分けるようにしてもよい。
【0061】
ロボット18は、LRF124の出力に基づいて、ロボット18またはLRF124に対する対象物までの距離および向きを検出することができる。したがって、ロボット18は、検出した自身の現在位置と、LRF124を用いて検出される対象物までの距離および向きに基づいて、対象物の現在位置を検出(算出)することができる。
【0062】
また、ロボット18は、LRF126の出力に基づいて、SLAM(Simultaneous Localization and Mapping)により、ロボット18が移動する環境の地図を作成するとともに、作成する環境の地図内における現在位置を推定し、それらに基づいて自身のナビゲーションを行う。この実施例では、LRF126は水平方向における障害物との距離を計測するため、ロボット18の周辺の障害物についての2次元の地図が作成される。したがって、ロボット18が作成する環境の地図は、ロボット18(LRF126)を真上方向から見た2次元の地図である。以下、ロボット18が作成する環境の地図を「作成地図」と呼ぶことにする。また、ロボット18は、自身が配置される環境について予め作成された環境の地図(この実施例では、後述する「設定地図」)を記憶している。作成地図における原点と設定地図における原点を合わせるとともに、作成地図における方位と設定地図における方位を合わせておくことにより、設定地図(または、作成地図)におけるロボット18の現在位置が推定される。
【0063】
超音波センサ22は、超音波を用いた汎用の距離センサである。超音波センサ22は、ロボット18の前方に存在する対象物(人間または物)までの距離を計測する。一例として、超音波センサ22の水平方向における検知範囲は10度-45度であり、計測可能な距離は5m-15mである。上記のとおり、LRF128が設けられるため、超音波センサ22は設けなくてもよい。
【0064】
慣性計測ユニット128は3次元の慣性運動(直交3軸方向の並進運動および回転運動)を検出する装置であって、加速度センサによって並進運動を検出し、角速度(ジャイロ)センサによって回転運動を検出する。
【0065】
なお、
図4に示すロボット18の電気的な構成は一例であり、限定される必要はない。
【0066】
上述したように、ロボット18は、自律行動可能であり、配置された環境において予め決定されたスタート地点(移動開始地点)からゴール地点(目標地点)まで経路探索を行いながら移動することができる。ただし、スタート地点とゴール地点の間に、1または複数の経由地点が設定されてもよい。また、経路探索の方法としては、標準的な方法、すなわち、ウォーシャルフロイド法、ダイクストラ法、A*アルゴリズム、ポテンシャル法、RRT (Rapidly exploring Random Tree)などを用いることができる。スタート地点、ゴール地点および1または複数の経由地点は、サーバ12の管理者または操作者によって予め指定されている。
【0067】
また、ロボット18は、操作者の遠隔操作に従って、配置された環境において自由に移動することも可能である。操作者端末16でロボット18の移動等を操作することは既に周知であり、ここではその遠隔操作についての詳細な説明は省略する。
【0068】
図5に示すUI画面200は、ロボット18を遠隔操作するための画面である。UI画面200には、表示領域202、204および206が設けられる。表示領域202は、ロボット18に設けられたカメラ124で撮影された映像(動画像または静止画像)を表示するための領域である。
【0069】
表示領域204は、ロボット18の移動を制御するコマンド(以下、「動作コマンド」という)を入力するための複数のボタンを表示する。この実施例では、表示領域204には、ボタン210、212、214、216および218が表示される。ボタン210は、ロボット18を前進させるためのボタンである。ボタン212は、ロボット18を左折または左旋回させるためのボタンである。ボタン214は、ロボット18を右折または右旋回させるためのボタンである。ボタン216は、ロボット18を停止させるためのボタンである。ボタン218は、ロボット18を後進させるためのボタンである。
【0070】
詳細な説明は省略するが、ボタン210またはボタン218がオンされている状態で、ボタン212がオンされと、ロボット18は前進または後進しながら左に曲がる。また、ボタン210またはボタン218がオンされている状態で、ボタン214がオンされると、ロボット18は前進または後進しながら右に曲がる。ロボット18が停止している状態で、ボタン212がオンされると、ロボット18は反時計回りに進行方向を変える。また、ロボット18が停止している状態で、ボタン214がオンされると、ロボット18は時計回りに進行方向を変える。
【0071】
表示領域206は、ロボット18の行動を制御する動作コマンドを入力するための複数のボタンを表示する。この実施例では、表示領域206には、ボタン220、222および224が表示される。ボタン220は、ロボット18を頷かせるためのボタンである。ボタン222は、ロボット18に首を振らせるためのボタンである。ボタン224は、ロボット18にお辞儀させるためのボタンである。
【0072】
なお、詳細な説明は省略するが、ロボット18は、表示装置30を前方に傾けた後に元の位置に戻すことで、頷く。また、ロボット18は、表示装置30を左および右に10度から15度ずつ回動させ、これを2回繰り返すことで、首を振る。さらに、ロボット18は、右車輪24Rおよび左車輪24Lを前方に10度から20度回動した後に元の位置に戻すことにより、ポール26および表示装置30を前に10度から20度傾けた後に直立した状態に戻すことで、お辞儀する。
【0073】
図1および
図4では省略するが、ロボット18は、少なくとも、表示装置30の表示面を前後および左右に回転させる機構を備えている。さらに、ロボット18は、表示装置30の表示面を左右に傾ける機構を備えていてもよい。
【0074】
また、
図5に示したロボット18を制御する動作コマンドは一例であり、使用するロボット18が備える機能に応じて適宜変更および設定可能である。
【0075】
ロボット18が自律行動する場合および遠隔操作で移動等する場合のいずれの場合にも、上述したように、ロボット18から送信されるカメラ画像の画像データ(動画像または静止画像のデータ)および音声データがサーバ12を介して操作者端末16で受信され、操作者端末16でカメラ画像および音声が出力されることにより、操作者は、ロボット18の周囲を見たり、ロボット18の周囲の状況を把握したり、ロボット18の表示装置30に対面している対話エージェントと対話したりすることができる。
【0076】
この実施例のロボット18は、環境内に存在する人間との衝突を回避するため、環境内の人間等を検知すると移動を停止する。ただし、対話エージェントとは対話する必要があるため、ロボット18は比較的近くまで接近する必要がある。また、ロボット18は、対話エージェントでない人間とは或る程度距離を取って安全を確保する必要がある。或る程度距離を取る場合であっても、子供の場合には行動が分かり難いため、大人と比べて子供との距離は長くするべきである。
【0077】
したがって、この実施例では、ロボット18が人間に接近可能な距離(以下、「接近可能距離」という)は、人間毎の役割、大人および子供のような属性に応じて設定される。
【0078】
また、この実施例のロボット18は、環境内を移動し、その際、ロボット18のカメラ124で撮影されたカメラ画像が操作者端末16の表示装置60に表示される。環境内においては、情報セキュリティおよびプライバシーを保護するべき対象が存在する領域または場所(以下、「禁止領域」という)が存在する。このため、ロボット18が禁止領域へ侵入(または、接近)することを禁止し、情報セキュリティおよびプライバシーを保護する必要がある。
【0079】
ただし、情報セキュリティおよびプライバシーを保護するべき対象の内容等は様々であるため、ロボット18が禁止領域に接近可能な距離(接近可能距離)は、禁止領域毎に個別に設定される。一例として、禁止領域は、トイレおよびATMが設置された領域に加え、オフィスにおける個人情報または特定従業員のみに公開している情報を扱う領域、および、店舗、博物館、美術館、水族館または科学館などにおけるバックヤード、倉庫および厨房のような顧客の立ち入りが禁止されている領域に設定される。
【0080】
図6は接近可能距離テーブルの一例を示す。接近可能距離テーブルでは、人間または禁止領域に対応して接近可能な距離(以下、「接近可能距離」という)が記載される。人間または禁止領域の欄には、人間または領域を識別(特定)するための識別情報が記載される。
図6に示す例では、識別情報をアルファベット1文字で示してあるが、人間の名称および禁止領域に割り当てた名称でもよい。接近可能距離は、対応する人間または禁止領域に対してロボット18が接近可能な距離である。
図6に示す例では、距離d1、d2、d3、…、dnを示してあるが、異なる数字が付されている場合でも同じ距離に設定されていることもある。
【0081】
なお、ロボット18が配置された環境には、個人を特定できない人間が存在する場合もあるため、接近可能距離テーブルでは、個人を特定できない人間についての接近可能距離も設定されている。
【0082】
図7は禁止領域が設定された環境の地図(以下、「設定地図」という)の一例を示す図である。設定地図は、予め作成された、ロボット18が配置される環境を真上方向から見た2次元の地図であり、予め作成された環境の地図上に禁止領域が設定される。
図7では省略するが、環境の地図には、現実空間における、通路、柱、壁、部屋に加え、通路および部屋に設置された机および棚などの障害物が記載される。したがって、路、柱、壁および障害物が配置された領域および禁止領域以外をロボット18は移動することができる。ロボット18が移動することができる領域が、後述する「移動可能領域」である。禁止領域は、四角枠で囲んで設定される。
図7に示す例では、禁止領域には、四角枠に斜線を付して示してある。ただし、実際には、禁止領域は、設定地図上における座標で規定されている。
【0083】
サーバ12は、ロボット18の現在位置と1または複数の人間の現在位置からロボット18と1または複数の当該人間の距離(2点間距離)を検出(算出)し、1または複数の当該人間の各々に対して設定されている接近可能距離を接近可能距離テーブルから取得して、ロボット18が1または複数の当該人間の接近可能距離以下に近づいているかどうかを判断する。
【0084】
また、サーバ12は、設定地図を参照して、ロボット18と1または複数の禁止領域の距離(2点間距離)を検出(算出)し、1または複数の当該禁止領域の各々に対して設定されている接近可能距離を接近可能距離テーブルから取得して、ロボット18が1または複数の当該禁止領域の接近可能距離以下に近づいているかどうかを判断する。
【0085】
ロボット18が、1または複数の人間、または/および、1または複数の禁止領域の接近可能距離以下に近づいている場合には、サーバ12は、ロボット18に移動を停止させるための動作コマンドを送信する。ロボット18は、サーバ12から移動を停止させるための動作コマンドを受信すると、操作者からの動作コマンドに関係無く、移動を停止する。
【0086】
また、このとき、操作者には、接近可能距離以下である人間または/および禁止領域が報知される。この実施例では、サーバ12は、ロボットカメラ画像において、接近可能領域以下の人間または/および禁止領域の画像に所定の指標画像を重ねる(重畳する)。この実施例では、所定の指標画像は、人間の顔画像および禁止領域の画像の中心であり、顔画像および禁止領域の画像の前面に重ねられる。
【0087】
なお、ロボットカメラ画像における人間の顔画像の位置は、ロボット18において顔認識処理が実行されたときに、顔画像の範囲が特定されるため、ロボットカメラ画像に人間の顔画像の位置の情報が付加される。
【0088】
また、ロボットカメラ画像における禁止領域の位置は、一般的なAR(Augmented Reality)における位置合わせ問題の解決手法を用いて決定される。たとえば、ビジョンベースの位置合わせ手法(自然特徴ベース位置合わせ手法など)を用いれば、カメラ122から取得した画像の特徴(点や線など)の現実世界における3次元座標と、画像における2次元座標との対応関係を何組か取得して、カメラ122の位置および姿勢をリアルタイムに算出し、それらに合わせて、ロボットカメラ画像における禁止領域の位置および姿勢を決定することができる。一例として、参考文献(情報処理 Vol.51 No.4 Apr. 2010 P373-P378 特集 拡張現実感(AR) 2.基礎2:位置合わせ技術(http://id.nii.ac.jp/1001/00069294/)に開示された手法を用いることができる。
【0089】
図8(A)は接近可能距離が設定された個人を含むロボットカメラ画像300の一例を示し、
図8(B)は接近可能距離が設定された禁止領域を含むロボットカメラ画像300の一例を示す。ただし、
図8(A)では人間以外の背景は省略してある。また、
図8(B)で禁止領域以外の背景は省略してある。さらに、禁止領域の近くに人間が存在する場合もある。また、
図8(A)および
図8(B)に示すロボットカメラ画像300は、UI画面200に表示されるカメラ画像の例である。
【0090】
図8(A)のロボットカメラ画像300では、人間Aの肩から上の画像が表示される。また、人間Aの顔画像を囲むように指標画像302が表示される。一例として、指標画像302は所定の色の四角枠の画像である。他の例では、指標画像302は、他の形状の枠の画像でもよいし、枠の画像に代えて「接近注意」などの文字であってもよい。
【0091】
図8(B)のロボットカメラ画像300では、禁止領域Zの一部を含む画像が表示される。また、禁止領域Zに重なるように指標画像304が表示される。一例として、指標画像304は所定の色の円形状の枠の中に「侵入禁止」の文字列を記載した画像である。他の例では、指標画像304は、他の形状の枠の画像でもよいし、「侵入禁止」の文字は無くてもよい。
【0092】
図8(A)および
図8(B)に示すようなロボットカメラ画像300が表示されることで、操作者は、人間との衝突を回避したり、禁止領域への侵入を回避したりすることができる。ただし、この実施例では、人間または/および禁止領域がロボットカメラ画像300に含まれている場合であっても、ロボット18が当該人間または/および当該禁止領域に対して接近可能距離以下に近づいていない場合には、指標画像(302および304)は表示されない。
【0093】
図9はサーバ12に内蔵されるRAM52のメモリマップ400の一例を示す。
図9に示すように、RAM52は、プログラム記憶領域402およびデータ記憶領域404を含む。プログラム記憶領域402には、この実施例のサーバ12で実行される情報処理プログラムが記憶されている。
【0094】
情報処理プログラムは、通信プログラム402a、停止制御プログラム402b、距離判定プログラム402cおよび接近報知プログラム402dなどを含む。
【0095】
通信プログラム402aは、外部の機器、この実施例では、操作者端末16およびロボット18とネットワーク14を介して通信(データの送信および受信)するためのプログラムである。
【0096】
停止制御プログラム402bは、ロボット18と人間または/および禁止領域の距離が接近可能距離以下である場合に、ロボット18の移動を停止させるためのプログラムである。この実施例では、サーバ12のCPU50は、停止制御プログラム402bに従ってロボット18の移動を停止させる動作コマンドをロボット18に送信する。
【0097】
距離判定プログラム402cは、ロボット18と各人間および各禁止領域との距離を算出し、ロボット18と各人間および各禁止領域の距離が接近可能距離以下であるかどうかを判定する。ただし、人間および禁止領域毎の接近可能距離は、接近可能距離テーブルに設定されている。
【0098】
接近報知プログラム402dは、距離判定プログラム402cに従ってロボット18と人間または/および禁止領域の距離が接近可能距離以下であることが判定された場合に、ロボットカメラ画像において、接近可能距離以下の禁止領域または/および人間に指標画像を重ねて、操作者端末16に送信するためのプログラムである。このとき、通信プログラム402aも実行される。
【0099】
図示は省略するが、プログラム記憶領域402には、サーバ12のオペレーティングシステムおよびミドルウェアとは別に所定のサービスを提供するために必要な他のプログラムも記憶される。
【0100】
また、データ記憶領域404には、設定地図データ404a、接近可能距離データ404b、ロボットカメラ画像データ404c、ロボット検出音声データ404d、操作者画像データ404e、操作者音声データ404f、動作コマンドデータ404g、現在位置データ404h、人間情報データ404i、現在距離データ404jおよび接近報知データ404kなどが記憶される。
【0101】
設定地図データ404aは、上述した設定地図についてのデータであり、禁止領域の座標データを含む。禁止領域は、2次元平面上の矩形の領域で設定され、対角となる2つの頂点の座標の座標データが記憶される。
【0102】
接近可能距離データ404bは、人間または禁止領域の各々に設定された接近可能距離についてのデータであり、具体的には、
図6に示したような接近可能距離テーブルについてのデータである。
【0103】
ロボットカメラ画像データ404cは、ロボット18に設けられたカメラ124で撮影され、ロボット18から受信したカメラ画像のデータである。ロボット検出音声データ404dは、ロボット18に設けられたマイク110で検出され、ロボット18から受信した音声のデータである。この音声には、対話エージェント(すなわち、人間)の音声が含まれる場合がある。
【0104】
操作者画像データ404eは、操作者端末16に設けられたカメラ88で撮影され、操作者端末16から受信した操作者の画像のデータである。操作者音声データ404fは、操作者端末16に設けられたマイク82で検出され、操作者端末16から受信した音声のデータである。この音声は、基本的には、操作者の音声である。
【0105】
動作コマンドデータ404gは、サーバ12から受信した、操作者の操作による動作コマンドのデータである。
【0106】
現在位置データ404hは、ロボット18で検出された当該ロボット18の現在位置のデータである。人間情報データ404iは、ロボット18で検出されたロボット18の周囲に存在する人間の情報のデータである。人間の情報は、ロボット18の位置に対する人間の現在位置および当該人間が登録された人間であるかどうかを示す情報である。
【0107】
現在距離データ404jは、ロボット18と、ロボット18の近傍に存在する各人間および各禁止領域の距離についてのデータである。
【0108】
接近報知データ404kは、ロボットカメラ画像データ404cが示すカメラ画像において、現在距離が接近可能距離以下である人間または/および禁止領域に対応する画像に重ねる指標画像についてのデータである。
【0109】
図示は省略するが、データ記憶領域404には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0110】
図10は操作者端末16に内蔵されるRAM72のメモリマップ500の一例を示す。
図10に示すように、RAM72は、プログラム記憶領域502およびデータ記憶領域504を含む。プログラム記憶領域502には、この実施例の操作者端末16で実行される情報処理プログラムが記憶されている。
【0111】
情報処理プログラムは、通信プログラム502a、操作検出プログラム502b、撮影画像取得プログラム502c、画像表示プログラム502d、音検出プログラム502eおよび音出力プログラム502fなどを含む。
【0112】
通信プログラム502aは、外部の機器、この実施例では、サーバ12およびロボット18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0113】
操作検出プログラム502bは、操作者の操作に従って入力装置78から入力される操作データを検出し、データ記憶領域504に記憶するためのプログラムである。ただし、UI画面200に設けられたボタン210-224が操作された場合には、操作されたボタン210-224に割り当てられた操作情報(動作コマンドを含む)のデータが操作データとして検出される。
【0114】
撮影画像取得プログラム502cは、カメラ88で撮影された撮影画像データを取得するためのプログラムである。
【0115】
画像表示プログラム502dは、UI画面200の表示画像データを生成し、生成した表示画像データを表示装置80に出力するためのプログラムである。UI画面200の表示画像データには、サーバ12から受信したロボットカメラ画像データ504cも含まれる。
【0116】
音検出プログラム502eは、マイク82から入力される操作者の音声を検出し、検出した音声に対応する操作者音声データ504fをデータ記憶領域504に一時的に記憶するためのプログラムである。
【0117】
音出力プログラム502fは、サーバ12から受信したロボット検出音声データ504dをスピーカ84に出力するためのプログラムである。また、音出力プログラム502fは、音検出プログラム502eで検出した操作者音声データ504fをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム502aも実行される。
【0118】
図示は省略するが、プログラム記憶領域502には、操作者端末16のオペレーティングシステム、任意のミドルウェアおよび任意のアプリケーションを実行するためのプログラムも記憶される。
【0119】
また、データ記憶領域504には、操作データ504a、UI画面データ504b、ロボットカメラ画像データ504c、ロボット検出音声データ504d、操作者画像データ504eおよび操作者音声データ504fなどが記憶される。
【0120】
操作データ504aは、操作検出プログラム502bに従って検出された操作データであり、動作コマンドデータを含む。操作データ504aは、サーバ12に送信されたり、操作者端末16の処理に利用されたりした後に消去される。
【0121】
UI画面データ504bは、
図5に示したUI画面200を表示するための画像データである。
【0122】
ロボットカメラ画像データ504cは、サーバ12から受信したロボットカメラ画像データである。
【0123】
ロボット検出音声データ504dは、サーバ12から受信したロボット検出音声データである。
【0124】
操作者画像データ504eは、カメラ88から取得した撮影画像データであり、サーバ12に送信された後に消去される。
【0125】
操作者音声データ504fは、マイク82で検出された音声データであり、サーバ12に送信された後に消去される。
【0126】
図示は省略するが、データ記憶領域504には、情報処理を実行するために必要な他のデータが記憶されたり、情報処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0127】
図11はロボット18に内蔵されるRAM102のメモリマップ600の一例を示す。
図11に示すように、RAM102は、プログラム記憶領域602およびデータ記憶領域604を含む。プログラム記憶領域602には、この実施例のロボット18で実行される制御プログラムが記憶されている。
【0128】
制御プログラムは、通信プログラム602a、動作実行プログラム602b、撮影画像取得プログラム602c、画像表示プログラム602d、音検出プログラム602e、音出力プログラム602f、現在位置検出プログラム602gおよび人間特定プログラム602hなどを含む。
【0129】
通信プログラム602aは、外部の機器、この実施例では、サーバ12およびロボット18と有線または無線で通信(データの送信および受信)するためのプログラムである。
【0130】
動作実行プログラム602bは、自律行動またはサーバ12から受信した操作者の操作データ(動作コマンド)に従う動作を実行するためのプログラムである。
【0131】
撮影画像取得プログラム602cは、カメラ122で撮影された撮影画像データを取得するためのプログラムである。
【0132】
画像表示プログラム602dは、サーバ12から受信した操作者画像データ604eを表示装置30に出力するためのプログラムである。
【0133】
音検出プログラム602eは、マイク110から入力される操作者の音声等を検出し、検出した音声に対応するロボット検出音声データ604dをデータ記憶領域604に一時的に記憶するためのプログラムである。
【0134】
音出力プログラム602fは、サーバ12から受信した操作者音声データ604fをスピーカ112に出力するためのプログラムである。また、音出力プログラム602fは、音検出プログラム602eで検出したロボット検出音声データ604dをサーバ12に送信(または、出力)するためのプログラムでもある。このとき、通信プログラム602aも実行される。
【0135】
現在位置検出プログラム602gは、LRF124および126の出力に基づいて、ロボット18の現在位置およびロボット18の位置に対する人間の現在位置を検出するためのプログラムである。
【0136】
人間特定プログラム602hは、顔認証を行うことで、ロボット18の周辺に存在する人間が人間管理データ604aに登録された人間であるかを特定するためのプログラムである。
【0137】
図示は省略するが、プログラム記憶領域602には、ロボット18のオペレーティングシステム、任意のミドルウェアおよび任意のアプリケーションを実行するためのプログラムも記憶される。
【0138】
また、データ記憶領域604には、人間管理データ604a、設定地図データ604b、ロボットカメラ画像データ604c、ロボット検出音声データ604d、操作者画像データ604e、操作者音声データ604f、動作コマンドデータ604g、作成地図データ604h、現在位置データ604iおよび人間情報データ604jなどが記憶される。
【0139】
人間管理データ604aは、ロボット18が提供するサービスを受けることが登録されている人間を管理するためのデータであって、この実施例では、登録されている人間の識別情報に当該人間の顔画像を紐づけたデータである。
【0140】
設定地図データ604bは、サーバ12が管理する設定地図のデータであり、サーバ12から取得しても良いし、予めロボット18の補助記憶装置に記憶しておき、補助記憶装置から読み出されてもよい。ただし、この実施例では、サーバ12が禁止領域への接近を判断し、ロボット18は禁止領域を区別する必要がないため、設定地図データ604bに代えて、ロボット18が配置される環境地図のデータが記憶されてもよい。
【0141】
ロボットカメラ画像データ604cは、ロボット18が備えるカメラ122で撮影されたカメラ画像のデータであって、データ記憶領域604に一時的に記憶される。
【0142】
ロボット検出音声データ604dは、ロボット18が備えるマイク110で検出された操作者等の音声のデータであって、データ記憶領域604に一時的に記憶される。
【0143】
動作コマンドデータ604gは、サーバ12から受信した、操作者の操作による動作コマンドのデータである。
【0144】
作成地図データ604hは、ロボット18が作成する環境地図についてのデータである。
【0145】
現在位置データ604iは、ロボット18が検出したロボット18自身の現在位置についての座標データである。設定地図および作成地図上の原点は、サーバ12の管理者等によって、同じ位置に予め決定される。
【0146】
人間情報データ604jは、ロボット18の周辺に存在する1または複数の人間の識別情報および各人間の現在位置についてのデータである。
【0147】
図示は省略するが、データ記憶領域604には、制御処理を実行するために必要な他のデータが記憶されたり、制御処理を実行するために必要なタイマ(カウンタ)およびフラグが設けられたりする。
【0148】
図12および
図13は、サーバ12のCPU50の停止制御処理を示すフロー図である。
図14および
図15はサーバ12のCPU50の送受信処理を示すフロー図である。CPU50は、停止制御処理および送受信処理を並行して実行する。ただし、
図14および
図15に示す送受信処理は、ロボット18が所定のサービスを提供する場合において実行される送受信処理である。また、サーバ12のCPU50は、サーバ12が提供するサービスを利用する操作者の操作者端末16毎に、停止制御処理および送受信処理を実行する。
【0149】
なお、図示は省略するが、操作者端末16のCPU70は、操作データ504aを検出したり、操作者画像データ504eを検出したり、操作者音声データ504fを取得したりして、各データをサーバ12に送信する処理(すなわち、送信処理)を実行したり、サーバ12から送信されたロボットカメラ画像データ404cおよびロボット検出音声データ404dを受信する処理(すなわち、受信処理)を実行したり、受信したロボットカメラ画像データ404cおよびロボット検出音声データ404dを出力したりする。
【0150】
また、図示は省略するが、ロボット18のCPU100は、ロボットカメラ画像データ604cを検出したり、ロボット検出音声データ604dを検出したり、現在位置データ604iを検出したり、人間情報データ604jを検出したりして、各データをサーバ12に送信する送信処理を実行したり、サーバ12から送信された操作者画像データ604e、操作者音声データ604fおよび動作コマンドデータ604gを受信する受信処理を実行したり、受信した操作者画像データ604eおよび操作者音声データ604fを出力したり、動作コマンドデータ604gに従う動作を実行したりする。
【0151】
図12に示すように、サーバ12のCPU50は停止制御処理を開始すると、ステップS1で、設定地図データを設定地
図DB12aから取得するとともに、接近可能距離データを接近可能距離DB12bから取得する。したがって、サーバ12のRAM52には、設定地図データ404aおよび接近可能距離データ404bが記憶される。
【0152】
次のステップS3では、ロボット18の現在位置および人間の情報を取得する。上述したように、ロボット18の現在位置および人間の情報はロボット18で検出され、ロボット18からサーバ12に送信される。
【0153】
続くステップS5では、ロボット18から送信されるロボットカメラ画像を取得する。つまり、CPU50は、ロボットカメラ画像データ404cを受信し、データ記憶領域404に一時的に記憶する。さらに、ステップS7で、ロボット18と各禁止領域および各人間の距離を算出する。
【0154】
図13に示すように、ステップS9で、接近可能距離以下の禁止領域または/および人間が存在するかどうかを判断する。ここでは、CPU50は、接近可能距離データ404bを参照して、現在距離データ404jが示す距離のうち、接近可能距離以下となる禁止領域または/および人間が存在するかどうかを判断する。
【0155】
ステップS9で“NO”であれば、つまり、接近可能距離以下の禁止領域および人間が存在しなければ、ステップS19に進む。一方、ステップS9で“YES”であれば、つまり、接近可能距離以下の禁止領域または/および人間が存在すれば、ステップS11で、ロボット18に停止命令すなわち移動を停止させる動作コマンドを送信する。ロボット18は、停止命令を受信すると、操作者(操作者端末16)からの動作コマンドに関係なく、移動を停止する。
【0156】
次のステップS13では、接近可能距離以下の禁止領域または/および人間を報知する。したがって、後述するように、ロボットカメラ画像において、接近可能距離以下の禁止領域または/および人間に指標画像を重ねて、操作者端末16に送信する(ステップS67)。
【0157】
次のステップS15では、移動可能な領域の経由地点または目標地点までの最短経路を算出し、ステップS17で、ロボット18に、最短経路および移動命令を送信して、ステップS19に進む。
【0158】
そして、ステップS19で、サービスの終了かどうかを判断する。ステップS19で“NO”であれば、つまり、サービスの終了でなければ、ステップS3に戻る。一方、ステップS19で“YES”であれば、つまり、サービスの終了であれば、停止制御処理を終了する。
【0159】
また、
図14に示すように、CPU50は、送受信処理を開始すると、ステップS51で、操作者端末16から操作者画像データ404eを受信したかどうかを判断する。ステップS51で“NO”であれば、つまり、操作者画像データ404eを受信していなければ、ステップS55に進む。
【0160】
一方、ステップS51で“YES”であれば、つまり、操作者画像データ404eを受信すれば、データ記憶領域404に一時的に記憶し、ステップS53で、操作者画像データ404eをロボット18に送信して、ステップS55に進む。したがって、操作者の画像がロボット18の表示装置30に表示される。
【0161】
ステップS55では、操作者端末16から操作者音声データ404fを受信したかどうかを判断する。ステップS55で“NO”であれば、つまり、操作者音声データ404fを受信していなければ、ステップS59に進む。一方、ステップS55で“YES”であれば、つまり、操作者音声データ404fを受信すれば、データ記憶領域404に一時的に記憶し、ステップS57で、操作者音声データ404fをロボット18に送信して、ステップS59に進む。したがって、操作者の音声がロボット18のスピーカ112から出力される。
【0162】
ステップS59では、操作者端末16から動作コマンドデータ404gを受信したかどうかを判断する。ステップS59で“NO”であれば、つまり、動作コマンドデータ404gを受信していなければ、
図15に示すステップS63に進む。一方、ステップS59で“YES”であれば、つまり、動作コマンドデータ404gを受信すれば、データ記憶領域404に一時的に記憶し、ステップS61で、動作コマンドデータ404gをロボット18に送信して、ステップS63に進む。
【0163】
図15に示すように、ステップS63で、ロボット18からロボットカメラ画像データ404cを受信したかどうかを判断する。ステップS63で“NO”であれば、つまり、ロボットカメラ画像データ404cを受信していなければ、ステップS71に進む。ステップS63で“YES”であれば、つまり、ロボットカメラ画像データ404cを受信すれば、データ記憶領域404に一時的に記憶し、ステップS65で、禁止領域または/および人間を報知するかどうかを判断する。
【0164】
ステップS65で“YES”であれば、つまり、禁止領域または/および人間を報知する場合には、ステップS67で、指標画像を重ねたロボットカメラ画像データ404cを操作者端末16に送信して、ステップS71に進む。したがって、操作者端末16では、指標画像を重ねたロボットカメラ画像を含むUI画面200が表示装置80に表示される。一方、ステップS65で“NO”であれば、つまり、禁止領域または/および人間を報知しない場合には、ステップS69で、ロボットカメラ画像データ404cを操作者端末16に送信して、ステップS71に進む。したがって、操作者端末16では、指標画像を重ねていないロボットカメラ画像を含むUI画面200が表示装置80に表示される。
【0165】
ステップS71では、ロボット18からロボット検出音声データ404dを受信したかどうかを判断する。ステップS71で“NO”であれば、つまり、ロボット検出音声データ404dを受信していなければ、ステップS75に進む。ステップS71で“YES”であれば、つまり、ロボット検出音声データ404dを受信すれば、データ記憶領域404に一時的に記憶し、ステップS73で、ロボット検出音声データ404dを操作者端末16に送信して、ステップS75に進む。したがって、操作者端末16では、スピーカ84からロボット検出音声が出力される。
【0166】
ステップS75では、サービスの終了かどうかを判断する。ステップS75で“NO”であれば、ステップS51に戻る。一方、ステップS75で“YES”であれば、送受信処理を終了する。
【0167】
この実施例によれば、操作者のアバターとして機能するロボットとの距離が接近可能距離以下の禁止領域または/および人間が存在する場合に、ロボットを強制的に停止させるので、人間毎に適切に安全を確保するとともに、情報セキュリティおよびプライバシーを保護することができる。
【0168】
なお、この実施例では、操作者端末は、操作者画像データ、操作者音声データおよび動作コマンドを、サーバを介してロボットに送信するようにしたが、これらのデータは、サーバを介さずにロボットに直接送信されてもよい。
【0169】
また、この実施例では、サーバで、ロボットと人間または/禁止領域の距離が接近可能距離以下であるかどうかを判断し、ロボットと人間または/禁止領域の距離が接近可能距離以下である場合に、ロボットカメラ画像に指標画像が重畳されるようにしたが、操作者端末またはロボットがこれらのサーバの処理を実行するようにしてもよい。かかる場合には、サーバの処理を実行する操作者端末またはロボットに、設定地
図DBおよび接近可能距離DBが設けられたり、サーバの処理を実行する操作者端末またはロボットが、設定地
図DBおよび接近可能距離DBにアクセス可能にされたりする。
【0170】
なお、この実施例では、ロボットの現在位置および人間の情報をロボットが検出するようにしたが、これに限定される必要はない。ロボットおよび人間にICタグまたはRFIDタグを装着し、ロボットが配置される環境に環境センサとして複数のLRFおよび複数のタグリーダを設けることにより、環境センサの出力に基づいてサーバがロボットの現在位置および人間の情報を検出するようにしてもよい。この場合、複数のLRFおよび複数のタグリーダの出力に基づいてロボットおよび人間の現在位置が追跡され、タグリーダの出力に基づいてロボットおよび個人が特定される。一例として、特開2010-224878に開示された技術を用いることができる。
【0171】
また、この実施例では、ロボットは、LRFの出力に基づいてSLAMにより環境地図を作成し、作成した環境地図を用いて自身の現在位置を推定するようにしたが、限定される必要はない。
【0172】
ロボットは、たとえば右車輪モータおよび左車輪モータに関連して設けられるエンコーダ(図示せず)からの車輪回転情報を利用して、自身の現在位置を計算するような位置検出装置を備えていてもよい。
【0173】
また、ロボットが配置される環境の床に位置検出用のマット(床センサ)を敷設して、ロボットの現在位置を検出するようにしてもよい。この場合、床センサの出力に基づいて人間の現在位置も検出することが可能である。
【0174】
また、上述の実施例で示したフロー図の各ステップは同じ結果が得られる場合には、処理する順番を変更することが可能である。
【0175】
さらに、上述の実施例で挙げた各種の画面、具体的数値はいずれも単なる例示であり、必要に応じて適宜変更可能である。
【符号の説明】
【0176】
10 …情報処理システム
12 …サーバ
14 …ネットワーク
16 …操作者端末
18 …ロボット
50、70、100 …CPU
52、72、102 …RAM
54、74、104 …通信I/F
56、76、106 …入出力I/F
58、78、108 …入力装置
30、60、80 …表示装置
82、110 …マイク
84、112 …スピーカ
86、120 …センサI/F
88、122 …カメラ
124、126 …LRF