説明

位置検出装置、位置検出方法およびプログラム

【課題】被検出部周辺の環境を考慮した被検出部の音速の算出を行い、位置の検出対象とする部分付近の音速をできるだけ正確に測定し、それを用いての位置の検出精度を高める。
【解決手段】ロボットハンド101の先端部分104に超音波送信装置を配置し、さらに先端部分104を含むことが可能な多面体131〜133を設定し、それらの頂点に超音波送受信装置111〜126を配置する。先端部分104の位置検出にあたり、先端部分104に近い頂点を特定点として選択し、この特定点に向かう他の頂点からの経路の音速を算出する。この音速に基づいて、先端部分104から特定点への経路における音速を算出し、この音速の値と、先端部分104と特定点との間における超音波の伝播時間とに基づいて、先端部分104の特定点からの距離を算出する。この距離を複数の特定点について得ることで、先端部分104の位置を特定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットアーム先端の位置等を超音波により検出する技術に係り、音速の影響による検出誤差を低減する技術に関する。
【背景技術】
【0002】
超音波を用いて、物体の3次元位置を検出する技術が知られている(例えば、特許文献1参照)。この技術では、例えば、検出対象となる部分に超音波発生装置を配置し、そこから発生する超音波信号を異なる3箇所で受信する。この際、3箇所の受信側において、超音波の空気中を伝わる時間を計測することで、これら3箇所から検出対象までの距離r1〜r3が割り出される。そして、これら3箇所を中心とした半径r1、r2、r3の球を描き、それら球の表面が交差する点が検出対象の位置として特定される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−102350号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した超音波を用いた位置の特定技術は、音波の速度の影響を受ける。音速は、空気中の温度、圧力、湿度、密度(気圧)、流れ(風)の影響を受ける。したがって、上記音速に影響を与えるパラメータが一定でない環境では、音波を用いた位置の検出は、精度が低下する。
【0005】
例えば、ロボットアームを用いた製造技術現場において、ロボットアームの先端の位置を検出する技術が必要とされる。このような環境においては、温度、湿度、空気の流れ等の変化が、場所や時間によって変化する場合がある。この場合、音波を用いた位置の検出技術では、上述した音速の変化に起因して、検出した位置のデータに誤差が生じる。
【0006】
このような背景において、本発明は、位置の検出対象とする部分付近の音速をできるだけ正確に測定し、それを用いての位置の検出精度を高める技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、被検出部に配置された超音波送信手段と、前記被検出部の周囲に配置された複数の超音波送受信手段と、前記複数の超音波送受信手段の間の音速を算出すると共に、前記複数の超音波送受信手段の間の音速に基づいて、前記被検出部における音速を算出する音速算出手段と、前記被検出部に配置された超音波送信手段から前記複数の超音波送受信手段に含まれる特定の超音波送受信手段までの超音波の伝播時間と、前記被検出部における音速とに基づいて、前記被検出部に配置された前記超音波送信手段から前記特定の超音波送受信手段までの距離を算出する距離算出手段とを備え、前記超音波送受信装置間を結ぶ線分は複数あり、前記複数の超音波送受信手段の間の音速として、前記複数の線分における音速が算出され、前記被検出部における音速を算出する処理において、前記複数の線分における音速のうち、前記被検出部に相対的に近い線分における音速が前記被検出部における音速に相対的に大きく影響し、前記被検出部に相対的に遠い線分における音速が前記被検出部における音速に相対的に小さく影響する処理が行われることを特徴とする位置検出装置である。
【0008】
請求項1に記載の発明では、まず被検出部の周囲に配置された複数の超音波送受信手段間における音速が複数の経路上で算出される。そして、これら複数の経路上における音速の影響を当該経路と被検出部との間の距離に応じた重み付けを与えた状態に基づいて、被検出部における音速の算出が行われる。更に、被検出部から発信される超音波を特定の超音波送受信手段で受信し、上記の被検出部における音速とその伝播時間からその間の距離rを算出する。被検出部は、前記特定の超音波送受信手段を中心とする半径rの球の球面上に位置するので、このことに基づいて被検出部の位置が特定される。
【0009】
請求項2に記載の発明は、請求項1に記載の発明において、前記被検出部に相対的に近い線分における音速は、前記被検出部に最も近い線分における音速であることを特徴とする。
【0010】
請求項3に記載の発明は、請求項1または2に記載の発明において、前記複数の線分は、三角錐を構成し、前記三角錐の中に前記被検出部が含まれることを特徴とする。
【0011】
請求項4に記載の発明は、請求項1〜3のいずれか一項に記載の発明において、前記音速算出手段における前記被検出部における音速の算出は、前記被検出部から前記複数の線分のうちの一つに対する垂線の長さをLi(iは0を含まない自然数)、L=L+L+L+・・・、前記複数の線分のそれぞれにおける音速をvi(iは0を含まない自然数)として、下記数1により行われることを特徴とする。
【0012】
【数1】

