(58)【調査した分野】(Int.Cl.,DB名)
ワーク取出し位置で、予め設定したツール中心点を通る軸線回りに前記ロボットのフェースプレートを仮想空間上で移動し、動作状態の前記ロボットが前記配置要素と干渉せず、且つ、前記フェースプレートの中心位置と前記ロボットの固定ベースに設定した原点との間の距離が最短になる、前記ワークに対する前記フェースプレートの位置をワーク取出し姿勢として決定する手段と、
ワーク払出し位置で、前記軸線回りに前記フェースプレートを仮想空間上で移動し、動作状態の前記ロボットが前記配置要素と干渉せず、且つ、前記フェースプレートの中心位置と前記ロボットの固定ベースに設定した原点との間の距離が最短になる、前記ワークに対する前記フェースプレートの位置をワーク払出し姿勢として決定する手段と、
をさらに備える、請求項1に記載のロボットプログラム生成装置。
【背景技術】
【0002】
オフラインプログラミングに必要なロボットシステムのレイアウト作成、プログラム作成、及びシミュレーションを行うためには多くのプログラミングに関する知識、シミュレーション装置の知識、ロボットの知識が必要である。従って、最終的なシミュレーションを行うためには多大な時間を要していた。シミュレーション工数を削減するため、種々の技術が開示されている。
【0003】
特許文献1には、ロボット教示プログラム編集装置が開示されている。プログラム編集装置では、ロボット、ワーク、周辺装置等を仮配置したワークセルの雛形と、ロボット作業指示の雛形と、配置物体に関連するロボット動作指令とが予め定義される。ロボット作業指示の雛形の文型に即して作業指示を音声入力すると、配置物体に関連するロボット動作指令が表示されると共に、画面上にロボット動作が表示される。
【0004】
特許文献2には、ロボットプログラミング装置が開示されている。ロボットプログラミング装置では、新規ワークに対する形状特徴の合致度が最も高いハンドの三次元形状データが記憶されており、新規ワークに対するロボットの最適な搬送作業プログラムを少ない工数で容易に且つ確実に作成できる。
【図面の簡単な説明】
【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】
本明細書において種々の実施形態について説明したが、本発明は、前述の実施形態に限定されるものではなく、以下の特許請求の範囲に記載された範囲内において種々の変更を行えることを認識されたい。