(57)【特許請求の範囲】
【請求項１】
マニピュレータを用いて、回動して加工物の位置決めを行う位置決め装置の第１の回転面上の回転中心点と、前記第１の回転面と対向し、回動して前記加工物の位置決めを行う第２の回転面上の回転中心点とを結ぶ回転軸線を算出する回転軸線算出方法であって、
前記マニピュレータに取り付けられたツールの先端を前記第１の回転面上の所定の位置に設けられたマーク上に移動して、前記第１の回転面上の第１の計測点の位置情報を取得する第１のステップと、
前記位置決め装置の前記第１の回転面を１８０度回転させる第２のステップと、
前記マニピュレータに取り付けられたツールの先端を前記第１の回転面上の所定の位置に設けられたマーク上に移動して、１８０度回転させた前記第１の回転面上の前記第１の計測点の位置情報を取得する第３のステップと、
前記第１のステップで取得された位置情報および前記第３のステップで取得された位置情報から、前記第１のステップにおける前記第１の計測点の位置と前記第３のステップにおける前記第１の計測点の位置とを結ぶ直線を二等分する位置を、前記位置決め装置の前記第１の回転面の回転中心点として算出する第４のステップと、
前記マニピュレータに取り付けられたツールの先端を前記第２の回転面上の所定の位置に設けられたマーク上に移動して、前記第２の回転面上の第２の計測点の位置情報を取得する第５のステップと、
前記第２の回転面を１８０度回転させる第６のステップと、
前記マニピュレータに取り付けられたツールの先端を前記第２の回転面上の所定の位置に設けられたマーク上に移動して、１８０度回転させた前記第２の回転面上の前記第２の計測点の位置情報を取得する第７のステップと、
前記第５のステップで取得された位置情報および前記第７のステップで取得された位置情報から、前記第５のステップにおける前記第２の計測点の位置と前記第７のステップにおける前記第２の計測点の位置とを結ぶ直線を二等分する位置を、前記第２の回転面の回転中心点として算出する第８のステップと、
前記位置決め装置の前記第１の回転面の回転中心点と前記第２の回転面の回転中心点とを結ぶ回転軸線を算出する第９のステップとを備え、
前記第１の回転面および前記第２の回転面には加工物等を載置するための治具が取り付けられており、前記治具は前記第１の回転面および前記第２の回転面に支持されており、前記治具は前記第１の回転面の回動に伴って回動し、前記第１の回転面は回転ポジショナの回転面であり、前記第２の回転面は前記第１の回転面と回転軸を共通とし、前記第２の回転面は前記回転ポジショナの前記第１の回転面の回動に伴って回動する回転軸線算出方法。
【請求項２】
治具は枠体状であり、マニピュレータに取り付けられたツールの先端の移動先を、第１の回転面上の所定の位置に設けられたマークではなく、前記枠体状の治具の前記第１の回転面側の角の点とし、第２の回転面上の所定の位置に設けられたマークではなく、前記枠体状の治具の前記第２の回転面側の角の点とした、請求項１記載の回転軸線算出方法。
【請求項３】
マニピュレータ、および、回動して加工物の位置決めを行う位置決め装置の少なくともいずれかを動作させるためのプログラムの作成方法であって、
前記プログラムに含まれる前記位置決め装置の回転面の回転中心点を示す位置情報と、請求項１または２に記載の回転中心点算出方法により算出した前記位置決め装置の前記回転面の回転中心点の位置情報とを比較する第１のステップと、
前記第１のステップにおいて比較した結果にもとづいて、前記プログラムを補正して、新たな動作プログラムを作成する第２のステップを備えたことを特徴とするプログラムの作成方法。
【請求項４】
マニピュレータ、および、回動して加工物の位置決めを行う位置決め装置の少なくともいずれかを動作させるための動作方法であって、
請求項３に記載のプログラム作成方法で作成した動作プログラムにもとづいて、マニピュレータおよび位置決め装置の少なくともいずれかを動作させるステップを備えたことを特徴とする動作方法。
【請求項５】
回動して加工物の位置決めを行う位置決め装置の第１の回転面上の回転中心点と、前記第１の回転面と対向し、回動して前記加工物の位置決めを行う第２の回転面上の回転中心点とを結ぶ回転軸線を算出するロボット装置であって、
マニピュレータと、
前記マニピュレータに取り付けられたツールの先端を前記第１の回転面上の所定の位置に設けられたマーク上に移動して、前記第１の回転面上の第１の計測点の第１の位置情報を取得するとともに、前記位置決め装置の前記第１の回転面を１８０度回転させ、回転させた前記第１の計測点の第２の位置情報を取得し、
前記マニピュレータに取り付けられたツールの先端を前記第２の回転面上の所定の位置に設けられたマーク上に移動して、前記第２の回転面上の第２の計測点の第３の位置情報を取得するとともに、前記第２の回転面を１８０度回転させ、回転させた前記第２の計測点の第４の位置情報を取得する動作制御部と、
前記動作制御部で取得された、前記第１の位置情報および前記第２の位置情報とを用いて、前記第１の回転面を回転させる前の前記第１の計測点の位置と前記第１の回転面を回転させた後の前記第１の計測点の位置とを結ぶ直線を二等分する位置を、前記位置決め装置の前記第１の回転面の回転中心点として算出し、
前記動作制御部で取得された、前記第３の位置情報および前記第４の位置情報を用いて、前記回転面を回転させる前の前記第２の計測点の位置と前記回転面を回転させた後の前記第２の計測点の位置とを結ぶ直線を二等分する位置を、前記第２の回転面の回転中心点として算出し、
前記位置決め装置の前記第１の回転面の回転中心点と前記第２の回転面の回転中心点とを結ぶ回転軸線を算出する回転軸線演算部とを備え、
前記第１の回転面および前記第２の回転面には加工物等を載置するための治具が取り付けられており、前記治具は前記第１の回転面および前記第２の回転面に支持されており、前記治具は前記第１の回転面の回動に伴って回動し、前記第１の回転面は回転ポジショナの回転面であり、前記第２の回転面は前記第１の回転面と回転軸を共通とし、前記第２の回転面は前記回転ポジショナの前記第１の回転面の回動に伴って回動するロボット装置。
【請求項６】
治具は枠体状であり、マニピュレータに取り付けられたツールの先端の移動先を、第１の回転面上の所定の位置に設けられたマークではなく、前記枠体状の治具の前記第１の回転面側の角の点とし、第２の回転面上の所定の位置に設けられたマークではなく、前記枠体状の治具の前記第２の回転面側の角の点とした、請求項５記載のロボット装置。
【請求項７】
回転中心点演算部で演算された、前記位置決め装置の前記回転面の回転中心点の位置座標を用いて、シミュレーション演算およびオフライン教示の少なくともいずれかを行うシミュレーション演算部を備えたことを特徴とする請求項５または６に記載のロボット装置。
【請求項８】
前記ロボット装置が、
前記動作制御部を有するロボット制御装置と、
前記シミュレーション演算部を有するシミュレーション装置とを備えたことを特徴とする請求項７に記載のロボット装置。
【請求項９】
前記ロボット制御装置が前記回転中心点演算部を有することを特徴とする請求項８に記載のロボット装置。
【請求項１０】
前記シミュレーション装置が、前記回転中心点演算部を有することを特徴とする請求項８に記載のロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マニピュレータを用いて、回転体の回転中心点および二つの回転体の回転中心点を結ぶ回転軸線の少なくともいずれかを算出する方法、プログラムの作成方法、動作方法ならびにロボット装置に関する。
【背景技術】
【０００２】
従来、回転体の回転中心点を求める方法としては、回転体上の所定の位置にマーク等を付し、回転体を１８０度回転させて、回転させる前および回転させた後においてマークを撮影し、得られた２点を結ぶ線の中心位置を回転体の中心点とする方法が知られてきた（例えば、特許文献１および特許文献２を参照）。
【０００３】
しかしながら、上述した従来の技術の技術では、回転体を回転させて、その前後で回転体のマークを撮影する必要があるので、外部機器として撮影装置が必要となり、システムが複雑になってしまうという課題があった。
【０００４】
また、マニピュレータを用いた回転中心点や二つの回転体の回転中心点を結ぶ回転軸線の算出方法については、これまでまったく提案されてこなかった。
【特許文献１】特開２００２−３０３５９２号公報
【特許文献２】特開２００５−１９９６３号公報
【発明の開示】
【０００５】
本発明はこのような課題に鑑みてなされたものであり、撮影装置のような外部機器を設けることなく、回転体の回転中心点や二つの回転体の回転中心点を結ぶ回転軸線等を算出することができる方法を提供するものである。
【０００６】
本発明の回転中心点算出方法は、マニピュレータを用いて、回動して加工物の位置決めを行う位置決め装置の回転面上の回転中心点を算出する回転中心点算出方法であって、マニピュレータを用いて、回転面上の所定の位置の位置情報を取得する第１のステップと、位置決め装置の回転面を１８０度回転させる第２のステップと、マニピュレータを用いて、１８０度回転させた回転面上の所定の位置の位置情報を取得する第３のステップと、第１のステップで取得された位置情報および第３のステップで取得された位置情報から、第１のステップにおける所定の位置と第３のステップにおける所定の位置とを結ぶ直線を二等分する位置を、位置決め装置の回転面の回転中心点として算出する第４のステップとを備えたことを特徴としている。
【０００７】
このような方法によれば、実際のシステム等に用いるマニピュレータおよび位置決め装置を用いて回転面の回転中心点の算出を行うことができるので、撮影装置のような外部機器を設けることなく、回転体の回転中心点を算出することができる。
【０００８】
次に、本発明の回転軸線算出方法は、マニピュレータを用いて、回動して加工物の位置決めを行う位置決め装置の第１の回転面上の回転中心点と、第１の回転面と対向し、回動して加工物の位置決めを行う第２の回転面上の回転中心点とを結ぶ回転軸線を算出する回転軸線算出方法であって、マニピュレータを用いて、第１の回転面上の第１の計測点の位置情報を取得する第１のステップと、位置決め装置の第１の回転面を１８０度回転させる第２のステップと、マニピュレータを用いて、１８０度回転させた第１の回転面上の第１の計測点の位置情報を取得する第３のステップと、第１のステップで取得された位置情報および第３のステップで取得された位置情報から、第１のステップにおける第１の計測点の位置と第３のステップにおける第１の計測点の位置とを結ぶ直線を二等分する位置を、位置決め装置の第１の回転面の回転中心点として算出する第４のステップと、マニピュレータを用いて、第２の回転面上の第２の計測点の位置情報を取得する第５のステップと、第２の回転面を１８０度回転させる第６のステップと、マニピュレータを用いて、１８０度回転させた第２の回転面上の第２の計測点の位置情報を取得する第７のステップと、第５のステップで取得された位置情報および第７のステップで取得された位置情報から、第５のステップにおける第２の計測点の位置と第７のステップにおける前記第２の計測点の位置とを結ぶ直線を二等分する位置を、第２の回転面の回転中心点として算出する第８のステップと、位置決め装置の第１の回転面の回転中心点と第２の回転面の回転中心点とを結ぶ回転軸線を算出する第９のステップとを備えたことを特徴としている。
【０００９】
このような方法によれば、実際のシステム等に用いるマニピュレータおよび位置決め装置を用いて、外部機器を設けることなく、回動して加工物の位置決めを行う位置決め装置の第１の回転面上の回転中心点と、第１の回転面と対向し、回動して加工物の位置決めを行う第２の回転面上の回転中心点とを結ぶ回転軸線を算出することができる。
【００１０】
また、回転面が互いに対向するように配置された位置決め装置において、各々の回転面を計測することにより、片面を計測して作成できる回転軸線よりも更に精度の高い回転軸線を算出することが可能となる。
【００１１】
次に、本発明のプログラムの作成方法は、マニピュレータ、および、回動して加工物の位置決めを行う位置決め装置の少なくともいずれかを動作させるためのプログラムの作成方法であって、プログラムに含まれる位置決め装置の回転面の回転中心点を示す位置情報と、本発明の回転中心点算出方法により算出した位置決め装置の前記回転面の回転中心点の位置情報とを比較する第１のステップと、第１のステップにおいて比較した結果にもとづいて、プログラムを補正して、新たな動作プログラムを作成する第２のステップを備えたことを特徴としている。
【００１２】
このような方法によれば、さらに、本発明の回転中心点算出方法により算出した回転中心点の位置情報によって、プログラムに含まれる回転中心点の位置情報を補正することができるので、より正確にマニピュレータを動作させることのできる動作プログラムを作成できる。
【００１３】
次に、本発明の動作方法は、マニピュレータ、および、回動して加工物の位置決めを行う位置決め装置の少なくともいずれかを動作させるための動作方法であって、本発明のプログラム作成方法で作成した動作プログラムにもとづいて、マニピュレータおよび位置決め装置の少なくともいずれかを動作させるステップを備えたことを特徴としている。
【００１４】
このような方法によれば、さらに、本発明の回転中心点算出方法により算出した回転中心点の位置情報によって、プログラムに含まれる回転中心点の位置情報を補正した動作プログラムを用いることにより、より正確にマニピュレータおよび位置決め装置の少なくともいずれかを動作させることができる。
【００１５】
次に、本発明のロボット装置は、回動して加工物の位置決めを行う位置決め装置の回転面上の回転中心点を算出するロボット装置であって、マニピュレータと、マニピュレータを用いて、回転面上の所定の位置の第１の位置情報を取得するとともに、位置決め装置の回転面を１８０度回転させ、回転させた所定の位置の第２の位置情報を取得する動作制御部と、動作制御部で取得された、第１の位置情報と第２の位置情報とを用いて、回転面を回転させる前の所定の位置と回転面を回転させた後の所定の位置とを結ぶ直線を二等分する位置を、位置決め装置の回転面の回転中心点として算出する回転中心点演算部とを備えたことを特徴としている。
【００１６】
このような構成により、実際のシステム等に用いるマニピュレータおよび位置決め装置を用いて回転面の回転中心点の算出を行うことができるので、撮影装置のような外部機器を設けることなく、回転体の回転中心点を算出することができる。
【００１７】
次に、本発明のロボット装置は、回動して加工物の位置決めを行う位置決め装置の第１の回転面上の回転中心点と、第１の回転面と対向し、回動して加工物の位置決めを行う第２の回転面上の回転中心点とを結ぶ回転軸線を算出するロボット装置であって、マニピュレータと、マニピュレータを用いて、第１の回転面上の第１の計測点の第１の位置情報を取得するとともに、位置決め装置の第１の回転面を１８０度回転させ、回転させた第１の計測点の第２の位置情報を取得し、マニピュレータを用いて、第２の回転面上の第２の計測点の第３の位置情報を取得するとともに、第２の回転面を１８０度回転させ、回転させた第２の計測点の第４の位置情報を取得する動作制御部と、動作制御部で取得された、第１の位置情報および第２の位置情報とを用いて、第１の回転面を回転させる前の第１の計測点の位置と第１の回転面を回転させた後の第１の計測点の位置とを結ぶ直線を二等分する位置を、位置決め装置の第１の回転面の回転中心点として算出し、動作制御部で取得された、第３の位置情報および第４の位置情報を用いて、回転面を回転させる前の第２の計測点の位置と回転面を回転させた後の第２の計測点の位置とを結ぶ直線を二等分する位置を、第２の回転面の回転中心点として算出し、位置決め装置の第１の回転面の回転中心点と第２の回転面の回転中心点とを結ぶ回転軸線を算出する回転軸線演算部とを備えたことを特徴としている。
【００１８】
このような構成により、実際のシステム等に用いるマニピュレータおよび位置決め装置を用いて、回動して加工物の位置決めを行う位置決め装置の第１の回転面上の回転中心点と、第１の回転面と対向し、回動して加工物の位置決めを行う第２の回転面上の回転中心点とを結ぶ回転軸線を算出することができるので、撮影装置のような外部機器を設けることなく、回転体の回転軸線を算出することができる。
【００１９】
また、回転面が互いに対向するように配置された位置決め装置において、各々の回転面を計測することにより、片面を計測して作成できる回転軸線よりも更に精度の高い回転軸線を算出することが可能となる。
【００２０】
さらに、回転中心点演算部で演算された、位置決め装置の回転面の回転中心点の位置座標を用いて、シミュレーション演算およびオフライン教示の少なくともいずれかを行うシミュレーション演算部を備えた構成であってもよい。
【００２１】
このような構成によれば、さらに、回転中心点演算部で演算された、回転中心点の位置座標を用いて、シミュレーション演算やオフライン教示を精度よく行うことのできるロボット装置を提供できる。
【００２２】
また、ロボット装置が、動作制御部を有するロボット制御装置と、シミュレーション演算部を有するシミュレーション装置とを備えた構成であってもよい。
【００２３】
このような構成によれば、さらに、ロボット制御装置とシミュレーション装置とを独立して設けることにより、より実用的な構成を実現できる。
【００２４】
また、ロボット制御装置が回転中心点演算部を有する構成であってもよい。
【００２５】
このような構成によれば、さらに、ロボット制御装置側で、回転中心点の演算を行うことができるので、シミュレーション装置の汎用性を高めながら、高精度なシミュレーション演算およびオフライン教示の少なくともいずれかを行うことができる。
【００２６】
また、シミュレーション装置が、回転中心点演算部を有する構成であってもよい。
【００２７】
このような構成によれば、さらに、シミュレーション装置側で、回転中心点の演算を行うことができるので、ロボット制御装置に演算を行う機能がない場合にも、高精度なシミュレーション演算およびオフライン教示の少なくともいずれかを行うことができる。
【００２８】
以上のように、本発明によれば、撮影装置のような外部機器を設けることなく、回転体の回転中心点や二つの回転体の回転中心点を結ぶ回転軸線等を算出することができる方法を提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、この実施の形態によって本発明が限定されるものではない。
【００３０】
（第１の実施の形態）
まず、本発明の第１の実施の形態について、図１と図２を用いて説明する。
【００３１】
図１は、本発明の第１の実施の形態におけるロボット装置４００の構成を示す図である。また、図２は、本発明の第１の実施の形態における、位置決め装置の一例である回転ポジショナの回転面の回転中心点を求めるための方法を説明するための図である。
【００３２】
図１に示したように、ロボット装置４００は、マニピュレータ１０１と、このマニピュレータ１０１の制御を行うロボット制御装置３０１とを備える。
【００３３】
ロボット制御装置３０１は、マニピュレータ１０１を動作させることによって計測された計測点の位置情報を記憶する計測点記憶部３０２と、計測点記憶部３０２に記憶された位置情報にもとづいて動作プログラムの補正量を演算する補正量演算部３０３と、補正量演算部３０３が演算した補正量を記憶する補正量記憶部３０４と、マニピュレータ１０１の動作の制御を行う動作プログラムを有するとともに、マニピュレータ１０１の移動による位置情報の計測を行う動作制御部３０５とを備える。なお、動作制御部３０５は、マニピュレータ１０１の動作制御を行うとともに、回転ポジショナ１０２の回転制御も行う。
【００３４】
図２に示したように、マニピュレータ１０１は、ツール１０５をハンドやエンドエフェクタ等によって保持し、アーム１０７を動かすことによって、加工物の加工等を行うものである。
【００３５】
回転ポジショナ１０２は、回転面１０６を回動させることによって、マニピュレータ１０１によって加工される加工物の位置決めを行う位置決め装置である（図２において、Ｙ軸が回転面１０６の回転軸方向であり、回転面１０６はＸ−Ｚ平面方向に位置するものとする）。
【００３６】
本実施の形態において、マニピュレータ１０１は、回転ポジショナ１０２の回転面１０６の回転中心点１１３の位置を計測するためにも用いられる。
【００３７】
なお、図２において、マニピュレータ１０１のアーム１０７は実際には１つでよいが、マニピュレータ１０１を用いて回転中心点１１３の位置を計測するために必要な２つの姿勢（後述する）を説明するために、便宜上、アーム１０７の姿勢を２つ重畳して示している。
【００３８】
また、図２において、回転ポジショナ１０２の回転面１０６上の所定の位置に設けられたマーク１０８も実際には１つでよいが、回転面１０６を１８０度回転させる前と後の状態を分かりやすく示すため、便宜上重畳して示している。
【００３９】
以上のようなロボット装置４００において、回転ポジショナ１０２の回転面１０６の回転中心点１１３を算出するための動作について説明する。図３は、本発明の第１の実施の形態における、ロボット装置４００を用いて回転ポジショナ１０２の回転面１０６の回転中心点の位置を算出するステップを説明するためのフローチャートである。
【００４０】
図３に示したように、まず、計測対象である回転ポジショナ１０２の回転面１０６を任意の回転角度位置とし、マニピュレータ１０１に取り付けられたツール１０５の先端（端部）を、回転ポジショナ１０２の回転面１０６上の任意の位置（回転中心点付近は除く）に設けられたマーク１０８へと移動させる（Ｓ２）。このとき、ツール１０５の先端をマーク１０８に接触させれば、マーク１０８の位置情報のより正確な計測が可能となる。
【００４１】
このステップＳ２におけるマニピュレータ１０１の姿勢が、図２における第１の計測姿勢１０３であり、この状態では、マニピュレータ１０１に取り付けられたツール１０５の先端位置１１１がマーク１０８上にある。ロボット制御装置３０１の動作制御部３０５は、このときのマーク１０８の位置座標（第１の位置情報、具体的には、ツール１０５の先端位置１１１の位置座標）を計測して、計測点記憶部３０２に記憶させる（Ｓ４）。
【００４２】
ここで、マーク１０８の例としては、回転面１０６をけがいて印を付けたもの、ポンチを打って印を付けたもの、印を記載するもの等が挙げられる。
【００４３】
次に、計測対象である回転ポジショナ１０２の回転面１０６を１８０度回転させる（Ｓ６）。
【００４４】
そして、動作制御部３０５は、マニピュレータ１０１を動作させてツール１０５の先端を回転後のマーク１０８の位置へ再度移動させる（Ｓ８）。
【００４５】
このステップＳ８におけるマニピュレータ１０１の姿勢が、図２おける第２の計測姿勢１０４であり、この状態では、マニピュレータ１０１に取り付けられたツール１０５の先端位置１１２がマーク１０８上にある。ロボット制御装置３０１の動作制御部３０５は、このときのマーク１０８の位置座標（第２の位置情報、具体的には、ツール１０５の先端位置１１２の座標）を計測して、計測点記憶部３０２へ記憶させる（Ｓ１０）。
【００４６】
次に、ロボット制御装置３０１内の補正量演算部３０３は、回転中心点演算部として機能し、以下に示す回転面１０６の回転中心点１１３を算出するための演算を行う。
【００４７】
補正量演算部３０３は、計測点記憶部３０２に記憶されている、ステップＳ４で計測されたツール１０５の先端位置１１１の位置座標と、ステップＳ１０で計測されたツール１０５の先端位置１１２の位置座標とを結ぶ直線を二等分する点を、回転ポジショナ１０２の回転面１０６の回転中心点１１３として算出する（Ｓ１２）。そして、回転中心点１１３の位置情報を補正量記憶部３０４に記憶する。
【００４８】
以上のように、本実施の形態における回転中心点算出方法によれば、撮影手段等の別段の検出用装置を余分に設けることなく、回転ポジショナ１０２の回転面１０６の回転中心点１１３を計測することができる。
【００４９】
そして、図３の破線で囲った部分に示したように、ロボット装置４００の動作の補正を行う必要がある場合には、上記計測により求めた回転ポジショナ１０２の回転面１０６の回転中心点１１３と、ロボット制御装置３０１に予め与えられていた回転ポジショナ１０２の回転中心点とのずれ量を補正量演算部３０３で算出する（Ｓ１４）。次に、このずれ量を補正量記憶部３０４へ記憶させる（Ｓ１６）。これにより、動作制御部３０５は、補正量記憶部３０４に記憶されたずれ量を用いて、マニピュレータ１０１の動作の補正を行うことができる。このような補正を行うことで、ロボット装置４００のマニピュレータ１０１の動作精度を向上させることができる。
【００５０】
なお、ロボット制御装置３０１に予め与えられた回転ポジショナ１０２の回転中心点に関する情報の例としては、マニピュレータ１０１等を動作させるためにロボット制御装置３０１の動作制御部３０５に記憶された、制御プログラム内における回転ポジショナ１０２の回転中心点の位置情報等が挙げられる。
【００５１】
また、本実施の形態においては、マーク１０８を用いて回転面１０６の回転中心点の位置を算出する例について説明したが、マーク１０８を用いるのではなく、回転ポジショナ１０２の回転面１０６に取り付けられ、回転面１０６と一緒に回転する治具等の任意の点を計測対象として、回転面１０６の回転前後におけるこの点の座標を計測することで回転面１０６の回転中心点の座標を求めるようにしてもよい。
【００５２】
また、本実施の形態においては、マニピュレータ１０１のアーム１０７が一本であり、回転面１０６に設けられたマーク１０８が一つである例を示したが、本発明はこの例に限定されない。例えば、マニピュレータ１０１のアーム１０７が複数あり、異なるアーム１０７によって、回転面１０６の開店前後のマーク１０８の位置が計測されてもよいし、回転面１０６に設けられたマーク１０８を複数として、それぞれのマークの座標から回転中心点の座標を算出して、それらを用いることにより回転中心点の位置の計測精度を向上させることも可能である。
【００５３】
（第２の実施の形態）
次に、本発明の第２の実施の形態について、図１と図４とを用いて説明する。図４は、本発明の第２の実施の形態における、相対向して配置された回転面の回転中心点を結ぶ回転軸線を算出する方法を説明するための図である。
【００５４】
なお、本実施の形態において、第１の実施の形態と同様の構成要件については、同一の符号を付して詳細な説明を省略する。ロボット装置４０２は、第１の実施の形態におけるロボット装置４００と同様に、マニピュレータ１０１を制御するためのロボット制御装置３０１を備える。
【００５５】
本実施の形態のロボット装置４０２は、加工物を保持するための、対向する二つの回転面１０６，２０３それぞれの回転中心点１１３，２１６を算出することができるとともに、さらに各々の回転中心点１１３，２１６を結ぶ回転軸線２１７をも算出することができる。
【００５６】
図４において、マニピュレータ１０１は、回転ポジショナ１０２の回転面１０６の回転中心点を計測するために用いられる。回転ポジショナ１０２は、加工物を載置して、回動することにより位置決めする位置決め装置であり、マニピュレータ１０１によって回転面１０６の回転中心点１１３の計測が行われる。
【００５７】
また、回転面２０３は回転ポジショナ１０２の回転面１０６に対面する位置に回転自在に配置された面である。回転面１０６と回転面２０３とは、回転軸を共通にしている。回転面２０３は、回転ポジショナ１０２の回転面１０６の回動に伴って回動する。
【００５８】
回転面１０６および回転面２０３には、加工物等を載置するための枠体状の治具２１８が取り付けられている。治具２１８は、回転面１０６および回転面２０３に支持されており、回転ポジショナ１０２が回転することにより回動する。
【００５９】
以上のようなロボット装置４０２において、回転ポジショナ１０２の回転面１０６および回転面２０３の回転中心点１１３，２１６を求める動作、および、各々の回転中心点１１３，２１６を結ぶ回転軸線２１７を求める動作について説明する。図５は、本発明の第２の実施の形態における、回転ポジショナの回転面および回転面の回転中心点を求める動作、および、各々の回転中心点を結ぶ回転軸線を求める動作について説明するためのフローチャートである。
【００６０】
なお、計測を行う順番について本発明は限定するものではないが、本実施の形態においては、まず回転ポジショナ１０２の回転面１０６の回転中心点１１３の計測を行い、次に回転ポジショナ１０２の回転面１０６に対向する回転面２０３の回転中心点２１６の計測を行う場合を例として説明する。
【００６１】
まず、回転ポジショナ１０２の回転面１０６の回転中心点１１３の計測を行う例について説明する。
【００６２】
図５に示したように、まず、回転中心点１１３の計測は、第１の実施の形態において説明したのと同様に、計測対象である回転ポジショナ１０２の回転面１０６を任意の回転角度位置とし、マニピュレータ１０１を動作させてツール１０５の先端（端部）を、回転ポジショナ１０２の回転面１０６と一緒に回転する治具２１８の回転面１０６の面上の所定の位置（ここでは、治具２１８の角の点（第１の計測点と記す、図４を参照））へと移動させる（Ｓ２０）。
【００６３】
このとき、ツール１０５の先端を、第１の計測点２１１と接触させることにより、より正確に位置座標を測定することができる。
【００６４】
動作制御部３０５は、このときのマニピュレータ１０１に取り付けられたツール１０５の先端位置の座標を計測して、ロボット制御装置３０１内の計測点記憶部３０２に第１の位置情報として記憶させる（Ｓ２２）。
【００６５】
次に、計測対象の回転ポジショナ１０２の回転面１０６を１８０度回転させる（Ｓ２４）。
【００６６】
そして、動作制御部３０５は、ツール１０５の先端を、回転後の第１の計測点２１２へと再度移動させ（Ｓ２６）、この時のマニピュレータ１０１に取り付けられたツール１０５の先端位置を計測して、第２の位置情報として計測点記憶部３０２へ記憶させる（Ｓ２８）。
【００６７】
なお、図４において、実際に回転ポジショナ１０２の回転面１０６を１８０度回転させると治具２１８の状態は図４に示す状態とは異なるものとなるが、ここでは説明を簡単にするために、便宜上、１８０度回転させる前の状態（ステップＳ２２の状態）を示している。
【００６８】
次に、回転ポジショナ１０２の回転面１０６に対向する位置にある回転面２０３側の回転中心点２１６の計測を行う場合について説明する。
【００６９】
この計測についても、まず、回転ポジショナ１０２側の回転中心点１１３の計測と同様に、計測対象の回転ポジショナ１０２の回転面１０６を任意の回転角度位置とする（Ｓ３２）。この任意の回転角度位置は、ステップＳ２２およびステップＳ２８において第１の計測点２１１，２１２を計測した際の角度と必ずしも同一である必要はない。
【００７０】
そして、マニピュレータ１０１を回転面２０３と一緒に回転する治具２１８の回転面２０３の面上の角点（この点を、第２の計測点２１４と記す）へと移動させる（Ｓ３４）。
【００７１】
このときのマニピュレータ２０１に取り付けられたツール１０５の先端位置を動作制御部３０５は計測し（Ｓ３６）、第３の位置情報として計測点記憶部３０２へ記憶する。
【００７２】
次に、回転ポジショナ１０２の回転面１０６を回転させることにより、対向する回転面２０３を１８０度回転させる（Ｓ３８）。
【００７３】
そして、ツール１０５の先端を回転面２０３の回転後の第２の計測点２１５へと再度移動させる（Ｓ４０）。そして、動作制御部３０５は、このときのツール１０５の先端位置を計測し（Ｓ４２）、第４の位置情報として計測点記憶部３０２に記憶する。
【００７４】
ここで、ロボット制御装置３０１内の補正量演算部３０３は、以下に示すように、回転面１０６の回転中心点１１３および回転面２０３の回転中心点２１６を算出するための演算を行う。
【００７５】
まず、補正量演算部３０３は、計測点記憶部３０２に記憶されている、ステップＳ２２で計測されたツール１０５の先端位置の位置座標（第１の位置情報、第１の計測点２１１の位置座標）と、ステップＳ２８で計測されたツール１０５の先端位置の位置座標（第２の位置情報、第１の計測点２１２の位置座標）とを結ぶ直線を二等分する点を、回転ポジショナ１０２の回転面１０６の回転中心点１１３として算出する。そして、回転中心点１１３の位置情報を補正量記憶部３０４に記憶する。
【００７６】
次に、補正量演算部３０３は、計測点記憶部３０２に記憶されている、ステップＳ３６で計測されたツール１０５の先端位置の位置座標（第３の位置情報、第２の計測点２１４の位置座標）と、ステップＳ４２で計測されたツール１０５の先端位置の位置座標（第４の位置情報、第２の計測点２１５の位置座標）とを結ぶ直線を二等分する点を、回転面２０３の回転中心点２１６として算出する。そして、回転中心点２１６の位置情報を補正量記憶部３０４に記憶する（Ｓ４４）。
【００７７】
次に、補正量演算部３０３は、回転軸線演算部として機能し、ステップＳ４４で算出した、回転ポジショナ１０２の回転面１０６の回転中心点１１３と、回転面２０３の回転中心点２１６とを結ぶ直線、すなわち回転ポジショナ１０２の回転軸線２１７を算出する（Ｓ４６）。補正量演算部３０３で計算された回転軸線２１７の座標を示す情報は、補正量記憶部３０４に記憶される。
【００７８】
以上述べたように、本実施の形態におけるロボット装置４０２によれば、回転面１０６と回転面２０３とが互いに対向するように配置された位置決め装置において、回転面１０６，２０３それぞれの回転中心点１１３，２１６を算出して、回転中心点１１３，２１６を結ぶ直線を回転軸線２１７とすることにより、従来の方法よりも簡単に精度良く回転軸線を算出することができる。
【００７９】
なお、本実施の形態においては、第１の計測点２１１，２１２および第２の計測点２１４，２１５それぞれを、回転面１０６および回転面２０３の面上に位置する角点であるものとして説明を行ったが、本発明はこの例に限定されない。治具２１８上の互いに異なる任意の２点を第１の計測点および第２の計測点とすることで、回転面の回転中心点を算出することはできないものの、回転軸線を算出することは可能である。
【００８０】
なお、ロボット装置４０２のマニピュレータ１０１の動作の補正を行う必要がある場合には、図５の破線部分に示したように、計測により求めた回転ポジショナ１０２の回転面１０６の回転中心点１１３と、ロボット制御装置３０１に予め与えられていた回転ポジショナ１０２の回転中心点とのずれ量を補正量演算部３０３で計算し（Ｓ４８）、このずれ量を補正量記憶部３０４へ記憶させる（Ｓ５０）。また、計測により求めた回転面２０３の回転中心点２１６と、ロボット制御装置３０１に予め与えられていた回転面２０３の回転中心点とのずれ量を補正量演算部３０３で計算し（Ｓ４８）、このずれ量を補正量記憶部３０４へ記憶させる（Ｓ５０）。そして、これらの補正量記憶部３０４に記憶させた情報（補正量）をロボット装置４０２のマニピュレータ１０１の動作の補正に用いるようにしてもよい。このような補正を行うことにより、ロボット装置４０２の制御の精度を向上させることができる。
【００８１】
また、本実施の形態においては、回転面１０６，２０３に取り付けた治具２１８の角点の座標を計測することで、回転面１０６，２０３それぞれの回転中心点１１３，２１６や回転軸線２１７を求める例について説明したが、本発明はこの例に限定されない。第１の実施の形態と同様に、回転面１０６および回転面２０３上にマークを設けて、このマークの位置座標を計測して、各回転面の回転中心点を求めるようにしてもよい。
【００８２】
（第３の実施の形態）
次に、本発明の第３の実施の形態について、図６を用いて説明する。図６は、本発明の第３の実施の形態におけるロボット装置４０４の構成を示す図である。なお、本実施の形態においても、第１の実施の形態や第２の実施の形態と同様の構成要件については同一の符号を付して詳細な説明を省略する。
【００８３】
本実施の形態におけるロボット装置４０４が、第１の実施の形態におけるロボット装置４００や第２の実施の形態におけるロボット装置４０２と異なる点は、第１の実施の形態や第２の実施の形態において説明した方法によって算出した補正量にもとづいて、シミュレーション機能を用いてロボットの動作プログラムを補正するようにした点である。
【００８４】
図６に示したように、ロボット装置４０４は、マニピュレータ１０１、ロボット制御装置３０１、および、シミュレーションを行って、ロボット制御装置３０１で使用する動作プログラムを作成するシミュレーション装置３１１を備える。
【００８５】
ロボット制御装置３０１は、第１の実施の形態および第２の実施の形態で説明した、計測点記憶部３０２、補正量演算部３０３、補正量記憶部３０４および動作制御部３０５に加えて、シミュレーション装置３１１で作成された動作プログラムを記憶するための動作プログラム記憶部３１８を備えている。
【００８６】
動作制御部３０５は、動作プログラム記憶部３１８に記憶された動作プログラムを実行することにより、マニピュレータ１０１の動作を制御する。
【００８７】
シミュレーション装置３１１は、ロボット制御装置３０１とは別に設けられ、ロボット制御装置３０１から補正量を取り込む補正量取り込み部３１２と、補正量取り込み部３１２で取り込んだ補正量を記憶する補正量記憶部３１５と、補正量記憶部３１５に記憶された補正量にもとづいて、マニピュレータ１０１および回転ポジショナ１０２の少なくともいずれかを動作させるためのシミュレーション演算およびオフライン教示の少なくともいずれかを行うシミュレーション演算部３１６と、シミュレーション演算部３１６における演算の結果、作成された動作プログラムを記憶する動作プログラム記憶部３１７とを備える。
【００８８】
シミュレーション装置３１１は、補正量取り込み部３１２を介してロボット制御装置３０１の補正量記憶部３０４に記憶されている補正量を示す情報（補正情報）を取り込み、補正量記憶部３１５に記憶する。補正量記憶部３１５に記憶されている補正情報は、ロボット動作のシミュレーションおよびオフライン教示の少なくともいずれかを行うシミュレーション演算部３１６に取り込まれる。
【００８９】
本実施の形態においては、シミュレーション演算部３１６において、シミュレーション演算を行う際に、取り込んだ補正情報を用いることにより、例えば、シミュレーション装置３１１内において三次元座標上に表現されている回転ポジショナの配置や傾きを補正することが可能となり、仮想現実世界の回転ポジショナの配置位置と、実際に配置された回転ポジショナの配置位置との間で、傾きや位置のずれを少なくすることができる。よって、本実施の形態によれば、精度の高いシミュレーション演算やオフライン教示を行うことが可能となる。
【００９０】
そして、ロボット装置４０４のシミュレーション装置３１１では、このような精度の高いシミュレーション演算やオフライン教示を行った結果、作成された動作プログラムを動作プログラム記憶部３１７に記憶する。ここで、補正する前の制御プログラムは、ロボット制御装置３０１からシミュレーション装置３１１に送信され、その動作プログラムをシミュレーション装置３１１で補正するようにしてもよいし、ロボット制御装置３０１から送信するのではなく、あらかじめシミュレーション装置３１１に動作プログラムを記憶させておき、その動作プログラムをシミュレーション装置３１１が補正することも可能である。
【００９１】
ロボット制御装置３０１は、シミュレーション装置３１１の動作プログラム記憶部３１７に記憶されたロボット装置４０４の制御プログラムをロボット制御装置３０１内の動作プログラム記憶部３１８内に取り込む。そして、ロボット装置３０１内の動作制御部３０５は、動作プログラム記憶部３１８に記憶されている制御プログラムを読み出して実行することでマニピュレータ１０１および回転ポジショナ１０２の少なくともいずれかの動作を制御する。
【００９２】
このように、本実施の形態によれば、精度の高いシミュレーション演算やオフライン教示を行った動作プログラムにもとづいて、実際に配置されたマニピュレータ１０１や回転ポジショナ１０２を動作させることができるので、動作精度をより向上させることができる。
【００９３】
（第４の実施の形態）
次に、本発明の第４の実施の形態について、図７を用いて説明する。図７は、本発明の第４の実施の形態におけるロボット装置４０６の構成を示す図である。なお、図７において、第３の実施の形態のロボット装置４０４と同様の構成要件については同一の符号を付して詳細な説明を省略する。
【００９４】
本実施の形態のロボット装置４０６が、第３の実施の形態のロボット装置４０４と異なるのは、ロボット制御装置３０１で補正量を算出するのではなく、シミュレーション装置３１１で補正量を算出するようにした点である。
【００９５】
図７に示したように、ロボット装置４０６は、マニピュレータ１０１、ロボット制御装置３０１およびシミュレーション装置３１１を備える。
【００９６】
ロボット制御装置３０１は、計測点記憶部３０２、動作制御部３０５および動作プログラム記憶部３１８を備えている。
【００９７】
シミュレーション装置３１１は、ロボット制御装置３０１で計測された計測点についての情報（具体的には、マーク１０８、第１の計測点２１１および第２の計測点２１４等の座標の計測結果）を取り込む計測点取り込み部３１３と、計測点取り込み部３１３で取り込まれた計測点の情報を用いて、回転面の回転中心点や回転軸線等を算出する補正量演算部３１４と、補正量演算部３１４での演算結果を記憶する補正量記憶部３１５と、補正量記憶部３１５に記憶された情報にもとづいて、マニピュレータ１０１および回転ポジショナ１０２の少なくともいずれかを動作させるためのシミュレーション演算およびオフライン教示の少なくともいずれかを実行するシミュレーション演算部３１６と、シミュレーション演算部３１６で演算された結果作成された動作プログラムを記憶する動作プログラム記憶部３１７とを備える。
【００９８】
シミュレーション装置３１１は、計測点取り込み部３１３を介してロボット制御装置３０１内の計測点記憶部３０２から計測点についての情報を取得する。そして、補正量演算部３１４で補正情報を演算し、演算した補正情報を補正量記憶部３１５に記憶する。
【００９９】
シミュレーション演算部３１６においては、補正情報を用いてシミュレーションやオフライン教示を行って、マニピュレータ１０１および回転ポジショナ１０２の少なくともいずれかの制御プログラムを動作プログラム記憶部３１７に記憶し、この動作プログラム記憶部３１７に記憶された動作プログラムをロボット制御装置３０１に取り込んでマニピュレータ１０１等を制御する。
【０１００】
このように、本実施の形態によれば、ロボット制御装置３０１が補正量を演算する機能を有さない場合でも、シミュレーション装置３１１に補正量を演算する機能を持たせることで、精度の高いシミュレーションやオフライン教示を行った動作プログラムに基づいて実際に配置されたマニピュレータ１０１や回転ポジショナ１０２を動作させることができるので、動作精度を向上させることができる。
【０１０１】
（第５の実施の形態）
本発明の第５の実施の形態について、図８を用いて説明する。図８は、本発明の第５の実施の形態におけるロボット装置４０８の構成を示す図である。
【０１０２】
なお、図８においても、第３の実施の形態および第４の実施の形態と同様の構成要件については同一の符号を付して詳細な説明を省略する。
【０１０３】
本実施の形態のロボット装置４０８が、第３の実施の形態のロボット装置４０４と異なるのは、シミュレーション装置３１１を有さず、ロボット制御装置３０１内にシミュレーション演算部３１６を備え、ロボット制御装置３０１内で補正情報を用いたシミュレーションや教示を行ってマニピュレータ１０１および回転ポジショナ１０２の少なくともいずれかを制御するようにした点である。
【０１０４】
ロボット制御装置３０１において、計測点記憶部３０２に記憶されている情報にもとづいて補正量演算部３０３で補正情報を演算し、補正量記憶部３０４に記憶する点は第３の実施の形態と同様である。
【０１０５】
動作制御部３０５は、シミュレーション演算部３１６を有する。シミュレーション演算部３１６は、例えば三次元座標上に表現されている仮想現実世界の回転ポジショナの配置や傾きを補正情報で補正することが可能である。ロボット装置４０８によれば、仮想現実世界の回転ポジショナと、実際に配置された回転ポジショナとの配置位置や傾きのずれの少ない、精度の高いシミュレーションやオフライン教示を行うことが可能となる。
【０１０６】
以上のように、本実施の形態によれば、ロボット制御装置３０１内にシミュレーション機能を持たせることができるので、ロボット制御装置３０１とは別にシミュレーション装置３１１を設けることなく、精度の高いシミュレーションやオフライン教示を行うことが可能となり、高い精度でマニピュレータ１０１等を動作させることが可能となる。
【産業上の利用可能性】
【０１０７】
以上述べたように、本発明によれば、撮影装置のような外部機器を設けることなく、回転体の回転中心点や二つの回転体の回転中心点を結ぶ回転軸線等を算出することができるという格別な効果を奏することができるので、マニピュレータを用いて、回転体の回転中心点、および、二つの回転体の回転中心点を結ぶ回転軸線の少なくともいずれかを算出する方法等として有用である。
【図面の簡単な説明】
【０１０８】
【図１】本発明の第１の実施の形態におけるロボット装置の構成を示す図
【図２】本発明の第１の実施の形態における、位置決め装置の一例である回転ポジショナの回転面の回転中心点を求めるための方法を説明するための図
【図３】本発明の第１の実施の形態における、ロボット装置を用いて回転ポジショナの回転面の回転中心点を算出するステップを説明するためのフローチャート
【図４】本発明の第２の実施の形態における、相対向して配置された回転面の回転中心点を結ぶ回転軸線を算出する方法を説明するための図
【図５】本発明の第２の実施の形態における、回転ポジショナの回転面および回転面の回転中心点を求める動作、および、各々の回転中心点を結ぶ回転軸線を求める動作について説明するためのフローチャート
【図６】本発明の第３の実施の形態におけるロボット装置の構成を示す図
【図７】本発明の第４の実施の形態におけるロボット装置の構成を示す図
【図８】本発明の第５の実施の形態におけるロボット装置の構成を示す図
【符号の説明】
【０１０９】
１０１    マニピュレータ
１０２    回転ポジショナ
１０３    第１の計測姿勢
１０４    第２の計測姿勢
１０５    ツール
１０６    （第１の）回転面
１０７    アーム
１０８    マーク
１１１，１１２    （ツールの）先端位置
１１３，２１６    回転中心点
２０３    （第２の）回転面
２１１，２１２    第１の計測点
２１４，２１５    第２の計測点
２１７    回転軸線
２１８    治具
３０１    ロボット制御装置
３０２    計測点記憶部
３０３，３１４    補正量演算部
３０４，３１５    補正量記憶部
３０５    動作制御部
３１１    シミュレーション装置
３１２    補正量取り込み部
３１３    計測点取り込み部
３１６    シミュレーション演算部
４００，４０２，４０４，４０６，４０８    ロボット装置
【図１】
0004613955.tif 000002
【図２】
0004613955.tif 000003
【図３】
0004613955.tif 000004
【図４】
0004613955.tif 000005
【図５】
0004613955.tif 000006
【図６】
0004613955.tif 000007
【図７】
0004613955.tif 000008
【図８】
0004613955.tif 000009