JP4053550B2 - 教示点を修正するための装置、プログラム、記録媒体及び方法 - Google Patents

教示点を修正するための装置、プログラム、記録媒体及び方法 Download PDF

Info

Publication number
JP4053550B2
JP4053550B2 JP2005155680A JP2005155680A JP4053550B2 JP 4053550 B2 JP4053550 B2 JP 4053550B2 JP 2005155680 A JP2005155680 A JP 2005155680A JP 2005155680 A JP2005155680 A JP 2005155680A JP 4053550 B2 JP4053550 B2 JP 4053550B2
Authority
JP
Japan
Prior art keywords
teaching
teaching point
correction
position data
points
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
Application number
JP2005155680A
Other languages
English (en)
Other versions
JP2006331188A (ja
Inventor
亮 二瓶
哲朗 加藤
浩次 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2005155680A priority Critical patent/JP4053550B2/ja
Priority to EP06010775A priority patent/EP1727008B1/en
Priority to CN200610082783.8A priority patent/CN1868690B/zh
Priority to US11/441,020 priority patent/US7979161B2/en
Publication of JP2006331188A publication Critical patent/JP2006331188A/ja
Application granted granted Critical
Publication of JP4053550B2 publication Critical patent/JP4053550B2/ja
Priority to US12/984,796 priority patent/US8600555B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36404Adapt teached position as function of deviation 3-D, 2-D position workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40385Compare offline teached point with online teached point, modify rest as function of error
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot

Description

本発明は、ロボットの作業プログラムにおける教示点を修正するための教示点修正装置に関する。本発明はまた、ロボットの作業プログラムにおける教示点を修正するためのプログラム及び記録媒体に関する。本発明はさらに、ロボットの作業プログラムにおける教示点を修正するための教示点修正方法に関する。
産業用ロボット(以下、ロボットと略称する)は、特定の作業プログラム(すなわちタスクプログラム)に従って動作する。ロボットに装着したツール(すなわちエンドエフェクタ)の種類、作業対象のワークの種類、作業の内容等に対応して、複数の作業プログラムを作成してロボットに与えることにより、ロボットは多種多様な作業を実行することができる。例えばスポット溶接ロボットでは、溶接対象の車体が新規に追加されたときに、当該車体の溶接部位のデータを含む新たな溶接作業プログラムを作成する。このとき、ロボットに装着した既存の溶接ガンが、新規の車体の溶接作業中に周辺物(治具や車体等)に干渉する場合には、既存の溶接ガンを、そのような干渉を生じない形状の新たな溶接ガンに取り替えて、新たな溶接ガンに対応した溶接作業プログラムを作成する。
ロボットを動作させるための作業プログラムを作成する際には、一般に教示操作盤を使用して、オペレータが手動モードでロボットの各制御軸を低速運動させて、ワークに対し作業を実行する複数の作業部位にツールを順次位置決めし、それら作業部位を「教示点」としてロボットに記憶させる。ロボットは、個々の作業部位にツールを位置決めしたときの各制御軸の動作位置を、個々の教示点におけるロボット自身の位置及び姿勢の情報(本願で「教示点の位置データ」と称する)として記憶する。なお、このような教示プログラミングを、パーソナルコンピュータ等を用いたオフラインシミュレーションで行うことも知られている。
新規ワークの追加等に応じて新たな作業プログラムを作成する場合は、追加の教示点としてロボットに新たに記憶させる必要が有る作業部位以外は、予め記憶した複数の教示点のうち所要の教示点の位置データを修正することで対処できる。このような教示点の修正に際しては、従来、変更が必要な全ての作業部位に関して、1つずつ教示点の位置データを修正する手法が採られていた。例えば特許文献1は、ロボットの作業プログラムに含まれる複数の教示点の位置データを、1つずつ修正するための教示点修正装置を開示する。
特開2004−280529号公報
ロボットを用いて高度に自動化された生産システムにおいて、生産品種を追加する場合には、生産ラインの変更が要求される。このとき、治具、機械、搬送装置といった各種ハードウェアの再設計や、加工機械の加工プログラム、ロボットの作業プログラム、PC(プログラマブルコントローラ)や生産管理装置のシーケンスラダー及び生産管理プログラムといった各種ソフトウェアの準備に、多大な工数が必要となる。このような生産ラインの変更に伴うハードウェア/ソフトウェアの構築工数を有効に削減することが、自動化された生産システムのコスト関連の重要な課題となっており、故にロボットにおける作業プログラムの作成に要する工数の削減が望まれている。
また、生産システムの稼動開始後に、ロボットの作業プログラムに含まれる教示点を調整することが要求される場合がある。これは例えば、ナットランナーでボルトの締め付けを行う際のボルト位置を修正したり、ハンドでワークを把持する際の把持位置を微調整したりすることである。このような教示点の調整は、ワークが有する加工/寸法精度に依存するものであり、一般に生産システムを稼動した後でなければその必要性が判明しない。このとき、作業プログラムに含まれる複数の教示点の位置データが何らかの相互関連性を有していたり、複数の作業プログラムに同じ教示点が含まれていたりする場合があるが、その場合には、オペレータが、教示プログラミングに熟練していることは勿論、ロボットに与えられている全ての作業プログラムの内容を詳細かつ統合的に理解していることが、教示点を適切に調整するための要件となる。また、前述したように、変更が必要な全ての作業部位に関して、1つずつ教示点の位置データを修正する手法によると、オペレータの負担が著しく増大し、誤修正や望ましくない修正が行われることが懸念される。しかも、教示点のデータ修正を行うと通常は修正前の情報が失われるので、誤修正や望ましくない修正が行われても、教示点の位置データを修正前の状態に戻すことは困難である。
本発明の目的は、ロボットの作業プログラムにおける教示点を修正するための教示点修正装置において、オペレータの熟練や作業プログラムの高度な理解を要することなく、少ない工数で迅速かつ適正に教示点を修正することができる教示点修正装置を提供することにある。
本発明の他の目的は、ロボットの作業プログラムにおける教示点を修正するためのプログラム及び記録媒体であって、オペレータの熟練や作業プログラムの高度な理解を要することなく、少ない工数で迅速かつ適正に教示点を修正するように、コンピュータを機能させることができるプログラム、及び同プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
本発明のさらに他の目的は、ロボットの作業プログラムにおける教示点を修正するための教示点修正方法であって、コンピュータを用いて、オペレータの熟練や作業プログラムの高度な理解を要することなく、少ない工数で迅速かつ適正に教示点を修正することができる教示点修正方法を提供することにある。
上記目的を達成するために、請求項1に記載の発明は、ロボットの作業プログラムにおける教示点を修正するための教示点修正装置において、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部と、判断部が、複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と該特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、いずれか1つの教示点に対して相対位置関係を有するべく特定された相関教示点の位置データを、相対位置関係を満たすように修正するデータ修正部と、を具備することを特徴とする教示点修正装置を提供する。
請求項2に記載の発明は、請求項1に記載の教示点修正装置において、複数の異なる教示点が3個以上有り、データ修正部は、いずれか1つの教示点に対して直接的及び間接的に相対位置関係を有する全ての相関教示点の位置データを修正する教示点修正装置を提供する。
請求項3に記載の発明は、請求項1又は2に記載の教示点修正装置において、判断部は、複数の作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断し、データ修正部は、教示点ルールを記述する指令に従い、複数の作業プログラムにおける全ての相関教示点の前記位置データを修正する教示点修正装置を提供する。
請求項4に記載の発明は、請求項3に記載の教示点修正装置において、データ修正部は、複数の作業プログラムの各々の名称と、複数の異なる教示点の各々の名称と、複数の異なる教示点の各々の位置データとを、互いに関連付けて記述した教示点データベースを使用して、教示点データベースに記述される複数の作業プログラムのうち、相関教示点を含む作業プログラムを相関教示点の修正により更新する教示点修正装置を提供する。
請求項5に記載の発明は、請求項1〜4のいずれか1項に記載の教示点修正装置において、判断部が、いずれか1つの教示点の位置データが修正されたと判断したときに、教示点ルールを記述する指令に従い、いずれか1つの教示点の位置データの修正が妥当であるか否かを判断する第2判断部をさらに具備し、データ修正部は、第2判断部が、いずれか1つの教示点の位置データの修正が妥当であると判断したときに、相関教示点の位置データを修正する教示点修正装置を提供する。
請求項6に記載の発明は、請求項5に記載の教示点修正装置において、第2判断部が、いずれか1つの教示点の位置データの修正が妥当でないと判断したときに、いずれか1つの教示点の位置データの修正をキャンセルして修正前の位置データを復元するデータ復元部をさらに具備する教示点修正装置を提供する。
請求項7に記載の発明は、請求項6に記載の教示点修正装置において、第2判断部はさらに、データ修正部が修正した全ての相関教示点の位置データの修正が妥当であるか否かを判断し、データ復元部は、第2判断部が、いずれかの相関教示点の位置データの修正が妥当でないと判断したときに、判断された相関教示点の位置データの修正をキャンセルして修正前の位置データを復元する教示点修正装置を提供する。
請求項8に記載の発明は、請求項7に記載の教示点修正装置において、主判断部が、いずれか1つの教示点の位置データが修正されたと判断したときに、教示点ルールを記述する指令に従い、データ修正部が修正した全ての相関教示点の位置データの修正が妥当であるか否かを判断する第2判断部と、第2判断部が、いずれかの相関教示点の位置データの修正が妥当でないと判断したときに、判断された相関教示点の位置データの修正をキャンセルして修正前の位置データを復元するデータ復元部とをさらに具備する教示点修正装置を提供する。
請求項9に記載の発明は、請求項7又は8に記載の教示点修正装置において、データ復元部は、データ修正部が修正した全ての相関教示点の位置データの修正時期を表す履歴を参照して、履歴が表す修正時期の中でオペレータが指定した時期の、相関教示点の修正前の位置データを復元する教示点修正装置を提供する。
請求項10に記載の発明は、請求項5〜9のいずれか1項に記載の教示点修正装置において、指令には、複数の異なる教示点のうち任意の1つの教示点の位置データの数値範囲を、修正の妥当性判断基準としてロボット言語で規定する教示点ルールがさらに記述される教示点修正装置を提供する。
請求項11に記載の発明は、請求項5〜10のいずれか1項に記載の教示点修正装置において、指令には、複数の異なる教示点のうち任意の2つの教示点の間の距離の数値範囲を、修正の妥当性判断基準としてロボット言語で規定する教示点ルールがさらに記述される教示点修正装置を提供する。
請求項12に記載の発明は、請求項1〜11のいずれか1項に記載の教示点修正装置において、主判断部が、いずれか1つの教示点の位置データが修正されたと判断したときに、教示点ルールを記述する指令に従い、いずれか1つの教示点の位置データの修正と相関教示点の位置データの修正とのいずれが重要であるかを判断する第3判断部をさらに具備し、指令には、複数の異なる教示点のうち少なくとも2つの教示点の、それぞれの位置データの修正の相対重要度を、ロボット言語で規定する教示点ルールがさらに記述され、データ修正部は、第3判断部が、いずれか1つの教示点の位置データの修正が相関教示点の位置データの修正よりも重要であると判断したときに、相関教示点の位置データを修正する教示点修正装置を提供する。
請求項13に記載の発明は、請求項1〜12のいずれか1項に記載の教示点修正装置において、教示点ルールを格納する記憶部をさらに具備し、教示点ルールが、相対位置関係として、複数の異なる教示点のうちいずれか2つの教示点の間の距離を規定する教示点修正装置を提供する。
請求項14に記載の発明は、請求項に記載の教示点修正装置において、示点データベースを格納する記憶部をさらに具備する教示点修正装置を提供する。
請求項15に記載の発明は、請求項に記載の教示点修正装置において、履歴を含む教示点データベースを格納する記憶部をさらに具備する教示点修正装置を提供する。
請求項16に記載の発明は、ロボットの作業プログラムにおける教示点を修正するために、コンピュータを、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部、及び判断部が、複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、いずれか1つの教示点に対して相対位置関係を有するべく特定された相関教示点の位置データを、相対位置関係を満たすように修正するデータ修正部として機能させるための教示点修正プログラムを提供する。
請求項17に記載の発明は、ロボットの作業プログラムにおける教示点を修正するために、コンピュータを、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部、及び判断部が、複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、いずれか1つの教示点に対して相対位置関係を有するべく特定された相関教示点の位置データを、相対位置関係を満たすように修正するデータ修正部として機能させるための教示点修正プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
請求項18に記載の発明は、ロボットの作業プログラムにおける教示点を、コンピュータを用いて修正するための教示点修正方法において、コンピュータの判断部が、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断するステップと、判断部が、複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、コンピュータのデータ修正部が、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、いずれか1つの教示点に対して相対位置関係を有するべく特定された相関教示点の位置データを、相対位置関係を満たすように修正するステップとを具備することを特徴とする教示点修正方法を提供する。
請求項1に記載の発明によれば、作業プログラムに含まれるいずれか1つの教示点の位置データを修正するだけで、当該教示点に対して所定の相対位置関係を保持しなければならない相関教示点の位置データが、教示点ルールを記述する指令に従って自動的に修正される。したがって、教示プログラミングの効率が向上し、教示プログラミングに関わる工数を有効に削減することができる。その結果、ロボットを用いた生産システムの立ち上げコストが低減し、位置データの誤修正等によるトラブルが防止されて生産システムの稼動率が向上する。
請求項2又は3に記載の発明によれば、オペレータが、ロボットの全ての作業プログラムの内容を熟知していなかったり、熟練した教示技術を有していなかったりしたとしても、いずれか1つの教示点の修正に随伴して修正しなければならない全ての相関教示点の位置データを、過不足なく自動的に修正することができる。
請求項4に記載の発明によれば、データの管理が容易になり、教示点データベースの更新を記録するようにすれば、過去のデータの検索も可能になる。
請求項5に記載の発明によれば、いずれか1つの教示点の位置データの修正が妥当でなかったときに、オペレータが熟練した教示技術を有していなかったとしても、そのような教示点の不適当な修正に伴って相関教示点の位置データを修正してしまうことを、教示点ルールに従って自動的に、未然に防止することができる。
請求項6に記載の発明によれば、いずれか1つの教示点の位置データの修正が妥当でなかったときに、オペレータが熟練した教示技術を有していなかったとしても、その修正をキャンセルして当該いずれか1つの教示点の修正前の位置データを自動的に復元することができる。
請求項7又は8に記載の発明によれば、作業プログラムに従った作業の終了後にいずれかの相関教示点の修正後の位置が不適当であることが判明したときに、オペレータが熟練した教示技術を有していなかったとしても、そのような不適当な相関教示点の位置データを、修正前の位置データに自動的に戻すことができる。
請求項に記載の発明によれば、複数の不適当な相関教示点の位置データを、全て一括して、又は必要に応じて個別に、修正前の位置データに戻すことができる。
請求項12に記載の発明によれば、重要度の高い教示点の位置データ修正に随伴して重要度の低い教示点の位置データ修正が自動的に行われることを許容する一方で、重要度の低い教示点の位置データ修正に随伴して重要度の高い教示点の位置データ修正が自動的に行われることを、教示点ルールに従って自動的に阻止することができる。
請求項10、11、13〜15のいずれかに記載の発明によれば、簡単で有効な教示点ルールを作成できる。
請求項16〜18のいずれかに記載の発明によれば、請求項1に記載の発明と同等の作用効果が奏される。
以下、添付図面を参照して、本発明の実施の形態を詳細に説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
図面を参照すると、図1は、本発明に係る教示点修正装置10の基本構成を機能ブロック図で示す。教示点修正装置10は、ロボットの作業プログラムにおける教示点を修正するためのものであって、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部12と、判断部12が、複数の異なる教示点のうちいずれか1つの第1教示点の位置データが修正されたと判断したときに、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と当該特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、第1教示点に対して当該相対位置関係を有するべく特定された相関教示点の位置データを、当該相対位置関係を満たすように修正するデータ修正部14とを備えて構成される(図1(a))。この場合、教示点修正装置10は、教示点ルールを格納する記憶部16をさらに備えることができる(図1(b))。そして教示点ルールは、複数の異なる教示点のうちいずれか2つの教示点の間の距離を規定するルールを含むことができる。
上記基本構成を有する教示点修正装置10によれば、オペレータが、作業プログラムに含まれる1つの第1教示点の位置データを教示動作により修正するだけで、第1教示点に対して所定の相対位置関係を保持しなければならない相関教示点の位置データを、教示点ルールに従って自動的に修正することができる。したがって、教示プログラミングの効率が向上し、教示プログラミングに関わる工数を有効に削減することができる。その結果、ロボットを用いた生産システムの立ち上げコストが低減し、位置データの誤修正等によるトラブルが防止されて生産システムの稼動率が向上し、以って、コストや稼働率の観点で自動化が困難であった生産システムを、ロボットを用いて高度に自動化することが可能になる。
上記した作用効果は、作業プログラムに3個以上の異なる教示点が含まれていて、データ修正部14が、第1教示点に対して直接的及び間接的に相対位置関係を有する全ての相関教示点の位置データを修正するように構成したとき、及び、判断部12が、複数の作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断し、データ修正部14が、教示点ルールに従い、それら複数の作業プログラムにおける全ての相関教示点の位置データを修正するように構成したときに、一層格別のものとなる。このような構成において、オペレータが、ロボットの全ての作業プログラムの内容を熟知していなかったり、熟練した教示技術を有していなかったりしたとしても、第1教示点の修正に随伴して修正しなければならない全ての相関教示点の位置データを、過不足なく自動的に修正することができる。
図2は、図1の教示点修正装置10の第1の発展的構成を機能ブロック図で示す。図2の教示点修正装置10は、判断部12が、第1教示点の位置データが修正されたと判断したときに、教示点ルールに従い、第1教示点の位置データの修正が妥当であるか否かを判断する第2判断部18をさらに備えて構成される(図2(a))。この構成では、データ修正部14は、第2判断部18が、第1教示点の位置データの修正が妥当であると判断したときにのみ、相関教示点の位置データを修正する。この場合も、教示点修正装置10は、教示点ルールを格納する記憶部16をさらに備えることができる(図2(b))。そして教示点ルールは、複数の異なる教示点のうちいずれか1つの教示点の位置データの許容範囲を規定するルールと、複数の異なる教示点のうちいずれか2つの教示点の間の距離の許容範囲を規定するルールとの、少なくとも一方を含むことができる。
図2に示す教示点修正装置10によれば、第1教示点の位置データの修正が妥当でなかったとき、すなわち修正後の第1教示点の位置がロボットの作業領域において不適当な位置であったときに、オペレータが熟練した教示技術を有していなかったとしても、そのような第1教示点の不適当な修正に伴って相関教示点の位置データを修正してしまうことを、教示点ルールに従って自動的に、未然に防止することができる。その結果、相関教示点が不適当な位置に変更されて作業に支障を来たすことが確実に防止され、生産システムの安全性が向上する。
図3は、図1の教示点修正装置10の第2の発展的構成を機能ブロック図で示す。図3の教示点修正装置10は、第2判断部18が、第1教示点の位置データの修正が妥当でないと判断したときに、第1教示点の位置データの修正をキャンセルして修正前の位置データを復元するデータ復元部20をさらに備えて構成される(図3(a))。その代わりに、又はそれに加えて、第2判断部18を、データ修正部14が修正した全ての相関教示点の位置データの修正が妥当であるか否かを判断するように構成し、データ復元部20を、第2判断部18が、いずれかの相関教示点の位置データの修正が妥当でないと判断したときに、判断された相関教示点の位置データの修正をキャンセルして修正前の位置データを復元するように構成することもできる(図3(b))。図3(b)の構成では、データ復元部20は、データ修正部14が修正した全ての相関教示点の位置データの修正時期を表す履歴を参照して、履歴中の指定された時期の位置データを復元することができる。
図3に示す教示点修正装置10によれば、第1教示点の位置データの修正が妥当でなかったときに、その修正をキャンセルして第1教示点の修正前の位置データを自動的に復元することができる。また、全ての相関教示点の修正の妥当性を判断することで、作業プログラムに従った作業の終了後にいずれかの相関教示点の修正後の位置が不適当であることが判明したときに、そのような不適当な相関教示点の位置データを、修正前の位置データに自動的に戻すことができる。このとき、修正履歴を参照するように構成すれば、複数の不適当な相関教示点の位置データを、全て一括して、又は必要に応じて個別に、修正前の位置データに戻すことができる。
図4は、図1の教示点修正装置10の第3の発展的構成を機能ブロック図で示す。図4の教示点修正装置10は、判断部12が、第1教示点の位置データが修正されたと判断したときに、教示点ルールに従い、第1教示点の位置データの修正と相関教示点の位置データの修正とのいずれが重要であるかを判断する第3判断部22をさらに備えて構成される(図4(a))。この構成では、データ修正部14は、第3判断部22が、第1教示点の位置データの修正が相関教示点の位置データの修正よりも重要であると判断したときにのみ、相関教示点の位置データを修正する。この場合も、教示点修正装置10は、教示点ルールを格納する記憶部16をさらに備えることができる(図4(b))。そして教示点ルールは、複数の異なる教示点のうち少なくとも2つの教示点の相対重要度を規定するルールを含むことができる。
図4に示す教示点修正装置10によれば、重要度の高い教示点の位置データ修正に随伴して重要度の低い教示点の位置データ修正が自動的に行われることを許容する一方で、重要度の低い教示点の位置データ修正に随伴して重要度の高い教示点の位置データ修正が自動的に行われることを、教示点ルールに従って自動的に阻止することができる。例えば、ツールがワークに直接的に作用する把持位置や加工位置等の教示点は、作業品質に直接影響を与えるので、その修正の重要度が高いのに対し、非加工中のエアカット動作に関する教示点は、作業品質に直接影響を与えないので、その修正の重要度が低いと言える。そこで、上記構成によれば、エアカット動作の教示点を微調整したときに、把持や加工の教示点までが修正されてしまうことを、未然に防止することができる。
次に、図5〜図14を参照して、本発明の好適な実施形態による教示点修正装置の構成を、ロボットが実行する作業例に関連して説明する。
図5は、本発明の一実施形態による教示点修正装置(すなわち作業プログラム作成装置)30を組み込んだ、ロボットを用いた生産システムの全体概要図である。ロボット(すなわちロボット機構部)32の手首先端には、ツール(図示実施形態ではハンド)34が取り付けられる。パレットP1には、複数のワークW1が置かれ、パレットP2には、ワークW1とは種類の異なる複数のワークW2が置かれる。ロボット32は、走行軸36上に設置され、走行軸36に沿って移動して、パレットP1のワークW1又はパレットP2のワークW2をツール34に把持し、仮置台38又は仮置台40まで搬送してそこに一時的に載置する。仮置台38は加工機械42にワークを供給する際に使用され、仮置台40は加工機械44にワークを供給する際に使用される。
加工機械42が加工中でなければ、ロボット32は、仮置台38に置かれたワークW1又はW2をツール34に把持して加工機械42に供給する。加工機械42は、ロボット32からの加工開始命令により、ワークの加工を開始する。加工が完了すると、加工機械42はロボット32に、加工完了信号を送信する。加工完了信号を受け取ったロボット32は、加工済みのワークW1又はW2を加工機械42から取り出して、ワークW1はパレットP3に置き、ワークW2はパレットP4に置く。加工機械44にワークを供給する場合も、仮置台40が使用されること以外は、上記と同じ工程が実行される。
ロボット32及び走行軸36は、それぞれ通信ケーブル46及び48を介して制御装置50に接続され、ロボット32及び走行軸36の動作が制御装置50により制御される。制御装置50は、ネットワークケーブル52により、作業プログラム作成装置(教示点修正装置)30に接続される。ロボット32の手首先端には、ツール34に隣接してカメラ54が装着され、カメラ54はカメラケーブル56を介して画像処理装置58に接続される。画像処理装置58は、ネットワークケーブル60、62によって、制御装置50及び作業プログラム作成装置30にそれぞれ接続される。仮置台38、40にはそれぞれ、パレットP1から運んだワークW1用の位置決め治具38a、40aと、パレットP2から運んだワークW2用の位置決め治具38b、40bとが設置される。それら位置決め治具38a、38b、40a、40bは、ディジタル信号入出力ケーブル(図示せず)を介してそれぞれ制御装置50に接続される。
図6は、図5の生産システムにおける主として制御系の構成を示すブロック図である。制御装置50は、バス64で相互接続されたCPU66、メモリ68、ネットワークインタフェース70、ディジタル信号入出力回路72、操作盤インタフェース74及びサーボインタフェース76を備える。図7に示すように、メモリ68には、CPU66により実行され、制御装置50の全体を制御する制御プログラム78と、ロボット32を動作させる作業プログラム80及び82とが格納される。作業プログラム80(801〜807)は、ワークW1に関する作業をロボット32がツール34を用いて行うためのものであり、作業プログラム82は、ワークW2に関する作業をロボット32がツール34を用いて行うためのものである。作業プログラム80及び82は、いずれも制御プログラム78を用いて解釈され、ロボット32及びツール34の動作に変換される。これら作業プログラム80及び82は、作業プログラム作成装置30によって作成される。
ネットワークインタフェース70には、ネットワークケーブル52を介して作業プログラム作成装置30が接続されるとともに、ネットワークケーブル60を介して画像処理装置58が接続される。また、ディジタル信号入出力回路72には、ディジタル信号入出力ケーブル84を介して、仮置台38の治具38a、38b及び仮置台40の治具40a、40bが個々に接続され、ディジタル信号入出力ケーブル86を介して、加工機械42、44が個々に接続され、ディジタル信号入出力ケーブル88を介して、ロボット32に装着されたツール34が接続される。
操作盤インタフェース74には、操作盤ケーブル90を介して、教示操作盤92が接続される。教示操作盤92は、表示器92a及び入力ボタン92bを備え、教示操作盤92をオペレータが操作することにより、制御装置50を介してロボット32を手動モードで動作させることができる。また、サーボインタフェース76には、通信ケーブル46、48を介して、ロボット32の各制御軸及び走行軸36のサーボモータ等のサーボ機構が接続される。
作業プログラム作成装置30には、ハードディスク装置94が接続される。或いは作業プログラム作成装置30は、ハードディスク装置94を内蔵していても良い。図8に示すように、ハードディスク装置94には、ロボット32が動作する複数の作業経路R(図示実施形態では後述するRa、Rb、Rc、Rd)のそれぞれに関連する作業プログラム定義データ96(図示実施形態では96a、96b、96c、96d)と、加工対象の複数種類のワークW(図示実施形態ではW1、W2)のそれぞれに関連する作業部位定義データ98(図示実施形態では981、982)と、ワークW(W1、W2)の図面データ100(1001、1002)とが格納される。さらにハードディスク装置94には、後述するように、作業プログラム80、82に含まれる複数の異なる教示点の相対位置関係を予め規定した教示点ルール102と、各作業プログラム80、82と各教示点の位置データとを互いに関連付けて一覧記述した教示点データベース104と、教示点修正前の保存された教示点データベース106とが格納される。
図示実施形態におけるロボット32の作業経路Rは、(i)パレットP1からワークW1を取り出し、仮置台38に搬送して位置決め治具38aで位置決めし、加工機械42に供給し、加工機械42から加工済みのワークW1を取り出し、パレットP3に載置する第1の作業経路Raと、(ii)パレットP2からワークW2を取り出し、仮置台38に搬送して位置決め治具38bで位置決めし、加工機械42に供給し、加工機械42から加工済みのワークW2を取り出し、パレットP4に載置する第2の作業経路Rbと、(iii)パレットP1のワークW1を取り出し、仮置台40に搬送して位置決め治具40aで位置決めし、加工機械44に供給し、加工機械44から加工済みのワークW1を取り出し、パレットP3に載置する第3の作業経路Rcと、(iv)パレットP2のワークW2を取り出し、仮置台40に搬送して位置決め治具40bで位置決めし、加工機械44に供給し、加工機械44から加工済みのワークW2を取り出し、パレットP4に載置する第4の作業経路Rdとを有する。
作業経路Ra、Rb、Rc、Rdのそれぞれに関連する作業プログラム定義データ96a、96b、96c、96dは、ロボット32の作業対象であるワークW1、W2の種類に応じて動作が変わる第1データ部分と、ワークW1、W2の種類によらず動作が同一の第2データ部分とから構成される。ワーク依存の第1データ部分は、作業対象のワークW1、W2のそれぞれに関連する作業部位定義データ981、982に基づいて、ワーク毎に異なる内容に作成され、それにより、ワークW1、W2のそれぞれに対する作業プログラム80、82が完成する。
再び図6を参照すると、画像処理装置58には、ハードディスク装置108が接続される。或いは画像処理装置58は、ハードディスク装置108を内蔵していても良い。ハードディスク装置108には、作業対象のワークW(図示実施形態ではW1、W2)を検出するための基準となるワーク画像データ110(図示実施形態では1101、1102)が格納される。ワーク画像データ1101、1102は、ロボット32の手首先端に取り付けたカメラ54を用いてワークW1、W2を撮影することにより得られる。
図9〜図14は、上記した生産システムにおいて、制御装置50の制御下でロボット32が実行する作業(ハンドリング作業)の手順を示す。ここでは一例として、仮置台38及び加工機械42に関連する前述した第1の作業経路RaにおけるワークW1のハンドリング作業を説明するが、他の作業経路における作業も同様にして実行できる。
まず、走行軸36を起動して、パレットP1の正面(教示点)にロボット32を移動する(ステップS200)。次いで、ロボット32のアームを旋回し、ツール34をパレットP1の真上(教示点)に移動する(ステップS201)。そして、ディジタル信号入出力回路72を介して、ツール34に対し「ハンド開」のディジタル信号を出力し、ツール34を開く(ステップS202)。
次に、ツール34を、ワークW1を把持する把持位置(ワーク上の位置)に向けて移動する。このとき、ツール34を、把持位置(教示点)の真上の位置(教示点)に移動した後、その真下の把持位置に向けて低速で移動する(ステップS203)。この動作は、ワークの種類に応じて把持時のロボット32の姿勢が決まるものであるから、ワーク種類に依存する動作となる。
そして、ディジタル信号入出力回路72を介して、ツール34に対し「ハンド閉」のディジタル信号を出力し、ツール34を閉じてワークW1を把持する(ステップS204)。続いて、ツール34を上方へ移動してワークW1をパレットP1から取り出す。このとき、ツール34を、把持位置(教示点)の真上の位置(教示点)に低速で移動した後、速度を上げてさらに上方にワークW1を持ち上げる(ステップS205)。
次に、ロボット32のアームを右旋回するとともに走行軸36を動作させて、ロボット32を仮置台38の正面(教示点)に移動する(ステップS206)。次いで、ツール34を位置決め治具38aの上方(教示点)に移動する(ステップS207)。続いて、ツール34を、位置決め治具38aがワークW1をクランプする解放位置に向けて移動する。このとき、ツール34を、解放位置(教示点)の上方の位置(教示点)に移動した後、その下方の解放位置に向けて低速で移動し、位置決め治具38aにワークW1を取り付ける(ステップS208)。そして、ディジタル信号入出力回路72を介して、ツール34に対し「ハンド開」のディジタル信号を出力し、ツール34を開く。これにより、ツール34はワークW1を解放する(ステップS209)。
次に、ツール34を、解放位置(教示点)の上方の位置(教示点)に移動して、位置決め治具38aから離す(ステップS210)。そこで、ディジタル信号入出力回路72を介して、位置決め治具38aに対し「クランプ閉」のディジタル信号を出力し、位置決め治具38aを閉じる。それにより、位置決め治具38a上でワークW1を所定位置に正確に位置決めする(ステップS211)。
次に、ツール34を、位置決め治具38aにクランプされたワークW1の把持位置(教示点)に向けて移動する(ステップS212)。次いで、把持位置でツール34を閉じて、ワークW1を把持する(ステップS213)。そこで、位置決め治具38aに対し「クランプ開」のディジタル信号を出力し、位置決め治具38aを開く(ステップS214)。続いて、ツール34を上方へ移動して、ワークW1を位置決め治具38aから取り出す。このとき、位置決め治具38aに対してツール34を、低速で斜め上方(教示点)へ移動した後、速度を上げてさらに上方にワークW1を持ち上げる(ステップS215)。
次に、ロボット32のアームを旋回して、加工機械42の正面(教示点)にツール34を移動する(ステップS216)。次いで、加工機械42のドア開口部から、加工機械42の内部にツール34を挿入する。このとき、加工機械42にツール34及びワークW1が接触しないように、ロボット32のアームを真直ぐに伸ばして進入させる(ステップS217)。そして、加工機械42のチャック(図示せず)の手前(教示点)で一旦停止した後、低速でチャックにワークW1を装着する(教示点)。そこで、ディジタル信号入出力回路72を介して、加工機械42に対し「チャック閉」のディジタル信号を出力し、チャックを閉じる(ステップS218)。
次に、ツール34に対し「ハンド開」のディジタル信号を出力し、ツール34を開いてワークW1を解放する(ステップS219)。次いで、ツール34を低速で、チャックから僅かに離れた位置(教示点)に移動する(ステップS220)。続いて、加工機械42にツール34を接触させないように、ロボット32のアームを真直ぐに伸ばして、加工機械42のドア開口部からツール34を引き出す(ステップS221)。
次に、ディジタル信号入出力回路72を介して、加工機械42に対し、第1の作業経路Raからの指令として「ワークW1の加工開始」のディジタル信号を出力する(ステップS222)。そして、加工機械42から「ワークW1の加工完了」のディジタル信号が制御装置50に入力されるまで待機する(ステップS223)。ワークW1の加工完了後、加工機械42の内部にツール34を侵入させ(ステップS224)、加工済みのワークW1の把持位置(教示点)に向けてツール34を移動させる(ステップS225)。次いで、ツール34を閉じて、ワークW1を把持する(ステップS226)。
次に、加工機械42に対し「チャック開」のディジタル信号を出力して、チャックを開く(ステップS227)。次いで、ツール34を把持位置から僅かに移動して、加工機械42のチャックから、ワークW1を真直ぐに取り出す(ステップS228)。続いて、ツール34を加工機械42から退避させる(ステップS229)。
次に、ロボット32のアームを右旋回させるとともに、走行軸36を起動して、パレットP3の正面(教示点)にロボット32を移動させる(ステップS230)。次いで、パレットP3の真上(教示点)にツール34を移動する(ステップS231)。続いて、ツール34を、パレットP3上のワークW1を載置する置き位置(教示点)に移動して、ワークW1をパレットP3に置く。このとき、ツール34を、置き位置の真上の位置(教示点)に移動した後、その真下の置き位置に向けて低速で移動して、ワークW1をパレットP3に載せる(ステップS232)。このワーク載置動作は、ワークの種類に応じてパレットP3への載置時のロボット32の姿勢が決まるものであるから、ワーク種類に依存する動作となる。
次に、ツール34を開いて、ワークW1を解放する(ステップS233)。次いで、ツール34を、低速で置き位置の真上に移動した後、速度を上げてさらに上方に移動する(ステップS234)。最後に、ロボット32のアームをロボット正面に向けて旋回するとともに、走行軸36を動作させて、ロボット32を初期の待機位置に移動する(ステップS235)。以上で、第1の作業経路RaにおけるワークW1に対する作業プログラム80が終了する。
なお、図12〜図14には、上述したステップS200〜ステップS235に対応するツール34の動作軌跡が示されている。図示の動作軌跡において、ワーク種類に依存する動作はステップS203及びステップS232に関する動作のみであり、他の動作軌跡で示す動作はワーク種類に依存しないものである。例えば、パレットP1にワークW2が載置されている場合に、上記した第1の作業経路Raでの作業は、上記ステップS203及びステップS232に関する動作以外は、上記した動作と同様の動作になる。
上記したステップS200からステップS235までの作業については、全てのステップを含む1つの作業プログラム80を作成してもよいが、その場合にはステップ数の多い過大なプログラムになる。作業プログラムの保守を考慮すると、ロボット32の一連の作業を類似動作で分割した作業単位毎に、作業プログラムを作成することが望ましい。以下、上記したハンドリング作業をロボット32に実行させるための、作業プログラム作成装置30による作業プログラム作成方法及び教示点修正方法を説明する。なお、作業プログラム作成装置(教示点修正装置)30は、図1〜図4に示す教示点修正装置10における判断部12、データ修正部14、第2判断部18、データ復元部20及び第3判断部22の機能を有するCPU(図示せず)を備えている。また、ハードディスク装置94が、図1〜図4に示す教示点修正装置10における記憶部16を構成する。
上記したハンドリング作業では、ロボット32がワークを把持したり解放したりする作業単位毎に作業プログラムを作成する。具体的には、ステップS200〜S205、ステップS206〜S211、ステップS212〜S215、ステップS216〜S221、ステップS222〜S223、ステップS224〜S229、ステップS230〜S235を、それぞれ作業単位として、これら作業単位に個別対応する作業プログラム801、802、803、804、805、806、807を、作業プログラム作成装置30により作成する。
作業プログラム作成装置30は、作業経路Raに関連する作業プログラム定義データ96a及びワークW1に関連する作業部位定義データ981(いずれもハードディスク装置94に格納)を使用して、作業プログラム801、802、803、804、805、806、807を作成する。作業プログラム定義データ96aは、ロボット32の動作態様(運動の形式、速度、目標位置、対象物等)を記述するものであり、7個の作業プログラム801〜807のそれぞれに用意される(つまりオペレータが入力する)。例えば、作業プログラム802及び803を作成するための作業プログラム定義データ96aは、下記の変数を用いて記述される。
%Fixture1.FrontPos%
%Fixture1.AbovePos%
%Fixture1.ApproachPos%
%Fixture1.GripPos%
%Fixture1.ReleasePos%
%Fixture1.RetrievePos%
%Robot1.Hand.Open%
%Robot1.Hand.OpenDone%
%Robot1.Hand.Close%
%Robot1.Hand.CloseDone%
これら変数のうち、「Fixture1」を含むものは位置決め治具38aに関連した変数であり、「Robot1.Hand」を含むものはロボット32のツール34に関連した変数である。そして、位置決め治具38a関連の変数はいずれも、作業プログラム802及び803に含まれる複数の教示点の位置データに相当し、それぞれ「FrontPos」、「AbovePos」、「ApproachPos」、「GripPos」、「ReleasePos」、「RetrievePos」の名称が付されている。また、ツール34関連の変数はいずれも、ツール34の制御信号に相当し、それぞれ「Open」、「OpenDone」、「Close」、「CloseDone」の名称が付されている。
作業部位定義データ981は、上記した各変数に代入されるべき教示点の位置データ及びツール制御信号を記述するものであり、やはり7個の作業プログラム801〜807のそれぞれに用意される(つまりオペレータが入力する)。ここで、上記した7個の作業プログラムのうち、作業プログラム801にはパレットP1に関連する位置データが記述され、作業プログラム802及び803には位置決め治具38aに関連する位置データが記述され、作業プログラム804806には加工機械42のチャックに関連する位置データが記述され、作業プログラム807にはパレットP3に関連する位置データが記述される。これら位置データは、教示点の空間上の位置を示すものであって、生産システム内の基準となる1つの直交座標系において位置を表すX、Y、Z値及び姿勢を表すW(ヨー)、P(ピッチ)、R(ロー)値を含む(このような位置データを本願では「直交形式」データと称する)。なお、位置データを、ロボット32の個々の制御軸の動作角度で記述することもできる(このような位置データを本願では「各軸形式」データと称する)。
作業プログラム作成装置30は、例えば、上記した作業プログラム定義データ96a及び作業部位定義データ981を使用して、以下の作業プログラム802及び803を作成する。
〔作業プログラム802〕
1:カクジク イチ[1:FrontPos] 100% ナメラカ100
2:カクジク イチ[2:AbovePos] 100% ナメラカ100
3:チョクセン イチ[3:ApproachPos] 1000mm/sec イチギメ
4:チョクセン イチ[4:ReleasePos] 200mm/sec イチギメ
5:RDO[10]=オン
6:タイキ RDI[10]=オン
7:チョクセン イチ[5:RetrievePos] 400mm/sec イチギメ
イチ[1:FrontPos]{X=1688.40mm,Y=30.30mm,Z=1331.45mm,W=64.62deg,P=−85.60deg,R=116.35deg};
イチ[2:AbovePos]{X=1679.51mm,Y=−17.91mm,Z=1716.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
イチ[3:ApproachPos]{X=1679.51mm,Y=−17.91mm,Z=1416.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
イチ[4:ReleasePos]{X=1674.51mm,Y=−12.91mm,Z=1316.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
イチ[5:RetrievePos]{X=1679.51mm,Y=−17.91mm,Z=1416.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
〔作業プログラム803〕
1:カクジク イチ[1:FrontPos] 100% ナメラカ100
2:カクジク イチ[2:AbovePos] 100% ナメラカ100
3:RDO[10]=オン
4:タイキ RDI[10]=オン
5:チョクセン イチ[3:ApproachPos] 1000mm/sec イチギメ
6:チョクセン イチ[4:GripPos] 200mm/sec イチギメ
7:RDO[11]=オン
8:タイキ RDI[11]=オン
9:チョクセン イチ[5:RetrievePos] 400mm/sec イチギメ
イチ[1:FrontPos]{X=1688.40mm,Y=30.30mm,Z=1331.45mm,W=64.62deg,P=−85.60deg,R=116.35deg};
イチ[2:AbovePos]{X=1679.51mm,Y=−17.91mm,Z=1716.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
イチ[3:ApproachPos]{X=1679.51mm,Y=−17.91mm,Z=1416.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
イチ[4:GripPos]{X=1679.51mm,Y=−17.91mm,Z=1316.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
イチ[5:RetrievePos]{X=1679.51mm,Y=−17.91mm,Z=1416.07mm,W=29.18deg,P=−88.69deg,R=150.21deg};
このように、教示点「FrontPos」、「AbovePos」、「ApproachPos」、「RetrievePos」は、作業プログラム802及び803の両方で用いられている。また、教示点「ReleasePos」は作業プログラム802のみで用いられており、教示点「GripPos」は作業プログラム803のみで用いられており、いずれも、作業プログラム内ではイチ[4]として記述される。
また、ReleasePos(つまり「解放位置」)の位置データは、X=1674.51、Y=−12.91であるのに対し、GripPos(つまり「把持位置」)の位置データは、X=1679.51、Y=−17.91であって、これら教示点間でX値及びY値の双方に5mmの差がある。これは、作業プログラム801内のステップS204でツール34がワークW1を把持する際に、把持位置にX方向及びY方向へ5mmのずれが生じていたことを意味する。つまり、本来はReleasePosとGripPosは同じ位置であるが、この把持位置のずれ(例えばオペレータが目視で測定する)を相殺するために、後続する作業プログラム802内のステップS208における解放位置では、ReleasePosの位置データをGripPosに対しX、Yのいずれも5mmだけ意図的にずらして教示する。その結果、ステップS208では、GripPosと同じ位置でワークW1が解放される。
さらに、AbovePos、ApproachPos、GripPos、RetrievePosの位置データに関しては、AbovePosとApproachPosとはZ値に300mmの差があり、ApproachPosとGripPosとはZ値に100mmの差があり、ApproachPosとRetrievePosとは全ての値が同一である。このように、上記した複数の教示点の間には、ロボットの作業に対応した一定の相対位置関係(つまり教示点ルール)が存在する。
上記した位置データに関する教示点ルール102は、例えば以下の記述により定義される。
<OBJECT class="FIXTURE" name="Fixture1">
<RULES>
<RULE relation="EQ" sub="ReleasePos.X" main="GripPos.X" unit="mm">5</RULE>
<RULE relation="EQ" sub="ReleasePos.Y" main="GripPos.Y" unit="mm">-5</RULE>
<RULE relation="EQ" sub="AbovePos.Z" main="ApproachPos.Z" unit="mm">-300</RULE> <RULE relation="EQ" sub="ApproachPos.Z" main="GripPos.Z" unit="mm">-100</RULE>
<RULE relation="EQ" sub="RetrievePos.X" main="ApproachPos.X">0</RULE>
<RULE relation="EQ" sub="RetrievePos.Y" main="ApproachPos.Y">0</RULE>
<RULE relation="EQ" sub="RetrievePos.Z" main="ApproachPos.Z">0</RULE>
<RULE relation="EQ" sub="RetrievePos.W" main="ApproachPos.W">0</RULE>
<RULE relation="EQ" sub="RetrievePos.P" main="ApproachPos.P">0</RULE>
<RULE relation="EQ" sub="RetrievePos.R" main="ApproachPos.R">0</RULE>
<RANGE relation="GT" value="GripPos.Z" unit="mm">1000</RULE>
<RANGE relation="LT" value="GripPos.Z" unit="mm">1350</RULE>
<RANGE2 relation="GT" value1="GripPos.Z" value2="ApproachPos.Z" unit="mm">100</RANGE2>
<RANGE2 relation="LT" value1="GripPos.Z" value2="ApproachPos.Z" unit="mm">500</RANGE2>
</RULES>
上記一連の教示点ルールのうち、<RULE>は、2つの変数(すなわち教示点の位置データ)の大小関係及び差の値(つまり距離)を定義する。例えば、<RULE relation="EQ" sub="a" main="b" unit="mm">c</RULE>は、b−a=cの関係があること、及び差の単位がmmであることを定義している。関係性を表すrelation=の項目では、EQ、GE、GT、LE、LT、NEのいずれかを指定でき、これらはそれぞれ、b−a=c、b−a≧c、b−a>c、b−a≦c、b−a<c、b−a<>c(b−aはcと異なる)を意味する。
<RULE>を満たさない場合は、main=で表す引数の値を基準として、sub=で表す引数の値を、<RULE>を満たすように修正する。例えば<RULE relation="EQ" sub="ReleasePos.X" main="GripPos.X" unit="mm">5</RULE>の教示点ルール(すなわちGripPos.X-ReleasePos.X=5)が満たされなかった場合に、修正される値はGripPos.XではなくReleasePos.Xである。このような定義手法により、2つの教示点の修正の相対重要度を規定することができる。つまり、修正の重要度が高い教示点をmain=側に記述し、修正の重要度が低い教示点をsub=側に記述することで、重要度の低い修正に随伴して重要度の高い修正が行われることが防止される。
また、<RULE>は定義順(すなわち記述順)に処理される。例えば上記の例では、最初の教示点ルール(GripPos.X-ReleasePos.X=5)に従い、ReleasePos.Xの値はGripPos.X-5である必要があり、そうでなければReleasePos.Xが修正される。続いて、第2の教示点ルール(GripPos.Y-ReleasePos.Y=-5)に従い、ReleasePos.Yの値はGripPos.Y+5である必要があり、そうでなければReleasePos.Yが修正される。以下、記述順に、教示点ルールを満たしているか否かが検討される。このような定義手法により、直接的又は間接的に所定の相対位置関係を有する全ての教示点に対し、位置データの修正を指定順序で連鎖的に実施することができる。なお上記例では、GripPos.Xが、前述した「第1教示点の位置データ」に相当する。
上記一連の教示点ルールのうち、<RANGE>は、1つの変数(すなわち教示点の位置データ)の許容範囲を定義する。例えば上記記述によれば、GripPos.Zの値は、1000mmよりも大きく、かつ1350mmよりも小さくなければならないことが規定される。この教示点ルール<RANGE>は、記述順に関わらず、前述した教示点ルール<RULE>よりも優先度が高いものである。つまり、例えば<RULE>に従ってGripPos.Zの値を修正したときに1000mm以下又は1350mm以上になってしまう場合には、<RANGE>の規定によりその修正は行われず、修正前のGripPos.Zの値が維持される。
上記一連の教示点ルールのうち、<RANGE2>は、2つの変数(すなわち教示点の位置データ)の差(つまり距離)の許容範囲を定義する。例えば上記記述によれば、GripPos.Zの値とApproachPos.Zの値との差が、100mmよりも大きく、かつ500mmよりも小さくなければならないことが規定される。つまり、ロボット32がワークW1に接近し始める位置は、ツール34によるワークW1の把持位置から、100mmよりも大きくかつ500mmよりも小さい距離だけ離れていなければならない。この教示点ルール<RANGE2>も、前述した教示点ルール<RULE>より優先度が高い。つまり、例えば<RULE>に従ってGripPos.Zの値を修正したときにGripPos.ZとApproachPos.Zとの差が100mm以下又は500mm以上になってしまう場合には、<RANGE2>の規定によりその修正は行われず、修正前のGripPos.Zの値が維持される。
再び図6を参照すると、作業プログラム作成装置30は、ネットワークインタフェース70を経由して、制御装置50のメモリ68に格納された作業プログラム801、802、803、804、805、806、807(図7)に記述されるプログラム名、教示点名称、行番号及び位置データを、制御プログラム78(図7)に従って読み取る。そして、作業プログラム作成装置30は、それら読み取った情報(以下、教示点データと称する)に基づいて、ハードディスク装置94に格納される教示点データベース104(図8)を作成する。例えば、作業プログラム802及び803に関する教示点データベース104は、下表のようになる。
Figure 0004053550
教示点データベース104において、1つの教示点は、データ番号、履歴リンク、作業プログラム名称、行番号、位置名称、座標番号、ツール番号、位置形式、位置データ値を含む。上記例では、作業プログラム名称「PRG802」は作業プログラム802を示し、「PRG803」は作業プログラム803を示す。行番号は、当該教示点が作業プログラムの何行目に記述されているかを示すもので、1つの作業プログラム内で同じ教示点が複数回使われる場合は、行番号だけが異なる教示点データが複数個、データベース104に存在する。座標番号は、教示点の位置データの基準となる座標系を特定する。ツール番号は、ロボットに装着されるツール34の種類を示すもので、同じ教示点でもツールの種類が異なれば、通常は位置データが異なる。位置形式は、位置データの形式が各軸形式と直交形式とのいずれであるかを示すもので、上記例では直交形式である。位置データは、前述したようにX、Y、Z、W、P、R値を含む。
位置名称は、前述した教示点の名称である。同一の教示点には同一の位置名称が付され、異なる教示点には異なる位置名称が付される。同じ位置名称の教示点は、作業プログラム名称、行番号、座標番号、ツール番号、位置形式、位置データ値のいずれかが異なっていたとしても、同じ教示点である。例えば、同じ教示点を、異なる座標系を用いて表すことができる。また、同じ教示点を、異なるツールを装着したロボットの各制御軸の動作角度で表すこともできる。
データ番号は、データベース104内での教示点データの記述位置(行)を表す。データベース104に新たな教示点データが追加されるたびに、追加した教示点データに新たなデータ番号が昇順で付記される。履歴リンクは、データベース104内での教示点データの更新履歴を表示する。教示点データが位置データの修正によって更新されたときには、更新前の教示点データを破棄せずに、更新後の教示点データが新たなデータ番号を付与されてデータベース104に追加記載される。このとき、更新前の教示点データの履歴リンクには更新後の教示点データのデータ番号が記入され、更新後の教示点データの履歴リンクには0(最新のデータを意味する)が記入される。このようにして、1つの教示点の教示点データが、初期設定及び全ての更新設定の間で互いに関連付けて記録される。
上記構成において、作業プログラム作成装置30は、制御プログラム78に従いネットワークインタフェース70を経由して、ロボット32を実際に動作させている作業プログラムの個々の教示点の位置データと、教示点データベース104に記憶されている対応の教示点データとを、常時比較する。そして、作業プログラムの少なくとも1つの教示点の位置データが、教示点データベース104内の対応の教示点データと一致しないことが検出されると、作業プログラム作成装置30は、教示点ルール102に従い、教示点の自動修正を開始する。ここで、修正前の教示点データベース104は、コピーされて、保存された教示点データベース106(図8)として記憶される。保存された教示点データベース106は、教示点の自動修正をキャンセルする必要が生じたときに使用される。
例えば、作業の途中で、オペレータが教示操作盤92を使ってロボット32を手動モードで動作させ、初期設定された教示点のうち、作業プログラム803におけるGripPosの位置を、下記のように修正したと仮定する。
GripPosの位置データ:
X=1670.51mm,Y=−27.91mm,Z=1016.07mm,W=29.18deg,P=−88.69deg,R=150.21deg
この場合、まず教示ルール<RANGE>及び<RANGE2>によって、GripPosの位置データの修正の妥当性が検証される。修正後のZ値は、1000mmより大きく1350mmより小さいから、<RANGE>を満たしており、またApproachPos.Zとの差が400mmであるから、<RANGE2>も満たしている。
次に、教示ルール<RULE>の記述順に、修正後のGripPosが規定の相対位置関係を満たしているか否かを検証する。まず1番目と2番目の<RULE>により、ReleasPosの位置データが下記のように修正される。
ReleasePosの位置データ:
X=1665.51mm,Y=−22.91mm,Z=1316.07mm,W=29.18deg,P=−88.69deg,R=150.21deg
また、4番目の<RULE>により、ApproachPosの位置データが下記のように修正される。
ApproachPosの位置データ:
X=1679.51mm,Y=−17.91mm,Z=1116.07mm,W=29.18deg,P=−88.69deg,R=150.21deg
さらに、5〜10番目の<RULE>により、RetrievePosの位置データが下記のように修正される。
RetrievePosの位置データ:
X=1679.51mm,Y=−17.91mm,Z=1116.07mm,W=29.18deg,P=−88.69deg,R=150.21deg
以上の修正により、教示点データベース104では、データ番号3、4、5、8、9、10の教示点データが更新される。更新された教示点データベース104を下表に示す。
Figure 0004053550
上記のように、更新された教示点データが新たなデータ番号11〜16を付されてデータベース104に記録され、更新前の教示点データの履歴リンク欄に、更新後の対応の教示点データのデータ番号が書き込まれる。データベース104内で、履歴リンクが0以外の教示点データは過去のデータであり、履歴リンクが0の教示点データがその時点で有効なデータであることが判る。
<RULE>による教示点の位置データの修正が完了すると、再び<RANGE>及び<RANGE2>による検証が行われる。上記例では、修正完了後も<RANGE>及び<RANGE2>の双方が満たされている。そこで、更新した教示点データベース104の内容に一致するように、作業プログラム作成装置30から教示点修正コマンドが、制御装置50のネットワークインタフェース70を介してメモリ68内の制御プログラム78に送られ、作業プログラム802の3行目のApproachPos、4行目のReleasePos及び7行目のRetrievePos、並びに作業プログラム803の5行目のApproachPos、9行目のRetrievePosの、それぞれの位置データを修正する。さらに作業プログラム作成装置30は、メモリ68内の全ての作業プログラムに含まれる全ての教示点の位置データと、更新した教示点データベース104の対応の教示点データとが、互いに一致しているか否かを、ネットワークインタフェース70を介して確認し、内容が異なる教示点について、教示点修正コマンドを制御プログラム78に送る。制御装置50は、制御プログラム78に従い、修正された教示点の作業プログラム名称及び位置名称を、教示操作盤92の表示器92に表示する。
<RULE>による教示点の位置データの修正が完了した時点で、<RANGE>及び<RANGE2>のいずれかを満たさない修正結果が生じている場合は、全ての修正をキャンセルする。具体的には、保存された教示点データベース106を用いて教示点データベース104を更新前の内容に書き換え、さらに、書き換えた教示点データベース104の内容に一致するように、作業プログラム作成装置30から教示点修正コマンドが、制御装置50のネットワークインタフェース70を介してメモリ68内の制御プログラム78に送られ、作業プログラム803のGripPosの位置データが修正前の値に書き戻される。制御装置50は、制御プログラム78に従い、作業プログラム803のGripPosが書き戻されたことを教示操作盤92に表示する。書き戻しによって不要となった保存された教示点データベース106は、ハードディスク装置94から削除される。
オペレータが上記したような教示点の修正作業を複数回行った場合には、ハードディスク装置94において、教示点データベース104を更新する度に更新前のデータベ−ス104が記憶され、複数の保存された教示点データベース106がハードディスク装置94に格納される。オペレータは、教示操作盤92を操作することで、複数の保存された教示点データベース106から最適と思われる所望の1つの教示点データベース106を選択し、それを用いて、有効な教示点データベース104を書き換えることができる。このようにして、オペレータによる教示点の位置データの修正、及びそれに随伴する相関教示点の位置データの自動修正をキャンセルして、任意の時点の教示点データを復元することが可能になる。
教示点データベース104及び保存された教示点データベース106の教示点データは、どの時点においても、教示点ルール102に適合するものである。また、教示点データベース104及び保存された教示点データベース106の履歴リンクを参照すれば、個々の教示点の位置データの修正経緯が直ちに判明する。したがって、更新履歴を教示操作盤92の表示器92aに表示すれば、オペレータは、所望の教示点に関してどの時点でどのような修正が行われたかを知ることができ、任意の時点の教示点修正をキャンセルすべく、その直前の教示点データベースを複数の保存された教示点データベース106から選び出して、この教示点データベース106を用いて現在有効な教示点データベース104を書き換えることで、必要な教示点データベースを復元することができる。
1つの教示点の修正がキャンセルされると、関連する全ての教示点の位置データが修正前の値に戻される。また、どの教示点のどの時点の修正をキャンセルしても、全ての教示点は常に教示点ルール102を満たしているので、その後の作業の安全が確保される。教示修正作業を長時間行った後には、保存された教示点データベース106が大量になり、また個々の教示点データベース104及び106が、過去の教示点データを大量に記録した過大なものになる。そこで、作業プログラム作成装置30は、ハードディスク装置94に格納した保存された教示点データベース106の幾つか又は全てを削除できるように構成することが有利である。このとき、削除した教示点データベース106までの過去の教示点データを、教示点データベース104及び106から削除する操作を、教示操作盤92を用いて制御プログラム78に指示するように構成することもできる。さらに、教示点ルール102が改定されたときには、教示点データベース104及び106の全てをハードディスク装置94から削除し、新たに、メモリ68内の全ての作業プログラムの内容に基づき教示点データベース104を作成し直す操作を、教示操作盤92を用いて制御プログラム78に指示するように構成することができる。
以上、本願発明の好適な実施形態を説明したが、作業プログラム作成装置(教示点修正装置)30をパーソナルコンピュータで構成できることから、本願発明は下記のように規定することもできる。
すなわち、本発明は、ロボット32の作業プログラム80、82における教示点を修正するために、コンピュータ30を、作業プログラム80、82に含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部12、及び判断部12が、複数の異なる教示点のうちいずれか1つの第1教示点の位置データが修正されたと判断したときに、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と当該特定の相対位置関係を予めロボット言語で規定した教示点ルール102を記述する指令に従い、第1教示点に対して当該相対位置関係を有するべく特定された相関教示点の位置データを、当該相対位置関係を満たすように修正するデータ修正部14として機能させるための教示点修正プログラムである。
また、本発明は、ロボット32の作業プログラム80、82における教示点を修正するために、コンピュータ30を、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部12、及び判断部12が、複数の異なる教示点のうちいずれか1つの第1教示点の位置データが修正されたと判断したときに、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と当該特定の相対位置関係を予めロボット言語で規定した教示点ルール102を記述する指令に従い、第1教示点に対して当該相対位置関係を有するべく特定された相関教示点の位置データを、当該相対位置関係を満たすように修正するデータ修正部14として機能させるための教示点修正プログラムを記録したコンピュータ読み取り可能な記録媒体である。
また、本発明は、ロボット32の作業プログラム80、82における教示点を、コンピュータ30を用いて修正するための教示点修正方法において、コンピュータ30の判断部12が、作業プログラム80、82に含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断するステップと、判断部12が、複数の異なる教示点のうちいずれか1つの第1教示点の位置データが修正されたと判断したときに、コンピュータ30のデータ修正部14が、複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と当該特定の相対位置関係を予めロボット言語で規定した教示点ルール102を記述する指令に従い、第1教示点に対して当該相対位置関係を有するべく特定された相関教示点の位置データを、当該相対位置関係を満たすように修正するステップとを具備する教示点修正方法である。
本発明に係る教示点修正装置の基本構成を示す機能ブロック図である。 図1の教示点修正装置の第1の発展的構成を示す機能ブロック図である。 図1の教示点修正装置の第2の発展的構成を示す機能ブロック図である。 図1の教示点修正装置の第3の発展的構成を示す機能ブロック図である。 本発明の一実施形態による教示点修正装置を組み込んだ、ロボットを用いた生産システムの全体概要図である。 図5の生産システムにおける制御系の構成を示すブロック図である。 図6の制御系における制御装置のメモリの図である。 図6の制御系における教示点修正装置のハードディスク装置の図である。 図5の生産システムにおいてロボットが実行する作業の手順を示すフローチャートである。 図5の生産システムにおいてロボットが実行する作業の手順を示すフローチャートである。 図5の生産システムにおいてロボットが実行する作業の手順を示すフローチャートである。 図5の生産システムにおいてロボットが実行する作業の手順を破線矢印で示す概要図である。 図5の生産システムにおいてロボットが実行する作業の手順を破線矢印で示す概要図である。 図5の生産システムにおいてロボットが実行する作業の手順を破線矢印で示す概要図である。
符号の説明
10 教示点修正装置
12 判断部
14 データ修正部
16 記憶部
18 第2判断部
20 データ復元部
22 第3判断部
30 作業プログラム作成装置(教示点修正装置)
32 ロボット
34 ツール
38、40 仮置台
42、44 加工機械
50 制御装置
68 メモリ
80、82 作業プログラム
94 ハードディスク装置
96 作業プログラム定義データ
98 作業部位定義データ
102 教示点ルール
104 教示点データベース
106 保存された教示点データベース

Claims (18)

  1. ロボットの作業プログラムにおける教示点を修正するための教示点修正装置において、
    作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部と、
    前記判断部が、前記複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、該複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と該特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、該いずれか1つの教示点に対して該相対位置関係を有するべく特定された相関教示点の位置データを、該相対位置関係を満たすように修正するデータ修正部と、
    を具備することを特徴とする教示点修正装置。
  2. 前記複数の異なる教示点が3個以上有り、前記データ修正部は、前記いずれか1つの教示点に対して直接的及び間接的に前記相対位置関係を有する全ての前記相関教示点の前記位置データを修正する、請求項1に記載の教示点修正装置。
  3. 前記判断部は、複数の作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断し、前記データ修正部は、前記教示点ルールを記述する前記指令に従い、該複数の作業プログラムにおける全ての前記相関教示点の前記位置データを修正する、請求項1又は2に記載の教示点修正装置。
  4. 前記データ修正部は、前記複数の作業プログラムの各々の名称と、前記複数の異なる教示点の各々の名称と、該複数の異なる教示点の各々の位置データとを、互いに関連付けて記述した教示点データベースを使用して、該教示点データベースに記述される該複数の作業プログラムのうち、前記相関教示点を含む作業プログラムを該相関教示点の修正により更新する、請求項3に記載の教示点修正装置。
  5. 前記判断部が、前記いずれか1つの教示点の前記位置データが修正されたと判断したときに、前記教示点ルールを記述する前記指令に従い、該いずれか1つの教示点の該位置データの修正が妥当であるか否かを判断する第2判断部をさらに具備し、前記データ修正部は、該第2判断部が、該いずれか1つの教示点の該位置データの該修正が妥当であると判断したときに、前記相関教示点の前記位置データを修正する、請求項1〜4のいずれか1項に記載の教示点修正装置。
  6. 前記第2判断部が、前記いずれか1つの教示点の前記位置データの前記修正が妥当でないと判断したときに、該いずれか1つの教示点の該位置データの該修正をキャンセルして修正前の位置データを復元するデータ復元部をさらに具備する、請求項5に記載の教示点修正装置。
  7. 前記第2判断部はさらに、前記データ修正部が修正した全ての前記相関教示点の前記位置データの修正が妥当であるか否かを判断し、前記データ復元部は、該第2判断部が、いずれかの該相関教示点の該位置データの該修正が妥当でないと判断したときに、判断された該相関教示点の該位置データの該修正をキャンセルして修正前の位置データを復元する、請求項6に記載の教示点修正装置。
  8. 前記主判断部が、前記いずれか1つの教示点の前記位置データが修正されたと判断したときに、前記教示点ルールを記述する前記指令に従い、前記データ修正部が修正した全ての前記相関教示点の前記位置データの修正が妥当であるか否かを判断する第2判断部と、該第2判断部が、いずれかの該相関教示点の該位置データの該修正が妥当でないと判断したときに、判断された該相関教示点の該位置データの該修正をキャンセルして修正前の位置データを復元するデータ復元部とをさらに具備する、請求項1〜4のいずれか1項に記載の教示点修正装置。
  9. 前記データ復元部は、前記データ修正部が修正した全ての前記相関教示点の前記位置データの修正時期を表す履歴を参照して、該履歴が表す該修正時期の中でオペレータが指定した時期の、該相関教示点の前記修正前の位置データを復元する、請求項7又は8に記載の教示点修正装置。
  10. 前記指令には、前記複数の異なる教示点のうち任意の1つの教示点の位置データの数値範囲を、前記修正の妥当性判断基準としてロボット言語で規定する教示点ルールがさらに記述される、請求項5〜9のいずれか1項に記載の教示点修正装置。
  11. 前記指令には、前記複数の異なる教示点のうち任意の2つの教示点の間の距離の数値範囲を、前記修正の妥当性判断基準としてロボット言語で規定する教示点ルールがさらに記述される、請求項5〜10のいずれか1項に記載の教示点修正装置。
  12. 前記主判断部が、前記いずれか1つの教示点の前記位置データが修正されたと判断したときに、前記教示点ルールを記述する前記指令に従い、該いずれか1つの教示点の該位置データの修正と前記相関教示点の前記位置データの修正とのいずれが重要であるかを判断する第3判断部をさらに具備し、前記指令には、前記複数の異なる教示点のうち少なくとも2つの教示点の、それぞれの前記位置データの修正の相対重要度を、ロボット言語で規定する教示点ルールがさらに記述され、前記データ修正部は、該第3判断部が、該いずれか1つの教示点の該位置データの該修正が該相関教示点の該位置データの該修正よりも重要であると判断したときに、該相関教示点の該位置データを修正する、請求項1〜11のいずれか1項に記載の教示点修正装置。
  13. 前記教示点ルールを格納する記憶部をさらに具備し、該教示点ルールが、前記相対位置関係として、前記複数の異なる教示点のうちいずれか2つの教示点の間の距離を規定す、請求項1〜12のいずれか1項に記載の教示点修正装置。
  14. 記教示点データベースを格納する記憶部をさらに具備する、請求項に記載の教示点修正装置。
  15. 前記履歴を含む教示点データベースを格納する記憶部をさらに具備する、請求項9に記載の教示点修正装置。
  16. ロボットの作業プログラムにおける教示点を修正するために、コンピュータを、
    作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部、及び
    前記判断部が、前記複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、該複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と該特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、該いずれか1つの教示点に対して該相対位置関係を有するべく特定された相関教示点の位置データを、該相対位置関係を満たすように修正するデータ修正部、
    として機能させるための教示点修正プログラム。
  17. ロボットの作業プログラムにおける教示点を修正するために、コンピュータを、
    作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断する判断部、及び
    前記判断部が、前記複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、該複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と該特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、該いずれか1つの教示点に対して該相対位置関係を有するべく特定された相関教示点の位置データを、該相対位置関係を満たすように修正するデータ修正部、
    として機能させるための教示点修正プログラムを記録したコンピュータ読み取り可能な記録媒体。
  18. ロボットの作業プログラムにおける教示点を、コンピュータを用いて修正するための教示点修正方法において、
    コンピュータの判断部が、作業プログラムに含まれる予め教示した複数の異なる教示点に関し、いずれかの教示点の位置データが修正されたか否かを判断するステップと、
    前記判断部が、前記複数の異なる教示点のうちいずれか1つの教示点の位置データが修正されたと判断したときに、コンピュータのデータ修正部が、該複数の異なる教示点について、特定の相対位置関係を有する一組以上の教示点の名称と該特定の相対位置関係を予めロボット言語で規定した教示点ルールを記述する指令に従い、該いずれか1つの教示点に対して該相対位置関係を有するべく特定された相関教示点の位置データを、該相対位置関係を満たすように修正するステップと、
    を具備することを特徴とする教示点修正方法。
JP2005155680A 2005-05-27 2005-05-27 教示点を修正するための装置、プログラム、記録媒体及び方法 Active JP4053550B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005155680A JP4053550B2 (ja) 2005-05-27 2005-05-27 教示点を修正するための装置、プログラム、記録媒体及び方法
EP06010775A EP1727008B1 (en) 2005-05-27 2006-05-24 Device and method for correcting taught points in a robot program
CN200610082783.8A CN1868690B (zh) 2005-05-27 2006-05-25 用于修正示教点的装置及方法
US11/441,020 US7979161B2 (en) 2005-05-27 2006-05-26 Device, program, recording medium and method for correcting taught point
US12/984,796 US8600555B2 (en) 2005-05-27 2011-01-05 Device, program, recording medium and method for correcting taught point

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005155680A JP4053550B2 (ja) 2005-05-27 2005-05-27 教示点を修正するための装置、プログラム、記録媒体及び方法

Publications (2)

Publication Number Publication Date
JP2006331188A JP2006331188A (ja) 2006-12-07
JP4053550B2 true JP4053550B2 (ja) 2008-02-27

Family

ID=36968416

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005155680A Active JP4053550B2 (ja) 2005-05-27 2005-05-27 教示点を修正するための装置、プログラム、記録媒体及び方法

Country Status (4)

Country Link
US (2) US7979161B2 (ja)
EP (1) EP1727008B1 (ja)
JP (1) JP4053550B2 (ja)
CN (1) CN1868690B (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI118715B (fi) * 2005-12-07 2008-02-15 Ekahau Oy Paikannustekniikka
US7974737B2 (en) * 2006-10-31 2011-07-05 GM Global Technology Operations LLC Apparatus and method of automated manufacturing
JP5005366B2 (ja) * 2007-01-24 2012-08-22 株式会社ダイヘン ロボット制御装置
JP4676544B2 (ja) * 2009-05-29 2011-04-27 ファナック株式会社 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
JP5715809B2 (ja) * 2010-03-29 2015-05-13 株式会社ダイヘン ロボットの作業プログラム作成方法、ロボットの作業プログラム作成装置、及びロボット制御システム
WO2013080500A1 (ja) 2011-11-30 2013-06-06 パナソニック株式会社 ロボットの教示装置、ロボット装置、ロボットの教示装置の制御方法、ロボットの教示装置の制御プログラム
CN104470687A (zh) * 2012-07-20 2015-03-25 株式会社安川电机 机器人模拟器、机器人示教装置以及机器人示教方法
JP6309220B2 (ja) * 2013-08-12 2018-04-11 株式会社ダイヘン 搬送システム
JP5970434B2 (ja) * 2013-08-30 2016-08-17 株式会社神戸製鋼所 教示データ作成システムおよびプログラム
JP6311421B2 (ja) * 2014-04-10 2018-04-18 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
WO2015166574A1 (ja) * 2014-05-01 2015-11-05 本田技研工業株式会社 多関節ロボットのティーチングデータ作成装置及び作成方法
US9958862B2 (en) * 2014-05-08 2018-05-01 Yaskawa America, Inc. Intuitive motion coordinate system for controlling an industrial robot
DE102014017307B4 (de) * 2014-11-21 2019-08-01 Kuka Roboter Gmbh Verfahren und System zum Bearbeiten eines Bauteils mit einem robotergeführten Werkzeug
JP6081981B2 (ja) * 2014-12-19 2017-02-15 ファナック株式会社 教示プログラムの自動表示手段を備える数値制御装置
DE102014226933B3 (de) * 2014-12-23 2016-03-24 Kuka Roboter Gmbh Vorrichtung und Verfahren zum Aufnehmen von Positionen
DE102015204599B3 (de) * 2015-03-13 2016-08-11 Kuka Roboter Gmbh Verfahren zur Steuerung eines Manipulators zur Ausführung eines Arbeitsprozesses
JP6562665B2 (ja) * 2015-03-18 2019-08-21 蛇の目ミシン工業株式会社 ロボット
US10120364B2 (en) * 2015-03-27 2018-11-06 GM Global Technology Operations LLC Self-corrective nut running for robotic applications
CN106371400B (zh) * 2016-10-31 2019-02-15 成都乐创自动化技术股份有限公司 一种示教轨迹选中方法及装置
JP6860843B2 (ja) * 2017-02-20 2021-04-21 株式会社安川電機 ロボットシステム、ロボット制御装置、及びロボット制御方法
JP6680720B2 (ja) 2017-04-10 2020-04-15 ファナック株式会社 ロボットの動作軌跡を自動で生成する装置、システム、および方法
CN110636922B (zh) * 2017-05-16 2023-03-21 Abb瑞士股份有限公司 用于控制机器人运动序列的方法和控制系统
CN107584493B (zh) * 2017-08-29 2020-08-14 成都乐创自动化技术股份有限公司 一种捕捉目标示教点的方法及系统
JP6626065B2 (ja) 2017-10-31 2019-12-25 ファナック株式会社 教示点又は教示線の位置ずれを警告又は修正するロボット教示装置
CN108127668B (zh) * 2017-12-19 2020-05-08 合肥欣奕华智能机器有限公司 一种机器人的示教方法、机器人的示教装置及机器人系统
JP7337495B2 (ja) * 2018-11-26 2023-09-04 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
CN115803156A (zh) 2020-07-28 2023-03-14 发那科株式会社 示教装置、示教系统以及示教程序
CN114799638A (zh) * 2022-05-16 2022-07-29 广州东焊智能装备有限公司 一种基于虚拟现实的人机协作焊接系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55140903A (en) 1979-04-20 1980-11-04 Shin Meiwa Ind Co Ltd Position control method
JPH065486B2 (ja) 1981-03-26 1994-01-19 株式会社安川電機 ロボットの軌跡制御方法
US4817017A (en) * 1985-04-08 1989-03-28 Mitsubishi Denki Kabushiki Kaisha Industrial robot
US5276777A (en) * 1988-04-27 1994-01-04 Fanuc Ltd. Locus correcting method for industrial robots
US5053976A (en) 1989-05-22 1991-10-01 Honda Giken Kogyo Kabushiki Kaisha Method of teaching a robot
JPH0366586A (ja) 1989-08-04 1991-03-22 Toyota Motor Corp ロボット位置決定支援装置
US5341458A (en) * 1991-09-11 1994-08-23 Honda Giken Kogyo Kabushiki Kaisha Method of and system for generating teaching data for robots
KR0167021B1 (ko) * 1993-03-15 1999-02-01 카타다 테쯔야 자동연삭장치
JPH06324733A (ja) * 1993-05-12 1994-11-25 Fanuc Ltd センサ付きロボットの制御方法及び装置
JPH07200043A (ja) 1993-12-29 1995-08-04 Nissan Motor Co Ltd 教示データ自動補正装置
JP3274272B2 (ja) * 1994-03-08 2002-04-15 ファナック株式会社 座標系の手動送り方法並びにロボット制御装置
JPH10329065A (ja) * 1997-05-30 1998-12-15 Matsushita Electric Ind Co Ltd ロボットの位置ずれ補正方法
JP4122652B2 (ja) * 1999-09-27 2008-07-23 松下電器産業株式会社 ロボットの制御装置
GB0130986D0 (en) * 2001-12-27 2002-02-13 Prophet Control Systems Ltd Programming robots with offline design
SE525108C2 (sv) * 2002-12-30 2004-11-30 Abb Research Ltd Metod och system för programmering av en industrirobot, datorprogramprodukt, datorläsbart medium samt användning
JP3805317B2 (ja) * 2003-03-17 2006-08-02 ファナック株式会社 教示位置修正方法及び教示位置修正装置
JP3819883B2 (ja) 2003-08-27 2006-09-13 ファナック株式会社 ロボットプログラム位置修正装置
US7461116B2 (en) * 2003-09-17 2008-12-02 Agility Design Solutions Inc. Emulation of a fixed point operation using a corresponding floating point operation

Also Published As

Publication number Publication date
EP1727008B1 (en) 2012-03-14
US20060271240A1 (en) 2006-11-30
JP2006331188A (ja) 2006-12-07
US20110106304A1 (en) 2011-05-05
EP1727008A3 (en) 2009-04-29
CN1868690A (zh) 2006-11-29
CN1868690B (zh) 2012-06-13
EP1727008A2 (en) 2006-11-29
US7979161B2 (en) 2011-07-12
US8600555B2 (en) 2013-12-03

Similar Documents

Publication Publication Date Title
JP4053550B2 (ja) 教示点を修正するための装置、プログラム、記録媒体及び方法
JP4210270B2 (ja) ロボット制御装置及びロボット制御方法
US7937186B2 (en) Device and method for automatically setting interlock between robots
JP4027350B2 (ja) ロボットの待機位置復帰プログラム作成装置
US7613545B2 (en) Offline programming device
US20070032905A1 (en) Robot programming device
US20050107919A1 (en) Operation program preparation device
EP2666598A1 (en) Nc machine tool system
US8706302B2 (en) Method for offline programming of an NC-controlled manipulator
JP2000317775A (ja) 加工システム
US11433537B2 (en) Automatic path generation device
US20060037951A1 (en) Laser processing apparatus
CN117157596A (zh) 数值控制装置及数值控制系统
EP0477430B1 (en) Off-line teaching method for industrial robot
JPH10225885A (ja) マルチコラボレーション作業方法及びシステム装置
JP2772230B2 (ja) オフラインティーチング装置
JP2906502B2 (ja) 産業用ロボットの制御方法
US20210268620A1 (en) Automated drilling optimization method
JP3248081B2 (ja) 切削軸の自動変更機能付き自動プログラム作成装置
JPH0976178A (ja) ロボット制御装置
JPS6244363A (ja) ジヨ−の交換制御方法
JPS59158403A (ja) 数値制御装置
JP4778610B2 (ja) 剪断機用ワーク掴み装置の掴み位置制御方法およびその装置
JPH05108135A (ja) ロボツト・ローダ制御装置
JPH05143152A (ja) 産業用ロボツトの自動教示方法

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20070531

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20070625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070830

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: 20071127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4053550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6