(57)【要約】【課題】、移動先において対象物を所定の位置に所定の向きで配置することができるロボット制御装置の提供。【解決手段】ロボット制御装置１は、対象物を関節３の変位により移動させるロボットの制御装置である。対象物には、基準点が設定されており、対象物の移動先には、基準点の移動先としての目標点が設定されている。この際、基準点および目標点は、移動先での対象物の位置および姿勢を決定できるよう設定されている。ロボット制御装置１は、基準点および目標点を撮像する撮像手段１１と、撮像手段１１により得られた撮像結果に基づき基準点が目標点へ移動するよう関節３の変位を制御する制御手段１２とを備える。【選択図】図２
2019048350.tif 000002
【特許請求の範囲】
【請求項１】
対象物を関節の変位により移動させるロボットの制御装置であって、
移動先での前記対象物の位置および姿勢を決定するために、前記対象物に基準点が設定される一方、前記基準点の移動先としての目標点が設定されており、
前記基準点および前記目標点を撮像する撮像手段と、
前記ロボットおよび前記撮像手段のキャリブレーションを行わずに、前記撮像手段により得られた撮像結果に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御手段と
を備えることを特徴とするロボットの制御点設定がなされるロボット制御装置。
【請求項２】
対象物を関節の変位により移動させるロボットの制御装置であって、
前記対象物と前記対象物の移動先とを撮像する撮像手段と、
前記撮像手段により得られた画像上において、前記対象物に基準点をかつ前記対象物の移動先に前記基準点の移動先である目標点を、移動先での前記対象物の位置および姿勢を決定できるように設定する設定手段と、
前記ロボットおよび前記撮像手段のキャリブレーションを行わずに、前記設定手段により前記基準点および前記目標点が設定された前記画像に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御手段と
を備えることを特徴とするロボットの制御点設定がなされるロボット制御装置。
【請求項３】
前記対象物が第一領域を有し、前記対象物の移動先が前記第一領域の外形と同一形状の第二領域を有しており、前記対象物を移動させて前記第一領域の縁部を前記第二領域の縁部に外形が合うよう接触させる制御において、
前記対象物に前記基準点が複数設定され、
複数の前記基準点が前記第一領域の縁部に設定されるか、または複数の前記基準点の内、少なくとも一の基準点が前記第一領域の縁部に設定され、残りの基準点が前記対象物に前記第一領域の縁部以外の箇所に設定される
ことを特徴とする請求項１または請求項２に記載のロボットの制御点設定がなされるロボット制御装置。
【請求項４】
複数の前記基準点が前記第一領域に設定される場合、
複数の前記基準点の内、複数の基準点が同一直線上に設定され、残りの基準点が前記同一直線上から外れた位置に設定される
ことを特徴とする請求項３に記載のロボットの制御点設定がなされるロボット制御装置。
【請求項５】
複数の前記基準点の内、前記少なくとも一の基準点が前記第一領域の縁部に設定され、前記残りの基準点が一点とされて前記対象物に前記第一領域の縁部以外の箇所に設定される場合、
前記対象物の移動先が軸方向一端面に前記第二領域を有する角柱体を有しており、
前記少なくとも一の基準点が一点の場合、その一点の基準点と前記残りの基準点とを結ぶ基準線分が前記接触時に前記角柱体の軸方向一端面に対して垂直となるように前記残りの基準点が前記対象物に設定され、
前記少なくとも一の基準点が複数の場合、その内の一の基準点と前記残りの基準点とを結ぶ基準線分が前記接触時に前記角柱体の軸方向一端面に対して垂直となるように前記残りの基準点が前記対象物に設定され、
前記角柱体の軸方向一端面と軸方向他端面との間の辺部の内、一の辺部上に互いに離隔して二つの他の目標点が設定され、
前記制御手段は、前記第一領域の縁部に設定される前記基準点が前記目標点へ移動するよう前記関節の変位を制御すると共に、前記二つの他の目標点間を結ぶ目標線分の方向と前記基準線分の方向とが同一となるよう前記関節の変位を制御する
ことを特徴とする請求項３に記載のロボットの制御点設定がなされるロボット制御装置。
【請求項６】
前記基準線分の一端である前記基準点に対応する前記目標点と、その前記目標点から前記目標線分と同一方向へ延出する延出線上に設定される別の目標点とを結ぶ線分の長さが前記基準線分の長さと同一となるように前記別の目標点が設定され、
前記制御手段は、前記基準線分の方向と前記目標線分の方向とが同一となるようにするために、前記残りの基準点が前記別の目標点へ移動するよう関節の変位を制御する
ことを特徴とする請求項５に記載のロボットの制御点設定がなされるロボット制御装置。
【請求項７】
前記制御手段は、前記基準線分の方向と前記目標線分の方向とが同一となるようにするために、前記基準線分の一端である前記基準点に対応する前記目標点から前記目標線分と同一方向へ延出する延出線に対して前記残りの基準点から垂直にひかれる線分の長さに相当するずれである偏差ベクトルに基づき前記関節の変位を制御する
ことを特徴とする請求項５に記載のロボットの制御点設定がなされるロボット制御装置。
【請求項８】
前記対象物が前記第一領域を先端に有する差込部を有し、前記第二領域が前記対象物の前記差込部が差し込まれる被差込部とされており、前記対象物を移動させて、前記第一領域の縁部を前記第二領域の縁部に外形が合うよう接触させた後に前記差込部を前記被差込部に差し込む制御において、
前記第一領域に設定された前記基準点よりも基端側において前記差込部に、前記差込部の前記被差込部への差込後に前記第二領域に設定される前記目標点に対応する他の基準点がさらに設定され、
前記制御手段は、前記第一領域の縁部と前記第二領域の縁部との接触後、前記他の基準点が前記第二領域に設定される前記目標点に移動するよう関節の変位を制御する
ことを特徴とする請求項３〜７のいずれか１項に記載のロボットの制御点設定がなされるロボット制御装置。
【請求項９】
対象物を関節の変位により移動させるロボットの制御方法であって、
前記対象物に基準点をかつ前記対象物の移動先に前記基準点の移動先である目標点を、前記対象物の移動先での位置および姿勢が決定できるように設定する設定工程と、
前記基準点および前記目標点を撮像する撮像工程と、
前記ロボットおよび前記撮像工程で用いられる撮像手段のキャリブレーションを行わずに、前記撮像工程により得られた撮像結果に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御工程と
を含むことを特徴とするロボットの制御点設定がなされるロボット制御方法。
【請求項１０】
対象物を関節の変位により移動させるロボットの制御方法であって、
前記対象物と前記対象物の移動先とを撮像する撮像工程と、
前記撮像工程により得られた画像上において、前記対象物に基準点をかつ前記対象物の移動先に前記基準点の移動先である目標点を、移動先での前記対象物の位置および姿勢を決定できるように設定する設定工程と、
前記ロボットおよび前記撮像工程で用いられる撮像手段のキャリブレーションを行わずに、前記設定工程により前記基準点および前記目標点が設定された前記画像に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御工程と
を含むことを特徴とするロボットの制御点設定がなされるロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物を関節の変位により所定の移動先へ移動させることができるロボットを制御するロボット制御装置およびロボット制御方法に関するものである。
【背景技術】
【０００２】
本件発明者は、先に、下記特許文献１に開示されるロボット制御装置を提案している。このロボット制御装置は、駆動手段により関節部を介してリンクが駆動するアームを備えるロボットの制御装置であって、アームに設定される基準点および基準点の移動先である目標点が撮像され、その撮像結果に基づいて基準点と目標点との間の位置偏差が求められ、求められた位置偏差に基づいて駆動手段を駆動させる駆動電圧をパルス幅変調してＰＷＭ信号が生成され、生成されたＰＷＭ信号を駆動手段に出力することで、基準点を目標点へ移動させることができる。
【０００３】
また、本件発明者は、先に、下記特許文献２に開示されるロボット制御システムを提案している。このロボット制御システムは、カメラで検出されたロボットの手先部の位置とカメラで検出された手先部の目標位置との誤差を、座標変換後、エンコーダにより検出された手先部の位置に加えて仮想目標位置を設定し、その仮想目標位置へ手先部を移動させる。
【０００４】
さらに、本件発明者は、先に、下記特許文献３に開示されるロボット制御装置を提案している。このロボット制御装置は、ロボットの関節を変位させるために関節に印加する力あるいはトルクである印加量として、ロボットの基準箇所とその移動先との間の位置偏差に応じた値に積分演算を行った積分値を基準箇所について求めた結果から第１印加量を算出するとともに、基準箇所がその移動先に一致するときの関節の変位量である目標変位量とエンコーダの検出変位量との変位量偏差に応じた値に比例演算を行って第２印加量を算出する。そして、第１印加量および第２印加量を関節に加えて、基準箇所をその移動先へ向けて移動させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２２１４７４号公報
【特許文献２】特開２０１６−５２６９９号公報
【特許文献３】国際公開番号ＷＯ２０１３／１７６２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来では、基準点および目標点の設定箇所について考慮されていないので、たとえば、立体状の対象物をその移動先へ移動させる際、移動先において対象物を所定の位置に所定の向きで配置することができないおそれがある。ところが、ロボットを用いた実際の作業現場では、そのようなことが望まれている。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、その主たる目的は、移動先において対象物を所定の位置に所定の向きで配置することができるロボット制御装置およびロボット制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明に係るロボット制御装置は、対象物を関節の変位により移動させるロボットの制御装置であって、移動先での前記対象物の位置および姿勢を決定するために、前記対象物に基準点が設定される一方、前記基準点の移動先としての目標点が設定されており、前記基準点および前記目標点を撮像する撮像手段と、前記ロボットおよび前記撮像手段のキャリブレーションを行わずに、前記撮像手段により得られた撮像結果に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御手段とを備えることを特徴とする。
【０００９】
上記目的を達成するための本発明に係るロボット制御装置は、対象物を関節の変位により移動させるロボットの制御装置であって、前記対象物と前記対象物の移動先とを撮像する撮像手段と、前記撮像手段により得られた画像上において、前記対象物に基準点をかつ前記対象物の移動先に前記基準点の移動先である目標点を、移動先での前記対象物の位置および姿勢を決定できるように設定する設定手段と、前記ロボットおよび前記撮像手段のキャリブレーションを行わずに、前記設定手段により前記基準点および前記目標点が設定された前記画像に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御手段とを備えることを特徴とする。
【００１０】
また、本発明に係るロボット制御装置は、前記対象物が第一領域を有し、前記対象物の移動先が前記第一領域の外形と同一形状の第二領域を有しており、前記対象物を移動させて前記第一領域の縁部を前記第二領域の縁部に外形が合うよう接触させる制御において、前記対象物に前記基準点が複数設定され、複数の前記基準点が前記第一領域の縁部に設定されるか、または複数の前記基準点の内、少なくとも一の基準点が前記第一領域の縁部に設定され、残りの基準点が前記対象物に前記第一領域の縁部以外の箇所に設定されることを特徴とする。
【００１１】
また、本発明に係るロボット制御装置は、複数の前記基準点が前記第一領域に設定される場合、複数の前記基準点の内、複数の基準点が同一直線上に設定され、残りの基準点が前記同一直線上から外れた位置に設定されることを特徴とする。
【００１２】
また、本発明に係るロボット制御装置は、複数の前記基準点の内、前記少なくとも一の基準点が前記第一領域の縁部に設定され、前記残りの基準点が一点とされて前記対象物に前記第一領域の縁部以外の箇所に設定される場合、前記対象物の移動先が軸方向一端面に前記第二領域を有する角柱体を有しており、前記少なくとも一の基準点が一点の場合、その一点の基準点と前記残りの基準点とを結ぶ基準線分が前記接触時に前記角柱体の軸方向一端面に対して垂直となるように前記残りの基準点が前記対象物に設定され、前記少なくとも一の基準点が複数の場合、その内の一の基準点と前記残りの基準点とを結ぶ基準線分が前記接触時に前記角柱体の軸方向一端面に対して垂直となるように前記残りの基準点が前記対象物に設定され、前記角柱体の軸方向一端面と軸方向他端面との間の辺部の内、一の辺部上に互いに離隔して二つの他の目標点が設定され、前記制御手段は、前記第一領域の縁部に設定される前記基準点が前記目標点へ移動するよう前記関節の変位を制御すると共に、前記二つの他の目標点間を結ぶ目標線分の方向と前記基準線分の方向とが同一となるよう前記関節の変位を制御することを特徴とする。
【００１３】
また、本発明に係るロボット制御装置は、前記基準線分の一端である前記基準点に対応する前記目標点と、その前記目標点から前記目標線分と同一方向へ延出する延出線上に設定される別の目標点とを結ぶ線分の長さが前記基準線分の長さと同一となるように前記別の目標点が設定され、前記制御手段は、前記基準線分の方向と前記目標線分の方向とが同一となるようにするために、前記残りの基準点が前記別の目標点へ移動するよう関節の変位を制御することを特徴とする。
【００１４】
また、本発明に係るロボット制御装置は、前記制御手段は、前記基準線分の方向と前記目標線分の方向とが同一となるようにするために、前記基準線分の一端である前記基準点に対応する前記目標点から前記目標線分と同一方向へ延出する延出線に対して前記残りの基準点から垂直にひかれる線分の長さに相当するずれである偏差ベクトルに基づき前記関節の変位を制御することを特徴とする。
【００１５】
さらに、本発明に係るロボット制御装置は、前記対象物が前記第一領域を先端に有する差込部を有し、前記第二領域が前記対象物の前記差込部が差し込まれる被差込部とされており、前記対象物を移動させて、前記第一領域の縁部を前記第二領域の縁部に外形が合うよう接触させた後に前記差込部を前記被差込部に差し込む制御において、前記第一領域に設定された前記基準点よりも基端側において前記差込部に、前記差込部の前記被差込部への差込後に前記第二領域に設定される前記目標点に対応する他の基準点がさらに設定され、前記制御手段は、前記第一領域の縁部と前記第二領域の縁部との接触後、前記他の基準点が前記第二領域に設定される前記目標点に移動するよう関節の変位を制御することを特徴とする。
【００１６】
上記目的を達成するための本発明に係るロボット制御方法は、対象物を関節の変位により移動させるロボットの制御方法であって、前記対象物に基準点をかつ前記対象物の移動先に前記基準点の移動先である目標点を、前記対象物の移動先での位置および姿勢が決定できるように設定する設定工程と、前記基準点および前記目標点を撮像する撮像工程と、前記ロボットおよび前記撮像工程で用いられる撮像手段のキャリブレーションを行わずに、前記撮像工程により得られた撮像結果に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御工程とを含むことを特徴とする。
【００１７】
上記目的を達成するための本発明に係るロボット制御方法は、対象物を関節の変位により移動させるロボットの制御方法であって、前記対象物と前記対象物の移動先とを撮像する撮像工程と、前記撮像工程により得られた画像上において、前記対象物に基準点をかつ前記対象物の移動先に前記基準点の移動先である目標点を、移動先での前記対象物の位置および姿勢を決定できるように設定する設定工程と、前記ロボットおよび前記撮像工程で用いられる撮像手段のキャリブレーションを行わずに、前記設定工程により前記基準点および前記目標点が設定された前記画像に基づき、前記基準点が前記目標点へ移動するよう前記関節の変位を制御する制御工程とを含むことを特徴とする。
【発明の効果】
【００１８】
本発明に係るロボット制御装置によれば、移動先での対象物の位置および姿勢を決定するために、対象物に基準点が設定され、対象物の移動先に目標点が設定される。そして、基準点および目標点が撮像され、その撮像結果に基づき、基準点が目標点へ移動するようにロボットが制御される。従って、ロボットで対象物を移動させる際、移動先において対象物を所定の位置に所定の向きで配置することができる。この際、ロボットおよび撮像手段のキャリブレーションが行われないので、そのキャリブレーションにかかる負担を低減することができる。
【００１９】
本発明に係るロボット制御装置によれば、対象物とその移動先とが撮像され、その撮像された画像上において、対象物に基準点が設定され、対象物の移動先に目標点が設定される。この際、基準点および目標点は、移動先での対象物の位置および姿勢を決定できるように設定される。そして、基準点および目標点が設定された画像に基づき、基準点が目標点へ移動するようにロボットが制御される。従って、対象物に直接に基準点を設定するのが困難な場合や、対象物の移動先に直接に目標点を設定するのが困難な場合において、ロボットで対象物を移動させる際、対象物を所定の位置に所定の向きで配置することができる。この際、ロボットおよび撮像手段のキャリブレーションが行われないので、そのキャリブレーションにかかる負担を低減することができる。
【００２０】
また、本発明に係るロボット制御装置によれば、対象物に設定される複数の基準点が第一領域の縁部に設定されるか、または複数の基準点の内、少なくとも一の基準点が対象物の第一領域の縁部に設定され、残りの基準点が対象物に第一領域の縁部以外の箇所に設定される。従って、ロボットで対象物を移動させて、第一領域の縁部を第二領域の縁部に外形が合うよう正確に接触させることができる。
【００２１】
また、本発明に係るロボット制御装置によれば、対象物に設定される複数の基準点の内、複数の基準点が第一領域の縁部において同一直線上に設定される。そして、残りの基準点は、第一領域の縁部に前記複数の基準点と異なる箇所に設定される。この際、残りの基準点は、前記同一直線上から外れた位置に設定される。従って、簡易な設定で、第一領域の縁部を第二領域の縁部に外形が合うよう正確に接触させることができる。
【００２２】
また、本発明に係るロボット制御装置によれば、対象物の第一領域の縁部に設定される基準点が第二領域の縁部に設定される目標点へ移動するよう関節の変位が制御されると共に、目標線分の方向と基準線分の方向とが同一となるよう関節の変位が制御される。従って、たとえば板材の厚み部分が第一領域とされる場合、第一領域の縁部を第二領域の縁部に外形が合うように正確に接触させることができる。
【００２３】
また、本発明に係るロボット制御装置によれば、対象物の第一領域の縁部に設定される基準点が第二領域の縁部に設定される目標点へ移動するよう関節の変位が制御されると共に、残りの基準点が別の目標点へ移動するよう関節の変位が制御される。従って、たとえば板材の厚み部分が第一領域とされる場合、簡易な設定で、第一領域の縁部を第二領域の縁部に外形が合うように正確に接触させることができる。
【００２４】
また、本発明に係るロボット制御装置によれば、対象物の第一領域の縁部に設定される基準点が第二領域の縁部に設定される目標点へ移動するよう関節の変位が制御されると共に、偏差ベクトルに基づき関節の変位が制御される。従って、たとえば板材の厚み部分が第一領域とされる場合、簡易な設定で、第一領域の縁部を第二領域の縁部に外形が合うように正確に接触させることができる。
【００２５】
また、本発明に係るロボット制御装置によれば、第一領域の縁部と第二領域の縁部との接触後、第一領域に設定された基準点よりも基端側に設定される他の基準点が第二領域に設定される目標点へ移動するよう関節の変位が制御される。従って、ロボットで対象物を移動させて、対象物の差込部を対象物の移動先の被差込部に正確に差し込むことができる。
【００２６】
本発明に係るロボット制御方法によれば、移動先での対象物の位置および姿勢を決定するために、対象物に基準点が設定され、対象物の移動先に目標点が設定される。そして、基準点および目標点が撮像され、その撮像結果に基づき、基準点が目標点へ移動するようにロボットが制御される。従って、ロボットで対象物を移動させる際、移動先において対象物を所定の位置に所定の向きで配置することができる。この際、ロボットおよび撮像手段のキャリブレーションが行われないので、そのキャリブレーションにかかる負担を低減することができる。
【００２７】
本発明に係るロボット制御方法によれば、対象物とその移動先とが撮像され、その撮像された画像上において、対象物に基準点が設定され、対象物の移動先に目標点が設定される。この際、基準点および目標点は、移動先での対象物の位置および姿勢を決定できるように設定される。そして、基準点および目標点が設定された画像に基づき、基準点が目標点へ移動するようにロボットが制御される。従って、対象物に直接に基準点を設定するのが困難な場合や、対象物の移動先に直接に目標点を設定するのが困難な場合において、ロボットで対象物を移動させる際、対象物を所定の位置に所定の向きで配置することができる。この際、ロボットおよび撮像手段のキャリブレーションが行われないので、そのキャリブレーションにかかる負担を低減することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明のロボット制御装置の一実施例の使用状態１を示す模式図である。
【図２】図１のロボット制御装置を示す概略ブロック図である。
【図３】図１のロボット制御装置を用いたロボット制御方法の一例を示すフローチャートである。
【図４】図１のロボット制御装置の使用状態１を示す模式図であり、図１の状態から対象物を移動させた状態を示している。
【図５】図１のロボット制御装置の使用状態２を示す模式図である。
【図６】図１のロボット制御装置の使用状態２を示す模式図であり、図５の状態から対象物を移動させた状態を示している。
【図７】図１のロボット制御装置の使用状態３を示す模式図である。
【図８】図１のロボット制御装置の使用状態３を示す模式図であり、図７の状態から対象物を移動させる途中を示している。
【図９】図１のロボット制御装置の使用状態３を示す模式図であり、図７の状態から図８の状態を介して対象物を移動させた状態を示している。
【図１０】図１のロボット制御装置の使用状態４を示す模式図である。
【図１１】図１のロボット制御装置の使用状態４を示す模式図であり、図１０の状態から対象物を移動させた状態を示している。
【図１２】図１のロボット制御装置の使用状態５を示す模式図である。
【図１３】図１のロボット制御装置の使用状態５を示す模式図であり、図１２の状態から対象物を移動させる途中を示している。
【図１４】図１のロボット制御装置の使用状態５を示す模式図であり、図１２の状態から図１３の状態を介して対象物を移動させた状態を示している。
【図１５】図１のロボット制御装置の使用状態６を示す模式図である。
【図１６】図１のロボット制御装置の使用状態６を示す模式図であり、図１５の状態から対象物を移動させる途中を示している。
【図１７】図１のロボット制御装置の使用状態６を示す模式図であり、図１５の状態から図１６の状態を介して対象物を移動させた状態を示している。
【図１８】本発明のロボット制御装置の別の実施例を示す概略ブロック図である。
【図１９】図１のロボット制御装置の別の使用状態を示す模式図である。
【発明を実施するための形態】
【００２９】
以下、本発明の具体的実施例を図面に基づいて詳細に説明する。
【００３０】
図１および図２は、本発明のロボット制御装置の一実施例を示す図であり、図１は使用状態１を示す模式図、図２は概略ブロック図である。本実施例のロボット制御装置１は、対象物２を関節３の変位により移動先へ移動させるロボット４の制御装置である。
【００３１】
ロボット４は、工場などの現場で用いられる産業用ロボットとされ、土台に回転自在に設けられるアーム５と、アーム５に設けられる手先部６とを有して構成される。アーム５は、複数のリンク棒７と、隣接するリンク棒７，７同士を互いに回転自在に接続する関節３とを有する。本実施例のアーム５は、三本のリンク棒７を有し、隣接するリンク棒７，７同士が関節３を介して互いに回転自在に接続される。図１に示されるように、アーム５は、基端部が関節３を介して土台に回転自在に接続されて外方へ延出され、先端に対象物２を把持する手先部６が設けられる。各関節３には、モータ８が設けられており、このモータ８を駆動させることで、関節３を回転させることができ、ひいてはリンク棒７を回転させることができる。なお、図１に示される座標系ＸＹＺは、三次元のロボット座標系とされる。
【００３２】
ロボット４により運ばれる対象物２には、予め基準点９が設定されている。一方、対象物２の移動先には、予め、基準点９の移動先としての目標点１０が設定されている。これら基準点９および目標点１０は、移動先での対象物２の位置および姿勢を決定するために設定されている。なお、基準点９および目標点１０としては、色マーカや二次元バーコードなどが用いられる。
【００３３】
図２に示されるように、本実施例のロボット制御装置１は、基準点９および目標点１０を撮像する撮像手段１１と、ロボット４の関節３の変位を制御する制御手段１２とを主要部として備える。その他、ロボット制御装置１は、ロボット４の関節３の変位量を検出する変位量検出手段１３を備える。
【００３４】
撮像手段１１は、対象物２および対象物２の移動先の画像を取得する手段であり、本実施例ではカメラとされる。本実施例では、カメラ１１は二台用いられ、それらのカメラ１１は、像面ＩＭ１，ＩＭ２同士が互いに交差するように配置される。典型的には、一方のカメラ１１は、ロボット座標系のＹＺ平面を撮影できるように配置され、他方のカメラ１１は、ロボット座標系のＺＸ平面を撮影できるように配置される。なお、図１に示されるように、一方のカメラ１１には、互いに直交するＵ１軸、Ｖ１軸およびＷ１軸からなる三次元のカメラ座標系が設けられ、他方のカメラ１１には、互いに直交するＵ２軸、Ｖ２軸およびＷ２軸からなる三次元のカメラ座標系が設けられる。各カメラ１１は、前述したように像面ＩＭ１，ＩＭ２同士が互いに交差するように配置され、対象物２とその移動先とを撮影することができる。
【００３５】
制御手段１２は、基準点９が目標点１０へ移動するよう関節３の変位を制御する手段である。この制御手段１２は、撮像手段１１により得られた撮像結果に基づき、関節３の変位を制御する。具体的には、本実施例では、撮像手段１１およびロボット４などは、制御手段１２に接続されており、その制御手段１２により後述するロボットの制御が可能とされる。この際、カメラ１１およびロボット４のキャリブレーションは、行われない。
【００３６】
制御手段１２にはさらに、変位量検出手段１３が接続される。この変位量検出手段１３は、本実施例ではエンコーダとされ、各関節３に設けられる。本実施例のエンコーダ１３は、モータ８の回転位置を検出し、この検出結果から現在のロボット４の手先部６の位置、ひいては手先部６で把持された対象物２の位置を求めることができる。
【００３７】
次に、本実施例のロボット制御装置１を用いたロボット制御方法について説明する。図３は、本発明のロボット制御方法の一実施例を示すフローチャートである。また、図４は、本実施例のロボット制御装置の使用状態１を示す模式図であり、図１の状態から対象物を移動させた状態を示している。
【００３８】
図３に示されるように、本実施例では、設定工程Ｓ１、撮像工程Ｓ２、検出工程Ｓ３、偏差算出工程Ｓ４、位置設定工程Ｓ５および制御工程Ｓ６が順次に実行される。なお、ロボット制御方法は、これに限定されるものではなく、撮像された画像に基づきロボット４を制御する従来公知の方法であって、カメラ１１およびロボット４のキャリブレーションを不要とする方法であればよい。
【００３９】
まず、対象物２に基準点９が設定される一方、対象物２の移動先に目標点１０が設定される（ステップＳ１）。この設定は、前述したように、対象物２および対象物２の移動先に目印となるものを取り付けることでなされる。そして、設定された基準点９および目標点１０が撮像される（ステップＳ２）。これは、二台のカメラ１１によりなされる。次に、ロボット４のアーム５が計測されて、ロボット４の手先部６の位置、ひいては対象物２の基準点９の位置が求められる（ステップＳ３）。これは、関節３に設けられたエンコーダ１３によりなされる。この際、ロボット４の手先部６は、移動前の位置にある対象物２を挟んだ状態とされる。
【００４０】
そして、カメラ１１にて撮像された基準点９とカメラ１１にて撮像された目標点１０との間の位置偏差が算出され、この位置偏差がカメラ座標系からロボット座標系へ変換される（ステップＳ４）。カメラ座標系からロボット座標系へ変換された位置偏差を、エンコーダ１３にて求められた基準点９の位置に加えることで、対象物２の仮想目標点が設定される（ステップＳ５）。設定された仮想目標点へ基準点９が移動するように、アーム５が制御される（ステップＳ６）。具体的には、以下に示すようにして、各工程が順次に実行される。
【００４１】
ここでは、対象物２が第一領域１４を有する一方、対象物２の移動先が第二領域１５を有する場合について説明する。なお、第二領域１５は、その外形が第一領域１４の外形と同一形状に形成されている。この場合、対象物２を移動させて第一領域１４の縁部を第二領域１５の縁部に外形が合うよう接触させる制御とされる。この制御では、対象物２に基準点９が複数設定される。
【００４２】
複数の基準点９は、対象物２の第一領域１４の縁部に設定される。この場合、たとえば、複数の基準点９の内、複数の基準点９が同一直線上に設定され、残りの基準点９が前記同一直線上から外れた位置に設定される。なお、目標点１０は、基準点９の移動先であり、移動先での対象物２の位置および姿勢が決定できるように、移動先での基準点９に対応する位置に設定される。
【００４３】
典型的には、図１および図４に示す例とされる。この例では、対象物２が下面を第一領域１４とする直方体とされ、第二領域１５が直方体の下面と同一形状の平面部とされる。ここでは、対象物２の下側の三つの頂点、すなわち対象物２の下面の三つの角部に基準点ａ，ｂ，ｃが設定され、平面状の第二領域１５の三つの角部に前記接触時に基準点ａ，ｂ，ｃに対応する目標点ａｄ，ｂｄ，ｃｄが設定される。そして、二台のカメラ１１により三つの基準点ａ，ｂ，ｃおよび三つの目標点ａｄ，ｂｄ，ｃｄが撮像され、その撮像結果に基づき、三つの基準点ａ，ｂ，ｃがそれぞれ対応する目標点ａｄ，ｂｄ，ｃｄへ移動するようロボット４の関節３の変位が制御される。すなわち、基準点ａが目標点ａｄへ、基準点ｂが目標点ｂｄへ、および基準点ｃが目標点ｃｄへ移動するようにロボット４が制御される。この際、二台のカメラ１１のどちらかは、基準点ａ，ｂ，ｃおよび目標点ａｄ，ｂｄ，ｃｄを撮像可能な位置に配置される。
【００４４】
三つの基準点ａ，ｂ，ｃの内、基準点ｂが目標点ｂｄへ移動する場合について説明する。ＹＺ平面を撮影するカメラ（カメラＣ１とする）１１側から見た場合、基準点ｂはｂ＝（ｂ１ｙ，ｂ１ｚ）とされ、目標点ｂｄはｂｄ＝（ｂ１ｄｙ，ｂ１ｄｚ）とされる。また、ＺＸ平面を撮影するカメラ（カメラＣ２とする）１１側からみた場合、基準点ｂはｂ＝（ｂ２ｘ，ｂ２ｚ）とされ、目標点ｂｄはｂｄ＝（ｂ２ｄｘ，ｂ２ｄｚ）とされる。なお、座標の数字１および２はそれぞれ、カメラＣ１およびＣ２からみたことを示している。
【００４５】
従って、基準点ｂと目標点ｂｄとの間のＸ軸方向の偏差、Ｙ軸方向の位置偏差およびＺ軸方向の位置偏差はそれぞれ、以下の式で表される。なお、Ｚ軸方向に関しては、カメラＣ１およびカメラＣ２からみることができるので、下記のように、カメラＣ１から見た場合またはカメラＣ２からみた場合のどちらかが用いられる。
【００４６】
【数１】
2019048350.tif 000003
【００４７】
これが基準点ｂと目標点ｂｄとの間の位置偏差とされ、この位置偏差に基づき、ロボット４の関節３の変位が制御される。具体的には、基準点９および目標点１０が一点の場合には、以下に示すように制御される。
【００４８】
制御手段１２によって、カメラ１１で撮影された対象物２の基準点９とカメラ１１で撮影された目標点１０との間の位置偏差が算出され、この位置偏差がカメラ座標系からロボット座標系へ変換される。また、制御手段１２によって、対象物２の基準点９の真の位置とカメラ１１で撮影された基準点９の位置との基準誤差が算出される。制御手段１２は、二台のカメラ１１に接続されており、これらのカメラ１１から対象物２の基準点９の位置情報を取得することができる。この取得した基準点９の位置と、対象物２の基準点９の真の位置との誤差である基準誤差を、制御手段１２により算出することができる。ここで、基準誤差について説明する。カメラ１１から対象物２の基準点９をとらえたときには、カメラ１１のひずみなどが原因で、基準点９の実際の位置である真の位置との間に誤差が生じることになり、これが基準誤差とされる。
【００４９】
また、制御手段１２によって、対象物２の移動先に設定される目標点１０の真の位置と、カメラ１１で撮影された目標点１０の位置との目標誤差を算出することができる。制御手段１２は、前述したようにカメラ１１に接続されており、これらのカメラ１１からの目標点１０の位置と、目標点１０の真の位置との誤差である目標誤差を算出できる。この目標誤差は、カメラ１１のひずみなどの原因により、カメラ１１から目標点１０をとらえたときに、目標点１０の実際の位置である真の位置との間に生じる誤差である。
【００５０】
基準点９の真の位置をｘ＝（ｘ，ｙ，ｚ）、目標点１０の真の位置をｘｄ＝（ｘｄ，ｙｄ，ｚｄ）、カメラ１１で撮影された基準点９の位置をｘｃ＝（ｘｃ，ｙｃ，ｚｃ）、カメラ１１で撮影された目標点１０の位置をｘｃｄ＝（ｘｃｄ，ｙｃｄ，ｚｃｄ）とする。カメラ１１で撮影された基準点９の位置およびカメラ１１で撮影された目標点１０の位置は、キャリブレーション誤差を含んでいる。このとき、カメラ１１のキャリブレーションによる誤差Δｘｃ、すなわち真値からのずれである基準誤差および目標誤差は、以下の式で表される。なお、以下の式において、左肩に設けられた「ｗ」は、基準となるワールド座標系からみたことを示している。本実施例では、ロボット座標系をワールド座標系としている。また、左肩に設けられた「ｃ」は、カメラ座標系からみたことを示している。
【００５１】
【数２】
2019048350.tif 000004
【００５２】
【数３】
2019048350.tif 000005
【００５３】
【数４】
2019048350.tif 000006
【００５４】
ここで、チルダは誤差を含んだ値を示しており、その他は以下のとおりである。
【００５５】
【数５】
2019048350.tif 000007
【００５６】
数２、数３および数４においては、基準誤差および目標誤差は、カメラ座標系からロボット座標系に変換されている。一方、エンコーダ１３で計測された基準点９の現在の位置をｘｍ＝（ｘｍ，ｙｍ，ｚｍ）とすると、ロボット４のキャリブレーションによる誤差Δｘｍ、すなわち真値からのずれは、以下の式で表される。
【００５７】
【数６】
2019048350.tif 000008
【００５８】
ここで、ｆ（ｑ）は、各関節角度から基準点９の位置へ変換する関数を示している。なお、ロボット４の幾何情報が正確、かつ各リンク棒７が十分な剛性を有する場合には、Δｘｍはゼロに近づくことになる。同様に、エンコーダ１３で計測された目標点１０の位置をｘｍｄ＝（ｘｍｄ，ｙｍｄ，ｚｍｄ）として、目標点１０の位置の近傍における誤差、すなわち真値からのずれは、以下の式で定義される。
【００５９】
【数７】
2019048350.tif 000009
【００６０】
【数８】
2019048350.tif 000010
【００６１】
このように、エンコーダ１３で計測された基準点９の位置およびエンコーダ１３で計測された目標点１０の位置と、それぞれの真値との間には、リンク棒７の歪みや弛みなどが原因とされる誤差が生じる。
【００６２】
次に、対象物２の位置および姿勢の制御時に生じる誤差は、以下の式で定義される。これは、静止摩擦や重力などの影響による誤差とされる。
【００６３】
【数９】
2019048350.tif 000011
【００６４】
ここでは、以下のとおりである。
【００６５】
【数１０】
2019048350.tif 000012
【００６６】
数９で示される誤差は、静止摩擦などの影響が小さく、ロボット４の各関節角が目標点１０に正確に制御可能であるとき、Δｘｍ２＝０となる。ここでは、産業用ロボットを対象とするため、この値はゼロとする。ただし、式の展開中では記述することとする。これにより、後述の目標点を与えた際、制御後の対象物２の位置は、数９より以下のようになる。
【００６７】
【数１１】
2019048350.tif 000013
【００６８】
また、制御手段１２は、エンコーダ１３により検出された基準点９の位置に、前述したように座標系が変換された位置偏差を加えることで、対象物２の移動先に仮想目標点を設定することができる。制御手段１２は、エンコーダ１３に接続されており、このエンコーダ１３からの基準点９の位置情報を取得することができる。そして、エンコーダ１３からの基準点９の位置に前述した位置偏差を加えることで、基準点９の移動先としての仮想目標点を設定することができる。
【００６９】
具体的には、次のとおりである。仮想目標点ｘｖｄを以下のように設定し、数２、数３および数５により、仮想目標点ｘｖｄは以下のようになる。
【００７０】
【数１２】
2019048350.tif 000014
【００７１】
さらに、制御手段１２によって、設定された仮想目標点へ基準点９が移動するように、ロボット４の関節３の変位が制御される。制御手段１２は、モータ８と接続されており、このモータ８を制御することで、関節３ひいてはリンク棒７を回転させて、基準点９を設定された仮想目標点へ到達させることができる。
【００７２】
このようにして、三点の基準点９および三点の目標点１０の内、一点の基準点９が一点の目標点１０へ移動するようロボット４が制御される。残りの二点については、上述した制御と同様に制御すればよい。これにより、基準点ａ，ｂ，ｃをそれぞれ対応する目標点ａｄ，ｂｄ，ｃｄへ到達させることができる。
【００７３】
本実施例の場合、前述したように、直方体の対象物２の下面の三つの角部に基準点９が設定されている。すなわち、三つの基準点９の内、二点が同一直線上に設定され、残りの一点が前記同一直線上から外れた位置に設定されている。たとえば、基準点ａおよびｂが同一直線上に配置されているとすると、基準点ｃがその同一直線上から外れた位置とされる。従って、本実施例によれば、簡易な設定で、第一領域１４の縁部を第二領域１５の縁部に外形が合うよう正確に接触させて、移動先において対象物２を所定の位置に所定の向きで配置することができる。
【００７４】
ところで、本実施例では、基準点９と目標点１０との間の位置偏差に基づき制御したが、基準点９と目標点１０との間の姿勢角偏差に基づき制御することも可能である。具体的には、次のとおりである。
【００７５】
ここでは、三つの基準点ａ，ｂ，ｃの内、基準点ｂが目標点ｂｄへ移動する場合について説明する。ＹＺ平面を撮影するカメラ（カメラＣ１とする）１１側から見た場合、基準点ａはａ＝（ａ１ｙ，ａ１ｚ）および基準点ｂはｂ＝（ｂ１ｙ，ｂ１ｚ）とされ、目標点ａｄはａｄ＝（ａ１ｄｙ，ａ１ｄｚ）および目標点ｂｄはｂｄ＝（ｂ１ｄｙ，ｂ１ｄｚ）とされる。また、ＺＸ平面を撮影するカメラ（カメラＣ２とする）１１側からみた場合、基準点ｂはｂ＝（ｂ２ｘ，ｂ２ｚ）および基準点ｃはｃ＝（ｃ２ｘ，ｃ２ｚ）とされ、目標点ｂｄはｂｄ＝（ｂ２ｄｘ，ｂ２ｄｚ）および目標点ｃｄはｃｄ＝（ｃ２ｄｘ，ｃ２ｄｚ）とされる。
【００７６】
ところで、前述したように、二台のカメラ１１のどちらかが基準点ａ，ｂ，ｃおよび目標点ａｄ，ｂｄ，ｃｄを撮像できる位置に配置されているので、上記に加えて、基準点ｃはｃ＝（ｃ１ｙ，ｃ１ｚ）および目標点ｃｄはｃｄ＝（ｃ１ｄｙ，ｃ１ｄｚ）とされるか、または基準点ａはａ＝（ａ２ｘ，ａ２ｚ）および目標点ａｄはａｄ＝（ａ２ｄｘ，ａ２ｄｚ）とされる。なお、座標の数字１および２はそれぞれ、カメラＣ１およびＣ２からみたことを示している。
【００７７】
従って、基準点ｂと目標点ｂｄとの間の姿勢角偏差は、以下の三つの式で表される。なお、Δγｄに関しては、カメラＣ１が基準点ａ，ｂ，ｃおよび目標点ａｄ，ｂｄ，ｃｄを撮像できる位置に配置される場合か、またはカメラＣ２が基準点ａ，ｂ，ｃおよび目標点ａｄ，ｂｄ，ｃｄを撮像できる位置に配置される場合で異なるので、どちらかを用いればよい。
【００７８】
【数１３】
2019048350.tif 000015
【００７９】
ここで、−π／４＜θ＜π／４の場合、θ≒ｔａｎθとなるので、数１３は以下に示す式で表される。
【００８０】
【数１４】
2019048350.tif 000016
【００８１】
この姿勢角偏差に基づき、ロボット４の関節３の変位が制御される。具体的には、基準点９および目標点１０が一点の場合には、以下に示すように制御される。
【００８２】
対象物２の基準点９の真の姿勢角をＲ、対象物２の移動先の目標点１０の真の姿勢角をＲｄ、カメラ１１で撮像された基準点９の姿勢角をＲｃａ、カメラ１１で撮像された目標点１０の姿勢角をＲｃｄとする。カメラ１１で撮像された基準点９の姿勢角およびカメラ１１で撮像された目標点１０の姿勢角は、キャリブレーション誤差を含んでいる。このとき、カメラ１１のキャリブレーションによる誤差ΔＲｃ、すなわち真値からのずれは、以下の式で表される。なお、以下の式において、右肩に設けられた「Ｔ」は、これの付された行列の転置行列を表している。
【００８３】
【数１５】
2019048350.tif 000017
【００８４】
【数１６】
2019048350.tif 000018
【００８５】
【数１７】
2019048350.tif 000019
【００８６】
ここで、チルダは誤差を含んだ値を示しており、その他は以下のとおりである。
【００８７】
【数１８】
2019048350.tif 000020
【００８８】
数１５、数１６および数１７においては、各誤差は、カメラ座標系からロボット座標系に変換されている。一方、エンコーダ１３で計測された基準点９の現在の姿勢角をＲｍとすると、ロボット４のキャリブレーションによる誤差ΔＲｍ、すなわち真値からのずれは、以下の式で表される。
【００８９】
【数１９】
2019048350.tif 000021
【００９０】
ここで、ｇ（ｑ）は、各関節角度から対象物２の姿勢角へ変換する関数を示している。なお、ロボット４の幾何情報が正確、かつ各リンク棒７が十分な剛性を有する場合には、ΔＲｍはＩに近づくことになる。同様に、エンコーダ１３で計測された目標点１０の姿勢角をＲｍｄとして、目標姿勢近傍における誤差、すなわち真値からのずれは、以下の式で定義される。
【００９１】
【数２０】
2019048350.tif 000022
【００９２】
【数２１】
2019048350.tif 000023
【００９３】
このように、エンコーダ１３で計測された基準点９の姿勢角およびエンコーダ１３で計測された目標点１０の姿勢角と、それぞれの真値との間には、リンク棒７の歪みや弛みなどが原因とされる誤差が生じる。
【００９４】
次に、対象物２の位置および姿勢の制御時に生じる誤差は、以下の式で定義される。これは、静止摩擦や重力などの影響による誤差とされる。
【００９５】
【数２２】
2019048350.tif 000024
【００９６】
ここでは、以下のとおりである。
【００９７】
【数２３】
2019048350.tif 000025
【００９８】
数２２で示される誤差は、静止摩擦などの影響が小さく、ロボット４の各関節角が目標姿勢に正確に制御可能であるとき、ΔＲｍ２＝Ｉとなる。ここでは、産業用ロボットを対象とするため、この値はＩとする。ただし、式の展開中では記述することとする。
【００９９】
そして、仮想目標姿勢角Ｒｖｄを以下のように設定する。この仮想目標姿勢角Ｒｖｄとなるように関節３の変位を制御する。
【０１００】
【数２４】
2019048350.tif 000026
【０１０１】
本実施例によれば、各工程を順次に１回実行した場合の最終的な誤差Δｘｆｐは、以下のようになる。
【０１０２】
【数２５】
2019048350.tif 000027
【０１０３】
ここで、Δｘｍ２＝０を考慮すれば、誤差Δｘｆｐは、以下のようになる。
【０１０４】
【数２６】
2019048350.tif 000028
【０１０５】
このように、本実施例では、キャリブレーション誤差は、制御前の誤差と制御後の誤差との差分として影響している。これは、制御前と制御後のそれぞれの位置における誤差量が近ければ近いほど、最終的な誤差Δｘｆｐが小さくなることを示す。
【０１０６】
これに対し、従来では、ある目標位置を与えた場合の１回の実行による誤差が、本実施例とは異なる。具体的には、次のとおりである。従来では、対象物２の誤差は、Δｘｃｄ＋Δｘｍ２となる。従来における最終的な誤差をΔｘｆとおくと、目標値はカメラ１１で計測した目標位置を用いるので、以下のとおりとなる。
【０１０７】
【数２７】
2019048350.tif 000029
【０１０８】
ここで、数３を用いることで、Δｘｆは以下のとおりとなる。
【０１０９】
【数２８】
2019048350.tif 000030
【０１１０】
さらに、Δｘｍ２＝０を考慮すれば、Δｘｆは以下のとおりとなる。
【０１１１】
【数２９】
2019048350.tif 000031
【０１１２】
これは、カメラ１１およびロボット４のキャリブレーション誤差の双方が、そのままの形で残っていることを示す。すなわち、カメラ１１およびロボット４のキャリブレーション誤差が、最終的な誤差に直接影響している。従って、ロボット４およびカメラ１１のキャリブレーションを高精度に行わなければならなかった。しかしながら、本実施例では、前述した数２６のような式で表されるため、カメラ１１およびロボット４のキャリブレーション誤差が直接影響することがなく、カメラ１１およびロボット４のキャリブレーションにかかる時間やコストを低減することができる。
【０１１３】
また、本実施例によれば、姿勢角制御では、位置制御の場合と同様に、その姿勢角制御を１回実行した場合の最終的な誤差ΔＲｆｐは、以下のようになる。
【０１１４】
【数３０】
2019048350.tif 000032
【０１１５】
ここで、ΔＲｍ２＝Ｉとすれば、誤差ΔＲｆｐは以下のとおりとなる。
【０１１６】
【数３１】
2019048350.tif 000033
【０１１７】
このように、姿勢角の誤差についても位置の場合と同様に、実行前後の誤差同士の相体量が最終的な誤差として残っていることが分かる。
【０１１８】
これに対し、従来では、最終的な誤差ΔＲｆが以下のとおりとなる。
【０１１９】
【数３２】
2019048350.tif 000034
【０１２０】
ここで、位置制御の場合と同様に、ΔＲｍ２＝Ｉとすれば、以下のとおりとなる。
【０１２１】
【数３３】
2019048350.tif 000035
【０１２２】
このように、従来では、位置制御の場合と同様に、カメラ１１およびロボット４のキャリブレーション誤差がそのまま残っている。
【０１２３】
また、本実施例によれば、設定工程Ｓ１を除く各工程を順次に繰り返し実行することができる。すなわち、制御工程Ｓ６終了後、その状態において再び撮像工程Ｓ２を行い、そして残りの各工程を順次に実行する。この繰り返し回数は、適宜に変更可能とされる。具体的には、以下の条件を満たす場合において繰り返し実行する。ここで、ロボット４の実行前の対象物２の位置をｘα、ロボット４の実行後の対象物２の位置をｘβとすると、条件は以下のとおりである。
【０１２４】
【数３４】
2019048350.tif 000036
【０１２５】
この条件を満たす場合において繰り返し実行することで、より高精度な制御を行うことができる。すなわち、設定工程Ｓ１を除く各工程を繰り返すごとに、真の目標位置に近付くことになり、精度を向上させることができる。これは、ロボット４の実行前の対象物２の位置と目標位置との距離が、場所によるカメラ１１やエンコーダ１３などのセンサの計測誤差に比べて大きい場合を示す。つまり、繰り返し実行することで、センサの計測誤差の非線形成分と同等の精度を実現することが可能となるということが分かる。さらに、非線形成分についても、制御前と制御後との位置が近いほど誤差量は減少し、繰り返すごとに精度を高めることができる。
【０１２６】
また、本実施例によれば、姿勢角制御は、位置制御の場合と同様に、その姿勢角制御を繰り返し実行することができる。具体的には、ロボット４の実行前の対象物２の姿勢角をＲα、実行後の対象物２の姿勢をＲβとすると、繰り返し実行することで誤差が減少し、目標値に収束するための条件は、以下のとおりになる。
【０１２７】
【数３５】
2019048350.tif 000037
【０１２８】
この条件を満たす場合に、繰り返し実行することで、目標値へ収束させることができる。この条件の性質は、位置制御の場合の収束条件である数３４と同様である。
【０１２９】
さらに、本実施例によれば、上述した制御によりロボット４を制御できるため、既存の産業用ロボットに実装されているコントローラ（制御手段）に、ソフトウェアの変更箇所を抑制しつつ、容易に適用することができる。すなわち、工場などで稼動している既存のロボット４に、ハードウェアやソフトウェアの変更箇所を抑制しつつ、直接適用することができ、利用範囲を広げることができる。
【０１３０】
図５および図６は、図１のロボット制御装置の使用状態２を示す図であり、図５は模式図、図６は図５の状態から対象物をその移動先へ移動させた状態を示す模式図である。ここでのロボット制御装置１は、基本的には前述した例と同様である。そこで、以下では、両者の異なる点を中心に説明し、対応する箇所には同一の符号を付して説明する。
【０１３１】
前述した例では、複数の基準点９が第一領域１４の縁部に設定されたが、ここでは、複数の基準点９の内、少なくとも一の基準点９が第一領域１４の縁部に設定され、残りの基準点９が対象物２に第一領域１４の縁部以外の箇所に設定される。たとえば、複数の基準点９の内、少なくとも一の基準点９が第一領域１４の縁部に設定され、残りの基準点９が一点とされて、対象物２において第一領域１４の縁部以外の箇所に設定される場合が考えられる。この場合、対象物２の移動先は、軸方向一端面に第二領域１５を有する角柱体１６を有している。
【０１３２】
前記少なくとも一の基準点９が複数の場合、その内の一の基準点９と残りの基準点９とを結ぶ基準線分が以下となるように、残りの基準点９が対象物２に設定される。基準線分は、第一領域１４の縁部と第二領域１５の縁部との接触時において、角柱体１６の軸方向一端面に対して垂直となる。一方、第一領域１４の縁部と第二領域１５の縁部との接触時において、第一領域１４の縁部に設定される基準点９と対応する位置に、目標点１０が設定される。また、角柱体１６の軸方向一端面と軸方向他端面との間の辺部の内、一の辺部１７上に互いに離隔して二つの他の目標点１８，１８が設定される。
【０１３３】
この例では、制御手段１２によって、第一領域１４の縁部に設定される基準点９が目標点１０へ移動するよう関節３の変位が制御されると共に、二つの他の目標点１８，１８間を結ぶ目標線分の方向と基準線分の方向とが同一となるよう関節３の変位が制御される。なお、第一領域１４の縁部に設定される基準点９の目標点１０への移動は、前述した場合と同様に制御される。
【０１３４】
典型的には、図５および図６に示す例とされる。この例では、前述した基準線分の一端でありかつ第一領域１４に設定される基準点９に対応する目標点１０と、その目標点１０から前記目標線分と同一方向へ延出する延出線１９上に設定される別の目標点２０とを結ぶ線分が以下となるように、別の目標点２０が設定される。目標点１０と別の目標点２０とを結ぶ線分は、その長さが基準線分の長さと同一となる。
【０１３５】
この場合、制御手段１２は、基準線分の方向と目標線分の方向とが同一となるようにするために、前述した残りの基準点９が別の目標点２０へ移動するようにロボット４が制御される。すなわち、制御手段１２によって、第一領域１４の縁部に設定された基準点９が目標点１０へ移動するよう関節３の変位が制御されると共に、残りの基準点９が別の目標点２０へ移動するよう関節３の変位が制御される。
【０１３６】
図示例では、対象物２は、四角形の薄板状に形成されており、下面が第一領域１４とされる。対象物２の下面は、板材の板面ではなく、板材の厚み部分であり、長方形状とされる。第二領域１５は、四角柱状の角柱体１６の軸方向一端面である上面に形成される平面部であり、第一領域１４と同一形状に形成されている。ここでは、対象物２に三つの基準点ｄ，ｅ，ｆが設定される。三つの基準点ｄ，ｅ，ｆの内、二つの基準点ｄ，ｅが対象物２の下側の二つの頂点、すなわち対象物２の下面の一方の長辺部の両端に対応する二つの角部に設定される。残りの基準点ｆは、対象物２の上側の頂点であり、基準点ｅが設定された頂点と上下方向に対応する頂点に設定される。従って、基準点ｅと基準点ｆとを結ぶ基準線分は、板状の対象物２の上下方向へ沿う辺部とされる。前述したように対象物２の下面が角柱体１６の上面に当接するよう対象物２が制御されるので、当接時において基準線分が角柱体１６の上面に対して垂直とされる。
【０１３７】
一方、第二領域１５の二つの角部に前記接触時に基準点ｄ，ｅに対応する目標点ｄｄ，ｅｄが設定される。具体的には、目標点ｄｄ，ｅｄは、長方形の平面状に形成された第二領域１５の一方の長辺部の両端に対応する二つの角部に設定される。また、四角柱状の角柱体１６の軸方向に沿う四つの辺部の内、一の辺部１７上には、上下方向へ互いに離隔して二つの他の目標点ｇ，ｈが設定される。前記一の辺部１７は、角柱体１６の辺部であるので、角柱体１６の上面に対して垂直とされる。従って、二つの他の目標点ｇ，ｈ間を結ぶ目標線分は、角柱体１６の上面に対して垂直とされる。
【０１３８】
そして、二台のカメラ１１により、三つの基準点ｄ，ｅ，ｆ、二つの目標点ｄｄ，ｅｄおよび二つの他の目標点ｇ，ｈが撮像され、その撮像結果に基づき、ロボット４が制御される。具体的には、まず、目標点ｅｄから目標線分と同一方向へ延出する延出線１９がひかれる。ここで、目標点ｅｄは、基準線分の下端であり、第一領域１４に設定される基準点ｅに対応する目標点である。延出線１９の形成後、延出線１９上には別の目標点ｆｄが設定される。別の目標点ｆｄは、それと目標点ｅｄとを結ぶ線分の長さが基準線分の長さと同一となるように設定される。そして、基準点ｄ，ｅがそれぞれ目標点ｄｄ，ｅｄへ移動するよう関節３の変位が制御されると共に、基準点ｆが別の目標点ｆｄへ移動するよう制御される。なお、各基準点の目標点への移動は、前述した場合と同様にしてなされる。これにより、薄板状の対象物２を移動させて、対象物２の下面である第一領域１４を角柱体１６の第二領域１５に正確に当接させることができる。この際、第一領域１４の縁部と第二領域１５の縁部とが外形が合うように当接される。
【０１３９】
図７から図９は、図１のロボット制御装置の使用状態３を示す図であり、図７は模式図、図８は図７の状態から対象物をその移動先へ移動させる途中を示す模式図、図９は図７の状態から図８の状態を介して対象物をその移動先へ移動させた状態を示す模式図である。ここでのロボット制御装置１は、基本的には図５および図６に示す例と同様である。そこで、以下では、両者の異なる点を中心に説明し、対応する箇所には同一の符号を付して説明する。
【０１４０】
図５および図６に示す例では、基準線分の方向と目標線分の方向とが同一となるようにするために、残りの基準点９が別の目標点２０へ移動するよう関節３の変位が制御されたが、ここでは、延出線１９に対して残りの基準点９から垂直にひかれる線分の長さに相当するずれである偏差ベクトルに基づき、ロボット４の関節３の変位が制御される。図示例では、対象物２とそれに形成される第一領域１４、および角柱体１６とそれに形成される第二領域１５は、図５および図６の場合と同様である。また、図５および図６の場合と同様にして、三つの基準点ｄ，ｅ，ｆ、二つの目標点ｄｄ，ｅｄおよび二つの他の目標点ｇ，ｈが設定される。
【０１４１】
そして、二台のカメラ１１により、三つの基準点ｄ，ｅ，ｆ、二つの目標点ｄｄ，ｅｄおよび二つの他の目標点ｇ，ｈが撮像され、その撮像結果に基づき、ロボット４が制御される。具体的には、まず、目標点ｅｄから前述した延出線１９がひかれる。延出線１９の形成後、基準点ｄ，ｅがそれぞれ目標点ｄｄ，ｅｄへ移動するよう関節３の変位が制御されると共に、基準点ｆから延出線１９に対して垂直にひかれる垂線である偏差ベクトルに基づき関節３の変位が制御される。ここで、偏差ベクトルに基づきロボット４を制御する方法は、従来公知の方法が用いられる。なお、基準点ｄ，ｅの目標点ｄｄ，ｅｄへの移動は、前述した場合と同様にしてなされる。これにより、薄板状の対象物２を移動させて、対象物２の下面である第一領域１４を角柱体１６の第二領域１５に互いの縁部が合うように正確に当接させることができる。
【０１４２】
図１０および図１１は、図１のロボット制御装置の使用状態４を示す図であり、図１０は模式図、図１１は図１０の状態から対象物を移動させた状態を示す模式図である。ここでのロボット制御装置１は、基本的には図５および図６に示す例と同様である。そこで、以下では、両者の異なる点を中心に説明し、対応する箇所には同一の符号を付して説明する。
【０１４３】
図５および図６に示す例では、前記少なくとも一の基準点９が複数とされたが、ここでは、前記少なくとも一の基準点９が一点とされる。すなわち、一点の基準点９が第一領域１４の縁部に設定され、一点の残りの基準点９が対象物２に対して第一領域１４以外の箇所に設定される。この際、一点の基準点９と一点の残りの基準点９とを結ぶ基準線分が第一領域１４と第二領域１５との接触時に角柱体１６の軸方向一端面に対して垂直となるように一点の残りの基準点９が設定される。
【０１４４】
典型的には、図１０および図１１に示す例とされる。すなわち、図５および図６に示す例では、対象物２が四角形の薄板状に形成されていたが、ここでは、円柱状に形成されている。円柱状の対象物２は、円形状の下面が第一領域１４とされる。一方、第二領域１５は、四角柱状の角柱体１６の軸方向一端面である上面に形成される円形状の平面部であり、第一領域１４と同一形状に形成されている。
【０１４５】
ここでは、対象物２に二つの基準点ｉ，ｊが設定される。二つの基準点ｉ，ｊの内、基準点ｉが対象物２の下面の外縁部に設定され、残りの基準点ｊが円柱状の対象物２の外壁面に設定される。この際、残りの基準点ｊは、基準点ｉから対象物２の下面に対して垂直にひかれる垂線２１上に設定される。従って、基準点ｉと基準点ｊとを結ぶ基準線分は、前述したように対象物２の下面が角柱体１６の上面に当接するよう対象物２が制御されるので、当接時において基準線分が角柱体１６の上面に対して垂直とされる。一方、円形状の第二領域１５の外縁部には、前記接触時に基準点ｉに対応する目標点ｉｄが設定される。また、前述したように、四角柱状の角柱体１６の軸方向に沿う四つの辺部の内、一の辺部１７上には、上下方向へ互いに離隔して二つの他の目標点ｇ，ｈが設定される。
【０１４６】
そして、二台のカメラ１１により、二つの基準点ｉ，ｊ、目標点ｉｄおよび二つの他の目標点ｇ，ｈが撮像され、その撮像結果に基づき、ロボット４が制御される。具体的には、まず、目標点ｉｄから二つの他の目標点ｇ，ｈ間を結ぶ目標線分と同一方向へ延出する延出線１９がひかれる。ここで、目標点ｉｄは、基準線分の下端であり、第一領域１４に設定される基準点ｉに対応する目標点である。延出線１９の形成後、延出線１９上には別の目標点ｊｄが設定される。別の目標点ｊｄは、それと目標点ｉｄとを結ぶ線分の長さが基準線分の長さと同一となるように設定される。そして、基準点ｉが目標点ｉｄへ移動するよう関節３の変位が制御されると共に、基準点ｊが別の目標点ｊｄへ移動するよう制御される。なお、各基準点の目標点への移動は、前述した場合と同様にしてなされる。これにより、円柱状の対象物２を移動させて、対象物２の下面である第一領域１４を角柱体１６の第二領域１５に互いに縁部が合うように正確に当接させることができる。
【０１４７】
図１２から図１４は、図１のロボット制御装置の使用状態５を示す図であり、図１２は模式図、図１３は図１２の状態から対象物を移動させる途中を示す模式図、図１４は図１２の状態から図１３の状態を介して対象物を移動させた状態を示す模式図である。ここでのロボット制御装置１は、基本的には図７から図９に示す例と同様である。そこで、以下では、両者の異なる点を中心に説明し、対応する箇所には同一の符号を付して説明する。
【０１４８】
図７から図９に示す例では、対象物２が四角形の薄板状に形成されていたが、ここでは、円柱状に形成されている。円柱状の対象物２は、円形状の下面が第一領域１４とされる。一方、第二領域１５は、四角柱状の角柱体１６の軸方向一端面である上面に形成される円形状の平面部であり、第一領域１４と同一形状に形成されている。
【０１４９】
ここでは、対象物２に二つの基準点ｉ，ｊが設定される。二つの基準点ｉ，ｊの内、基準点ｉが対象物２の下面の外縁部に設定され、残りの基準点ｊが円柱状の対象物２の外壁面に設定される。この際、残りの基準点ｊは、基準点ｉから対象物２の下面に対して垂直にひかれる垂線２１上に設定される。従って、基準点ｉと基準点ｊとを結ぶ基準線分は、前述したように対象物２の下面が角柱体１６の上面に当接するよう対象物２が制御されるので、当接時において基準線分が角柱体１６の上面に対して垂直とされる。一方、円形状の第二領域１５の外縁部には、前記接触時に基準点ｉに対応する目標点ｉｄが設定される。また、前述したように、四角柱状の角柱体１６の軸方向に沿う四つの辺部の内、一の辺部１７上には、上下方向へ互いに離隔して二つの他の目標点ｇ，ｈが設定される。前記一の辺部１７は、角柱体１６の辺部であるので、角柱体１６の上面に対して垂直とされる。従って、二つの他の目標点ｇ，ｈ間を結ぶ目標線分は、角柱体１６の上面に対して垂直とされる。
【０１５０】
そして、二台のカメラ１１により、二つの基準点ｉ，ｊ、目標点ｉｄおよび二つの他の目標点ｇ，ｈが撮像され、その撮像結果に基づき、ロボット４が制御される。具体的には、まず、目標点ｉｄから目標線分と同一方向へ延出する延出線１９がひかれる。ここで、目標点ｉｄは、基準線分の下端であり、第一領域１４に設定される基準点ｉに対応する目標点である。延出線１９の形成後、基準点ｉが目標点ｉｄへ移動するよう関節３の変位が制御されると共に、基準点ｊから延出線１９に対して垂直にひかれる垂線である偏差ベクトルに基づき関節３の変位が制御される。ここで、偏差ベクトルに基づきロボット４を制御する方法は、従来公知の方法が用いられる。なお、基準点ｉの目標点ｉｄへの移動は、前述した場合と同様にしてなされる。これにより、円柱状の対象物２を移動させて、対象物２の下面である第一領域１４を角柱体１６の第二領域１５に互いの縁部が合うように正確に当接させることができる。
【０１５１】
図１５から図１７は、図１のロボット制御装置の使用状態６を示す図であり、図１５は模式図、図１６は図１５の状態から対象物を移動させる途中を示す模式図、図１７は図１５の状態から図１６の状態を介して対象物を移動させた状態を示す模式図である。ここでのロボット制御装置１は、基本的には図１および図４に示す例と同様である。そこで、以下では、両者の異なる点を中心に説明し、対応する箇所には同一の符号を付して説明する。すなわち、図１および図４に示す例では、対象物２の第一領域１４の縁部を対象物２の移動先の第二領域１５の縁部に外形が合うよう接触させたが、ここでは、対象物２が対象物２の移動先に差し込まれる。
【０１５２】
対象物２は、第一領域１４を先端に有する差込部２２を有している。一方、対象物２の移動先は、第二領域１５を有しており、この第二領域１５が対象物２の差込部２２が差し込まれる被差込部とされている。この場合、対象物２を移動させて、対象物２の第一領域１４の縁部を第二領域１５の縁部に外形が合うよう接触させた後、対象物２の差込部２２を被差込部１５に差し込む制御とされる。この制御では、対象物２に基準点９が複数設定される。
【０１５３】
複数の基準点９は、対象物２の第一領域１４の縁部に設定される。一方、目標点１０は、基準点９の移動先であり、移動先での対象物２の位置および姿勢が決定できるように、移動先での基準点９に対応する位置に設定される。ここでは、対象物２に基準点９とは異なる位置に他の基準点２３がさらに設定される。他の基準点２３は、第一領域１４に設定された基準点９よりも基端側において対象物２の差込部２２に、差込部２２の被差込部１５への差込後に第二領域１５に設定される目標点１０に対応する位置に設定される。そして、制御手段１２によって、対象物２の第一領域１４の縁部と第二領域１５の縁部との接触後、他の基準点２３が第二領域１５に設定される目標点１０に移動するよう関節３の変位が制御される。なお、第一領域１４の縁部と第二領域１５の縁部との接触は、前述した場合と同様にしてなされる。
【０１５４】
典型的には、図１５から図１７に示す例とされる。この例では、対象物２は、前述したように下面を第一領域１４とする直方体とされ、下半分が差込部２２とされる。一方、第二領域１５は、上方へ開口する凹部とされ、角柱体１６の上面に形成されている。なお、凹部は、対象物２の下半分を差し込むことができる形状に形成されている。ここでは、前述したように、対象物２の下側の三つの頂点、すなわち対象物２の下面の三つの角部に基準点ａ，ｂ，ｃが設定され、平面状の第二領域１５の三つの角部に前記接触時に基準点ａ，ｂ，ｃに対応する目標点ａｄ，ｂｄ，ｃｄが設定される。
【０１５５】
また、対象物２の差込部２２には、基準点ａ，ｂ，ｃの基端側、すなわち差込部２２の上端部に、他の基準点ｋ,ｌ，ｍが設定される。具体的には、他の基準点ｋは、基準点ａが設定される頂点とその上側の頂点とを結ぶ辺部の中央部に設定される。他の基準点ｌは、基準点ｂが設定される頂点とその上側の頂点とを結ぶ辺部の中央部に設定される。他の基準点ｍは、基準点ｃが設定される頂点とその上側の頂点とを結ぶ辺部の中央部に設定される。
【０１５６】
そして、二台のカメラ１１により三つの基準点ａ，ｂ，ｃ、他の三つの基準点ｋ,ｌ，ｍ、および三つの目標点ａｄ，ｂｄ，ｃｄが撮像され、その撮像結果に基づきロボット４が制御される。具体的には、三つの基準点ａ，ｂ，ｃがそれぞれ対応する目標点ａｄ，ｂｄ，ｃｄへ移動するようロボット４の関節３の変位が制御された後、他の三つの基準点ｋ,ｌ，ｍが目標点ａｄ，ｂｄ，ｃｄへ移動するよう関節３の変位が制御される。これにより、対象物２の下半分を対象物２の移動先の凹部へ正確に差し込むことができる。なお、三つの基準点ａ，ｂ，ｃの目標点ａｄ，ｂｄ，ｃｄへの移動は、前述した場合と同様にしてなされ、他の三つの基準点ｋ,ｌ，ｍの目標点ａｄ，ｂｄ，ｃｄへの移動は、三つの基準点ａ，ｂ，ｃの目標点ａｄ，ｂｄ，ｃｄへの移動と同様にしてなされる。
【０１５７】
本発明のロボット制御装置およびロボット制御方法は、前記図示例の構成に限らず、適宜変更可能である。たとえば、前記図示例では、撮像手段１１による撮像前に予め基準点９および目標点１０などが対応する箇所に設定されたが、撮像手段１１により撮像された画像上において、それら各点を設定してもよい。図１８は、本発明のロボット制御装置の別の実施例を示す概略ブロック図である。ここでは、ロボット制御装置１は、後述する撮像手段１１、設定手段２４および制御手段１２を備える。その他の構成は、前記図示例と同様であるので、説明は省略する。
【０１５８】
撮像手段１１は、対象物２と対象物２の移動先とを撮像する手段であり、本実施例ではカメラとされる。本実施例では、前述したようにカメラ１１が二台配置される。なお、カメラ１１により撮影される対象物２とその移動先には、基準点９および目標点１０などは設定されていない。
【０１５９】
設定手段２４は、撮像手段１１により得られた画像上において、対象物２に基準点９などを設定すると共に、対象物２の移動先に目標点１０などを設定する手段である。基準点９および目標点１０などを設定する際、それら各点は、移動先での対象物２の位置および姿勢を決定できるように設定される。典型的には、基準点９および目標点１０などは、画像上において、前述した各図示例に示す位置に設定される。なお、画像上に各点を設定する方法は、従来公知の方法が用いられる。たとえば、制御手段１２などに予め記憶されているテンプレート画像に基づき、基準点９および目標点１０などが画像上に設定される。
【０１６０】
制御手段１２は、基準点９が目標点１０へ移動するよう関節３の変位を制御する手段である。この制御手段１２は、設定手段２４により基準点９および目標点１０などが所定の箇所に設定された画像に基づき、関節３の変位を制御する。なお、本実施例では、制御手段１２は、前述した設定手段２４を有している。
【０１６１】
次に、本実施例のロボット制御装置１を用いたロボット制御方法について説明する。本実施例では、撮像工程、設定工程、および制御工程が順次に実行される。
【０１６２】
まず、対象物２とその移動先が撮像される。これは、二台のカメラ１１によりなされる。そして、撮像された画像上において、対象物２に基準点９が設定される一方、対象物２の移動先に目標点１０が設定される。そして、基準点９および目標点１０などが設定された画像に基づき、ロボット４が制御される。この制御は、画像に基づきロボット４を制御する従来公知の制御方法が用いられる。
【０１６３】
また、図１および図４に示す例では、三つの基準点９および三つの目標点１０が設定されたが、これに限定されるものではなく、四つの基準点９および四つの目標点１０を所定の箇所に設定してもよい。図１９は、図１のロボット制御装置の別の使用状態を示す模式図である。
【０１６４】
ここでは、対象物２の下面の一方の長辺部に二つの基準点９，９が設定されると共に、対象物２の下面の一方の短辺部に二つの基準点９，９が設定される。一方、第二領域１５には、前記接触時に四つの基準点９それぞれに対応する四つの目標点１０が設定される。そして、制御手段１２によって、四つの基準点９がそれぞれ対応する四つの目標点１０へ移動するようロボット４の関節３の変位が制御される。
【０１６５】
また、制御方法は、前述した方法に限定されるものではなく、たとえば、国際公開番号ＷＯ２０１３／１７６２１２号に開示される方法であってもよい。さらに、対象物２、第一領域１４および第二領域１５の形状は、前記図示例に限定されるものではなく、適宜に変更可能である。この際、基準点９および目標点１０の位置および数は、適宜に設定される。
【産業上の利用可能性】
【０１６６】
本発明は、対象物をその移動先へ運ぶロボットに好適に用いることができる。
【符号の説明】
【０１６７】
１  ロボット制御装置
２  対象物
３  関節
４  ロボット
９  基準点
１０  目標点
１１  カメラ（撮像手段）
１２  制御手段
１４  第一領域
１５  第二領域
１６  角柱体
１７  辺部
１８  他の目標点
１９  延出線
２０  別の目標点
２２  差込部
２３  他の基準点
２４  設定手段
【図１】
2019048350.tif 000038
【図２】
2019048350.tif 000039
【図３】
2019048350.tif 000040
【図４】
2019048350.tif 000041
【図５】
2019048350.tif 000042
【図６】
2019048350.tif 000043
【図７】
2019048350.tif 000044
【図８】
2019048350.tif 000045
【図９】
2019048350.tif 000046
【図１０】
2019048350.tif 000047
【図１１】
2019048350.tif 000048
【図１２】
2019048350.tif 000049
【図１３】
2019048350.tif 000050
【図１４】
2019048350.tif 000051
【図１５】
2019048350.tif 000052
【図１６】
2019048350.tif 000053
【図１７】
2019048350.tif 000054
【図１８】
2019048350.tif 000055
【図１９】
2019048350.tif 000056