(57)【要約】【課題】ハンドによりワークを把持して移動することを実演シミュレートする場合に、処理の負荷を軽減して実際のロボットの動きを再現することができるロボットシミュレータを提供する。【解決手段】ハンド側に設定されたニードル（線座標）１４とワーク側に設定された立体座標とが交差するか否かに応じて、ハンド９によるワークの把持の成否を判断するようにした。これにより、把持の成否を判断するための計算量が軽減され、ラップトップ型ＰＣであってもシミュレーションを円滑に表示することができ、ロボットの実演シミュレーションを見栄え良くすることができる。【選択図】図１
2010214571.tif 000002
【特許請求の範囲】
【請求項１】
ハンドによりワークを把持して移動するロボットの実演シミュレーションを実行するロボットシミュレータであって、
前記ワークは、当該ワークを最外側から覆う空間に位置する立体座標をワーク側把持判定用座標として設定され、
前記ハンドは、複数のグリッパにより形成されるグリッパ内側空間のうち、前記各グリッパの距離が最小となる場合の各グリッパ先端側の中心点とハンド筐体のグリッパ内側空間側の中心点とを通過する中心線上または当該中心線に対して対象となる線上に設定された線座標、または前記中心線と交差するように設定された面座標をハンド側把持判定用座標として設定され、
前記ロボットを含む組立設備をシミュレートするシミュレート手段と、
前記シミュレート手段がシミュレートした組立設備を表示する表示手段と、
前記ハンド側把持判定用座標と前記ワーク側把持判定用座標とが交差するのに基づいて前記ハンドが前記ワークを把持したかを判断する把持判定手段と、を備え、
前記シミュレート手段は、前記把持判定手段が把持したと判断した場合に、前記ハンドと前記ワークとを結合した状態で前記表示手段に表示することを特徴とするロボットシミュレータ。
【請求項２】
前記ハンドは２個のグリッパを有し、
前記ハンド側把持判定用座標は、前記グリッパの動作方向と直交する方向を指向した面座標であることを特徴とする請求項１記載のロボットシミュレータ。
【請求項３】
前記ハンドは３個以上のグリッパを有し、
前記ハンド側把持判定用座標は、各グリッパの把持位置の中心位置から隣り合うグリッパが互いに離れる方向の動作ベクトルを合成したベクトル方向を指向した面座標を組み合わして設定されていることを特徴とする請求項１記載のロボットシミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハンドによりワークを把持して移動することを実演シミュレートするロボットシミュレータに関する。
【背景技術】
【０００２】
現在のロボットシミュレータは、ワークの把持判定に対し、ハンドにワーク把持予定空間を形成し、このワーク把持予定空間の立体座標とワークに対応した立体座標が一定値以上重複すると判断されたときにワークを把持できたと判断し、ハンドの移動に合わせてワークを移動するように処理している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−２８８２０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような処理方法は、確かに精度は高いものの、立体座標と立体座標との比較であることから計算の負荷が大きい。そのため、低スペックパーソナルコンピュータ（例えばラップトップ型ＰＣ）で営業マン等が客先でワーク把持から移動の実演シミュレーションを行いたいという要望に対して、どうしても低速度でのシミュレーションしか再現できず、実際のロボットがどの程度の動きができるかを客に理解させることが難しかった。
【０００５】
本発明は上記事情に鑑みてなされたもので、その目的は、ハンドによりワークを把持して移動することを実演シミュレートする場合に、処理の負荷を軽減して実際のロボットの動きを再現することができるロボットシミュレータを提供することにある。
【課題を解決するための手段】
【０００６】
請求項１の発明によれば、グリッパ内側空間に設定されたハンド側把持判定用座標（直線座標または面座標）とワークに設定されたワーク側把持判定用座標（立体座標）とが交差したときにハンドはワークを把持したと判断するようにしたので、直線座標または面座標と立体座標との比較となり、把持成否を判断するための計算量が少なくて済み、従来のシミュレータよりは低スペックＰＣでも実際のロボットと同じような動作を再現することができる。このように把持の判断の処理を軽減するにしても、もともと実演用シミュレーションであるので、客に対して違和感のない十分なシミュレーション表現を提供することができる。
【０００７】
請求項２の発明によれば、２個のグリップの内側空間にグリッパの把持方向と直交する方向に延長された面座標とワーク側の立体座標との交差で把持を判断するので、グリップ内側空間に位置するワークを２つのグリッパで挟むという動作に対応した判断を適切に行うことができる。
【０００８】
請求項３の発明によれば、グリップの内側空間の中心から外方に延長された複数の面座標とワーク側の立体座標との交差で把持を判断するので、グリップ内側空間に位置するワークを３つ以上のグリッパで掴むという動作に対応した判断を適切に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態におけるロボットのハンドを３Ｄ画像で示す図
【図２】仮想ロボットを含む組立設備を３Ｄ画像で示す図
【図３】シミュレーションプログラムの動作に対応した機能ブロック図
【図４】ワーク側把持判定用座標を示す図
【図５】ワークの穴部による把持判断の状態を概略的に示す図
【図６】ワーク把持のデモプログラムを示す図
【図７】デモプログラムの動作を説明するためのフローチャート（その１）
【図８】デモプログラムの動作を説明するためのフローチャート（その２）
【図９】デモプログラムに従って動作するロボットを３Ｄ画像で示す図
【図１０】把持判定の正否を示す図
【図１１】変形例を示す図１相当図
【図１２】図１０相当図
【図１３】変形例を示す図１相当図
【図１４】図１０相当図
【図１５】変形例を示す図１相当図
【図１６】本発明の第２実施形態を示す図１相当図
【図１７】図１０相当図
【図１８】変形例を示す図１相当図
【図１９】変形例を示す図１相当図
【図２０】本発明の第３実施形態を示す図１相当図
【図２１】図１０相当図
【発明を実施するための形態】
【００１０】
以下、本発明の第１実施形態について図１乃至図１０を参照して説明する。
例えば営業マンが携帯するラップトップ型パーソナルコンピュータ（以下「ＰＣ」という）には、本発明のロボットシミュレータとしても機能するアプリケーションプログラムがハードディスクにインストールされており、営業マンが客先でロボットの動作を実演シミュレートする場合は、アプリケーションプログラムを起動する。但し、ロボットシミュレータには必ずしもＰＣを用いる必要はなく、例えばシミュレータとしての機能に特化した装置を別途構成しても良い。
【００１１】
ここで、ＰＣに組み込まれているシミュレーションプログラムついて概略的に説明する。図３は、シミュレーションプログラムの機能ブロック図である。シミュレーションプログラムは、シミュレート手段１、把持判定手段２、設定手段３、表示手段４の各機能を実現するように構成されている。シミュレート手段１は、仮想ロボット（以下「ロボット」という）を含む組立設備内の種々の装置や機器を３Ｄ化する機能を有しており、３Ｄ化した情報は、表示手段４によりＰＣのディスプレイに表示される。
【００１２】
設定手段３には、ハンドがワークを把持したかを判断するためのハンド側把持判定用座標及びワーク側把持判定用座標が予め設定されており、把持判定手段２は、両方の把持判定用座標の交差に基づいてハンドによるワーク把持の成否を判定する機能を有している。
把持判定手段２は、把持判定に対応する出力（予め割り付けられたＩＯ番号のデータ）をオンまたはオフに設定する機能を有している。この場合、ハンドによるワークの把持が成功したときに、把持成功に対応するＩＯの出力をオンに設定し、把持を失敗したときには、そのＩＯをオフするように設定されている。尚、把持の成否と、ＩＯの出力のオン／オフの設定との関係を、上述した設定と反対にしても良い。
【００１３】
図２は、ロボットを含む組立設備を３Ｄ画像で示す図である。ロボット６は直動テーブル７上に搭載されており、直動テーブル７の移動に伴って直線移動する。ロボット６のアーム８の先端にはハンド９が設けられており、ワーク把持位置に移動した状態で搬送テーブル１０上に載置されているワーク１１を把持し、ワーク排出位置へ移動してからワーク１１を排出するという一連の動作をワーク１１の数だけ繰返して実行するようにプログラムされている。
【００１４】
図１は、ロボット６のハンド９を３Ｄ画像で示す図である。ハンド９は、ハンド筐体１２に一対の対向するグリップ１３を有して構成されており、ハンド筐体１２の把持動作に伴ってグリッパ１３が互いに接近するグリップ動作を行うことによりワーク１１を把持するようになっている。尚、発明が理解しやすいようにグリップ１３をワイヤフレーム構造で示している。
【００１５】
ここで、ハンド筐体１２においてグリップ１３の内側空間となる部位には本発明に関連してニードル１４が立設されている。このニードル１４は、２つのグリッパ１３により形成されるグリッパ内側空間のうち、各グリッパ１３の距離が最小、つまり把持状態となる場合の各グリッパ１３の先端側の中心点とハンド筐体１２のグリッパ内側空間側の中心点とを通過する中心線上に設定されている。このニードル１４は、実際のロボットには設けられておらず、シミュレータのみに仮想的に設けられているもので、実際にはディスプレイ５に表示されることはない。ニードル１４の長さは、ワーク１１の高さ寸法に対応して設定されており、ワーク１１の高さ寸法が大きくなるほど小さい寸法に設定されている。本実施形態では、ニードル１４に対応した直線座標がハンド側把持判定用座標として設定されており、そのハンド側把持用座標が設定手段３に予め記憶されている。
【００１６】
図４は、ロボット６の把持対象となるワーク１１を示す斜視図である。ワーク１１は扁平な円筒形状をなしている。本実施形態では、ワークを最外側から覆う空間に位置する立体座標（図中に網目状に示す）がワーク側把持判定用座標として設定されており、そのワーク側把持判定用座標が設定手段３に予め記憶されている。この場合、図４に示すようにワーク１１に穴部１１ａが形成されている場合は、穴部１１ａもワーク側把持判定用座標として設定されている。これは、グリッパ１３の種別によっては、図５に示すようにワーク１１の穴部１１ａへの挿入状態でワーク１１を把持することが可能な場合が想定されるからである。
【００１７】
図６はワーク把持のデモプログラムを示す図、図７及び図８は、図６のデモプログラムの動作を説明するためのフローチャートで、図６に行の先頭に示す数字（以下で説明する数字）が図７のフローチャート中の数字がそれぞれ対応している。また、図９は、デモプログラムに従って動作するロボットを３Ｄ画像で示す図である。
（１）プログラムを開始する。
（２）変数としてｉＮＯを規定する。
（３）ロボット６の使用権を取得する。
（４）移動速度を１００％に設定する。
（５）ワーク分（ｎ個、本実施形態では６個）以下の動作を繰り返す。
（６）ｎ個目の把持位置のＺ軸方向５０ｍｍ手前の位置へ移動する（図９（ａ）参照）。
（７）速度１０％で、ｎ個目のワーク把持位置へ移動する（図９（ｂ）参照）。このワーク把持位置は予め設定されている。
（８）ワーク１１を把持する（ＩＯ  ＯＮ）。このとき、ＩＯ６４をＯＮして把持確認サブルーチンを呼ぶ。
【００１８】
図８は、把持確認サブルーチンを示すフローチャートである。ニードルデータ（線座標）を取得し、ワークデータ（立体座標）を取得してから、ニードルデータ（線座標）とワークデータ（立体座標）とが交差するかをチェックする。図１０（ａ）に示すようにニードルデータの一点がワークデータと同じ座標となった場合は、ワーク把持を成功したと判定してＩＯ１２８をＯＮする。図１０（ｂ）に示すように両者が交差しない場合は、ワーク把持を失敗したと判定してＩＯ１２８をＯＦＦし、リターンする。
【００１９】
（９）速度１０％で、Ｚ軸方向に５０ｍｍ離れた位置へ移動する（図９（ｃ）参照）。
（１０）把持確認する（把持確認サブルーチンでセットされるＩＯで判断する）。
［ＹＥＳの場合］
（１１）ワーク排出位置へ移動する（図９（ｄ）参照）。
（１２）ワークを開放する（ＩＯ  ＯＦＦ）
［ＮＯの場合］
（１６）エラーメッセージを表示する。
以上のようにしてハンド９によるワーク１１の把持が成功したと判断した場合は、ハンド９とワーク１１とを結合し、ハンド９の移動に伴ってワーク１１を移動することによりハンド９によるワーク１１の把持状態を表示する。
【００２０】
このような実施形態によれば、ハンド側に設定されたニードルデータ（線座標）の一点がワーク側に設定されたワークデータ（立体座標）と同じ座標となったか否かに応じて、ハンド９によるワーク１１の把持の成否を判断するようにしたので、把持の成否を判断するための計算量を大幅に軽減することができ、ラップトップ型ＰＣのような低スペックＰＣでも実際のロボットと同じような動作を再現することができる。このように把持の判断の処理を軽減するにしても、もともと実演用シミュレーションであるので、客に対して違和感のない十分なシミュレーション表現を提供することができる。
【００２１】
尚、ニードル１４の数は１本に限定されることなく、図１１に示すようにグリッパ内側空間の中心線を挟んだ２本としてもよい。この場合、ハンド９によるワーク１１の把持が成功したか否かの判断は、図１２に示すようにいずれかのニードル１４に対応する直線座標の一点がワーク１１の立体座標と同じ座標となったか否かにより行う。この場合、ニードル１４が１本の場合に比較して、ハンド９に対するワーク１１の位置精度の許容範囲を大きくすることができる。
【００２２】
また、図１３に示すようにニードル１４の長さを短く設定してもよい。この場合、ニードル１４が短いことから、図１４に示すように高さ寸法の大きなワーク１１の把持成否を判断する場合に好適する。
また、図１５に示すようにニードル１４を３本以上（図１５では４本）設けるようにしてもよい。このようにニードル１４を３本以上設定した場合であっても、いずれかのニードル１４に対応する線座標の一点がワーク１１に対応する立体座標と同じ座標となったか否かでハンド９によるワーク１１の把持の成否を判断することになる。ニードル１４の本数の設定は、ハンド９の形状とワーク１１の形状、或いは位置精度により決定されるもので、柔軟な把持判定が可能となる。
【００２３】
（第２実施形態）
本発明の第２実施形態について図１６及び図１７を参照して説明するに、第１実施形態と同一部分には同一符号を付して説明を省略する。この第２実施形態は、ハンド側把持判定用座標を面座標で規定したことを特徴とする。
ハンド筐体１２にはグリッパ１３の把持方向と直交する方向に延長されたブレード１５（第１実施形態のニードル１４に相当するもので、ディスプレイ５に表示されることはない）が設けられている。このブレード１５は、グリッパ内側空間の中心線を交差する面座標で表されており、当該面座標がハンド側把持判定用座標として設定されている。
【００２４】
本実施形態では、ブレード１５に対応する面座標とワーク１１に対応する立体座標とが交差したか否かによりハンド９によるワーク１１の把持の成否を判断する。この場合、図１７（ａ）に示すようにハンド側の面座標の一点がワーク側の立体座標と同じ座標となった場合は、把持が成功したと判断し、図１７（ｂ）に示すように面座標と立体座標とが全く交差しない場合は、不成功と判断する。
【００２５】
このような実施形態によれば、ハンド側の面座標の一点がワーク側の立体座標と同じ座標となったか否かによりハンドによるワーク把持の成否を判断するようにしたので、第１実施形態と同様に、ハンド９によるワーク１１に対する把持の成否を判断するための計算量が少なくて済み、ＰＣの負荷を軽減することができる。この場合、ワーク１１に対してハンド９に対して傾いていた場合でも把持と判定可能となるので、第１実施形態に比較して、ワーク１１に対するハンド９の姿勢精度の許容範囲を高めることができる。
【００２６】
尚、ブレード１５の形状としては、図１８に示すようにグリッパ１３の把持方向と直交する方向に延長された三角形状としたり、図１９に示すようにグリッパ１３の把持方向に延長された三角形状としたりしてもよい。このような三角形状を採用した場合、ワーク側の立体座標との交差座標を監視することによりワーク１１に対するハンド９の把持姿勢を判断することが可能となるので、今まで不自然な形で掴んでいたワーク１１を違和感のない自然な把持を再現することができ、ハンド９の把持精度を高めることができる。
【００２７】
（第３実施形態）
本発明の第３実施形態について図２０及び図２１を参照して説明する。この第３実施形態は、ハンド９のグリッパが３個の場合を示しており、ハンド側把持判定用座標を次のように設定している。
上述した第１実施形態及び第２実施形態のようにグリッパが２個の場合は、グリッパによりワークを挟むという動作から、グリッパとワークとの位置精度が比較的低くても把持動作に支障を生じることはないものの、図２０に示すようにグリッパ１６が３個以上の場合は、グリッパ１６によりワーク１１を掴むという動作となり、グリッパ１６とワーク１１との位置精度を高める必要がある。特にワーク１１が小さい場合は、グリッパ１６とワーク１１との位置関係が極めて重要となることから、ハンド側把持判定用座標を次のように設定した。
【００２８】
即ち、ハンド側把持判定用座標は、各グリッパ１６の把持位置の中心位置から隣り合うグリッパ１６が互いに離れる方向の動作ベクトルを合成した合成ベクトルに沿って延長された複数のブレード１７を組み合わして設定されており、それらのブレード１７に対応した複数の面座標がハンド側把持判定用座標に設定されている。この場合、図２１（ａ）に示すようにハンド側の複数の面座標とワーク側の立体座標とが完全に交差した場合に、把持を成功したと判断し、図２１（ｂ）に示すように面座標の一部でも立体座標からはみ出した場合は、不成功と判断する。
【００２９】
このような実施形態によれば、グリッパ１６とワーク１１との位置関係を精度良く規定することができるので、３個以上のグリッパ１６によりワーク１１を掴むという動作をシミュレーションする場合であっても、ハンド９によるワーク１１の把持の成否を確実に判断することができる。
【００３０】
（他の実施形態）
本発明は、上記実施形態に限定されることなく、次のように変形または拡張できる。
ハンド側把持判定用座標とワーク側把持判定用座標との交差量を任意に設定できるようにしてもよい。
ハンド側把持判定用座標として、線座標と面座標とを組み合わせるようにしてもよい。
ハンドのグリッパとして、ワークの穴部をグリップの拡開により把持するようにしてもよい。
【符号の説明】
【００３１】
図面中、１はシミュレート手段、２は把持判定手段、３は設定手段、４は表示手段、５はディスプレイ、６はロボット、９はハンド、１１はワーク、１２はハンド筐体、１３はグリッパ、１４はニードル、１５はフレード、１６はグリッパ、１７はブレードである。
【図１】
2010214571.tif 000003
【図２】
2010214571.tif 000004
【図３】
2010214571.tif 000005
【図４】
2010214571.tif 000006
【図５】
2010214571.tif 000007
【図６】
2010214571.tif 000008
【図７】
2010214571.tif 000009
【図８】
2010214571.tif 000010
【図９】
2010214571.tif 000011
【図１０】
2010214571.tif 000012
【図１１】
2010214571.tif 000013
【図１２】
2010214571.tif 000014
【図１３】
2010214571.tif 000015
【図１４】
2010214571.tif 000016
【図１５】
2010214571.tif 000017
【図１６】
2010214571.tif 000018
【図１７】
2010214571.tif 000019
【図１８】
2010214571.tif 000020
【図１９】
2010214571.tif 000021
【図２０】
2010214571.tif 000022
【図２１】
2010214571.tif 000023