(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-03
(45)【発行日】2022-02-14
(54)【発明の名称】位置・力制御装置
(51)【国際特許分類】
G05D 3/12 20060101AFI20220204BHJP
B25J 13/08 20060101ALI20220204BHJP
【FI】
G05D3/12 305Z
B25J13/08 Z
(21)【出願番号】P 2017239964
(22)【出願日】2017-12-14
【審査請求日】2020-12-03
(73)【特許権者】
【識別番号】899000079
【氏名又は名称】学校法人慶應義塾
(73)【特許権者】
【識別番号】516331889
【氏名又は名称】モーションリブ株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(72)【発明者】
【氏名】大西 公平
(72)【発明者】
【氏名】野崎 貴裕
(72)【発明者】
【氏名】溝口 貴弘
(72)【発明者】
【氏名】飯田 亘
【審査官】影山 直洋
(56)【参考文献】
【文献】国際公開第2015/041046(WO,A1)
【文献】特開2008-119757(JP,A)
【文献】特開平10-202558(JP,A)
【文献】特開平5-253876(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 3/12
B25J 13/08
(57)【特許請求の範囲】
【請求項1】
アクチュエータの作用に基づく位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
行為記録時に行為情報に加えて、行為の時間間隔またはタイムスタンプを保持する行為時間情報保持手段と、
記録した行為情報から、行為再実行時に制御基準となる情報を生成する制御基準情報生成手段と、
記録した行為時間情報から、行為再実行時に制御基準情報を出力するタイミングを決定する制御タイミング決定手段と、
生成した制御基準情報と、決定した制御タイミングに基づき、行為を再実行する位置・力制御手段と、
を備え、行為記録時と同一の時間間隔で行為再実行を可能とすることを特徴とする位置・力制御装置。
【請求項2】
アクチュエータの作用に基づく位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
行為コンテンツから、制御目標値または制御ゲインの少なくともいずれかを含む制御基準となる情報を抽出する行為コンテンツ解釈手段と、
アクチュエータの位置情報を検出する位置検出手段と、
行為再実行における環境情報を認識する環境認識手段と、
アクチュエータの位置情報と、位置情報に対応する速度及び力の情報と、時間情報と、環境情報とのうち、1つまたは複数の情報に基づき、制御基準となる情報を補正する行為補正手段と、
補正した制御基準となる情報に基づき、行為を再実行する位置・力制御手段と、
を備え、環境変化に適応して行為再実行を可能とすることを特徴とする位置・力制御装置。
【請求項3】
アクチュエータの作用に基づく位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
アクチュエータの位置及び速度及び力の情報と、時間情報と、環境情報と、仮想的な環境情報とのうち、1つまたは複数の情報に基づき、制御基準となる情報を生成するためのルールを保持して行為コンテンツを表現する制御基準表現手段と、
アクチュエータの位置及び速度及び力の情報と、時間情報と、環境情報と、仮想的な環境情報とのうち、1つまたは複数の情報に基づき、イベントを発生させるためのルールを保持して行為コンテンツを表現するイベント表現手段と、
前記イベントに基づき、1つまたは複数のアクチュエータの行為を切り替えるためのルールを保持して行為コンテンツの切り替えを表現する行為切替表現方法と、
を備え、柔軟かつ容易に行為コンテンツを表現可能としたことを特徴とする位置・力制御装置。
【請求項4】
アクチュエータの作用に基づく位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
予め決められた制御基準情報、あるいはリアルタイム遠隔操作で抽出される情報から、制御基準情報を生成する制御基準情報生成手段と、
アクチュエータの位置情報を検出する位置検出手段と、
アクチュエータの位置情報と、位置情報に対応する速度及び力の情報と、生成した制御基準情報と、に基づき運動制御を行う位置・力制御手段と、
アクチュエータの位置情報と、位置情報に対応する速度及び加速度及び力の情報と、に基づき接触対象の剛性・粘性・慣性のうち少なくとも1つを推定する物体特性推定手段と、
を備え、ロボット自身が接触対象の剛性・粘性・慣性のうち少なくとも1つを推定することを特徴とする位置・力制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御対象における位置及び力を制御する位置・力制御装置に関する。
【背景技術】
【0002】
従来、少子高齢化等を背景に、人手と手間のかかる作業をロボットにより代替することが強く求められている。
ところが、従来のロボットの動作は、環境適応性や柔軟性に欠けており、人間の身体的行為を適切に実現するには至っていない。
ここで、マスタ・スレーブシステムにより取得した時系列な位置情報及び力情報を用いてアクチュエータの運動を人工再現する取り組みも行われているが、再現時における機械的インピーダンスが常に一定であり、依然として環境の位置・大きさ・機械的インピーダンスといった環境変動への適応性に欠けている。
なお、マスタ・スレーブシステムによって遠隔制御を行うロボットに関する技術は、例えば特許文献1及び特許文献2に記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開2005/109139号公報
【文献】特開2009-279699号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
人手と手間のかかる作業をロボットにより代替実現するためには、高精度な力制御による高度な環境適応性と、多自由度システムによる人間座標系上の行為抽出が極めて重要であるところ、従来の技術においては、これを実現するに至っていない。
即ち、従来の技術においては、ロボットによって人間の身体的行為を適切に実現する上で、改善の余地がある。
本発明の課題は、ロボットによって人間の身体的行為をより適切に実現するための技術を提供することである。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明の一態様に係る位置・力制御装置は、
アクチュエータの作用に基づく位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
行為記録時に行為情報に加えて、行為の時間間隔またはタイムスタンプを保持する行為時間情報保持手段と、
記録した行為情報から、行為再実行時に制御基準となる情報を生成する制御基準情報生成手段と、
記録した行為時間情報から、行為再実行時に制御基準情報を出力するタイミングを決定する制御タイミング決定手段と、
生成した制御基準情報と、決定した制御タイミングに基づき、行為を再実行する位置・力制御手段と、
を備え、行為記録時と同一の時間間隔で行為再実行を可能とすることを特徴とする。
【発明の効果】
【0006】
本発明によれば、ロボットによって人間の身体的行為をより適切に実現するための技術を提供することができる。
【図面の簡単な説明】
【0007】
【
図1】本発明に係る基本的原理の概念を示す模式図である。
【
図2】機能別力・速度割当変換ブロックFTにおいて力・触覚伝達機能が定義された場合の制御の概念を示す模式図である。
【
図3】力・触覚伝達機能が適用されるマスタ装置及びスレーブ装置を含むマスタ・スレーブシステムの概念を示す模式図である。
【
図4】機能別力・速度割当変換ブロックFTにおいてピック&プレイス機能が定義された場合の制御の概念を示す模式図である。
【
図5】ピック&プレイス機能が適用される第1のアーム及び第2のアームを含むロボットアームシステムの概念を示す模式図である。
【
図6】機能別力・速度割当変換ブロックFTにおいてねじ回しの学習及び再現の機能が定義された場合の制御の概念を示す模式図である。
【
図7】ねじ回しの学習及び再現機能が適用されるロボットを示す模式図である。
【
図8】本発明に係る位置・力制御装置1の基本的構成を示す模式図である。
【
図9】アクチュエータによって棒状部材を揺動させる位置・力制御装置1の構成を示す模式図である。
【
図10】
図9の構成を有する位置・力制御装置1A,1Bを組み合わせて、箸型の把持装置とした位置・力制御装置2の構成を示す模式図(上面図)である。
【
図11】
図10の構成を有する位置・力制御装置2A,2Bを組み合わせて、マスタ・スレーブ型の把持装置とした構成を示す模式図である。
【
図12】人間の身体的行為を記録する場合のデータ形式の一例を示す模式図である。
【
図13】人間の身体的行為を記録する場合のデータ形式の他の例を示す模式図である。
【
図14】記録時間間隔に関する情報が記録されない場合に、記録された行為を再実行した結果の一例を示す模式図である。
【
図15】記録時間間隔に関する情報が記録された場合に、記録された行為を再実行した結果の一例を示す模式図である。
【
図16】環境認識手段としてのカメラを備えた位置・力制御装置3の構成を示す模式図である。
【
図17】待機行為のコンテンツ(ルールの組み合わせ)を表すフローチャートである。
【
図18】把持行為のコンテンツ(ルールの組み合わせ)を表すフローチャートである。
【
図19】固体を押し込む場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
【
図20】固体を移動させる場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
【
図21】固体を切削する場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
【
図22】液体を塗布する場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について、図面を参照して説明する。
初めに、本発明に係る位置・力制御装置、位置・力制御方法及びプログラムに適用される基本的原理について説明する。
【0009】
なお、人間の身体的行為は、1つの関節等の個別の「機能」が単独で、あるいは組み合わされて構成されるものである。
したがって、以下、本実施形態において、「行為」とは、人間の身体における部位の個別の「機能」を構成要素として実現される統合的な機能を表すものとする。例えば、中指の曲げ伸ばしを伴う行為(ねじを回す行為等)は、中指の各関節の機能を構成要素とする統合的な機能である。
【0010】
(基本的原理)
本発明における基本的原理は、どのような行為も力源と速度(位置)源および行為を表す変換の三要素で数理的に表現できることから、変換及び逆変換により定義される変数群に対し、双対関係にある理想力源および理想速度(位置)源より制御エネルギーを制御対象のシステムに供給することで、抽出した身体的行為を構造化し、再構築あるいは拡張増幅し身体的行為を可逆的に自動実現(再現)する、というものである。
【0011】
図1は、本発明に係る基本的原理の概念を示す模式図である。
図1に示す基本的原理は、人間の身体的行為を実現するために利用可能なアクチュエータの制御則を表しており、アクチュエータの現在位置を入力として、位置(または速度)あるいは力の少なくとも一方の領域における演算を行うことにより、アクチュエータの動作を決定するものである。
即ち、本発明の基本的原理は、制御対象システムSと、機能別力・速度割当変換ブロックFTと、理想力源ブロックFCあるいは理想速度(位置)源ブロックPCの少なくとも1つと、逆変換ブロックIFTとを含む制御則として表される。
【0012】
制御対象システムSは、アクチュエータによって作動するロボットであり、加速度等に基づいてアクチュエータの制御を行う。ここで、制御対象システムSは、人間の身体における1つまたは複数の部位の機能を実現するものであるが、その機能を実現するための制御則が適用されていれば、具体的な構成は必ずしも人間の身体を模した形態でなくてもよい。例えば、制御対象システムSは、アクチュエータによってリンクに一次元のスライド動作を行わせるロボットとすることができる。
【0013】
機能別力・速度割当変換ブロックFTは、制御対象システムSの機能に応じて設定される速度(位置)及び力の領域への制御エネルギーの変換を定義するブロックである。具体的には、機能別力・速度割当変換ブロックFTでは、制御対象システムSの機能の基準となる値(基準値)と、アクチュエータの現在位置とを入力とする座標変換が定義されている。この座標変換は、一般に、基準値及び現在速度(位置)を要素とする入力ベクトルを速度(位置)の制御目標値を算出するための速度(位置)からなる出力ベクトルに変換すると共に、基準値及び現在の力を要素とする入力ベクトルを力の制御目標値を算出するための力からなる出力ベクトルに変換するものである。具体的には、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(1)及び(2)のように一般化して表される。
【0014】
【0015】
ただし、式(1)において、x’1~x’n(nは1以上の整数)は速度の状態値を導出するための速度ベクトルであり、x’a~x’m(mは1以上の整数)は、基準値及びアクチュエータの作用に基づく速度(アクチュエータの移動子の速度またはアクチュエータが移動させる対象物の速度)を要素とするベクトル、h1a~hnmは機能を表す変換行列の要素である。また、式(2)において、f’’1~f’’n(nは1以上の整数)は力の状態値を導出するための力ベクトルであり、f’’a~f’’m(mは1以上の整数)は、基準値及びアクチュエータの作用に基づく力(アクチュエータの移動子の力またはアクチュエータが移動させる対象物の力)を要素とするベクトルである。
機能別力・速度割当変換ブロックFTにおける座標変換を、実現する機能に応じて設定することにより、各種行為を実現したり、スケーリングを伴う行為の再現を行ったりすることができる。
即ち、本発明の基本的原理では、機能別力・速度割当変換ブロックFTにおいて、アクチュエータ単体の変数(実空間上の変数)を、実現する機能を表現するシステム全体の変数群(仮想空間上の変数)に“変換”し、速度(位置)の制御エネルギーと力の制御エネルギーとに制御エネルギーを割り当てる。そのため、アクチュエータ単体の変数(実空間上の変数)のまま制御を行う場合と比較して、速度(位置)の制御エネルギーと力の制御エネルギーとを独立に与えることが可能となっている。
【0016】
理想力源ブロックFCは、機能別力・速度割当変換ブロックFTによって定義された座標変換に従って、力の領域における演算を行うブロックである。理想力源ブロックFCにおいては、機能別力・速度割当変換ブロックFTによって定義された座標変換に基づく演算を行う際の力に関する目標値が設定されている。この目標値は、実現される機能に応じて固定値または可変値として設定される。例えば、基準値が示す機能と同様の機能を実現する場合には、目標値としてゼロを設定したり、スケーリングを行う場合には、再現する機能を示す情報を拡大・縮小した値を設定したりできる。
【0017】
理想速度(位置)源ブロックPCは、機能別力・速度割当変換ブロックFTによって定義された座標変換に従って、速度(位置)の領域における演算を行うブロックである。理想速度(位置)源ブロックPCにおいては、機能別力・速度割当変換ブロックFTによって定義された座標変換に基づく演算を行う際の速度(位置)に関する目標値が設定されている。この目標値は、実現される機能に応じて固定値または可変値として設定される。例えば、基準値が示す機能と同様の機能を実現する場合には、目標値としてゼロを設定したり、スケーリングを行う場合には、再現する機能を示す情報を拡大・縮小した値を設定したりできる。
【0018】
逆変換ブロックIFTは、速度(位置)及び力の領域の値を制御対象システムSへの入力の領域の値(例えば電圧値または電流値等)に変換するブロックである。
このような基本的原理により、制御対象システムSのアクチュエータにおける位置の情報が機能別力・速度割当変換ブロックFTに入力されると、位置の情報に基づいて得られる速度(位置)及び力の情報を用いて、機能別力・速度割当変換ブロックFTにおいて、機能に応じた位置及び力の領域それぞれの制御則が適用される。そして、理想力源ブロックFCにおいて、機能に応じた力の演算が行われ、理想速度(位置)源ブロックPCにおいて、機能に応じた速度(位置)の演算が行われ、力及び速度(位置)それぞれに制御エネルギーが分配される。
【0019】
理想力源ブロックFC及び理想速度(位置)源ブロックPCにおける演算結果は、制御対象システムSの制御目標を示す情報となり、これらの演算結果が逆変換ブロックIFTにおいてアクチュエータの入力値とされて、制御対象システムSに入力される。
その結果、制御対象システムSのアクチュエータは、機能別力・速度割当変換ブロックFTによって定義された機能に従う動作を実行し、目的とするロボットの動作が実現される。
即ち、本発明においては、ロボットによって人間の身体的行為をより適切に実現することが可能となる。
【0020】
(定義される機能例)
次に、機能別力・速度割当変換ブロックFTによって定義される機能の具体例について説明する。
機能別力・速度割当変換ブロックFTでは、入力されたアクチュエータの現在位置に基づいて得られる速度(位置)及び力を対象とした座標変換(実現する機能に対応した実空間から仮想空間への変換)が定義されている。
機能別力・速度割当変換ブロックFTでは、このような現在位置から速度(位置)及び力と、機能の基準値としての速度(位置)及び力とを入力として、速度(位置)及び力それぞれについての制御則が加速度次元において適用される。
即ち、アクチュエータにおける力は質量と加速度との積で表され、アクチュエータにおける速度(位置)は加速度の積分によって表される。そのため、加速度の領域を介して、速度(位置)及び力を制御することで、アクチュエータの現在位置を取得して、目的とする機能を実現することができる。
【0021】
以下、各種機能の具体的な例を説明する。
(力・触覚伝達機能)
図2は、機能別力・速度割当変換ブロックFTにおいて力・触覚伝達機能が定義された場合の制御の概念を示す模式図である。また、
図3は、力・触覚伝達機能が適用されるマスタ装置及びスレーブ装置を含むマスタ・スレーブシステムの概念を示す模式図である。
図2に示すように、機能別力・速度割当変換ブロックFTによって定義される機能として、マスタ装置の動作をスレーブ装置に伝達すると共に、スレーブ装置に対する物体からの反力の入力をマスタ装置にフィードバックする機能(バイラテラル制御機能)を実現することができる。
この場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(3)及び(4)として表される。
【0022】
【0023】
ただし、式(3)において、x’pは速度(位置)の状態値を導出するための速度、x’fは力の状態値に関する速度である。また、x’mは基準値(マスタ装置からの入力)の速度(マスタ装置の現在位置の微分値)、x’sはスレーブ装置の現在の速度(現在位置の微分値)である。また、式(4)において、fpは速度(位置)の状態値に関する力、ffは力の状態値を導出するための力である。また、fmは基準値(マスタ装置からの入力)の力、fsはスレーブ装置の現在の力である。
【0024】
(ピック&プレイス機能)
図4は、機能別力・速度割当変換ブロックFTにおいてピック&プレイス機能が定義された場合の制御の概念を示す模式図である。また、
図5は、ピック&プレイス機能が適用される第1のアーム及び第2のアームを含むロボットアームシステムの概念を示す模式図である。
【0025】
図4に示すように、機能別力・速度割当変換ブロックFTによって定義される機能として、ワーク等の物体を掴み(ピック)、目的位置まで搬送して離す(プレイス)機能(ピック&プレイス機能)を実現することができる。
この場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(5)及び(6)として表される。
【0026】
【0027】
ただし、式(5)において、x’maniは速度(位置)の状態値を導出するための速度、x’graspは力の状態値に関する速度である。また、x’1は第1アームの速度(現在位置の微分)、x’2は第2アームの速度(現在位置の微分)である。また、式(6)において、fmaniは速度(位置)の状態値に関する力、fgraspは力の状態値を導出するための力である。また、f1は第1のアームが物体から受ける反力、f2は第2のアームが物体から受ける反力である。
【0028】
(ねじ回しの学習及び再現機能)
図6は、機能別力・速度割当変換ブロックFTにおいてねじ回しの学習及び再現機能が定義された場合の制御の概念を示す模式図である。また、
図7は、ねじ回しの学習及び再現機能が適用されるロボットを示す模式図であり、
図7(a)は、ねじ回しの学習及び再現機能が適用されるマスタの指型ロボットとスレーブの指型ロボットとを含むマスタ・スレーブシステムの概念を示す模式図、
図7(b)は、指型ロボットの指機構を示す模式図である。
図6に示すように、機能別力・速度割当変換ブロックFTによって定義される機能として、指の曲げ伸ばしによってねじの締緩を行うねじ回しの学習及び再現機能を実現することができる。
この場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(7)及び(8)として表される。
【0029】
【0030】
式(7)において、x’
a1はMP関節の角度に関する速度応答値、x’
a2はPIP関節の角度に関する速度応答値、x’
a3はDIP関節の角度に関する速度応答値である。また、x’
τ1はMP関節のトルクに関する速度応答値、x’
τ2はPIP関節のトルクに関する速度応答値、x’
τ3はDIP関節のトルクに関する速度応答値、x’
t1は、マスタの指型ロボットにおけるワイヤW1~W4の張力に関する速度応答値、x’
t2は、スレーブの指型ロボットにおけるワイヤW5~W8の張力に関する速度応答値、x’
1~x’
4はマスタの指型ロボットに連結されたワイヤW1~W4それぞれの速度応答値、x’
5~x’
8はスレーブの指型ロボットに連結されたワイヤW5~W8それぞれの速度応答値である。なお、MP関節の角度、PIP関節の角度及びDIP関節の角度は、
図7(b)におけるθ
1~θ
3に示すように定義される。また、式(8)において、f
a1はMP関節の角度に関する力応答値、f
a2はPIP関節の角度に関する力応答値、f
a3はDIP関節の角度に関する力応答値である。また、f
τ1はMP関節のトルクに関する力応答値、f
τ2はPIP関節のトルクに関する力応答値、f
τ3はDIP関節のトルクに関する力応答値、f
t1は、マスタの指型ロボットにおけるワイヤW1~W4の張力に関する力応答値、f
t2は、スレーブの指型ロボットにおけるワイヤW5~W8の張力に関する力応答値、f
1~f
4はマスタの指型ロボットに連結されたワイヤW1~W4それぞれの力応答値、f
5~f
8はスレーブの指型ロボットに連結されたワイヤW5~W8それぞれの力応答値である。
【0031】
(位置・力制御装置の基本的構成)
次に、本発明の基本的原理を適用した位置・力制御装置1の基本的構成について説明する。
図8は、本発明に係る位置・力制御装置1の基本的構成を示す模式図である。
図8において、位置・力制御装置1は、基準値入力部10と、制御部20と、ドライバ30と、アクチュエータ40と、位置センサ50とを含んで構成される。
位置・力制御装置1は、図示しないマスタ装置の動作と対応するスレーブ装置として動作するものであり、マスタ装置のアクチュエータに設置された位置センサの検出結果を入力として、機能に応じた動作を行う。
位置・力制御装置1に実装される機能は、後述するように、制御部20における機能別力・速度割当変換ブロックFTによって定義される座標変換を切り替えることで、種々変更することができる。
【0032】
基準値入力部10は、位置・力制御装置1に備えられる機能毎の基準となる値(基準値)を制御部20に入力する。この基準値は、例えば、マスタ装置のアクチュエータに設置された位置センサから出力される時系列の検出値である。マスタ装置から時系列の検出値をリアルタイムで制御部20に基準値として入力する場合、基準値入力部10は、通信インターフェース(通信I/F)によって構成することができる。また、マスタ装置の時系列の検出値を記憶しておき、基準値として順次読み出して制御部20に入力する場合、基準値入力部10は、メモリあるいはハードディスク等の記憶装置によって構成することができる。
【0033】
制御部20は、位置・力制御装置1全体を制御するものであり、CPU(Central Processing Unit)等の情報処理装置によって構成される。
また、制御部20は、
図1における機能別力・速度割当変換ブロックFTと、理想力源ブロックFCと、理想速度(位置)源ブロックPCと、逆変換ブロックIFTとの機能を備えている。
即ち、制御部20には、基準値入力部10を介して、マスタ装置の位置センサによって検出された時系列の検出値が入力される。この時系列の検出値は、マスタ装置の動作を表すものであり、制御部20は、入力された検出値(位置)から導出された速度(位置)及び力の情報に対して、機能に応じて設定されている座標変換を適用する。
【0034】
そして、制御部20は、座標変換によって得られた速度(位置)の状態値を導出するための速度(位置)に対し、速度(位置)の領域における演算を行う。同様に、制御部20は、座標変換によって得られた力の状態値を導出するための力に対し、力の領域における演算を行う。さらに、制御部20は、算出した速度(位置)の領域における演算結果及び力の領域における演算結果に対して、加速度等への次元統一の処理を施し、また、機能に応じて設定されている座標変換の逆変換を適用する。これにより、制御部20は、算出した速度(位置)の領域における演算結果及び力の領域における演算結果がアクチュエータへの入力の領域の値に変換される。
【0035】
ドライバ30は、制御部20によって逆変換されたアクチュエータへの入力の領域の値をアクチュエータ40に対する具体的な制御指令値(電圧値または電流値等)に変換し、その制御指令値をアクチュエータ40に出力する。
アクチュエータ40は、ドライバ30から入力された制御指令値に従って駆動され、制御対象物の位置を制御する。
位置センサ50は、アクチュエータ40によって制御される制御対象物の位置を検出し、検出値を制御部20に出力する。
【0036】
このような構成により、位置・力制御装置1は、位置センサ50によって検出された制御対象物の位置から得られる速度(位置)及び力を、機能に応じた座標変換によって速度(位置)の領域及び力の領域の状態値に変換する。これにより、機能に応じて速度(位置)及び力それぞれに制御エネルギーが分配される。そして、それぞれの状態値が逆変換されて制御指令値とされ、この制御指令値に従って、ドライバ30によりアクチュエータ40が駆動される。
したがって、位置・力制御装置1は、制御対象物の位置を検出することで、目的とする機能を実現するために必要な速度(位置)及び力の状態値を算出することができ、これらの状態値に基づいてアクチュエータ40を駆動することで、制御対象物の位置及び力を目的とする状態に制御することができる。
【0037】
また、位置・力制御装置1は、制御部20における機能に応じた座標変換を切り替えることで、異なる機能を実現することが可能となる。例えば、位置・力制御装置1に備えられた記憶装置に、複数の機能に対応して、各機能に応じた座標変換を記憶しておき、目的に応じて、いずれかの機能に応じた座標変換を選択することで、位置・力制御装置1において種々の機能を実現させることが可能となる。
また、位置・力制御装置1は、制御部20に対して入力される基準値を、マスタ装置からリアルタイムに入力される位置及び力の取得値とすることができる。この場合、マスタ装置の動作とリアルタイムに連動して、位置・力制御装置1を制御することができる。
また、位置・力制御装置1は、制御部20に対して入力される基準値を、予め取得して記憶されたマスタ装置またはスレーブ装置の時系列の位置及び力の取得値とすることができる。この場合、予め用意されたマスタ装置の動作を基準として、位置・力制御装置1の機能を実現することができる。即ち、マスタ装置が存在しない状態で、位置・力制御装置1において、目的とする機能を再現することができる。
【0038】
(位置・力制御装置の具体例)
以下、位置・力制御装置の具体例について説明する。
【0039】
(行為の記録及び再実行機能を実現する位置・力制御装置の具体例)
人間の身体的行為をロボットにより代替実現するためには、人間等が行った身体的行為を記録し、記録された身体的行為をロボットによって再実行(再現)する状況が想定される。
この場合、行為記録時の時間間隔と、行為再実行時の時間間隔とを同一に制御することが極めて重要である。
例えば、行為記録時のサンプリング周期と行為再実行時の制御周期とが異なる場合には、行為の再実行スピードは記録時とは異なってしまう。あるいはデータが途中欠落するような場合には、再実行する行為が不連続になってしまう。
【0040】
ここで、従来の技術においては、限られた実行条件においてのみ、行為記録時の時間間隔と、行為再実行時の時間間隔とを同一に制御することが実現されていた。
例えば、行為記録時に用いた装置と、行為再実行時に用いる装置とが同一のスペックを有し、同一の動作条件に設定されている場合には、行為記録時の時間間隔と、行為再実行時の時間間隔とが同一に制御される。
しかしながら、実際に行為再実行時に用いられる装置は同一であるとは限らず、また、動作条件も種々異なるものと考えられる。
そのため、従来の技術においては、行為記録時の時間間隔と、行為再実行時の時間間隔とを同一に制御することが担保されておらず、行為の再実行が適切に行われない場合がある。
そこで、本実施形態では、ロボットによる身体的行為の再実行において、行為記録時と同一の時間間隔での行為再実行を可能とする位置・力制御装置を実現する。
【0041】
図9は、アクチュエータによって棒状部材を揺動させる位置・力制御装置1の構成を示す模式図である。
図9に示す位置・力制御装置1は、
図8に示す位置・力制御装置1の基本的構成の一例として構成することができ、アクチュエータ40の回転軸に棒状部材401が固定された構成を有している。なお、アクチュエータ40の回転軸の位置(角度)は、エンコーダ等の位置センサによって逐次検出される。
【0042】
また、
図10は、
図9の構成を有する位置・力制御装置1A,1Bを組み合わせて、箸型の把持装置とした位置・力制御装置2の構成を示す模式図(上面図)である。
図10に示すように、位置・力制御装置1A,1Bは並列した位置に設置され、アクチュエータ40A,40Bによって棒状部材401A,401Bが互いに逆方向に回転動作されることにより、物体を把持したり解放したりすることが可能となっている。即ち、位置・力制御装置2において、棒状部材401A,401Bは、物体を把持する箸の動作を実現している。
【0043】
図11は、
図10の構成を有する位置・力制御装置2A,2Bを組み合わせて、マスタ・スレーブ型の把持装置とした構成を示す模式図である。
図11に示すように、位置・力制御装置2Aはスレーブ装置として動作し、位置・力制御装置2Bはマスタ装置として動作する。
なお、不図示の制御部20においては、機能別力・速度割当変換ブロックFTによって定義される機能として、位置・力制御装置2B(マスタ装置)の動作を位置・力制御装置2A(スレーブ装置)に伝達すると共に、位置・力制御装置2Aに対する物体からの反力の入力を位置・力制御装置2Bにフィードバックする機能(バイラテラル制御機能)が実現されている。
【0044】
位置・力制御装置2Bの棒状部材401A,401Bには、人間が把持動作を行うための操作部が設置されており、位置・力制御装置2Bを操作する操作者が、操作部を保持して箸による把持動作を行う。
すると、位置・力制御装置2Bの動作が位置・力制御装置2Aに伝達され、位置・力制御装置2Aにおいて物体が把持される。
このとき、物体からの反力の入力が、位置・力制御装置2Aから位置・力制御装置2Bに伝達され、操作者は、物体の力触覚を感じることができる。
このような制御工程における位置センサの検出値(または制御部20において座標変換結果として得られる状態値を導出するための各値)を、記録時間間隔の情報と共に記憶部60等に記憶することで、箸による把持行為(人間の身体的行為)を記録することができる。
【0045】
図12は、人間の身体的行為を記録する場合のデータ形式の一例を示す模式図である。
図12に示すように、人間の身体的行為を記録する場合、データのヘッダ部として、記録時間間隔に関する情報(例えば、サンプリング周期等)を記録すると共に、データの内容を表すデータ部として、時系列に取得された各時間の一連のデータを配列したデータ形式とすることができる。
図12に示すように記録された箸による把持行為の情報を読み出し、記録時間間隔毎に順次実行することで、行為記録時と同一の時間間隔で行為を再実行することができる。
【0046】
また、
図13は、人間の身体的行為を記録する場合のデータ形式の他の例を示す模式図である。
図12のデータ形式においては、データのヘッダ部に記録時間間隔に関する情報を記録するものとしたが、
図13のデータ形式においては、各時間に取得されたデータに対して、取得時点を表すタイムスタンプが付加されている。
この場合においても、記録された箸による把持行為の情報を読み出し、記録時間間隔毎に順次実行することで、行為記録時と同一の時間間隔で行為を再実行することができる。
【0047】
図14は、記録時間間隔に関する情報が記録されない場合に、記録された行為を再実行した結果の一例を示す模式図である。また、
図15は、記録時間間隔に関する情報が記録された場合(
図12または
図13のデータ形式の場合)に、記録された行為を再実行した結果の一例を示す模式図である。
図14に示すように、行為記録時に用いられた装置のサンプリング周期が10[ms]であり、行為の再実行に用いられた装置の制御周期が5[ms]であるとすると、記録時とは異なる再生速度で行為が再現されることとなる。
これに対し、
図15に示すように、記録時間間隔に関する情報が記録されている場合、適切なタイミングで記録された行為が実行されるため、行為記録時に用いた装置と行為再実行時に用いる装置とのスペックや動作条件によらず、記録時と同一の再生速度で行為を再現することができる。
【0048】
(行為の補正機能を実現する位置・力制御装置の具体例)
人間の身体的行為をロボットにより代替実現するためには、実際的な利用環境で運用可能であることが極めて重要である。
ここで、従来の技術においては、人間の身体的行為を人間座標系上で抽出し、抽出した行為をロボットに再実行させることを実現している。
しかしながら。これは周囲環境やロボットの状態(初期姿勢等)が規定範囲内であることが前提であり、実際的な環境変化や行為の不連続性が考慮されていない。
そこで、本実施形態では、ロボットによる身体的行為の再実行において、再実行環境の変化に適応することができ、かつ行為を連続的に再実行可能とする位置・力制御装置を実現する。
【0049】
一例として、
図12または
図13のデータ形式等により行為が記録された場合に、行為の再実行を行う際の環境(例えば、把持対象物の大きさ等)が異なることが考えられる。
これに対し、本実施形態に係る位置・力制御装置は、ロボットによる身体的行為の再実行において、行為記録時と環境が異なる場合に行為の補正を可能としている。
【0050】
図16は、環境認識手段としてのカメラを備えた位置・力制御装置3の構成を示す模式図である。
なお、
図16に示す位置・力制御装置3は、
図10に示す箸型の把持装置に把持対象物を撮影するカメラを備えた構成を有している。
図16に示す位置・力制御装置3においては、記録された把持行為のコンテンツを再実行する際に、カメラにより把持対象物の大きさを認識することで、記録された把持行為における箸の開閉量を、把持対象物に適した量に補正しながら行為を再実行する。
例えば、カメラで認識された物体の大きさが、行為コンテンツに保持されている把持の開き量と比べて1.2倍である場合、再実行時に入力される制御基準(基準値)のうち位置に関する情報を1.2倍に補正した値を用いることで、環境に適応した行為の再実行を実現することができる。
【0051】
(位置・力制御装置で実行される行為の表現方法の具体例)
人間のあらゆる身体的行為をロボットにより代替実現するためには、規定の行為(行為コンテンツ)を柔軟かつ容易に制作・編集可能であることが極めて重要である。
ここで、従来の技術においては、人間の身体的行為を人間座標系上で抽出し、抽出した行為をロボットに再実行させることを実現している。
しかしながら、これはロボットの位置・力に関するデータを行為全体に渡って緻密に記録することが前提であり、人間が直感的に行為コンテンツを制作・編集することが考慮されていない。また、行為コンテンツのデータ量が膨大になる可能性がある。
そこで、本実施形態では、行為コンテンツを柔軟かつ容易に制作・編集するための行為表現方法を実現する。
【0052】
本実施形態において記録及び再実行される行為は、複数のルールを組み合わせることで表現することができる。
例えば、
図10に示す箸型の把持装置で把持対象物を把持する行為の場合、
制御基準となる情報を生成(行為を記録)するためのルールと、
イベントを発生させる(行為の再実行の契機とする)ためのルールと、
複数アクチュエータの行為を切り替える(動作を実行する)ためのルールと、
を組み合わせることで、把持行為のコンテンツが構成される。
【0053】
図17は、待機行為のコンテンツ(ルールの組み合わせ)を表すフローチャートである。
図17において、待機行為が開始されると、ステップS1において、位置・力制御装置2は、初期位置で待機する。
ステップS2において、位置・力制御装置2は、アクチュエータ40Aまたはアクチュエータ40Bの少なくとも一方に外部から力が加わったか否かの判定を行う。
アクチュエータ40Aまたはアクチュエータ40Bのいずれにも外部から力が加わっていない場合、ステップS2においてNOと判定されて、処理はステップS1に移行する。
一方、アクチュエータ40Aまたはアクチュエータ40Bの少なくとも一方に外部から力が加わった場合、ステップS2においてYESと判定されて、処理はステップS3に移行する。
【0054】
ステップS3において、位置・力制御装置2は、アクチュエータ40A,40Bの行為を把持行為に切り替える。
ステップS3の後、待機行為は終了となる。
【0055】
図18は、把持行為のコンテンツ(ルールの組み合わせ)を表すフローチャートである。
図18において、把持行為が開始されると、ステップS11において、位置・力制御装置2は、規定の速度(記録された速度)で棒状部材401A,401Bを開く。
ステップS12において、位置・力制御装置2は、棒状部材401A,401Bが規定の位置(記録された位置)に達したか否かの判定を行う。
棒状部材401A,401Bが規定の位置(記録された位置)に達していない場合、ステップS12においてNOと判定されて、処理はステップS11に移行する。
一方、棒状部材401A,401Bが規定の位置(記録された位置)に達した場合、ステップS12においてYESと判定されて、処理はステップS13に移行する。
【0056】
ステップS13において、位置・力制御装置2は、規定の速度(記録された速度)で棒状部材401A,401Bを閉じる。
ステップS14において、位置・力制御装置2は、把持対象物を把持する力が規定の力(記録された力)に達したか否かの判定を行う。
把持対象物を把持する力が規定の力(記録された力)に達していない場合、ステップS14においてNOと判定されて、処理はステップS13に移行する。
一方、把持対象物を把持する力が規定の力(記録された力)に達した場合、ステップS14においてYESと判定されて、処理はステップS15に移行する。
【0057】
ステップS15において、位置・力制御装置2は、把持対象物を規定の力(記録された力)で把持する。
ステップS16において、位置・力制御装置2は、規定の時間(記録された把持時間)が経過したか否かの判定を行う。
規定の時間(記録された把持時間)が経過していない場合、ステップS16においてNOと判定されて、処理はステップS15に移行する。
一方、規定の時間(記録された把持時間)が経過した場合、ステップS16においてYESと判定されて、処理はステップS17に移行する。
【0058】
ステップS17において、位置・力制御装置2は、規定の速度(記録された速度)で棒状部材401A,401Bを開く。
ステップS18において、位置・力制御装置2は、棒状部材401A,401Bが規定の位置(記録された位置)に達したか否かの判定を行う。
棒状部材401A,401Bが規定の位置(記録された位置)に達していない場合、ステップS18においてNOと判定されて、処理はステップS17に移行する。
一方、棒状部材401A,401Bが規定の位置(記録された位置)に達した場合、ステップS18においてYESと判定されて、処理はステップS19に移行する。
【0059】
ステップS19において、位置・力制御装置2は、規定の速度(記録された速度)で棒状部材401A,401Bを閉じる。
ステップS20において、位置・力制御装置2は、棒状部材401A,401Bが規定の力(記録された力)に達したか否かの判定を行う。
棒状部材401A,401Bが規定の力(記録された力)に達していない場合、ステップS20においてNOと判定されて、処理はステップS19に移行する。
一方、棒状部材401A,401Bが規定の力(記録された力)に達した場合、ステップS20においてYESと判定されて、処理はステップS21に移行する。
ステップS21において、位置・力制御装置2は、アクチュエータ40A,40Bの行為を待機行為に切り替える。
ステップS21の後、把持行為は終了となる。
【0060】
このように、ルールの組み合わせによって待機行為及び把持行為のコンテンツをそれぞれ定義し、これらのコンテンツを組み合わせることで、一連の行為を表現することができる。
【0061】
(接触対象の物体特性を推定する位置・力制御装置の具体例)
人間の身体的行為をロボットにより代替実現するためには、接触対象の剛性・粘性・慣性等の物体特性を、ロボットが瞬間的に把握することが重要である。
ここで、従来の技術においては、その物体特性が既知である、あるいはリアルタイム遠隔操作により人間が物体特性を把握してロボットに教示する等、限られた条件においてのみ、接触対象の物体特性をロボットに把握させることが可能であった。
そこで、本実施形態では、ロボットによる接触対象への接触動作において、ロボット自身によって接触対象の剛性・粘性・慣性等の推定を可能とする。
【0062】
本実施形態における位置・力制御装置1は、式(1)及び(2)に基づく座標変換により、物体の把持、押し込み、移動、切削、流体の撹拌等の各種機能を実現することができる。
このとき、接触対象となる物体の性質に応じて、座標変換に関連するパラメータ(速度の状態値あるいは力の状態値等)が異なるものとなる。
即ち、位置・力制御装置1が物体に接触した際に算出される座標変換に関連するパラメータは、その物体の特性に対応したものとなる。
したがって、位置・力制御装置1が物体に接触した際に算出される座標変換に関連するパラメータから、接触対象の物体の特性を推定することができる。
【0063】
例えば、アクチュエータの先端(接触子)が対象物体に接触している状態で、アクチュエータの位置、速度、加速度が連続的に変化するような運動制御を行い、アクチュエータの位置情報から速度・加速度・力を算出し、アクチュエータの位置及び速度・加速度・力情報から逐次最小二乗法を適用することで、対象物体の剛性、粘性、慣性等を推定することができる。
【0064】
図19は、固体を押し込む場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
図19に示すように、静止した固体を押し込む場合、座標変換に関連するパラメータから、固体の剛性や弾性等の物体特性を推定することができる。
また、
図20は、固体を移動させる場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
図20に示すように、固体を移動させる場合、座標変換に関連するパラメータから、固体の移動時の摩擦や慣性等の物体特性を推定することができる。
【0065】
また、
図21は、固体を切削する場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
図21に示すように、固体を切削する場合、座標変換に関連するパラメータから、固体の硬度や切削抵抗等の物体特性を推定することができる。
また、
図22は、液体を塗布する場合の物体特性を推定するための位置・力制御装置1の構成を示す模式図である。
図22に示すように、スピンコート等により液体を塗布する場合、座標変換に関連するパラメータから、液体の粘度、ずり応力あるいはずり速度等の物体特性を推定することができる。
【0066】
なお、本発明は、本発明の効果を奏する範囲で変形、改良等を適宜行うことができ、上述の実施形態及び変形例に限定されない。
例えば、本発明は、上述の実施形態における位置・力制御装置として実現することの他、位置・力制御装置において実行される各ステップによって構成される位置・力制御方法、あるいは、位置・力制御装置の機能を実現するためにプロセッサによって実行されるプログラムとして実現することができる。
【0067】
なお、上記実施形態は、本発明を適用した一例を示しており、本発明の技術的範囲を限定するものではない。即ち、本発明は、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができ、上記実施形態以外の各種実施形態を取ることが可能である。本発明が取ることができる各種実施形態及びその変形は、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0068】
S 制御対象システム、FT 機能別力・速度割当変換ブロック(機能別力・速度割当変換手段)、FC 理想力源ブロック(力制御量算出手段)、PC 理想速度(位置)源ブロック(位置制御量算出手段)、IFT 逆変換ブロック(統合手段)、1,1A,1B,2,2A,2B,3 位置・力制御装置、10 基準値入力部、20 制御部、30 ドライバ、40,40A,40B アクチュエータ、50 位置センサ(位置検出手段)、60 記憶部、401,401A,401B 棒状部材