説明

制御装置及び方法

【課題】アドミッタンス制御の不安定化を緩和できる制御装置を提供する。
【解決手段】ロボット制御装置1は、推力を発生させるアクチュエータ12とエンコーダ15と力覚センサ11とを有したアーム10を制御する力制御手段3の内部に、アームの質量よりも小さな0でない質量を有した仮想物体について予め定められた、仮想質量md、仮想粘性cdおよび仮想物体に加えられる仮想的な力としての目標力fdの各パラメータを含む運動方程式を力覚センサ11で検出された接触力fを入力として用いて解くことで目標位置pdを算出する仮想物体運動算出手段7と、目標位置pdとエンコーダ15で検出されたアームの位置pとを入力としてプロクシベーストスライディングモード制御を用いてアームに加える推力gを算出し、これをアクチュエータ12への指令値とする位置制御手段8とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置及び方法の技術に関し、より詳しくは、位置制御ベースの力制御を行う制御装置及び方法に関する。
【背景技術】
【0002】
従来、マニピュレータの手先の位置を、マニピュレータを保持するアクチュエータによって力制限を付しながら目標位置に速やかに追従させる位置制御装置が知られている(特許文献1参照)。特許文献1に開示された位置制御装置に組み込まれている制御則は、プロクシベーストスライディングモード制御(PSMC:Proxy-based sliding mode control)と呼ばれている。PSMCの物理的解釈について図9を参照して説明する。PSMCの制御器は、設定された目標位置901をpdとしたときに、マニピュレータの手先等の制御対象902に対して直接的に力を加えるのではなく、仮想空間内に想定されたプロクシ(proxy)903と呼ばれる質量のない点状の仮想的な物体を介して力を加えるものである。
【0003】
プロクシ903は、制御対象902と仮想連結要素(virtual coupling)904によって結合されており、制御対象902とともに仮想空間内を移動する。図示した仮想連結要素904において、Kは比例ゲイン、Bは微分ゲインを表しており、制御器内(計算器内)では、制御対象902の代理点であるプロクシ903は、PD制御で制御対象902に接続される。プロクシ903は、スライディングモード制御則に基づくSMC(スライディングモード制御器)905にも接続される。プロクシ903にはPD制御による力とSMC(スライディングモード制御)905による力が働く。これらの力は同じ力であって、常に平衡状態にある。このことは、プロクシ903が質量を持っていないことから、物理的に矛盾が生じない。PSMCでは、検出された制御対象902の位置pによってプロクシ903の位置psが推定され、プロクシ903に力を加えることで、プロクシ903を目標位置pdに移動させるように位置制御が行われる。PSMCの詳細は、「R. Kikuuwe and H. Fujimoto, “Proxy-based sliding mode control for accurate and safe position control” , Proc. of the 2006 IEEE Int. Conf. on Robotics and Automation, 2006, p.26-31」に記載されている。
【0004】
また、ロボットでは、マニピュレータの手先等を示す制御対象の位置を制御する位置制御装置のほかに、制御対象の力を制御する力制御装置も知られている。位置情報を入力として力の指令値を出力する制御(位置入力・力出力)はインピーダンス型の制御(インピーダンス制御)を行う制御装置と言われている。また、力情報を入力として位置の指令値を出力する制御(力入力・位置出力)はアドミッタンス型の制御(アドミッタンス制御)を行う制御装置と言われている。
【0005】
従来からアドミッタンス制御の制御装置において、力制御の内部の位置制御にP制御、PD制御又はPID制御等を用いた制御装置が一般に用いられている。つまり、位置制御ベースの力制御において、内部の位置制御にP制御やPD制御やPID制御が用いられている。位置制御ベースにすることで、実際のアクチュエータの摩擦等の影響を抑制することができるという利点がある。
【0006】
一例として、このようなアドミッタンス制御の制御装置を、人と協働して作業するロボットアームに適用する場合には、例えば、ロボットアームが人に衝突したときに人への衝撃を緩和するために即座にロボットアームが人から離間する向きの推力を発生するような制御が要求されることとなる。このようにロボットアームが人に衝突したときの応答性を向上させるために、制御装置の内部コントロールとして仮想空間を想定して、仮想空間上において制御対象物であるロボットアームを制御する方法が考えられる。具体的には、ロボットアームの力制御において、ロボットアームに仮想的に付与する仮想質量や仮想粘性を、0ではない小さな値に設定することで、応答性を向上させることが考えられる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−102748号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、内部の位置制御にP制御、PD制御又はPID制御等を用いた従来のアドミッタンス制御の制御装置において、ロボットアームに付与する仮想質量等を小さく設定する制御には、限界がある。その理由は、力制御は、運動方程式ベースなので、力制御の内部においては、ロボットアームに設定する仮想質量の低減に伴って、位置制御器への指令値を生成するもととなる加速度が増大し、実質的に高ゲインとなって不安定化するからである。言い換えると、質量を軽く設定すると、ロボットアームが実際には重いにも関わらずあたかも軽いように振舞おうとするので、不安定化する。つまり、ロボットアームに設定する仮想質量の低減には限界がある。仮想質量の低減が限界に達すると、ロボットアームが人に接触したときの接触力が時間経過に伴って一定値にはならずに振動してしまう。つまり、このような制御方法では、アドミッタンス制御が不安定になってしまうという問題がある。
【0009】
そこで、本発明では、前記した問題を解決し、従来のアドミッタンス制御の不安定化を緩和できる制御装置及び方法を提供することを課題とする。
【課題を解決するための手段】
【0010】
前記課題を解決するために、本願発明者らは、アドミッタンス制御において種々検討を行った。その結果、力制御のベースとなる位置制御にP制御、PD制御又はPID制御等を用いた従来の制御にて設定する仮想質量の低減が限界となる場合であっても、位置制御にPSMC(プロクシベーストスライディングモード制御)を用いることで、アドミッタンス制御の不安定化を緩和できることを見出した。
【0011】
そこで、本発明に係る制御装置は、位置制御手段を内部に有した力制御手段を備え、前記力制御手段が外部から入力された力情報に基づいてアドミッタンス制御を行うことで、外部の物体と他の物体との間で発生する接触力を制御する制御装置であって、前記位置制御手段が、プロクシベーストスライディングモード制御を用いることを特徴とする。
【0012】
また、本発明に係る制御装置は、前記位置制御手段が、比例動作を少なくとも含むフィードバック制御を行う比例制御を含むフィードバック制御器と、スライディングモード制御則に基づくスライディングモード制御器とを備え、前記比例制御を含むフィードバック制御器と前記スライディングモード制御器とを協働させて前記プロクシベーストスライディングモード制御を行うものであって、前記比例制御を含むフィードバック制御器が、仮想空間における質量のない点状の仮想的な物体であるプロクシと前記外部の物体との間を仮想的に連結する仮想連結要素から前記プロクシに対して加えられる仮想的な粘弾性力を算出し、前記スライディングモード制御器が、前記粘弾性力と釣り合う力であって前記プロクシの位置を当該スライディングモード制御器に設定された目標位置に収束させる制御を行う際に前記プロクシに加えられる仮想的な力を前記物体に加える推力として算出することが好ましい。
【0013】
また、前記物体が、当該物体に加える推力を発生させる駆動機構と位置検出センサとを備えている態様において、本発明に係る制御装置は、前記力制御手段が、前記物体に対応して前記物体の実質量よりも小さな0でない所定の質量を有した仮想物体について予め定められた、仮想的な質量、仮想的な粘弾性および前記仮想物体に加えられる仮想的な力としての目標力の各パラメータを含む前記仮想物体についての運動方程式を前記接触力を入力として用いて解くことで前記仮想物体の目標位置を算出する仮想物体運動算出手段を備え、前記位置制御手段が、前記算出された目標位置と前記位置検出センサで検出された前記物体の位置とを入力として前記プロクシベーストスライディングモード制御を用いて前記物体を駆動する駆動機構にトルク(推力)指令値を出力することが好ましい。
【0014】
かかる構成によれば、制御装置は、物体に対応して実質量よりも小さな0でない質量を有した仮想物体の運動方程式に基づいて力制御における目標位置を算出すると共に、仮想的な力を物体に加える推力として算出し、指令値として出力することができる。
【0015】
また、前記課題を解決するために、本発明に係る制御方法は、位置制御手段を内部に有した力制御手段を備え、前記力制御手段が外部から入力された力情報に基づいてアドミッタンス制御を行うことで、外部の物体と他の物体との間で発生する接触力を制御する制御装置による制御方法であって、前記位置制御手段が、プロクシベーストスライディングモード制御を用いることを特徴とする。
【発明の効果】
【0016】
本発明によれば、従来のアドミッタンス制御の不安定化を緩和することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に係るロボット制御装置を含む人ロボット協働システムを模式的に示す概念図である。
【図2】本発明の実施形態に係るロボット制御装置の構成を模式的に示すブロック図である。
【図3】本発明の実施形態に係るロボット制御装置による力制御の流れの概略を示すフローチャートである。
【図4】本発明の実施形態に係るロボット制御装置の性能を検証する検証装置の構成を模式的に示すブロック図である。
【図5】検証装置の仮想物体運動算出器における制御モデルを模式的に示す概念図である。
【図6】検証装置の位置制御器に比較例として用いた出力制限型PD制御器の制御ブロック図である。
【図7】検証装置の位置制御器に実施例として用いたPSMCの制御ブロック図である。
【図8】検証装置による検証結果の一例を示すグラフである。
【図9】従来のPSMC制御器の物理的解釈を示す模式図である。
【発明を実施するための形態】
【0018】
以下、本発明を実施するための形態(実施形態という)について図面を参照して詳細に説明する。
【0019】
[1.人ロボット協働システムの構成]
図1に示す人ロボット協働システム100は、ロボットRと、ロボット制御装置1とを備えている。ロボット制御装置1は、ケーブル20を介してロボットRに接続されており、ロボットRのアーム10が人Pと協働して作業できるようにアーム10を制御するものである。本実施形態では、ロボット制御装置1の外部の物体をアーム10として説明するが、本発明はこれに限られるものではない。また、図1に示す例では、ロボットRは2本のアーム10を備えているが、アームの台数はこれに限定されるものではない。アーム10としては、作業用途に合わせた形態のものを用いることができる。アーム10は、例えば多関節で旋回軸が多軸の産業用ロボットアームで構成される。
【0020】
ロボットRのアーム10は、図2に示すように、力覚センサ11と、アクチュエータ12とを主に備えている。なお、図2では1つのアーム10を例示した。
力覚センサ11は、アーム10の例えば先端等に1つ又は複数設けられている。力覚センサ11には、作業に必要な押圧力を検出するセンサ、人Pや障害物に接触したことを検出するセンサを含む。なお、図2では1つの力覚センサ11を例示した。
【0021】
アクチュエータ12は、アーム10の推力を発生させる駆動機構であって、アーム10の関節等を形成している。アクチュエータ12は、例えば、関節の屈曲や伸縮の駆動力を発生するサーボモータ14や位置検出センサとしてのエンコーダ15を備えている。なお、図2では1つのアクチュエータ12を例示した。
【0022】
[2.制御装置の構成]
ロボット制御装置1は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、入出力インタフェース等を備え、図2に示すように、目標力設定手段2と、力制御手段3と、サーボアンプ4とを主に備えている。
【0023】
目標力設定手段2は、アーム10の推力の目標となる目標力を力制御手段3に設定するものである。目標力の設定値は、例えば、ロボット制御装置1の外部から入力するようにしてもよいし、ロボット制御装置1の内部に記憶しておいてもよい。例えば内部に記憶する場合、例えばアーム10の行う作業に応じた固定値の目標力を記憶したり、時間経過に応じて変化する目標力等を予めプログラミングして記憶したりすることができる。
例えばアーム10が人に衝突した場合の目標力fdとしては、アーム10が他の物体に接触した際にダメージを与えず、かつ、応答性を確保できる大きさ、例えば、
(仮想物体の加速度)=(目標力fd−仮想粘性×仮想物体の速度)/(仮想物体の質量)≧4.9m/s2の条件を満たすように設定されている。
【0024】
力制御手段3は、位置制御手段8を内部に有し、外部から入力された力情報に基づいてアドミッタンス制御を行うことで、外部の物体(アーム)と他の物体との間で発生する接触力を制御するものであり、算出したトルク(推力)指令値をサーボアンプ4に出力する。
サーボアンプ4は、トルク(推力)指令値を電流指令値に変換し、電流をサーボモータ14に出力することで、サーボモータ14を制御する。
【0025】
本実施形態では、力制御手段3は、図示するように、目標力取得手段5と、接触力取得手段6と、仮想物体運動算出手段7と、位置制御手段8とを備えることとした。
目標力取得手段5は、目標力設定手段2から目標力を取得するものであり、所定のインタフェースから構成されている。
接触力取得手段6は、アーム10の力覚センサ11で検出された接触力を取得するものであり、所定のインタフェースから構成されている。
【0026】
仮想物体運動算出手段7は、力覚センサ11で検出された接触力を入力として用いて、予め定められたパラメータを含む仮想物体についての運動方程式を解くことで仮想物体の目標位置を算出するものである。算出される目標位置は、目標位置指令値として位置制御手段8に出力される。ここで、仮想物体とは、アーム10に対応してアームの実質量よりも小さな0でない所定の質量を有して所定の加速度運動を行うと仮定したときのアームに対応した仮想空間上(計算機内)の物体である。以下では仮想物体とはプロクシを意味するものではないこととする。なお、仮想物体は、仮想物体運動算出手段7による力制御にのみ導入されており、位置制御手段8の処理においては導入されていないが、見かけ上はアーム10と同じ位置にあると想定してもよい。また、接触力については、力覚センサ11の検出値を用いずに、推定(シミュレーション)により得ることもできる。
【0027】
仮想物体運動算出手段7は、仮想物体の動特性を示す以下の式(1)に接触力fを入力することで、式(1)左辺の目標加速度指令値(位置指令値pdの時間2階微分値)を所定の動作周期で算出する。この仮想物体運動算出器410は、式(1)左辺の時間2階微分値に対して積分を2回実行して位置指令値pdを目標位置として求め、位置制御手段8に出力する。位置指令値pdを目標位置pdとも表記する。
【0028】
【数1】

