特許第6816068号(P6816068)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ファナック株式会社の特許一覧

<>
  • 特許6816068-ロボットプログラム生成装置 図000002
  • 特許6816068-ロボットプログラム生成装置 図000003
  • 特許6816068-ロボットプログラム生成装置 図000004
  • 特許6816068-ロボットプログラム生成装置 図000005
  • 特許6816068-ロボットプログラム生成装置 図000006
  • 特許6816068-ロボットプログラム生成装置 図000007
  • 特許6816068-ロボットプログラム生成装置 図000008
  • 特許6816068-ロボットプログラム生成装置 図000009
  • 特許6816068-ロボットプログラム生成装置 図000010
  • 特許6816068-ロボットプログラム生成装置 図000011
  • 特許6816068-ロボットプログラム生成装置 図000012
  • 特許6816068-ロボットプログラム生成装置 図000013
  • 特許6816068-ロボットプログラム生成装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6816068
(24)【登録日】2020年12月25日
(45)【発行日】2021年1月20日
(54)【発明の名称】ロボットプログラム生成装置
(51)【国際特許分類】
   B25J 9/22 20060101AFI20210107BHJP
【FI】
   B25J9/22 A
【請求項の数】3
【全頁数】11
(21)【出願番号】特願2018-129338(P2018-129338)
(22)【出願日】2018年7月6日
(65)【公開番号】特開2020-6472(P2020-6472A)
(43)【公開日】2020年1月16日
【審査請求日】2019年12月9日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【弁理士】
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【弁理士】
【氏名又は名称】廣瀬 繁樹
(72)【発明者】
【氏名】井上 幸三
【審査官】 貞光 大樹
(56)【参考文献】
【文献】 特開2017−213644(JP,A)
【文献】 特開2007−38366(JP,A)
【文献】 特開2016−74063(JP,A)
【文献】 特開2007−160486(JP,A)
【文献】 国際公開第2007/113112(WO,A1)
【文献】 特開2001−105359(JP,A)
【文献】 特開2005−148789(JP,A)
【文献】 特開2008−15683(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 − 21/02
G05B 19/18 − 19/416
G05B 19/42 − 19/46
(57)【特許請求の範囲】
【請求項1】
ロボット及び周辺装置を少なくとも含むロボットシステムのためのロボットプログラム生成装置であって、
前記ロボットシステムの典型的な配置パターンを選択する手段と、
選択した前記配置パターンに配置する配置要素を夫々選択する手段と、
静止状態の前記配置要素が互いに干渉しないレイアウトを自動生成する手段と、
選択した前記配置パターンに応じた作業内容、及び、自動生成した前記レイアウトに従って、ロボットプログラムを自動生成する手段と、
自動生成した前記ロボットプログラムを仮想環境上で実行し、動作状態の前記ロボットの干渉の有無、及び、ワークに対する前記ロボットの到達可否に基づいて、自動生成した前記レイアウトにおける前記配置要素の設置位置を自動修正する手段と、
自動修正した前記設置位置に基づいて前記ロボットプログラムを補正する手段と、
を備えることを特徴とするロボットプログラム生成装置。
【請求項2】
ワーク取出し位置で、予め設定したツール中心点を通る軸線回りに前記ロボットのフェースプレートを仮想空間上で移動し、動作状態の前記ロボットが前記配置要素と干渉せず、且つ、前記フェースプレートの中心位置と前記ロボットの固定ベースに設定した原点との間の距離が最短になる、前記ワークに対する前記フェースプレートの位置をワーク取出し姿勢として決定する手段と、
ワーク払出し位置で、前記軸線回りに前記フェースプレートを仮想空間上で移動し、動作状態の前記ロボットが前記配置要素と干渉せず、且つ、前記フェースプレートの中心位置と前記ロボットの固定ベースに設定した原点との間の距離が最短になる、前記ワークに対する前記フェースプレートの位置をワーク払出し姿勢として決定する手段と、
をさらに備える、請求項1に記載のロボットプログラム生成装置。
【請求項3】
前記ワーク取出し姿勢を決定する手段は、
前記ワーク払出し姿勢が予め決められている場合に、
前記ワーク取出し位置で、前記軸線回りに前記フェースプレートを仮想空間上で移動し、動作状態の前記ロボットが前記配置要素と干渉せず、且つ、前記フェースプレートの中心位置と前記ロボットの固定ベースに設定した原点との間の距離が最短になる、前記ワークに対する前記フェースプレートの位置を前記ワーク取出し姿勢として設定する手段と、
設定した前記ワーク取出し姿勢のまま、前記ロボットを前記ワーク払出し位置へ仮想空間上で移動し、動作状態の前記ロボットと前記配置要素との間の干渉の有無、及び、予め決められた前記ワーク払出し姿勢に対する前記ワーク取出し姿勢の適合性を判定する手段と、
前記ロボットが前記配置要素に干渉するか、又は、設定した前記ワーク取出し姿勢が予め決められた前記ワーク払出し姿勢に適合しない場合に、前記ワーク取出し位置で前記ワーク取出し姿勢を再設定する処理を繰返すことにより、前記ワーク取出し姿勢を決定する手段と、
を有する、請求項2に記載のロボットプログラム生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットプログラム生成装置に関し、特にロボット及び周辺装置を少なくとも含むロボットシステムのためのロボットプログラム生成装置に関する。
【背景技術】
【0002】
オフラインプログラミングに必要なロボットシステムのレイアウト作成、プログラム作成、及びシミュレーションを行うためには多くのプログラミングに関する知識、シミュレーション装置の知識、ロボットの知識が必要である。従って、最終的なシミュレーションを行うためには多大な時間を要していた。シミュレーション工数を削減するため、種々の技術が開示されている。
【0003】
特許文献1には、ロボット教示プログラム編集装置が開示されている。プログラム編集装置では、ロボット、ワーク、周辺装置等を仮配置したワークセルの雛形と、ロボット作業指示の雛形と、配置物体に関連するロボット動作指令とが予め定義される。ロボット作業指示の雛形の文型に即して作業指示を音声入力すると、配置物体に関連するロボット動作指令が表示されると共に、画面上にロボット動作が表示される。
【0004】
特許文献2には、ロボットプログラミング装置が開示されている。ロボットプログラミング装置では、新規ワークに対する形状特徴の合致度が最も高いハンドの三次元形状データが記憶されており、新規ワークに対するロボットの最適な搬送作業プログラムを少ない工数で容易に且つ確実に作成できる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−148789号公報
【特許文献2】特開2008−015683号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ワークセルに配置する配置要素の種類及びレイアウトは、ロボットシステムを導入するユーザの要望、環境等に応じて変わる。また、レイアウトは、静止状態における配置要素の干渉、動作状態におけるロボットと他の配置要素との間の干渉を回避するように作成しなければならない。即ち、レイアウトは、配置要素の設置位置及び大きさ、配置パターンに応じたロボットの作業内容及び動作範囲、ワークに対するロボットの位置及び姿勢等、種々の影響を受ける。このようにレイアウト及びロボットプログラムは相互に影響を与えるため、シミュレーション工数が掛かる原因となっていた。
【0007】
そこで、簡単な画面操作で典型的な配置パターンのロボットプログラムを即時に生成する技術が望まれている。
【課題を解決するための手段】
【0008】
本開示の一態様は、ロボット及び周辺装置を少なくとも含むロボットシステムのためのロボットプログラム生成装置であって、ロボットシステムの典型的な配置パターンを選択する手段と、選択した配置パターンに配置する配置要素を夫々選択する手段と、静止状態の配置要素が互いに干渉しないレイアウトを自動生成する手段と、選択した配置パターンに応じた作業内容、及び、自動生成したレイアウトに従って、ロボットプログラムを自動生成する手段と、自動生成したロボットプログラムを仮想環境上で実行し、動作状態のロボットの干渉の有無、及び、ワークに対するロボットの到達可否に基づいて、レイアウトにおける配置要素の設置位置を自動修正する手段と、自動修正した設置位置に基づいてロボットプログラムを補正する手段と、を備える、ロボットプログラム生成装置を提供する。
【発明の効果】
【0009】
本開示の一態様によれば、レイアウトの作成工数及びロボットプログラムの作成工数が削減されると共に、ロボットシステムの仕様検討が容易になる。
【図面の簡単な説明】
【0010】
図1】一実施形態におけるロボットプログラム生成装置のブロック図である。
図2A】一実施形態における配置パターンを選択する選択画面である。
図2B】一実施形態における周辺装置を選択する選択画面である。
図2C】一実施形態におけるロボットを選択する選択画面である。
図2D】一実施形態におけるハンドを選択する選択画面である。
図2E】一実施形態におけるワークを選択する選択画面である。
図3】一実施形態におけるロボットプログラム生成ソフトウェアのフローチャートである。
図4】一実施形態における自動生成したレイアウトを表示する表示画面である。
図5A】一実施形態におけるワーク取出し姿勢及びワーク払出し姿勢の決定手順を示す説明図である。
図5B】一実施形態におけるワーク取出し姿勢及びワーク払出し姿勢の決定手順を示す説明図である。
図6】一実施形態におけるワーク取出し姿勢及びワーク払出し姿勢の決定手順を示すフローチャートである。
図7】他の実施形態におけるワーク取出し姿勢及びワーク払出し姿勢の決定手順を示す説明図である。
図8】他の実施形態におけるワーク取出し姿勢及びワーク払出し姿勢の決定手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本開示の実施形態を詳細に説明する。各図面において、同一又は類似の要素には同一又は類似の符号が付与されている。また、以下に記載する実施形態は、特許請求の範囲に記載される発明の技術的範囲及び用語の意義を限定するものではない。
【0012】
図1は、本実施形態におけるロボットプログラム生成装置10のブロック図である。ロボットプログラム生成装置10は、CPU11、RAM12、ROM13、不揮発性メモリ14、表示部15、入力部16、及び通信制御部17を少なくとも備える公知のコンピュータで構成される。ROM13は、ロボットプログラム生成ソフトウェア20を予め記憶している。ロボットプログラム生成ソフトウェア20は、ロボット、周辺装置、ハンド、ワーク、テーブル等を含むロボットシステムのためのロボットプログラムを生成するソフトウェアであり、簡単なウィザード操作で典型的な配置パターンのロボットプログラムを即時に生成する。CPU11は、ロボットプログラム生成ソフトウェア20をROM13からRAM12に読出して実行し、出力データを液晶ディスプレイ装置等の表示部15に表示する指令を行い、入力データをタッチパネル装置等の入力部16から入力する指令を行うと共に、生成したロボットプログラム等を通信制御部17からロボット制御装置(図示せず)へ送信する指令を行う。
【0013】
不揮発性メモリ14は、複数種類の配置パターンデータ21、複数種類の周辺装置データ22、複数種類のロボットデータ23、複数種類のハンドデータ24、複数種類のワークデータ25、複数種類の作業内容データ26等を予め記憶している。配置パターンデータ21は典型的な配置パターンに配置される種々の配置要素(ロボット、周辺装置、テーブル、ワーク等)の設置位置データを含む。設置位置は、配置要素の設置面の中心位置として定義される。周辺装置データ22は種々の工作機械の三次元形状データ(例えば射出成型機、放電加工機、レーザ加工機等の形状データ)を含む。ロボットデータ23は種々の産業用ロボットの三次元形状データを含み、ハンドデータ24は種々のハンドの三次元形状データ(例えば吸着ハンド、電動ハンド等の形状データ)を含む。ワークデータ25は種々のワークの三次元形状データ(例えば立方体、円柱、球体等)を含む。作業内容データ26は配置パターンに応じて予め定義された種々の作業フローと、作業フローに対応する種々のロボット動作指令と、を含む。作業フローとしては、例えばロボットAがドアオープン信号に応じて周辺装置Bのワーク取出し位置からテーブルCのワーク払出し位置へワークDを移動する、等を挙げることができる。
【0014】
図2A図2Eは、ロボットプログラム生成ソフトウェアのウィザード画面を示している。図2Aは、ロボットシステムの配置パターンを選択する選択画面30を示しており、配置パターンの選択画面30には、典型的な配置パターンを描写した複数の選択ボタン40が表示される。図2Bは、選択した配置パターンに配置する周辺装置の選択画面31を示しており、周辺装置の選択画面31には、複数種類の周辺装置を描写した複数の選択ボタン41と、周辺装置のドア位置を選択する選択ボタン42と、が表示される。図2Cは、選択した配置パターンに配置するロボットの選択画面32を示しており、ロボットの選択画面32には、複数種類のロボットを描写した複数の選択ボタン43が表示される。図2Dは、選択した配置パターンに配置するハンドの選択画面33を示しており、ハンドの選択画面33には、複数種類のハンドを描写した複数の選択ボタン44が表示される。図2Eは、選択した配置パターンに配置するワークの選択画面34を示しており、ワークの選択画面34には、複数種類のワークを描写した複数の選択ボタン45が表示される。ワークの選択ボタン45は、ワークのCADデータを選択する選択ボタンと、典型的なワーク形状を選択する選択ボタンと、を有している。他の実施形態では、ワークを配置するテーブルを選択する選択画面を有していてもよい。
【0015】
図3は、ロボットプログラム生成ソフトウェアのフローチャートである。ロボットプログラム生成ソフトウェアは、下記のステップを実行することにより、ロボットシステムのレイアウト及びロボットプログラムを自動生成する。
(ステップS10)典型的な複数種類の配置パターンの中からロボットシステムの配置パターンを選択する(図2Aを参照。)。
(ステップS11)複数種類の周辺装置、複数種類のロボット、複数種類のハンド、及び複数種類のワークの中から、選択した配置パターンに配置する配置要素を選択する(図2B図2Eを参照。)。
(ステップS12)選択した配置要素を仮想空間上に配置する。
(ステップS13)静止状態で配置要素の干渉が有るかを判定する。干渉判定には、公知の種々の手法を利用できる。
(ステップS14)静止状態の配置要素の干渉が有る場合には(ステップS13のYES)、自動生成したレイアウトにおける配置要素の設置位置を自動修正する。ここでは、干渉している配置要素(ロボット、周辺装置、ワーク、テーブル等)の何れかの設置位置を干渉しない位置に移動する。
(ステップS15)静止状態で配置要素の干渉が無い場合には(ステップS13のNO)、選択した配置パターンに依存する作業内容、及び、自動生成したレイアウトに従ってロボットプログラムを自動生成する。ここでは、例えばロボットAがドアオープン信号に応じてテーブルCのワーク取出し位置から周辺装置Bのワーク払出し位置へワークDを移動するロボットプログラムが生成される。
【0016】
(ステップS16)自動生成したロボットプログラムを仮想空間上で実行する。
(ステップS17)動作状態のロボットと他の配置要素との間の干渉が有るか、又は、ロボットがワークに到達しないかを判定する。動作状態のロボットが他の配置要素と干渉せず、且つ、ロボットがワークに到達する場合には(ステップS17のNO)、レイアウト及びロボットプログラムの自動生成が終了する。
(ステップS18)動作状態のロボットが他の配置要素と干渉するか、又は、ロボットがワークに到達しない場合には(ステップS17のYES)、自動生成したレイアウトにおける配置要素の設置位置を自動修正する。次いで、ステップS15に戻り、自動修正した設置位置に基づいてロボットプログラムを補正(再生成)する。
【0017】
図4は、自動生成したレイアウト50を表示する表示画面である。レイアウト50は、周辺装置51、ロボット52、ハンド53、ワーク54、及びテーブル55の設置位置データを含んでいる。レイアウト50の表示画面により、ユーザの要望、環境等に応じてロボットシステムの仕様検討を容易に行うことができる。また、簡単なウィザード操作で典型的なレイアウトのロボットプログラムが即時に生成されるため、レイアウトの作成工数、ロボットプログラムの作成工数が削減される。
【0018】
図5A図5Bは、ワーク取出し姿勢及びワーク払出し姿勢の決定手順を示す説明図である。ワーク取出し姿勢及びワーク払出し姿勢に自由度がある場合には、図5Aに示すように予め設定したツール中心点(TCP)を通る軸線Z回りにフェースプレート56を移動し(例えば回転し)、図5Bに示すようにフェースプレート56の中心位置とロボット52の固定ベース57に設定した原点O(図4参照。)との間の距離が最短になる、ワーク54に対するフェースプレート56の位置をワーク取出し姿勢又はワーク払出し姿勢として決定する。
【0019】
図6は、図5で概説したワーク取出し姿勢及びワーク払出し姿勢を決定するフローチャートである。ロボットプログラム生成ソフトウェアは、下記のステップを実行することにより、ワーク取出し姿勢及びワーク払出し姿勢を決定する。
(ステップS20)ロボット52をワーク取出し位置へ移動する。
(ステップS21)予め設定したTCPを通る軸線Z回りにロボット52のフェースプレート56を移動し、動作状態のロボット52が他の配置要素と干渉せず、且つ、フェースプレート56の中心位置とロボット52の固定ベース57に設定した原点O(図4参照。)との間の距離が最短になる、ワーク54に対するフェースプレート56の位置をワーク取出し姿勢として決定する。
(ステップS22)ロボット52をワーク払出し位置へ移動する。
(ステップS23)予め設定したTCPを通る軸線Z回りにロボット52のフェースプレート56を移動し、動作状態のロボット52が他の配置要素と干渉せず、且つ、フェースプレート56の中心位置とロボット52の固定ベース57に設定した原点Oとの間の距離が最短になる、ワーク54に対するフェースプレート56の位置をワーク払出し姿勢として決定する。
【0020】
フェースプレート56の中心位置とロボット52の固定ベース57に設定した原点Oとの間の距離が最短になる姿勢をワーク取出し姿勢及びワーク払出し姿勢として決定することにより、ロボットの不自然な姿勢を回避し、サイクルタイムを最適化すると共に、干渉状態を考慮してロボットプログラムを生成できる。
【0021】
図7は、他の実施形態におけるワーク取出し姿勢及びワーク払出し姿勢の決定手順を示す説明図である。ワーク払出し姿勢が予め決められている場合には、ワークの取出し位置60で、予め設定したTCPを通る軸線Z回りにフェースプレート56を仮想空間上で移動し、フェースプレート56の中心位置とロボット52の固定ベース57に設定した原点Oとの間の距離が1番目に近い、ワーク54に対するフェースプレート56の位置をワーク取出し姿勢として設定し、設定したワーク取出し姿勢のままロボット52をワーク払出し位置61へ仮想空間上で移動する。設定したワーク取出し姿勢が予め決められたワーク払出し姿勢に適合しない場合には、フェースプレート56の中心位置とロボット52の固定ベース57に設定した原点Oとの間の距離が2番目に近い、ワーク54に対するフェースプレート56の位置をワーク取出し姿勢として再設定し、同様の処理を繰返していく。
【0022】
図8は、図7で概説したワーク取出し姿勢及びワーク払出し姿勢を決定するフローチャートである。ロボットプログラム生成ソフトウェアは、下記のステップを実行することにより、ワークの取出し姿勢及びワークの払出し姿勢を決定する。
(ステップS30)i(整数を入力する変数)に1を代入する。
(ステップS31)ロボット52をワーク取出し位置60へ仮想空間上で移動する。
(ステップS32)予め設定したTCPを通る軸線回りにロボット52のフェースプレート56を移動し、動作状態のロボット52が他の配置要素と干渉せず、且つ、フェースプレート56の中心位置とロボット52の固定ベース57に設定した原点Oとの間の距離がi番目に近くなる、ワーク54に対するフェースプレート56の位置をワーク取出し姿勢として設定する。
(ステップS33)設定したワーク取出し姿勢のままロボット52をワーク払出し位置61へ仮想空間上で移動する。
(ステップS34)iに1を加算する。
【0023】
(ステップS35)動作状態のロボット52と他の配置要素との間の干渉が有るか、又は、ワーク取出し姿勢が予め決められたワーク払出し姿勢に適合しないかを判定する。適合判定には、許容範囲を予め定義してもよい。ロボットが他の配置要素に干渉するか、又は、ワーク取出し姿勢が予め決められたワーク払出し姿勢に適合しない場合には(ステップS35のYES)、ステップS31に戻り、ワーク取出し位置60でワーク取出し姿勢を再設定し、同様の処理(ステップS31−ステップS35)を繰返していく。
(ステップS36)ロボットが他の配置要素に干渉せず、且つ、ワーク取出し姿勢が予め決められたワーク払出し姿勢に適合した場合には(ステップS35のYES)、設定したワーク取出し姿勢をワーク取出し姿勢として決定する。
【0024】
設定したワーク取出し姿勢が予め決められたワーク払出し姿勢に適合するか判定することにより、ワーク払出し姿勢が予め決められている場合でも、干渉の無い適度な姿勢でワークを取出すことができる。
【0025】
前述したフローチャートを実行するソフトウェアは、コンピュータ読取り可能な非一時的記録媒体、例えばCD−ROM等に記録して提供してもよい。
【0026】
本明細書において種々の実施形態について説明したが、本発明は、前述の実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。
【符号の説明】
【0027】
10 ロボットプログラム生成装置
11 CPU
12 RAM
13 ROM
14 不揮発性メモリ
15 表示部
16 入力部
17 通信制御部
20 ロボットプログラム生成ソフトウェア
21 配置パターンデータ
22 周辺装置データ
23 ロボットデータ
24 ハンドデータ
25 ワークデータ
26 作業内容データ
30 配置パターンの選択画面
31 周辺装置の選択画面
32 ロボットの選択画面
33 ハンドの選択画面
34 ワークの選択画面
50 レイアウト
51 周辺装置
52 ロボット
53 ハンド
54 ワーク
55 テーブル
56 フェースプレート
57 固定ベース
60 ワーク取出し位置
61 ワーク払出し位置
図1
図2A
図2B
図2C
図2D
図2E
図3
図4
図5A
図5B
図6
図7
図8