説明

プログラム生成装置及びその方法

【課題】プログラミング生成装置におけるロボット自動生成処理において、編集作業が容易となるようジョイント(Joint)動作を直線に分割する。
【解決手段】ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成装置1である。そして、前記軌跡情報は複数の動作点を有し、前記複数の動作点の中から適数の動作点を選択する選択手段と、前記選択された動作点を直線でつなげて直線動作に係る変更後の軌跡情報を生成する軌跡情報変更手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラム生成装置及びその方法に関し、特にロボット自動生成処理において、編集作業が容易となるようジョイント動作をリニア(直線:Linear)動作に分割するプログラム生成装置及びその方法に関するものである。
【背景技術】
【0002】
図7に示すように、従来のロボットの動作プログラム生成システムにおいては、例えば溶接ロボットRのジョイント(joint)動作編集においては、実機におけるハンドボックスPCにより溶接ロボットPを操作しワークWAに対して溶接箇所をティーチングして動作軌跡の生成を行い動作プログラムを作成し、この動作プログラムをNC装置Zに入力し溶接ロボットRを制御している。
【0003】
特許文献1を参照。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−25341号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ロボットを熟知した作業者でないと困難な作業となり、また、干渉やOT(オーバートラベル:動作が出来ない領域へロボットが移動することにより発生する障害等をいう)の発生を確認しながらのトライアンドエラーによりティーチングを行うことで非常に工数が掛かるという問題があった。
【0006】
例えば、図8に示すように、溶接ロボットRが動作点PA、PB、PC、PD、PE、PF、PGおよびPHを通る軌跡でワークW1、ワークW2に対し溶接を行う場合に、溶接ロボットRが動作点POの位置でOT(オーバートラベル)を起こす場合や、障害物Sに接触する場合等をオペレータは予め考慮し動作プログラムを作成する必要があり工数が掛かるという問題がある。
【課題を解決するための手段】
【0007】
本発明は上述の問題を解決するためのものであり、請求項1に係る発明は、ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成装置において、
前記軌跡情報は複数の動作点を有し、前記複数の動作点の中から適数の動作点を選択する選択手段と、前記選択された各動作点を直線でつなげて軌跡情報を変更する軌跡情報変更手段とを備えたプログラム生成装置である。
【0008】
請求項2に係る発明は、ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成装置において、
前記軌跡情報を生成するロボット動作生成手段と、前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックするチェック手段と、前記軌跡情報を編集するロボット動作編集手段とを備え、
前記ロボット動作生成手段で前記軌跡情報を生成する際に、予め前記チェック手段によるチェックの結果に応じて前記軌跡情報を編集することにより前記ロボット動作編集手段での編集処理を少なくするプログラム生成装置である。
【0009】
請求項3に係る発明は、前記ロボット動作編集手段は、編集画面を備え、この編集画面は前記動作点を、移動、追加および削除する機能を有する請求項2に記載のプログラム生成装置である。
【0010】
請求項4に係る発明は、ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成方法において、
前記軌跡情報は複数の動作点を有し、選択手段が前記複数の動作点の中から適数の動作点を選択する工程と、軌跡情報変更手段が前記選択された各動作点を直線でつなげて軌跡情報を変更する工程とを含むプログラム生成方法である。
【0011】
請求項5に係る発明は、ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成方法において、
ロボット動作生成手段が前記軌跡情報を生成する工程と、チェック手段が前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックする工程と、ロボット動作編集手段が前記軌跡情報を編集する工程とを含み、
前記ロボット動作生成手段で前記軌跡情報を生成する際に、予め前記チェック手段によるチェックの結果に応じて前記軌跡情報を編集することにより前記ロボット動作編集手段での編集処理を少なくするプログラム生成方法である。
【発明の効果】
【0012】
本発明によれば、ロボットを熟知した作業者でなくても直感的にロボットの動作プログラムが作成可能である。また、ティーチングによるトライ&エラーが無くなることによるロボットの動作プログラムの生成の工数削減ができるという効果を奏する。さらに、最小限のポイントでOT(オーバートラベル)や干渉を防ぐロボットの動作プログラムを生成することが可能である。
【図面の簡単な説明】
【0013】
【図1】ロボット制御システムの概略を示す概略図である。
【図2】ロボットの概略を説明する説明図である。
【図3】プログラム生成装置の動作を示すフローチャートである。
【図4】プログラム生成装置の動作を説明する説明図である。
【図5】軌跡情報の編集を説明する説明図である。
【図6】軌跡情報の編集を説明する説明図である。
【図7】従来の技術を説明する従来図である。
【図8】従来の技術を説明する従来図である。
【発明を実施するための形態】
【0014】
図1にロボット制御システム1の一例を示す。ロボット制御システム1は、プログラム生成装置2と、このプログラム生成装置2の制御部3と、NC装置4と、ロボット5とを備える。
【0015】
プログラム生成装置2は、コンピュータにより構成されるものであり、本体2A(CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含む)、入出力部(表示部2B、キーボード2Cを含む)等を備えコンピュータプログラムにより動作するものである。
【0016】
本実施の形態では、産業用ロボットの制御を例に説明するが、特に産業用ロボットに限定されるものではない。産業用ロボットは、例えば、ワークに対し溶接、塗装、搬送等を実行する。
【0017】
前記プログラム生成装置2は、例えば、溶接線、溶接角度、溶接速度等(入力情報I1)を指定後、ロボット動作自動生成を実行すると、ロボット動作生成エンジン部3Bがホーム位置から各溶接線の始点、終点を通過し、干渉やOT(オーバートラベル:動作が出来ない領域へロボットが移動することにより発生する障害等をいう)の発生しないロボット動作軌跡(軌跡情報)、エラー情報(動作軌跡生成不可情報)O1を自動生成する。また、手動ティーチング部3Aによりロボット5の動作の軌跡を表示部2Bの画面G1に表示しながら定義することもできる。
【0018】
ロボット編集画面G2は、プログラム生成装置2の表示部2Bに表示されるもので、ロボット動作(軌跡情報)を自動で生成後、ワークW、ロボット5、環境を表示したシミュレーション画面である。自動生成されたロボット動作の内、ジョイント(joint)動作をリニア(直線:Linear)に分割しリニア(直線:Linear)の動作に変換する。作業者はロボットのOT(オーバートラベル)や干渉を確認しながら直線を結ぶ交点を移動、削除、追加しながらロボット動作編集を行う。編集後の軌跡情報から動作プログラムPを生成しNC装置4に転送する。
【0019】
NC装置4は、プログラム生成装置2で生成したロボットの動作プログラムPに従いロボット5をコントロールする。ロボット5は前記NC装置4の操作信号に基づき動作する。
【0020】
図2を参照する。ロボット5の腕構造は、例えば6軸のものがある。体を回転させる旋回軸5A(S軸)、体を前後に動かす下腕軸5B(L軸)、腕を上下に動かす上腕軸5C(U軸)、腕を回転させる手首旋回軸5D(R軸)、手首を上下に振る手首曲げ軸5E(B軸)、および手首を回転させる手首回転軸5F(T軸)により構成される。
【0021】
上記ロボット5において、リニア(直線:Linear)動作とは、ロボット5の先端Yが直線上を動く動作(例えば、直線の溶接部に沿って動く場合等)であり、ジョイント(joint)動作とは、前記リニア(直線:Linear)動作以外の動作であり、一般的にロボット5の先端Yの始点から終点までにおけるパスを制御する必要がない動作である。
【0022】
図3を参照する。プログラム生成装置2の動作を示す。本動作のフローチャートでは、自動で動作軌跡を生成する場合と、ティーチング処理により動作を生成する場合を統一的に示している。
【0023】
なお、制御部3(手動ティーチング部3A、ロボット動作生成エンジン部3B等を有する)は、複数の動作点の中から適数の動作点を選択する選択手段と、選択された各動作点を直線でつなげて軌跡情報を変更する軌跡情報変更手段として機能する。また、軌跡情報を生成するロボット動作生成手段と、軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックするチェック手段と、軌跡情報を編集するロボット動作編集手段として機能する。さらに、CAM機能も有する。
【0024】
初めに、ステップS01では、プログラム生成装置2の制御部3のCAM機能にてロボット動作リスト(始点、終点、姿勢)を指定後、動作の軌跡情報の生成を開始する。
【0025】
ステップS02では、制御部3は、自動で動作の軌跡情報を作成か否かを判断する。自動で動作の軌跡情報を作成すると判断した場合に処理はステップS03に進む。動作の軌跡情報を作成しないと判断した場合に処理はステップS05に進む。
【0026】
ステップS03では、制御部3による制御により自動の動作のための軌跡情報の生成を開始する。
【0027】
ステップS04では、制御部3はロボット動作のリスト(始点、終点)に対して順次(ステップS08〜ステップS21までの処理)のロボット動作生成処理を実行する。このステップS04の処理後は、ステップS08に移行する。
【0028】
一方、ステップS05では、制御部3は手動ティーチング動作軌跡生成処理を開始する。
【0029】
ステップS06では、ジョイント(joint)動作の始点、終点、姿勢を指定する。
【0030】
ステップS07では、制御部3が、動作軌跡のチェックを行う。このステップS07の処理後はステップS08に進む。
【0031】
ステップS08〜ステップS21までのリニア(直線:Linear)分割処理を説明する。
【0032】
ステップS08では、制御部3は動作の生成処理を開始する。
【0033】
ステップS09では、制御部3が終点に対するIK(Inverse Kinematics:逆運動学)を計算する。
【0034】
ステップS10では、制御部3が終点IK(Inverse Kinematics:逆運動学)が可能か否かを判定する。終点IK(Inverse Kinematics:逆運動学)が可能の場合に処理はステップS11に進む。終点IK(Inverse Kinematics:逆運動学)が可能でない場合に処理はステップS20に進む。
【0035】
ステップS11では、制御部3が溶接パスか否かを判定する。溶接パスの場合に処理はステップS16に進む。溶接パスでない場合は処理がステップS12に進む。
【0036】
ステップS12では、制御部3が軌跡情報の自動生成か否かを判定する。自動生成の場合に処理はステップS13に進む。自動生成でない場合(例えばティーチング処理による生成の場合)は処理がステップS15に進む。
【0037】
ステップS13では、制御部3が与えられた始点、終点に対するロボットの動作に軌跡情報を生成する。
【0038】
図4(a)を参照する。制御部3により始点SPと、終点EPに対し、動作点P1〜動作点P21までの複数の動作点が自動で生成される。なお、実際にはロボットはこの動作点を結ぶライン上を移動する。
【0039】
ステップS14では、制御部3が軌跡情報の生成が可能か否かを判定する。生成が可能の場合に処理はステップS15に進む。生成が可能でない場合は処理がステップS20に進む。
【0040】
ステップS15では、制御部3によりパスの分割処理が行われる。
【0041】
図4(b)を参照する。パスの分割処理(初回の処理の場合)では、軌跡情報は複数の動作点(始点SP、動作点1〜21、終点EP)を有し、複数の動作点の中から適数の動作点を選択し、選択された動作点から直線の動作に係る軌跡情報を生成することにより分割処理を行う。例えば、始点SP、動作点P6、動作点P12、動作点P19、終点EPが選択される。そして、始点SPと、動作点P6を結んだリニア(直線:Linear)L1が生成される。動作点P6と、動作点P12を結んだリニア(直線:Linear)L2が生成される。動作点P12と、動作点P19を結んだリニア(直線:Linear)L3が生成される。動作点P19と、終点EPを結んだリニア(直線:Linear)L4が生成される。
【0042】
一方、制御部3はステップS17で干渉があると判断されている場合(2回目以降の処理の場合)は、以下の処理を行う。
【0043】
図4(c)を参照する。制御部3は製品Sと干渉するリニア(直線:Linear)L3と、このリニア(直線:Linear)L3に係る元の動作点P12〜P19を選択する。
【0044】
図4(d)を参照する。続いて、制御部3はリニア(直線:Linear)L3を分割するため、この直線L3に係る動作点P12〜P19の中から適数の分割点を選択する。
【0045】
本例では、分割点P12、P14、P17およびP19を選択する。そして、動作点P12と、動作点P14を結んだリニア(直線:Linear)L3Aが生成される。動作点P14と、動作点P17を結んだリニア(直線:Linear)L3Bが生成される。動作点P17と、動作点P19を結んだリニア(直線:Linear)L3Cが生成される。本例では、これにより製品Sへの干渉が回避される。なお、干渉する場合は、ステップS15〜ステップS17までの処理が干渉が無くなるまで繰り返し行われる。これにより、軌跡情報が変更される(本例では、始点SP、動作点P6、動作点P12、動作点P14、動作点P17、動作点P19、終点EP、及びリニアL1、リニアL2、リニアL3A、リニアL3B、リニアL3C、リニアL4が選択される)。
【0046】
ステップS16では、制御部3が分割パスでの動作テストを行う。または、パスのテストを行う(ティーチング動作が作成された場合のパスのテスト)。
【0047】
図4(b)を参照する。分割パスでの動作テストの場合を示す。すなわち、直線(リニア動作)L1〜L4のそれぞれについて、製品Sに干渉するか否かを判断する。この結果、直線(リニア動作)L3が製品Sに干渉すると認識される。なお、ティーチング動作で作成された場合のパスのテストの同様な方法で行われる。
【0048】
ステップS17では、制御部3が干渉、OT(オーバートラベル)等が有るか否かを判定する。干渉、OT(オーバートラベル)等が有ると判断した場合に処理はステップS15に戻る。干渉、OT(オーバートラベル)等が無いと判断した場合は処理がステップS18に進む。
【0049】
ステップS18では、制御部3がパスの生成が成功か否かを判定する。パスの生成が成功と判断した場合に処理はステップS19に進む。パスの生成が成功でない場合は処理がステップS20に進む。
【0050】
ステップS19では、制御部3がパスデータ(変更後の軌跡情報)をメモリに保存する。ステップS20では、制御部3がエラーとステータスをメモリに保存する。
【0051】
ステップS21では、制御部3による動作生成処理(変更後の軌跡情報の生成)が終了する。
【0052】
ステップS22では、制御部3が生成されたロボットの動作に係る軌跡情報をメモリに保存する。
【0053】
ステップS23では、制御部3による自動動作軌跡生成処理が終了する。一方、ステップS24では、制御部3の手動ティーチング動作軌跡生成が終了する。
【0054】
ステップS25では、制御部3の軌跡情報を編集するロボット動作編集手段によりシミュレーション描画動作軌跡の編集を行う(必要時に行う)。すなわち、動作点の移動、動作点の追加、動作点の削除等を行う。
【0055】
なお、本例では始点SP、動作点P6、動作点P12、動作点P14、動作点P17、動作点P19、終点EP、及びリニアL1、リニアL2、リニアL3A、リニアL3B、リニアL3C、リニアL4が選択されるため、動作点、リニア(直線)が少なく編集が容易である。
【0056】
編集方法についての一例を図5を参照し説明する。ロボット編集画面G2に表示されたワークWを編集した結果を示す。すなわち、ロボット5は始点SEPSから動作点PS1〜PS22までを通る軌跡T1〜T23上を移動するように編集される。具体的に編集された部分は動作点PS8をワークWから離れた位置に移動させたものである(ロボット5とワークWとの干渉を防ぐため)。また、当初の溶接箇所は、直線T7と直線T13のみであったが、直線T17に係る箇所の溶接も追加したものである。そして、これに伴う軌跡を変更したものである。
【0057】
ステップS26では、制御部3が工程を選択し、位置と姿勢(ヨー、ピッチ、ロー)を変更する。図6に変更するための画面を示す。それぞれの欄に数値を入力することにより変更する。
【0058】
ステップS27では、制御部3が軌跡情報から動作プログラム(例えばNCデータ)を作成しNC装置4送信する。
【0059】
ステップS28では、動作プログラム(例えばNCデータ)をNC装置4が受信する。ステップS29では、NC装置4により制御されロボット5が駆動する。
【0060】
上記のように、ロボット5の軌跡情報において、ジョイント(joint)の動作は、いくつかのリニア(直線:Linear)動作に分割したロボット動作の軌跡情報として生成される。上記分割後のリニア(直線:Linear)動作の軌跡情報において干渉チェックを行い、干渉がある場合は、このリニア(直線:Linear)動作の始点と終点の区間のジョイント(joint)の動作をさらに細かいリニア(直線:Linear)動作に分割する処理を繰り返すことで、干渉のないリニア(直線:Linear)動作が生成される。
【0061】
上記で生成されたロボット動作の軌跡情報をロボット編集画面G2においてシミュレーション表示確認後、必要があればロボット動作を編集する。この編集作業においてはシミュレーション表示内で動作点をピック移動することで編集が容易になる。
【0062】
また、予めロボットの軌跡をティーチングまたは自動等により生成することにより、指定されるロボット経路で干渉やOT(オーバートラベル)が発生するかをチェックし、生成されたロボット動作の内、ジョイント(Joint)動作をいくつかの直線に分割し、分割した各直線を時間経過ピッチのロボット軸値を取得し、各ポイントで干渉やOT(オーバートラベル)が発生するかをチェックし、分割した直線においても干渉やOT(オーバートラベル)が発生する場合、その分割直線の始点と終点の区間の軌跡に対してさらなる分割処理を実行する。
【0063】
そして、分割処理は分割した直線で干渉やOT(オーバートラベル)が発生しなくなるまで繰り返し行う一方、分割した直線長さが最小値(となり合うピッチ間の距離)以下となる場合は、分割処理を終了するので、ロボット編集画面G2のシミュレーションにてロボット動作が編集しやすい直線動作を描画できる。また、プログラム生成装置2の編集画面にて、上記生成された直線動作の交点をピックし、移動、追加、削除を行いながらロボット動作を生成して、この時シミュレーションしながら干渉やOT(オーバートラベル)が発生しないかを編集画面上で確認が可能である。
【0064】
この発明は前述の発明の実施の形態に限定されることなく、適宜な変更を行うことにより、その他の態様で実施し得るものである。
【符号の説明】
【0065】
1 ロボット制御システム
2 プログラム生成装置
2A 本体
2B 表示部
2C 入力装置
3 制御部
3A 手動ティーチング部
3B ロボット動作エンジン部
4 NC装置
5 ロボット
W ワーク