【0013】
請求項5に記載の発明は、請求項1〜4のいずれか一項に記載の発明において、前記被検出部はロボットハンドの先端部分であることを特徴とする。
【0014】
請求項6に記載の発明は、被検出部の周囲に配置された複数の超音波送受信手段の間の音速を算出すると共に、前記複数の超音波送受信手段の間の音速に基づいて、前記被検出部における音速を算出するステップと、前記被検出部に配置された超音波送信手段から前記複数の超音波送受信手段に含まれる特定の超音波送受信手段までの超音波の伝播時間と、前記被検出部における音速とに基づいて、前記被検出部に配置された前記超音波送信手段から前記特定の超音波送受信手段までの距離を算出するステップとを有し、前記超音波送受信装置間を結ぶ線分は複数あり、前記複数の超音波送受信手段の間の音速として、前記複数の線分における音速が算出され、前記音速を算出するステップにおいて、前記複数の線分における音速のうち、前記被検出部に相対的に近い線分における音速が前記被検出部における音速に相対的に大きく影響し、前記被検出部に相対的に遠い線分における音速が前記被検出部における音速に相対的に小さく影響する処理が行われることを特徴とする位置検出方法である。
【0015】
請求項6に記載の発明は、コンピュータに、被検出部の周囲に配置された複数の超音波送受信手段の間の音速を算出すると共に、前記複数の超音波送受信手段の間の音速に基づいて、前記被検出部における音速を算出する処理と、前記被検出部に配置された超音波送信手段から前記複数の超音波送受信手段に含まれる特定の超音波送受信手段までの超音波の伝播時間と、前記被検出部における音速とに基づいて、前記被検出部に配置された前記超音波送信手段から前記特定の超音波送受信手段までの距離を算出する処理とを実行させ、前記超音波送受信装置間を結ぶ線分は複数あり、前記複数の超音波送受信手段の間の音速として、前記複数の線分における音速が算出され、前記被検出部における音速を算出する処理において、前記複数の線分における音速のうち、前記被検出部に相対的に近い線分における音速が前記被検出部における音速に相対的に大きく影響し、前記被検出部に相対的に遠い線分における音速が前記被検出部における音速に相対的に小さく影響する処理を行わすことを特徴とするプログラムである。
【発明の効果】
【0016】
請求項1に記載の発明によれば、被検出部周辺の環境の情報を取り込んだ上での被検出部の音速の算出において、被検出部からの距離に応じた影響度を考慮しての環境の状態の取り込みが行われるので、被検出部付近の音速の検出精度が高くなる。このため、被検出部付近の音速を用いての位置の検出精度を高めることができる位置検出装置が提供される。
【0017】
請求項2に記載の発明によれば、被検出部に近い部分における環境の情報をより正確に取り込んだ位置の検出が可能となる。
【0018】
請求項3に記載の発明によれば、三角錐の斜辺における音速に基づいて、三角錐の内部にある被検出部における音速の算出が行われるので、被検出部における音速の算出精度を更に高めることができる。
【0019】
請求項4に記載の発明によれば、距離により影響度の違いを反映させた計算式により、被検出部における音速を求めることができる。
【0020】
請求項5に記載の発明によれば、ロボットハンドの先端部分の位置検出精度を高めることができる。
【0021】
請求項6に記載の発明によれば、被検出部周辺の環境の情報を取り込んだ上での被検出部の音速の算出において、被検出部からの距離に応じた影響度を考慮しての環境の状態の取り込みが行われるので、被検出部付近の音速の検出精度が高くなる。このため、被検出部付近の音速を用いての位置の検出精度を高めることができる位置検出方法が提供される。
【0022】
請求項7に記載の発明によれば、被検出部周辺の環境の情報を取り込んだ上での被検出部の音速の算出において、被検出部からの距離に応じた影響度を考慮しての環境の状態の取り込みが行われるので、被検出部付近の音速の検出精度が高くなる。このため、被検出部付近の音速を用いての位置の検出精度を高めることができるプログラムが提供される。
【図面の簡単な説明】
【0023】
【図1】実施形態の概念図である。
【図2】実施形態のブロック図である。
【図3】位置の検出を行う手順の一例を示すフローチャートである。
【図4】検出位置Pと頂点A1とを結ぶ線上における音速を算出する原理を示す原理図である。
【図5】ロボットハンドの制御の一例を示すフロー図である。
【発明を実施するための形態】
【0024】
(概要)
本実施形態では、図1に示すように、ロボットハンド101の先端部分104に超音波送信装置を配置し、さらに先端部分104を含むことが可能な多面体131〜133を設定し、それらの頂点に超音波送受信装置111〜126を配置する。先端部分104の位置検出にあたり、先端部分104に近い頂点を特定点として選択し、この特定点に向かう他の頂点からの経路の音速を算出する。この音速に基づいて、先端部分104から特定点への経路における音速を算出し、この音速の値と、先端部分104と特定点との間における超音波の伝播時間とに基づいて、先端部分104の特定点からの距離を算出する。この距離を複数の特定点について得ることで、先端部分104の位置を特定する。
【0025】
(全体の構成)
図1は、実施形態の概念図である。図1には、ロボットハンドシステム100が示されている。ロボットハンドシステム100は、ロボットハンド101を備えている。ロボットハンド101は、その先端に複数種類のねじ回しを備えており、組み付けた部品の螺子を回す機能を備えている。ロボットハンド101の機能は、特に限定されず、部品の搬送、組み付け、塗装、溶接等、既存の機能のものを選択することが可能である。
【0026】
ロボットハンド101は、ロボット制御装置102によってその位置が制御される。ロボット制御装置102は、位置検出装置103からロボットハンド101の先端部分104の3次元空間内における位置情報を受け取り、それに基づいて、ロボットハンド101の位置制御を行う。また、ロボット制御装置102は、位置検出装置103にロボットハンドの先端部分104の制御上における位置情報を出力する。
【0027】
ロボットハンド101の先端部分104には、超音波送信装置が配置されている。この超音波送信装置は、位置検出装置103によりその動作が制御される。また、位置検出装置103は、16個の超音波送受信装置111〜126の動作を制御すると共にそれらからの出力信号を処理する。なお、ここで利用する超音波の周波数は、特に限定されないが、例えば数十kHzのものが利用される。
【0028】
超音波送受信装置111〜126は、3つの正六面体131〜133を連結した直方体の検出空間を構成している。正六面体131〜133は、単位検出空間として機能する。正六面体131〜133ぞれぞれの各頂点には、超音波送受信装置111〜126が配置されている。
【0029】
すなわち、超音波送受信装置111、112、113、114、115、116、117および118は、正六面体131の8箇所の頂点に配置されている。超音波送受信装置115、116、117、118、119、120、121および122は、正六面体132の8箇所の頂点に配置されている。超音波送受信装置119、120、121、122、123、124、125および126は、正六面体133の8箇所の頂点に配置されている。
【0030】
これら3つの正六面体131〜133により構成される立体空間内において、ロボットハンド101の先端部104の3次元位置が検出される。この検出のための制御系の構成および検出の方法については後述する。
【0031】
(制御系な構成)
図2は、図1のロボットハンドシステムの制御系の概要を示すブロック図である。図2には、図1の位置検出装置103が示されている。位置検出装置103は、コンピュータとしての機能を有し、CPU、メモリ、インターフェースを備えている。また、位置検出装置103は、後述する動作を実行するためのプログラムをメモリ内に記憶している。
【0032】
位置検出装置103は、超音波送受信装置制御部201、音速算出部202、距離算出部203、位置算出部204、バッファメモリ部205を備えている。超音波送受信装置制御部201は、正六面体131〜133の内部における音速の検出に際して、超音波送受信装置111〜126の動作を制御する。
【0033】
具体的にいうと、音速の検出が正六面体131の内部で行われる場合には、超音波送受信装置111、112、113、114、115、116、117および118の制御が、超音波送受信装置制御部201において行われる。音速の検出が正六面体132の内部で行われる場合には、超音波送受信装置115、116、117、118、119、120、121および122の制御が、超音波送受信装置制御部201において行われる。音速の検出が正六面体132の内部で行われる場合には、超音波送受信装置119、120、121、122、123、124、125および126の制御が、超音波送受信装置制御部201において行われる。また、超音波送受信装置制御部201は、ロボットハンド101の先端部分104に配置された超音波送信装置206の動作を制御する。
【0034】
音速算出部202は、正六面体131〜133の中における音速の算出、およびこの算出に必要な演算を行う。音速算出部202において行われる処理の内容については後述する。距離算出部203は、音速算出部202における算出結果に基づいて、被検出位置(先端部分104)と計測基準となる特定の超音波送受信装置(この例では複数の頂点から選ばれた複数)との間の距離を算出する。
【0035】
位置算出部204は、距離算出部203における算出結果に基づいて、被検出位置の3次元位置データ(3次元位置座標)を算出する。この座標データは、ロボット制御装置102に送られ、ロボットハンドの位置制御に利用される。バッファメモリ部205は、位置検出装置103内で行われる演算においてデータを一時的に記憶するワーキングエリアとして機能する。
【0036】
(位置を検出するための処理)
以下、ロボットハンド101の先端部分104の位置を検出する処理の詳細な手順の一例を説明する。図3は、図2の位置検出装置103において行われる処理の手順を示すフローチャートである。図3に示す処理を実行するプログラムは、位置検出装置103内のメモリ領域に格納され、適当なメモリ領域に読み出されて位置検出装置103内のCPUにより実行される。この動作プログラムは、外部の記憶媒体に記憶され、そこから提供される形態のものであってもよい。
【0037】
先端部分104の位置を算出するための処理が開始されると(ステップS301)、まず検出位置(先端部分104)を含む単位測定空間が選択される(ステップS302)。この処理は、音速算出部202において行われる。ここで選択可能な単位測定空間は、図1の正六面体133、132、133の3つである。ステップS302では、ロボット制御装置102から得られる制御上の先端部分104の位置情報を参照し、検出位置(先端部分104)がいずれの正六面体に含まれているかが検索される。ロボット制御装置102から取得する先端部分104の位置データは、その位置に先端部分104を位置させるべく制御を行うためのデータに基づくもので、実際の位置からの誤差を含んでいる。
【0038】
以下、ステップS303以下の処理を具体的な例示に即して説明する。図4は、処理の一例を説明するための概念図である。図4には、ロボットハンド101の先端部分104に相当する検出位置Pが示されている。また図4には、図1の正六面体131〜133の内のいずれかに相当する正六面体400が示されている。
【0039】
図4の正六面体400が、例えば図1の正六面体132である場合、頂点A1に図1の超音波送受信装置116が配置され、頂点A2に超音波送受信装置118が配置され、頂点A3に超音波送受信装置117が配置され、頂点A4に超音波送受信装置115が配置され、頂点A5に超音波送受信装置120が配置され、頂点A6に超音波送受信装置122が配置され、頂点A7に超音波送受信装置121が配置され、頂点A8に超音波送受信装置119が配置される関係となる。
【0040】
ステップS302の後、検出位置に近い上位3点の頂点を特定点として選択する(ステップS303)。図4の例でいうと、検出位置Pに近い上位3つの特定点として、頂点A1、A2、A3が選択される。この処理は、音速算出部202において行われる。
【0041】
ステップS303の処理において、検出位置Pと特定点との間にワークやロボットハンド101のアーム部等の障害物がはいる場合、検出位置Pに次に近い頂点を特定点として選択する。これは、超音波の伝播が障害物によって乱れることに起因する検出誤差を抑えるためである。
【0042】
特定点を3点選んだら、その中の一つと他の頂点(ステップS302で選択した正六面体の各頂点)とを結ぶ線分の中から、検出位置に近い線分を上位3つの中から選択する(ステップS304)。図4の例でいうと、特定点A1に関しては線分C、C、Cが選択される。この処理は、音速算出部202において行われ、処理の結果は、バッファメモリ部205に記憶される。この処理は、3つの特定点(A1、A2、A3)の全てにおいて行われる。
【0043】
この際、線分C、C、Cの間に障害物(ワークやロボットハンドのアーム部)が位置し、見通しが遮られない線分を選択する。見通しが遮られる線分がある場合、再度特定点の選択がやり直され、次に検出位置Pに近い線分が選択される。
【0044】
次に、各特定点において、ステップS304において選択した3つの線分における当該特定点に向かう方向の音速を算出する(ステップS305)。図4の例でいうと、線分CにおけるA1に向かう音速、線分C2におけるA1に向かう音速、線分C3におけるA1に向かう音速が算出される。例えば、線分Cにおける音速は、位置が既知であるA1点とA3点との間で、両点の超音波送受信装置を動作させ、A3点からA1点に向かう方向における音波の伝播時間から算出される。この際の超音波送受信装置の動作制御は、超音波送受信装置制御部201において行われる。処理の結果は、バッファメモリ部205に記憶される。同様の処理は、線分C、Cに対しても行われる。これらの処理は、特定点A2、A3においても行われる。
【0045】
次に、検出位置から3つの特定点に向かう方向の音速(検出位置における音速が含まれる)を音速算出部202において算出する(ステップS306)。図4の例でいうと、検出位置Pから頂点A1に向かう方向の音速を算出し、検出位置Pから頂点A2に向かう方向の音速を算出し、検出位置Pから頂点A3に向かう方向の音速を算出する。
【0046】
この際、検出位置Pと特定点とを結ぶ方向における音速を直接求めることはできない。なぜならば、検出位置Pの位置は制御データから得られた不正確な位置であるからである。そこで、図4の例では、例えば検出位置Pと特定点A1との間を結ぶ線上の特定点A1に向かう方向の音速を、線分C上のA1に向かう音速、線分C上のA1に向かう音速、線分C上のA1に向かう音速から近似値として算出する。
【0047】
この算出では、検出位置Pと特定点A1とを結ぶ方向におけるA1に向かう音速に対して、検出位置Pに最も近い線分CにおけるA1に向かう音速の影響(関係)が最も大であり、次に検出位置Pに近い線分CにおけるA1に向かう音速の影響が中であり、次に検出位置Pに近い線分CにおけるA1に向かう音速の影響が小であると見積もり、各線分におけるA1に向かう音速に重み付けをした計算式を立てる。これにより、近似式ではあるが、検出位置Pと特定点A1とを結ぶ方向におけるA1に向かう音速を算出する。同様にして、検出位置Pから頂点A2に向かう方向の音速の算出、検出位置Pから頂点A3に向かう方向の音速の算出も行われる。
【0048】
以下、図4の場合を例に挙げ、具体的な計算式を説明する。まず図4において、Lは、検出位置Pから線分Cに降ろした垂線である。Lは、検出位置Pから線分Cに降ろした垂線である。Lは、検出位置Pから線分Cに降ろした垂線である。また、図4の例では、L<L<Lが成立している。この条件において、線分CにおけるA1に向かう音速をv1、線分CにおけるA1に向かう音速をv2、線分CにおけるA1に向かう音速をv3とすると、検出位置Pから頂点A1に向う方向における音速Vは、下記数2から算出される。
【0049】
【数2】

