JP2021020309A - ロボット制御プログラム生成システム、ロボット制御プログラム生成方法、及びプログラム - Google Patents

ロボット制御プログラム生成システム、ロボット制御プログラム生成方法、及びプログラム Download PDF

Info

Publication number
JP2021020309A
JP2021020309A JP2020014373A JP2020014373A JP2021020309A JP 2021020309 A JP2021020309 A JP 2021020309A JP 2020014373 A JP2020014373 A JP 2020014373A JP 2020014373 A JP2020014373 A JP 2020014373A JP 2021020309 A JP2021020309 A JP 2021020309A
Authority
JP
Japan
Prior art keywords
robot
operation process
application
unit
program
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.)
Pending
Application number
JP2020014373A
Other languages
English (en)
Inventor
正隆 鶴海
Masataka Tsurumi
正隆 鶴海
秀文 吉沢
Hidefumi Yoshizawa
秀文 吉沢
康宏 田中
Yasuhiro Tanaka
康宏 田中
武志 小川
Takeshi Ogawa
武志 小川
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.)
Dyadic Systems Co Ltd
Original Assignee
Dyadic Systems Co Ltd
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 Dyadic Systems Co Ltd filed Critical Dyadic Systems Co Ltd
Publication of JP2021020309A publication Critical patent/JP2021020309A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】 ロボットの制御プログラムを効率的に生成するロボット制御プログラム生成システムを提供する。【解決手段】 ロボット制御プログラム生成システムは、ロボットの用途と、用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納部と、ユーザの選択に基づいて、ロボットの用途を決定する用途決定部と、用途決定部により決定されたロボットの用途に関連付けられた動作工程を、動作工程格納部から取得する動作工程取得部と、ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付部と、動作工程取得部により取得された動作工程と、パラメータ受付部により受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成部とを有し、ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む。【選択図】図1

Description

