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

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

▶ 本田技研工業株式会社の特許一覧

特開2024-126302操作制御方法、操作制御装置、及びプログラム
<>
  • 特開-操作制御方法、操作制御装置、及びプログラム 図1
  • 特開-操作制御方法、操作制御装置、及びプログラム 図2
  • 特開-操作制御方法、操作制御装置、及びプログラム 図3
  • 特開-操作制御方法、操作制御装置、及びプログラム 図4
  • 特開-操作制御方法、操作制御装置、及びプログラム 図5
  • 特開-操作制御方法、操作制御装置、及びプログラム 図6
  • 特開-操作制御方法、操作制御装置、及びプログラム 図7
  • 特開-操作制御方法、操作制御装置、及びプログラム 図8
  • 特開-操作制御方法、操作制御装置、及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024126302
(43)【公開日】2024-09-20
(54)【発明の名称】操作制御方法、操作制御装置、及びプログラム
(51)【国際特許分類】
   B25J 3/00 20060101AFI20240912BHJP
【FI】
B25J3/00 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023034596
(22)【出願日】2023-03-07
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】リシ アガルワル
(72)【発明者】
【氏名】長谷川 忠明
(72)【発明者】
【氏名】進 寛史
(72)【発明者】
【氏名】北原 陽平
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707JS03
3C707JS07
3C707KS11
3C707KS21
3C707KS31
3C707KS33
3C707KX08
3C707LW12
(57)【要約】
【課題】人間の手を使って達成できる非常に多様なタスクをロボットに再現させることができる操作制御方法、操作制御装置、及びプログラムを提供する。
【解決手段】実施形態に係る操作制御方法は、オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられたエンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得すること、前記センサデータに基づいて、前記複数の指の其々の役割を判定すること、前記判定された前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成すること、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられたエンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得すること、
前記センサデータに基づいて、前記複数の指の其々の役割を判定すること、
前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成すること、
を含む操作制御方法。
【請求項2】
前記役割には、
他の指とともに対象の指で前記オブジェクトを把持する第1の役割と、
前記対象の指と前記他の指との力のつり合いを維持しながら前記オブジェクトを操作する第2の役割と、
前記他の指によって力のつり合いを維持しながら把持された前記オブジェクトに前記対象の指で力を加えて前記オブジェクトを操作する第3の役割と、
前記オブジェクトに前記対象の指で力を加えない第4の役割と、が含まれる、
請求項1に記載の操作制御方法。
【請求項3】
前記センサデータには、前記操作者の手の指の関節角度を示す値と、前記エンドエフェクタに対する前記オブジェクトの接触有無を示す値と、が含まれており、
前記操作者の手の指のうち、着目する第1の指の前記関節角度が第1閾値以上であり、かつ前記エンドエフェクタに前記オブジェクトが接触していない場合、前記操作者の手の前記第1の指に対応した前記エンドエフェクタの指の役割を、前記第4の役割に決定し、
前記第1の指の前記関節角度が前記第1閾値未満であり、かつ前記エンドエフェクタに前記オブジェクトが接触している場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第1の役割、前記第2の役割、又は前記第3の役割に決定する、
請求項2に記載の操作制御方法。
【請求項4】
前記第1の指の前記関節角度の変化が第2閾値未満である場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第1の役割に決定し、
前記第1の指の前記関節角度の変化が前記第2閾値以上であり、かつ前記第1の指と異なる第2の指の前記関節角度と前記第1の指の前記関節角度との相対変化が第3閾値未満である場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第2の役割に決定し、
前記第1の指の前記関節角度の変化が前記第2閾値以上であり、かつ前記第2の指の前記関節角度と前記第1の指の前記関節角度との相対変化が前記第3閾値以上である場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第3の役割に決定する、
請求項3に記載の操作制御方法。
【請求項5】
機械学習モデルを用いて、前記センサデータから、前記複数の指の其々の役割を判定する、
請求項1又は2に記載の操作制御方法。
【請求項6】
機械学習モデルを用いて、前記複数の指の其々の役割と前記センサデータとから、前記複数の指の其々の役割を再判定し、
前記再判定された複数の指の其々の役割に基づいて、前記コマンドを生成する、
請求項1又は2に記載の操作制御方法。
【請求項7】
オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられたエンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得する取得部と、
前記センサデータに基づいて、前記複数の指の其々の役割を判定する判定部と、
前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成する生成部と、
を備える操作制御装置。
【請求項8】
コンピュータに実行させるためのプログラムであって、
オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられたエンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得すること、
前記センサデータに基づいて、前記複数の指の其々の役割を判定すること、
前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成すること、
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、操作制御方法、操作制御装置、及びプログラムに関する。
【背景技術】
【0002】
ロボットを遠隔操作する操作者の意図を判断することは、操作者と同じ動作をロボットに再現させるために非常に重要な作業である。操作者が何を達成しようとしているのかを感知するために考えられる方法や試みは数多くある。
【0003】
例えば、遠隔操作でロボットにオブジェクトを把持させる場合、センサから得られた操作者の指の各関節角度などの情報をロボットに適用することが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011-110620号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら従来の技術では、人間の手の複雑な性質と、人間の手を使って達成できる非常に多様なタスクとが存在していることから、操作者と同じ動作をロボットに再現させることが困難な場合があった。
【0006】
本発明は、このような事情を考慮してなされたものであり、人間の手を使って達成できる非常に多様なタスクをロボットに再現させることができる操作制御方法、操作制御装置、及びプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
本発明に係る操作制御方法、操作制御装置、及びプログラムは以下の構成を採用した。
(1)本発明の第1の例は、コンピュータを用いたエンドエフェクタの操作制御方法である。操作制御方法は、オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられた前記エンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得すること、前記センサデータに基づいて、前記複数の指の其々の役割を判定すること、前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成すること、を含む。
【0008】
(2)本発明の第2の例は、第1の例において、前記役割には、他の指とともに対象の指で前記オブジェクトを把持する第1の役割と、前記対象の指と前記他の指との力のつり合いを維持しながら前記オブジェクトを操作する第2の役割と、前記他の指によって力のつり合いを維持しながら把持された前記オブジェクトに前記対象の指で力を加えて前記オブジェクトを操作する第3の役割と、前記オブジェクトに前記対象の指で力を加えない第4の役割と、が含まれるものである。
【0009】
(3)本発明の第3の例は、第2の例において、前記センサデータには、前記操作者の手の指の関節角度を示す値と、前記エンドエフェクタに対する前記オブジェクトの接触有無を示す値と、が含まれており、前記操作者の手の指のうち、着目する第1の指の前記関節角度が第1閾値以上であり、かつ前記エンドエフェクタに前記オブジェクトが接触していない場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第4の役割に決定し、前記第1の指の前記関節角度が前記第1閾値未満であり、かつ前記エンドエフェクタに前記オブジェクトが接触している場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第1の役割、前記第2の役割、又は前記第3の役割に決定する、ものである。
【0010】
(4)本発明の第4の例は、第3の例において、前記第1の指の前記関節角度の変化が第2閾値未満である場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第1の役割に決定し、前記第1の指の前記関節角度の変化が前記第2閾値以上であり、かつ前記第1の指と異なる第2の指の前記関節角度と前記第1の指の前記関節角度との相対変化が第3閾値未満である場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第2の役割に決定し、前記第1の指の前記関節角度の変化が前記第2閾値以上であり、かつ前記第2の指の前記関節角度と前記第1の指の前記関節角度との相対変化が前記第3閾値以上である場合、前記操作者の手の第1の指に対応した前記エンドエフェクタの指の役割を、前記第3の役割に決定する、ものである。
【0011】
(5)本発明の第5の例は、第1又は第2の例において、機械学習モデルを用いて、前記センサデータから、前記複数の指の其々の役割を判定するものである。
【0012】
(6)本発明の第6の例は、第1又は第2の例において、機械学習モデルを用いて、前記複数の指の其々の役割と前記センサデータとから、前記エンドエフェクタ全体の動作を判定し、前記判定されたエンドエフェクタ全体の動作に基づいて、前記コマンドを生成するものである。
【0013】
(7)本発明の第7の例は、オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられたエンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得する取得部と、前記センサデータに基づいて、前記複数の指の其々の役割を判定する判定部と、前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成する生成部と、を備える操作制御装置である。
【0014】
(8)本発明の第8の例は、コンピュータに実行させるためのプログラムであって、オブジェクトを把持又は操作することが可能であり、かつ複数の指が設けられたエンドエフェクタを操作者が遠隔操作する際に生成されるセンサデータを取得すること、前記センサデータに基づいて、前記複数の指の其々の役割を判定すること、前記複数の指の其々の役割と、前記センサデータとに基づいて、前記エンドエフェクタを動作させるためのコマンドを生成すること、を含むプログラムである。
【発明の効果】
【0015】
上記の例によれば、人間の手を使って達成できる非常に多様なタスクをロボットに再現させることができる。
【図面の簡単な説明】
【0016】
図1】実施形態に係るエンドエフェクタ10の構成の一例を示す図である。
図2】実施形態に係るエンドエフェクタ10及び操作制御装置100の構成図である。
図3】実施形態に係るエンドエフェクタ10の各指11の役割の判定方法の概要を説明するための図である。
図4】実施形態に係るエンドエフェクタ10の各指11の役割を説明するための図である。
図5】実施形態に係るエンドエフェクタ10の各指11の役割を説明するための図である。
図6】実施形態に係るエンドエフェクタ10の各指11の役割を説明するための図である。
図7】実施形態に係る処理部120のトレーニングの処理の流れを表すフローチャートである。
図8】1次モデルMDL1を説明するための図である。
図9】2次モデルMDL2を説明するための図である。
【発明を実施するための形態】
【0017】
以下、図面を参照し、本発明の操作制御方法、操作制御装置、及びプログラムの実施形態について説明する。
【0018】
(概要)
本実施形態では、操作者によって遠隔操作されるロボットに、操作者と同じ動作をさせることを支援する。ロボットは、典型的には、エンドエフェクタ10によってオブジェクトOBを把持したり、又は操作したりすることができる人型ロボット(ヒューマノイドロボット)であるがこれに限られず、オブジェクトOBを把持又は操作できれば如何なる態様のロボットであってもよい。例えば、ロボットは、四足歩行の動物型のロボットであってもよいし、産業用ロボットであってもよいし、軍事用ロボットであってもよいし、家庭用の掃除用ロボットであってもよいし、その他種々のロボットであってよい。
【0019】
(エンドエフェクタの構成)
図1は、実施形態に係るエンドエフェクタ10の構成の一例を示す図である。図示のように、エンドエフェクタ10には、例えば、数本の指11がグリッパーとして設けられる。エンドエフェクタ10は、ロボットハンドともいう。そのため以下の説明では、エンドエフェクタ10のことを単に「手」と称して説明する場合がある。指11の数は4つに限られず、例えば2つや3つであってもよく、5つ以上であってもよい。
【0020】
指11の先端には、例えば、6軸センサである力覚センサ12(12a、12b、12c、12d)が取り付けられている。指の腹、手のひら等には、触覚センサ13が取り付けられている。更に、指11の先端には、ラバーg1が取り付けられている。ラバーg1は、オブジェクトOBに対して摩擦力を発生させるような材質や形状(例えば突起)であってよい。
【0021】
(操作制御装置の構成)
図2は、実施形態に係るエンドエフェクタ10及び操作制御装置100の構成図である。エンドエフェクタ10は、上述した指11、力覚センサ12、触覚センサ13に加えて、更にアクチュエータ14と、駆動制御部15と、通信インタフェース16と、他のセンサ17とを備える。
【0022】
力覚センサ12は、例えば、圧力センサであってもよいし、または複数の向きに作用する力やトルクの大きさをリアルタイムに計測することのできる6軸力覚センサ(6AF sensor)であってもよい。例えば、力覚センサ12は、各軸の力や力のモーメントの大きさ、関節角度などを計測する。
【0023】
触覚センサ13は、例えば、人間の手などに備わっている触覚が感じとる情報を検出し、電気信号に変換する触覚センサ(Tactile sensor)である。触覚センサ13は、オブジェクトOBの接触の有無を検出する。なお、物体と指11との接触位置の検出は、6軸センサが検出した検出値を用いて、周知の接触位置検出アルゴリズムを用いて検出するようにしてもよい。
【0024】
アクチュエータ14は、駆動制御部15の制御を受けてロボットのエンドエフェクタ10の各関節を駆動する。アクチュエータ14は、例えば、電磁モータ、ギア、人工筋などを含む。
【0025】
駆動制御部15は、操作制御装置100によって生成された制御コマンドに基づいて、アクチュエータ14を制御する。
【0026】
通信インタフェース16は、力覚センサ12、触覚センサ13、他のセンサ17の其々のセンサデータを操作制御装置100に有線又は無線で送信する。また、通信インタフェース16は、操作制御装置100から様々な情報を受信する。例えば、通信インタフェース16は、受信機や送信機を含む無線通信モジュールや、NIC(Network Interface Card)などが含まれる。
【0027】
他のセンサ17は、例えば、カメラやモーションキャプチャセンサである。これらセンサは、例えば、ロボットのボディの一部(典型的には頭部)に設置される。カメラは、例えば、デプスカメラ(3Dカメラ)であってよい。例えば、カメラは、エンドエフェクタによってオブジェクトOBが把持されたり、又は操作されたりするシーンを撮像し、そのシーンを写した画像データを通信インタフェース16を介して操作制御装置100に送信する。
【0028】
操作制御装置100は、例えば、通信インターフェース110と、処理部120と、記憶部130とを備える。
【0029】
通信インターフェース110は、ネットワークNWを介して外部装置と通信したり、バスのような通信線を介してエンドエフェクタ10と通信したりする。通信インターフェース110には、例えば、受信機や送信機を含む無線通信モジュールや、NIC(Network Interface Card)などが含まれる。
【0030】
外部装置は、例えば、遠隔地からロボットを遠隔操作する操作者の手に装着されたグローブ型の入力デバイスである。グローブ型の入力デバイスは、例えば、エンドエフェクタ10同様に、指の先端に、6軸センサである力覚センサが取り付けられ、指の腹、手のひら等には、触覚センサが取り付けられている。更に、グローブ型の入力デバイスには、操作者の指の関節角度を検出する角度センサやロータリーエンコーダなどが取り付けられる。これらグローブ型の入力デバイスのセンサのセンサデータを利用することで、操作者の手の動きをエンドエフェクタ10に再現させる。
【0031】
処理部120は、例えば、取得部121と、1次判定部122と、2次判定部123と、コマンド生成部124と、通信制御部125とを備える。
【0032】
処理部120の構成要素は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などが記憶部130に格納されたプログラム又はインストラクションを実行することにより実現される。これらの構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0033】
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などにより実現される。記憶部130は、ファームウェアやアプリケーションプログラム、処理部120の演算結果などを格納する。
【0034】
取得部121は、通信インターフェース110を介して、エンドエフェクタ10から力覚センサ12、触覚センサ13、他のセンサ17の其々のセンサデータを取得する。更に、取得部121は、通信インターフェース110を介して、操作者の手に装着されたグローブ型の入力デバイスから、各センサのセンサデータを取得する。
【0035】
1次判定部122は、取得部121によって取得されたセンサデータに基づいて、エンドエフェクタ10の各指11の役割を判定する。
【0036】
図3は、実施形態に係るエンドエフェクタ10の各指11の役割の判定方法の概要を説明するための図である。図4から図6は、実施形態に係るエンドエフェクタ10の各指11の役割を説明するための図である。図3のように、第N回目(Nは任意の自然数)の遠隔操作時に、操作者の手に装着されたグローブ型の入力デバイスの各センサからセンサデータ(関節角度、各軸の力、力のモーメントの大きさ、などを含むセンサデータ)が取得され、更にエンドエフェクタ10の触覚センサ13からオブジェクトOBの接触の有無を示すセンサデータが取得される。
【0037】
1次判定部122は、操作者の手の関節角度、各軸の力、力のモーメントの大きさと、エンドエフェクタ10に対するオブジェクトOBの接触有無とに基づいて、エンドエフェクタ10の各指11の役割を判定する。
【0038】
役割には、例えば、「把持(grasp)」と「平衡操作(equilibrium manipulation)」と「非平衡操作(nonequilibrium manipulation)」と「自由指(free finger)」が含まれる。把持(grasp)は「第1の役割」の一例であり、平衡操作(equilibrium manipulation)は「第2の役割」の一例であり、非平衡操作(nonequilibrium manipulation)は「第3の役割」の一例であり、自由指(free finger)は「第4の役割」の一例である。
【0039】
把持(grasp)は、図4に示すように、エンドエフェクタ10に設けられた複数の指11のうち、判定対象の指11が、他の指11とともにオブジェクトOBを把持する役割である。
【0040】
平衡操作(equilibrium manipulation)は、図5に示すように、エンドエフェクタ10に設けられた複数の指11のうち、判定対象の指11が、他の指11との力のつり合いを維持しながらオブジェクトOBを操作する役割である。より具体的には、平衡操作(equilibrium manipulation)は、オブジェクトOBをつかんだまま、オブジェクトOBを回転運動させたり、並進運動させたりするような役割である。
【0041】
非平衡操作(nonequilibrium manipulation)は、図6に示すように、エンドエフェクタ10に設けられた複数の指11のうち、他の指11によって力のつり合いを維持しながら把持されたオブジェクトOBに判定対象の指11で力を加えてオブジェクトOBを操作する役割である。より具体的には、非平衡操作(nonequilibrium manipulation)は、オブジェクトOBをつかんだまま、判定対象の指11だけ離し、その離した指11でオブジェクトOBを回転運動させたり、並進運動させたりするような役割である。
【0042】
自由指(free finger)は、エンドエフェクタ10に設けられた複数の指11のうち、判定対象の指11をオブジェクトOBから離し、その離した指11ではオブジェクトOBに力を加えない役割である。
【0043】
2次判定部123は、1次判定部122によって判定されたエンドエフェクタ10の各指11の役割と、取得部121によって取得されたセンサデータとに基づいて、エンドエフェクタ10の各指11の役割を再判定する。
【0044】
コマンド生成部124は、2次判定部123によって判定されたエンドエフェクタ10の各指11の役割に基づいて、エンドエフェクタ10の各アクチュエータ14を制御するための制御コマンドを生成する。
【0045】
通信制御部125は、通信インターフェース110を介して、コマンド生成部124によって生成された制御コマンドをエンドエフェクタ10に送信する。エンドエフェクタ10の駆動制御部15は、操作制御装置100から制御コマンドを受信すると、その制御コマンドに基づいてアクチュエータ14を制御する。これによってエンドエフェクタ10が動作し、オブジェクトOBを把持したり操作したりするようなタスクが実行される。
【0046】
(操作制御装置の処理フロー)
以下、操作制御装置100の処理部120の各構成要素についてフローチャートを用いて説明する。図7は、実施形態に係る処理部120のトレーニングの処理の流れを表すフローチャートである。
【0047】
まず、取得部121は、通信インターフェース110を介して、エンドエフェクタ10から様々なセンサのセンサデータを取得するとともに、操作者の手に装着されたグローブ型の入力デバイスから、様々なセンサのセンサデータを取得する(ステップS100)。
【0048】
次に、1次判定部122は、1次モデルMDL1を用いて、グローブ型の入力デバイスから取得された力覚センサのセンサデータ(つまり操作者の指の関節角度)と、エンドエフェクタ10から触覚センサ13のセンサデータ(つまりエンドエフェクタ10に対するオブジェクトOBの接触有無)とから、エンドエフェクタ10の各指11の役割を判定する(ステップS102)。1次判定部122は、操作者の指の関節角度とエンドエフェクタ10に対するオブジェクトOBの接触有無に加えて、更に、他のセンサ17(カメラやモーションキャプチャセンサ)のセンサデータを用いて、エンドエフェクタ10の各指11の役割を判定してもよい。
【0049】
図8は、1次モデルMDL1を説明するための図である。1次モデルMDL1は、操作者の各指のセンサデータ(操作者の各指の関節角度)が入力されたことに応じて、エンドエフェクタ10の各指11の役割(「把持(grasp)」、「平衡操作(equilibrium manipulation)」、「非平衡操作(nonequilibrium manipulation)」、「自由指(free finger)」のいずれか)を出力する。
【0050】
例えば、1次モデルMDL1は、事前に学習された機械学習モデル、事前に確立された人間のロジック(ルールベースモデルともいう)、又はそれらの組み合わせであってよい。
【0051】
機械学習モデルは、例えば、ニューラルネットワークを用いて実装されてよい。また、機械学習モデルは、ニューラルネットワークに限られず、サポートベクターマシンや決定木、単純ベイズ分類器、ランダムフォレストといった他のモデルによって実装されてもよい。
【0052】
機械学習モデルがニューラルネットワークによって実装される場合、例えば、当該ニューラルネットワークを構成する入力層、一以上の隠れ層(中間層)、出力層の其々の層に含まれるユニットが互いにどのように結合されるのかという結合情報や、結合されたユニット間で入出力されるデータに付与される結合係数がいくつであるのかという重み情報などが含まれる。
【0053】
結合情報は、例えば、各層に含まれるユニット数や、各ユニットの結合先のユニットの種類を指定する情報、各ユニットを実現する活性化関数、隠れ層のユニット間に設けられたゲートなどの情報を含む。
【0054】
ユニットを実現する活性化関数は、例えば、ReLU(Rectified Linear Unit)関数やELU(Exponential Linear Units)関数、クリッピング関数、シグモイド関数、ステップ関数、ハイパポリックタンジェント関数、恒等関数などであってよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ユニット間で伝達されるデータを選択的に通過させたり、重み付けたりする。
【0055】
結合係数は、例えば、ニューラルネットワークの隠れ層において、ある層のユニットから、より深い層のユニットにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
【0056】
1次モデルMDL1が機械学習モデルである場合、その機械学習モデルは、操作者の各指のセンサデータ(操作者の各指の関節角度)に対して、エンドエフェクタ10の各指11の正解の役割がラベル付けられたトレーニングデータセットに基づいて学習される。
【0057】
一方で、1次モデルMDL1がロジック(ルールベースモデル)である場合、例えば、以下の条件を基に各指11の役割を判定してよい。
【0058】
(第1条件)
操作者の複数の指のうち、着目するある一つの指(以下、着目指という)の関節角度が第1閾値以上であり、かつエンドエフェクタ10にオブジェクトOBが接触していない場合、操作者の手の着目指に対応したエンドエフェクタ10の指11の役割を、自由指(free finger)であると判定する。着目指は「第1の指」の一例である。
【0059】
(第2条件)
操作者の複数の指のうち、着目指の関節角度が第1閾値未満であり、かつエンドエフェクタ10にオブジェクトOBが接触している場合、操作者の手の着目指に対応したエンドエフェクタ10の指11の役割を、把持(grasp)、平衡操作(equilibrium manipulation)、非平衡操作(nonequilibrium manipulation)のいずれかであると判定する。
【0060】
(第3条件)
第2条件下において、更に、着目指の関節角度が第2閾値未満である場合、操作者の手の着目指に対応したエンドエフェクタ10の指11の役割を、把持(grasp)であると判定する。
【0061】
(第4条件)
第2条件下において、更に、着目指の関節角度が第2閾値以上であり、かつ着目指と異なる操作者の他の指(例えば着目指の隣りの指)の関節角度と着目指の関節角度との相対変化(角度差)が第3閾値未満である場合、操作者の手の着目指に対応したエンドエフェクタ10の指11の役割を、平衡操作(equilibrium manipulation)であると判定する。着目指と異なる操作者の他の指(例えば着目指の隣りの指)は「第2の指」の一例である。
【0062】
(第5条件)
第2条件下において、更に、着目指の関節角度が第2閾値以上であり、かつ着目指と異なる操作者の他の指(例えば着目指の隣りの指)の関節角度と着目指の関節角度との相対変化(角度差)が第3閾値以上である場合、操作者の手の着目指に対応したエンドエフェクタ10の指11の役割を、非平衡操作(nonequilibrium manipulation)であると判定する。
【0063】
フローチャートの説明に戻る。次に、2次判定部123は、2次モデルMDL2を用いて、エンドエフェクタ10の各指11の役割と、エンドエフェクタ10及び/又はグローブ型の入力デバイスのセンサデータとから、エンドエフェクタ10の各指11の役割を再判定する(ステップS104)。
【0064】
図9は、2次モデルMDL2を説明するための図である。2次モデルMDL2は、操作者の各指のセンサデータ(操作者の各指の関節角度)や、エンドエフェクタ10の各指11の役割、その他のセンサデータ(カメラやモーションキャプチャセンサのセンサデータ)が入力されたことに応じて、エンドエフェクタ10の各指11の役割を出力する。
【0065】
例えば、2次モデルMDL2は、1次モデルMDL1同様に、事前に学習された機械学習モデル、事前に確立された人間のロジック(ルールベースモデルともいう)、又はそれらの組み合わせであってよい。
【0066】
2次モデルMDL2が機械学習モデルである場合、その機械学習モデルは、操作者の各指のセンサデータ(操作者の各指の関節角度)や、エンドエフェクタ10の各指11の役割、その他のセンサデータ(カメラやモーションキャプチャセンサのセンサデータ)に対して、エンドエフェクタ10の各指11の正解の役割がラベル付けられたトレーニングデータセットに基づいて学習される。
【0067】
このように、1次モデルMDL1及び2次モデルMDL2を用いて、エンドエフェクタ10の各指11の役割を繰り返し判定することで、例えば、センサノイズなどの理由で、1本の指だけが自由指(free finger)と判定され、残りの他の指は把持(grasp)と判定された場合、自由指(free finger)を把持(grasp)として変更することができる。
【0068】
フローチャートの説明に戻る。次に、コマンド生成部124は、2次判定部123によって判定されたエンドエフェクタ10の各指11の役割に基づいて、エンドエフェクタ10の各アクチュエータ14を制御するための制御コマンドを生成する(ステップS106)。
【0069】
次に、通信制御部125は、通信インターフェース110を介して、コマンド生成部124によって生成された制御コマンドをエンドエフェクタ10に送信する(ステップS108)。エンドエフェクタ10の駆動制御部15は、操作制御装置100から制御コマンドを受信すると、その制御コマンドに基づいてアクチュエータ14を制御する。これによってエンドエフェクタ10が動作し、オブジェクトOBを把持したり操作したりするようなタスクが実行される。これによって本フローチャートの処理が終了する。
【0070】
以上説明した実施形態によれば、操作制御装置100は、オブジェクトOBを把持又は操作することが可能であり、かつ複数の指11が設けられたエンドエフェクタ10を操作者がグローブ型入力デバイスを用いて遠隔操作する際に生成されるセンサデータを取得する。このセンサデータには、エンドエフェクタ10に設けられた様々なセンサのセンサデータと、操作者の手に装着されたグローブ型の入力デバイスに設けられた様々なセンサのセンサデータとが含まれる。
【0071】
操作制御装置100は、取得されたセンサデータに基づいて、エンドエフェクタ10の複数の指11の其々の役割を判定する。そして、操作制御装置100は、エンドエフェクタ10の複数の指11の其々の役割と、センサデータとに基づいて、エンドエフェクタ10の各アクチュエータ14を制御するための制御コマンドを生成する。このように生成された制御コマンドに基づいてエンドエフェクタ10を動作させることで、人間の手を使って達成できる非常に多様なタスク(例えばオブジェクトOBの回転運動や並進運動)をロボットのエンドエフェクタ10に再現させることができる。
【0072】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0073】
10…(ロボットの)エンドエフェクタ、11…指、12…力覚センサ、13…触覚センサ、14…アクチュエータ、15…駆動制御部、16…通信インタフェース、17…他のセンサ、100…操作制御装置、110…通信インターフェース、120…処理部、121…取得部、122…1次判定部、123…2次判定部、124…コマンド生成部、125…通信制御部、130…記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9