【0050】
数2においては、v1、v2、v3の係数として、線分C〜Cの検出位置Pに対する距離に応じた値を採用し、それによりv1、v2、v3のVへの影響を重み付けする形としている。
【0051】
これは、以下の考え方に基づいている。まず、線分C上の音速v2のベクトルは、線分CがPとA1とを結ぶ線分に最も近い(なす角度が最も小さく、位置も最も近い)ので、最もVのベクトルに近い。次に線分C上の音速v3のベクトルは、線分CがPとA1とを結ぶ線分に次に近い(なす角度が2番目に小さく、位置も2番目に近い)ので、2番目にVのベクトルに近い。更に線分C上の音速v1のベクトルは、線分CがPとA1とを結ぶ線分に3番目に近い(なす角度が3番目に小さく、位置も3番目に近い)ので、3番目にVのベクトルに近い。したがって、Vは、距離に応じた重み付け係数を用いたv1、v2、v3の一次結合式で近似的に示すことができる。これが、上記数2である。
【0052】
ステップS306において、検出位置から各特定点に向かう線上における音速を算出したら、超音波送受信装置制御部201から制御信号を出力し、ロボットハンド101(図1参照)の先端部104(検出位置)に配置された超音波送信装置206から超音波信号を出力させ、それを3つの特定点で受信する。そしてステップS305で算出した音速と、超音波送信装置206からの発信時刻と各特定点における受信時刻との差(つまり音波が伝わるのに要した時間)から、検出位置と3つの特定点との間の距離が算出される(ステップS308)。この処理は、距離算出部203において行われる。
【0053】
図4の場合でいうと、検出位置Pと特定点A1との間の距離r1、検出位置Pと特定点A2との間の距離r2、検出位置Pと特定点A3との間の距離r3が算出される。
【0054】
次いで、3点の特定点から検出位置までの距離を半径とした球を描き、その表面の交点を求める。この交点は、2点あるので、予定している検出位置(ロボットハンド101の先端部104の位置)に近い方(あるいは選択した正六面体内にある方)をロボットハンド101の先端部104の位置データとして取得する(ステップS309)。この処理は、位置算出部204において行われる。この位置を特定する原理は、GPS(Global Positioning System)と同じである。
【0055】
(ロボットハンドの位置制御)
図5は、ロボット制御装置102において行われるロボットハンド101の位置制御の流れを示すフロー図である。図5において、ワールド座標系というのは、ロボットハンド101が設置されている環境(ロボットハンドシステム100)に固定されている座標系(例えば、3次元直交座標系や極座標系)である。ロボット座標系というのは、各関節軸を動かす際に利用されるロボット側に固定された座標系である。
【0056】
位置制御にあたっては、まずワールド座標系での目標位置が設定される(S501)。この目標位置は、ステップS502に出力されると共に、ステップS507のズレ量を計算するステップに与えられる。ステップS502では、ステップ507で算出された目標位置と実測位置とのズレ量が与えられ、このズレ量とステップS501で与えられた目標位置のデータとが、ステップS503に与えられる。
【0057】
ステップS503では、目標位置に対するズレを勘案した座標データが与えられ、これがロボット座標系に変換される。そして、変換されたロボット座標系の座標データに基づいて、各関節部を駆動するモータに動作指令が行われ(ステップS504)、ロボットハンド101(図1参照)の位置制御が行われる(ステップS505)。
【0058】
この際、ロボットハンド101の先端部分104のワールド座標系における位置情報が、位置検出装置103における図3の処理により検出され(ステップS506)、それに基づき、先端部分104の目標とした位置と実際の位置との差(ズレ量)が算出される(ステップS507)。このズレ量は、ステップS502に与えられ、ロボットハンド101の位置制御に利用される。
【0059】
この処理により、ロボットハンド101の先端部分104の位置の目標位置とのズレを補正しながらの位置制御が行われる。
【0060】
(優位性)
以上示した実施形態によれば、ロボットハンド101の先端部分104の位置の検出が超音波を利用して行われる。この際、先端部分104から特定の受信装置までの音波の伝播経路における音速が、設定された単位検出空間(この例の場合正六面体)の各頂点に配置された超音波送受信装置間の音速に基づいて算出される。
【0061】
この例では、先端部分104から特定の受信装置までの経路に近い3本の基準経路の音速を用い、しかも当該経路との距離に応じて重み付けされた計算式によって、上記3本の基準経路(図4のC、C、C)の当該経路への影響が計算される。このため、近似的ではあるが、検出位置P(先端部分104)から特定の受信装置への経路における温度、湿度、密度、空気の流れといったパラメータの影響を受けた実際の値に近い音速を得ることができる。これにより、これらパラメータの時間的な変化や場所的な変化の影響を低減した状態で、先端部分104の位置の検出が行われる。つまり、温度や風の影響による音速の違いに起因する先端部分104の位置の検出誤差を抑えることができる。
【0062】
また実施形態で示した方法では、先端部分104に近い上位3つの基準経路の音速を利用するので、検出位置Pの環境の状態をより正確に反映した形で、検出位置Pから特定の受信装置に向かう方向における音速(検出位置における音速)の値を算出できる。また、各基準経路の方向と、検出位置から特定の受信装置への経路の方向とのなす角度が45度以下となるので、方向の違いによる音速の違いがある場合でも、精度良く検出位置から特定の受信装置に向かう方向における音速(検出位置における音速)の値を算出できる。
【0063】
また、正六面体131〜133で示されるように、単位検出空間を複数用意しているので、より詳細な音速の変化を捉えることができる。これにより、場所による温度変化や空気の流れの影響が大きい環境であっても、先端部分104の位置の検出精度を高く保つことができる。
【0064】
図4の例において、検出位置PからA1の位置の受信装置までの音速を算出する際に、この経路に最も近い基準経路CにおけるA1に向かう音速の影響を最も大きく見積もり、次に2番目に近い基準経路CにおけるA1に向かう音速の影響をその距離の違いに応じた重み付けで与え、更に、3番目に近い基準経路CにおけるA1に向かう音速の影響をその距離の違いに応じた重み付けで与えている(数2参照)。これにより、検出位置P付近の雰囲気(温度や風等の状態)をより正確に反映した検出位置Pにおける頂点A1方向の音速を得ることができる。
【0065】
また、検出位置PからA1の位置の受信装置までの音速Vを算出する際に、基準経路C、C、Cとして、A1を頂点とし、その内側に検出位置Pを含む三角錐の各辺を選択するので、各基準経路における音速から得られる音速Vの精度をより高くできる。
【0066】
すなわち、検出位置PからA1の位置の受信装置までの音速Vを算出する際に、基準経路C、C、CにおけるA1に向かう音速は、音速Vの方向と近い方向であるので、基準経路C、C、Cにおける音速(v1、v2、v3)から算出される音速Vの実際の値との誤差を抑えることができる。特にこの方法は、空気の流れの向きの影響(風の影響)を考慮に入れることができる。
【0067】
また、特定点として、A1、A2、A3を検出位置Pに近い上位3つから選ぶことで、音波の伝播距離が長くなることによる誤差の増大が抑えられる。
【0068】
また、特定点をA1、A2、A3と3つ選択し、それらを中心とする3つの球の交差位置から検出位置Pを求めることで、3次元上の正確な位置の検出が行われる。
【0069】
(その他)
上記の例示では、単位検出空間として正六面体を採用する例を示したが、多面体であれば、正六面体以外の形状も利用可能である。音波を伝える媒体は、空気に限定されず、気体であれば、不活性気体等であってもよい。また、霧や煙が存在する雰囲気において本発明を適用することもできる。位置の検出は、ロボットハンドの先端ではなく、ロボットハンドの間接部分等であってもよい。また、ロボットハンド以外に、ワークや治具の3次元的な位置を検出する目的に本発明を利用することもできる。
【0070】
図1には、ロボットハンドを一つ供えたシステムが示されているが、ロボットハンドの数は複数であってもよい。また、単位検出空間(正六面体131〜133)の数を更に増やしてもよい。また、単位検出空間(正六面体131〜133)の数が一つであってもよい。
【0071】
図4に示す例示では、頂点A1、A2、A3の3点から検出位置Pまでの距離を算出することで、検出位置Pの位置を特定する例を説明したが、基準となる頂点(特定点)は、4箇所以上であってもよい。また、頂点A1のみ、頂点A1とA2のみを選択し、そこから検出位置Pまでの距離を算出し、その結果に基づいて検出位置Pの位置を特定する構成としてもよい。
【0072】
検出位置までの距離を算出するための基準点を4点以上選択した場合、位置の算出精度をより高くすることができる。検出位置までの距離を算出するための基準点を2点とした場合、これら2点のそれぞれを中心とする球面の交差する円上に検出位置が存在することになる。この場合、他の手段(例えばロボットアームの制御データ)から得られる予測位置の修正に、上記円上に検出位置がある旨の算出データを利用することで、位置検出の制度を高めることができる。
【0073】
検出位置までの距離を算出するための基準点を1点とした場合、この点を中心とする球面上に検出位置が存在することになる。この場合、他の手段(例えばロボットアームの制御データ)から得られる予測位置の修正に、上記球面上に検出位置がある旨の算出データを利用することで、位置検出の制度を高めることができる。
【0074】
数2では、線分C、C、Cの3本が選択されているが、この数は1本または2本であってもよいし、4本以上であってもよい。検出位置Pにおける音速の算出精度は、利用する超音波送受信装置間を結ぶ線分(例えばC、C等)の数が多い程高くなるが、演算速度を速くし、また演算素子への負荷を低減する上では、その数を少なくした方が有利となる。
【産業上の利用可能性】
【0075】
本発明は、超音波を用いた位置の検出を行う技術に利用することができる。また、超音波を用いたロボットハンドの特定の位置を検出する技術に利用することができる。
【符号の説明】
【0076】
100…ロボットハンドシステム、101…ロボットハンド、102…ロボット制御装置、103…位置検出装置、104…ロボットハンドの先端部分、111〜126…超音波送受信装置(正六面体の頂点)、131〜133…正六面体、400…正六面体。

