IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 沖電気工業株式会社の特許一覧

特開2024-45936ロボット、情報処理方法およびプログラム
<>
  • 特開-ロボット、情報処理方法およびプログラム 図1
  • 特開-ロボット、情報処理方法およびプログラム 図2
  • 特開-ロボット、情報処理方法およびプログラム 図3
  • 特開-ロボット、情報処理方法およびプログラム 図4
  • 特開-ロボット、情報処理方法およびプログラム 図5
  • 特開-ロボット、情報処理方法およびプログラム 図6
  • 特開-ロボット、情報処理方法およびプログラム 図7
  • 特開-ロボット、情報処理方法およびプログラム 図8
  • 特開-ロボット、情報処理方法およびプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024045936
(43)【公開日】2024-04-03
(54)【発明の名称】ロボット、情報処理方法およびプログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240327BHJP
【FI】
G05D1/02 H
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022151032
(22)【出願日】2022-09-22
(71)【出願人】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【弁理士】
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【弁理士】
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【弁理士】
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】小杉 篤史
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301BB14
5H301DD06
5H301DD07
5H301DD17
5H301GG07
5H301GG08
5H301GG09
(57)【要約】
【課題】受信した命令が示す動作の実行に対するロボットの安全性を向上する。
【解決手段】管理センタから動作の命令を受信する通信部と、周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、前記通信部によって受信された前記命令が示す動作の実行が安全か否かを判断する判断部と、前記判断部による判断結果に基づき、前記命令が示す動作の実行を制御する制御部と、を備える、ロボット。
【選択図】図2

