(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-11-27
(45)【発行日】2025-12-05
(54)【発明の名称】遠隔制御システム
(51)【国際特許分類】
B25J 13/06 20060101AFI20251128BHJP
【FI】
B25J13/06
(21)【出願番号】P 2022035677
(22)【出願日】2022-03-08
【審査請求日】2024-11-27
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】吉川 泰三
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2021-167060(JP,A)
【文献】特開平08-309680(JP,A)
【文献】特開2020-163511(JP,A)
【文献】特開2006-167867(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、
前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、
前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、
前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、
前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、
前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタの関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、
を備え、
前記操作者指長さ測定部は、
前記操作者の関節位置およびリンク長の幾何学構造をモデル化して、前記操作者の5指のうちの1つの第1リンクの長さを基準として、前記操作者の関節位置および前記指の各リンクの長を計測する、
遠隔制御システム。
【請求項2】
指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、
前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、
前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、
前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、
前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、
前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタの関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、
を備え、
前記エンドエフェクタ関節角度導出部は、
前記エンドエフェクタの指部の第2関節の指令値を、計測した前記操作者の前記各リンクの長さと、計算された前記操作者の指先の位置とに基づいて生成する、
遠隔制御システム。
【請求項3】
指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、
前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、
前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、
前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、
前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、
前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタの関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、
前記操作者の指先の中心点と、前記エンドエフェクタの指の中心点の位置の差を計測し、指先位置指令のオフセットとして、前記操作者モデルのローカル座標原点からみた各指の先端位置を修正する位置修正部
と、を備える、
遠隔制御システム。
【請求項4】
指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、
前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、
前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、
前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、
前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、
前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタの関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、
前記操作者の指先の目標点と、前記操作者の手のモデルの指先の位置の差を計測し、指先位置指令のオフセットとして前記操作者モデルのローカル座標原点からみた各指の先端位置を修正する位置修正部
と、を備える、
遠隔制御システム。
【請求項5】
指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、
前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、
前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、
前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、
前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、
前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタの関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、
前記操作者の指先の目標点と、前記エンドエフェクタの指の目標点の位置の差を計測し、指先位置指令のオフセットとして、前記操作者モデルのローカル座標原点からみた各指の先端位置を修正する位置修正部
と、を備える、
遠隔制御システム。
【請求項6】
指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、
前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、
前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、
前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、
前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、
前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタの関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、
前記エンドエフェクタの関節角度を導出するモードと、
前記エンドエフェクタを搭載したロボットのセンサ情報により前記操作者の手の姿勢を推定してロボットを動かすモードを指ごとに選択可能なモード選択部
と、を備える、
遠隔制御システム。
【請求項7】
前記モード選択部は、
タクソノミーに応じてモードを切り替え、または前記操作者の指先の速さに応じてモードを切り替える、
請求項
6に記載の遠隔制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔制御システムに関する。
【背景技術】
【0002】
多指ハンド制御において、従来、産業用ロボットのようなタスク実行型のロボットの場合、エンドエフェクタの操作する対象物の位置が固定されていることが多く、決められたタスクに応じた動作を各関節レベルで設計して実行するタイプが多かった(例えば特許文献1参照)。カメラ画像から対象物の位置を認識して手先の位置を状況に応じて修正するような動かし方や、環境が限定されないロボット、歩行型ロボットのような詳細なバランス制御が要求されるようなロボットの場合は、IK(Inverse Kinematics)により、原点位置から見たエンドエフェクタの位置に対して、その位置にエンドエフェクタを制御するために必要な各関節の角度を計算することが必要となる。
【0003】
また、人型ロボットのように環境との接触や人とのフィジカルなインターアクションを想定した場合は、各関節のトルク制御を行うことが望まれるが、この場合、エンドエフェクタの位置やエンドエフェクタに発生させる力の値をヤコビ行列を使ったIKにより、各関節のトルク指令値として計算する必要がある。
【0004】
IKやID(Inverse. Dynamics)によるロボットの制御を行う場合は、各関節の動作を直接的に設計する場合に比べて、演算の処理時間の負荷が大きくなることが問題となる。また、多関節型のロボットの場合は、演算の処理がさらに重くなるとともに、特異点の問題や冗長な自由度により姿勢が決定されないという問題も考えられる。人型ロボットや多指ハンドは、産業用ロボットと比べて関節の数が多いことから、実装の際に演算時間が一つの課題となる。人型ロボットの場合は、ベースは固定されていないが、ロボットの腰位置をグローバル座標系からみたロボットのローカル座標系の原点として考えられる。幾何学的には、腰の部分を原点として、頭、右腕、左腕、右足、左足の5つのブランチから構成される枝分かれ構造として計算することができる。
【0005】
また、多指ハンドの制御の場合は、人型ロボットと同様の枝分かれ構造として考えることができる。多指ハンドの制御の場合は、手首位置をローカル座標系の原点として、親指・人差し指・中指・薬指・小指の5指のブランチから構成され、各指の先端をエンドエフェクタとする幾何学構造として計算することができる。各指の先端位置の制御を行う場合は、例えば人差し指の空間での位置を制御する場合、Fingertip-3Y-2Y-1Y-1Zに加えてWrist(XYZ)+Elbow(Y)+Shoulder(XYZ)から構成される連即する幾何学構造としてIKを計算することは、演算処理的に無駄が多いと同時にIKの解が求まらないことが考えられる。この場合は、手首位置をアーム側で制御した上で、手首位置を多指ハンドのローカルな原点として、各指の位置からIKにより各指の関節角度をそれぞれ求めることが望ましい。
【0006】
また、従来の多指ハンドのダイレク遠隔操作では、例えばデータグローブによりオペレータの指の姿勢角度を推定し、検出された各関節の角度情報をロボットの各関節の角度指令値として指令する枠組みが構成されている(例えば特許文献2参照)。人の関節の位置と回転軸構成、各指のリンク長とロボットの構成が同じであれば、人の各関節角度情報をもとにロボットのハンドを動かしても指先の位置は人と変わらない。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2020-163511号公報
【文献】特開2006-167867号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、遠隔操作の場合は、実際のオペレータとロボットの指の構造は異なると同時に、使用するオペレータ毎の指のサイズも異なる。また、人の指の姿勢(関節角度)を検出する際に、VR(Virtual Reality)で使われるグローブ型のデバイスを使うことが多いが、20DOF(Degree of Freedom;自由度)程の人の関節の角度を正確に検出するようなデバイスは存在しない。このため、人が人差し指と親指で摘まむような指の姿勢をロボットに指令しても、姿勢が上手く検出されない、検出されてもロボットは同じように摘まむ姿勢にならない、という問題がある。このように従来技術では、ダイレクト遠隔操作において指先の詳細な遠隔操作が難しい。
【0009】
本発明は、上記の問題点に鑑みてなされたものであって、指先の詳細な遠隔操作ができると同時に、直感的な操作を可能とする遠隔制御システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
(1)上記目的を達成するため、本発明の一態様に係る遠隔制御システムは、指部を備えるエンドエフェクタを操作者が遠隔操作する制御システムであって、前記操作者と前記エンドエフェクタの座標原点を設定する座標原点設定部と、前記操作者の指の関節角度の情報を取得する操作者関節角度情報取得部と、前記操作者の指の各リンクの長さを計測する操作者指長さ測定部と、前記操作者の指先位置を、前記操作者関節角度情報取得部と前記操作者指長さ測定部で取得した情報から、操作者モデルのローカル座標原点からみた前記操作者の各指の先端位置を計算する操作者指先位置計算部と、前記操作者の指先位置と、前記エンドエフェクタのローカル座標原点から前記エンドエフェクタを構成する前記指部の関節角度をインバースキネマティクスにより導出するエンドエフェクタ関節角度導出部と、を備える。
【0011】
(2)また、本発明の一態様に係る遠隔制御システムにおいて、前記操作者指長さ測定部は、前記操作者の関節位置およびリンク長の幾何学構造をモデル化して、前記操作者の5指のうちの1つの第1リンクの長さを基準として、前記操作者の関節位置および前記指の各リンクの長を計測するようにしてもよい。
【0012】
(3)また、本発明の一態様に係る遠隔制御システムにおいて、前記エンドエフェクタ関節角度導出部は、前記エンドエフェクタの指部の第2関節の指令値を、計測した前記操作者の前記各リンクの長さと、計算された前記操作者の指先の位置とに基づいて生成するようにしてもよい。
【0013】
(4)また、本発明の一態様に係る遠隔制御システムにおいて、前記操作者の指先の中心点と、前記エンドエフェクタの指の中心点の位置の差を計測し、指先位置指令のオフセットとして、前記操作者モデルのローカル座標原点からみた各指の先端位置を修正する位置修正部、を備える、ようにしてもよい。
【0014】
(5)また、本発明の一態様に係る遠隔制御システムにおいて、前記操作者の指先の目標点と、前記操作者の手のモデルの指先の位置の差を計測し、指先位置指令のオフセットとして前記操作者モデルのローカル座標原点からみた各指の先端位置を修正する位置修正部、を備える、ようにしてもよい。
【0015】
(6)また、本発明の一態様に係る遠隔制御システムにおいて、前記操作者の指先の目標点と、前記エンドエフェクタの指の目標点の位置の差を計測し、指先位置指令のオフセットとして、前記操作者モデルのローカル座標原点からみた各指の先端位置を修正する位置修正部、を備える、ようにしてもよい。
なお、親指と人差し指の摘まみ動作の場合は、両指先位置の中心点を目標位置と設定しても良い。また、両エンドエフェクタの先位置の中心点を目標位置と設定してもよい。
【0016】
(7)また、本発明の一態様に係る遠隔制御システムにおいて、前記エンドエフェクタの関節角度を導出するモードと、前記エンドエフェクタを搭載したロボットのセンサ情報により前記操作者の手の姿勢を推定してロボットを動かすモードを指ごとに選択可能なモード選択部、を備える、ようにしてもよい。
【0017】
(8)また、本発明の一態様に係る遠隔制御システムにおいて、前記記モード選択部は、タクソノミーに応じてモードを切り替え、または前記操作者の指先の速さに応じてモードを切り替えるようにしてもよい。
【発明の効果】
【0018】
(1)~(8)によれば、指先の詳細な遠隔操作ができると同時に、直感的な操作を可能になる。
【図面の簡単な説明】
【0019】
【
図1】実施形態に係る第1処理における操作者の関節位置・リンク長の幾何学構造のモデル化を説明するための図である。
【
図2】実施形態に係る操作者毎に指のサイズを計測するシステム例を示す図である。
【
図3】実測した操作者の指のサイズの例を示す図である。
【
図4】実施形態に係る指先の位置の計算について説明するための図である。
【
図5】人ハンドモデル、ロボットハンドモデルおよび位置の一致例を説明する為の図である。
【
図6】実施形態に係るIKによりエンドエフェクタの関節角度の導出を説明するための図である。
【
図8】エンドエフェクタの指部の第2関節の指令値の利用を説明するための図である。
【
図9】摘まみ動作の実現を説明するための図である。
【
図10】人の姿勢とデータグローブを使った人モデルの姿勢とのキャリブレーションを説明するための図である。
【
図11】人の姿勢とデータグローブを使った人モデルの姿勢とのキャリブレーションを説明するための図である。
【
図12】シミュレーションによる検証結果の例を示す図である。
【
図13】実施形態に係るエンドエフェクタ制御装置の構成例を示す図である。
【
図14】実施形態に係るエンドエフェクタの構成例を示す図である。
【
図15】実施形態に係る指サイズ計測とモデル作成処理手順のフローチャートである。
【
図16】実施形態に係るキャリブレーション部が行う処理手順を示す図である。
【
図17】遠隔操作でエンドエフェクタにプルタブを摘まむ作業時を説明するための図である。
【
図18】実施形態に係るIK処理部が行う処理手順のフローチャートである。
【
図19】実施形態に係るIK処理ブロックで行う処理手順のフローチャートである。
【
図20】実施形態に係る親指に対応するIK処理手順のフローチャートである。
【
図22】人モデルの基準点と親指の根元位置、ロボット座標における基準点と親指の根元位置を示す図である。
【
図23】人モデルの基準点と親指の根元位置、ロボット座標における基準点と親指の根元位置の関係を説明するための図である。
【
図24】親指の根元位置を一致させた場合の指先までのリンクの推移例を示す図である。
【
図25】親指の根元位置を一致させた場合の指先までのリンクの推移例を示す図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0021】
<概要>
まず、実施形態の概要を説明する。
本実施形態では、人とロボットの指先位置を一致させると同時に、直感的な操作を可能とする。このために、本実施形態では、第1処理として、操作者毎に指のサイズを計測し幾何学的なモデルを構築し、データグローブのセンサ値を使いて指先の位置をFK(Forward Kinematics)で計算する。第1処理では、操作者の関節位置・リンク長の幾何学構造をモデル化し、次に各オペレータの関節位置・リンク長を計測するシステムを構築する。さらに、第2処理では、FKの指先位置をロボットへの指令値とし、例えばIK(Inverse Kinematics)によりエンドエフェクタ1の関節角度を導出する。
【0022】
<第1処理>
まず、第1処理について説明する。
図1は、本実施形態に係る第1処理における操作者の関節位置・リンク長の幾何学構造のモデル化を説明するための図である。画像g1、g2は、親指の動きのパターンを示す。画像g3は、軸構成を示す。モデルでは、画像g3のように、人差し指、中指、薬指、小指それぞれについては、第1関節をYZとし、第2関節と第3関節をYとする。また、例えば手首の関節を基準点Xとする。親指については、第1中手骨と手とのCM関節、第1中手骨と基節骨とのMP関節、基節骨と末節骨とのIP関節をYとする。また、親指については、対向可能な関節構造とする。
【0023】
図2は、本実施形態に係る操作者毎に指のサイズを計測するシステム例を示す図である。画像g11は、手と各指の関節に番号と名称を付与した例である。例では、基準点の番号を0とした。画像g13は、手と指のモデルであり、画像g12、g14は実測時の画像例である。実測では、操作者は、例えばカメラに向かって手をかざす。
【0024】
人の指のサイズは人ごとに異なるため、仮に遠隔操作を行う操作者が手に装着しているデータグローブで取得した各指の関節の角度で人の指先位置を計算しても、人によって位置が異なる。
これに対して、本実施形態では、操作者の指のサイズを計測するシステムが、撮影した画像をモデルに当てはめて、各部のサイズを計測する。本実施形態では、例えば、撮影された画像に対して画像処理と機械学習を行ったモデルとを用いて計測する。なお、計測において、基準長さは、後述するように例えば人差し指の第1リンクの長さである。なお、基準とする長さは、他の指の第1リンクであってもよい。また、計測は複数回行って、平均を求めてもよく、ノイズを除外してもよい。
図3は、実測した操作者の指のサイズの例を示す図である。
【0025】
<指先の位置の計算>
次に、指先の位置の計算について説明する。
図4は、本実施形態に係る指先の位置の計算について説明するための図である。本実施形態では、操作者の手のモデルを構築し(g21)、操作者が手にデータグローブを装着し、データグローブが備えるセンサが検出したセンサ値を用いて(g22)、操作者の指先の位置をFKによって算出する(g23)。そして、本実施形態では、操作者の手のモデル、指先の位置の指令を、エンドエフェクタ1に出力する(g24)。
【0026】
指先の位置の計算では、操作者のハンドモデルとロボットのハンドモデルの共通の部位を一致させることで、操作者のハンドモデルとロボットのモデルの指先の位置指令を一致させる。例えば、
図5の画像g27、g28ように、親指の付け根の部分を一致させてもよい。
図5は、人ハンドモデル、ロボットハンドモデルおよび位置の一致例を説明する為の図である。
【0027】
画像g25は、人ハンドモデルの例であり、ハンド座標原点からの指先位置を計算する例である。
画像g26は、ロボットハンドモデルの例であり、ロボットハンドモデル原点から、人ハンドモデルの指先位置を指示した場合を示している。
画像g27は、人ハンドモデルの例であり、親指根元からの指先位置を計算する例である。
画像g28は、ロボットハンドモデルの例であり、まず人ハンドモデルとロボットハンドモデルの親指根元位置を一致させ、次にロボットハンドモデルの親指根元から、人ハンドモデルの親指原点の指先位置を指示する例である。
なお、
図5において、Xh_ft[n]=Xh_ft[n]-Xh_tb+Xr_tb(n=0,1,2,3)である。
【0028】
<エンドエフェクタの関節角度の導出>
本実施形態では、FKの指先位置をロボットへの指令値とし、IKによりエンドエフェクタ1の関節角度を導出する。すなわち
図6のように、FKの指先の位置を、エンドエフェクタ1の指先の位置への指令値とする。
図6は、本実施形態に係るIKによりエンドエフェクタ1の関節角度の導出を説明するための図である。
本実施形態では、次式(1)~(3)のように疑似逆行列J
+を用いて関節角度を導出する。
【0029】
【0030】
【0031】
【0032】
なお、式(1)において、x・(≧δx)は現在の指先位置と次の指先位置指令の変化分であり、q・(≧δq)は次の指先位置指令位置に移動するための各関節角度の変化分であり、Jは各関節を少し動かした際に手先位置の変化分を変換する変換行列である。式(2)において、Iは単位行列であり、ξは重み(感度)である。式(3)において、nは関節(joint)の自由度であり、mはタスクの自由度である。
【0033】
<タクソノミーの利用>
また、本実施形態では、データグローブのセンサ値と操作者の手のモデルによる直感的な関節角度指示と、エンドエフェクタ1のIKによる位置指令を指ごとに選択可能とするために、以下のAとBを行う。なお、以下の切り替えは、後述する選択部212が行う。
【0034】
A.タクソノミー(参考文献1参照)に応じてモードを切り替える
図7は、タクソノミーの例を示す図である。本実施形態では、以下のタクソノミーI~VIIのようにIKにより関節角度を計算して指令するモードIKと、デバイスのセンサ情報で指令するモードDEVを用いる。なお、I~VIIにおいて、Tは親指(Thumb)、Iは人差し指(Index)、Mは中指(Middle)、Rは薬指(Ring)である。
I.Medium Wrap:T[IK]、I[DEV]、M[DEV]、R[DEV]
II.Power Disk:T[IK]、I[IK]、M[IK]、R[DEV]
III.Prizmatic3:T[DEV]、I[IK]、M[IK]、R[DEV]
IV.Prizmatic2:T[DEV]、I[IK]、M[DEV]、R[DEV]
V.Palmar Pinch:T[IK]、I[IK]、M[DEV]、R[DEV]
VI.Tripod:T[IK]、I[IK]、M[IK]、R[DEV]
VII.Ratchet wrench:T[IK]、I[DEV]、M[DEV]、R[DEV]
【0035】
参考文献1;Thomas Feix, Javier Romero,他,“The GRASP Taxonomy of Human Grasp Types” IEEE Transactions on Human-Machine Systems ( Volume: 46, Issue: 1, Feb. 2016),IEEE,p66-77
【0036】
B.指先の速さに応じてモードを切り替える
また、本実施形態では、以下の条件の際に、IKとDEVを用いる。
・If(指先の速さ>閾値):デバイスのセンサ情報で指令するモードDEV
・Else:IKにより関節角度を計算して指令するモードIK
【0037】
<エンドエフェクタの指部の第2関節の指令値の利用>
本実施形態では、
図8のように、エンドエフェクタ1のIKによる位置指令モードにおいて、エンドエフェクタ1の指部の第2関節の指令値を、「操作者毎に指のサイズを計測し幾何学的なモデルを構築、データグローブのセンサ値を使い指先の位置をFKで計算」によって求められる指令値を使うことで、直感的な操作を可能とする(g31~g34)。
図8は、エンドエフェクタの指部の第2関節の指令値の利用を説明するための図である。
【0038】
なお、本実施形態では、IKの収束演算において、第2関節の値をセンサから取得可能な値を拘束条件として与えることで直感的な操作性を向上させた。このように先に答えが与えられるので、本実施形態によれば、収束演算も早くなると考えられる。
【0039】
<摘まみ動作の実現>
また、本実施形態では、親指・人差し指・中指による摘まみ動作を可能とするために、以下のキャリブレーションを行う。
図9は、摘まみ動作の実現を説明するための図である。
A.実際の人の指姿勢と「操作者毎に指のサイズを計測し幾何学的なモデルを構築、データグローブのセンサ値を使い指先の位置をFKで計算した」モデル間の指先位置のオフセットのキャリブレーション(
図9の画像g41)
B.構築した幾何学的なモデルとエンドエフェクタ1の指先位置のオフセットのキャリブレーション(g42)
【0040】
<人の姿勢とデータグローブを使った人モデルの姿勢とのキャリブレーション>
次に、人の姿勢とデータグローブを使った人モデルの姿勢とのキャリブレーションについて説明する。
図10、
図11は、人の姿勢とデータグローブを使った人モデルの姿勢とのキャリブレーションを説明するための図である。
図10は。実際の作業者による摘まみ姿勢の例である。丸g51は、共通の目標位置である。ロボットの場合の共通の目標位置は、親指の根元を一致させた後の目標位置である。目標位置は共通だが、キャリブレーションは、まず人ハンドモデルについて行い、次にロボットハンドモデルを行う。すなわちキャリブレーションを別々に行う。これの処理により、オフセットそれぞれがキャンセルされる。
【0041】
図11を用いて、キャリブレーションについてさらに説明する。本実施形態では、データグローブを使った人モデルの姿勢とロボットモデルの姿勢のキャリブレーションを別々に行う。
画像g52のように、人モデルのオフセット除去では、センサ値のオフセットと、モデル調整を行う。処理は、人モデルにおいて、目標位置と親指のオフセット(a)と、目標位置と人差し指のオフセット(b)と、目標位置と中指のオフセット(c)を除去する。
画像g53のように、ロボットモデルのオフセット除去では、目標位置と親指のオフセット(d)と、目標位置と人差し指のオフセット(e)と、目標位置と中指のオフセット(f)を除去する。
【0042】
ここで、一般的なデータグローブの課題を検討する。遠隔操作等に用いられる一般的なデータグローブには、以下のような課題がある。
課題1.親指との対向姿勢が取れない
・つまみ動作が上手くできない(摘もうと人の指を無理に動かしても、指が干渉する場合がある)
・姿勢のキャリブレーションの問題
課題2.第3関節の姿勢が検出されていない
・第2関節に連動(データグローブで提供されているインターフェースのグラフ表示は第1関節と第2関節の表示しかない)
本実施形態では、課題1に対して摘み姿勢のオフセットキャリブレーションモードをローカルで行う。また、本実施形態では、課題2に対してエンドエフェクタ1の第3関節の連動アルゴリズムでデータグローブの第3関節の角度を定義する。
【0043】
本実施形態では、データグローブで推定される指先位置と、エンドエフェクタ1の指先位置を合わせるために、操作者の各指先位置からIKでエンドエフェクタ1の各指の関節角度を計算するようにした。
図12は、シミュレーションによる検証結果の例を示す図である。なお、シミュレーションは、各関節を動かしたとき、利用者の各指先位置から、IKでロボットの各指の関節角度を計算した。
図12において、画像g81、g83は、エンドエフェクタ1に対するタスクコマンドからIK、IKからFK、FKからエンドエフェクタ1のタスク後の位置である。画像g82、g84は、操作者の関節命令からFK、FKからエンドエフェクタ1に対するタスクコマンドである。
このようなシミュレーションと検証の結果は、誤差の許容範囲を5mmとし、同程度の誤差で動作を確認できた。
【0044】
<エンドエフェクタ制御装置の構成例>
次に、エンドエフェクタ制御装置2の構成例を説明する。
図13は、本実施形態に係るエンドエフェクタ制御装置の構成例を示す図である。
図13のように、エンドエフェクタ制御装置2は、撮影部201(操作者指長さ測定部)、指サイズ測定部202(操作者指長さ測定部)、データ作成部203(操作者指長さ測定部)、モデル作成部204、取得部205(操作者関節角度情報取得部)、感度・オフセット調整部206、キャリブレーション部207(位置修正部)、FK処理部208(操作者指先位置計算部)、IK処理部210(エンドエフェクタ関節角度導出部)、指示生成部211、原点設定部212(座標原点設定部)、および選択部213(モード選択部)を備える。
【0045】
エンドエフェクタ1は、多指、力センサ、位置センサ等を備える。なお、エンドエフェクタ1の構成例は後述する。
【0046】
データグローブ3は、エンドエフェクタ1を遠隔操作する際、操作者が手に装着する装置である。データグローブ3は、指の位置や動きを検出するセンサ31(操作者関節角度情報取得部)を備える。センサ31は、例えば6軸センサ等である。
【0047】
撮影部201は、例えばCCD(Charge Coupled Device)撮影装置、CMOS(Complementary MOS)撮影装置等である。
【0048】
指サイズ測定部202は、上述したように、撮影部201が撮影した画像に対して画像処理と学習済みのモデルを用いて、作業者の指のサイズを計測する。なお、撮影部201と指サイズ測定部202は、外部装置であってもよい。この場合は、外部装置が測定した指サイズをエンドエフェクタ制御装置2に出力するようにしてもよい。
【0049】
データ作成部203は、指サイズ測定部202が測定した指サイズを、エンドエフェクタ1と同じフォーマットのデータとして作成する。
【0050】
モデル作成部204は、データ作成部203が作成したデータを用いて、運動学的(kinematics)モデルを作成する。
【0051】
取得部205は、操作者が装着しているデータグローブ3からセンサ31が検出したセンサ値を取得する。取得部205は、センサ値に基づいて、操作時の操作者の指の関節角度の情報を取得する。なお、指サイズ測定部202が、操作時の操作者の指の関節角度の情報を取得するようにしてもよい。
【0052】
感度・オフセット調整部206は、取得部205が取得したセンサ値に対して、感度の調整とオフセットの調整を行う。
【0053】
キャリブレーション部207は、操作者の手のモデルの各指の指先位置の平均値を取得する。キャリブレーション部207は、エンドエフェクタ1の各指の指先位置の平均値を取得する。キャリブレーション部207は、実際の人の指姿勢とモデル間の指先位置のオフセットのキャリブレーションを行う。キャリブレーション部207は、モデルとエンドエフェクタ1の指先位置のオフセットのキャリブレーションを行う。
なお、キャリブレーション部207は、操作者の指先の目標点と、操作者の手のモデルの指先の位置の差を計測し、指先位置指令のオフセットとして操作者モデルのローカル座標原点からみた各指の先端位置を修正するようにしてもよい。また、キャリブレーション部207は、操作者の指先の目標点と、エンドエフェクタの指の目標点の位置の差を計測し、指先位置指令のオフセットとして、操作者モデルのローカル座標原点からみた各指の先端位置を修正する位ようにしてもよい。なお、親指と人差し指の摘まみ動作の場合は、両指先位置の中心点を目標位置と設定しても良い。また、両エンドエフェクタの先位置の中心点を目標位置と設定してもよい。
【0054】
FK処理部208は、モデル作成部204が作成したモデルを取得し、感度・オフセット調整部206が調整したデータをキャリブレーション部207がキャリブレーションした値を用いて、指先の位置をFKで算出する。なお、FK処理部208の出力は、操作者の手のモデルの指先位置での指令である。
【0055】
IK処理部210は、FK処理部208が算出した指先位置をロボットへの指令値とし、キャリブレーション部207がキャリブレーションしたデータを用いてIKでエンドエフェクタ1の関節角度を導出する。なお、IK処理部210の出力は、エンドエフェクタ1の各指部の角度指令である。
【0056】
指示生成部211は、エンドエフェクタ1の各指部の角度指令に基づいて、エンドエフェクタ1の制御指令を生成する。
【0057】
原点設定部212は、操作者とエンドエフェクタ1それぞれの座標原点(基準点)を設定する。原点設定部212は、例えば、データ作成部203が作成したデータと、既知のエンドエフェクタ1の寸法等に基づいて、操作者とエンドエフェクタ1それぞれの座標原点を設定する。
【0058】
選択部213は、後述するように、エンドエフェクタ1の関節角度を導出するモード(リターゲティング)と、エンドエフェクタ1を搭載したロボットのセンサ情報により操作者の手の姿勢を推定してエンドエフェクタを動かすモードを指ごとに選択する。
【0059】
なお、各部の処理手順等については、後述する。
【0060】
<エンドエフェクタの構成例>
図14は、本実施形態に係るエンドエフェクタの構成例を示す図である。なお、
図14のエンドエフェクタ1は、指部が4つの例であるはが、指部の数は2つ以上であればよい。
エンドエフェクタ1は、指部101、指部102、指部103、指部104、基体111を備える。エンドエフェクタ1は、アーム121に関節を介して接続されている。
【0061】
指部101は、例えば人間の親指に相当する。指部102は、例えば人間の人差し指に相当する。指部103は、例えば人間の中指または薬指に相当する。指部104は、例えば人間の薬指に相当する。各指部は、節、および関節を備える。基体111は、人間手の甲、手の平に相当する位置を含む。指部101~104は、基体111に接続されている。
【0062】
<指サイズ計測、モデル作成処理>
次に、撮影部201、指サイズ測定部202、データ作成部203、モデル作成部204が行う処理手順例を説明する。なお、これらの処理は、遠隔操作前に行う。
図15は、本実施形態に係る指サイズ計測とモデル作成処理手順のフローチャートである。
【0063】
(ステップS101)作業者は、遠隔操作を行う方の手の人差し指の第1リンクの実際の長さをエンドエフェクタ制御装置2に入力する。なお、エンドエフェクタ制御装置2は、不図示の入力装置(例えばキーボードまたはタッチパネルセンサ等)を備え、作業者からの入力を取得する。
【0064】
(ステップS102)エンドエフェクタ制御装置2は、学習済みのハンドの画像処理モデルを用いたモーションキャプチャーシステムを起動する。撮影部201は、作業者の手を含む画像を撮影する。
【0065】
(ステップS103)指サイズ測定部202は、関節位置情報の平均値を取得する。
【0066】
(ステップS104)指サイズ測定部202は、関節位置情報から各リンク長さを推定する。
【0067】
(ステップS105)データ作成部203は、入力された人差し指の第1リンク長さと、測定された計測値と、推定された各リンクの推定値とから、全てのリンク長さをスケーリングする。
【0068】
(ステップS106)データ作成部203は、入力された人差し指の第1リンク長さと、測定された計測値と、推定された各リンクの推定値とから、各指の根元の位置をスケーリングする。
【0069】
(ステップS107)データ作成部203は、例えばロボット定義ファイルで読み込み可能なフォーマットでデータを作成する。モデル作成部204は、測定されたデータに基づいて運動学的モデルを作成する。
【0070】
<キャリブレーション処理>
次に、キャリブレーション部207が行う処理手順例を説明する。
図16は、本実施形態に係るキャリブレーション部が行う処理手順を示す図である。なお、以下の処理は、作業者が摘まむ作業を行う例である。
【0071】
(ステップS201)データグローブ3のセンサ31は、作業者が摘まむ姿勢をした際のセンサ値を検出する。
【0072】
(ステップS202)キャリブレーション部207は、操作者の手のモデルの各指の指先位置の平均値X[i]を取得する。なお、キャリブレーション部207は、例えば、ステップS202~S205の処置と、ステップS206の処理を並列で行う。また、キャリブレーション部207は、例えば、ステップS202~S204の処置と、ステップS210の処理を並列で行う。
【0073】
(ステップS203)キャリブレーション部207は、操作者の手のモデルの各指の指先位置の平均値から中心点Cpを導出する。
【0074】
(ステップS204)キャリブレーション部207は、中心点Cpから各指の摘まみの位置を指定(Y[i]=Cp+offset)する。
【0075】
(ステップS205)キャリブレーション部207は、IKによって中心点Cpから各指の摘まみの位置qy[i]を算出する。
【0076】
(ステップS206)キャリブレーション部207は、IKによって各指の指先の位置の平均値qx[i]を算出する。
【0077】
(ステップS207)キャリブレーション部207は、中心点Cpから各指の摘まみの位置qy[i]から、各指の指先の位置の平均値qx[i]を減算する。
【0078】
(ステップS208)キャリブレーション部207は、中心点Cpから各指の摘まみの位置qy[i]から、各指の指先の位置の平均値qx[i]を減算されたデータを用いて、人モデル(操作者モデル)のオフセットのキャリブレーションデータを作成する。
【0079】
(ステップS209)キャリブレーション部207は、作成したデータを用いて人モデルのオフセットのキャリブレーションを行う。キャリブレーション部207は、処理後、処理を終了する。
【0080】
(ステップS210)キャリブレーション部207は、エンドエフェクタ1の各指の指先位置の平均値Z[i]を取得する。
【0081】
(ステップS211)キャリブレーション部207は、中心点Cpから各指の摘まみの位置から、エンドエフェクタ1の各指の指先位置の平均値Z[i]を減算する。なお、人モデル-エンドエフェクタのオフセットのキャリブレーションデータは、位置データに相当する。
【0082】
(ステップS212)キャリブレーション部207は、人モデル-エンドエフェクタのオフセットのキャリブレーションデータを作成する。
【0083】
(ステップS213)キャリブレーション部207は、作成したデータを用いて人モデル-エンドエフェクタのオフセットのキャリブレーションを行う。キャリブレーション部207は、処理後、処理を終了する。
【0084】
<IK処理部の処理手順>
次に、IK処理部210が行う処理手順例を、
図17~
図19を用いて説明する。
図17は、遠隔操作でエンドエフェクタにプルタブを摘まむ作業時を説明するための図である。画像g101は、エンドエフェクタ1がプルタブを摘まむ際の指部102の指先の位置g111と第2関節の位置g112とMP関節の位置g113を示す。画像g103は、データグローブで遠隔操作の指示の際の人差し指の第2関節の位置g122とMP関節の位置g123を示す。画像g102は、エンドエフェクタ1のセンサ値により位置、指令値による位置等の関係を示す。なお、上述したように、IK処理部210(操作者関節角度情報取得部)は、IK処理によって操作者の指の関節角度の情報を導入、すなわち取得する。
【0085】
なお、以下の処理は、作業者が摘まむ作業を行う例である。以下の処理例は、
図14に示したようにエンドエフェクタ1が4つの指部を備える場合の例である。
図18は、実施形態に係るIK処理部が行う処理手順のフローチャートである。
【0086】
(ステップS241)IK処理部210は、現在の指先位置を取得する。
【0087】
(ステップS242~S247)IK処理部210は、ステップS203~S207の収束演算を全ての指の目標位置と現在位置との誤差が閾値より小さくなるまで収束演算を繰り返す。なお、IK処理部210は、収束演算の回数が設定値に達した際に収束演算を終了し、次の指令値に対する収束演算を開始する。
【0088】
(ステップS243)IK処理部210は、親指に対応するIK処理ブロックの処理を行う。
【0089】
(ステップS244)IK処理部210は、人差し指に対応するIK処理ブロックの処理を行う。
【0090】
(ステップS245)IK処理部210は、中指に対応するIK処理ブロックの処理を行う。
【0091】
(ステップS246)IK処理部210は、薬指に対応するIK処理ブロックの処理を行う。
【0092】
(ステップS247)IK処理部210は、FK処理を行う。
【0093】
次に、IK処理ブロックで行う処理の例として、親指に対応するIK処理ブロック(
図18のS243)の処理を説明する。
図19は、本実施形態に係るIK処理ブロックで行う処理手順のフローチャートである。
【0094】
(ステップS221)IK処理部210は、親指のIKモードがオン状態であり、かつ誤差Xがしきい値より大きいか否かを判別する。IK処理部210は、親指のIKモードがオン状態であり、かつ誤差Xがしきい値より大きい場合(ステップS221;YES)、ステップS222の処理に進める。IK処理部210は、親指のIKモードがオフ状態、または傘Xがしきい値以下である場合(ステップS221;NO)、親指のIK処理をスキップして処理を終了する。このように、本実施形態では、目標位置との誤差が閾値より小さい指のIKの計算がスキップされる。
【0095】
(ステップS222)IK処理部210は、親指に対応するIK処理を行う。
【0096】
(ステップS223)IK処理部210は、しきい値が誤差Xより大きくなく、親指のIKモードがオフ状態ではない場合に、親指のIKモードをオン状態にする。
【0097】
次に、
図19のS222の親指に対応するIK処理を説明する。
図20は、本実施形態に係る親指に対応するIK処理手順のフローチャートである。
【0098】
(ステップS231)IK処理部210は、親指の指先位置を取得する。
【0099】
(ステップS232~S234)IK処理部210は、ステップS232~S234の処理を繰り返す。
【0100】
(ステップS232)IK処理部210は、式(2)、式(3)の疑似逆行列演算を行う。
【0101】
(ステップS233)IK処理部210は、2Yジョイントの値をエンドエフェクタ1のセンサ値を使った人モデルの関節角度で上書きする。
【0102】
(ステップS234)IK処理部210は、FK処理を行う。
【0103】
(ステップS235)IK処理部210は、エンドエフェクタ1に対する関節角度指令を生成する。
【0104】
<FK処理>
次に、FK処理部208が行う処理例を説明する。
図21は、FK処理における座標系を示す図である。画像g201は、x軸方向、z軸方向、基準点の角度θ
r0z(=可変)、機械的オフセットを示す。画像g202は、各関節の回転方向、リンク間の角度(θ
r1z、θ
r1z、θ
r1x(=可変)、θ
r2Y、θ
r3Y)を示す。
【0105】
同時回転行列は、x軸周りに角度θ回転が次式(4)であり、y軸周りに角度θ回転が次式(5)であり、z軸周りに角度θ回転が次式(6)であり、x軸周りにd並進移動が次式(7)であり、y軸周りにd並進移動が次式(8)であり、z軸周りにd並進移動が次式(9)である。
【0106】
【0107】
【0108】
【0109】
【0110】
【0111】
【0112】
FK処理で用いる変換行列の例として、親指を例に説明する。
回転行列Tbaseは次式(10)であり、回転行列(Tbase)1Zは次式(11)であり、回転行列(T1Z)1Yは次式(12)であり、行列(T1Y)1Xは次式(13)であり、回転行列(T1X)2Yは次式(14)であり、回転行列(T2Y)3Yは次式(15)であり、回転行列(T3Y)Fingertipは次式(16)である。
【0113】
【0114】
【0115】
【0116】
【0117】
【0118】
【0119】
【0120】
上記の式(10)~(16)の回転行列を用いて、基準点から各指先の式は、次式(17)のように表すことができる。
【0121】
【0122】
<人モデルの座標原点とエンドエフェクタの座標原点>
ここで、
図22~
図25のように人モデルの座標原点と、ロボットの座標原点は一致しない。
【0123】
図22は、人モデルの基準点と親指の根元位置、ロボット座標における基準点と親指の根元位置を示す図である。
画像g300は、人モデルのハンド座標系の基準点(原点)g301と、人モデルのハンド座標系の基準点からみた親指の根元位置の根元位置(Xh_tb)g302と、人モデルのハンド座標系の基準点からみた各指の指先位置(Xh_ft)g303を示している。
画像g310は、エンドエフェクタ1のロボット座標系の基準点(原点)g311と、エンドエフェクタ1のロボット座標系の基準点からみた親指の根元位置の根元位置(Xr_tb)g312と、エンドエフェクタ1のハンド座標系の基準点からみた各指部の指先位置(Xr_ft)g313を示している。
【0124】
人モデルの座標原点からみた人モデルの指先位置を、エンドエフェクタ1に指示した場合、エンドエフェクタ1の指部の姿勢は、人と大きく異なる場合がある。
例えば、操作者が自然な摘まみ動作をした場合、エンドエフェクタ1の摘まみ位置が手のひらに近すぎたり、遠すぎたりして姿勢が取れない。
例えば、
図23の画像g320ように、同じ指先位置を指令すると、座標系の基準点が一致しない。また、
図23の画像g330ように、同じ指先位置を指令し、座標系の基準点を一致させると指の根元の位置がずれ、姿勢が取れない場合がある。
図23は、人モデルの基準点と親指の根元位置、ロボット座標における基準点と親指の根元位置の関係を説明するための図である。
【0125】
指先で作業を行うという観点で考えると、人とエンドエフェクタ1の指の付け根を一致させた方が、作業性が良く、姿勢に無理がない。
すなわち、人が細かい作業を行う際に、親指と人差し指の動きと姿勢が支配的であると考えると、人とロボットの親指もしくは人差し指の付け根を一致させる方が効果的である。
また、一般的に、人差し指の先端は大きく親指の根元側に曲がることができ、親指は人差し指ほど前方に動かすことができない。
【0126】
このため、本実施形態では、人モデルとエンドエフェクタ1の親指の根元位置を一致させることにした。本実施形態では、例えば、
図23の画像g340ように、親指の根元を一致するように指令値を修正することで、同じような姿勢となり、直感的な操作を可能にできる。
【0127】
なお、エンドエフェクタ1のハンド座標系の基準点からみた各指部の指先位置(Xr_ft)は、次式(18)のように求めることができる。
【0128】
【0129】
図24、
図25は、親指の根元位置を一致させた場合の指先までのリンクの推移例を示す図である。
図24、
図25において、時系列順は、画像g350、g360、g370、g380の順である。
なお、
図24、
図25に示した遷移図は一例であり、これに限らない。
【0130】
以上のように、本実施形態では、以下の処理を行うようにした。
・操作者の指のサイズを計測するシステムを構築して、操作者毎に指のキネマティクスモデルを構築する。
・IKによるリターゲッティングのアルゴリズムの構築し、タスクスペースで人の指先の位置指令からロボットの指先の位置へと変換するアルゴリズムを構築する。
・ロボットと人のモデルの差により生じる指先位置の誤差を、キャリブレーションを行うアルゴリズムにより修正する。
・操作者による直感的なロボット多指ハンドの操作を行うこととIKの演算負荷を低減するために、指ごとにIKによる関節角度指令モードとデバイスによる関節角度指令モードをタクソノミーをベースに選択可能とする。
・操作者による直感的なロボット多指ハンドの操作を行うこととIKの演算負荷を低減するために、各関節のIKの収束演算結果の第2関節の角度指令値をデバイスにより検出されるダイレクトな角度情報で上書きする。
【0131】
これにより、本実施形態によれば、以下のような効果を得ることができる。
・操作者の指のサイズを計測するシステムの構築することで、操作者毎の詳細な指のキネマティクスモデルを構築することが可能となった。
・IKによるリターゲッティングのアルゴリズムの構築し、タスクスペースで人の指先の位置指令からロボットの指先の位置へと変換するアルゴリズムの構築を行い、人とロボット間で機構とサイズが異なっても、正確に各指先位置を指示することが可能となった。
・ロボットと人のモデルの差により生じる指先位置の誤差が生じていても、操作者の摘まみ姿勢でキャリブレーションを行うことで、ロボットの摘まみ姿勢指令時における位置のズレをリセットすることが可能となった。
・指ごとにIKによる関節角度指令モードとデバイスによる関節角度指令モードをタクソノミーをベースに選択可能とすることで、操作者による直感的なロボット多指ハンドの操作を行うことが可能となった。
・指ごとにIKによる関節角度指令モードとデバイスによる関節角度指令モードをタクソノミーをベースに選択可能とすることで、IKの演算負荷を低減することが可能となった。
・各関節のIKの収束演算結果の第2関節の角度指令値を、デバイスにより検出されるダイレクトな角度情報で上書きすることで、IKの収束演算の高速化の効果が得られた。
・第2関節の動き、スピード、加減速が直感的な指の動きの効果に支配的であると定義を行い、各関節のIKの収束演算結果の第2関節の角度指令値を、デバイスにより検出されるダイレクトな角度情報で上書きすることで、操作者の直感的な多指ハンドの関節角度指示を行うことが可能となった。
【0132】
なお、本発明におけるエンドエフェクタ制御装置2の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりエンドエフェクタ制御装置2が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0133】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0134】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0135】
1…エンドエフェクタ、2…エンドエフェクタ制御装置、201…撮影部、202…指サイズ測定部、203…データ作成部、204…モデル作成部、205…取得部、206…感度・オフセット調整部、207…キャリブレーション部、208…FK処理部、210…IK処理部、211…指示生成部、212…原点設定部、213…選択部、3…データグローブ、31…センサ