(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-04
(45)【発行日】2024-03-12
(54)【発明の名称】オフライン教示装置および動作プログラム生成方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20240305BHJP
G05B 19/42 20060101ALI20240305BHJP
【FI】
B25J9/22 A
G05B19/42 J
(21)【出願番号】P 2022526955
(86)(22)【出願日】2021-05-20
(86)【国際出願番号】 JP2021019196
(87)【国際公開番号】W WO2021241398
(87)【国際公開日】2021-12-02
【審査請求日】2022-12-19
(31)【優先権主張番号】P 2020090262
(32)【優先日】2020-05-25
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100118913
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100201466
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】延原 敦史
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2011-048621(JP,A)
【文献】特開2015-098076(JP,A)
【文献】特開2011-110630(JP,A)
【文献】国際公開第2017/014303(WO,A1)
【文献】特開平09-212225(JP,A)
【文献】特開2000-112510(JP,A)
【文献】特開2015-066668(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-19/06
A61B 34/35
G05B 19/4093-19/42
(57)【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを備え、
該プロセッサが、
複数の教示点を含む動作プログラムが入力されることにより、該動作プログラムに従って各前記教示点間に形成されるロボットのツール先端点の動作経路上に、多数の補間点を生成
するとともに、
前記補間点に前記ツール先端点が配置されたときの前記ロボットの1以上の関節点の座標を算出し、
生成された各前記補間点
および算出された前記関節点と周辺装置との間の干渉の有無を検出するオフライン教示装置。
【請求項2】
前記プロセッサは、いずれかの前記補間点において前記ロボットと前記周辺装置との干渉が発生したことが検出された場合には、該補間点の前後の前記教示点の間に中間の教示点を追加し、該中間の教示点が追加された前記動作プログラムについて、前記補間点の生成および干渉の有無の検出を行う請求項1に記載のオフライン教示装置。
【請求項3】
前記プロセッサは、全ての前記補間点において干渉の発生が検出されなくなるまで、前記中間の教示点を修正し、あるいは、他の中間の教示点を追加する請求項2に記載のオフライン教示装置。
【請求項4】
複数の教示点を含む基本動作プログラムが入力されることにより、該基本動作プログラムに従って各前記教示点間に形成されるロボットのツール先端点の動作経路上に、多数の補間点を生成し、
該補間点に前記ツール先端点が配置されたときの前記ロボットの1以上の関節点の座標を算出し、
生成された各前記補間点
および算出された前記関節点と周辺装置との間の干渉の有無を検出し、
いずれかの前記補間点
または前記関節点において前記周辺装置との干渉が発生したことが検出された場合には、
干渉が発生した前記補間点の前後の前記教示点の間に中間の教示点を追加し、該中間の教示点が追加された動作プログラムについて、前記補間点の生成および干渉の有無の検出を行い、
全ての前記補間点
および前記関節点において干渉が検出されなかった場合に、最終的な動作プログラムを出力する動作プログラム生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、オフライン教示装置および動作プログラム生成方法に関するものである。
【背景技術】
【0002】
ロボットが周辺装置との干渉を回避しながら所定の作業を行えるように、ロボットの動作経路を生成するシミュレーション装置が知られている(例えば、特許文献1参照。)。シミュレーション装置においては、ロボットおよび周辺装置の3次元モデルを同一の仮想空間内に配置して干渉の発生の有無を検出し、干渉が発生する場合には、干渉が発生する前後の教示点の間に、干渉を回避し得る中間点を追加することが行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようにして中間点が追加された動作プログラムを、シミュレーション装置において実際に実行すると、ロボットを高速に動作させるために、動作経路が追加された中間点を通過しないことがある。このため、ロボットと周辺装置とが干渉しない動作経路を生成するには、教示点における干渉の有無の確認だけでは不十分である。
【0005】
実際に動作プログラムを実行して仮想空間内においてロボットの3次元モデルを動作させることにより、教示点間に、動作経路を規定する多数の補間点が形成され、各補間点において、ロボットと周辺装置との干渉の有無を確認できる。しかしながら、多数の補間点のそれぞれにTCPを配置するロボットの3次元モデルを計算することには多大な時間を要する。
【0006】
そして、いずれかの補間点において干渉が発生した場合には、中間点の追加あるいは修正を行って、動作プログラムを再度実行する作業を繰り返す必要があり、最終的に動作経路を得るまでに膨大な時間がかかってしまう。
したがって、干渉を回避し得る動作経路の生成に要する時間を短縮することが望まれている。
【課題を解決するための手段】
【0007】
本開示の一態様は、少なくとも1つのプロセッサを備え、該プロセッサが、複数の教示点を含む動作プログラムが入力されることにより、該動作プログラムに従って各前記教示点間に形成されるロボットのツール先端点の動作経路上に、多数の補間点を生成するとともに、前記補間点に前記ツール先端点が配置されたときの前記ロボットの1以上の関節点の座標を算出し、生成された各前記補間点および算出された前記関節点と周辺装置との間の干渉の有無を検出するオフライン教示装置である。
【図面の簡単な説明】
【0008】
【
図1】本開示の一実施形態に係るオフライン教示装置を示すブロック図である。
【
図2】
図1のオフライン教示装置により動作プログラムを生成するロボットの一例を模式的に示す図である。
【
図3】
図1のオフライン教示装置を用いた本開示の一実施形態に係る動作プログラム生成方法を示すフローチャートである。
【
図4】
図1のオフライン教示装置において周辺装置との干渉を検出する対象を説明する模式図である。
【発明を実施するための形態】
【0009】
本開示の一実施形態に係るオフライン教示装置1について、図面を参照して以下に説明する。
本実施形態に係るオフライン教示装置1は、
図1に示されるように、基本動作プログラム生成部2と、補間点生成部3と、干渉検出部4と、動作プログラム修正部5とを備えている。基本動作プログラム生成部2、補間点生成部3、干渉検出部4および動作プログラム修正部5は、少なくとも1つのプロセッサ、メモリおよびモニタを備えている。
【0010】
基本動作プログラム生成部2は、同一の仮想空間上に配置されるロボット(
図2参照)100、周辺装置およびワーク等の3次元モデルを記憶している。ユーザが、モニタに表示された仮想空間内においてロボット100の3次元モデルを動作させながら、教示点を指定し、指定された教示点間の動作速度および加速度、補間方法等の情報を入力することにより、基本の動作プログラムを生成することができる。
【0011】
補間点生成部3は、入力されてきた動作プログラムに規定された教示点、速度および加速度、補間方法等の情報に従って、仮想空間上においてロボット100を動作させるときに、ロボット100のTCP(ツール先端点)が移動する動作経路を生成する。この際、一定時間毎にロボット100の各軸がどの様な値を取るかも含めて経路上の点が求められる。この経路上の点が補間点である。従って経路生成の際に多数の補間点が自動的に生成される。補間点生成部3は、生成した全ての補間点の3次元座標の情報を出力する。
【0012】
干渉検出部4は、補間点生成部3から出力された補間点の座標情報を用いて、各補間点にTCPが配置されている場合のロボット100の関節点の3次元座標を算出する。
ロボット100は、例えば、
図2に示されるように、垂直6軸多関節型ロボットであり、床面Fに設置されるベース110と、鉛直な第1軸線J1回りにベース110に対して回転可能に支持された旋回胴120とを備えている。また、ロボット100は、水平な第2軸線J2回りに旋回胴に対して揺動可能に支持された第1アーム130と、第2軸線J2に平行な第3軸線J3回りに第1アーム130に対して揺動可能に支持された第2アーム140とを備えている。さらに、ロボット100は、第2アーム140の先端に、3軸の手首ユニット150を備えている。
【0013】
関節点としては、例えば、
図2に示されるように、第1軸線J1を含み、第2軸線J2に直交する平面と、第2軸線J2との交点A1、第3軸線J3との交点A2および、手首ユニット150の3軸線J4~J6の交点A3を挙げることができる。
干渉検出部4は、各補間点(TCP)と周辺装置との干渉の有無を検出するとともに、各関節点A1,A2,A3と周辺装置との干渉の有無をも検出する。
干渉検出部4は、干渉が発生したときには、その補間点の直前または直後のいずれかの教示点の情報を出力する。ここで教示点の情報は、例えば、教示点の番号でよい。
【0014】
動作プログラム修正部5は、干渉検出部4から干渉が発生した補間点の前後のいずれかの教示点の情報を受け取ると、公知の方法によって補間点の前後の教示点間に、周辺装置との干渉を回避する位置に配置される中間点(中間の教示点)を生成する。直前の教示点から中間点への動作における速度および加速度の情報は、直前の教示点から中間点において減速することなく直後の教示点まで動作する情報が設定される。
【0015】
このように構成された本実施形態に係る動作プログラム生成方法について以下に説明する。
本実施形態に係るオフライン教示装置1を用いて動作プログラムを生成するには、まず、ユーザが、基本動作プログラム生成部2において教示点を教示する。教示点の教示は、ユーザが、モニタ上に表示されたロボット100の3次元モデルを操作して、モニタ上に表示されているワークに対して作業を行うための複数の教示点を指定することにより行われる。
【0016】
この場合に、ユーザは、モニタ上に表示されている周辺装置とロボット100との干渉を回避しながら、基本の動作プログラムの開始点、終了点およびこれらの間に設定される1以上の教示点を指定する。さらに、ユーザは、各教示点間のロボット100の動作を規定するための速度、加速度および補間方法等の情報を入力する。これにより、
図3に示されるように、基本の動作プログラムが生成される(ステップS1)。ここでは、教示点の追加方法として、ユーザ自身がある程度干渉を回避する教示を行うものを例示したが、これに限られるものではない。例えば、ユーザが開始点と終了点のみを指定して、干渉を回避する教示点を公知の方法で自動的に追加してもよい。
【0017】
基本動作プログラム生成部2において生成された基本の動作プログラムは、補間点生成部3に送られて、補間点生成部3において、各教示点間におけるTCPの動作経路が算出されるとともに、動作経路上に多数の補間点が生成される(ステップS2)。
生成された補間点の座標は、干渉検出部4に出力される。
【0018】
多数の補間点の座標が補間点生成部3から送られてくると、干渉検出部4は、各補間点にTCPが配置されているときのロボット100の関節点A1~A3の座標を算出する(ステップS3)。また、補間点の算出時点で関節点A1~A3の角度は決定済みである。関節点A1~A3の座標は、補間点の座標とロボット100の機構の情報とから逆変換することによって算出すればよい。
【0019】
干渉検出部4は、各補間点および関節点A1~A3の座標から、TCPまたは関節点A1~A3が周辺装置と干渉しているか否かを検出する(ステップS4)。
【0020】
TCPまたは関節点A1~A3が周辺装置と干渉している場合には、干渉検出部4は、干渉が発生した補間点の直前および直後の2つの教示点の少なくとも一方の情報を出力する(ステップS5)。
干渉検出部4から出力された教示点の情報は、動作プログラム修正部5に送られる。また、基本動作プログラムは基本動作プログラム生成部2から動作プログラム修正部5に送られる。
【0021】
動作プログラム修正部5は、干渉が発生した補間点を挟む2つの教示点の間に、周辺装置との干渉を回避する中間点を、公知の方法によって生成することにより、動作プログラムを修正する(ステップS6)。
修正された動作プログラムは、補間点生成部3に送られる。
【0022】
そして、ステップS4において全ての補間点において干渉が発生しないことが検出されるまで、ステップS2からの工程が繰り返される。
ステップS4において干渉が検出されなかった場合には、最終の動作プログラムが出力され(ステップS7)、処理が終了する。
【0023】
このように、本実施形態に係るオフライン教示装置1および動作プログラム生成方法によれば、動作プログラムを実行することなく、ロボット100と周辺装置との大まかな干渉チェックを行うことができる。すなわち、通常、動作プログラムの実行に先立つロボット100の動作計画において生成される補間点の情報を用いることにより、動作プログラムを実行せずに、TCPおよび関節点A1~A3と周辺装置との干渉が発生しない動作プログラムを生成することができる。
【0024】
動作経路上に多数生成される全ての補間点についてロボット100の3次元モデルを用いた干渉チェックを行う場合と比較して、干渉チェックに要する時間を大幅に短縮することができるという利点がある。また、干渉が発生した場合に、中間点の追加と、追加された中間点を含めた教示点に基づく新たな補間点の生成と、生成された補間点に基づく干渉チェックとが繰り返し行われるので、さらに効果的に時間を短縮することができる。
【0025】
また、本実施形態は、ロボット100と周辺装置との干渉を大まかに回避可能な動作プログラムを生成するものである。詳細な干渉の有無についてはロボット100の3次元モデルを用いた干渉チェックが必要となるが、本実施形態によれば、最終的に行われる3次元モデルを用いた干渉チェックの回数を大幅に減らすことができ、その結果、動作プログラムを作成する時間を短縮できる。
【0026】
なお、本実施形態においては、基本の動作プログラムを生成する基本動作プログラム生成部2を備えることとしたが、これを省き、基本の動作プログラムについては、別途作成して入力することにしてもよい。
また、本実施形態においては、補間点と周辺装置との干渉の他、補間点から算出される関節点A1~A3と周辺装置との干渉の有無についても検出することとしたが、補間点と周辺装置との干渉の有無のみを検出することにしてもよい。
【0027】
また、関節点A1~A3に加えて、
図4に示されるように、関節点A1~A3を結ぶ線分L1,L2,L3と周辺装置との干渉の有無についても検出してもよい。これによれば、ロボット100と周辺装置との干渉をさらに詳細にチェックできるとともに、ロボット100の3次元モデルを用いる場合と比較して、大幅に計算量を低減し、検出に要する時間を短縮することができる。
【符号の説明】
【0028】
1 オフライン教示装置
2 基本動作プログラム生成部(プロセッサ)
3 補間点生成部(プロセッサ)
4 干渉検出部(プロセッサ)
5 動作プログラム修正部(プロセッサ)
100 ロボット
A1,A2,A3 関節点(交点)