(57)【要約】【課題】力検出部を用いずに、可動部に加えられた外力に基づく動きを可動部に行わせることができる油圧ロボットを提供すること。【解決手段】油圧ロボットは、油圧式の可動部を備え、可動部に外力が加えられた場合、外力に応じた変位量可動部を動作させる。【選択図】図４
2019111626.tif 000002
【特許請求の範囲】
【請求項１】
油圧式の可動部を備え、
前記可動部に外力が加えられた場合、前記可動部を前記外力に応じた変位量動かす、
油圧ロボット。
【請求項２】
前記可動部は、スプールの位置に応じた油圧によってピストンを動かすアクチュエーターを備え、
前記アクチュエーターは、前記ピストンの位置を検出する位置検出部と、前記ピストンに加わる油圧を検出する圧力検出部とを備え、
前記位置検出部からの出力値と前記圧力検出部からの出力値とに基づいて前記スプールの位置を変化させることにより、前記可動部を前記変位量動かす、
請求項１に記載の油圧ロボット。
【請求項３】
コンプライアントモーション制御によって前記スプールの位置を変化させる、
請求項２に記載の油圧ロボット。
【請求項４】
前記コンプライアントモーション制御とは、インピーダンス制御である、
請求項３に記載の油圧ロボット。
【請求項５】
前記可動部の構造に応じて決まる機械的パラメーターである第１機械的パラメーターと異なる機械的パラメーターである第２機械的パラメーターに基づいて、前記スプールの位置を変化させる、
請求項２から４のうちいずれか一項に記載の油圧ロボット。
【請求項６】
前記第２機械的パラメーターに基づくカシミア関数に基づいて、前記スプールの位置を変化させる、
請求項５に記載の油圧ロボット。
【請求項７】
前記変位量は、前記外力の変化に応じて変化し、前記外力に応じて一意に決まる、
請求項１から６のうちいずれか一項に記載の油圧ロボット。
【請求項８】
前記可動部は、前記外力を検出する力検出部を備えない、
請求項１から７のうちいずれか一項に記載の油圧ロボット。
【請求項９】
油圧式の可動部を備えた油圧ロボットを制御するロボット制御装置であって、
前記可動部に外力が加えられた場合、前記可動部を前記外力に応じた変位量動かす、
ロボット制御装置。
【請求項１０】
コンピューターに、
油圧式の可動部を備えたロボットを制御させるプログラムであって、
前記可動部に外力が加えられた場合、前記可動部を前記外力に応じた変位量動かすステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、油圧ロボット、ロボット制御装置、及びプログラムに関する。
【背景技術】
【０００２】
油圧式のアクチュエーターによって動くロボットである油圧ロボットに関する技術の研究や開発が行われている。
【０００３】
これに関し、可動部に加えられた外力を検出する力センサーからの出力値に基づくインピーダンス制御によって動く油圧ロボットが知られている（非特許文献１参照）。このような従来の油圧ロボットは、油圧式のアクチュエーターによって動作する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】「Stability-Guaranteed Impedance Control of Hydraulic Robotic Manipulators.」, Janne Koivuma:ki and Jouni Mattila, IEEE/ASME Transactions on Mechatronics, 22(2): 601-612, 2017.（なお、「a:」は、ドイツ語におけるA-Umlaut（アーウムラウト））を示す）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、非特許文献１には、可動部に力センサーを備えた油圧ロボットのアクチュエーターにおける油圧を検出する圧力センサーを油圧ロボットに備えさせ、力センサーの故障等によって力センサーが使用不可能な場合において、力センサーからの出力値の代わりに圧力センサーからの出力値を用いて油圧ロボットを動かす方法についても記載されている。しかし、圧力センサーからの出力値と力センサーからの出力値との間に必ずしも相関関係があるわけではない。このため、このような方法では、圧力センサーからの出力値に基づいて油圧ロボットを動かした場合、油圧ロボットは、可動部に加えられた外力に応じた動きを可動部に行わせることが困難であった。
【０００６】
そこで本発明は、力検出部を用いずに、可動部に加えられた外力に応じた動きを可動部に行わせることができる油圧ロボットを提供する。
【課題を解決するための手段】
【０００７】
本発明の一態様は、油圧式の可動部を備え、前記可動部に外力が加えられた場合、前記可動部を前記外力に応じた変位量動かす、油圧ロボットである。
【０００８】
また、本発明の他の態様は、油圧ロボットにおいて、前記可動部は、スプールの位置に応じた油圧によってピストンを動かすアクチュエーターを備え、前記アクチュエーターは、前記ピストンの位置を検出する位置検出部と、前記ピストンに加わる油圧を検出する圧力検出部とを備え、前記位置検出部からの出力値と前記圧力検出部からの出力値とに基づいて前記スプールの位置を変化させることにより、前記可動部を前記変位量動かす、構成が用いられてもよい。
【０００９】
また、本発明の他の態様は、油圧ロボットにおいて、コンプライアントモーション制御によって前記スプールの位置を変化させる、構成が用いられてもよい。
【００１０】
また、本発明の他の態様は、油圧ロボットにおいて、前記コンプライアントモーション制御とは、インピーダンス制御である、構成が用いられてもよい。
【００１１】
また、本発明の他の態様は、油圧ロボットにおいて、前記可動部の構造に応じて決まる機械的パラメーターである第１機械的パラメーターと異なる機械的パラメーターである第２機械的パラメーターに基づいて、前記スプールの位置を変化させる、構成が用いられてもよい。
【００１２】
また、本発明の他の態様は、油圧ロボットにおいて、前記第２機械的パラメーターに基づくカシミア関数に基づいて、前記スプールの位置を変化させる、構成が用いられてもよい。
【００１３】
また、本発明の他の態様は、油圧ロボットにおいて、前記変位量は、前記外力の変化に応じて変化し、前記外力に応じて一意に決まる、構成が用いられてもよい。
【００１４】
また、本発明の他の態様は、油圧ロボットにおいて、前記可動部は、前記外力を検出する力検出部を備えない、構成が用いられてもよい。
【００１５】
また、本発明の他の態様は、油圧式の可動部を備えた油圧ロボットを制御するロボット制御装置であって、前記可動部に外力が加えられた場合、前記可動部を前記外力に応じた変位量動かす、ロボット制御装置である。
【００１６】
また、本発明の他の態様は、コンピューターに、油圧式の可動部を備えたロボットを制御させるプログラムであって、前記可動部に外力が加えられた場合、前記可動部を前記外力に応じた変位量動かすステップ、を実行させるためのプログラムである。
【発明の効果】
【００１７】
本発明によれば、力検出部を用いずに、可動部に加えられた外力に応じた動きを可動部に行わせることができる油圧ロボットを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】アクチュエーターＡＣにおける油圧回路の構成の一例を示す図である。
【図３】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図４】ロボット制御装置３０の機能構成の一例を示す図である。
【図５】第１マスバネダンパー系の一例を示す図である。
【図６】第２マスバネダンパー系の一例を示す図である。
【図７】可動部Ａに外力が加えられた場合、ロボット制御装置３０が可動部Ａを外力に応じた変位量動かす処理の流れの一例を示すフローチャートである。
【図８】可動部Ａに外力を加えた場合における可動部Ａの変位量を測定した測定結果の一例を示す図である。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２０】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、ロボット制御装置３０を備える。
【００２１】
ロボット２０は、ロボット２０のアームである可動部Ａと、可動部Ａを支持する支持台Ｂを備える単腕ロボットである。なお、ロボット２０は、単腕ロボットに代えて、双腕ロボット等の他のロボットであってもよい。
【００２２】
可動部Ａは、油圧式の可動部であり、例えば、エンドエフェクターを取り付け可能な油圧式のマニピュレーターである。なお、可動部Ａは、エンドエフェクターを取り付け不可能な油圧式のマニピュレーターであってもよい。また、図１に示した例では、可動部Ａは、リンクＬ１と、リンクＬ２と、アクチュエーターＡＣを備える。リンクＬ１は、支持台Ｂにより支持されている。リンクＬ２は、リンクＬ１によって支持されている。また、リンクＬ２は、リンクＬ１によって、リンクＬ１に対して回動軸ＡＸ周りに回動可能に支持されている。アクチュエーターＡＣは、伸縮することによってリンクＬ２をリンクＬ１に対して回動軸ＡＸ周りに回動させる油圧式のアクチュエーターである。すなわち、可動部Ａは、アクチュエーターＡＣの動作（すなわち、伸縮）によって１軸の自由度の動作を行う。なお、可動部Ａは、３以上のリンクと、２以上の油圧式のアクチュエーターとを備えることにより、２軸以上の自由度で動作する構成であってもよい。
【００２３】
アクチュエーターＡＣは、後述するスプールＳＰの位置に応じた油圧によってピストンＰＳを動かすことにより伸縮可能な油圧式のアクチュエーターである。アクチュエーターＡＣが伸びた場合、リンクＬ２は、回動軸ＡＸ周りに回動する。その結果、リンクＬ１とリンクＬ２の間の角度である回動角θは、大きくなる。一方、アクチュエーターＡＣが縮んだ場合、リンクＬ２は、回動軸ＡＸ周りに回動する。その結果、回動角θは、小さくなる。なお、回動角θは、ロボット２０の関節の回動角のことである。ここで、図２を参照し、アクチュエーターＡＣについて説明する。
【００２４】
図２は、アクチュエーターＡＣにおける油圧回路の構成の一例を示す図である。アクチュエーターＡＣは、前述のピストンＰＳと、ピストンシリンダーＳＤ１と、パイプＰ１〜パイプＰ５のそれぞれと、スプールＳＰと、スプールシリンダーＳＤ２を備える。
【００２５】
ピストンＰＳは、円盤形状のピストンヘッドと、ピストンヘッドが有する面のうちの一方の面である第２面Ｍ２の中心から第２面Ｍ２に直交する方向に延伸する円柱形状のロッドを備える。また、ピストンＰＳは、ピストンシリンダーＳＤ１に摺動可能に収容されている。
【００２６】
ピストンシリンダーＳＤ１の内部の領域は、ピストンＰＳのピストンヘッドによって２つの領域である第１領域Ｒ１と第２領域Ｒ２に分けられている。第２領域Ｒ２は、ピストンシリンダーＳＤ１の内部の領域のうち前述の第２面Ｍ２側の領域である。第１領域Ｒ１は、ピストンシリンダーＳＤ１の内部の領域のうちピストンヘッドが有する面であって第２面Ｍ２と反対側の面である第１面Ｍ１側の領域である。
【００２７】
また、ピストンシリンダーＳＤ１の内部における端部のうち第１領域Ｒ１側の端部には、第１１開口部ＲＨ１１が形成されている。ピストンシリンダーＳＤ１の内部における端部のうち第２領域Ｒ２側の端部には、第１２開口部ＲＨ１２が形成されている。
【００２８】
スプールシリンダーＳＤ２は、スプールＳＰを収容するシリンダーである。すなわち、スプールシリンダーＳＤ２の内部には、スプールシリンダーＳＤ２の内部においてスプールＳＰが摺動可能に収容されている。
【００２９】
また、スプールシリンダーＳＤ２の内部には、第２１開口部Ｈ１と、第２２開口部Ｈ２と、第２３開口部Ｈ３と、第２４開口部Ｈ４と、第２５開口部Ｈ５の５つの開口部が形成されている。
【００３０】
ここで、第２１開口部Ｈ１は、前述の第１１開口部ＲＨ１１とパイプＰ１によって繋げられている。また、第２２開口部Ｈ２は、第１２開口部ＲＨ１２とパイプＰ２によって繋げられている。また、第２３開口部Ｈ３は、予め決められた油圧である所定油圧の油を供給する図示しない油供給装置における油の供給口とパイプＰ３によって繋げられている。所定油圧は、例えば、７ＭＰａである。なお、所定油圧は、７ＭＰａよりも小さい油圧であってもよく、７ＭＰａよりも大きい油圧であってもよい。また、第２４開口部Ｈ４は、当該油供給装置における油の回収口とパイプＰ４によって接続されている。また、第２５開口部Ｈ５は、当該油供給装置における油の回収口とパイプＰ５によって接続されている。ここで、図２に示した例では、パイプＰ４は、当該回収口に至るまでの間において、パイプＰ５と接続され、１本のパイプとしてまとめられている。
【００３１】
また、スプールシリンダーＳＤ２の内部は、スプールＳＰによって少なくとも３つの領域に分けられる。図２に示した例では、当該内部は、５つの領域に分けられている。当該５つの領域のうち、当該内部における両端の領域は、スプールＳＰを当該内部において摺動させるために必要な空隙であり、当該内部における油の流れと無関係であるため、説明を省略する。また、以下では、説明の便宜上、当該５つの領域のうちの真ん中の領域を第３領域Ｒ３と称し、当該５つの領域のうち第３領域Ｒ３と隣り合う領域であって第２１開口部Ｈ１側の領域を第４領域Ｒ４と称し、当該５つの領域のうち第３領域Ｒ３と隣り合う領域であって第３領域Ｒ３よりも第２２開口部Ｈ２側の領域を第５領域Ｒ５と称して説明する。
【００３２】
スプールシリンダーＳＤ２の内部における第３領域Ｒ３、第４領域Ｒ４、第５領域Ｒ５それぞれの位置は、スプールシリンダーＳＤ２の内部においてスプールＳＰが摺動可能な方向である摺動方向におけるスプールＳＰの位置であるスプール位置に応じて変化する。第３領域Ｒ３の位置は、例えば、摺動方向における第３領域Ｒ３の重心の位置によって表される。なお、第３領域Ｒ３の位置は、これに代えて、摺動方向における第３領域に応じた他の位置であってもよい。第４領域Ｒ４の位置は、例えば、摺動方向における第４領域Ｒ４の重心の位置によって表される。なお、第４領域Ｒ４の位置は、これに代えて、摺動方向における第４領域Ｒ４に応じた他の位置であってもよい。第５領域Ｒ５の位置は、例えば、摺動方向における第５領域Ｒ５の重心の位置によって表される。なお、第５領域Ｒ５の位置は、これに代えて、摺動方向における第５領域Ｒ５に応じた他の位置であってもよい。また、スプール位置は、例えば、スプールＳＰの重心の摺動方向における位置である。なお、スプール位置は、これに代えて、摺動方向におけるスプールＳＰに応じた他の位置であってもよい。
【００３３】
ここで、以下では、説明の便宜上、スプールシリンダーＳＤ２の内部に予め決められた位置であって摺動方向における基準となる位置である基準位置とスプール位置とが一致している状態を、第１状態と称して説明する。また、以下では、スプールシリンダーＳＤ２の内部に予め決められた位置であって摺動方向において基準位置よりも第２１開口部Ｈ１側の位置とスプール位置とが一致している状態を、第２状態と称して説明する。また、以下では、スプールシリンダーＳＤ２の内部に予め決められた位置であって摺動方向において基準位置よりも第２２開口部Ｈ２側の位置とスプール位置とが一致している状態を、第３状態と称して説明する。
【００３４】
第１状態では、前述の第２１開口部Ｈ１は、スプールＳＰによって閉塞される。また、第１状態では、第２２開口部Ｈ２は、スプールＳＰによって閉塞される。また、第１状態では、第２３開口部Ｈ３は、第３領域において開放される。また、第１状態では、第２４開口部Ｈ４は、第４領域Ｒ４において開放される。また、第１状態では、第２５開口部Ｈ５は、第５領域Ｒ５において開放される。すなわち、アクチュエーターＡＣにおける油圧回路の第１状態における油の流れは、パイプＰ３を通して第３領域Ｒ３に油が流入する流れと、第４領域Ｒ４の油がパイプＰ４を通って当該回収口に排油される流れと、第５領域Ｒ５の油がパイプＰ５を通って当該回収口に排油される流れとの３つの流れである。このため、第１状態では、第３領域Ｒ３に所定油圧の油が滞留し、第１領域Ｒ１及び第２領域Ｒ２において油の流出入が起きず（すなわち、第１領域Ｒ１内の油圧及び第２領域Ｒ２内の油圧が変化せず）、ピストンＰＳは、動かない。
【００３５】
第２状態では、第２１開口部Ｈ１は、第３領域Ｒ３において開放される。また、第２状態では、第２２開口部Ｈ２は、第５領域Ｒ５において開放される。また、第２状態では、第２３開口部Ｈ３は、第３領域において開放される。また、第２状態では、第２４開口部Ｈ４は、第４領域において開放される。また、第２状態では、第２５開口部Ｈ５は、第５領域において開放される。すなわち、アクチュエーターＡＣにおける油圧回路の第２状態における油の流れは、油供給装置から第３領域Ｒ３に流入した油がパイプＰ１を通って第１領域Ｒ１に流入する流れと、第２領域Ｒ２の油がパイプＰ２を通って第５領域Ｒ５に流入する流れと、第５領域Ｒ５の油がパイプＰ５を通って油供給装置の回収口に排油される流れと、第４領域Ｒ４の油がパイプＰ４を通って当該回収口に排油される流れとの４つの流れである。このため、第２状態では、第１領域Ｒ１内の油の体積が増加するとともに第２領域Ｒ２内の油の体積が減少するため、アクチュエーターＡＣが伸びる方向にピストンＰＳが動く。
【００３６】
第３状態では、第２１開口部Ｈ１は、第４領域Ｒ４において開放される。また、第３状態では、第２２開口部Ｈ２は、第３領域Ｒ３において開放される。また、第３状態では、第２３開口部Ｈ３は、第３領域において開放される。また、第３状態では、第２４開口部Ｈ４は、第４領域において開放される。また、第３状態では、第２５開口部Ｈ５は、第５領域において開放される。すなわち、アクチュエーターＡＣにおける油圧回路の第３状態における油の流れは、油供給装置から第３領域Ｒ３に流入した油がパイプＰ２を通って第２領域Ｒ２に流入する流れと、第１領域Ｒ１の油がパイプＰ１を通って第４領域Ｒ４に流入する流れと、第４領域Ｒ４の油がパイプＰ４を通って油供給装置の回収口に排油される流れと、第５領域Ｒ５の油がパイプＰ５を通って当該回収口に排油される流れとの４つの流れである。このため、第３状態では、第２領域Ｒ２内の油の体積が増加するとともに第１領域Ｒ１内の油の体積が減少するため、アクチュエーターＡＣが縮む方向にピストンＰＳが動く。
【００３７】
ここで、スプールＳＰは、スプールシリンダーＳＤ２の内部においてスプールＳＰを摺動させる図示しないスプール摺動部によって当該内部において摺動させられる。スプール摺動部は、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、スプール摺動部は、ロボット制御装置３０から取得される制御信号に基づいて、スプールＳＰを当該内部において摺動させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、スプール摺動部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３８】
また、アクチュエーターＡＣには、位置検出部Ｓ１と、第１圧力検出部Ｓ２と、第２圧力検出部Ｓ３のそれぞれが設けられる。図２に示した例では、第１圧力検出部Ｓ２と第２圧力検出部Ｓ３は、別体に構成されているが、一体に構成されてもよい。第１圧力検出部Ｓ２と第２圧力検出部Ｓ３は、圧力検出部の一例である。
【００３９】
位置検出部Ｓ１は、ピストンシリンダーＳＤ１の内部に予め決められた位置であってピストンＰＳが当該内部において摺動可能な方向における位置であるピストン位置を検出するセンサーである。位置検出部Ｓ１は、当該センサーであれば、如何なる種類のセンサーであってもよい。位置検出部Ｓ１は、検出したピストン位置を示す出力値を含む情報を、第１検出情報としてロボット制御装置３０に出力する。
【００４０】
第１圧力検出部Ｓ２は、ピストンシリンダーＳＤ１の内部における油圧のうち、第１領域Ｒ１内の油圧である第１油圧を検出するセンサーである。第１圧力検出部Ｓ２は、当該センサーであれば、如何なる種類のセンサーであってもよい。第１圧力検出部Ｓ２は、検出した第１油圧を示す出力値を含む情報を、第２検出情報としてロボット制御装置３０に出力する。
【００４１】
第２圧力検出部Ｓ３は、ピストンシリンダーＳＤ１の内部における油圧のうち、第２領域Ｒ２内の油圧を検出するセンサーである。第２圧力検出部Ｓ３は、当該センサーであれば、如何なる種類のセンサーであってもよい。第２圧力検出部Ｓ３は、検出した第２油圧を示す出力値を含む情報を、第３検出情報としてロボット制御装置３０に出力する。
【００４２】
位置検出部Ｓ１、第１圧力検出部Ｓ２、第２圧力検出部Ｓ３のそれぞれは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、位置検出部Ｓ１、第１圧力検出部Ｓ２、第２圧力検出部Ｓ３のそれぞれは、ロボット制御装置３０から取得される制御信号に基づいて動作する。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、位置検出部Ｓ１、第１圧力検出部Ｓ２、第２圧力検出部Ｓ３のうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００４３】
ロボット制御装置３０は、この一例において、ロボットを制御する（動作させる）コントローラーである。ロボット制御装置３０は、予め入力された動作プログラムに基づいて制御信号を生成する。ロボット制御装置３０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。以下では、説明の便宜上、ロボット制御装置３０による当該制御信号の生成及び送信についての説明を省略し、ロボット制御装置３０がロボット２０に行わせる動作、及びロボット２０を動作させる際にロボット制御装置３０が行う処理について説明する。なお、所定の作業は、ロボット２０により行うことが可能な作業であれば如何なる作業であってもよい。
【００４４】
＜ロボット制御装置の処理の概要＞
以下、本実施形態において詳しく説明するロボット制御装置３０の処理の概要について説明する。
【００４５】
ロボット制御装置３０と異なるロボット制御装置Ｘ（例えば、従来のロボット制御装置）は、制御対象となる油圧ロボットの可動部に加えられた外力を検出する力検出部（力センサーやトルクセンサー）を当該油圧ロボットが備えない場合、当該油圧ロボットが備える油圧式のアクチュエーターの油圧を検出する圧力検出部からの出力値を用いて当該油圧ロボットを動かすことがある。しかし、圧力検出部からの出力値と力検出部からの出力値との間には、必ずしも相関関係があるわけではない。このため、ロボット制御装置Ｘは、圧力検出部からの出力値に基づいて当該油圧ロボットを動かした場合、当該油圧ロボット
の可動部に加えられた外力に応じた動きを当該可動部に行わせることが困難であった。換言すると、ロボット制御装置Ｘでは、力検出部を備えないロボットに、圧力検出部からの出力値に基づくコンプライアントモーション制御による動作を行わせることが困難であった。
【００４６】
そこで、ロボット制御装置３０は、ロボット２０の可動部Ａに外力が加えられた場合、可動部Ａを外力に応じた変位量動かす。より具体的には、ロボット制御装置３０は、位置検出部Ｓ１からの出力値と第１圧力検出部Ｓ２からの出力値と第２圧力検出部Ｓ３からの出力値とに基づいてアクチュエーターＡＣにおけるスプール位置を変化させることにより、可動部Ａを外力に応じた変位量動かす。これにより、ロボット制御装置３０は、力検出部を用いずに、可動部Ａに加えられた外力に基づく動き、すなわち、第１圧力検出部Ｓ２からの出力値と第２圧力検出部Ｓ３からの出力値とに基づくコンプライアントモーション制御による動きを可動部Ａに行わせることができる。ここで、当該変位量は、この一例において、ロボット２０の関節の回動角、すなわち前述の回動角θである。なお、当該変位量は、これに代えて、可動部Ａに予め決められた位置の移動量等の可動部Ａに応じた他の変位量であってもよい。
【００４７】
以下では、ある外力が可動部Ａに加えられた場合においてロボット制御装置３０が可動部Ａを当該外力に応じた変位量動かす処理について詳しく説明する。なお、ロボット制御装置３０が行う他の処理についての説明は、省略する。また、以下では、一例として、ロボット制御装置３０が、コンプライアントモーション制御のうちのインピーダンス制御によってロボット２０を動作させる場合について説明する。
【００４８】
＜ロボット制御装置のハードウェア構成＞
以下、図３を参照し、ロボット制御装置３０のハードウェア構成について説明する。図３は、ロボット制御装置３０のハードウェア構成の一例を示す図である。
【００４９】
ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスＢＳを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介してロボット２０と通信を行う。
【００５０】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報や動作プログラムを含む各種のプログラム等を格納する。
【００５１】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド、その他の入力装置である。なお、入力受付部３３は、表示部３５と一体に構成されたタッチパネルであってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００５２】
＜ロボット制御装置の機能構成＞
以下、図４を参照し、ロボット制御装置３０の機能構成について説明する。図４は、ロボット制御装置３０の機能構成の一例を示す図である。
【００５３】
ロボット制御装置３０は、制御部３６を備える。
【００５４】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、表示制御部３６１と、検出情報取得部３６２と、ロボット制御部３６３を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００５５】
表示制御部３６１は、ユーザーから受け付けた操作に基づいて、各種の画像を生成する。表示制御部３６１は、生成した画像を表示部３５に表示させる。
検出情報取得部３６２は、ロボット２０が備える各検出部からの出力値を含む検出情報を各検出部から取得する。具体的には、検出情報取得部３６２は、位置検出部Ｓ１からの出力値を含む第１検出情報を位置検出部Ｓ１から取得する。また、検出情報取得部３６２は、第１圧力検出部Ｓ２からの出力値を含む第２検出情報を第１圧力検出部Ｓ２から取得する。また、検出情報取得部３６２は、第２圧力検出部Ｓ３からの出力値を含む第３検出情報を第２圧力検出部Ｓ３から取得する。
ロボット制御部３６３は、検出情報取得部３６２が取得した各検出情報に基づいて、ロボット２０を動作させる。
【００５６】
＜ロボット制御部によるロボットのインピーダンス制御に用いられる理論式＞
以下、ロボット制御部３６３によるロボット２０のインピーダンス制御に用いられる理論式について説明する。なお、以下の説明において、あるアルファベットの上に付された「・」は、当該アルファベットが示す変数の時間についての１階微分を示す。また、以下の説明において、あるアルファベットの上に付された「・・」は、当該アルファベットが示す変数の時間についての２階微分を示す。
【００５７】
ロボット制御部３６３は、前述した通り、インピーダンス制御によってロボット２０を動作させる。この際、ロボット制御部３６３は、位置検出部Ｓ１から取得した第１検出情報と、第１圧力検出部Ｓ２から取得した第２検出情報と、第２圧力検出部Ｓ３から取得した第３検出情報と、以下において説明する理論式とに基づくフィードバック制御を行うことにより、ロボット２０のインピーダンス制御を実現する。このフィードバック制御において、ロボット制御部３６３は、前述のスプール位置を移動（摺動）させる移動量を算出する。ここで、当該移動量は、この一例において、正の値の場合、前述の基準位置よりも第２１開口部Ｈ１側にスプール位置を移動させる移動量であり、負の値の場合、基準位置よりも第２２開口部Ｈ２側にスプール位置を移動させる移動量である。なお、スプール位置を移動（摺動）させる移動量は、負の値の場合、基準位置よりも第２１開口部Ｈ１側にスプール位置を移動させる移動量であり、正の値の場合、基準位置よりも第２２開口部Ｈ２側にスプール位置を移動させる移動量である構成であってもよい。
【００５８】
スプール位置を移動（摺動）させる移動量を算出するために用いられる理論式は、以下に示す式（１）〜式（５）に基づいて導出される。
【００５９】
【数１】
2019111626.tif 000003
【００６０】
ここで、式（１）は、ピストンＰＳについての運動方程式である。式（２）は、パイプＰ１及び第１領域Ｒ１における油の流出入と前述の第１圧力の時間的変化とについての連続の式である。式（３）は、パイプＰ２及び第２領域Ｒ２における油の流出入と前述の第２圧力の時間的変化とについての連続の式である。Ｍは、ピストンＰＳの質量を示す。ｔは、時間を示す。ｓは、ピストンＰＳの移動量（すなわち、ピストン位置の変位量）を示す。ここで、ｓは、ｔの関数である（なお、式（１）〜式（３）では、ｓの微係数における引数ｔを省略している）。Ｄは、ピストンシリンダーＳＤ１の内部における油の粘性係数を示す。Ａ＋は、第１面Ｍ１の面積を示す。ｐ＋は、第１圧力を示す。Ａ−は、第２面Ｍ２の面積を示す。ｐ−は、第２圧力を示す。Ｆｅは、可動部Ａに加えられた外力を示す。ｂは、ピストンシリンダーＳＤ１の内部における油の圧縮性を示す値である。Ｌは、ピストンシリンダーＳＤ１の内部の摺動方向における長さを示す（図２参照）。ｕは、スプールＳＰの移動量（すなわち、スプール位置の変位量）を示す。式（２）に示したＱ＋は、式（２）を簡略化するために便宜的に導入した変数であり、式（４）によって定義されている。式（３）に示したＱ−は、式（３）を簡略化するために便宜的に導入した変数であり、式（５）によって定義されている。式（３）及び式（４）に示した関数Ｂは、式（３）及び式（４）を簡略化するために便宜的に導入した変数であり、式（６）によって定義されている。式（６）に示したＣは、図２に示した油圧回路における油の流量ゲインを示す。式（６）に示したＰは、前述の所定油圧であり、この一例において、７ＭＰａである。式（６）に示したｒ１及びｒ２は、関数Ｂの２つの引数のそれぞれを示す。
【００６１】
上記の式（１）〜式（３）を、ポート・ハミルトン形式に変換した式が以下に示す式（７）〜式（１４）である。
【００６２】
【数２】
2019111626.tif 000004
【００６３】
ここで、式（７）に示したｘは、式（８）によって定義されているように、ｓ、ｐｍ、ｐ＋、ｐ−のそれぞれを成分として有する４元ベクトルである。ｐｍは、ピストンＰＳの運動量、すなわち、式（９）によって定義されているように、前述のＭに対してピストンＰＳの速度（すなわち、ｓの時間についての１階微分）を乗じた変数である。式（７）に示したＪ２３は、ｓの関数であって式（７）を簡略化するために便宜的に導入した関数であり、式（１０）によって定義されている。式（７）に示したＪ２４は、ｓの関数であって式（７）を簡略化するために便宜的に導入した関数であり、式（１１）によって定義されている。式（１０）に示したＶ＋は、ｓの関数であって式（９）を簡略化するために便宜的に導入した関数であり、式（１２）によって定義されている。式（１１）に示したＶ−は、ｓの関数であって式（１１）を簡略化するために便宜的に導入した関数であり、式（１３）によって定義されている。式（７）に示したＨは、式（１４）によって定義されているように、ピストンＰＳの動作についてのポート・ハミルトン形式におけるハミルトニアンである。
【００６４】
式（７）に示した式は、ハミルトニアンＨの変化を表す式である。具体的には、式（７）は、ピストンＰＳの速度（すなわち、ｓの時間についての１階微分）、ピストンＰＳに加えられた力（すなわち、ｐｍの時間についての１階微分）、第１圧力の変化率（すなわち、ｐ＋の時間についての１階微分）、第２圧力の変化率（すなわち、ｐ−の時間についての１階微分）のそれぞれと、ピストンＰＳの速度空間（すなわち、ピストンＰＳの速度を示すベクトル空間）におけるハミルトニアンの勾配、ピストンＰＳに加えられた力空間（すなわち、ピストンＰＳに加えられた力を示すベクトル空間）におけるハミルトニアンの勾配、第１圧力空間の変化率を示す空間（すなわち、当該変化率を示すベクトル空間）におけるハミルトニアンの勾配、第２圧力空間の変化率を示す空間（すなわち、当該変化率を示すベクトル空間）におけるハミルトニアンの勾配のそれぞれとの関係を表す式である。
【００６５】
上記の式（７）及び式（１４）は、カシミア関数を用いることにより、更に以下に示した式（１５）〜式（２１）のように式変形することが可能である。
【００６６】
【数３】
2019111626.tif 000005
【００６７】
ここで、式（１５）及び式（１６）は、式（１７）に示したカシミア関数Ｃｆ、Ｃｇを用いることにより式変形した後の式（７）及び式（１４）である。ここで、式（１５）及び式（１６）に示したＨｓｉｍｐｌｅは、式（７）及び式（１４）に示したハミルトニアンＨに対応するハミルトニアンである。式（１６）に示したｋ（ｓ）は、式（２１）によって定義されており、バネ定数に相当するパラメーターであるが、ｓについての関数であるため、定数ではない。また、式（１６）における積分は、ｓについての２階積分である。なお、当該２階積分は、ルベーグ測度を用いた不定積分であり、積分定数を０に選んでいる。また、式（１７）における積分は、ｓについての１階積分である。なお、当該１階積分は、ルベーグ測度を用いた不定積分であり、積分定数を０に選んでいる。また、式（１５）に示したｗは、式（１８）によって定義されている。また、式（１５）に示したＧｆは、式（１９）によって定義されている。また、式（１５）に示したＧｇは、式（２０）によって定義されている。
【００６８】
上記の式（１５）の関数形は、後述するように、図５に示した質量Ｍ’の物体に関するマスバネダンパー系である第１マスバネダンパー系における当該物体の運動を表す式の関数形とほぼ等価である。図５は、第１マスバネダンパー系の一例を示す図である。図５に示したｓ’は、当該物体の変位を示す。Ｄ’は、第１マスバネダンパー系における粘性係数を示す。ｋ’は、第１マスバネダンパー系におけるバネ定数を示す。ここで、第１マスバネダンパー系における当該物体の運動を表す式は、以下に示した式（２２）及び式（２３）である。なお、以下に示したように、式（１５）の関数形は、式（２２）の関数形とほぼ等価である。また、式（１６）の関数形は、式（２３）の関数形と等価である。
【００６９】
【数４】
2019111626.tif 000006
【００７０】
上記の式（２２）は、第１マスバネダンパー系における質量Ｍ’の物体の運動に関するハミルトニアンであってポート・ハミルトン形式におけるハミルトニアンの変化を表す式である。式（２２）に示したＨ’は、当該ハミルトニアンを示す。また、ｐ’は、当該物体の運動量を示す。ここで、より具体的には、式（２２）は、当該物体の速度（すなわち、当該物体の変位量ｓ’の時間についての１階微分）、当該物体の運動量ｐ’の変化率（すなわち、運動量ｐ’の時間についての１階微分）、第１マスバネダンパー系におけるカシミア関数Ｃ’の変化率（すなわち、カシミア関数Ｃ’の時間についての１階微分）のそれぞれと、当該速度を示す速度空間（すなわち、当該速度を示すベクトル空間）における当該ハミルトニアンの勾配、運動量ｐ’の変化率を示す空間（すなわち、当該変化率を示すベクトル空間）における当該ハミルトニアンの勾配、カシミア関数Ｃ’の変化率を示す空間（すなわち、当該変化率を示すベクトル空間）における当該ハミルトニアンの勾配のそれぞれとの関係を表す式である。また、式（２３）は、当該ハミルトニアンを示す式である。また、式（２３）における積分は、ｓ’についての２階積分である。なお、当該２階積分は、ルベーグ測度を用いた不定積分であり、積分定数を０に選んでいる。
【００７１】
ここで、上記の式（１５）における第１行、第２行、第３行それぞれの関数形は、式（１６）がＣｇに依存しないため、式（２２）における第１行、第２行、第３行それぞれの関数形と等価である。すなわち、式（１５）の関数形と式（２２）の関数形とは、前述した通り、ほぼ等価である。また、式（１６）の関数形は、式（２３）の関数形と等価である。これらの等価性のため、式（１５）及び式（１６）を用いたフィードバック制御を行うことにより、ロボット制御部３６３は、仮想的なマスバネダンパー系における第１機械的パラメーターに基づくインピーダンス制御を実現することができる。式（１５）及び式（１６）における第１機械的パラメーターは、具体的には、質量Ｍと、バネ定数ｋ（ｓ）と、粘性係数Ｄとのそれぞれのことである。しかし、当該第１機械的パラメーターは、ロボット２０の構造に応じて決まる。このため、式（１５）及び式（１６）をそのまま用いた場合、ロボット制御部３６３は、ユーザーが所望する質量、粘性係数、バネ定数を用いたインピーダンス制御によってロボット２０を動作させることができない。そこで、ロボット制御部３６３では、上記の式（１５）及び式（１６）を、図６に示したマスバネダンパー系を表す式の関数形と等価な関数形の式に書き換える。
【００７２】
ここで、図６は、図５に示した第１マスバネダンパー系に、第１マスバネダンパー系と異なるマスバネダンパー系である付加マスバネダンパー系（図６に示した点線ＣＴＲに囲まれた部分）を加えた第２マスバネダンパー系の一例を示す図である。ここで、図６に示した変位ｑ’は、付加マスバネダンパー系に接続された質量Ｍ’の物体の変位を示す。図６に示したＭｃ’は、付加マスバネダンパー系における物体の質量を示す。また、Ｋｃ’は、付加マスバネダンパー系におけるバネのバネ定数を示す。また、Ｄｃ’は、付加マスバネダンパー系におけるダンパーの粘性係数を示す。このような第２マスバネダンパー系を表す式の関数形と等価な関数形の式は、式（１５）及び式（１６）に基づいて、以下に示した式（２４）及び式（２５）のように算出することができる。
【００７３】
【数５】
2019111626.tif 000007
【００７４】
ここで、式（２４）及び式（２５）は、式（１５）及び式（１６）に対して、前述の付加マスバネダンパー系に対応する仮想的なマスバネダンパー系を表す項を付加することによって得られる式である。このため、式（２５）に示したＭｃは、図６に示した質量Ｍｃ’の物体に対応する仮想的な物体の質量を示す。ｐｃは、当該物体の運動量を示す。式（２４）に示したＤｃは、図６に示した粘性係数Ｄｃ’のダンパーに対応する仮想的なダンパーの粘性係数である。また、式（２５）における積分は、ｓについての２階積分である。なお、当該２階積分は、ルベーグ測度を用いた不定積分であり、積分定数を０に選んでいる。また、式（２５）に示した通り、以下では、式（２５）の最下段における右辺第３項、第４項、第５項のそれぞれの和を、Ｕｃｌ（ｓ，Ｃｆ）と定義して説明する。
【００７５】
また、式（２４）に示したＨｃｌは、付加マスバネダンパー系に対応する仮想的なマスバネダンパー系を表す項を式（１５）及び式（１６）に対して付加した場合におけるハミルトニアンであってポート・ハミルトン形式のハミルトニアンを示し、式（２５）によって定義されている。ここで、付加マスバネダンパー系のバネ定数Ｋｃは、前述のＵｃｌ（ｓ，Ｃｆ）に含まれている（例えば、後述する式（３０）参照）。また、式（２４）では、式（１５）におけるＣｇの時間についての１階微分が消え、ｐｃの時間についての１階微分が現れている。この理由は、油圧シリンダーの従来の状態空間が４次元（位置、速度、キャップ圧、ロッド圧）であったのに対し、位置、速度、Ｃｆの３つの動特性が、Ｃｇの動特性に依存しないからである。このため、本明細書において説明している方法における状態空間を３次元に低次元化した制御系設計が可能となっている。例えば、これにより、計算負荷の小さい制御が可能となる。
【００７６】
このような式（２４）及び式（２５）の算出は、付加マスバネダンパー系に対応する仮想的なマスバネダンパー系を表す項を式（１５）及び式（１６）に対して付加する際、以下に示した式（２６）及び式（２７）が満たされるような当該マスバネダンパー系を設計することによって達成される。
【００７７】
【数６】
2019111626.tif 000008
【００７８】
ここで、上記の式（２７）に示したｗは、スプールＳＰの移動量ｕを含む変数ｗであり、式（１８）に示した変数ｗのことである。また、上記の式（２６）に示したｆ（Ｃｆ）は、以下に示した式（２８）に示した条件を満たす場合、以下に示した式（２９）のように展開することができる。
【００７９】
【数７】
2019111626.tif 000009
【００８０】
上記の式（２８）は、関数ｆ（Ｃｆ）のカシミア関数Ｃｆについての２階微分が有限の値を持ち、当該値が少なくともバネ定数ｋ（ｓ）の逆数よりも大きくなければならないという条件である。この場合、２次の展開係数をａｃ、１次の展開係数をｂｃ、０次の展開係数をｃｃとすると、上記の式（２６）に示したｆ（Ｃｆ）は、上記の式（２９）のように展開することができる。ここで、式（２９）における「Ｈ．Ｏ．Ｔ．」は、高次項を示す。すなわち、高次項を無視する近似を行うことによって、当該ｆ（Ｃｆ）は、式（２９）の右辺第１項として扱うことができる。
【００８１】
また、上記の式（２５）の下段における右辺のＵｃｌ（ｓ，Ｃｆ）は、以下に示した式（３０）のように更に展開することができる。なお、以下に示した式（３０）は、第２マスバネダンパー系の弾性エネルギーとその高次項の和となるように示している。また、式（３０）における「Ｈ．Ｏ．Ｔ．」は、３次以上の高次項を示している。また、式（３０）に示した通り、以下では、式（３０）の最下段における右辺第２項の括弧内の式を、Ｒと定義して説明する。ここで、第２マスバネダンパー系の弾性エネルギーは、式（３０）に示した（ｓ−Ｒ）によって表される伸び（又は縮み）に対応する弾性エネルギーと、式（３０）に示したＲによって表される伸び（又は縮み）に対応する弾性エネルギーとの和である。これにより、ロボットシステム１では、大域的な安定性の補償とともに、局所的なインピーダンス効果が達成されている。
【００８２】
【数８】
2019111626.tif 000010
【００８３】
ロボット制御部３６３は、以上のようにして算出された式（２４）、式（２５）、式（３）を用いたフィードバック制御によってロボット２０を動作させることにより、第２マスバネダンパー系を用いたインピーダンス制御による動作をロボット２０に行わせることができる。
【００８４】
なお、上記の式（２４）、式（２５）、式（３０）の関数形は、インピーダンス制御において従来から用いられている理論式の関数形と異なるため、当該理論式との対応関係が直感的に分かり難い。このため、以下では、上記の式（２４）、式（２５）、式（３０）とほぼ等価な近似式について説明する。
【００８５】
以下に示した式（３１）〜式（３３）は、上記の式（１）〜式（３）を、前述のロボット２０の関節の回動角θの関数に変数変換した式である。なお、式（３１）〜式（３３）では、当該関節の回動角を、θに代えてｓ”によって表している。また、式（３１）〜式（３３）における粘性係数Ｄは、以下の式（３４）のように、位置と速度の関数として表記してもよい。以下に示した式（３４）は、位置が０であり、且つ、速度が０である場合における当該関数を示している。
【００８６】
【数９】
2019111626.tif 000011
【００８７】
上記の式（３１）〜式（３３）を用いると、上記の式（１５）〜式（２１）に対応する式は、以下に示した式（３５）〜式（４１）のように算出される。
【００８８】
【数１０】
2019111626.tif 000012
【００８９】
上記の式（３５）及び式（３６）の関数形は、式（１５）及び式（１６）の関数形と同様に、図５に示した第１マスバネダンパー系における物体の運動を表す式の関数形と等価である。すなわち、式（３５）及び式（３６）は、上記の式（３１）〜式（３４）を用いることによって算出された近似式であって式（１５）及び式（１６）の近似式である。ここで、式（３６）における積分は、ｓ”についての２階積分である。なお、当該２階積分は、ルベーグ測度を用いた不定積分であり、積分定数を０に選んでいる。この近似式である式（３５）及び式（３６）に対して、前述の付加マスバネダンパー系に対応する仮想的なマスバネダンパー系を表す項を付加した場合、上記の式（２４）及び式（２５）に対応する近似式として、以下に示した式（４２）及び式（４３）が算出される。
【００９０】
【数１１】
2019111626.tif 000013
【００９１】
ロボット制御部３６３は、上記の式（４２）及び式（４３）を用いてロボット２０を制御することにより、第２マスバネダンパー系を用いた（より具体的には、第２機械的パラメーターを用いた）インピーダンス制御による動作をロボット２０に行わせることができる。式（４２）及び式（４３）の表式は、既知のインピーダンス制御における理論式との対応関係が明確である。このため、ユーザーは、当該理論式との違いを確認しながらロボット制御部３６３にロボット２０を制御させるプログラムを容易に作成することができる。
【００９２】
＜ロボット制御装置が可動部に外力が加えられた場合、可動部を外力に応じた変位量動かす処理＞
以下、図７を参照し、可動部Ａに外力が加えられた場合、ロボット制御装置３０が可動部Ａを外力に応じた変位量動かす処理について説明する。図７は、可動部Ａに外力が加えられた場合、ロボット制御装置３０が可動部Ａを外力に応じた変位量動かす処理の流れの一例を示すフローチャートである。
【００９３】
ロボット制御部３６３は、前述のフィードバック制御における初期値をユーザーから受け付けるまで待機する（ステップＳ１１０）。例えば、ステップＳ１１０において、表示制御部３６１は、ユーザーから操作を受け付ける操作画面を生成し、生成した操作画面を表示部３５に表示させる。そして、ロボット制御部３６３は、当該操作画面を介してユーザーから当該初期値を受け付ける。ユーザーから当該初期値を受け付けた場合、ロボット制御部３６３は、ステップＳ１２０に遷移する。
【００９４】
次に、ロボット制御部３６３は、ロボット２０のインピーダンス制御を開始させる操作である開始操作をユーザーから受け付けるまで待機する（ステップＳ１２０）。例えば、ロボット制御部３６３は、ステップＳ１１０において表示部３５に表示された操作画面を介してユーザーから開始操作を受け付ける。ユーザーから開始操作を受け付けた場合、ロボット制御部３６３は、ステップＳ１３０に遷移する。
【００９５】
次に、検出情報取得部３６２は、ロボット２０（アクチュエーターＡＣ）が備える各検出部から検出情報を取得する（ステップＳ１３０）。具体的には、検出情報取得部３６２は、位置検出部Ｓ１から第１検出情報を取得する。また、検出情報取得部３６２は、第１圧力検出部Ｓ２から第２検出情報を取得する。また、検出情報取得部３６２は、第２圧力検出部Ｓ３から第３検出情報を取得する。
【００９６】
次に、ロボット制御部３６３は、ステップＳ１３０において検出情報取得部３６２が取得した第１検出情報〜第３検出情報のそれぞれと、上記の式（２４）、式（２５）、式（３０）の３本の式、又は、上記の式（４２）、式（４３）の２本の式とに基づいて、スプールＳＰの移動量ｕを算出する（ステップＳ１４０）。
【００９７】
次に、ロボット制御部３６３は、ステップＳ１４０において算出したスプールＳＰの移動量ｕに基づいて、スプールＳＰを移動させる（ステップＳ１５０）。なお、１回目のステップＳ１５０を実行する際、ロボット制御部３６３は、ステップＳ１１０においてユーザーから受け付けた初期値に基づいて、ステップＳ１５０の処理を行う。次に、ロボット制御部３６３は、ロボット２０のインピーダンス制御を終了させる終了操作をユーザーから受け付けたか否かを判定する（ステップＳ１６０）。終了操作をユーザーから受け付けたと判定した場合（ステップＳ１６０−ＹＥＳ）、ロボット制御部３６３は、処理を終了する。一方、終了操作をユーザーから受け付けていないとロボット制御部３６３が判定した場合（ステップＳ１６０−ＮＯ）、検出情報取得部３６２は、ステップＳ１３０の遷移し、ロボット２０（アクチュエーターＡＣ）が備える各検出部から検出情報を再び取得する。
【００９８】
以上のように、ロボット制御部３６３及び検出情報取得部３６２は、ステップＳ１３０〜ステップＳ１６０の処理を繰り返し行うことにより、ロボット２０をインピーダンス制御によって動かすことができる。なお、検出情報取得部３６２が取得した第１検出情報〜第３検出情報のそれぞれと、上記の式（２４）、式（２５）、式（３０）の３本の式、又は、上記の式（４２）、式（４３）の２本の式とに基づくインピーダンス制御は、上記のフローチャートの説明において、一例として、静止している状態のロボット２０（すなわち、可動部Ａ）に対して適用されていた。しかし、検出情報取得部３６２が取得した第１検出情報〜第３検出情報のそれぞれと、上記の式（２４）、式（２５）、式（３０）の３本の式、又は、上記の式（４２）、式（４３）の２本の式とに基づくインピーダンス制御は、作業中（すなわち、動作中）のロボット２０に対して適用されてもよい。
【００９９】
＜ロボットが行う動作＞
ここで、図７に示したフローチャートの処理によってインピーダンス制御された場合においてロボット２０が行う動作について説明する。
【０１００】
図７に示したフローチャートの処理によってインピーダンス制御された場合において、可動部Ａに外力が加えられた場合、ロボット２０は、可動部Ａを、当該外力に応じた変位量動かす。当該変位量は、当該外力の変化に応じて変化し、当該外力に応じて一意に決まることが測定結果から分かっている。ここで、当該変位量は、この一例において、前述のロボット２０の関節の回動角θによって表される。なお、当該変位量は、回動角θに代えて、ロボット２０に設定される制御点（例えば、ＴＣＰ（Tool  Center  Point）等の移動量であってもよい。図８は、可動部Ａに外力を加えた場合における可動部Ａの変位量を測定した測定結果の一例を示す図である。図８に示した通り、当該変位量は、当該外力の変化に応じて変化し、当該外力に応じて一意に決まる。
【０１０１】
図８に示した例では、ロボット２０の可動部Ａに外力が加えられた場合、当該外力に比例した変位量だけ可動部Ａが動いている。すなわち、ステップＳ１３０において検出情報取得部３６２が取得した第１検出情報〜第３検出情報のそれぞれと、上記の式（２４）、式（２５）、式（３０）の３本の式、又は、上記の式（４２）、式（４３）の２本の式とに基づいて、ロボット制御部３６３がロボット２０を動作させた場合、ロボット２０は、可動部Ａに外力を加えられると、可動部Ａを、可動部Ａに加えられた外力に応じた変位量動かす。
【０１０２】
なお、可動部Ａに加えられた外力と、当該外力に応じた変位量との関係は、前述の第１機械的パラメーターと、第２機械的パラメーターとに応じて変化する。第１機械的パラメーターは、前述した通り、ロボット２０の構造によって決まる。このため、ユーザーは、所望の値の第２機械的パラメーターをロボット制御装置３０に予め設定することにより、ロボット２０にインピーダンス制御による所望の動作を行わせることができる。
【０１０３】
また、上記において説明したインピーダンス制御の方法の一部又は全部は、油圧ロボットにおける力センサーを用いないダイレクトティーチング制御に適用することが可能である。
また、上記において説明したインピーダンス制御の方法の一部又は全部は、油圧ロボットにおける力センサーを用いない重力補償制御に適用することが可能である。
また、上記において説明したインピーダンス制御の方法の一部又は全部は、油圧ロボットにおける力センサーを用いない重力補償制御付きのインピーダンス制御に適用することが可能である。
また、上記において説明したインピーダンス制御の方法の一部又は全部は、トルク入力の可能な他の如何なる剛体ロボットの制御に適用することが可能である。
【０１０４】
以上のように、油圧ロボット（この一例において、ロボット２０）は、可動部（この一例において、可動部Ａ）に外力が加えられた場合、可動部を当該外力に応じた変位量動かす。これにより、油圧ロボットは、力検出部を用いずに、可動部に加えられた外力に基づく動きを可動部に行わせることができる。
【０１０５】
また、油圧ロボットは、位置検出部（この一例において、位置可変部１４）からの出力値（この一例において、第１検出情報に含まれる出力値）と圧力検出部（この一例において、第１圧力検出部Ｓ２及び第２圧力検出部Ｓ３）からの出力値（この一例において、第２検出情報及び第３検出情報に含まれる出力値）とに基づいてスプール（この一例において、スプールＳＰ）の位置（この一例において、スプール位置）を変化させることにより、可動部を、可動部に加えられた外力に応じた変位量動かす。これにより、油圧ロボットは、位置検出部からの出力値と圧力検出部からの出力値とに基づいて、可動部に加えられた外力に基づく動きを可動部に行わせることができる。
【０１０６】
また、油圧ロボットは、コンプライアントモーション制御によってスプールの位置を変化させる。これにより、油圧ロボットは、コンプライアントモーション制御によって、可動部に加えられた外力に基づく動きを可動部に行わせることができる。
【０１０７】
また、油圧ロボットは、インピーダンス制御によってスプールの位置を変化させる。これにより、油圧ロボットは、インピーダンス制御によって、可動部に加えられた外力に基づく動きを可動部に行わせることができる。
【０１０８】
また、油圧ロボットは、可動部の構造に応じて決まる機械的パラメーターである第１機械的パラメーターと異なる機械的パラメーターである第２機械的パラメーターに基づいて、スプールの位置を変化させる。これにより、油圧ロボットは、第１機械的パラメーターと、第２機械的パラメーターとに基づいて、可動部に加えられた外力に基づく動きを可動部に行わせることができる。
【０１０９】
また、油圧ロボットは、第２機械的パラメーターに基づくカシミア関数に基づいて、スプールの位置を変化させる。これにより、油圧ロボットは、第２機械的パラメーターに基づくカシミア関数に基づいて、可動部に加えられた外力に基づく動きを可動部に行わせることができる。
【０１１０】
また、油圧ロボットでは、可動部に加えられた外力に応じた変位量は、当該外力の変化に応じて変化し、当該外力に応じて一意に決まる。これにより、油圧ロボットは、当該変位量が、当該外力の変化に応じて変化していない場合と比較して、当該外力に応じた滑らかな動きを行うことができる。
【０１１１】
また、油圧ロボットでは、可動部は、可動部に加えられた外力を検出する力検出部を備えない。これにより、油圧ロボットは、可動部に加えられた外力に基づく動きを可動部に行わせることができるとともに、油圧ロボットが正常に動作しなくなる可能性を抑制することができる。
【０１１２】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１１３】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１１４】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１１５】
１…ロボットシステム、２０…ロボット、３０…ロボット制御装置、３１…ＣＰＵ、３２、５２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、３６１…表示制御部、３６２…検出情報取得部、３６３…ロボット制御部、ＡＣ…アクチュエーター、Ｓ１…位置検出部、Ｓ２…第１圧力検出部、Ｓ３…第２圧力検出部
【図１】
2019111626.tif 000014
【図２】
2019111626.tif 000015
【図３】
2019111626.tif 000016
【図４】
2019111626.tif 000017
【図５】
2019111626.tif 000018
【図６】
2019111626.tif 000019
【図７】
2019111626.tif 000020
【図８】
2019111626.tif 000021