外力検知装置、ロボット制御システム及び外力検知方法
【課題】 力覚センサーの先に設けられた機械機構により外力が変調される場合に、精度の高い外力検知を行う外力検知装置、ロボット制御システム及び外力検知方法等を提供すること。
【解決手段】 外力検知装置30は、力覚センサー10から出力されたセンサー情報を取得する取得部32と、取得したセンサー情報に対して補正処理を行う補正部34とを含み、力覚センサー10には、外力fを変換して力Fとして力覚センサー10に伝達する機械機構(ハンド110等)が設けられ、補正部34は機械機構での変換の逆変換を補正処理として行う。
【解決手段】 外力検知装置30は、力覚センサー10から出力されたセンサー情報を取得する取得部32と、取得したセンサー情報に対して補正処理を行う補正部34とを含み、力覚センサー10には、外力fを変換して力Fとして力覚センサー10に伝達する機械機構(ハンド110等)が設けられ、補正部34は機械機構での変換の逆変換を補正処理として行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外力検知装置、ロボット制御システム及び外力検知方法等に関する。
【背景技術】
【0002】
従来、センシング部に対してはたらく力をセンサー情報として取得する力覚センサーと、当該力覚センサーを用いた種々のシステムが知られている。
【0003】
例えば、ロボット制御の分野ではインピーダンス制御に代表される力制御を行うシステムが考えられる。インピーダンス制御とは、ロボットのマニピュレーターを、その実際の質量・粘性特性・弾性特性に係わらず、あたかも作業に適した値を持つかのように動作させる制御手法である。具体的には、マニピュレーターに設けられた力覚センサーから得られる力情報に基づいて運動方程式の解を求め、マニピュレーターをその解に従って動作させることになる。
【0004】
インピーダンス制御を行うことで、位置の制御に加えて力の制御を行うことができるため、物体の表面をなぞる、ある物体を他の物体に嵌め合わせる、柔物体を破壊しないように把持する等の場面に対応することが可能になる。
【0005】
特許文献1には、非常に複雑な系においても精度よくインピーダンス制御を行う手法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−320451号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1等の力覚センサーを用いた力制御では、力覚センサーのセンサー情報が正確に外力の大きさを表していることが前提になっている。しかしながら、力覚センサーよりも先に何らかの構造物、例えばロボットのハンドが存在した場合、力制御においてはハンドが受ける外力を正確に取得する必要があるのに対して、当該外力はハンドの構造により変調を受けるため、力覚センサーが検知するのは変調後の外力となってしまう。
【0008】
ハンドが機械的に高剛性であれば、この変調の程度は少ないが、剛性が低い場合には変調度合いは大きいものになり、変調された外力に基づくインピーダンス制御は所望の動作にならない。
【0009】
本発明の幾つかの態様によれば、力覚センサーの先に設けられた機械機構により外力が変調される場合に、精度の高い外力検知を行う外力検知装置、ロボット制御システム及び外力検知方法等を提供することができる。
【課題を解決するための手段】
【0010】
本発明の一態様は、力覚センサーから出力されたセンサー情報を取得する取得部と、取得した前記センサー情報に対して補正処理を行う補正部と、を含み、前記力覚センサーには、外力fを変換して力Fとして前記力覚センサーに伝達する機械機構が設けられ、前記補正部は、前記機械機構での変換の逆変換を、前記補正処理として行う外力検知装置に関係する。
【0011】
本発明の一態様では、力覚センサーに機械機構が設けられ、当該機械機構は外力fを変換して力Fとして力覚センサーに伝達する。その場合に、取得したセンサー情報に対して、機械機構での変換の逆変換に当たる補正処理を施すことで、実際に機械機構にはたらいた外力fを正確に求めること等が可能になる。
【0012】
また、本発明の一態様では、前記補正部は、前記機械機構での前記変換が所定の変換式でモデル化される場合に、前記変換式の逆変換式を用いて前記補正処理を行ってもよい。
【0013】
これにより、変換を所定の変換式によりモデル化し、当該変換式の逆変換式を用いることで補正処理を容易に行うこと等が可能になる。
【0014】
また、本発明の一態様では、前記補正部は、前記変換式として常微分方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記常微分方程式の前記逆変換式を用いて前記補正処理を行ってもよい。
【0015】
これにより、上記変換式として常微分方程式を用いることが可能になる。
【0016】
また、本発明の一態様では、前記補正部は、前記変換式として、質量項、粘性項及び弾性項を係数パラメーターとする運動方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記運動方程式の前記逆変換式を用いて前記補正処理を行ってもよい。
【0017】
これにより、上記変換式として運動方程式を用いることが可能になる。
【0018】
また、本発明の一態様では、前記補正部は、デジタルフィルター処理により前記補正処理を行ってもよい。
【0019】
これにより、補正処理をデジタルフィルター化することが可能になり、ハードウェアー化等を容易にすることができる。
【0020】
また、本発明の一態様では、前記補正部は、第n(nは3以上の整数)のタイミングにおける前記センサー情報の値をFn、第n−1のタイミングにおける中間パラメーターをxn−1とし、前記デジタルフィルター処理の係数パラメーターをα及びβとした場合に、xn=αFn+βxn−1により、前記第nのタイミングにおける前記中間パラメーターxnを求めるとともに、求められた前記中間パラメーターxn、前記第n−1のタイミングで求められた前記中間パラメーターxn−1及び第n−2のタイミングで求められた前記中間パラメーターxn−2と、前記デジタルフィルター処理の前記係数パラメーターC0,C1,C2から、fn={xn−(C1xn−1+C2xn−2)}/C0により、前記第nのタイミングにおける前記補正処理後の前記センサー情報fnを求めてもよい。
【0021】
これにより、上述した式により具体的に補正処理を実行することが可能になる。
【0022】
また、本発明の一態様では、前記取得部は、前記力Fに対応する情報を前記センサー情報として取得し、前記補正部は、前記センサー情報に対して前記補正処理を行うことで、前記外力fに対応する情報を取得してもよい。
【0023】
これにより、力Fに対して補正処理を行うことで、外力fを取得することが可能になる。
【0024】
また、本発明の一態様では、前記機械機構は、ロボットのエンドエフェクターであってもよい。
【0025】
これにより、機械機構としてロボットのエンドエフェクターが用いられた場合にも、上記の補正処理を行うこと等が可能になる。
【0026】
また、本発明の他の態様は、上記のいずれか記載の外力検知装置と、前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいてロボットの制御処理を行う制御部と、を含むロボット制御システムに関係する。
【0027】
これにより、外力検知装置での処理結果を用いてロボットの制御を行うこと等が可能になる。
【0028】
また、本発明の一態様では、前記制御部は、前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいて、前記ロボットの目標値の補正値を出力する力制御部と、前記補正値により補正された前記目標値に基づいて、前記ロボットのフィードバック制御を行うロボット制御部と、を含んでもよい。
【0029】
これにより、ロボット制御として力制御を行うこと等が可能になる。
【0030】
また、本発明の他の態様は、外力fを変換して力Fとして伝達する機械機構が設けられた力覚センサーから出力されたセンサー情報に対して補正処理を行う外力検知方法であって、前記力覚センサーからの前記センサー情報を取得し、取得した前記センサー情報に対して、前記機械機構での変換の逆変換を前記補正処理として行う外力検知方法に関係する。
【図面の簡単な説明】
【0031】
【図1】力覚センサーの構成例。
【図2】力覚センサーの先に機械機構が設けられる具体例。
【図3】本実施形態の外力検知装置、ロボット制御システム及びそれらを含むロボットシステムの構成例。
【図4】ロボットシステムの一例。
【図5】機械機構のモデル化の例。
【図6】機械機構における変調を説明する図。
【図7】補正処理に用いられるデジタルフィルターの例。
【図8】補正処理に用いられるデジタルフィルターの他の例。
【図9】補正処理に用いられるデジタルフィルターの他の例。
【図10】図10(A)〜図10(C)は力制御についての説明図。
【図11】図11(A)、図11(B)はコンプライアンス制御についての説明図。
【図12】図12(A)、図12(B)はインピーダンス制御についての説明図。
【図13】機械機構の特性と力制御により実現された特性との関係を説明する図。
【図14】外力検知装置での処理を説明するためのフローチャート。
【発明を実施するための形態】
【0032】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0033】
1.本実施形態の手法
まず本実施形態の手法について説明する。本実施形態で用いられる力覚センサーの構成例を図1に示す。力覚センサーには種々の構成が考えられるが、基本的には外力によるセンシング部の微小な変形を、何らかの手法により測定することで外力を検知する。変形の測定手法には、歪みゲージを用いる手法、静電センサーを用いる手法、光学センサーを用いる手法、水晶素子等の圧電素子を用いる手法等が考えられる。
【0034】
図1に示したように、力覚センサーの機械的な構造を模式化することで、力覚センサーをモデル化することができる。力覚センサーの等価質量項をm0、等価粘性項をμ0、等価弾性項をk0とすると、その特性は下式(1)のように表すことができる。
【0035】
【数1】
【0036】
ここで、xは変形測定手法(具体例は上述したとおり)により測定されたセンシング部の変形(変位)を表し、Fは力覚センサーの受けた外力を表す。つまり、力覚センサーの等価質量項m0、等価粘性項μ0、等価弾性項k0は設計により知ることができるため、変位xを測定することにより、上式(1)から外力Fを取得することができる。力覚センサーはセンサー情報としてFを出力する。
【0037】
しかし、実際には弾性項k0が相対的に非常に大きく作られるため、時間微分項は相対的に小さくなり、一般的には運動方程式を明示的に考慮する必要はない。弾性項が相対的に大きくないと(つまり力覚センサーが非常に硬く作られないと)、センシング部の変形が大きくなってしまうため、それに伴い力覚センサーの先に設けられた構造物の空間的位置が変動してしまうためである。例えばロボットシステムであれば、力覚センサーの先にハンドが設けられることが想定されるが、力覚センサーが硬くないとハンドの空間的位置、つまりロボットの手先位置が変動することになり、手先位置制御の精度が劣化することになる。
【0038】
以上のことから、力覚センサーをモデル化したものを図1に示したものの、本実施形態においてはこのようなモデルまで考慮する必要はなく、力覚センサーのセンシング部の変形はないものとして取り扱ってもよい。
【0039】
本実施形態で問題とするのは、図2のように力覚センサーの先に機械機構(図2の例ではロボットのハンド)が設けられ、かつ当該機械機構の剛性が力覚センサーに比べて低い場合である。このような場合には、機械機構に対して加えられた外力fは、機械機構による変換(変調)を受け、力Fとして力覚センサーに伝えられる。一例としては、機械機構が柔構造物であれば、fによるエネルギーの一部が当該柔構造物の変形に用いられることで、力覚センサーに伝わる力Fは外力fに比べて小さくなるケース等が考えられる。
【0040】
力覚センサーの出力値であるFに関して、力覚センサー自身の変形等は考慮しなくてもよいことは上述したとおりである。つまり、機械機構から力覚センサーに伝えられた力は正確にセンサー情報に反映されると考えてよい。しかし、システムが実際に取得したいのは力Fではなく変換前の外力fである。図2に示したようにロボット制御システムであれば、力制御はハンドが処理対象となるワークに与える力に基づいて行われるべきであり、その力は反力としてワークからハンドに伝わる力に等しく、図2の外力fに他ならない。つまり、力覚センサーのセンサー情報をそのまま用いたのでは、所望の力制御は行えないことになり好ましくない。ロボット制御システム以外のシステムにおいても、外部との力のやり取りは力覚センサーよりも先に設けられた機械機構において行われるはずであり、当該機械機構による外力の変換を無視することはできない。
【0041】
なお、機械機構の剛性が高ければ、機械機構による外力fに対する変換の影響は小さくなるが、剛性の低い機械機構を用いることで他の利点が生じるケースもあるため、必ずしも機械機構の剛性を高いものにすることはできない。以下、具体例を、ロボット制御システムを用いて説明する。
【0042】
ロボット制御システムの制御対象となるロボットは、ハンドの空間的位置(ロボットの手先位置)の精度を向上させるため、高剛性とすることが一般的である。その上で、柔らかい特性が必要な場合(柔軟物を破壊しないように把持する場合等)では、インピーダンス制御等の力制御を行うことで、見かけ上ロボットを柔らかく制御する。例えば、見かけ上の弾性項等を小さくする制御を行えばよい。
【0043】
しかし、このような制御では柔らかい特性はあくまで力制御により実現されているに過ぎず、力制御を行う制御部が何らかに理由により動作を停止してしまった場合には、ロボットが本来持つ機械的な特性が現れることになり、剛性が高いものとなる。つまり、制御部の停止中に作業者がロボットに接触した場合、高剛性であるロボットを押し返すこと等が非常に難しい。また、他のロボットや装置との衝突の問題もある。
【0044】
そこで、ロボットのハンドを柔構造物で構成する等、ロボット本来の機械的特性を柔らかくすることが考えられる。このようにすれば、制御部が何らかの理由により停止してしまったとしても、その際に現れるロボット本来の機械的な特性が柔らかいものになるため、作業者等との接触の際にも対処が容易である。なお、手先位置の精度が必要であれば、インピーダンス制御等の力制御により見た目上硬い特性を実現すればよい。
【0045】
以上のことから、力覚センサーの先に剛性の低い機械機構が設けられることがあり得、そしてその場合には機械機構による外力に対する変換が問題となる。そこで本出願人は、力覚センサーからのセンサー情報に対して、機械機構での変換の逆変換に相当する補正処理を行う手法を提案する。この手法を用いることで、力覚センサーのセンサー情報から外力を正確に検知することが可能になり、外力に基づいた処理を行う種々のシステムにおいて、当該システムでの処理を適切に行うことができる。
【0046】
以下、外力検知装置等のシステム構成例を説明した後、機械機構のモデル化及び機械機構による変換の逆変換について述べる。さらに逆変換処理をデジタルフィルター化する手法について説明した後、ロボット制御システムでのインピーダンス制御の具体例について触れ、最後にフローチャートを用いて処理の詳細について述べる。
【0047】
なお、以下の説明では、具体例としてロボット制御システムを用いて説明するが、本実施形態の外力検知装置はロボット制御システム以外のシステムに用いられることを妨げない。
【0048】
2.システム構成例
本実施形態の外力検知装置30を含むロボットシステムの構成例を図3に示す。また、本実施形態は外力検知装置30の他、力制御部20と、目標値出力部60と、ロボット制御部80とを含むロボット制御システムにも適用できる。なお本実施形態の外力検知装置、ロボット制御システムは図3の構成には限定されず、その一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0049】
本実施形態の外力検知装置30は、力覚センサー10からのセンサー情報に対して補正処理を行なって正確な外力を検知する。外力検知装置30は、取得部32と、補正部34を含む。
【0050】
取得部32は、力覚センサー10からのセンサー情報を取得する。取得部32は、例えば力覚センサー10とのインターフェースとして実現され、センサー情報をダイレクトに取得してもよい。また、図2のような構成の場合、機械機構(ハンド110)やアーム120等の自重、姿勢等により力覚センサー10において外力以外の力を検知してしまうことが考えられる。よって取得部32は、センサー情報に対して自重姿勢補正等の前処理を行った情報を取得してもよい。或いは、図3には不図示であるが、外力検知装置30が前処理部を含み、取得部32で取得した情報に対して、前処理部で自重姿勢補正等を行い、前処理後の情報に対して補正部34で補正処理を行なってもよい。
【0051】
補正部34は、取得部が取得したセンサー情報(取得後に前処理を行った情報も含む)に対して補正処理を行う。補正部34では、機械機構が受けた外力fが、当該機械機構により力Fに変換され力覚センサー10に伝えられたことを想定し、機械機構での変換の逆変換に相当する補正処理を行い、外力fを求める。機械機構自身及び機械機構での変換についてはモデル化を行い、それに基づいて逆変換を求めることになる。詳細については後述する。
【0052】
また本実施形態のロボット制御システムは、力制御部20、外力検知装置30、目標値出力部60、ロボット制御部80を含む。
【0053】
力制御部20は、力覚センサー10からのセンサー情報に基づいて力制御(力覚制御)を行って、目標値の補正値を出力する。更に具体的には、力制御部20は、力覚センサー10からのセンサー情報(力情報、モーメント情報)に基づいてインピーダンス制御(或いはコンプライアンス制御)を行う。
【0054】
力制御部20は、インピーダンス処理部22と、制御パラメーター記憶部24を含むことができる。インピーダンス処理部22は、力制御としてインピーダンス制御を行う。インピーダンス制御の具体的な手法については後述する。制御パラメーター記憶部24は、力制御(インピーダンス制御)において用いられる制御パラメーターを記憶する。
【0055】
目標値出力部60は、ロボット(狭義にはマニピュレーター)のフィードバック制御の目標値を出力する。この目標値に基づいてロボット100のフィードバック制御が実現される。多関節ロボット等を例に取れば、この目標値は、ロボットの関節角情報などである。ロボットの関節角情報は、例えばロボットのアームのリンク機構における各関節の角度(ジョイント軸とジョイント軸のなす角度)を表す情報である。
【0056】
目標値出力部60は、軌道生成部62とインバースキネマティクス処理部64を含むことができる。軌道生成部62は、ロボットの軌道情報を出力する。軌道情報は、ロボットのエンドエフェクター部(エンドポイント)の位置情報(x,y,z)と、各座標軸回りでの回転角度情報(u,v,w)を含むことができる。インバースキネマティクス処理部64は、軌道生成部62からの軌道情報に基づいてインバースキネマティクス処理を行い、例えばロボットの関節角情報を目標値として出力する。インバースキネマティクス処理は、関節を有するロボットの動きを計算する処理であり、ロボットのエンドエフェクター
部の位置姿勢などから関節角情報等を逆運動学により計算する処理である。
【0057】
ロボット制御部80は、目標値出力部60からの目標値に基づいて、ロボットのフィードバック制御を行う。具体的には、力制御部20からの補正値に基づく補正処理の結果出力された目標値に基づいて、ロボットのフィードバック制御を行う。例えば目標値と、ロボット100からのフィードバック信号に基づいて、ロボット100のフィードバック制御を行う。
【0058】
また本実施形態のロボットシステムは、上述したロボット制御システムと、ロボット100(力覚センサー10)により構成される。力覚センサー10については上述したとおりである。
【0059】
ロボット100は、ハンド110(機械機構)と、アーム120を含む。具体的には、図2に示したようにアーム120に力覚センサー10が設けられ、力覚センサー10の先にハンド110が設けられることが想定される。なお、ロボット100は図3に不図示のモーター制御部を有してもよく、モーター制御部は例えばアーム120等の関節角を設定する。ロボット制御部80は、ロボット100のハンド110やアーム120等を制御することになるが、実際には関節角情報の値を目標値として取得し、当該目標値に基づいてモーター制御部を制御することになる。
【0060】
図4に本実施形態のロボット制御システムを含むロボットシステムの例を示す。このロボットシステムは、制御装置300(情報処理装置)とロボット310(図3のロボット100)とを含む。制御装置300はロボット310の制御処理を行う。具体的には、動作シーケンス情報(シナリオ情報)に基づいてロボット310を動作させる制御を行う。ロボット310は、アーム320及びハンド(把持部)330を有する。そして制御装置300からの動作指示にしたがって動作する。例えば、図示しないパレットに載せられたワークを把持したり、移動するなどの動作を行う。また、図示しない撮像装置で取得された撮像画像情報に基づいて、ロボットの姿勢やワークの位置などの情報が検出され、検出された情報が制御装置300に送られる。
【0061】
本実施形態のロボット制御システムは例えば図4の制御装置300に設けられ、例えば制御装置300のハードウェアーやプログラムによりロボット制御システムが実現される。そして本実施形態のロボット制御システムによれば、制御装置300などの制御ハードウェアーに対する性能要求を低減できると共に、ロボット310を高い応答性で動作させることが可能になる。なお図4は単腕型の例であるが、双腕型等の多腕型のロボットであってもよい。
【0062】
3.モデル化と逆変換
機械機構の特性をモデル化することで、機械機構での変調(変換)を記述し、それに基づいて補正部34で行う補正処理である逆変換を求める手法について説明する。
【0063】
機械機構のモデル化の手法は種々考えられるが、本実施形態では図5に示したように、質量mの物体が粘性係数μのダンパーと、弾性係数kのバネによって力覚センサー10に接続されている構造で近似する。このようにモデル化することで、図6に示したように、機械機構での変換は下式(2)で表されることになる。
【0064】
【数2】
【0065】
ここで、xは機械機構の変位を表すものであり、上式(2)は運動方程式に他ならない。これについては、図5に示したように機械機構を、質量を持つ物体、ダンパー及びバネからなる構造物と捉えた結果と考えることができる。或いは、機械機構の特性は、下式(3)のようにx及びxの1〜N階微分項の線形結合により表現することができるが、下式(3)の2階微分項までを用いた近似式と捉えることもできる。
【0066】
【数3】
【0067】
次に、力覚センサー10に伝わる変換後の力Fとの関係を考える。ここで力覚センサー10が固定されているものと仮定すれば、力Fは外力fから慣性項を引いたものに等しく、下式(4)により表される。
【0068】
【数4】
【0069】
上式(2)及び(4)から下式(5)が導かれる。
【0070】
【数5】
【0071】
上式(5)は、言い換えれば図5のC1で示した面における力の釣り合いを表したものである。外力fが図5のC2で示した物体にはたらいたとき、機械機構の挙動を考慮するのであれば、C2の物体による慣性の影響は無視できないため上式(2)のように慣性項を含めた関係式が取得される。しかし、C1で示した面での力の釣り合いを考える場合(つまり力覚センサー10に伝わる力を考える場合)、C2の物体はC1の面と物理的に直接接続されていない以上、当該C2の物体による慣性は考慮しなくてもよく、それを表したものが上式(4)である。或いは、C1の面が受ける力は、物理的に接続されているダンパー及びバネから受けるものに限定されると捉えてもよく、そのように考えれば直接上式(5)を導くこともできる。
【0072】
いずれにせよ、上式(2)及び(5)から、fとFの関係が決定される。機械機構での変換とは、fを入力とし、上式(2)、(5)に基づいてFを出力する系と捉えることができる。よって、逆変換とは、Fを入力とし、上式(5)、(2)に基づいてfを求める系と捉えればよい。具体的には、センサー情報としてFを取得し、上式(5)の微分方程式を解いてxを求める。そして、求めたxを上式(2)に代入しfを求めればよい。
【0073】
4.デジタルフィルター化
上述したように、Fから外力fを求めるためには、上式(2)及び(5)の線形常微分方程式を解くことになる。従来、線形常微分方程式の解を求めるにはNewton法やRunge−Kutta法等が用いられていた。しかし、これらの手法はハードウェアー化に適さず、安定性の判定も難しい。そこで本出願人は、線形常微分方程式を解く手法としてデジタルフィルターを用いる。
【0074】
ここで、常微分方程式の解を求めるというステップを、入力値(力覚センサーのセンサー情報)の入力に対して解(上式(5)で言えば変位x)を出力するフィルターであると捉えるならば、上式(5)の形から、1極のアナログフィルターとして考えることができる。
【0075】
つまり、常微分方程式の解はアナログフィルターの出力として求めることができるのであるから、当該アナログフィルターをデジタルフィルター化することで、常微分方程式をデジタルフィルターにより解くことが可能になる。
【0076】
アナログフィルターのデジタルフィルター化の手法は種々知られているが、例えばImpulse Invariance法を用いればよい。これは、アナログフィルターのインパルスレスポンスを離散時間Tでサンプルした値と同じインパルスレスポンスを与えるデジタルフィルターを考える手法である。Impulse Invariance法については公知の手法であるため詳細な説明は省略する。
【0077】
以上の結果、常微分方程式の解はデジタルフィルターの出力として求めることが可能になる。上式(5)であれば、図7に示したように1極のデジタルフィルターとなる。図7において、dは1サンプル分の遅延であり、αとβはフィルターの係数である。図7のフィルターは下式(6)で表される。
【0078】
xn=αFn+βxn−1 ・・・・・(6)
また、上式(2)の運動方程式についても同様にデジタルフィルター化が可能であり、運動方程式は図8に示したように2極のデジタルフィルターとなる。図8において、C0,C1,C2はフィルターの係数であり、これを式に表したものが下式(7)である。
【0079】
xn=C0fn+C1xn−1+C2xn−2 ・・・・・(7)
デジタルフィルターによる処理であれば、ハードウェアー化は容易であるし、安定性の判定も容易である。デジタルフィルターの安定性は、デジタルフィルターの極が単位円の内側にあるか否かにより容易に判定可能だからである。
【0080】
なお、α、β、C0、C1、C2の各フィルター係数は、機械機構の特性により決定され、この場合には質量項m、粘性項μ及び弾性項k(場合によっては、以上のものに加えてデジタルフィルターの駆動周波数Tを用いてもよい)により決定される。機械機構(ハンド110)の特性は設計により既知であるため、フィルター係数は事前に求めておくことができる。また、複数のハンド110を付け替えることを考えた場合にも、それぞれのハンド特性に対応するフィルター係数を求めておけば、当該フィルター係数を切り替えることで容易に対応が可能であるため、Runge−Kutta法等の従来手法に比べて優位である。
【0081】
なお、上式(6)、(7)を変形することにより下式(8)にまとめることができる。
【0082】
C0fn=αFn+βxn−1−(C1xn−1+C2xn−2) ・・・・・(8)
上式(8)を図示したものが図9である。図9のデジタルフィルターを用いることで、力覚センサー10で検知した力Fを入力とし、機械機構の受けた外力fを出力とする補正処理(逆変換)を実現することができる。
【0083】
5.インピーダンス制御の具体例
以上で説明した手法により、力覚センサー10の先に剛性の低い機械機構が設けられ、外力fと力覚センサー10が受ける力Fとが当該機械機構による変調で異なってしまう場合であっても、Fに対して逆変換を施すことで正確に外力fを検知することが可能になる。
【0084】
ここでは、補正処理により得られた外力fを用いた制御を行うシステムの例として、力制御(インピーダンス制御)を行うロボット制御システムに付いて説明する。ここでは、目標値に基づくフィードバック制御(目標値出力部60及びロボット制御部80での処理に対応)については説明を省略し、力制御部20(狭義にはインピーダンス処理部22)で行われるインピーダンス制御について説明する。
【0085】
図10(A)は、ロボットの左のアームAL、右のアームARで物体OBを挟んで移動している様子を示している。例えば、位置制御だけでは、物体を落としたり、破壊してしまうおそれがある、力制御によれば、柔軟な物体や脆い物体を、図10(A)のように両側から適切な力で挟んで移動させることが可能になる。
【0086】
また、力制御によれば、図10(B)に示すように、不確実性のある物体の表面SFをアームAM等でなぞることが可能になる。このような制御は位置制御だけでは実現不能もしくは非常に困難である。また、力制御によれば、図10(C)に示すように、粗い位置決めの後に、探って位置合わせをして、物体OBを穴部HLにはめ込むことも可能になる。
【0087】
しかしながら、バネなどの実際の機械部品による力制御では、用途が限られるという問題がある。また、このような機械部品による力制御では、特性の動的な切り替えが困難である。
【0088】
一方、モーターのトルクを制御するトルク制御は簡単であるが、位置精度が悪くなるという問題がある。また、異常時に衝突などの問題が生じる。例えば図10(A)において、異常事態が起きて、物体OBを落としてしまった場合に、トルク制御では、釣合うべき反力が無くなるため、左右のアームAL、ARが衝突してしまうなどの問題が生じる。
【0089】
これに対して、インピーダンス制御(コンプライアンス制御)は、汎用性や安全性が高いという利点がある。
【0090】
図11(A)、図11(B)は、インピーダンス制御の1つであるコンプライアンス制御を説明する図である。コンプライアンスはバネ定数の逆数を意味し、バネ定数が硬さを表すのに対して、コンプライアンスは柔らかさを意味する。ロボットと環境との間に相互作用が働くときに、機械的柔軟性であるコンプライアンスを与える制御をコンプライアンス制御と呼ぶ。
【0091】
例えば図11(A)では、ロボットのアームAMには力覚センサーSEが取り付けられており、アームAMは関節部分J1及びJ2を有する。このロボットのアームAMは、力覚センサーSEで得られたセンサー情報(力・トルク情報)に応じて姿勢が変わるようにプログラムされている。具体的には、図11(A)のA1に示す仮想的なバネが、あたかもアームAMの先端に取り付けられているかのようにロボットを制御する。
【0092】
例えばA1に示すバネのバネ定数が100Kg/mであったとする。これを図11(B)のA2に示すように5Kgの力で押せば、A3に示すようにバネは5cmだけ縮む。逆に言えば、5cmだけ縮んでいれば、5Kgの力で押されているといえる。つまり、力情報と位置情報とが対応づけられている。
【0093】
コンプライアンス制御では、このA1に示す仮想的なバネがアームAMの先端に取り付けられているかのような制御が行われる。具体的には、ロボットは、力覚センサーSEの入力に応答して動作し、A2に示す5Kgの加重に対して、A3に示すように5cmだけ後退するように制御され、力情報に対応して位置情報が変化するように制御される。
【0094】
このような単純なコンプライアンス制御では時間項を含まないが、時間項を含み、その2次の項までを考慮した制御が、インピーダンス制御である。具体的には、2次の項は質量項であり、1次の項は粘性項であり、インピーダンス制御のモデルは下式(9)に示すような運動方程式で表すことができる。
【0095】
【数6】
【0096】
上式(9)において、mIは質量、μIは粘性係数、kIは弾性係数、fは力(補正部34での補正処理により取得された外力)、uは目標位置からの変位である。またuの1次微分、2次微分は、各々、速度、加速度に対応する。インピーダンス制御では、上式(9)の特性をアームの先端であるエンドエフェクター部に持たせるための制御系を構成する。即ち上式(9)で表される仮想質量、仮想粘性係数、仮想弾性係数を、あたかもアームの先端が持っているかのように制御を行う。
【0097】
このように、インピーダンス制御は、アームの先端の質量に粘性要素と弾性要素が各方向に接続されるモデルにおいて、目的として設定された粘性係数と弾性係数で物体に接触するようにする制御である。
【0098】
例えば図12(A)に示すように、ロボットのアームAL、ARで物体OBをつかんで、軌道TRに沿って移動させる制御を考える。この場合に、軌道TRLは、物体OBの左側の内側に設定された点PLが通る軌道であり、インピーダンス制御を想定して決定された仮想的な左手の軌道である。また軌道TRRは、物体OBの右側の内側に設定された点PRが通る軌道であり、インピーダンス制御を想定して決定された仮想的な右手の軌道である。この場合に、アームALは、アームALの先端と点PLの距離差に応じた力が発生するように制御される。またアームARは、アームARの先端と点PRの距離差に応じた力が発生するように制御される。このようにすれば、物体OBを柔らかくつかみながら移動させるインピーダンス制御を実現できる。そして、インピーダンス制御では、図12(A)のB1に示すように物体OBが落下する事態が生じたとしても、アームAL、ARは、B2、B3に示すように、その先端が点PL、PRの位置で止まるように制御される。即ち、仮想的な軌道が衝突軌道でなければ、アームAL、ARが衝突するのを防止できる。
【0099】
また図12(B)のように、物体の表面SFをなぞるように制御する場合にも、インピーダンス制御では、アームAMの先端に対して、仮想的な軌道TRVAと先端との距離差DFに応じた力が働くように制御される。従って、アームAMを、力を加えながら表面SFをなぞるような制御が可能になる。
【0100】
以上のインピーダンス制御を行うことで、図13に示したように、あたかも質量mI、粘性μI、弾性kIを持つかのように制御することができる。そのため、ロボット100全体としては、制御により見かけ上取得した特性(mI、μI、kI)と、機械機構の現実の特性(m、μ、k)とを合成した特性が現れることになる。
【0101】
なお、通常のインピーダンス制御においては、機械機構(ハンド110)は高剛性であり、機械機構の特性(m、μ、k)については考慮する必要がないため制御における目標特性(mI、μI、kI)を所望の特性とすれば足りる。それに対して、本実施形態のように機械機構の特性の影響を無視できない場合には、制御における目標特性と、実際に現れるロボット100全体としての特性が異なるため、そのことを考慮して目標特性を決定しなくてはならない点に留意すべきである。
【0102】
また、上式(9)についても補正部34での補正処理と同様にデジタルフィルター化することができる。
【0103】
6.処理の詳細
図14のフローチャートを用いて、外力検知装置30で行われる処理について説明する。この処理が開始されると、まず力覚センサー10からのセンサー情報の取得待ちを行う(S101)。待ち時間は力覚センサー10のセンサー情報出力レートに応じて決まるものである。なお、ここでは力覚センサー10のセンサー情報の出力1回ごとに、外力検知装置30での取得処理及び補正処理が行われるものとする。ただし、消費電力の軽減等を図る場合等には、複数回の出力ごとに処理を行なってもよい。
【0104】
入力待ちの後に、センサー情報を取得する(S102)。センサー情報は上述したように力F(機械機構による変調後の外力)に相当する。そして、取得した力Fに基づいて補正処理を行う(S103)。ここで、xは中間パラメーターであり、物理的には機械機構の変形(変位)に相当するものである。具体的には、xの過去の値(xn−1とxn−2)を更新し、更新後のxn−1とFnとから現在のxの値(xn)を求める。そして、求めたxnと、更新したxn−1、xn−2とからfnを求めることになる。
【0105】
その後、求めたfnを補正済みの外力として出力し(S104)、処理を終了するかの判定を行う(S105)。S105でNoの場合はS101に戻り処理を継続する。S105でYesの場合は処理を終了する。
【0106】
出力した外力fは任意のシステムにおける制御に用いられる。例えば上述してきたロボット制御システムであれば、fに基づいて力制御(インピーダンス制御)を行うことになる。ただし、インピーダンス制御は公知の技術であるためフローチャートを用いた説明は省略する。
【0107】
以上の本実施形態では、外力検知装置30は図3に示したように、力覚センサー10からのセンサー情報を取得する取得部32と、取得したセンサー情報に対して補正処理を行う補正部34とを含む。図2に示したように、力覚センサー10には、外力fを変換して力Fとして力覚センサー10に伝達する機械機構が設けられている。そして、補正部34は機械機構での変換の逆変換を、補正処理として行う。
【0108】
ここで、外力fとは機械機構が受ける力を表し、力Fとは外力fが機械機構により変調された結果、力覚センサー10が受ける力を表す。ただし、力覚センサー10はセンサー自身や機械機構等の自重や姿勢により重力等の力も受けることになる。よって力覚センサー10から出力されるセンサー情報は、外力fが変調された結果の力Fだけでなく、他の力も含んでいる場合が考えられる。そのような場合には、センサー情報に対して自重姿勢補正処理等を行うことで、他の力を除去して力Fを求める必要がある。
【0109】
これにより、外力fが機械機構により力Fに変調(変換)される場合にも、外力fを正確に求めることが可能になる。システムでの制御に必要なのは、外部と実際にやり取りされる力であることが想定されるため、本実施形態の処理を行うことで制御において有用な情報を取得することができる。
【0110】
また、補正部34は、機械機構での変換が所定の変換式でモデル化される場合には、変換式の逆変換式を用いて補正処理を行ってもよい。ここで、所定の変換式とは常微分方程式であってもよい。また、具体的には図6に示したように、質量項、粘性項及び弾性項を係数パラメーターとする運動方程式であってもよい。
【0111】
ここで、機械機構での変換を変換式でモデル化する処理とは、例えば機械機構の物理的な特性をモデル化し、求められた特性のモデルに基づいて変換を数式化する処理であってもよい。なお、モデル化は変換(或いは機械機構の特性)を完全に再現するモデルを求める必要はなく、近似的なモデルを求めれば足りる。機械機構の特性をm、μ、kでモデル化した場合には、機械機構自体が実際に質量を持つ物体、ダンパー及びバネで形成されている場合等を除けば、そのモデルは実際の機械機構の機械的な特性とはズレが生じるが、その後の制御において精度が確保できる程度であれば問題はない。具体的には、機械機構を高次微分項まで用いた数式(或いは無限級数のような数式)でモデル化しなくてもよく、2次の微分項までで近似してもよい。その場合、変換式は運動方程式に相当する。
【0112】
これにより、モデル化を行なって処理を容易にすることが可能になる。何らかの形で変換を表すことが出来れば、本実施形態での補正処理に当たる逆変換もそこから導くことができる。特に変形式等が常微分方程式(狭義には線形常微分方程式)である場合には、システム上で解を求める手法は広く知られているため、容易に処理できる。また、線形常微分方程式の1つである運動方程式であれば、その係数は機械機構の質量・粘性・弾性等に対応付けて求めることができる。
【0113】
また、補正部34は、図9に示したように、デジタルフィルター処理により補正処理を行ってもよい。
【0114】
これにより、補正処理をデジタルフィルター化することが可能になる。デジタルフィルター化することでハードウェアー化や安定性の判定等が容易になる。
【0115】
また、補正部34は、上式(6)に示したように、第n(nは3以上の整数)のタイミングにおけるセンサー情報の値をFn、第n−1のタイミングにおける中間パラメーターをxn−1とし、デジタルフィルター処理の係数パラメーターをα及びβとした場合に、xn=αFn+βxn−1により、第nのタイミングにおける中間パラメーターxnを求めてもよい。そして、上式(7)に示したように、求められたxn、第n−1のタイミングで求められた中間パラメーターxn−1及び第n−2のタイミングで求められた中間パラメーターxn−2と、デジタルフィルター処理の係数パラメーターC0,C1,C2から、fn={xn−(C1xn−1+C2xn−2)}/C0により、第nのタイミングにおける補正処理後のセンサー情報(外力)fnを求める。
【0116】
これにより、上式(6)、(7)に基づいてFから外力fを求めることが可能になる。この処理をデジタルフィルター化したものが図9である。
【0117】
また、取得部32は、力Fに対応する情報をセンサー情報として取得してもよい。そして、補正部34は、センサー情報に対して補正処理を行うことで、外力fに対応する情報を取得する。
【0118】
これにより、センサー情報であるF(ただし自重姿勢補正等を考慮する場合はそれらを補正した後の情報に相当する)から、機械機構が受けた外力fを求めることが可能になる。上述したとおり、システムで用いたいのはFではなく外力fであることが想定されるため、外力fを正確に求めることは重要となる。
【0119】
また、機械機構は、ロボット100のエンドエフェクターであってもよい。
【0120】
ここでエンドエフェクターとは、例えば機械機構のうちアーム120の先端に設けられ、対象物(ワーク等)に対して作業を行うものを指す。ただし、本実施形態は力覚センサー10よりも先に設けられた機械機構での外力への変換に対して、補正処理を行う手法を提案するものであることに鑑みれば、本実施形態の機械機構はエンドエフェクターに限定されるものではない。例えば、ロボットとして人のように肩関節、肘関節、手首関節を有するものを想定した場合、肘関節部分に力覚センサー10が設けられたのであれば、エンドエフェクターに加えて、肘より先の部分(つまりアーム120の一部)を含めて本実施形態の機械機構であると捉える考え方もできる。
【0121】
また、エンドエフェクターとしては、例えば人の指のような構造を持ち、つかむ、握る、挟む等の動作を行うハンド110が考えられるが、これに限定されるものではない。指のような構造を持たない吸着ハンドであってもよいし、より細かい動作に適した吸着ピンセットであってもよい。またエンドエフェクターの作業内容は把持や移動に限定されるものではない。よってエンドエフェクターは、溶接作業等を行う溶接ガンであってもよいし、塗装作業等を行うスプレーガンであってもよく、その他種々の形態が考えられる。
【0122】
これにより、機械機構がロボット100のエンドエフェクター(例えばロボット100のハンド110)である場合にも、本実施形態の外力検知装置30における補正処理を適用することが可能になる。
【0123】
また、以上の本実施形態は図3に示したように、上述してきた外力検知装置30と、外力検知装置30において補正処理が行われたセンサー情報(外力f)に基づいてロボットの制御処理を行う制御部とを含むロボット制御システムに適用できる。具体的には、制御部は外力検知装置30において補正処理が行われたセンサー情報に基づいて、ロボット100の目標値の補正値を出力する力制御部20と、補正値により補正された目標値に基づいて、ロボット100のフィードバック制御を行うロボット制御部80を含む。
【0124】
これにより、外力検知装置30の出力である外力fを用いてロボット100の制御を行うロボット制御システムを実現することが可能になる。ロボットシステムでは、ロボット100の手先位置(ハンド110の位置)の精度を上げるために、ハンド110は高剛性である必要があるが、そうなると作業者等と衝突した場合に問題がある。力制御により見た目上柔らかい(剛性の低い)特性を実現したとしても、何らかの理由で力制御を行う力制御部20が動作を停止してしまえば同様の問題が残る。つまり、ロボットシステムにおいてハンド110を柔構造物等の剛性の低いものにすることには一定の利点があるため、本実施形態のように力覚センサー10の先に力覚センサー10よりも剛性の低い機械機構が設けられる状況が考えうることになる。その場合には、上述したように機械機構による変調が無視できない以上、その後の制御(ここでは例えばインピーダンス制御)への影響を抑止するためにも、センサー情報に対して逆変換に相当する補正処理を行う必要がある。
【0125】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また外力検知装置、ロボット制御システムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0126】
10 力覚センサー、20 力制御部、22 インピーダンス処理部、
24 制御パラメーター記憶部、30 外力検知装置、32 取得部、34 補正部、
60 目標値出力部、62 軌道生成部、64 インバースキネマティクス処理部、
80 ロボット制御部、100 ロボット、110 ハンド、120 アーム、
300 制御装置、310 ロボット、320 アーム
【技術分野】
【0001】
本発明は、外力検知装置、ロボット制御システム及び外力検知方法等に関する。
【背景技術】
【0002】
従来、センシング部に対してはたらく力をセンサー情報として取得する力覚センサーと、当該力覚センサーを用いた種々のシステムが知られている。
【0003】
例えば、ロボット制御の分野ではインピーダンス制御に代表される力制御を行うシステムが考えられる。インピーダンス制御とは、ロボットのマニピュレーターを、その実際の質量・粘性特性・弾性特性に係わらず、あたかも作業に適した値を持つかのように動作させる制御手法である。具体的には、マニピュレーターに設けられた力覚センサーから得られる力情報に基づいて運動方程式の解を求め、マニピュレーターをその解に従って動作させることになる。
【0004】
インピーダンス制御を行うことで、位置の制御に加えて力の制御を行うことができるため、物体の表面をなぞる、ある物体を他の物体に嵌め合わせる、柔物体を破壊しないように把持する等の場面に対応することが可能になる。
【0005】
特許文献1には、非常に複雑な系においても精度よくインピーダンス制御を行う手法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−320451号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1等の力覚センサーを用いた力制御では、力覚センサーのセンサー情報が正確に外力の大きさを表していることが前提になっている。しかしながら、力覚センサーよりも先に何らかの構造物、例えばロボットのハンドが存在した場合、力制御においてはハンドが受ける外力を正確に取得する必要があるのに対して、当該外力はハンドの構造により変調を受けるため、力覚センサーが検知するのは変調後の外力となってしまう。
【0008】
ハンドが機械的に高剛性であれば、この変調の程度は少ないが、剛性が低い場合には変調度合いは大きいものになり、変調された外力に基づくインピーダンス制御は所望の動作にならない。
【0009】
本発明の幾つかの態様によれば、力覚センサーの先に設けられた機械機構により外力が変調される場合に、精度の高い外力検知を行う外力検知装置、ロボット制御システム及び外力検知方法等を提供することができる。
【課題を解決するための手段】
【0010】
本発明の一態様は、力覚センサーから出力されたセンサー情報を取得する取得部と、取得した前記センサー情報に対して補正処理を行う補正部と、を含み、前記力覚センサーには、外力fを変換して力Fとして前記力覚センサーに伝達する機械機構が設けられ、前記補正部は、前記機械機構での変換の逆変換を、前記補正処理として行う外力検知装置に関係する。
【0011】
本発明の一態様では、力覚センサーに機械機構が設けられ、当該機械機構は外力fを変換して力Fとして力覚センサーに伝達する。その場合に、取得したセンサー情報に対して、機械機構での変換の逆変換に当たる補正処理を施すことで、実際に機械機構にはたらいた外力fを正確に求めること等が可能になる。
【0012】
また、本発明の一態様では、前記補正部は、前記機械機構での前記変換が所定の変換式でモデル化される場合に、前記変換式の逆変換式を用いて前記補正処理を行ってもよい。
【0013】
これにより、変換を所定の変換式によりモデル化し、当該変換式の逆変換式を用いることで補正処理を容易に行うこと等が可能になる。
【0014】
また、本発明の一態様では、前記補正部は、前記変換式として常微分方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記常微分方程式の前記逆変換式を用いて前記補正処理を行ってもよい。
【0015】
これにより、上記変換式として常微分方程式を用いることが可能になる。
【0016】
また、本発明の一態様では、前記補正部は、前記変換式として、質量項、粘性項及び弾性項を係数パラメーターとする運動方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記運動方程式の前記逆変換式を用いて前記補正処理を行ってもよい。
【0017】
これにより、上記変換式として運動方程式を用いることが可能になる。
【0018】
また、本発明の一態様では、前記補正部は、デジタルフィルター処理により前記補正処理を行ってもよい。
【0019】
これにより、補正処理をデジタルフィルター化することが可能になり、ハードウェアー化等を容易にすることができる。
【0020】
また、本発明の一態様では、前記補正部は、第n(nは3以上の整数)のタイミングにおける前記センサー情報の値をFn、第n−1のタイミングにおける中間パラメーターをxn−1とし、前記デジタルフィルター処理の係数パラメーターをα及びβとした場合に、xn=αFn+βxn−1により、前記第nのタイミングにおける前記中間パラメーターxnを求めるとともに、求められた前記中間パラメーターxn、前記第n−1のタイミングで求められた前記中間パラメーターxn−1及び第n−2のタイミングで求められた前記中間パラメーターxn−2と、前記デジタルフィルター処理の前記係数パラメーターC0,C1,C2から、fn={xn−(C1xn−1+C2xn−2)}/C0により、前記第nのタイミングにおける前記補正処理後の前記センサー情報fnを求めてもよい。
【0021】
これにより、上述した式により具体的に補正処理を実行することが可能になる。
【0022】
また、本発明の一態様では、前記取得部は、前記力Fに対応する情報を前記センサー情報として取得し、前記補正部は、前記センサー情報に対して前記補正処理を行うことで、前記外力fに対応する情報を取得してもよい。
【0023】
これにより、力Fに対して補正処理を行うことで、外力fを取得することが可能になる。
【0024】
また、本発明の一態様では、前記機械機構は、ロボットのエンドエフェクターであってもよい。
【0025】
これにより、機械機構としてロボットのエンドエフェクターが用いられた場合にも、上記の補正処理を行うこと等が可能になる。
【0026】
また、本発明の他の態様は、上記のいずれか記載の外力検知装置と、前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいてロボットの制御処理を行う制御部と、を含むロボット制御システムに関係する。
【0027】
これにより、外力検知装置での処理結果を用いてロボットの制御を行うこと等が可能になる。
【0028】
また、本発明の一態様では、前記制御部は、前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいて、前記ロボットの目標値の補正値を出力する力制御部と、前記補正値により補正された前記目標値に基づいて、前記ロボットのフィードバック制御を行うロボット制御部と、を含んでもよい。
【0029】
これにより、ロボット制御として力制御を行うこと等が可能になる。
【0030】
また、本発明の他の態様は、外力fを変換して力Fとして伝達する機械機構が設けられた力覚センサーから出力されたセンサー情報に対して補正処理を行う外力検知方法であって、前記力覚センサーからの前記センサー情報を取得し、取得した前記センサー情報に対して、前記機械機構での変換の逆変換を前記補正処理として行う外力検知方法に関係する。
【図面の簡単な説明】
【0031】
【図1】力覚センサーの構成例。
【図2】力覚センサーの先に機械機構が設けられる具体例。
【図3】本実施形態の外力検知装置、ロボット制御システム及びそれらを含むロボットシステムの構成例。
【図4】ロボットシステムの一例。
【図5】機械機構のモデル化の例。
【図6】機械機構における変調を説明する図。
【図7】補正処理に用いられるデジタルフィルターの例。
【図8】補正処理に用いられるデジタルフィルターの他の例。
【図9】補正処理に用いられるデジタルフィルターの他の例。
【図10】図10(A)〜図10(C)は力制御についての説明図。
【図11】図11(A)、図11(B)はコンプライアンス制御についての説明図。
【図12】図12(A)、図12(B)はインピーダンス制御についての説明図。
【図13】機械機構の特性と力制御により実現された特性との関係を説明する図。
【図14】外力検知装置での処理を説明するためのフローチャート。
【発明を実施するための形態】
【0032】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0033】
1.本実施形態の手法
まず本実施形態の手法について説明する。本実施形態で用いられる力覚センサーの構成例を図1に示す。力覚センサーには種々の構成が考えられるが、基本的には外力によるセンシング部の微小な変形を、何らかの手法により測定することで外力を検知する。変形の測定手法には、歪みゲージを用いる手法、静電センサーを用いる手法、光学センサーを用いる手法、水晶素子等の圧電素子を用いる手法等が考えられる。
【0034】
図1に示したように、力覚センサーの機械的な構造を模式化することで、力覚センサーをモデル化することができる。力覚センサーの等価質量項をm0、等価粘性項をμ0、等価弾性項をk0とすると、その特性は下式(1)のように表すことができる。
【0035】
【数1】
【0036】
ここで、xは変形測定手法(具体例は上述したとおり)により測定されたセンシング部の変形(変位)を表し、Fは力覚センサーの受けた外力を表す。つまり、力覚センサーの等価質量項m0、等価粘性項μ0、等価弾性項k0は設計により知ることができるため、変位xを測定することにより、上式(1)から外力Fを取得することができる。力覚センサーはセンサー情報としてFを出力する。
【0037】
しかし、実際には弾性項k0が相対的に非常に大きく作られるため、時間微分項は相対的に小さくなり、一般的には運動方程式を明示的に考慮する必要はない。弾性項が相対的に大きくないと(つまり力覚センサーが非常に硬く作られないと)、センシング部の変形が大きくなってしまうため、それに伴い力覚センサーの先に設けられた構造物の空間的位置が変動してしまうためである。例えばロボットシステムであれば、力覚センサーの先にハンドが設けられることが想定されるが、力覚センサーが硬くないとハンドの空間的位置、つまりロボットの手先位置が変動することになり、手先位置制御の精度が劣化することになる。
【0038】
以上のことから、力覚センサーをモデル化したものを図1に示したものの、本実施形態においてはこのようなモデルまで考慮する必要はなく、力覚センサーのセンシング部の変形はないものとして取り扱ってもよい。
【0039】
本実施形態で問題とするのは、図2のように力覚センサーの先に機械機構(図2の例ではロボットのハンド)が設けられ、かつ当該機械機構の剛性が力覚センサーに比べて低い場合である。このような場合には、機械機構に対して加えられた外力fは、機械機構による変換(変調)を受け、力Fとして力覚センサーに伝えられる。一例としては、機械機構が柔構造物であれば、fによるエネルギーの一部が当該柔構造物の変形に用いられることで、力覚センサーに伝わる力Fは外力fに比べて小さくなるケース等が考えられる。
【0040】
力覚センサーの出力値であるFに関して、力覚センサー自身の変形等は考慮しなくてもよいことは上述したとおりである。つまり、機械機構から力覚センサーに伝えられた力は正確にセンサー情報に反映されると考えてよい。しかし、システムが実際に取得したいのは力Fではなく変換前の外力fである。図2に示したようにロボット制御システムであれば、力制御はハンドが処理対象となるワークに与える力に基づいて行われるべきであり、その力は反力としてワークからハンドに伝わる力に等しく、図2の外力fに他ならない。つまり、力覚センサーのセンサー情報をそのまま用いたのでは、所望の力制御は行えないことになり好ましくない。ロボット制御システム以外のシステムにおいても、外部との力のやり取りは力覚センサーよりも先に設けられた機械機構において行われるはずであり、当該機械機構による外力の変換を無視することはできない。
【0041】
なお、機械機構の剛性が高ければ、機械機構による外力fに対する変換の影響は小さくなるが、剛性の低い機械機構を用いることで他の利点が生じるケースもあるため、必ずしも機械機構の剛性を高いものにすることはできない。以下、具体例を、ロボット制御システムを用いて説明する。
【0042】
ロボット制御システムの制御対象となるロボットは、ハンドの空間的位置(ロボットの手先位置)の精度を向上させるため、高剛性とすることが一般的である。その上で、柔らかい特性が必要な場合(柔軟物を破壊しないように把持する場合等)では、インピーダンス制御等の力制御を行うことで、見かけ上ロボットを柔らかく制御する。例えば、見かけ上の弾性項等を小さくする制御を行えばよい。
【0043】
しかし、このような制御では柔らかい特性はあくまで力制御により実現されているに過ぎず、力制御を行う制御部が何らかに理由により動作を停止してしまった場合には、ロボットが本来持つ機械的な特性が現れることになり、剛性が高いものとなる。つまり、制御部の停止中に作業者がロボットに接触した場合、高剛性であるロボットを押し返すこと等が非常に難しい。また、他のロボットや装置との衝突の問題もある。
【0044】
そこで、ロボットのハンドを柔構造物で構成する等、ロボット本来の機械的特性を柔らかくすることが考えられる。このようにすれば、制御部が何らかの理由により停止してしまったとしても、その際に現れるロボット本来の機械的な特性が柔らかいものになるため、作業者等との接触の際にも対処が容易である。なお、手先位置の精度が必要であれば、インピーダンス制御等の力制御により見た目上硬い特性を実現すればよい。
【0045】
以上のことから、力覚センサーの先に剛性の低い機械機構が設けられることがあり得、そしてその場合には機械機構による外力に対する変換が問題となる。そこで本出願人は、力覚センサーからのセンサー情報に対して、機械機構での変換の逆変換に相当する補正処理を行う手法を提案する。この手法を用いることで、力覚センサーのセンサー情報から外力を正確に検知することが可能になり、外力に基づいた処理を行う種々のシステムにおいて、当該システムでの処理を適切に行うことができる。
【0046】
以下、外力検知装置等のシステム構成例を説明した後、機械機構のモデル化及び機械機構による変換の逆変換について述べる。さらに逆変換処理をデジタルフィルター化する手法について説明した後、ロボット制御システムでのインピーダンス制御の具体例について触れ、最後にフローチャートを用いて処理の詳細について述べる。
【0047】
なお、以下の説明では、具体例としてロボット制御システムを用いて説明するが、本実施形態の外力検知装置はロボット制御システム以外のシステムに用いられることを妨げない。
【0048】
2.システム構成例
本実施形態の外力検知装置30を含むロボットシステムの構成例を図3に示す。また、本実施形態は外力検知装置30の他、力制御部20と、目標値出力部60と、ロボット制御部80とを含むロボット制御システムにも適用できる。なお本実施形態の外力検知装置、ロボット制御システムは図3の構成には限定されず、その一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0049】
本実施形態の外力検知装置30は、力覚センサー10からのセンサー情報に対して補正処理を行なって正確な外力を検知する。外力検知装置30は、取得部32と、補正部34を含む。
【0050】
取得部32は、力覚センサー10からのセンサー情報を取得する。取得部32は、例えば力覚センサー10とのインターフェースとして実現され、センサー情報をダイレクトに取得してもよい。また、図2のような構成の場合、機械機構(ハンド110)やアーム120等の自重、姿勢等により力覚センサー10において外力以外の力を検知してしまうことが考えられる。よって取得部32は、センサー情報に対して自重姿勢補正等の前処理を行った情報を取得してもよい。或いは、図3には不図示であるが、外力検知装置30が前処理部を含み、取得部32で取得した情報に対して、前処理部で自重姿勢補正等を行い、前処理後の情報に対して補正部34で補正処理を行なってもよい。
【0051】
補正部34は、取得部が取得したセンサー情報(取得後に前処理を行った情報も含む)に対して補正処理を行う。補正部34では、機械機構が受けた外力fが、当該機械機構により力Fに変換され力覚センサー10に伝えられたことを想定し、機械機構での変換の逆変換に相当する補正処理を行い、外力fを求める。機械機構自身及び機械機構での変換についてはモデル化を行い、それに基づいて逆変換を求めることになる。詳細については後述する。
【0052】
また本実施形態のロボット制御システムは、力制御部20、外力検知装置30、目標値出力部60、ロボット制御部80を含む。
【0053】
力制御部20は、力覚センサー10からのセンサー情報に基づいて力制御(力覚制御)を行って、目標値の補正値を出力する。更に具体的には、力制御部20は、力覚センサー10からのセンサー情報(力情報、モーメント情報)に基づいてインピーダンス制御(或いはコンプライアンス制御)を行う。
【0054】
力制御部20は、インピーダンス処理部22と、制御パラメーター記憶部24を含むことができる。インピーダンス処理部22は、力制御としてインピーダンス制御を行う。インピーダンス制御の具体的な手法については後述する。制御パラメーター記憶部24は、力制御(インピーダンス制御)において用いられる制御パラメーターを記憶する。
【0055】
目標値出力部60は、ロボット(狭義にはマニピュレーター)のフィードバック制御の目標値を出力する。この目標値に基づいてロボット100のフィードバック制御が実現される。多関節ロボット等を例に取れば、この目標値は、ロボットの関節角情報などである。ロボットの関節角情報は、例えばロボットのアームのリンク機構における各関節の角度(ジョイント軸とジョイント軸のなす角度)を表す情報である。
【0056】
目標値出力部60は、軌道生成部62とインバースキネマティクス処理部64を含むことができる。軌道生成部62は、ロボットの軌道情報を出力する。軌道情報は、ロボットのエンドエフェクター部(エンドポイント)の位置情報(x,y,z)と、各座標軸回りでの回転角度情報(u,v,w)を含むことができる。インバースキネマティクス処理部64は、軌道生成部62からの軌道情報に基づいてインバースキネマティクス処理を行い、例えばロボットの関節角情報を目標値として出力する。インバースキネマティクス処理は、関節を有するロボットの動きを計算する処理であり、ロボットのエンドエフェクター
部の位置姿勢などから関節角情報等を逆運動学により計算する処理である。
【0057】
ロボット制御部80は、目標値出力部60からの目標値に基づいて、ロボットのフィードバック制御を行う。具体的には、力制御部20からの補正値に基づく補正処理の結果出力された目標値に基づいて、ロボットのフィードバック制御を行う。例えば目標値と、ロボット100からのフィードバック信号に基づいて、ロボット100のフィードバック制御を行う。
【0058】
また本実施形態のロボットシステムは、上述したロボット制御システムと、ロボット100(力覚センサー10)により構成される。力覚センサー10については上述したとおりである。
【0059】
ロボット100は、ハンド110(機械機構)と、アーム120を含む。具体的には、図2に示したようにアーム120に力覚センサー10が設けられ、力覚センサー10の先にハンド110が設けられることが想定される。なお、ロボット100は図3に不図示のモーター制御部を有してもよく、モーター制御部は例えばアーム120等の関節角を設定する。ロボット制御部80は、ロボット100のハンド110やアーム120等を制御することになるが、実際には関節角情報の値を目標値として取得し、当該目標値に基づいてモーター制御部を制御することになる。
【0060】
図4に本実施形態のロボット制御システムを含むロボットシステムの例を示す。このロボットシステムは、制御装置300(情報処理装置)とロボット310(図3のロボット100)とを含む。制御装置300はロボット310の制御処理を行う。具体的には、動作シーケンス情報(シナリオ情報)に基づいてロボット310を動作させる制御を行う。ロボット310は、アーム320及びハンド(把持部)330を有する。そして制御装置300からの動作指示にしたがって動作する。例えば、図示しないパレットに載せられたワークを把持したり、移動するなどの動作を行う。また、図示しない撮像装置で取得された撮像画像情報に基づいて、ロボットの姿勢やワークの位置などの情報が検出され、検出された情報が制御装置300に送られる。
【0061】
本実施形態のロボット制御システムは例えば図4の制御装置300に設けられ、例えば制御装置300のハードウェアーやプログラムによりロボット制御システムが実現される。そして本実施形態のロボット制御システムによれば、制御装置300などの制御ハードウェアーに対する性能要求を低減できると共に、ロボット310を高い応答性で動作させることが可能になる。なお図4は単腕型の例であるが、双腕型等の多腕型のロボットであってもよい。
【0062】
3.モデル化と逆変換
機械機構の特性をモデル化することで、機械機構での変調(変換)を記述し、それに基づいて補正部34で行う補正処理である逆変換を求める手法について説明する。
【0063】
機械機構のモデル化の手法は種々考えられるが、本実施形態では図5に示したように、質量mの物体が粘性係数μのダンパーと、弾性係数kのバネによって力覚センサー10に接続されている構造で近似する。このようにモデル化することで、図6に示したように、機械機構での変換は下式(2)で表されることになる。
【0064】
【数2】
【0065】
ここで、xは機械機構の変位を表すものであり、上式(2)は運動方程式に他ならない。これについては、図5に示したように機械機構を、質量を持つ物体、ダンパー及びバネからなる構造物と捉えた結果と考えることができる。或いは、機械機構の特性は、下式(3)のようにx及びxの1〜N階微分項の線形結合により表現することができるが、下式(3)の2階微分項までを用いた近似式と捉えることもできる。
【0066】
【数3】
【0067】
次に、力覚センサー10に伝わる変換後の力Fとの関係を考える。ここで力覚センサー10が固定されているものと仮定すれば、力Fは外力fから慣性項を引いたものに等しく、下式(4)により表される。
【0068】
【数4】
【0069】
上式(2)及び(4)から下式(5)が導かれる。
【0070】
【数5】
【0071】
上式(5)は、言い換えれば図5のC1で示した面における力の釣り合いを表したものである。外力fが図5のC2で示した物体にはたらいたとき、機械機構の挙動を考慮するのであれば、C2の物体による慣性の影響は無視できないため上式(2)のように慣性項を含めた関係式が取得される。しかし、C1で示した面での力の釣り合いを考える場合(つまり力覚センサー10に伝わる力を考える場合)、C2の物体はC1の面と物理的に直接接続されていない以上、当該C2の物体による慣性は考慮しなくてもよく、それを表したものが上式(4)である。或いは、C1の面が受ける力は、物理的に接続されているダンパー及びバネから受けるものに限定されると捉えてもよく、そのように考えれば直接上式(5)を導くこともできる。
【0072】
いずれにせよ、上式(2)及び(5)から、fとFの関係が決定される。機械機構での変換とは、fを入力とし、上式(2)、(5)に基づいてFを出力する系と捉えることができる。よって、逆変換とは、Fを入力とし、上式(5)、(2)に基づいてfを求める系と捉えればよい。具体的には、センサー情報としてFを取得し、上式(5)の微分方程式を解いてxを求める。そして、求めたxを上式(2)に代入しfを求めればよい。
【0073】
4.デジタルフィルター化
上述したように、Fから外力fを求めるためには、上式(2)及び(5)の線形常微分方程式を解くことになる。従来、線形常微分方程式の解を求めるにはNewton法やRunge−Kutta法等が用いられていた。しかし、これらの手法はハードウェアー化に適さず、安定性の判定も難しい。そこで本出願人は、線形常微分方程式を解く手法としてデジタルフィルターを用いる。
【0074】
ここで、常微分方程式の解を求めるというステップを、入力値(力覚センサーのセンサー情報)の入力に対して解(上式(5)で言えば変位x)を出力するフィルターであると捉えるならば、上式(5)の形から、1極のアナログフィルターとして考えることができる。
【0075】
つまり、常微分方程式の解はアナログフィルターの出力として求めることができるのであるから、当該アナログフィルターをデジタルフィルター化することで、常微分方程式をデジタルフィルターにより解くことが可能になる。
【0076】
アナログフィルターのデジタルフィルター化の手法は種々知られているが、例えばImpulse Invariance法を用いればよい。これは、アナログフィルターのインパルスレスポンスを離散時間Tでサンプルした値と同じインパルスレスポンスを与えるデジタルフィルターを考える手法である。Impulse Invariance法については公知の手法であるため詳細な説明は省略する。
【0077】
以上の結果、常微分方程式の解はデジタルフィルターの出力として求めることが可能になる。上式(5)であれば、図7に示したように1極のデジタルフィルターとなる。図7において、dは1サンプル分の遅延であり、αとβはフィルターの係数である。図7のフィルターは下式(6)で表される。
【0078】
xn=αFn+βxn−1 ・・・・・(6)
また、上式(2)の運動方程式についても同様にデジタルフィルター化が可能であり、運動方程式は図8に示したように2極のデジタルフィルターとなる。図8において、C0,C1,C2はフィルターの係数であり、これを式に表したものが下式(7)である。
【0079】
xn=C0fn+C1xn−1+C2xn−2 ・・・・・(7)
デジタルフィルターによる処理であれば、ハードウェアー化は容易であるし、安定性の判定も容易である。デジタルフィルターの安定性は、デジタルフィルターの極が単位円の内側にあるか否かにより容易に判定可能だからである。
【0080】
なお、α、β、C0、C1、C2の各フィルター係数は、機械機構の特性により決定され、この場合には質量項m、粘性項μ及び弾性項k(場合によっては、以上のものに加えてデジタルフィルターの駆動周波数Tを用いてもよい)により決定される。機械機構(ハンド110)の特性は設計により既知であるため、フィルター係数は事前に求めておくことができる。また、複数のハンド110を付け替えることを考えた場合にも、それぞれのハンド特性に対応するフィルター係数を求めておけば、当該フィルター係数を切り替えることで容易に対応が可能であるため、Runge−Kutta法等の従来手法に比べて優位である。
【0081】
なお、上式(6)、(7)を変形することにより下式(8)にまとめることができる。
【0082】
C0fn=αFn+βxn−1−(C1xn−1+C2xn−2) ・・・・・(8)
上式(8)を図示したものが図9である。図9のデジタルフィルターを用いることで、力覚センサー10で検知した力Fを入力とし、機械機構の受けた外力fを出力とする補正処理(逆変換)を実現することができる。
【0083】
5.インピーダンス制御の具体例
以上で説明した手法により、力覚センサー10の先に剛性の低い機械機構が設けられ、外力fと力覚センサー10が受ける力Fとが当該機械機構による変調で異なってしまう場合であっても、Fに対して逆変換を施すことで正確に外力fを検知することが可能になる。
【0084】
ここでは、補正処理により得られた外力fを用いた制御を行うシステムの例として、力制御(インピーダンス制御)を行うロボット制御システムに付いて説明する。ここでは、目標値に基づくフィードバック制御(目標値出力部60及びロボット制御部80での処理に対応)については説明を省略し、力制御部20(狭義にはインピーダンス処理部22)で行われるインピーダンス制御について説明する。
【0085】
図10(A)は、ロボットの左のアームAL、右のアームARで物体OBを挟んで移動している様子を示している。例えば、位置制御だけでは、物体を落としたり、破壊してしまうおそれがある、力制御によれば、柔軟な物体や脆い物体を、図10(A)のように両側から適切な力で挟んで移動させることが可能になる。
【0086】
また、力制御によれば、図10(B)に示すように、不確実性のある物体の表面SFをアームAM等でなぞることが可能になる。このような制御は位置制御だけでは実現不能もしくは非常に困難である。また、力制御によれば、図10(C)に示すように、粗い位置決めの後に、探って位置合わせをして、物体OBを穴部HLにはめ込むことも可能になる。
【0087】
しかしながら、バネなどの実際の機械部品による力制御では、用途が限られるという問題がある。また、このような機械部品による力制御では、特性の動的な切り替えが困難である。
【0088】
一方、モーターのトルクを制御するトルク制御は簡単であるが、位置精度が悪くなるという問題がある。また、異常時に衝突などの問題が生じる。例えば図10(A)において、異常事態が起きて、物体OBを落としてしまった場合に、トルク制御では、釣合うべき反力が無くなるため、左右のアームAL、ARが衝突してしまうなどの問題が生じる。
【0089】
これに対して、インピーダンス制御(コンプライアンス制御)は、汎用性や安全性が高いという利点がある。
【0090】
図11(A)、図11(B)は、インピーダンス制御の1つであるコンプライアンス制御を説明する図である。コンプライアンスはバネ定数の逆数を意味し、バネ定数が硬さを表すのに対して、コンプライアンスは柔らかさを意味する。ロボットと環境との間に相互作用が働くときに、機械的柔軟性であるコンプライアンスを与える制御をコンプライアンス制御と呼ぶ。
【0091】
例えば図11(A)では、ロボットのアームAMには力覚センサーSEが取り付けられており、アームAMは関節部分J1及びJ2を有する。このロボットのアームAMは、力覚センサーSEで得られたセンサー情報(力・トルク情報)に応じて姿勢が変わるようにプログラムされている。具体的には、図11(A)のA1に示す仮想的なバネが、あたかもアームAMの先端に取り付けられているかのようにロボットを制御する。
【0092】
例えばA1に示すバネのバネ定数が100Kg/mであったとする。これを図11(B)のA2に示すように5Kgの力で押せば、A3に示すようにバネは5cmだけ縮む。逆に言えば、5cmだけ縮んでいれば、5Kgの力で押されているといえる。つまり、力情報と位置情報とが対応づけられている。
【0093】
コンプライアンス制御では、このA1に示す仮想的なバネがアームAMの先端に取り付けられているかのような制御が行われる。具体的には、ロボットは、力覚センサーSEの入力に応答して動作し、A2に示す5Kgの加重に対して、A3に示すように5cmだけ後退するように制御され、力情報に対応して位置情報が変化するように制御される。
【0094】
このような単純なコンプライアンス制御では時間項を含まないが、時間項を含み、その2次の項までを考慮した制御が、インピーダンス制御である。具体的には、2次の項は質量項であり、1次の項は粘性項であり、インピーダンス制御のモデルは下式(9)に示すような運動方程式で表すことができる。
【0095】
【数6】
【0096】
上式(9)において、mIは質量、μIは粘性係数、kIは弾性係数、fは力(補正部34での補正処理により取得された外力)、uは目標位置からの変位である。またuの1次微分、2次微分は、各々、速度、加速度に対応する。インピーダンス制御では、上式(9)の特性をアームの先端であるエンドエフェクター部に持たせるための制御系を構成する。即ち上式(9)で表される仮想質量、仮想粘性係数、仮想弾性係数を、あたかもアームの先端が持っているかのように制御を行う。
【0097】
このように、インピーダンス制御は、アームの先端の質量に粘性要素と弾性要素が各方向に接続されるモデルにおいて、目的として設定された粘性係数と弾性係数で物体に接触するようにする制御である。
【0098】
例えば図12(A)に示すように、ロボットのアームAL、ARで物体OBをつかんで、軌道TRに沿って移動させる制御を考える。この場合に、軌道TRLは、物体OBの左側の内側に設定された点PLが通る軌道であり、インピーダンス制御を想定して決定された仮想的な左手の軌道である。また軌道TRRは、物体OBの右側の内側に設定された点PRが通る軌道であり、インピーダンス制御を想定して決定された仮想的な右手の軌道である。この場合に、アームALは、アームALの先端と点PLの距離差に応じた力が発生するように制御される。またアームARは、アームARの先端と点PRの距離差に応じた力が発生するように制御される。このようにすれば、物体OBを柔らかくつかみながら移動させるインピーダンス制御を実現できる。そして、インピーダンス制御では、図12(A)のB1に示すように物体OBが落下する事態が生じたとしても、アームAL、ARは、B2、B3に示すように、その先端が点PL、PRの位置で止まるように制御される。即ち、仮想的な軌道が衝突軌道でなければ、アームAL、ARが衝突するのを防止できる。
【0099】
また図12(B)のように、物体の表面SFをなぞるように制御する場合にも、インピーダンス制御では、アームAMの先端に対して、仮想的な軌道TRVAと先端との距離差DFに応じた力が働くように制御される。従って、アームAMを、力を加えながら表面SFをなぞるような制御が可能になる。
【0100】
以上のインピーダンス制御を行うことで、図13に示したように、あたかも質量mI、粘性μI、弾性kIを持つかのように制御することができる。そのため、ロボット100全体としては、制御により見かけ上取得した特性(mI、μI、kI)と、機械機構の現実の特性(m、μ、k)とを合成した特性が現れることになる。
【0101】
なお、通常のインピーダンス制御においては、機械機構(ハンド110)は高剛性であり、機械機構の特性(m、μ、k)については考慮する必要がないため制御における目標特性(mI、μI、kI)を所望の特性とすれば足りる。それに対して、本実施形態のように機械機構の特性の影響を無視できない場合には、制御における目標特性と、実際に現れるロボット100全体としての特性が異なるため、そのことを考慮して目標特性を決定しなくてはならない点に留意すべきである。
【0102】
また、上式(9)についても補正部34での補正処理と同様にデジタルフィルター化することができる。
【0103】
6.処理の詳細
図14のフローチャートを用いて、外力検知装置30で行われる処理について説明する。この処理が開始されると、まず力覚センサー10からのセンサー情報の取得待ちを行う(S101)。待ち時間は力覚センサー10のセンサー情報出力レートに応じて決まるものである。なお、ここでは力覚センサー10のセンサー情報の出力1回ごとに、外力検知装置30での取得処理及び補正処理が行われるものとする。ただし、消費電力の軽減等を図る場合等には、複数回の出力ごとに処理を行なってもよい。
【0104】
入力待ちの後に、センサー情報を取得する(S102)。センサー情報は上述したように力F(機械機構による変調後の外力)に相当する。そして、取得した力Fに基づいて補正処理を行う(S103)。ここで、xは中間パラメーターであり、物理的には機械機構の変形(変位)に相当するものである。具体的には、xの過去の値(xn−1とxn−2)を更新し、更新後のxn−1とFnとから現在のxの値(xn)を求める。そして、求めたxnと、更新したxn−1、xn−2とからfnを求めることになる。
【0105】
その後、求めたfnを補正済みの外力として出力し(S104)、処理を終了するかの判定を行う(S105)。S105でNoの場合はS101に戻り処理を継続する。S105でYesの場合は処理を終了する。
【0106】
出力した外力fは任意のシステムにおける制御に用いられる。例えば上述してきたロボット制御システムであれば、fに基づいて力制御(インピーダンス制御)を行うことになる。ただし、インピーダンス制御は公知の技術であるためフローチャートを用いた説明は省略する。
【0107】
以上の本実施形態では、外力検知装置30は図3に示したように、力覚センサー10からのセンサー情報を取得する取得部32と、取得したセンサー情報に対して補正処理を行う補正部34とを含む。図2に示したように、力覚センサー10には、外力fを変換して力Fとして力覚センサー10に伝達する機械機構が設けられている。そして、補正部34は機械機構での変換の逆変換を、補正処理として行う。
【0108】
ここで、外力fとは機械機構が受ける力を表し、力Fとは外力fが機械機構により変調された結果、力覚センサー10が受ける力を表す。ただし、力覚センサー10はセンサー自身や機械機構等の自重や姿勢により重力等の力も受けることになる。よって力覚センサー10から出力されるセンサー情報は、外力fが変調された結果の力Fだけでなく、他の力も含んでいる場合が考えられる。そのような場合には、センサー情報に対して自重姿勢補正処理等を行うことで、他の力を除去して力Fを求める必要がある。
【0109】
これにより、外力fが機械機構により力Fに変調(変換)される場合にも、外力fを正確に求めることが可能になる。システムでの制御に必要なのは、外部と実際にやり取りされる力であることが想定されるため、本実施形態の処理を行うことで制御において有用な情報を取得することができる。
【0110】
また、補正部34は、機械機構での変換が所定の変換式でモデル化される場合には、変換式の逆変換式を用いて補正処理を行ってもよい。ここで、所定の変換式とは常微分方程式であってもよい。また、具体的には図6に示したように、質量項、粘性項及び弾性項を係数パラメーターとする運動方程式であってもよい。
【0111】
ここで、機械機構での変換を変換式でモデル化する処理とは、例えば機械機構の物理的な特性をモデル化し、求められた特性のモデルに基づいて変換を数式化する処理であってもよい。なお、モデル化は変換(或いは機械機構の特性)を完全に再現するモデルを求める必要はなく、近似的なモデルを求めれば足りる。機械機構の特性をm、μ、kでモデル化した場合には、機械機構自体が実際に質量を持つ物体、ダンパー及びバネで形成されている場合等を除けば、そのモデルは実際の機械機構の機械的な特性とはズレが生じるが、その後の制御において精度が確保できる程度であれば問題はない。具体的には、機械機構を高次微分項まで用いた数式(或いは無限級数のような数式)でモデル化しなくてもよく、2次の微分項までで近似してもよい。その場合、変換式は運動方程式に相当する。
【0112】
これにより、モデル化を行なって処理を容易にすることが可能になる。何らかの形で変換を表すことが出来れば、本実施形態での補正処理に当たる逆変換もそこから導くことができる。特に変形式等が常微分方程式(狭義には線形常微分方程式)である場合には、システム上で解を求める手法は広く知られているため、容易に処理できる。また、線形常微分方程式の1つである運動方程式であれば、その係数は機械機構の質量・粘性・弾性等に対応付けて求めることができる。
【0113】
また、補正部34は、図9に示したように、デジタルフィルター処理により補正処理を行ってもよい。
【0114】
これにより、補正処理をデジタルフィルター化することが可能になる。デジタルフィルター化することでハードウェアー化や安定性の判定等が容易になる。
【0115】
また、補正部34は、上式(6)に示したように、第n(nは3以上の整数)のタイミングにおけるセンサー情報の値をFn、第n−1のタイミングにおける中間パラメーターをxn−1とし、デジタルフィルター処理の係数パラメーターをα及びβとした場合に、xn=αFn+βxn−1により、第nのタイミングにおける中間パラメーターxnを求めてもよい。そして、上式(7)に示したように、求められたxn、第n−1のタイミングで求められた中間パラメーターxn−1及び第n−2のタイミングで求められた中間パラメーターxn−2と、デジタルフィルター処理の係数パラメーターC0,C1,C2から、fn={xn−(C1xn−1+C2xn−2)}/C0により、第nのタイミングにおける補正処理後のセンサー情報(外力)fnを求める。
【0116】
これにより、上式(6)、(7)に基づいてFから外力fを求めることが可能になる。この処理をデジタルフィルター化したものが図9である。
【0117】
また、取得部32は、力Fに対応する情報をセンサー情報として取得してもよい。そして、補正部34は、センサー情報に対して補正処理を行うことで、外力fに対応する情報を取得する。
【0118】
これにより、センサー情報であるF(ただし自重姿勢補正等を考慮する場合はそれらを補正した後の情報に相当する)から、機械機構が受けた外力fを求めることが可能になる。上述したとおり、システムで用いたいのはFではなく外力fであることが想定されるため、外力fを正確に求めることは重要となる。
【0119】
また、機械機構は、ロボット100のエンドエフェクターであってもよい。
【0120】
ここでエンドエフェクターとは、例えば機械機構のうちアーム120の先端に設けられ、対象物(ワーク等)に対して作業を行うものを指す。ただし、本実施形態は力覚センサー10よりも先に設けられた機械機構での外力への変換に対して、補正処理を行う手法を提案するものであることに鑑みれば、本実施形態の機械機構はエンドエフェクターに限定されるものではない。例えば、ロボットとして人のように肩関節、肘関節、手首関節を有するものを想定した場合、肘関節部分に力覚センサー10が設けられたのであれば、エンドエフェクターに加えて、肘より先の部分(つまりアーム120の一部)を含めて本実施形態の機械機構であると捉える考え方もできる。
【0121】
また、エンドエフェクターとしては、例えば人の指のような構造を持ち、つかむ、握る、挟む等の動作を行うハンド110が考えられるが、これに限定されるものではない。指のような構造を持たない吸着ハンドであってもよいし、より細かい動作に適した吸着ピンセットであってもよい。またエンドエフェクターの作業内容は把持や移動に限定されるものではない。よってエンドエフェクターは、溶接作業等を行う溶接ガンであってもよいし、塗装作業等を行うスプレーガンであってもよく、その他種々の形態が考えられる。
【0122】
これにより、機械機構がロボット100のエンドエフェクター(例えばロボット100のハンド110)である場合にも、本実施形態の外力検知装置30における補正処理を適用することが可能になる。
【0123】
また、以上の本実施形態は図3に示したように、上述してきた外力検知装置30と、外力検知装置30において補正処理が行われたセンサー情報(外力f)に基づいてロボットの制御処理を行う制御部とを含むロボット制御システムに適用できる。具体的には、制御部は外力検知装置30において補正処理が行われたセンサー情報に基づいて、ロボット100の目標値の補正値を出力する力制御部20と、補正値により補正された目標値に基づいて、ロボット100のフィードバック制御を行うロボット制御部80を含む。
【0124】
これにより、外力検知装置30の出力である外力fを用いてロボット100の制御を行うロボット制御システムを実現することが可能になる。ロボットシステムでは、ロボット100の手先位置(ハンド110の位置)の精度を上げるために、ハンド110は高剛性である必要があるが、そうなると作業者等と衝突した場合に問題がある。力制御により見た目上柔らかい(剛性の低い)特性を実現したとしても、何らかの理由で力制御を行う力制御部20が動作を停止してしまえば同様の問題が残る。つまり、ロボットシステムにおいてハンド110を柔構造物等の剛性の低いものにすることには一定の利点があるため、本実施形態のように力覚センサー10の先に力覚センサー10よりも剛性の低い機械機構が設けられる状況が考えうることになる。その場合には、上述したように機械機構による変調が無視できない以上、その後の制御(ここでは例えばインピーダンス制御)への影響を抑止するためにも、センサー情報に対して逆変換に相当する補正処理を行う必要がある。
【0125】
なお、以上のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また外力検知装置、ロボット制御システムの構成、動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0126】
10 力覚センサー、20 力制御部、22 インピーダンス処理部、
24 制御パラメーター記憶部、30 外力検知装置、32 取得部、34 補正部、
60 目標値出力部、62 軌道生成部、64 インバースキネマティクス処理部、
80 ロボット制御部、100 ロボット、110 ハンド、120 アーム、
300 制御装置、310 ロボット、320 アーム
【特許請求の範囲】
【請求項1】
力覚センサーから出力されたセンサー情報を取得する取得部と、
取得した前記センサー情報に対して補正処理を行う補正部と、
を含み、
前記力覚センサーには、外力fを変換して力Fとして前記力覚センサーに伝達する機械機構が設けられ、
前記補正部は、
前記機械機構での変換の逆変換を、前記補正処理として行うことを特徴とする外力検知装置。
【請求項2】
請求項1において、
前記補正部は、
前記機械機構での前記変換が所定の変換式でモデル化される場合に、前記変換式の逆変換式を用いて前記補正処理を行うことを特徴とする外力検知装置。
【請求項3】
請求項2において、
前記補正部は、
前記変換式として常微分方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記常微分方程式の前記逆変換式を用いて前記補正処理を行うことを特徴とする外力検知装置。
【請求項4】
請求項2又は3において、
前記補正部は、
前記変換式として、質量項、粘性項及び弾性項を係数パラメーターとする運動方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記運動方程式の前記逆変換式を用いて前記補正処理を行うことを特徴とする外力検知装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記補正部は、
デジタルフィルター処理により前記補正処理を行うことを特徴とする外力検知装置。
【請求項6】
請求項5において、
前記補正部は、
第n(nは3以上の整数)のタイミングにおける前記センサー情報の値をFn、第n−1のタイミングにおける中間パラメーターをxn−1とし、前記デジタルフィルター処理の係数パラメーターをα及びβとした場合に、
xn=αFn+βxn−1により、前記第nのタイミングにおける前記中間パラメーターxnを求めるとともに、
求められた前記中間パラメーターxn、前記第n−1のタイミングで求められた前記中間パラメーターxn−1及び第n−2のタイミングで求められた前記中間パラメーターxn−2と、前記デジタルフィルター処理の前記係数パラメーターC0,C1,C2から、
fn={xn−(C1xn−1+C2xn−2)}/C0により、前記第nのタイミングにおける前記補正処理後の前記センサー情報fnを求めることを特徴とする外力検知装置。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記取得部は、
前記力Fに対応する情報を前記センサー情報として取得し、
前記補正部は、
前記センサー情報に対して前記補正処理を行うことで、前記外力fに対応する情報を取得することを特徴とする外力検知装置。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記機械機構は、ロボットのエンドエフェクターであることを特徴とする外力検知装置。
【請求項9】
請求項1乃至8のいずれか記載の外力検知装置と、
前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいてロボットの制御処理を行う制御部と、
を含むことを特徴とするロボット制御システム。
【請求項10】
請求項9において、
前記制御部は、
前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいて、前記ロボットの目標値の補正値を出力する力制御部と、
前記補正値により補正された前記目標値に基づいて、前記ロボットのフィードバック制御を行うロボット制御部と、
を含むことを特徴とするロボット制御システム。
【請求項11】
外力fを変換して力Fとして伝達する機械機構が設けられた力覚センサーから出力されたセンサー情報に対して補正処理を行う外力検知方法であって、
前記力覚センサーからの前記センサー情報を取得し、
取得した前記センサー情報に対して、前記機械機構での変換の逆変換を前記補正処理として行うことを特徴とする外力検知方法。
【請求項1】
力覚センサーから出力されたセンサー情報を取得する取得部と、
取得した前記センサー情報に対して補正処理を行う補正部と、
を含み、
前記力覚センサーには、外力fを変換して力Fとして前記力覚センサーに伝達する機械機構が設けられ、
前記補正部は、
前記機械機構での変換の逆変換を、前記補正処理として行うことを特徴とする外力検知装置。
【請求項2】
請求項1において、
前記補正部は、
前記機械機構での前記変換が所定の変換式でモデル化される場合に、前記変換式の逆変換式を用いて前記補正処理を行うことを特徴とする外力検知装置。
【請求項3】
請求項2において、
前記補正部は、
前記変換式として常微分方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記常微分方程式の前記逆変換式を用いて前記補正処理を行うことを特徴とする外力検知装置。
【請求項4】
請求項2又は3において、
前記補正部は、
前記変換式として、質量項、粘性項及び弾性項を係数パラメーターとする運動方程式を用いて前記機械機構での前記変換がモデル化される場合に、前記運動方程式の前記逆変換式を用いて前記補正処理を行うことを特徴とする外力検知装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記補正部は、
デジタルフィルター処理により前記補正処理を行うことを特徴とする外力検知装置。
【請求項6】
請求項5において、
前記補正部は、
第n(nは3以上の整数)のタイミングにおける前記センサー情報の値をFn、第n−1のタイミングにおける中間パラメーターをxn−1とし、前記デジタルフィルター処理の係数パラメーターをα及びβとした場合に、
xn=αFn+βxn−1により、前記第nのタイミングにおける前記中間パラメーターxnを求めるとともに、
求められた前記中間パラメーターxn、前記第n−1のタイミングで求められた前記中間パラメーターxn−1及び第n−2のタイミングで求められた前記中間パラメーターxn−2と、前記デジタルフィルター処理の前記係数パラメーターC0,C1,C2から、
fn={xn−(C1xn−1+C2xn−2)}/C0により、前記第nのタイミングにおける前記補正処理後の前記センサー情報fnを求めることを特徴とする外力検知装置。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記取得部は、
前記力Fに対応する情報を前記センサー情報として取得し、
前記補正部は、
前記センサー情報に対して前記補正処理を行うことで、前記外力fに対応する情報を取得することを特徴とする外力検知装置。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記機械機構は、ロボットのエンドエフェクターであることを特徴とする外力検知装置。
【請求項9】
請求項1乃至8のいずれか記載の外力検知装置と、
前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいてロボットの制御処理を行う制御部と、
を含むことを特徴とするロボット制御システム。
【請求項10】
請求項9において、
前記制御部は、
前記外力検知装置において前記補正処理が行われた前記センサー情報に基づいて、前記ロボットの目標値の補正値を出力する力制御部と、
前記補正値により補正された前記目標値に基づいて、前記ロボットのフィードバック制御を行うロボット制御部と、
を含むことを特徴とするロボット制御システム。
【請求項11】
外力fを変換して力Fとして伝達する機械機構が設けられた力覚センサーから出力されたセンサー情報に対して補正処理を行う外力検知方法であって、
前記力覚センサーからの前記センサー情報を取得し、
取得した前記センサー情報に対して、前記機械機構での変換の逆変換を前記補正処理として行うことを特徴とする外力検知方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−113661(P2013−113661A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−258838(P2011−258838)
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]