本発明は、ロボット制御プログラム生成システム、ロボット制御プログラム生成システム方法、及びプログラムに関するものである。
例えば、特許文献1では、作業ロボットに対して作業を指示するジョブを作成するジョブ作成装置であって、前記作業ロボットの作業対象物に関する作業対象関連データを参照可能な態様で前記作業ロボットが実行可能な動作内容が記述された動作プログラムを予め記憶する動作プログラム記憶部と、前記作業対象物関連データを取得する作業対象物関連データ取得部と、前記記憶された動作プログラムと前記取得された作業対象物関連データとを含むジョブを作成して前記作業ロボットに出力するジョブ作成部と、を備えることを特徴とするジョブ作成装置が開示されている。
WO2017/130286号公報
本発明は、ロボットの制御プログラムを効率的に生成するロボット制御プログラ生成システムを提供することを目的とする。
本発明に係るロボット制御プログラム生成システムは、ロボットの用途と、前記用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納部と、ユーザの選択に基づいて、ロボットの用途を決定する用途決定部と、前記用途決定部により決定されたロボットの用途に関連付けられた動作工程を、前記動作工程格納部から取得する動作工程取得部と、ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付部と、前記動作工程取得部により取得された動作工程と、前記パラメータ受付部により受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成部とを有し、前記ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む。
好適には、前記ロボットに遠隔で動作を教示する遠隔制御装置をさらに有し、前記遠隔制御装置は、前記用途決定部により決定されたロボットの用途に応じて、起動するプログラムを選択するプログラム選択部と、前記プログラム選択部により選択されたプログラムを実行する実行部と、前記実行部により実行されたプログラムにより、表示画面に、ロボットの用途に応じた動作の教示工程を表示する表示部とを有する。
好適には、前記パラメータ受付部は、作業範囲である形状の頂点の座標を受け付け、前記プログラム生成部は、前記パラメータ受付部により受け付けた座標と、作業対象物の数とに基づいて、前記動作工程取得部により取得された動作工程におけるロボットの同じ動作の繰り返しの数を算出する。
好適には、前記遠隔制御装置は、前記ロボットの各軸に対応するダイヤルを有し、前記ダイヤルの回転量は、前記ロボットの軸の移動距離と、動作速度とに比例し、前記プログラム生成部は、前記ダイヤルの回転量に基づいて、ダイヤルに対応する前記ロボットの各軸の移動距離とスピードとを制御するプログラムを生成する。
好適には、前記用途決定部により決定された用途に基づいて、ユーザが入力すべきパラメータ項目を決定するパラメータ項目決定部をさらに有し、前記表示部は、前記パラメータ内容決定部により決定されたパラメータ項目への入力をユーザに提示する。
好適には、前記パラメータ受付部は、作業対象物を積み上げる形状、又は積み下ろしする形状の入力を受け付け、前記プログラム生成部は、前記パラメータ受付部により受け付けた座標と、作業対象物の数と、作業対象物を積み上げる形状又は積み下ろしする形状とに基づいて、前記動作工程取得部により取得された動作工程におけるロボットの同じ動作の繰り返しの数を算出する。
本発明に係るロボット制御プログラム生成方法は、ロボットの用途と、前記用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納ステップと、ユーザの選択に基づいて、ロボットの用途を決定する用途決定ステップと、前記用途決定ステップにより決定された、ロボットの用途に関連付けられた動作工程を取得する動作工程取得ステップと、ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付ステップと、前記動作工程取得ステップにより取得された動作工程と、前記パラメータ受付ステップにより受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成ステップとを有し、前記ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む。
本発明に係るプログラムは、ロボットの用途と、前記用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納ステップと、ユーザの選択に基づいて、ロボットの用途を決定する用途決定ステップと、前記用途決定ステップにより決定された、ロボットの用途に関連付けられた動作工程を取得する動作工程取得ステップと、ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付ステップと、前記動作工程取得ステップにより取得された動作工程と、前記パラメータ受付ステップにより受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成ステップとコンピュータに実行させ、前記ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む。
本発明によれば、ロボットの制御プログラムを効率的に生成することができる。
ロボット制御プログラム生成システム1の全体構成を例示する図である。 ロボット制御プログラム生成システム1の概要を例示する図である。 ティーチングペンダント5を例示する図である。 ティーチングペンダント5の機能構成を例示する図である。 ロボットコントローラ7の機能構成を例示する図である。 ロボット制御プログラム生成システム1における、ロボット制御プログラムの生成処理(S10)を説明するフローチャートである。 パラメータシートを例示する図である。 m行、n列の正方格子パレットにおける中心座標を説明する図である。 パラメータシートの作成方法(S20)を説明するフローチャートである。 (a)は、基準位置座標を読み取るための必要な要素を例示し、(b)は、カメラ9の中心軸のパレタイジングマーカーへの合わせ方を例示する。 パレタイズマーカーの座標とカメラ9の中心座標とのずれ補正を例示する図である。 ビジュアル工程表を例示する図である。 総合運転プログラムの生成処理(S30)を説明するフローチャートである。
従来、産業ロボットのプログラムは「手続き型言語」を用い、ロボット個々に専用プログラムが製作されていたため、1つのプログラムの開発費は高価であった。
従って、量産ライン向けで、同一動作をさせるロボットの台数で1つのプログラムの開発費を分担することで、1台あたりのソフトウェア費用を低く押さえてきた。例えば、自動車溶接ラインの一例では、総設備台数100台/1ラインで、100台で1つのプログラムのソフトウェア費用を分担していた。
また、ダイレクト ティーチング ボックスも細部の動作変更用に用意されていたが、その使い勝手は「ON−OFF動作」の「ジョグ ボタン」がメインで、滑らかな動きの実現が困難であった。
そこで、本発明は、「手続き型言語」を使用せずに、ユーザ自身により、スカラロボットの用途を選択し、用途に基づいて、スカラロボットをカスタマイズし、ロボットを制御するプログラムを生成することを可能にすることで開発費を削減し、また、ダイヤル式のティーチングペンダントを構成することで、操作性の向上を実現した。
本実施形態のロボット制御プログラム生成システム1について説明する。
図1は、ロボット制御プログラム生成システム1の全体構成を例示する図である。
図1に例示するように、ロボット制御プログラム生成システム1は、スカラロボット3、ティーチングペンダント5、及びロボットコントローラ7を有する。
スカラロボット3は、多関節ロボットであり、サーボモータの力で関節を可動させ、アームの先端に取り付けるエンドエフェクタを目的の位置に移動させ、物を掴んで移動させたり、溶接を行ったり、塗装を行ったりする。スカラロボット3は、本発明に係るロボットの一例である。各関節、すなわち軸には、サーボアクチュエータを含み、これにより、モータの位置や速度の制御を行う。スカラロボット3は、本発明に係る多関節ロボットの一例であるが、多関節ロボットであれば、これに限定されない。
ティーチングペンダント5は、ロボットに遠隔で動作を教示する機器である。具体的には、ティーチングペンダント5は、スカラロボット3に接続され、スカラロボット3の動作や設定、プログラムの入力を受け付ける。また、ティーチングペンダント5は、ユーザによる教示データの変更や修正、新規作成などを行う。教示データとは、スカラロボット3が行うべき動作をスカラロボット3に教示するためのデータである。教示データには、後述するパラメータが含まれる。ティーチングペンダント5は、本発明に係る遠隔制御装置の一例である。具体的には、ティーチングペンダント5は、ユーザにより選択された用途に応じて実行するプログラムを選択し、選択された用途専用のティーチングペンダントとして機能する。また、ティーチングペンダント5は、ロボット制御プログラムを生成するためのパラメータをユーザから受け付ける。
ロボットコントローラ7は、スカラロボット3及びティーチングペンダント5と通信し、スカラロボット3を制御するロボット制御プログラムを生成する。
図2は、ロボット制御プログラム生成システム1の概要を表す図である。
図2に例示するように、ロボット制御プログラム生成システム1は、ピックアンドプレース(ワーク(作業対象物)を把持して移動及び載置する)スカラロボット3の取り得る用途全てを予めN個想定し、図7に例示する、用途別のパラメータシートを用意しておく。ここで、パラメータシートとは、図7に例示するように、スカラロボット3を、特定の用途専用のロボットとして動作させるために必要なパラメータを入力するシートであり、パラメータシートはティーチングペンダント5の表示画面に表示される。図2では、ユーザは、パレタイズロボットとしてスカラロボット3の用途を選択し、ユーザは、パレタイズ用のパラメータシートに対して、スカラロボット3の個別仕様を条件として設定する。ロボット制御プログラム生成システム1において、スカラロボット3の用途が決定すると、動作工程が決まる。そして、スカラロボット3の個別仕様が決まると、必要なパラメータ(位置座標)が決まる。また、必要なパラメータの入力に基づいて、繰り返しの数が決まり、繰り返しの数が決まると、ロボット制御プログラムのステップ数が決まる。動作工程、必要な位置座標、及びステップ数に基づいて、ロボットコントローラ7は、ロボット制御プログラムを生成し、出力する。ワークとは、本発明に係る作業対象物をいう。
次にティーチングペンダント5について説明する。
ティーチングペンダント5は、スカラロボット3の用途に応じて、起動させるプログラムを選択し、起動されたプログラムにより、表示画面の内容が変更され、用途別ロボット専用のティーチングペンダント5が構成される。スカラロボット3の用途とは、例えば、パレタイジング、デパレタイジング、ローダー・アンローダー、及び仕分け機等である。
ティーチングペンダント5により、用途に応じて自動で起動するプログラムが選択されるため、ティーチングペンダント5の操作性が大幅に増大する。さらに、ティーチングペンダント5は、パラメータシートにより、用途別の必要となる基準ポイントパラメータ記入枠を表示画面に表示するため、ユーザは、用途別にロボット制御プログラムに必要なパラメータを予め把握していなくとも、表示画面の内容に従って必要なパラメータを入力すればよく、より効率的に用途別のロボット制御プログラムを生成することが可能である。
従来のロボット ティーチング ボックスと呼ばれている、OFFラインで軸動作の微調整を行う操作盤は、「軸切り替え器」(切り替えられた軸を動かすON−OFF動作のジョグ ボタン)と「変更後のデータをロボット制御プログラムに書き込むスイッチ」とにより構成されていた。しかし、このジョグ ボタンの間歇動作では、目的位置にスカラロボットを正確に位置付ける事は困難であった。また、人手でロボットハンド先端を保持し、人力でスカラロボットを動かすダイレクト・ティーチング手法が行われたが、作業時間が大幅にかかる不都合が存在していた。
本発明における、ティーチングペンダント5は、スカラロボット3の各軸に対応するダイヤルを有する。具体的には、ティーチングペンダント5は、ダイヤル数とスカラロボット3の構成軸数とは等しく、軸数分の回転式ダイヤルと、位置情報を得るためのパルス発生エンコーダが同軸でセットされている。ダイヤルエンコーダのパルス数は、スカラロボット3の最小位置付け分解と一致する。さらに、ダイヤルの回転量は、スカラロボット3の移動距離と動作速度とに比例する。
ダイヤル方式のティーチングペンダント5は、手動で動作速度を決めることが可能であり、目的地近傍は緩やかに、目的地から遠い場合は早く動かすことができるフレキシブル性が容易に得られ、ユーザの負担が軽減され、従来の不都合を解消することができる。
すなわち、ティーチングペンダント5は、ユーザによるスカラロボット3の操作を容易にし、且つ、プログラム変更(ティーチング動作)も簡便にすることで作業時間の大幅な軽減を可能にする。
図3は、ティーチングペンダント5を例示する図である。
ここでは、スカラロボット3が4軸である場合を説明する。
図3に例示するように、ティーチングペンダント5は、X軸用位置表示器51、Y軸用位置表示器52、Z軸用位置表示器53、θ軸用位置表示器54、X軸ダイヤル55、Y軸ダイヤル56、Z軸ダイヤル57、θ軸ダイヤル58、X軸書き込みスイッチ59、Y軸書き込みスイッチ60、Z軸書き込みスイッチ61、θ軸書き込みスイッチ62、及び表示画面63を有する。X軸用位置表示器51、Y軸用位置表示器52、Z軸用位置表示器53、及びθ軸用位置表示器54は、スカラロボット3の各軸の位置を表示し、X軸ダイヤル55、Y軸ダイヤル56、Z軸ダイヤル57、及びθ軸ダイヤル58は、スカラロボット3の各軸と対応し、スカラロボット3を動作させるダイヤルである。X軸書き込みスイッチ59、Y軸書き込みスイッチ60、Z軸書き込みスイッチ61、及びθ軸書き込みスイッチ62は、各軸の座標を確定させるスイッチである。表示画面63は、スカラロボット3のパラメータシート、すなわち、用途別の必要パラメータ項目を表示する液晶ディスプレイである。
図4は、ティーチングペンダント5の機能構成を例示する図である。
図4に例示するように、ティーチングペンダント5には、ティーチングペンダントプログラム50がインストールされると共に、用途別プログラムデータベース600(用途別プログラムDB600)が構成される。ティーチングペンダントプログラム50は、用途決定部500、プログラム選択部502、実行部504、パラメータ項目決定部506、及び表示部508を有する。
用途決定部500は、ユーザの選択に基づいて、スカラロボット3の用途を決定する。
具体的には、ティーチングペンダントの表示画面に列挙された、スカラロボット3の取り得る用途をユーザが選択し、用途決定部500は、ユーザの用途の選択を検知する。
プログラム選択部502は、用途決定部500により受け付けたスカラロボット3の用途に応じて、起動させるプログラムを選択する。具体的には、プログラム選択部502は、用途別プログラムDB600から用途に応じたプログラムを取得する。用途別プログラムDB600には、スカラロボット3の取り得る用途に応じたプログラムすべてが格納される。
実行部504は、プログラム選択部502により取得されたプログラムを実行する。これにより、ティーチングペンダント5は、ユーザが選択した用途専用のスカラロボット3のティーチングペンダントとなる。
パラメータ項目決定部506は、用途決定部500により決定した用途に基づいて、ユーザが入力すべきパラメータ項目を決定し、表示部508へ通知する。
表示部508は、実行部504により実行されたプログラムにより、表示画面に、スカラロボット3の用途に応じた動作の教示工程を表示する。
具体的には、表示部508は、用途に応じたパラメータシートを表示画面に表示する。パラメータシートとは、スカラロボット3をユーザが選択した用途専用のロボットとして動作させるために必要なパラメータを入力するシートである。
さらに、表示部508は、パラメータ項目決定部506により決定されたパラメータ項目への入力をユーザに提示する。具体的には、表示部508は、表示したパラメータシート内に、ユーザが入力すべきパラメータとして、パラメータ項目決定部506により決定したパラメータ項目を表示し、ユーザに入力を促す。
図5は、ロボットコントローラ7の機能構成を例示する図である。
図5に例示するように、ロボットコントローラ7には、ロボットコントローラプログラム70がインストールされると共に、動作工程格納データベース800(動作工程DB800)が構成される。ロボットコントローラプログラム70は、動作工程取得部700、パラメータ受付部702、及びプログラム生成部704を有する。
動作工程取得部700は、ティーチングペンダント5の用途決定部500により決定されたロボットの用途に関連付けられた動作工程を、動作工程格納DB800から取得する。ここで、動作工程格納DB800は、スカラロボット3の用途と、用途に応じたロボットの動作工程とを関連付けて格納する。具体的には、動作工程格納DB800は、スカラロボット3の各動作工程のロボット制御プログラムを格納する。動作工程格納DB800は、本発明に係る動作工程格納部の一例である。
パラメータ受付部702は、ティーチングペンダント5を介して、ユーザの操作に基づいて、スカラロボット3の仕様を受け付ける。具体的には、パラメータ受付部702は、スカラロボット3の仕様として、少なくとも、スカラロボット3の作業範囲と、ワーク数とを受け付ける。より具体的には、パラメータ受付部702は、スカラロボット3の作業範囲である形状の頂点の座標を受け付ける。さらに、パラメータ受付部702は、作業対象物を積み上げる形状、又は積み下ろしする形状の入力を受け付ける。
プログラム生成部704は、動作工程取得部700により取得された動作工程と、パラメータ受付部702により受け付けたスカラロボット3の仕様とに基づいて、スカラロボット3を制御するプログラムを生成する。具体的には、動作工程取得部700により取得された動作工程のプログラムと、パラメータ受付部702により受け付けたパラメータとに基づいて、スカラロボット3のロボット制御プログラムを生成する。
また、プログラム生成部704は、パラメータ受付部702により受け付けた座標と、ワークの数とに基づいて、動作工程取得部700により取得された動作工程におけるロボットの同じ動作の繰り返しの数を算出する。具体的には、プログラム生成部704は、パラメータ受付部702により受け付けた座標と、ワークの数と、作業対象物を積み上げる形状又は積み下ろしする形状とに基づいて、動作工程取得部700により取得された動作工程におけるスカラロボット3の同じ動作の繰り返し動作の数を算出する。
さらに、プログラム生成部704は、ティーチングペンダント5のダイヤルの回転量に基づいて、ダイヤルに対応するスカラロボット3の各軸の移動距離とスピードとを制御するプログラムを生成する。
図6は、ロボット制御プログラム生成システム1における、ロボット制御プログラムの生成処理(S10)を説明するフローチャートである。ロボット制御プログラムの生成処理(S10)では、スカラロボット3がワークを掴み上げ、移動し、ワークを下ろすという一連の作業を行う用途である場合について説明する。
図6に例示するように、ステップ100(S100)において、ユーザは、ティーチングペンダント5の表示画面に列挙された、スカラロボット3の用途を選択する。具体的には、ティーチングペンダント5の用途決定部500は、ユーザにより選択されたスカラロボット3の用途を受け付け、ロボットコントローラ7に通知する。
ステップ105(105)において、ロボットコントローラ7の動作工程取得部700は、動作工程格納DB800から、用途に関連付けられた動作工程のプログラムを取得する。
ステップ110(S110)において、ティーチングペンダント5のパラメータ項目決定部506は、用途決定部500により決定されたスカラロボット3の用途に基づいて、スカラロボット3を、選択された用途として使用するために必要なパラメータ項目を決定する。
ステップ115(S115)において、ティーチングペンダント5の表示部508は、表示画面にパラメータシートを表示し、スカラロボット3のスタート地点の座標の入力をユーザに促し、ティーチングペンダント5は、スタート地点の座標の入力を受け付け、ロボットコントローラ7のパラメータ受付部702に通知する。
ステップ120(S120)において、ティーチングペンダント5の表示部508は、S115と同様に、スカラロボット3の作業範囲の座標の入力をユーザに促し、ロボットコントローラ7のパラメータ受付部702は、作業範囲の座標の入力を受け付ける。具体的には、作業範囲が四角形である場合に、ロボットコントローラ7のパラメータ受付部702は、四隅の座標入力を受け付け、作業範囲が三角形である場合に、三隅の座標入力を受け付ける。
ステップ125(S125)において、ロボットコントローラ7のパラメータ受付部702は、ティーチングペンダント5を介して、ワークの積載数、及びパレタイズ形状を受け付ける。具体的には、ロボットコントローラ7のパラメータ受付部702は、ワークの積載数を「列×行」として受け付ける。
ステップ130(S130)において、ロボットコントローラ7のパラメータ受付部702は、ティーチングペンダント5を介して、一つ目のワークの把持位置の座標を受け付ける。
ステップ135(S135)において、ロボットコントローラ7のパラメータ受付部702は、ティーチングペンダント5を介して、一つ目のワークの開放位置の座標を受け付ける。
ステップ140(S140)において、ロボットコントローラ7のパラメータ受付部702は、ティーチングペンダント5を介して、一つのワーク面積(増加する寸法)を受け付ける。
ステップ145(S145)において、ロボットコントローラ7のプログラム生成部704は、パラメータ受付部702により受け付けたパラメータに基づいて、同じ動作の繰り返しの数を算出する。
ステップ150(S150)において、ロボットコントローラ7のプログラム生成部704は、動作工程のプログラムと、パラメータ受付部702により受け付けたパラメータと、同じ動作の繰り返しの数とに基づいて、ロボット制御プログラムを生成する。
次にパラメータシートについて説明する。
図7は、ティーチングペンダント5に表示されるパラメータシートを例示する図である。
図7に例示するように、パラメータシートは、作業範囲(ここでは、作業範囲を四角形とする。)の四隅の座標を表す基準位置1〜基準位置4、ワークの数を示す列の数と行の数、1つ目のワークの把持位置、1つ目のワークの解放位置、ワークのパレタイズ形状(格子の種類)、及び退避位置(又は視点位置)の入力枠を有する。
基準位置1〜基準位置4、列の数、及び行の数に基づいてパレット内のワークの載置位置が決定される。すなわち、シーケンスプログラムと位置データの生成とは独立して決定することが可能である。したがって、ワークの取り出し位置や、パレットの位置が変わった時に必要な再教示作業は、変わった箇所の再教示作業に限られる。具体的には、パレットの位置が変わった場合に、基準位置1〜基準位置4の位置教示作業のみでよく、すべての置き位置を再教示する必要がなく、教示時間の大幅な短縮が実現できる。
さらに、パレットの位置が、前回の教示位置と比較的近い場合は、前回教示された各位置に位置決めした後、ティーチングペンダント5のダイヤルにより微調整を行うことで、基準位置を修正できるため、更なる教示時間の短縮が実現できる。
図8は、m行、n列の正方格子パレットを例示する図である。
図8に例示するように、m行、n列の正方格子に近い格子のパレットにおける、a行目、b列目の区域の中心位置座標は、4点の基準位置座標をR1(X1,Y1)、R2(X2,Y2)、R3(X3,Y3)、R4(X4,Y4)とした場合、L1=X3−X1、L2=X2−X4、L3=Y2−Y3、L4=Y4−Y1、S1=X1−X4、S3=Y3−Y1であり、X=X1+b*(L1−a*(L1−L2)/(m−1))/(n−1)−a*S1/(m−1)、Y=Y1+a*(L4−b*(L4−L3)/(n−1))/(m−1)+b*S3/(n−1)により求められる。
すなわち、パレットの位置がずれた場合、全点の座標が変化するが、基準位置座標R1〜R4の4点を変更するのみで、他の座標は、ロボットコントローラ7の計算処理により求めることが出来る。したがって、再教示する位置座標は少なくて済む。
次に、パラメータシートの作成方法について説明する。
図9は、パラメータシートの作成方法(S20)を説明するフローチャートである。
図9に例示するように、ステップ200(S200)において、手続型言語を用いてスカラロボット3の用途に応じた用途別プログラムを作成する。用途別プログラムとは、スカラロボット3単体の動作プログラムと、スカラロボット3が設置される環境に基づいたインターロック条件とからなる。作成された用途に応じた用途別プログラムは、用途別プログラムDB600に格納される。
ステップ205(S205)において、パラメータ項目決定部506は、用途別プログラムの可変箇所を抽出する。
ステップ210(S210)において、パラメータ項目決定部506は、可変箇所をパラメータとしてすべて選択及び列挙する。具体的には、パラメータ項目決定部506は、可変箇所として、スカラロボット3の用途、スカラロボット3の可動範囲、スカラロボット3の原点、ワークの寸法、ワークの把持位置、ワークの解放位置、ワークの数量、及び作業不良時の処理方法等をパラメータとする。
ステップ210(S215)において、表示部508は、スカラロボット3の用途に応じた工程概念図を表示画面に図式表示する。
ステップ215(S220)において、表示部508は、用途別プログラムの可変箇所のパラメータを空欄にして表示画面に表示する。これにより、用途別のパラメータシートが作成される。
プログラム生成部704は、パラメータシート内の可変箇所を示す空欄に個別のスカラロボット3の仕様、及び設置条件等を記入されたパラメートシートに基づいて、スカラロボット3を制御するロボット制御プログラムを生成する。
以上説明したように、ロボット制御プログラム生成システム1は、スカラロボット3の想定される用途全ての動作工程におけるプログラムを格納しており、用途の選択に応じて、選択された用途のスカラロボット3をユーザ自身で構築できるため、従来のように、予め用途が限定され、ユーザの仕様に基づいて、プログラマーがそのロボット専用にロボット制御プログラムを開発する場合よりも、大幅にコストが削減される。
また、ロボット制御プログラム生成システム1は、スカラロボット3の取り得る用途を予め想定し、用途とスカラロボット3の動作工程とを格納している。想定されるすべての用途がティーチングペンダント5に列挙され、ユーザが用途を選択するだけで、ティーチングペンダント5は、用途に応じたティーチングペンダント5として機能する。すなわち、用途毎にティーチングペンダント5を用意する必要はない。
また、ロボット制御プログラム生成システム1は、スカラロボット3を選択された用途して使用するために必要なパラメータ項目が用途に関連付けられている。ティーチングペンダント5は、選択された用途に基づいて、ユーザに必要なパラメータの入力を促すため、ユーザは、表示画面の内容に従って入力を進めるだけで、簡便にロボット制御プログラムを生成することが出来る。
(変形例1)
上記実施形態では、パラメータ受付部702は、ユーザが目視により、ティーチングポイントを、基準位置4点のパレタイジング中心位置のマーカーに合わせ、座標位置データ4点を読み取り、パラメータシートに記入していたが、ユーザが目視することなく、光学式読み取り装置により読み取られたパラメータの値に基づいて、パラメータシートを完成させてもよい。
図10(a)は、基準位置座標を読み取るための必要な要素を例示し、(b)は、カメラ9の中心軸のパレタイジングマーカーへの合わせ方を例示する。
具体的には、図10に例示するように、スカラロボット3のロボット先端軸にカメラ9を設置し、カメラ9をパレタイジング基準位置4点のパレタイジング中心位置のマーカーに合わせ、パレタイジングマーカを写真撮影する。カメラ9は、スカラロボット3のロボット先端軸の中心点からパレタイズ動作に支障を与えない位置に、垂直方向に下向きに設置される。図10(b)に例示するように、スカラロボット3を動作させ、カメラ9により、パレタイズ基準位置4点のパレタイズ位置座標のパレタイジング中心位置のマーカーを撮影する。
変形例1では、図5のロボットコントローラプログラム70の機能構成に加え、座標読み取り部706を有する。座標読み取り部706は、カメラ9により撮影された写真画像のパレタイズマーカーを読み取り、パラメータシートに書き込む。
次に、パレタイズマーカー座標の算出方法について説明する。
図11は、パレタイズマーカーの座標とカメラ9の中心座標とのずれ補正を例示する図である。
座標読み取り部706は、カメラ9とスカラロボット3の先端軸中心との距離(オフセット量)と、カメラ9の撮影範囲内にパレタイズマーカーが存在することとを条件として、パレタイズマーカーの座標を読み取る。具体的には、図11に例示するように、座標読み取り部706は、パレタイズマーカー撮影画像の座標(x4,y4)とカメラ視野中心軸座標(x3,y3)との間の座標補正を行い、パレタイズマーカーの座標を読み取る。より具体的には、座標読み取り部706は、「パレタイズマーカーの座標=オフセット量(固定量)+撮影画像中心からのパレタイズマーカー中心位置座標」の式を用いてパレタイズマーカーの座標を算出する。
カメラ9を用いて基準位置座標を読み取ることにより、視野誤差を防ぐことができ、位置データ精度を上げることができる。また、座標読み取り部706による撮影画像データの解析により、基準位置座標が得られるため、作業者の負担が軽減され、スカラロボット3へのティーチング時間も大幅に短縮される。
(変形例2)
上記実施形態では、スカラロボット3の繰り返し動作を行うロボット制御プログラムをパラメータシートに基づいて生成しているが、これに限定されず、例えば、スカラロボット3の外側機械設備とのやり取り、すなわち、スカラロボット3の外部とのインターロック条件をロボット制御プログラムに追加してもよい。
インターロック条件は、スカラロボット3毎に使用条件が異なるため、設置される周囲の生産設備の違いによって異なる。すなわち、スカラロボット3の設置条件が決まって初めてプログラムを作成することができる。
具体的には、特許第4332879号に記載のプログラム生成器(以下、ビジュアル工程表と記す)にスカラロボット3のロボット制御プログラム、及びスカラロボット3との外側機械設備とのインターロックを入力することにより、スカラロボット3の動作だけでなく、スカラロボット3の外側機械設備と連動した、スカラロボット3の総合運転プログラムを生成することが出来る。
変形例2では、図5のロボットコントローラプログラム70の機能構成に加え、変換部708を有する。
図12は、ビジュアル工程表を例示する図である。
図12に例示するように、ビジュアル工程表は、使用されるスカラロボットの3の複数のサーボアクチュエータ(サーボモータ)を上部横軸にセットし、ビジュアル工程表側の縦列左に工程番号を記入し、縦横2次元マトリックスを構成し、どのStep(工程)でどのアクチュエータを使用するのか、そのサーボアクチュエータを使用してどこまで動かすのか、つまり、「Point」(到達点)「速度」(到達点までの速度)が記入され、工程表(アクチュエータの制御プログラム)をビジュアル化するよう構成されている。
次に、ビジュアル工程表を用いて、スカラロボット3のロボット制御プログラムを生成し、さらにスカラロボットの3のインターロック条件を追加する方法について説明する。
図13は、総合運転プログラムの生成処理(S30)を説明するフローチャートである。
図13に例示するように、ステップ300(S300)において、パラメータ受付部702は、パラメータを受け付け、スカラロボット3のパラメータシートを完成させる。
ステップ305(S305)において、プログラム生成部704は、動作工程取得部700により取得された動作工程と、パラメータ受付部702により生成されたパラメータシートとに基づいて、スカラロボット3を制御するロボット制御プログラムを生成する。
ステップ310(S310)において、変換部708は、プログラム生成部704により生成されたロボット制御プログラムを、ビジュアル工程表へ変換する。これにより、ロボット制御プログラムが可視化される。具体的には、変換部708は、読み取ったロボット制御プログラムのデータ1行を、ビジュアル工程表1行に変換する。変換部708は、この変換作業をロボット制御プログラム全体に行う。
ステップ315(S315)において、スカラロボット3の設置条件等の具体的なインターロック条件が確定した場合に、総合運転プログラムの生成処理(S30)は、S320へ移行し、具体的なインターロック条件が確定していない場合に、待機する。
ステップ320(S320)において、ユーザは、ビジュアル工程表に基づいて、インターロック条件を挿入する箇所を特定する。具体的には、ユーザは、スカラロボット3のパラメータシートを参照し、スカラロボット3の動作に基づいて、インターロック条件の挿入箇所を特定する。ユーザは、特定した挿入箇所に基づいて、ビジュアル工程表の割り込み位置を決定する。ユーザは、ビジュアル工程表の決定した割り込み位置に、ビジュアル工程表における「工程ラインの1行追加」ボタンを押下することにより、インターロック条件(追加プログラム)を挿入する。インターロック条件の追加は複数個所挿入することが可能である。
ステップ325(S325)において、変換部708は、ビジュアル工程表上のプログラムに基づいて、総合運転プログラムを生成する。
1…ロボット制御プログラム生成システム
3…スカラロボット
5…ティーチングペンダント
7…ロボットコントローラ
9…カメラ

