(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【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
tと、相対データX
tの初期値X
t0と、相対データX
tの初期分散共分散行列CovX
t0を定義しておく。
【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
x,r
y,r
zは、外部センサ5(外部センサ座標系Sa)に対するロボットアーム3の先端部3f(アーム座標系Sb)の姿勢を示す角度(ラジアン)である。すなわち、r
x,r
y,r
zは、それぞれ外部センサ座標系Saのx軸とy軸とz軸と平行な各軸(例えばアーム座標系Sbの原点を通る軸)まわりの回転角である。
なお、式(1)(2)では省略しているが、好ましくは、X
tには、x,y,zの1回時間微分(速度)と2回時間微分(加速度)と、r
x,r
y,r
zの1回時間微分(角速度)も含まれている。
【0063】
(アームマーカの観測に基づく較正)
ステップS1で取得されたアームマーカ13の観測データD2に基づいて、外部センサ座標系Saで表したアームマーカ13の位置姿勢Y
1を求める。較正処理部23は、この位置姿勢Y
1を次の式(4)(5)に適用することにより、相対データX
tとCovX
tを較正(更新)する。式(4)で較正された相対データX
tは、最新のデータとして記憶部7に記憶される。CovX
tは、X
tの分散共分散行列を示す。
X
t=X
t*−K
1(Y
1P−Y
1) ・・・(4)
CovX
t=(I−K
1B
1)・CovX
t* ・・・(5)
【0064】
式(4)において、左辺のX
tは、較正後のX
tであり、右辺のX
t*は、較正直前のX
tである。式(5)において、左辺のCovX
tは、較正後のCovX
tであり、右辺のCovX
t*は、較正直前のCovX
tである。また、式(5)において、Iは、単位行列を示す。
【0065】
上式(4)のY
1Pは、次の式(6)で表される。
Y
1P=g
1(X
t) ・・・(6)
g
1(X
t)は、時刻tにおけるY
1の予測値を算出するための関数である。g
1(X
t)は、ロボットアーム3の運動モデルに基づいて定められる。較正処理部23は、アーム計測装置9や他のセンサにより計測されたX
tをg
1(X
t)に代入することにより、予測値Y
1Pを算出する。
【0066】
K
1は、カルマンゲインであり、次の式(7)で表される。
K
1=CovX
t・B
1T・V
1−1 ・・・(7)
ここで、B
1は、次の式(8)で表される偏微分行列であり、その上付き文字「T」は転置行列を示す。
【0068】
上式(7)のV
1は、次の式(9)で表される。なお、上式(7)においてV
1の上付き数字「−1」は逆行列を示す。
V
1=B
1・CovX
t・B
1T+R
1 ・・・(9)
ここで、R
1は、ステップS1で得た観測データD2の計測誤差として想定される分散値である。
【0069】
なお、上述では、1つの外部センサ5の観測に基づいて、カルマンフィルタで相対データX
tを較正する場合を説明した。外部センサ5が複数ある場合には、他の外部センサ5についても、上記と同様にカルマンフィルタでX
tを較正する。この場合、ただし、K
1やB
1は、外部センサ5毎に異なっていてよい。
【0070】
(外部マーカの観測に基づく較正)
較正処理部23は、ステップS2で取得された外部マーカ15の観測データD3に基づいて、アーム座標系Sbで表した外部マーカ15の位置姿勢Yを求める。較正処理部23は、この位置姿勢Yと、最新の相対データX
tに基づいて、外部センサ座標系Saで表したアーム座標系Sbの位置姿勢Y
2を求める。
【0071】
較正処理部23は、この位置姿勢Y
2を次の式(10)(11)に適用することにより、相対データX
tとCovX
tを較正(更新)する。式(10)で較正された相対データX
tは、最新のデータとして記憶部7に記憶される。
X
t=X
t*−K
2(Y
2P−Y
2) ・・・(10)
CovX
t=(I−K
2B
2)・CovX
t* ・・・(11)
【0072】
式(10)において、左辺のX
tは、較正後のX
tであり、右辺のX
t*は、較正直前のX
tである。式(11)において、左辺のCovX
tは、較正後のCovX
tであり、右辺のCovX
t*は、較正直前のCovX
tである。
【0073】
上式(10)のY
2Pは、次の式(12)で表される。
Y
2P=g
2(X
t) ・・・(12)
g
2(X
t)は、時刻tにおけるY
2の予測値を算出するための関数である。g
2(X
t)は、ロボットアーム3の運動モデルに基づいて定められる。較正処理部23は、アーム計測装置9や他のセンサにより計測されたX
tをg
2(X
t)に代入することにより、予測値Y
2Pを算出する。なお、g
2(X
t)は、上述のg
1(X
t)と同じであってもよい。
【0074】
K
2は、カルマンゲインであり、次の式(13)で表される。
K
2=CovX
t・B
2T・V
2−1 ・・・(13)
ここで、B
2は、次の式(14)で表される偏微分行列である。
【0076】
上式(13)のV
2は、次の式(15)で表される。
V
2=B
2・CovX
t・B
2T+R
2 ・・・(15)
ここで、R
2は、ステップ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を制御する。