【0029】
ここで、パラメータfdは仮想物体に加えられる仮想の力(目標力)、fは仮想物体が人等の被接触体に加える力(接触力)、vは仮想物体の速度、mdは仮想物体の質量、cdは仮想物体の粘性を示す。
例えば、fd、md、cdとしては予め定められた所定値を付与しておく。
fとしては力覚センサ11の検出値を用いることができる。
vとしては、例えば式(1)を積分する計算を行うことにより求めることができる。また、アーム10の速度の実測値を用いることもできる。
【0030】
本実施形態では、仮想物体運動算出手段7には、目標力取得手段5から目標力fdが入力し、接触力取得手段6から接触力fが入力する。また、算出された位置指令値pdは位置制御手段8に出力される。
【0031】
ここで、位置指令値pdにおける位置とは、仮想物体の目標位置であり、アクチュエータ12のエンコーダ15にて検出することのできる位置(これを単にアクチュエータ12の位置ともいう)の目標値を示している。エンコーダ15にて検出することのできる位置とは、エンコーダの出力値、エンコーダ出力から換算されるサーボモータ14の回転位置、アーム10の移動した位置の位置座標であってもよい。以下では、エンコーダ15にて検出された位置を、一例としてアーム10の位置(これを位置pと呼ぶ)とする。よって、アクチュエータ12の位置とは、一例としてアーム10の位置と同じ意味で用いる。この意味で、アーム10の位置は仮想物体の位置と解釈することができる。
【0032】
位置制御手段8は、公知のプロクシベーストスライディングモード制御(以下、PSMCとも表記する)を用いてアーム10に備わるアクチュエータ12を駆動するトルク(推力)指令値を出力するものである。
【0033】
位置制御手段8は、例えば、図9に示す仮想連結要素904としてのPD制御器と、図9に示すSMC(スライディングモード制御器)905とを備え、PD制御器とSMCとを協働させてプロクシベーストスライディングモード制御を行う。この場合、PD制御器は、仮想空間における質量のない点状の仮想的な物体であるプロクシとアーム10との間を仮想的に連結する仮想連結要素からプロクシに対して加えられる仮想的な粘弾性力を比例動作および微分動作により算出する。また、SMCは、仮想的な粘弾性力と釣り合う力であってプロクシの位置をSMCに設定された目標位置に収束させる制御を行う際にプロクシに加えられる仮想的な力をアーム10に加える推力として算出する。
【0034】
本実施形態では、位置制御手段8には、仮想物体運動算出手段7から位置指令値pdが目標位置として入力すると共に、アクチュエータ12のエンコーダ15で検出されたアームの位置pが入力する。位置制御手段8は、これら入力に基づいてPSMCを用いて、アクチュエータ12を駆動するためのトルク(推力)指令を算出する。
【0035】
[3.ロボット制御装置による力制御の流れ]
ロボット制御装置1による力制御の流れについて図3を参照(適宜、図2参照)して説明する。図3は、本発明の実施形態に係るロボット制御装置による力制御の流れの概略を示すフローチャートである。ここでは、一例として目標力fdが固定値に設定されているものとする。
【0036】
ロボット制御装置1は、接触力取得手段6によって、力覚センサ11の出力を取得することで接触力fを検出する(ステップS1)。接触力fが目標力fd−cdvよりも小さい場合(ステップS2:Yes)、ロボット制御装置1は、仮想物体運動算出手段7によって、目標位置pdを現在よりも深くする向きの加速度を設定し(ステップS3)、目標位置pdを設定(更新)する(ステップS7)。目標位置pdを現在よりも深い位置に設定することでアーム10の接触力を高めることができる。
【0037】
また、接触力fの判定において、接触力fが目標力fd−cdvよりも大きい場合(ステップS4:Yes)、ロボット制御装置1は、仮想物体運動算出手段7によって、目標位置pdを現在よりも浅くする向きの加速度を設定し(ステップS5)、目標位置pdを更新する(ステップS7)。目標位置pdを現在よりも浅い位置に設定することでアーム10の接触力を低くすることができる。
【0038】
また、接触力fの判定において、接触力fと目標力fd−cdvとが等しい場合(ステップS4:No)、ロボット制御装置1は、加速度をゼロに設定し(ステップS6)、目標位置pdを更新する(ステップS7)。
【0039】
そして、目標位置pdの更新(ステップS7)に続いて、ロボット制御装置1は、位置制御手段8によって、トルク(推力)指令値を算出する(ステップS8)。そして、ロボット制御装置1は、サーボアンプ4によって、トルク(推力)の指令値を電流指令値に変換し、電流をロボットRのアーム10のアクチュエータ12に供給し(ステップS9)、ステップS1に戻る。よって、衝突の瞬間に大きな衝突力が発生したとしても、ロボット制御装置1は、これらの処理を繰り返すことで、やがて接触力fと目標力fd−cdvとが等しくなるような制御、すなわち、アーム10が停まって人Pから離間する向きの推力を出力するように制御をかけることができる。
【0040】
[4.ロボット制御装置の性能]
ここでは、アーム10が人に衝突する場合におけるロボット制御装置1の性能について説明する。アーム10が人に衝突する場合を想定した衝突試験を行って性能を検証した。以下に、4−1.検証装置の構成、4−2.制御モデル、4−3.位置制御器の比較例の構成、4−4.位置制御器の実施例の構成、4−5.衝突試験条件、4−6.試験結果に分けて詳細に説明する。
【0041】
<4−1.検証装置の構成>
衝突試験に用いた検証装置の構成について図4を参照して説明する。図4は、本発明の実施形態に係るロボット制御装置の性能を検証する検証装置の構成を模式的に示すブロック図である。検証装置400は、図4に示すように、アドミッタンス制御器401と、サーボアンプ402と、直動アクチュエータ403と、衝突体404と、力覚センサ405と、緩衝材407を含む被衝突体406と、を備える。
【0042】
アドミッタンス制御器401は、直動アクチュエータ403を制御対象として衝突体404の位置を移動させることで衝突体404による衝突力を制御するためのトルク(推力)指令を出力するものであり、仮想物体運動算出器410と、位置制御器420とを備える。
【0043】
仮想物体運動算出器410は、図2に示した目標力取得手段5、接触力取得手段6および仮想物体運動算出手段7の機能を備えている。
仮想物体運動算出器410には、力制御において仮想物体に設定される目標力fdが入力すると共に、力覚センサ405で検出される衝突体404と被衝突体406との間の接触力fが入力する。ここで、仮想物体とは、衝突体404が実際の質量よりも小さな0でない所定の質量を有すると仮定したときの衝突体に対応した仮想空間上(計算機内)の物体である。仮想物体運動算出器410は、後記する制御モデルにしたがって直動アクチュエータ403の目標位置である位置指令値pdを算出し、位置制御器420に出力する。
【0044】
位置制御器420は、仮想物体運動算出器410から入力する位置指令値pdに基づいて、移動機構である直動アクチュエータ403を駆動するためのトルク(推力)指令を算出するものである。位置制御器420には、直動アクチュエータ403の目標位置として設定された位置指令値pdが入力すると共に、直動アクチュエータ403の図示しないエンコーダにて検出された位置pが入力する。
【0045】
性能を比較するため、位置制御器420として、図6に示す出力制限型PD制御器601を採用した場合の検証装置を比較例とする。出力制限型PD制御器601の詳細については後記する。
また、位置制御器420として、図7に示すPSMC701を採用した場合の検証装置を実施例とする。PSMC701は、図2に示す位置制御手段8の機能を有している。詳細については後記する。
【0046】
サーボアンプ402は、図2に示すサーボアンプ4と同様なので説明を省略する。
直動アクチュエータ403は、図2に示すアクチュエータ12と同様の機能を有し、アドミッタンス制御器401の制御対象である。直動アクチュエータ403は、衝突体404を移動させる移動機構であって、サーボモータ、ボールねじ、直動ガイド、エンコーダを備えている。
【0047】
衝突体404は、図2に示すアーム10の手先に相当し、力覚センサ405を備え、直動アクチュエータ403の駆動によって直線上にスライド運動をして被衝突体406に衝突する。なお、図4では、衝突前の状態を図示した。
力覚センサ405は、図2に示す力覚センサ11と同様の機能を有し、被衝突体406に接触したときの接触力を検知し、アドミッタンス制御器401にフィードバックする。
被衝突体406の衝突体404と接触する面には、スポンジからなる緩衝材407が設けられている。緩衝材は衝突体に設けられていてもよいし、両方に設けられていてもよい。
【0048】
<4−2.制御モデル>
仮想物体運動算出器410において目標位置を算出するための制御モデルについて図5を参照して説明する。図5は、検証装置の仮想物体運動算出器における制御モデルを模式的に示す概念図である。図5に示す構成はアドミッタンス制御の一例である。
仮想物体501は、力制御において図4に示す衝突体404が実際の質量よりも小さな0でない質量mdを有したものと仮定したときの衝突体に対応した計算機内の物体である。なお、図5では、衝突したときの状態を図示した。
【0049】
被接触体502は、図4に示す緩衝材407を含む被衝突体406に対応した仮想空間上(計算機内)の物体である。仮想物体501が被接触体502に加える力(接触力)をfとする。ここで、力fは、図4に示す衝突体404がシミュレーション通りの運動を実際にした場合、衝突体404の接触力と同じものとなる。そこで、接触力fを、図4に示す力覚センサ405を使って測定した。なお、力覚センサによる直接的な測定をすることなく推定(シミュレーション)により接触力fを求めてもよい。
【0050】
力発生要素503は、図4に示す目標力fdに対応し、仮想物体501に加えられる仮想の力(仮想物体501に対して設定された力)を表している。
仮想ダンパ504は、仮想物体501の粘性cdを発生させる仮想空間上(計算機内)のダンパを表している。粘性抵抗(cdv)を算出するにあたり、仮想物体501の速度vとしては、前記式(1)を積分した値を用いた。
仮想物体501の目標位置pdは、衝突体404の目標位置である位置指令値pdを示している。
【0051】
なお、仮想物体501の速度vとしては、衝突体404の実際の速度を用いてもよい。また、ある速度からの衝突(接触)に限定する必要はない。また、最初から接触状態にあってもよい。
【0052】
仮想物体運動算出器410は、仮想物体501の動特性を示す前記した式(1)に接触力fを入力することで、式(1)左辺の目標加速度(位置指令値pdの時間2階微分値)を所定の動作周期で算出し、さらに積分を2回実行して求めた、仮想物体の目標位置pdを算出し、位置制御器420に出力する。
【0053】
<4−3.位置制御器の比較例の構成>
力の指令値を算出する位置制御器の比較例について図6を参照(適宜図4参照)して説明する。図6は、検証装置の位置制御器に比較例として用いた出力制限型PD制御器の制御ブロック図である。
出力制限型PD制御器601は、位置指令値pdと制御対象602の位置pに基づいて制御対象602(図4の衝突体404)に加える力gを算出し、これをアクチュエータへの力指令値とするものである。ここで、制御対象602の位置pは衝突体404の位置すなわちエンコーダの検出値である。図6においてhは、このシステムに加わる外力であり、SAT603は以下の式(2)に示す単位飽和関数sat(x)を表している。
【0054】
【数2】

