(57)【要約】【課題】機械の動作制御のための対象物の検出位置又は補正量が正しくないことを検出することが可能な制御システムを提供する。【解決手段】制御システムは、撮像装置４と制御装置１０とを備え、制御装置１０は、撮像装置４によって撮像された画像から対象物を検出し、検出した画像座標系上又はセンサ座標系上の対象物の検出位置を、機械座標系上の対象物の検出位置に変換する位置変換部２３と、機械座標系上の対象物の検出位置に基づいて機械の動作を制御する動作制御部３１と、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲に基づいて、機械座標系上の検出範囲を計算する検出範囲計算部２４と、機械座標系上の対象物の検出位置が、機械座標系上の検出範囲内であるか否かを判定する位置判定部２５とを有する。【選択図】図２
2020075327.tif 000002
【特許請求の範囲】
【請求項１】
対象物に対して所定の作業を行う機械の動作を制御する制御システムであって、
前記対象物を撮像する撮像装置と、
前記撮像装置及び前記機械の動作を制御する制御装置と、
を備え、
前記制御装置は、
前記撮像装置によって撮像された画像から前記対象物を検出し、検出した画像座標系上又はセンサ座標系上の前記対象物の検出位置を、機械座標系上の前記対象物の検出位置に変換する位置変換部であって、前記画像座標系は前記画像の座標系であり、前記センサ座標系は前記撮像装置の座標系であり、前記機械座標系は前記機械の座標系である、前記位置変換部と、
前記機械座標系上の前記対象物の検出位置に対して前記機械が前記所定の作業を行うように、前記機械座標系上の前記対象物の検出位置に基づいて、又は前記機械座標系上の前記対象物の検出位置と前記機械座標系上の前記対象物の予め定められた基準位置との差分に基づく補正量に基づいて、前記機械の動作を制御する動作制御部と、
前記画像座標系上又は前記センサ座標系上の画像内の予め定められた検出範囲に基づいて、前記機械座標系上の検出範囲を計算する検出範囲計算部と、
前記機械座標系上の前記対象物の検出位置、又は前記機械座標系上の前記対象物の基準位置と前記補正量とに基づく補正位置が、前記機械座標系上の検出範囲内であるか否かを判定する位置判定部と、
を有する、制御システム。
【請求項２】
対象物に対して所定の作業を行う機械の動作を制御する制御システムであって、
前記対象物を撮像する撮像装置と、
前記撮像装置及び前記機械の動作を制御する制御装置と、
を備え、
前記制御装置は、
前記撮像装置によって撮像された画像から前記対象物を検出し、検出した画像座標系上又はセンサ座標系上の前記対象物の検出位置を、機械座標系上の前記対象物の検出位置に変換する位置変換部であって、前記画像座標系は前記画像の座標系であり、前記センサ座標系は前記撮像装置の座標系であり、前記機械座標系は前記機械の座標系である、前記位置変換部と、
前記機械座標系上の前記対象物の検出位置に対して前記機械が前記所定の作業を行うように、前記機械座標系上の前記対象物の検出位置に基づいて、又は前記機械座標系上の前記対象物の検出位置と前記機械座標系上の前記対象物の予め定められた基準位置との差分に基づく補正量に基づいて、前記機械の動作を制御する動作制御部と、
前記位置変換部によって変換された前記機械座標系上の前記対象物の検出位置、又は前記機械座標系上の前記対象物の基準位置と前記補正量とに基づく補正位置を、前記センサ座標系上の前記対象物の検出位置又は補正位置に再変換する位置再変換部と、
前記位置再変換部によって再変換された前記センサ座標系上の前記対象物の検出位置又は補正位置が、前記センサ座標系上の画像内の予め定められた検出範囲内であるか否かを判定する位置判定部と、
を有する、制御システム。
【請求項３】
対象物に対して所定の作業を行う機械の動作を制御する制御システムであって、
前記対象物を撮像する撮像装置と、
前記撮像装置及び前記機械の動作を制御する制御装置と、
を備え、
前記制御装置は、
前記撮像装置によって撮像された画像から前記対象物を検出し、検出した画像座標系上又はセンサ座標系上の前記対象物の検出位置を、機械座標系上の前記対象物の検出位置に変換する位置変換部であって、前記画像座標系は前記画像の座標系であり、前記センサ座標系は前記撮像装置の座標系であり、前記機械座標系は前記機械の座標系である、前記位置変換部と、
前記機械座標系上の前記対象物の検出位置に対して前記機械が前記所定の作業を行うように、前記機械座標系上の前記対象物の検出位置に基づいて、又は前記機械座標系上の前記対象物の検出位置と前記機械座標系上の前記対象物の予め定められた基準位置との差分に基づく補正量に基づいて、前記機械の動作を制御する動作制御部と、
前記位置変換部によって変換された前記機械座標系上の前記対象物の検出位置、又は前記機械座標系上の前記対象物の基準位置と前記補正量とに基づく補正位置を、前記画像座標系上の前記対象物の検出位置又は補正位置に再変換する位置再変換部と、
前記位置再変換部によって再変換された前記画像座標系上の前記対象物の検出位置又は補正位置が、前記画像座標系上の画像内の予め定められた検出範囲内であるか否かを判定する位置判定部と、
を有する、制御システム。
【請求項４】
前記制御装置は、前記位置判定部によって前記対象物の検出位置又は前記補正位置が前記検出範囲内でないと判定された場合に、前記動作制御部で用いられる前記機械座標系上の前記対象物の検出位置又は前記補正量が正しくないことを外部に報知する報知制御部を更に備える、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記制御装置は、前記位置判定部によって前記対象物の検出位置又は前記補正位置が前記検出範囲内でないと判定された場合に、前記機械の動作を停止させる停止制御部を更に備える、請求項１〜３のいずれか１項に記載の制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物に対して所定の作業を行う機械の動作を制御する制御システムに関する。
【背景技術】
【０００２】
例えばロボットシステム（制御システム）ではロボット（機械）に視覚機能を持たせ、その視覚機能によってワーク（対象物）の位置を認識させて、ワークのハンドリングや加工などの作業が行われている。その視覚機能はロボットのハンド付近に取り付けられた視覚センサ（撮像装置）やロボットの周辺に設置された視覚センサがワークを撮像することによって実現される。このようなロボットシステムでは、撮像した画像からワークを検出し、検出したワークの位置に対してロボットが作業を行うように、ロボットの動作を制御することができる。
【０００３】
このようなロボットシステムでは、例えば、画像上のワークの位置を、ロボットから見たワークの位置に変換するためのキャリブレーションデータを用いて、検出したワークの位置（画像上の座標系の位置、又は、視覚センサから見たセンサ座標系の位置）を、ロボットから見たワークの位置（ロボットの座標系の位置）に変換する（例えば、特許文献１及び非特許文献１参照）。これにより、検出したワークの位置（検出位置）に対してロボットが作業を行うように、ロボットの動作を補正（制御）することができる。
【０００４】
このような補正としては、ワークの検出位置にロボットのアーム先端部を移動させる絶対位置補正と、予め設定した基準位置とワークの検出位置との差分（補正量）を用いてロボットの動作をオフセットさせる相対位置補正とがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２８８９０１１号公報
【非特許文献】
【０００６】
【非特許文献１】ROGER Y. TSAI, "An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision", PROCEEDINGS OF IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION, 1986, pages 364 - 374
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、外部からの攻撃、設定のミス、ソフトウェアの不具合等の要因により、ロボット（機械）の動作補正（動作制御）のためのワーク（対象物）の検出位置又は補正量が正しくない検出位置又は補正量になることがある。すると、ロボット（機械）の動作に正しくない補正（制御）が行われ、人又は周辺装置に危害を加えてしまうことがある。
【０００８】
本発明は、機械の動作制御のための対象物の検出位置又は補正量が正しくないことを検出することが可能な制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）  本発明に係る制御システム（例えば、後述のロボットシステム１）は、対象物（例えば、後述のワークＷ）に対して所定の作業を行う機械（例えば、後述のロボット２）の動作を制御する制御システムであって、前記対象物を撮像する撮像装置（例えば、後述の視覚センサ４）と、前記撮像装置及び前記機械の動作を制御する制御装置（例えば、後述の制御装置１０、すなわち後述の視覚センサ制御装置２０及びロボット制御装置３０）とを備え、前記制御装置は、前記撮像装置によって撮像された画像から前記対象物を検出し、検出した画像座標系上又はセンサ座標系上の前記対象物の検出位置を、機械座標系上の前記対象物の検出位置に変換する位置変換部（例えば、後述の位置変換部２３）であって、前記画像座標系は前記画像の座標系であり、前記センサ座標系は前記撮像装置の座標系であり、前記機械座標系は前記機械の座標系である、前記位置変換部と、前記機械座標系上の前記対象物の検出位置に対して前記機械が前記所定の作業を行うように、前記機械座標系上の前記対象物の検出位置に基づいて、又は前記機械座標系上の前記対象物の検出位置と前記機械座標系上の前記対象物の予め定められた基準位置との差分に基づく補正量に基づいて、前記機械の動作を制御する動作制御部（例えば、後述の動作制御部３１）と、前記画像座標系上又は前記センサ座標系上の画像内の予め定められた検出範囲に基づいて、前記機械座標系上の検出範囲を計算する検出範囲計算部（例えば、後述の検出範囲計算部２４）と、前記機械座標系上の前記対象物の検出位置、又は前記機械座標系上の前記対象物の基準位置と前記補正量とに基づく補正位置が、前記機械座標系上の検出範囲内であるか否かを判定する位置判定部（例えば、後述の位置判定部２５）とを有する。
【００１０】
（２）  本発明に係る他の制御システム（例えば、後述のロボットシステム１）は、対象物（例えば、後述のワークＷ）に対して所定の作業を行う機械（例えば、後述のロボット２）の動作を制御する制御システムであって、前記対象物を撮像する撮像装置（例えば、後述の視覚センサ４）と、前記撮像装置及び前記機械の動作を制御する制御装置（例えば、後述の制御装置１０、すなわち後述の視覚センサ制御装置２０及びロボット制御装置３０）とを備え、前記制御装置は、前記撮像装置によって撮像された画像から前記対象物を検出し、検出した画像座標系上又はセンサ座標系上の前記対象物の検出位置を、機械座標系上の前記対象物の検出位置に変換する位置変換部（例えば、後述の位置変換部２３）であって、前記画像座標系は前記画像の座標系であり、前記センサ座標系は前記撮像装置の座標系であり、前記機械座標系は前記機械の座標系である、前記位置変換部と、前記機械座標系上の前記対象物の検出位置に対して前記機械が前記所定の作業を行うように、前記機械座標系上の前記対象物の検出位置に基づいて、又は前記機械座標系上の前記対象物の検出位置と前記機械座標系上の前記対象物の予め定められた基準位置との差分に基づく補正量に基づいて、前記機械の動作を制御する動作制御部（例えば、後述の動作制御部３１）と、前記位置変換部によって変換された前記機械座標系上の前記対象物の検出位置、又は前記機械座標系上の前記対象物の基準位置と前記補正量とに基づく補正位置を、前記センサ座標系上の前記対象物の検出位置又は補正位置に再変換する位置再変換部（例えば、後述の位置変換部２３）と、前記位置再変換部によって再変換された前記センサ座標系上の前記対象物の検出位置又は補正位置が、前記センサ座標系上の画像内の予め定められた検出範囲内であるか否かを判定する位置判定部（例えば、後述の位置判定部２５）とを有する。
【００１１】
（３）  本発明に係る更に他の制御システム（例えば、後述のロボットシステム１）は、対象物（例えば、後述のワークＷ）に対して所定の作業を行う機械（例えば、後述のロボット２）の動作を制御する制御システムであって、前記対象物を撮像する撮像装置（例えば、後述の視覚センサ４）と、前記撮像装置及び前記機械の動作を制御する制御装置（例えば、後述の制御装置１０、すなわち後述の視覚センサ制御装置２０及びロボット制御装置３０）とを備え、前記制御装置は、前記撮像装置によって撮像された画像から前記対象物を検出し、検出した画像座標系上又はセンサ座標系上の前記対象物の検出位置を、機械座標系上の前記対象物の検出位置に変換する位置変換部（例えば、後述の位置変換部２３）であって、前記画像座標系は前記画像の座標系であり、前記センサ座標系は前記撮像装置の座標系であり、前記機械座標系は前記機械の座標系である、前記位置変換部と、前記機械座標系上の前記対象物の検出位置に対して前記機械が前記所定の作業を行うように、前記機械座標系上の前記対象物の検出位置に基づいて、又は前記機械座標系上の前記対象物の検出位置と前記機械座標系上の前記対象物の予め定められた基準位置との差分に基づく補正量に基づいて、前記機械の動作を制御する動作制御部（例えば、後述の動作制御部３１）と、前記位置変換部によって変換された前記機械座標系上の前記対象物の検出位置、又は前記機械座標系上の前記対象物の基準位置と前記補正量とに基づく補正位置を、前記画像座標系上の前記対象物の検出位置又は補正位置に再変換する位置再変換部（例えば、後述の位置変換部２３）と、前記位置再変換部によって再変換された前記画像座標系上の前記対象物の検出位置又は補正位置が、前記画像座標系上の画像内の予め定められた検出範囲内であるか否かを判定する位置判定部（例えば、後述の位置判定部２５）とを有する。
【００１２】
（４）  （１）から（３）のいずれかに記載の制御システムにおいて、前記制御装置は、前記位置判定部によって前記対象物の検出位置又は前記補正位置が前記検出範囲内でないと判定された場合に、前記動作制御部で用いられる前記機械座標系上の前記対象物の検出位置又は前記補正量が正しくないことを外部に報知する報知制御部（例えば、後述の報知制御部３２）を更に備えてもよい。
【００１３】
（５）  （１）から（３）のいずれかに記載の制御システムにおいて、前記制御装置は、前記位置判定部によって前記対象物の検出位置又は前記補正位置が前記検出範囲内でないと判定された場合に、前記機械の動作を停止させる停止制御部（例えば、後述の停止制御部３３）を更に備えてもよい。
【発明の効果】
【００１４】
本発明によれば、機械の動作制御のための対象物の検出位置又は補正量が正しくないことを検出することが可能な制御システムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るロボットシステムの構成を示す図である。
【図２】第１実施形態に係るロボットシステムにおける制御装置、すなわち視覚センサ制御装置及びロボット制御装置の構成を示す図である。
【図３】妥当な検出範囲の求め方の一例を説明するための図である。
【図４】画像内の予め定められた検出範囲の一例を説明するための図である。
【図５】第２実施形態に係るロボットシステムの構成を示す図である。
【図６】ロボット座標系上のワークの検出位置の求め方の一例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１７】
（第１実施形態）
図１は、第１実施形態に係るロボットシステムの構成を示す図である。図１に示すロボットシステム（制御システム）１は、ロボット（機械）２と、視覚センサ（撮像装置）４と、視覚センサ制御装置２０及びロボット制御装置３０で構成される制御装置１０とを備える。ロボットシステム１は、例えば、視覚センサ４で撮像されたワーク（対象物）Ｗの画像に基づいて、ワークＷの位置を認識し、ワークＷのハンドリング又は加工などの所定の作業を行うシステムである。
【００１８】
ロボット２のアーム３の先端部には、ハンド又はツールが取り付けられている。ロボット２は、ロボット制御装置３０の制御により、ワークＷのハンドリング又は加工などの所定の作業を行う。また、ロボット２のアーム３の先端部には、視覚センサ４が取り付けられている。
【００１９】
視覚センサ４は、視覚センサ制御装置２０の制御により、ワークＷを撮像する。なお、本実施形態では、撮像装置の一例として視覚センサを挙げたが、これに限定されない。例えば、視覚センサに代えて、一般的なカメラが用いられてもよいし、３次元計測ができるステレオカメラ等が用いられてもよい。
【００２０】
視覚センサ制御装置２０は、視覚センサ４を制御する。また、視覚センサ制御装置２０は、視覚センサ４で撮像されたワークＷの画像から、ワークＷの位置及び姿勢を検出する。
【００２１】
ロボット制御装置３０は、ロボットの動作プログラムを実行し、ロボット２の動作を制御する。その際、ロボット制御装置３０は、視覚センサ制御装置２０によって検出されたワークＷの位置に対してロボット２が所定の作業を行うように、ロボット２の動作を補正する。
【００２２】
また、ロボット制御装置３０は、視覚センサ４の撮像時、視覚センサ４の位置及び姿勢を制御するように、ロボット２の位置及び姿勢を制御する。このように、ロボットシステム１では、ワークＷの位置及び姿勢を固定とし、視覚センサ４の位置及び姿勢を制御することにより、ワークＷ及び視覚センサ４の相対位置を制御する。
以下、制御装置１０、すなわち視覚センサ制御装置２０及びロボット制御装置３０について詳細に説明する。
【００２３】
図２は、第１実施形態に係るロボットシステム１における制御装置１０、すなわち視覚センサ制御装置２０及びロボット制御装置３０の構成を示す図である。視覚センサ制御装置２０は、記憶部２１と画像処理部２２とを備え、画像処理部２２は、位置変換部２３と、検出範囲計算部２４と、位置判定部２５とを備える。ロボット制御装置３０は、動作制御部３１と、報知制御部３２と、停止制御部３３とを備える。なお、位置変換部２３、検出範囲計算部２４、位置判定部２５、報知制御部３２及び停止制御部３３は、制御装置１０内に構成されればよく、視覚センサ制御装置２０及びロボット制御装置３０のいずれに構成されてもよい。
【００２４】
視覚センサ制御装置２０における記憶部２１は、例えばＥＥＰＲＯＭ等の書き換え可能なメモリである。
視覚センサ制御装置２０における画像処理部２２及びロボット制御装置３０は、例えば、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field‐Programmable Gate Array）等の演算プロセッサで構成される。視覚センサ制御装置２０における画像処理部２２及びロボット制御装置３０の各種機能は、例えば記憶部に格納された所定のソフトウェア（プログラム、アプリケーション）を実行することで実現される。視覚センサ制御装置２０における画像処理部２２及びロボット制御装置３０の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよいし、ハードウェア（電子回路）のみで実現されてもよい。
【００２５】
記憶部２１は、ワークＷの像をモデル化したモデルパターン、例えばワークＷの像の特徴を表すモデルパターンを記憶する。また、記憶部２１は、視覚センサ４のキャリブレーションデータ、例えば画像座標系上での２次元位置を３次元座標での値に変換又はその逆の変換のためのキャリブレーションデータを記憶する。キャリブレーションデータの形式及びそれを求める方法については、種々の方式が提案されており、いずれの方式を用いてもよい（例えば、非特許文献１等参照）。
【００２６】
位置変換部２３は、視覚センサ４によって撮像された画像から、ワークＷを検出する。位置変換部２３は、記憶部２１に記憶されたモデルパターン及びキャリブレーションデータと、撮像時のロボット２のアーム３の先端部の位置（すなわち、視覚センサ４の位置）とに基づいて、画像座標系（２次元）上のワークＷの検出位置又はセンサ座標系（３次元）上のワークＷの検出位置を、ロボット座標系（３次元）上のワークＷの検出位置に変換する。画像座標系とは画像上で定義された座標系（２次元）であり、センサ座標系とは視覚センサ４からみた座標系（３次元）である。ロボット座標系（機械座標系）とはロボット２からみた座標系（３次元）である。
【００２７】
動作制御部３１は、ロボット座標系上のワークＷの検出位置に対してロボット２が所定の作業を行うように、ロボット２の動作を制御及び補正する。このような補正としては、絶対位置補正と相対位置補正とがある。絶対位置補正では、動作制御部３１は、ロボット座標系上のワークＷの検出位置に基づいて、ロボット２のアーム３の先端部の移動を補正する。一方、相対位置補正では、予め基準となるワークＷの位置（基準位置）を定めておく。動作制御部３１は、ロボット座標系上のワークＷの基準位置とロボット座標系上のワークＷの検出位置との差分を補正量として計算し、予め教示されたロボット２の動作にその補正量をかけて、ロボット２のアーム３の先端部の移動を補正する。
【００２８】
ここで、外部からの攻撃、設定のミス、ソフトウェアの不具合等の要因により、ロボット２の動作補正（動作制御）のためのワークＷの検出位置又は補正量が正しくない検出位置又は補正量になることがある。すると、ロボットの動作に正しくない補正（制御）が行われ、人又は周辺装置に危害を加えてしまうことがある。
【００２９】
そこで、本実施形態では、動作制御部３１で用いられるロボット座標系上のワークＷの検出位置、又はロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置が物理的に妥当な位置であるか否かを確認する。視覚センサ４によって撮像されたワークＷであれば、ワークＷの検出位置又は補正位置が撮像範囲外となることはない。よって、ワークＷの検出位置又は補正位置が撮像範囲内であるか否かをロボット座標系においてチェックし、ワークＷの検出位置又は補正位置が範囲外であれば、ロボット２がその位置に移動しないようにする。具体的には、本実施形態の制御装置１０は、検出範囲計算部２４と、位置判定部２５と、報知制御部３２と、停止制御部３３とを備える。
【００３０】
検出範囲計算部２４は、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲と、撮像時のロボット２のアーム３の先端部の位置（すなわち、視覚センサ４の位置）とに基づいて、ロボット座標系上の妥当な検出範囲を計算する。画像内の予め定められた検出範囲は、画像全体でもよいし、画像の一部でもよい。
【００３１】
図３は、妥当な検出範囲の求め方の一例を説明するための図である。図３では、画像内の予め定められた検出範囲が矩形状である場合の一例を示す。
ここで、キャリブレーションデータが求められていると、ロボット座標系における３次元点（注視点）が与えられた時に、その３次元点の視覚センサの画像上での像の位置、すなわち画像座標系における２次元点を計算することができる。また、ある注視点の像である画像座標系における２次元点が与えられた時に、ロボット座標系における視線（注視点と視覚センサの焦点を通る３次元直線）を計算することができる。
【００３２】
まず、検出範囲計算部２４は、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲の４隅の位置を取得する。次に、検出範囲計算部２４は、取得した検出範囲の４隅の位置と、撮像時のロボット２のアーム３の先端部の位置（すなわち、視覚センサ４の位置）とに基づいて、各位置を視覚センサ４の注視点としたときのロボット座標系上での視覚センサ４の視線を求める。次に、検出範囲計算部２４は、隣り合う視線同士を結ぶ４つの境界面を求める。次に、検出範囲計算部２４は、４つの境界面の内側を、ロボット座標系上の妥当な検出範囲とする。
【００３３】
このような範囲は、下側がオープンな無限範囲である。よって、このような範囲は、予め定められた平面を境界面として下側がクローズされた有限範囲とされてもよい。例えば、床面をロボット座標系において平面として定義して、これを下側の境界面としてもよい。
なお、検出範囲は、矩形状に限定されない。例えば、検出範囲が円状である場合、注視点が４つだけでは十分でなく、さらに細かく注視点及び境界面を取ってもよい。（実際にはレンズ歪等の影響があるので、正確には視線同士を単純に結ぶのは正しくない。より正確に検出範囲を求めるためには、注視点をより細かい単位で設定すればよい。）
更にワークがある平面上を２次元的にしか移動しないということが分かっているのであれば、その平面上の境界面で切断した内側の領域が妥当な検出範囲となる。
【００３４】
位置判定部２５は、例えばロボットが動作する直前に、ロボット座標系上のワークＷの検出位置が妥当な範囲内であるか否かを判定する。例えば、動作制御部３１が絶対位置補正を行う場合、位置判定部２５は、検出位置そのものが妥当な範囲かどうかチェックすればよい。一方、動作制御部３１が相対位置補正を行う場合、検出位置そのものをチェックしてもよいし、基準位置に対して補正量をかけた値が妥当な範囲かどうかをチェックしてもよい。
【００３５】
具体的には、位置判定部２５は、ロボット座標系上のワークＷの検出位置が、ロボット座標系上の検出範囲内であるか否かを判定する。或いは、位置判定部２５は、ロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置が、ロボット座標系上の検出範囲内であるか否かを判定する。
【００３６】
報知制御部３２は、ロボット座標系上のワークＷの検出位置又は補正位置が妥当な検出範囲内でない場合、動作制御部３１で用いられるロボット座標系上のワークＷの検出位置又は補正量が正しくないことをユーザに報知する。報知制御部３２は、例えばディスプレイ等の表示装置を用いて報知を行う。
【００３７】
停止制御部３３は、ロボット座標系上のワークＷの検出位置又は補正位置が妥当な検出範囲内でない場合、動作制御部３１で用いられるロボット座標系上のワークＷの検出位置又は補正量が正しくないので、ロボット２の動作を停止させる。
【００３８】
次に、ロボットシステム１における制御装置１０、すなわち視覚センサ制御装置２０及びロボット制御装置３０によるワーク検出位置判定動作について説明する。
【００３９】
まず、視覚センサ制御装置２０は、ワークＷが視覚センサ４の撮像範囲に入るようにロボット２のアーム３の先端部を移動させ、視覚センサ４によってワークＷを撮像する。このとき、視覚センサ制御装置２０は、撮像時のロボット２のアーム３の先端部の位置を記録しておく。
【００４０】
次に、視覚センサ制御装置２０における画像処理部２２は、撮像された画像における予め定めた検出範囲の中から、公知の画像処理等を用いてワークＷを検出する。これにより、画像処理部２２は、画像座標系上又はセンサ座標系上のワークＷの位置及び姿勢を取得する。
【００４１】
次に、視覚センサ制御装置２０における位置変換部２３は、記憶部２１に記憶されたモデルパターン及びキャリブレーションデータと、撮像時のロボット２のアーム３の先端部の位置（すなわち、視覚センサ４の位置）を用いて、画像座標系上又はセンサ座標系上のワークＷの検出位置を、ロボット座標系上のワークＷの検出位置に変換する。
【００４２】
次に、視覚センサ制御装置２０における検出範囲計算部２４は、上述及び図３のように、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲と、撮像時のロボット２のアーム３の先端部の位置（すなわち、視覚センサ４の位置）とに基づいて、ロボット座標系上の妥当な検出範囲を計算する。
【００４３】
ロボットを動作させる直前、視覚センサ制御装置２０における位置判定部２５は、ロボット制御装置３０における動作制御部３１で用いられるロボット座標系上のワークＷの検出位置が妥当な検出範囲であるか否かを判定する。例えば、動作制御部３１が絶対位置補正を行う場合、位置判定部２５は、ロボット座標系上のワークＷの検出位置が、ロボット座標系上の検出範囲内であるか否かを判定する。一方、動作制御部３１が相対位置補正を行う場合、位置判定部２５は、ロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置が、ロボット座標系上の検出範囲内であるか否かを判定する。
【００４４】
ロボット座標系上のワークＷの検出位置又は補正位置が妥当な検出範囲内である場合、ロボット２の動作を開始する。このとき、ロボット制御装置３０における動作制御部３１は、ロボット座標系上のワークＷの検出位置に対して所定の作業を行うように、ロボット２の動作を制御及び補正する。絶対位置補正では、動作制御部３１は、ロボット座標系上のワークＷの検出位置に基づいて、ロボット２のアーム３の先端部の移動を補正する。一方、相対位置補正では、動作制御部３１は、ロボット座標系上のワークＷの基準位置とロボット座標系上のワークＷの検出位置との差分を補正量として計算し、予め教示されたロボット２の動作にその補正量をかけて、ロボット２のアーム３の先端部の移動を補正する。
【００４５】
一方、ロボット座標系上のワークＷの検出位置又は補正位置が妥当な検出範囲内でない場合、ロボット制御装置３０における報知制御部３２は、動作制御部３１で用いられるロボット座標系上のワークＷの検出位置又は補正量が正しくないことをユーザに報知する。これにより、ユーザに注意を促すことができる。
また、ロボット制御装置３０における停止制御部３３は、ロボット２の動作を停止する。
【００４６】
以上説明したように、本実施形態のロボットシステム１は、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲に基づいて、ロボット座標系上の検出範囲を計算する検出範囲計算部２４と、ロボット座標系上のワークＷの検出位置、又はロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置が、ロボット座標系上の検出範囲内であるか否かを判定する位置判定部２５とを備える。これにより、本実施形態のロボットシステム１によれば、位置判定部２５によって、ロボット座標系上のワークＷの検出位置、又はロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置が、ロボット座標系上の検出範囲内でないと判定された場合に、ロボット２の動作補正（動作制御）のためのワークＷの検出位置又は補正量が正しくないことを検出することができる。
【００４７】
また、本実施形態のロボットシステム１は、位置判定部２５によってワークＷの検出位置又は補正位置が検出範囲内でないと判定された場合に、動作制御部３１で用いられるロボット座標系上のワークＷの検出位置又は補正量が正しくないことを外部に報知する報知制御部３２を備える。これにより、本実施形態のロボットシステム１によれば、何らかの要因により、ロボットの動作補正（動作制御）のためのワークＷの検出位置又は補正量が正しくない検出位置又は補正量になっても、ロボット２の移動量を最小限に抑制することができる。その結果、ロボット２の動作に正しくない補正（制御）が行われることを抑制することができ、人又は周辺装置に危害を加えてしまうことを抑制することができる。
【００４８】
また、本実施形態のロボットシステム１は、位置判定部２５によってワークＷの検出位置又は補正位置が検出範囲内でないと判定された場合に、ロボット２の動作を停止させる停止制御部３３を備える。これにより、本実施形態のロボットシステム１によれば、何らかの要因により、ロボットの動作補正（動作制御）のためのワークＷの検出位置又は補正量が正しくない検出位置又は補正量になった場合に、ロボット２の動作を抑制することができる。その結果、人又は周辺装置に危害を加えてしまうことを抑制することができる。
【００４９】
（変形例１）
第１実施形態では、ロボット座標系においてワークＷの検出位置が妥当な範囲内であるか否かの判定を行ったが、センサ座標系においてワークＷの検出位置が妥当な範囲内であるか否かの判定を行ってもよい。
【００５０】
変形例１のロボットシステム１では、第１実施形態のロボットシステム１において、視覚センサ制御装置２０における位置変換部２３及び位置判定部２５の機能及び動作が異なる。また、変形例１のロボットシステム１では、視覚センサ制御装置２０における検出範囲計算部２４を備えていなくともよい。
【００５１】
位置変換部２３は、位置再変換部として機能し、変換したロボット座標系上のワークＷの検出位置、又はロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置を、センサ座標系上のワークＷの検出位置又は補正位置に再変換する。
【００５２】
位置判定部２５は、再変換されたセンサ座標系上のワークＷの検出位置又は補正位置が、センサ座標系上の画像内の予め定められた検出範囲内であるか否かを判定する。
【００５３】
ここで、上述したように画像内の予め定められた検出範囲が円状等の複雑な形状である場合、検出範囲計算部２４によるロボット座標系上の検出範囲の計算が複雑となる。また、図４に示すように画像内において検出しない範囲をマスクすることがある。このような場合にも、画像内の予め定められた検出範囲が複雑な形状となり、検出範囲計算部２４によるロボット座標系上の検出範囲の計算が複雑となる。
【００５４】
この点に関し、変形例１のロボットシステム１によれば、検出範囲計算部２４によるロボット座標系上の検出範囲の複雑な計算が不要となる。
【００５５】
（変形例２）
また、画像座標系においてワークＷの検出位置が妥当な範囲内であるか否かの判定を行ってもよい。
【００５６】
変形例２のロボットシステム１では、第１実施形態のロボットシステム１において、視覚センサ制御装置２０における位置変換部２３及び位置判定部２５の機能及び動作が異なる。また、変形例２のロボットシステム１では、視覚センサ制御装置２０における検出範囲計算部２４を備えていなくともよい。
【００５７】
位置変換部２３は、位置再変換部として機能し、変換したロボット座標系上のワークＷの検出位置、又はロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置を、画像座標系上のワークＷの検出位置又は補正位置に再変換する。
【００５８】
位置判定部２５は、再変換された画像座標系上のワークＷの検出位置又は補正位置が、画像座標系上の画像内の予め定められた検出範囲内であるか否かを判定する。
【００５９】
この変形例２のロボットシステム１でも、検出範囲計算部２４によるロボット座標系上の検出範囲の複雑な計算が不要となる。
【００６０】
（第２実施形態）
第１実施形態では、１つの視覚センサ４がロボット２のアーム３の先端部に取り付けられ、移動される形態を例示した。第２実施形態では、２つの視覚センサ４が固定設置される形態を例示する。
【００６１】
図５は、第２実施形態に係るロボットシステム１の構成を示す図である。図５に示すロボットシステム１は、図１に示すロボットシステム１と比較して、視覚センサ４を２つ備え、これらの視覚センサ４が固定設置されている点で異なる。
【００６２】
ワークＷが１つの視覚センサ４の視野に収まらないほど大きい場合、各視覚センサ４でワークＷの端部の特徴を検出し、例えば検出した２か所の中点をワークＷ全体の検出位置とする。例えば、位置変換部２３は、図６に示すように、視覚センサ４ごとに、撮像された画像からワークＷの端部を検出し、検出した画像座標系上又はセンサ座標系上のワークＷの端部の検出箇所を、ロボット座標系上のワークＷの端部の検出箇所に変換する。位置変換部２３は、ロボット座標系上のワークＷの端部の検出箇所の中点を、ロボット座標系上のワークＷの検出位置とする。
【００６３】
このとき、第１実施形態のように、画像内の予め定められた検出範囲又は撮像範囲の内側を、妥当な検出範囲とすることができない。この場合、図６に示すように、第１実施形態と同様の手法で各視覚センサ４の妥当な検出範囲を求め、各妥当な検出範囲内で、各検出箇所が検出されるとしたときに、上述のように求めたワークＷの中点（検出位置）がどのような範囲を動きうるのかを求め、それをワークＷ全体の検出位置の妥当な検出範囲とすることができる。
【００６４】
換言すれば、例えば長尺形状のワークＷの両端部を各視覚センサ４で検出し、その中点等を検出位置とする場合には、合成された検出位置が画像の範囲外となりえる。しかし、それは画像の範囲外であることが問題ない場合であり、別のチェックを行う必要がある。この場合でも、合成された検出位置は二つの撮像範囲を結ぶ領域内には入ることになり、そのようなチェックをすることは可能である。
【００６５】
例えば、検出範囲計算部２４は、視覚センサ４ごとに、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲に基づいて、ロボット座標系上の検出範囲を計算する。
【００６６】
位置判定部２５は、ロボット座標系上のワークＷの検出位置（中点）、又はロボット座標系上のワークＷの基準位置と補正量とに基づく補正位置が、ロボット座標系上の２つの検出範囲を結ぶ領域内であるか否かを判定する。
【００６７】
この第２実施形態のロボットシステム１によれば、ワークＷが１つの視覚センサ４の視野に収まらないほど大きい場合であっても、ロボット２の動作補正のためのワークＷの検出位置又は補正量が正しくないことを検出することができる。
【００６８】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した第２実施形態では、２つの視覚センサ４が固定設置されるロボットシステム１を例示したが、ロボットシステムは３つ以上の視覚センサが固定設置される形態であってもよい。この場合でも、位置変換部は、視覚センサごとに、撮像された画像からワークの端部を検出し、検出した画像座標系上又はセンサ座標系上のワークの端部の検出箇所を、ロボット座標系上のワークの端部の検出箇所に変換し、ロボット座標系上のワークの端部の検出箇所の重心を、ロボット座標系上のワークの検出位置とすればよい。
また、検出範囲計算部は、視覚センサごとに、画像座標系上又はセンサ座標系上の画像内の予め定められた検出範囲に基づいて、ロボット座標系上の検出範囲を計算する。そして、位置判定部は、ロボット座標系上のワークの検出位置（重心）、又はロボット座標系上のワークの基準位置と補正量とに基づく補正位置が、ロボット座標系上の複数の検出範囲を結ぶ領域内であるか否かを判定すればよい。
【００６９】
また、上述した実施形態では、ロボットの動作を制御するロボットシステムを例示した。しかし、本発明はこれに限定されず、対象物に対して所定の作業を行う種々の機械（ロボット、工作機械等）の動作を制御する種々の制御システムに適用可能である。
【符号の説明】
【００７０】
１  ロボットシステム（制御システム）
２  ロボット（機械）
３  アーム
４  視覚センサ（撮像装置）
１０  制御装置
２０  視覚センサ制御装置
２１  記憶部
２２  画像処理部
２３  位置変換部（位置再変換部）
２４  検出範囲計算部
２５  位置判定部
３０  ロボット制御装置
３１  動作制御部
３２  報知制御部
３３  停止制御部
Ｗ  ワーク（対象物）
【図１】
2020075327.tif 000003
【図２】
2020075327.tif 000004
【図３】
2020075327.tif 000005
【図４】
2020075327.tif 000006
【図５】
2020075327.tif 000007
【図６】
2020075327.tif 000008