【特許請求の範囲】
【請求項1】
被検出部に配置された超音波送信手段と、
前記被検出部の周囲に配置された複数の超音波送受信手段と、
前記複数の超音波送受信手段の間の音速を算出すると共に、前記複数の超音波送受信手段の間の音速に基づいて、前記被検出部における音速を算出する音速算出手段と、
前記被検出部に配置された超音波送信手段から前記複数の超音波送受信手段に含まれる特定の超音波送受信手段までの超音波の伝播時間と、前記被検出部における音速とに基づいて、前記被検出部に配置された前記超音波送信手段から前記特定の超音波送受信手段までの距離を算出する距離算出手段と
を備え、
前記超音波送受信装置間を結ぶ線分は複数あり、
前記複数の超音波送受信手段の間の音速として、前記複数の線分における音速が算出され、
前記被検出部における音速を算出する処理において、
前記複数の線分における音速のうち、前記被検出部に相対的に近い線分における音速が前記被検出部における音速に相対的に大きく影響し、前記被検出部に相対的に遠い線分における音速が前記被検出部における音速に相対的に小さく影響する処理が行われることを特徴とする位置検出装置。
【請求項2】
前記被検出部に相対的に近い線分における音速は、前記被検出部に最も近い線分における音速であることを特徴とする請求項1に記載の位置検出装置。
【請求項3】
前記複数の線分は、三角錐を構成し、
前記三角錐の中に前記被検出部が含まれることを特徴とする請求項1または2に記載の位置検出装置。
【請求項4】
前記音速算出手段における前記被検出部における音速の算出は、
前記被検出部から前記複数の線分のうちの一つに対する垂線の長さをLi(iは0を含まない自然数)、
L=L+L+L+・・・、
前記複数の線分のそれぞれにおける音速をvi(iは0を含まない自然数)
として、
【数1】