【0055】
出力制限型PD制御器601は、図6にて破線で示す枠内の制御ブロックで表される制御として式(3)の右辺を演算することで制御対象602(図4の衝突体404)に加える力gを算出する。
【0056】
【数3】

【0057】
ここで、Fは、移動機構である直動アクチュエータ403が発生する力の上限値を表す。また、Kは比例ゲイン、Bは微分ゲイン、pdは位置指令値、pは衝突体404の位置すなわち直動アクチュエータ403のエンコーダ検出値、sat(x)は式(2)の単位飽和関数を示す。
【0058】
<4−4.位置制御器の実施例の構成>
位置制御器の実施例について図7を参照(適宜図4および図9参照)して説明する。図7は、検証装置の位置制御器に実施例として用いたPSMCの制御ブロック図である。このPSMCの制御ブロックは、一例として、PD制御器(図9の仮想連結要素904)と、スライディングモード制御器(図9のSMC905)との組み合わせにより実現されるものである。なお、PSMCの制御ブロックは、P制御器あるいはPID制御器と、スライディングモード制御器との組み合わせによっても実現可能である。
【0059】
図7に示すPSMC701は、位置指令値pd(図9においてはSMC905に設定された目標位置901)と制御対象702(図9の制御対象902)の位置pに基づいてアクチュエータへの力指令値gを算出するものである。ここで、制御対象702の位置pはエンコーダの検出値である。また、制御対象702(図9の制御対象902)には、プロクシ(図9のプロクシ903)が接続されているものとする。プロクシは質量のない点状の仮想物体である。プロクシの位置をpsとする(図9参照)。
【0060】
図7においてhは、このシステムに加わる外力であり、SGN703は以下の式(4)に示す符号関数sgn(x)を表している。
【0061】
【数4】

