(57)【要約】【課題】ロボット装置の動作を調整することができる動作調整装置を提供する。【解決手段】動作調整装置は、ロボット１およびハンド２を撮像するように配置されたカメラ７を備える。ロボット制御装置４は、予め定められた制御周期にてロボット１に動作指令を送出する動作制御部４３を含む。カメラ７は、制御周期に一致する時間間隔にて画像を撮像する。ロボット制御装置４の判定部３３は、画像処理部３２による画像の処理結果に基づいてハンド２の動作が適切であるか否かを判定する。判定部３３がハンド２の動作が適切でないと判定した場合に、ロボット制御装置４の修正部３４は、ハンド２の動作が適切な動作になるように動作プログラム４１に含まれる指令文を修正する。【選択図】図２
2020157398.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを含むロボット装置の動作を調整する動作調整装置であって、
ロボットおよびロボットの動作と対応して動作する機器のうち少なくとも一方を撮像するように配置された高速度カメラと、
ロボットおよび前記機器の動作を制御すると共に、前記高速度カメラにて撮像された画像を受信する制御装置と、を備え、
前記制御装置は、予め定められた制御周期にてロボットに動作指令を送出する動作制御部と、ロボットおよび前記機器の動作プログラムを記憶する記憶部とを含み、
前記高速度カメラは、前記制御周期に一致する時間間隔にて画像を撮像できるように形成されており、
前記制御装置は、前記制御周期に一致する時間間隔にて撮像された画像の処理を行う画像処理部と、前記画像処理部による処理結果に基づいてロボットの動作および前記機器の動作のうち少なくとも一方の動作が予め定められた動作であるか否かを判定する判定部と、動作プログラムに含まれる指令文を修正する修正部とを含み、
前記判定部がロボットの動作および前記機器の動作のうち少なくとも一方の動作が予め定められた動作でないと判定した場合に、修正部は、ロボットの動作および前記機器の動作が予め定められた動作になるように動作プログラムに含まれる指令文を修正する、動作調整装置。
【請求項２】
前記機器は、ロボットに取り付けられた作業ツールであり、
前記記憶部は、ロボットが目標位置に到達するときに作業ツールが動作を開始する目標時期の判定範囲を記憶しており、
前記高速度カメラは、ロボットが目標位置に到達するときに作業ツールを撮像し、
前記画像処理部は、前記制御周期と同一の時間間隔にて撮像された画像に基づいて作業ツールが動作を開始する時期を検出し、
前記判定部は、前記画像処理部にて検出された作業ツールが動作を開始する時期が目標時期の判定範囲を逸脱するか否かを判定し、
作業ツールが動作を開始する時期が目標時期の判定範囲を逸脱する場合に、修正部は、目標時期の判定範囲と前記画像処理部にて検出された作業ツールが動作を開始する時期との差に基づいて、動作プログラムにおいて作業ツールが動作を開始する時期の指令文を修正する、請求項１に記載の動作調整装置。
【請求項３】
前記機器は、ロボットに取り付けられた作業ツールであり、
前記記憶部は、作業ツールが動作するためのロボットが到達する目標位置と、ロボットが動作を停止したときの作業ツールの振動量の判定範囲とを記憶しており、
前記高速度カメラは、ロボットが目標位置に到達する時にロボットおよび作業ツールのうち少なくとも一方を撮像し、
前記画像処理部は、前記制御周期と同一の時間間隔にて撮像された画像に基づいてロボットが目標位置に到達した後の作業ツールの振動量を検出し、
前記判定部は、前記画像処理部にて検出された作業ツールの振動量が振動量の判定範囲を逸脱しているか否かを判定し、
作業ツールの振動量が振動量の判定範囲を逸脱する場合に、修正部は、動作プログラムにおいてロボットが停止するための減速の加速度の指令文を修正する、請求項１に記載の動作調整装置。
【請求項４】
前記制御装置は、修正部が動作プログラムの指令文を修正した後に、前回と同一のロボットおよび前記機器の動作を実施し、
前記高速度カメラは、前記制御周期に一致する時間間隔にて画像を撮像し、
前記判定部は、前記画像処理部による処理結果に基づいて、ロボットの動作および前記機器の動作のうち少なくとも一方の動作が予め定められた動作であるか否かを判定する、請求項１から３のいずれか一項に記載の動作調整装置。
【請求項５】
ロボットを含むロボット装置の動作を調整する動作調整装置であって、
ロボットおよびロボットの動作と対応して動作する機器のうち少なくとも一方を撮像するように配置された高速度カメラと、
ロボットおよび前記機器の動作を制御すると共に、前記高速度カメラにて撮像された画像を受信する制御装置と、を備え、
前記制御装置は、予め定められた制御周期にてロボットに動作指令を送出する動作制御部と、ロボットおよび前記機器の動作プログラムを記憶する記憶部とを含み、
前記高速度カメラは、前記制御周期に一致する時間間隔にて画像を撮像できるように形成されており、
前記制御装置は、前記制御周期に一致する時間間隔にて撮像された画像の処理を行う画像処理部と、前記画像処理部による処理結果に基づいて、ロボットが前記機器の動作を開始するための目標位置に到達したか否かを判定する判定部と、動作制御部に動作の指令を送出する指令部とを含み、
前記判定部が目標位置にロボットが到達したと判定した場合に、指令部は、動作制御部に対して前記機器の動作を開始する指令を送出する、動作調整装置。
【請求項６】
高速度カメラにて撮像した画像に基づいて、ロボット装置の動作を調整する動作調整方法であって、
ロボット装置は、ロボットと、ロボットの動作と対応して動作する機器を含み、
前記高速度カメラは、ロボットに動作指令を送出する制御周期に一致する時間間隔にて画像を撮像できるように形成されており、
前記高速度カメラが前記制御周期に一致する時間間隔にてロボットおよび前記機器のうち少なくとも一方を撮像する撮像工程と、
前記高速度カメラにて撮像された画像の処理を行う画像処理工程と、
画像を処理した処理結果に基づいてロボットの動作および前記機器の動作のうち少なくとも一方の動作が予め定められた動作であるか否かを判定する判定工程と、
動作プログラムに含まれる指令文を修正する修正工程と、を含み、
判定工程においてロボットの動作および前記機器の動作のうち少なくとも一方の動作が予め定められた動作でないと判定された場合に、修正工程においてロボットの動作および前記機器の動作が予め定められた動作になるように動作プログラムに含まれる指令文を修正する、動作調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置の動作を調整する動作調整装置およびロボット装置の動作を調整する動作調整方法に関する。
【背景技術】
【０００２】
ロボットを備えるロボット装置では、作業に応じた作業ツールをロボットに取り付けることにより、様々な作業を行うことができる。ロボットの動作と作業ツールの動作とが連携することにより作業を行うことができる。例えば、ロボットが予め定められた位置に到達した後に、ハンドによりワークを把持したり解放したりすることができる。
【０００３】
ロボットおよび作業ツールは、予め作成された動作プログラムに基づいて駆動される。動作プログラムに基づいてロボット装置を駆動すると、ロボット装置が所望の動作とは僅かに異なる動作を実施する場合がある。例えば、予め定められた時刻におけるロボットの位置および姿勢が所望の位置および姿勢から僅かにずれる場合がある。作業者は、ロボットを実際に駆動した時の状態を観察することにより、ロボット装置の動作を修正することができる。
【０００４】
従来の技術においては、ロボット装置に、ロボットの動作を監視する為のカメラを配置することが知られている（例えば、特開２０１１−１９０５８号公報）。カメラにて撮像した画像を処理することにより、ロボットの位置および姿勢を検出することができる。例えば、実際に駆動しているロボットを撮像して実際のロボットの位置および姿勢を検出し、ロボットの動作の異常を検出したり、ロボットの位置および姿勢を修正したりする制御が知られている（例えば、特開昭６０−１６３８６号公報および特開昭６１−１１８８１０号公報）。
【０００５】
または、ロボットの周りに配置された周辺機器がロボットの動作に応じて動作する場合がある。この場合に、ロボットの動作と周辺機器の動作とが適切に行われるように、カメラにて撮像した画像に基づいて、周辺機器の動作を制御することが知られている（例えば、特開２０１１−１５４６５６号公報）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１９０５８号公報
【特許文献２】特開昭６０−１６３８６号公報
【特許文献３】特開昭６１−１１８８１０号公報
【特許文献４】特開２０１１−１５４６５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
近年においては、製品を生産する効率を向上するために、ロボットの動作の高速化が図られている。ロボットの動作速度が遅い場合には、作業者が目視にてロボットの動作を観察することができる。ところが、高速で駆動するロボットの動作を目視にて確認することは困難である。このために、ロボット装置を駆動した時に、作業者がロボット装置の動作が適切か否かを判定することは困難である。また、ロボット装置による作業が所望の通りに実施されなかった場合に、ロボットおよび作業ツール等の機器の動作の調整を行うことは困難である。
【０００８】
例えば、ロボット装置は、一つの位置から他の位置までワークを搬送する作業を行う場合がある。ロボット装置は、ワークをハンドにて把持してロボットが駆動することによりワークを搬送することができる。ワークをハンドにて把持する場合に、ハンドの駆動を開始する時期が早いと、所望の状態にてワークを把持することができない場合がある。または、ハンドがワークを解放する場合に、ロボットが目標位置に到達する前にハンドが駆動を開始すると、ワークを放り投げてしまう虞がある。
【０００９】
このために、ロボットが駆動されている状態に合わせてハンドの駆動を開始する時期を調整する必要がある。ところが、高速で動作するロボットの状態を確認することは困難である。このように、ロボットを備えるロボット装置の動作の調整が難しい場合がった。
【課題を解決するための手段】
【００１０】
本開示の第１の態様の動作調整装置は、ロボットを含むロボット装置の動作を調整する。動作調整装置は、ロボットおよびロボットの動作と対応して動作する機器のうち少なくとも一方を撮像するように配置された高速度カメラを備える。動作調整装置は、ロボットおよび機器の動作を制御すると共に、高速度カメラにて撮像された画像を受信する制御装置を備える。制御装置は、予め定められた制御周期にてロボットに動作指令を送出する動作制御部と、ロボットおよび機器の動作プログラムを記憶する記憶部とを含む。高速度カメラは、制御周期に一致する時間間隔にて画像を撮像できるように形成されている。制御装置は、制御周期に一致する時間間隔にて撮像された画像の処理を行う画像処理部を含む。制御装置は、画像処理部による処理結果に基づいてロボットの動作および機器の動作のうち少なくとも一方の動作が予め定められた動作であるか否かを判定する判定部を含む。制御装置は、動作プログラムに含まれる指令文を修正する修正部を含む。判定部がロボットの動作および機器の動作のうち少なくとも一方の動作が予め定められた動作でないと判定した場合に、修正部は、ロボットの動作および機器の動作が予め定められた動作になるように動作プログラムに含まれる指令文を修正する。
【００１１】
本開示の第２の態様の動作調整装置は、ロボットを含むロボット装置の動作を調整する。動作調整装置は、ロボットおよびロボットの動作と対応して動作する機器のうち少なくとも一方を撮像するように配置された高速度カメラを備える。動作調整装置は、ロボットおよび機器の動作を制御すると共に、高速度カメラにて撮像された画像を受信する制御装置を備える。制御装置は、予め定められた制御周期にてロボットに動作指令を送出する動作制御部と、ロボットおよび機器の動作プログラムを記憶する記憶部とを含む。高速度カメラは、制御周期に一致する時間間隔にて画像を撮像できるように形成されている。制御装置は、制御周期に一致する時間間隔にて撮像された画像の処理を行う画像処理部を含む。制御装置は、画像処理部による処理結果に基づいて、ロボットが機器の動作を開始するための目標位置に到達したか否かを判定する判定部を含む。制御装置は、動作制御部に動作の指令を送出する指令部を含む。判定部が目標位置にロボットが到達したと判定した場合に、指令部は、動作制御部に対して機器の動作を開始する指令を送出する。
【００１２】
本開示の一態様の動作調整方法は、高速度カメラにて撮像した画像に基づいて、ロボット装置の動作を調整する方法である。ロボット装置は、ロボットと、ロボットの動作と対応して動作する機器を含む。高速度カメラは、ロボットに動作指令を送出する制御周期に一致する時間間隔にて画像を撮像できるように形成されている。動作調整方法は、高速度カメラが制御周期に一致する時間間隔にてロボットおよび機器のうち少なくとも一方を撮像する撮像工程を含む。動作調整方法は、高速度カメラにて撮像された画像の処理を行う画像処理工程を含む。動作調整方法は、画像を処理した処理結果に基づいてロボットの動作および機器の動作のうち少なくとも一方の動作が予め定められた動作であるか否かを判定する判定工程を含む。動作調整方法は、動作プログラムに含まれる指令文を修正する修正工程を含む。判定工程においてロボットの動作および機器の動作のうち少なくとも一方の動作が予め定められた動作でないと判定された場合に、修正工程においてロボットの動作および機器の動作が予め定められた動作になるように動作プログラムに含まれる指令文を修正する。
【発明の効果】
【００１３】
本開示の態様によれば、ロボットを備えるロボット装置の動作を調整することができる動作調整装置および動作調整方法を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態におけるロボット装置の概略側面図である。
【図２】実施の形態におけるロボット装置のブロック図である。
【図３】制御装置の動作制御部がロボットの動作指令を発信する制御周期を説明する図である。
【図４】ハンドが所望の時期に駆動を開始してワークをコンベヤに置く状態を撮像した画像である。
【図５】実施の形態における第１の制御のフローチャートである。
【図６】ハンドが所望の時期よりも早い時期に駆動を開始してワークをコンベヤに置く状態を撮像した画像である。
【図７】実施の形態における動作プログラムの例である。
【図８】実施の形態における第２の制御のフローチャートである。
【図９】ワークをコンベヤに置くときにロボットに振動が生じた状態を撮像した画像である。
【発明を実施するための形態】
【００１５】
図１から図９を参照して、実施の形態におけるロボット装置の動作を調整する動作調整装置およびロボット装置の動作を調整する動作調整方法について説明する。ロボット装置は、ロボットと、ロボットに取り付けられた作業ツールとを備える。また、ロボット装置は、ロボットの周りに配置された周辺機器を備える場合がある。本実施の形態では、ワークを搬送するロボット装置を例に取り上げて説明する。
【００１６】
図１は、本実施の形態におけるロボット装置の概略図である。ロボット装置５は、作業ツール（エンドエフェクタ）としてのハンド２と、ハンド２を移動するロボット１とを備える。本実施の形態のロボット１は、複数の関節部を含む多関節ロボットである。
【００１７】
ロボット１は、ベース部１４と、ベース部１４に支持された旋回ベース１３とを含む。ベース部１４は、設置面に固定されている。旋回ベース１３は、ベース部１４に対して回転するように形成されている。ロボット１は、上部アーム１１および下部アーム１２を含む。下部アーム１２は、関節部を介して旋回ベース１３に回動可能に支持されている。上部アーム１１は、関節部を介して回動可能に下部アーム１２に支持されている。また、上部アーム１１は、上部アーム１１の延びる方向に平行な回転軸の周りに回転する。
【００１８】
ロボット１は、上部アーム１１の端部に連結されているリスト１５を含む。リスト１５は、関節部を介して回動可能に上部アーム１１に支持されている。リスト１５は、回転可能に形成されているフランジ１６を含む。ハンド２は、リスト１５のフランジ１６に固定されている。本実施の形態のロボット１は、６個の駆動軸を有するが、この形態に限られない。作業ツールを移動することができる任意のロボットを採用することができる。
【００１９】
ハンド２は、ワークＷを把持したり解放したりする作業ツールである。ハンド２は、複数の爪部３を有する。爪部３がワークＷを挟むことによりワークＷを把持する。ハンド２は爪部３が開いたり閉じたりするように形成されている。本実施の形態のハンド２は、爪部３を有するが、この形態に限られない。ハンドは、ワークを把持できるように形成されている任意の構成を採用することができる。例えば、吸着または磁力によりワークを把持するハンドが採用されても構わない。
【００２０】
本実施の形態におけるロボット装置５は、ロボット１の周りに配置された周辺機器としてのコンベヤ８を含む。コンベヤ８は、ワークＷを他の位置まで搬送するように形成されている。
【００２１】
本実施の形態のロボット装置５は、図示しない作業台の上に配置されたワークＷを把持する。ロボット１は、ハンド２が作業台の上に配置されたワークＷを把持できるように、位置および姿勢を変更する。ハンド２の爪部３が閉じることによりワークＷを把持する。次に、ロボット１が位置および姿勢を変更することにより、ワークＷをコンベヤ８の載置面まで搬送する。次に、ハンド２が爪部３を開くことによりワークＷを解放する。コンベヤ８は、ワークＷが載置された後に動作を開始して、ワークＷを予め定められた位置まで搬送する。このように、ロボット１の動作とハンド２の動作は連携している。ハンド２は、ロボット１の動作と対応して動作する機器に相当する。
【００２２】
本実施の形態のロボット１は、高速で駆動する。高速で駆動するロボットとしては、例えば、２０００ｍｍ／ｓｅｃ以上の速度にてツール先端点が移動可能に形成されているロボットを例示することができる。このような高速で駆動するロボットは、ロボットが駆動している状態を目視にて観察することは困難である。
【００２３】
本実施の形態におけるロボット装置５は、ロボット１およびハンド２のうち、少なくとも一方を撮像するように配置されたカメラ７を含む。カメラ７は、架台２５に支持されている。本実施の形態のカメラ７は、１秒間に多くの画像を撮像することができる高速度カメラである。高速度カメラとしては、１秒間に３０コマ以上（３０ｆｐｓ）の画像を取得することができるカメラを例示することができる。カメラ７としては、動画を撮像するカメラを採用することができる。または、カメラ７としては、複数の静止画を撮像するカメラを採用しても構わない。
【００２４】
本実施の形態のロボット装置５には、基準座標系５６が設定されている。図１に示す例では、ロボット１のベース部１４に、基準座標系５６の原点が配置されている。基準座標系５６はワールド座標系とも称される。基準座標系５６は、原点の位置が固定され、更に、座標軸の向きが固定されている座標系である。ロボット１の位置および姿勢が変化しても基準座標系５６の位置および向きは変化しない。基準座標系５６は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。また、Ｘ軸の周りの座標軸としてＷ軸が設定される。Ｙ軸の周りの座標軸としてＰ軸が設定される。Ｚ軸の周りの座標軸としてＲ軸が設定される。
【００２５】
本実施の形態では、作業ツールの任意の位置に設定された原点を有するツール座標系５７が設定されている。ロボット１が位置および姿勢を変化すると、ツール座標系５７の位置および向きが変化する。ツール座標系５７は、座標軸として、互いに直交するＸ軸、Ｙ軸、およびＺ軸を有する。図１に示す例では、ツール座標系５７の原点は、工具先端点に設定されている。また、ツール座標系５７は、Ｚ軸の延びる方向がハンド２の爪部３の延びる方向と平行になるように設定されている。また、ツール座標系５７は、Ｘ軸の周りのＷ軸、Ｙ軸の周りのＰ軸、およびＺ軸の周りのＲ軸を有する。例えば、ロボット１の位置は、工具先端点の位置に相当する。また、ロボット１の姿勢は、基準座標系５６に対するツール座標系５７の向きに相当する。
【００２６】
図２に、本実施の形態におけるロボット装置のブロック図を示す。図１および図２を参照して、ロボット１は、ロボット１の位置および姿勢を変化させるロボット駆動装置を含む。ロボット駆動装置は、アームおよびリスト等の構成部材を駆動するロボット駆動モータ２２を含む。ロボット駆動モータ２２が駆動することにより、それぞれの構成部材の向きが変化する。
【００２７】
ハンド２は、ハンド２を駆動するハンド駆動装置を備える。ハンド駆動装置は、ハンド２の爪部３を駆動するハンド駆動モータ２１を含む。ハンド駆動モータ２１が駆動することによりハンド２の爪部３が開いたり閉じたりする。なお、爪部は、空気圧により作動するように形成されていても構わない。この場合には、ハンド駆動装置は、空気ポンプおよびシリンダなどの爪部を駆動する装置を含むことができる。
【００２８】
ロボット装置５の制御装置は、ロボット制御装置４を備える。ロボット制御装置４は、プロセッサとしてのＣＰＵ（Central Processing Unit）を有する演算処理装置（コンピュータ）を含む。演算処理装置は、ＣＰＵにバスを介して接続されたＲＡＭ（Random Access Memory）およびＲＯＭ（Read Only Memory）等を有する。ロボット制御装置４には、ロボット１、ハンド２、およびコンベヤ８の制御を行うために予め作成された動作プログラム４１が入力される。ロボット制御装置４は、ロボット１、ハンド２、およびコンベヤ８の制御に関する情報を記憶する記憶部４２を含む。動作プログラム４１は、記憶部４２に記憶される。本実施の形態のロボット装置５は、動作プログラム４１に基づいてワークＷを搬送する。ロボット装置５は、自動的に予め定められた位置までワークＷを搬送することができる。
【００２９】
ロボット制御装置４は、動作指令を送出する動作制御部４３を含む。動作制御部４３は、動作プログラム４１に基づいてロボット１を駆動するための動作指令をロボット駆動部４５に送出する。ロボット駆動部４５は、ロボット駆動モータ２２を駆動する電気回路を含む。ロボット駆動部４５は、動作指令に基づいてロボット駆動モータ２２に電気を供給する。
【００３０】
また、動作制御部４３は、動作プログラム４１に基づいてハンド２を駆動する動作指令をハンド駆動部４４に送出する。ハンド駆動部４４は、ハンド駆動モータ２１を駆動する電気回路を含む。ハンド駆動部４４は、動作指令に基づいてハンド駆動モータ２１に電気を供給する。更に、動作制御部４３は、動作プログラム４１に基づいて、カメラ７に画像を撮像する指令を送出する。
【００３１】
ロボット１は、ロボット１の位置および姿勢を検出するための状態検出器を含む。本実施の形態における状態検出器は、アーム等の構成部材の駆動軸に対応するロボット駆動モータ２２に取り付けられた位置検出器１８を含む。状態検出器の出力により、それぞれの駆動軸における構成部材の向きを取得することができる。例えば、位置検出器１８は、ロボット駆動モータ２２が駆動するときの回転角を検出する。位置検出器１８の出力に基づいて、ロボット１の位置および姿勢が検出される。
【００３２】
ロボット装置５の制御装置は、コンベヤ８の動作を制御するコンベヤ制御装置９を備える。コンベヤ制御装置９は、ＣＰＵおよびＲＡＭ等を含む演算処理装置（コンピュータ）を含む。コンベヤ制御装置９は、ロボット制御装置４と互いに通信することができるように形成されている。コンベヤ制御装置９は、ロボット制御装置４からの指令を受信して、コンベヤ８を駆動する。また、コンベヤ制御装置９は、コンベヤ８がワークＷを予め定められた位置まで搬送した場合にコンベヤ８を停止する。コンベヤ制御装置９は、コンベヤ８を停止した信号をロボット制御装置４に送信する。
【００３３】
本実施の形態のロボット装置５の制御装置は、ロボット１およびハンド２を制御するロボット制御装置４と、コンベヤ８を制御するコンベヤ制御装置９とを備えるが、この形態に限られない。ロボット装置５は、１つの制御装置にて、ロボット１、ハンド２、およびコンベヤ８を制御するように形成されていても構わない。
【００３４】
図３に、制御装置の動作制御部が発信する制御周期を説明する図を示す。図３には、動作プログラムに記載された移動点Ｐ１，Ｐ２，Ｐ３が示されている。ロボット１は、例えばツール先端点が移動点Ｐ１から移動点Ｐ２に向かうように制御される。さらに、ロボット１は、ツール先端点が移動点Ｐ２から移動点Ｐ３に移動するように制御される。動作プログラム４１には、移動点Ｐ１，Ｐ２，Ｐ３の位置およびそれぞれの位置におけるロボット１の姿勢が定められている。
【００３５】
動作制御部４３は、予め定められた制御周期Δｔにてロボット１に動作指令を送出する。制御周期Δｔは、ロボット１の性能に応じて予め定められている。または、制御周期Δｔは、作業者がロボット制御装置に入力しても構わない。ロボット１の制御周期Δｔは、例えば、１ｍｍｓｅｃ以上８ｍｍｓｅｃ以下の範囲内の時間である。
【００３６】
動作制御部４３は、動作プログラム４１から移動点Ｐ１，Ｐ２，Ｐ３におけるロボット１の位置および姿勢を取得する。次に、動作制御部４３は、それぞれの移動点Ｐ１，Ｐ２，Ｐ３同士の間に補間点ＩＰを追加する。補間点ＩＰは、互いに隣り合う移動点同士の間に設定される。補間点ＩＰは、ロボット１の制御周期Δｔの時間間隔に基づいて生成される。また、補間点ＩＰは、ロボット１の駆動する速度および直線移動等のロボット１の駆動方法に基づいて作成される。
【００３７】
動作制御部４３は、それぞれの補間点ＩＰにおいて、ロボット１の位置および姿勢を算出する。動作制御部４３は、補間点ＩＰごとに動作指令を送出する。ロボット１は、移動点Ｐ１，Ｐ２，Ｐ３および移動点Ｐ１，Ｐ２，Ｐ３同士の間に設定された補間点ＩＰを通るように位置および姿勢が制御される。または、ロボット１は、移動点Ｐ１，Ｐ２，Ｐ３の近傍および補間点ＩＰの近傍を通るように制御される。
【００３８】
図１を参照して、本実施の形態のロボット装置５は、矢印９１に示すようにワークＷを搬送する。ワークＷは、ロボット１およびハンド２の動作により、コンベヤ８のベルトの載置面に配置される。ロボット１が位置および姿勢を変更することにより、ワークＷの位置および向きが変化する。本実施の形態においては、図１に示す状態から、ワークＷをツール座標系５７のＺ軸の周りに９０°回転させた状態で、ワークＷをコンベヤ８に載置する。
【００３９】
図１および図２を参照して、本実施の形態におけるカメラ７は、ロボット１の制御周期Δｔに一致する時間間隔にて画像を取得できるように形成されている。例えば、制御周期Δｔと同一の時間間隔にて画像を撮像するように形成されている。すなわち、制御周期が５ｍｍｓｅｃの場合には、５ｍｍｓｅｃごとの画像（２００ｆｐｓ）を撮像できるように形成されている。または、カメラは、制御周期の約数の時間間隔にて画像を撮像するように形成されていても構わない。例えば、制御周期が４ｍｍｓｅｃの場合には、１ｍｍｓｅｃ、または２ｍｍｓｅｃの時間間隔にて画像を撮像できるように形成されていても構わない。この場合にも、カメラは、制御周期と同一の時間間隔にて画像を撮像することができる。
【００４０】
図４に、ワークがコンベヤまで搬送されたときにカメラにて撮像された画像を示す。図４には、時刻ｔ１から時刻ｔ６までの画像５１ａ〜５１ｆが示されている。画像５１ａ〜５１ｆは、制御周期Δｔと一致する時間間隔Δｔごとに撮像された画像である。すなわち、図４には、動作制御部４３がロボット１に動作指令を発信して、ロボット１の位置および姿勢が変化するごとの画像が示されている。動作制御部４３は、ロボット１の動作指令と同じ時期に撮像する指令をカメラ７に送出することができる。すなわち、ロボット１の動作指令の発信とカメラ７にて撮像する指令の発信とを同期させることができる。または、動作制御部４３は、ロボット１の動作指令を発信する時期と異なる時期に、制御周期Δｔと同一の時間間隔にて撮像する指令をカメラ７に送出することができる。それぞれの画像５１ａ〜５１ｆには、ロボット１およびハンド２の動作状態が撮像されている。
【００４１】
図４に示す画像５１ａ〜５１ｆでは、作業者が所望する通りにロボット１およびハンド２が動作して、ワークＷがコンベヤ８に載置されている。画像５１ａは、時刻ｔ１において、ワークＷがコンベヤ８に向かって搬送されている時の画像である。ロボット１は、予め定められた目標位置および目標姿勢に向かって、位置および姿勢を変更している。ワークＷは、ハンド２の爪部３にて把持されている。リスト１５およびハンド２は、矢印９２に示すように、コンベヤ８の載置面に向かって移動している。画像５１ｂは、時刻ｔ２において、ワークＷがコンベヤ８に向かって搬送されている時の画像である。ワークＷがコンベヤ８に接近し、ロボット１が減速している。
【００４２】
画像５１ｃは、時刻ｔ３において撮像された画像である。ロボット１は、予め定められた目標位置および目標姿勢に到達している。ワークＷは、コンベヤ８の載置面に接触してロボット１の動作が停止している。ハンド２の爪部３は、ワークＷを把持している。
【００４３】
画像５１ｄは、時刻ｔ４において撮像された画像である。動作制御部４３の指令により、ハンド２の爪部３が矢印９３に示すように互いに離れる動作を開始する。画像５１ｅは、時刻ｔ５において撮像された画像である。爪部３が矢印９３に示すように互いに離れる方向に移動ことにより、ワークＷが解放される。画像５１ｆは、時刻ｔ６において撮像された画像である。ハンド２の爪部３は、完全に開いている。爪部３が予め定められた位置まで移動した時に、爪部３の移動が停止する。ワークＷは、コンベヤ８の載置面に配置されている。この後に、ロボット１が駆動することにより、ハンド２はワークＷから離れる。ロボット１は、次のワークＷを把持するために位置および姿勢を変更する。この後に、コンベヤ８は、ワークＷを搬送するために駆動を開始する。
【００４４】
図４に示すロボット装置５の動作では、ロボット１がワークＷを所望の位置に配置した後に、ハンド２がワークＷを解放している。また、ロボット１は、動作を停止した時に振動していない。このために、ロボット装置５は、ワークＷをコンベヤ８における所望の位置に配置することができる。一方で、ハンド２のような、ロボット１の動作と対応して動作する機器は、ロボット１の状態に対する機器の動作が所望の動作からずれる場合がある。始めに、ロボット装置の動作を調整する動作調整方法として、制御装置による第１の制御について説明する。第１の制御では、ロボット１の動作に対してハンド２の動作を開始する時期を調整する。
【００４５】
図２を参照して、本実施の形態のロボット装置５は、ロボット装置の動作を調整する動作調整装置を備える。動作調整装置は、ロボット制御装置４とカメラ７とを含む。ロボット制御装置４は、位置検出器１８からの信号およびカメラ７からの信号を受信して、信号の処理を行う信号処理部３１を含む。信号処理部３１は、カメラ７にて撮像された画像の処理を行う画像処理部３２を含む。画像処理部３２は、カメラ７が撮像した画像を受信する。画像処理部３２は、制御周期に一致する時間間隔にて撮像された画像の処理を行う。
【００４６】
信号処理部３１は、画像処理部３２による処理結果に基づいて、ロボット１の動作およびハンド２の動作のうち少なくとも一方の動作が予め定められた動作であるか否かを判定する判定部３３を含む。判定部３３は、ロボット装置５の動作が適切であるか否かを判定する。ここでの例では、判定部３３は、ロボット１に取り付けられたハンド２が、ワークＷを離す時期が適切であるか否かを判定する。
【００４７】
信号処理部３１は、動作プログラムに含まれる指令文を修正する修正部３４を含む。判定部３３が、ロボット１の動作およびハンド２の動作のうち少なくとも一方の動作が予め定められた動作でないと判定する場合がある。この場合に、修正部３４は、ロボット１の動作およびハンド２の動作が予め定められた動作になるように、動作プログラム４１に含まれる指令文を修正する。
【００４８】
第１の制御では、コンベヤ８の載置面にワークＷを載置する時に、ハンド２の爪部３が開く時期が早い例について説明する。そして、修正部３４は、ロボット１が目標位置に到達する時に、爪部３が開く時期が遅くなるように、動作プログラム４１に含まれる指令文を修正する。
【００４９】
図５に、本実施の形態における第１の制御のフローチャートを示す。図６に、所望の時期よりも早い時期にて爪部が開く状態を撮像した画像を示す。図５および図６を参照して、ステップ７１において、動作制御部４３は、動作プログラム４１に基づいて、ワークＷをコンベヤ８に向かって搬送するようにロボット１を駆動する駆動工程を実施する。動作制御部４３は、作業台に載置されたワークＷを把持するように、ロボット１およびハンド２を制御する。動作制御部４３は、ワークＷがコンベヤ８の載置面に載置されるように、ロボット１の位置および姿勢を制御する。
【００５０】
ステップ７２において、動作制御部４３は、ワークＷがコンベヤ８に載置される領域を撮像するようにカメラ７にて画像を撮像する撮像工程を実施する。カメラ７は、制御周期に一致する時間間隔にてロボット１およびハンド２の画像を撮像する。
【００５１】
図６には、撮像工程において撮像された画像５２ａ〜５２ｆが示されている。図６には、図４と同じ時刻ｔ１〜ｔ６にて撮像された画像が示されている。画像５２ａは、時刻ｔ１にて撮像された画像である。リスト１５およびハンド２は、コンベヤ８の表面の近傍まで移動している。ロボット１は、目標位置および目標姿勢に向かって、位置および姿勢を変更している。
【００５２】
図４の画像５１ｃ〜５１ｆに示すように、ハンド２は、ワークＷをコンベヤ８の載置面に載置した後に、爪部３を開く必要がある。ところが、図６における画像５２ａでは、時刻ｔ１において矢印９３に示すように爪部３が開く動作を開始している。すなわち、爪部３が開く動作が所望の時期よりも早く、ハンド２は予め定められた動作とは異なる動作を実施している。ワークＷは、爪部３による把持が解除されてコンベヤ８の載置面に落下する。ワークＷは、所望の位置からずれた位置に配置される場合がある。または、ワークＷは、ロボット１の動作により放り投げられる場合がある。
【００５３】
画像５２ｂは、時刻ｔ２において撮像された画像である。画像５２ｂにおいては、爪部３は、矢印９３に示すように開く動作を継続している。また、ロボット１は、矢印９２に示すように、目標位置および目標姿勢に向かって位置および姿勢を変更している。ワークＷは、ハンド２から落下して、コンベヤ８の表面に配置されている。
【００５４】
画像５２ｃは、時刻ｔ３において撮像された画像である。ハンド２は、コンベヤ８に対して所望の位置に到達している。すなわち、ロボット１は、目標位置および目標姿勢に到達している。ハンド２は、完全に開いている。
【００５５】
画像５２ｄは、時刻ｔ４において撮像された画像である。画像５２ｅは、時刻ｔ５において撮像された画像である。画像５２ｆは、時刻ｔ６において撮像された画像である。画像５２ｄ〜５２ｆに示すように、ロボット１は停止すると共にハンド２は開いた状態が維持されている。図４を参照して、正常な動作においては、時刻ｔ４から時刻ｔ６までの期間は、爪部３を開く期間であるが、図６に示す例では、時刻ｔ３において爪部３が開く動作が終了している。
【００５６】
図５を参照して、画像処理部３２は、ステップ７３において、カメラ７にて撮像された画像の処理を行う画像処理工程を実施する。画像処理部３２は、カメラ７にて撮像された画像を受信する。画像処理部３２は、ワークＷを操作する時期を算出する。ここでの例では、画像処理部３２は、画像５２ａ〜５２ｆに基づいて、ハンド２が開く動作を開始する時期を検出する。
【００５７】
本実施の形態においては、爪部３の位置が互いに異なる複数のハンド２の基準画像が記憶部４２に記憶されている。図４を参照して、例えば、画像５１ａに示される爪部３が閉じたハンド２の基準画像（爪部３にてワークＷを把持したハンド２の基準画像）、画像５１ｅに示される爪部３が僅かに開いたハンド２の基準画像が記憶部４２に記憶されている。このような基準画像は、作業者が予めハンド２を撮像してロボット制御装置４に入力することができる。
【００５８】
画像処理部３２は、図６に示す画像５２ａ〜５２ｆにおいて、爪部３が閉じたハンド２の基準画像がどの画像に含まれるかを判定する。例えば、画像処理部３２は、パターンマッチング法によってハンド２の画像を比較することにより、爪部３が閉じているハンド２が含まれる画像を検出する。また、画像処理部３２は、爪部３が僅かに開いたハンド２の基準画像が含まれる画像を検出する。この結果、画像処理部３２は、爪部３が閉じているハンド２の基準画像は、画像５２ａに含まれると判定する。また、画像処理部３２は、爪部３が僅かに開いたハンド２の基準画像は、画像５２ｂに含まれると判定する。このために、画像処理部３２は、ハンド２が動作を開始する時期は、爪部３が開き始める時刻ｔ１であると判定する。
【００５９】
図４に示される正常な駆動の例では、時刻ｔ４の画像５１ｄにおいて爪部３が閉じており、時刻ｔ５の画像５４ｅにおいて爪部３が僅かに開いている。このため、時刻ｔ４を爪部３が開き始める時期に設定することができる。すなわち、時刻ｔ４をハンド２が駆動を開始する目標時期に設定することができる。また、ハンド２が駆動を開始する目標時期の判定範囲を設定することができる。ここでの例では、ワークＷがコンベヤ８に載置された後の期間を目標時期の判定範囲に設定することができる。本実施の形態では、時刻ｔ３から時刻ｔ５までの期間が、ハンド２が動作を開始する目標時期の判定範囲に設定されている。
【００６０】
目標時期の判定範囲は、予め定められて記憶部４２に記憶されている。目標時期の判定範囲は、作業者により予め設定することができる。または、図４に示される画像５１ａ〜５１ｆに基づいて、画像処理部３２がパターンマッチング等の方法により目標時期の判定範囲を設定しても構わない。
【００６１】
図５を参照して、判定部３３は、ステップ７４において、画像を処理した処理結果に基づいてハンド２の動作が予め定められた動作であるか否かを判定する判定工程を実施する。第１の制御の判定工程では、ハンド２の動作が適切であるか否かを判定する。ここでの判定工程では、ハンド２がワークＷを操作する時期が判定範囲内であるか否かを判定する。判定部３３は、画像処理部３２にて検出されたハンド２が動作を開始する時期が目標時期の判定範囲を逸脱するか否かを判定する。ステップ７４において、ワークＷを操作する時期が判定範囲内である場合には、この制御を終了する。
【００６２】
前述のように、画像処理部３２は、ハンド２が動作を開始する時期は、時刻ｔ１であると判定する。これに対して、目標時期の判定範囲は、時刻ｔ３から時刻ｔ５までの期間である。このために、判定部３３は、ハンド２が動作を開始する時期が目標の判定範囲を逸脱していると判定する。ステップ７４において、ワークＷを操作する時期が目標時期の判定範囲を逸脱する場合に、制御はステップ７５に移行する。
【００６３】
次に、修正部３４は、ハンド２の動作が予め定められた動作になるように動作プログラム４１に含まれる指令文を修正する修正工程を実施する。修正部３４は、目標時期の判定範囲と画像処理部３２にて検出されたハンド２が動作を開始する時期との差に基づいて、動作プログラム４１においてハンド２が動作を開始する時期の指令文を修正する。
【００６４】
ステップ７５において、修正部３４は、ワークＷを操作する時期の補正値を算出する。ここでの例では、時刻ｔ３から時刻ｔ５までの判定範囲のうち中央の時期である時刻ｔ４を最も好ましい目標時期として採用している。修正部３４は、ハンド２が動作を開始する時刻が時刻ｔ４になる補正値を算出する。修正部３４は、補正値として、（ｔ４−ｔ１）の時間長さを設定することができる。
【００６５】
ステップ７６において、修正部３４は、記憶部４２から動作プログラム４１を受信する。修正部３４は、ハンド２が動作を開始する時刻が（ｔ４−ｔ１）の時間長さにて遅くなるように、動作プログラムに含まれる指令文を修正する。ここで、動作プログラムの例について説明する。
【００６６】
図７に、本実施の形態における動作プログラムの例を示す。動作プログラム４１は、ロボット１の動作を定めるための移動点の情報を含む。動作プログラム４１には、移動点が記号Ｐを用いて示されている。図７に示す例では、移動点Ｐ［１］および移動点Ｐ［２］が設定されている。それぞれの移動点におけるロボット１の位置および姿勢は、動作プログラム４１の最後に記載されている。または、移動点におけるロボット１の位置および姿勢は、動作プログラム４１の設定ファイルから引用されても構わない。本実施の形態では、移動点におけるロボット１の位置は、ツール先端点の位置にて指定される。また、移動点におけるロボット１の姿勢は、ツール座標系５７の向きにて指定されている。ツール座標系５７の向きは、基準座標系５６のＷ軸の座標値、Ｐ軸の座標値、およびＲ軸の座標値にて指定されることができる。
【００６７】
ロボット制御装置４は、ロボット１がそれぞれの移動点または移動点の近傍を通る様に、ロボット１を制御する。例えば、動作プログラム４１の１行目の指令文においては、ツール先端点が移動点Ｐ［１］まで移動する指令が記載されている。更に、２行目の指令文においては、ツール先端点が移動点Ｐ［１］から移動点［２］まで移動する指令文が記載されている。３行目の指令文においては、移動点［２］から移動点［１］まで移動する指令が記載されている。
【００６８】
それぞれの指令文において、記号Ｌは、ツール先端点を直線的に移動することが示されている。また、ツール先端点の速度が４０００ｍｍ／ｓｅｃにて移動する指令が示されている。また、記号ＣＮＴは、移動点から離れても良い距離の変数が示されている。記号ＣＮＴに続く値が大きいほど移動点から離れても良い距離が長くなる。記号ＣＮＴに続く値が大きくなるほどロボット１の動作が滑らかになる。
【００６９】
２番目の指令文において、記号Ｐ［２：Ｄｒｏｐ＿Ｐｏｓ］は、移動点Ｐ［２］は、ワークＷを置く位置であることを示している。記号「ＴＢ  ．０１ｓｅｃ，ＲＯ［１］＝ＯＦＦ」は、ロボット１が移動点Ｐ［２］に到達する０．０１秒前に、機器ＲＯ［１］を「ＯＦＦ」の状態にする制御を示している。ここでの機器ＲＯ［１］は、ハンド２である。このために、ロボット１が移動点Ｐ［２］に到達する０．０１秒前に、ワークＷの解放を開始する指令をハンド２に発信する制御が示されている。また、記号ＡＣＣ１００は、目標位置に近づいた時に加速または減速される時のゲインを示している。記号ＡＣＣの後に続く値が大きくなるほど、加速度の大きさは大きくなる。
【００７０】
図２、図５および図７を参照して、ステップ７６において、修正部３４は、ハンド２がワークＷを解放する時期が遅くなるように、記号「ＴＢ  ．０１ｓｅｃ」を修正する。ここでの例では、修正部３４は、０．０１から時間長さ（ｔ４−ｔ１）を減算した値になるように修正する。この制御を行うことにより、爪部３が開く時期を遅くすることができる。修正部３４は、修正した動作プログラム４１を記憶部４２に送出する。動作制御部４３は、修正された動作プログラム４１に基づいてハンド２を制御する。
【００７１】
次に、制御は、ステップ７１に戻る。本実施の形態の第１の制御では、ステップ７６において動作プログラム４１における指令を修正した後に、前述のステップ７１からステップ７４のプログラム修正制御を繰り返している。すなわち、ロボット制御装置４は、修正部３４において動作プログラム４１の指令文を修正した後に、前回と同一のロボット１およびハンド２の動作を実施する。また、カメラ７にて画像を撮像する。ロボット制御装置４は、制御周期に対応する間隔にて撮像された画像の処理結果に基づいて、ハンド２の動作が予め定められた動作であるか否かを判定する。この制御を実施することにより、ロボット装置５の動作が適切に調整されているか否かを判定することができる。
【００７２】
更に、ハンド２の動作が予め定められた動作でない場合には、動作プログラムに含まれる指令を修正する。一方で、ステップ７４において、ワークＷを操作する時期が判定範囲内である場合には、この制御を終了する。本実施の形態では、ロボット装置の動作が予め定められた動作になるまで、動作プログラムを修正するプログラム修正制御を繰り返している。動作プログラムを修正する制御を複数回にて実施することにより、より確実にロボット装置の動作が適切な動作になるように調整することができる。なお、制御は、１回目のステップ７６を実施した後に終了しても構わない。
【００７３】
このように、本実施の形態においては、ロボット１の動作と対応して動作を開始する機器の動作の開始時期を調整することができる。ワークＷを配置する位置がずれたり、ワークを放り投げてしまったりすることを抑制することができる。
【００７４】
上記の実施の形態においては、ハンド２の動作として、ハンド２がワークＷを解放する動作を例示しているが、この形態に限られない。ハンド２がワークＷを把持する動作についても本実施の形態の制御を適用することができる。例えば、ワークを把持する時に、ハンドが閉じる時期が早いと、ワークを把持できない場合がある。または、ハンドは、所望の状態にてワークを把持できない場合がある。一方で、ハンドを閉じる時期が遅いと、ロボットが駆動を開始してワークを把持できない場合がある。または、所望の状態にてワークを把持できない場合がある。この場合に、第１の制御を実施することにより、ハンドが閉じる時期が調整され、ワークを適切な状態で把持することができる。
【００７５】
上記の制御においては、ハンドを開いたり閉じたりする時期を調整しているが、この形態に限られず、ロボットの動作を調整しても構わない。ハンドが適切な時期にワークを把持したり解放したりするように、ロボットの動作速度または加速度を調整しても構わない。たとえば、ハンドがワークを解放する時期が早い場合には、ロボットが停止する時の減速の加速度の大きさを大きくする制御を実施しても構わない。
【００７６】
次に、本実施の形態における制御装置の第２の制御について説明する。ロボット１の動作が停止した時にロボット１が振動する場合がある。第２の制御では、ロボット１が停止した時に発生する振動を抑制するように、動作プログラム４１に含まれる指令文を修正する制御を実施する。
【００７７】
図８に、本実施の形態における第２の制御のフローチャートを示す。ステップ７１およびステップ７２は、第１の制御と同様である（図５を参照）。ステップ７１において、ロボット１は、ワークＷをコンベヤ８の載置面に向かって搬送するようにロボット１を駆動する駆動工程を実施する。ステップ７２において、カメラ７は、制御周期と同一の時間間隔にて画像を撮像する撮像工程を実施する。
【００７８】
図９に、ロボットを停止した後にロボットが振動する状態を撮像した画像を示す。図９には、図４と同一の時刻ｔ１〜ｔ６において撮像した画像５３ａ〜５３ｆが示されている。画像５３ａ，５３ｂは、ロボット装置５の正常な動作を撮像した図４の画像５１ａ，５１ｂと同様である。時刻ｔ１から時刻ｔ２までは、ロボット１およびハンド２の動作は適切である。
【００７９】
画像５３ｃは、時刻ｔ３において撮像されている。時刻ｔ３において、ロボット１は、目標位置および目標姿勢に到達して停止している。ツール先端点ＴＣ１は、予め定められた目標位置に到達している。この時に、ロボット１の停止に伴って、ロボット１が振動する場合がある。ロボット１の振動に伴って、ハンド２も振動する。ハンド２は、矢印９４に示すように上昇する。
【００８０】
画像５３ｄは、時刻ｔ４において撮像されている。ハンド２の振動により、ワークＷが持ち上げられている。ツール先端点ＴＣ２は、ツール先端点ＴＣ１の位置よりも高くなる。時刻ｔ４において、矢印９３に示すように、爪部３が開く動作を開始する。すなわち、ハンド２が動作を開始している。この時に、ワークＷは、コンベヤ８から離れているために、コンベヤ８に向かって落下する。ワークＷは、所望の位置からずれた位置に配置される場合がある。ハンド２は、ロボット１の振動により、矢印９５に示す向きに移動する。
【００８１】
画像５３ｅは、時刻ｔ５において撮像されている。矢印９３に示すように爪部３は開く動作を継続している。また、ハンド２は、ロボット１の振動により、矢印９４に示すように上昇する。
【００８２】
画像５３ｆは、時刻ｔ６において撮像されている。ロボット１が振動することにより、爪部３がワークＷから離れた位置に配置されている。この後に、ハンド２は、ロボット１の振動により、矢印９５に示すように下降する。
【００８３】
第２の制御では、ロボット制御装置４は、ロボット１が目標位置および目標姿勢に到達したときの作業ツールの振動量を検出する。振動量が判定範囲を逸脱する場合に、ロボット制御装置４は、動作プログラムにおいてロボット１が停止するための減速の加速度の指令文を修正する。
【００８４】
図２、図８および図９を参照して、ステップ８１において、画像処理部３２は、カメラ７にて撮像された画像の処理を行う画像処理工程を実施する。画像処理部３２は、制御周期と同一の時間間隔にて撮像された画像に基づいてロボット１が目標位置に到達したときの作業ツールの振動量を検出する。本実施の形態では、画像処理部３２は、振動量としてハンド２の振動の振幅を検出する。
【００８５】
本実施の形態においては、実際の作業ツールの位置に対して、画像における作業ツールの位置が較正されている。実際のハンド２の位置および向きは、基準座標系５６を用いて算出することができる。そして、カメラ７にて撮像される画像におけるハンド２の位置を、基準座標系５６にて表される位置に対して較正することができる。すなわち、画像におけるハンド２の位置が特定されば、カメラ７から予め定められた距離の平面上におけるハンド２の位置を特定することができる。
【００８６】
記憶部４２は、爪部３が閉じた時のハンド２の基準画像（爪部３にてワークＷを把持している時のハンド２の基準画像）、爪部３が僅かに開いた時のハンド２の基準画像、および爪部３が完全に開いた時のハンド２の基準画像を記憶している。画像処理部３２は、パターンマッチング法により、それぞれの画像５３ａ〜５３ｆにおけるハンド２の位置を検出することができる。画像処理部３２は、画像５３ａ〜５３ｆにおけるハンド２の位置に基づいて、それぞれの時刻における実際のハンド２の位置を算出することができる。また、画像処理部３２は、実際のハンド２の位置に基づいて、実際のロボット装置５のツール先端点ＴＣ１，ＴＣ２，ＴＣ３，ＴＣ４の位置を算出することができる。
【００８７】
画像処理部３２は、ロボット１が停止した時に振動が生じる時期の画像を抽出することができる。本実施の形態では、記憶部４２は、作業ツールが動作を開始するためにロボット１が停止する目標位置を記憶している。時刻ｔ３において、ロボット１の位置および姿勢が目標位置および目標姿勢に到達している。画像処理部３２は、ロボット１が目標位置および目標姿勢に到達した時刻ｔ３を検出する。画像処理部３２は、ロボット１が目標位置および目標姿勢に到達した時刻ｔ３に基づいて、複数の画像を抽出する。ここでの例では、画像処理部３２は、予め定められた枚数の画像を抽出する。画像処理部３２は、ロボット１が目標位置および目標姿勢に到達した時の画像５３ｃを抽出する。また、画像処理部３２は、時刻ｔ３の画像５３ｃに続いて撮像された時刻ｔ４の画像５３ｄ、時刻ｔ５の画像５３ｅ、および時刻ｔ６の画像５３ｆを抽出する。
【００８８】
画像処理部３２は、それぞれの画像５３ｃ，５３ｄ，５３ｅ，５３ｆに対応するツール先端点ＴＣ１，ＴＣ２，ＴＣ３，ＴＣ４の位置を算出する。画像処理部３２は、ツール先端点の最も高い位置と最も低い位置との差を振動量として算出することができる。ここでの例では、画像処理部３２は、ツール先端点ＴＣ２の位置とツール先端点ＴＣ３との位置との差を振動量ＶＡとして算出している。振動量としてはこの形態に限られず、振動の大きさに関する任意の値を採用することができる。たとえば、画像処理部３２は、連続する２枚の画像を抽出し、２枚の画像におけるハンド２の位置の差を振動量として算出しても構わない。
【００８９】
次に、ステップ８２において、判定部３３は、画像を処理した処理結果に基づいてロボット１の動作が予め定められた動作であるか否かを判定する判定工程を実施する。第２の制御における判定工程では、ロボット１の動作が適切か否かを判定する。判定部３３は、画像処理部３２にて検出されたハンド２の振動量ＶＡが振動量の判定範囲を逸脱しているか否かを判定する。
【００９０】
記憶部４２は、ロボット１が動作を停止した時の作業ツールの振動量の判定範囲を記憶している。判定部３３は、ハンド２の振動量ＶＡが、振動量の判定値を逸脱している場合に、ロボット１に大きな振動が生じていると判定する。判定部３３は、ロボット１の動作が予め定められた動作でないと判定する。ここでの例では、ハンド２の振動量ＶＡが判定範囲の上限値を超えている。この場合に、制御はステップ８３に移行する。
【００９１】
ステップ８３において、修正部３４は、ロボット１の動作が予め定められた動作になるように動作プログラム４１に含まれる指令文を修正する修正工程を実施する。修正部３４は、ハンド２の振動量ＶＡが振動量の判定範囲を逸脱する場合に、動作プログラム４１においてロボット１が停止するための減速の加速度の指令文を修正する。
【００９２】
ここでの例では、修正部３４は、加速度の大きさを予め定められた量にて減算した値に変更する。図７を参照して、修正部３４は、２行目の指令文における記号ＡＣＣ１００におけるゲインの値を修正する。例えば、加速度のゲインを１００から８０に変更する。なお、修正部３４は、振動量に基づいて減速する加速度の大きさを算出しても構わない。例えば、修正部３４は、振動量が大きいほど、減速の加速度の大きさが小さくなるように、指令文を修正しても構わない。
【００９３】
ステップ８３の制御が終了した後に、制御は、ステップ７１に戻る。第２の制御においても、動作プログラム４１の修正が終了した後に、ステップ７１からステップ８２のプログラム修正制御を繰り返している。このように、動作プログラムを修正する制御を振動量が判定範囲内になるまで繰り返すことにより、より確実に振動を抑制することができる。ステップ８２において、振動量ＶＡが判定範囲内である場合には、この制御を終了する。または、第１の制御と同様に、ステップ８３を１回実施した後に、この制御を終了しても構わない。
【００９４】
第２の制御においては、ハンド２の振動量を抑制するように、動作プログラムを修正することができる。ハンド２の振動を抑制することにより、ワークＷを配置する時に位置のずれを抑制することができる。または、ハンド２の振動により、ワークＷを放り投げて予め定められた位置に配置できないことを抑制することができる。
【００９５】
上記の第２の制御においては、ロボットを停止した時の振動量が大きい場合を例示したが、この形態に限られない。ロボットを停止した時の振動量が非常に小さい場合にも、第２の制御を適用することができる。例えば、振動量が判定範囲の下限値よりも小さい場合には、ロボット１を停止する時の加速度の大きさを大きくする制御を実施しても構わない。この制御により、ロボット装置５の作業の時間を短くすることができる。
【００９６】
上記の第１の制御および第２の制御において、カメラにて撮像された画像の処理を行う画像処理工程は、作業者が実施しても構わない。また、画像を処理した処理結果に基づいて、ロボットの動作およびハンドの動作のうち少なくとも一方の動作が適切か否かを判定する判定工程は、作業者が実施しても構わない。更に、ロボット１の動作および機器の動作が適切になるように動作プログラムに含まれる指令文を修正する修正工程は、作業者が実施しても構わない。
【００９７】
次に、本実施の形態における第３の制御について説明する。第３の制御においては、ロボット装置５を駆動している期間中にカメラにて画像を撮像する。カメラにて撮像した画像に基づいて、ロボットおよびロボットの動作と対応して動作する機器のうち少なくとも一方の動作を調整する。図２を参照して、本実施の形態における信号処理部３１は、動作制御部４３に対して、ロボット１およびロボット１の動作と対応して動作する機器の動作の指令を送出する指令部３５を含む。ここでは、ロボット１の動作と対応して動作する機器として、ハンド２を例示して説明する。また、判定部３３は、ロボット１の位置および姿勢が動作プログラム４１に定められた目標位置および目標姿勢に到達したか否かを判定する。
【００９８】
第３の制御においては、カメラ７は、制御周期に一致する時間間隔にてロボット１およびハンド２を撮像する。画像処理部３２は、ハンド２の位置を検出する。判定部３３は、ハンド２の位置が、ハンド２の動作を開始するための目標位置に到達したか否かを判定する。すなわち、判定部３３は、ロボット１の位置および姿勢が動作プログラム４１に記載された目標位置および目標姿勢に到達しているか否かを判定する。判定部３３が、ハンド２が目標位置に到達したと判断した場合に、指令部３５は、ハンド２の動作を開始する指令を動作制御部４３に送出する。
【００９９】
図２および図４を参照して、カメラ７は、画像５１ａから画像５１ｃに示すように、ワークＷがコンベヤ８に接近した時に、ロボット１およびハンド２を撮像する。記憶部４２は、ハンド２が閉じた状態の基準画像を記憶している。画像処理部３２は、ハンド２の基準画像に基づいてパターンマッチング法により、画像におけるハンド２の位置を検出する。画像処理部３２は、１つの画像を取得するごとに実際のハンド２の位置を検出する。また、画像処理部３２は、実際のロボット１の位置および姿勢を検出する。判定部３３は、ロボット１が動作プログラム４１に記載された目標位置および目標姿勢に到達しているか否かを判定する。ここでの例では、時刻ｔ３において、ロボット１は、ハンド２の動作を開始するための目標位置および目標姿勢に到達している。
【０１００】
判定部３３は、画像５１ｃにおいて、ロボット１が動作プログラム４１に記載された目標位置に到達していると判定する。すなわち、判定部３３は、時刻ｔ３において、ワークＷがコンベヤ８の上面に載置されたと判定する。指令部３５は、ハンド２の爪部３を開く動作を開始する指令を、動作制御部４３に送出する。動作制御部４３は、ハンド２を開く指令をハンド駆動部４４に送出して、ハンド２が爪部３を開く動作を実施する。
【０１０１】
このように、第３の制御では、実際に駆動するロボット１およびロボット１の動作に応じて動作を開始する機器を撮像して、機器の動作の開始時期を制御することができる。第３の制御においては、制御周期に一致する時間間隔にて画像を撮像しているために、適切な時期に機器の動作を開始することができる。例えば、ハンド２がワークＷを離す時期が早すぎたり遅すぎたりすることを抑制することができる。また、適切なロボット１の位置および姿勢に到達した直後に、機器の動作を開始することができる。このため、ロボット１が停止する待ち時間またはロボット１の動作の余裕のための時間を設定する必要がなく、作業時間を短縮することができる。
【０１０２】
上記の第２の制御および第３の制御では、ロボット１およびハンド２の両方を撮像しているが、この形態に限られない。ロボット１およびハンド２のうち少なくとも一方の画像を撮像しても構わない。ロボット１の位置および姿勢は、ハンド２の位置および向きに対応する。このために、ロボット１またはハンド２の画像を取得することにより、画像処理部３２は、ロボット１の位置および姿勢を検出することができる。
【０１０３】
上記の実施の形態では、ロボット１の動作に対応して動作する機器として、ハンドを例示しているが、この形態に限られない。ロボット１の動作に対応して動作する機器としては、ロボット装置が行う作業に対応して、任意の作業ツールを採用することができる。
【０１０４】
例えば、スポット溶接を行うロボット装置においては、作業ツールとしてスポット溶接ガンがロボットに取り付けられる。スポット溶接ガンは、予め定められた位置に配置された後に、互いに対向する電極が接近してスポット溶接が実施される。このときに、電極の移動を開始する時期が所望の時期よりも早かったり遅かったりすると正確な位置でスポット溶接を実施できない虞がある。または、ロボットが停止した時に、ロボットが振動すると、正確な位置にてスポット溶接を実施できない虞がある。スポット溶接を行うロボット装置に、本実施の形態の制御を適用することにより、正確な位置にてスポット溶接を行うことができる。
【０１０５】
また、ロボットの動作と対応して動作する機器としては、作業ツールに限られず、ロボット１の周りに配置される任意の周辺機器を採用することができる。特に、ロボットと連携して動作する任意の機器を例示することができる。この機器としては、ロボットの周りに配置されたコンベヤまたはワークを搬送するために地面を走行する走行台車を例示することができる。
【０１０６】
例えば、図４において、時刻ｔ６の後にハンド２はワークＷから離れるようにロボット１が駆動する。ロボット１が駆動した後に、コンベヤ８は動作を開始してワークＷを移動する。このようなコンベヤ８の動作を開始する時期についても本実施の形態の制御を適用することができる。すなわち、ロボット１およびハンド２の動作に合わせてコンベヤ８の動作を開始する時期を調整することができる。
【０１０７】
上述のそれぞれの制御においては、機能および作用が変更されない範囲において適宜ステップの順序を変更することができる。
【０１０８】
上記の実施の形態は、適宜組み合わせることができる。上述のそれぞれの図において、同一または相等する部分には同一の符号を付している。なお、上記の実施の形態は例示であり発明を限定するものではない。また、実施の形態においては、特許請求の範囲に示される実施の形態の変更が含まれている。
【符号の説明】
【０１０９】
１    ロボット
２    ハンド
３    爪部
４    ロボット制御装置
５    ロボット装置
７    カメラ
８    コンベヤ
３２    画像処理部
３３    判定部
３４    修正部
３５    指令部
４１    動作プログラム
４２    記憶部
４３    動作制御部
５２ａ〜５２ｆ    画像
５３ａ〜５３ｆ    画像
Ｗ    ワーク
【図１】
2020157398.tif 000003
【図２】
2020157398.tif 000004
【図３】
2020157398.tif 000005
【図４】
2020157398.tif 000006
【図５】
2020157398.tif 000007
【図６】
2020157398.tif 000008
【図７】
2020157398.tif 000009
【図８】
2020157398.tif 000010
【図９】
2020157398.tif 000011