特許第6674655号(P6674655)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社IHIの特許一覧

<>
  • 特許6674655-相対データ較正装置と方法 図000005
  • 特許6674655-相対データ較正装置と方法 図000006
  • 特許6674655-相対データ較正装置と方法 図000007
  • 特許6674655-相対データ較正装置と方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6674655
(24)【登録日】2020年3月11日
(45)【発行日】2020年4月1日
(54)【発明の名称】相対データ較正装置と方法
(51)【国際特許分類】
   B25J 9/10 20060101AFI20200323BHJP
   B25J 13/08 20060101ALI20200323BHJP
【FI】
   B25J9/10 A
   B25J13/08 A
【請求項の数】11
【全頁数】17
(21)【出願番号】特願2016-3318(P2016-3318)
(22)【出願日】2016年1月12日
(65)【公開番号】特開2017-124448(P2017-124448A)
(43)【公開日】2017年7月20日
【審査請求日】2018年11月27日
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(74)【代理人】
【識別番号】100097515
【弁理士】
【氏名又は名称】堀田 実
(74)【代理人】
【識別番号】100136700
【弁理士】
【氏名又は名称】野村 俊博
(72)【発明者】
【氏名】清水 拓
(72)【発明者】
【氏名】江本 周平
【審査官】 石川 薫
(56)【参考文献】
【文献】 特表2013−526423(JP,A)
【文献】 特開昭60−193013(JP,A)
【文献】 特開2005−262378(JP,A)
【文献】 特開平08−030327(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J1/00−21/02
(57)【特許請求の範囲】
【請求項1】
ロボットアームの外部に設けられ、該ロボットアームの動作領域を観測することにより観測データを取得する外部センサと、
前記ロボットアームと外部センサとの相対位置および相対姿勢の一方または両方を表す相対データを記憶する記憶部と、
前記観測データと前記相対データとに基づいて、前記ロボットアームが作業を行うように前記ロボットアームを制御するアーム制御部とを備える制御装置のために設けられる相対データ較正装置であって、
前記ロボットアームに設けられたアームマーカと、
前記外部センサの観測により取得された前記アームマーカの観測データに基づいて、前記相対データを較正する較正処理部と、を備え、
前記ロボットアームの前記作業中に、前記外部センサによる前記アームマーカの観測データの取得と、当該観測データに基づく相対データの較正とが繰り返されるように前記相対データ較正装置が構成されており、
当該繰り返しにおいて、前記較正処理部は、ベイズフィルタを用いて前記相対データを較正し、
但し、前記ロボットアームが、他のロボットから情報を受けて動作するロボットに設けられたものである場合を除く、相対データ較正装置。
【請求項2】
ロボットアームの外部に設けられ、該ロボットアームの動作領域を観測することにより観測データを取得する外部センサと、
前記ロボットアームと外部センサとの相対位置および相対姿勢の一方または両方を表す相対データを記憶する記憶部と、
前記観測データと前記相対データとに基づいて、前記ロボットアームが作業を行うように前記ロボットアームを制御するアーム制御部とを備える制御装置のために設けられる相対データ較正装置であって、
前記ロボットアームに設けられたアームマーカと、
前記外部センサに設けられた外部マーカと、
前記ロボットアームに設けられ、前記外部マーカを観測することにより、前記外部マーカの観測データを取得するアーム側センサと、
前記外部センサの観測により取得された前記アームマーカの観測データと、前記アーム側センサの観測により取得された前記外部マーカの観測データとに基づいて、前記相対データを較正する較正処理部と、を備え、
但し、前記ロボットアームが、他のロボットから情報を受けて動作するロボットに設けられたものである場合を除く、相対データ較正装置。
【請求項3】
前記外部センサに設けられた外部マーカと、
前記ロボットアームに設けられ、前記外部マーカを観測することにより、前記外部マーカの観測データを取得するアーム側センサと、を備え、
前記較正処理部は、前記アームマーカの前記観測データと前記外部マーカの前記観測データに基づいて、前記相対データを較正する、請求項1に記載の相対データ較正装置。
【請求項4】
前記アームマーカは、該アームマーカの姿勢が特定可能な形状を有し、前記アーム側センサに一体的に固定されており、
前記外部マーカは、該外部マーカの姿勢が特定可能な形状を有し、前記外部センサに一体的に固定されている、請求項2又は3に記載の相対データ較正装置。
【請求項5】
前記アーム側センサを回転軸まわりに回転駆動することにより、前記アーム側センサの向きを変えるセンサ駆動装置と、
前記ロボットアームの動作に応じて、前記アーム側センサが前記外部マーカを向くように前記センサ駆動装置を制御するセンサ向き制御部と、を備え
前記ロボットアームの前記作業中に、前記アーム側センサによる前記外部マーカの観測データの取得と、当該観測データに基づく相対データの較正とが繰り返されるように前記相対データ較正装置が構成されており、
当該繰り返しにおいて、前記較正処理部は、ベイズフィルタを用いて前記相対データを較正する、請求項2〜4のいずれか一項に記載の相対データ較正装置。
【請求項6】
前記アームマーカと前記外部マーカの各々は、互いに間隔をおいて配置された複数のマーカ部を有し、
前記外部センサと前記アーム側センサの各々は、カメラであり、
前記アームマーカの前記観測データと前記外部マーカの前記観測データは、画像データである、請求項2〜のいずれか一項に記載の相対データ較正装置。
【請求項7】
前記外部センサと前記アームマーカとが向かい合う状態で、前記アーム側センサと前記外部マーカとが向かい合うようになっている、請求項2に記載の相対データ較正装置。
【請求項8】
ロボットアームの外部に設けられた外部センサの観測データと、前記ロボットアームと前記外部センサとの相対位置および相対姿勢の一方または両方を表す相対データとに基づいて前記ロボットアームを制御する場合に、前記相対データを較正する方法であって、
(A)前記ロボットアームにアームマーカを設け、
(B)前記外部センサにより、前記アームマーカを観測して前記アームマーカの観測データを取得し、
(C)前記アームマーカの前記観測データに基づいて、較正処理部により前記相対データを較正し、
前記ロボットアームの作業中に、前記(B)と(C)を繰り返し、
当該繰り返しにおいて、前記較正処理部により、ベイズフィルタを用いて前記相対データを較正し、
但し、前記ロボットアームが、他のロボットから情報を受けて動作するロボットに設けられたものである場合を除く、相対データ較正方法。
【請求項9】
ロボットアームの外部に設けられた外部センサの観測データと、前記ロボットアームと前記外部センサとの相対位置および相対姿勢の一方または両方を表す相対データとに基づいて前記ロボットアームを制御する場合に、前記相対データを較正する方法であって、
(A)前記ロボットアームにアームマーカを設け、前記外部センサに外部マーカを設け、
(B)前記外部センサにより、前記アームマーカを観測して前記アームマーカの観測データを取得し、アーム側センサにより、前記外部マーカを観測して前記外部マーカの観測データを取得し、
(C)前記アームマーカの前記観測データと前記外部マーカの前記観測データに基づいて、前記相対データを較正し、
但し、前記ロボットアームが、他のロボットから情報を受けて動作するロボットに設けられたものである場合を除く、相対データ較正方法。
【請求項10】
前記ロボットアームの作業中に、前記ロボットアームの動作に応じて、前記アーム側センサが前記外部マーカを向くように、前記アーム側センサがセンサ駆動装置により駆動され、前記(B)と(C)を繰り返し、
当該繰り返しにおいて、較正処理部により、ベイズフィルタを用いて前記相対データを較正する、請求項9に記載の相対データ較正方法。
【請求項11】
前記(A)では、前記外部センサと前記アームマーカとが向かい合う状態で、前記アーム側センサと前記外部マーカとが向かい合うように、前記アームマーカと前記外部マーカを設ける、請求項9に記載の相対データ較正方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部センサの観測データに基づいてロボットアームを制御する場合におけるキャリブレーション技術に関する。より詳しくは、外部センサとロボットアームとの相対位置と相対姿勢の一方または両方を表す相対データをロボットアームの動作制御に用いる場合に、相対データを較正(キャリブレーション)する技術に関する。
【背景技術】
【0002】
ロボットアームは、様々な作業を行うために用いられている。ロボットアームが行う作業としては、例えば、次の(1)〜(3)がある。
(1)部品の組み付け
ロボットアームの先端部には、部品を把持する把持装置が取り付けられている。ロボットアームは、把持装置により部品を把持して、この部品を、対象物(例えば、自動車の車体)に組み付けるように動作する。
(2)対象物の搬送
ロボットアームは、上記と同様の把持装置により、ある場所に置かれている対象物を、把持して搬送し別の場所に置く。
(3)溶接
ロボットアームの先端部には、溶接トーチが取り付けられている。ロボットアームは、溶接トーチにより金属部材同士を溶接するように動作する。
【0003】
ロボットアームに作業を行わせる制御において、ロボットアームの外部に設置した外部センサ(外部カメラ)が用いられる場合がある。この場合に、外部カメラとロボットアームとの間における相対位置と相対姿勢を表す相対データが予め求められる。
【0004】
その上で、ロボットアームは、次のように制御されて作業を行う。外部カメラは、ロボットアームの動作領域を撮像することにより、この領域の画像データを得る。得られた画像データに基づいて、この領域内の計測対象(例えば、ロボットアームが作業する上述の対象物、障害物、目印など)の位置や姿勢を求める。求めた計測対象の位置や姿勢と、上述の相対データと、ロボットアームの現在位置および現在姿勢の計測値とに基づいて、ロボットアームが制御される。例えば、計測対象が上記対象物である場合には、求めた対象物の位置および姿勢に基づいて、ロボットアームが対象物に作業を行うように制御される。また、計測対象が障害物である場合には、求めた障害物の位置に基づいて、ロボットアームが障害物を回避するように制御される。計測対象が目印である場合には、求めた目印の位置や姿勢を基準にロボットアームの位置や姿勢が制御される。
【0005】
上述の相対データを予め求める方法が、例えば下記の特許文献1に記載されている。特許文献1では、次のように相対データを求めている。ロボットアームにおける先端部の把持装置に指し棒を把持させる。指し棒の先端が長方形を描くようにロボットアームを動作させる。この時に、指し棒の動作を、外部カメラで撮像することにより画像データを取得する。この画像データに基づいて、指し棒の先端が移動した長方形軌跡の各頂点の位置を求める。これらの位置から、外部カメラとロボットアームとの相対位置姿勢関係(相対データ)を求める。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3402021号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、予め求めた相対データが、実際の値からずれてしまう場合がある。この原因としては、ロボットアームや外部カメラの配置変更、外部カメラへの人の接触、他の機械からの振動、地震、ロボットアームの経年劣化などがある。
【0008】
このように予め求めた相対データが実際の値からずれた場合には、相対データを較正する必要がある。上述の原因がロボットアームの作業中に発生した場合には、較正を行うために、ロボットアームの作業を中断する。そのため、ロボットアームの作業能率が低下してしまう。
【0009】
そこで、本発明の目的は、ロボットアームの作業中に上述の相対データが実際の値からずれた場合に、ロボットアームの作業を中断させることなく、相対データを較正できる手段を提供することにある。
【課題を解決するための手段】
【0010】
上述の目的を達成するため、本発明によると、ロボットアームの動作領域を観測することにより観測データを取得する外部センサと、
前記ロボットアームと外部センサとの相対位置および相対姿勢の一方または両方を表す相対データを記憶する記憶部と、
前記観測データと前記相対データとに基づいて、前記ロボットアームが作業を行うように前記ロボットアームを制御するアーム制御部とを備える制御装置のために設けられる相対データ較正装置であって、
前記ロボットアームに設けられたアームマーカと、
前記外部センサの観測により取得された前記アームマーカの観測データに基づいて、前記相対データを較正する較正処理部と、を備える、相対データ較正装置が提供される。
【0011】
また、上述の目的を達成するため、本発明によると、外部センサの観測データと、前記ロボットアームと前記外部センサとの相対位置および相対姿勢の一方または両方を表す相対データとに基づいて前記ロボットアームを制御する場合に、前記相対データを較正する方法であって、
(A)前記ロボットアームにアームマーカを設け、
(B)前記外部センサにより、前記アームマーカを観測して前記アームマーカの観測データを取得し、
(C)前記アームマーカの前記観測データに基づいて、前記相対データを較正し、
前記ロボットアームが作業をするための動作をしている作業中に、前記(B)と(C)を行う、相対データ較正方法が提供される。
【発明の効果】
【0012】
上述した本発明では、ロボットアームの作業中に、外部センサは、アームマーカを観測してその観測データを取得できる。この観測データに基づいて、較正処理装置は相対データを較正する。したがって、ロボットアームの作業中に、相対データを較正できる。
【図面の簡単な説明】
【0013】
図1】本発明が適用可能なロボットアームとその周辺を示す。
図2】ロボットアームの制御装置と、本発明の実施形態による相対データ較正装置とを示すブロック図である。
図3】外部センサとアーム側センサの正面図である。
図4】本発明の実施形態による相対データ較正方法と、ロボットアームの制御処理とを示すフローチャートである。
【発明を実施するための形態】
【0014】
本発明の実施形態を図面に基づいて説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明を省略する。
【0015】
図1は、本発明が適用可能なロボットアーム3とその周辺を示す。図2は、ロボットアーム3の制御装置20と、本発明の実施形態による相対データ較正装置10とを示すブロック図である。
【0016】
(ロボットアームの作業)
ロボットアーム3は、対象物1に作業を行う。図1の例では、ロボットアーム3は、搬送装置により吊り下げられ且つ搬送されて来る対象物1を把持し、指定の場所へ置く作業を行う。ただし、ロボットアーム3は他の作業を行ってもよい。この作業は、例えば、上述した(1)〜(3)のいずれかの作業であってもよい。
【0017】
(制御装置の構成)
ロボットアーム3は、制御装置20に制御されることにより上述の作業を行う。制御装置20は、図2のように、外部センサ5(図1も参照)と記憶部7とアーム計測装置9とアーム制御部11を備える。
【0018】
外部センサ5は、ロボットアーム3の外部に設けられる。外部センサ5は、ロボットアーム3の動作領域を観測することにより観測データを取得する。この観測データは、対象物1の観測データであってよい。本実施形態では、外部センサ5は、カメラであり、上記観測データとして、対象物1を含む上記動作領域の画像データを取得する。カメラ5は、例えば、路面または地面に置かれたカメラ支持体(例えば三脚)に取り付けられている。この場合、好ましくは、カメラ支持体は、路面または地面に固定される。外部カメラ5の数は、1つであっても複数であってもよい。以下において、外部センサ5が取得した観測データが、ロボットアーム3の制御に用いられる場合には、観測データをD1で示す。
【0019】
記憶部7は、ロボットアーム3と外部センサ5との相対位置および相対姿勢の一方または両方を表す相対データを記憶する。なお、以下において、相対位置および相対姿勢の一方または両方を、単に相対位置姿勢といい、位置および姿勢の一方または両方を、単に位置姿勢という。
【0020】
アーム計測装置9は、ロボットアーム3の位置姿勢を計測により求める。本実施形態では、ロボットアーム3は、複数のリンク3a〜3eが互いに対して回転可能にまたは伸縮可能に直列に連結されることにより構成される。アーム計測装置9は、これらのリンク3a〜3eの互いに対する回転量または伸縮量を計測し、これらの計測値に基づいてロボットアーム3の先端部3fの位置姿勢を求める。この場合、アーム計測装置9は、例えば、各リンク3a〜3eを駆動するモータの回転角を検出するロータリーエンコーダを用いるものであってよい。
【0021】
アーム制御部11は、外部センサ5が取得した観測データD1と、アーム計測装置9が求めたロボットアーム3(本実施形態では、先端部3f)の位置姿勢と、記憶部7の相対データとに基づいて、ロボットアーム3が作業を行うようにロボットアーム3を制御する。この制御は、次の手順で行われてよい。アーム制御部11は、観測データD1に基づいて、外部センサ5に固定された座標系(以下、単に外部センサ座標系Saともいう)で表された対象物1の位置姿勢を求める。次いで、上記相対データに基づいて、アーム制御部11は、求めた対象物1の位置姿勢を、ロボットアーム3(本実施形態では、先端部3f)に固定された座標系(以下、単にアーム座標系Sbともいう)で表された位置姿勢に変換する。その後、アーム制御部11は、変換した対象物1の位置姿勢と、アーム計測装置9が計測したロボットアーム3の先端部3fの位置姿勢とに基づいて、ロボットアーム3を制御する。これにより、ロボットアーム3の先端部3f(例えば、先端部3fのハンド)は対象物1に作業を行うように動作する。
【0022】
(相対データ較正装置の構成)
相対データ較正装置10は、記憶部7に記憶されている上述の相対データを較正する。記憶部7は、相対データ較正装置10に較正された最新の相対データを記憶する。制御装置20は、記憶部7に記憶されている最新の相対データに基づいて、上述のようにロボットアーム3を制御する。
【0023】
相対データ較正装置10は、図2のように、アームマーカ13、外部マーカ15、アーム側センサ17、センサ駆動装置19、センサ向き制御部21、および、較正処理部23を備える。
【0024】
アームマーカ13は、ロボットアーム3に設けられている。本実施形態では、アームマーカ13は、好ましくは、アームマーカ13の姿勢が特定可能な形状を有する。アームマーカ13は、後述のアーム側センサ17に一体的に固定されている。
【0025】
アームマーカ13と外部センサ5は、ロボットアーム3が作業を行うための動作を行っている時に(すなわち、ロボットアーム3の作業中に)、外部センサ5によりアームマーカ13を観測できるように配置されている。例えば、ロボットアーム3が作業を行うために移動する作業用軌道上の少なくともいずれかの位置にロボットアーム3が来た時に、外部センサ5はアームマーカ13を観測できる。この作業用軌道は、予め設定されたものであってもよい。
【0026】
したがって、外部センサ5は、ロボットアーム3の制御だけでなく相対データの較正にも用いられる。外部センサ5は、アームマーカ13を観測することにより、アームマーカ13の観測データを取得する。ここで、アームマーカ13がカメラである場合には、カメラ5は、アームマーカ13を含む領域を撮像することにより、アームマーカ13の観測データとして、この領域の画像データを取得する。以下において、外部センサ5が取得した観測データが、相対データの較正に用いられる場合には、この観測データをD2で表す。なお、外部センサ5が取得した1つの観測データが、ロボットアーム3の制御にも相対データの較正にも用いられる場合がある。
【0027】
外部センサ5の位置と向きは固定されていてよい。好ましくは、外部センサ5は、自身の観測範囲にアームマーカ13が入っている期間において、アームマーカ13の観測データD2を繰り返し取得する。
【0028】
外部マーカ15は、図1のように、外部センサ5に設けられている。外部マーカ15は、好ましくは、外部マーカ15の姿勢が特定可能な形状を有する。外部マーカ15は、外部センサ5に一体的に固定されている。
【0029】
アーム側センサ17は、ロボットアーム3(本実施形態では、先端部3f)に設けられている。アーム側センサ17は、外部マーカ15を観測することにより、外部マーカ15の観測データD3を取得する。
【0030】
アーム側センサ17と外部マーカ15は、ロボットアーム3の作業中にアーム側センサ17により外部マーカ15を観測できるように配置されている。例えば、ロボットアーム3が上述の作業用軌道上の少なくともいずれかの位置にロボットアーム3が来た時に、アーム側センサ17は外部マーカ15を観測できる。好ましくは、ロボットアーム3の作業中に、外部センサ5とアームマーカ13とが向かい合い、かつ、アーム側センサ17と外部マーカ15とが向かい合う時点が存在する。
【0031】
アーム側センサ17がカメラである場合には、カメラ17は、外部マーカ15を含む領域を撮像することにより、外部マーカ15の観測データD3として、この領域の画像データを取得する。
【0032】
アーム側センサ17は、先端部3fと一体で移動し姿勢を変える。好ましくは、アーム側センサ17は、自身の観測範囲に外部マーカ15が入っている期間において、外部マーカ15の観測データD3を繰り返し取得する。
【0033】
図3(A)は、アーム側センサ17を、その正面から見た図である。図3(B)は、外部センサ5を、その正面から見た図である。図3のように、アームマーカ13と外部マーカ15の各々は、互いに間隔をおいて配置された複数のマーカ部13a,15aを有する。好ましくは、図3(A)に示すように、アームマーカ13は、アーム側センサ17の観測部17a(例えば、カメラ17の対物レンズ)を挟むように配置された2つのマーカ部13aを含む。観測部17aが向いている側が、アーム側センサ17の観測範囲になる。同様に、外部マーカ15は、外部センサ5の観測部5a(例えば、カメラ5の対物レンズ)を挟むように配置された2つのマーカ部15aを含む。観測部5aが向いている側が、外部マーカ15の観測範囲になる。好ましい一例では、各マーカ部13a,15aは、2次元バーコードであり、外部センサ5とアーム側センサ17は、それぞれカメラ5,17である。
【0034】
センサ駆動装置19(図1参照)は、アーム側センサ17を回転軸まわりに回転駆動する。これにより、アーム側センサ17の向きは、ロボットアーム3(先端部3f)に対して変わる。
【0035】
センサ向き制御部21(図2参照)は、ロボットアーム3の動作に応じて、アーム側センサ17が外部マーカ15を向くようにセンサ駆動装置19を制御する。センサ向き制御部21は、予め定められた参照データと、アーム計測装置9により得られたロボットアーム3の位置姿勢の計測値とに基づいてセンサ駆動装置19を制御する。
【0036】
参照データは、センサ向き制御部21に記憶されていてよい。参照データは、予め定められたロボットアーム3の作業用軌道(位置の軌道と姿勢の軌道を含む)における各位置および姿勢と、該位置および姿勢に対して設定された回転駆動量(以下、設定駆動量という)とを互いに関連づけたデータである。設定駆動量は、アーム側センサ17の基準回転位置からの回転駆動量である。
【0037】
センサ向き制御部21は、ロボットアーム3の位置姿勢の計測値を参照データに適用する。これにより、センサ向き制御部21は、この計測値に対応する設定駆動量を特定する。センサ向き制御部21は、特定された設定駆動量だけ基準回転位置から回転させた位置にアーム側センサ17を回転軸まわりに回転駆動する。このような回転軸は1つ又は複数存在していてよい。ここで、回転軸が複数ある場合には、設定駆動量は回転軸毎に定められている。
【0038】
較正処理部23(図2を参照)は、外部センサ5の観測により取得されたアームマーカ13の観測データD2と、アーム側センサ17の観測により取得された外部マーカ15の観測データD3とに基づいて、相対データを較正する。この時、較正処理部23は、次の(a)〜(c)の処理を行う。
【0039】
(a)アームマーカ13の観測データD2に基づいて、外部センサ座標系Saで表したアームマーカ13の位置姿勢を求める。
【0040】
(b)外部マーカ15の観測データD3に基づいて、アーム座標系Sbで表した外部マーカ15の位置姿勢を求める。
【0041】
(c)上記(a)で求めたアームマーカ13の位置姿勢に基づいて相対データを較正する。例えば、上記(a)で求めたアームマーカ13の位置姿勢に基づいて、新たに相対データを求め、この相対データを較正後の相対データとする。上記(b)で求めた外部マーカ15の位置姿勢に基づいて相対データを較正する。例えば、上記(b)で求めた外部マーカ15の位置姿勢に基づいて、新たに相対データを求め、この相対データを較正後の相対データとする。
【0042】
上記(c)で較正された相対データは、外部センサ座標系Saの各位置をアーム座標系Sbの各位置に変換するための座標変換データ(例えば座標変換行列)であってよい。
【0043】
上記(a)は、アームマーカ13の観測データD2が取得される度に行われてよい。上記(b)は、外部マーカ15の観測データD3が取得される度に行われてよい。上記(c)は、上記(a)が行われる度に行われ、上記(b)が行われる度に行われてよい。
【0044】
上記(c)では、幾何学的に相対データを算出し、この相対データを較正後のデータとしてもよい。この場合、上記(a)(b)が合計で複数回行われることにより、複数回の上記(c)により相対データが複数回算出され、これらの相対データの平均値を較正後の相対データとしてもよい。
あるいは、上記(c)では、後述するようにカルマンフィルタを用いて相対データを較正してもよい。または、上記(c)では、別の方法で、観測データD2、D3に基づいて相対データを較正してもよい。
【0045】
なお、特許請求の範囲における「アームマーカの観測データと外部マーカの観測データに基づいて、相対データを較正する」とは、相対データの1回の較正に1つの観測データD2またはD3を用いる場合だけでなく、相対データの1回の較正に複数の観測データ(例えば観測データD2と観測データD3の両方)を用いる場合も含む内容である。前者の場合の一例では、観測データD2に基づいて相対データを更新した後、観測データD3に基づいて相対データを更新する。後者の場合の一例では、上述したように複数回算出された相対データの平均値を較正後の相対データとする。
【0046】
図4は、本発明の実施形態による相対データ較正方法と、ロボットアーム3の制御処理とを示すフローチャートである。この相対データ較正方法は、上述の相対データ較正装置10を用いて行われる。
相対データ較正方法は、ステップS1〜S3を有する。
【0047】
ステップS1において、外部センサ5により、アームマーカ13を観測してアームマーカ13の観測データD2を取得する。
【0048】
ステップS2において、アーム側センサ17により、外部マーカ15を観測して外部マーカ15の観測データD3を取得する。
【0049】
ステップS1またはステップS2が行われたら、処理はステップS3へ移行する。
外部センサ5の数が複数である場合には、いずれかの外部センサ5が、ステップS1アームマーカ13の観測データD2を取得したら(すなわち、ステップS1を行ったら)、処理はステップS3へ移行する。また、アーム側センサ17が、いずれかの外部マーカ15の観測データD3を取得したら、処理はステップS3へ移行する。外部センサ5の数が複数である場合には、外部センサ5毎に、相対データが存在し、各外部センサ5が取得したアームマーカ13の観測データD2に基づいて、ステップS3で対応する相対データが較正される。この場合、アーム側センサ17がいずれかの外部マーカ15の観測データD3を取得したら、該外部マーカ15に対応する相対データがステップS3で較正される。
【0050】
ステップS3において、較正処理部23により、ステップS1またはステップS2により得られた観測データD2,D3に基づいて、相対データを較正する。すなわち、較正処理部23は、上述の(a)〜(c)の処理を行う。
【0051】
上述のステップS1〜S3は、ロボットアーム3の作業中に行われる。本実施形態では、ロボットアーム3の作業中に、上述のステップS1〜S3が、繰り返し行われる。この繰り返しにおいて、ステップS3で、較正処理部23は、ベイズフィルタ(好ましくは後述のカルマンフィルタ)を用いて相対データを較正(更新)する。ステップS3で相対データが較正される度に、較正後の相対データが最新の相対データとして記憶部7に記憶される。
なお、相対データの初期値は、予め求められていてもよいし、相対データ較正装置10により求められてもよい。
【0052】
上述のステップS1〜S3を繰り返し行っている間に、ロボットアーム3の制御処理が行われる。ロボットアーム3の制御処理は、ステップS11〜S15を有する。
【0053】
ステップS11において、外部センサ5は、ロボットアーム3の動作領域を観測することにより、この領域内に位置する対象物1の観測データD1を取得する。
【0054】
ステップS12において、アーム制御部11は、ステップS11で得た観測データD1に基づいて、外部センサ座標系Saでの対象物1の位置姿勢を求める。
【0055】
ステップS13において、記憶部7内の最新の相対データに基づいて、アーム制御部11は、ステップS12で求めた、外部センサ座標系Saでの対象物1の位置姿勢を、アーム座標系Sbでの位置姿勢に座標変換する。
【0056】
ステップS14において、アーム計測装置9は、ロボットアーム3の先端部3fの位置姿勢を計測により求める。この位置姿勢は、アーム座標系Sbで表されたものである。
【0057】
ステップS15において、アーム制御部11は、ステップS13で変換した対象物1の位置姿勢と、ステップS14で求めたロボットアーム3の先端部3fの位置姿勢とに基づいて、ロボットアーム3を制御する。これにより、ロボットアーム3の先端部3f(例えばハンド)は対象物1に作業を行うように動作する。
【0058】
(較正処理)
ステップS3における相対データの較正処理の一例を詳しく説明する。この例では、カルマンフィルタを用いる。
【0059】
最初に、次の式(1)〜(3)で示すように、上述の相対データ(内部状態)Xと、相対データXの初期値Xt0と、相対データXの初期分散共分散行列CovXt0を定義しておく。
【0060】
【数1】
【0061】
式(1)のx,y,zは、外部センサ5(外部センサ座標系Sa)に対するロボットアーム3の先端部3f(アーム座標系Sb)の位置を示す。外部センサ座標系Saは、互いに直交するx軸とy軸とz軸を有する。式(1)のx,y,zは、それぞれ、外部センサ座標系Saのx軸とy軸とz軸の座標値である。式(1)のx,y,zは、外部センサ座標系Saの原点に対するアーム座標系Sbの原点の座標値であってよい。
【0062】
式(1)のr,r,rは、外部センサ5(外部センサ座標系Sa)に対するロボットアーム3の先端部3f(アーム座標系Sb)の姿勢を示す角度(ラジアン)である。すなわち、r,r,rは、それぞれ外部センサ座標系Saのx軸とy軸とz軸と平行な各軸(例えばアーム座標系Sbの原点を通る軸)まわりの回転角である。
なお、式(1)(2)では省略しているが、好ましくは、Xには、x,y,zの1回時間微分(速度)と2回時間微分(加速度)と、r,r,rの1回時間微分(角速度)も含まれている。
【0063】
(アームマーカの観測に基づく較正)
ステップS1で取得されたアームマーカ13の観測データD2に基づいて、外部センサ座標系Saで表したアームマーカ13の位置姿勢Yを求める。較正処理部23は、この位置姿勢Yを次の式(4)(5)に適用することにより、相対データXとCovXを較正(更新)する。式(4)で較正された相対データXは、最新のデータとして記憶部7に記憶される。CovXは、Xの分散共分散行列を示す。

=X−K(Y1P−Y) ・・・(4)

CovX=(I−K)・CovX ・・・(5)
【0064】
式(4)において、左辺のXは、較正後のXであり、右辺のXは、較正直前のXである。式(5)において、左辺のCovXは、較正後のCovXであり、右辺のCovXは、較正直前のCovXである。また、式(5)において、Iは、単位行列を示す。
【0065】
上式(4)のY1Pは、次の式(6)で表される。

1P=g(X) ・・・(6)

(X)は、時刻tにおけるYの予測値を算出するための関数である。g(X)は、ロボットアーム3の運動モデルに基づいて定められる。較正処理部23は、アーム計測装置9や他のセンサにより計測されたXをg(X)に代入することにより、予測値Y1Pを算出する。
【0066】
は、カルマンゲインであり、次の式(7)で表される。

=CovX・B・V−1 ・・・(7)

ここで、Bは、次の式(8)で表される偏微分行列であり、その上付き文字「T」は転置行列を示す。
【0067】
【数2】
【0068】
上式(7)のVは、次の式(9)で表される。なお、上式(7)においてVの上付き数字「−1」は逆行列を示す。

=B・CovX・B+R ・・・(9)

ここで、Rは、ステップS1で得た観測データD2の計測誤差として想定される分散値である。
【0069】
なお、上述では、1つの外部センサ5の観測に基づいて、カルマンフィルタで相対データXを較正する場合を説明した。外部センサ5が複数ある場合には、他の外部センサ5についても、上記と同様にカルマンフィルタでXを較正する。この場合、ただし、KやBは、外部センサ5毎に異なっていてよい。
【0070】
(外部マーカの観測に基づく較正)
較正処理部23は、ステップS2で取得された外部マーカ15の観測データD3に基づいて、アーム座標系Sbで表した外部マーカ15の位置姿勢Yを求める。較正処理部23は、この位置姿勢Yと、最新の相対データXに基づいて、外部センサ座標系Saで表したアーム座標系Sbの位置姿勢Yを求める。
【0071】
較正処理部23は、この位置姿勢Yを次の式(10)(11)に適用することにより、相対データXとCovXを較正(更新)する。式(10)で較正された相対データXは、最新のデータとして記憶部7に記憶される。

=X−K(Y2P−Y) ・・・(10)

CovX=(I−K)・CovX ・・・(11)
【0072】
式(10)において、左辺のXは、較正後のXであり、右辺のXは、較正直前のXである。式(11)において、左辺のCovXは、較正後のCovXであり、右辺のCovXは、較正直前のCovXである。
【0073】
上式(10)のY2Pは、次の式(12)で表される。

2P=g(X) ・・・(12)

(X)は、時刻tにおけるYの予測値を算出するための関数である。g(X)は、ロボットアーム3の運動モデルに基づいて定められる。較正処理部23は、アーム計測装置9や他のセンサにより計測されたXをg(X)に代入することにより、予測値Y2Pを算出する。なお、g(X)は、上述のg(X)と同じであってもよい。
【0074】
は、カルマンゲインであり、次の式(13)で表される。

=CovX・B・V−1 ・・・(13)

ここで、Bは、次の式(14)で表される偏微分行列である。
【0075】
【数3】
【0076】
上式(13)のVは、次の式(15)で表される。

=B・CovX・B+R ・・・(15)

ここで、Rは、ステップS2で得た観測データD3の計測誤差として想定される分散値である。
【0077】
(実施形態の構成とその効果)
上述の実施形態は、以下のように特徴づけられる構成により以下の効果が得られる。
【0078】
相対データ較正装置10は、外部センサ5に設けられた外部マーカ15と、ロボットアーム3に設けられ外部マーカ15を観測することにより外部マーカ15の観測データD3を取得するアーム側センサ17と、を備える。較正処理部23は、アームマーカ13の観測データD2と外部マーカ15の観測データD3に基づいて、相対データを較正する。
【0079】
この構成では、外部センサ5にも外部マーカ15を設ける。したがって、較正処理部23は、アームマーカ13の観測データD2だけでなく、外部マーカ15の観測データD3にも基づいて、相対データを較正できる。よって、相対データを高精度に較正できる。
【0080】
アームマーカ13は、該アームマーカ13の姿勢が特定可能な形状を有し、アーム側センサ17に一体的に固定されている。外部マーカ15は、該外部マーカ15の姿勢が特定可能な形状を有し、外部センサ5に一体的に固定されている。
【0081】
この構成では、アームマーカ13と外部マーカ15は、それぞれ、その姿勢が特定可能な形状を有する。したがって、較正処理部23は、アームマーカ13の観測データD2と外部マーカ15の観測データD3とに基づいて、相対データとして、ロボットアーム3と外部センサ5との相対姿勢を較正できる。
【0082】
相対データ較正装置10は、アーム側センサ17を回転軸まわりに回転駆動することによりアーム側センサ17の向きを変えるセンサ駆動装置19と、ロボットアーム3の動作に応じてアーム側センサ17が外部マーカ15を向くようにセンサ駆動装置19を制御するセンサ向き制御部21と、を備える。
【0083】
この構成では、ロボットアーム3の作業中に、ロボットアーム3の動作に応じて、アーム側センサ17が外部マーカ15を向くようにセンサ駆動装置19はアーム側センサ17を駆動する。したがって、ロボットアーム3の作業において、より長い期間にわたって、アーム側センサ17は外部マーカ15の観測データD3を取得できる。すなわち、観測データD3の取得回数が増える。よって、これらの観測データD3に基づいて(例えばベイズフィルタを用いて)相対データを較正できるので、相対データの精度を高められる。
【0084】
アームマーカ13と外部マーカ15の各々は、互いに間隔をおいて配置された複数のマーカ部13a,15aを有する。外部センサ5とアーム側センサ17の各々は、カメラである。アームマーカ13の観測データD2と外部マーカ15の観測データD3は、画像データである。
【0085】
この構成では、アームマーカ13は、互いに間隔をおいて配置された複数のマーカ部13aを有する。したがって、較正処理装置は、アームマーカ13の画像データによりアームマーカ13の姿勢を精度よく特定できる。外部マーカ15も同様である。よって、簡易なカメラを用いた場合でも、姿勢に関して相対データを精度よく較正できる。
【0086】
また、ロボットの作業中に、相対データの較正(すなわち、上述のステップS1〜S3)を繰り返し行う。したがって、1回目の較正の精度が低くても、(例えばベイズフィルタを用いた)複数回の較正により相対データの精度を高められる。
【0087】
本発明は上述した実施の形態に限定されず、本発明の要旨を逸脱しない範囲で種々変更を加え得ることは勿論である。例えば、以下の変更例1〜4のいずれかを採用してもよいし、変更例1〜4の2つ以上を任意に組み合わせて採用してもよい。この場合、以下で説明しない点は、上述と同じである。
【0088】
(変更例1)
外部マーカ15とアーム側センサ17を省略してもよい。この場合、較正処理部23は、外部センサ5により観測されたアームマーカ13の観測データD2に基づいて、相対データを較正する。
【0089】
(変更例2)
アームマーカ13と外部マーカ15は、特定の形状を有する部分、特定の色を有する部分、特定の時間間隔をおいて点灯する点滅光源、または、他のものであってもよい。
【0090】
(変更例3)
外部センサ5とアーム側センサ17の一方または両方は、その観測範囲内の各方向へレーザ光を射出することにより観測データを取得するレーザ距離計測装置であってもよい。この場合、観測データは、観測範囲内の物体上の各点までの距離と、これら各点へのレーザ光の射出方向とを含む。
(変更例4)
ロボットアーム3は、次のように制御されてもよい。ステップS11において、外部センサ5は、その観測範囲内における、対象物1以外の計測対象(例えば、障害物または目印)の観測データD2を取得する。ステップS12において、ステップS11で得た観測データD2に基づいて、外部センサ座標系Saでの計測対象の位置姿勢を求める。ステップS13において、記憶部7内の最新の相対データに基づいて、アーム制御部11は、ステップS12で求めた、外部センサ座標系Saでの計測対象の位置姿勢を、アーム座標系Sbでの位置姿勢に座標変換する。ステップS14において、アーム計測装置9は、ロボットアーム3の先端部3fの位置姿勢を計測により求める。ステップS15において、アーム制御部11は、ステップS13で変換した計測対象の位置姿勢と、ステップS14で求めたロボットアーム3の先端部3fの位置姿勢とに基づいて、ロボットアーム3を制御する。これにより、計測対象の位置姿勢に応じて、ロボットアーム3の先端部3f(例えばハンド)が動作する。計測対象が障害物である場合には、ステップS15において、アーム制御部11は、障害物の位置に基づいて、ロボットアーム3が障害物を回避するようにロボットアーム3を制御する。計測対象が目印である場合には、ステップS15において、アーム制御部11は、目印の位置姿勢を基準にロボットアーム3の位置姿勢を制御する。
【0091】
なお、変更例4によると、対象物1の位置姿勢は、外部センサ5または他の装置(例えば、ロボットアーム3の先端部3fに設けたカメラやレーザ距離計測装置)を用いて計測されてもよい。アーム制御部11は、計測された対象物1の位置姿勢に基づいて、ロボットアーム3が対象物1に作業をするようにロボットアーム3を制御する。
【符号の説明】
【0092】
1 対象物、3 ロボットアーム、3a,3b,3c,3d,3e リンク、3f 先端部、5 外部センサ、5a 観測部、7 記憶部、9 アーム計測装置、10 相対データ較正装置、11 アーム制御部、13 アームマーカ、13a マーカ部、15 外部マーカ、15a マーカ部、17 アーム側センサ、17a 観測部、19 センサ駆動装置、20 制御装置、21 センサ向き制御部、23 較正処理部、Sa 外部センサ座標系、Sb アーム座標系
図1
図2
図3
図4