(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024162001
(43)【公開日】2024-11-21
(54)【発明の名称】位置姿勢取得装置、及びプローブ
(51)【国際特許分類】
B25J 9/22 20060101AFI20241114BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023077118
(22)【出願日】2023-05-09
(71)【出願人】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】久保 正樹
(72)【発明者】
【氏名】北野 豊和
(72)【発明者】
【氏名】古川 直樹
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS11
3C707BS10
3C707JU02
3C707JU07
3C707KS03
3C707KS04
3C707KT03
3C707KT05
3C707KT06
3C707LS05
3C707LS09
3C707LS15
(57)【要約】
【課題】操作者がプローブを手で移動させる際の手ぶれの影響を低減することができる位置姿勢取得装置を提供する。
【解決手段】位置姿勢取得装置3は、操作者によって移動されるプローブ7の撮影画像を取得する撮影画像取得部31と、撮影画像を用いて、プローブ7の位置及び姿勢を取得する位置姿勢取得部33と、位置姿勢取得部33によって取得されたプローブ7の位置について、操作者の手ぶれの影響を低減するための補正処理を行う位置補正部35と、位置姿勢取得部33によって取得されたプローブ7の姿勢について、操作者の手ぶれの影響を低減するための補正処理を行う姿勢補正部36とを備える。このようにして、プローブ7の位置及び姿勢のそれぞれについて補正処理を行うことによって、プローブを移動させる操作者の手ぶれの影響を低減することができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
操作者によって移動されるプローブの撮影画像を取得する撮影画像取得部と、
前記撮影画像を用いて、前記プローブの位置及び姿勢を取得する位置姿勢取得部と、
前記位置姿勢取得部によって取得された前記プローブの位置について、前記操作者の手ぶれの影響を低減するための補正処理を行う位置補正部と、を備えた位置姿勢取得装置。
【請求項2】
前記位置補正部によって行われる補正処理は、前記プローブの移動に応じて取得された複数の位置に関する移動平均による平滑化である、請求項1記載の位置姿勢取得装置。
【請求項3】
前記位置姿勢取得部によって取得された前記プローブの姿勢について、前記操作者の手ぶれの影響を低減するための補正処理を行う姿勢補正部をさらに備えた、請求項1記載の位置姿勢取得装置。
【請求項4】
前記姿勢補正部によって行われる補正処理は、前記プローブの移動に応じて取得された複数の姿勢に関する平均化である、請求項3記載の位置姿勢取得装置。
【請求項5】
前記プローブの端部が対象物に接触しているかどうかを示す接触状態信号を受け付ける受付部をさらに備え、
前記位置補正部は、前記接触状態信号によって前記プローブの端部が対象物に接触していることが示される際の前記プローブの位置について前記補正処理を行う、請求項1から請求項4のいずれか記載の位置姿勢取得装置。
【請求項6】
操作者によって移動されるプローブであり、当該プローブの撮影画像を用いた位置及び姿勢の取得が行われるプローブであって、
プローブ本体と、
前記プローブ本体の端部に設けられた、対象物との接触の有無を検知するためのセンサと、
前記センサによって接触が検知されていない場合にアラートを出力する出力部と、を備えたプローブ。
【請求項7】
操作者によって移動されるプローブであり、当該プローブの撮影画像を用いた位置及び姿勢の取得が行われるプローブであって、
プローブ本体と、
前記プローブ本体の端部に設けられた、対象物との接触の有無を検知するためのセンサと、
前記センサによる検知結果に応じて、前記プローブの端部が対象物に接触しているかどうかを示す接触状態信号を送信する送信部と、を備えたプローブ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プローブの位置及び姿勢を取得するための位置姿勢取得装置等に関する。
【背景技術】
【0002】
従来、溶接ロボットの教示は、溶接ロボットの手先に装着されている溶接トーチを移動させることによって行われていた。なお、溶接ロボットを用いるのではなく、操作者によって移動されるプローブなどの位置や姿勢を取得することによる溶接ロボットの教示も行われている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
操作者がプローブを手で持って移動させる場合には、所望の姿勢のプローブを所望の位置に容易に移動させることができるという利便性はあるが、その移動時に手ぶれが生じることがあり、教示された位置について、その手ぶれの影響によって誤差が生じる可能性があった。また、その手ぶれの結果として、教示データの品質が安定しなくなるという課題がある。
【0005】
本発明は、上記課題を解決するためになされたものであり、プローブの位置を取得する際に、プローブを移動させる操作者の手ぶれの影響を低減することができる位置姿勢取得装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の一態様による位置姿勢取得装置は、操作者によって移動されるプローブの撮影画像を取得する撮影画像取得部と、撮影画像を用いて、プローブの位置及び姿勢を取得する位置姿勢取得部と、位置姿勢取得部によって取得されたプローブの位置について、操作者の手ぶれの影響を低減するための補正処理を行う位置補正部と、を備えたものである。
【発明の効果】
【0007】
本発明の一態様による位置姿勢取得装置等によれば、プローブの位置を取得する際に、プローブを移動させる操作者の手ぶれの影響を低減することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施の形態による情報処理システムの構成を示す模式図
【
図2】同実施の形態による位置姿勢取得装置の動作を示すフローチャート
【
図3】同実施の形態におけるプローブの他の一例を示す斜視図
【
図4】同実施の形態におけるプローブの構成の一例を示す機能ブロック図
【発明を実施するための形態】
【0009】
以下、本発明による位置姿勢取得装置、及びプローブについて、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による位置姿勢取得装置は、プローブの撮影画像を用いて取得された位置及び姿勢について、プローブを移動させる操作者の手ぶれの影響を低減するための補正処理を行うものである。
【0010】
図1は、本実施の形態による情報処理システム100の構成を示す模式図である。本実施の形態による情報処理システム100は、ロボット1と、プローブ7を撮影するためのカメラ2と、カメラ2によって撮影された撮影画像を用いてプローブ7の位置及び姿勢を取得する位置姿勢取得装置3と、プローブ7とを備える。カメラ2は、一例として、ロボット1に装着されていてもよい。
【0011】
ロボット1は、一例として、モータによって駆動される関節によって連結された複数のアームを有するものであってもよい。ロボット1は、例えば、垂直多関節ロボットであってもよい。このロボット1の軸数は問わない。本実施の形態では、ロボット1が溶接ロボットであり、その溶接ロボットの教示がプローブ7を用いて行われる場合について主に説明する。
【0012】
カメラ2は、例えば、ロボット1の先端に取り付けられてもよく、または、ロボット1のそれ以外の箇所に取り付けられてもよい。また、カメラ2は、例えば、ロボット1に取り付けられていなくてもよい。この場合には、情報処理システム100は、ロボット1を備えていなくてもよい。また、ロボット1に取り付けられていないカメラ2は、プローブ7を撮影しやすい場所、例えば、天井などに配置されていてもよい。カメラ2がロボット1以外に配置されている場合には、カメラ2とロボット1との相対的な位置関係が分かっていることが好適である。ロボット1を基準としたプローブ7の位置や姿勢を取得できるようにするためである。本実施の形態では、カメラ2がロボット1の先端付近に取り付けられている場合について主に説明する。なお、カメラ2によってプローブ7が撮影されている際に、プローブ7の移動に応じてカメラ2の位置や光軸方向がロボット1によって変化されてもよく、または、そうでなくてもよい。前者の場合には、例えば、カメラ2による撮影時に、位置姿勢取得装置3は、プローブ7に追従した撮影が行われるようにロボット1の制御を行う制御部をさらに備えていてもよい。プローブ7の移動に応じてカメラ2の位置や光軸方向が変化しない場合には、プローブ7の移動の開始から終了までのすべてをカメラ2によって撮影できるようにカメラ2の位置や光軸方向、画角などが設定されていることが好適である。
【0013】
カメラ2は、プローブ7を撮影するためのものであり、例えば、単眼のカメラであってもよく、ステレオカメラであってもよい。本実施の形態では、カメラ2が単眼のカメラである場合について主に説明する。また、カメラ2によって取得される撮影画像は、例えば、グレースーケール画像であってもよく、カラー画像であってもよい。例えば、プローブ7に取り付けられているマーカ5が複数の色を有している場合には、撮影画像がカラー画像であることが好適である。また、カメラ2は、例えば、静止画を撮影してもよく、動画を撮影してもよい。後者の場合には、動画に含まれる1フレームが、撮影画像として位置姿勢取得装置3で用いられてもよい。
【0014】
プローブ7は、操作者によって移動されるものである。プローブ7は、例えば、操作者の身体の少なくとも一部(例えば、手など)と一緒に移動されてもよい。操作者は、通常、プローブ7を手で持って移動させる。プローブ7は、操作者が手で持つことができる程度の大きさ、重量であることが好適である。プローブ7は、プローブ本体70と、プローブ本体70の少なくとも一部に取り付けられたマーカ5とを有していてもよい。プローブ本体70は、一例として、溶接ロボットの溶接トーチを模擬したものであってもよい。プローブ本体70は、一例として、平面状のマーカ5が貼り付けられる板状部材7aと、その板状部材7aに接続された棒状部材7bとを有していてもよい。棒状部材7bは、例えば、板状部材7aのマーカ5が貼り付けられる面と反対側の面の重心に、その面と垂直になるように取り付けられていてもよい。
【0015】
マーカ5は、例えば、3個以上の特徴点を有していてもよい。例えば、
図1で示されるマーカ5では、特徴点は、矩形状の図形の各頂点であってもよい。平面状のマーカ5は、例えば、
図1で示されるように矩形状であってもよく、多角形状であってもよく、または、その他の形状であってもよい。マーカ5は、一例として、向きを一意に特定することができるものであってもよい。また、例えば、特徴点間の距離は既知であってもよい。
【0016】
位置姿勢取得装置3は、プローブ7の撮影画像を用いてプローブ7の位置及び姿勢を取得するものであり、撮影画像取得部31と、受付部32と、位置姿勢取得部33と、記憶部34と、位置補正部35と、姿勢補正部36と、出力部37とを備える。位置姿勢取得装置3は、カメラ2によって撮影された撮影画像を取得することができるように、カメラ2に有線または無線で接続されていることが好適である。また、ロボット1も制御する場合には、位置姿勢取得装置3は、ロボット1とも有線または無線で接続されていることが好適である。
【0017】
撮影画像取得部31は、操作者によって移動されるプローブ7の撮影画像を取得する。その撮影画像は、例えば、カメラ2によって撮影されたものであってもよい。撮影画像取得部31は、撮影画像を繰り返して取得することが好適である。撮影画像取得部31は、例えば、撮影画像を定期的に取得してもよい。撮影画像取得部31は、例えば、撮影画像を取得する旨の指示をカメラ2に送信し、それに応じてカメラ2から送信された撮影画像を受信することによって撮影画像を取得してもよい。また、撮影画像取得部31は、例えば、定期的にまたは不定期にカメラ2から撮影画像を受け付けることによって撮影画像を取得してもよい。取得された撮影画像は、例えば、記憶部34などの記録媒体で記憶されてもよい。撮影画像には、プローブ7に取り付けられたマーカ5が含まれていることが好適である。
【0018】
受付部32は、指示等を受け付ける。受付部32は、例えば、プローブ7の位置及び姿勢の取得の開始の指示、及び終了の指示の少なくとも一方を受け付けてもよい。また、受付部32は、例えば、補正処理で用いられるパラメータ等を受け付けてもよい。受付部32は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線または無線の通信回線を介して送信された情報を受信してもよい。なお、受付部32は、受け付けを行うためのデバイス、例えば、入力デバイスや通信デバイスなどを含んでもよく、または含まなくてもよい。また、受付部32は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。なお、位置姿勢取得装置3において指示等の受け付けが行われない場合には、位置姿勢取得装置3は、受付部32を備えていなくてもよい。
【0019】
位置姿勢取得部33は、撮影画像取得部31によって取得された撮影画像を用いて、プローブ7の位置及び姿勢を取得する。この位置や姿勢は、通常、実空間における位置や姿勢である。実空間における位置や姿勢は、一例として、ロボット1の座標系における位置や姿勢であってもよい。本実施の形態では、この場合について主に説明する。プローブ7の位置は、例えば、プローブ7の所定の箇所の位置であってもよい。この所定の箇所の位置は、一例として、プローブ7の棒状部材7bの先端部7cの位置であってもよい。また、プローブ7の姿勢は、例えば、プローブ7の所定の箇所の姿勢であってもよい。この所定の箇所の姿勢は、一例として、プローブ7の棒状部材7bの姿勢であってもよい。この姿勢は、例えば、棒状部材7bの長手方向の角度を含んでいてもよい。また、この姿勢は、例えば、棒状部材7bの長手方向を中心軸とした回転角も含んでいてもよい。
【0020】
一例として、位置姿勢取得部33によって取得された位置及び姿勢によって、ロボット1の溶接トーチの位置及び姿勢が示されてもよい。溶接トーチの位置は、例えば、溶接トーチの先端の位置であってもよい。この位置は、例えば、ある座標系における座標値によって示されてもよい。溶接トーチの姿勢は、例えば、溶接トーチの先端部分の角度であってもよい。溶接トーチの先端部分の角度は、例えば、ある座標系における角度(例えば、方位角と仰俯角等)によって示されてもよく、溶接パスに対する角度である狙い角や前進後退角によって示されてもよい。なお、狙い角は、溶接線を含む基準平面と、溶接線及び溶接トーチの長手方向軸線(例えば、溶接トーチや溶接ワイヤの先端部分の長手方向軸線であってもよい)を含む平面とのなす角度であってもよい。また、前進後退角は、溶接線と溶接トーチの長手方向軸線とを含む平面における、溶接線の法線と溶接トーチの長手方向軸線とのなす角度であってもよい。また、角度に、例えば、溶接トーチの長手方向軸線を中心軸とした回転角も含まれてもよい。なお、姿勢が狙い角や前進後退角によって示される場合には、例えば、プローブ7の姿勢が取得される座標系における溶接パスや基準平面の位置があらかじめ設定されており、位置姿勢取得部33は、それらを用いて、プローブ7の角度から、狙い角や前進後退角を特定してもよい。
【0021】
位置姿勢取得部33は、例えば、撮影画像に含まれるマーカ5の3個以上の特徴点を用いて、プローブ7の位置や姿勢を取得してもよい。より具体的には、位置姿勢取得部33は、撮影画像においてマーカ5を特定し、その特定したマーカ5の3個以上の特徴点を用いることによって、カメラ2の座標系と、マーカ5の座標系との相対的な位置関係(例えば、両座標系の間の変換を示す同次変換行列など)を取得してもよい。なお、特徴点を用いた同次変換行列などの相対的な位置関係を示す情報の取得については公知であるため、その詳細な説明を省略する。カメラ2の座標系と、ロボット1の座標系との相対的な位置関係は既知であり、マーカ5の座標系と、プローブ7の座標系との相対的な位置関係も既知であるため、位置姿勢取得部33は、例えば、ロボット1の座標系におけるプローブ7の所定の箇所の位置や姿勢を取得することができる。なお、カメラ2がステレオカメラである場合には、例えば、撮影画像を用いて取得されたプローブ7の特徴点までの距離を用いて、カメラ2の座標系と、プローブ7の座標系との相対的な位置関係が取得され、それを用いてプローブ7の位置及び姿勢が取得されてもよい。位置姿勢取得部33は、例えば、取得した位置や姿勢を記憶部34に蓄積してもよい。
【0022】
位置姿勢取得部33は、撮影画像取得部31によって取得された時系列に沿った複数の撮影画像からそれぞれ位置及び姿勢を取得してもよい。すなわち、プローブ7の位置及び姿勢の取得が繰り返して行われ、プローブ7の位置に関する時系列データ、及びプローブ7の姿勢に関する時系列データが取得されてもよい。位置や姿勢に関する時系列データには、プローブ7の時系列に沿った複数の位置や複数の姿勢が含まれていてもよい。位置に関する時系列データと姿勢に関する時系列データとは同期していることが好適である。両時系列データが同期しているとは、位置に関する時系列データに含まれる各位置と、姿勢に関する時系列データに含まれる各姿勢との対応関係が分かるようになっていることであってもよい。位置姿勢取得部33は、例えば、プローブ7の位置及び姿勢の取得の開始の指示が受付部32で受け付けられてから、その取得の終了の指示が受付部32で受け付けられるまでの期間に取得された撮影画像について、位置及び姿勢の取得を行ってもよい。なお、後段の補正処理等において時間の情報が用いられる場合には、位置姿勢取得部33は、例えば、位置や姿勢を、それらに対応する時刻に対応付けて記憶部34に蓄積してもよい。位置や姿勢に対応する時刻は、例えば、その位置や姿勢を取得する際に用いられた撮影画像の撮影時刻であってもよい。また、時刻は、例えば、時計の時刻であってもよく、ある時点を基準としたタイマの値であってもよい。
【0023】
記憶部34では、例えば、位置姿勢取得部33によって取得された複数の位置や複数の姿勢が記憶される。また、例えば、位置補正部35による補正後の複数の位置や、姿勢補正部36による補正後の複数の姿勢も記憶部34で記憶されてもよい。記憶部34は、不揮発性の記録媒体によって実現されることが好適であるが、揮発性の記録媒体によって実現されてもよい。記録媒体は、例えば、半導体メモリや磁気ディスクなどであってもよい。
【0024】
位置補正部35は、位置姿勢取得部33によって取得されたプローブ7の位置について、操作者の手ぶれの影響を低減するための補正処理を行う。この補正処理は、例えば、外れ値を除外したり、手ぶれに応じた誤差を低減したりするための処理であり、複数の位置を用いて行われてもよい。この補正処理は、例えば、プローブ7の移動に応じて取得された複数の位置に関する移動平均による平滑化であってもよい。位置補正部35は、例えば、位置に関する時系列データにおける連続した所定の個数の位置のデータ、または連続した所定の時間の範囲の位置のデータについて平均値を算出する処理を、平均化する対象となる位置のデータを1個ずつずらしながら繰り返すことによって平滑化を行ってもよい。この移動平均による平滑化を行うことで、手ぶれの影響によって本来の位置からずれたデータの影響が小さくなるようにすることができ、結果として誤差を低減することができる。この移動平均は、例えば、単純移動平均であってもよく、加重移動平均であってもよい。加重移動平均では、一例として、平均の対象となる連続した複数の位置のデータのうち、真ん中の位置のデータが最も大きい重みとなり、真ん中から離れるほどより小さい重みとなるように重みが設定されてもよい。なお、移動平均における平均の対象となるデータの個数や時間の範囲は、例えば、パラメータとして設定できるようになっていてもよい。この場合には、例えば、操作者等によって入力されたパラメータである個数や時間の範囲が移動平均において用いられてもよい。
【0025】
また、位置姿勢取得部33によって取得された複数の位置が、あらかじめ形状の分かっている経路に沿った位置である場合には、位置補正部35は、例えば、取得された複数の位置にフィットする経路を特定し、その特定した経路上の位置を補正後の位置としてもよい。なお、あらかじめ形状の分かっている経路は、例えば、直線の経路や、曲率が一定である曲線の経路などであってもよい。この場合には、位置補正部35は、例えば、最小二乗法などを用いて、取得された複数の位置と、あらかじめ形状の分かっている経路との誤差が小さくなるように、取得された複数の位置にフィットする経路を特定してもよい。
【0026】
姿勢補正部36は、位置姿勢取得部33によって取得されたプローブ7の姿勢について、操作者の手ぶれの影響を低減するための補正処理を行う。この補正処理は、例えば、複数の姿勢を用いて行われてもよい。なお、プローブ7の姿勢は、通常、2以上の角度によって示される。プローブ7の姿勢は、上記したように、例えば、所定の座標系における方位角や仰俯角によって示されてもよく、狙い角や前進後退角によって示されてもよく、さらに、回転角を含んでいてもよい。姿勢に関する補正処理は、例えば、複数の角度のうち、少なくとも一部の角度について行われてもよい。一例として、前進後退角についてのみ補正処理が行われ、狙い角、及び回転角については補正処理が行われなくてもよい。この場合であっても、少なくとも一部の角度については補正処理が行われているため、プローブ7の姿勢について補正処理が行われたと考えてもよい。補正処理の行われない角度については、位置姿勢取得部33によって取得された角度が、そのまま教示データとして用いられてもよい。一方、すべての角度について補正処理が行われてもよい。一例として、前進後退角、狙い角、及び回転角のそれぞれについて、補正処理が行われてもよい。この補正処理は、例えば、プローブ7の移動に応じて取得された複数の姿勢に関する平均化であってもよい。すなわち、この補正処理は、位置姿勢取得部33によって取得されたプローブ7の時系列に沿った複数の角度の平均値の算出であってもよい。例えば、下向きの溶接が行われる場合には、通常、溶接トーチの長手方向軸線の角度は変化させないことが多い。そのため、このように姿勢の平均値を算出することによって、角度の変動を抑えることができ、手ぶれの影響による誤差を低減することができる。複数の姿勢に関する平均化は、例えば、時系列に沿った複数の前進後退角に関する平均化であってもよい。また、例えば、溶接線ごとに平均値の算出が行われてもよい。
【0027】
また、プローブ7の姿勢についても、プローブ7の位置と同様に、プローブ7の移動に応じて取得された複数の姿勢に関する移動平均による平滑化である補正処理が行われてもよい。なお、例えば、プローブ7の姿勢を示す複数の角度ごとに補正処理が異なってもよい。例えば、前進後退角については平均化である補正処理が行われ、狙い角及び回転角については、移動平均による平滑化である補正処理が行われてもよい。
【0028】
なお、姿勢についても移動平均による平滑化である補正処理が行われる場合には、補正処理後の位置と補正処理後の姿勢との対応関係が分かるようになっていることが好適である。例えば、複数の位置について補正処理である平均化が行われた後の位置と、その複数の位置にそれぞれ対応する複数の姿勢について補正処理である平均化が行われた後の姿勢とが組になるように位置及び姿勢に関する補正処理が行われてもよい。一方、複数の姿勢について平均化である補正処理が行われる場合には、例えば、補正後の各位置に、同じ姿勢が対応付けられてもよい。すなわち、補正後の各位置と、同じ姿勢とが組になるように位置及び姿勢に関する補正処理が行われてもよい。また、補正処理後の位置、及び補正処理後の姿勢は、例えば、記憶部34に蓄積されてもよい。この補正処理後の位置や姿勢が、教示データとして用いられてもよい。補正処理後の姿勢は、例えば、補正処理の行われた角度と、補正処理の行われていない角度とを含んでいてもよい。すなわち、プローブ7の姿勢を示す複数の角度の少なくとも一部について補正処理が行われない場合には、例えば、補正処理後の姿勢に、その補正処理の行われていない角度も含まれていてもよい。
【0029】
出力部37は、例えば、補正処理後の複数の位置、及び補正処理後の複数の姿勢を出力してもよい。この出力部37による出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。一例として、補正処理後の位置や姿勢が出力部37によって、ロボット1を制御する制御装置に送信されてもよい。位置姿勢取得装置3がロボット1を制御する制御装置に含まれる場合には、出力部37は、ロボット1を制御する構成要素に補正処理後の位置や姿勢を渡してもよい。また、位置姿勢取得装置3がロボット1の制御を行う制御部を備えている場合には、出力部37による位置や姿勢の出力は行われなくてもよい。この場合には、例えば、その制御部が、記憶部34で記憶されている補正処理後の位置や姿勢を用いてロボット1を制御してもよい。また、出力部37は、例えば、操作者等が補正処理後の位置や姿勢を確認することができるように、補正処理後の位置や姿勢を表示してもよい。出力部37は、出力を行うデバイス(例えば、通信デバイスなど)を含んでもよく、または含まなくてもよい。また、出力部37は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0030】
また、補正処理後の位置や姿勢は、例えば、ロボット1の溶接トーチなどの位置や姿勢を示すデータである。そのため、その位置や姿勢について、ロボット1に関する逆運動学の計算を行うことによって、ロボット1の各関節の角度を算出する逆運動学変換部を位置姿勢取得装置3が備えていてもよい。この場合には、例えば、逆運動学変換部によって算出されたロボット1の各関節の角度が、出力部37によって出力されてもよい。
【0031】
次に、位置姿勢取得装置3の動作について
図2のフローチャートを用いて説明する。
(ステップS101)受付部32は、プローブ7の位置及び姿勢の取得に関する開始の指示を受け付けたかどうか判断する。そして、開始の指示を受け付けた場合には、ステップS102に進み、そうでない場合には、開始の指示を受け付けるまでステップS101の処理を繰り返す。
(ステップS102)撮影画像取得部31は、撮影画像を取得するかどうか判断する。そして、撮影画像を取得する場合には、ステップS103に進み、そうでない場合には、ステップS105に進む。なお、撮影画像取得部31は、例えば、撮影画像を取得すると定期的に判断してもよい。
【0032】
(ステップS103)撮影画像取得部31は、カメラ2から撮影画像を取得する。
【0033】
(ステップS104)位置姿勢取得部33は、取得された撮影画像に含まれるマーカ5を特定し、その特定したマーカ5の特徴点を用いて、マーカ5の取り付けられているプローブ7の位置や姿勢を取得する。この取得された位置や姿勢は、例えば、記憶部34に蓄積されてもよい。そして、ステップS102に戻る。
【0034】
(ステップS105)受付部32は、プローブ7の位置及び姿勢の取得に関する終了の指示を受け付けたかどうか判断する。そして、終了の指示を受け付けた場合には、ステップS106に進み、そうでない場合には、ステップS102に戻る。
【0035】
(ステップS106)位置補正部35は、取得された複数の位置について補正処理を行う。補正処理後の位置は、記憶部34に蓄積されてもよい。
【0036】
(ステップS107)姿勢補正部36は、取得された複数の姿勢について補正処理を行う。補正処理後の姿勢は、記憶部34に蓄積されてもよい。そして、位置及び姿勢を取得し、それらについて行われる手ぶれの影響を低減するための補正処理は終了となる。
【0037】
なお、
図2のフローチャートにおいて、補正処理後に、補正された複数の位置及び姿勢を出力するステップが実行されてもよい。また、
図2のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。
【0038】
次に、本実施の形態による位置姿勢取得装置3の動作について、具体例を用いて説明する。この具体例では、プローブ7を用いて溶接経路を教示する場合について説明する。この場合には、教示の作業を行うプローブ7の操作者は、プローブ7を手で持って、プローブ7の先端部7cが溶接線の位置となり、棒状部材7bの姿勢が溶接トーチの長手方向軸線の姿勢となるようにプローブ7を移動させてもよい。なお、カメラ2の向きや位置は、プローブ7に取り付けられたマーカ5を撮影できるように調整されていてもよい。
【0039】
操作者は、プローブ7の移動を開始する際に、位置や姿勢の取得の開始の指示を位置姿勢取得装置3に入力する。その開始の指示は受付部32で受け付けられ、位置姿勢取得部33に渡される(ステップS101)。その終了の指示を受け取ると、位置姿勢取得部33は、撮影画像取得部31による撮影画像の取得を開始させる。その結果、カメラ2によって撮影された撮影画像が、撮影画像取得部31によって定期的に取得され、位置姿勢取得部33に渡される(ステップS102、S103)。撮影画像を受け取ると、位置姿勢取得部33は、撮影画像に含まれるマーカ5を特定し、そのマーカ5の特徴点を用いてカメラ2の座標系とマーカ5の座標系との間の変換を示す同次変換行列を取得し、その同次変換行列と、カメラ2の座標系とロボット1の座標系との間の変換を示す同次変換行列、及びマーカ5の座標系とプローブ7の座標系との間の変換を示す同次変換行列とを用いることによって、ロボット1の座標系におけるプローブ7の先端部7cの位置、及びプローブ7の棒状部材7bの姿勢の組を取得して記憶部34に蓄積する(ステップS104)。この撮影画像の取得と、位置や姿勢の取得の処理が繰り返されることにより、記憶部34にプローブ7の位置及び姿勢の時系列データが記憶されることになる(ステップS102~S104)。
【0040】
操作者は、プローブ7の移動が終了した際に、位置や姿勢の取得の終了の指示を位置姿勢取得装置3に入力する。その終了の指示は受付部32で受け付けられ、位置姿勢取得部33、位置補正部35、及び姿勢補正部36に渡される(ステップS105)。その終了の指示を受け取ると、位置姿勢取得部33は、撮影画像取得部31による撮影画像の取得を終了させると共に、撮影画像を用いた位置及び姿勢の取得の処理を終了する。また、その終了の指示を受け取ると、位置補正部35及び姿勢補正部36は、記憶部34で記憶されている複数の位置及び複数の姿勢についてそれぞれ補正処理を行い、その補正処理後の位置及び姿勢をそれぞれ記憶部34に蓄積する(ステップS106、S107)。このようにして、操作者の手ぶれの影響を低減した位置及び姿勢が記憶部34で記憶されるようになる。なお、時系列に沿った補正処理後の位置及び姿勢である教示データは、例えば、ロボット1による溶接処理のために用いられてもよい。
【0041】
以上のように、本実施の形態による位置姿勢取得装置3によれば、操作者によって移動されたプローブ7の位置及び姿勢を取得することができると共に、その取得した位置及び姿勢の補正処理を行うことによって、手ぶれの影響を低減した滑らかな教示を行うことができる。その結果、誤差を低減した教示データを取得することができるようになる。また、プローブ7の位置及び姿勢のそれぞれについて独立して補正を行うことによって、例えば、位置については移動平均による平滑化を行と共に、姿勢を示す複数の角度のうち、前進後退角などの少なくとも一部については、平均化することによって一定の値になるようにすることもできる。このようにして、溶接などの教示の実態に即した補正処理を行うことができるようになる。
【0042】
なお、本実施の形態において、位置や姿勢の精度をより高めるため、プローブ7がワークなどの対象物に適切に接触している場合にのみ、そのプローブ7に応じた位置や姿勢の取得を行うようにしてもよい。この場合には、例えば、プローブ7は、
図3、
図4で示されるものであってもよい。
図3は、プローブ7の斜視図であり、
図4は、プローブ7の機能を示す機能ブロック図である。このプローブ7は、プローブ本体70と、プローブ本体70の端部に設けられたセンサ71と、出力部72と、送信部73とを備えていてもよい。プローブ本体70の端部は、一例として、棒状部材7bの先端部7cであってもよい。
【0043】
センサ71は、ワークなどの対象物との接触の有無を検知するためのセンサである。センサ71は、例えば、接触センサであってもよく、近接センサであってもよく、対象物との接触の有無を検知することができるその他のセンサであってもよい。センサ71は、一例として、対象物と接触している場合に、そのことを示す信号を出力するものであってもよい。近接センサであるセンサ71は、例えば、対象物までの距離が接触しているとみなすことができるぐらい近い場合に、そのことを示す信号を出力するものであってもよい。
【0044】
出力部72は、センサ71によって接触が検知されていない場合にアラートを出力する。このアラートの出力は、例えば、光や音などによるアラートの出力であってもよく、アラートを示す信号の送信であってもよい。本実施の形態では、センサ71によって接触が検知されていないときに、出力部72が棒状部材7bに設けられたLED等の発光素子を点灯することによってアラートを出力する場合について主に説明する。すなわち、発光素子が点灯している場合には先端部7cが対象物に接触していないことになり、発光素子が消灯している場合には先端部7cが対象物に接触していることになる。
【0045】
送信部73は、センサ71による検知結果に応じて、プローブ7の端部が、ワークなどの対象物に接触しているかどうかを示す接触状態信号を有線または無線により位置姿勢取得装置3に送信する。接触状態信号は、結果として、プローブ7の端部の接触の有無を知ることができるのであれば、どのような信号であってもよい。送信部73は、例えば、先端部7cが対象物に接触している場合に、そのことを示す接触状態信号を送信してもよく、先端部7cが対象物に接触していない場合に、そのことを示す接触状態信号を送信してもよく、その両方であってもよい。
【0046】
この場合には、位置姿勢取得装置3の受付部32は、例えば、プローブ7の端部が対象物に接触しているかどうかを示す接触状態信号を受け付けてもよい。この接触状態信号の受け付けは、例えば、有線または無線による接触状態信号の受信であってもよい。
【0047】
また、位置補正部35は、受付部32によって受け付けられた接触状態信号によってプローブ7の端部が対象物に接触していることが示される際のプローブ7の位置について補正処理を行ってもよい。また、姿勢補正部36は、受付部32によって受け付けられた接触状態信号によってプローブ7の端部が対象物に接触していることが示される際のプローブ7の姿勢について補正処理を行ってもよい。すなわち、プローブ7の端部が対象物に接触している場合に取得された位置及び姿勢については補正処理が行われるが、そうでない場合に取得された位置及び姿勢については補正処理が行われなくてもよい。この場合には、補正処理の行われた位置及び姿勢のみが、ロボット1の制御、例えば、ティーチング・プレイバックにおけるプレイバックの制御に用いられてもよい。なお、プローブ7の端部が対象物に接触している場合に取得された位置及び姿勢についてのみ補正処理が行われるようにする方法は問わない。例えば、プローブ7の端部が対象物に接触していない場合には撮影画像を取得しないようにしてもよく、プローブ7の端部が対象物に接触していない際に取得された撮影画像については位置及び姿勢の取得を行わないようにしてもよく、または、プローブ7の端部が対象物に接触していない際に取得された撮影画像から取得された位置及び姿勢については補正処理を行わないようにしてもよい。
【0048】
このようにすることで、先端部7cなどのプローブ7の端部が対象物に適切に接触している際に取得された撮影画像のみを用いた教示データの取得が行われるようになり、結果として、教示データの精度を向上させることができる。また、操作者は、プローブ7を移動させている際に、出力部72の出力によって、プローブ7の端部が対象物に適切に接触しているかどうかについて容易に把握することができるようになる。したがって、例えば、プローブ7の端部が対象物に接触していないことが出力部72から出力されたアラートによって分かった場合には、操作者は、プローブ7の端部を対象物に押し付けることによって、適切な位置及び姿勢の取得が行われるようにすることができる。
【0049】
なお、ここでは、プローブ7が出力部72及び送信部73の両方を備えている場合について主に説明したが、そうでなくてもよい。プローブ7は、例えば、出力部72を備えていなくてもよい。この場合であっても、送信部73から送信される接触状態信号を用いることによって、位置姿勢取得装置3によって、精度の高い補正処理後の位置や姿勢の取得が行われることになる。また、プローブ7は、例えば、送信部73を備えていなくてもよい。この場合には、位置姿勢取得装置3では、接触状態信号を用いた処理は行われなくてもよい。この場合であっても、出力部72によるアラートの出力を用いることによって、操作者は、プローブ7を対象物に接触させながら適切に移動させることができるようになる。その結果として、位置姿勢取得装置3によって取得される位置や姿勢の精度を向上させることができる。
【0050】
また、本実施の形態では、プローブ7の姿勢に関する補正処理も行われる場合について主に説明したが、そうでなくてもよい。プローブ7の姿勢については、手ぶれの影響を低減するための補正処理が行われなくてもよい。この場合には、位置姿勢取得装置3は、姿勢補正部36を備えていなくてもよい。また、この場合には、位置姿勢取得部33によって取得されたプローブ7の姿勢が補正されることなくそのまま、教示データとして用いられてもよい。
【0051】
また、本実施の形態では、マーカ5が2次元の所定の画像である場合について主に説明したが、そうでなくてもよい。マーカレスARと同様に、マーカとして、プローブ7の少なくとも一部が用いられてもよい。この場合には、マーカは、3次元のものであってもよい。また、2次元のマーカ5を用いる場合であっても、プローブ7の姿勢が変化してもマーカ5を撮影することができるようにするため、複数の2次元のマーカ5がプローブ7の複数の面にそれぞれ取り付けられていてもよい。複数の2次元のマーカ5は、それぞれ区別可能になっていることが好適である。
【0052】
また、本実施の形態では、位置姿勢取得装置3やプローブ7を用いて溶接ロボットの教示を行う場合について主に説明したが、そうでなくてもよい。シーリングガン(コーキングガン)やその他の作業ツールが手先に取り付けられたロボットの教示などが、位置姿勢取得装置3やプローブ7を用いて行われてもよい。
【0053】
また、本実施の形態では、補正処理後の位置や姿勢を出力する出力部37を位置姿勢取得装置3が備える場合について主に説明したが、そうでなくてもよい。情報の出力が行われない場合には、位置姿勢取得装置3は、出力部37を有していなくてもよい。
【0054】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0055】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0056】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0057】
また、以上の実施の形態は、本発明を具体的に実施するための例示であって、本発明の技術的範囲を制限するものではない。本発明の技術的範囲は、実施の形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲の文言上の範囲及び均等の意味の範囲内での変更が含まれることが意図される。
【符号の説明】
【0058】
3 位置姿勢取得装置、5 マーカ、7 プローブ、31 撮影画像取得部、32 受付部、33 位置姿勢取得部、34 記憶部、35 位置補正部、36 姿勢補正部、70 プローブ本体、71 センサ、72 出力部、73 送信部