(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-13
(45)【発行日】2023-12-21
(54)【発明の名称】ロボット制御装置、ロボット制御方法及びロボット制御システム
(51)【国際特許分類】
B25J 13/00 20060101AFI20231214BHJP
B25J 13/06 20060101ALI20231214BHJP
【FI】
B25J13/00 Z
B25J13/06
(21)【出願番号】P 2019185668
(22)【出願日】2019-10-09
【審査請求日】2022-10-07
(73)【特許権者】
【識別番号】517135833
【氏名又は名称】Telexistence株式会社
(74)【代理人】
【識別番号】100134094
【氏名又は名称】倉持 誠
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】チャリス ラサンタ フェルナンド
(72)【発明者】
【氏名】岩佐 高志
(72)【発明者】
【氏名】佐野 元紀
【審査官】松浦 陽
(56)【参考文献】
【文献】特開昭63-139689(JP,A)
【文献】特開2007-160427(JP,A)
【文献】特開2005-254396(JP,A)
【文献】国際公開第2017/033350(WO,A1)
【文献】特開2005-144612(JP,A)
【文献】特開2019-000940(JP,A)
【文献】特開2018-149670(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ユーザがロボットを遠隔操作するための複数のプログラムのうち少なくとも1つのプログラムに基づいて前記ロボットの動作を制御するロボット制御部と、
前記ロボット制御部が
、前記複数のプログラムのうち第1プログラム
と、前記ユーザが操作端末に入力して当該操作端末から送信された前記ロボットに対する操作指示とに基づいて前記ロボットを制御しているときに、移行条件が満たされているか否かを判定する判定部と、
を有し、
前記ロボット制御部は、前記移行条件が満たされていると前記判定部が判定した場合に、前記第1プログラムに基づいた前記ロボットの動作を停止させるとともに、前記複数のプログラムのうち前記第1プログラムとは異なる第2プログラム
と、前記ユーザが前記操作端末に入力して前記操作端末から送信された前記ロボットに対する操作指示とに基づいて前記ロボットの動作を制御
し、
前記判定部は、前記ロボットが配置されている場所の状況を示す状況情報と、前記ロボットの位置を示す位置情報と、前記ロボットの状態を示す状態情報と、前記ロボットが動作している時刻を示す時刻情報とのうち少なくとも1つが前記移行条件を満たすか否かを判定する、ロボット制御装置。
【請求項2】
前記状況情報、前記位置情報、前記状態情報及び前記時刻情報のうち少なくとも1つに基づいて、前記複数のプログラムの中から前記第2プログラムを選択する選択部をさらに有し、
前記ロボット制御部は、前記選択部が選択した前記第2プログラムに基づいて前記ロボットの動作を制御する、請求項
1に記載のロボット制御装置。
【請求項3】
前記選択部は、前記状況情報、前記位置情報、前記状態情報及び前記時刻情報のうち少なくとも1つと、前記複数のプログラムに対して予め関連付けられた優先順位との関係に基づいて、前記第2プログラムを選択する、請求項
2に記載のロボット制御装置。
【請求項4】
前記選択部は、前記状況情報、前記位置情報、前記状態情報及び前記時刻情報のうち少なくとも1つと、前記ロボット及び前記ユーザの少なくとも一方を管理する管理者が入力した情報との関係に基づいて、前記第2プログラムを選択する、請求項
2又は
3に記載のロボット制御装置。
【請求項5】
前記選択部が選択した前記第2プログラムに関する情報を前記ユーザに対して出力する出力部と、
前記ユーザによる前記第2プログラムへ切り替えるための切り替え指示を受信する受信部と、をさらに有し、
前記ロボット制御部は、前記受信部が前記切り替え指示を受信したことを条件として、前記第2プログラムに基づいて前記ロボットの動作を制御する、請求項
2から
4のいずれか一項に記載のロボット制御装置。
【請求項6】
前記判定部は、前記ロボットから取得した情報と、前記ユーザが前記ロボットに対する操作指示を入力するための操作端末から取得した情報と、前記ロボット及び前記ユーザの少なくとも一方を管理する管理者が前記ロボットに関する情報を入力するための管理端末から取得した情報とのうち少なくとも1つが前記移行条件を満たすか否かを判定する、請求項1から
4のいずれか一項に記載のロボット制御装置。
【請求項7】
前記判定部は、
前記操作端末において前記ユーザが所定の操作を行った場合に前記移行条件が満たされていると判定する、請求項1に記載のロボット制御装置。
【請求項8】
前記ロボット制御部は、前記移行条件が満たされていると前記判定部が判定した場合に、前記第2プログラムに基づいて前記ロボットの動作を制御するとともに、前記第2プログラムに対応するプロファイル情報を前記ロボットの制御に設定する、請求項1から
7のいずれか一項に記載のロボット制御装置。
【請求項9】
前記ロボット制御部は、前記第1プログラムに基づいた前記ロボットの動作を停止させた後、再開条件が満たされた場合に、前記第1プログラムに基づいて前記ロボットの動作の制御を再開する、請求項1から
8のいずれか一項に記載のロボット制御装置。
【請求項10】
前記第1プログラム及び前記第2プログラムに基づいて前記ロボットが行った動作を示す動作情報と、前記ユーザが入力した前記ロボットに対する操作指示とを関連付けた操作結果情報を記憶する操作結果記憶部をさらに有する、請求項1から
9のいずれか一項に記載のロボット制御装置。
【請求項11】
プロセッサが実行する、
ユーザがロボットを遠隔操作するための複数のプログラムのうち第1プログラム
と、前記ユーザが操作端末に入力して当該操作端末から送信された前記ロボットに対する操作指示とに基づいて前記ロボットの動作を制御するステップと、
前記第1プログラムに基づいて前記ロボットが制御されているときに、移行条件が満たされているか否かを判定するステップと、
前記移行条件が満たされていると前記判定するステップが判定した場合に、前記第1プログラムに基づいた前記ロボットの動作を停止させるステップと、
前記移行条件が満たされていると前記判定するステップが判定した場合に、前記複数のプログラムのうち前記第1プログラムとは異なる第2プログラム
と、前記ユーザが前記操作端末に入力して前記操作端末から送信された前記ロボットに対する操作指示とに基づいて前記ロボットの動作を制御するステップと、
を有
し、
前記判定するステップは、前記ロボットが配置されている場所の状況を示す状況情報と、前記ロボットの位置を示す位置情報と、前記ロボットの状態を示す状態情報と、前記ロボットが動作している時刻を示す時刻情報とのうち少なくとも1つが前記移行条件を満たすか否かを判定することを含む、ロボット制御方法。
【請求項12】
ロボットと、ロボット制御装置とを含み、
前記ロボット制御装置は、
ユーザがロボットを遠隔操作するための複数のプログラムのうち少なくとも1つのプログラムを示す情報を前記ロボットへ送信する出力部と、
前記ロボットが前記複数のプログラムのうち第1プログラム
と、前記ユーザが操作端末に入力して当該操作端末から送信された前記ロボットに対する操作指示とに基づいて動作しているときに、移行条件が満たされているか否かを判定する判定部と、
を有し、
前記出力部は、前記移行条件が満たされていると前記判定部が判定した場合に、前記第1プログラムに基づいた前記ロボットの動作を停止させる停止指示を前記ロボットへ送信するとともに、前記複数のプログラムのうち前記第1プログラムとは異なる第2プログラムを示す情報を前記ロボットへ送信し、
前記ロボットは、
前記ロボット制御装置から前記第1プログラム及び前記第2プログラムの少なくとも一方を示す情報を受信する情報取得部と、
前記情報取得部が受信した情報に対応する前記第1プログラム及び前記第2プログラムの少なくとも一方
と、前記ユーザが前記操作端末に入力して前記操作端末から送信された前記ロボットに対する操作指示とに基づいて前記ロボットの動作を制御するロボット制御部と、
を有
し、
前記判定部は、前記ロボットが配置されている場所の状況を示す状況情報と、前記ロボットの位置を示す位置情報と、前記ロボットの状態を示す状態情報と、前記ロボットが動作している時刻を示す時刻情報とのうち少なくとも1つが前記移行条件を満たすか否かを判定する、ロボット制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザが遠隔操作をするロボットを制御するためのロボット制御装置、ロボット制御方法及びロボット制御システムに関する。
【背景技術】
【0002】
ユーザ(操作者)とは離れた場所に存在するスレーブロボット(Slave Robot)をユーザが遠隔操作することによって、ユーザが実際には存在しない場所に存在したとするならば得られる視覚、聴覚、及び触覚等の感覚をユーザに経験させるための技術が提案されている。この技術は、telepresence(テレプレゼンス)やtelexistence(本願出願人の登録商標、テレイグジスタンス)等とも呼ばれている。
【0003】
特許文献1には、ユーザがロボットを遠隔操作する際に、ユーザが入力したコマンドを、ロボットの現在の状態及びコマンド変換テーブルに基づいて変換することによって、実際にロボットを動作させるための動作コマンドを生成するシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ユーザは、ある目的でロボットを遠隔操作している最中に、別の目的の動作を行うことが求められる場合がある。例えば小売店において、ユーザがロボットを用いて陳列の作業を行っている最中に顧客が来店すると、ユーザはロボットを接客の作業に切り替える必要がある。異なる複数の目的において同じプログラムを用いてロボットの制御を行うと、ロボットは目的に適した動作をすることができない可能性がある。目的が変化した際に、ユーザ自身が目的に応じてロボットを制御するためのプログラムを適切に選択することは容易ではない。
【0006】
本発明は上述の点に鑑みてなされたものであり、ユーザがロボットを遠隔操作する際に、ロボットに異なる複数の目的それぞれに適した動作を容易に行わせることを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様のロボット制御装置は、ユーザがロボットを遠隔操作するための複数のプログラムのうち少なくとも1つのプログラムに基づいて前記ロボットの動作を制御するロボット制御部と、前記ロボット制御部が前記複数のプログラムのうち第1プログラムに基づいて前記ロボットを制御しているときに、移行条件が満たされているか否かを判定する判定部と、を有し、前記ロボット制御部は、前記移行条件が満たされていると前記判定部が判定した場合に、前記第1プログラムに基づいた前記ロボットの動作を停止させるとともに、前記複数のプログラムのうち前記第1プログラムとは異なる第2プログラムに基づいて前記ロボットの動作を制御する。
【0008】
前記判定部は、前記ロボットが配置されている場所の状況を示す状況情報と、前記ロボットの位置を示す位置情報と、前記ロボットの状態を示す状態情報と、前記ロボットが動作している時刻を示す時刻情報とのうち少なくとも1つが前記移行条件を満たすか否かを判定してもよい。
【0009】
前記ロボット制御装置は、前記状況情報、前記位置情報、前記状態情報及び前記時刻情報のうち少なくとも1つに基づいて、前記複数のプログラムの中から前記第2プログラムを選択する選択部をさらに有し、前記ロボット制御部は、前記選択部が選択した前記第2プログラムに基づいて前記ロボットの動作を制御してもよい。
【0010】
前記選択部は、前記状況情報、前記位置情報、前記状態情報及び前記時刻情報のうち少なくとも1つと、前記複数のプログラムに対して予め関連付けられた優先順位との関係に基づいて、前記第2プログラムを選択してもよい。
【0011】
前記選択部は、前記状況情報、前記位置情報、前記状態情報及び前記時刻情報のうち少なくとも1つと、前記ロボット及び前記ユーザの少なくとも一方を管理する管理者が入力した情報との関係に基づいて、前記第2プログラムを選択してもよい。
【0012】
前記ロボット制御装置は、前記選択部が選択した前記第2プログラムに関する情報を前記ユーザに対して出力する出力部と、前記ユーザによる前記第2プログラムへ切り替えるための切り替え指示を受信する受信部と、をさらに有し、前記ロボット制御部は、前記受信部が前記切り替え指示を受信したことを条件として、前記第2プログラムに基づいて前記ロボットの動作を制御してもよい。
【0013】
前記判定部は、前記ロボットから取得した情報と、前記ユーザが前記ロボットに対する操作指示を入力するための操作端末から取得した情報と、前記ロボット及び前記ユーザの少なくとも一方を管理する管理者が前記ロボットに関する情報を入力するための管理端末から取得した情報とのうち少なくとも1つが前記移行条件を満たすか否かを判定してもよい。
【0014】
前記判定部は、前記ユーザが前記ロボットに対する操作指示を入力するための操作端末において前記ユーザが所定の操作を行った場合に前記移行条件が満たされていると判定してもよい。
【0015】
前記ロボット制御部は、前記移行条件が満たされていると前記判定部が判定した場合に、前記第2プログラムに基づいて前記ロボットの動作を制御するとともに、前記第2プログラムに対応するプロファイル情報を前記ロボットの制御に設定してもよい。
【0016】
前記ロボット制御部は、前記第1プログラムに基づいた前記ロボットの動作を停止させた後、再開条件が満たされた場合に、前記第1プログラムに基づいて前記ロボットの動作の制御を再開してもよい。
【0017】
前記ロボット制御装置は、前記第1プログラム及び前記第2プログラムに基づいて前記ロボットが行った動作を示す動作情報と、前記ユーザが入力した前記ロボットに対する操作指示とを関連付けた操作結果情報を記憶する操作結果記憶部をさらに有してもよい。
【0018】
本発明の第2の態様のロボット制御方法は、プロセッサが実行する、ユーザがロボットを遠隔操作するための複数のプログラムのうち第1プログラムに基づいて前記ロボットの動作を制御するステップと、前記第1プログラムに基づいて前記ロボットが制御されているときに、移行条件が満たされているか否かを判定するステップと、前記移行条件が満たされていると前記判定するステップが判定した場合に、前記第1プログラムに基づいた前記ロボットの動作を停止させるステップと、前記移行条件が満たされていると前記判定するステップが判定した場合に、前記複数のプログラムのうち前記第1プログラムとは異なる第2プログラムに基づいて前記ロボットの動作を制御するステップと、を有する。
【0019】
本発明の第3の態様のロボット制御システムは、ロボットと、ロボット制御装置とを含み、前記ロボット制御装置は、ユーザがロボットを遠隔操作するための複数のプログラムのうち少なくとも1つのプログラムを示す情報を前記ロボットへ送信する出力部と、前記ロボットが前記複数のプログラムのうち第1プログラムに基づいて動作しているときに、移行条件が満たされているか否かを判定する判定部と、を有し、前記出力部は、前記移行条件が満たされていると前記判定部が判定した場合に、前記第1プログラムに基づいた前記ロボットの動作を停止させる停止指示を前記ロボットへ送信するとともに、前記複数のプログラムのうち前記第1プログラムとは異なる第2プログラムを示す情報を前記ロボットへ送信し、前記ロボットは、前記ロボット制御装置から前記第1プログラム及び前記第2プログラムの少なくとも一方を示す情報を受信する情報取得部と、前記情報取得部が受信した情報に対応する前記第1プログラム及び前記第2プログラムの少なくとも一方に基づいて前記ロボットの動作を制御するロボット制御部と、を有する。
【発明の効果】
【0020】
本発明によれば、ユーザがロボットを遠隔操作する際に、ロボットに異なる複数の目的それぞれに適した動作を容易に行わせることができるという効果を奏する。
【図面の簡単な説明】
【0021】
【
図1】第1の実施形態に係るロボット制御システムの模式図である。
【
図2】第1の実施形態に係るロボット制御システムのブロック図である。
【
図3】プログラム情報記憶部が記憶している例示的なプログラム情報の模式図である。
【
図4】ロボットの動作を説明するための模式図である。
【
図5】操作者からプログラムを切り替えるか否かの選択を受け付ける方法を説明するための模式図である。
【
図6】再開時のロボットの動作を説明するための模式図である。
【
図7】第1の実施形態に係るロボット制御システムが実行するロボット制御方法のシーケンス図である。
【
図8】ロボットの動作を説明するための模式図である。
【
図9】第2の実施形態に係るロボット制御システムが実行するロボット制御方法のシーケンス図である。
【発明を実施するための形態】
【0022】
(第1の実施形態)
[ロボット制御システムSの概要]
図1は、本実施形態に係るロボット制御システムSの模式図である。ロボット制御システムSは、ロボット制御装置1と、ロボット2と、操作端末3と、管理端末4とを含む。ロボット2、操作端末3及び管理端末4は、それぞれ複数設けられてもよい。ロボット制御システムSは、その他のサーバ、端末等の機器を含んでもよい。
【0023】
ロボット制御装置1は、操作端末3から受信した情報に基づいて、ロボット2の制御に関する情報をロボット2へ送信するコンピュータである。ロボット制御装置1は、ローカルエリアネットワーク、インターネット等のネットワークを介して、ロボット2、操作端末3及び管理端末4に接続される。
【0024】
ロボット2は、操作者(ユーザ)がネットワークを介して遠隔操作をする装置である。ロボット2は、ロボット制御装置1から受信した情報に従って作動する。
図1に例示したロボット2は、頭部、腕部、脚部等の複数の部位からなる体を有している。ロボット2は、モータ、アクチュエータ等の駆動部を有しており、駆動部の動力を用いて動作する。また、ロボット2は、カメラ、センサ等の測定部を有しており、測定部を用いて測定した情報をロボット制御装置1へ送信する。
【0025】
操作端末3は、操作者がロボット2に対する操作指示を入力するためのコンピュータである。操作端末3は、操作者からロボット2に対する遠隔操作の内容を示す操作指示の入力を受け付け可能なキーボードやタッチパネル等の入力部と、情報を表示可能な液晶ディスプレイ等の表示部と、情報を音声で出力可能なスピーカ等の音声出力部とを有する。さらに操作端末3は、ロボット2の触覚(すなわちロボット2が物体に接触する感覚)を提示可能な触覚提示部を有する。
【0026】
操作端末3の入力部は、操作者による操作に基づいて、操作指示の入力を受け付ける。また、操作端末3の入力部は、操作者の体に装着されたセンサを含み、該センサが測定した測定情報に基づいて、操作指示の入力を受け付けてもよい。また、操作端末3の入力部は、操作者の体を撮像する撮像部(カメラ)を含み、該撮像部が撮像した撮像画像に基づいて、操作指示の入力を受け付けてもよい。操作端末3の表示部は、操作者の体に装着された、眼鏡型のディスプレイを含んでもよい。操作端末3は、
図1に示した例示的な構成に限らず、操作者による操作指示の入力を受け付けるとともに、操作者に対して情報を提示可能なその他の構成を備えてもよい。
【0027】
管理端末4は、操作者及びロボット2の少なくとも一方を管理する管理者が、操作者によるロボット2の制御に関する設定をするためのコンピュータである。管理端末4は、管理者による操作を受け付け可能なキーボードやタッチパネル等の入力部と、情報を表示可能な液晶ディスプレイ等の表示部とを有する。ロボット制御システムSは、管理端末4を含まなくてもよい。
【0028】
本実施形態に係るロボット制御システムSが実行する処理の概要を以下に説明する。ロボット制御装置1は、操作者がロボット2を遠隔操作するための複数のプログラムと、複数のプログラム間で切り替える判定を行うための移行条件とを予め記憶部に記憶している。
【0029】
操作者がロボット2の遠隔操作を開始する前に、ロボット制御装置1は、ロボット2の制御に用いる第1プログラムを予め選択する。ロボット制御装置1は、記憶部に記憶された複数のプログラムの中から予め設定された優先順位に従って1つの第1プログラムを選択してもよい。あるいはロボット制御装置1は、操作端末3又は管理端末4において、操作者又は管理者から、記憶部に記憶された複数のプログラムの中から1つの第1プログラムの選択を受け付けてもよい。
【0030】
操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する(a)。ロボット制御装置1は、選択された第1プログラムと、操作端末3が送信した操作指示とに基づいて、ロボット2の動作を制御する(b)。
【0031】
ロボット制御装置1は、第1プログラムに基づいてロボットを制御しているときに、ロボット2、操作端末3又は管理端末4から取得した情報に基づいて、移行条件が満たされているか否かを判定する(c)。移行条件が満たされていると判定した場合に、ロボット制御装置1は、ロボット2、操作端末3又は管理端末4から取得した情報に基づいて、第1プログラムとは異なる第2プログラムを選択する。そしてロボット制御装置1は、第1プログラムに基づいたロボット2の動作を停止させるとともに、選択された第2プログラムと、操作端末3が送信した操作指示とに基づいて、ロボット2の動作を制御する(d)。
【0032】
このように本実施形態に係るロボット制御システムSにおいて、ロボット制御装置1は、あるプログラムに基づいてロボット2の制御をしているときに、移行条件が満たされたことを条件として別のプログラムに基づいてロボット2の制御を開始する。これにより、操作者は、ロボット2に異なる複数の目的それぞれに適した動作を容易に行わせることができる。
【0033】
[ロボット制御システムSの構成]
図2は、本実施形態に係るロボット制御システムSのブロック図である。
図2において、矢印は主なデータの流れを示しており、
図2に示したもの以外のデータの流れがあってよい。
図2において、各ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示すブロックは単一の装置内に実装されてよく、あるいは複数の装置内に分かれて実装されてよい。ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてよい。
【0034】
ロボット制御装置1は、制御部11と、記憶部12とを有する。制御部11は、受信部111と、ロボット制御部112と、情報取得部113と、判定部114と、選択部115と、出力部116とを有する。記憶部12は、プログラム情報記憶部121と、操作結果記憶部122とを有する。
【0035】
記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、ハードディスクドライブ等を含む記憶媒体である。記憶部12は、制御部11が実行するプログラムを予め記憶している。記憶部12は、ロボット制御装置1の外部に設けられてもよく、その場合にネットワークを介して制御部11との間でデータの授受を行ってもよい。プログラム情報記憶部121は、操作者がロボット2を遠隔操作するためのプログラムに関するプログラム情報を記憶する。操作結果記憶部122は、操作者が入力した操作指示と、ロボット2が行った動作を示す動作情報とを関連付けた操作結果情報を記憶する。プログラム情報記憶部121及び操作結果記憶部122は、それぞれ記憶部12上の記憶領域であってもよく、あるいは記憶部12上で構成されたデータベースであってもよい。
【0036】
制御部11は、例えばCPU(Central Processing Unit)等のプロセッサであり、記憶部12に記憶されたプログラムを実行することにより、受信部111、ロボット制御部112、情報取得部113、判定部114、選択部115及び出力部116として機能する。制御部11の機能の少なくとも一部は電気回路によって実行されてもよい。また、制御部11の機能の少なくとも一部は、制御部11がネットワーク経由で実行されるプログラムを実行することによって実現されてもよい。
【0037】
ロボット2は、制御部21と、記憶部22とを有する。制御部21は、情報取得部211と、情報送信部212とを有する。記憶部22は、ROM、RAM、ハードディスクドライブ等を含む記憶媒体である。記憶部22は、制御部21が実行するプログラムを予め記憶している。記憶部22は、ロボット2の外部に設けられてもよく、その場合にネットワークを介して制御部21との間でデータの授受を行ってもよい。
【0038】
制御部21は、例えばCPU等のプロセッサであり、記憶部22に記憶されたプログラムを実行することにより、情報取得部211及び情報送信部212として機能する。制御部21の機能の少なくとも一部は電気回路によって実行されてもよい。また、制御部21の機能の少なくとも一部は、制御部21がネットワーク経由で実行されるプログラムを実行することによって実現されてもよい。
【0039】
本実施形態に係るロボット制御システムSは、
図2に示す具体的な構成に限定されない。ロボット制御装置1及びロボット2は、それぞれ2つ以上の物理的に分離した装置が有線又は無線で接続されることにより構成されてもよい。また、ロボット制御装置1は、ロボット2に内蔵されてもよい。
【0040】
[ロボット制御方法の説明]
以下、本実施形態に係るロボット制御システムSが実行するロボット制御方法を詳細に説明する。ロボット制御装置1において、プログラム情報記憶部121は、操作者がロボット2を遠隔操作するための複数のプログラムに関する複数のプログラム情報を予め記憶している。
【0041】
図3は、プログラム情報記憶部121が記憶している例示的なプログラム情報の模式図である。プログラム情報記憶部121が記憶するプログラム情報は、プログラムと、プログラムの名称と、プログラムの優先順位と、プログラムの識別情報(ID)とを関連付けた情報である。
図3に示すプログラム情報は、例えば、ロボット2がコンビニエンスストアのように商品を販売する店舗で作業を実行する場合に用いられるプログラムに関する情報を含んでいる。
図3において、視認性のために各情報は文字列で表されているが、各情報は数値やバイナリ値等のその他の形式で表されてもよい。
【0042】
プログラムの名称は、操作者がロボット2を遠隔操作する目的を表す情報である。プログラムの識別情報は、プログラムを識別可能な文字列や数値等の識別子である。プログラムの優先順位は、プログラムを使用する優先度を示している。例えば優先順位の値が小さいプログラムほど、優先的に利用される。
【0043】
プログラムは、操作者がロボット2を遠隔操作する際に行われる制御の内容を示す情報である。プログラムは、例えば所定のプログラム言語で記載される。
図3の例では、視認性のためにプログラムの内容が文字列で表されている。
【0044】
プログラムは、例えばロボット2を所定の位置へ移動させる命令(すなわちコマンド)、ロボット2に所定の部位を駆動させる命令(ロボット2の部位の位置、角度、速度、トルクの指定等)、ロボット2に所定のタスク(作業手順の指定等)を行わせる命令、ロボット2に所定の情報を測定させる命令(取得対象の情報の選択、触覚センサの感度の指定等)等を含む。また、プログラムは、動作の自動化の程度を指定する命令を含んでもよい。すなわち、プログラムは、ロボット2が操作者の操作指示に応じて動作するか、又はロボット2が操作者の操作指示によらずに自動的に動作するかの程度を指定する。また、プログラムは、操作端末3の表示部における表示態様を指定する命令を含んでもよい。プログラムは、ここに示した具体例に限定されず、ロボット2の制御に関するその他の命令を含んでもよい。
【0045】
操作者がロボット2の遠隔操作を開始する前に、ロボット制御装置1は、ロボット2の制御に用いる第1プログラムを予め選択する。例えばロボット制御装置1は、プログラム情報記憶部121に記憶された複数のプログラムの中から、優先順位に従って1つの第1プログラムを選択する。
図3の例では、ロボット制御装置1は、最も優先順位の値が小さい「接客」のプログラムを優先的に選択し、「接客」のプログラムを実行できない場合又は実行する必要がない場合には次に優先順位の値が小さい「調理」のプログラムを優先的に選択する。例えば店舗に顧客がいない場合や、店員又は他のロボット2が既に顧客の接客を開始している場合には、ロボット制御装置1は「接客」のプログラムを選択しない。
【0046】
別の方法として、ロボット制御装置1は、操作端末3又は管理端末4において、操作者又は管理者から、プログラム情報記憶部121に記憶された複数のプログラムの中から1つの第1プログラムの選択を受け付けてもよい。別の方法として、後述の選択部115が、ロボット2、操作端末3又は管理端末4から取得した情報に基づいて、第1プログラムを選択してもよい。
【0047】
図4(a)、
図4(b)は、ロボット2の動作を説明するための模式図である。
図4(a)は、ロボット制御装置1が第1プログラムとして「陳列」のプログラムを選択した状態を表している。操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する。
【0048】
ロボット制御装置1において、受信部111は、操作端末3が送信した操作指示を受信する。ロボット制御部112は、予め選択された第1プログラムと、受信部111が受信した操作指示とに基づいて、ロボット2の動作を制御する制御情報を生成する。制御情報は、操作指示に対応する動作及び第1プログラムに対応する動作をロボット2に行わせる情報(例えば制御信号)である。例えば制御情報は、操作指示が示す動作(例えばロボット2の各部位の操作や音声出力)をロボット2に行わせるとともに、「陳列」の第1プログラムが示す「陳列対象の商品の運搬」の動作をロボット2に行わせる情報である。そしてロボット制御部112は、生成した制御情報をロボット2へ送信することによって、ロボット2の動作を制御する。
【0049】
ロボット2において、情報取得部211は、ロボット制御装置1が送信した制御情報を取得する。情報取得部211は、取得した制御情報をロボット2が有する駆動部及び測定部に入力することによって、制御情報に従ってロボット2を動作させる。ロボット2が動作している間に、ロボット2の測定部は、第1プログラムに基づいてロボット2が行った動作を示す動作情報を測定する。情報送信部212は、測定部が測定した動作情報を、ロボット制御装置1へ送信する。
【0050】
ロボット制御装置1において、受信部111は、ロボット2が送信した動作情報を受信する。受信部111は、操作指示を行った操作者を示す情報と、操作指示を行った操作端末3を示す情報と、遠隔操作されたロボット2を示す情報と、第1プログラムに関する情報と、ロボット2に送信された操作指示と、第1プログラムに基づいてロボット2が行った動作を示す動作情報とを関連付けた操作結果情報を、操作結果記憶部122に記憶させる。
【0051】
ロボット制御部112が第1プログラムに基づいてロボット2の動作を制御しているときに、情報取得部113は、判定部114による移行条件の判定及び選択部115によるプログラムの選択に用いる情報を、ロボット2、操作端末3又は管理端末4から取得する。
【0052】
情報取得部113が取得する情報は、例えばロボット2が配置されている場所の状況を示す状況情報と、ロボット2の位置を示す位置情報と、ロボット2の状態を示す状態情報と、ロボット2が動作している時刻を示す時刻情報とのうち少なくとも1つを含む。
【0053】
例えば状況情報は、ロボット2が配置されている店舗内で、顧客が声を発していることを示す情報、顧客の位置を示す情報、又は店舗に商品が入荷したことを示す情報を含む。ロボット2は、ロボット2が備える音声入力部を用いて顧客が声を発していることを検知するとともに、ロボット2が備える撮像部を用いて店舗内を撮像することによって顧客の位置及び商品の入荷を検知し、検知結果を示す状況情報をロボット制御装置1へ送信する。情報取得部113は、店舗に設置された音声入力部及び撮像部から声及び撮像画像を受信することによって、状況情報を取得してもよい。
【0054】
例えば位置情報は、ロボット2が配置されている店舗内におけるロボット2の位置を示す情報を含む。ロボット2は、店舗内に設置された近距離無線通信装置(ビーコン等)と通信すること、又はロボット2が備える撮像部を用いて店舗内を撮像することによって、ロボット2の位置を特定し、特定した位置を示す位置情報をロボット制御装置1へ送信する。ロボット制御装置1は、店舗に設置された撮像部から撮像画像を受信することによって、位置情報を取得してもよい。
【0055】
例えば状態情報は、ロボット2が顧客又は物体に接触していることを示す情報を含む。ロボット2は、ロボット2が備える接触センサを作動させることによって、又はロボット2が備える撮像部を用いてロボット2の体を撮像することによって、ロボット2が顧客又は物体に接触していることを検知し、検知結果を示す状態情報をロボット制御装置1へ送信する。ロボット制御装置1は、店舗に設置された撮像部から撮像画像を受信することによって、状態情報を取得してもよい。
【0056】
例えば時刻情報は、ロボット2が動作している時刻を示す情報を含む。ロボット2は、ロボット2が備える時計機能を用いて時刻を特定し、特定した時刻を示す時刻情報をロボット制御装置1へ送信する。ロボット制御装置1は、操作端末3から時刻情報を取得してもよい。
【0057】
また、情報取得部113が取得する情報は、操作端末3において操作者が所定の操作を行ったこと又は行わなかったことを示す操作情報を含んでもよい。例えば操作情報は、操作者が移行を要求する操作を行ったこと又は操作者が所定時間以上操作を行っていないこと(すなわち操作者がロボット2の操作から離脱したこと)を示す情報を含む。操作端末3は、操作部の操作の有無を監視し、所定の操作を行ったこと又は行わなかったことを示す操作情報をロボット制御装置へ送信する。
【0058】
また、情報取得部113が取得する情報は、管理端末4において管理者が所定の操作を行ったこと又は行わなかったことを示す操作情報を含んでもよい。例えば操作情報は、管理者が移行を要求する操作を行ったことを示す情報を含む。管理端末4は、操作部の操作の有無を監視し、所定の操作を行ったこと又は行わなかったことを示す操作情報をロボット制御装置へ送信する。
【0059】
情報取得部113が取得する情報は、ここで説明した具体的な情報に限定されず、判定部114による移行条件の判定及び選択部115によるプログラムの選択に用いることが可能なその他の情報を含んでもよい。
【0060】
ロボット制御部112が第1プログラムに基づいてロボット2の動作を制御しているときに、判定部114は、情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つに基づいて、移行条件が満たされているか否かを判定する。
【0061】
プログラム情報記憶部121は、移行条件を予め記憶している。プログラム情報記憶部121において、プログラムごとに異なる移行条件が設定されてもよく、全てのプログラムに対して同じ移行条件が設定されてもよい。
【0062】
移行条件は、複数のプログラム間で切り替える判定を行うための条件である。例えば移行条件は、顧客が声を発していること、又は顧客が所定の領域(レジの前等)にいることを含む。例えば移行条件は、ロボット2が店舗内の所定の領域(売り場等)に位置していることを含む。例えば移行条件は、店舗に商品が入荷したことを含む。例えば移行条件は、ロボット2が顧客又は物体に接触していることを含む。例えば移行条件は、ロボット2が動作している時刻が所定の時刻範囲内であることを含む。
【0063】
例えば移行条件は、操作者が操作端末3において移行を要求する操作を行ったこと又は操作者が所定時間以上操作を行っていないことを含む。例えば移行条件は、管理者が管理端末4において移行を要求する操作を行ったことを含む。移行条件は、ここに示した具体的な条件に限られず、その他の条件を含んでもよい。
【0064】
判定部114は、情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つが、プログラム情報記憶部121に記憶されている移行条件を満たしているか否かを判定する。移行条件が満たされていないと判定部114が判定した場合に、ロボット制御部112は、第1プログラムに基づいてロボット2の動作を制御することを継続する。
【0065】
移行条件が満たされていると判定部114が判定した場合に、選択部115は、情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つに基づいて、プログラム情報記憶部121に記憶されている複数のプログラムの中から、第1プログラムとは異なる第2プログラムを選択する。
【0066】
例えば選択部115は、状況情報が、顧客が声を発していること又は顧客がレジの前にいることを示す場合に、「接客」のプログラムを第2プログラムとして選択する。例えば選択部115は、状況情報が、店舗に商品が入荷したことを示す場合に、「陳列」のプログラムを第2プログラムとして選択する。例えば選択部115は、位置情報が示すロボット2の位置が調理場の近傍である場合に、「調理」のプログラムを第2プログラムとして選択する。例えば選択部115は、ロボット2が顧客又は物体に接触していることを状態情報が示す場合に、接触を回避するプログラムを第2プログラムとして選択する。例えば選択部115は、時刻情報が示す時刻が掃除を行うことが予定された時刻範囲内である場合に、「掃除」のプログラムを第2プログラムとして選択する。
【0067】
例えば選択部115は、操作者がロボット2の操作から離脱したことを操作端末3の操作情報が示す場合に、ロボット2の動作を停止するプログラムを第2プログラムとして選択する。例えば選択部115は、管理者が特定のプログラムを指定したことを管理端末4の操作情報が示す場合に、管理者が指定したプログラムを第2プログラムとして選択する。
【0068】
これにより、選択部115は、操作者がロボット2を遠隔操作する目的が途中で変わる場合であっても、ロボット2、操作端末3及び管理端末4から取得した情報に応じて新たな目的に適したプログラムを選択することができる。
【0069】
さらに選択部115は、状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つと、優先順位との関係に基づいて、第2プログラムを選択してもよい。この場合に、選択部115は、状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つに基づいて選択した複数の第2プログラムの候補の中から、最も優先順位の値が小さいプログラムを第2プログラムとして選択する。これにより、選択部115は、ロボット2、操作端末3及び管理端末4から取得した情報に応じて選択したプログラムの中から、優先するように設定されたプログラムを選択することができる。また、選択部115は、過去に第2プログラムが選択された回数(すなわち第2プログラムの人気度)に基づいて、第2にプログラムを選択してもよい。
【0070】
選択部115は、ここに示した具体的な方法に限られず、その他の方法で情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報に基づいて第1プログラムとは異なる第2プログラムを選択してもよい。例えば複数のロボット2が店舗内に配置されている場合に、各ロボット2の情報取得部113は、他のロボット2が選択したプログラムを示す情報を、状況情報として取得してもよい。この場合に、あるロボット2の選択部115は、他のロボット2が選択したプログラムに基づいて、第2プログラムを選択する。また、選択部115は、店員が所定の声を発すること等によって店員自身が作業を行う旨をロボット2に通知したことに基づいて、第2プログラムを選択してもよい。これにより、例えば店舗内でロボット2が作業している際に顧客が来店したことや、緊急対応が必要となったこと等の事象が発生した場合に、他のロボット2が該事象に対応するプログラムを選択した場合、又は店員が該事象に対応する作業を行う場合であれば、ロボット2はプログラムを変更することが不要であると判断することができる。
【0071】
また、選択部115は、予めプログラム情報記憶部121に記憶されたプログラムを読み出すだけでなく、情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報に応じてプログラムを生成することによって、第2プログラムを選択してもよい。
【0072】
図4(b)は、ロボット制御装置1が、移行条件(例えば顧客が声を発していること)が満たされていると判定し、第2プログラムとして「接客」のプログラムを選択した状態を表している。ロボット制御装置1において、ロボット制御部112は、第1プログラムに基づいたロボット2の動作を停止させるとともに、選択部115が選択した第2プログラムに基づいてロボット2の動作を制御する制御情報を生成する。第1プログラムに基づいたロボット2の動作を停止させることは、ロボット2が第1プログラムに基づいて行っている動作を停止させること、又はロボット2が第1プログラムに基づいて行おうとしている次の動作の起動を停止することである。
【0073】
例えば制御情報は、「陳列」の第1プログラムによる動作をロボット2に停止させ、操作指示が示す動作(例えばロボット2の各部位の操作や音声出力)をロボット2に行わせるとともに、「接客」の第2プログラムが示す「レジへの移動」の動作をロボット2に行わせる情報である。そしてロボット制御部112は、生成した制御情報をロボット2へ送信することによって、ロボット2の動作を制御する。
【0074】
ロボット2において、情報取得部211は、ロボット制御装置1が送信した制御情報を取得する。情報取得部211は、取得した制御情報をロボット2が有する駆動部及び測定部に入力することによって、ロボット2を動作させる。これにより、ロボット2は、第1プログラムとは異なる、新たな目的に適した第2プログラムに基づいて動作することができる。
【0075】
ロボット2が動作している間に、ロボット2の測定部は、第2プログラムに基づいてロボット2が行った動作を示す動作情報を測定する。情報送信部212は、測定部が測定した動作情報を、ロボット制御装置1へ送信する。
【0076】
ロボット制御装置1において、受信部111は、ロボット2が送信した動作情報を受信する。受信部111は、操作指示を行った操作者を示す情報と、操作指示を行った操作端末3を示す情報と、遠隔操作されたロボット2を示す情報と、第2プログラムに関する情報と、ロボット2に送信された操作指示と、第2プログラムに基づいてロボット2が行った動作を示す動作情報とを関連付けた操作結果情報を、操作結果記憶部122に記憶させる。操作結果記憶部122に記憶された操作結果情報は、プログラムの動作の機械学習に利用され、あるいは次回以降のプログラムのテンプレートとして利用される。
【0077】
その後、ロボット制御装置1は、移行条件が満たされているか否かの判定を継続し、移行条件が満たされている場合に実行中の第2プログラムとはさらに異なる第2プログラムに切り替えてロボット2の制御を行う。
【0078】
ロボット制御部112は、第2プログラムに基づいてロボット2の動作を制御するとともに、第2プログラムに対応するプロファイル情報をロボット2の制御に設定してもよい。この場合に、プログラム情報記憶部121は、プログラムに対応するプロファイル情報を予め記憶している。プロファイル情報は、動作速度の抑制、操作の制限、操作時の情報測定等、操作者が入力した操作信号に対して適用される条件を示す情報である。
【0079】
移行条件が満たされていると判定部114が判定した場合に、選択部115は、選択した第2プログラムに対応するプロファイル情報を取得する。そしてロボット制御部112は、生成した制御情報をロボット2へ送信するとともに、取得したプロファイル情報を、ロボット制御装置1、ロボット2又は操作端末3に設定する。これにより、ロボット制御装置1は、第2プログラムに基づいてロボット2の動作を制御するだけでなく、第2プログラムに対応するプロファイル情報(すなわち、動作速度の抑制、操作の制限、操作時の情報測定等の条件)をロボット2の制御に適用することができる。
【0080】
ロボット制御装置1は、第1プログラムから第2プログラムへ切り替える前に、操作端末3において操作者からプログラムを切り替えるか否かの選択を受け付けてもよい。
図5(a)、
図5(b)は、操作者からプログラムを切り替えるか否かの選択を受け付ける方法を説明するための模式図である。
【0081】
選択部115が第1プログラムとは異なる第2プログラムを選択した場合に、ロボット制御部112は、第1プログラムに基づいたロボット2の動作を停止させる制御情報をロボット2へ送信する。ロボット2において、情報取得部211は、ロボット制御装置1が送信した制御情報を取得し、第1プログラムに基づいたロボット2の動作を停止させる。
【0082】
出力部116は、第1プログラムに関する情報と、選択部115が選択した1つ又は複数の第2プログラムに関する情報とを、操作端末3へ送信する。第1プログラム及び第2プログラムに関する情報は、例えば第1プログラム及び第2プログラムの名称やIDを含む。操作端末3は、ロボット制御装置1が送信した第1プログラム及び第2プログラムに関する情報を、表示部に表示させる。
【0083】
図5(a)の例では、操作端末3は、現在ロボット2の制御に用いられている第1プログラムに関する情報と、選択部115が選択した1つの第2プログラムに関する情報とを表示している。操作端末3は、操作者から第2プログラムへ切り替えるか否かの入力を受け付け、操作者が切り替えることを要求した場合に、第2プログラムへ切り替えるための切り替え指示をロボット制御装置1へ送信する。切り替え指示の入力は、例えば操作者が画面上で所定のボタンを押下すること、操作者が画面上の所定の領域に視線を向けること、操作者が所定のジェスチャを行うこと等によって行われる。
【0084】
図5(b)の例では、操作端末3は、現在ロボット2の制御に用いられている第1プログラムに関する情報と、選択部115が選択した複数の第2プログラムに関する情報とを表示している。操作端末3は、操作者からいずれか1つの第2プログラムの選択を受け付け、選択された第2プログラムへ切り替えるための切り替え指示をロボット制御装置1へ送信する。切り替え指示の入力は、例えば操作者が画面上で所定のボタンを押下すること、操作者が画面上の所定の領域に視線を向けること、操作者が所定のジェスチャを行うこと等によって行われる。
【0085】
同様に、ロボット制御装置1は、第1プログラムから第2プログラムへ切り替える前に、管理端末4において管理者からプログラムを切り替えるか否かの選択を受け付けてもよい。この場合に、管理端末4は、管理者による入力に基づいて、第2プログラムへ切り替えるための切り替え指示をロボット制御装置1へ送信する。
【0086】
ロボット制御装置1において、受信部111は、操作端末3又は管理端末4が送信した切り替え指示を受信する。ロボット制御部112は、受信部111が切り替え指示を受信したことを条件として、第2プログラムに基づいたロボット2の制御を開始する。一方、受信部111が切り替え指示を受信しなかった場合(又は第2プログラムへ切り替えないことを示す指示を受信した場合)に、ロボット制御部112は、第1プログラムに基づいたロボット2の制御を再開する。これにより、ロボット制御装置1は、操作者又は管理者の意思を反映して、第1プログラムから第2プログラムへ切り替えることができる。
【0087】
ロボット制御装置1は、第1プログラムから第2プログラムへ切り替えた後に、所定の再開条件が満たされた場合に第1プログラムに基づいたロボット2の制御を再開してもよい。この場合に、ロボット制御部112は、第1プログラムから第2プログラムへ切り替える際に、切り替え時のロボット2の中断状態を示す情報を、記憶部12に記憶させる。切り替え時のロボット2の中断状態は、例えばロボット2の位置(座標)、ロボット2が行っていたタスク等である。プログラムの切り替えが複数回発生した場合には、記憶部12は、複数の中断状態を示す情報を記憶する。
【0088】
図6は、再開時のロボット2の動作を説明するための模式図である。ロボット制御部112が第2プログラムに基づいてロボット2の動作を制御しているときに、情報取得部113は、判定部114による再開条件の判定に用いる情報を、ロボット2、操作端末3又は管理端末4から取得する。再開条件の判定に用いる情報は、例えば判定部114による移行条件の判定及び選択部115によるプログラムの選択に用いる情報と同様である。判定部114は、情報取得部113が取得した情報に基づいて、再開条件が満たされているか否かを判定する。
【0089】
プログラム情報記憶部121は、再開条件を予め記憶している。プログラム情報記憶部121において、プログラムごとに異なる再開条件が設定されてもよく、全てのプログラムに対して同じ再開条件が設定されてもよい。また、操作者又は管理者ごとに異なる再開条件が設定されてもよい。
【0090】
再開条件は、第1プログラムから第2プログラムへ切り替えた後に第1プログラムに基づいたロボット2の制御を再開する判定を行うための条件である。例えば再開条件は、第2プログラムに基づいたロボット2の制御が完了したことを含む。例えば再開条件は、第2プログラムに基づいたロボット2の制御中に、操作端末3又は管理端末4において操作者又は管理者が第1プログラムに基づいたロボット2の制御を再開する指示を行ったことを含む。再開条件は、ここに示した具体的な条件に限られず、その他の条件を含んでもよい。
【0091】
判定部114は、情報取得部113が取得した情報が、プログラム情報記憶部121に記憶されている再開条件を満たしているか否かを判定する。再開条件が満たされていないと判定部114が判定した場合に、ロボット制御部112は、第1プログラムに基づいたロボット2の制御を再開しない。再開条件が満たされていると判定部114が判定した場合に、ロボット制御部112は、第1プログラムに基づいたロボット2の制御を再開する。具体的には、ロボット制御部112は、記憶部12に記憶された、第1プログラムから第2プログラムへ切り替えた際のロボット2の中断状態に戻すための制御情報を生成する。そしてロボット制御部112は、生成した制御情報をロボット2へ送信することによって、ロボット2を第1プログラムから第2プログラムへ切り替えた際の中断状態に戻すように制御する。すなわち、ロボット2は、切り替え時のロボット2の位置に移動し、切り替え時に行っていたタスクを再開する。
【0092】
その後、ロボット制御部112は、第1プログラムと、受信部111が受信した操作指示とに基づいて、ロボット2の動作を制御する制御情報を生成し、生成した制御情報をロボット2へ送信することによって、ロボット2の動作を制御する。これにより、ロボット制御装置1は、第1プログラムから第2プログラムへ切り替えた後に、所定の再開条件が満たされたことを条件として、第1プログラムに基づいたロボット2の制御を再開することができる。
【0093】
さらに、記憶部12に複数の中断状態を示す情報が記憶されている場合に、操作端末3又は管理端末4は、操作者又は管理者から、いずれか1つの中断状態の選択を受け付けてもよい。この場合に、ロボット制御部112は、操作者又は管理者によって選択された中断状態に戻すための制御情報を生成する。これにより、操作者は、不要なタスクを含む中断状態をスキップしたり、必要に応じて特定の中断状態に戻ったりすることができる。
【0094】
[ロボット制御方法のシーケンス]
図7は、本実施形態に係るロボット制御システムSが実行するロボット制御方法のシーケンス図である。操作者がロボット2の遠隔操作を開始する前に、ロボット制御装置1は、ロボット2の制御に用いる第1プログラムを予め選択する(S11)。ロボット制御装置1は、プログラム情報記憶部121に記憶された複数のプログラムの中から予め設定された優先順位に従って1つの第1プログラムを選択してもよい。あるいはロボット制御装置1は、操作端末3又は管理端末4において、操作者又は管理者から、プログラム情報記憶部121に記憶された複数のプログラムの中から1つの第1プログラムの選択を受け付けてもよい。
【0095】
操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける(S12)。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する。ロボット制御装置1において、受信部111は、操作端末3が送信した操作指示を受信する。ロボット制御部112は、予め選択された第1プログラムと、受信部111が受信した操作指示とに基づいて、ロボット2の動作を制御する制御情報を生成し、ロボット2へ送信する(S13)。
【0096】
ロボット2において、情報取得部211は、ロボット制御装置1が送信した制御情報を取得する。情報取得部211は、取得した制御情報をロボット2が有する駆動部及び測定部に入力することによって、制御情報に従ってロボット2を動作させる(S14)。
【0097】
ロボット制御部112が第1プログラムに基づいてロボット2の動作を制御しているときに、情報取得部113は、判定部114による移行条件の判定及び選択部115によるプログラムの選択に用いる情報を、ロボット2、操作端末3又は管理端末4から取得する(S15)。
【0098】
判定部114は、情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つに基づいて、移行条件が満たされているか否かを判定する。移行条件が満たされていないと判定部114が判定した場合に(S16のNO)、ロボット制御部112は、ステップS13に戻り、第1プログラムに基づいてロボット2の動作を制御することを継続する。
【0099】
移行条件が満たされていると判定部114が判定した場合に(S16のYES)、選択部115は、情報取得部113が取得した状況情報、位置情報、状態情報、時刻情報及び操作情報のうち少なくとも1つに基づいて、プログラム情報記憶部121に記憶されている複数のプログラムの中から、第1プログラムとは異なる第2プログラムを選択する(S17)。
【0100】
操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける(S18)。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する。ロボット制御装置1において、受信部111は、操作端末3が送信した操作指示を受信する。ロボット制御部112は、第1プログラムに基づいたロボット2の動作を停止させるとともに、選択部115が選択した第2プログラムに基づいてロボット2の動作を制御する制御情報を生成し、ロボット2へ送信する(S19)。
【0101】
ロボット2において、情報取得部211は、ロボット制御装置1が送信した制御情報を取得する。情報取得部211は、取得した制御情報をロボット2が有する駆動部及び測定部に入力することによって、ロボット2を動作させる(S20)。
【0102】
情報取得部113は、再開条件の判定に用いる情報を取得する。判定部114は、情報取得部113が取得した情報が、プログラム情報記憶部121に記憶されている再開条件を満たしているか否かを判定する。再開条件が満たされていないと判定部114が判定した場合に(S21のNO)、ロボット制御部112は、第1プログラムに基づいたロボット2の制御を再開せず、ステップS19に戻り、第2プログラムに基づいてロボット2の動作を制御することを継続する。
【0103】
再開条件が満たされていると判定部114が判定した場合に(S21のYES)、ロボット制御部112は、記憶部12に記憶された、第1プログラムから第2プログラムへ切り替えた際のロボット2の状態に戻すための制御情報を生成し、ロボット2へ送信する(S22)。ロボット2において、情報取得部211は、ロボット制御装置1が送信した制御情報を取得する。情報取得部211は、取得した制御情報をロボット2が有する駆動部及び測定部に入力することによって、ロボット2を動作させる(S23)。
【0104】
(変形例)
上述のように、本実施形態に係るロボット制御システムSは、操作者がロボット2を遠隔操作して店舗における作業を行う用途に適用可能であるが、これに限られず、操作者がロボット2を遠隔操作して行うその他の用途にも適用できる。本変形例では、操作者がロボット2を遠隔操作して観光を行う例を以下に説明する。
【0105】
図8(a)、
図8(b)は、ロボット2の動作を説明するための模式図である。
図8(a)は、ロボット制御装置1が第1プログラムとして「人気スポット」のプログラムを選択した状態を表している。「人気スポット」のプログラムは、例えばロボット2がテーマパークにおいて城と観覧車を順に巡る動作を示す。操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する。
【0106】
ロボット制御装置1において、受信部111は、操作端末3が送信した操作指示を受信する。ロボット制御部112は、予め選択された第1プログラムと、受信部111が受信した操作指示とに基づいて、ロボット2の動作を制御する制御情報を生成する。例えば制御情報は、操作指示が示す動作(例えばロボット2の各部位の操作や音声出力)をロボット2に行わせるとともに、「人気スポット」の第1プログラムが示す城と観覧車を順に巡る動作をロボット2に行わせる情報である。そしてロボット制御部112は、生成した制御情報をロボット2へ送信することによって、ロボット2の動作を制御する。ロボット2は、ロボット制御装置1が送信した制御情報に従って動作する。
【0107】
ロボット制御部112が第1プログラムに基づいてロボット2の動作を制御しているときに、情報取得部113は、判定部114による移行条件の判定及び選択部115によるプログラムの選択に用いる情報を、ロボット2、操作端末3又は管理端末4から取得する。
【0108】
ロボット制御部112が第1プログラムに基づいてロボット2の動作を制御しているときに、判定部114は、情報取得部113が取得した情報に基づいて、移行条件が満たされているか否かを判定する。
【0109】
例えば移行条件は、テーマパークの各場所の混雑度が所定の条件(すなわち、いずれかの場所が混んでいること又は混んでいないこと)を満たすことを含む。混雑度は、例えばロボット2が備える撮像部がテーマパーク内を撮像することによって、又は外部サーバから提供される情報を参照することによって、特定可能である。例えば移行条件は、操作者がロボット2を遠隔操作可能な残り時間が所定の条件(すなわち、残り時間が所定時間以上であること又は所定時間以下であること)を満たすことを含む。例えば移行条件は、操作者が操作端末3において移行を要求する操作を行ったこと又は操作者が所定時間以上操作を行っていないことを含む。
【0110】
移行条件が満たされていると判定部114が判定した場合に、選択部115は、情報取得部113が取得した情報に基づいて、プログラム情報記憶部121に記憶されている複数のプログラムの中から、第1プログラムとは異なる第2プログラムを選択する。
【0111】
例えば選択部115は、第1プログラムで訪問する場所の混雑度が大きい場合に、該場所の訪問を含まないプログラムを第2プログラムとして選択する。例えば選択部115は、残り時間が所定値以下である場合に、より時間が掛からないプログラムを第2プログラムとして選択する。例えば選択部115は、操作者がロボット2の操作から離脱したことを操作端末3の操作情報が示す場合に、ロボット2の動作を停止するプログラムを第2プログラムとして選択する。例えば選択部115は、操作者又は管理者が特定のプログラムを指定したことを操作端末3又は管理端末4の操作情報が示す場合に、操作者又は管理者が指定したプログラムを第2プログラムとして選択する。
【0112】
図8(b)は、ロボット制御装置1が、移行条件が満たされていると判定し、第2プログラムとして「スリル満点」のプログラムを選択した状態を表している。ロボット制御装置1において、ロボット制御部112は、第1プログラムに基づいたロボット2の動作を停止させるとともに、選択部115が選択した第2プログラムに基づいてロボット2の動作を制御する制御情報を生成する。例えば制御情報は、「人気スポット」の第1プログラムによる動作をロボット2に停止させ、操作指示が示す動作(例えばロボット2の各部位の操作や音声出力)をロボット2に行わせるとともに、「スリル満点」の第2プログラムが示すジェットコースターに乗車する動作をロボット2に行わせる情報である。そしてロボット制御部112は、生成した制御情報をロボット2へ送信することによって、ロボット2の動作を制御する。ロボット2は、ロボット制御装置1が送信した制御情報に従って動作する。
【0113】
このように、操作者がテーマパーク等を観光する用途でロボット2を遠隔操作する際に、ロボット2は、第1プログラムとは異なる、新たな目的に適した第2プログラムに基づいて動作することができる。これに限られず、本実施形態にロボット制御システムSは、買物等のその他の用途にも適用可能である。
【0114】
[実施形態の効果]
本実施形態に係るロボット制御システムSによれば、ロボット制御装置1は、第1プログラムに基づいてロボット2の制御をしているときに、移行条件が満たされたことを条件として第1プログラムとは異なる第2プログラムに基づいてロボット2の制御を開始する。これにより、操作者は、遠隔操作の目的が変化した際に、目的に応じてロボット2を制御するためのプログラムを選択する必要がないため、ロボット2に異なる複数の目的それぞれに適した動作を容易に行わせることができる。
【0115】
(第2の実施形態)
第1の実施形態ではロボット制御装置1がプログラムに基づいて制御情報を生成するのに対して、本実施形態ではロボット2がプログラムに基づいて制御情報を生成する。本実施形態において、
図2の構成とは異なり、ロボット制御装置1の制御部11はロボット制御部112を有さず、代わりにロボット2の制御部21がロボット制御部112を有する。
【0116】
図9は、本実施形態に係るロボット制御システムSが実行するロボット制御方法のシーケンス図である。以下では、
図7に示すシーケンスとは異なる部分を主に説明する。操作者がロボット2の遠隔操作を開始する前に、ロボット制御装置1は、ロボット2の制御に用いる第1プログラムを予め選択する(S11’)。ここで、出力部116は、選択した第1プログラムを示す第1プログラム情報を、ロボット2へ送信する。第1プログラム情報は、第1プログラム自体を含んでもよく、あるいは第1プログラムの識別情報(ID)を含んでもよい。
【0117】
ロボット2において、情報取得部211は、ロボット制御装置1が送信した第1プログラム情報を取得する。第1プログラム情報が第1プログラムの識別情報を含む場合には、情報取得部211は、第1プログラム情報が含む識別情報に関連付けられた、記憶部22に予め記憶された第1プログラムを取得する。
【0118】
操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける(S12)。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する。ロボット制御装置1において、受信部111は、操作端末3が送信した操作指示を受信する。出力部116は、操作端末3が送信した操作指示を、ロボット2へ転送する。
【0119】
ロボット2において、情報取得部211は、ロボット制御装置が転送した操作指示を取得する。ロボット制御部112は、情報取得部211が取得した第1プログラム情報に対応する第1プログラムと、情報取得部211が取得した操作指示とに基づいて、ロボット2の動作を制御する制御情報を生成する(S13’)。ロボット制御部112は、生成した制御情報をロボット2が有する駆動部及び測定部に入力することによって、制御情報に従ってロボット2を動作させる(S14)。
【0120】
ステップS15~S16は、
図7に示すシーケンスと同様である。移行条件が満たされていると判定部114が判定した場合に(S16のYES)、選択部115は、情報取得部113が取得した情報に基づいて、プログラム情報記憶部121に記憶されている複数のプログラムの中から、第1プログラムとは異なる第2プログラムを選択する(S17’)。ここで、出力部116は、第1プログラムに基づいたロボット2の動作を停止させる停止指示をロボット2へ送信するとともに、選択部115が選択した第2プログラムを示す第2プログラム情報をロボット2へ送信する。第2プログラム情報は、第2プログラム自体を含んでもよく、あるいは第2プログラムの識別情報(ID)を含んでもよい。
【0121】
ロボット2において、情報取得部211は、ロボット制御装置1が送信した停止指示及び第2プログラム情報を取得する。第2プログラム情報が第2プログラムの識別情報を含む場合には、情報取得部211は、第2プログラム情報が含む識別情報に関連付けられた、記憶部22に予め記憶された第2プログラムを取得する。ロボット制御部112は、ロボット2の動作を停止させるための制御情報をロボット2が有する駆動部及び測定部に入力することによって、第1プログラムに基づいたロボット2の動作を停止させる。
【0122】
操作端末3は、ロボット2に対する遠隔操作の内容を示す操作指示の入力を操作者から受け付ける(S18)。操作端末3は、入力された操作指示を、ロボット制御装置1へ送信する。ロボット制御装置1において、受信部111は、操作端末3が送信した操作指示を受信する。出力部116は、操作端末3が送信した操作指示を、ロボット2へ転送する。
【0123】
ロボット2において、情報取得部211は、ロボット制御装置が転送した操作指示を取得する。ロボット制御部112は、情報取得部211が取得した第2プログラム情報に対応する第2プログラムと、情報取得部211が取得した操作指示とに基づいて、ロボット2の動作を制御する制御情報を生成する(S19’)。ロボット制御部112は、生成した制御情報をロボット2が有する駆動部及び測定部に入力することによって、制御情報に従ってロボット2を動作させる(S20)。ステップS21~S23は、
図7に示すシーケンスと同様である。
【0124】
[実施形態の効果]
本実施形態に係るロボット制御システムSによれば、第1の実施形態と同様に、操作者は、遠隔操作の目的が変化した際に、目的に応じてロボット2を制御するためのプログラムを選択する必要がないため、ロボット2に異なる複数の目的それぞれに適した動作を容易に行わせることができる。さらにロボット2は、ロボット制御装置1が選択したプログラムに基づいて、制御情報を生成する。そのため、プログラムの移行条件の判定を行うロボット制御装置1と、制御情報の生成を行うロボット2との間で、処理の負荷を分散させることができる。
【0125】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【0126】
ロボット制御装置1、ロボット2、操作端末3及び管理端末4のプロセッサは、
図7、
図9に示すロボット制御方法に含まれる各ステップ(工程)の主体となる。すなわち、ロボット制御装置1、ロボット2、操作端末3及び管理端末4のプロセッサは、
図7、
図9に示すロボット制御方法を実行するためのプログラムを記憶部から読み出し、該プログラムを実行してロボット制御システムSの各部を制御することによって、
図7、
図9に示すロボット制御方法を実行する。
図7、
図9に示すロボット制御方法に含まれるステップは一部省略されてもよく、ステップ間の順番が変更されてもよく、複数のステップが並行して行われてもよい。
【符号の説明】
【0127】
S ロボット制御システム
1 ロボット制御装置
11 制御部
111 受信部
112 ロボット制御部
113 情報取得部
114 判定部
115 選択部
116 出力部
12 記憶部
121 プログラム情報記憶部
122 操作結果記憶部
2 ロボット
21 制御部
211 情報取得部
212 情報送信部
3 操作端末
4 管理端末