【0062】
式(4)の定義により、x>0の場合にはsgn(x)=+1となり、x<0の場合にはsgn(x)=−1となる。また、式(4)はx=0の場合にはsgn(x)が閉区間[−1,1]の任意の値を取りうることを定義している。つまり、図7に示すSGN703は、位置情報を入力とし、−1〜1のいずれかの無次元の値を出力する。なお、式(4)と前記した式(2)との間には、所定の条件を満たすときにy=sgn(x-y)とy=sat(x)とが等価であるという関係があることが知られている(例えば特開2008−97152号公報参照)。
【0063】
図7に示すPSMC701は、図7にて破線で示す枠内の主として下側の制御ブロックで表される制御として式(5)の上側の式と、同枠内の主として上側で表される制御ブロックの制御として式(5)の下側の式と、を解いて制御対象に加える力gを算出し、これをアクチュエータへの指令値とする。
【0064】
【数5】

【0065】
ここで、Hはプロクシが目標位置に収束するときの時定数を表す。また、Fは移動機構である直動アクチュエータ403が発生する力の上限値、Kは比例ゲイン、Bは微分ゲイン、psはプロクシの位置、pdは位置指令値、pは衝突体404の位置すなわちエンコーダ検出値、sgn(x)は式(4)の符号関数を示す。
【0066】
PSMC701が発生する発生力gは、プロクシに対してスライディングモード制御器(SMC905)から加えられる力であって、式(5)の上側のgで表される。また、プロクシに対して仮想連結要素904(図9参照)から加えられる力(仮想的な粘弾性力)は、式(5)の下側のgで表され、式(5)の上側のgと同じ力である。なお、式(5)の導出過程の詳細については例えば特許文献1に記載されている。
【0067】
<4−5.衝突試験条件>
衝突試験における各種の条件を以下に説明する。
≪4−5−1.アドミッタンス制御パラメータ≫
アドミッタンス制御パラメータとは、アドミッタンス制御器401の仮想物体運動算出器410にて前記した式(1)を演算するための以下のパラメータのことである。すなわち、アドミッタンス制御パラメータは、仮想物体に加えられる仮想の力(目標力)fd、仮想物体の質量md、仮想物体の粘性cdである。これらfd、md、cdとして次の値を予め設定した。
d:5[N]
d:0.7[kg]
d:0.008[Ns/mm]
【0068】
≪4−5−2.位置制御器パラメータ≫
位置制御器パラメータとは、アドミッタンス制御器401の位置制御器420にて前記した式(2)〜(5)を演算するための以下のパラメータのことである。すなわち、位置制御器パラメータは、比較例および実施例に関して比例ゲインK、微分ゲインB、アクチュエータが発生する力の上限値Fと、実施例に関しての時定数Hである。これらK、B、F、Hとして次の値を予め設定した。
K:1000[N/mm]
B:3[Ns/mm]
F:45[N]
H:0.1[s](PSMC701に対してのみ用いた)
【0069】
≪4−5−3.その他の検証条件≫
その他の検証条件として、次の値を実測した。
衝突体の実質量m:4.5[kg]
緩衝材:EPDMスポンジ厚t:10[mm]
衝突直前の速度:v=150[mm/s]
なお、EPDMは、エチレン−プロピレン−ジエンゴムである。
【0070】
<4−6.試験結果>
図6に示す出力制限型PD制御器601を位置制御器420として採用した場合の検証装置(比較例)と、図7に示すPSMC701を位置制御器420として採用した場合の検証装置(実施例)とを用いて、上記衝突試験条件のもとで、衝突試験をそれぞれ行った。衝突試験は、一例として実質量4.5kgの衝突体を直線上で移動させて、衝突直前に時速0.54kmで被衝突体に衝突させるものである。この衝突試験は、例えば、上から下へと直線上に移動するロボットアームの下に、人が誤って手を出して衝突した(はさまれた)場合を想定している。衝突試験の結果によって、比較例や実施例の検証装置が、人への衝撃を緩和するために即座にロボットアームが人から離間する向きの推力を発生させるような制御が安定にできるか検証することが可能となる。
【0071】
各検証装置による検証結果として、衝突体404が被衝突体406に衝突したときに測定された接触力fの時間変動を図8に示す。図8に示すグラフの横軸は時刻t[秒]を示し、縦軸は接触力f[N]を示す。接触力が5[N]のライン(細い実線)は、予め設定されたアドミッタンス制御パラメータの目標力fdを示す。破線はベースの位置制御を出力制限型PD制御とした場合の力制御(比較例)による衝突体の接触力fを示す。太い実線はベースの位置制御をPSMCとした場合の力制御(実施例)による衝突体の接触力fを示す。
【0072】
比較例は、力制御の内部の位置制御にPD制御を用いた従来の制御装置の場合の効果を検証したことに相当する。具体的には、衝突試験では、ロボットアームに対応した衝突体(実質量m=4.5kg)に対して実質量の約15%にあたる質量(仮想物体の質量md=0.7kg)を仮想質量として設定した。
【0073】
この例では、図示するようにt=0.25秒のときに衝突した。比較例の場合、図8に破線で示すように、t=0.3秒(衝突後0.05秒)のときには、目標力fdを僅かに超える程度(約10N)の接触力fを示す。その後、接触力fは0Nまたはマイナスの接触力となるが、t=0.4秒(衝突後0.15秒)のときには、かろうじてアクチュエータが発生する力の上限値F(=45N)以内の約40Nの接触力を示した。その後、接触力fは0Nまたはマイナスの接触力となるが、t=0.6秒(衝突後0.35秒)のときには、設定された力の上限値F(=45N)をはるかに超え、目標力fdの22倍となる約110Nの接触力を示した。以下同様に、図8に破線で示すように、大きな接触力と0あるいはマイナスの接触力とが時間的に交互に表れる波形が衝突から1秒間に6回も表れ、衝突後1秒以上経過しても接触力が振動する現象が観測された。
なお、図示を省略するが、安定化のため(振動をなくすため)仮想質量をより大きく設定した場合は接触力(衝突力)が大きくなった。また、接触力を下げるため仮想質量をより小さく設定すると振動が観測された。
【0074】
実施例の場合、図8に太い実線で示すように、t=0.3秒(衝突後0.05秒)のときには、比較例と同様に、目標力fdを僅かに超える程度(約10N)の接触力fを示す。その後、接触力はこれ以上大きくなることはなく、目標力fdに向かって減衰振動し、衝突後0.2〜0.3秒で収束しており安定であった。実施例は、比較例と同じ衝突試験条件において、力制御の内部の位置制御にPSMCを用いた制御装置とすることで、接触力が小さくなり、かつ、振動も短時間に収束したので、従来のアドミッタンス制御の不安定化を緩和できる効果を奏することを検証することができた。なお、衝撃低減効果は一例であり、衝撃力検証のために実施した実験は一例である。
【0075】
力制御の内部の位置制御において従来のPD制御をPSMCに置き換えることでどのような現象が生じるかを事前に想定することは困難であった。ゆえに、前記した試験結果のように、力制御の内部の位置制御にPSMCを用いることで接触力の振動が緩和されることは、容易に想到できない顕著な効果である。
【0076】
以上説明したように、本発明の実施形態に係るロボット制御装置1は、力制御のベースとなる位置制御にPD制御等を用いた従来の制御にて設定する仮想質量の低減が限界となる場合であっても、アドミッタンス制御の不安定化を緩和することができる。
【0077】
以上、本発明の制御装置の好ましい実施形態について説明したが、本発明は、前記した実施形態に限定されるものではない。例えば、PSMCはPD型に限らず、P型,PID型でもよい。
【0078】
また、本実施形態では、制御装置がロボットアームの力制御を行うものとして説明したが、本発明は、ロボットアームの力制御に限らず、アドミッタンス制御全般に幅広く応用することが可能である。この場合、アドミッタンス制御全般の安定化に寄与する効果を奏することができる。
【符号の説明】
【0079】
100 人ロボット協働システム
1 ロボット制御装置
2 目標力設定手段
3 力制御手段
4 サーボアンプ
5 目標力取得手段
6 接触力取得手段
7 仮想物体運動算出手段
8 位置制御手段
10 アーム
11 力覚センサ
12 アクチュエータ
14 サーボモータ
15 エンコーダ
20 ケーブル
401 アドミッタンス制御器
402 サーボアンプ
403 直動アクチュエータ
404 衝突体
405 力覚センサ
406 被衝突体
407 緩衝材
410 仮想物体運動算出器
420 位置制御器
501 仮想物体
502 被接触体
503 力発生要素
504 仮想ダンパ
601 出力制限型PD制御器
602 制御対象
603 単位飽和関数
701 PSMC
702 制御対象
703 符号関数
901 目標位置
902 制御対象
903 プロクシ
904 仮想的な保持要素
905 スライディングモード制御
P 人
R ロボット

