(58)【調査した分野】(Int.Cl.,DB名)
前記制御部が、前記報知として、前記参照相対位置に前記ロボット又は前記ワークを移動することの必要性を問う所定の表示を表示装置を用いて行う、請求項1に記載の動作プログラム作成装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
このような動作プログラム作成装置は、実際のロボットによるワークへの作業を効率的かつ安全に行うために、オペレータがロボットのモデル、ワークのモデル、および周辺装置のモデル等の位置、姿勢、動作等をシミュレーション上で様々に変更しながら、動作プログラムの作成を行う。
【0005】
作成された動作プログラムの適否を判断するために、オペレータは、作成された動作プログラムを用いてシミュレーション上でロボットを動作させ、動作するロボットの作業を表示装置上で確認する。この時、作業の種類、ワークの種類、ロボットの種類等に応じて、オペレータが確認したい個所が異なる。このため、オペレータは、観察方向の切替え、ロボットの動作速度の変更等を行いながら、表示装置上でロボットの作業の確認を行う。
【0006】
一方、ロボットが同じワークに対して複数の作業を行う場合、ロボットが複数のワークに対して作業を行う場合、ロボットがロボット移動台車に載置されておりロボットの位置を作業に応じて変更する必要がある場合、ワークの位置および姿勢が変更される場合、これらの組合せが発生する場合等がある。このような場合、オペレータは、ロボットによる作業の効率化、作業の正確性の向上等のために、ロボット移動台車の位置、ワークの位置、ワークの姿勢等の様々なパラメータをシミュレーション上で変更しながら、動作プログラムを作成する。
【0007】
上記のように、オペレータは、動作プログラムを作成した後のロボットの動作の確認、上記パラメータの変更等を行いながら、数時間又はそれ以上の時間をかけて動作プログラムの作成および確認を繰り返す場合がある。このような時に、オペレータは、ロボットとワークとが意図しない相対位置に配置された状態で、動作プログラムの作成を行う場合がある。
【0008】
例えば、ロボットをロボット移動台車で複数の位置に配置して一連の作業を行う場合、第1の位置で動作プログラムを作成し、第2の位置で動作プログラムを作成した後に、再び第1の位置で動作プログラムを作成する場合がある。この時に、オペレータが、ロボット移動台車をシミュレーション上で第1の位置に配置したつもりが、第1の位置とは若干異なる位置に配置される場合がある。この場合でも、動作プログラム作成装置は計算上の問題が無ければ、動作プログラムを作成してしまう。
【0009】
本発明は、前述の事情に鑑みてなされている。本発明の目的の一つは、ロボットとワークとが意図しない相対位置に配置された状態で動作プログラムが作成される可能性を低減又は無くすことができる動作プログラム作成装置の提供である。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明は以下の手段を採用する。
本発明の第1の態様は、シミュレーション上のロボットおよびワークを用いて前記ロボットの動作プログラムを作成する動作プログラム作成装置であって、入力部と、前記ワークに対する前記ロボットの作業のために前記ロボットの所定位置が通過すべき経路を示すパスデータが格納されている記憶部と、前記ワークに対する前記作業のための動作プログラムの作成又は更新の開始要求を前記入力部から受付けると、前記パスデータに応じた前記動作プログラムを作成する制御部と、を備え、前記制御部が、前記入力部への入力に基づき前記ロボットおよび前記ワークの少なくとも一方の他方に対する位置を変更可能であり、前記制御部が、前記開始要求を受付けた時の前記ロボットと前記ワークとの相対位置が、前記ワークのための以前の動作プログラム作成時の前記相対位置である参照相対位置と異なる時に、所定の報知を行う。
【0011】
当該態様では、オペレータは、所定の報知に基づき、入力部から開始要求を受付けた時のロボットとワークとの相対位置が、当該ワークのための動作プログラムを以前に作成した時の相対位置と異なることを知ることができる。このため、例えば、作成した動作プログラムによるシミュレーション上のロボットの動作の確認、ロボットとワークとの相対位置の変更等を繰返し行いながら、オペレータが数時間又はそれ以上の時間をかけて動作プログラムの作成および確認を行う場合でも、ロボットとワークとが意図しない相対位置に配置された状態で動作プログラムが作成される可能性を低減又は無くすことができる。
【0012】
上記態様において、好ましくは、前記制御部が、前記報知として、前記参照相対位置に前記ロボット又は前記ワークを移動することの必要性を問う所定の表示を表示装置を用いて行う。
当該構成が採用されると、以前の動作プログラム作成時の相対位置にロボット又はワークを移動させる否かについてオペレータが聞かれる。このため、例えばオペレータが以前の動作プログラム作成時の相対位置を用いたい場合は、そのような操作を容易且つ確実に行うことが可能となる。
【0013】
上記態様において、好ましくは、前記制御部が、前記参照相対位置への前記ロボット又は前記ワークの移動の要求を前記入力部を介して受付ける。
当該構成が用いられると、オペレータは、入力部を用いて、以前の動作プログラム作成時の相対位置へのロボット又はワークの移動を容易且つ確実に行うことができる。
【0014】
本発明の第2の態様は、シミュレーション上のロボットおよびワークを用いて前記ロボットの動作プログラムを作成する動作プログラム作成装置であって、入力部と、前記ワークに対する前記ロボットの作業のために前記ロボットの所定位置が通過すべき経路を示すパスデータが格納されている記憶部と、前記ワークに対する前記作業のための動作プログラムの作成又は更新の開始要求を前記入力部から受付けると、前記パスデータに応じた前記動作プログラムを作成する制御部と、を備え、前記制御部が、前記入力部への入力に基づき前記ロボットおよび前記ワークの少なくとも一方の他方に対する位置を変更可能であり、前記制御部が、前記開始要求を受付けた時の前記ロボットと前記ワークとの相対位置が、前記ワークのための以前の動作プログラム作成時の前記相対位置である参照相対位置と異なる時に、前記ロボット又は前記ワークの前記参照相対位置への移動を行う。
【0015】
当該態様では、入力部から開始要求を受付けた時のロボットとワークとの相対位置が、当該ワークのための動作プログラムを以前に作成した時の相対位置である参照相対位置と異なる時に、ロボット又はワークが参照相対位置に移動する。このため、例えば、作成された動作プログラムによるシミュレーション上のロボットの動作の確認、ロボットとワークとの相対位置の変更等を繰返し行いながら、オペレータが数時間又はそれ以上の時間をかけて動作プログラムの作成および確認を行う場合でも、ロボットとワークとが意図しない相対位置に配置された状態で動作プログラムが作成される可能性を低減又は無くすことができる。
【発明の効果】
【0016】
本発明によれば、ロボットとワークとが意図しない相対位置に配置された状態で動作プログラムが作成される可能性を低減又は無くすことができる。
【発明を実施するための形態】
【0018】
本発明の一実施形態に係る動作プログラム作成装置が、図面を用いながら以下説明されている。
本発明の動作プログラム作成装置は、
図1に示されるように、例えばオペレータが見る液晶表示装置等の表示装置10と、表示装置10に接続された制御部20と、制御部20に接続されたキーボード、マウス等である入力部30とを備えている。
【0019】
制御部20は、CPU等であるプロセッサ21と、不揮発性ストレージ、ROM、RAM等を有する記憶部22と、通信ケーブルが接続される接続ポート、アンテナ等を有し、データの送受信を行う送受信部23と、スピーカ24とを備えている。入力部30がタッチスクリーンを含んでいてもよい。本実施形態では、表示装置10がタッチスクリーン機能を有しており、表示装置10が入力部30の機能の一部を担っている。なお、表示装置10はタブレットコンピュータであってもよい。
【0020】
記憶部22には、ロボットのシミュレーションを行うことによってロボットの動作プログラム22bを作成する作成プログラム22aが格納されている。また、記憶部22には、相対位置判断プログラム22cが格納されている。また、シミュレーションに用いられるロボットのモデル100、ロボット100のモデルを移動させるためのロボット移動台車のモデル110、ワークのモデル200、およびワーク支持装置のモデル210が記憶部22に格納されている。これらのモデルの例は
図2および
図3に示されている。以下の説明では、ロボットのモデル100、ロボット移動台車のモデル110、ワークのモデル200、ワーク支持装置のモデル210を単にロボット100、ロボット移動台車110、ワーク200、およびワーク支持装置210とそれぞれ称する場合がある。
【0021】
本実施形態では、ロボット100は垂直多関節ロボットであるが、水平多関節ロボット、パラレルリンクロボット、又はその他のタイプのロボットであってもよい。ロボット100は、アーム100aと、アーム100aの基端部を支持するベース100bとを備えている。ベース100bはロボット移動台車110によって支持されている。アーム100aは複数のアーム部材および各アーム部材をそれぞれ駆動するサーボモータとを備える。各サーボモータによって各アーム部材が駆動されることによって、アーム100aの位置および姿勢が様々に変化する。ロボットのモデル100に対応する実物のロボットはロボット制御装置に接続され、ロボット制御装置は動作プログラム22bを用いてロボットの動作を制御する。
【0022】
アーム100aはその先端部にワーク200に対し作業を行うためのツールTを有する。ツールTは様々な作業を行うものであり得る。ツールTは、例えば、溶接ガン、バリ取りツール、塗装ツール、シール剤塗布ツール、レーザ加工ツール、機械加工ツール、ハンド等である。
【0023】
ロボット移動台車110は、ロボット100のベース100bが取付けられる台車本体111と、設置面に固定され、水平方向であるX軸方向に延びているレール112と、設置面に固定され、レール112と平行に延びているボールネジ軸113と、台車本体111の下面に固定されたボールネジナット114と、ボールネジ軸113を回転駆動するサーボモータ等のモータ115とを備えている。台車本体111の下面に設けられた一対のスライダー111aが一対のレール112にそれぞれ支持され、これにより台車本体111はレール112に沿って移動可能である。
【0024】
ワーク支持装置210は、設置面に固定されたベース210aと、ベース210aにX軸方向と直行する水平方向に延びるY軸周りに揺動可能に支持された第1ベッド211と、ベース210a又は第1ベッド211に設けられ、第1ベッド211をベース210aに対して揺動させるサーボモータ等の第1モータ211aと、第1ベッド211にX軸周りに揺動可能に支持された第2ベッド212と、第1ベッド211又は第2ベッド212に設けられ、第2ベッド212を第1ベッド211に対して揺動させるサーボモータ等の第2モータ212aと、第2ベッド212上の所定位置にワーク200を固定するチャック213とを有する。
【0025】
ロボット移動台車のモデル110およびワーク支持装置のモデル210に対応する実際のロボット移動台車およびワーク支持装置は前記ロボット制御装置に接続され、ロボット制御装置は動作プログラム22bを用いてロボット移動台車のモータおよびワーク支持装置の第1モータおよび第2モータの動作を制御する。
シミュレーション上のロボットのモデル100、ロボット移動台車のモデル110、ワークのモデル200、ワーク支持装置のモデル210の位置は、実際の設置位置に対応している。
【0026】
制御部20は、作成プログラム22aに基づき作動し、動作プログラム22bの作成又は更新を行う。この時、制御部20は、例えば記憶部22に格納されているパスデータ201a,202a,203a,204aを用いて、動作プログラム22aの作成又は更新を行う。
【0027】
パスデータ201a,202a,203a,204aはワーク200の溶接辺(作業対象)201,202,203,204にそれぞれ対応しており、パスデータ201a,202a,203a,204aはワーク200に対する作業のためにロボット100のツールTの所定位置が通過すべき経路を示すデータである。各パスデータ201a,202a,203a,204aにおいて、ツールTの所定位置が通過する経路が点群として示されていてもよい。パスデータ201a,202a,203a,204aは、ワーク200のCADデータおよびツールTの種類に基づき自動的に計算されるものであってもよい。
【0028】
動作プログラム22bの作成又は更新の際に、オペレータは、入力部30を用いてロボット移動台車110のX軸方向の位置を設定する。これにより、ロボット100に対するワーク支持装置210の位置がシミュレーション上で設定される。また、オペレータは、入力部30を用いてワーク支持装置210の第1ベッド211および第2ベッド212の傾きを設定する。その際、オペレータは、第1モータ211aおよび第2モータ212aの作動位置を入力してもよい。これにより、ロボット100に対するワーク200の位置および姿勢がシミュレーション上で設定される。
【0029】
続いて、オペレータは、入力部30を用いてパスデータ201a,202a,203a,204aのうち例えばパスデータ201aを選択し、プログラム作成開始のための所定の開始入力を入力部30を用いて行う。当該開始入力は、タッチスクリーンとして機能する表示装置10を用いて行われてもよい。前記開始入力に基づき、制御部20は、溶接辺201に対する作業のための動作プログラム22bの作成又は更新を行う。当該動作プログラム22bに、動作プログラム22bの設定時のモータ115、第1モータ211a、および第2モータ212aの作動位置の情報が含まれていてもよい。
【0030】
上記のロボット100に対するワーク200の位置および姿勢の設定は、経験等に基づきオペレータが決定するものである。また、ロボット100の作業効率、周辺設備の配置、周辺設備の稼働状態、上流側工程および下流側工程との関係等が、ロボット100に対するワーク200の位置および姿勢の設定の際に考慮される。例えば、ロボット100がワーク支持装置210とは異なる他の装置に対しても作業を行う場合は、オペレータはロボット移動台車110によってロボット100を他の装置の前に移動する。当該他の装置に対しても同様に動作プログラム22bの作成又は更新が行われ、当該作成および更新がワーク200に対する動作プログラム22bを全て作成する前に行われる場合もある。
【0031】
つまり、溶接辺201に対する作業のための動作プログラム22bの作成の後に、入力部30にロボット移動台車110の位置を入力することによってロボット100をシミュレーション上で他の装置の前に移動し、その後に溶接辺202〜204のための動作プログラム22bの作成を行う場合もあり得る。
溶接辺202〜204のための動作プログラム22bを作成する時に、オペレータは、入力部30にロボット移動台車110の位置を入力することによって、ロボット100をワーク支持装置210の前に移動する。
【0032】
この時のロボット移動台車110の位置は、溶接辺201のための動作プログラム22bを作成した位置であることが一般的に好ましい。このために、オペレータは、溶接辺201の動作プログラム22bを作成した際のロボット移動台車110の位置を入力部30に入力する。
【0033】
しかし、オペレータは、上記の様々な作業の間に、シミュレーション上において、作成した動作プログラムによるロボット100の動作の確認、ロボット移動台車110の位置の微調整、ワーク200の位置の微調整、ワーク200の姿勢の変更等を行う。これら様々な作業をオペレータが実行すること等によって、オペレータは、入力部30に、溶接辺201のための動作プログラム22bを作成した時のロボット移動台車110の位置とは異なる位置を入力する場合がある。
【0034】
溶接辺202〜204のための動作プログラム22bの作成を行うための前記開始入力が入力部30にされた時に、制御部20は、相対位置判断プログラム22cに基づき、判断を行う。当該判断は、溶接辺201のための動作プログラム22bを作成した時のロボット100とワーク200との相対位置(参照相対位置)と、溶接辺202〜204のために前記開始入力があった時の相対位置とが、同一であるか否かの判断である。
【0035】
そして、制御部20は、相対位置判断プログラム22cに基づき、現在の相対位置と参照相対位置とが異なる場合に、所定の報知を行う。所定の報知は、前記2つの相対位置が異なることを表示装置10に表示させること、溶接辺201のための動作プログラム22bを作成した時の相対位置にロボット移動台車110によってロボット100を移動することの必要性を問うために表示装置10に所定の表示を行うこと、所定の音、声等をスピーカ24に出力させること等である。
【0036】
前記所定の表示は、溶接辺201のための動作プログラム22bを作成した時の相対位置に戻すための操作部(ボタン等)であって、オペレータがタッチパネル式の表示装置10上で操作できる操作部であってもよい。当該操作部が操作されると、溶接辺201のための動作プログラム22bを作成した時の相対位置に戻すために、制御部20がシミュレーション上でロボット100又はワーク200を移動させる。当該移動はロボット移動台車110又はワーク支持装置210によって行われる。前記操作部は入力部30に設けられていてもよい。
【0037】
オペレータが現在の相対位置を参照相対位置と意図的に異ならせる場合もある。このため、溶接辺201のための動作プログラム22bを作成した時の相対位置に戻すか否かを選択できる上記各構成は有用である。
【0038】
一方、現在の相対位置と参照相対位置とが異なる場合に、制御部20が、ロボット100に対してワーク200を参照相対位置に配置するために、又は、ワーク200に対してロボット100を参照相対位置に配置するために、ワーク200又はロボット100を自動的に移動させてもよい。この場合、オペレータは各溶接辺201〜204の動作プログラム22bの作成又は更新をスムーズに短時間で行うことができるようになる。
【0039】
なお、上記説明では、主にロボット移動台車110によってロボット100を移動することを説明している。一方、溶接辺202〜204のための動作プログラム22bを作成する時に、オペレータが、入力部30を用いて、溶接辺201のための動作プログラム22bを作成した時と異なる誤った角度位置に第1ベッド211および/又は第2ベッド212を設定する時がある。
【0040】
この場合も、溶接辺201のための動作プログラム22bを作成した時のロボット100とワーク200との相対位置(参照相対位置)に対して、溶接辺202〜204の動作プログラム22bの作成のために前記開始入力があった時の当該相対位置が変化する。具体的には、ワーク200の姿勢に応じて、ワーク200における各溶接辺201〜204とロボット100との相対位置が変化する。
【0041】
この時も、制御部20は、相対位置判断プログラム22cに基づき、現在の相対位置と参照相対位置とが異なる場合に、所定の報知を行う。
上記のように作成又は更新された一連の動作プログラム22bを用いてロボット制御装置が実際のロボットを制御し、ワークに対するロボットの作業が実行される。
【0042】
本実施形態では、オペレータは、前記所定の報知に基づき、入力部30から前記開始要求を受付けた時のロボット100とワーク200との相対位置が、ワーク200のための動作プログラム22bを以前に作成した時の相対位置と異なることを知ることができる。このため、例えば、作成した動作プログラム22bによるシミュレーション上におけるロボット100の動作の確認、ロボット100とワーク200との相対位置の変更等を繰返し行いながら、オペレータが数時間又はそれ以上の時間をかけて様々な作業の動作プログラム22bの作成および確認を行う場合でも、ロボット100とワーク200とが意図しない相対位置に配置された状態で動作プログラム22bが作成される可能性を低減又は無くすことができる。
【0043】
また、本実施形態では、制御部20は、ワーク200のための動作プログラム22bを以前に作成した時の相対位置にロボット100又はワーク200を移動することの必要性を問う所定の表示を表示装置10を用いて行う。このため、例えばオペレータが以前の動作プログラム22bの作成時の相対位置を用いたい場合は、そのような操作を容易且つ確実に行うことが可能となる。
【0044】
また、本実施形態では、制御部20は、ワーク200のための動作プログラム22bを以前に作成した時の相対位置へのロボット100又はワーク200の移動の要求を入力部30を介して受付ける。このため、オペレータは、入力部30を用いて、以前の動作プログラム22bの作成時の相対位置へのロボット100又はワーク200の移動を容易且つ確実に行うことができる。
【0045】
なお、上記実施形態では、溶接辺202〜204のための動作プログラム22bを作成する時に、オペレータが、溶接辺201のための動作プログラム22bを作成した時の相対位置と異なる誤った相対位置にロボット100又はワーク200を配置する場合が説明されている。
これに対し、溶接辺201のための動作プログラム22bを再度作成する時に、以前の相対位置と異なる誤った相対位置にロボット100又はワーク200を配置する場合もある。この場合でも、前述の所定の報知又は前述のワーク200又はロボット100の自動的な移動は有用である。
【0046】
また、制御部20が前記所定の報知を行う時に、制御部20が、ワーク200について以前に行った動作プログラム22bの作成又は更新時のロボット100の位置を示すデータ、ワーク200の位置を示すデータ、およびロボット100とワーク200との相対位置を示すデータの1つ又は複数を表示装置10に表示させてもよい。ワーク200について以前に動作プログラム22bが複数回作成又は更新されている場合に、当該複数回の作成又は更新に関する前記データが表示されてもよい。各データに対応する作業対象、各データに対応する動作プログラム22bの作成又は更新の日時等が表示されてもよい。この場合、オペレータは、表示されるデータからロボット100の位置、ワーク200の位置、又はロボット100とワーク200との相対位置を選択することができる。
【0047】
なお、動作プログラム作成装置がロボット制御装置に内蔵されていてもよく、他の装置に内蔵されていてもよい。
また、ワーク支持装置210の代わりに、他のロボットによってワーク200を支持してもよく、コンベヤ等の搬送装置によってワーク200を支持してもよく、その他のワーク200を支持できる装置、器具等によってワーク200を支持してもよい。また、ロボット移動台車110が設けられない場合も、ワーク支持装置210によってワーク200とロボット100との相対位置が変化するので、前記構成により同様の効果が得られる。