工業用ロボット
【課題】 マニピュレータと補助装置を同時に動作させる工業用ロボットにおいて、ワーク上の指定された経路に対してツールを高精度で移動させる。
【解決手段】 制御装置13が備える平滑化手段(S9)は、ポジショナ装置経路方程式(Jp(t))により規定されるポジショナ12の位置及び姿勢Jpを限界加減速度Apを下回るように平滑化し、平滑化位置姿勢Jp_smoothを算出する。制御装置13は、平滑化位置姿勢Jp_smoothを使用して算出した関節角度Jmをマニピュレータ11に指令として出力し、平滑化位置姿勢Jp_smoothをポジショナ12に指令として出力する。
【解決手段】 制御装置13が備える平滑化手段(S9)は、ポジショナ装置経路方程式(Jp(t))により規定されるポジショナ12の位置及び姿勢Jpを限界加減速度Apを下回るように平滑化し、平滑化位置姿勢Jp_smoothを算出する。制御装置13は、平滑化位置姿勢Jp_smoothを使用して算出した関節角度Jmをマニピュレータ11に指令として出力し、平滑化位置姿勢Jp_smoothをポジショナ12に指令として出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は工業用ロボットに関する。特に、本発明は、ツールを備えるマニピュレータと、ワークを位置決めするポジショナやマニピュレータを移動させるスライダである補助装置とを同期して同時に動作させて加工作業を行う工業用ロボットに関する。
【背景技術】
【0002】
工業用ロボットのマニピュレータは複数の自由度を有し、この自由度により手首先端に取り付けた溶接トーチ、塗装ガン等のツール(加工具)を任意の位置及び姿勢に位置決めしてワーク(加工対象物)を加工する。工業用ロボットには、マニピュレータに加え、ワークの姿勢変更やツールの作業領域拡大のための補助装置を備えるものがある。この補助装置には、図16に示すワーク4を単一又は複数の軸周りに回転させるポジショナ(位置決め装置)2や、図18に示すマニピュレータ1を単一又は複数の軸方向に直進移動させるスライダ(移動装置)3がある。
【0003】
作業時間短縮と加工品質の向上を図るには、マニピュレータ1と補助装置の動作を同期させ、両者を同時に動作させながら加工作業を行う必要がある。例えば、アーク溶接の場合、ワーク4に対してツール5(溶接トーチ)が最適な下向きの姿勢を維持するようにマニピュレータ1に対してポジショナ2を同期して動作させることで連続溶接が可能となり、溶接作業時間の短縮と溶接品質の向上を図ることができる。また、スライダ3とマニピュレータ1を同期して動作させることで、マニピュレータ1のみでは作業領域が不足するような大型のワーク4の連続溶接が可能となる。
【0004】
マニピュレータ1と補助装置を同期して動作させて加工作業を行う場合、ワーク4に対するツール5の位置や速度の精度が良好である必要がある。また、溶接、切断、シーリング等の用途では、加工品質を確保するために、ワークに対するツールの移動が等速度であることが必要である。
【0005】
マニピュレータ1と補助装置が同期するように制御する方法は、例えば特許文献1,2に開示されている。これらの文献に記載の制御方法は、いずれもPTP型の工業用ロボットに関するものである。この従来の制御方法について、図16に示すポジショナ2を備える工業用ロボットを例に説明する。マニピュレータ1とポジショナ2の配置、並びにマニピュレータ1及びポジショナ2の各リンク情報は既知である。
【0006】
マニピュレータ1の自由度は自由度6である。換言すれば、ツール先端5aの位置及び姿勢は関節角度Jm(θm1,θm2,θm3,θm4,θm5,θm6)で表される。また、マニピュレータ1に対して直交座標系(ベース座標系Σbase)を設定する。以下、ベース座標系Σbaseでの座標をXb,Yb,Zb、座標軸周りの回転角度をαb,βb,γbとする。
【0007】
一方、ポジショナ2の自由度は自由度2である。換言すれば、ポジショナ2の位置及び姿勢は関節角度Jp(θp1,θp2)で表される。また、ワーク4に対して直交座標系(ワーク座標系Σwork)を設定する。ワーク座標系Σworkはポジショナ2と共に移動する。以下、ワーク座標系Σworkでの座標をXw,Yw,Zw、座標軸周りの回転角度をαw,βw,γwとする。
【0008】
具体的な手順は以下の通りである。
【0009】
(1)まず、教示位置Pteとしてツール先端5aの位置及び姿勢(関節角度Jmte)とポジショナ2の位置及び姿勢(関節角度Jpte)が与えられ(Pte=Jmte+Jpte)、これらからワーク座標系Σworkにおける教示位置Pteでのツール先端5aの位置及び姿勢workPte(Xwte,Ywte,Zbwte,αwte,βwte,γwte,)を計算する。
【0010】
(2)次に、現在位置P0におけるツール先端5aの位置及び姿勢(関節角度Jm0)とポジショナ2の位置及び姿勢(関節角度Jp0)をマニピュレータ1及びポジショナ3の角度センサから取得し(P0=Jm0+Jp0)、これらからワーク座標系Σworkにおける現在位置P0でのツール先端5aの位置及び姿勢workP0(Xw0,Yw0,Zw0,αw0,βw0,γw0)を計算する。
【0011】
(3)教示位置Pte及び現在位置P0でのツール先端5aの位置及び姿勢workPte,workP0に基づいて、ワーク座標系Σworkにおける教示位置Ptから現在位置P0までのツール先端5aの位置及び姿勢の時系列変化(ツール経路方程式workP(t),「t」は時刻を示す。)を決定する。また、ポジショナ2の時系列変化(ポジショナ経路方程式Jp(t))を決定する。
【0012】
(4)ツール経路方程式workP(t)により、制御周期Tc毎にワーク座標系Σworkにおけるツール先端5aの位置及び姿勢workP(Xw,Yw,Zw,αw,βw,γw)を更新する。また、移動経路Jp(t)により、制御周期Tc毎にポジショナ2の関節角度Jp(θp1,θp2)を更新する。
【0013】
(5)(4)で更新したワーク座標系Σworkにおけるツール先端5aの位置及び姿勢workPとポジショナ2の関節角度Jpから、座標変換によりベース座標系Σbaseにおけるツール先端5aの位置及び姿勢baseP(Xb,Yb,Zb,αb,βb,γb)を計算する。
【0014】
(6)(5)で算出したツール先端5aの位置及び姿勢basePの逆キネマティックを計算し、マニピュレータ1の関節角度Jmに変換する。
【0015】
(7)(6)で計算した関節角度Jmを指令として出力してマニピュレータ1のサーボ駆動系を動作させ、かつ(4)で計算した関節角度Jpを指令として出力してポジショナ2のサーボ駆動系を動作させる。
【0016】
(8)教示位置Pteに到達するまで(4)から(7)を繰り返す。
【0017】
ワーク4上でのツール先端5aの移動軌跡である加工線ないしは作業線Lが直線であり、かつツール先端5aが作業線L上を等速で移動する場合、例えば図17(A),(B)において実線で示すように、動作開始時刻t1から動作終了時刻t2まで関節角度Jpが等速(dJp/dt=V)となるように、ポジショナ2に対して指令が出力される。
【0018】
図18に示すマニピュレータ1とスライダ3を備える工業ロボットについても、前記(1)〜(8)と同様の方法で両者を同期して動作させることができる。現在位置P0において時刻t1にアークを発生した後、ツール(溶接トーチ)5が教示位置Pteに向かって直線の溶接線L上を一定の溶接速度Vで移動し、時刻t2に教示位置Pteに到達してアークを停止する場合、現在位置P0と教示位置Pteでマニピュレータ1の姿勢(ベース座標系Σbaseにおけるツール先端5aの位置及び姿勢)が同一であれば、図19(B)に示すように、ベース座標系Σbaseにおけるツール先端5aの速度は常に0であり、図19(A)において実線で示すように、Y方向に等速で動作するようにスライダ3に対して指令が出力される。
【0019】
しかし、この制御方法を採用した従来の工業用ロボットには以下の問題がある。
【0020】
溶接、塗装、切断、シーリング等の線加工型用途では、加工品質を確保するために、ワーク上の作業線に対してツール先端を高精度で追従させ、かつツール先端を等速度で移動させる必要がある。そのため、動作開始時にはツール先端を停止状態からステップ状に急加速し、動作停止時にはツール先端をステップ状に急減速する必要がある。従来のこの種の工業用ロボットでは、図17(B),19(A)の時刻t1,t2に示すように、マニピュレータ1のみでなくポジショナ2やスライダ3に対しても動作開始時と動作停止時に急激な加減速が指令される。しかし、ポジショナ2はワーク4を保持し、スライダ3はマニピュレータ1を保持しているので、比較的軽量なツール5を保持するマニピュレータ1と比較して移動させる必要のある重量が重く、慣性が大きい。そのため、ポジショナ2やスライダ3は、マニピュレータ1と比較して加速度性能が大幅に劣る。
【0021】
具体的には、図16に示すポジショナ2の場合、図17(B)において実線で示すように、動作開始時(時刻t1)に1回の制御周期TC間に速度0の状態から所定の速度Vまで関節角度Jpを加速させる指令を出力しても、ポジショナ2の駆動系はこの指令に追従できず、実際の関節角度Jpの速度dJp/dtは二点鎖線で示すようになり、応答遅れTdelayが生じる。また、動作停止時(時刻t2)に1回の制御周期TC間に速度Vから速度0まで関節角度Jpの速度dJp/dtを減速させる指令を出力しても、実際の速度dJp/dtは二点鎖線で示すようになり、応答遅れTdelayを生じる。同様に図18に示すスライダ3の場合も、加減速の指令を駆動系が追従できず、図19(A)に示すように動作開始時及び動作停止(時刻t1,t2)に応答遅れTdelayが生じる。スライダ3の動作開始(時刻t1)から応答遅れTdelayの間は溶接速度が遅いので、アーク溶接による熱入力が過剰となり溶接欠陥を生じる。また、スライダ3の動作停止時(時刻t2)の応答遅れTdelayのためにツール先端5aが教示位置Pteに到達する前に溶接が終了し、溶接長の不足が生じる。
【0022】
補助装置で急激な加減速を実現するためには、良好な加速性能を有する高価なモータが必要となり高コストとなる。また、加速性能の良好なモータを使用したとしても、補助装置は一般に機械全体の剛性が低いので、急激な加減速時には大きな振動が生じる。この振動によりツール先端が位置ずれを起こして加工欠陥を生じるだけでなく、補助装置自体に過度の負荷が作用することになる。
【0023】
動作開始時及び動作停止時以外の作業中で、ワーク4に対するツール先端5aの速度が一定であっても、ポジショナ2やスライダ3の速度が教示点前後において大きく変動する場合がある。例えば、ポジショナ2の回転方向を反転させる場合や、それまで停止していたスライダ3が大きく移動する場合がある。これらの場合にも、ポジショナ2やスライダ3の加速度性能が低いので前述の応答遅れを生じる。その結果、ツール先端5aの位置にずれが生じ、加工品質に悪影響を与える。
【0024】
従来、この問題を解決するには、ポジショナ2やスライダ3の移動量が教示点間で大きく変化しないように、すなわちポジショナ2やスライダ3の速度が大きく変化しないように、操作者が注意深く教示作業を行う必要があった。しかし、このような教示作業は、形状が対称で作業線が滑らかに変化する特殊なワーク(例えばパイプ)を除いて困難である。
【0025】
このように従来のこの種の工業用ロボットでは、補助装置の加速性能がマニピュレータよりも劣ることを考慮することなく両者を同期させて同時に動作させるので、ワークの作業線に対してツールを精度よく移動させることは困難であった。
【0026】
【特許文献1】特公平7−12597号公報
【特許文献2】特許第3098618号
【発明の開示】
【発明が解決しようとする課題】
【0027】
本発明は、マニピュレータと補助装置を同期させて同時に動作させる工業用ロボットにおいて、ワーク上の指定された経路に対してツールを高精度で移動させることを課題とする。
【課題を解決するための手段】
【0028】
本発明は、先端にツールを備え、かつこのツールの位置及び姿勢を三次元空間内で変化させるマニピュレータと、前記ツール及び/又は前記マニピュレータを前記三次元空間内で移動させる補助装置と、前記マニピュレータと前記補助装置を同期して同時に動作させる制御装置とを備える工業用ロボットであって、前記制御装置は、前記マニピュレータ自体に設定されたマニピュレータ座標系で与えられるマニピュレータの位置及び姿勢と、前記補助装置自体に設定された補助装置座標系で与えられる補助装置の位置及び姿勢として入力される教示位置から、前記ワークに設定されたワーク座標系におけるツール先端の目標位置及び姿勢を計算する第1の演算手段と、第1の検出器で検出された前記マニピュレータ座標系における前記マニピュレータの位置及び姿勢と、第2の検出器で検出された前記補助装置座標系における前記補助装置の位置及び姿勢とである現在位置から、前記ワーク座標系における前記ツール先端の現在位置及び姿勢を計算する第2の演算手段と、前記ワーク座標系におけるツール先端の目標位置及び姿勢と、前記ワーク座標系におけるツール先端の現在位置及び姿勢と、予め入力された前記ツール先端の移動特性とに基づいて、前記現在位置から前記目標位置までの前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化を規定するツール経路方程式を計算する第1の経路算出手段と、前記ツール経路方程式で規定される前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化と同期するように、前記現在位置から前記教示位置までの前記補助装置座標系における前記補助装置の位置及び姿勢の時系列変化を規定する補助装置経路方程式を計算する第2の経路算出手段と、前記補助装置経路方程式により規定される前記補助装置の位置及び姿勢の時系列変化を、その加減速度が限界加減速度を下回るように平滑化した平滑化位置姿勢を算出する平滑化手段と、前記平滑化位置姿勢を使用して、前記ツール経路方程式により規定された前記ワーク座標系における前記ツール先端の位置及び姿勢を、前記マニピュレータの基部に設定され、かつ前記三次元空間に対して固定されたベース座標系におけるツール先端の位置及び姿勢に変換する座標変換処理手段と、前記座標変換処理手段により算出された前記ベース座標系におけるツール先端の位置及び姿勢を前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に変換する逆キネマティクス処理手段と、前記逆キネマティクス処理手段により算出された前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に基づいて、前記マニピュレータを駆動するマニピュレータ駆動手段と、前記平滑化手段により算出された平滑化位置姿勢に基づいて、前記補助装置を駆動する補助装置駆動手段とを備えることを特徴とする工業用ロボットを提供する。
【0029】
平滑化手段は、加減速度が限界加減速度を下回るように、補助装置経路方程式により規定される補助装置の位置及び姿勢を平滑化する。この平滑化位置姿勢を使用して、座標変換処理手段がツール経路方程式により規定されるワーク座標系における前記ツール先端の位置及び姿勢をベース座標系に変換する。ベース座標系に変換されたツール先端の位置及び姿勢は、逆キネマティクス処理手段でマニピュレータ座標系に変換された後にマニピュレータの駆動に使用される。一方、補助装置は平滑化位置姿勢に基づいて駆動される。従って、本発明の工業用ロボットでは、加速性能の低い補助装置に対しては限界加減速度を超えるような位置及び姿勢の変化を要求する指令は出力せず、補助装置の加減速度の不足をマニピュレータの動作で補う。そのため、ツール先端は指定された経路を高精度で移動することができ、加工品質が大幅に向上する。また、加速性能の良好な高価なモータ等を補助装置の駆動装置として使用する必要がなく、振動抑制のために補助装置の機械強度や剛性を高める必要もないので大幅なコスト低減を図ることができる。
【0030】
具体的には、前記平滑化手段は、前記ツールが前記ツール経路方程式で規定される経路に沿って前記現在位置から前記目標位置に移動するまでに要する時間である移動時間と、前記教示位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、前記現在位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、前記補助装置の限界加減速度とに基づいて、前記平滑化位置姿勢を計算する。
【0031】
さらに具体的には、例えば以下の式に基づいて、平滑化位置姿勢を計算することができる。
【0032】
【数1】
Jps_smooth:平滑化位置姿勢
W(i):特性関数
Jps(i):補助装置経路方程式により規定される補助装置の位置及び姿勢
i:1からmの整数であって、現在の制御周期から数えて第何番目の制御周期であるかを示す。
m:平均化点数
【0033】
前記平均化点数mは、例えば下記の式に基づいて決定される。
【0034】
【数2】
ΔJps:補助装置の目標速度(rad/sec)
Aps:補助装置の限界加減速度(rad/sec2)
TC:制御周期(msec)
【0035】
目標速度ΔJpsは、移動時間、教示位置での補助装置座標系における補助装置の位置及び姿勢、及び現在位置での補助装置座標系における補助装置の位置及び姿勢により定まる。
【0036】
特性関数W(i)として、例えば下記の式で定義される単位ステップ関数状の関数を使用することができる。
【0037】
【数3】
【0038】
補助装置経路方程式で規定される経路が等速である場合、この特性関数を使用して平滑化することにより、補助装置の動作開始時の加速度と動作停止時の減速度が限界加減速度未満に低下し、台形型の速度パターンとなる。
【0039】
代案としては、下記の式で定義される二等辺三角形状の関数を特性関数W(i)として使用することができる。
【0040】
【数4】
【0041】
補助装置経路方程式で規定される経路が等速である場合、この特性関数を使用すると、補助装置の動作開始時の速度の立ち上がりは滑らかな曲線状となる。同様に、補助装置の動作停止時には滑らかな曲線状に速度が低下する。
【0042】
補助装置は、例えば、ワークを保持し、かつワークを単一又は複数の軸周りに回転させるポジショナと、マニピュレータを保持し、かつマニピュレータを単一又は複数の軸線方向に直線移動させるスライダのいずれか一方又は両方である。
【発明の効果】
【0043】
本発明の工業用ロボットによれば、ツール先端はワーク上の指定された経路を高精度で移動することができ、加工品質を大幅に向上することができる。また、加速性能の良好な高価なモータ等を補助装置の駆動装置として使用する必要がなく、振動抑制のために補助装置の機械強度や剛性を高める必要もないので、大幅なコスト低減を図ることができる。
【発明を実施するための最良の形態】
【0044】
次に、添付図面を参照して本発明の実施形態を詳細に説明する。
【0045】
(第1実施形態)
図1から図5に示す第1実施形態は、マニピュレータ11とポジショナ12を備えるPTP型の工業用ロボットに本発明を適用した例である。
【0046】
図1を参照すると、工業用ロボットは、マニピュレータ11、ポジショナ12、制御装置13、及び教示装置14を備える。
【0047】
マニピュレータ11は先端にツール16を備え、かつツール16の位置及び姿勢を三次元空間内で変化させる。マニピュレータ11は6個の回転関節RJm1,RJm2,RJm3,RJm4,RJm5,RJm6を有する。回転関節RJm1〜RJm6間はリンクで連結され、最も基端側の回転関節RJm1は台座11aに取り付けられている。各回転関節RJm1〜RJm6は、回転駆動のためのモータMOm1〜MOm6と、関節角度θm1〜θm2を検出するための角度センサSEm1〜SEm6を備える。
【0048】
ポジショナ12はワーク17を保持するテーブル12aと、ワーク17の位置及び姿勢を三次元空間内で変化させるための2個の回転関節RJp1,RJp2を備える。回転関節RJp1,RJp2は、回転駆動のためのモータMOp1,MOp2と、関節角度θp1,θp2を検出するための角度センサSEp1,SEp2を備える。
【0049】
次に、マニピュレータ11及びポジショナ12の制御に使用する座標を説明する。
【0050】
マニピュレータ11に関し、2つの座標系を設定する。まず、6個の関節角度θm1〜θm6で与えられる回転関節座標系(マニピュレータ座標系)を設定する。マニピュレータ座標系でのマニピュレータ11の位置及び姿勢(ツール先端16aの位置及び姿勢)は、関節角度Jm(θm1,θm2,θm3,θm4,θm5,θm6)で表記する。また、原点がマニピュレータ11の台座11aに設定され、かつ三次元空間に対して固定された直交座標系(ベース座標系Σbase)を設定する。ベース座標系Σbaseにおけるマニピュレータ11の位置及び姿勢(ツール先端16aの位置及び姿勢)、すなわちベース座標系Σbaseでの座標と座標軸周りの回転角をbaseP(Xb,Yb,Zb,αb,βb,γb)で表記する。
【0051】
ポジショナ12に関しては、2個の関節角度θp1,θp1で与えられる回転関節座標系(ポジショナ座標系)を設定する。ポジショナ座標系でのポジショナ12の位置及び姿勢は、関節角度Jp(θp1,θp2)で表記する。
【0052】
ワーク17に対して固定された直交座標系(ワーク座標系Σwork)を設定する。ワーク座標系Σworkにおける座標と座標軸周りの回転角をworkP(Xw,Yw,Zw,αw,βw,γw)で表記する。
【0053】
制御装置13は、CPU、後述するFIFOメモリ18を含む各種メモリ、及び入出力ポート等を有するコンピュータを備える。制御装置13は、予め記憶されたプログラムに従って、教示装置14及び角度センサSEm1〜SEm6,SEp1,SEp2からの入力に基づいて、モータMOm1〜MOm6,MOp1,MOp2を駆動する。制御装置13からマニピュレータ11及びポジショナ12のモータMOm1〜MOm6,MOp1,MOp2に対して出力される指令は、関節角度Jm(θm1〜θm6),Jp(θp1,θp2)である。
【0054】
教示装置14を使用して制御装置13に対して、制御に必要な条件が入力される。この条件には、教示位置Pteに加え、ワーク座標系Σbaseにおけるツール先端16aの移動経路と移動速度Vset、機械設計上定まるポジショナ12のモータMOp1,MOp2が制御装置13からの指令を追従できる限界の加減速度(限界加減速度Ap)等の各種パラメータが含まれる。限界加減速度Apは予め制御装置13が記憶していてもよい。教示位置Pteは、マニピュレータ11の関節角度Jmte(θmte1,θmte2,θmte3,θmte4,θmte5,θmte6)とポジショナ12の関節角度Jpte(θpte1,θpte2)として入力される。
【0055】
次に、図2のフローチャートを参照して、制御装置13により実行されるマニピュレータ11及びポジショナ12の制御を説明する。なお、理解を容易にするために、図3に示すようにワーク17上の直線の作業線Lに沿ってツール先端16aが現在位置から目標位置まで等速で移動する場合を例に説明する。
【0056】
まず、ステップS1において、教示位置Pte(Jmte+Jpte)からワーク座標系Σworkにおけるツール先端16aの目標位置及び姿勢workPte(Xwte,Ywte,Zwte,αwte,βwte,γwte)を計算する。具体的には、まず、教示位置Pteでのマニピュレータ11の関節角度Jmteの順キネマティクスを計算し、ベース座標系Σbaseにおけるツール先端16aの位置及び姿勢basePte(Xbte,Ybte,Zbte,αbte,βbte,γbte)に変換する。次に、教示位置Pteにおけるポジショナ12の関節角度Jpteを使用し、座標変換手段によってベース座標系Σbaseにおける教示位置Pteでのツール先端16aの位置及び姿勢basePteを、ワーク座標系Σworkにおけるツール先端16aの目標位置及び姿勢workPteに変換する。順キネマティクスは公知の算出式で算出できる。また、ベース座標系Σbaseからワーク座標系Σworkへの座標変換手段も公知のものを使用できる。機能から見ると、ステップS1は本発明における第1の演算手段を構成している。
【0057】
次に、ステップS2において、現在位置P0におけるマニピュレータ11の関節角度Jm0(θm10,θm20,θm30,θm40,θm50,θm60)とポジショナ12の関節角度Jp0(θp10,θp20)を角度センサSEm1〜SEm6,SEp1,SEp2から取得する。また、ステップS1と同様の順キネマティクスと座標変換により、現在位置P0(Jm0+Jp0)からワーク座標系Σworkにおけるツール先端16aの現在位置及び姿勢workP0(Xw0,Yw0,Zw0,αw0,βw0,γw0)を計算する。機能から見ると、ステップS2は本発明における第2の演算手段を構成している。
【0058】
続いて、ステップS3において、ワーク座標系Σworkにおける現在位置及び姿勢workP0から目標位置及び姿勢workPteまでのツール先端16aの位置及び姿勢workPの時系列変化を規定する方程式(ツール経路方程式workP(t)、符号tは時刻を示す。)を算出する。機能から見ると、ステップS3は第1の経路算出手段を構成している。
【0059】
本実施形態では前述のようにツール先端16aは作業線L上を直線かつ等速で移動するので、ツール経路方程式workP(t)は以下のように計算される。まず、ワーク座標系Σworkにおける現在位置及び姿勢workP0から目標位置及び姿勢workPteの間の距離Dは以下の式(1)で表される。
【0060】
【数5】
【0061】
ワーク座標系Σworkにおけるツール先端16aの移動速度の設定値(設定速度)をVsetとすると、ツール先端16aが作業線Lに沿って現在位置及び姿勢workP0から目標位置及び姿勢workPteまで移動するのに要する時間(移動時間Tn)は、以下の式(2)で表される。
【0062】
【数6】
【0063】
また、ワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPの変化の速度ΔworkPは以下の式(3)で表される。
【0064】
【数7】
【0065】
従って、ツール経路方程式workP(t)は以下の式(4)に示す通りである。
【0066】
【数8】
【0067】
次に、ステップS4において、ツール経路方程式workP(t)で規定されるワーク座標系Σworkにおけるツール先端16aの位置及び姿勢の時系列変化と同期するように、ポジショナ座標系における現在位置P0から教示位置Pteまでのポジショナ12の関節角度Jpの時系列変化を規定する方程式(ポジショナ経路方程式Jp(t))を求める。機能から見ると、ステップS4は本発明における第2の経路算出手段を構成する。ポジショナ12の位置及び姿勢の変化の速度ΔJpは、現在位置P0でのポジショナ12の関節角度Jp0、教示位置Pteでのポジショナ12の関節角度Jpte、及び移動時間Tnを用いて以下の式(5)で表される。
【0068】
【数9】
【0069】
従って、ポジショナ経路方程式Jp(t)は以下の式(6)に示す通りである。
【0070】
【数10】
【0071】
次に、ステップS5において、時刻tを初期化する(t=0)。
【0072】
ステップS6からステップS12は、制御周期Tc毎に繰り返される。まず、ステップS6において時刻tを時刻t+Tcに更新する。
【0073】
次に、ステップS7において、ステップS6で更新した時刻tの時点でのワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPを、ツール経路方程式workP(t)により計算する。本実施形態では、式(4)に更新した時刻tを代入することで、ツール先端16aの位置及び姿勢workPが得られる。
【0074】
ステップS8では、ステップS6で更新した時刻tの時点でのポジショナ12の関節角度Jpを、ポジショナ経路方程式Jp(t)により計算する。本実施形態では、式(6)に更新した時刻tを代入することで、ポジショナ12の関節角度Jpが得られる。
【0075】
ステップS7,S8で算出したツール先端16aの位置及び姿勢workPとポジショナ12の関節角度Jpをそのままマニピュレータ11及びポジショナ12に対する駆動指令の算出に使用すると、ポジショナ12に対して限界加減速度Apを超える急激な加減速を指令することになる。そこで、ステップS9では、ステップS8でポジショナ経路方程式Jp(t)により算出したポジショナ12の関節角度Jpを平滑化し、ポジショナ12の関節角度Jpの加減速度が限界加減速度Ap未満となる平滑化位置姿勢Jp_smoothを算出している。機能から見ると、ステップS9は本発明における平滑化手段を構成する。
【0076】
ステップS9の平滑化処理を詳細に説明する。図4を参照すると、制御装置13は、先入れ先出し型のメモリ(FIFOメモリ18)を備える。このFIFOメモリ18にはm個のポジショナ12の位置及び姿勢Jp(1),Jp(2),Jp(3),・・・Jp(m−1),Jp(m)が記憶される。具体的には、FIFOメモリ18には、現在の制御周期におけるポジショナ12の位置及び姿勢Jp(1)から、現在の制御周期から数えて第m−1番目前の制御周期におけるポジショナ12の位置及び姿勢Jp(m)が記憶されている。また、ステップS6で時刻tが更新されてステップS8で新たなポジショナ12の関節角度Jpが算出される度に、その新たな関節角度JpがFIFOメモリ18に記憶され、かつ最も古い関節角度JpがFIFOメモリ18から消去される。これらFIFOメモリ18に記憶されたm個のポジショナ12の関節角度Jp(1)〜Jp(m)に対して、以下の式(7)で定義される積和計算を実行して平滑化位置姿勢Jp_smoothを算出する。
【0077】
【数11】
【0078】
式(7)において、Jp_smoothはポジショナ12の平滑化位置姿勢、W(i)は特性関数、iは1からmの整数であって、現在の制御周期から数えて第何番目前の制御周期であるかを示す。また、mは平均化点数であり、FIFOメモリ18が記憶するポジショナ12の位置及び姿勢Jpの個数に対応する。
【0079】
図4に概略的に示すように、本実施形態では特性関数W(i)として単位ステップ関数状の関数を使用して平滑化処理を行っている。本実施形態での特性関数は以下の式(8)で定義される。
【0080】
【数12】
【0081】
式(8)の特性関数W(i)を使用すると、単純移動平均による平滑化処理となる。ステップS8で算出したポジショナ経路方程式Jp(t)により規定されるポジショナ12の位置及び姿勢Jpの時系列変化をそのままポジショナ12に出力すると、図4において二点点線で示すように、動作開始時刻t1及び動作開始時刻t2にステップ状の急激な加減速をポジショナ12に強いることになる。これに対して式(7),(8)により算出したポジショナ12の平滑化位置姿勢Jp_smoothは、図4において実線で示すように、動作開始時及び動作停止時の加減速度が低減された台形型速度パターンを呈する。詳細には、動作開始時には平滑化後のポジショナ12の速度dJp_smooth/dtは0から式(5)の速度ΔJpまで直線的に増加し、加速時間はm*Tcである(図5ではm=5としている)。同様に、動作停止時には、平滑化後のポジショナ12の速度dJp_smooth/dtは速度ΔJpから0まで直線的に減少し、減速時間はm*Tcである。
【0082】
加減速に要する時間はm*Tcで、制御周期TCは定数(例えば260msec)である。従って、平滑化位置姿勢Jp_smoothの加減速度が最適、すなわち
ポジショナ12の限界加減速度Apを超えない範囲で、加減速に要する時間が最短となるようにするには、平均化点数mを以下のように設定すればよい。なお、限界加減速度Apの単位はrad/sec2、ポジショナ12の位置及び姿勢の変化の速度ΔJpの単位はrad/sec、制御周期Tcの単位はmsecとする。まず、ポジショナ12の位置及び姿勢Jpの最適加減速時間Taccは以下の式(9)で表される。
【0083】
【数13】
【0084】
ポジショナ12の関節角度Jp(i)は、制御周期Tc毎に離散的に与えられるので、最適加減速時間Taccに対応する平均化点数mは以下の式(10)で示す通りとなる。
【0085】
【数14】
【0086】
また、式(10)に式(9)を代入すると、最適な平均化点数mは以下の式(11)で表される。
【0087】
【数15】
【0088】
式(7),(11)から明らかなように、ステップS9では、移動時間Tn、教示位置Pteでのポジショナ12の関節角度Jpte、現在位置P0でのポジショナ12の関節角度Jp0、並びに限界加減速度Apに基づいて平滑化位置姿勢Jp_smoothを算出している。式(10),(11)により決定した平均化点数mで、式(7)の積和計算を実行することにより、限界加減速度Apを超えない範囲で加減速に要する時間が最短となる平滑化位置姿勢Jp_smoothを求めることができる。
【0089】
ステップS10及びS11は、マニピュレータ11に対する指令を計算するための処理である。なお、ポジショナ12に対する指令は平滑化位置姿勢Jp_smoothが使用される。まず、ステップS10において、ステップS7で計算したワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPを、ベース座標系Σbaseにおけるツール先端16aの位置及び姿勢basePに変換する。この変換には、ステップS8で算出したポジショナ12の位置及び姿勢Jpではなく、ステップS9で算出した平滑化位置姿勢Jp_smoothを使用し、前述の座標変換手段により行う。次に、ステップS11において、ステップS10で算出したベース座標系Σbaseにおけるツール先端16aの位置及び姿勢basePの逆キネマティクスを計算し、マニピュレータ座標系、すなわち関節角度Jmに変換する。機能から見ると、ステップS10は本発明における座標変換処理手段を構成し、ステップS11は逆キネマティクス処理手段を構成する。
【0090】
ステップS12において、ステップS11で算出した関節角度Jmを指令としてマニピュレータ11に出力する。また、ステップS9で算出した平滑化位置姿勢Jp_smoothを指令としてポジショナ12に出力する。これらの指令によりマニピュレータ11のモータMOm1〜MOm6とポジショナ12のモータMOp1,MOp2が作動し、マニピュレータ11とポジショナ12が同期して同時に動作する。機能から見ると、ステップS12は本発明におけるマニピュレータ駆動手段及び補助装置駆動手段を構成する。
【0091】
ステップS13において教示位置Pteに到達するまで、ステップS6からステップS12の処理が繰り返される。
【0092】
ステップS8でポジショナ経路方程式Jp(t)から算出したポジショナ12の位置及び姿勢Jpをそのままポジショナ12に指令として出力すると、図5において二点鎖線で示すように、ポジショナ12に対して動作開始時及び動作停止時(時刻t1,t2)に急激な加減速を指令することになる。しかし、本実施形態では、ステップS9で算出した平滑化位置姿勢Jp_smoothがポジショナ12に対して指令として出力されるので、実線で示すような加減速が緩やかな台形型の速度パターンとなり、加速性能の低いポジショナ12のモータMOp1,MOp2に対して限界加減速度Apを上回るような位置及び姿勢の変化を要求する指令は出力されない。従って、ポジショナ12に応答遅れが生じない。
【0093】
単に平滑化位置姿勢Jp_smoothをポジショナ12に対する指令として使用するだけでは、ワーク座標系Σworkにおけるツール先端16aの加減速度が不足し、ツール先端16aを正確に作業線L上で移動させることもできない。しかし、本実施形態では、平滑化位置姿勢Jp_smoothを使用してワーク座標系Σworkからベース座標系Σbaseへの座標変換を行い(ステップS10)、その逆キネマティクスである関節角度Jmをマニピュレータ11のモータMOm1〜MOm6に指令として出力する(ステップS11,S12)。そのため、マニピュレータ11は、ポジショナ12の加減速度の不足を補い、ツール先端16aが作業線L上を設定速度Vsetで移動するように動作する。例えば、ツール先端16aは図5の時刻t2に作業線Lの終点に到達するが、この時刻t2からポジショナ12の動作が完全に停止する時刻t2’の間、ツール先端16aが作業線Lの終点に位置したままで保持されるように、ポジショナ12の関節角度Jpの変化に応じてマニピュレータ11が作動する。
【0094】
以上のように、加速性能の低いポジショナ12に対しては急激な加減速の指令を出力せず、ポジショナ12の加減速度の不足を加速性能の高いマニピュレータ11の動作で補うので、ツール先端16aは良好な位置及び速度の精度を維持しつつワーク17上の作業線Lを移動することができ、加工品質が大幅に向上する。また、加速性能の良好な高価なモータをポジショナ12のモータMOp1,MOp2として使用する必要がなく、振動抑制のためにポジショナ12の機械強度や剛性を高める必要もないので大幅なコスト低減を図ることができる。
【0095】
(第2実施形態)
図6から図9に示す第2実施形態は、マニピュレータ11とスライダ22を備えるPTP型の工業用ロボットに本発明を適用した例である。
【0096】
スライダ22は、互いに直交する方向に直進移動する3個の直動関節SJ1,SJ2,SJ3を備え、直動関節SJp1にマニピュレータ11の台座11aが保持されている。スライダ22に関し、座標軸がそれぞれ直動関節SJp1〜SJp3の移動方向に対応し、かつ三次元空間に固定された直交座標系(スライダ座標系)を設定する。スライダ座標系でのスライダ22の位置及び姿勢は、関節位置Js(Sx,Sy,Sz)で表記する。スライダ座標系の各軸の向きはベース座標系Σbaseの各軸の向きと一致している。各直動関節SJp1〜SJp3は、それぞれ駆動用のモータMOs1〜MOS3と、関節位置Jsを検出するための位置センサSEs1〜SEs3を備える。
【0097】
ワーク17は三次元空間に固定されている。ワーク座標系Σworkの各軸の向きは、ベース座標系Σbase及びスライダ座標系の各軸の向きと一致している。
【0098】
教示装置14から制御装置13には、教示位置Pteに加え、ワーク座標系Σbaseにおけるツール先端16aの移動経路と移動速度Vset、スライダ22のモータMOs1〜MOs3の限界加減速度Ap等を含む制御に必要な条件が入力される。教示位置Pteは、マニピュレータ11の関節角度Jmte(θmte1,θmte2,θmte3,θmte4,θmte5,θmte6)とスライダ22の関節位置Jste(Sxte,Syte,Szte)として入力される。
【0099】
図7に示す制御は、ポジショナ12がスライダ22に置き換わる点を除いて第1実施形態における制御(図2参照)と同様である。理解を容易にするために、図8に示すようにワーク17上の作業線Lはベース座標系Σbase、ワーク座標系Σwork、及びスライダ座標系のY方向に延びる直線であり、この作業線Lに沿ってツール先端16aが設定速度Vsetで等速移動し、かつ現在位置P0と教示位置Pteでのマニピュレータ座標系におけるマニピュレータ11の位置及び姿勢が同一(Jm0=Jmte)である場合を例に、本実施形態における制御を説明する。
【0100】
ステップS1’において教示位置Pte(Jmte+Jste)からワーク座標系Σworkにおけるツール先端16a目標位置及び姿勢workPteを計算し、ステップS2’において現在位置P0からワーク座標系Σworkにおけるツール先端16aの現在位置及び姿勢workP0を計算する。現在位置P0は、角度センサSEm1〜SEm6から取得したマニピュレータ11の現在の関節角度Jm0と、位置センサSEs1〜SEs3で取得したスライダ22の現在の関節位置Js0(Sx0,Sy0,Sz0)として与えられる。
【0101】
ステップS3’で求めるツール経路方程式wokrP(t)は、第1実施形態と同一であり前述の式(4)で示す通りとなる。
【0102】
ステップS4’において、ワーク座標系Σworkにおけるツール先端16aの位置及び姿勢の時系列変化と同期するように、現在位置P0から教示位置Pteまでのスライダ座標系におけるスライダ22の位置及び姿勢の時系列変化を規定する方程式(スライダ経路方程式Js(t))を求める。スライダ22の位置及び姿勢の変化の速度ΔJsは、現在位置P0でのスライダ22の関節位置Js0と教示位置Pteでのポジショナ12の関節位置Jste、及び移動時間Tnを用いて以下の式(12)で表される。
【0103】
【数16】
【0104】
従って、スライダ経路方程式Js(t)は以下の式(13)に示す通りである。
【0105】
【数17】
【0106】
時刻tを初期化後(ステップS5’)、制御周期Tc毎に時刻tを更新しつつ、ツール経路方程式wokrP(t)によりワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPを計算し、スライダ経路方程式Js(t)によりスライダ22の位置及び姿勢Jpを計算する(ステップS7’,S8’)。また、ステップS9’において、加減速度が限界加減速度Apを超えないように、スライダ22の関節位置JSを平滑化処理する。具体的には、式(9)〜(11)で決まる最適な平均化点数mと、式(8)で定義される特性関数W(i)を使用し、式(7)の積和演算を実行して平滑化位置姿勢Js_smoothを算出する。
【0107】
平滑化位置姿勢Js_smoothをスライダ22に出力し、平滑化位置姿勢Js_smoothを用いてワーク座標系Σworkからベース座標系Σbaseに座標変換したツール先端の逆キネマティクス(関節角度Jm)をマニピュレータ11に出力する(ステップS10’〜S12’)。
【0108】
図9(A)はスライダ22のY方向の移動速度の変化を示し、図9(B)はベース座標系Σbaseでのツール先端16aのY方向の移動速度の変化を示し、図9(C)はワーク座標系Σworkでのツール先端16aのY方向の移動速度(ワーク17に対するツール先端16aの移動速度)を示す。
【0109】
図7のステップS8’でスライダ経路方程式Js(t)により算出したスライダ22の関節位置Jsをそのままスライダ22に指令として出力すると、図9(A)の二点鎖線で示すように、スライダ22に対して動作開始時及び動作停止時(時刻t1,t2)に急激な加減速を指令することになる。しかし、本実施形態では、ステップS9’で算出した平滑化位置姿勢Js_smoothがスライダ22に対して指令として出力されるので、実線で示すような加減速が緩やかな台形型の速度パターンとなり、加速性能の低いスライダ22のモータMOs1〜MOs3に対して限界加減速度Apを上回るような位置及び姿勢の変化を要求する指令は出力されない。
【0110】
単に平滑化位置姿勢Js_smoothをスライダ22に対する指令として使用するだけでは、ワーク座標系Σworkにおけるツール先端16aの加減速度が不足する。具体的には、動作開始(時刻t1)からツール先端16aが設定速度Vsetまで加速するのに要する時間が長くなる。また、動作停止時に設定速度Vsetから速度0まで減速する時間が長くなり所望の時刻t2までにツール先端16aが作業線Lの終端まで到達できない。
【0111】
しかし、本実施形態では、スライダ経路方程式Js(t)により算出したスライダ22の位置及び姿勢Jsではなく、平滑化位置姿勢Js_smoothを使用して、マニピュレータ11に対する指令(関節角度Jm)を算出しているので(ステップS10’)、スライダ22の加減速度を制限したことによるツール先端16aの加減速度の不足を補うようにマニピュレータ11が作動する。具体的には、動作開始時には時刻t1’にスライダ22が設定速度Vsetに達するまで、ツール先端16aがY方向に移動するようにマニピュレータ11が動作する。その結果、スライダ22の移動とマニピュレータ11によるツール先端16aの移動の重ね合わせによって、加速度の不足が補われ、図9(C)に示すように1回の制御周期Tcでワーク17に対するツール先端16aの移動速度が設定速度Vsetまで上昇する。また、動作停止時には時刻t2’にスライダ22が完全に停止するまで、ツール先端16aがY軸方向に移動するようにマニピュレータ11が動作する。その結果、スライダ22の移動とマニピュレータ11によるツール先端16aの移動の重ね合わせによって、ツール先端16aが作業線Lの終端に保持される。
【0112】
以上のように、加速性能の低いスライダ22に対しては急激な加減速の指令を出力せず、スライダ22の加減速度の不足を加速性能の高いマニピュレータ11の動作で補うので、ツール先端16aは良好な位置及び速度の精度を維持しつつワーク17上の作業線Lを移動することができ、加工品質が大幅に向上する。また、加速性能の良好な高価なモータをスライダ22のモータMOs1〜MOs3として使用する必要がなく、振動抑制のためにスライダ22の機械強度や剛性を高める必要もないので大幅なコスト低減を図ることができる。
【0113】
第2実施形態のその他の構成及び作用は第1実施形態と同様であるので、同一の要素には同一の符号を付して説明を省略する。
【0114】
(第3実施形態)
図10に示すように、マニピュレータ11とポジショナ12及びスライダ22を備えるPTP型の工業用ロボットにも本発明を適用することができる。
【0115】
制御装置13は、図11のステップS1''〜S13''に示す第1及び第2実施形態と同様の制御を実行する。教示位置Pteと現在位置P0は、マニピュレータ11の関節角度Jmte,Jm0、ポジショナ12の関節角度Jpte,Jp0、及びスライダ22の関節位置Jste,Js0で与えられる(ステップS1'',S2'')。ポジショナ経路方程式Jp(t)とスライダ経路方程式Js(t)の両方を求め(ステップS4'')、これらから計算した関節角度Jpと関節位置Jsをそれぞれ平滑化処理して平滑化位置姿勢Jp_smooth,Js_smoothを計算する(ステップS8'',S9'')。また、両方の平滑化位置姿勢Jp_smooth,Js_smoothを使用してツール先端16aの座標をワーク座標系Σworkからベース座標系Σbaseに変換し、逆キネマティクスを計算してマニピュレータ11の関節角度Jmを得る(ステップS10'',S11'')。
【0116】
スライダ22とポジショナ12に対して平滑化位置姿勢Jp_smooth,Js_smoothを指令として出力し、マニピュレータ11にはこれらから算出した関節角度Jmを指令として出力する(ステップS12'')。従って、加速性能の低いポジショナ12とスライダ22に対しては急激な加減速の指令は出力せず、ポジショナ12及びスライダ22の加減速度の不足を加速性能の高いマニピュレータ11の動作で補うので、ツール先端16aは良好な位置及び速度の精度を維持しつつワーク17上の作業線Lを移動することができる。
【0117】
第3実施形態のその他の構成及び作用は第1実施形態と同様である。同一の要素には同一の符号を付して説明を省略する。
【0118】
本発明は、前記実施形態に限定されず、種々の変形が可能である。例えば、図12に示すピーク値が1の二等辺三角形状の特性を有する特性関数W(i)を使用して式(7)の積和計算を実行することで、ポジショナ12やスライダ22の平滑化位置姿勢Jp_smooth,Js_smoothを算出してもよい。この特性関数W(i)は、以下の式(14)で定義される。
【0119】
【数18】
【0120】
この特性関数W(i)を使用した場合、図13において実線で示すようにポジショナ12やスライダ22の速度パターンは、動作開始時(時刻t1)の速度の立ち上がりは滑らかな曲線状となる。同様に、ポジショナ12やスライダ22の動作停止時(時刻t2)には滑らかな曲線状に速度が低下する。
【0121】
一般に特性関数は対象であればどのような形であってもよい。例えば、図12の特性関数の形を少し変更した図14に示す特性関数をであってもよい。この場合、図15において実線で示すようにポジショナ12やスライダ22の速度パターンは、動作開始時(時刻t1)の速度の立ち上がり及び動作停止時(時刻t2)の速度低下がより一層滑らかな曲線状となる。
【図面の簡単な説明】
【0122】
【図1】本発明の第1実施形態に係る工業用ロボットを示す概略構成図。
【図2】本発明の第1実施形態に係る工業用ロボットの動作を説明するためのフローチャート。
【図3】マニピュレータとポジショナの同期動作を説明するための概略図。
【図4】平滑化処理を説明するための概略図。
【図5】第1実施形態におけるポジショナの速度変化を示す線図。
【図6】本発明の第2実施形態に係る工業用ロボットを示す概略構成図。
【図7】本発明の第2実施形態に係る工業用ロボットの動作を説明するためのフローチャート。
【図8】マニピュレータとスライダの同期動作を説明するための概略図。
【図9】(A)はスライダの速度変化を示す線図、(B)はマニピュレータの速度変化を示す線図、(C)はスライダとマニピュレータの合成速度を示す線図。
【図10】本発明の第3実施形態に係る工業用ロボットを示す概略構成図。
【図11】本発明の第3実施形態に係る工業用ロボットの動作を説明するためのフローチャート。
【図12】平滑処理の他の例を説明するための概略図。
【図13】図12の平滑処理を行った場合のポジショナ及びスライダの速度変化の一例を示す線図。
【図14】平滑処理のさらに他の例を説明するための概略図。
【図15】図14の平滑処理を行った場合のポジショナ及びスライダの速度変化の一例を示す線図。
【図16】従来の工業用ロボットの一例を示す概略斜視図。
【図17】(A)はマニピュレータの変位を示す線図、(B)はマニピュレータの速度変化を示す線図。
【図18】従来の工業用ロボットの他の一例を示す概略平面図。
【図19】(A)はスライダの速度変化を示す線図、(B)はマニピュレータの速度変化を示す線図。
【符号の説明】
【0123】
11 マニピュレータ
11a 台座
12 ポジショナ
12a テーブル
13 制御装置
14 教示装置
16 ツール
16a ツール先端
17 ワーク
18 FIFOメモリ
22 スライダ
【技術分野】
【0001】
本発明は工業用ロボットに関する。特に、本発明は、ツールを備えるマニピュレータと、ワークを位置決めするポジショナやマニピュレータを移動させるスライダである補助装置とを同期して同時に動作させて加工作業を行う工業用ロボットに関する。
【背景技術】
【0002】
工業用ロボットのマニピュレータは複数の自由度を有し、この自由度により手首先端に取り付けた溶接トーチ、塗装ガン等のツール(加工具)を任意の位置及び姿勢に位置決めしてワーク(加工対象物)を加工する。工業用ロボットには、マニピュレータに加え、ワークの姿勢変更やツールの作業領域拡大のための補助装置を備えるものがある。この補助装置には、図16に示すワーク4を単一又は複数の軸周りに回転させるポジショナ(位置決め装置)2や、図18に示すマニピュレータ1を単一又は複数の軸方向に直進移動させるスライダ(移動装置)3がある。
【0003】
作業時間短縮と加工品質の向上を図るには、マニピュレータ1と補助装置の動作を同期させ、両者を同時に動作させながら加工作業を行う必要がある。例えば、アーク溶接の場合、ワーク4に対してツール5(溶接トーチ)が最適な下向きの姿勢を維持するようにマニピュレータ1に対してポジショナ2を同期して動作させることで連続溶接が可能となり、溶接作業時間の短縮と溶接品質の向上を図ることができる。また、スライダ3とマニピュレータ1を同期して動作させることで、マニピュレータ1のみでは作業領域が不足するような大型のワーク4の連続溶接が可能となる。
【0004】
マニピュレータ1と補助装置を同期して動作させて加工作業を行う場合、ワーク4に対するツール5の位置や速度の精度が良好である必要がある。また、溶接、切断、シーリング等の用途では、加工品質を確保するために、ワークに対するツールの移動が等速度であることが必要である。
【0005】
マニピュレータ1と補助装置が同期するように制御する方法は、例えば特許文献1,2に開示されている。これらの文献に記載の制御方法は、いずれもPTP型の工業用ロボットに関するものである。この従来の制御方法について、図16に示すポジショナ2を備える工業用ロボットを例に説明する。マニピュレータ1とポジショナ2の配置、並びにマニピュレータ1及びポジショナ2の各リンク情報は既知である。
【0006】
マニピュレータ1の自由度は自由度6である。換言すれば、ツール先端5aの位置及び姿勢は関節角度Jm(θm1,θm2,θm3,θm4,θm5,θm6)で表される。また、マニピュレータ1に対して直交座標系(ベース座標系Σbase)を設定する。以下、ベース座標系Σbaseでの座標をXb,Yb,Zb、座標軸周りの回転角度をαb,βb,γbとする。
【0007】
一方、ポジショナ2の自由度は自由度2である。換言すれば、ポジショナ2の位置及び姿勢は関節角度Jp(θp1,θp2)で表される。また、ワーク4に対して直交座標系(ワーク座標系Σwork)を設定する。ワーク座標系Σworkはポジショナ2と共に移動する。以下、ワーク座標系Σworkでの座標をXw,Yw,Zw、座標軸周りの回転角度をαw,βw,γwとする。
【0008】
具体的な手順は以下の通りである。
【0009】
(1)まず、教示位置Pteとしてツール先端5aの位置及び姿勢(関節角度Jmte)とポジショナ2の位置及び姿勢(関節角度Jpte)が与えられ(Pte=Jmte+Jpte)、これらからワーク座標系Σworkにおける教示位置Pteでのツール先端5aの位置及び姿勢workPte(Xwte,Ywte,Zbwte,αwte,βwte,γwte,)を計算する。
【0010】
(2)次に、現在位置P0におけるツール先端5aの位置及び姿勢(関節角度Jm0)とポジショナ2の位置及び姿勢(関節角度Jp0)をマニピュレータ1及びポジショナ3の角度センサから取得し(P0=Jm0+Jp0)、これらからワーク座標系Σworkにおける現在位置P0でのツール先端5aの位置及び姿勢workP0(Xw0,Yw0,Zw0,αw0,βw0,γw0)を計算する。
【0011】
(3)教示位置Pte及び現在位置P0でのツール先端5aの位置及び姿勢workPte,workP0に基づいて、ワーク座標系Σworkにおける教示位置Ptから現在位置P0までのツール先端5aの位置及び姿勢の時系列変化(ツール経路方程式workP(t),「t」は時刻を示す。)を決定する。また、ポジショナ2の時系列変化(ポジショナ経路方程式Jp(t))を決定する。
【0012】
(4)ツール経路方程式workP(t)により、制御周期Tc毎にワーク座標系Σworkにおけるツール先端5aの位置及び姿勢workP(Xw,Yw,Zw,αw,βw,γw)を更新する。また、移動経路Jp(t)により、制御周期Tc毎にポジショナ2の関節角度Jp(θp1,θp2)を更新する。
【0013】
(5)(4)で更新したワーク座標系Σworkにおけるツール先端5aの位置及び姿勢workPとポジショナ2の関節角度Jpから、座標変換によりベース座標系Σbaseにおけるツール先端5aの位置及び姿勢baseP(Xb,Yb,Zb,αb,βb,γb)を計算する。
【0014】
(6)(5)で算出したツール先端5aの位置及び姿勢basePの逆キネマティックを計算し、マニピュレータ1の関節角度Jmに変換する。
【0015】
(7)(6)で計算した関節角度Jmを指令として出力してマニピュレータ1のサーボ駆動系を動作させ、かつ(4)で計算した関節角度Jpを指令として出力してポジショナ2のサーボ駆動系を動作させる。
【0016】
(8)教示位置Pteに到達するまで(4)から(7)を繰り返す。
【0017】
ワーク4上でのツール先端5aの移動軌跡である加工線ないしは作業線Lが直線であり、かつツール先端5aが作業線L上を等速で移動する場合、例えば図17(A),(B)において実線で示すように、動作開始時刻t1から動作終了時刻t2まで関節角度Jpが等速(dJp/dt=V)となるように、ポジショナ2に対して指令が出力される。
【0018】
図18に示すマニピュレータ1とスライダ3を備える工業ロボットについても、前記(1)〜(8)と同様の方法で両者を同期して動作させることができる。現在位置P0において時刻t1にアークを発生した後、ツール(溶接トーチ)5が教示位置Pteに向かって直線の溶接線L上を一定の溶接速度Vで移動し、時刻t2に教示位置Pteに到達してアークを停止する場合、現在位置P0と教示位置Pteでマニピュレータ1の姿勢(ベース座標系Σbaseにおけるツール先端5aの位置及び姿勢)が同一であれば、図19(B)に示すように、ベース座標系Σbaseにおけるツール先端5aの速度は常に0であり、図19(A)において実線で示すように、Y方向に等速で動作するようにスライダ3に対して指令が出力される。
【0019】
しかし、この制御方法を採用した従来の工業用ロボットには以下の問題がある。
【0020】
溶接、塗装、切断、シーリング等の線加工型用途では、加工品質を確保するために、ワーク上の作業線に対してツール先端を高精度で追従させ、かつツール先端を等速度で移動させる必要がある。そのため、動作開始時にはツール先端を停止状態からステップ状に急加速し、動作停止時にはツール先端をステップ状に急減速する必要がある。従来のこの種の工業用ロボットでは、図17(B),19(A)の時刻t1,t2に示すように、マニピュレータ1のみでなくポジショナ2やスライダ3に対しても動作開始時と動作停止時に急激な加減速が指令される。しかし、ポジショナ2はワーク4を保持し、スライダ3はマニピュレータ1を保持しているので、比較的軽量なツール5を保持するマニピュレータ1と比較して移動させる必要のある重量が重く、慣性が大きい。そのため、ポジショナ2やスライダ3は、マニピュレータ1と比較して加速度性能が大幅に劣る。
【0021】
具体的には、図16に示すポジショナ2の場合、図17(B)において実線で示すように、動作開始時(時刻t1)に1回の制御周期TC間に速度0の状態から所定の速度Vまで関節角度Jpを加速させる指令を出力しても、ポジショナ2の駆動系はこの指令に追従できず、実際の関節角度Jpの速度dJp/dtは二点鎖線で示すようになり、応答遅れTdelayが生じる。また、動作停止時(時刻t2)に1回の制御周期TC間に速度Vから速度0まで関節角度Jpの速度dJp/dtを減速させる指令を出力しても、実際の速度dJp/dtは二点鎖線で示すようになり、応答遅れTdelayを生じる。同様に図18に示すスライダ3の場合も、加減速の指令を駆動系が追従できず、図19(A)に示すように動作開始時及び動作停止(時刻t1,t2)に応答遅れTdelayが生じる。スライダ3の動作開始(時刻t1)から応答遅れTdelayの間は溶接速度が遅いので、アーク溶接による熱入力が過剰となり溶接欠陥を生じる。また、スライダ3の動作停止時(時刻t2)の応答遅れTdelayのためにツール先端5aが教示位置Pteに到達する前に溶接が終了し、溶接長の不足が生じる。
【0022】
補助装置で急激な加減速を実現するためには、良好な加速性能を有する高価なモータが必要となり高コストとなる。また、加速性能の良好なモータを使用したとしても、補助装置は一般に機械全体の剛性が低いので、急激な加減速時には大きな振動が生じる。この振動によりツール先端が位置ずれを起こして加工欠陥を生じるだけでなく、補助装置自体に過度の負荷が作用することになる。
【0023】
動作開始時及び動作停止時以外の作業中で、ワーク4に対するツール先端5aの速度が一定であっても、ポジショナ2やスライダ3の速度が教示点前後において大きく変動する場合がある。例えば、ポジショナ2の回転方向を反転させる場合や、それまで停止していたスライダ3が大きく移動する場合がある。これらの場合にも、ポジショナ2やスライダ3の加速度性能が低いので前述の応答遅れを生じる。その結果、ツール先端5aの位置にずれが生じ、加工品質に悪影響を与える。
【0024】
従来、この問題を解決するには、ポジショナ2やスライダ3の移動量が教示点間で大きく変化しないように、すなわちポジショナ2やスライダ3の速度が大きく変化しないように、操作者が注意深く教示作業を行う必要があった。しかし、このような教示作業は、形状が対称で作業線が滑らかに変化する特殊なワーク(例えばパイプ)を除いて困難である。
【0025】
このように従来のこの種の工業用ロボットでは、補助装置の加速性能がマニピュレータよりも劣ることを考慮することなく両者を同期させて同時に動作させるので、ワークの作業線に対してツールを精度よく移動させることは困難であった。
【0026】
【特許文献1】特公平7−12597号公報
【特許文献2】特許第3098618号
【発明の開示】
【発明が解決しようとする課題】
【0027】
本発明は、マニピュレータと補助装置を同期させて同時に動作させる工業用ロボットにおいて、ワーク上の指定された経路に対してツールを高精度で移動させることを課題とする。
【課題を解決するための手段】
【0028】
本発明は、先端にツールを備え、かつこのツールの位置及び姿勢を三次元空間内で変化させるマニピュレータと、前記ツール及び/又は前記マニピュレータを前記三次元空間内で移動させる補助装置と、前記マニピュレータと前記補助装置を同期して同時に動作させる制御装置とを備える工業用ロボットであって、前記制御装置は、前記マニピュレータ自体に設定されたマニピュレータ座標系で与えられるマニピュレータの位置及び姿勢と、前記補助装置自体に設定された補助装置座標系で与えられる補助装置の位置及び姿勢として入力される教示位置から、前記ワークに設定されたワーク座標系におけるツール先端の目標位置及び姿勢を計算する第1の演算手段と、第1の検出器で検出された前記マニピュレータ座標系における前記マニピュレータの位置及び姿勢と、第2の検出器で検出された前記補助装置座標系における前記補助装置の位置及び姿勢とである現在位置から、前記ワーク座標系における前記ツール先端の現在位置及び姿勢を計算する第2の演算手段と、前記ワーク座標系におけるツール先端の目標位置及び姿勢と、前記ワーク座標系におけるツール先端の現在位置及び姿勢と、予め入力された前記ツール先端の移動特性とに基づいて、前記現在位置から前記目標位置までの前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化を規定するツール経路方程式を計算する第1の経路算出手段と、前記ツール経路方程式で規定される前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化と同期するように、前記現在位置から前記教示位置までの前記補助装置座標系における前記補助装置の位置及び姿勢の時系列変化を規定する補助装置経路方程式を計算する第2の経路算出手段と、前記補助装置経路方程式により規定される前記補助装置の位置及び姿勢の時系列変化を、その加減速度が限界加減速度を下回るように平滑化した平滑化位置姿勢を算出する平滑化手段と、前記平滑化位置姿勢を使用して、前記ツール経路方程式により規定された前記ワーク座標系における前記ツール先端の位置及び姿勢を、前記マニピュレータの基部に設定され、かつ前記三次元空間に対して固定されたベース座標系におけるツール先端の位置及び姿勢に変換する座標変換処理手段と、前記座標変換処理手段により算出された前記ベース座標系におけるツール先端の位置及び姿勢を前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に変換する逆キネマティクス処理手段と、前記逆キネマティクス処理手段により算出された前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に基づいて、前記マニピュレータを駆動するマニピュレータ駆動手段と、前記平滑化手段により算出された平滑化位置姿勢に基づいて、前記補助装置を駆動する補助装置駆動手段とを備えることを特徴とする工業用ロボットを提供する。
【0029】
平滑化手段は、加減速度が限界加減速度を下回るように、補助装置経路方程式により規定される補助装置の位置及び姿勢を平滑化する。この平滑化位置姿勢を使用して、座標変換処理手段がツール経路方程式により規定されるワーク座標系における前記ツール先端の位置及び姿勢をベース座標系に変換する。ベース座標系に変換されたツール先端の位置及び姿勢は、逆キネマティクス処理手段でマニピュレータ座標系に変換された後にマニピュレータの駆動に使用される。一方、補助装置は平滑化位置姿勢に基づいて駆動される。従って、本発明の工業用ロボットでは、加速性能の低い補助装置に対しては限界加減速度を超えるような位置及び姿勢の変化を要求する指令は出力せず、補助装置の加減速度の不足をマニピュレータの動作で補う。そのため、ツール先端は指定された経路を高精度で移動することができ、加工品質が大幅に向上する。また、加速性能の良好な高価なモータ等を補助装置の駆動装置として使用する必要がなく、振動抑制のために補助装置の機械強度や剛性を高める必要もないので大幅なコスト低減を図ることができる。
【0030】
具体的には、前記平滑化手段は、前記ツールが前記ツール経路方程式で規定される経路に沿って前記現在位置から前記目標位置に移動するまでに要する時間である移動時間と、前記教示位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、前記現在位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、前記補助装置の限界加減速度とに基づいて、前記平滑化位置姿勢を計算する。
【0031】
さらに具体的には、例えば以下の式に基づいて、平滑化位置姿勢を計算することができる。
【0032】
【数1】
Jps_smooth:平滑化位置姿勢
W(i):特性関数
Jps(i):補助装置経路方程式により規定される補助装置の位置及び姿勢
i:1からmの整数であって、現在の制御周期から数えて第何番目の制御周期であるかを示す。
m:平均化点数
【0033】
前記平均化点数mは、例えば下記の式に基づいて決定される。
【0034】
【数2】
ΔJps:補助装置の目標速度(rad/sec)
Aps:補助装置の限界加減速度(rad/sec2)
TC:制御周期(msec)
【0035】
目標速度ΔJpsは、移動時間、教示位置での補助装置座標系における補助装置の位置及び姿勢、及び現在位置での補助装置座標系における補助装置の位置及び姿勢により定まる。
【0036】
特性関数W(i)として、例えば下記の式で定義される単位ステップ関数状の関数を使用することができる。
【0037】
【数3】
【0038】
補助装置経路方程式で規定される経路が等速である場合、この特性関数を使用して平滑化することにより、補助装置の動作開始時の加速度と動作停止時の減速度が限界加減速度未満に低下し、台形型の速度パターンとなる。
【0039】
代案としては、下記の式で定義される二等辺三角形状の関数を特性関数W(i)として使用することができる。
【0040】
【数4】
【0041】
補助装置経路方程式で規定される経路が等速である場合、この特性関数を使用すると、補助装置の動作開始時の速度の立ち上がりは滑らかな曲線状となる。同様に、補助装置の動作停止時には滑らかな曲線状に速度が低下する。
【0042】
補助装置は、例えば、ワークを保持し、かつワークを単一又は複数の軸周りに回転させるポジショナと、マニピュレータを保持し、かつマニピュレータを単一又は複数の軸線方向に直線移動させるスライダのいずれか一方又は両方である。
【発明の効果】
【0043】
本発明の工業用ロボットによれば、ツール先端はワーク上の指定された経路を高精度で移動することができ、加工品質を大幅に向上することができる。また、加速性能の良好な高価なモータ等を補助装置の駆動装置として使用する必要がなく、振動抑制のために補助装置の機械強度や剛性を高める必要もないので、大幅なコスト低減を図ることができる。
【発明を実施するための最良の形態】
【0044】
次に、添付図面を参照して本発明の実施形態を詳細に説明する。
【0045】
(第1実施形態)
図1から図5に示す第1実施形態は、マニピュレータ11とポジショナ12を備えるPTP型の工業用ロボットに本発明を適用した例である。
【0046】
図1を参照すると、工業用ロボットは、マニピュレータ11、ポジショナ12、制御装置13、及び教示装置14を備える。
【0047】
マニピュレータ11は先端にツール16を備え、かつツール16の位置及び姿勢を三次元空間内で変化させる。マニピュレータ11は6個の回転関節RJm1,RJm2,RJm3,RJm4,RJm5,RJm6を有する。回転関節RJm1〜RJm6間はリンクで連結され、最も基端側の回転関節RJm1は台座11aに取り付けられている。各回転関節RJm1〜RJm6は、回転駆動のためのモータMOm1〜MOm6と、関節角度θm1〜θm2を検出するための角度センサSEm1〜SEm6を備える。
【0048】
ポジショナ12はワーク17を保持するテーブル12aと、ワーク17の位置及び姿勢を三次元空間内で変化させるための2個の回転関節RJp1,RJp2を備える。回転関節RJp1,RJp2は、回転駆動のためのモータMOp1,MOp2と、関節角度θp1,θp2を検出するための角度センサSEp1,SEp2を備える。
【0049】
次に、マニピュレータ11及びポジショナ12の制御に使用する座標を説明する。
【0050】
マニピュレータ11に関し、2つの座標系を設定する。まず、6個の関節角度θm1〜θm6で与えられる回転関節座標系(マニピュレータ座標系)を設定する。マニピュレータ座標系でのマニピュレータ11の位置及び姿勢(ツール先端16aの位置及び姿勢)は、関節角度Jm(θm1,θm2,θm3,θm4,θm5,θm6)で表記する。また、原点がマニピュレータ11の台座11aに設定され、かつ三次元空間に対して固定された直交座標系(ベース座標系Σbase)を設定する。ベース座標系Σbaseにおけるマニピュレータ11の位置及び姿勢(ツール先端16aの位置及び姿勢)、すなわちベース座標系Σbaseでの座標と座標軸周りの回転角をbaseP(Xb,Yb,Zb,αb,βb,γb)で表記する。
【0051】
ポジショナ12に関しては、2個の関節角度θp1,θp1で与えられる回転関節座標系(ポジショナ座標系)を設定する。ポジショナ座標系でのポジショナ12の位置及び姿勢は、関節角度Jp(θp1,θp2)で表記する。
【0052】
ワーク17に対して固定された直交座標系(ワーク座標系Σwork)を設定する。ワーク座標系Σworkにおける座標と座標軸周りの回転角をworkP(Xw,Yw,Zw,αw,βw,γw)で表記する。
【0053】
制御装置13は、CPU、後述するFIFOメモリ18を含む各種メモリ、及び入出力ポート等を有するコンピュータを備える。制御装置13は、予め記憶されたプログラムに従って、教示装置14及び角度センサSEm1〜SEm6,SEp1,SEp2からの入力に基づいて、モータMOm1〜MOm6,MOp1,MOp2を駆動する。制御装置13からマニピュレータ11及びポジショナ12のモータMOm1〜MOm6,MOp1,MOp2に対して出力される指令は、関節角度Jm(θm1〜θm6),Jp(θp1,θp2)である。
【0054】
教示装置14を使用して制御装置13に対して、制御に必要な条件が入力される。この条件には、教示位置Pteに加え、ワーク座標系Σbaseにおけるツール先端16aの移動経路と移動速度Vset、機械設計上定まるポジショナ12のモータMOp1,MOp2が制御装置13からの指令を追従できる限界の加減速度(限界加減速度Ap)等の各種パラメータが含まれる。限界加減速度Apは予め制御装置13が記憶していてもよい。教示位置Pteは、マニピュレータ11の関節角度Jmte(θmte1,θmte2,θmte3,θmte4,θmte5,θmte6)とポジショナ12の関節角度Jpte(θpte1,θpte2)として入力される。
【0055】
次に、図2のフローチャートを参照して、制御装置13により実行されるマニピュレータ11及びポジショナ12の制御を説明する。なお、理解を容易にするために、図3に示すようにワーク17上の直線の作業線Lに沿ってツール先端16aが現在位置から目標位置まで等速で移動する場合を例に説明する。
【0056】
まず、ステップS1において、教示位置Pte(Jmte+Jpte)からワーク座標系Σworkにおけるツール先端16aの目標位置及び姿勢workPte(Xwte,Ywte,Zwte,αwte,βwte,γwte)を計算する。具体的には、まず、教示位置Pteでのマニピュレータ11の関節角度Jmteの順キネマティクスを計算し、ベース座標系Σbaseにおけるツール先端16aの位置及び姿勢basePte(Xbte,Ybte,Zbte,αbte,βbte,γbte)に変換する。次に、教示位置Pteにおけるポジショナ12の関節角度Jpteを使用し、座標変換手段によってベース座標系Σbaseにおける教示位置Pteでのツール先端16aの位置及び姿勢basePteを、ワーク座標系Σworkにおけるツール先端16aの目標位置及び姿勢workPteに変換する。順キネマティクスは公知の算出式で算出できる。また、ベース座標系Σbaseからワーク座標系Σworkへの座標変換手段も公知のものを使用できる。機能から見ると、ステップS1は本発明における第1の演算手段を構成している。
【0057】
次に、ステップS2において、現在位置P0におけるマニピュレータ11の関節角度Jm0(θm10,θm20,θm30,θm40,θm50,θm60)とポジショナ12の関節角度Jp0(θp10,θp20)を角度センサSEm1〜SEm6,SEp1,SEp2から取得する。また、ステップS1と同様の順キネマティクスと座標変換により、現在位置P0(Jm0+Jp0)からワーク座標系Σworkにおけるツール先端16aの現在位置及び姿勢workP0(Xw0,Yw0,Zw0,αw0,βw0,γw0)を計算する。機能から見ると、ステップS2は本発明における第2の演算手段を構成している。
【0058】
続いて、ステップS3において、ワーク座標系Σworkにおける現在位置及び姿勢workP0から目標位置及び姿勢workPteまでのツール先端16aの位置及び姿勢workPの時系列変化を規定する方程式(ツール経路方程式workP(t)、符号tは時刻を示す。)を算出する。機能から見ると、ステップS3は第1の経路算出手段を構成している。
【0059】
本実施形態では前述のようにツール先端16aは作業線L上を直線かつ等速で移動するので、ツール経路方程式workP(t)は以下のように計算される。まず、ワーク座標系Σworkにおける現在位置及び姿勢workP0から目標位置及び姿勢workPteの間の距離Dは以下の式(1)で表される。
【0060】
【数5】
【0061】
ワーク座標系Σworkにおけるツール先端16aの移動速度の設定値(設定速度)をVsetとすると、ツール先端16aが作業線Lに沿って現在位置及び姿勢workP0から目標位置及び姿勢workPteまで移動するのに要する時間(移動時間Tn)は、以下の式(2)で表される。
【0062】
【数6】
【0063】
また、ワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPの変化の速度ΔworkPは以下の式(3)で表される。
【0064】
【数7】
【0065】
従って、ツール経路方程式workP(t)は以下の式(4)に示す通りである。
【0066】
【数8】
【0067】
次に、ステップS4において、ツール経路方程式workP(t)で規定されるワーク座標系Σworkにおけるツール先端16aの位置及び姿勢の時系列変化と同期するように、ポジショナ座標系における現在位置P0から教示位置Pteまでのポジショナ12の関節角度Jpの時系列変化を規定する方程式(ポジショナ経路方程式Jp(t))を求める。機能から見ると、ステップS4は本発明における第2の経路算出手段を構成する。ポジショナ12の位置及び姿勢の変化の速度ΔJpは、現在位置P0でのポジショナ12の関節角度Jp0、教示位置Pteでのポジショナ12の関節角度Jpte、及び移動時間Tnを用いて以下の式(5)で表される。
【0068】
【数9】
【0069】
従って、ポジショナ経路方程式Jp(t)は以下の式(6)に示す通りである。
【0070】
【数10】
【0071】
次に、ステップS5において、時刻tを初期化する(t=0)。
【0072】
ステップS6からステップS12は、制御周期Tc毎に繰り返される。まず、ステップS6において時刻tを時刻t+Tcに更新する。
【0073】
次に、ステップS7において、ステップS6で更新した時刻tの時点でのワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPを、ツール経路方程式workP(t)により計算する。本実施形態では、式(4)に更新した時刻tを代入することで、ツール先端16aの位置及び姿勢workPが得られる。
【0074】
ステップS8では、ステップS6で更新した時刻tの時点でのポジショナ12の関節角度Jpを、ポジショナ経路方程式Jp(t)により計算する。本実施形態では、式(6)に更新した時刻tを代入することで、ポジショナ12の関節角度Jpが得られる。
【0075】
ステップS7,S8で算出したツール先端16aの位置及び姿勢workPとポジショナ12の関節角度Jpをそのままマニピュレータ11及びポジショナ12に対する駆動指令の算出に使用すると、ポジショナ12に対して限界加減速度Apを超える急激な加減速を指令することになる。そこで、ステップS9では、ステップS8でポジショナ経路方程式Jp(t)により算出したポジショナ12の関節角度Jpを平滑化し、ポジショナ12の関節角度Jpの加減速度が限界加減速度Ap未満となる平滑化位置姿勢Jp_smoothを算出している。機能から見ると、ステップS9は本発明における平滑化手段を構成する。
【0076】
ステップS9の平滑化処理を詳細に説明する。図4を参照すると、制御装置13は、先入れ先出し型のメモリ(FIFOメモリ18)を備える。このFIFOメモリ18にはm個のポジショナ12の位置及び姿勢Jp(1),Jp(2),Jp(3),・・・Jp(m−1),Jp(m)が記憶される。具体的には、FIFOメモリ18には、現在の制御周期におけるポジショナ12の位置及び姿勢Jp(1)から、現在の制御周期から数えて第m−1番目前の制御周期におけるポジショナ12の位置及び姿勢Jp(m)が記憶されている。また、ステップS6で時刻tが更新されてステップS8で新たなポジショナ12の関節角度Jpが算出される度に、その新たな関節角度JpがFIFOメモリ18に記憶され、かつ最も古い関節角度JpがFIFOメモリ18から消去される。これらFIFOメモリ18に記憶されたm個のポジショナ12の関節角度Jp(1)〜Jp(m)に対して、以下の式(7)で定義される積和計算を実行して平滑化位置姿勢Jp_smoothを算出する。
【0077】
【数11】
【0078】
式(7)において、Jp_smoothはポジショナ12の平滑化位置姿勢、W(i)は特性関数、iは1からmの整数であって、現在の制御周期から数えて第何番目前の制御周期であるかを示す。また、mは平均化点数であり、FIFOメモリ18が記憶するポジショナ12の位置及び姿勢Jpの個数に対応する。
【0079】
図4に概略的に示すように、本実施形態では特性関数W(i)として単位ステップ関数状の関数を使用して平滑化処理を行っている。本実施形態での特性関数は以下の式(8)で定義される。
【0080】
【数12】
【0081】
式(8)の特性関数W(i)を使用すると、単純移動平均による平滑化処理となる。ステップS8で算出したポジショナ経路方程式Jp(t)により規定されるポジショナ12の位置及び姿勢Jpの時系列変化をそのままポジショナ12に出力すると、図4において二点点線で示すように、動作開始時刻t1及び動作開始時刻t2にステップ状の急激な加減速をポジショナ12に強いることになる。これに対して式(7),(8)により算出したポジショナ12の平滑化位置姿勢Jp_smoothは、図4において実線で示すように、動作開始時及び動作停止時の加減速度が低減された台形型速度パターンを呈する。詳細には、動作開始時には平滑化後のポジショナ12の速度dJp_smooth/dtは0から式(5)の速度ΔJpまで直線的に増加し、加速時間はm*Tcである(図5ではm=5としている)。同様に、動作停止時には、平滑化後のポジショナ12の速度dJp_smooth/dtは速度ΔJpから0まで直線的に減少し、減速時間はm*Tcである。
【0082】
加減速に要する時間はm*Tcで、制御周期TCは定数(例えば260msec)である。従って、平滑化位置姿勢Jp_smoothの加減速度が最適、すなわち
ポジショナ12の限界加減速度Apを超えない範囲で、加減速に要する時間が最短となるようにするには、平均化点数mを以下のように設定すればよい。なお、限界加減速度Apの単位はrad/sec2、ポジショナ12の位置及び姿勢の変化の速度ΔJpの単位はrad/sec、制御周期Tcの単位はmsecとする。まず、ポジショナ12の位置及び姿勢Jpの最適加減速時間Taccは以下の式(9)で表される。
【0083】
【数13】
【0084】
ポジショナ12の関節角度Jp(i)は、制御周期Tc毎に離散的に与えられるので、最適加減速時間Taccに対応する平均化点数mは以下の式(10)で示す通りとなる。
【0085】
【数14】
【0086】
また、式(10)に式(9)を代入すると、最適な平均化点数mは以下の式(11)で表される。
【0087】
【数15】
【0088】
式(7),(11)から明らかなように、ステップS9では、移動時間Tn、教示位置Pteでのポジショナ12の関節角度Jpte、現在位置P0でのポジショナ12の関節角度Jp0、並びに限界加減速度Apに基づいて平滑化位置姿勢Jp_smoothを算出している。式(10),(11)により決定した平均化点数mで、式(7)の積和計算を実行することにより、限界加減速度Apを超えない範囲で加減速に要する時間が最短となる平滑化位置姿勢Jp_smoothを求めることができる。
【0089】
ステップS10及びS11は、マニピュレータ11に対する指令を計算するための処理である。なお、ポジショナ12に対する指令は平滑化位置姿勢Jp_smoothが使用される。まず、ステップS10において、ステップS7で計算したワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPを、ベース座標系Σbaseにおけるツール先端16aの位置及び姿勢basePに変換する。この変換には、ステップS8で算出したポジショナ12の位置及び姿勢Jpではなく、ステップS9で算出した平滑化位置姿勢Jp_smoothを使用し、前述の座標変換手段により行う。次に、ステップS11において、ステップS10で算出したベース座標系Σbaseにおけるツール先端16aの位置及び姿勢basePの逆キネマティクスを計算し、マニピュレータ座標系、すなわち関節角度Jmに変換する。機能から見ると、ステップS10は本発明における座標変換処理手段を構成し、ステップS11は逆キネマティクス処理手段を構成する。
【0090】
ステップS12において、ステップS11で算出した関節角度Jmを指令としてマニピュレータ11に出力する。また、ステップS9で算出した平滑化位置姿勢Jp_smoothを指令としてポジショナ12に出力する。これらの指令によりマニピュレータ11のモータMOm1〜MOm6とポジショナ12のモータMOp1,MOp2が作動し、マニピュレータ11とポジショナ12が同期して同時に動作する。機能から見ると、ステップS12は本発明におけるマニピュレータ駆動手段及び補助装置駆動手段を構成する。
【0091】
ステップS13において教示位置Pteに到達するまで、ステップS6からステップS12の処理が繰り返される。
【0092】
ステップS8でポジショナ経路方程式Jp(t)から算出したポジショナ12の位置及び姿勢Jpをそのままポジショナ12に指令として出力すると、図5において二点鎖線で示すように、ポジショナ12に対して動作開始時及び動作停止時(時刻t1,t2)に急激な加減速を指令することになる。しかし、本実施形態では、ステップS9で算出した平滑化位置姿勢Jp_smoothがポジショナ12に対して指令として出力されるので、実線で示すような加減速が緩やかな台形型の速度パターンとなり、加速性能の低いポジショナ12のモータMOp1,MOp2に対して限界加減速度Apを上回るような位置及び姿勢の変化を要求する指令は出力されない。従って、ポジショナ12に応答遅れが生じない。
【0093】
単に平滑化位置姿勢Jp_smoothをポジショナ12に対する指令として使用するだけでは、ワーク座標系Σworkにおけるツール先端16aの加減速度が不足し、ツール先端16aを正確に作業線L上で移動させることもできない。しかし、本実施形態では、平滑化位置姿勢Jp_smoothを使用してワーク座標系Σworkからベース座標系Σbaseへの座標変換を行い(ステップS10)、その逆キネマティクスである関節角度Jmをマニピュレータ11のモータMOm1〜MOm6に指令として出力する(ステップS11,S12)。そのため、マニピュレータ11は、ポジショナ12の加減速度の不足を補い、ツール先端16aが作業線L上を設定速度Vsetで移動するように動作する。例えば、ツール先端16aは図5の時刻t2に作業線Lの終点に到達するが、この時刻t2からポジショナ12の動作が完全に停止する時刻t2’の間、ツール先端16aが作業線Lの終点に位置したままで保持されるように、ポジショナ12の関節角度Jpの変化に応じてマニピュレータ11が作動する。
【0094】
以上のように、加速性能の低いポジショナ12に対しては急激な加減速の指令を出力せず、ポジショナ12の加減速度の不足を加速性能の高いマニピュレータ11の動作で補うので、ツール先端16aは良好な位置及び速度の精度を維持しつつワーク17上の作業線Lを移動することができ、加工品質が大幅に向上する。また、加速性能の良好な高価なモータをポジショナ12のモータMOp1,MOp2として使用する必要がなく、振動抑制のためにポジショナ12の機械強度や剛性を高める必要もないので大幅なコスト低減を図ることができる。
【0095】
(第2実施形態)
図6から図9に示す第2実施形態は、マニピュレータ11とスライダ22を備えるPTP型の工業用ロボットに本発明を適用した例である。
【0096】
スライダ22は、互いに直交する方向に直進移動する3個の直動関節SJ1,SJ2,SJ3を備え、直動関節SJp1にマニピュレータ11の台座11aが保持されている。スライダ22に関し、座標軸がそれぞれ直動関節SJp1〜SJp3の移動方向に対応し、かつ三次元空間に固定された直交座標系(スライダ座標系)を設定する。スライダ座標系でのスライダ22の位置及び姿勢は、関節位置Js(Sx,Sy,Sz)で表記する。スライダ座標系の各軸の向きはベース座標系Σbaseの各軸の向きと一致している。各直動関節SJp1〜SJp3は、それぞれ駆動用のモータMOs1〜MOS3と、関節位置Jsを検出するための位置センサSEs1〜SEs3を備える。
【0097】
ワーク17は三次元空間に固定されている。ワーク座標系Σworkの各軸の向きは、ベース座標系Σbase及びスライダ座標系の各軸の向きと一致している。
【0098】
教示装置14から制御装置13には、教示位置Pteに加え、ワーク座標系Σbaseにおけるツール先端16aの移動経路と移動速度Vset、スライダ22のモータMOs1〜MOs3の限界加減速度Ap等を含む制御に必要な条件が入力される。教示位置Pteは、マニピュレータ11の関節角度Jmte(θmte1,θmte2,θmte3,θmte4,θmte5,θmte6)とスライダ22の関節位置Jste(Sxte,Syte,Szte)として入力される。
【0099】
図7に示す制御は、ポジショナ12がスライダ22に置き換わる点を除いて第1実施形態における制御(図2参照)と同様である。理解を容易にするために、図8に示すようにワーク17上の作業線Lはベース座標系Σbase、ワーク座標系Σwork、及びスライダ座標系のY方向に延びる直線であり、この作業線Lに沿ってツール先端16aが設定速度Vsetで等速移動し、かつ現在位置P0と教示位置Pteでのマニピュレータ座標系におけるマニピュレータ11の位置及び姿勢が同一(Jm0=Jmte)である場合を例に、本実施形態における制御を説明する。
【0100】
ステップS1’において教示位置Pte(Jmte+Jste)からワーク座標系Σworkにおけるツール先端16a目標位置及び姿勢workPteを計算し、ステップS2’において現在位置P0からワーク座標系Σworkにおけるツール先端16aの現在位置及び姿勢workP0を計算する。現在位置P0は、角度センサSEm1〜SEm6から取得したマニピュレータ11の現在の関節角度Jm0と、位置センサSEs1〜SEs3で取得したスライダ22の現在の関節位置Js0(Sx0,Sy0,Sz0)として与えられる。
【0101】
ステップS3’で求めるツール経路方程式wokrP(t)は、第1実施形態と同一であり前述の式(4)で示す通りとなる。
【0102】
ステップS4’において、ワーク座標系Σworkにおけるツール先端16aの位置及び姿勢の時系列変化と同期するように、現在位置P0から教示位置Pteまでのスライダ座標系におけるスライダ22の位置及び姿勢の時系列変化を規定する方程式(スライダ経路方程式Js(t))を求める。スライダ22の位置及び姿勢の変化の速度ΔJsは、現在位置P0でのスライダ22の関節位置Js0と教示位置Pteでのポジショナ12の関節位置Jste、及び移動時間Tnを用いて以下の式(12)で表される。
【0103】
【数16】
【0104】
従って、スライダ経路方程式Js(t)は以下の式(13)に示す通りである。
【0105】
【数17】
【0106】
時刻tを初期化後(ステップS5’)、制御周期Tc毎に時刻tを更新しつつ、ツール経路方程式wokrP(t)によりワーク座標系Σworkにおけるツール先端16aの位置及び姿勢workPを計算し、スライダ経路方程式Js(t)によりスライダ22の位置及び姿勢Jpを計算する(ステップS7’,S8’)。また、ステップS9’において、加減速度が限界加減速度Apを超えないように、スライダ22の関節位置JSを平滑化処理する。具体的には、式(9)〜(11)で決まる最適な平均化点数mと、式(8)で定義される特性関数W(i)を使用し、式(7)の積和演算を実行して平滑化位置姿勢Js_smoothを算出する。
【0107】
平滑化位置姿勢Js_smoothをスライダ22に出力し、平滑化位置姿勢Js_smoothを用いてワーク座標系Σworkからベース座標系Σbaseに座標変換したツール先端の逆キネマティクス(関節角度Jm)をマニピュレータ11に出力する(ステップS10’〜S12’)。
【0108】
図9(A)はスライダ22のY方向の移動速度の変化を示し、図9(B)はベース座標系Σbaseでのツール先端16aのY方向の移動速度の変化を示し、図9(C)はワーク座標系Σworkでのツール先端16aのY方向の移動速度(ワーク17に対するツール先端16aの移動速度)を示す。
【0109】
図7のステップS8’でスライダ経路方程式Js(t)により算出したスライダ22の関節位置Jsをそのままスライダ22に指令として出力すると、図9(A)の二点鎖線で示すように、スライダ22に対して動作開始時及び動作停止時(時刻t1,t2)に急激な加減速を指令することになる。しかし、本実施形態では、ステップS9’で算出した平滑化位置姿勢Js_smoothがスライダ22に対して指令として出力されるので、実線で示すような加減速が緩やかな台形型の速度パターンとなり、加速性能の低いスライダ22のモータMOs1〜MOs3に対して限界加減速度Apを上回るような位置及び姿勢の変化を要求する指令は出力されない。
【0110】
単に平滑化位置姿勢Js_smoothをスライダ22に対する指令として使用するだけでは、ワーク座標系Σworkにおけるツール先端16aの加減速度が不足する。具体的には、動作開始(時刻t1)からツール先端16aが設定速度Vsetまで加速するのに要する時間が長くなる。また、動作停止時に設定速度Vsetから速度0まで減速する時間が長くなり所望の時刻t2までにツール先端16aが作業線Lの終端まで到達できない。
【0111】
しかし、本実施形態では、スライダ経路方程式Js(t)により算出したスライダ22の位置及び姿勢Jsではなく、平滑化位置姿勢Js_smoothを使用して、マニピュレータ11に対する指令(関節角度Jm)を算出しているので(ステップS10’)、スライダ22の加減速度を制限したことによるツール先端16aの加減速度の不足を補うようにマニピュレータ11が作動する。具体的には、動作開始時には時刻t1’にスライダ22が設定速度Vsetに達するまで、ツール先端16aがY方向に移動するようにマニピュレータ11が動作する。その結果、スライダ22の移動とマニピュレータ11によるツール先端16aの移動の重ね合わせによって、加速度の不足が補われ、図9(C)に示すように1回の制御周期Tcでワーク17に対するツール先端16aの移動速度が設定速度Vsetまで上昇する。また、動作停止時には時刻t2’にスライダ22が完全に停止するまで、ツール先端16aがY軸方向に移動するようにマニピュレータ11が動作する。その結果、スライダ22の移動とマニピュレータ11によるツール先端16aの移動の重ね合わせによって、ツール先端16aが作業線Lの終端に保持される。
【0112】
以上のように、加速性能の低いスライダ22に対しては急激な加減速の指令を出力せず、スライダ22の加減速度の不足を加速性能の高いマニピュレータ11の動作で補うので、ツール先端16aは良好な位置及び速度の精度を維持しつつワーク17上の作業線Lを移動することができ、加工品質が大幅に向上する。また、加速性能の良好な高価なモータをスライダ22のモータMOs1〜MOs3として使用する必要がなく、振動抑制のためにスライダ22の機械強度や剛性を高める必要もないので大幅なコスト低減を図ることができる。
【0113】
第2実施形態のその他の構成及び作用は第1実施形態と同様であるので、同一の要素には同一の符号を付して説明を省略する。
【0114】
(第3実施形態)
図10に示すように、マニピュレータ11とポジショナ12及びスライダ22を備えるPTP型の工業用ロボットにも本発明を適用することができる。
【0115】
制御装置13は、図11のステップS1''〜S13''に示す第1及び第2実施形態と同様の制御を実行する。教示位置Pteと現在位置P0は、マニピュレータ11の関節角度Jmte,Jm0、ポジショナ12の関節角度Jpte,Jp0、及びスライダ22の関節位置Jste,Js0で与えられる(ステップS1'',S2'')。ポジショナ経路方程式Jp(t)とスライダ経路方程式Js(t)の両方を求め(ステップS4'')、これらから計算した関節角度Jpと関節位置Jsをそれぞれ平滑化処理して平滑化位置姿勢Jp_smooth,Js_smoothを計算する(ステップS8'',S9'')。また、両方の平滑化位置姿勢Jp_smooth,Js_smoothを使用してツール先端16aの座標をワーク座標系Σworkからベース座標系Σbaseに変換し、逆キネマティクスを計算してマニピュレータ11の関節角度Jmを得る(ステップS10'',S11'')。
【0116】
スライダ22とポジショナ12に対して平滑化位置姿勢Jp_smooth,Js_smoothを指令として出力し、マニピュレータ11にはこれらから算出した関節角度Jmを指令として出力する(ステップS12'')。従って、加速性能の低いポジショナ12とスライダ22に対しては急激な加減速の指令は出力せず、ポジショナ12及びスライダ22の加減速度の不足を加速性能の高いマニピュレータ11の動作で補うので、ツール先端16aは良好な位置及び速度の精度を維持しつつワーク17上の作業線Lを移動することができる。
【0117】
第3実施形態のその他の構成及び作用は第1実施形態と同様である。同一の要素には同一の符号を付して説明を省略する。
【0118】
本発明は、前記実施形態に限定されず、種々の変形が可能である。例えば、図12に示すピーク値が1の二等辺三角形状の特性を有する特性関数W(i)を使用して式(7)の積和計算を実行することで、ポジショナ12やスライダ22の平滑化位置姿勢Jp_smooth,Js_smoothを算出してもよい。この特性関数W(i)は、以下の式(14)で定義される。
【0119】
【数18】
【0120】
この特性関数W(i)を使用した場合、図13において実線で示すようにポジショナ12やスライダ22の速度パターンは、動作開始時(時刻t1)の速度の立ち上がりは滑らかな曲線状となる。同様に、ポジショナ12やスライダ22の動作停止時(時刻t2)には滑らかな曲線状に速度が低下する。
【0121】
一般に特性関数は対象であればどのような形であってもよい。例えば、図12の特性関数の形を少し変更した図14に示す特性関数をであってもよい。この場合、図15において実線で示すようにポジショナ12やスライダ22の速度パターンは、動作開始時(時刻t1)の速度の立ち上がり及び動作停止時(時刻t2)の速度低下がより一層滑らかな曲線状となる。
【図面の簡単な説明】
【0122】
【図1】本発明の第1実施形態に係る工業用ロボットを示す概略構成図。
【図2】本発明の第1実施形態に係る工業用ロボットの動作を説明するためのフローチャート。
【図3】マニピュレータとポジショナの同期動作を説明するための概略図。
【図4】平滑化処理を説明するための概略図。
【図5】第1実施形態におけるポジショナの速度変化を示す線図。
【図6】本発明の第2実施形態に係る工業用ロボットを示す概略構成図。
【図7】本発明の第2実施形態に係る工業用ロボットの動作を説明するためのフローチャート。
【図8】マニピュレータとスライダの同期動作を説明するための概略図。
【図9】(A)はスライダの速度変化を示す線図、(B)はマニピュレータの速度変化を示す線図、(C)はスライダとマニピュレータの合成速度を示す線図。
【図10】本発明の第3実施形態に係る工業用ロボットを示す概略構成図。
【図11】本発明の第3実施形態に係る工業用ロボットの動作を説明するためのフローチャート。
【図12】平滑処理の他の例を説明するための概略図。
【図13】図12の平滑処理を行った場合のポジショナ及びスライダの速度変化の一例を示す線図。
【図14】平滑処理のさらに他の例を説明するための概略図。
【図15】図14の平滑処理を行った場合のポジショナ及びスライダの速度変化の一例を示す線図。
【図16】従来の工業用ロボットの一例を示す概略斜視図。
【図17】(A)はマニピュレータの変位を示す線図、(B)はマニピュレータの速度変化を示す線図。
【図18】従来の工業用ロボットの他の一例を示す概略平面図。
【図19】(A)はスライダの速度変化を示す線図、(B)はマニピュレータの速度変化を示す線図。
【符号の説明】
【0123】
11 マニピュレータ
11a 台座
12 ポジショナ
12a テーブル
13 制御装置
14 教示装置
16 ツール
16a ツール先端
17 ワーク
18 FIFOメモリ
22 スライダ
【特許請求の範囲】
【請求項1】
先端にツールを備え、かつこのツールの位置及び姿勢を三次元空間内で変化させるマニピュレータと、前記ツール及び/又は前記マニピュレータを前記三次元空間内で移動させる補助装置と、前記マニピュレータと前記補助装置を同期して同時に動作させる制御装置とを備える工業用ロボットであって、
前記制御装置は、
前記マニピュレータ自体に設定されたマニピュレータ座標系で与えられるマニピュレータの位置及び姿勢と、前記補助装置自体に設定された補助装置座標系で与えられる補助装置の位置及び姿勢として入力される教示位置から、前記ワークに設定されたワーク座標系におけるツール先端の目標位置及び姿勢を計算する第1の演算手段と、
第1の検出器で検出された前記マニピュレータ座標系における前記マニピュレータの位置及び姿勢と、第2の検出器で検出された前記補助装置座標系における前記補助装置の位置及び姿勢とである現在位置から、前記ワーク座標系における前記ツール先端の現在位置及び姿勢を計算する第2の演算手段と、
前記ワーク座標系におけるツール先端の目標位置及び姿勢と、前記ワーク座標系におけるツール先端の現在位置及び姿勢と、予め入力された前記ツール先端の移動特性とに基づいて、前記現在位置から前記目標位置までの前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化を規定するツール経路方程式を計算する第1の経路算出手段と、
前記ツール経路方程式で規定される前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化と同期するように、前記現在位置から前記教示位置までの前記補助装置座標系における前記補助装置の位置及び姿勢の時系列変化を規定する補助装置経路方程式を計算する第2の経路算出手段と、
前記補助装置経路方程式により規定される前記補助装置の位置及び姿勢の時系列変化を、その加減速度が限界加減速度を下回るように平滑化した平滑化位置姿勢を算出する平滑化手段と、
前記平滑化位置姿勢を使用して、前記ツール経路方程式により規定された前記ワーク座標系における前記ツール先端の位置及び姿勢を、前記マニピュレータの基部に設定され、かつ前記三次元空間に対して固定されたベース座標系におけるツール先端の位置及び姿勢に変換する座標変換処理手段と、
前記座標変換処理手段により算出された前記ベース座標系におけるツール先端の位置及び姿勢を前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に変換する逆キネマティクス処理手段と、
前記逆キネマティクス処理手段により算出された前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に基づいて、前記マニピュレータを駆動するマニピュレータ駆動手段と、
前記平滑化手段により算出された平滑化位置姿勢に基づいて、前記補助装置を駆動する補助装置駆動手段と
を備えることを特徴とする工業用ロボット。
【請求項2】
前記平滑化手段は、
前記ツールが前記ツール経路方程式で規定される経路に沿って前記現在位置から前記目標位置に移動するまでに要する時間である移動時間と、
前記教示位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、
前記現在位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、
前記補助装置の限界加減速度と
に基づいて、前記平滑化位置姿勢を計算することを特徴とする請求項1に記載の工業用ロボット。
【請求項3】
前記平滑化手段は、下記の式に基づいて平滑化位置姿勢を計算することを特徴とする請求項2に記載の工業用ロボット。
【数1】
Jps_smooth:平滑化位置姿勢
W(i):特性関数
Jps(i):補助装置経路方程式により規定される補助装置の位置及び姿勢
i:1からmの整数であって、現在の制御周期から数えて第何番目の制御周期であるかを示す。
m:平均化点数
【請求項4】
前記平均化点数mは、以下の式に基づいて決定されることを特徴とする請求項3に記載の工業用ロボット。
【数2】
ΔJps:補助装置の目標速度(rad/sec)
Aps:補助装置の限界加減速度(rad/sec2)
TC:制御周期(msec)
【請求項5】
前記特性関数W(i)は、以下の式で定義されることを特徴とする請求項3又は請求項4に記載の工業用ロボット。
【数3】
【請求項6】
前記特性関数W(i)は、以下の式で定義されることを特徴とする、請求項3又は請求項4に記載の工業用ロボット。
【数4】
【請求項7】
前記補助装置として、前記ワークを保持し、かつ前記ワークを単一又は複数の軸周りに回転させるポジショナを備えることを特徴とする請求項1から請求項6のいずれか1項に記載の工業用ロボット。
【請求項8】
前記補助装置として、前記マニピュレータを保持し、かつ前記マニピュレータを単一又は複数の軸線方向に直進移動させるスライダを備えることを特徴とする請求項1から請求項6のいずれか1項に記載の工業用ロボット。
【請求項9】
前記補助装置は、前記ワークを保持し、かつ前記ワークを単一又は複数の軸周りに回転させるポジショナと、前記マニピュレータを保持し、かつ前記マニピュレータを単一又は複数の軸線方向に直進移動させるスライダとを備えることを特徴とする請求項1から請求項6のいずれか1項に記載の工業用ロボット。
【請求項1】
先端にツールを備え、かつこのツールの位置及び姿勢を三次元空間内で変化させるマニピュレータと、前記ツール及び/又は前記マニピュレータを前記三次元空間内で移動させる補助装置と、前記マニピュレータと前記補助装置を同期して同時に動作させる制御装置とを備える工業用ロボットであって、
前記制御装置は、
前記マニピュレータ自体に設定されたマニピュレータ座標系で与えられるマニピュレータの位置及び姿勢と、前記補助装置自体に設定された補助装置座標系で与えられる補助装置の位置及び姿勢として入力される教示位置から、前記ワークに設定されたワーク座標系におけるツール先端の目標位置及び姿勢を計算する第1の演算手段と、
第1の検出器で検出された前記マニピュレータ座標系における前記マニピュレータの位置及び姿勢と、第2の検出器で検出された前記補助装置座標系における前記補助装置の位置及び姿勢とである現在位置から、前記ワーク座標系における前記ツール先端の現在位置及び姿勢を計算する第2の演算手段と、
前記ワーク座標系におけるツール先端の目標位置及び姿勢と、前記ワーク座標系におけるツール先端の現在位置及び姿勢と、予め入力された前記ツール先端の移動特性とに基づいて、前記現在位置から前記目標位置までの前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化を規定するツール経路方程式を計算する第1の経路算出手段と、
前記ツール経路方程式で規定される前記ワーク座標系における前記ツール先端の位置及び姿勢の時系列変化と同期するように、前記現在位置から前記教示位置までの前記補助装置座標系における前記補助装置の位置及び姿勢の時系列変化を規定する補助装置経路方程式を計算する第2の経路算出手段と、
前記補助装置経路方程式により規定される前記補助装置の位置及び姿勢の時系列変化を、その加減速度が限界加減速度を下回るように平滑化した平滑化位置姿勢を算出する平滑化手段と、
前記平滑化位置姿勢を使用して、前記ツール経路方程式により規定された前記ワーク座標系における前記ツール先端の位置及び姿勢を、前記マニピュレータの基部に設定され、かつ前記三次元空間に対して固定されたベース座標系におけるツール先端の位置及び姿勢に変換する座標変換処理手段と、
前記座標変換処理手段により算出された前記ベース座標系におけるツール先端の位置及び姿勢を前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に変換する逆キネマティクス処理手段と、
前記逆キネマティクス処理手段により算出された前記マニピュレータ座標系におけるマニピュレータの位置及び姿勢に基づいて、前記マニピュレータを駆動するマニピュレータ駆動手段と、
前記平滑化手段により算出された平滑化位置姿勢に基づいて、前記補助装置を駆動する補助装置駆動手段と
を備えることを特徴とする工業用ロボット。
【請求項2】
前記平滑化手段は、
前記ツールが前記ツール経路方程式で規定される経路に沿って前記現在位置から前記目標位置に移動するまでに要する時間である移動時間と、
前記教示位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、
前記現在位置での前記補助装置座標系における前記補助装置の位置及び姿勢と、
前記補助装置の限界加減速度と
に基づいて、前記平滑化位置姿勢を計算することを特徴とする請求項1に記載の工業用ロボット。
【請求項3】
前記平滑化手段は、下記の式に基づいて平滑化位置姿勢を計算することを特徴とする請求項2に記載の工業用ロボット。
【数1】
Jps_smooth:平滑化位置姿勢
W(i):特性関数
Jps(i):補助装置経路方程式により規定される補助装置の位置及び姿勢
i:1からmの整数であって、現在の制御周期から数えて第何番目の制御周期であるかを示す。
m:平均化点数
【請求項4】
前記平均化点数mは、以下の式に基づいて決定されることを特徴とする請求項3に記載の工業用ロボット。
【数2】
ΔJps:補助装置の目標速度(rad/sec)
Aps:補助装置の限界加減速度(rad/sec2)
TC:制御周期(msec)
【請求項5】
前記特性関数W(i)は、以下の式で定義されることを特徴とする請求項3又は請求項4に記載の工業用ロボット。
【数3】
【請求項6】
前記特性関数W(i)は、以下の式で定義されることを特徴とする、請求項3又は請求項4に記載の工業用ロボット。
【数4】
【請求項7】
前記補助装置として、前記ワークを保持し、かつ前記ワークを単一又は複数の軸周りに回転させるポジショナを備えることを特徴とする請求項1から請求項6のいずれか1項に記載の工業用ロボット。
【請求項8】
前記補助装置として、前記マニピュレータを保持し、かつ前記マニピュレータを単一又は複数の軸線方向に直進移動させるスライダを備えることを特徴とする請求項1から請求項6のいずれか1項に記載の工業用ロボット。
【請求項9】
前記補助装置は、前記ワークを保持し、かつ前記ワークを単一又は複数の軸周りに回転させるポジショナと、前記マニピュレータを保持し、かつ前記マニピュレータを単一又は複数の軸線方向に直進移動させるスライダとを備えることを特徴とする請求項1から請求項6のいずれか1項に記載の工業用ロボット。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2006−43839(P2006−43839A)
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願番号】特願2004−230704(P2004−230704)
【出願日】平成16年8月6日(2004.8.6)
【出願人】(000001199)株式会社神戸製鋼所 (5,860)
【Fターム(参考)】
【公開日】平成18年2月16日(2006.2.16)
【国際特許分類】
【出願日】平成16年8月6日(2004.8.6)
【出願人】(000001199)株式会社神戸製鋼所 (5,860)
【Fターム(参考)】
[ Back to top ]