JP5825589B2 - ロボット制御装置、ロボット、およびロボット制御方法 - Google Patents
ロボット制御装置、ロボット、およびロボット制御方法 Download PDFInfo
- Publication number
- JP5825589B2 JP5825589B2 JP2011090998A JP2011090998A JP5825589B2 JP 5825589 B2 JP5825589 B2 JP 5825589B2 JP 2011090998 A JP2011090998 A JP 2011090998A JP 2011090998 A JP2011090998 A JP 2011090998A JP 5825589 B2 JP5825589 B2 JP 5825589B2
- Authority
- JP
- Japan
- Prior art keywords
- arm
- vector
- motion
- arm portions
- force
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
ロボットは、不図示の2本のアームに各々力センサ1、2(961、962)を有している。この力センサ1、2は、不図示の把持部に加わる外力を検出する。制御部911は、アーム1の力センサ1が検出した外力に基づき、コンプライアンス成分を算出する。なお、コンプライアンス成分とは、把持部の位置および把持部に作用する力に基づき、ロボットを制御するときに用いるコンプライアンスの成分である。
また、制御部911は、メモリ911−2に記憶されている情報に基づき、アーム1の予定されている軌道(設定軌道)を算出する。そして、制御部911は、算出されたコンプライアンス成分と設定軌道とを用いて、アーム1の位置などの目標値を算出する。制御部911は、算出された目標値に基づき、アーム1を制御している。一方、制御部911は、アーム2の力センサ2が検出した外力に基づき、アーム1の現在位置を推定する。制御部911は、推定されたアーム1の現在位置に基づき、アーム2を制御している。
更に、特許文献1に記載の従来技術では、マスターアーム及びスレーブアームそれぞれの運動が独立に設定されるため、それらの相対運動で決定される対象物(物体)に対する押し付け力を直接制御することが出来ない。このため、対象物を落下させてしまう、もしくは対象物に過大な力を加えて破壊してしまうといった課題があった。
図1は、本実施形態に係るロボット1の概略斜視図である。図1に示すように、ロボット1は、2本のアーム2、3を備えている。アーム2は、固定部10、アーム部20−1、第1力センサ61、及び指部40−1を備える。また、アーム3は、固定部10、アーム部20−2、第2力センサ62、及び指部40−2を備える。
制御部11は、アーム部20−1及び20−2、指部40−1及び40−2を制御する。制御部11の詳細は後述する。なお、制御部11は、固定部10の内部ではなく、固定部10の外部に設けるようにしてもよい。
また、アーム部20−2の第5フレーム25と指部40−2の間には、第2力センサ62が介挿されている。第2センサ62は、アーム3の指部40−2に加わる力成分とトルク成分を検出する。第2力センサ62は、検出したアーム3の指部40−2に加わる力成分とトルク成分を含む情報を制御部11に出力する。
また、アーム3のアーム部20−1は、回転部52、53及び55と、屈折部51、54及び56とを有している。そして、アーム3のアーム部20−2は、指部40−2との間に第2力センサ62を有している。
また、屈折部51は、固定部10と第1フレーム21との間に設けられている。回転部52は、第1フレーム21と第2フレーム22との間に設けられている。回転部53は、第2フレーム22と第3フレーム23との間に設けられている。屈折部54は、第3フレーム23と第4フレーム24との間に設けられている。回転部55は、第4フレーム24と第5フレーム25との間に設けられている。屈折部54は、第5フレームのうち第4フレームが設けられた他方に設けられている。
図2のように、アーム部20−1及び20−2は、6自由度を有する6軸アームである。すなわち、アーム部20−1の先端の指部40−1は、これらの各軸の回転部と屈折部の動作により、移動する。そして、指部40−1が対象物130を把持している場合、第1力センサ61が検出した外力には、このような各軸の回転部と屈折部の動作による成分が含まれている。このため、アーム部20−1及びアーム20−2が6軸アームであるため、6つの変数で制御することが可能であり、例えば、位置(x、y、z)の3つの変数(成分)、姿勢(α、β、γ)の3つの成分(変数)に対応して制御することができる。
なお、各算出部が行う算出手順については、後述する。また、本実施形態では、第1記憶部11−3及び11−13のように記憶部を2つ備える例を説明したが、記憶部は1つでもよい。
なお、対象物130の中心運動に対してはたらく力とは、アーム部20−1の先端の指部40−1とアーム部20−2の先端の指部40−2との中心において働く力である。すなわち、アーム部20−1の先端の指部40−1とアーム部20−2の先端の指部40−2とが、対象物130を把持している場合、把持されている対象物130の中心がどのように運動するか、あるいは運動しているかを示すものである。
なお、中心運動のコンプライアンス成分とは、アーム部20−1の先端の指部40−1とアーム部20−2の先端の指部40−2との中心におけるコンプライアンスの各成分である。また、コンプライアンスの各成分とは、後述するアーム2の手先とアーム3の手先との中心位置成分と姿勢成分である。また、コンプライアンス(compliance)とは、剛性の逆数のことであり、固定方法が剛結ではなく、入力に対し、ある程度の変形・変位を許す状態である。
なお、中心運動の設定軌道とは、アーム部20−1の先端の指部40−1とアーム部20−2の先端の指部40−2との中心の搬送時の軌道である。
なお、中心運動の目標値とは、アーム部20−1の先端の指部40−1とアーム部20−2の先端の指部40−2との中心の搬送時の位置及び姿勢の目標制御値である。
なお、アーム110の目標値とは、アーム110の先端の指部40−1が対象物130の動作に追従して動作する位置及び姿勢を示すアーム110への制御量の目標値である。
なお、相対運動に対してはたらく力とは、アーム部20−1の先端の指部40−1に対するアーム部20−2の先端の指部40−2の相対的な力である。すなわち、アーム部20−1の先端の指部40−1とアーム部20−2の先端の指部40−2とが、対象物130を把持している場合、アーム部20−1の先端の指部40−1に対して、アーム部20−2の先端の指部40−2がどのように運動するか、あるいは運動しているかを示すものである。
なお、相対運動のコンプライアンス成分とは、アーム部20−1の先端の指部40−1に対するアーム部20−2の先端の指部40−2のコンプライアンスの各成分である。また、コンプライアンスの各成分とは、後述するアーム2とアーム3との手先の相対位置成分と姿勢成分である。
なお、相対運動の設定軌道とは、アーム部20−1の先端の指部40−1に対するアーム部20−2の先端の指部40−2の搬送時の軌道である。
なお、相対運動の目標値とは、アーム部20−1の先端の指部40−1に対するアーム部20−2の先端の指部40−2の搬送時の位置及び姿勢の目標制御値である。
なお、アーム120の目標値とは、アーム120の先端の指部40−2が対象物130の動作に追従して動作する位置及び姿勢を示すアーム120への制御量の目標値である。
次に、本実施形態に係るアーム110及びアーム120の制御の概要について、図4を用いて説明する。図4は、本実施形態のロボット制御方法を適用するロボット1のアームの概念図である。なお、図4のように、アーム110は、図1の一方のアーム部20−1を模式的に表し、図1の指部40−1を模式的に表した把持部111を有している。また、アーム120は、図1の他方のアーム部20−2を模式的に表し、図1の指部40−2を模式的に表した把持部121を有している。対象物130は、アーム110とアーム120により把持され、運搬される物体である。
以下で説明する各式(1)〜式(20)は、制御部11がアーム110及び120の目標値を算出するときに用いる式であり、予め制御部11内の後述する算出部に定義されて記憶されている。
制御部11は、ベクトルp1を、位置成分ベクトルp1pと、姿勢成分ベクトルp1dとにより、次式(1)式のように表される。また、制御部11は、ベクトルp2を、位置成分ベクトルのp2pと、姿勢成分ベクトルp2dとにより、次式(2)式のように表される。
また、符号α、β及びγは、3次元空間におけるZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角である。
式(2)において、p2x、p2y及びp2zは、ベクトルp2pのx軸成分、y軸成分及びz軸成分であるまた、式(2)において、p2α、p2β及びp2γは、ベクトルp2dのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。
また、この座標系Σにおいてアーム110の手先に対するアーム120の相対的な手先位置成分及び姿勢成分(以下、アームの手先同士の相対の位置及び姿勢という)を、ベクトルRで表す。すなわち、ベクトルRは、アーム110の先端の把持部111に対するアーム120の把持部121の相対の位置及び姿勢を示す情報である。
このような2本のアーム110及び120のそれぞれの先端から中心の位置をコンプライアンスの中心(剛性中心)、コンプライアンス・センターという。本実施形態では、対象物130の中心、すなわちベクトルPをベクトルRの中間にした例である。
ベクトルPは、位置成分ベクトルPpと、姿勢成分ベクトルPdとにより、次式(3)式のように表される。また、ベクトルRは、位置成分ベクトルRpと、姿勢成分ベクトルRdとにより、次式(4)式のように表される。
式(4)において、Px、Py及びPzは、ベクトルPpのx軸成分、y軸成分及びz軸成分であるまた、式(4)において、Pα、Pβ及びPγは、ベクトルPdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角の成分である。
ただし、図4に示した各座標系の相対位置関係は一例であり、任意に配置することが可能である。
式(7)において、f2x、f2y及びf2zは、ベクトルf2pのx軸成分、y軸成分及びz軸成分である。また、式(7)において、τ2α、τ2β及びτ2γは、アーム120のトルク成分ベクトルf2dを、ZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角で表したものである。
まず、力ベクトルFを、次式(8)のように表す。
次に、式(10)と式(11)において、ベクトルPTおよびベクトルRTは、各々、次式(12)と次式(13)のように、位置成分と姿勢成分とに分けて表される。
式(13)において、RTx、RTy及びRTzは、ベクトルRTpのx軸成分、y軸成分及びz軸成分である。また、式(13)において、RTα、RTβ及びRTγは、トルク成分ベクトルRTdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。
式(15)において、ΔRx、ΔRy及びΔRzは、ベクトルΔRpのx軸成分、y軸成分及びz軸成分である。また、式(15)において、ΔRα、ΔRβ及びΔRγは、トルク成分ベクトルΔRdのZYZ固定角表現におけるz軸、y軸、z軸に対する各回転角成分である。
また、式(17)において、MR^は、ベクトルfの慣性行列(慣性係数)、DR^は、ベクトルfの粘性行列(粘性係数)、KR^は、ベクトルfの弾性行列(弾性係数)である。なお、式(17)において、上に^が表示されている各係数を、それぞれ便宜的にMR^、DR^およびKR^と表す。なお、Pの運動とRの運動の振る舞いを定義した運動方程式とは、式(16)および式(17)である。
各係数Mp^、Dp^、Kp^、MR^、DR^およびKR^は、6行6列の対角行列である。対角成分にそれぞれ独立の値を設定することで、アームの手先の中心の位置及び姿勢を示す情報であるベクトルPとアームの手先同士の相対の位置及び姿勢を示す情報であるベクトルRとの各軸に対する運動を、個別に制御することが可能となる。ただし、これは一例であり、Mp^、Dp^、Kp^、MR^、DR^およびKR^は非対角要素を持つ行列であっても構わない。
なお、制御部11は、仮想的なインピーダンスに加え、対象物のインピーダンスを用いて算出するようにしてもよい。
次に、制御部11は、求めたベクトルPとベクトルRを次式(18)と次式(19)に代入し、アーム120のベース座標系における手先位置及び姿勢を示す情報であるベクトルp1、アーム120のベース座標系における手先位置及び姿勢を示す情報であるベクトルp2を求める。
制御部11は、アーム部110と把持部111、アーム部120と把持部121に対して式(18)及び式(19)で求めた位置に移動するよう指令を出す。以上が本実施形態に係る制御の概要である。
次に、障害物から対象物に力が加わった場合の説明を、図6〜図17を用いて行う。図6は、本実施形態に係る対象物が障害物に当たった場合を説明する図であり、図7は、本実施形態に係る対象物が障害物に当たった後、各アームが制御される場合を説明する図である。
図6および図7において、アーム110及びアーム120の把持部111及び把持部121は、アーム110の手先の把持部111とアーム120の手先の把持部121との中心位置と、対象物130の中心が一致するように対象物130を把持している。ここで、対象物130を把持した状態で、アームの手先の中心の位置及び姿勢について、軌道ベクトルPTを、制御部11は、式(12)に基づき、次式(21)のように算出する。なお、対象物130の中心がアーム110により搬送される軌道は、予めロボット制御装置1のオペレータにより各時刻における移動位置、移動速度が軌道に関する情報として設定される。そして、オペレータにより設定された軌道に関する情報が、予め制御部11の第1記憶部11−3に記憶されている。
次に、アームの手先同士の相対位置及び姿勢について、対象物130を把持している状態において、軌道ベクトルRTを、制御部11は、式(13)に基づき、次式(22)のように算出する。なお、搬送される対象物130において、アーム110に対するアーム120の手先同士の相互位置の軌道は、予めロボット制御装置1のオペレータにより各時刻における移動位置、移動速度が軌道に関する情報として設定される。そして、オペレータにより設定された相対的な軌道に関する情報が、予め制御部11の第2記憶部11−13に記憶されている。
なお、対象物130は、図8の対象物130の斜視図に示すように幅w、高さh、奥行きl、質量mの直方体であり、質量分布が一様でその重心が物体の中心にある。また、対象物130の中心を通り、作業座標系Σのz軸と平行な直線をcとする。すなわち、対象物130の中心は、幅w、高さh、奥行きl、質量mのそれぞれの中心が重なる位置である。
図9は、本実施形態に係る対象物130と障害物140との位置関係を説明する図である。障害物140は円筒形であり、対象物130と障害物140とは、図9のような位置関係で接している。すなわち、xz平面における対象物130の面は、障害物140の円周面と接する。より具体的には、xy平面の長手方向に対して、障害物140の長手方向が、直交する向きで接する。
図6に示したように、式(21)の軌道に従って、制御部11は、対象物130の位置を移動するように制御すると、対象物130が中心から距離dの位置で障害物140と接する。
ベクトルfbについて、対象物130の中心方向の成分をベクトルfbc、ベクトルfbcと直行する方向の成分をベクトルfb0とする。この場合、ベクトルfbcは、対象物130を並進させる力となる。ベクトルfb0は、直線cを回転軸として、対象物130を回転させるトルクのベクトルτcを発生させている。
また、それぞれのy成分には力ベクトルfcのy成分−fbcyが等分配されて、各力センサ61及び62に入力される。更に、第1力センサ61及び第2力センサ62のα成分には、トルクのベクトルτcによって発生する−τbが入力される。
まず、制御部11は、式(8)に式(23)式及び式(24)を代入し、次式(25)を算出する。
まず、制御部11は、式(25)に式(16)を代入し、ベクトルΔPを算出する。なお、式(16)は非線形の微分方程式であるので、制御部11は、例えば、オイラー法やルンゲクッタ法などの数値計算法を用いてベクトルΔPを計算する。実際の制御においては、制御周期の長短に応じて計算方法を選択する必要があり、制御周期が長い場合は計算の精度が比較的高いルンゲクッタ法で算出する方が良い。すなわち、制御部11は、高次の多項式を用いて近似して算出(時間に関する高次の多項式を用いて解く、とも言う)する。なお、高次の多項式とは、一般的に4次以上である。例えばルンゲクッタ法であれば4次までとることで、一般的な物理現象の運動方程式を精度良く解くことが可能である。
従って、式(10)及び式(21)から、ベクトルPpは図12に示すベクトルとなる。これにより式(18)及び式(19)から、アーム120及びアーム120の位置成分ベクトルp1p及びベクトルp2pは、図12に点線で示したベクトルp1’及びベクトルp2’となる。このため、対象物130を把持しながら障害物140との間に発生する力を緩和する方向に、アーム110及びアーム120は移動する。
図14は、本実施形態に係る回転に応じたアームの手先の中心の位置及び姿勢を示す情報のベクトルRの運動について説明する図である。アーム110及びアーム120が、z軸に関して負方向に回転するに伴い、図14(a)に示すように、アーム110及びアーム120には、対象物130に対して加える力ベクトルfrが発生する。このベクトルfrを、x軸方向及びy軸方向に分解すると、x軸方向については、アーム110が加える力とアーム120が加える力とで相殺する。従って残るy軸方向について、それぞれその反力fry、−fryが、アーム110及びアーム120と把持部111及び121との間に取り付けられた第1力センサ61及び第2力センサ62に入力される。
ベクトルΔRは、ベクトルfに2次遅れで追従することから、図12(b)に示すように、ベクトルΔRは、ベクトルfPのy成分−fryに倣う方向を向く。従って、式(11)及び式(22)から、ベクトルRPは、図14(b)に示すベクトルとなる。更に式(18)及び式(19)から、アーム110及びアーム120の位置成分ベクトルp1P、p2Pは、図14(b)に点線で示したベクトルp1’及びベクトルp2’となる。このため、制御部11の制御により、対象物130を把持しながら障害物140との間に発生する力を緩和する方向にアーム110及びアーム120が移動する。
それゆえ、図16(b)に示したように、fxはそれに対象物130の弾性係数kを乗じた値になっている。
従って、アーム110及びアーム120が、対象物130に対して押し付ける力fhは、次式(37)のようになる。
また、対象物130の弾性係数kが、KRxとの間に、k>>KRxの関係が成り立つ時、すなわち、対象物130が固い場合、式(37)は、次式(38)のようになる。
次に、制御部11は、式(37)を解析的に求める。まず、制御部11は、式(35)に式(33)及び式(34)を代入し、ΔRxについて解き、次式(39)を算出する。
制御部11は、作業指示が入力された後、ステップS1〜ステップS10を行う。
制御部11の中心運動の設定軌道算出部11−4は、第1記憶部11−3に記憶されているアーム110の手先及びアーム120の手先の中心の軌道に関する情報を読み出し、読み出した情報に基づき、作業終了時刻Tまでの各時刻の手先の中心の目標位置及び姿勢軌道ベクトルPTを生成する。
また、相対運動の設定軌道算出部11−14は、第2記憶部11−13に記憶されているアーム110に対するアーム120の手先同士の相対的なの軌道に関する情報に基づき、作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTを算出する。中心運動の設定軌道算出部11−4は、算出した作業終了時刻Tまでの各時刻の手先の中心の目標位置及び姿勢軌道ベクトルPTを中心運動の目標位置算出部11−5に出力する。また、相対運動の設定軌道算出部11−14は、算出した作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTを相対運動の目標位置算出部11−15に出力する(ステップS1)。
相対運動のコンプライアンス成分算出部11−12は、相対運動に対してはたらく力の算出部11−11から出力されたアームの手先同士の相対の位置及び姿勢に加わる力ベクトルfに基づき、手先の相対の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRを算出する。相対運動のコンプライアンス成分算出部11−12は、算出した手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRを相対運動の目標位置算出部11−15に出力する(ステップS5)。
また、相対運動の目標位置算出部11−15には、相対運動のコンプライアンス成分算出部11−12から出力された手先の相対の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRと、相対運動の設定軌道算出部11−14から出力された作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTとが入力される。相対運動の目標位置算出部11−15は、入力された手先の中心の目標位置及び姿勢に対するコンプライアンス成分ベクトルΔRと、作業終了時刻Tまでの各時刻の相対の手先の目標位置及び姿勢軌道ベクトルRTとに基づき、現在時刻の手先の相対の目標位置及び姿勢を示す情報であるベクトルR=ベクトルRT+ベクトルΔR(式(11))を算出する。すなわち、相対運動の目標位置算出部11−15は、予定された軌道を、実際の動作に基づき補正した軌道に基づき、実際の動作に応じた現在時刻の手先の相対の目標位置及び姿勢を算出している。
相対運動の目標位置算出部11−15は、算出した現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRT+ベクトルΔRを、アーム110の目標位置算出部11−6とアーム120の目標位置算出部11−16とに出力する(ステップS6)。
また、アーム120の目標位置算出部11−16には、中心運動の目標位置算出部11−5から現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPT+ベクトルΔPと、相対運動の目標位置算出部11−15から現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRT+ベクトルΔRとが入力される。アーム120の目標位置算出部11−16は、入力された現在時刻の手先の中心の真の目標位置及び姿勢を示す情報のベクトルP=ベクトルPT+ベクトルΔPと、現在時刻の手先の相対の真の目標位置及び姿勢を示す情報のベクトルR=ベクトルRT+ベクトルΔRとに基づき、アーム120の真の目標位置及び姿勢を示す情報のベクトルp2(式(19))を算出する(ステップS7)。
また、アーム120の目標位置算出部11−16は、算出したアーム120の真の目標位置及び姿勢を示す情報のベクトルp2に基づき、アーム120の目標軌道の補正値である制御値を生成し、生成した制御値に基づき、アーム120を制御する(ステップS8)。
ステップS10の判定の結果、内部タイマー値がt=T(作業終了時刻)ではない場合(ステップS10;No)、制御部11は、ステップS2に戻り、ステップS2〜ステップS10の処理を繰り返す。
ステップS10の判定の結果、内部タイマー値がt=T(作業終了時刻)の場合(ステップS10;Yes)、制御部11は、制御処理を終了し、次の作業指示を待つ。
また、制御部11は、2本のアーム110及び120に取り付けられた第1力センサ61及び第2力センサ62の値から上述の2つの運動に対する力を表し、目標軌道に対する補正量を、それらの力に対して仮想的なインピーダンスを受けて運動する対象物の位置として計算した。この結果、対象物130が落下しても、補正量が0となり、第1記憶部11−3及び第2記憶部11−13に記憶されている予め設定された目標軌道に、2本のアーム110及び120の手先が移動するだけであって、両者が衝突することを防ぐことができる。
更に、上述のアームの手先同士の相対の位置及び姿勢の運動に対して、仮想的に設定するインピーダンスは、対象物130を把持する際に設定する押し付け力から算出することが可能であり、所望の押し付け力を実現可能とした。
次に、従来技術と本実施形態との比較を行う。
従来技術の場合、図30のような構成のため、アーム1の目標値は、アーム1の力センサ961の出力と予め設定されているアーム1の軌道データのみに基づいて算出されている。また、アーム2の目標値は、アーム2の力センサ962に出力に基づいてアーム1の現在位置を推定し、推定したアーム1の位置に基づいてアーム2の目標値を算出していた。このため、対象物130に障害物140が当たった場合、対象物130を落下させてしまう場合もあった。さらに、対象物130を落下させてしまった場合、アーム2の力センサ962に加わる力がなくなるため、アーム2は、アーム1に向けて移動するような目標値が算出される。この結果、アーム2が、アーム1に衝突してしまう場合もあった。
この結果、対象物130が、障害物140に当たった場合でも、対象物130を落下させないように適切な押しつけ力で、アーム110及び120を制御することができる。また、仮に対象物130が、障害物140に当たり落下した場合においても、従来技術とは異なり、アーム110及び120との間には、インピーダンス制御により対象物130を仮想的に把持されているため、第1力センサ61及び第2力センサ62が外力を検出できない状態になっても、アーム120がアーム110に衝突することを防ぐことができる。
非特許文献1では、対象物のインピーダンスは、次式(45)〜(47)(非特許文献1の式(21)〜(23))である。これらの式(45)〜(47)を用いて、次式(48)(非特許文献1の式(13))を書き換えると、アームの相対位置の運動方程式は、次式(49)のようになる。
また、アームの重心位置の運動方程式は、次式(50)(非特許文献1の式(1))である。
式(50)と式(49)とを比べるとゲインは異なるが、周波数特性は同じである。すなわち、物体のコンプライアンス・センターに関する運動と、部品間の相対運動とは同じ運動特性を持つ必要がある。
第1実施形態では、ロボット1は、対象物130を搬送する例を説明した。第2実施形態においては、ロボット1は、2本のアーム110及び120で、対象物201を把持して、所定の部品211に組み付ける場合について説明する。
図19は、本実施形態に係る対象物(部品)を把持して、所定の部品211に組み付ける一例を説明する図である。 図20は、本実施形態に係るフレームがずれた場合、対象物(部品)を把持して、所定の部品211に組み付ける一例を説明する図である。図19及び図20において、対象物201は、突起部の先端部202を有する凸状の部品であり、突起部以外の両側を2本のアーム110及び120で把持されている。また、フレーム211は、凹状の物体であり、凹部212を有する。ロボット1は、このフレーム211の凹部212に、対象物201の突起部202を組み込むように対象物を移動させるように制御する。
なお、本実施形態に係るロボット1及び制御部11の構成は、第1実施形態と同様のため、説明を省略する。
例えば、図19のように、コンプライアンス・センターを対象物201の凸部の先端202に予めオペレータが設定する。図19のように、対象物201の先端202にコンプライアンス・センターを置くと、対象物201の先端202が空間に対して仮想的に持つインピーダンス特性を設定することが可能となる。なお、インピーダンス特性とは、慣性係数、減衰係数及びバネ定数により式(16)及び式(17)で表される特性である。
フレーム211と対象物201が接触した際に受ける力を、両方のアーム110及び120に取り付けられている第1力センサ61及び第2力センサ62の値から算出し、それに応じて第1実施形態と同様に、インピーダンス特性に応じて、倣い動作をさせることで対象物201をフレーム211へと組み付けることが可能となる。
一方、図20のように、フレーム211aが、x方向に距離d1ずれている場合、対象物201の先端202の面が、フレーム211aの凹部212の角213に当たる。この結果、両方のアーム110及び120に取り付けた第1力センサ61及び第2力センサ62には、対象物201の先端202の面が、フレーム211aの凹部212の角213に当たったことによる力ベクトルf1と力ベクトルf2とが検出される。
第2実施形態では、ベクトルPを空間上の任意の位置に置いて、各アームを制御する例を説明した。すなわち、ベクトルPは、空間に固定された座標系Σで記述している。本実施形態では、例えば、対象物(部品)の先端に原点を設定し、対象物の位置及び姿勢に応じて変化する座標系Σ’で記述して、各アームの制御を行う。すなわち、本実施形態においては、コンプライアンス・センターは、対象物の位置及び姿勢に応じて変化する。
なお、本実施形態に係るロボット1及び制御部11の構成は、第1実施形態と同様のため、説明を省略する。
例えば、対象物301の先端302に原点O’を設定し、x’軸、y’軸、z’軸をそれぞれ図21のように設定する。このように座標系Σ’(O’−x’y’z’)を定義する。
式(55)〜式(58)を用いて、式(18)と式(19)は、次式(59)と次式(60)のように置き換える。
また、制御部11は、コンプライアンス成分を、式(57)と式(58)を用いて算出し、式(58)及び式(60)を用いて各アームの目標値を算出することで、重心位置ベクトルP及び相対位置ベクトルRを経由することなく各アーム110及び120の目標位置を計算することが可能になり、計算時間の短縮が可能になる効果がある。
第1実施形態〜第3実施形態では、2本のアームにより制御する例を説明したが、本実施形態は3本のアームを用いて制御する例である。
図22は、本実施形態に係る3本のアームによるロボット制御方法を適用するロボット1のアームの概念図である。図22のように、対象物430(物体)を、3本のアーム401〜403が、各指部405〜407を介して把持している。なお、図23では、説明のために、対象物430を二次元的に三箇所、把持している図を示したが、これに限らず、3次元的に三箇所を把持するようにしてもよい。
また、図23においては、3本のアームの統一的な座標系(作業座標系)の原点Oを交わらせて表している。
なお、重心運動に対してはたらく力とは、アーム401の手先、アーム402の手先及びアーム403の手先の間に把持されている対象物430の重心位置に対して働く力である。対象物430の密度が一様であれば、重心位置は対象物430の中心の位置である。
なお、相対運動に対してはたらく力とは、アーム401に対するアーム402、アーム403の相対的にはたらく力である。
また、3本のアームを備えることで、対象物(物体)を把持する際の1本辺りの負荷が分散されるため、アームが2本である場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。
本実施形態は、3本のアームを制御する別の実施形態である。図25は、本実施形態に係る3本のアームによる座標系を説明する図である。図25のように、第1アーム401の手先位置及び姿勢をベクトルx1(図4のベクトルp1に相当)、第2アーム402の手先位置及び姿勢をベクトルx2(図4のベクトルp2に相当)、第3アーム403の手先位置及び姿勢をベクトルx3として表している。また、図25において、ベクトルxpは、3本のアームの手先の中心の位置及び姿勢(図4のベクトルPに相当)である。さらに、ベクトルx2rは、第1アーム401の先端位置x1と、第2アーム402の先端位置x2との相対位置を表している。x3rは、第2アーム402の先端位置x2と、第3アーム403の先端位置x3との相対位置を表している。ベクトルx2r、xr3及びx1pは、図4のベクトルRに相当する。
また、図25においては、3本のアームの統一的な座標系(作業座標系)の原点Oを交わらせて表している。
また、3本のアームを備えることで、対象物(物体)を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。
本実施形態は、3本のアームを制御する別の実施形態である。図26は、本実施形態に係る3本のアームによる座標系を説明する図である。図26のように、第1アーム401の手先位置及び姿勢をベクトルx1(図4のベクトルp1に相当)、第2アーム402の手先位置及び姿勢をベクトルx2(図4のベクトルp2に相当)、第3アーム403の手先位置及び姿勢をベクトルx3として表している。また、図26において、ベクトルxpは、3本のアームの手先の中心の位置及び姿勢(図4のベクトルPに相当)である。さらに、ベクトルx2rは、第3アーム403の先端位置x3と、第2アーム402の先端位置x2との相対位置を表している。x3rは、第1アーム401の先端位置x1と、第3アーム403の先端位置x3との相対位置を表している。ベクトルx2r、xr3及びx1pは、図4のベクトルRに相当する。
また、図26においては、3本のアームの統一的な座標系(作業座標系)の原点Oを交わらせて表している。
また、3本のアームを備えることで、対象物(物体)を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。
本実施形態では、4本のアームを制御する実施形態について説明する。
図27は、本実施形態に係る4本のアームによるロボット制御方法を適用するロボット1のアームの概念図である。図27のように、対象物530(物体)を、4本のアーム501〜504が、各指部505〜508を介して把持している。なお、図27では、説明のために、対象物530を二次元的に四箇所、把持している図を示したが、これに限らず、3次元的に四箇所を把持するようにしてもよい。
また、図24の構成に加え、不図示の第4アームの目標位置算出部を備える。第4アームの目標位置算出部には、重心運動の目標位置算出部411−5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411−15から対象物の相対運動の目標値を示す情報とが入力される。第4アームの目標位置算出部は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第4アームの目標値を算出する。第4アームの目標位置算出部は、算出した第4アームの目標値を第4アームの制御信号として、第4アームに出力する。
また、ベクトルx2r、xr3、x4r及びx1pは、図4のベクトルRに相当する。また、図28においては、4本のアームの統一的な座標系(作業座標系)の原点Oを交わらせて表している。
また、4本のアームを備えることで、対象物(物体)を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。
本実施形態では、n(nは2以上の自然数)本のアームを制御する実施形態について説明する。
図29は、本実施形態に係るn本のアームによる座標系を説明する図である。図29のように、第1のアームの手先位置及び姿勢をベクトルx1(図4のベクトルp1に相当)、第2のアームの手先位置及び姿勢をベクトルx2(図4のベクトルp2に相当)、第3のアームの手先位置及び姿勢をベクトルx3、第4のアームの手先位置及び姿勢をベクトルx4、・・・第nのアームの手先位置及び姿勢をベクトルxnとして表している。また、図29において、ベクトルxpは、複数のアームの手先の中心の位置及び姿勢(図4のベクトルPに相当)である。さらに、ベクトルx2rは、第1アームの先端位置x1と、第2アームの先端位置x2との相対位置を表している。x3rは、第1アームの先端位置x1と、第3アームの先端位置x3との相対位置を表している。x4rは、第1アームの先端位置x1と、第4アームの先端位置x4との相対位置を表している。xnrは、第1アームの先端位置x1と、第nアームの先端位置xnとの相対位置を表している。すなわち、ベクトルx2r〜xnrは、第1アームの先端位置x1と、第nアームの先端位置xnとの相対位置を表している。また、ベクトルx2r、xr3、x4r・・・xnr及びx1pは、図4のベクトルRに相当する。
また、図29においては、n本のアームの統一的な座標系(作業座標系)の原点Oを交わらせて表している。
また、図24の構成に加え、不図示の第4アーム〜第nアームの目標位置算出部を備える。第nアームの目標位置算出部には、重心運動の目標位置算出部411−5から対象物の重心運動の目標値を示す情報と、相対運動の目標位置算出部411−15から対象物の相対運動の目標値を示す情報とが入力される。第nアームの目標位置算出部は、入力された対象物の重心運動の目標値を示す情報と、対象物の相対運動の目標値を示す情報とに基づき、第nアームの目標値を算出する。第nアームの目標位置算出部は、算出した第nアームの目標値を第nアームの制御信号として、第nアームに出力する。
また、4本のアームを備えることで、対象物(物体)を把持する際の1本辺りの負荷が分散されるため、アームが2本の場合に比べて重量物を安定して把持し、搬送及び組み付けを行うことが可能になる。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリ、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
10・・・固定部
11、411・・・制御部
20・・・アーム部
40−1、40−2・・・指部
61・・・第1センサ(検出部)
62・・・第2センサ(検出部)
110、120・・・アーム
111、121・・・把持部(アーム部の先端)
130・・・対象物
140・・・障害物
ベクトルP(P)・・・アーム110及びアーム120のアームの手先の中心の位置及び姿勢
ベクトルR(R)・・・アーム110に対するアーム120の手先同士の相対的な手先位置及び姿勢
p1・・・アーム110の手先位置及び姿勢
p2・・・アーム120の手先位置及び姿勢
Claims (15)
- 対象物を運搬する複数のアーム部と、
複数の前記アーム部にそれぞれ設けられた、前記アーム部に作用する外力を検出する検出部と、
前記各検出部からの検出情報に基づき、複数の前記アーム部を制御する制御部と、
を備え、
前記制御部は、
複数の前記アーム部の作業空間上に任意に設定された座標系において、複数の前記アーム部のそれぞれの先端に対する相対的な位置及び姿勢が定義された所定の点の位置及び姿勢を示すPの運動を前記各検出部からの検出情報に基づき算出し、複数の前記アーム部の先端同士の相対の位置及び姿勢を示すRの運動を前記各検出部からの検出情報に基づき算出し、
前記算出したPの運動とRの運動とに基づき、複数の前記アーム部を制御する
ことを特徴とするロボット制御装置。 - 複数の前記アーム部のそれぞれの先端に対する相対的な位置及び姿勢が定義された前記所定の点は、複数の前記アーム部のそれぞれの先端を結ぶ線分の中点である
ことを特徴とする請求項1に記載のロボット制御装置。 - 前記座標系の原点は、前記対象物に設定されている
ことを特徴とする請求項2に記載のロボット制御装置。 - 前記制御部は、
前記Pの運動と前記Rの運動とを、複数の前記アーム部間に設定された仮想的なインピーダンスに基づいて算出し、
前記算出したPの運動とRの運動とに基づき、複数の前記アーム部を制御する
ことを特徴とする請求項1から請求項3のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
前記Pの運動と前記Rの運動とに基づき、複数の前記アーム部の各々の目標位置及び姿勢を算出し、
前記算出した複数の前記アーム部の各々の目標位置及び姿勢を示す情報に基づき、複数の前記アーム部を制御する
ことを特徴とする請求項1から請求項4のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
前記Pの運動と前記Rの運動とを、前記設定された仮想的なインピーダンスと前記対象物のインピーダンスとに基づき算出する
ことを特徴とする請求項1から請求項5のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
複数の前記アーム部が、前記対象物に対して押し付ける力が所望の値になるように、当該対象物のインピーダンスを考慮して、前記Rの運動の仮想的なインピーダンスを設定する
ことを特徴とする請求項1から請求項6のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
前記対象物が剛体である場合、前記対象物のインピーダンスを考慮せずに、前記Rの運動の仮想的なインピーダンスを設定し、前記各アーム部から前記対象物への所望の押し付け力を制御する
ことを特徴とする請求項7に記載のロボット制御装置。 - 前記制御部は、
前記Pの運動とRの運動とに基づき、複数の前記アーム部の各々の手先位置及び姿勢を示すp1、p2、・・・pn(nは2以上の自然数)を算出し、複数の前記アーム部を制御する
ことを特徴とする請求項1から請求項8のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
複数の前記アーム部の基準点同士の相対位置に基づいて、複数の前記アーム部の各々の手先位置及び姿勢を示すp1、p2、・・・pn(nは2以上の自然数)を算出し、複数の前記アーム部を制御する
ことを特徴とする請求項1から請求項9のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
複数の前記アーム部が、前記対象物を運搬する各々の予め定められた目標軌道に対する補正量を、前記Pの運動と前記Rの運動とに基づき算出し、算出した補正量に基づき複数の前記アーム部を制御する
ことを特徴とする請求項1から請求項10のいずれか1項に記載のロボット制御装置。 - 前記制御部は、
前記Pの運動と前記Rの運動の振る舞いを定義した運動方程式を、時間に関する高次の多項式を用いて解くことで前記Pの運動と前記Rの運動とを算出する
ことを特徴とする請求項1から請求項11のいずれか1項に記載のロボット制御装置。 - 複数の前記アーム部は、各々6自由度を有する6軸アーム部である
ことを特徴とする請求項1から請求項12のいずれか1項に記載のロボット制御装置。 - 前記請求項1から請求項13のいずれか1項のロボット制御装置を備える
ことを特徴とするロボット。 - 対象物を運搬する複数のアーム部を有するロボット制御装置におけるロボット制御方法において、
検出部が、複数の前記アーム部にそれぞれ設けられた、外力を検出する検出工程と、
制御部が、複数の前記アーム部を制御する制御工程と、
を有し、
前記制御工程は、複数の前記アーム部の作業空間上に任意に設定された座標系において、複数の前記アーム部のそれぞれの先端に対する相対的な位置及び姿勢が定義された所定の点の位置及び姿勢を示すPの運動を前記各検出部からの検出情報に基づき算出し、複数の前記アーム部の先端同士の相対の位置及び姿勢を示すRの運動を前記各検出部からの検出情報に基づき算出し、前記算出したPの運動とRの運動とに基づき、複数の前記アーム部を制御する
ことを特徴とするロボット制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011090998A JP5825589B2 (ja) | 2011-04-15 | 2011-04-15 | ロボット制御装置、ロボット、およびロボット制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011090998A JP5825589B2 (ja) | 2011-04-15 | 2011-04-15 | ロボット制御装置、ロボット、およびロボット制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012223829A JP2012223829A (ja) | 2012-11-15 |
JP5825589B2 true JP5825589B2 (ja) | 2015-12-02 |
Family
ID=47274598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011090998A Active JP5825589B2 (ja) | 2011-04-15 | 2011-04-15 | ロボット制御装置、ロボット、およびロボット制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5825589B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5915214B2 (ja) | 2012-02-01 | 2016-05-11 | セイコーエプソン株式会社 | ロボット装置、組立て方法、及び組立てプログラム |
KR101383722B1 (ko) * | 2012-12-17 | 2014-04-08 | 현대자동차(주) | 로봇의 양팔제어방법 |
JP2014205199A (ja) * | 2013-04-10 | 2014-10-30 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットシステム |
JP2014205197A (ja) * | 2013-04-10 | 2014-10-30 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットシステム |
JP2014205198A (ja) * | 2013-04-10 | 2014-10-30 | セイコーエプソン株式会社 | ロボット、ロボット制御装置およびロボットシステム |
JP6400321B2 (ja) * | 2014-03-31 | 2018-10-03 | 本田技研工業株式会社 | ワーク保持方法 |
US10329042B2 (en) | 2015-03-20 | 2019-06-25 | Seiko Epson Corporation | Packing apparatus and packing method |
JP6497299B2 (ja) * | 2015-11-12 | 2019-04-10 | 株式会社デンソー | 医療支援装置 |
DE102018004947B3 (de) * | 2018-06-22 | 2019-07-18 | Sew-Eurodrive Gmbh & Co Kg | Verfahren zur Steuerung von Antrieben eines Roboters und Robotersystem |
KR20210040265A (ko) * | 2019-10-03 | 2021-04-13 | 가부시키가이샤 니데크 | 안경 렌즈 주연 가공 시스템 및 기록 매체 |
CN111673736A (zh) * | 2020-05-13 | 2020-09-18 | 北京理工大学 | 一种机器人系统控制方法、设备及存储介质 |
CN114619437A (zh) * | 2020-12-08 | 2022-06-14 | 山东新松工业软件研究院股份有限公司 | 一种冗余多关节机器人柔性阻抗控制方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241661A (ja) * | 1992-03-03 | 1993-09-21 | Yaskawa Electric Corp | マニピュレータの協調制御装置 |
JPH07256580A (ja) * | 1994-03-18 | 1995-10-09 | Fujitsu Ltd | 複腕協調制御装置 |
JP2717771B2 (ja) * | 1994-11-17 | 1998-02-25 | 川崎重工業株式会社 | ロボットの協調制御方法および協調制御装置 |
-
2011
- 2011-04-15 JP JP2011090998A patent/JP5825589B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012223829A (ja) | 2012-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5825589B2 (ja) | ロボット制御装置、ロボット、およびロボット制御方法 | |
US11305431B2 (en) | System and method for instructing a robot | |
JP6640792B2 (ja) | ハンド制御装置、ハンド制御方法、およびハンドのシミュレーション装置 | |
Suárez-Ruiz et al. | A framework for fine robotic assembly | |
Williams Ii et al. | Translational planar cable-direct-driven robots | |
TW201404560A (zh) | 控制系統、程式及機械裝置之控制方法 | |
WO2020149021A1 (ja) | 経路生成装置、経路生成方法、及び経路生成プログラム | |
US20230117928A1 (en) | Nonlinear trajectory optimization for robotic devices | |
Mandava et al. | Design of PID controllers for 4-DOF planar and spatial manipulators | |
Liao et al. | Analysis of impact in robotic peg-in-hole assembly | |
Gosselin | Compact dynamic models for the Tripteron and Quadrupteron parallel manipulators | |
Long et al. | Dynamic modeling of cooperative robots holding flexible objects | |
He et al. | A strategy for large workpiece assembly based on hybrid impedance control | |
Yamane | Admittance control with unknown location of interaction | |
Ángel et al. | RoboTenis: design, dynamic modeling and preliminary control | |
Shin et al. | Humanoid's dual arm object manipulation based on virtual dynamics model | |
Suleman et al. | Dynamic based control strategy for haptic devices | |
Zelenak et al. | An extended kalman filter for collision detection during manipulator contact tasks | |
Cheng et al. | Efficient hand eye calibration method for a Delta robot pick-and-place system | |
Muthusamy et al. | Investigation and design of robotic assistance control system for cooperative manipulation | |
Hong et al. | A calculation method of the reaction force and moment for a Delta-type parallel link robot fixed with a frame | |
Sadeghian et al. | Experimental study on task space control during physical human robot interaction | |
Hung et al. | Improvements of force tracking performances for a minimal surgery training system using haptic and robot devices | |
Misaghi et al. | Dynamic analysis of a planar parallel robot with the purpose of obtaining optimal inertial parameters for energy consumption | |
Vu | Control of an anthropomorphic manipulator involved in physical Human-Robot Interaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150331 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150908 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151005 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5825589 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |