(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024025147
(43)【公開日】2024-02-26
(54)【発明の名称】遠隔操作補助システム、および遠隔操作補助方法
(51)【国際特許分類】
B25J 3/00 20060101AFI20240216BHJP
【FI】
B25J3/00 Z
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022128357
(22)【出願日】2022-08-10
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1) 開催日(公開日) 2022年5月23日(フィラデルフィア現地時間/日本時間)(会期 2022年5月23日~5月27日:フィラデルフィア現地時間及び日本時間) 集会名、開催場所 ICRA2022(IEEE International Conference on Robotics and Automation 2022) 主催 IEEE(Institute of Electrical and Electronics Engineers)Pennsylvania Convention Center(1101 Arch St Philadelphia,PA 19107 United States) <資 料> ICRA2022開催概要及びプログラム (2) 発行日 2022年5月23日(フィラデルフィア現地時間/日本時間) 刊行物 研究論文『Shared Autonomy for Intuitive Teleoperation』参加者専用アドレスより公開 <資 料> Web公開研究論文
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(71)【出願人】
【識別番号】503113186
【氏名又は名称】ホンダ リサーチ インスティテュート ヨーロッパ ゲーエムベーハー
【氏名又は名称原語表記】Honda Research Institute Europe GmbH
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】董 屹立
(72)【発明者】
【氏名】渡部 智樹
(72)【発明者】
【氏名】ジーモン マンシッツ
(72)【発明者】
【氏名】ディルク ルイケン
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707BS26
3C707ES03
3C707JT05
3C707JT10
3C707JU02
3C707JU12
3C707KS36
3C707LS20
(57)【要約】
【課題】多種な物体に対して多様な作業を行う多様性のあるテレオペレーション作業を補助することができる遠隔操作補助システム、および遠隔操作補助方法を提供することを目的とする。
【解決手段】遠隔操作補助システムは、エンドエフェクタの操作者の動作に関する情報を取得する動作取得部と、動作取得部で得た情報を用いてエンドエフェクタによって操作する対象である対象物体と、対象物体の操作方法であるタスクを推定する意図理解部と、エンドエフェクタが操作される環境の環境情報を取得する環境状況判断部と、意図理解部と環境状況判断部から取得した情報からエンドエフェクタの操作量を決定する操作量決定部とを備え、操作量決定部は、対象物体の情報と操作者の動作から対象物体までの操作距離を推定し、推定した操作距離に応じて対象物体に対するエンドエフェクタの操作状態を判定し、操作状態に応じて遠隔操縦への補助の入力モードを変化させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくともエンドエフェクタを遠隔操作する遠隔操作補助システムであって、
少なくとも前記エンドエフェクタを操作する操作者の動作に関する情報を取得する動作取得部と、
前記動作取得部で得た情報を用いて前記エンドエフェクタによって操作する対象である対象物体と、前記対象物体の操作方法であるタスクを推定する意図理解部と、
前記エンドエフェクタが操作される環境の環境情報を取得する環境状況判断部と、
前記意図理解部と前記環境状況判断部の情報を取得し、取得した情報からエンドエフェクタの操作量を決定する操作量決定部と、を備え、
前記操作量決定部は、
前記対象物体の情報と操作者の動作から前記対象物体までの操作距離を推定し、推定した操作距離に応じて前記対象物体に対するエンドエフェクタの操作状態を判定し、操作状態に応じて遠隔操縦への補助の入力モードを変化させる、
遠隔操作補助システム。
【請求項2】
前記操作状態は、
前記対象物体との距離が遠い遠方状態と、
前記対象物体との位置が近い周辺状態と、
前記対象物体を操作する操作状態と、に分けられ、
前記補助の入力モードは、
前記対象物体との距離が遠い遠方状態のときに、前記操作者の動作をそのまま利用する遠方モードと、
前記対象物体との位置が近い周辺状態のときに、前記対象物体の作業位置まで誘導する周辺モードと、
前記対象物体を操作する操作状態のときに、前記対象物体への操作を補助する操作モードとである、
請求項1に記載の遠隔操作補助システム。
【請求項3】
前記周辺モードは、
手先を前記対象物体に近づける状態(Approach Object)と、
前記対象物体を把持できる位置まで移動させる状態(Snap to Object)と、
前記対象物体の表面に合わせて、前記操作者の指示に応じて最終把持位置を調整する状態(Align with Object)と、
前記対象物体の近傍から離れる状態(Unsnap to Object)と、に分けられ、
前記操作量決定部は、
前記4つの状態間の遷移を、作業内容および作業状態に応じて切り替える、
請求項2に記載の遠隔操作補助システム。
【請求項4】
前記操作量決定部は、
前記動作取得部が取得した前記操作者の手先指令値と、前記意図理解部が推定された意図情報と、前記環境状況判断部が取得した環境情報と、作業内容である教師データを入力して学習したモデルを用いて、前記4つの状態間の遷移を、作業内容および作業状態に応じて切り替える、
請求項3に記載の遠隔操作補助システム。
【請求項5】
少なくともエンドエフェクタを遠隔操作する遠隔操作補助システムであって、
少なくとも前記エンドエフェクタを操作する操作者の動作に関する情報を取得する動作取得部と、
前記動作取得部で得た情報を用いて前記エンドエフェクタによって操作する対象である対象物体と、前記対象物体の操作方法であるタスクを推定する意図理解部と、
前記エンドエフェクタが操作される環境の環境情報を取得する環境状況判断部と、
意図理解部と環境状況判断部の情報を取得し、取得した情報からエンドエフェクタの操作量を決定する操作量決定部と、を有し、
前記操作量決定部は、
前記対象物体の情報と操作者の動作から前記対象物体までの操作距離を推定し、推定した操作距離に応じて前記対象物体に対するエンドエフェクタの操作状態を判定し、操作状態に応じて遠隔操縦への補助の入力モードを変化させる、
遠隔操作補助方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔操作補助システム、および遠隔操作補助方法に関する。
【背景技術】
【0002】
ロボットを操作者が遠隔操作して制御する技術が提案されている(例えば特許文献1参照)。
このような遠隔操作では、例えば、操作者が装着するセンサからの指示によって、ロボットを遠隔操作する。ロボットは、遠隔操作指示に応じて、多種な物体に対して、多様な作業を行う必要がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術では、多種な物体に対して多様な作業を行う多様性のあるテレオペレーション作業を補助できなかった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、多種な物体に対して多様な作業を行う多様性のあるテレオペレーション作業を補助することができる遠隔操作補助システム、および遠隔操作補助方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)上記目的を達成するため、本発明の一態様に係る遠隔操作補助システムは、少なくともエンドエフェクタを遠隔操作する遠隔操作補助システムであって、少なくとも前記エンドエフェクタを操作する操作者の動作に関する情報を取得する動作取得部と、前記動作取得部で得た情報を用いて前記エンドエフェクタによって操作する対象である対象物体と、前記対象物体の操作方法であるタスクを推定する意図理解部と、前記エンドエフェクタが操作される環境の環境情報を取得する環境状況判断部と、前記意図理解部と前記環境状況判断部の情報を取得し、取得した情報からエンドエフェクタの操作量を決定する操作量決定部と、を備え、前記操作量決定部は、前記対象物体の情報と操作者の動作から前記対象物体までの操作距離を推定し、推定した操作距離に応じて前記対象物体に対するエンドエフェクタの操作状態を判定し、操作状態に応じて遠隔操縦への補助の入力モードを変化させる、遠隔操作補助システムである。
【0007】
(2)また、本発明の一態様に係る(1)に記載の遠隔操作補助システムにおいて、前記操作状態は、前記対象物体との距離が遠い遠方状態と、前記対象物体との位置が近い周辺状態と、前記対象物体を操作する操作状態と、に分けられ、前記補助の入力モードは、前記対象物体との距離が遠い遠方状態のときに、前記操作者の動作をそのまま利用する遠方モードと、前記対象物体との位置が近い周辺状態のときに、前記対象物体の作業位置まで誘導する周辺モードと、前記対象物体を操作する操作状態のときに、前記対象物体への操作を補助する操作モードとである。
【0008】
(3)また、本発明の一態様に係る(2)に記載の遠隔操作補助システムにおいて、前記周辺モードは、手先を前記対象物体に近づける状態(Approach Object)と、前記対象物体を把持できる位置まで移動させる状態(Snap to Object)と、前記対象物体の表面に合わせて、前記操作者の指示に応じて最終把持位置を調整する状態(Align with Object)と、前記対象物体の近傍から離れる状態(Unsnap to Object)と、に分けられ、前記操作量決定部は、前記4つの状態間の遷移を、作業内容および作業状態に応じて切り替える。
【0009】
(4)また、本発明の一態様に係る(3)に記載の遠隔操作補助システムにおいて、前記操作量決定部は、前記動作取得部が取得した前記操作者の手先指令値と、前記意図理解部が推定された意図情報と、前記環境状況判断部が取得した環境情報と、作業内容である教師データを入力して学習したモデルを用いて、前記4つの状態間の遷移を、作業内容および作業状態に応じて切り替える。
【0010】
(5)上記目的を達成するため、本発明の一態様に係る遠隔操作補助方法は、少なくともエンドエフェクタを遠隔操作する遠隔操作補助システムであって、少なくとも前記エンドエフェクタを操作する操作者の動作に関する情報を取得する動作取得部と、前記動作取得部で得た情報を用いて前記エンドエフェクタによって操作する対象である対象物体と、前記対象物体の操作方法であるタスクを推定する意図理解部と、前記エンドエフェクタが操作される環境の環境情報を取得する環境状況判断部と、意図理解部と環境状況判断部の情報を取得し、取得した情報からエンドエフェクタの操作量を決定する操作量決定部と、を有し、前記操作量決定部は、前記対象物体の情報と操作者の動作から前記対象物体までの操作距離を推定し、推定した操作距離に応じて前記対象物体に対するエンドエフェクタの操作状態を判定し、操作状態に応じて遠隔操縦への補助の入力モードを変化させる、遠隔操作補助方法である。
【発明の効果】
【0011】
(1)~(5)によれば、多種な物体に対して多様な作業を行う多様性のあるテレオペレーション作業を補助することができる。
【図面の簡単な説明】
【0012】
【
図1】実施形態に係る遠隔操作補助システムの構成例を示す図である。
【
図2】実施形態に係る遠隔操作の概要を示す図である。
【
図3】実施形態に係る遠隔操作補助システムの処理手順例を示すフローチャートである。
【
図4】第1実施形態に係る第2モードにおける人の手先指令値の補正を説明するための図である。
【
図5】第1実施形態に係る把持作業時の処理例を示す図である。
【
図6】第1実施形態に係る置く作業時の処理例を示す図である。
【
図7】第1実施形態に係るネジを締める作業時の処理例を示す図である。
【
図8】比較例によるエンドエフェクタによる作業例を説明するための図である。
【
図9】比較例によるエンドエフェクタによる他の作業例を説明するための図である。
【
図10】第2実施形態に係る遠隔操作補助システムの概要を説明するための図である。
【
図11】第2実施形態に係る遠隔操作補助システムの構成例を示す図である。
【
図12】第2実施形態に係る異なるサブタスク例を示す図である。
【
図13】第2実施形態の遠隔操作によってロボットが作業をしている状態例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0014】
<遠隔操作補助システム>
図1は、本実施形態に係る遠隔操作補助システムの構成例を示す図である。
図1のように、遠隔操作補助システム1は、動作取得部2と、意図理解部3と、環境状況判断部4と、操作量決定部5と、ロボット6を備える。
操作量決定部5は、例えば、操作距離推定部51と、操作状態判定部52と、状態判定部53を備える。
ロボット6は、例えば、アーム61と、エンドエフェクタ62を備える。なお、
図1では、ロボットコントローラー7を省略して図示している。
【0015】
動作取得部2は、少なくともエンドエフェクタ62を操作する操作者の動作に関する情報を取得する。動作取得部2は、例えばデータグローブである。
【0016】
意図理解部3は、動作取得部2が取得した情報を用いて、エンドエフェクタ62によって操作する対象である対象物体と、対象物体の操作方法であるタスクを推定する。なお、意図理解部3は、例えば特願2021-058952号の手法を用いて意図推定を行う。また、意図理解部3は、例えば、操作者の指先の位置情報と、操作者の視線情報に基づいて対象物体を推定するようにしてもよい。また、推定されるタスクは、例えば操作者が行おうとしている作業のタクソノミー(参考文献1参照)である。
【0017】
参考文献1;Thomas Feix, Javier Romero,他,“The GRASP Taxonomy of Human GraspTypes” IEEE Transactions on Human-Machine Systems ( Volume: 46, Issue: 1, Feb.2016),IEEE,p66-77
【0018】
環境状況判断部4は、エンドエフェクタ62が操作される環境の環境情報を取得する。環境状況判断部4は、例えば、作業環境に設置される撮影装置、またはロボット6に取り付けられる撮影装置であってもよい。環境状況判断部4は、撮影された画像に含まれるRGB(赤緑青)情報と深度情報を用いて、対象物体の形状、大きさ、位置等を取得する。
【0019】
操作量決定部5は、意図理解部3と環境状況判断部4の情報を取得し、取得した情報からエンドエフェクタ62の操作量を決定する。
【0020】
操作距離推定部51は、対象物体の情報と操作者の動作から対象物体までの操作距離を推定する。なお、対象物体までの操作距離は、例えば操作者がHMDで見えている画面内での距離、またはロボット6側の実際の距離のいずれであってもよい。
【0021】
操作状態判定部52は、操作距離推定部51が推定した操作距離に応じて対象物体に対するエンドエフェクタの操作状態を判定する。なお、状態は、例えば操作を開始した状態、操作中、把持した状態等である。
【0022】
状態判定部53は、操作状態に応じて遠隔操縦への補助の入力モードを変化させる。
【0023】
ロボット6は、例えば、片腕アームロボット、双腕アームロボット、および多腕アームロボットのうちのいずれかである。
アーム61は、先端にエンドエフェクタ62が接続されている。
エンドエフェクタ62は、少なくとも2つの指部を備える。エンドエフェクタ62が備える指の数は、3つ以上であってもよい。
【0024】
<遠隔操作の概要>
図2は、本実施形態に係る遠隔操作の概要を示す図である。なお、
図2に示したロボット6は、双椀と頭部とボディを備える例を示したが、ロボット6の構成や形状等はこれに限らない。
図2のように、操作者Usは、例えばHMD(ヘッドマウントディスプレイ)2cとデータグローブ2a、2bを装着している。ロボット6またはロボット6の周囲には環境状況判断部4a(環境センサ)が設置され、作業環境にも環境センサ4bが設置されている。なお、環境状況判断部4(4a)(環境センサ)は、ロボット6に取り付けられていてもよい。また、ロボット6は、エンドエフェクタ62(62a、62b)を備える。操作者Usは、HMD2cに表示された画像を見ながらデータグローブ2a、2bを装着している手や指を動かすことで、ロボット6を遠隔操作する。
【0025】
<処理手順例>
次に、遠隔操作補助システム1の処理手順例を説明する。
図3は、本実施形態に係る遠隔操作補助システムの処理手順例を示すフローチャートである。
【0026】
(ステップS1)動作取得部2は、少なくともエンドエフェクタ62を操作する操作者の動作に関する情報を取得する。
【0027】
(ステップS2)意図理解部3は、動作取得部2が取得した情報を用いて、エンドエフェクタ62によって操作する対象である対象物体と、対象物体の操作方法であるタスクを推定する。
【0028】
(ステップS3)環境状況判断部4は、エンドエフェクタ62が操作される環境の環境情報を取得する。
【0029】
(ステップS4)操作距離推定部51は、対象物体の情報と操作者の動作から対象物体までの操作距離を推定する。
【0030】
(ステップS5)操作状態判定部52は、操作距離推定部51が推定した操作距離、すなわち人の手先指令値と対象物体との距離を第1距離以上(物体との距離が遠い遠方状態)、第1距離未満かつ第2距離以上(物体との位置が近い周辺状態)、第2距離未満(物体を操作する操作状態)に分類する。なお、第1距離以上は、例えば人の手先指令値と対象物体との距離が遠い状態である。第1距離未満かつ第2距離以上は、例えば人の手先指令値が対象物体の周辺にあると見なせる状態である。第2距離未満は、例えば人の手先指令値と対象物体との距離が近い状態である。なお、第1距離は、ロボット6側の実際の距離の場合に例えば20cmである。第2距離は、ロボット6側の実際の距離の場合に例えば5cmである。なお、距離の長さは一例であり、例えば対象物体に応じた距離であってもよい。
【0031】
(ステップS6)操作状態判定部52は、第1距離以上の場合に、ステップS7の処理(第1モード)に進める。操作状態判定部52は、第1距離未満かつ第2距離以上の場合に、ステップS8の処理(第2モード)に進める。操作状態判定部52は、第2距離未満の場合に、ステップS9の処理(第3モード)に進める。
【0032】
(ステップS7)状態判定部53は、人の手先指令値を修正せずに、取得した人の手先指令値をそのままロボット6へ指令値として出力する。
【0033】
(ステップS8)状態判定部53は、人の手先指令値を修正する。より具体的には、状態判定部53は、ロボット6への指令値を対象物体との衝突を回避しながら、作業できる位置へ移動させる。
【0034】
(ステップS9)状態判定部53は、人の手先指令値を修正する。より具体的には、ロボット6への指令値と対象物体の距離をすぐ作業できる範囲内にとどませるのを確保しつつ、作業動作の開始と終了の指示を受け付ける。
【0035】
このように、本実施形態では、操作状態(含む物体との距離)に応じて、補助の入力モードを変化させるようにした。補助の入力モードは、物体との距離が遠い遠方状態のとき、操作者の動作をそのまま利用する遠方モード(ステップS7)である。補助の入力モードは、物体との位置が近い周辺状態とき、対象物体の作業位置まで誘導する周辺モード(ステップS8)である。補助の入力モードは、物体を操作する操作状態のとき、対象物体への操作を補助する操作モード(ステップS9)である。なお、ステップS8とS9の修正は、各モードで学習済みのモデルを用いて行う。
【0036】
なお、遠隔操作補助システム1は、1つの作業(例えば把持開始、把持、把持後に離れる等)が終了するまで、上記処理を繰り返す。
【0037】
[第1実施形態]
本実施形態では、第2モードが4つの状態を備える例を説明する。
図4は、本実施形態に係る第2モードにおける人の手先指令値の補正を説明するための図である。
図4のように、操作量決定部5は、入力される人の手先指令値を、パラメータを用いて補正する。手先指令値は、人のハンド状態であり、例えば、人の手首位置姿勢と、データグローブが備えるセンサが検出する人の指関節角度情報を含む。また、パラメータは、環境状況判断部4が検出した結果であり、例えば、対象物体の位置情報、対象物体の形状等の対象物体に関する情報である。
【0038】
第2モードは、例えば
図4のような4つの状態に分けることができる。
「Approach Object(パラメータ)」は、手先を対象物に近づける指示であり、やや距離があるときに用いられる。「Snap to Object(パラメータ)」は、対象物を把持できる位置まで移動させる指示であり、すぐ作業開始できる物体の近傍まで移動させるときに用いられる。「Align with Object(パラメータ)」は、例えば、対象物体の表面に合わせて、人の指示に応じて最終把持位置を調整する指示であり、対象物体の表面に沿わせる作業点調整に用いられる。さらに、後述する「unsnap from object(パラメータ)」は、対象物体の近傍から離れるときに用いられる。
【0039】
ただし、上記のモードや状態間の推移基準は、操作者の手先指令値と興味物体の間の距離で決まるため、対象物体の推定やその物体の詳細情報(位置姿勢、形状など)を別途に推定するモジュールが必要とする。同時に、各モードと状態の仕様を決めるため、詳細なパラメータが必要で、このパラメータも上記の対象物体とその物体の情報で決まる。
【0040】
このように、本実施形態では、物体との位置が近い周辺状態とき、第2モードの4つの状態(Approach Object、Snap to Object、Align with Object、およびunsnap from object)を推移させて作業を行うようにした。
【0041】
なお、上述した例では、
図4のように第2モードの状態が4つの例を説明したが、第2モードの状態の数は3つ以下であってもよく、5つ以上であってもよい。
また、上述した例では、人の手先指令値と対象物体との距離を3つに分ける例を説明したが、これに限らない。人の手先指令値と対象物体との距離は、2つに分けてもよく、4つ以上に分けてもよい。
【0042】
(把持作業の場合)
ここで、把持作業時の操作量決定部5が行う処理例を説明する。
図5は、本実施形態に係る把持作業時の処理例を示す図である。なお、Interaction with Object505は、例えば操作者がデータグローブの指先を操作して、サポートに操作者の介入による指示である。例えば、把持する位置がずれている場合、操作者は、ずれを直す操作をデータグローブの指先で指示する。または、作業が進んだ際に指先で把持したい場合、操作者はデータグローブの指先を操作して指を閉じる(または開く等)。そして、Align with Object503は、このような操作者の指示の介入があった場合、介入に基づいて補正する。
【0043】
作業前の条件は、エンドエフェクタ62と対象物との距離がやや離れているとする。このため、人の手先指令値は、対象物体を把持していず対象物体に触れていず、手ぶらの状態である(g11)。
【0044】
この状態では、対象物体とエンドエフェクタ62の指部との距離がややあるため、対象物体に指部を近づけさせる(g12)。
【0045】
この作業では、Approach Object501のサポート無し(g13)で処理が行われ、指部を対象物体に対して所定の範囲内に近づかせる(g14)。
【0046】
次に、Snap to Object502は、サポート動作を発動して、安全に(例えば対象物体に衝突しないように)把持可能な位置まで移動させる(g15)。
【0047】
次に、人が最終把持位置を調整する指示に応じて、Align with Object503は、対象物体の表面に沿わせて指部を移動させる(g16)。
【0048】
次に、Interaction with Object505は、エンドエフェクタ62の指部を閉じさせる(g17)。これにより、エンドエフェクタ62が対象物体を把持する。
【0049】
把持作業では、把持した後、指部を対象物体から離す必要があるため、Unsnap to Object504は、対象物体から指部を外して、対象物体から離れさせる(g18)。
【0050】
なお、上記の処理毎に、人の手先指令値が補正されたロボットコマンドがロボット6に出力される。
【0051】
(置く作業の場合)
次に、置く作業時の操作量決定部5が行う処理例を説明する。
図6は、本実施形態に係る置く作業時の処理例を示す図である。作業内容は、把持している対象物体を机の上に置く作業であるとする。
【0052】
エンドエフェクタ62の指部が対象物を把持している(g31)。
【0053】
この状態では、机に把持したままのエンドエフェクタ62を近づける最中であるが、机とエンドエフェクタ62との距離がややある(g32)。
【0054】
この作業では、Approach Object501のサポート無し(g33)で処理が行われ、エンドエフェクタ62を机に対して所定の範囲内に近づかせる(g34)。
【0055】
次に、Snap to Object502は、サポート動作を発動して、安全に置く(例えば対象物体やエンドエフェクタ62が机に衝突しないように)位置まで移動させる(g35)。
【0056】
次に、机の表面に対象物体を沿わせて、人が最終置く位置に微調整する指示に応じて、Align with Object503がエンドエフェクタ62の位置を微調整する(g36)。
【0057】
次に、Interaction with Object505は、エンドエフェクタ62の指部を開かせる(g37)。これにより、対象物体が机の上に置かれる。
【0058】
置く作業でも、対象物体を置いた後、エンドエフェクタ62を対象物体から離す必要があるため、Unsnap to Object504は、エンドエフェクタ62を対象物体から離れさせる(g38)。
【0059】
(ネジを締める作業の場合)
次に、ネジを締める作業時の操作量決定部5が行う処理例を説明する。
図7は、本実施形態に係るネジを締める作業時の処理例を示す図である。作業内容は、予めスパナを把持し、スパナで六角ネジを締める作業であるとする。
【0060】
エンドエフェクタ62の指部がスパナを把持している(g51)。
【0061】
この状態では、スパナを把持したエンドエフェクタ62をネジに近づける最中であるが、エンドエフェクタ62とネジの距離がややある(g52)。
【0062】
この作業では、Approach Object501のサポート無し(g53)で処理が行われ、エンドエフェクタ62をネジに対して所定の範囲内に近づかせる(g54)。
【0063】
次に、Snap to Object502は、サポート動作を発動して、ネジを締める作業を開始できる位置までエンドエフェクタ62を移動させる(g55)。
【0064】
次に、Align with Object503は、ネジの表面にスパナを沿わせて、人が最終作業位置に微調整する指示に応じて、Align with Object503がエンドエフェクタ62の位置を微調整する(g56)。
【0065】
次に、Interaction with Object505は、エンドエフェクタ62の動作を制御してネジ締めを行う(g57)。
【0066】
ネジ締めが完了した後、Unsnap to Object504は、エンドエフェクタ62をネジから離れさせる(g58)。
【0067】
なお、上述した例では、ネジを締める作業を説明したが、ネジを緩める作業でも同様である。
【0068】
また、
図5~
図7を用いて説明した各作業において、操作距離推定部51は、対象物体の情報と操作者の動作から対象物体までの操作距離を推定する。操作状態判定部52は、操作距離推定部51が推定した操作距離に応じて対象物体に対するエンドエフェクタの操作状態を判定する。状態判定部53は、操作状態に応じて遠隔操縦への補助の入力モードを変化させる。また、
図5~
図7を用いた作業にける各状態の処理や、状態間の遷移は、予め学習モデルに、例えば、人の手先指令値、推定された意図情報、認識された環境情報と、教師データを入力して学習させる。
【0069】
なお、操作状態は、上述したように、対象物体との距離が遠い遠方状態と、対象物体との位置が近い周辺状態と、対象物体を操作する操作状態と、に分けられる。また、補助の入力モードは、対象物体との距離が遠い遠方状態のときに、操作者の動作をそのまま利用する遠方モードと、対象物体との位置が近い周辺状態のときに、対象物体の作業位置まで誘導する周辺モードと、対象物体を操作する操作状態のときに、対象物体への操作を補助する操作モードとである。
【0070】
なお、周辺モードは、手先を対象物体に近づける状態(Approach Object)と、対象物体を把持できる位置まで移動させる状態(Snap to Object)と、対象物体の表面に合わせて、操作者の指示に応じて最終把持位置を調整する状態(Align with Object)と、対象物体の近傍から離れる状態(Unsnap to Object)と、に分けられる。そして、操作量決定部5は、4つの状態間の遷移を、作業内容および作業状態に応じて切り替えるようにした。
【0071】
ここで、比較例によるエンドエフェクタによる作業例を説明する。
図8は、比較例によるエンドエフェクタによる作業例を説明するための図である。
例えば、机の場所Aにおいてある物体objをPICK(把持して持ち上げて)(g900)して、場所Bへplace(移動させて離す)(g910、g911)するとする。
ロボットのハンドは、物体objから離れるとき、操作者の手入力に従って、自由に移動してもいいが、近づいたら、物体objと衝突せずかつ把持できる位置にアプローチすることがsupport機能に求められるが、従来技術では行われていなかった。
【0072】
これに対して、本実施形態では、操作量決定部5が、上述したように人の手先指令値と対象物体との距離に応じて、人の手先指令値を補正するか否か、補正の仕方を変えるようにした。これにより、本実施形態によれば、近づいたら、物体objと衝突せずかつ把持できる位置にアプローチすることを実現できる。
【0073】
これにより、本実施形態によれば、手先指令値を修正する第2モードが統一的な仕組みで成り立つ。また、本実施形態によれば、タスクの種類と関係なく、汎用的なモードと複数の状態で多様なタスクに対応できる。
【0074】
図9は、比較例によるエンドエフェクタによる他の作業例を説明するための図である。
図9の作業は、スパナで六角ネジを締める作業である。このような作業において、把持中のスパナは、普段が操作者の手入力に従って、自由に移動してもいいが、作業したいターゲット物体である六角ネジに近づいたら、support機能が働くことが好ましいが、従来技術では行われていなかった。
【0075】
これに対して、本実施形態では、作業したいターゲット物体である六角ネジに近づいたら、support機能が働き、六角ネジを締められる位置までスムーズにsnapしにいくことを実現することができる。
【0076】
[第2実施形態]
本実施形態では、第2モードが9つの状態を備える例を説明する。
図10は、本実施形態に係る遠隔操作補助システムの概要を説明するための図である。
本実施形態では、操作者は、符号g501のように、例えばHMDとデータグローブを装着する。データグローブによって、操作者の手の動きと指の動きが検出される。さらに、指の動きは、例えばデータグローブが備える連続ボタンによって検出される。このため、指の状態は、連続値[0,1]で表される。また、レンダリングされたシーンが操作者にHMDによって提示される。操作者は、VR内で自由にシーンの周りを歩き回ることができる。符号g501はロボットの作業空間を表し、符号g503は、HDMに表示される画像例を示す。符号g502は、ロボット6の作業空間を表している。
【0077】
遠隔操作補助システム1Aは、操作者の手指の状態、操作者の視線、ロボットの状態、環境情報などの入力と合わせて処理し、ロボットへの命令を生成する。遠隔操作補助システム1Aは、操作者の意図を推定し、状況に応じて操作者の入力コマンドを修正する。
【0078】
本実施形態でも、操作者の現在の手の状態がターゲットとしてロボットに送らずに、手の状態は、操作量決定部5Aで処理される場合がある。本実施形態では、現在の行動状態(例えば対象物を掴んでいる、近づいている)に応じて、手の状態を様々に変化させ、操作者の目標達成をサポートする。
【0079】
また、本実施形態のフレームワークは、操作者の意図を推定する意図理解部、環境状況を判断する環境判断部、現在の行動状態に基づくロボットの目標コマンドの生成および修正する操作量決定部5A、および操作者へのフィードバックを担う様々なモジュールで構成されている。
【0080】
なお、意図理解部は、操作者の手の姿勢や視線を追跡することにより、操作者の意図を推定する。意図理解部は、例えば、VR環境における操作者の視線パターンと手の動きの軌跡から、最も可能性の高い関心対象を推測することを例えば隠れマルコフモデルに学習させ、学習させたモデルを用いて操作者の意図を推定する。
【0081】
また、遠隔操作補助システム1Aは、触覚と視覚フィードバック機能を備える。これにより、遠隔操作の環境では、あらゆるモダリティのフィードバック接続により、操作者とロボットシステムの間に双方向の通信チャネルが確立される。このフィードバック接続により、操作者は遠隔操作補助システム1Aにコマンドを送るだけでなく、むしろ遠隔操作補助システム1Aと対話することができる。
【0082】
なお、人間の操作者が操作目標を達成するのを支援するため、操作者が常にシステムをコントロールしている感覚つまり主体性を持ち続けることが重要である。この場合、操作者は、遠隔操作補助システム1Aが作動していることにさえ気づかないことが利用である。このためには、遠隔操作補助システム1Aによるサポートは、常に微妙なものであるべきである。
【0083】
以下の説明では、ロボットに対象物体を把持させ、把持したまま対象物体を所望の位置まで移動させ、所望位置に置かせるピック・アンド・プレース・タスクについて説明する。
図11は、本実施形態に係る遠隔操作補助システムの構成例を示す図である。
図11のように、遠隔操作補助システム1Aは、動作取得部2と、意図理解部3と、環境状況判断部4と、操作量決定部5Aと、ロボット6と、ロボットコントローラー7と、フィードバックデバイス8を備える。なお、第1実施形態で説明した遠隔操作補助システム1もフィードバックデバイス8を備えていてもよい。
【0084】
操作量決定部5Aは、例えば、動作状態マシーン55と、仮想環境シミュレータ56と、コントローラーシミュレータ57を備える。
【0085】
現在の入力に基づき、操作者の入力をどのようにロボット6の目標ハンド状態に変換するかを決定する動作状態マシーン55が起動される。その後、コントローラーシミュレータ57がロボットコントローラー7の仮想コピーを用いて、対象物体にロボットのエンドエフェクタが安全に到達できるかどうかを確認する。安全に到達できると判断された場合、対象物体が実際のロボットコントローラー7に送られる。そして、エンドエフェクタは、対象物体に移動する。さらに、例えば、ロボット6が衝突したときや目標物に到達できなかったときなど、オペレータへのフィードバック信号が生成される。
【0086】
(シーン理解と意図推定)
操作タスクは、環境中の対象物体との物理的なインタラクションを必要とするため、まずシーン中の対象物体を検出できる必要がある。さらに、操作者の操作意図を推測する必要がある。このため、意図理解部3が操作者の操作意図を推測し、環境状況判断部4がシーン中の対象物体を検出する。
【0087】
物体の検出において、例えば物体モデルのデータベースを参照する。データベースは、例えばYCB-videoデータセットのオブジェクトモデルである。各物体には、メッシュとプリミティブ幾何表現(円柱、球、箱、錐体)が付随している。なお、メッシュを用いた衝突判定はコストがかかりすぎるため、プリミティブな形状は衝突判定に用いられる。物体検出と姿勢推定のために、例えば2台の静止した較正済みのRGB-D撮影装置でシーンを撮影する。画像は撮影装置ごとにMASK R-CNN(参考文献2)のインスタンスでセグメント化される。点群データは、各セグメントに対して生成され、撮影装置間で融合される。特徴抽出の後、グローバルレジストレーション(参考文献3)とファインレジストレーション(参考文献4)が行われる。最後に、姿勢信頼度推定(参考文献5の可視面不一致と同様)を用いて、結果をフィルタリングする。
【0088】
参考文献2;K. He, G. Gkioxari, P. Dollar, and R. Girshick, “Mask r-cnn”, in IEEE
international Conference on Computer Vision, 2017.
参考文献3;Q.-Y. Zhou, J. Park, and V. Koltun, “Fast global registration”, in
European Conference on Computer Vision, 2016.
参考文献4; Y. Chen and G. Medioni, “Object modelling by registration of multiple range images”, Image and Vision Computing, vol. 10, no. 3, pp. 145-155, 1992.
参考文献5; T. Homas, J. Matas, and S. Obdrzalek, “On evaluation of 6d object pose estimation,” in European Conference on Computer Vision, 2016.
【0089】
操作者の意図の検出は、例えば、操作者の手の動きと視線を追跡することで、操作者がどの物体に対してどのような動作(摘む、置く、移動)を行いたいかを推測する。
例えば、ピッキングの場合、遠隔操作補助システム1Aは、把持される対象物体と、その対象物体に対して操作者が行いたい最も可能性の高い把持を推定する。配置する場合、遠隔操作補助システム1Aは、最も可能性の高い配置場所と、対象物を配置するために必要ないくつかのパラメータを推定する。なお、パラメータは、正確な配置場所、配置領域、および操作者が対象物体をどのように配置したいか(例えば上下逆さま、横など)に関するいくつかの詳細である可能性がある。
【0090】
(把持姿勢と配置姿勢の推定)
把持姿勢は、ロボット6が物体をどのように把持するかを決定する。配置姿勢は、与えられた物体が他の物体の上にどのように配置されるかを決定する。このような姿勢を計算するために、本実施形態では、与えられた物体を多様体の集合に分解する。例えば、円筒形の物体は、物体の底面と上面を表す2つの円形多様体と、物体の側面を表す円筒多様体に分解することができる。本実施形態は、異なる多様体の種類を互いにマッピングする関数を導出した。これらの関数は、把持姿勢や配置姿勢の計算に利用することができる。例えば、円筒形の物体の底面の円形多様体を、テーブルの上面を表す直方体多様体にマッピングすることで、円筒形の物体がテーブルの上にどのように置かれるかを決定する配置姿勢を生成することが可能である。ロボット6の手のひらとツール中心点も同様に多様体でモデル化する。したがって、把持姿勢と配置姿勢の計算には、同じ手法を用いることができる。
【0091】
共有自律遠隔操作において、現在の把持姿勢は、操作者の手の現在の(仮想)位置と、意図推定器によって示される関心のある物体によって決定される。配置姿勢は、物体が把持された場合に計算され、把持された物体と意図推定器によって示された配置位置との間の相対的な姿勢に依存する。システムがすでに把持や配置の姿勢を決めていても、操作者の手の動きから、対応する多様体上の適切な新しい姿勢を見つけることができる。このため、操作者は把持姿勢や配置姿勢の整合性を気にすることなく、微調整を行うことができる。これにより、本実施形態によれば、ロボット6の動作の一部を遠隔操作補助システム1Aが制御する場合でも、エージェンシー感覚を実現することができる。
【0092】
(行動)
本実施形態では、対象物体のピッキングと配置という全体的なタスクを、異なる(サブ)タスクに分解する。遠隔操作補助システム1Aが操作者に提供するサポートは、現在のサブタスクに依存し、変化する。本実施形態では、操作者の意図と、ロボット6のハンドと対象物の距離、およびオペレータの現在の動作の実現可能性に基づいて、
図12のような異なるサブタスクの間で切り換える。
図12は、本実施形態に係る異なるサブタスク例を示す図である。なお、サブタスクは、第1実施形態の第2モードで使用される。
【0093】
(1)Approach Object
シーン内に少なくとも1つの物体が検出され、その物体に対するピックインテンションをシステムが受信した場合、「接近物体」動作は、任意の方向にハンドを伸ばす。ロボット6が関節や速度の限界に達しようとしている場合のみ、遠隔操作補助システム1Aは、それらのコマンドをオーバーライドする。その場合、遠隔操作補助システム1Aは、ロボット6を停止させるか、あるいはロボット6の軌道をわずかに修正して限界に達するのを防ぐ。バックグラウンドでは、現在のロボット6のハンド姿勢から、与えられた物体に対する把持姿勢を計算する。把持姿勢は、例えば約40Hzで更新される。
【0094】
(2)Snap to Object
ロボット6のハンドと計算された把持姿勢との距離があらかじめ定義された閾値以下になると、遠隔操作補助システム1Aが制御を引き継ぎ、ロボット6のエンドエフェクタを自動的に把持姿勢に移動させる。そのわずかな時間(通常1秒未満)の間、操作者の手の動きはロボット6の動きに影響を与えない。このような動作を行う理由は、操作者にとって奥行き感がないため、手と物体との相対距離を正確に判断することが困難であることが観察されたからである。
【0095】
(3)Align with Object
エンドエフェクタが把持姿勢に到達した後も、操作者は、把持姿勢の計算に使用した多様体によって提供される安定した把持姿勢のヌルスペースの中で、エンドエフェクタを対象物体の周囲で動かすことができる。例えば、円柱の側面にスナップされたとき、エンドエフェクタは垂直軸を上下に移動することができる。また、円筒の周囲を移動することもできるが、物体との衝突を避けるため、ロール角付近の運動はブロックされている。
このため、操作者は、エンドエフェクタを動かして目的の把持姿勢を細かく調整することができ、位置決めを手伝わされても主体性を保ったまま操作できる。このとき、ロボット6は、物体に衝突することなく、計算された把持姿勢に移動する。なお、把持姿勢には、希望する指関節の配置も含まれている。しかし、操作者が実際に物体を把持し始めるまで、この指の配置は無視される。
【0096】
(4)Grasp Object
操作者がエンドエフェクタの姿勢に満足し、データグローブのボタンを押すと、ロボット6のハンドの指は閉じられる。この動作において、エンドエフェクタは動かない。なお、フィードフォワードコントローラを使用しているので、指が事実上完全に閉じたときに、操作者が対象物体を把持したと感じて操作指示を完了するため、対象物体を把持したと単純に仮定することができる。
【0097】
(5)Align with Surface
対象物を把持した後、操作者は、対象物を現在の支持面(テーブルなど)上で移動させることができる。表面の法線方向への微小な動きや、表面の法線周り以外の回転は無視され、物体は支持面に接触した状態に保たれる。Align with Objectと同様、遠隔操作補助システム1Aは、対象物体を支持面に接触させたまま、表面上で自由に姿勢を調整することができる。操作者がデータグローブを支持面から遠ざけると、遠隔操作補助システム1Aは対象物体を持ち上げ、別の動作に切り替える。
【0098】
(6)Unsnap from Surface
操作者がハンドを支持面から仮想的に離すと、ロボット6のハンドは他の物体と衝突することなく、自律的に物体を持ち上げることができる。
【0099】
(7)Approach Surface
物体を持ち上げた後、遠隔操作補助システム1Aは、再びシーン内の物体の周りを自由に移動できる状態になる。このため、このモードは、ロボット6がハンドに物体を持つようになったという違いだけで、Approach Objectと似ている。
【0100】
(8)Snap to Surface
推定された物体の設置位置に近づくと、再び遠隔操作補助システム1Aが制御を行い、保持された物体を表面に安定的に置くように自動的に配置する。スナップ後、遠隔操作補助システム1Aは再びAlign with Surfaceに切り替わり、操作者は、サポート平面上でオブジェクトを動かして配置姿勢を微調整するか、ロボット6の指を開いてオブジェクトから離なす(またはハンドをそれに合わせる)ことができるようになる。
【0101】
(9)Release Object
この状態では、ロボット6は、単に指を開くだけで、エンドエフェクタは動かせない。
【0102】
<シミュレータ>
本実施形態では、実際のロボット6に目標姿勢を送信する前に、まずロボット6が実際にその姿勢到達できるか否かをシミュレートするようにした。コントローラーシミュレータ57は、分解されたモーション・レート・コントローラを使用して関節速度を計算し、それにステップサイズを掛けて、現在のロボット6の関節角度に追加する。コントローラーシミュレータ57は、新しく計算されたロボット6の姿勢について、衝突や関節の限界にあるか否かを、そして目的の目標姿勢にすでに到達しているか否かを確認する。コントローラーシミュレータ57は、動作が成功したとみなされるか、実行不可能とみなされるか、あるいは制限時間(例えば500ms)に達するまで、それらのステップを実行し続ける。このコントローラーシミュレータ57の利点は、実時間で計算できるほど高速であることである。なお、シミュレーションは、連続的に実行されるため,十分な精度が得られることが確認された。シミュレーションには、実際のロボット6の制御コマンドを計算するのに使用したのと同じコントローラを使用する。
【0103】
<フィードバック信号>
触覚フィードバックは、例えば、物理的な限界(例えば、njoint limit)や、自己衝突やシーン内のオブジェクトとの衝突など、ロボット6の衝突を避けるためにロボット6の動きを変更したときに、操作者に警告を伝えるために利用される。なお、フィードバック信号は、データグローブに送信される。データグローブは、例えば振動子等を備え、フィードバック信号に応じて、操作者にフィードバック情報を伝達する。
【0104】
<確認結果>
図13は、本実施形態の遠隔操作によってロボットが作業をしている状態例を示す図である。
図13の例では、ロボット6が、遠隔操作に基づいて、対象物体であるペットボトルをハンドで把持し、グリッパーで蓋を回転させて開ける。
【0105】
なお、ロボット6は、
図10のような片腕でエンドエフェクタがグリッパーであってもよく、
図13のように両腕で、片腕に多指のハンドを備え他方の腕にグリッパーを備えていてもよい。このように、本実施形態では、
図10のようなロボット6と、
図13のようなロボット6を用いて確認を行った。
【0106】
以上のように、本実施形態では、仮想現実に基づく共有自律遠隔操作フレームワークを用いて、例えば、ピック・アンド・プレース。タスクのような物体インタラクション時に人の操作者へサポートを提供するようにした。
【0107】
これにより、本実施形態においても多種な物体に対して多様な作業を行う多様性のあるテレオペレーション作業を補助できる。
【0108】
なお、本発明における操作量決定部5(または5A)の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより操作量決定部5(または5A)が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0109】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0110】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0111】
1,1A…遠隔操作補助システム、2…動作取得部、3…意図理解部、4…環境状況判断部、5,5A…操作量決定部、6…ロボット、51…操作距離推定部、52…操作状態判定部、53…状態判定部、61…アーム、62…エンドエフェクタ