【特許請求の範囲】
【請求項1】
管理センタから動作の命令を受信する通信部と、
周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、前記通信部によって受信された前記命令が示す動作の実行が安全か否かを判断する判断部と、
前記判断部による判断結果に基づき、前記命令が示す動作の実行を制御する制御部と、
を備える、
ロボット。
【請求項2】
前記判断部は、前記センシング結果に基づいて判断された周囲の環境に対応する環境点数と、前記命令点数と、自己位置の尤もらしさを示す自己位置精度とに基づき、安全度を算出し、算出した前記安全度と閾値との関係に基づき、前記動作の実行が安全か否かを判断する、
請求項1に記載のロボット。
【請求項3】
前記判断部は、前記ロボットが充電設備に到達するまでの時間と、前記ロボットの電源残量に基づく前記ロボットの残稼働時間とから算出される、稼働マージン時間にさらに基づき、前記安全度を算出する、
請求項2に記載のロボット。
【請求項4】
前記環境点数は、環境に存在する動体、段差、または障害物に基づいて設定される値である、
請求項3に記載のロボット。
【請求項5】
前記ロボットは、
前記判断部によって前記命令が示す動作の実行が安全ではないと判断された場合、前記管理センタへ接続要求を送信するよう前記通信部を制御する命令確認部をさらに備える、
請求項1~4のうちいずれか一項に記載のロボット。
【請求項6】
前記制御部は、前記通信部が前記接続要求についての接続が確立できない場合には、前記動作を実行しないよう前記ロボットを制御する、
請求項5に記載のロボット。
【請求項7】
前記命令確認部は、前記管理センタの、前記ロボットを管理するオペレータが操作する遠隔操作端末に対して前記接続要求を送信するよう前記通信部を制御する、
請求項6に記載のロボット。
【請求項8】
前記命令確認部は、接続が確立された前記遠隔操作端末に前記オペレータからの回答を求める確認メッセージを送信するように前記通信部をさらに制御する、
請求項7に記載のロボット。
【請求項9】
前記命令確認部は、前記遠隔操作端末からの前記確認メッセージに対する回答の妥当性を判断し、
前記制御部は、前記命令確認部が前記回答を妥当と判断した場合と、前記命令が示す動作を実行するよう前記ロボットを制御し、前記命令確認部が前記回答を妥当でないと判断した場合、前記命令が示す動作を実行しないよう前記ロボットを制御する、
請求項8に記載のロボット。
【請求項10】
管理センタから動作の命令を受信することと、
周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、受信された前記命令が示す動作の実行が安全か否かを判断することと、
前記命令が示す動作の実行が安全か否かの判断結果に基づき、前記命令が示す動作の実行を制御することと、
を含む、コンピュータにより実行される、情報処理方法。
【請求項11】
コンピュータを、
管理センタから動作の命令を受信する通信部と、
周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、前記通信部によって受信された前記命令が示す動作の実行が安全か否かを判断する判断部と、
前記判断部による判断結果に基づき、前記命令が示す動作の実行を制御する制御部と、
として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
近年、ネットワークを介して遠隔から命令を受信し、当該命令が示す動作の実行を行う技術が開発されている。このような技術においては、命令が示す動作の実行に対する安全性を向上することが必要とされている。
【0003】
例えば、特許文献1には、リモート操作装置から受信した命令に従って動作する機器が示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004-363969号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、ネットワークを介して遠隔から命令を受信し、当該命令が示す動作の実行を行うロボットにおいては、受信した命令が示す動作を実行することにより、周囲またはロボット自身に負の影響が及ぶことがあり得る。
【0006】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ロボットの、受信した命令が示す動作の実行に対する安全性を向上することが可能な、新規かつ改良された技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある観点によれば、管理センタから動作の命令を受信する通信部と、周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、前記通信部によって受信された前記命令が示す動作の実行が安全か否かを判断する判断部と、前記判断部による判断結果に基づき、前記命令が示す動作の実行を制御する制御部と、を備える、ロボットが提供される。
【0008】
前記判断部は、前記センシング結果に基づいて判断された周囲の環境に対応する環境点数と、前記命令点数と、自己位置の尤もらしさを示す自己位置精度とに基づき、安全度を算出し、算出した前記安全度と閾値との関係に基づき、前記動作の実行が安全か否かを判断してもよい。
【0009】
前記判断部は、前記ロボットが充電設備に到達するまでの時間と、前記ロボットの電源残量に基づく前記ロボットの残稼働時間とから算出される、稼働マージン時間にさらに基づき、前記安全度を算出してもよい。
【0010】
前記環境点数は、環境に存在する動体、段差、または障害物に基づいて設定される値であってもよい。
【0011】
前記ロボットは、前記判断部によって前記命令が示す動作の実行が安全ではないと判断された場合、前記管理センタへ接続要求を送信するよう前記通信部を制御する命令確認部をさらに備えてもよい。
【0012】
前記制御部は、前記通信部が前記接続要求についての接続が確立できない場合には、前記動作を実行しないよう前記ロボットを制御してもよい。
【0013】
前記命令確認部は、前記管理センタの、前記ロボットを管理するオペレータが操作する遠隔操作端末に対して前記接続要求を送信するよう前記通信部を制御してもよい。
【0014】
前記命令確認部は、接続が確立された前記遠隔操作端末に前記オペレータからの回答を求める確認メッセージを送信するように前記通信部をさらに制御してもよい。
【0015】
前記命令確認部は、前記遠隔操作端末からの前記確認メッセージに対する回答の妥当性を判断し、前記制御部は、前記命令確認部が前記回答を妥当と判断した場合、前記命令が示す動作を実行するよう前記ロボットを制御し、前記命令確認部が前記回答を妥当でないと判断した場合、前記命令が示す動作を実行しないよう前記ロボットを制御してもよい。
【0016】
また、上記課題を解決するために本発明の別の観点によれば、管理センタから動作の命令を受信することと、周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、受信された前記命令が示す動作の実行が安全か否かを判断することと、前記命令が示す動作の実行が安全か否かの判断結果に基づき、前記命令が示す動作の実行を制御することと、を含む、コンピュータにより実行される、情報処理方法が提供される。
【0017】
また、上記課題を解決するために本発明の別の観点によれば、コンピュータを、管理センタから動作の命令を受信する通信部と、周囲の環境のセンシング結果と、前記命令の内容に応じた命令点数とに基づき、前記通信部によって受信された前記命令が示す動作の実行が安全か否かを判断する判断部と、前記判断部による判断結果に基づき、前記命令が示す動作の実行を制御する制御部と、として機能させる、プログラムが提供される。
【発明の効果】
【0018】
以上説明したように本発明によれば、受信した命令が示す動作の実行に対するロボットの安全性を向上することが可能である。
【図面の簡単な説明】
【0019】
図1】本発明の一実施形態に係る情報処理システムの概要図である。
図2】本発明の一実施形態に係る情報処理システムの機能構成を示すブロック図である。
図3】記憶部120に記憶されるロボット命令テーブルの一例を示すテーブル図である。
図4】管理データベース240に記憶されるロボットデータテーブルの一例を示すテーブル図である。
図5】記憶部120に記憶される命令点数テーブルの一例を示すテーブル図である。
図6】記憶部120に記憶される環境点数テーブルの一例を示すテーブル図である。
図7】ロボット制御部130によって作成されたマップの一例を示す図である。
図8】本発明の一実施形態に係るロボット100の動作処理の流れの一例を示すフローチャートである。
図9】本発明の実施形態に係るロボット100および管理センタ200における情報処理を行う情報処理装置900のハードウェア構成を示す図である。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0021】
また、本明細書および図面では、ロボットをそれぞれロボット100A、ロボット100B、・・・のように、異なるアルファベットを付することにより区別して表現する場合がある。ただし、各ロボットを特に区別する必要がない場合は単にロボット100と称する。また、遠隔操作端末230A、遠隔操作端末230B・・・についても同様に、異なるアルファベットを付することにより区別して表現する場合がある。ただし、各遠隔操作端末を特に区別する必要がない場合は単に遠隔操作端末230と称する。
【0022】
<<1.情報処理システムの概要>>
まず、図1を参照して、本発明の一実施形態に係る情報処理システムの概要について説明する。図1は、本発明の一実施形態に係る情報処理システムの概要図である。図1に示すように、本発明の一実施形態に係る情報処理システムは、複数のロボット100、および管理センタ200を有する。ロボット100と管理センタ200とは、ネットワーク10に接続されており、ネットワーク10を介して互いに通信可能に接続される。
【0023】
ロボット100は、例えば、所定の建築物内を巡回する移動型ロボットである。ロボット100は、ロボット100の周囲の環境をセンシングすることで、ロボット100が巡回する建築物内の構造および状況に関する情報を管理センタ200に送信することができる。ロボット100は、無線通信を用いることで、任意の位置でネットワーク10に接続することができる。
【0024】
また、ロボット100は、管理センタ200から受信した命令が示す動作を実行することも可能である。例えば、ロボット100は、管理センタ200内から、指定された地点への移動の命令を受信し、当該地点へ移動することが可能である。
【0025】
ここで、ロボットとは、いわゆる「人造人間」、「人間に類似した動作、または作業を行う装置」、または「指示に基づいてコンピュータ制御されることで動作、または作業を行う装置」などと定義される機械装置である。例えば、ロボットは、「自動制御によるマニピュレーション機能、または移動機能をもち、各種の作業をプログラムによって実行でき、産業に使用される機械」(JIS B 0134-1998)、「人間にサービスするロボット」(JIS B 0187:2005)、または「センサ、知能・制御系、駆動系の3つの要素技術を有する、知能化した機械システム」(経済産業省ロボット政策研究会)にて定義される機械装置であってもよい。
【0026】
管理センタ200は、業務管理部220と、複数の遠隔操作端末230とを含む。管理センタ200は、ゲートウェイ装置を介してネットワーク10に接続される。管理センタ200に含まれる業務管理部220と遠隔操作端末230とは、管理センタ200内の有線LAN通信を用いて互いに接続されてもよい。
【0027】
業務管理部220は、ロボット100の各種業務を制御および管理する。また、業務管理部220は、接続要求をロボット100から受信した場合、該接続要求を適切なオペレータが操作する遠隔操作端末230に振り分ける。
【0028】
遠隔操作端末230は、オペレータがロボット100を監視または遠隔操作するために使用する装置である。例えば、遠隔操作端末230は、パーソナルコンピュータ(Personal Computer: PC)、タブレット装置、またはスマートフォンなどの端末と、これらの端末に接続される周辺機器とを含んでもよい。
【0029】
遠隔操作端末230は、ロボット100の状態に関する情報の表示、ロボット100からの通知の表示、オペレータの入力操作に基づくロボット100への動作の命令、またはオペレータの状態に関する監視等を行う。例えば、遠隔操作端末230は、ロボット100に関する情報と、ロボット100の周囲の環境画像とをオペレータに提示する。オペレータは、ロボット100から提示された情報に基づき、ロボット100の移動を命令してもよい。なお、遠隔操作端末230は、オペレータの人数に応じて複数設けられてもよい。また、本明細書では遠隔操作端末230がオペレータによって操作される例について説明するが、遠隔操作端末230は、管理センタ200の管理者等、オペレータ以外の人物によって操作されてもよい。
【0030】
ネットワーク10は、ロボット100と管理センタ200とを接続し、ロボット100と管理センタ200との間でのデータ送受信を可能とする通信網である。ネットワーク10は、インターネット、衛星通信網、移動通信網、LAN(Local Area Network)、またはWAN(Wide Area Network)などであってもよい。
【0031】
<<2.情報処理システムの機能構成例>>
続いて、図2を参照して、本発明の一実施形態に係る情報処理システムの機能構成について説明する。図2は、本発明の一実施形態に係る情報処理システムの機能構成を示すブロック図である。
【0032】
<ロボット100>
まず、ロボット100の機能構成について説明する。図2に示すように、ロボット100は、通信部110と、記憶部120と、ロボット制御部130と、センサ部140と、AI部150と、動作部160と、通話部170と、電源部180と、移動部190とを備える。
【0033】
(通信部110)
通信部110は、ネットワーク10に接続可能な無線通信インタフェースである。例えば、通信部110は、ネットワーク10に直接接続可能な無線通信インタフェースであってもよい。また、通信部110は、携帯電話通信網、または無線LANなどの他のネットワークを介してネットワーク10に接続可能な無線通信インタフェースであってもよく、中継装置または基地局を介してネットワーク10に接続可能な無線通信インタフェースであってもよい。通信部110は、ネットワーク10を介して他のロボット100および管理センタ200との間で通信を行う。
【0034】
(記憶部120)
記憶部120は、ロボット制御部130の制御に応じて、種々の情報を記憶する記憶装置である。記憶部120は、例えば、ロボット100が巡回する場所の基本情報、および地図情報、センサ部140のセンシング結果に基づいて作成された、ロボット100がセンシングを行った領域の情報を含むマップ等を記憶してもよい。
【0035】
また、記憶部120は、図3に示すような、管理センタ200からロボットに送信された命令の内容を表すロボット命令テーブルを記憶してもよい。図3は、記憶部120に記憶されるロボット命令テーブルの一例を示すテーブル図である。
【0036】
図3に示すように、ロボット命令テーブルは、通信部110が管理センタ200から受信する命令IDと、当該命令IDが示す命令の内容と、当該命令の詳細とを管理してもよい。命令IDは、命令の内容を識別するための番号または文字列を示す。内容は、命令IDによって指示される命令の内容を示す。命令詳細は、命令の内容の詳細を示すデータである。なお、管理センタ200からのロボット100への命令は図3に示す命令に限定されない。
【0037】
(ロボット制御部130)
ロボット制御部130は、ロボット100にて取得された種々のデータを処理すると共に、ロボット100の動作全般を制御する、制御部の一例である。ロボット制御部130は、例えば、ロボット100の動作全般を制御するソフトウェア、および該ソフトウェアをインストールしたハードウェアによって構成される。ハードウェアとしては、CPU(Central Processing Unit)、RAM(Read Only Memory)、およびROM(Read Only Memory)を例示することができる。また、CPUに替えて、DSP(Digital Signal Processor)、マイクロプロセッサ、またはIC(Integrated Circuit)などを用いることも可能である。また、図2に示すように、ロボット制御部130は、判断部131および命令確認部132としても機能する。判断部131および命令確認部132については、後述する。
【0038】
(センサ部140)
センサ部140は、ロボット100の周囲の環境画像を取得可能な撮像装置、またはロボット100の周囲の環境のパラメータをセンシング可能な各種センサを含む。
【0039】
例えば、センサ部140は、撮像装置として、RGBカメラ、ステレオカメラ、360度カメラ、サーモグラフィカメラ、または赤外線カメラなどを含んでもよい。また、センサ部140は、各種センサとして、温度、湿度、照度、気圧、振動、またはオブジェクトまでの距離をセンシング可能なセンサを含んでもよい。さらに、センサ部140は、煙、におい、化学物質、または静電気等の発生をセンシング可能なセンサを含んでもよい。
【0040】
(AI部150)
AI部150は、センサ部140にて収集した周囲の環境画像、およびセンシング情報を数値化または文字化し、数値化または文字化された情報に基づいて、ロボット100における各種判断を行う。例えば、AI部150は、機械学習アルゴリズムを用いた画像認識、パターン認識、または情報解析を行うことで環境画像およびセンシング情報を数値化または文字化し、数値化または文字化された情報に基づいて、ロボット100における各種判断を行ってもよい。
【0041】
(動作部160)
動作部160は、外部に対する動作を行う。例えば、動作部160は、通信部110が管理センタ200から受信した命令が示す動作の実行を実現する。動作部160は、例えば、ロボットハンドであってもよく、この場合には動作部160はロボット100の周囲に存在する物体を掴むことが可能である。また、動作部160は、投光装置、スピーカ、または匂い発生装置等であってもよい。
【0042】
(通話部170)
通話部170は、管理センタ200との通話を実現する構成である。通話部170は、マイク、カメラ、またはスピーカを含んでもよい。通話部170は、例えば、タブレット端末によって実現されてもよい。ロボット100の周囲の人物は、通話部170によって管理センタ200のオペレータと通話することが可能である。
【0043】
(電源部180)
電源部180は、ロボット100に内蔵され、ロボット100の各部に電力を供給する。電源部180は、例えば、リチウムイオン二次電池などの二次電池であってもよい。
【0044】
(移動部190)
移動部190は、ロボット制御部130による制御に基づいて、ロボット100を任意の位置に移動させることが可能な移動機構である。移動部190は、例えば、車輪式、脚式、クローラ式、またはエアクッション式などの種々の方式の移動機構であってもよい。また、移動部190は、回転翼などにより空中を移動可能な移動機構であってもよく、スクリューなどにより水上または水中を移動可能な移動機構であってもよい。また、移動部190は、複数の移動機構を有してもよく、例えば車輪と回転翼とを有することで、陸上と空中の両方を移動可能であってもよい。
【0045】
<管理センタ200>
続いて、管理センタ200の機能構成について説明する。図2に示すように、管理センタ200は、通信装置210と、業務管理部220と、遠隔操作端末230と、管理データベース240とを備える。
【0046】
(通信装置210)
通信装置210は、ゲートウェイ装置であり、ロボット100と、管理センタ200に含まれる各構成(業務管理部220、遠隔操作端末230、および管理データベース240)との間の通信を中継する。また、管理センタ200に含まれる各構成は、例えば、有線または無線のLANで互いに接続されてもよい。通信装置210は、例えば、ロボット100へ、動作の命令を送信する。
【0047】
(業務管理部220)
業務管理部220は、上述したように、ロボット100の各種業務を制御および管理する。例えば、業務管理部220は、ロボット100への動作の命令を生成してもよい。また、業務管理部220は、遠隔操作のための接続要求をロボット100から受信した場合、該接続要求を適切なオペレータが操作する遠隔操作端末230に振り分ける。業務管理部220によるロボット100と遠隔操作端末230との接続制御は、例えば、WebRTC(Web Real-Time Communication)によって実現されてもよい。
【0048】
(遠隔操作端末230)
遠隔操作端末230は、通信部231と、入力部232と、表示部233とを含む。オペレータは、遠隔操作端末230によって、ロボット100の状態の監視、およびロボット100への動作の命令を行うことができる。
【0049】
通信部231は、管理センタ200内のLANに接続するための通信インタフェースであり、ロボット100との間でのデータの送受信、または業務管理部220からのレポートの受信を行うことができる。
【0050】
入力部232は、例えば、キーボード、マウス、タッチパネル、トラックパッド、十字キー、操作レバー、またはマイク等の入力装置であり、オペレータからの、ロボット100への動作の命令の入力等の操作を受け付けることができる。
【0051】
表示部233は、液晶ディスプレイ(Liquid Crystal Display: LCD)装置、OLED(Organic Light Emitting Diode)ディスプレイ装置、またはタッチパネルディスプレイ装置などの表示装置であり、ロボット100の周囲の環境画像、またはロボット100に関する情報を含む管理画面を表示することができる。
【0052】
(管理データベース240)
管理データベース240は、ロボット100の各種情報を管理するロボットデータテーブルを記憶するデータベースである。例えば、管理データベース240は、図4に示すようなロボットデータテーブルを記憶してもよい。図4は、管理データベース240に記憶されるロボットデータテーブルの一例を示すテーブル図である。
【0053】
図4に示すように、ロボットデータテーブルは、ロボット100の各々について、ID、名称、位置、搭載センサ、通信状況、および残稼働時間の各種情報を管理してもよい。ロボットデータテーブルにて管理されるロボット100の各種情報は、ロボット100の各々から管理センタ200に送信された情報に基づいて随時更新される。
【0054】
IDは、ロボット100の各々を一意に識別するための番号または文字列を示す。名称は、ロボット100の各々の名称を示す。位置は、ロボット100の各々の現在位置を示す三次元座標を示す。搭載センサは、ロボット100の各々に搭載された各種センサの種類および状態を示す。通信状況は、ロボット100の各々の現在位置における無線通信の電波強度を示す。通信状況は、例えば、電波強度が最も良好な状態を100として表現され、電波強度が低く圏外と判断される状態を0として表現されてもよい。残稼働時間は、電源部180の電源残量から算出されるロボット100の各々の稼働可能時間を示す。すなわち、残稼働時間は、ロボット100の各々が現在時刻からさらにどのくらいの時間、稼働することができるかを示す。
【0055】
<<3.本発明の特徴構成>>
本実施形態に係るロボット100は、管理センタ200から動作の命令を受信する。ここで、当該命令が示す動作をロボット100が実行することにより、周囲またはロボット自身に負の影響が及ぶことがあり得る。例えば、ロボット100が、管理センタ200を装った第三者から、周囲またはロボット100自身に負の影響が及ぶ動作の実行を命令されることがあり得る。
【0056】
そこで、本実施形態に係るロボット100は、管理センタ200から受信した命令が示す動作の実行が安全か否かを判断し、判断結果に基づき、当該命令が示す動作の実行を制御する。これにより、命令が示す動作の実行に対する安全性を向上することができる。
【0057】
ここからは、上記のような処理を実現するための、ロボット100が備えるロボット制御部130の動作について説明する。
【0058】
(ロボット制御部130)
ロボット制御部130は、上述の通り、ロボット100にて取得された種々のデータを処理すると共に、ロボット100の動作全般を制御する。ロボット制御部130は、センサ部140によるセンシング結果に基づき、ロボット100の自己位置の推定およびセンシングを行った領域の環境を表すマップの作成を同時に行ってもよい。ロボット制御部130は、例えば、SLAM(Simultaneous Localization and Mapping)によって、自己位置の推定およびマップの作成を行ってもよい。また、ロボット制御部130は、推定した自己位置の尤もらしさを示す自己位置精度をさらに算出してもよい。
【0059】
(判断部131)
判断部131は、センサ部140による周囲の環境のセンシング結果と、通信部110が管理センタ200から受信した命令の内容に応じた命令点数とに基づき、当該命令が示す動作の実行が安全か否か(以下、動作の安全性ともいう)を判断する。ロボット100は、自身でセンシングしたセンシング結果を用いることにより、管理センタ200よりも正確に環境の判断を行うことが可能である。そのため、かかる構成によればロボット100による動作の実行の安全性を向上することが可能である。
【0060】
また、判断部131は、ロボット制御部130が算出した自己位置精度に基づき動作の安全性を判断してもよい。
【0061】
また、判断部131は、ロボット100が充電設備に到達するまでの時間と、ロボット100の電源残量に基づくロボット100の残稼働時間とから算出される、稼働マージン時間にさらに基づき、動作の安全性を判断してもよい。稼働マージン時間は、例えば、下記の数式1に基づき算出されてもよい。下記の数式1において、残稼働時間および通信状況は、図4で示した、管理データベース240に含まれるロボットデータテーブルの通信状況および残稼働時間を用いてもよい。ロボット100の速度は、ロボット100の内部情報から取得される。また、充電設備までの距離は、例えば、推定された自己位置および記憶部120に記憶された地図情報から取得される。
【0062】
【数1】
【0063】
稼働マージン時間は、ロボット100が電源部180の電源残量がなくなる前に電源部180の充電設備に到達可能なタイミングまでの残時間である。ロボット100は、稼働マージン時間が大きいほど、充電設備に向かうまでにより長く移動することができる。
【0064】
αおよびβは所定の値である。βは、管理センタ200に対する無線通信接続の試行によって消費される電力を考慮するための係数である。すなわち、電波強度が低く、通信状況が良好ではない(すなわち通信状況の値が0に近い)ほど、稼働マージン時間は低減される。βの値は、管理センタ200に対する無線通信接続の試行の頻度、および試行で消費される電力に基づいて適宜変更することが可能である。αは、例えば、1からβを減算した値であってもよい。例えば、αおよびβはそれぞれ0.5に設定されてもよい。
【0065】
稼働マージン時間が短い場合には、命令が示す動作を実行した場合にロボット100が充電切れになる可能性がある。そのため、稼働マージン時間の短さに応じて、判断部131は動作の実行が安全でないと判断してもよい。
【0066】
判断部131は、周囲の環境のセンシング結果に応じた点数である環境点数と、命令の内容に応じた命令点数と、自己位置精度と、稼働マージン時間に基づき算出される帰還点数とを重みづけして、安全度を算出してもよい。この場合、判断部131は、算出した安全度と閾値との関係に基づき、動作の安全性を判断する。判断部131は、安全度は、例えば、下記の数式2に基づき算出されてもよい。
【0067】
安全度=(命令点数+自己位置精度)-(環境点数+帰還点数) ・・・数式2
【0068】
判断部131は、数式2に基づき算出した安全度が閾値以上である場合に、動作の実行を安全と判断してもよい。また、判断部131は、数式2に基づき算出した安全度が閾値より小さい場合に、動作の実行を安全でないと判断してもよい。
【0069】
上記の数式2のパラメータの一つである命令点数は、ロボット100が、命令が示す動作を実行することに伴う負の影響が及ぶ可能性に基づき設定される値である。命令点数は、当該可能性が高いほど、値が小さくなるように設定され、記憶部120に記憶されてもよい。命令点数は、例えば、負の影響が及ぶ可能性が最も高い命令内容を0、負の影響が及ぶ可能性を伴う可能性が最も低い命令内容を100として、0~100の範囲で設定されてもよい。負の影響とは、例えば、ロボット100が故障又は電源喪失によって正常な動作を行えなくなったり、ロボット100が管理センタ200による管理下から外れたり、ロボット100が周囲の環境に意図しない物理的な影響を与えてしまうことを意味してもよい。例えば、記憶部120は、図5に示すような、管理センタ200が送信する命令の命令点数を表すロボット命令テーブルを記憶してもよい。図5は、記憶部120に記憶される命令点数テーブルの一例を示すテーブル図である。
【0070】
図5に示すように、命令点数テーブルは、命令が示す動作の内容である命令内容の各々に対応する命令点数を示す。例えば、地点Aへの移動の命令に対応する命令点数は70で、通話に対応する命令点数は80である。移動の実行は、通話の実行よりも動作の実行によって負の影響が及ぶ可能性が高いため、より値が小さくなるよう設定されている。ただし、各動作の実行によって負の影響が及ぶ可能性は、建物内の状況等によって異なるため、状況に合わせて適宜設定されてもよい。
【0071】
判断部131は、記憶部120に記憶された命令点数テーブルを参照して、通信部110が受信した命令の内容に応じた命令点数を抽出し、当該命令点数に基づき安全度を算出する。
【0072】
数式2のパラメータである自己位置精度は、ロボット制御部130によって算出される。自己位置精度は、例えば、自己位置精度が最も高い場合を100、自己位置精度が最も低い場合を0として、0~100の範囲で算出されてもよい。
【0073】
数式2のパラメータである環境点数は、環境に存在する動体(人間、動物または他のロボット100等)、段差、または障害物に基づいて設定される値である。環境点数は、ロボット100が動作を実行することにより、周囲またはロボット100自身に負の影響が及ぶ可能性が高い環境ほど、値が大きくなるように設定され、記憶部120に記憶されてもよい。環境点数は、例えば、負の影響が及ぶ可能性が最も高い命令内容を100、負の影響が及ぶ可能性が最も低い命令内容を0として、0~100の範囲で設定されてもよい。ただし、ある環境において、命令の実行が常に安全でないであると考えられる場合には、判断部131によって動作の実行が常に安全でないと判断される(安全度が常に閾値より小さくなる)よう、当該環境の環境点数を100より大きい値に設定してもよい。
【0074】
例えば、記憶部120は、図6に示すような、環境点数を表す環境点数テーブルを記憶してもよい。図6は、記憶部120に記憶される環境点数テーブルの一例を示すテーブル図である。
【0075】
図6に示すように、環境点数テーブルは、環境に対応する環境点数を示す。例えば、通路に対応する環境点数は10で、人通りの多い通路に対応する環境点数は15であることが示されている。人通りの多い通路は、通常の通路よりも、ロボット100と人との衝突等、周囲またはロボット100に負の影響が及ぶ可能性が高いため、より値が大きくなるよう設定する例が示されている。また、マップの領域外はロボット100が自己位置を見失う可能性が高い、すなわちロボット100に負の影響が及ぶ可能性があるため、判断部131によって動作の実行が常に安全でないと判断されるよう、環境点数を1000に設定する例が示されている。
【0076】
判断部131は、記憶部120に記憶された環境点数テーブルを参照し、センサ部140によって検出された周囲の環境に対応する環境点数を判断し、判断した環境点数に基づき安全度を算出する。また、判断部131は、AI部150による環境の判断結果に対応する環境点数に基づき、安全度を算出してもよい。AI部150は、機械学習によって地点ごとの環境を判断し、当該地点ごとの環境点数を表すヒートマップを生成してもよい。その場合、判断部131はAI部150が生成したヒートマップを参照し、安全度を算出するための環境点数を抽出してもよい。
【0077】
なお、環境点数は、命令が示す動作が移動を伴う場合には、移動先の環境に対応する値であってもよい。また、環境点数は、通信部110が命令を受信した際にロボット100が存在している場所の環境に対応する値であってもよい。
【0078】
ここで、環境点数の具体例について図7を用いて説明する。図7は、ロボット制御部130によって作成されたマップの一例を示す図である。図7に示すように、ロボット制御部130は、センサ部140によりセンシング済みの領域Rを含むマップMを作成する。図7において、ロボット100Bおよびロボット100Dは、領域Rの外(図面における斜線領域)に存在する。そのため、ロボット100Bおよびロボット100Dが管理センタ200から命令を受信した場合、ロボット100Bおよびロボット100Dの判断部131は、環境点数テーブルを参照して、マップの領域外に対応する環境点数に基づき安全度を算出する。
【0079】
数式2の説明を続ける。数式2のパラメータである帰還点数は、稼働マージン時間に基づき、下記の数式3に基づき計算される。
【0080】
【数2】
【0081】
最大稼働時間は、電源部180が満充電である場合のロボット100の稼働可能時間である。Nは帰還点数への変換係数であり、例えば100であってもよい。帰還点数は、稼働マージン時間に対する最大稼働時間の比が大きいほど大きい値になる。すなわち、稼働マージン時間が短いほど、帰還点数は大きい値になり、安全度が低く算出される。つまり、判断部131は、帰還点数を安全度の算出のパラメータに含むことにより、稼働マージン時間が短い場合のロボット100が充電切れになる可能性を考慮に入れて安全度を算出することが可能である。
【0082】
ここまで、判断部131による安全度の算出式の一例である数式2に含まれるパラメータについて説明した。しかし、安全度の算出式は数式2に限定されない。例えば、安全度の算出式には全ての要素が含まれていなくてもよく、安全度は、命令点数と環境点数のみによって算出されてもよい。
【0083】
(命令確認部132)
命令確認部132は、通信部110が管理センタ200から受信した命令が示す動作の実行が安全ではないと判断部131によって判断された場合、管理センタ200へ接続要求を送信するよう通信部110を制御する。
【0084】
より具体的には、命令確認部132は、管理センタ200の、ロボット100を管理するオペレータが操作する遠隔操作端末230に対して接続要求を送信するよう通信部110を制御する。通信部110が当該接続要求についての接続が確立できない場合には、ロボット制御部130は、管理センタ200から受信した命令が示す動作を実行しないよう、動作部160、通話部170または移動部190を制御する。通信部110が上記の接続要求についての接続を確立した場合、ロボット100は、接続を確立された遠隔操作端末230を操作するオペレータに対して、上記動作を指示する命令の修正、または該命令を実行することの確認または承認を求めることができる。
【0085】
通信部110が上記の接続要求についての接続を確立した場合、通信部110は、遠隔操作端末230から、オペレータが遠隔操作端末230に入力した、上記命令を修正した命令である、修正命令を受信してもよい。この場合、判断部131は修正命令が示す動作の実行の安全性をさらに判断する。なお、修正命令は、通信部110が遠隔操作端末230から最初に受信した命令と同一内容であってもよい。また、通信部110は、オペレータによる遠隔操作端末230の操作に基づき、遠隔操作端末230から命令を修正しない旨を示す信号を受信してもよい。
【0086】
また、通信部110が該接続要求についての接続を確立した場合、命令確認部132は、遠隔操作端末230に確認メッセージを送信するように通信部110をさらに制御してもよい。確認メッセージは、オペレータからの回答を求めるメッセージである。命令確認部132は、確認メッセージに対する回答が妥当か否かに基づいて、上記命令または修正命令が示す動作を実行するか否かを判断する。確認メッセージは、例えば、「私の名前は?」等の、オペレータを含む特定の人物のみが正しい回答を知る、いわゆる秘密の質問であってもよいし、名前または社員番号等を尋ねる、オペレータの回答によりオペレータを認証可能なメッセージであってもよい。また、通信部110によって送信される確認メッセージは、暗号文であってもよいし、ハッシュ値であってもよい。
【0087】
オペレータは、確認メッセージに対する回答を遠隔操作端末230に入力し、通信部110は当該回答を受信する。命令確認部132は、遠隔操作端末230からの回答の妥当性を判断する。
【0088】
ロボット制御部130は、命令確認部132が、遠隔操作端末230からの回答を妥当と判断した場合、上記命令または修正命令が示す動作を実行するよう、動作部160、通話部170または移動部190を制御する。ロボット制御部130は、命令確認部132が遠隔操作端末230からの回答を妥当でないと判断した場合、上記命令または修正命令が示す動作を実行しないよう、動作部160、通話部170または移動部190を制御する。かかる構成によれば、確認メッセージに対する回答を知らない管理センタを装った他者が指示した安全でない命令を、ロボット100が拒否することが可能であるため、安全性を向上できる。また、かかる構成によれば、確認メッセージに対する回答を知るオペレータは、安全性へのリスクを認識した上で、判断部131が安全でないと判断した命令をロボット100に実行させるか判断でき、オペレータにとっての利便性が向上する。
【0089】
<<4.動作処理例>>
続いて、図8を参照して、本実施形態に係るロボット100の動作処理例について説明する。図8は、本実施形態に係るロボット100の動作処理の流れの一例を示すフローチャートである。
【0090】
まず、通信部110は、管理センタ200から動作の命令を受信する(S101)。ロボット制御部130は、命令が示す動作を実行するための行動を計算する(S102)。例えば、ロボット制御部130は、動作が地点Aへの移動であった場合には、地点Aへの移動経路等を計算する。
【0091】
続いて、センサ部140は、ロボット100の周囲の環境をセンシングする(S103)。ロボット制御部130は、センシング結果に基づいて自己位置および自己位置精度を算出し、判断部131は、センシング結果に基づいて環境点数を算出する(S104)。
【0092】
続いて、判断部131は、稼働マージン時間を算出する(S105)。そして、判断部131は、通信部110が受信した命令の内容に応じた命令点数と、自己位置精度と、環境点数と、稼働マージン時間とに基づき、安全度を算出する(S106)。
【0093】
安全度が閾値以上である場合、つまり判断部131が命令を安全と判断した場合には(S107/Yes)、ロボット制御部130は、命令が示す動作を実行するよう、動作部160、通話部170または移動部190を制御する(S108)。
【0094】
一方、安全度が閾値より小さい場合、つまり判断部131が命令を安全でないと判断した場合には(S107/No)、命令確認部132は、ロボット100を管理するオペレータが操作する遠隔操作端末230に接続要求を送信するよう通信部110を制御する(S109)。
【0095】
通信部110と遠隔操作端末230との接続が確立しない場合には(S110/No)、ロボット制御部130は、通信部110が受信した命令が示す動作を実行しないよう、動作部160、通話部170または移動部190を制御し、動作を終了する。
【0096】
通信部110と遠隔操作端末230との接続が確立した場合には(S110/Yes)、遠隔操作端末230を介して、ロボット100を管理するオペレータによってロボット100に対する命令が修正されることがある。このような場合、通信部110は、遠隔操作端末230から修正命令を受信する(S111)。
【0097】
判断部131は、通信部110が受信した修正命令の安全度を計算する(S112)。安全度が閾値以上である場合、つまり判断部131が修正命令を安全と判断した場合には(S113/Yes)、ロボット制御部130は、修正命令が示す動作を実行するよう、動作部160、通話部170または移動部190を制御する(S108)。
【0098】
一方、安全度が閾値より小さい場合、つまり判断部131が修正命令を安全でないと判断した場合には(S113/No)、命令確認部132は、遠隔操作端末230に確認メッセージを送信するよう通信部110を制御する(S114)。
【0099】
続いて、通信部110は、確認メッセージに対する回答を遠隔操作端末230から受信する(S115)。命令確認部132は、通信部110が受信した回答が妥当であるか否かを判断する(S116)。
【0100】
回答が妥当である場合(S116/Yes)、ロボット制御部130は、修正命令が示す動作を実行するよう、動作部160、通話部170または移動部190を制御する(S108)。回答が妥当でない場合(S116/No)、ロボット制御部130は、通信部110が受信した命令が示す動作を実行しないよう、動作部160、通話部170または移動部190を制御し、動作を終了する。
【0101】
<<5.ハードウェア構成例>>
以上説明した情報処理は、ソフトウェアと以下に説明するロボット100および管理センタ200のハードウェアとの協働により実現される。
【0102】
図9は、本発明の実施形態に係るロボット100および管理センタ200における情報処理を行う情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU901と、ROM902と、RAM903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
【0103】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
【0104】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0105】
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0106】
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【0107】
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
【0108】
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
【0109】
<<6.補足>>
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0110】
例えば、ロボット100および管理センタ200に内蔵されるCPU、ROM、およびRAM等のハードウェアに、ロボット100および管理センタ200の機能を発揮させるための1以上のコンピュータプログラムも作成可能である。また、当該1以上のコンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体も提供される。
【符号の説明】
【0111】
10 ネットワーク
100 ロボット
110 通信部
120 記憶部
130 ロボット制御部
131 判断部
132 命令確認部
140 センサ部
150 AI部
160 動作部
170 通話部
180 電源部
190 移動部
200 管理センタ
210 通信装置
220 業務管理部
230 遠隔操作端末
240 管理データベース
図1
図2
図3
図4
図5
図6
図7
図8
図9