(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】教示装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20240910BHJP
G05B 19/409 20060101ALI20240910BHJP
G05B 19/42 20060101ALI20240910BHJP
【FI】
B25J9/22 A
G05B19/409 C
G05B19/42 J
(21)【出願番号】P 2022578374
(86)(22)【出願日】2022-01-24
(86)【国際出願番号】 JP2022002464
(87)【国際公開番号】W WO2022163590
(87)【国際公開日】2022-08-04
【審査請求日】2023-08-09
(31)【優先権主張番号】P 2021011999
(32)【優先日】2021-01-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100169856
【氏名又は名称】尾山 栄啓
(72)【発明者】
【氏名】伊藤 岬
(72)【発明者】
【氏名】並木 勇太
【審査官】尾形 元
(56)【参考文献】
【文献】特許第6498366(JP,B1)
【文献】特開2015-182142(JP,A)
【文献】特開2011-158981(JP,A)
【文献】特開平8-249025(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
G05B 19/409
G05B 19/42
(57)【特許請求の範囲】
【請求項1】
ロボットの制御プログラムを作成するための教示装置であって、
前記ロボットの制御プログラムを構成する機能を表す命令によりプログラム作成を行うためのプログラム作成画面を生成する画面生成部と、
前記プログラム作成画面に配置された命令に対する選択又は実行指示に応じて、前記選択又は前記実行指示の対象の命令に関連する情報を表示する関連情報表示制御部と、
を備える教示装置。
【請求項2】
前記プログラム作成画面は、前記ロボットの制御プログラムを構成する機能を表す1以上の命令の一覧を表示する第1の領域と、前記第1の領域から選択した命令を配置することで前記制御プログラムを作成するための第2の領域とを有し、
前記関連情報表示制御部は、前記第1の領域又は前記第2の領域にある命令に対する選択、又は、前記第2の領域に配置された命令に対する実行指示に応じて、前記対象の命令に関連する情報を表示する、請求項1に記載の教示装置。
【請求項3】
前記関連情報表示制御部は、前記プログラム作成画面に配置された命令の選択中に当該命令に関連する情報を表示する、請求項1又は2に記載の教示装置。
【請求項4】
前記関連情報表示制御部は、前記プログラム作成画面に配置された命令に対する実行指示に応じて、前記実行指示の対象の命令に関連する情報を当該命令の実行前、実行中、又は実行後のいずれかの時点で表示する請求項1又は2に記載の教示装置。
【請求項5】
前記関連情報表示制御部は、前記実行指示の対象の命令の実行中に当該命令の実行中の状態に関する情報を表示する、請求項4に記載の教示装置。
【請求項6】
前記関連情報表示制御部は、前記実行指示の対象の命令の実行後に当該命令の実行結果に関する情報を表示する、請求項4に記載の教示装置。
【請求項7】
前記対象の命令に関連する情報は、当該命令のパラメータ設定情報、当該命令に関連付けられたセンサ又は機器の情報、当該命令の実行結果又は実行中の状態、当該命令に係わるプログラムの内部変数のいずれかを含む、請求項1から6のいずれか一項に記載の教示装置。
【請求項8】
前記対象の命令に関連する情報は、当該命令に関連付けられたセンサの情報を含むものであって、前記センサは視覚センサである、請求項7に記載の教示装置。
【請求項9】
前記対象の命令に関連する情報は、当該命令に関連付けられたセンサの情報を含むものであって、前記センサは力センサである、請求項7に記載の教示装置。
【請求項10】
前記関連情報表示制御部は、前記対象の命令に関連する情報をポップアップ表示する、請求項1から9のいずれか一項に記載の教示装置。
【請求項11】
前記命令に関連する情報として表示すべき表示内容を定義する表示属性情報を前記命令に対して設定する属性情報設定部を更に備え、
前記関連情報表示制御部は、前記命令に対する実行指示に応じて前記命令に関する情報を表示する場合に前記命令に設定されている前記表示属性情報にしたがって表示内容を決定する、請求項1から10のいずれか一項に記載の教示装置。
【請求項12】
ロボットの制御プログラムを作成するための教示装置であって、
前記ロボットの制御プログラムを構成する機能を表す命令によりプログラム作成を行うためのプログラム作成画面を生成する画面生成部と、
前記プログラム作成画面に配置された命令に対する選択又は実行指示に応じて、前記選択又は前記実行指示の対象の命令に関連する情報を表示する関連情報表示制御部と、
前記命令に関連する情報として表示すべき表示内容を定義する表示属性情報を前記命令に対して設定する属性情報設定部と、を備え、
前記関連情報表示制御部は、前記命令に対する実行指示に応じて前記命令に関する情報を表示する場合に前記命令に設定されている前記表示属性情報にしたがって表示内容を決定し、
前記属性情報設定部は、更に、前記命令の実行状態に関する情報である実行状態属性を設定するように構成され、
前記関連情報表示制御部は、前記命令に対する実行指示に応じて前記命令に関する情報を表示する場合に、前記実行状態属性に更に基づいて表示内容を決定する
、教示装置。
【請求項13】
前記命令はアイコン又は命令文により表されている、請求項1から12のいずれか一項に記載の教示装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、教示装置に関する。
【背景技術】
【0002】
ロボット制御の各命令を表すアイコンを用いたプログラミングを可能とする教示装置が提案されている(例えば、特許文献1)。また、これに関連し、特許文献2は、ロボット本体の動作方式の選択、移動ポイントの教示等の各種の教示データの入力(設定)作業を行うための教示装置において、タッチパネル上の設定メニューが選択された際に、複数の教示項目をアイコンにより表した項目選択画面を表示すると共に、各アイコンにその教示項目の内容を表現する動画を表示する構成を記載する(要約書)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6498366号公報
【文献】特開2001-88068号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、従来の教示装置におけるアイコンを用いた教示(プログラミング)では、プログラム作成画面上でアイコンを選択しアイコンのパラメータを設定するためのパラメータ設定画面を開くという操作を行わなければそのアイコンの設定情報を確認することができない。また、アイコンを用いた教示(プログラミング)では、パラメータ設定画面に表示される設定情報のみでなく、そのアイコンに関連するセンサの情報やそのアイコンを実行した結果等を確認したい場合も多い。
【課題を解決するための手段】
【0005】
本開示の一態様は、ロボットの制御プログラムを作成するための教示装置であって、前記ロボットの制御プログラムを構成する機能を表す命令によりプログラム作成を行うためのプログラム作成画面を生成する画面生成部と、前記プログラム作成画面に配置された命令に対する選択又は実行指示に応じて、前記選択又は前記実行指示の対象の命令に関連する情報を表示する関連情報表示制御部と、を備える教示装置である。
【発明の効果】
【0006】
上記構成によれば、ロボットの制御プログラムのプログラミングにおいて、プログラミングを支援する各種情報が極めて簡単な操作で提供され、いっそう直感的で且つ効率的なプログラミングが可能になる。
【0007】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
【図面の簡単な説明】
【0008】
【
図1】第1実施形態に係る教示装置を含むロボットシステムの全体構成図である。
【
図2】ロボットの手首フランジとハンドとの間に力センサを配置した状態を表す図である。
【
図3】視覚センサ制御装置及びロボット制御装置のハードウェア構成例を表す図である。
【
図4】視覚センサ制御装置及びロボット制御装置の機能ブロック図である。
【
図5】教示装置のハードウェア構成例を表す図である。
【
図7】実施例1の動作例であって、アイコン表示領域に配置された見るアイコンの選択により視覚センサのライブ画像が表示された状態を表す図である。
【
図8】実施例1の動作例であって、プログラム作成領域に配置された見るアイコンの選択により視覚センサのライブ画像が表示された状態を表す図である。
【
図9】実施例2の動作例であって、プログラム作成領域に配置された見るアイコンの実行結果として検出結果の情報が表示された状態を表す図である。
【
図10】実施例3の動作例であって、アイコン表示領域において力センサの機能に関連するアイコンが選択されることに応じて、力センサの情報が表示された状態を表す図である。
【
図11】実施例4の動作例であって、ロボットと接続している機器に関連するアイコンに対する実行指示に応じて当該機器に関する情報を表示する例を表す図である。
【
図12】実施例5の動作例であって、アイコン表示領域に配置された待機設定アイコンの選択に応じて当該アイコンの設定情報を表示する例を表す図である。
【
図13】実施例5の動作例であって、プログラム作成領域に配置された待機設定アイコンの実行指示に応じて当該アイコンの設定情報を表示する例を表す図である。
【
図14】実施例5の動作例であって、アイコン表示領域に配置された直線移動アイコンの選択に応じて当該アイコンの設定情報を表示する例を表す図である。
【
図15】実施例6の動作例であって、アイコン表示領域に配置されたレジスタアイコンの選択に応じて、当該アイコンに関連する内部変数を表示する例を表す図である。
【
図16】実施例6の動作例であって、レジスタアイコンの設定にエラーがある場合の表示例を表す図である。
【
図17】実施例7の動作例であって、プログラム作成領域に配置されたアイコンのプログラムに対する実行指示に応じて、アイコンの実行前の時点で当該アイコンに関連する情報を表示する例を表す図である。
【
図18】第2実施形態に係る教示装置の機能ブロック図である。
【
図19】表示属性情報による表示内容の切り替えを説明するための図である。
【
図20】実行状態属性による表示内容の切り替えを説明するための図である。
【発明を実施するための形態】
【0009】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【0010】
第1実施形態
図1は一実施形態に係る教示装置10を含むロボットシステム100の全体構成を表す図である。教示装置10は、後述するように、ロボットの制御プログラムを構成する機能を表す命令によるプログラミングを行うための教示装置である。以下では、例示として、教示装置10は、ロボットの制御プログラムを構成する機能を表す(すなわち、ロボット制御の命令を表す)アイコンを用いたプログラミングを可能とする教示装置であるものとする。教示装置10を含むロボットシステムとしては様々な構成が有り得るが、本実施形態では、例示として、
図1に示すロボットシステム100について説明を行うこととする。ロボットシステム100は、アーム先端部にハンド33を搭載したロボット30と、ロボット30を制御するロボット制御装置50と、ロボット制御装置50に接続された教示装置10と、ロボット30のアーム先端部に取り付けられた視覚センサ70と、視覚センサ70を制御する視覚センサ制御装置40とを含む。ロボットシステム100は、視覚センサ70により作業台2上の対象物1の検出を行い、ロボット30に搭載したハンド33で対象物1のハンドリングを行うように構成される。
【0011】
視覚センサ制御装置40は、視覚センサ70を制御する機能と、視覚センサ70で撮像された画像に対する画像処理を行う機能とを有する。視覚センサ制御装置40は、視覚センサ70で撮像された画像から対象物1の位置を検出し、検出された対象物1の位置をロボット制御装置50に提供する。これにより、ロボット制御装置50は、教示位置を補正して対象物1の取り出し等を実行することができる。
【0012】
なお、
図1では、ロボットシステム100が、ロボットシステムの機能に係わるセンサとして視覚センサ70を備える構成例を示しているが、ロボットシステムの機能に係わるセンサとしては様々な例が有り得る。例えば、ロボットシステムに力センサを搭載する場合には、
図2に示すようにロボット30の手首フランジ31とハンド33Aとの間に力センサ71を配置するようにしても良い。なお、
図2では、説明の便宜のため、ロボット30のアーム先端部付近のみを図示している。力センサ71を用いることで、ロボット30に、ワークW1を一定の力で他のワークに押し付ける作業(例えば、精密嵌め合い作業)等を実行させることができる。
【0013】
図3は、視覚センサ制御装置40及びロボット制御装置50のハードウェア構成例を表す図である。
図3に示すように、視覚センサ制御装置40は、プロセッサ41に対してメモリ42(ROM、RAM、不揮発性メモリ等)、入出力インタフェース43等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。また、ロボット制御装置50は、プロセッサ51に対してメモリ52(ROM、RAM、不揮発性メモリ等)、入出力インタフェース53、各種操作スイッチを含む操作部54等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。
【0014】
視覚センサ70は、濃淡画像やカラー画像を撮像するカメラでも、距離画像や3次元点群を取得できるステレオカメラや3次元センサでもよい。ロボットシステム100には、複数台の視覚センサが配置されていても良い。視覚センサ制御装置40は、対象物のモデルパターンを保持しており、撮影画像中の対象物の画像とモデルパターンとのパターマッチングにより対象物を検出する画像処理を実行する。なお、
図1では視覚センサ70をロボット30のアーム先端に取り付ける例を示しているが、視覚センサ70は作業空間内で作業台2上の対象物1を撮影可能な既知の位置に固定されていても良い。或いは、ロボット30が対象物1を把持し、作業空間内に固定設置された視覚センサに対象物を見せる動作を行うことで対象物1の検出、検査等を行う構成例も有り得る。
【0015】
図4は、視覚センサ制御装置40及びロボット制御装置50の主要な機能ブロックを表した機能ブロック図である。
図4に示すように、視覚センサ制御装置40は、視覚センサ70で撮像された入力画像401に対する画像処理を実行する画像処理部402と、ロボット30に設定された基準座標系に対する視覚センサ70の相対的位置を定めるキャリブレーションデータを記憶するキャリブレーションデータ記憶部403とを備える。画像処理部402は、一例として、モデルパターンを用いてパターンマッチングにより入力画像から対象物1を検出する画像処理を実行する。
【0016】
ロボット制御装置50は、教示装置10から入力される動作指令、或いは、内部のメモリに保持した制御プログラムにしたがってロボット30の動作を制御する動作制御部501を備える。一例として、画像処理部402は、対象物1の検出位置を動作制御部501に提供し、動作制御部501は、画像処理部402から提供される検出位置を用いて対象物1のハンドリングを行う。
【0017】
教示装置10は、ロボット30を教示する(すなわち、制御プログラムを作成する)ために用いられる。教示装置10として、教示操作盤、タブレット端末、スマートフォン、パーソナルコンピュータ等の各種情報処理装置を用いることができる。
図5は、教示装置10のハードウェア構成例を表す図である。
図5に示すように、教示装置10は、プロセッサ11に対して、メモリ12(ROM、RAM、不揮発性メモリ等)、表示部13、キーボード(或いはソフトウェアキー)等の入力装置により構成される操作部14、入出力インタフェース15等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。
【0018】
以下で詳細に説明するように、教示装置10は、ロボット30の制御プログラムを構成する機能を表すアイコンによるプログラミングを可能とするように構成されている。
図6は、教示装置10の機能ブロック図である。
図6に示すように、教示装置10は、アイコンによる制御プログラムの作成・編集を行うためのプログラム作成部110を備える。プログラム作成部110は、アイコンのデータを記憶するアイコンデータ記憶部111と、制御プログラム作成のための各種画面を生成する画面生成部112と、制御プログラム作成・編集のための各種ユーザ操作を受け付ける操作入力受付部113と、プログラム生成部114と、実行部115と、パラメータ設定部116と、関連情報表示制御部117とを備える。
【0019】
アイコンデータ記憶部111は、例えば不揮発性メモリにより構成され、アイコンに関する各種情報を記憶する。アイコンに関する情報は、アイコンの図案に関する情報、アイコンの機能に対して設定されるパラメータ(設定情報)、アイコンの機能を簡潔に表した文字列等を含む。なお、アイコンデータ記憶部111には、各アイコンのパラメータ設定としてデフォルト値が設定されていても良い。
【0020】
画面生成部112は、アイコンを用いた制御プログラムの作成を行うためのプログラム作成画面500を生成する。プログラム作成画面500は、一例として
図7に示されるように、ロボット30の制御プログラムを構成する機能を表す1以上のアイコンの一覧を表示する第1の領域(アイコン表示領域200)と、第1の領域から選択したアイコンを配置することで制御プログラムを作成するための第2の領域(プログラム作成領域300)とを含む。
図7に例示したようなプログラム作成画面500において、ユーザは、アイコン表示領域200から所望のアイコンを選択してプログラム作成領域300に並べる。そして、ユーザは、プログラム作成領域300に配置した各アイコンの機能に関するパラメータを必要に応じ設定する。これにより、ユーザは、プログラム言語の文法の知識を必要とせずに、制御プログラムを作成することができる。
【0021】
操作入力受付部113は、プログラム作成画面500に対する各種操作入力を受け付ける。例えば、操作入力受付部113は、アイコン表示領域200或いはプログラム作成領域300に配置されたアイコンの一つに入力装置のカーソルが位置合わせされる操作に応じてそのアイコンを選択したり、アイコン表示領域200に配置されたアイコンをドラッグアンドドロップしてプログラム作成領域300に並べる操作入力を支援する。
【0022】
プログラム生成部114は、プログラム作成領域300に動作順に配置された1以上のアイコンからプログラム言語による制御プログラムを生成する。
【0023】
実行部115は、プログラム作成領域300に配置されたアイコンに対する実行を指示するユーザ操作に応じてアイコンを実行する。実行部115は、プログラム作成領域300に配置されたアイコンを一括して実行したり、プログラム作成領域300の1又は複数のアイコンを実行することができる。例示として、実行部115は、プログラム作成領域300にアイコンが並べられた状態で実行タブ651(
図7参照)が操作されると、プログラム作成領域300に並べられたアイコンを順に実行し、プログラム作成領域300においてアイコンを選択し実行を指示する操作(カーソルを合わせてクリックする操作(或いはタップする操作))がなされたことに応じて当該アイコンを実行するよう構成されていても良い。なお、アイコン(プログラム)に対する実行指示はユーザ操作による場合に限られない。例えば、教示装置に入力される外部からの信号(例えば、各種機器からロボット30或いはロボット制御装置50に入力される信号)によりアイコン(プログラム)が実行されても良い。
【0024】
パラメータ設定部116は、プログラム作成領域300或いはアイコン表示領域200内で選択されたアイコンに対しパラメータ設定を行う機能を提供する。パラメータ設定部116は、例えば、アイコンが選択された状態で詳細タブ652(
図7参照)が選択されるとパラメータ入力を行うための画面を生成して、パラメータ設定入力を受け付ける。ここで、パラメータ設定とは、例えば、以下のようなものである。
視覚センサを用いた検出機能に対応する「見るアイコン」:
・カメラの初期設定
・対象物の教示設定
・撮影位置の設定
直線移動の機能に対応する「直線移動アイコン」:
・動作速度
・位置決め設定
・位置レジスタの指定
なお、上述したように、これらパラメータには、予めデフォルト値が設定されていても良い。
【0025】
関連情報表示制御部117は、アイコン表示領域200又はプログラム作成領域300にあるアイコンに対する選択操作、又は、プログラム作成領域300に配置されたアイコンに対し実行を指示する操作の少なくともいずれかに応じて、選択操作又は実行を指示する操作の対象のアイコンに関連する情報を表示部13の表示画面に表示する。アイコンに関連する情報には、アイコンのパラメータ設定情報、アイコンに関連付けられたセンサや機器の情報、アイコンの実行結果又は実行中の状態、アイコンに係わるプログラムの内部変数等のいずれかが含まれる。
【0026】
以下では、教示装置10による、プログラム作成画面500を介したアイコンを選択する操作や実行を指示する操作に応じた各種情報の表示の実施例について説明する。
【0027】
(実施例1)
図7を参照し実施例1について説明する。実施例1は、アイコン表示領域200又はプログラム作成領域300においてアイコンが選択されることに応じて、そのアイコンに関連するセンサの情報を表示する例である。ここでは、例示として「見るアイコン601」が選択されるものとする。見るアイコン601は、視覚センサ70により対象物を検出し対象物の位置情報を取得する機能を提供する。
【0028】
ここで、画面生成部112により生成されるプログラム作成画面500の基本的な構成について説明する。
図7に示すように、プログラム作成画面500は、プログラム作成に用いることのできる各種アイコンの一覧を表示するアイコン表示領域200と、アイコンを動作順に配置して制御プログラムを作成するためのプログラム作成領域300とを含む。アイコンの選択操作或いはアイコンの実行を指示する操作に応じてそのアイコンに関連する情報を表示するポップアップ画面700が表示される。ポップアップ画面700は、アイコン表示領域200及びプログラム作成領域300とは別の画面(ウィンドウ)として(それらの領域と重ならないように)表示されるのが好ましい。なお、アイコンに関連する情報を表示する形態はポップアップ画面に限られるものではなく、様々な表示形態を採用することができる。
【0029】
プログラム作成画面500は、更に、状態表示領域450を含んでいても良い。なお、実施例1-7では、状態表示領域450に現在のロボット30の位置姿勢を表すロボットモデル30Mを表示する例を示す。なお、このようなロボットモデル30Mの画像は、教示装置10においてロボット制御装置50からロボット30の現在の位置姿勢情報を取得し、その位置姿勢情報にしたがってロボット30の3Dモデルデータを仮想の作業空間内で動作させることで実現することができる。
【0030】
図7に示す実施例1の動作では、アイコン表示領域200内で見るアイコン601にカーソル671を合わせることによって見るアイコン601が選択されている。なお、対象のアイコンをアイコン表示領域200で選択してドラッグアンドドロップしてプログラム作成領域300に配置する操作の間もそのアイコンが選択されている状態としても良い。
【0031】
アイコン表示領域200内での見るアイコン601の選択に応じて、関連情報表示制御部117は、見るアイコン601に関連付けられている視覚センサ70の情報として、視覚センサ70の撮影領域のライブ画像M1をポップアップ画面700に表示する。ユーザはこのようなライブ画像M1を確認することで、見るアイコン601に関連付けられた視覚センサ70の視野で何が見えるか、その視覚センサの視野に対象物が正しく配置されているか等を即座に確認することができる。ユーザがプログラム作成のために見るアイコン601を選択するのみでライブ画像M1が即座に表示されるので、ユーザは視覚センサ70の視野の画像を確認するために煩雑な操作を行う必要はない。
【0032】
また、
図8に示しように、関連情報表示制御部117は、プログラム作成領域300内に配置された見るアイコン601が選択されたことに応じて、視覚センサ70のライブ画像M1を表すポップアップ画面700を表示しても良い。
【0033】
図7及び
図8に示すように、対象のアイコン(ここでは見るアイコン601)が選択されている間、そのアイコンはハイライト表示される。関連情報表示制御部117は、対象のアイコンが選択されている間、そのアイコンアに関連する情報(ここではライブ画像M1)をポップアップ画面700に表示するようにしても良い。
【0034】
このような実施例によれば、アイコンに関連する情報がプログラム作成画面やパラメータ設定画面とは別にポップアップ表示されるので、ユーザは、プログラム作成領域300全体を把握しながら且つ、アイコンに関連する情報も確認しつつプログラム作成を行うことができる。アイコンを用いたプログラミングにおいて、プログラミングを支援する各種情報が極めて簡単な操作で提供され、いっそう直感的で且つ効率的なプログラミングが可能になる。実施例1によるこのような効果は、以下で述べる各実施例にも共通する。
【0035】
(実施例2)
実施例2について
図9を参照して説明する。実施例2は、プログラム作成領域300に配置されたアイコンに対して実行を指示する操作が行われた場合に、そのアイコンの実行結果の情報を表示する例である。
図9に示すプログラム作成画面500では、ユーザ操作により、プログラム作成領域300には見るアイコン601、動作(ビジョン)アイコン602、及び直線移動アイコン603が配置されている。なお、動作(ビジョン)アイコン602は、見るアイコン601で検出された位置にロボット30(制御部位)を移動させて対象物を取り出す機能を提供する。直線移動アイコン603は、ロボット30(制御部位)を直線移動させる機能を提供する。ここでは、ユーザが、プログラム作成領域300で見るアイコン601を選択して実行させる操作(例えば、見るアイコン601にカーソルを合わせてクリック(又はタップ)する操作)を行ったとする。
【0036】
見るアイコン601の実行完了に応じて、関連情報表示制御部117は、ポップアップ画面700に、視覚センサ70(視覚センサ制御装置40)による検出結果の画像を表示させる。
図9に示すように、ポップアップ画面700内には、検出された対象物1の画像710と、検出された対象物の数を表す文字情報711(“検出数=1”)が表示されている。
【0037】
なお、ここでは、見るアイコン601を選択して実行させる操作に応じて見るアイコン601の実行結果を表示する場合の動作例について説明したが、実行タブ651の選択により、
図9のプログラム作成領域300に配置されたアイコン全体に対する実行が指示された場合に、見るアイコン601の実行完了に応じてその実行結果を表示するようにしても良い。
【0038】
このように本実施例によれば、ユーザは、プログラム作成画面500において視覚センサに係わるアイコン或いは視覚センサに係わるアイコンを含むプログラムに対する実行を指示する操作を行うのみで、当該アイコンの実行結果(すなわち、教示した対象物の有無を示す検出結果)を迅速に確認することができる。
【0039】
(実施例3)
実施例3について
図10を参照して説明する。実施例3は、アイコン表示領域200において力センサを用いた機能に関するアイコンが選択或いは実行指示されることに応じて、そのアイコンに関連する力センサの情報を表示する例である。なお、本実施例では、ロボットシステム100において
図2に示すように力センサ71が配置されている場合を想定する。
図10に示されるように、アイコン表示領域200において力センサ71を用いた力制御に関連する「押付け動作アイコン604」が選択されたものとする。力センサ71は、6軸力センサであるものとする。
【0040】
この場合、関連情報表示制御部117は、押付け動作アイコン604の選択に応じて、力センサ71の検出値を表すグラフ721をポップアップ画面700に表示する。グラフ721は、力センサ71の出力値として、力センサ71に設定した座標系におけるXYZ軸方向の負荷の大きさ(X,Y,Z)及びXYZ軸周りのモーメント(W,P,R)の時間推移を示す。なお、グラフ721において縦軸は負荷又はモーメントの大きさを表し、横軸は時間を表す。
【0041】
このように、本実施例によれば、ユーザはプログラム作成画面500において力センサに関連するアイコンを選択するのみで、力センサの現在の検出値を即座に確認することができる。
【0042】
なお、上記では、アイコン表示領域200に表示された押付け動作アイコン604が選択されたことに応じて力センサ71の検出値のグラフ721を表示する動作例について説明したが、プログラム作成領域300に配置された押付け動作アイコン604に対する選択・実行指示の操作に応じて、押付け動作アイコン604の実行中に実行中の状態に関する情報として、又は、実行後に実行結果に関する情報として力センサ71の検出値のグラフ721をポップアップ画面700に表示するようにしても良い。
【0043】
本実施例によれば、力制御に係わる制御プログラムをいっそう直感的且つ効率的に作成することが可能になる。
【0044】
(実施例4)
実施例4について
図11を参照して説明する。実施例4は、ロボット30(ロボット制御装置50)と接続している機器(IO機器)に関連するアイコンに対する選択或いは実行指示に応じて当該機器に関する情報を表示する例である。
図11のプログラム作成画面500において、プログラム作成領域300に配置されているアイコンのうち、「はなすアイコン605」が選択され実行指示が行われた状態であるとする。はなすアイコン605は、ハンド33を開く命令に対応する。
【0045】
この場合、関連情報表示制御部117は、はなすアイコン605に対する選択・実行指示の操作に応じて、ハンド33のIO制御の状態を表すIO情報731と、ハンド33の現在の開閉状態をグラフィカルに示すハンド画像732とをポップアップ画面700に表示する。例えば、IO制御の状態を表すIO情報731及びハンド画像732は、はなすアイコン605の実行中にリアルタイムに表示されても良く、或いは、はなすアイコン605の実行後の実行結果を表す情報として表示されても良い。なお、
図11では、例示として、ハンド33に関するIO情報731が“IO1=オン”であり、ハンド画像732がハンドオープンの状態である場合の表示例を記載している。関連情報表示制御部117は、IO制御の情報をロボット制御装置50から取得することができる。或いは、教示装置10とハンド33を直接接続する構成とし、教示装置10がハンド33(ハンド33の制御部)からハンド33の制御の状態を直接取得するようにしても良い。
【0046】
(実施例5)
実施例5について
図12-14を参照して説明する。実施例5は、アイコンの選択或いは実行指示に応じて当該アイコンのパラメータ(設定情報)を表示する場合の例である。
図12-
図13は、指定した時間だけプログラムを待機させる命令のアイコン(待機設定アイコン606)を選択した或いは実行を指示したことに応じて待機設定アイコン606に関する情報を表示する場合の動作例を示す。
【0047】
図12に示すプログラム作成画面500では、アイコン表示領域200において待機設定アイコン606が選択されている。待機設定アイコン606の選択に応じて、関連情報表示制御部117は、待機設定アイコン606の設定時間の情報741(“待機設定時間 6sec”)をポップアップ画面700に表示する。これにより、ユーザは、対象のアイコンを選択するのみで、対象のアイコンの設定情報を確認することができる。なお、
図12のポップアップ画面700に表示されている“待機設定時間 6sec”は、ユーザがパラメータ設定画面を介して事前に設定した値であるとする。ユーザによる待機時間の設定が未実施の状態で待機設定アイコン606が選択された場合には、関連情報表示制御部117は、待機設定時間のデフォルト値(例えば5sec)を設定時間の情報741として表示しても良い。なお、
図12のポップアップ画面700では、待機設定アイコン606は動作中でないため、実際の待機時間の経過時間を表す経過時間情報742は、0.0secと表示されている。
【0048】
図13に示すプログラム作成画面500では、プログラム作成領域300に配置された4つのアイコンに対する実行を指示するユーザ操作が行われ、現在、待機設定アイコン606が実行されている状態である。この場合、関連情報表示制御部117は、待機設定アイコン606の実行開始に応じて、待機設定アイコン606の設定に関する情報及び当該アイコンの実行中の状態に関する情報をポップアップ画面700に表示させる。ここでは、関連情報表示制御部117は、待機設定アイコン606の設定時間の情報741(“待機設定時間 6sec”)と共に、待機時間についてのリアルタイムの経過時間情報742(“3.3sec”)を表示させる。これにより、ユーザは、ロボット30がどれくらいの間、停止しているかを一目で確認することができる。
【0049】
図14は、アイコン表示領域200において直線移動のコマンドに対応する直線移動アイコン603を選択することにより当該直線移動アイコン603に関する設定情報を表示する場合の例を示している。
【0050】
図14に示すプログラム作成画面500において、アイコン表示領域200における直線移動アイコン603がカーソル671で指定され選択された状態であるものとする。直線移動アイコン603の選択に応じ、関連情報表示制御部117は、直線移動アイコン603の設定内容の情報751をポップアップ画面700中に表示する。直線移動アイコン603の情報751は、直線移動の動作速度(1000mm/sec)、移動後に目的位置で停止させる「位置決め」動作であることの指定、及び位置指定として位置レジスタ[2]が用いられること、及びコメント(‘取り出し位置’)を含んでいる。
【0051】
このようにアイコンの設定情報を表示することで、ユーザは設定ミスを容易に発見できるようになる。よって、実施例5は、プログラム作成(教示)を行うユーザを支援し、プログラミングを効率化する。
【0052】
(実施例6)
実施例6について
図15及び
図16を参照して説明する。実施例6は、対象のアイコンに係わるプログラムの内部変数を表示する動作例に関する。ここでは、レジスタに関するアイコン(レジスタアイコン607)が選択された場合の情報の表示について説明する。
【0053】
図15に示すプログラム作成画面500では、アイコン表示領域200においてレジスタアイコン607がカーソル671により指定され選択されている。レジスタアイコン607の選択に応じ、関連情報表示制御部117は、ポップアップ画面700に、レジスタアイコン607の設定情報761としてレジスタの値(レジスタ[1]=10)を表示する。
【0054】
なお、レジスタアイコン607の設定内容にエラーがある場合、関連情報表示制御部117は、ポップアップ画面700内において、設定に誤りがあることを表示するようにしても良い。
図16の例では、レジスタアイコン607の設定において無効なレジスタ番号(レジスタ[0])が指定されているために、ポップアップ画面700において、レジスタ番号“0”が誤りであることを赤色その他の表示態様でハイライト表示している状態が示されている。
【0055】
なお、プログラムの内部変数の表示に関しても、対象のアイコンの実行中に或いは実行後に実行結果としてポップアップ表示するようにしても良い。
【0056】
本実施例によれば、プログラムの内部変数が提示され、また、変数の設定等にエラーがあればエラー情報も提示されるので、プログラム作成(教示)を行うユーザを支援しプログラミングを効率化することができる。
【0057】
(実施例7)
実施例7について
図17を参照して説明する。実施例7は、プログラム作成領域300に配置されたアイコンのプログラムの実行を指示する操作が行われた場合に、あるアイコンに関して当該アイコンの実行前の時点で当該アイコンに関連する情報をポップアップ表示する例である。
【0058】
図17に示すように、プログラム作成画面500において、プログラム作成領域300には、見るアイコン601、動作(ビジョン)アイコン602、及び直線移動アイコン603が配置されている。実行タブ651が操作されてプログラム作成領域300のプログラムの実行が指示され、現在、2番目の動作(ビジョン)アイコン602が実行中であるとする。関連情報表示制御部117は、実行部115からプログラムの実行状態を取得することで、直線移動アイコン603の実行が開始されるのに先立って、直線移動アイコン603に関連する情報をポップアップ表示する。
図17には、動作(ビジョン)アイコン602の実行中に、直線移動アイコン603の設定内容の情報751が表示されている状況が示されている。
【0059】
なお、
図17では一つのアイコンについて当該アイコンの実行前に情報を提示する例について記載しているが、プログラム作成領域300に含まれる複数のアイコンの各々について実行前に情報を提示するようにしても良い。
【0060】
本実施例によれば、アイコンに関連する情報がそのアイコンの実行前に表示されるので、ユーザは、実行が開始される予定のアイコンに関連する情報を事前に把握することができる。例えば、実行される予定のアイコンの設定内容にエラー等が含まれる場合、そのアイコンが実行される前にプログラムを停止する等の対応をとることもできる。
【0061】
以上述べたように、本実施形態によれば、ロボットの制御プログラムのプログラミングにおいて、プログラミングを支援する各種情報が極めて簡単な操作で提供され、いっそう直感的で且つ効率的なプログラミングが可能になる。
【0062】
第2実施形態
次に第2実施形態に係る教示装置10Aについて説明する。
図18に示すように、教示装置10Aは、第1実施形態に係る教示装置10に対して属性情報設定部118を付加した構成を有する。教示装置10Aは、上述した教示装置10の機能を包含する。なお、教示装置10Aによるプログラミングの対象のロボットシステムは、溶接ロボットシステムである場合を想定する。溶接ロボットシステムの場合、
図1に示したロボットシステム100において、ロボット30のアーム先端部にハンド33に代えて溶接トーチを取り付け、溶接トーチに溶接電流を供給する溶接電源装置をロボット制御装置50に接続して、ロボット制御装置50の制御の下で溶接電源装置を動作させる構成とすることで実現することができる。本実施形態では、このような溶接ロボットシステムを想定する。
【0063】
属性情報設定部118は、アイコンに関連する情報として表示すべき表示内容を定義する表示属性情報を各アイコンに対して設定する機能を提供する。設定された表示属性情報は、アイコンデータ記憶部111にアイコンに関連付けて記憶される。関連情報表示制御部117は、アイコンに対する実行指示に応じてアイコンに関する情報を表示する場合に、当該アイコンに設定されている表示属性情報にしたがって表示内容を決定する。
【0064】
表示属性情報を用いた情報の表示例について
図19を参照し説明する。
図19に示す例の場合、プログラム作成領域300には、溶接プログラムとして、直線移動アイコン621、622、溶接起動アイコン623、溶接点移動アイコン624、直線移動アイコン625、626が配置されている。溶接起動アイコン623は溶接電源装置を起動する命令を表す。また、溶接起動アイコン623は、長い帯状の形状を有し、その中に配置されたアイコン(溶接点移動アイコン624)が溶接中に実行されることを表す。これらのアイコン(溶接プログラム)に対する実行指示により、初期位置から溶接待機位置に移動して溶接を開始し、溶接終了後再び初期位置に戻る溶接動作が行われる。
【0065】
上記アイコンに対して以下の様に表示属性情報が設定されているものとする。
直線移動アイコン:‘動作’
溶接起動アイコン:‘アーク溶接’
表示属性情報が‘動作’の直線移動アイコンが実行される間、関連情報表示制御部117は、ロボットの位置情報をロボット制御装置50からリアルタイムで取得してロボットの動作を表すロボットモデル30Mを、一例として状態表示領域450に表示する。表示属性情報が‘アーク溶接’である溶接起動アイコン623の実行中、関連情報表示制御部117は、状態表示領域450に表示する表示内容を、溶接状態を示す情報に切り換える。ここでは、溶接状態を示す情報として、アーク溶接中の電流、電圧をそれぞれ示すインジケータ画像771、772が表示される例を示す。関連情報表示制御部117は、溶接電流、電圧をロボット制御装置50を介して取得する。
【0066】
このように、各アイコンに表示属性情報を設定可能とすることで、ユーザ操作を要することなく、アイコンの機能に応じてユーザが所望する情報を自動的に切り替えながら表示させることが可能となる。
【0067】
なお、アイコンに関連する情報を表示する時間や、表示を開始する時点等の設定は様々な例が有り得る。このような情報表示のタイミングに関しても設定可能であっても良い。例えば、溶接起動アイコン623について、溶接命令実行後3秒間は画面を切り替えない、といった設定も有り得る。また、表示属性情報毎にプライオリティを設定可能であっても良い。例えば、表示属性‘アーク溶接’に高いプライオリティを設定しておくと、状態表示領域450に表示すべき表示内容に競合が生じた場合に、プライオリティの高い情報を優先して表示させることができる。これら、情報の表示のタイミングやプライオリティに関しても、各アイコンに関する属性として、属性情報設定部118を介して設定可能であっても良い。
【0068】
各アイコンには、表示属性情報に加えて、実行状態属性がさらに属性情報設定部118を介して設定可能であっても良い。実行状態属性によるアイコンに関する情報の表示例について
図20を参照して説明する。例示として、溶接起動アイコン623に、実行状態属性として‘溶接有効’又は‘溶接無効’が設定可能であるものとする。実行状態属性が‘溶接有効’である場合(すなわち、アーク放電が有効にされている場合)には、関連情報表示制御部117は、アーク溶接の電流、電圧をそれぞれを示すインジケータ画像771、772を状態表示領域450に表示させる。他方、実行状態属性が‘溶接無効’である場合(すなわち、アーク放電が無効にされている場合)には、関連情報表示制御部117は、溶接トーチ先端部の加工部位のライブ画像を状態表示領域450に表示させる。
【0069】
上記構成により、溶接有効の設定の場合には、ユーザが所望するアーク溶接中の電流、電圧の情報を提示し、他方、溶接無効の設定の場合には、ユーザが所望する情報として溶接トーチ先端部の位置を確認可能なライブ画像M2を提供することができる。なお、実行状態属性に応じてどのような情報をするかに関する設定も、属性情報設定部118を介して設定可能(すなわち、カスタマイズ可能)であっても良い。
【0070】
このように、各アイコンに実行状態情報を設定可能とすることで、ユーザ操作を要することなく、アイコンの実行状態に応じて、ユーザが所望する情報を自動的に切り替えながら表示させることが可能となる。
【0071】
なお、属性情報設定部118は、上述した各種属性情報の設定を、ユーザ操作を介して受け付けても良い。或いは、各種属性情報は、外部装置から教示装置10Aに入力されても良く、予めアイコンデータ記憶部111に記憶されていても良い。本第2実施形態では、アイコンに関連する情報を状態表示領域450に表示する例を記載したが、アイコンに関連する情報は第1実施形態の場合の様にポップアップ表示されても良い。
【0072】
以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【0073】
上述の実施形態では、ロボットの制御プログラムを構成する機能を表す命令としてアイコンを用いたプログラミングを可能とする教示装置において、プログラム作成画面に配置された命令(アイコン)に対する選択或いは実行指示に応じて、当該選択又は実行指示の対象の命令(アイコン)に関連する情報を表示する構成に関して説明した。上述の実施形態における選択又は実行指示に応じて命令(アイコン)に関連する情報を表示する各種機能は、ロボットの制御プログラムを構成する機能を表す命令としてテキストベースの命令文によるプログラミングを行うように構成された教示装置にも適用することができる。この場合、教示装置(画面生成部)は、プログラム作成画面として、命令文の一覧を表示する第1の領域(命令一覧表示領域)と、第1の領域から選択した命令文を配置してプログラムを作成するための第2の領域(プログラム作成領域)とを作成する。
【0074】
例えば、第1の領域(命令一覧表示領域)は、
‘チョクセン’
‘カクジク’
‘ヨビダシHAND_OPEN’
‘ヨビダシHAND_CLOSE’
‘ビジョンケンシュツ’
‘ビジョンホセイデータシュトク’
といった命令文の一覧を表示するポップアップメニュー画面として構成されても良い。ここで、命令文‘チョクセン’はロボットの制御部位を直線の軌道で移動させる命令に対応し、命令文‘カクジク’はロボットを各軸動作で移動させる命令に対応し、‘ヨビダシHAND_OPEN’はハンドを開く命令に対応し、命令文‘ヨビダシHAND_CLOSE’はハンドを閉じて対象物をつかむ命令に対応し、‘ビジョンケンシュツ’は視覚センサで対象物を撮像する命令に対応し、‘ビジョンホセイデータシュトク’は撮像された画像から対象物の位置を検出する命令に対応する。
【0075】
ユーザは、第1の領域(ポップアップメニュー画面)から命令を選択して、第2の領域(プログラム作成領域)に配置してプログラム作成を行い、また、必要に応じ各命令文の詳細なパラメータを指定する。下記に第2の領域(プログラム作成領域)に記述したプログラムの一例を示す。
1:チョクセンイチ[1] 2000mm/sec イチギメ ;
2: ;
3: ビジョンケンシュツ 'A' ;
4: ビジョンホセイデータシュトク 'A' ビジョンレジ[1] ジャンプラベル[100] ;
5: ;
6: !Handling ;
7:チョクセンイチ[2] 2000mm/sec ナメラカ100 ビジョンホセイ,ビジョンレジ[1] ツールホセイ,イチレジ[1] ;
8:チョクセンイチ[2] 500mm/sec イチギメビジョンホセイ,ビジョンレジ[1] ;
9: ヨビダシ HAND_CLOSE ;
10:チョクセンイチ[2] 2000mm/sec ナメラカ100 ビジョンホセイ,ビジョンレジ[1] ツールホセイ,イチレジ[1] ;
上記プログラムは、所定位置に移動させた視覚センサ(カメラA)により、対象物の位置を検出し(第1-第5行)、検出された位置に基づきロボットの位置補正を行いながら対象物を把持する動作を実現するものである(第6-第10行)。
【0076】
このように命令文によるプログラミングを行う場合においても、教示装置は、
図6に示した機能ブロックと同等の機能ブロック構成により、第1の領域(命令一覧表示領域)から選択した命令文を第2の領域(プログラム作成領域)に配置してプログラム作成を行うことに関して上述の実施形態と同等の機能を提供する。そして、教示装置(関連情報表示制御部)は、第1の領域又は第2の領域にある命令文に対する選択、又は、第2の領域に配置された命令文に対する実行指示に応じて、対象の命令文に関連する情報を例えばポップアップ画面として表示する。
【0077】
上述の実施形態では、主に、一つのポップアップ画面を表示する例について説明したが、例えば、ユーザ操作により複数のアイコンが選択され、或いは、複数のアイコンに対する実行指示が成された場合に、複数のアイコンそれぞれについての関連情報を複数のポップアップ画面に提示するようにしても良い。
【0078】
上述の実施形態では、プログラム作成画面500が一つの矩形枠状の態様で表示され、プログラム作成領域300及びアイコン表示領域200がその一つの矩形枠内に含まれるような表示形態を示したが、これは例示であり、プログラム作成画面の画面表示形態も様々な例が有り得る、例えば、プログラム作成領域300及びアイコン表示領域200がそれぞれ別々のウィンドウとして表示されても良い。この場合、プログラム作成領域300、アイコン表示領域200、ポップアップ画面700がそれぞれ別のウィンドウとして表示される。
【0079】
図2及び
図4で示した、視覚センサ制御装置、ロボット制御装置、及び教示装置の機能ブロックの配置は一例であり、これらの機能ブロックの配置は適宜変更することができる。
【0080】
図4に示した教示装置の機能ブロックは、教示装置のプロセッサが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
【符号の説明】
【0081】
1 対象物
2 作業台
10 教示装置
11 プロセッサ
12 メモリ
13 表示部
14 操作部
15 入出力インタフェース
30 ロボット
30M ロボットモデル
31 手首フランジ
33、33A ハンド
40 視覚センサ制御装置
41 プロセッサ
42 メモリ
43 入出力インタフェース
50 ロボット制御装置
51 プロセッサ
52 メモリ
53 入出力インタフェース
54 操作部
70 視覚センサ
71 力センサ
100 ロボットシステム
110 プログラム作成部
111 アイコンデータ記憶部
112 画面生成部
113 操作入力受付部
114 プログラム生成部
115 実行部
116 パラメータ設定部
117 関連情報表示制御部
118 属性情報設定部
200 アイコン表示領域
300 プログラム作成領域
401 入力画像
402 画像処理部
403 キャリブレーションデータ記憶部
450 ロボットモデル表示領域
501 動作制御部
601 見るアイコン
602 動作(ビジョン)アイコン
603 直線移動アイコン
604 押付け動作アイコン
605 はなすアイコン
606 待機設定アイコン
607 レジスタアイコン
651 実行タブ
652 詳細タブ
671 カーソル
700 ポップアップ画面