【特許請求の範囲】
【請求項1】
ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成装置において、
前記軌跡情報は複数の動作点を有し、前記複数の動作点の中から適数の動作点を選択する選択手段と、前記選択された各動作点を直線でつなげて軌跡情報を変更する軌跡情報変更手段とを備えたことを特徴とするプログラム生成装置。
【請求項2】
ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成装置において、
前記軌跡情報を生成するロボット動作生成手段と、前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックするチェック手段と、前記軌跡情報を編集するロボット動作編集手段とを備え、
前記ロボット動作生成手段で前記軌跡情報を生成する際に、予め前記チェック手段によるチェックの結果に応じて前記軌跡情報を編集することにより前記ロボット動作編集手段での編集処理を少なくすることを特徴とするプログラム生成装置。
【請求項3】
前記ロボット動作編集手段は、編集画面を備え、この編集画面は前記動作点を、移動、追加および削除する機能を有することを特徴とする請求項2に記載のプログラム生成装置。
【請求項4】
ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成方法において、
前記軌跡情報は複数の動作点を有し、選択手段が前記複数の動作点の中から適数の動作点を選択する工程と、軌跡情報変更手段が前記選択された各動作点を直線でつなげて軌跡情報を変更する工程とを含むことを特徴とするプログラム生成方法。
【請求項5】
ロボットの動作を制御するための動作プログラムを軌跡情報に基づき生成するプログラム生成方法において、
ロボット動作生成手段が前記軌跡情報を生成する工程と、チェック手段が前記軌跡情報において干渉またはオーバートラベルを含む障害が発生するか否かをチェックする工程と、ロボット動作編集手段が前記軌跡情報を編集する工程とを含み、
前記ロボット動作生成手段で前記軌跡情報を生成する際に、予め前記チェック手段によるチェックの結果に応じて前記軌跡情報を編集することにより前記ロボット動作編集手段での編集処理を少なくすることを特徴とするプログラム生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2013−46938(P2013−46938A)
【公開日】平成25年3月7日(2013.3.7)
【国際特許分類】
【出願番号】特願2011−185693(P2011−185693)
【出願日】平成23年8月29日(2011.8.29)
【出願人】(390014672)株式会社アマダ (548)
【Fターム(参考)】