【特許請求の範囲】
【請求項1】
位置制御手段を内部に有した力制御手段を備え、前記力制御手段が外部から入力された力情報に基づいてアドミッタンス制御を行うことで、外部の物体と他の物体との間で発生する接触力を制御する制御装置であって、
前記位置制御手段は、プロクシベーストスライディングモード制御を用いることを特徴とする制御装置。
【請求項2】
前記位置制御手段は、
比例動作を少なくとも含むフィードバック制御を行う比例制御を含むフィードバック制御器と、
スライディングモード制御則に基づくスライディングモード制御器とを備え、
前記比例制御を含むフィードバック制御器と前記スライディングモード制御器とを協働させて前記プロクシベーストスライディングモード制御を行うものであって、
前記比例制御を含むフィードバック制御器は、仮想空間における質量のない点状の仮想的な物体であるプロクシと前記外部の物体との間を仮想的に連結する仮想連結要素から前記プロクシに対して加えられる仮想的な粘弾性力を算出し、
前記スライディングモード制御器は、前記粘弾性力と釣り合う力であって前記プロクシの位置を当該スライディングモード制御器に設定された目標位置に収束させる制御を行う際に前記プロクシに加えられる仮想的な力を前記物体に加える推力として算出する、
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記物体は、当該物体に加える推力を発生させる駆動機構と位置検出センサとを備えており、
前記力制御手段は、
前記物体に対応して前記物体の実質量よりも小さな0でない所定の質量を有した仮想物体について予め定められた、仮想的な質量、仮想的な粘弾性および前記仮想物体に加えられる仮想的な力としての目標力の各パラメータを含む前記仮想物体についての運動方程式を前記接触力を入力として用いて解くことで前記仮想物体の目標位置を算出する仮想物体運動算出手段を備え、
前記位置制御手段は、前記算出された目標位置と前記位置検出センサで検出された前記物体の位置とを入力として前記プロクシベーストスライディングモード制御を用いて前記物体を駆動する駆動機構にトルク(推力)指令値を出力することを特徴とする請求項1または請求項2に記載の制御装置。
【請求項4】
位置制御手段を内部に有した力制御手段を備え、前記力制御手段が外部から入力された力情報に基づいてアドミッタンス制御を行うことで、外部の物体と他の物体との間で発生する接触力を制御する制御装置による制御方法であって、
前記位置制御手段は、プロクシベーストスライディングモード制御を用いることを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−54629(P2013−54629A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−193661(P2011−193661)
【出願日】平成23年9月6日(2011.9.6)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】