Claims (8)

  1. ロボットの用途と、前記用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納部と、
    ユーザの選択に基づいて、ロボットの用途を決定する用途決定部と、
    前記用途決定部により決定されたロボットの用途に関連付けられた動作工程を、前記動作工程格納部から取得する動作工程取得部と、
    ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付部と、
    前記動作工程取得部により取得された動作工程と、前記パラメータ受付部により受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成部と
    を有し、
    前記ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む
    ロボット制御プログラム生成システム。
  2. 前記ロボットに遠隔で動作を教示する遠隔制御装置
    をさらに有し、
    前記遠隔制御装置は、
    前記用途決定部により決定されたロボットの用途に応じて、起動するプログラムを選択するプログラム選択部と、
    前記プログラム選択部により選択されたプログラムを実行する実行部と、
    前記実行部により実行されたプログラムにより、表示画面に、ロボットの用途に応じた動作の教示工程を表示する表示部と
    を有する
    請求項1に記載のロボット制御プログラム生成システム。
  3. 前記パラメータ受付部は、作業範囲である形状の頂点の座標を受け付け、
    前記プログラム生成部は、前記パラメータ受付部により受け付けた座標と、作業対象物の数とに基づいて、前記動作工程取得部により取得された動作工程におけるロボットの同じ動作の繰り返しの数を算出する
    請求項1に記載のロボット制御プログラム作成システム。
  4. 前記遠隔制御装置は、
    前記ロボットの各軸に対応するダイヤルを有し、
    前記ダイヤルの回転量は、前記ロボットの軸の移動距離と、動作速度とに比例し、
    前記プログラム生成部は、前記ダイヤルの回転量に基づいて、ダイヤルに対応する前記ロボットの各軸の移動距離と動作速度とを制御するプログラムを生成する
    請求項2に記載のロボット制御プログラム生成システム。
  5. 前記用途決定部により決定された用途に基づいて、ユーザが入力すべきパラメータ項目を決定するパラメータ項目決定部
    をさらに有し、
    前記表示部は、前記パラメータ内容決定部により決定されたパラメータ項目への入力をユーザに提示する
    請求項2に記載のロボット制御プログラム作成システム。
  6. 前記パラメータ受付部は、作業対象物を積み上げる形状、又は積み下ろしする形状の入力を受け付け、
    前記プログラム生成部は、前記パラメータ受付部により受け付けた座標と、作業対象物の数と、作業対象物を積み上げる形状又は積み下ろしする形状とに基づいて、前記動作工程取得部により取得された動作工程におけるロボットの同じ動作の繰り返しの数を算出する
    請求項3に記載のロボット制御プログラム作成システム。
  7. ロボットの用途と、前記用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納ステップと、
    ユーザの選択に基づいて、ロボットの用途を決定する用途決定ステップと、
    前記用途決定ステップにより決定された、ロボットの用途に関連付けられた動作工程を取得する動作工程取得ステップと、
    ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付ステップと、
    前記動作工程取得ステップにより取得された動作工程と、前記パラメータ受付ステップにより受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成ステップと
    を有し、
    前記ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む
    ロボット制御プログラム生成方法。
  8. ロボットの用途と、前記用途に応じたロボットの動作工程とを関連付けて格納する動作工程格納ステップと、
    ユーザの選択に基づいて、ロボットの用途を決定する用途決定ステップと、
    前記用途決定ステップにより決定された、ロボットの用途に関連付けられた動作工程を取得する動作工程取得ステップと、
    ユーザの操作に基づいて、前記ロボットの仕様を受け付けるパラメータ受付ステップと、
    前記動作工程取得ステップにより取得された動作工程と、前記パラメータ受付ステップにより受け付けたロボットの仕様とに基づいて、前記ロボットを制御するプログラムを生成するプログラム生成ステップと
    コンピュータに実行させ、
    前記ロボットの仕様は、少なくとも、前記ロボットの作業範囲と、作業対象物の数とを含む
    プログラム。
