(57)【要約】【課題】ロボットシステムの利便性を向上する。【解決手段】作業ロボット５と、作業ロボット５が作業を行なうための作業テーブル７と、作業テーブル７内に複数設けられた作業ロボット５の作業対象となる複数の作業対象機器８毎に対して１つ又は所定の間隔で複数設けられた作業原点を記憶する作業原点記憶部２６と、作業原点に対する相対位置情報を含んだ作業ロボット５のジョブを記憶するジョブ記憶部２２と、カメラ４１の撮像画像に基いて複数の作業原点のそれぞれについて計測位置を取得する計測位置取得部２５と、計測位置に基づいて作業原点記憶部２６に記憶している作業原点の位置情報を補正する補正部２４と、を有している。【選択図】図３
2018134695.tif 000002
【特許請求の範囲】
【請求項１】
ロボットと、
前記ロボットが作業を行なうためのロボット作業環境と、
前記ロボットを制御するロボットコントローラと、
前記ロボット作業環境内に複数設けられた計測用ロボット姿勢におけるロボットコントローラ上の位置情報を記憶する計測用姿勢記憶部と、
センサの検出結果に基いて複数の前記計測用ロボット姿勢のそれぞれについて計測位置を取得する計測位置取得部と、
前記計測位置に基づいて前記ロボットの動作位置を補正する補正部と、
を有していることを特徴とするロボットシステム。
【請求項２】
前記計測用姿勢記憶部は、前記ロボット作業環境内に複数設けられた前記計測用ロボット姿勢を作業原点として記憶するユーザーフレーム記憶部を有し、
前記補正部は前記計測位置に基づいて前記ユーザーフレーム記憶部に記憶している前記作業原点の位置情報を補正する
ことを特徴とする請求項１記載のロボットシステム。
【請求項３】
前記作業原点に対する相対位置情報を含んだロボットの動作指令プログラムを記憶する動作プログラム記憶部と、
をさらに有することを特徴とする請求項２記載のロボットシステム。
【請求項４】
前記動作指令プログラムに含まれる前記相対位置情報は、前記作業原点の周囲の所定範囲内に設定されていることを特徴とする請求項３記載のロボットシステム。
【請求項５】
前記補正部は、複数の前記作業原点それぞれを基準とした複数の補正座標を設定し、
前記動作指令プログラムに含まれる前記相対位置情報は前記補正座標に適用することを特徴とする請求項３又は４記載のロボットシステム。
【請求項６】
前記ロボットは、多関節型ロボットであり、
前記補正座標は、剪断線型変換と平行移動を組み合わせた変換で設定されることを特徴とする請求項５記載のロボットシステム。
【請求項７】
前記補正座標は、１つの作業原点と、当該作業原点の周囲の２つの基準点のそれぞれに対して前記計測位置取得部が取得した計測位置に基づく変換で設定されることを特徴とする請求項６記載のロボットシステム。
【請求項８】
前記センサは、前記ロボットにより移送可能に設置されたカメラであり、
前記計測位置取得部は、前記カメラの撮像画像に基づく画像認識により計測位置を取得することを特徴とする請求項２乃至７のいずれか１項に記載のロボットシステム。
【請求項９】
前記ロボット作業環境内に設けられた前記ロボットの作業対象となる複数の作業対象機器と、
をさらに有し、
前記作業原点は、前記作業対象機器毎に対して１つ又は所定の間隔で複数設けられていることを特徴とする請求項２乃至８のいずれか１項に記載のロボットシステム。
【請求項１０】
前記作業対象機器は、ピペットを備えており、
前記ロボットは、前記ピペットを用いた分注作業を行うことを特徴とする請求項９記載のロボットシステム。
【請求項１１】
前記作業対象機器は、チューブを嵌入可能なチューブラックを備えており、
前記作業原点は、前記チューブラックにおける前記チューブの嵌入穴の中心位置に設定されることを特徴とする請求項９又は１０記載のロボットシステム。
【請求項１２】
ロボットが作業を行なうためのロボット作業環境内に複数設けられた作業原点を記憶するユーザーフレーム記憶部と、
センサの検出結果に基いて複数の前記作業原点のそれぞれについて計測位置を取得する計測位置取得部と、
前記計測位置に基いて前記ユーザーフレーム記憶部に記憶している前記作業原点の位置情報を補正する補正部と、
を有していることを特徴とするロボット制御装置。
【請求項１３】
ロボットが作業を行うためのロボット作業環境内に複数設けられた計測用ロボット姿勢におけるロボットコントローラ上の位置情報を記憶することと、
センサの検出結果に基いて複数の前記計測用ロボット姿勢のそれぞれについて計測位置を取得することと、
前記計測位置に基づいて、記憶している前記計測用ロボット姿勢におけるロボットコントローラ上の位置情報を補正することと、
を実行することを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシステム、ロボット制御装置、及びロボット制御方法に関する。
【背景技術】
【０００２】
特許文献１には、１つのマーカーの計測位置に基づいてロボット座標系全体とセンサ座標系全体との間の補正を行う手法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４０１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、センサを用いた補正を行った場合でもロボットが異なる姿勢を取った場合やロボット個体毎の誤差などの影響で誤差は解消できず、特に精度が求められる動作をロボットによって行なう際には熟練した技術者の技量に依存したティーチング作業が必須となっていた。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、利便性を向上できるロボットシステム、ロボット制御装置、及びロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、ロボットと、前記ロボットが作業を行なうためのロボット作業環境と、前記ロボットを制御するロボットコントローラと、前記ロボット作業環境内に複数設けられた計測用ロボット姿勢におけるロボットコントローラ上の位置情報を記憶する計測用姿勢記憶部と、センサの検出結果に基いて複数の前記計測用ロボット姿勢のそれぞれについて計測位置を取得する計測位置取得部と、前記計測位置に基づいて前記ロボットの動作位置を補正する補正部と、を有しているロボットシステムが適用される。
【０００７】
また、本発明の一の観点によれば、ロボットが作業を行なうためのロボット作業環境内に複数設けられた作業原点を記憶するユーザーフレーム記憶部と、センサの検出結果に基いて複数の前記作業原点のそれぞれについて計測位置を取得する計測位置取得部と、前記計測位置に基いて前記ユーザーフレーム記憶部に記憶している前記作業原点の位置情報を補正する補正部と、を有しているロボット制御装置が適用される。
【０００８】
また、本発明の一の観点によれば、ロボットが作業を行うためのロボット作業環境内に複数設けられた計測用ロボット姿勢におけるロボットコントローラ上の位置情報を記憶することと、センサの検出結果に基いて複数の前記計測用ロボット姿勢のそれぞれについて計測位置を取得することと、前記計測位置に基づいて、記憶している前記計測用ロボット姿勢におけるロボットコントローラ上の位置情報を補正することと、を実行するロボット制御方法が適用される。
【発明の効果】
【０００９】
本発明によれば、ロボットシステムの利便性を向上できる。
【図面の簡単な説明】
【００１０】
【図１】実施形態のロボットシステムの概略的なシステムブロック構成の一例を表す図である。
【図２】ロボットセルが備える作業テーブルと作業ロボットの配置関係の一例を上方から平面視した図である。
【図３】図２における各作業原点の計測位置と対応するローカル座標の一例を示す図である。
【図４】カメラでの撮像により作業原点を実測する際の外観状態の一例を斜視で表す図である。
【図５】作業原点の設計位置でカメラが撮像した撮像画像の一例を表す図である。
【図６】ローカル座標自体の座標歪みを補正する手法について説明する図である。
【図７】補正座標の有効範囲の一例を表す図である。
【図８】ロボットコントローラのハードウェア構成を表すシステムブロック図である。
【発明を実施するための形態】
【００１１】
以下、第１の実施形態について図面を参照しつつ説明する。
【００１２】
＜ロボットシステムの概略構成＞
図１は、本実施形態のロボットシステムの概略的なシステムブロック構成の一例を表している。図１においてロボットシステム１は、ロボットコントローラ２と、ロボット駆動制御装置３と、ロボットセル４とを有している。なお、本実施形態の例では、バイオメディカル分野の実験作業を行うロボットセル４を制御する場合を示しているが、他の工業部品の組み立て作業等を行うロボットセルを制御する場合に適用してもよい。
【００１３】
ロボットコントローラ２は、所定の実験作業シーケンスに従って、各作業手順を実現するための後述の作業ロボット５の動作を指示する補正位置指令をロボット駆動制御装置３に出力する。このロボットコントローラ２は、作業計画部２１、ジョブ記憶部２２、軌道計画部２３、補正部２４、計測位置取得部２５、作業原点記憶部２６とを有している。
【００１４】
作業計画部２１は、上記実験作業シーケンスを構成する多数の作業手順を時系列順に実行するよう、次に作業ロボット５に行わせるジョブ（具体的な動作内容などを規定する数値制御の動作指令プログラム）をジョブ記憶部２２（動作プログラム記憶部）から取得し、そのジョブに基づいて生成した作業指令を軌道計画部２３に出力する。この作業指令の内容として具体的には、作業ロボット５を基準に設定された作業空間座標ＸＹＺ中において次にエンドエフェクタ６の基準位置が移動すべき先の終点位置や、当該終点位置での当該エンドエフェクタ６の終点姿勢を表す指令である。また作業計画部２１は、エンドエフェクタ６に対する動作指令も出力しているが、図中では省略している。
【００１５】
軌道計画部２３は、上記作業計画部２１から入力された作業指令に基づいて、作業ロボット５が後述する作業対象機器等に干渉接触しないようにエンドエフェクタ６を終点位置まで移動させ、終点姿勢に姿勢制御するための適切な経由点の位置指令と経由姿勢の姿勢指令を補正部２４に出力する。
【００１６】
補正部２４は、作業原点記憶部２６が記憶している複数の作業原点の座標位置（後述の設計位置）と、それら複数の作業原点のそれぞれに対応して計測位置取得部２５が取得した計測位置に基づいて、上記軌道計画部２３から入力された位置指令と姿勢指令をそれぞれ補正して補正位置指令と補正姿勢指令を出力する。なお、作業原点記憶部２６が、各請求項記載のユーザーフレーム記憶部に相当する。
【００１７】
なお、上述した作業計画部２１、ジョブ記憶部２２、軌道計画部２３、補正部２４、計測位置取得部２５、作業原点記憶部２６等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、ロボットコントローラ３は、後述するＣＰＵ９０１（図８参照）が実行するプログラムによりソフトウェア的に実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等の実際の装置によりハードウェア的に実装されてもよい。
【００１８】
ロボット駆動制御部３は、ロボットコントローラ２から入力された補正位置指令、補正姿勢指令に基づいて、作業ロボット５を駆動制御する駆動電力を出力する。このロボット駆動制御部３は、逆キネマティクス演算部３１と、サーボアンプ３２とを有している。
【００１９】
逆キネマティクス演算部３１は、その時点のエンドエフェクタ６の位置、姿勢から上記ロボットコントローラ２の補正部２４より入力された補正位置指令の位置への移動と補正姿勢指令の姿勢制御を実現するために必要となる作業ロボット５の各駆動軸モータ（図示省略）の目標回転角度を演算し、対応する駆動指令を出力する。
【００２０】
サーボアンプ３２は、上記逆キネマティクス演算部３１から入力された駆動指令に基づいて、作業ロボット５の各駆動軸モータ（図示省略）やエンドエフェクタ６を駆動制御する駆動電力の給電制御を行う。
【００２１】
ロボットセル４は、実際に実験作業を行う機械装置であり、作業ロボット５と作業テーブル７とを有している。
【００２２】
作業ロボット５は、図示する本実施形態の例では６つの関節軸を直列配置で備えたマニプレータアーム（６軸の多関節型ロボット）である。そのアーム先端部５ａには、この例の把持動作を行うグリッパ型のエンドエフェクタ６が装着されており、当該作業ロボット５を基準に設定された作業空間座標ＸＹＺ中におけるエンドエフェクタ６の位置制御及び姿勢制御が可能となっている。
【００２３】
作業テーブル７は、上記作業ロボットの周囲近傍に配置された作業台であり、その上面には上記作業ロボット５の作業対象となる作業対象機器８が所定の配置で複数設置されている。これら複数の作業対象機器８は、例えば試験管やピペット等の実験器具を保持収納する収納器であったり、それら実験器具に対して加熱、加振などの操作を行う装置等であり、いずれも作業ロボット５のエンドエフェクタ６が任意の姿勢で位置させることが可能な作業可能範囲内に配置されている。なお、この作業テーブル７が、各請求項記載のロボット作業環境に相当する。
【００２４】
＜本実施形態の特徴＞
近年では、上述したようなバイオメディカル分野の実験機器などの作業機器一式等を所定の配置で設置したロボット作業環境と、その作業機器を利用した作業動作を行う作業ロボット５とを一体に構成させたロボットセル４が開発されている。そして特に上記分野のような実験作業に用いられるロボットセル４においては、例えば特定の追試実験作業などを高い再現性で繰り返し行うためにも、ロボット作業環境に対する作業ロボット５の位置決め動作などにおいて非常に高いレベルの制御精度が要求される。
【００２５】
しかし、このようなロボットセル４の全体を細部まで完全に同一の設計で複数台製造しても、それらロボットセル４の個体間には各構成部品の製造誤差、作業ロボット５自体や各作業機器の設置誤差も含めたロボットセル４全体の組立誤差、及び周囲温度などの使用環境の違いにより生じる位置誤差などといった微細な機械的誤差（器差）が不可避的に生じてしてしまう。このため同一の設計にあるロボットセル４どうしの間で同じ作業動作を規定する同一の動作制御プログラム（数値制御プログラム；ジョブ）をそのまま実行させても、上記実験作業などに要求される高い制御精度レベルで作業動作を一致させることが困難となっていた。したがって、これまでにはロボットセル４の個体ごとに熟練した技術者の技量に依存したティーチング作業による修正が必要であり、ロボットセル４の利便性を低下させる要因となっていた。
【００２６】
これに対し本実施形態のロボットシステム１においては、ロボット作業環境内に複数設けられた作業原点を記憶する作業原点記憶部２６と、後述するカメラの検出結果に基いて複数の作業原点のそれぞれについて計測位置を取得する計測位置取得部２５と、計測位置に基づいて作業原点記憶部２６に記憶している作業原点の位置情報を補正する補正部２４と、を有している。このようにロボット作業環境内において複数の作業原点を設定し、それら複数の作業原点毎に計測位置に基づいた位置補正することにより、少なくともそれぞれ位置補正された各作業原点どうしの間に渡って行われる相対的な作業動作については上記実験作業に要求されるような高いレベルでの制御精度を確保できる。以下、この補正部２４における補正手法の詳細について順に説明する。
【００２７】
＜各作業原点の位置補正について＞
図２、図３は、上記ロボットセル４が備える作業テーブル７と作業ロボット５を上方から平面視した図を表している。なお、作業ロボット５については、図示の煩雑を避けるために円形形状で簡略的に図示している。まず図２において、作業テーブル７の基台７ａ上には、それぞれ個別に製造された複数（図示する例では６つ）の作業対象機器８ａ〜８ｆ（以下、まとめて総称する場合には作業対象機器８と略記する）が所定の配置で設置されている。そして、上述したように、作業ロボット５自体の機械的な位置と姿勢を基準に作業空間座標ＸＹＺが仮想的に設定されており、作業ロボット５はこの作業空間座標ＸＹＺに準拠した位置指令と姿勢指令に基づいて動作する。そして、基台７ａ及び各作業対象機器８は、それぞれ作業空間座標ＸＹＺ中における所定の位置、姿勢で配置されるよう設計、製造されている。
【００２８】
ここで、例えば作業ロボット５がある一つの収納器に収納されている試験管を取り出して他の加熱器にセットするといった作業対象機器８間の移送作業を行う場合、その取り出し位置とセット位置の間の相対的な位置関係が重要となる。しかし、ロボットセル４の全体が細部まで設計に従って製造されているとしても、上述したような各種の機械的誤差（器差）や偶発的誤差の積み重ねに起因して異なる作業対象機器８の間の相対的な位置関係にも微細な誤差が不可避的に生じてしまう。
【００２９】
そこで本実施形態では、あらかじめ各作業対象機器８毎に作業空間座標ＸＹＺ中での設計位置に従った作業原点を設定し、これら各作業原点の設計位置を作業原点記憶部２６に記憶しておく（図２中の黒点参照）。一方、計測位置取得部２５が、後述するカメラ撮像を介した画像認識などにより作業空間座標ＸＹＺ中で実測した各作業原点の計測位置を取得する。そして作業原点記憶部２６が記憶する各作業原点の設計位置（図３中の白点参照）と、それぞれ対応する計測位置（図３中の黒点参照）とを照合することにより、作業原点毎での位置補正を行う。これにより、少なくともそれぞれ位置補正された各作業原点どうしの間に渡って行われる相対的な作業動作については上記実験作業に要求されるような高いレベルでの制御精度を確保できる。
【００３０】
また、例えば１つの収納器内において試験管の収納位置を移し替えるといった１つの作業対象機器８内において行われる作業については、少なくとも当該作業対象機器８内における各部間の寸法誤差は無視できるほど小さいと仮定し、対応する作業原点を基準として新たに個別に設定したローカル座標ＣＬ内で作業を行うようにする。具体的には、上記ジョブ記憶部２２に記憶するジョブ（すなわち上記作業計画部２１が実行する数値制御の動作指令プログラム）が、各作業原点におけるローカル座標ＣＬ上での設計位置（すなわち各作業原点に対する相対位置情報）を含んで記述される。これにより、同一の作業原点をローカル原点とした相対位置情報で作業ロボット５のジョブを規定することができ、他の作業原点間の誤差による影響を排除して同一の作業対象機器８内における高い制御精度を確保できる。なお、単体で所定以上の大きさにある作業対象機器８ｄの場合には、当該作業対象機器８ｄに対して所定以上の距離で離間する複数の作業原点を設定し、それぞれにローカル座標ＣＬを設定してもよい。この理由については後に詳述する。
【００３１】
以上のようにして、本実施形態では、１点の基準点に基づいて作業空間座標ＸＹＺ全体を補正するのではなく、各作業原点毎に対応したローカル座標ＣＬを作業空間座標ＸＹＺ中に個別に設定する。これにより、少なくともそれぞれ位置補正された各ローカル座標ＣＬどうしの間に渡って行われる相対的な作業動作、つまり作業対象機器８どうしの間に渡って行われる相対的な作業動作については、上記実験作業に要求されるような高いレベルでの制御精度を確保できる。
【００３２】
＜作業原点の実測について＞
図４は、カメラでの撮像により作業原点を実測する際の外観状態の一例を斜視で表している。上述したように本実施形態の例では、作業ロボット５のエンドエフェクタ６に装着したカメラ４１を移送し、当該カメラ４１で撮像した作業原点に相当する部分の画像を上記計測位置取得部２５で画像認識することにより当該作業原点の計測位置を実測する。
【００３３】
図示する例では、作業対象機器８が、実験器具の一種であるチューブ（図示省略）を上方から嵌入可能なチューブラック８１であり、その嵌入穴８２の開口部中心位置に当該作業対象機器８（チューブラック８１）の作業原点を設定している。カメラ４１は、その撮像部分４２が上記嵌入穴８２に嵌入可能（つまりチューブと略同径）な円柱形状に構成されており、その上部に矩形形状のカメラ本体部４３が固定されている。グリッパ型のエンドエフェクタ６がカメラ本体４３を所定の配置、姿勢で挟持し、その固定状態でのカメラ４１の撮像方向がエンドエフェクタ６（もしくはアーム先端部５ａ）の基準位置（図示省略）を所定の方向で通過する配置関係で装着される。
【００３４】
そして作業ロボット５は、カメラ４１の撮像方向を下方に向けたまま、作業原点記憶部２６から取得した当該作業対象機器８１の作業原点（嵌入穴８２の中心の設計位置）に当該撮像方向を水平方向（図示する例のＸ−Ｙ方向）で一致させるようカメラ４１を移送し、その状態で図５に示す例のような画像を撮像する。この図５において、撮像画像の全体は円柱形状にある上記撮像部分４２の内径を最大径とした円形の画像であり、撮像画像内にあらかじめ固定的に設定し描画した２つの直交する直径標準線Ｌｘｃ、Ｌｙｃの交点（円形撮像画像の中心点）が作業原点Ｐ０ｄの設計位置ｄに一致している。
【００３５】
そしてこの撮像画像を入力された計測位置取得部２５は、当該撮像画像内に写っている嵌入穴８２の円形画像部分に対して画像認識することにより、当該嵌入穴８２に対してもあらためて２つの直交する直径標準線Ｌｘｈ、Ｌｙｈを描画する。この嵌入穴８２の円形画像部分における２つの直径標準線Ｌｘｈ、Ｌｙｈの交点がすなわち作業原点の実測点であり、その実測位置が作業原点Ｐ０ｍの計測位置に相当する。図示する例では、円形撮像画像における２つの直径標準線Ｌｘｃ、Ｌｙｃと、嵌入穴８２における２つの直交標準線Ｌｘｈ、Ｌｙｈがそれぞれ作業空間座標ＸＹＺのＸ方向とＹ方向に平行な組み合わせで設定されている。そして、Ｘ方向とＹ方向のそれぞれにおける直径標準線Ｌｘｃ、Ｌｙｃ、Ｌｘｈ、Ｌｙｈ間の偏差ΔＸ、ΔＹが、作業原点の設計位置Ｐ０ｄに対する計測位置Ｐ０ｍの相対的な位置誤差に相当し、計測位置取得部２５はこれら偏差ΔＸ、ΔＹに基づいて当該作業原点の計測位置Ｐ０ｍを求めることができる。なお、カメラ４１が、各請求項記載のセンサに相当する。
【００３６】
＜各ローカル座標自体の座標歪みに対応した補正について＞
ここで、本実施形態の例の作業ロボット５のように特に複数の回転軸を直列配置で連結した多関節型のロボットを用いる場合には、各アームの回転運動の連携動作に起因して作業原点の周囲のローカル座標ＣＬに微細な座標歪みが生じることが不可避である。例えば、上記軌道計画部２３におけるローカル座標ＣＬ中での演算上ではＸ軸方向と並行にアーム先端部５ａを直進させるよう動作させた場合でも、実空間座標中ではＸ軸方向に対して傾斜するよう移動してしまう。これに対して本実施形態では、補正部２４が各作業原点毎に設定した各ローカル座標ＣＬのそれぞれに対し、さらに上記の座標歪み特性に対応するよう補正した補正座標ＣＲを設定する。
【００３７】
図６は、そのようなローカル座標ＣＬ自体の座標歪みを補正する手法について説明する図を示しており、図中の左側には作業対象機器８の一例としてのチューブラック８１における嵌入穴８２の実配置を示し、図中の右側には対応するローカル座標ＣＬとその座標歪みを反映した補正座標ＣＲを仮想的に示している。図中の左側に示す例においては、チューブラック８２の最も左下に位置する嵌入穴８２の中心位置を作業原点Ｐ０に設定しており、さらにこの作業原点Ｐ０に対応する嵌入穴８２からＸ軸方向とＹ軸方向にそれぞれ隣接する２つの嵌入穴８２の中心位置を基準点Ｐ１，Ｐ２として設定している。これら２つの基準点Ｐ１，Ｐ２のいずれも、対応する作業原点Ｐ０と組み合わせてそれぞれ対応するローカル座標ＣＬ上の設計位置があらかじめ作業原点記憶部２６に記憶されており、また作業原点Ｐ０と同様に上述した実測手法によって計測位置が取得可能となっている。
【００３８】
そして上記の作業原点Ｐ０と対応する２つの基準点Ｐ１，Ｐ２の３点のそれぞれの位置を実測した際には、図中の右側に示す例のように、３点の各計測位置Ｐ０ｍ，Ｐ１ｍ，Ｐ２ｍがそれぞれ上述した各種の機械的誤差に起因して設計位置Ｐ０ｄ，Ｐ１ｄ，Ｐ２ｄから位置ズレする。さらに、３点の各計測位置Ｐ０ｍ，Ｐ１ｍ，Ｐ２ｍどうしの配置関係についても、上述した多関節型ロボット特有の座標歪み特性に起因して、各設計位置Ｐ０ｄ，Ｐ１ｄ，Ｐ２ｄどうしの配置関係（図示する例では作業原点Ｐ０を交点とした直交配置関係）から変化する。
【００３９】
ここで、作業ロボット５が多関節型ロボットであることに起因する上述したローカル座標ＣＬの座標歪みの態様は、剪断線型変換に相当するものであることが分かっている。このため、作業原点Ｐ０の位置補正（平行移動）も併せて反映するよう、剪断線型変換と平行移動を組み合わせたいわゆるアフィン変換でローカル座標ＣＬを補正し、その補正後の座標を補正座標ＣＲとして設定すればよい。
【００４０】
具体的には、図中右側の下方に示す変換式のように、作業空間座標ＸＹＺ上におけるサンプル点Ｐｓの設計位置ベクトル（ｘ、ｙ）Ｔに対して、剪断線型変換を行う正方行列（ａ、ｂ、ｃ、ｄ）との内積を取り、さらに平行移動を行う並進ベクトル（ｅ、ｆ）Ｔを加算することで補正座標ＣＲ上の点Ｐｓ′の補正位置ベクトル（ｘ′、ｙ′）Ｔを求めるといった線型写像変換を行えばよい。言い換えると、ｘ′＝ａｘ＋ｂｙ＋ｅ、ｙ′＝ｃｘ＋ｄｙ＋ｆの２式を演算すればよい。ただし、上記のａ、ｂ、ｃ、ｄ、ｅ、ｆはいわゆるアフィン係数であり、ｘ、ｙ、ｘ′、ｙ′はいずれも作業空間座標ＸＹＺ上の位置を示す数値である。
【００４１】
そして、上記算出された補正位置ベクトル（ｘ′、ｙ′）Ｔが表す座標位置が、本実施形態において最終的に補正部２４が出力する作業空間座標ＸＹＺ上での補正位置指令となる。なお、ジョブに記述されているローカル座標ＣＬ上の点Ｐｓの設計位置（相対位置情報）を、座標歪み補正された補正座標ＣＲに適用する場合には上記並進ベクトル（ｅ、ｆ）の加算を省略したアフィン変換を行えばよい。また図示の煩雑を避けるために、この図６中の右側にはローカル座標ＣＬの図示を省略しているが、あえて描画するとしたら作業原点の設計位置Ｐ０ｄを原点として作業空間座標ＸＹＺのＸ軸方向とＹ軸方向にそれぞれ並行なＸ軸とＹ軸に基づく直交座標系となる。以上により、上述した多関節型ロボット特有の座標歪み特性による影響を排除して、当該ジョブの実行による実空間座標での作業ロボット５の作業動作の制御精度を高く確保できる。
【００４２】
＜ローカル座標、補正座標の有効範囲について＞
また、本実施形態の例の作業ロボット５のように特に多関節型のロボットを用いる場合には、上述した各種の機械的誤差や座標歪み特性に起因して、そのアーム先端部５ａの動作軌跡にも微細な軌跡歪みが生じることが不可避である。例えば上記軌道計画部２３における補正座標ＣＲ中での演算上では直進させるよう動作させた場合でも、基準となる作業原点から離間するほど大きい誤差で湾曲する軌跡で移動してしまう。これに対して本実施形態では、図７に示すように、基準となる作業原点の周囲近傍で高い制御精度を十分確保できる範囲Ａ内（つまり、作業原点の較正有効範囲内）に限定してジョブに含まれる相対位置情報（ローカル座標ＣＬ上での設計位置）を設定することで、当該ジョブの実行による作業ロボット５の作業動作の制御精度を高く確保できる。
【００４３】
なお図中では、説明の便宜上、上記の範囲Ａを略楕円形状で示しているが、想定される機械的誤差や座標歪み特性に応じて適宜の大きさや形状に設定することが望ましい。また、単体で上記の範囲Ａを超える大きさの作業対象機器８に対しては、当該作業対象機器８の作業対象範囲の全体を上記範囲Ａで覆うことができるよう、所定の間隔と配置で複数の作業原点を設定することが望ましい（上記図２、図３中の作業対象機器８ｄ参照）。なお、この範囲Ａが、各請求項記載の作業原点の周囲の所定範囲に相当する。
【００４４】
＜本実施形態による効果＞
以上説明したように、本実施形態のロボットシステム１は、作業テーブル７に複数設けられた作業原点の設計位置を記憶する作業原点記憶部２６と、カメラの撮像画像に基いて複数の作業原点のそれぞれについて計測位置を取得する計測位置取得部２５と、計測位置に基づいて作業原点記憶部２６に記憶している作業原点の位置情報を補正する補正部２４と、を有している。このように作業テーブル７内において複数の作業原点を設定し、それら複数の作業原点毎に計測位置に基づいた位置補正することにより、少なくともそれぞれ位置補正された各作業原点どうしの間に渡って行われる相対的な作業動作については高いレベルでの制御精度を確保できる。この結果、ロボットシステム１の利便性を向上できる。
【００４５】
なお、作業原点記憶部２６は、各作業原点についてその設計位置とともに設計姿勢に相当する情報を併せて記憶してもよい。この設計姿勢に相当する情報とは、例えば上述したカメラ４１での撮像により作業原点を実測する例におけるカメラ４１の撮像方向、もしくは嵌入穴８２の軸方向を表す方向ベクトル等に相当する情報である。この場合の作業原点記憶部２６は、各請求項記載の計測用姿勢記憶部に相当する。
【００４６】
また、作業原点の設計位置及び設計姿勢について、上記実施形態では３軸直交座標である作業空間座標ＸＹＺでの３次元位置や方向ベクトルで規定していたが、これに限られない。他にも、当該ロボットシステム１で用いる作業ロボット５の設計構造に依存するロボット座標で作業原点の設計位置及び設計姿勢を規定してもよい。ここで例えば、上記実施形態のように６軸の多関節型ロボットを用いた場合には、エンドエフェクタ６（又はアーム先端部５ａ）の所定の位置と姿勢がそれら６軸の各エンコーダ値（回転位置）の組み合わせや各アームの配置、姿勢（Ｐｏｓｔｕｒｅ）の組み合わせで一意に規定できる。このような作業ロボット５の設計構造に依存した動作パラメータを上記ロボット座標として作業原点の設計位置や設計姿勢、又は計測位置や計測姿勢を規定してもよい。
【００４７】
また、本実施形態では特に、作業原点に対する相対位置情報を含んだ作業ロボット５のジョブを記憶するジョブ記憶部２２を有している。これにより、同一の作業原点をローカル原点とした相対位置情報（ローカル座標ＣＬ上の位置情報）で作業ロボット５のジョブを規定することができ、他の作業原点間の誤差による影響を排除した高い制御精度を確保できる。
【００４８】
また、本実施形態では特に、ジョブに含まれる相対位置情報は、作業原点の周囲の所定範囲Ａ内に設定されている。このように、基準となる作業原点の周囲近傍で高い制御精度を十分確保できる範囲Ａ内（つまり作業原点の較正有効範囲内）に限定してジョブに含まれる相対位置情報を設定することで、当該ジョブの実行による作業ロボット５の作業動作の制御精度を高く確保できる。これにより、ロボットセル４の各個体でティーチング作業を行わずとも、同一のジョブをそのまま共有化してそれぞれ高い制御精度で一致した作業動作を実現できる。
【００４９】
また、本実施形態では特に、補正部２４は、複数の作業原点それぞれを基準とした複数の補正座標ＣＲを設定し、ジョブに含まれる相対位置情報は補正座標ＣＲに適用する。このように、補正部２４が複数の作業原点それぞれを基準とした複数の補正座標ＣＲを設定し、ジョブに含まれる相対位置情報を補正座標ＣＲに適用することで、当該ジョブの実行による実空間座標での作業ロボット５の作業動作の制御精度を高く確保できる。これにより、ロボットセル４の各個体でティーチング作業を行わずとも、同一のジョブをそのまま共有化してそれぞれ高い制御精度で一致した作業動作を実現できる。
【００５０】
また、本実施形態では特に、作業ロボット５が多関節型ロボットであり、補正座標ＣＲは、剪断線型変換と平行移動を組み合わせたアフィン変換で設定される。作業ロボット５が多関節型ロボットである場合のローカル座標ＣＬの座標歪みは、剪断線型変換に相当するものであることが分かってため、作業原点の位置補正（平行移動）と併せて剪断線型変換と平行移動を組み合わせたいわゆるアフィン変換で補正座標ＣＲを設定することが特に好適となる。
【００５１】
また、本実施形態では特に、補正座標ＣＲは、１つの作業原点と、当該作業原点の周囲の２つの基準点のそれぞれに対して計測位置取得部２５が取得した計測位置に基づくアフィン変換で設定される。これにより、実空間座標中に設定された１つの作業原点と２つの基準点に対応して、演算上のローカル座標ＣＬに対して補正した補正座標ＣＲを具体的に設定できる。なお本実施形態の例のように、２つの基準点が実空間座標中で作業原点に対し相互に直交する配置（作業原点から実空間座標のＸ軸方向、Ｙ軸方向にそれぞれ平行移動した位置）に設けられていることで、補正座標ＣＲの演算がより簡易かつ正確に行うことができる。
【００５２】
また、本実施形態では特に、作業原点を実測するセンサは、作業ロボット５により移送可能に設置されたカメラであり、計測位置取得部２５はこのカメラの撮像画像に基づく画像認識により計測位置を取得する。これにより、作業テーブル７などのロボット作業環境に直接接触することなく作業原点及び他の基準点の計測位置を簡易かつ十分な精度で取得できる。
【００５３】
また、本実施形態では特に、作業テーブル７内に設けられた、作業ロボット５の作業対象となる複数の作業対象機器８を有し、作業原点は作業対象機器８毎に対して１つ又は所定の間隔で複数設けられている。これにより、作業テーブル７内に設けられた複数の作業対象機器８をそれぞれ作業対象単位として個別に実行される作業ロボット５の作業動作について高い制御精度を確保できる。
【００５４】
また、本実施形態では特に、作業対象機器８は、チューブを嵌入可能なチューブラックを備えており、そのチューブラックの作業原点はチューブの嵌入穴の中心位置に設定される。このように、特に高いレベルの制御精度が要求されるチューブラックへのチューブの嵌入作業動作を模した動作態様で作業原点の計測位置を直接取得することができ、また作業原点を別途設けずとも作業対象機器８にもとから設けられている嵌入穴を作業原点の規定箇所として利用できるため、本実施形態の補正手法を適用することが特に好適となる。
【００５５】
また、本実施形態の補正手法は特に、作業対象機器８に備えられた実験器具としてのピペットを用いて作業ロボット５が分注作業を行う場合に特に好適である（図示省略）。このように、バイオメディカル分野等の実験作業において特に高いレベルの制御精度が要求されるピペットの分注作業動作に本実施形態の補正手法を適用することは特に好適である。
【００５６】
＜ロボットコントローラのハードウェア構成例＞
次に、図８を参照しつつ、上記で説明したＣＰＵ９０１が実行するプログラムによりソフトウェア的に実装された作業計画部２１、ジョブ記憶部２２、軌道計画部２３、補正部２４、計測位置取得部２５、作業原点記憶部２６等による処理を実現するロボットコントローラ２のハードウェア構成例について説明する。
【００５７】
図８に示すように、モータ制御装置３は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００５８】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。
【００５９】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は永続的に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００６０】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００６１】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００６２】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の作業計画部２１、ジョブ記憶部２２、軌道計画部２３、補正部２４、計測位置取得部２５、作業原点記憶部２６等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００６３】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００６４】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００６５】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００６６】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００６７】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００６８】
１            ロボットシステム
２            ロボットコントローラ
３            ロボット駆動制御装置
４            ロボットセル
５            作業ロボット
６            エンドエフェクタ
７            作業テーブル（ロボット作業環境）
８            作業対象機器
２１          作業計画部
２２          ジョブ記憶部
２３          軌道計画部
２４          補正部
２５          計測位置取得部
２６          作業原点記憶部（ユーザフレーム記憶部）
３１          逆キネマティクス演算部
３２          サーボアンプ
４１          カメラ（センサ）
８１          チューブラック（作業対象機器）
８２          嵌入穴
ＣＬ            ローカル座標
ＣＲ            補正座標
Ｐ０          作業原点
Ｐ１，Ｐ２    基準点
【図１】
2018134695.tif 000003
【図２】
2018134695.tif 000004
【図３】
2018134695.tif 000005
【図４】
2018134695.tif 000006
【図５】
2018134695.tif 000007
【図６】
2018134695.tif 000008
【図７】
2018134695.tif 000009
【図８】
2018134695.tif 000010