(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下、本発明の好適な実施形態について、図面を参照しつつ詳細に説明する。説明において、同一要素又は同一機能を有する要素には同一の符号を付し、重複する説明を省略する。
【0010】
図1に示すように、実施形態に係るロボットシステム1は、ロボットアーム10と、ロボットコントローラ20と、作業台30と、カメラ40とを備える。
【0011】
ロボットアーム10は、基部11と、2本の腕部12,13と、1本の手首部14と、基部11に対して腕部12,13及び手首部14を直列に連結する3箇所の関節15,16,17とを有する。基部11は、床面に設置される基台11aと、基台11aの上に設けられた旋回台11bとを有する。基台11aは、鉛直な軸(S軸)A1まわりに旋回台11bを旋回させるアクチュエータを内蔵している。
【0012】
関節(L軸関節)15は、腕部(下腕部)12と旋回台11bの上部とを連結する。L軸関節15は、水平な軸(L軸)A2まわりに下腕部12を揺動させるアクチュエータを内蔵している。関節(U軸関節)16は、腕部(前腕部)13と下腕部12とを連結する。U軸関節16は、L軸A2に平行な軸(U軸)A3まわりに前腕部13を搖動させるアクチュエータを内蔵している。関節(B軸関節)17は、手首部14と前腕部13とを連結する。B軸関節17は、前腕部13の中心軸A4に直交する軸(B軸)A5まわりに手首部14を搖動させるアクチュエータを内蔵している。
【0013】
前腕部13は、直列に連なる前腕リンク13a,13bを有する。U軸関節16側の第1前腕リンク13aは、B軸関節17側の第2前腕リンク13bを前腕部13の中心軸(R軸)A4まわりに旋回させるアクチュエータを内蔵している。手首部14は、B軸関節17に連結された手首リンク14aと、手首リンク14aの先端側に連結された装着フランジ14bとを有する。手首リンク14aは、装着フランジ14bを手首部14の中心軸(T軸)A6まわりに旋回させるアクチュエータを内蔵している。装着フランジ14bには、ロボットアーム10に所望の作業を行わせるための各種ツールTが取り付けられる。ツールTは、例えばロボットハンドである。なお、ロボットアーム10の構成及び各アクチュエータの配置は一例であって、上記構成・配置に限定されるものではない。
【0014】
作業台30は、ロボットアーム10が作業対象とするワークWを支持する。カメラ40は、例えばCCD等の撮像素子を内蔵している。カメラ40は、作業台30の上方に設置され、下方の作業台を撮影して電気信号として出力する。
【0015】
ロボットコントローラ20は、ワークWに対する様々な作業をロボットアーム10に行わせるように、ロボットアーム10の上記各アクチュエータを制御する。また、ロボットコントローラ20は、カメラ40から画像を取得し、画像内のワークWを認識する処理を行う。すなわち、ロボットコントローラ20は、画像処理装置U1として機能する。画像内のワークWを認識する処理により、画像内におけるワークWの位置及び姿勢情報が得られる。ロボットコントローラ20は、画像内におけるワークWの位置及び姿勢情報に基づいて、ロボットアーム10を基準としたワークWの位置及び姿勢情報を特定し、ロボットアーム10を制御する。
【0016】
ロボットコントローラ20には、プログラミングペンダント(PP)21及びタッチパネル22がそれぞれケーブルを介して接続されている。すなわち、ロボットシステム1は、PP21及びタッチパネル22を更に備える。PP21は、ロボットアーム10の動作のティーチングを行う入力装置である。PP21は、スイッチ21aを有する。スイッチ21aは、ロボットアーム10の動作許可状態と動作禁止状態とを切り替える。スイッチ21aは、例えばロボットアーム10の各アクチュエータへの電力供給を遮断する、所謂非常停止スイッチでもよい。すなわちロボットアーム10が動作許可状態であるときにスイッチ21aが押下されると各アクチュエータへの電力供給が遮断され、ロボットアーム10は動作禁止状態となる。タッチパネル22は、画像処理装置U1としてのロボットコントローラ20が行う画像処理について、各種設定を行うための入力装置である。
【0017】
図2に示すように、画像処理装置U1としてのロボットコントローラ20は、第1記憶部23と、ワーク認識部25とを有する。第1記憶部23は、ワークWを画像認識するためのプログラム(以下、「画像認識プログラム」という。)を記憶する。画像取得部24は、カメラ40から画像を取得する。ワーク認識部25は、第1記憶部23に記憶されたプログラムに従って画像処理を行い、画像取得部24が取得した画像内のワークWを認識する。
【0018】
ところで、新たなワークWを対象とする作業にロボットアーム10を適応させるためには、第1記憶部23に、新たなワークWの画像認識プログラムを登録する必要がある。この登録を行うために、画像処理装置U1としてのロボットコントローラ20は、第2記憶部26と、ワーク登録ガイド部27と、登録部28とを更に備える。
【0019】
第2記憶部26は、ワークWに関する複数のパラメータの入力により画像認識プログラムとなるベースプログラムを記憶する。ワークWに関する複数のパラメータは、例えばワークWの外形・大きさと、ワークWの特徴部の形状・大きさと、ワークW内における特徴部の位置と、ワークW内における基準点の位置とを含む。特徴部は、ワークWの向きを特定するために用いることが可能な外観上の特徴部分である。基準点は、ロボットアーム10がワークWに対し作業を行うときに基準となる点である。基準点は、例えば、ロボットアーム10がワークWを把持するときに、把持すべき部分の特定に用いられる。
【0020】
ワーク登録ガイド部27は、上記複数のパラメータの入力を促す複数の入力画面を一画面ずつタッチパネル22に表示し、一つの入力画面における上記パラメータの入力が完了する度に次の入力画面に切り替える。各入力画面に促されることで、全てのパラメータがユーザによりタッチパネル22に入力される。ワーク登録ガイド部27は、入力されたパラメータを順次取得する。
【0021】
登録部28は、ワーク登録ガイド部27が取得した上記パラメータを、第2記憶部26のベースプログラムにあてはめることで、画像認識プログラムを構築し、第1記憶部23に登録する。
【0022】
続いて、画像処理装置U1としてのロボットコントローラ20により実行されるワーク登録処理について説明する。ワーク登録処理に先立って、ワークWが作業台30上に設置されているものとする(
図1参照)。
図3に示すように、画像処理装置U1は、まずPP21のスイッチ21aの状態を取得し(S10)、ロボットアーム10が動作禁止状態であるかどうかを判定する(S11)。
【0023】
ロボットアーム10が動作禁止状態ではない場合には、タッチパネル22を入力拒否状態にして(S12)、ワーク登録処理を終了する。ロボットアーム10が動作禁止状態である場合には、タッチパネル22を入力受付状態にし(S13)、実行内容を取得する(S14)。実行内容の取得に際し、ワーク登録ガイド部27は、
図4に示すメニュー画面50Aをタッチパネル22に表示する。メニュー画面50Aは、複数のメニュー選択ボタン51と、ワーク登録ボタン52とを含む。
【0024】
メニュー選択ボタン51のそれぞれには、ワーク登録を除く様々な実行内容が割り当てられている。メニュー選択ボタン51に割り当てられた実行内容は、例えば自動運転、手動運転及び状態モニタ等である。自動運転は、ロボットアーム10の制御に合わせて自動的にワークWを認識する運転モードである。手動運転は、ユーザの指示入力に応じてワークWを認識する運転モードである。状態モニタは、ワークWの認識状況を示す情報をタッチパネル22に表示することである。ワーク登録ボタン52には、実行内容としてワーク登録が割り当てられている。ユーザがワーク登録ボタン52に触れると、画像処理装置U1の実行内容はワーク登録となる。
【0025】
次に、画像処理装置U1は、
図3に示すように、取得した実行内容がワーク登録であるかどうかを判定する。実行内容がワーク登録でない場合にはワーク登録処理を終了する。実行内容がワーク登録である場合には、タッチパネル22からプログラム番号を取得する(S16)。プログラム番号の取得に際し、ワーク登録ガイド部27は、
図5に示す入力画面50Bをタッチパネル22に表示する。
【0026】
入力画面50Bは、番号リスト53と、番号入力ボタン54とを含む。番号リスト53は、既に登録済のプログラムの番号を表示する。
図6に示すように、ユーザが番号入力ボタン54に触れると、番号入力ボタン54の横にテンキー55が表示され、テンキー55からプログラムの番号を入力することが可能となる。
【0027】
番号リスト53、番号入力ボタン54及びテンキー55に促され、ユーザがプログラム番号を入力すると、その番号がワーク登録ガイド部27に取得される。なお、ワーク登録ガイド部27は、入力画面50Bへの入力を促すために、番号入力ボタン54をハイライト表示してもよい。
【0028】
次に、画像処理装置U1は、
図3に示すように、ワークWの外形情報を取得する(S17)。ワークWの外形情報の取得に際して、ワーク登録ガイド部27は、
図7に示す入力画面60Aをタッチパネル22に表示する。
【0029】
入力画面60Aは、ワークWの外形の種類を入力するための画面であり、ワーク表示部61と、フロー表示部62と、ズームボタン63と、複数の形状選択ボタン64と、確定ボタン65とを含む。ワーク表示部61は、画像取得部24により取得された画像を表示する。上述したように、作業台30にはワークWが設置されているので、ワーク表示部61にはワークWが表示される。ズームボタン63は、ワーク表示部61の画像の拡大又は縮小を指示するボタンである。
【0030】
フロー表示部62は、パラメータ入力の内容を示す複数の表示枠62a〜62dを直列に繋いだものである。ワークWの外形の種類を入力する工程に対応するのは表示枠62aである。ワーク登録ガイド部27は、入力画面60Aにおいては表示枠62aをハイライト表示する。表示枠62aのハイライト表示は、例えば、表示枠62a内の色を他の表示枠62b〜62d内の色と変えることにより、表示枠62aを目立たせる表示を意味する。表示枠62a内を他の表示枠62b〜62d内に比べて明るくしてもよい。
【0031】
複数の形状選択ボタン64は、ワークWの外形の種類を選択するためのボタンである。入力画面60Aにおいて、複数の形状選択ボタン64には、例えば、矩形、円形又は楕円形等がそれぞれ割り振られる。ユーザが形状選択ボタン64のいずれかに触れることにより、そのボタンに割り振られた形状がワークWの外形として選択される。確定ボタン65は、入力内容を確定させるボタンである。
【0032】
入力画面60Aに促され、ユーザがいずれかの形状選択ボタン64に触れ、確定ボタン65に触れると、ワークWの外形の種類がワーク登録ガイド部27に取得される。なお、ワーク登録ガイド部27は、入力画面60Aへの入力を促すために、形状選択ボタン64及び確定ボタン65をそれぞれハイライト表示してもよい。
【0033】
ワーク登録ガイド部27は、入力画面60Aに続いて、
図8に示す入力画面60Bをタッチパネル22に表示する。入力画面60Bは、ワークWの外形・大きさを入力するための画面であり、入力画面60Aと同様のワーク表示部61、フロー表示部62、ズームボタン63及び確定ボタン65を含むのに加え、描画ツール66を含む。フロー表示部62において、ワークWの外形・大きさを入力する工程に対応するのは表示枠62bである。ワーク登録ガイド部27は、入力画面60Bにおいては表示枠62bをハイライト表示する。なお、
図8におけるワークWは、
図7におけるワークWに比べ、ズームボタン63により拡大されている。
【0034】
描画ツール66は、2個の特定点指定ボタン66a,66bと、4個の調整ボタン66c,66d,66e,66fとを含む。特定点指定ボタン66a,66bは、ワークWの外形の範囲を特定する点を入力するためのボタンである。ユーザが特定点指定ボタン66a,66bに触れると、ワーク表示部61において特定点を指定することが可能となる。ワークWの外形が矩形である場合、特定点は、例えば対角の2点である。特定点指定ボタン66aに触れた後に、ワーク表示部61において第1点を指定し、特定点指定ボタン66bに触れた後に、ワーク表示部61において第2点を指定することで、2個の特定点が指定される。ワーク登録ガイド部27は、指定された特定点に基づいて、ワークWの周縁に倣うワーク包囲図形R1を、ワークWの画像に重ねてワーク表示部61に描画する(
図9参照)。
【0035】
調整ボタン66c,66d,66e,66fは、それぞれ特定点を上下左右にずらすボタンである。調整ボタン66c,66d,66e,66fは、特定点指定ボタン66aが選択された状態では、上記第1点の位置を調整し、特定点指定ボタン66bが選択された状態では、上記第2点の位置を調整する。調整ボタン66c,66d,66e,66fにより特定点の位置を調整することで、ワーク包囲図形R1をワークWの周縁に更に近付けることができる。
【0036】
入力画面60Bに促され、ユーザがワーク包囲図形R1を描画し、確定ボタン65に触れると(
図10参照)、ワーク包囲図形R1の形状・大きさが、ワークWの外形・大きさとしてワーク登録ガイド部27に取得される。なお、ワーク登録ガイド部27は、入力画面60Bへの入力を促すために、特定点指定ボタン66a,66b、調整ボタン66c,66d,66e,66f及び確定ボタン65をそれぞれハイライト表示してもよい。
【0037】
次に、画像処理装置U1は、
図3に示すように、ワークWの特徴部情報を取得する(S19)。ワークWの特徴部情報の取得に際して、ワーク登録ガイド部27は、
図11に示す入力画面60Cをタッチパネル22に表示する。
【0038】
入力画面60Cは、特徴部C1(
図12参照)の形状の種類を入力するための画面であり、入力画面60Aと同様のワーク表示部61、フロー表示部62、ズームボタン63、形状選択ボタン64及び確定ボタン65を含む。フロー表示部62において、特徴部情報を入力する工程に対応するのは、表示枠62cである。ワーク登録ガイド部27は、入力画面60Cにおいては表示枠62cをハイライト表示する。
【0039】
入力画面60Cにおいても、複数の形状選択ボタン64には、例えば、矩形、円形又は楕円形等がそれぞれ割り振られる。ユーザが形状選択ボタン64のいずれかに触れることにより、そのボタンに割り振られた形状が特徴部C1の形状として選択される。
【0040】
入力画面60Cに促され、ユーザがいずれかの形状選択ボタン64に触れ、確定ボタン65に触れると、特徴部C1の形状の種類がワーク登録ガイド部27に取得される。なお、ワーク登録ガイド部27は、入力画面60Cへの入力を促すために、形状選択ボタン64及び確定ボタン65をそれぞれハイライト表示してもよい。
【0041】
ワーク登録ガイド部27は、入力画面60Cに続いて、
図12に示す入力画面60Dをタッチパネル22に表示する。入力画面60Dは、特徴部C1の形状・大きさ及びワークW内における特徴部C1の位置を入力するための画面であり、入力画面60Bと同様のワーク表示部61、フロー表示部62、ズームボタン63、確定ボタン65及び描画ツール66を含む。ワーク登録ガイド部27は、入力画面60Dにおいても表示枠62cをハイライト表示する。なお、
図12におけるワークWは、
図11におけるワークWに比べ、ズームボタン63により拡大されている。
【0042】
入力画面60Dにおいても、特定点指定ボタン66a,66bにより特定点を指定できる。ワーク登録ガイド部27は、指定された特定点に基づいて、特徴部C1の周縁に倣う特徴部包囲図形R2を、ワークWの画像に重ねてワーク表示部61に描画する。調整ボタン66c,66d,66e,66fにより特定点の位置を調整することで、特徴部包囲図形R2を特徴部C1の周縁に更に近付けることができる。
【0043】
入力画面60Dに促され、ユーザが特徴部包囲図形R2を描画し、確定ボタン65に触れると、特徴部包囲図形R2の形状・大きさが、特徴部C1の形状・大きさとしてワーク登録ガイド部27に取得される。また、ワーク包囲図形R1内における特徴部包囲図形R2の位置が、ワークW内における特徴部C1の位置としてワーク登録ガイド部27に取得される。なお、ワーク登録ガイド部27は、入力画面60Dへの入力を促すために、特定点指定ボタン66a,66b、調整ボタン66c,66d,66e,66f及び確定ボタン65をそれぞれハイライト表示してもよい。
【0044】
次に、画像処理装置U1は、
図3に示すように、基準点情報を取得する(S21)。基準点情報の取得に際して、ワーク登録ガイド部27は、
図13に示す入力画面60Eをタッチパネル22に表示する。
【0045】
入力画面60Eは、ワークW内における基準点の位置を入力するための画面であり、入力画面60Bと同様のワーク表示部61、フロー表示部62、ズームボタン63及び確定ボタン65を含むのに加え、描画ツール67を含む。フロー表示部62において、基準点情報の入力に対応するのは、表示枠62dである。ワーク登録ガイド部27は、入力画面60Eにおいては表示枠62dをハイライト表示する。
【0046】
描画ツール67は、候補点指定ボタン67aと、調整ボタン67b,67c,67d,67eとを含む。候補点指定ボタン67aは、基準点の候補となる点を入力するためのボタンである。候補点指定ボタン67aに触れると、ワーク表示部61において基準点の候補点を指定することが可能となる。ワーク登録ガイド部27は、指定された候補点P1を、ワークWの画像に重ねてワーク表示部61に描画する。
【0047】
調整ボタン67b,67c,67d,67eは、候補点を上下左右にずらすボタンである。調整ボタン67b,67c,67d,67eにより、候補点を目標の位置に近付けることができる。
【0048】
入力画面60Eに促され、ユーザが候補点P1を描画し、確定ボタン65に触れると、ワーク包囲図形R1内における候補点P1の位置が、ワークW内における基準点の位置として、ワーク登録ガイド部27に取得される。なお、ワーク登録ガイド部27は、入力画面60Eへの入力を促すために、候補点指定ボタン67a、調整ボタン67b,67c,67d,67e及び確定ボタン65をそれぞれハイライト表示してもよい。
【0049】
次に、画像処理装置U1は、
図3に示すように、ワークWの画像認識プログラムを登録する(S22)。画像認識プログラムの登録に際して、ワーク登録ガイド部27は、
図14に示す入力画面60Fをタッチパネル22に表示する。
【0050】
入力画面60Fは、入力画面60Aと同様のワーク表示部61、フロー表示部62、ズームボタン63及び確定ボタン65を含むのに加え、完了ボタン68を含む。完了ボタン68は、パラメータ入力を完了させるボタンである。完了ボタン68は、フロー表示部62の表示枠62dに連なっている。直前の工程を示す表示枠62dに連なっているので、完了ボタン68はユーザにより視認され易い。
【0051】
入力画面60Fに促され、ユーザが完了ボタン68に触れると、登録部28は、ワーク登録ガイド部27が取得した上記パラメータを、第2記憶部26のベースプログラムにあてはめることで、画像認識プログラムを構築し、第1記憶部23に登録する。以上でワークWの画像認識プログラムの登録が完了する。なお、ワーク登録ガイド部27は、入力画面60Fへの入力を促すために、完了ボタン68をハイライト表示してもよい。
【0052】
以上に説明したロボットシステム1によれば、ワーク登録ガイド部27が取得したパラメータが第2記憶部26のベースプログラムにあてはめられて画像認識プログラムが構築され、第1記憶部23に登録される。このため、ロボットシステム1のユーザは、パラメータを入力するのみで画像認識プログラムを登録できる。
【0053】
パラメータの入力に際しては、ワーク登録ガイド部27により、パラメータの入力を促す複数の入力画面60A〜60Eが一画面ずつタッチパネル22に表示され、一つの入力画面におけるパラメータの入力が完了する度に次の入力画面に切り替えられる。このため、ユーザは、入力画面60A〜60Eに従った入力操作を行うのみで、パラメータを漏れなく入力できる。従って、ワークWの画像認識プログラムを容易に登録できる。
【0054】
ユーザは、入力画面60A,60Bに従ってワーク包囲図形R1を描画することで、ワークWの外形・大きさを入力できる。描画中のワーク包囲図形R1はワークWの画像に重ねて表示されるので、ワークWの画像に合わせて形状・大きさを調節して容易にワーク包囲図形R1を描画できる。従って、ワークWの外形・大きさを容易に入力でき、ワークWの画像認識プログラムを更に容易に登録できる。
【0055】
ユーザは、入力画面60C,60Dに従って特徴部包囲図形を描画することで、特徴部C1の形状・大きさ及びワーク内における特徴部C1の位置を入力できる。描画中の特徴部包囲図形R2はワークWの画像に重ねて表示されるので、特徴部C1の画像に合わせて形状を調節して容易に特徴部包囲図形R2を描画できる。従って、特徴部C1の形状・大きさ及びワークW内における特徴部C1の位置を容易に入力でき、ワークWの画像認識プログラムを更に容易に登録できる。
【0056】
ユーザは、入力画面60Eに従って基準点の候補点を指示するのみで、基準点のワークW内における位置を入力できる。候補点P1はワークWの画像に重ねて表示されるので、ワークWの画像に合わせて位置を調節して容易に候補点P1を指示できる。従って、基準点のワークW内における位置を容易に入力でき、ワークWの画像認識プログラムを更に容易に登録できる。
【0057】
ロボットシステム1は、ロボットアーム10の動作許可状態と動作禁止状態とを切り替えるスイッチ21aを更に備え、画像処理装置U1は、スイッチ21aがロボットアーム10を動作許可状態としているときに、タッチパネル22を入力拒否状態とし、スイッチ21aがロボットアーム10を動作禁止状態としているときに、タッチパネル22を入力許可状態とする。このため、ワークWの画像認識プログラムをより安全に登録できる。
【0058】
以上、本発明の好適な実施形態について説明してきたが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。ロボットコントローラ20は、必ずしも図示のように一体化されていなくてもよく、例えばロボットアーム10の制御ユニットと、画像処理ユニットと、これらのユニットを繋ぐプログラマブルロジックコントローラ(PLC)とに分離されていてもよい。この場合、画像処理ユニットが画像処理装置U1を構成する。