JP2020014373A 2019-07-30 2020-01-31 ロボット制御プログラム生成システム、ロボット制御プログラム生成方法、及びプログラム Pending JP2021020309A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019139471 2019-07-30
JP2019139471 2019-07-30

Publications (1)

Publication Number Publication Date
JP2021020309A true JP2021020309A (ja) 2021-02-18

Family

ID=74573986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020014373A Pending JP2021020309A (ja) 2019-07-30 2020-01-31 ロボット制御プログラム生成システム、ロボット制御プログラム生成方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2021020309A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002292583A (ja) * 2001-03-30 2002-10-08 Daihen Corp 産業用ロボット用ティーチングペンダント
JP2015520040A (ja) * 2012-06-21 2015-07-16 リシンク ロボティクス インコーポレイテッド 産業用ロボットを訓練および動作させること

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002292583A (ja) * 2001-03-30 2002-10-08 Daihen Corp 産業用ロボット用ティーチングペンダント
JP2015520040A (ja) * 2012-06-21 2015-07-16 リシンク ロボティクス インコーポレイテッド 産業用ロボットを訓練および動作させること

Similar Documents

Publication Publication Date Title
US10980606B2 (en) Remote-control manipulator system and method of operating the same
EP1936458B1 (en) Device, method, program and recording medium for robot offline programming
EP1462224B1 (en) Taught position modification device
EP3015932B1 (en) Method and means for controlling a robot
US7002585B1 (en) Graphic display apparatus for robot system
JP5670416B2 (ja) ロボットシステム表示装置
CN109834709B (zh) 设定微动坐标系的机器人控制装置
CN111093911B (zh) 机器人系统及其运行方法
US20220250237A1 (en) Teaching device, teaching method, and recording medium
JP2021020309A (ja) ロボット制御プログラム生成システム、ロボット制御プログラム生成方法、及びプログラム
CN110977932A (zh) 机器人示教装置、机器人示教方法和存储动作命令的方法
JP2023024890A (ja) 直接教示操作を受け付け可能な制御装置、教示装置、および制御装置のコンピュータプログラム
CN111899629B (zh) 柔性机器人教学系统和方法
WO2023144892A1 (ja) 制御装置
JPH10161719A (ja) 産業用ロボットのシステム構築シミュレーション装置
JP4667415B2 (ja) ロボット
WO2023073959A1 (ja) 作業支援装置及び作業支援方法
US11577381B2 (en) Teaching apparatus, robot system, and teaching program
CN118081730A (zh) 夹具数据生成装置、机器人控制器、机器人模拟装置以及控制装置
JP2024006557A (ja) 表示システムおよび教示システム
JP4667416B2 (ja) ロボットにおけるコンピュータ読み取り可能な記録媒体及びコンピュータ読み取り可能な記録媒体を備えたロボット
CN116945198A (zh) 示教装置
Lee et al. Implementation of real-time control of an assembly line for the back cover of a camera
Lee et al. Development of an automated system for soldering and the solder inspection of an assembly line

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20200306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210622