(57)【要約】【課題】オフラインで、撮像カメラの適正な設置位置を決定すると共に、検出パラメータを調整することを可能とさせるロボットシステムのシミュレーション装置を提供する。【解決手段】シミュレーション装置３０は、ロボットシステムの三次元モデルを表示装置３２の画面上に表示し、ロボットと撮像カメラと周辺機器とを備えるロボットシステムのシミュレーションを行う。シミュレーション装置３０は、三次元仮想空間を画面上に表示する表示装置３２と、操作者によって指定された撮像範囲と、使用される撮像カメラの光学的特徴情報と、要求される計測精度とに基づいて、撮像カメラの設置位置を決定するカメラ位置決定部４０と、三次元仮想空間における撮像カメラの位置とその光学的特徴情報に基づいて、撮像カメラにより取得されるべき仮想的な画像を生成する仮想画像生成部４２とを備え、撮像カメラの適正な位置の決定及び検出パラメータの調整を容易にさせる。【選択図】図１
2008021092.tif 000002
【特許請求の範囲】
【請求項１】
三次元仮想空間を画面上に表示する表示装置を備え、ロボットと撮像カメラと周辺機器とを備え且つ前記撮像カメラによって取得された画像から計測されたワークの位置に基づいて前記ロボットが前記ワークに予め定められた処理を行うロボットシステムの三次元モデルを、前記表示装置の画面上に表示し、前記ロボットシステムのシミュレーションを行うためのロボットシステムのシミュレーション装置であって、
操作者が前記表示装置の画面上で前記撮像カメラによって撮像すべき撮像範囲を指定することを可能とさせる入力装置と、
操作者によって指定された撮像範囲と、使用される撮像カメラの光学的特徴情報と、要求される計測精度とに基づいて、前記撮像カメラの設置位置を決定するカメラ位置決定部と、
前記三次元仮想空間における前記撮像カメラの位置と前記撮像カメラの光学的特徴情報とに基づいて、前記撮像カメラにより取得されるべき仮想的な画像を生成する仮想画像生成部と、
を備えることを特徴としたロボットシステムのシミュレーション装置。
【請求項２】
前記撮像カメラの光学的特徴情報は焦点距離及び撮像素子サイズを含む、請求項１に記載のロボットシステムのシミュレーション装置。
【請求項３】
前記仮想画像生成部によって生成された仮想的な画像は、前記表示装置に表示される、請求項１に記載のロボットシステムのシミュレーション装置。
【請求項４】
前記仮想画像生成部によって生成された画像を用いて、予め作成された動作プログラムに従った前記ロボットシステムの動作のシミュレーションを行うシミュレーション実行部をさらに備える、請求項１に記載のロボットシステムのシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オフラインでロボットシステムのシミュレーションを行うためのシミュレーション装置に関する。
【背景技術】
【０００２】
ロボットシステムでは、視覚認識装置を用いてワークを認識し、認識されたワークの位置等に応じてロボットに所定の処理を行わせることが一般的である。例えば、特許文献１には、部品上のマークに光を照射してその反射光又は透過光を視覚認識装置で検出することによって部品の認識を行い、当該部品に所定の処理を施す部品実装装置が開示されている。
【０００３】
【特許文献１】特開平８−１６７８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このような視覚認識装置を用いるロボットシステムでは、要求される計測精度又は計測精度が得られるように、視覚認識装置の撮像カメラの設置位置や検出対象物の検出パラメータ等を調整し決定する必要がある。ところが、この撮像カメラの設置位置や検出パラメータの設定の調整及び決定作業には、専門的な知識が必要であるため、未習熟な作業者には困難であった。また、撮像カメラの位置設定や検出対象物の検出パラメータの調整等は試行錯誤で行うため、非常に多くの作業工数を要していた。さらに、撮像カメラの設定位置や検出パラメータの調整及び確認作業は、検出対象物や撮像カメラ等の機器を実際に用いて行っていたため、非常に多くの作業時間を要していた。加えて、視覚認識装置によるワーク位置の計測結果を用いてロボットの動作を補正する場合に、計測プログラム及び動作プログラムが適正であるか否かの確認作業も実際の画像処理装置や制御機器と共にロボットシステムを用いて行っており、現場での作業が多く、非効率的であった。
【０００５】
よって、本発明は、上記従来技術に存する問題を解消するために、実際のロボットシステムを用いることなく、オフラインで、撮像カメラの適正な設置位置を決定すると共に、検出パラメータを調整することを可能とさせるロボットシステムのシミュレーション装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記目的に鑑み、三次元仮想空間を画面上に表示する表示装置を備え、ロボットと撮像カメラと周辺機器とを備え且つ前記撮像カメラによって取得された画像から計測されたワークの位置に基づいて前記ロボットが前記ワークに予め定められた処理を行うロボットシステムの三次元モデルを、前記表示装置の画面上に表示し、前記ロボットシステムのシミュレーションを行うためのロボットシステムのシミュレーション装置であって、操作者が前記表示装置の画面上で前記撮像カメラによって撮像すべき撮像範囲を指定することを可能とさせる入力装置と、操作者によって指定された撮像範囲と、使用される撮像カメラの光学的特徴情報と、要求される計測精度とに基づいて、前記撮像カメラの設置位置を決定するカメラ位置決定部と、前記三次元仮想空間における前記撮像カメラの位置と前記撮像カメラの光学的特徴情報とに基づいて、前記撮像カメラにより取得されるべき仮想的な画像を生成する仮想画像生成部とを備えるロボットシステムのシミュレーション装置を提供する。
【０００７】
前記撮像カメラの光学的特徴情報は焦点距離及び撮像素子サイズを含む。
また、上記ロボットシステムのシミュレーション装置において、前記仮想画像生成部によって生成された仮想的な画像は、前記表示装置に表示されることが好ましい。
【０００８】
また、上記ロボットシステムのシミュレーション装置は、前記仮想画像生成部によって生成された画像を用いて、予め作成された動作プログラムに従った前記ロボットシステムの動作のシミュレーションを行うシミュレーション実行部をさらに備えることが好ましい。
【発明の効果】
【０００９】
作業者が使用される撮像カメラと撮像すべき範囲とを指定することによって、カメラ位置決定部が、実際にロボットシステムを用いることなくオフラインで、撮像カメラを配置すべき適正な位置を決定するので、撮像カメラの設置位置を決定する際に、ワークやロボットシステムを実際に使用する必要がなくなり、また、作業者による試行錯誤的な工程が不要になる。また、仮想画像生成部によって生成された仮想的な画像を用いれば、実際に撮像カメラを使用することなく、撮像カメラが決定された設定位置に配置されているときに所望される画像が得られているかの確認、画像からワークを検出するために必要となる検出モデルの設定、画像処理のためのパラメータの設定等を行うことが可能となる。
【００１０】
加えて、シミュレーション実行部を備えていれば、実際のロボットシステムを使用することなく、作成した動作プログラムや計測プログラムが適正に機能するかを確認することができる。
このように、オフラインで撮像カメラの設定位置や検出パラメータ等を予め決定することができるので、設置現場で必要となる作業を削減し、作業時間を大幅に短縮させることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して、本発明のロボットシステム１０のシミュレーション装置３０の実施形態について説明する。
最初に、図２を参照して、本発明のシミュレーション装置３０によってシミュレーションを行うロボットシステム１０の一例を説明する。ロボットシステム１０は、作業対象となるワークＷを搬送するための搬送装置１２と、搬送装置１２によって所定位置に搬送されたワークＷに対して把持動作などの所定の処理を施すためのロボット１４と、ワークＷ又はその特定部位の位置を検出又は計測するための視覚認識装置１６とを備える。搬送装置１２としては、ベルトコンベアやローラコンベアなど適宜の搬送装置を使用することが可能である。ロボット１４は任意のタイプのものを使用することができ、特に限定されるものではない。
【００１２】
視覚認識装置１６は、画像を取得するための撮像カメラ１８と、取得した画像を処理してワークＷ又はその特定部位を検出しその位置を計測するための画像処理装置２０とによって構成されている。撮像カメラ１８としては、ＣＣＤカメラ等が使用されることが一般的であるが、他のタイプのカメラを使用することも可能である。撮像範囲や撮像対象物までの距離などに応じて様々なレンズが選択され、撮像カメラ１８に装着され得る。
【００１３】
このような構成のロボットシステム１０では、搬送装置１２によってワークＷが順次搬送され所定位置に配置されると、視覚認識装置１６によって図３に示されているような画像を取得してワークＷ又はその特定部位の正確な位置を計測し、ワークＷ又はその特定部位に対してロボット１４が把持動作などの所定の処理を施す。
【００１４】
上記のようなロボットシステム１０では、視覚認識装置１６の撮像カメラ１８の適正な設置位置、検出モデル、画像処理装置２０におけるワーク検出のためのパラメータ（以下、単に検出パラメータと記載する）などの決定や、ワークＷの位置の計測のための計測プログラムやロボット１４の動作プログラムの動作確認などを行わなければならない。本発明のシミュレーション装置３０は、実際のロボットシステム１０を用いることなくオフラインでこれらを行うことを可能にすることで、作業者の負担を軽減させるものである。
【００１５】
図１を参照して、本発明のロボットシステム１０のシミュレーション装置３０の全体構成を説明する。本発明のシミュレーション装置３０は、ロボットシステム１０の三次元モデルを用いて、三次元仮想空間内で撮像カメラ１８の取得画像やロボットシステム１０の動作のシミュレーションを行うものであり、ディスプレイなどの表示装置３２と、様々な処理を行う処理装置３４と、入力装置３６と、記憶装置３８とを備える。処理装置３４は、例えば、パーソナルコンピュータによって実現されるものであり、カメラ位置決定部４０と、仮想画像生成部４２と、シミュレーション実行部４４とを含む。入力装置３６は、操作者が表示装置３２の画面上で撮像カメラ１８によって撮像すべき範囲を指定したり、シミュレーション装置３０に様々なデータや指令を入力したりするために使用されるものであり、キーボード、マウス、タッチスクリーンなどによって実現される。記憶装置３８としては、ＲＡＭ、ＲＯＭ、ハードディスクなどデータやプログラムを記憶できる適宜のものを使用することができる。記憶装置３８は処理装置３４と別の装置として構成されてもよく、処理装置３４の一部として内蔵されていてもよい。
【００１６】
表示装置３２の画面上には、三次元仮想空間内に配置されたワークＷやロボットシステム１０の搬送装置１２、ロボット１４、撮像カメラ１８等の各コンポーネントの三次元モデルが表示される。各コンポーネントの三次元モデルは、ＣＡＤデータなどとして予め作成されたものが使用される。三次元仮想空間内の各コンポーネントの三次元モデルは、記憶装置３８に予め記憶されている各三次元モデルの初期設定位置に従って配置されてもよく、入力装置３６を用いて操作者が適宜に指定した位置に配置されてもよい。
【００１７】
処理装置３４のカメラ位置決定部４０は、操作者によって指定された撮像範囲と、使用される撮像カメラ１８の光学的特徴情報と、要求される計測精度とに基づいて、撮像カメラ１８の設置位置を決定する。光学的特徴情報には、撮像カメラ１８のレンズ１８ａの焦点距離、撮像カメラ１８の撮像素子１８ｂのサイズなどが含まれる。記憶装置３８には、複数の使用され得る撮像カメラ１８及びそのレンズ１８ａのタイプとその光学的特徴情報とを対応付けたデータベースが記憶されており、操作者が使用する撮像カメラ１８やそのレンズ１９ａのタイプを指定することにより、当該データベースを用いて、光学的特徴情報が自動的に決定される。
【００１８】
処理装置３４の仮想画像生成部４２は、三次元仮想空間における撮像カメラ１８及びワークＷの三次元モデルの位置並びに撮像カメラ１８の光学的特徴情報に基づいて、撮像カメラ１８により取得されるべき仮想的な画像をシミュレーションにより予測し、生成する。このようにして生成された仮想的な画像は、表示装置３２の画面上に表示されることが好ましい。表示装置３２の画面上に画像が表示されれば、作業者がカメラ位置決定部４０によって決定された設定位置の妥当性を視覚的に確認でき、また、当該画像を用いて視覚認識装置１６の検出パラメータ等の設定を行うことができるようになる。
【００１９】
処理装置３４のシミュレーション実行部４４は、仮想画像生成部４２によって生成された画像を用いて、作業者によって予め作成された動作プログラムに従ったロボットシステム１０の動作のシミュレーションを行う。例えば、予め作成された動作プログラムに従って、三次元仮想空間内で、搬送装置１２によって所定位置にワークＷを搬送して、撮像カメラ１８によってワークＷを撮像し、取得された画像からワークＷ又はその特定部位を検出し、その正確な位置を計測し、計測されたワークＷ又はその特定部位の位置に基づいてロボット１４にワークＷの把持動作等をさせることにより、ロボットシステム１０の動作のシミュレーションを行うことができる。これにより、実際のロボットシステム１０を用いることなく、動作プログラム及び計測プログラムが所望の動作を行うかを確認することが可能となる。
【００２０】
これらカメラ位置決定部４０、仮想画像生成部４２及びシミュレーション実行部４４は、例えば、パーソナルコンピュータのＣＰＵ（中央演算装置）上で実行されるカメラ位置決定プログラム、仮想画像生成プログラム及びシミュレーション実行プログラムによって実現されてもよく、これらのプログラムを実行できる独立したユニットとして実現されてもよい。
【００２１】
次に、図４を参照して、図１に示されるロボットシステム１０のシミュレーション装置３０の動作について説明する。
まず、表示装置３２上に、予め作成されたＣＡＤデータなどに基づく搬送装置１２、ロボット１４、撮像カメラ１８及びワークＷの三次元モデルが表示される（ステップＳ１）。これら三次元モデルは、記憶装置３８に記憶されているそれらの初期設定位置に従って配置されてもよく、入力装置３６を用いて操作者が適宜に指定した位置に配置されてもよい。次に、操作者は、表示装置３２の画面上で、入力装置３６を用いて撮像カメラ１８によって撮像すべき範囲を指定する（ステップＳ２）。撮像すべき範囲は、通常、検出すべきワークＷやその特定部位の大きさに基づき、使用予定の撮像カメラ１８及びそのレンズ１８ａや所望する計測精度を考慮して、決定される。次に、操作者は、表示装置３２上に表示された計測精度及び使用するレンズ１８ａのタイプの入力要求に従って、入力装置３６を通してこれらを指定する（ステップＳ３）。なお、計測精度とは、１画素に対応する実際の長さ又は大きさ（１画素当たりの長さ又は大きさ）を意味する。
【００２２】
処理装置３４のカメラ位置決定部４０は、このようにして指定された撮像範囲、要求される計測精度及び使用されるレンズ１８ａのタイプに基づいて、撮像カメラ１８の設置位置を決定する（ステップＳ４）。
【００２３】
ここで、図５を参照して、カメラ位置決定部４０が撮像カメラ１８の設置位置を決定する手順を詳しく説明する。図５は、撮像対象（ここでは、ワークＷ）と撮像カメラ１８のレンズ１８ａとの間の距離Ｌ、撮像カメラ１８のレンズ１８ａと撮像素子１８ｂとの距離すなわち焦点距離ｆ、撮像範囲の横幅Ｗ及び縦幅Ｈ、撮像素子１８ｂの横幅ｗ及び縦幅ｈの関係を示した模式図である。図５から、Ｌ，ｆ，Ｗ，Ｈ，ｗ及びｈの間には、以下の式（１）の関係が成り立つことが分かる。
ｗ／Ｗ＝ｈ／Ｈ＝ｆ／Ｌ      …（１）
【００２４】
これに計測精度Ｒを考慮すると、以下の式（２）が成り立つ。
Ｌ＝（ｆ×Ｈ×Ｒ）／ｈ＝（ｆ×Ｗ×Ｒ）／ｗ      …（２）
【００２５】
一方、レンズ１８ａ（すなわち撮像カメラ１８）が指定されると、焦点距離ｆ、撮像素子の横幅ｗ又は縦幅ｈが定まる。また、操作者によって撮像範囲、計測精度が指定されると、撮像範囲の横幅Ｗ又は縦幅Ｈ、計測精度Ｒが定まる。したがって、式（２）からレンズ１８ａ及び撮像カメラ１８と撮像対象との距離Ｌが求められる。
【００２６】
例えば、使用される撮像カメラ１８のレンズ１８ａの焦点距離が１６ｍｍ、撮像素子１８ｂの横幅ｗが８．８ｍｍ、縦幅ｈが６．６ｍｍであるとする。これらの値は、使用される撮像カメラ１８及びそのレンズ１８ａのタイプを指定することにより、記憶装置３８に記憶されるデータベースに基づいて処理装置３４に設定される。また、撮像範囲及び計測精度は、操作者によって、Ｗ＝６４０ｍｍ、Ｈ＝４８０ｍｍ、Ｒ＝０．１と入力されたとする。すると、撮像対象と撮像カメラ１８との距離Ｌは式（２）から以下のように求められる。
Ｌ＝（１６ｍｍ×６４０ｍｍ×０．１）／８．８ｍｍ＝１１６．４ｍｍ
又は、
Ｌ＝（１６ｍｍ×４８０ｍｍ×０．１）／６．６ｍｍ＝１１６．４ｍｍ
【００２７】
このようにして撮像対象（すなわちワークＷ）と撮像カメラ１８との距離Ｌが定められれば、撮像カメラ１８の視線ベクトルすなわち光軸が撮像対象となるワークＷの面に垂直に交わるように撮像カメラ１８の姿勢を決定し、また、ワークＷの面上に位置し且つ撮像範囲の中央となる点から撮像カメラ１８の視線ベクトルすなわち光軸に沿って上記のようにして定められた距離Ｌだけ離れた位置に撮像カメラ１８が配置されるように撮像カメラ１８の位置（Ｘ，Ｙ，Ｚ）を決定することができる。こうして、処理装置３４のカメラ位置決定部４０は、使用される撮像カメラ１８、要求される計測精度、撮像カメラ１８によって撮像すべき範囲を指定されることにより、撮像カメラ１８の位置及び姿勢を自動的に決定することができる。
【００２８】
撮像カメラ１８の位置及び姿勢がカメラ位置決定部４０によって決定されると、操作者は、シミュレーション装置３０からの要求に従って、入力装置３６により搬送装置１２の搬送速度を入力する（ステップＳ５）。次に、操作者は、撮像カメラ１８によって撮像された画像からワークＷを検出しその位置を計測するための視覚認識装置１６用計測プログラムと、搬送装置１２の動きに従って撮像カメラ１８に撮像を行わせロボット１４に把持動作をさせるためのロボットシステム１０用動作プログラムを作成する（ステップＳ６）。このとき、操作者による上記の作業を支援するために、処理装置３４の仮想画像生成部４２は、三次元仮想空間において撮像カメラ１８がカメラ位置決定部４０によって決定された撮像カメラ１８の設定位置及び姿勢に配置されたときに取得すべきワークＷの仮想画像を三次元モデルに基づいて予測、生成し、これを表示装置３２の画面に表示する。したがって、操作者は、この仮想画像を用いて、所望される範囲の画像が得られていることの確認や、ワークＷを検出するための検出パラメータや検出モデル等を設定することができる。また、この仮想画像を用いて撮像カメラ１８のキャリブレーションも行うことができる。次に、操作者は、以上のようにして定められた計測プログラムや動作プログラム、決定された撮像カメラ１８の位置及び姿勢、選択された撮像カメラ１８及びレンズ１８ａ等に基づいて、搬送装置１２、ロボット１４及び視覚認識装置１６を備えるロボットシステム１０の動作のシミュレーションを行うことができる（ステップＳ７）。
【００２９】
以下、図６を参照して、本発明のシミュレーション装置３０によるロボットシステム１０の動作のシミュレーションの一例を説明する。
まず、シミュレーション装置３０の処理装置３４内で動作プログラムを起動させ、三次元仮想空間内で搬送装置１２を稼動させる（ステップＳ１１）。ワークＷが所定位置に搬送されるまで、搬送装置１２は動作を継続する（ステップＳ１２）。ワークＷが所定位置に搬送されると搬送装置１２は停止し、視覚認識装置１６の撮像カメラ１８が撮像指令に従ってワークＷを撮像する（ステップＳ１３）。視覚認識装置１６の画像処理装置２０は、撮像カメラ１８によって取得された画像からワークを検出し、ワークＷの正確な位置を計測するためのワーク位置計測処理を行う（ステップＳ１４）。ワーク位置計測処理が終了すると（ステップＳ１５）、検出されたワークＷの位置にロボット１４を移動させ、ワークＷの把持動作をさせる（ステップＳ１６）。そして、必要な数のワークＷに対する処理が終了するまで、ステップＳ１１〜Ｓ１６を繰り返す（ステップＳ１７）。
【００３０】
一連の作業は、例えば、図７に示されているようなユーザインターフェイスをシミュレーション装置３０の表示装置３２上に表示させ、操作者がその表示に従って各処理を順番に実行することで、全てを終了できるようにすることが好ましい。これにより、視覚認識装置１６の設定やロボットシステム１０の設定に不慣れな者であっても、視覚認識装置１６を有するロボットシステム１０の設定を容易に行えるようになる。
【図面の簡単な説明】
【００３１】
【図１】本発明のロボットシステムのシミュレーション装置の全体構成を示す機能ブロック図である。
【図２】本発明のロボットシステムのシミュレーション装置によってシミュレーションされるロボットシステムの全体構成を示す概略図である。
【図３】ロボットシステムの視覚認識装置の撮像カメラによって取得される画像の一例を示す線図である。
【図４】本発明のロボットシステムのシミュレーション装置で行われる処理を示すフローチャートである。
【図５】ワークと撮像カメラの間の距離を決定する原理を示す模式図である。
【図６】ロボットシステムの動作シミュレーションのフローチャートである。
【図７】シミュレーション装置のユーザインターフェイスを示す図である。
【符号の説明】
【００３２】
１０    ロボットシステム
１２    搬送装置
１４    ロボット
１８    撮像カメラ
１８ａ    レンズ
１８ｂ    撮像素子
３０    シミュレーション装置
３２    表示装置
４０    カメラ位置決定部
４２    仮想画像生成部
４４    シミュレーション実行部
【図１】
2008021092.tif 000003
【図２】
2008021092.tif 000004
【図３】
2008021092.tif 000005
【図４】
2008021092.tif 000006
【図５】
2008021092.tif 000007
【図６】
2008021092.tif 000008
【図７】
2008021092.tif 000009