により行われることを特徴とする請求項1〜3のいずれか一項に記載の位置検出装置。
【請求項5】
前記被検出部はロボットハンドの先端部分であることを特徴とする請求項1〜4のいずれか一項に記載の位置検出装置。
【請求項6】
被検出部の周囲に配置された複数の超音波送受信手段の間の音速を算出すると共に、前記複数の超音波送受信手段の間の音速に基づいて、前記被検出部における音速を算出するステップと、
前記被検出部に配置された超音波送信手段から前記複数の超音波送受信手段に含まれる特定の超音波送受信手段までの超音波の伝播時間と、前記被検出部における音速とに基づいて、前記被検出部に配置された前記超音波送信手段から前記特定の超音波送受信手段までの距離を算出するステップと
を有し、
前記超音波送受信装置間を結ぶ線分は複数あり、
前記複数の超音波送受信手段の間の音速として、前記複数の線分における音速が算出され、
前記音速を算出するステップにおいて、
前記複数の線分における音速のうち、前記被検出部に相対的に近い線分における音速が前記被検出部における音速に相対的に大きく影響し、前記被検出部に相対的に遠い線分における音速が前記被検出部における音速に相対的に小さく影響する処理が行われることを特徴とする位置検出方法。
【請求項7】
コンピュータに、
被検出部の周囲に配置された複数の超音波送受信手段の間の音速を算出すると共に、前記複数の超音波送受信手段の間の音速に基づいて、前記被検出部における音速を算出する処理と、
前記被検出部に配置された超音波送信手段から前記複数の超音波送受信手段に含まれる特定の超音波送受信手段までの超音波の伝播時間と、前記被検出部における音速とに基づいて、前記被検出部に配置された前記超音波送信手段から前記特定の超音波送受信手段までの距離を算出する処理と
を実行させ、
前記超音波送受信装置間を結ぶ線分は複数あり、
前記複数の超音波送受信手段の間の音速として、前記複数の線分における音速が算出され、
前記被検出部における音速を算出する処理において、
前記複数の線分における音速のうち、前記被検出部に相対的に近い線分における音速が前記被検出部における音速に相対的に大きく影響し、前記被検出部に相対的に遠い線分における音速が前記被検出部における音速に相対的に小さく影響する処理を行わすことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−38801(P2011−38801A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2009−183842(P2009−183842)
【出願日】平成21年8月6日(2009.8.6)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】