光ジャイロ較正装置、光ジャイロを搭載するロボット及び光ジャイロ較正プログラム
【課題】ジャイロを搭載するロボットにおいて、ロボットの位置及び方位の測定を容易にし、ノイズの影響を抑制してジャイロの較正を行うことを可能にすることである。
【解決手段】ジャイロを搭載するロボットにおいて較正を行うときは、目標壁面に対してロボットよりレーザービームを照射し、目標壁面上に占めるレーザーポイントの位置を測定してその状態の位置データを初期値として取得し(S10,S12)、較正が開始すること等を表示する(S14,S16)。そして較正期間をリセット(S18)して較正期間の計時処理を開始する。所定の較正期間の間は光ジャイロの検出値をサンプリングにより継続して取得する(S20)。取得中に外乱があると警報を出力し、較正をやり直す。較正期間中に外乱がなく満了すれば、較正期間内の検出値に基づき較正値が設定される(S26,S28)。
【解決手段】ジャイロを搭載するロボットにおいて較正を行うときは、目標壁面に対してロボットよりレーザービームを照射し、目標壁面上に占めるレーザーポイントの位置を測定してその状態の位置データを初期値として取得し(S10,S12)、較正が開始すること等を表示する(S14,S16)。そして較正期間をリセット(S18)して較正期間の計時処理を開始する。所定の較正期間の間は光ジャイロの検出値をサンプリングにより継続して取得する(S20)。取得中に外乱があると警報を出力し、較正をやり直す。較正期間中に外乱がなく満了すれば、較正期間内の検出値に基づき較正値が設定される(S26,S28)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジャイロ較正装置、ジャイロを搭載するロボット及びジャイロ較正プログラムに係り、特に、ジャイロを搭載し、ジャイロの検出値に基づいて自己の位置情報を算出するロボットにおいて、そのジャイロの較正を行うジャイロ較正装置、ジャイロを搭載しそのジャイロの較正部を備えるロボット及びジャイロ較正プログラムに関する。
【背景技術】
【0002】
移動ロボットとしては、いわゆる2足歩行ロボットや、エンタテイメント用の移動ロボット等が知られている。これらの移動ロボットにおいては、目標位置に移動するために、時々刻々におけるロボット自身の位置を検出あるいは算出する必要がある。このような技術は、一般的に移動物体の位置検出方法として知られ、その位置検出精度の向上についても様々な提案がなされている。
【0003】
例えば、特許文献1には、障害物検知装置等が開示され、そこでは、車両のナビゲーション装置における自車の位置決定精度を向上させるため、障害物検知装置によって道路脇に設けられる絶対位置を示す位置表示板のデータを読み取り、これを用いてナビゲーション装置の位置決定におけるキャリブレーションを行うことが述べられている。障害物検知装置としては、光軸と直交する方向に所定距離離れている2つのCCDを用い、その視差の変化から障害物までの距離を検出するもの、あるいは、1つのCCDと、発光部によってパターンが表示される位置データ表示部とを用い、位置データ表示部からは、位置情報信号を示すパターン表示とともに、発光部の物理的長さを示す基線長のデータが表示され、この基線長に基づき、位置データ表示部までの距離を求めるものが述べられている。これにより、GPS方式によるナビゲーション装置の数十mの位置精度を、数m以下の精度に向上させることができる。
【0004】
【特許文献1】特開平7−286858号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1のGPS方式及びそのキャリブレーション方法は、移動距離が少ない移動ロボットに適用することが困難である。また、移動ロボットに位置検出カメラ等のいわゆる「目」に相当する機能を搭載して、視覚によりロボットの現在位置等を検出あるいは算出することも考えられるが、一般に位置検出カメラ及び画像認識の技術は高価で、またある程度の明るさを必要とする。
【0006】
そこで、3次元光ジャイロ等のジャイロをロボットに搭載し、ロボットにおける3軸方向の角速度等の時々刻々における変化を検出し、これを演算によって位置情報に変換することが試みられる。
【0007】
この場合のジャイロの較正は、まず床に設置された位置決め治具によりロボットの位置及び方位を合わせ、ついで、ロボットに搭載されたジャイロに回転を与えるための巨大なターンテーブルによってジャイロの感度を測定する。そのために、ロボットの活躍場所を移すたびに、その較正を行うため、大掛かりな治具の搬送、設置、方位および位置測定が必要となり、多大の労力を要し、利便性がよくない。
【0008】
また、この目的に用いられるジャイロは精度が高い反面、機械的な外乱、あるいは地軸の揺らぎ等によるノイズの影響を受けやすい。したがって、一般的なジャイロについてその3軸方向の角速度等の基準となる原点を較正する際にも、ノイズが大きく影響し、短時間での較正は偶発的なノイズの影響があり、また長時間の較正は必ずノイズ成分を含んでしまう。特許文献1のキャリブレーション方法は、外部からの基準位置を検出し、それを用いているので、ジャイロのようにノイズの影響が大きい場合にはそのまま用いることができない。
【0009】
このように、従来技術において、ロボットに搭載されるジャイロの較正にあたっては、外部ノイズの影響が大きい上に、位置および方位の測定を含む設定が煩雑である。
【0010】
本発明の目的は、ノイズの影響を抑制してジャイロの較正を行うことを可能にするジャイロ較正装置、ジャイロを搭載するロボット及びジャイロ較正プログラムを提供することである。また、他の目的は、ジャイロの較正のためのロボットの位置及び方位の測定を容易に行うことができるジャイロ較正装置を提供することである。以下の手段は、上記目的の少なくとも1つに貢献するものである。
【課題を解決するための手段】
【0011】
本発明に係るジャイロの較正装置は、光ビームを放射するビーム放射手段と、放射された光ビームの被照射位置を検出することで前記被照射位置を特定する光ビーム位置検出手段と、前記光ビーム位置検出手段によって特定された前記被照射位置に基づいて、移動体の位置または方位を算出する算出部と、前記算出部により算出された移動体の位置または方位に基づいて、前記ジャイロの較正を行う較正手段とを備えたことを特徴とする。
【0012】
また、本発明に係るジャイロの較正装置において、前記光ビーム位置検出手段は、移動体から被照射位置までの距離を測定する手段を有し、前記算出部は、光ビームの位置特定データに加えて、あるいはこれに代えて、移動体から被照射位置までの距離データを用いて移動体の位置又は方位の少なくとも1つを算出するのが好ましい。
【0013】
また、本発明に係るジャイロの較正装置において、前記光ビーム位置検出手段は、移動体の旋回時の移動距離を測定する手段を有し、前記算出部は、光ビームの位置測定データに加えて、あるいはこれに代えて、移動体の移動距離データを用いて、移動体の位置又は方位の少なくとも1つを算出するのが好ましい。
【0014】
また、光ビーム放射手段は、複数の方位に光ビームを放射することが好ましい。
【0015】
また、光ビーム位置測定手段は、移動体に搭載された位置測定器、又は移動体とは別に設けられる外部位置測定器であることが好ましい。
【0016】
本発明に係るジャイロの較正装置は、移動体に搭載された位置情報検出用ジャイロの較正を行う較正装置であって、較正のための初期位置状態に設定された移動体の位置データを位置データ初期値として取得する初期値取得手段と、移動体を初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、移動体が外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、を含むことを特徴とする。
【0017】
また、較正値設定手段は、較正期間における複数の検出値の平均値を較正値として設定することが好ましい。
【0018】
また、本発明に係るジャイロの較正装置において、較正部が較正のための処理を開始して終了するまでの間、較正状態にあることを示す較正状態信号を出力する較正状態出力手段を備えることが好ましい。
【0019】
また、本発明に係るジャイロの較正装置において、移動体が外乱を受けたことを警報信号として出力する警報出力手段を備えることが好ましい。
【0020】
また、本発明に係るジャイロを搭載するロボットは、位置情報検出用のジャイロと、ジャイロの較正を行う較正部と、を備えるロボットであって、較正部は、較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得手段と、ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、を含むことを特徴とする。
【0021】
また、本発明に係るジャイロの較正プログラムは、ロボットに搭載される位置情報検出用ジャイロの較正を行う較正装置において実行される較正プログラムであって、較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得処理手順と、ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得処理手順と、ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示処理手順と、所定の較正期間継続して取得した複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定処理手順と、を実行することを特徴とする。
【発明の効果】
【0022】
上記構成の少なくとも1つにより、ロボットより目標壁面に光ビームを放射し、ロボットの旋回前後における目標壁面上に占める光ビームの位置の測定に基づいて、ロボットの位置又は方位の少なくとも1つを算出する。したがって、大掛かりな治具の搬送、設置等を要せず、ロボットの方位等の測定を容易に行うことができる。
【0023】
また、旋回前後のロボットから目標壁面までの距離データを用いるので、距離測定が容易な場合、あるいはあらかじめその距離が分かっている場合等において、ロボットの方位等の測定を容易に行うことができる。
【0024】
また、旋回前後のロボットの移動距離データを用いるので、ロボットの移動距離の測定が容易な場合等において、ロボットの方位等の測定を容易に行うことができる。
【0025】
また、互いに交差して設けられる複数の目標壁面に対応し、複数の方位に光ビームを放射するので、複数の測定データを用いることができ、あるいは測定の容易な目標壁面を用いることができる。
【0026】
また、位置測定手段として、ロボットに搭載された位置測定器、又はロボットとは別に設けられる外部位置測定器を用いるので、測定に適した構成をとることができる。
【0027】
上記構成の少なくとも1つにより、ロボットを初期位置状態に設定し、その状態でジャイロの検出値を継続して複数回取得する。そして所定の較正期間継続して取得したときは、その複数の検出値に基づいて較正値を設定する。そして、検出中に外乱があるときは、較正期間を再度設定し直して検出値取得をやり直す。したがって、外乱を排除し、所定の長さの期間に渡る検出値を用いてジャイロの測定の原点とでき、信頼性の高い較正を行うことができる。
【0028】
また、較正期間における複数の検出値の平均値を較正値として設定するので、偶発的なノイズを平均化して抑制できる。また、較正のための処理を開始して終了するまでの間、較正状態にあることを示すので、部外者に注意を促し、ノイズの発生を抑制できる。また、ロボットが外乱を受けたことを警報信号として出力するので、部外者に事後的に注意を促し、その後のノイズ抑制を容易にする。
【0029】
以上のように、本発明に係るジャイロ較正装置、ジャイロを搭載するロボット及びジャイロ較正プログラムによれば、ノイズの影響を受けやすいジャイロに対し、ノイズの影響を抑制して較正を行うことが可能となる。また、本発明に係るジャイロ較正装置によれば、ジャイロの較正のための位置及び方位の測定を容易に行うことができる。
【発明を実施するための最良の形態】
【0030】
以下に図面を用いて本発明に係る実施の形態につき詳細に説明する。以下において、ロボットの位置制御のために用いられるジャイロは、光学的要素を含む光ジャイロとして説明するが、ロボットの位置制御に十分な精度を有するものであれば光ジャイロ以外のジャイロでもよい。また、ロボットは、エンタテイメント用の移動ロボットとして説明するが、ジャイロを搭載するロボットであれば、他の用途用のロボットでもよい。また、以下において較正部は、ロボットに搭載されるロボット制御部の一部として説明するが、ロボットに搭載されずに有線または無線で接続される別個の装置であってもよい。また、表示部もロボットに搭載されるものとして説明するが、ロボットに搭載されずに、有線または無線で接続され、あるいはLAN等のネットワークで接続される別個の表示装置であってもよい。また、位置測定部は、ロボットに搭載されない外部カメラを有する装置であるとして説明するが、外部カメラに代わる位置検出手段をロボットに搭載されるものとしてもよい。また、較正は、角度あるいは角速度について行うものとして説明するが、これらを座標位置に換算した座標位置データについて行うものとしてもよい。したがって、以下では、位置情報、位置データ等には角度、角速度等に関するものも含むとして説明される。また、以下で述べられる数値は説明のための例示であって、それ以外の値であってもよい。
【0031】
図1は、エンタテイメント用のロボット10の構成を示す図である。ロボット10は、2つの車輪12と本体14を有し、これらの運動により、予め定められたプログラムにそって、所定の方向、所定の位置に移動し、適当なタイミングで本体14を旋回させ、お辞儀させ、あるいは図示されていないアーム等を振って、エンタテイメント動作を行うものである。ロボット10はまた、車輪12及び本体14を運動させる駆動部16と、ロボット10の運動を検出する光ジャイロ18と、ロボット10の動作に関連する情報を表示する表示部20と、これらの要素と接続され、ロボット10全体の動作を制御する制御部30を備える。ロボット10はまた、適当な対象物に光ビームを放射する光放射部22を有する。そしてまた、ロボット10は、リモート制御部80と有線、または無線によって接続される。リモート制御部80は、光放射部22から放射される光ビームを光ポインタとして用いてロボット10の位置又は方位を求めるための位置算出部82と、データの入力、出力のための入力部84、出力部86とを含む。
【0032】
ここで、駆動部16は、車輪12を回転させ、また方向変換させ、本体14を軸方向に旋回させ、揺動させる駆動機構である。駆動部16は、複数の小型モータ等で構成することができる。
【0033】
光ジャイロ18は、互いに直交する3軸方向の角速度を検出する素子である。直交する3軸は、地軸を基準に定めることができ、あるいは地表を基準に定めることもできる。後者の場合では、地表に垂直なZ軸周りの回転角度φ、及び地表に平行でZ軸に垂直なX軸及びY軸のそれぞれの周りの回転角度ψ、θの3つの回転角度について、それぞれの時間変化である3つの角速度を、光ジャイロ18は検出する機能を有する。検出された3つの角速度は、制御部30に送られ、位置情報算出処理に提供されてロボット10の現在位置算出等に用いられる。
【0034】
表示部20は、ロボット10の動きに応じた表示、例えばランプあるいは発光ダイオード等の点滅、あるいは、液晶ディスプレイ等によるキャラクタ等の表示、または発音体を用いた音声、音楽等を表示する装置である。また表示部20は、光ジャイロ18の較正の際にも、後述するように、較正開始、較正中、ノイズの発生警告等の表示をする機能を有する。
【0035】
制御部30は、ロボット10に搭載される電子回路で、光ジャイロ18からの検出信号に基づいてロボット10の現在位置等を算出し、それに従って駆動部16及び表示部20に指令を与え、ロボット10を移動させあるいは様々なエンタテイメント動作を行わせる機能を有する。制御部30は、マイクロプロセッサ等で較正することができる。
【0036】
制御部30は、光ジャイロ18の較正を行う較正部32と、光ジャイロ18の検出値を用いてロボットの位置情報を算出する位置情報算出部34と、位置情報に基づきエンタテイメントプログラムに沿って駆動部16に指令を与える駆動制御部36を含んで構成される。ここで較正部32は、較正用の初期値を取得する初期値取得モジュール40、較正用に光ジャイロ18の検出値を取得する検出値取得モジュール42、外乱の有無を判断し外乱のあるときは較正やり直しを指示する指示モジュール44、所定の較正期間を通して光ジャイロ18の検出値を取得できたときそれに基づき較正値を設定する較正値設定モジュール46、較正中の状態等を示す信号を出力する較正状態出力モジュール48、外乱があったことを警告出力する警報出力モジュール50を含んで較正される。これらの機能はソフトウェアで実現でき、具体的には、対応する較正プログラム、位置情報算出プログラム、エンタテイメントプログラム等を実行することで実現できる。これらの機能の一部をハードウエアで実現してもよい。
【0037】
光放射部22は、ロボット10の本体14に取り付けられ、光ビームを放射するもので、具体的にはレーザービームを放射する機能を有する電子部品で構成される。光放射部22は、ロボット10の位置を測定するために、適当な目標壁面に対しロボット10から光ビームを放射する機能を有する。すなわち、放射された光ビームが目標壁面上に占める位置は、ロボット10の本体14の位置、方位に連動するので、この光ビームをロボット10の本体14の位置、方位に関連する光ポインタとして用いることができる。いま、レーザビームを用いるものとして、目標壁面上のレーザビームの当たったところをレーザーポイントと呼ぶことができる。光放射部22からの光ビームの光軸は、ロボット10の本体14における旋回中心から光ビームが放射しているように設定される。光放射部22は、1つ、あるいは2つ設けられる。2つ設けられるときは、それぞれの光軸が所定の角度をなすように、例えば互いに直交するように設定される。
【0038】
リモート制御部80は、ロボット10の制御部30で処理するよりも、外部で処理するほうが便利な機能を実行する端末である。したがって、制御部30と一体化してももちろん構わない。図1の例では、ロボット10の方位又は位置の少なくとも1つ、具体的には少なくともロボット10の旋回角度がどの程度であるかを求める機能を有する位置算出部82を含む。このロボット10の位置測定の機能は、特にロボット10に搭載される光ジャイロ18の較正する際の位置状態、すなわち較正時の方位である旋回角度がどの程度であるかを定めるのに用いられる。また、入力部84は、位置算出部82に対しデータ等を入力する機能を有する。出力部86は、位置算出部82によって求められたロボット10の旋回角度を較正部32で用いられる初期値として制御部30に出力する機能を有する。リモート制御部80の機能は、制御部30と同様に、ソフトウェアで実現でき、具体的には、対応する位置測定プログラム等を実行することで実現できる。これらの機能の一部をハードウエアで実現してもよい。
【0039】
ロボット10に搭載される光ジャイロについての較正装置は、位置算出部82を中核とするロボットの位置測定機能と、較正部32を中核とする狭義の光ジャイロの較正機能とを備える。すなわち、光ジャイロ18の較正を行うには、まずロボット10を初期位置に設定し、その初期位置でロボット10位置情報を生成する光ジャイロ18を較正する。例えば、ロボット10を基準の壁等に向かって位置決めし、そこから所定の初期位置、具体的には所定の旋回を行わせる。そのときに旋回角度等のロボットの位置測定が行われる。そして、その測定された旋回角度を基準として、その状態における光ジャイロの較正が行われる。その較正が終わると、その較正状態を基準として、光ジャイロによるロボットのリアルタイム位置検出が行われ、ロボットのそれ以後のエンタテイメント等の動作が行われることになる。
【0040】
ロボットに搭載される光ジャイロの較正において、より具体的には、ロボット10を床等に位置決め治具等で位置決めし、そこから較正用の初期位置とされる任意の方位にロボット10を旋回させ、その位置を初期位置とする。たとえば、較正用の初期位置として、床に垂直なφ軸周りの角度で+30度旋回される。旋回角度はもちろん任意に設定してよい。ここで、位置算出部82の機能は、旋回角度、例えば+30度を正確に測定することであり、較正部32の機能は、その状態で光ジャイロ18をその測定値に較正することである。ここでは、最初に、初期位置設定、初期位置測定を説明し、その後にその初期位置情報を用いた較正動作の全体について説明する。
【0041】
1.位置測定部の構成と作用
図2は、位置算出部82を中核とする、ロボット10の初期位置設定も含めた位置測定を行う位置測定部100全体の構成を示す図である。位置測定部100は、ロボット10を構成する位置算出部82、放射部22等に加え、外部カメラ68を含んで構成される。外部カメラ68は、ロボット10の放射部22からのレーザービーム24が照射される目標壁面62上のレーザーポイントの位置等を測定するためのもので、取得されたレーザーポイントの位置等のデータは、信号線を介し位置算出部82に伝送される。もちろん、外部カメラ68の機能をロボット10に搭載することもでき、その場合には、位置測定部100は、ロボット10の構成要素とすることができる。また、ロボット10の位置決めに用いられる床上の位置決め治具61も、目標壁面62とともに、位置測定部100の作用に貢献する。
【0042】
ロボット10の初期位置設定及び位置測定を行うには、最初に、床の位置決め治具61にロボット10の2つの車輪12が合わせられる。この位置が基準位置であり、ロボット10はこの基準位置から所定の角度、例えばφ=+30度旋回させてそこで固定され、そのロボット11の状態が較正のための初期状態とされる。基準位置のロボット10から初期位置のロボット11の間の位置の変化の測定、すなわち上記の旋回角度φの測定は、光ジャイロ18を用いるのではなく、基準となる目標壁面62に対するロボット10,11の位置の幾何学的関係を求めることで行われ、そのために、ロボット10,11の放射部22から放射されたレーザービーム24が目標壁面62上で占める位置、すなわちレーザーポイントの位置が外部カメラ68によって観察され測定される。
【0043】
一般的には、外部カメラ68によって取得される各種位置データに基づき、位置算出部82の機能により、幾何学的関係等を利用してロボット10の旋回角度φを求めることができるが、ロボット10と目標壁面62との配置関係を工夫することで、少ない測定で旋回角度φを求めることが可能になる。以下に、旋回角度の求め方のいくつかの例を説明する。説明の順序は、最初に、旋回角度算出のための座標系等の記号の一般的定義を説明し、次に、具体的な位置測定及び旋回角度算出方法の例を説明する。具体的な測定及び算出方法の説明の順序は、配置関係を工夫して簡単な測定で済むものから始め、その後に一般的な旋回角度の測定及び算出方法を説明する。
【0044】
図3は、ロボット10,11の旋回角度算出処理において用いられる座標系等の記号を一般的に説明するための図である。図3は平面図で、目標壁面62と、旋回前のロボット10、旋回後のロボット11が基準座標系x-yとともに示されている。ここで、旋回前のロボット10の位置がR1(R1x, R1y)で示され、旋回後のロボット11の位置が R2(R2x, R2y)で示される。ロボット10,11の位置は、ロボットの本体14における旋回中心の位置である。また、旋回前のロボット10からの光ビームが目標壁面62上に占める位置、すなわち旋回前のレーザーポイントの位置がL1(L1x, L1y)で示され、旋回後のレーザーポイントの位置が L2(L2x, L2y)で示される。
【0045】
目標壁面62に対する旋回前のロボット10からのレーザーポイントの角度はφ1、目標壁面62に対する旋回前のロボット11からのレーザーポイントの角度はφ2で示される。φ1、φ2は、それぞれロボット10,11から目標壁面62に対する垂線を基準に測定される。したがって、旋回前のロボット10から旋回後のロボット11との間の旋回角度φ3は、φ3=φ2−φ1で示すことができる。
【0046】
また、旋回前後のロボット10,11から目標壁面62までの垂直距離が、それぞれDH1,DH2で示される。さらに、旋回前後のロボット10,11からレーザーポイントL1,L2までの距離が、それぞれDRL1,DRL2で示される。また、旋回前後のロボット10,11から目標壁面62におろした垂線と目標壁面62の交わった点からレーザーポイントまでの距離が、それぞれDHL1,DHL2で示される。そして、旋回前後におけるレーザーポイントL1, L2の目標壁面62上の移動距離についてのx軸、y軸成分が、それぞれDLx, DLyで示される。また、旋回前後におけるロボット10,11の移動距離についてのx軸、y軸成分が、それぞれDRx, DRyで示される。
【0047】
このように、目標壁面62とロボット10に対して予め外部の基準座標系x-yが設定され、一般的には目標壁面62と基準座標系のx軸とは平行ではない。しかし、以下では理解しやすいように、目標壁面をx軸に平行として説明する。
【0048】
図4は、旋回角度φ3を求める第1の例を示す図である。ここでは目標壁面62を基準座標x軸と平行に取り、旋回前に垂直にビームを目標壁面62に当てる場合である。このような設定は、目標壁面62に対する位置決め治具61の配置で、予め行うことができる。そして図4においては、さらにロボット10は旋回前後でその位置を変更することなくその場で旋回する場合を示している。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。このような場合には、旋回角度φ3は以下のように少ない測定によって求めることができる。
【0049】
ここで、旋回前のロボット10からビームを目標壁面62に垂直に当ててそのレーザーポイントをL1とし、位置を変更せずにその場で旋回後のレーザーポイントの位置をL2とする。ロボット10から目標壁面62までの垂直距離DH1は、
DH1=L1y−R1y
また、レーザーポイントL1, L2の壁面移動距離のx軸成分DLxは、
DLx=L1x−L2x
であるので、旋回角度φ3は、
φ3=tan-1(DLx/DH1)=tan-1((L1x−L2x)/(L1y−R1y))
で得られる。さらに一般的には、
φ3=atan2(DLx, DH1)=atan2((L1x−L2x), (L1y−R1y))+π/2
と表記することもできる。したがって、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L2(L2x, L2y) の2つの位置の測定からφ3が得られる。あるいは、ロボットから目標壁面までの垂直距離DH1と、レーザーポイントの壁面移動距離DLxとの2つからφ3が得られる。
【0050】
また、旋回後のロボット11の位置R2とレーザーポイントの位置L2との距離DRL2を用いることで、
φ3=cos-1(DH1/DRL2)=cos-1((L1y−R1y)/DRL2)
から、旋回角度φ3が得られる。すなわち、ロボットと旋回前後のレーザーポイントL1,L2との距離DH1, DRL2からφ3が得られる。同様に、ロボットとレーザーポイントとの距離DRL2と、旋回前後のレーザーポイントの壁面移動距離DLxを用いることで、
φ3=sin-1(DLx/DRL2)=sin-1((L1x−L2x)/DRL2)
から、旋回角度φ3が得られる。
【0051】
旋回角度φ3を求める第2の例は、図4において、ロボットの旋回前のビームが目標壁面62に垂直でなく、斜めに当たる場合である。ここでも、目標壁面62を基準座標x軸と平行に取り、さらにロボット10は旋回前後でその位置を変更することなくその場で旋回する。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。このような場合には、旋回角度φ3を以下のようにして得ることができる。
【0052】
ここでは、旋回前のロボット10からビームを目標壁面62に当てそのレーザーポイントをL1とし、その場旋回後のレーザーポイントの位置をL2とする。旋回前後のそれぞれについて、目標壁面62に対する垂線を基準にして、ロボット10,11からのレーザーポイントへの角度φ1, φ2を以下の式によって求める。
φ1=tan-1((L1x−R1x)/( L1y−R1y))
φ2=tan-1((L2x−R1x)/( L2y−R1y))
ここで、旋回角度φ3は、
φ3=φ2 − φ1
で求められる。その結果、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y) の3つから旋回角度φ3が得られる。
【0053】
また、レーザーポイントL1, L2の壁面移動距離のx軸、y軸成分をDLx, DLyとして、これらを測定すれば、
DLx=L1x−L2x
DLy=L1y−L2y
であるので、
φ1= tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1((L2x−R1x)/( L2y−R1y))=tan-1((L1x−DLx−R1x)/(L1y−DLy−R1y))
φ3=φ2 − φ1
を用いて旋回角度φ3が得られる。このように、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L1(L1x, L1y),壁面移動距離DLx, DLyからφ3が得られる。
【0054】
また、旋回前後のロボットと目標壁面との垂直距離DH1(旋回前), DH2(旋回後)が計測される場合には、次式を用いて旋回角度φ3が得られる。
φ1= tan-1((L1x−R1x)/(DH1)
φ2=tan-1((L2x−R1x)/(DH2)
φ3=φ2 − φ1
なお、ここでL1x,L2xも、ロボットの位置R1(R1x,R1y)と、垂直距離DH1, DH2より幾何学的に求めることができる。よって、ロボットの位置R1(R1x, R1y)、ロボットと目標壁面との垂直距離DH1, DH2からφ3が得られる。
【0055】
また、ロボットからレーザーポイントまでの距離DRL1(旋回前), DRL2(旋回後)が計測される場合には、
φ1= sin-1((L1x−R1x)/(DRL1)
φ2= sin-1((L2x−R1x)/(DRL2)
φ3=φ2 − φ1
から旋回角度φ3が得られる。あるいは
φ1= cos-1((L1y−R1y)/(DRL1)
φ2= cos-1((L2y−R1y)/(DRL2)
φ3=φ2 − φ1
から旋回角度が得られる。なお、ここでR1yはレーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)と目標壁面との距離DRL1, DRL2から幾何学的に求めることができる。よって、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)、ロボットからレーザーポイントまでの距離DRL1(旋回前), DRL2(旋回後)からφ3が得られる。
【0056】
図5は、旋回角度φ3を求める第3の例を示す図である。ここでは、目標壁面62を基準座標x軸に平行に取り、ロボットの旋回前のビームが目標壁面62に垂直でなく、斜めに当たる場合である。さらにロボットは旋回前後でその位置を変更する。すなわち、ここでは旋回前のロボット10の位置R1(R1x, R1y)と旋回後のロボット11の位置R2(R2x, R2y)は異なる。したがって、図5の例は、かなり一般的な場合に相当する。このような場合には、旋回角度φ3を以下のようにして得ることができる。
【0057】
移動前と移動後のそれぞれについて、ロボット10,11から目標壁面62までの垂直距離(基準座標系のy軸に平行な距離)DH1,DH2を以下の式で求める。
DH1=L1y−R1y
DH2=L2y−R2y
また、移動前と移動後のそれぞれについて、ロボット10,11から目標壁面に下ろした垂線が目標壁面62と交わる点からレーザーポイントL1,L2までの距離、すなわち基準座標系のx軸に平行な距離であるDHL1(移動前)、DHL2(移動後)を次式から求める。
DHL1=L1x−R1x
DHL2=L2x−R2x
これらを用いて、移動前と移動後のそれぞれの角度φ1, φ2が次式から求まる。
φ1=tan-1(DHL1/DH1)=tan-1((L1x−R1x)/( L1y−R1y))
φ2=tan-1(DHL2/DH2)=tan-1((L2x−R2x)/( L2y−R2y))
あるいは次の表記を用いてもよい。
φ1=atan2(DHL1,DH1)=atan2 ((L1x−R1x),( L1y−R1y))
φ2=atan2(DHL2,DH2)=atan2 ((L2x−R2x),( L2y−R2y))
求められたφ1, φ2から
φ3=φ2−φ1
により、ロボットの移動を伴う場合の旋回角度φ3を得る。したがって、移動を伴う旋回前後のロボットの位置R1(R1x, R1y), R2(R2x, R2y)、及びレーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)の4つからφ3が得られる。
【0058】
レーザーポイントL1, L2の壁面移動距離のx軸、y軸成分DLx, DLyが計測される場合には、次式
DLx=L1x−L2x
DLy=L1y−L2y
の関係により、
φ1= tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1((L2x−R2x)/( L2y−R2y))=tan-1((L1x−DLx−R2x)/(L1y−Dly−R2y))
φ3=φ2 −φ1
から、旋回角度φ3が得られる。したがって、ロボットの位置R1(R1x, R1y), R2(R2x, R2y)、レーザーポイントの位置L1(L1x, L1y),壁面移動距離成分DLx, DLyからφ3が得られる。
【0059】
なお、基準座標系のx軸と目標壁面62が平行な場合には、
DLy=L1y−L2y=0
であるので、上記の式は以下のように簡単になる。すなわち、
φ1= tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1((L2x−R2x)/( L2y−R2y))=tan-1((L1x−DLx−R2x)/(L1y−R2y))
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。
【0060】
この条件の下で、ロボットからレーザーポイントまでの距離DRL1(移動前), DRL2(移動後)が計測される場合には、これを用いて、
φ1= sin-1((L1x−R1x)/(DRL1)
φ2= sin-1((L2x−R2x)/(DRL2)
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。あるいは
φ1= cos-1((L1y−R1y)/(DRL1)
φ2= cos-1((L2y−R2y)/(DRL2)
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。したがって、ロボットの位置R1(R1x, R1y), R2(R2x, R2y)、レーザーポイントの位置L1(L1x, L1y), L2((L2x, Ly2), ロボットからレーザーポイントまでの距離DRL1, DRL2からφ3が得られる。
【0061】
さらにロボットの移動距離成分DRx, DRyが計測される場合には、
DRx=R1x−R2x
DRy=R1y−R2y
を用いて、
φ1= sin-1((L1x−R1x)/(DRL1)
φ2= sin-1((L2x−R2x)/(DRL2)= sin-1((L2x+DRx−R1x)/(DRL2)
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。したがって、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)、ロボットの位置R1(R1x, R1y)、ロボットからレーザーポイントまでの距離DRL1, DRL2、ロボットの移動距離DRx, DRyからφ3が得られる。
【0062】
この場合sin-1に代えて、tan-1の関係式を用いてもよい。すなわち、ロボットの移動距離成分DRx, DRyを計測し、
DRx=R1x−R2x
DRy=R1y−R2y
の関係を用いることで、
φ1=tan-1(DHL1/DH1)=tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1(DHL2/DH2)=tan-1((L2x−R2x)/( L2y−R2y))
=tan-1((L2x+DRx−R1x)/(L2y+DRy−R1y))
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。したがって、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)、ロボットの位置R1(R1x, R1y)、ロボットの移動距離DRx, DRyからφ3が得られる。
【0063】
旋回角度φ3を求める第4の例は、目標壁面62が基準座標系のx軸に対して平行でない場合に補正を行うものである。その様子を図6に示す。図6は、図4において、目標壁面62が基準座標系x-yに対して角度ξだけ傾いている。ここで、ロボット10は旋回前後でその位置を変更することなくその場で旋回する場合を示している。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。また、旋回前のレーザーポイントの位置L1は、目標壁面62の傾きに関係なく同じ位置とし、旋回後のレーザーポイントの位置は、目標壁面62の傾きにより、L2(L2x,L2y)がL21(L21x,L21y)になるものとする。ここで、L2はx軸に平行な仮想壁面62aを考えたときに、その上に来るであろうレーザーポイントの位置である。
【0064】
目標壁面62の基準座標系x-yに対する傾きξの補正は次のようにして行う。すなわち、L1からL21までの距離DL1L21は、ピタゴラスの定理を用いて、
DL1L21=SQRT((L1x−L21x)^2+(L1y−L21y)^2)
で求められる。このDL1L21を用いて、レーザーポイントの位置L2(L2x,L2y)は、
L2x = L1x−DL1L21cosξ
L2y = L1y−DL1L21sinξ
で得られる。得られたL2座標を用いて、実際のレーザーポイントL21の位置を、x軸に平行な仮想壁面62a上のレーザーポイントL2の位置に換算することができる。この換算による補正を行うことで、x軸に平行な目標壁面の場合に説明した方法を用いて、旋回角度φ3を求めることができる。
【0065】
旋回前のレーザービームの照射方向が傾いている場合も、目標壁面が傾いている場合に述べたものと同様に、傾いていないときのレーザーポイントの位置L1を求め、得られたL1,L2座標により、旋回角度φ3を求めることができる。
【0066】
また、目標壁面が平らでない場合も、基準座標系x-yのx軸に平行な仮想の壁面を想定し、実際の壁面に照射されたレーザーポイントの位置L12, L22から、仮想の壁面に対するレーザーポイントの位置L1, L2を、上記で述べたx軸に壁面が平行でない場合と同様にして求め、得られたL1,L2座標により旋回角度φ3を求める事ができる。これは、基準座系に対する実際の壁面の位置を予め測定しておけばよい。
【0067】
旋回角度φ3を求める第5の例は、目標壁面が2つあり、またロボットから2つのレーザービームを放射する場合である。目標壁面が2つあっても、旋回前後のレーザーポイントの位置が1つの目標壁面に留まっているときには、1つの目標壁面のときに旋回角度φ3を求める上記の各方法をそのまま用いることができる。旋回角度φ3が大きくて、旋回前後のレーザーポイントの位置が2つの目標壁面にまたがるときは上記の各方法をそのまま用いることができない。図7はその場合の様子を示す図である。
【0068】
図7においては、第1の目標壁面62と第2の目標壁面63とは互いに直交し、またロボットからの2つのレーザービームもそれらの光軸が相互に直交するものとしている。そして、旋回前にロボットから各ビームを垂直に目標壁面62,63に当て、さらにロボット10は旋回前後でその位置を変更することなくその場で旋回する場合を示している。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。
【0069】
ここで、旋回前のロボット10からの第1の目標壁面62に対するレーザーポイントの位置をL1(L1x, L1y)、 第2の目標壁面63に対するレーザーポイントの位置をM1(M1x, M1y)として示す。そして、旋回後のレーザーポイントは、旋回角度φ3 が大きいため、当初第1の目標壁面62のL1(L1x, L1y)に位置を占めていたビームが、第1の目標壁面62の範囲に収まらず第2の目標壁面63上にまで行くので、第2の目標壁面63その占める位置M2(M2x, M2y)で示してある。なお、当初第2の目標壁面63のM1(M1x, M1y)に位置を占めていたビームの旋回後は、第2の目標壁面63から外れるので図7には示されていない。
【0070】
このような場合には、目標壁面62と目標壁面63がなす角αや位置関係が予め分かっているので、旋回によって目標壁面62から外れて目標壁面63にレーザーポイントが照射されたときは、目標壁面62から求まる旋回角度φ31と、目標壁面63から求まる旋回角度φ32を足し合わせることで、ロボットの旋回角度φ3を得る。ここで、旋回角度φ31は、レーザーポイントがL1から目標壁面62の限度まで移動するときの旋回角度で、具体的にはその限度を、目標壁面62と目標壁面63の交点の位置L2(L2x, L2y) として、次式で求められる。理解を容易とするために、図7において旋回前にロボットからのビームは壁1に垂直に照射されているとする。
φ31= tan-1((L1x−L2x)/(L1y−R1y))
また、φ32は、レーザーポイントがL2からM2 まで移動するときの旋回角度で、次式で求められる。
φ32=tan-1((L2y−M1y)/(R1x−M1x))+tan-1((M1y−M2y)/(R1x−M1x))
求められたφ31とφ32を用いて、ロボットの旋回角度φ3は、
φ3=φ31+φ32
で与えられる。
あるいは
φ3=atan2(M2x−R2x, M2y−R2y) +π/2(rad)
で得ることができる。なお、上記の説明ではφ1=0としている。この場合、atan2(x、y)はx軸からz軸を中心に反時計回りで角度を求める関数で±π(rad)の関数である。φ1≠0の場合は同様にφ1を求め、φ2を求めてφ3=φ2−φ1とする。
したがって、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L1(L1x, L1y), M2(M2x, M2y)からφ3が得られる。
【0071】
旋回角度φ3を求める第6の例は、第5の例においてさらにロボットが旋回前後でその位置を変更する場合についてのものである。すなわち、ここでは旋回前のロボット10の位置R1(R1x, R1y)と旋回後のロボット11の位置R2(R2x, R2y)は異なる。その他の条件は第5の例と同じである。その様子を図8に示す。ここで、L3 とM3 は、ロボット11が位置R2(R2x, R2y)に移動し、まだ旋回しないとしたときの2つレーザーポイントの目標壁面62,63上に占める位置である。あるいは、位置R2(R2x, R2y)におけるロボット11から目標壁面62,63に下ろした垂線が目標壁面62,63上で交わる位置である。
【0072】
この場合も、図7に関連して説明した第5の例と同様に、旋回前後のレーザーポイントの位置が1つの目標壁面に留まっているときには、1つの目標壁面のときに旋回角度φ3を求める上記の各方法をそのまま用いることができ、旋回角度φ3が大きくて、旋回前後のレーザーポイントの位置が2つの目標壁面にまたがるときは、目標壁面62から求まる旋回角φ31と目標壁面63から求まる旋回角φ32を足し合わせてロボットの旋回角φ3を次式から得る。
φ3=φ31+φ32
【0073】
また、ロボットからレーザービームが目標壁面62と目標壁面63に照射できるときは、レーザーポイントの位置から、ロボット位置を求めることができる。すなわち、図7のように、目標壁面が2つ、レーザービームが2つで、ビームが目標壁面62に垂直に照射し、2本のビームのなす角が直角のとき、ロボットの位置R1(R1x, R1y)は、レーザーポイントの位置L1(L1x, L1y)とM1(M1x, M1y)から次式より求まる。
R1x=L1x
R1y=M1y
【0074】
さらに一般的な場合にロボットの位置を求める場合を図9に示す。ここでは、目標壁面が2つ、レーザービームが2つで、ビームが目標壁面62に斜めに照射し、2本のビームのなす角が直角で、目標壁面62に対する照射角βが分かっているとする。このとき、ロボットの位置R1(R1x, R1y)は、2つのレーザーポイントの位置と、照射角βから求めることができる。
【0075】
いま、2つの壁のなす角γは直角として説明する。ロボット10からのレーザーポイントの位置を、目標壁面62上でL1(L1x, L1y)、目標壁面63上でM1(M1x, M1y)とすると、ロボットの位置R1(R1x, R1y)は、
y=M1y+sinβ・x
x=L1x+sinβ・y
からなる2本の直線の交点として求まる。
すなわち、
x=L1x+sinβ・(M2y+sinβ・x)
x(1−sin2β)=L1x+sinβ・M2y
x=(L1x+sinβ・M2y)/(1−sin2β)
および
y=M2y+sinβ・(L1x+sinβ・y)
y(1−sin2β)=M2y+sinβ・L1x
y=(M2y+sinβ・L1x)/(1−sin2β)
から、ロボットの位置R1(R1x, R1y)は、次式で求められる。
R1x=(L1x+M1y・sinβ)/(1−sin2β)
R1y=(M1y+L1x・sinβ)/(1−sin2β)
2つの壁のなす角γが直角でない場合は、図6に関連して説明した第4の例の場合と同様に、γがπ/2(rad)の2つの壁を仮想設定し、上記のように2本の直線の交点として求めることができる。
【0076】
このように、ロボットの旋回角度φ3は、目標壁面に対してロボットよりレーザービームを照射し、目標壁面上に占めるレーザーポイントの位置を測定し、ロボットの旋回前後におけるその位置の変化に基づいて求めることができる。また、レーザーポイントの位置の測定に加えて、あるいはレーザーポイントの位置の測定に代えて、ロボットから目標壁面までの距離の測定、あるいはロボットの移動距離の測定を用いることができる。
【0077】
目標壁面におけるレーザーポイントの位置測定は、図2で説明した外部カメラ68等の外部検出器による測定の他に、ロボットに搭載されたカメラ等の検出器によって測定されることでもよい。
【0078】
また、レーザーポイントの位置測定のための検出又は観察は、目標壁面からの反射を検出してもよく、目標壁面に光が当たると発光して照射ポイントの位置を明示する光り位置センサを配置し、この光りを検出するものとしてもよい。
【0079】
ロボットから目標壁面までの距離を測定する方法としては、レーザ距離計等の測長装置を用いることができる。
【0080】
ロボットの移動距離を測定する方法としては、ロボットにおける車輪の回転角度の測定を用いることができる。また、床あるいは車輪にマーカを設け、マーカの移動を測定してもよい。床のマーカとしては床の模様を利用することができる。また、床のGPSによるロボットの位置測定を用いてもよい。
【0081】
上記の各測定手段及び旋回角度φ3の算出方法の組み合わせを工夫することで、ロボットの旋回角度をさらに容易に求めることができる。例えば、床の位置決め治具と所定の位置関係となるように目標壁面に第1の光り位置センサを設け、ロボットの車輪の位置をおよそ位置決め治具に合わせ、そこでレーザービームを放射し、第1の光りセンサにレーザービームがちょうど当たることを検出して、そこで位置決めして基準位置を定めることができる。このときに、レーザービームが目標壁面に垂直に当たるように、床の位置決め治具と第1の光り位置センサの位置関係を予め設定できる。
【0082】
また、さらに目標壁面に第2の光り位置センサを、床の位置決め治具及び第1の光り位置センサと所定の位置関係となるように設け、ロボットを旋回させて、そのレーザービームが第2の光りセンサにちょうど当たることを検出して、これを較正のための初期位置と定めることができる。このときに、旋回角度が所定のφ3、例えば+30度となるように、床の位置決め治具及び第1の光り位置センサ及び第2の光り位置センサの位置関係を予め設定できる。
【0083】
また、このように、床の位置決め治具及び第1の光り位置センサ及び第2の光り位置センサの位置関係を予め設定することで、ロボットと光り位置センサまでの距離、すなわちロボットとレーザーポイントまでの距離を測定することなく、予めわかっている値として用いることもできる。また、このように設定した後にロボットが旋回前後で位置を移動したかどうか、その移動量の大きさは、上記のように、車輪と床の模様等のマーカによって検出できる。あらかじめわかっている距離のデータは、リモート制御部80の入力部84から入力し、位置算出部82がこれを取得できる。
【0084】
2.較正部の構成と作用
このようにして、ロボット10の初期位置の測定及び設定が行われると、その後にその初期位置について光ジャイロ18の較正が行われる。そこで、次にロボット10の動作、特に制御部30中の較正部32の各機能につき、図10のフローチャートを用いて説明する。図10は、ロボット10の光ジャイロ18の較正のための手順を示すもので、各手順は、較正プログラムの各処理手順に対応する。なお、図10には、位置測定部100の機能によって行われる初期位置決定(S10)の手順も含んで較正のための全手順として示してある。この手順によって、ロボット10について、その位置算出の元となる光ジャイロ18の測定のための較正が行われる。較正は、ロボット10をある所定の位置状態に固定し、その状態で光ジャイロ18の測定を継続してサンプリングし、複数のデータを取得する。ロボット10は固定状態であるので、光ジャイロ18の測定データは、本来は一定値になる。しかしながら、光ジャイロ18の高精度性のため、あるいは地軸の揺らぎ等で、測定データは外乱に敏感で、僅かな衝撃等でも測定データの値は大きく揺らぐ。したがって、光ジャイロ18のメーカーは、かなりの測定時間をかけて較正を行うことを薦めることがある。その較正期間は数分間が適当なことがあり、その間、光ジャイロ18は外乱を受けないようにする必要がある。そのために、較正手順は以下のように行われる。
【0085】
ロボット10に搭載された光ジャイロ18の較正を行うには、図10に示すように、最初にロボット10を初期位置に設定する(S10)。ここで初期位置とは較正のために設定される所定の位置のことである。光ジャイロ18は角速度を検出するので、その較正はある角度に固定し、その角度における時間変化をみて、その角度における角速度=0を求めてこれを較正値とすることが望ましい。したがって、ロボット10の動作の基準位置、例えば正面を向いている状態から所定の角度だけ旋回させ、その状態を初期位置とすることができる。光ジャイロ18は、上記のように3軸周りの角速度を検出するので、ここで言う角度は3次元的角度であるが、以下では代表してZ軸周りの角度φの較正に付いて述べる。
【0086】
初期位置決定の工程は、位置測定部100によって行われるロボット10の基準位置設定と、その基準位置からロボット10を旋回させ、その旋回角度φを求める工程であるので、その詳細は省略する。ロボット10は、所定の旋回が行われると、例えばロボット10の2つの車輪12に対して車輪止めが配置されて、その移動動作が床面等に対し固定される。また車輪12の動作も制御部30によって駆動部16への指令が固定状態となり、一切の機械的移動動作が止められる。
【0087】
ロボット10の初期位置が設定されると、次に初期値が取得される(S12)。具体的には、位置測定部に関連して説明したようにして得られた旋回角度φ(φ3 、以後単にφとして示す)が、初期位置設定に対応する位置データ初期値として、入力部84より制御部30に入力され、較正部32の初期値取得モジュール40の機能により、取得される。入力部84からのデータ取得としては、制御部30との間の有線または無線交信等を用いることができる。上記の例では、初期位置に設定されたロボット10の位置データ初期値として、φ=+30度が入力され、取得される。
【0088】
そして、較正部32の較正状態出力モジュール48の機能により、較正開示表示(S14)と較正状態表示(S16)がなされる。これは、較正の実際の手順が開始され、そして現在較正中であることを外部に表示するもので、目的は、外部の第三者にこれらの情報を与えて、ロボット10に対し注意を促すためである。これによって、較正中における人為的外乱を抑制することができる。具体的には較正部32の機能により、表示部20に、光や音で較正が開始したことを表示し、また、較正状態として、終了までの推定時間や、較正手順の進行状況等を表示する。例えば、較正開示表示として緑ランプを点灯または点滅させ、較正状態表示としては終了までの残り時間を秒表示する。
【0089】
次に、較正期間をリセットする(S18)。すなわち較正期間の計時処理を開始する。具体的には、較正期間を始発点とし、較正が進むにつれて残時間が減少する較正期間タイマを用い、較正を始めるごとに始発点の値に戻す。例えば、較正期間を5分=300秒とするときは、300秒を始発点として較正が進むにつれ残時間が減少するタイマを用い、較正を始めるごとに300秒の始発点に戻す。したがって、このリセットの時点が、較正期間の計時処理の始発点である。較正期間の長さは、ロボット10の用途及び要求される位置情報精度と、光ジャイロ18の感度によって定めることができる。
【0090】
そして、具体的な較正用データの収集として、光ジャイロ18の検出値が取得される(S20)。この手順は較正部の検出値取得モジュール42の機能により、光ジャイロ18の検出値が適当なサンプリング周期で取得されるものである。サンプリング周期としては、例えば10msecを用いることができる。上記の例では、較正期間全体に渡り、100×300=30,000の検出値が取得されることになる。
【0091】
光ジャイロ18の検出値が取得される間、上記の較正期間タイマは残時間を時間経過ごとに減算する。また、その期間は、外乱があったか否かが判断される(S22)。外乱の有無は、光ジャイロ18の検出値が異常に大きくなるか否かで判断できる。その様子を図11に示す。この図は横軸に時間をとり、縦軸には光ジャイロ18の出力から求められるZ軸回りの回転角度φをとって示したものである。ここで、時刻t0は、S10においてロボット10が+30度の初期位置に設定されて固定されたときである。t0以前におけるφの値の変動は、位置固定前のノイズを示している。t0以後のφの値は基本的にほぼ一定値を示すが、時刻t1、t2において、異常な検出値を示し、これが外乱によるノイズと考えられる。外乱によるノイズは、図11に示すように適当な閾値幅70を設定し、これを超えるか否かでその有無を判断することができる。閾値幅の設定は、ロボット10の位置算出に対する要求精度、較正に対する要求精度等で定めることができる。例えば±2度等を閾値幅70として設定できる。
【0092】
外乱があったと判断されると、較正部32の警報出力モジュール50の機能により、警報信号が出力(S24)され、制御部30の機能により、表示部20にその旨の表示がなされる。例えば、赤ランプを点灯又は点滅させ、あるいはブザー音、音声等で表示を行うことができる。これにより、外部の第3者に外乱があったことを知らせ、以後、外乱を与えないように注意させることができる。
【0093】
これと共に、外乱があったと判断されるときには、較正部32の指示モジュール44の機能により、較正のやり直しが指示され、手順がS18に戻され、較正期間がリセットされる。すなわち、それまで行っていた光ジャイロ18の検出データは白紙に戻され、再び最初から検出値の取得が始まる。そして、較正期間満了か否か(S26)の判断がなされる。具体的には、較正期間タイマの残時間がゼロか否かが判断される。較正期間が満了でないときはS20に戻り、較正期間満了になるまで光ジャイロ18の検出値の取得が継続される。
【0094】
その様子は図11において示されている。すなわち、図11において、較正期間をT0として、時刻t0からT0経過しない時刻t1に閾値幅70を超えるノイズが検出されたため外乱があると判断され、時刻t1において較正のやり直しが指示され、較正期間がリセットされている。そして時刻t1からT0経過しない時刻t2に再び閾値幅70を超えるノイズが検出されたため時刻t2において較正のやり直しが指示されている。そして時刻t2からは、較正期間(T0)72の満了の時刻t3まで閾値幅70を超えるノイズが検出されなかった。したがって、ここで初めて、較正期間(T0)72の全区間に渡って外乱が含まれない光ジャイロ18の検出値が得られたことになる。
【0095】
較正期間が満了と判断されると、その期間にサンプリングされた検出値に基づいて較正値が設定される(S28)。具体的には較正部32の較正値設定モジュール46の機能により、全検出値について統計処理が施され、例えば30,000の検出値の平均値が求められる。統計処理は、単純平均処理のほか、閾値幅70よりも狭い第2の閾値幅を設定し、その範囲に入るものについての平均値を求める処理、適当な重み付け処理、標準偏差を加味した処理等を用いてもよい。例えば、図11の例で、30,000データの平均値が+29.5度であるとすれば、これを先ほどの初期値+30度に対する較正値とする。
【0096】
このようにして設定された初期位置について較正値が得られると、較正の手順が終了する。上記ではφについての構成を説明したが、θ、ψについても同様の較正が同時、またはその後引き続いて行われる。光ジャイロ18の3軸について較正が完了すると、表示部20は較正完了を表示し、車輪止めが外される。そして以後は較正値を用いて光ジャイロ18の検出値が較正され、それに基づいて位置情報算出部34の機能により、ロボット10の位置情報が算出される。そして、算出された位置情報と、エンタテイメントプログラムの内容を用いて、制御部30は駆動制御部36にエンタテイメント動作に必要な駆動指令を与える。このようにして、ロボット10は、精度よく動作を行うことができる。
【図面の簡単な説明】
【0097】
【図1】本発明に係る実施の形態における光ジャイロ搭載ロボットの構成を示す図である。
【図2】本発明に係る実施の形態において、位置測定部の構成を示す図である。
【図3】本発明に係る実施の形態において、ロボットの旋回角度算出処理において用いられる座標系等の記号を一般的に説明するための図である。
【図4】本発明に係る実施の形態において、ロボットの旋回角度を求める第1の例を示す図である。
【図5】本発明に係る実施の形態において、ロボットの旋回角度を求める第3の例を示す図である。
【図6】本発明に係る実施の形態において、ロボットの旋回角度を求める第4の例を示す図である。
【図7】本発明に係る実施の形態において、ロボットの旋回角度を求める第5の例を示す図である。
【図8】本発明に係る実施の形態において、ロボットの旋回角度を求める第6の例を示す図である。
【図9】本発明に係る実施の形態において、ロボットの位置を求める場合をに示す図である。
【図10】本発明に係る実施の形態において、ロボットに搭載された光ジャイロの較正のための手順を示すフローチャートである。
【図11】本発明に係る実施の形態において、光ジャイロの検出値の時間変化と外乱と較正期間の関係を示す図である。
【符号の説明】
【0098】
10 ロボット、12 車輪、14 本体、16 駆動部、18 光ジャイロ、20 表示部、22 放射部、24 レーザービーム、30 制御部、32 較正部、34 位置情報算出部、36 駆動制御部、40 初期値取得モジュール、42 検出値取得モジュール、44 指示モジュール、46 較正値設定モジュール、48 較正状態出力モジュール、50 警報出力モジュール、61 位置決め治具、62,63 目標壁面、62a 仮想壁面、68 外部カメラ、70 閾値幅、72 較正期間、80 リモート制御部、82 位置算出部、84 入力部、86 出力部、100 位置測定部。
【技術分野】
【0001】
本発明は、ジャイロ較正装置、ジャイロを搭載するロボット及びジャイロ較正プログラムに係り、特に、ジャイロを搭載し、ジャイロの検出値に基づいて自己の位置情報を算出するロボットにおいて、そのジャイロの較正を行うジャイロ較正装置、ジャイロを搭載しそのジャイロの較正部を備えるロボット及びジャイロ較正プログラムに関する。
【背景技術】
【0002】
移動ロボットとしては、いわゆる2足歩行ロボットや、エンタテイメント用の移動ロボット等が知られている。これらの移動ロボットにおいては、目標位置に移動するために、時々刻々におけるロボット自身の位置を検出あるいは算出する必要がある。このような技術は、一般的に移動物体の位置検出方法として知られ、その位置検出精度の向上についても様々な提案がなされている。
【0003】
例えば、特許文献1には、障害物検知装置等が開示され、そこでは、車両のナビゲーション装置における自車の位置決定精度を向上させるため、障害物検知装置によって道路脇に設けられる絶対位置を示す位置表示板のデータを読み取り、これを用いてナビゲーション装置の位置決定におけるキャリブレーションを行うことが述べられている。障害物検知装置としては、光軸と直交する方向に所定距離離れている2つのCCDを用い、その視差の変化から障害物までの距離を検出するもの、あるいは、1つのCCDと、発光部によってパターンが表示される位置データ表示部とを用い、位置データ表示部からは、位置情報信号を示すパターン表示とともに、発光部の物理的長さを示す基線長のデータが表示され、この基線長に基づき、位置データ表示部までの距離を求めるものが述べられている。これにより、GPS方式によるナビゲーション装置の数十mの位置精度を、数m以下の精度に向上させることができる。
【0004】
【特許文献1】特開平7−286858号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1のGPS方式及びそのキャリブレーション方法は、移動距離が少ない移動ロボットに適用することが困難である。また、移動ロボットに位置検出カメラ等のいわゆる「目」に相当する機能を搭載して、視覚によりロボットの現在位置等を検出あるいは算出することも考えられるが、一般に位置検出カメラ及び画像認識の技術は高価で、またある程度の明るさを必要とする。
【0006】
そこで、3次元光ジャイロ等のジャイロをロボットに搭載し、ロボットにおける3軸方向の角速度等の時々刻々における変化を検出し、これを演算によって位置情報に変換することが試みられる。
【0007】
この場合のジャイロの較正は、まず床に設置された位置決め治具によりロボットの位置及び方位を合わせ、ついで、ロボットに搭載されたジャイロに回転を与えるための巨大なターンテーブルによってジャイロの感度を測定する。そのために、ロボットの活躍場所を移すたびに、その較正を行うため、大掛かりな治具の搬送、設置、方位および位置測定が必要となり、多大の労力を要し、利便性がよくない。
【0008】
また、この目的に用いられるジャイロは精度が高い反面、機械的な外乱、あるいは地軸の揺らぎ等によるノイズの影響を受けやすい。したがって、一般的なジャイロについてその3軸方向の角速度等の基準となる原点を較正する際にも、ノイズが大きく影響し、短時間での較正は偶発的なノイズの影響があり、また長時間の較正は必ずノイズ成分を含んでしまう。特許文献1のキャリブレーション方法は、外部からの基準位置を検出し、それを用いているので、ジャイロのようにノイズの影響が大きい場合にはそのまま用いることができない。
【0009】
このように、従来技術において、ロボットに搭載されるジャイロの較正にあたっては、外部ノイズの影響が大きい上に、位置および方位の測定を含む設定が煩雑である。
【0010】
本発明の目的は、ノイズの影響を抑制してジャイロの較正を行うことを可能にするジャイロ較正装置、ジャイロを搭載するロボット及びジャイロ較正プログラムを提供することである。また、他の目的は、ジャイロの較正のためのロボットの位置及び方位の測定を容易に行うことができるジャイロ較正装置を提供することである。以下の手段は、上記目的の少なくとも1つに貢献するものである。
【課題を解決するための手段】
【0011】
本発明に係るジャイロの較正装置は、光ビームを放射するビーム放射手段と、放射された光ビームの被照射位置を検出することで前記被照射位置を特定する光ビーム位置検出手段と、前記光ビーム位置検出手段によって特定された前記被照射位置に基づいて、移動体の位置または方位を算出する算出部と、前記算出部により算出された移動体の位置または方位に基づいて、前記ジャイロの較正を行う較正手段とを備えたことを特徴とする。
【0012】
また、本発明に係るジャイロの較正装置において、前記光ビーム位置検出手段は、移動体から被照射位置までの距離を測定する手段を有し、前記算出部は、光ビームの位置特定データに加えて、あるいはこれに代えて、移動体から被照射位置までの距離データを用いて移動体の位置又は方位の少なくとも1つを算出するのが好ましい。
【0013】
また、本発明に係るジャイロの較正装置において、前記光ビーム位置検出手段は、移動体の旋回時の移動距離を測定する手段を有し、前記算出部は、光ビームの位置測定データに加えて、あるいはこれに代えて、移動体の移動距離データを用いて、移動体の位置又は方位の少なくとも1つを算出するのが好ましい。
【0014】
また、光ビーム放射手段は、複数の方位に光ビームを放射することが好ましい。
【0015】
また、光ビーム位置測定手段は、移動体に搭載された位置測定器、又は移動体とは別に設けられる外部位置測定器であることが好ましい。
【0016】
本発明に係るジャイロの較正装置は、移動体に搭載された位置情報検出用ジャイロの較正を行う較正装置であって、較正のための初期位置状態に設定された移動体の位置データを位置データ初期値として取得する初期値取得手段と、移動体を初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、移動体が外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、を含むことを特徴とする。
【0017】
また、較正値設定手段は、較正期間における複数の検出値の平均値を較正値として設定することが好ましい。
【0018】
また、本発明に係るジャイロの較正装置において、較正部が較正のための処理を開始して終了するまでの間、較正状態にあることを示す較正状態信号を出力する較正状態出力手段を備えることが好ましい。
【0019】
また、本発明に係るジャイロの較正装置において、移動体が外乱を受けたことを警報信号として出力する警報出力手段を備えることが好ましい。
【0020】
また、本発明に係るジャイロを搭載するロボットは、位置情報検出用のジャイロと、ジャイロの較正を行う較正部と、を備えるロボットであって、較正部は、較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得手段と、ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、を含むことを特徴とする。
【0021】
また、本発明に係るジャイロの較正プログラムは、ロボットに搭載される位置情報検出用ジャイロの較正を行う較正装置において実行される較正プログラムであって、較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得処理手順と、ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得処理手順と、ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示処理手順と、所定の較正期間継続して取得した複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定処理手順と、を実行することを特徴とする。
【発明の効果】
【0022】
上記構成の少なくとも1つにより、ロボットより目標壁面に光ビームを放射し、ロボットの旋回前後における目標壁面上に占める光ビームの位置の測定に基づいて、ロボットの位置又は方位の少なくとも1つを算出する。したがって、大掛かりな治具の搬送、設置等を要せず、ロボットの方位等の測定を容易に行うことができる。
【0023】
また、旋回前後のロボットから目標壁面までの距離データを用いるので、距離測定が容易な場合、あるいはあらかじめその距離が分かっている場合等において、ロボットの方位等の測定を容易に行うことができる。
【0024】
また、旋回前後のロボットの移動距離データを用いるので、ロボットの移動距離の測定が容易な場合等において、ロボットの方位等の測定を容易に行うことができる。
【0025】
また、互いに交差して設けられる複数の目標壁面に対応し、複数の方位に光ビームを放射するので、複数の測定データを用いることができ、あるいは測定の容易な目標壁面を用いることができる。
【0026】
また、位置測定手段として、ロボットに搭載された位置測定器、又はロボットとは別に設けられる外部位置測定器を用いるので、測定に適した構成をとることができる。
【0027】
上記構成の少なくとも1つにより、ロボットを初期位置状態に設定し、その状態でジャイロの検出値を継続して複数回取得する。そして所定の較正期間継続して取得したときは、その複数の検出値に基づいて較正値を設定する。そして、検出中に外乱があるときは、較正期間を再度設定し直して検出値取得をやり直す。したがって、外乱を排除し、所定の長さの期間に渡る検出値を用いてジャイロの測定の原点とでき、信頼性の高い較正を行うことができる。
【0028】
また、較正期間における複数の検出値の平均値を較正値として設定するので、偶発的なノイズを平均化して抑制できる。また、較正のための処理を開始して終了するまでの間、較正状態にあることを示すので、部外者に注意を促し、ノイズの発生を抑制できる。また、ロボットが外乱を受けたことを警報信号として出力するので、部外者に事後的に注意を促し、その後のノイズ抑制を容易にする。
【0029】
以上のように、本発明に係るジャイロ較正装置、ジャイロを搭載するロボット及びジャイロ較正プログラムによれば、ノイズの影響を受けやすいジャイロに対し、ノイズの影響を抑制して較正を行うことが可能となる。また、本発明に係るジャイロ較正装置によれば、ジャイロの較正のための位置及び方位の測定を容易に行うことができる。
【発明を実施するための最良の形態】
【0030】
以下に図面を用いて本発明に係る実施の形態につき詳細に説明する。以下において、ロボットの位置制御のために用いられるジャイロは、光学的要素を含む光ジャイロとして説明するが、ロボットの位置制御に十分な精度を有するものであれば光ジャイロ以外のジャイロでもよい。また、ロボットは、エンタテイメント用の移動ロボットとして説明するが、ジャイロを搭載するロボットであれば、他の用途用のロボットでもよい。また、以下において較正部は、ロボットに搭載されるロボット制御部の一部として説明するが、ロボットに搭載されずに有線または無線で接続される別個の装置であってもよい。また、表示部もロボットに搭載されるものとして説明するが、ロボットに搭載されずに、有線または無線で接続され、あるいはLAN等のネットワークで接続される別個の表示装置であってもよい。また、位置測定部は、ロボットに搭載されない外部カメラを有する装置であるとして説明するが、外部カメラに代わる位置検出手段をロボットに搭載されるものとしてもよい。また、較正は、角度あるいは角速度について行うものとして説明するが、これらを座標位置に換算した座標位置データについて行うものとしてもよい。したがって、以下では、位置情報、位置データ等には角度、角速度等に関するものも含むとして説明される。また、以下で述べられる数値は説明のための例示であって、それ以外の値であってもよい。
【0031】
図1は、エンタテイメント用のロボット10の構成を示す図である。ロボット10は、2つの車輪12と本体14を有し、これらの運動により、予め定められたプログラムにそって、所定の方向、所定の位置に移動し、適当なタイミングで本体14を旋回させ、お辞儀させ、あるいは図示されていないアーム等を振って、エンタテイメント動作を行うものである。ロボット10はまた、車輪12及び本体14を運動させる駆動部16と、ロボット10の運動を検出する光ジャイロ18と、ロボット10の動作に関連する情報を表示する表示部20と、これらの要素と接続され、ロボット10全体の動作を制御する制御部30を備える。ロボット10はまた、適当な対象物に光ビームを放射する光放射部22を有する。そしてまた、ロボット10は、リモート制御部80と有線、または無線によって接続される。リモート制御部80は、光放射部22から放射される光ビームを光ポインタとして用いてロボット10の位置又は方位を求めるための位置算出部82と、データの入力、出力のための入力部84、出力部86とを含む。
【0032】
ここで、駆動部16は、車輪12を回転させ、また方向変換させ、本体14を軸方向に旋回させ、揺動させる駆動機構である。駆動部16は、複数の小型モータ等で構成することができる。
【0033】
光ジャイロ18は、互いに直交する3軸方向の角速度を検出する素子である。直交する3軸は、地軸を基準に定めることができ、あるいは地表を基準に定めることもできる。後者の場合では、地表に垂直なZ軸周りの回転角度φ、及び地表に平行でZ軸に垂直なX軸及びY軸のそれぞれの周りの回転角度ψ、θの3つの回転角度について、それぞれの時間変化である3つの角速度を、光ジャイロ18は検出する機能を有する。検出された3つの角速度は、制御部30に送られ、位置情報算出処理に提供されてロボット10の現在位置算出等に用いられる。
【0034】
表示部20は、ロボット10の動きに応じた表示、例えばランプあるいは発光ダイオード等の点滅、あるいは、液晶ディスプレイ等によるキャラクタ等の表示、または発音体を用いた音声、音楽等を表示する装置である。また表示部20は、光ジャイロ18の較正の際にも、後述するように、較正開始、較正中、ノイズの発生警告等の表示をする機能を有する。
【0035】
制御部30は、ロボット10に搭載される電子回路で、光ジャイロ18からの検出信号に基づいてロボット10の現在位置等を算出し、それに従って駆動部16及び表示部20に指令を与え、ロボット10を移動させあるいは様々なエンタテイメント動作を行わせる機能を有する。制御部30は、マイクロプロセッサ等で較正することができる。
【0036】
制御部30は、光ジャイロ18の較正を行う較正部32と、光ジャイロ18の検出値を用いてロボットの位置情報を算出する位置情報算出部34と、位置情報に基づきエンタテイメントプログラムに沿って駆動部16に指令を与える駆動制御部36を含んで構成される。ここで較正部32は、較正用の初期値を取得する初期値取得モジュール40、較正用に光ジャイロ18の検出値を取得する検出値取得モジュール42、外乱の有無を判断し外乱のあるときは較正やり直しを指示する指示モジュール44、所定の較正期間を通して光ジャイロ18の検出値を取得できたときそれに基づき較正値を設定する較正値設定モジュール46、較正中の状態等を示す信号を出力する較正状態出力モジュール48、外乱があったことを警告出力する警報出力モジュール50を含んで較正される。これらの機能はソフトウェアで実現でき、具体的には、対応する較正プログラム、位置情報算出プログラム、エンタテイメントプログラム等を実行することで実現できる。これらの機能の一部をハードウエアで実現してもよい。
【0037】
光放射部22は、ロボット10の本体14に取り付けられ、光ビームを放射するもので、具体的にはレーザービームを放射する機能を有する電子部品で構成される。光放射部22は、ロボット10の位置を測定するために、適当な目標壁面に対しロボット10から光ビームを放射する機能を有する。すなわち、放射された光ビームが目標壁面上に占める位置は、ロボット10の本体14の位置、方位に連動するので、この光ビームをロボット10の本体14の位置、方位に関連する光ポインタとして用いることができる。いま、レーザビームを用いるものとして、目標壁面上のレーザビームの当たったところをレーザーポイントと呼ぶことができる。光放射部22からの光ビームの光軸は、ロボット10の本体14における旋回中心から光ビームが放射しているように設定される。光放射部22は、1つ、あるいは2つ設けられる。2つ設けられるときは、それぞれの光軸が所定の角度をなすように、例えば互いに直交するように設定される。
【0038】
リモート制御部80は、ロボット10の制御部30で処理するよりも、外部で処理するほうが便利な機能を実行する端末である。したがって、制御部30と一体化してももちろん構わない。図1の例では、ロボット10の方位又は位置の少なくとも1つ、具体的には少なくともロボット10の旋回角度がどの程度であるかを求める機能を有する位置算出部82を含む。このロボット10の位置測定の機能は、特にロボット10に搭載される光ジャイロ18の較正する際の位置状態、すなわち較正時の方位である旋回角度がどの程度であるかを定めるのに用いられる。また、入力部84は、位置算出部82に対しデータ等を入力する機能を有する。出力部86は、位置算出部82によって求められたロボット10の旋回角度を較正部32で用いられる初期値として制御部30に出力する機能を有する。リモート制御部80の機能は、制御部30と同様に、ソフトウェアで実現でき、具体的には、対応する位置測定プログラム等を実行することで実現できる。これらの機能の一部をハードウエアで実現してもよい。
【0039】
ロボット10に搭載される光ジャイロについての較正装置は、位置算出部82を中核とするロボットの位置測定機能と、較正部32を中核とする狭義の光ジャイロの較正機能とを備える。すなわち、光ジャイロ18の較正を行うには、まずロボット10を初期位置に設定し、その初期位置でロボット10位置情報を生成する光ジャイロ18を較正する。例えば、ロボット10を基準の壁等に向かって位置決めし、そこから所定の初期位置、具体的には所定の旋回を行わせる。そのときに旋回角度等のロボットの位置測定が行われる。そして、その測定された旋回角度を基準として、その状態における光ジャイロの較正が行われる。その較正が終わると、その較正状態を基準として、光ジャイロによるロボットのリアルタイム位置検出が行われ、ロボットのそれ以後のエンタテイメント等の動作が行われることになる。
【0040】
ロボットに搭載される光ジャイロの較正において、より具体的には、ロボット10を床等に位置決め治具等で位置決めし、そこから較正用の初期位置とされる任意の方位にロボット10を旋回させ、その位置を初期位置とする。たとえば、較正用の初期位置として、床に垂直なφ軸周りの角度で+30度旋回される。旋回角度はもちろん任意に設定してよい。ここで、位置算出部82の機能は、旋回角度、例えば+30度を正確に測定することであり、較正部32の機能は、その状態で光ジャイロ18をその測定値に較正することである。ここでは、最初に、初期位置設定、初期位置測定を説明し、その後にその初期位置情報を用いた較正動作の全体について説明する。
【0041】
1.位置測定部の構成と作用
図2は、位置算出部82を中核とする、ロボット10の初期位置設定も含めた位置測定を行う位置測定部100全体の構成を示す図である。位置測定部100は、ロボット10を構成する位置算出部82、放射部22等に加え、外部カメラ68を含んで構成される。外部カメラ68は、ロボット10の放射部22からのレーザービーム24が照射される目標壁面62上のレーザーポイントの位置等を測定するためのもので、取得されたレーザーポイントの位置等のデータは、信号線を介し位置算出部82に伝送される。もちろん、外部カメラ68の機能をロボット10に搭載することもでき、その場合には、位置測定部100は、ロボット10の構成要素とすることができる。また、ロボット10の位置決めに用いられる床上の位置決め治具61も、目標壁面62とともに、位置測定部100の作用に貢献する。
【0042】
ロボット10の初期位置設定及び位置測定を行うには、最初に、床の位置決め治具61にロボット10の2つの車輪12が合わせられる。この位置が基準位置であり、ロボット10はこの基準位置から所定の角度、例えばφ=+30度旋回させてそこで固定され、そのロボット11の状態が較正のための初期状態とされる。基準位置のロボット10から初期位置のロボット11の間の位置の変化の測定、すなわち上記の旋回角度φの測定は、光ジャイロ18を用いるのではなく、基準となる目標壁面62に対するロボット10,11の位置の幾何学的関係を求めることで行われ、そのために、ロボット10,11の放射部22から放射されたレーザービーム24が目標壁面62上で占める位置、すなわちレーザーポイントの位置が外部カメラ68によって観察され測定される。
【0043】
一般的には、外部カメラ68によって取得される各種位置データに基づき、位置算出部82の機能により、幾何学的関係等を利用してロボット10の旋回角度φを求めることができるが、ロボット10と目標壁面62との配置関係を工夫することで、少ない測定で旋回角度φを求めることが可能になる。以下に、旋回角度の求め方のいくつかの例を説明する。説明の順序は、最初に、旋回角度算出のための座標系等の記号の一般的定義を説明し、次に、具体的な位置測定及び旋回角度算出方法の例を説明する。具体的な測定及び算出方法の説明の順序は、配置関係を工夫して簡単な測定で済むものから始め、その後に一般的な旋回角度の測定及び算出方法を説明する。
【0044】
図3は、ロボット10,11の旋回角度算出処理において用いられる座標系等の記号を一般的に説明するための図である。図3は平面図で、目標壁面62と、旋回前のロボット10、旋回後のロボット11が基準座標系x-yとともに示されている。ここで、旋回前のロボット10の位置がR1(R1x, R1y)で示され、旋回後のロボット11の位置が R2(R2x, R2y)で示される。ロボット10,11の位置は、ロボットの本体14における旋回中心の位置である。また、旋回前のロボット10からの光ビームが目標壁面62上に占める位置、すなわち旋回前のレーザーポイントの位置がL1(L1x, L1y)で示され、旋回後のレーザーポイントの位置が L2(L2x, L2y)で示される。
【0045】
目標壁面62に対する旋回前のロボット10からのレーザーポイントの角度はφ1、目標壁面62に対する旋回前のロボット11からのレーザーポイントの角度はφ2で示される。φ1、φ2は、それぞれロボット10,11から目標壁面62に対する垂線を基準に測定される。したがって、旋回前のロボット10から旋回後のロボット11との間の旋回角度φ3は、φ3=φ2−φ1で示すことができる。
【0046】
また、旋回前後のロボット10,11から目標壁面62までの垂直距離が、それぞれDH1,DH2で示される。さらに、旋回前後のロボット10,11からレーザーポイントL1,L2までの距離が、それぞれDRL1,DRL2で示される。また、旋回前後のロボット10,11から目標壁面62におろした垂線と目標壁面62の交わった点からレーザーポイントまでの距離が、それぞれDHL1,DHL2で示される。そして、旋回前後におけるレーザーポイントL1, L2の目標壁面62上の移動距離についてのx軸、y軸成分が、それぞれDLx, DLyで示される。また、旋回前後におけるロボット10,11の移動距離についてのx軸、y軸成分が、それぞれDRx, DRyで示される。
【0047】
このように、目標壁面62とロボット10に対して予め外部の基準座標系x-yが設定され、一般的には目標壁面62と基準座標系のx軸とは平行ではない。しかし、以下では理解しやすいように、目標壁面をx軸に平行として説明する。
【0048】
図4は、旋回角度φ3を求める第1の例を示す図である。ここでは目標壁面62を基準座標x軸と平行に取り、旋回前に垂直にビームを目標壁面62に当てる場合である。このような設定は、目標壁面62に対する位置決め治具61の配置で、予め行うことができる。そして図4においては、さらにロボット10は旋回前後でその位置を変更することなくその場で旋回する場合を示している。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。このような場合には、旋回角度φ3は以下のように少ない測定によって求めることができる。
【0049】
ここで、旋回前のロボット10からビームを目標壁面62に垂直に当ててそのレーザーポイントをL1とし、位置を変更せずにその場で旋回後のレーザーポイントの位置をL2とする。ロボット10から目標壁面62までの垂直距離DH1は、
DH1=L1y−R1y
また、レーザーポイントL1, L2の壁面移動距離のx軸成分DLxは、
DLx=L1x−L2x
であるので、旋回角度φ3は、
φ3=tan-1(DLx/DH1)=tan-1((L1x−L2x)/(L1y−R1y))
で得られる。さらに一般的には、
φ3=atan2(DLx, DH1)=atan2((L1x−L2x), (L1y−R1y))+π/2
と表記することもできる。したがって、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L2(L2x, L2y) の2つの位置の測定からφ3が得られる。あるいは、ロボットから目標壁面までの垂直距離DH1と、レーザーポイントの壁面移動距離DLxとの2つからφ3が得られる。
【0050】
また、旋回後のロボット11の位置R2とレーザーポイントの位置L2との距離DRL2を用いることで、
φ3=cos-1(DH1/DRL2)=cos-1((L1y−R1y)/DRL2)
から、旋回角度φ3が得られる。すなわち、ロボットと旋回前後のレーザーポイントL1,L2との距離DH1, DRL2からφ3が得られる。同様に、ロボットとレーザーポイントとの距離DRL2と、旋回前後のレーザーポイントの壁面移動距離DLxを用いることで、
φ3=sin-1(DLx/DRL2)=sin-1((L1x−L2x)/DRL2)
から、旋回角度φ3が得られる。
【0051】
旋回角度φ3を求める第2の例は、図4において、ロボットの旋回前のビームが目標壁面62に垂直でなく、斜めに当たる場合である。ここでも、目標壁面62を基準座標x軸と平行に取り、さらにロボット10は旋回前後でその位置を変更することなくその場で旋回する。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。このような場合には、旋回角度φ3を以下のようにして得ることができる。
【0052】
ここでは、旋回前のロボット10からビームを目標壁面62に当てそのレーザーポイントをL1とし、その場旋回後のレーザーポイントの位置をL2とする。旋回前後のそれぞれについて、目標壁面62に対する垂線を基準にして、ロボット10,11からのレーザーポイントへの角度φ1, φ2を以下の式によって求める。
φ1=tan-1((L1x−R1x)/( L1y−R1y))
φ2=tan-1((L2x−R1x)/( L2y−R1y))
ここで、旋回角度φ3は、
φ3=φ2 − φ1
で求められる。その結果、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y) の3つから旋回角度φ3が得られる。
【0053】
また、レーザーポイントL1, L2の壁面移動距離のx軸、y軸成分をDLx, DLyとして、これらを測定すれば、
DLx=L1x−L2x
DLy=L1y−L2y
であるので、
φ1= tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1((L2x−R1x)/( L2y−R1y))=tan-1((L1x−DLx−R1x)/(L1y−DLy−R1y))
φ3=φ2 − φ1
を用いて旋回角度φ3が得られる。このように、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L1(L1x, L1y),壁面移動距離DLx, DLyからφ3が得られる。
【0054】
また、旋回前後のロボットと目標壁面との垂直距離DH1(旋回前), DH2(旋回後)が計測される場合には、次式を用いて旋回角度φ3が得られる。
φ1= tan-1((L1x−R1x)/(DH1)
φ2=tan-1((L2x−R1x)/(DH2)
φ3=φ2 − φ1
なお、ここでL1x,L2xも、ロボットの位置R1(R1x,R1y)と、垂直距離DH1, DH2より幾何学的に求めることができる。よって、ロボットの位置R1(R1x, R1y)、ロボットと目標壁面との垂直距離DH1, DH2からφ3が得られる。
【0055】
また、ロボットからレーザーポイントまでの距離DRL1(旋回前), DRL2(旋回後)が計測される場合には、
φ1= sin-1((L1x−R1x)/(DRL1)
φ2= sin-1((L2x−R1x)/(DRL2)
φ3=φ2 − φ1
から旋回角度φ3が得られる。あるいは
φ1= cos-1((L1y−R1y)/(DRL1)
φ2= cos-1((L2y−R1y)/(DRL2)
φ3=φ2 − φ1
から旋回角度が得られる。なお、ここでR1yはレーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)と目標壁面との距離DRL1, DRL2から幾何学的に求めることができる。よって、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)、ロボットからレーザーポイントまでの距離DRL1(旋回前), DRL2(旋回後)からφ3が得られる。
【0056】
図5は、旋回角度φ3を求める第3の例を示す図である。ここでは、目標壁面62を基準座標x軸に平行に取り、ロボットの旋回前のビームが目標壁面62に垂直でなく、斜めに当たる場合である。さらにロボットは旋回前後でその位置を変更する。すなわち、ここでは旋回前のロボット10の位置R1(R1x, R1y)と旋回後のロボット11の位置R2(R2x, R2y)は異なる。したがって、図5の例は、かなり一般的な場合に相当する。このような場合には、旋回角度φ3を以下のようにして得ることができる。
【0057】
移動前と移動後のそれぞれについて、ロボット10,11から目標壁面62までの垂直距離(基準座標系のy軸に平行な距離)DH1,DH2を以下の式で求める。
DH1=L1y−R1y
DH2=L2y−R2y
また、移動前と移動後のそれぞれについて、ロボット10,11から目標壁面に下ろした垂線が目標壁面62と交わる点からレーザーポイントL1,L2までの距離、すなわち基準座標系のx軸に平行な距離であるDHL1(移動前)、DHL2(移動後)を次式から求める。
DHL1=L1x−R1x
DHL2=L2x−R2x
これらを用いて、移動前と移動後のそれぞれの角度φ1, φ2が次式から求まる。
φ1=tan-1(DHL1/DH1)=tan-1((L1x−R1x)/( L1y−R1y))
φ2=tan-1(DHL2/DH2)=tan-1((L2x−R2x)/( L2y−R2y))
あるいは次の表記を用いてもよい。
φ1=atan2(DHL1,DH1)=atan2 ((L1x−R1x),( L1y−R1y))
φ2=atan2(DHL2,DH2)=atan2 ((L2x−R2x),( L2y−R2y))
求められたφ1, φ2から
φ3=φ2−φ1
により、ロボットの移動を伴う場合の旋回角度φ3を得る。したがって、移動を伴う旋回前後のロボットの位置R1(R1x, R1y), R2(R2x, R2y)、及びレーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)の4つからφ3が得られる。
【0058】
レーザーポイントL1, L2の壁面移動距離のx軸、y軸成分DLx, DLyが計測される場合には、次式
DLx=L1x−L2x
DLy=L1y−L2y
の関係により、
φ1= tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1((L2x−R2x)/( L2y−R2y))=tan-1((L1x−DLx−R2x)/(L1y−Dly−R2y))
φ3=φ2 −φ1
から、旋回角度φ3が得られる。したがって、ロボットの位置R1(R1x, R1y), R2(R2x, R2y)、レーザーポイントの位置L1(L1x, L1y),壁面移動距離成分DLx, DLyからφ3が得られる。
【0059】
なお、基準座標系のx軸と目標壁面62が平行な場合には、
DLy=L1y−L2y=0
であるので、上記の式は以下のように簡単になる。すなわち、
φ1= tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1((L2x−R2x)/( L2y−R2y))=tan-1((L1x−DLx−R2x)/(L1y−R2y))
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。
【0060】
この条件の下で、ロボットからレーザーポイントまでの距離DRL1(移動前), DRL2(移動後)が計測される場合には、これを用いて、
φ1= sin-1((L1x−R1x)/(DRL1)
φ2= sin-1((L2x−R2x)/(DRL2)
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。あるいは
φ1= cos-1((L1y−R1y)/(DRL1)
φ2= cos-1((L2y−R2y)/(DRL2)
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。したがって、ロボットの位置R1(R1x, R1y), R2(R2x, R2y)、レーザーポイントの位置L1(L1x, L1y), L2((L2x, Ly2), ロボットからレーザーポイントまでの距離DRL1, DRL2からφ3が得られる。
【0061】
さらにロボットの移動距離成分DRx, DRyが計測される場合には、
DRx=R1x−R2x
DRy=R1y−R2y
を用いて、
φ1= sin-1((L1x−R1x)/(DRL1)
φ2= sin-1((L2x−R2x)/(DRL2)= sin-1((L2x+DRx−R1x)/(DRL2)
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。したがって、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)、ロボットの位置R1(R1x, R1y)、ロボットからレーザーポイントまでの距離DRL1, DRL2、ロボットの移動距離DRx, DRyからφ3が得られる。
【0062】
この場合sin-1に代えて、tan-1の関係式を用いてもよい。すなわち、ロボットの移動距離成分DRx, DRyを計測し、
DRx=R1x−R2x
DRy=R1y−R2y
の関係を用いることで、
φ1=tan-1(DHL1/DH1)=tan-1((L1x−R1x)/( L1y−R1y))
φ2 =tan-1(DHL2/DH2)=tan-1((L2x−R2x)/( L2y−R2y))
=tan-1((L2x+DRx−R1x)/(L2y+DRy−R1y))
となり、
φ3=φ2 − φ1
から旋回角度φ3が得られる。したがって、レーザーポイントの位置L1(L1x, L1y), L2(L2x, L2y)、ロボットの位置R1(R1x, R1y)、ロボットの移動距離DRx, DRyからφ3が得られる。
【0063】
旋回角度φ3を求める第4の例は、目標壁面62が基準座標系のx軸に対して平行でない場合に補正を行うものである。その様子を図6に示す。図6は、図4において、目標壁面62が基準座標系x-yに対して角度ξだけ傾いている。ここで、ロボット10は旋回前後でその位置を変更することなくその場で旋回する場合を示している。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。また、旋回前のレーザーポイントの位置L1は、目標壁面62の傾きに関係なく同じ位置とし、旋回後のレーザーポイントの位置は、目標壁面62の傾きにより、L2(L2x,L2y)がL21(L21x,L21y)になるものとする。ここで、L2はx軸に平行な仮想壁面62aを考えたときに、その上に来るであろうレーザーポイントの位置である。
【0064】
目標壁面62の基準座標系x-yに対する傾きξの補正は次のようにして行う。すなわち、L1からL21までの距離DL1L21は、ピタゴラスの定理を用いて、
DL1L21=SQRT((L1x−L21x)^2+(L1y−L21y)^2)
で求められる。このDL1L21を用いて、レーザーポイントの位置L2(L2x,L2y)は、
L2x = L1x−DL1L21cosξ
L2y = L1y−DL1L21sinξ
で得られる。得られたL2座標を用いて、実際のレーザーポイントL21の位置を、x軸に平行な仮想壁面62a上のレーザーポイントL2の位置に換算することができる。この換算による補正を行うことで、x軸に平行な目標壁面の場合に説明した方法を用いて、旋回角度φ3を求めることができる。
【0065】
旋回前のレーザービームの照射方向が傾いている場合も、目標壁面が傾いている場合に述べたものと同様に、傾いていないときのレーザーポイントの位置L1を求め、得られたL1,L2座標により、旋回角度φ3を求めることができる。
【0066】
また、目標壁面が平らでない場合も、基準座標系x-yのx軸に平行な仮想の壁面を想定し、実際の壁面に照射されたレーザーポイントの位置L12, L22から、仮想の壁面に対するレーザーポイントの位置L1, L2を、上記で述べたx軸に壁面が平行でない場合と同様にして求め、得られたL1,L2座標により旋回角度φ3を求める事ができる。これは、基準座系に対する実際の壁面の位置を予め測定しておけばよい。
【0067】
旋回角度φ3を求める第5の例は、目標壁面が2つあり、またロボットから2つのレーザービームを放射する場合である。目標壁面が2つあっても、旋回前後のレーザーポイントの位置が1つの目標壁面に留まっているときには、1つの目標壁面のときに旋回角度φ3を求める上記の各方法をそのまま用いることができる。旋回角度φ3が大きくて、旋回前後のレーザーポイントの位置が2つの目標壁面にまたがるときは上記の各方法をそのまま用いることができない。図7はその場合の様子を示す図である。
【0068】
図7においては、第1の目標壁面62と第2の目標壁面63とは互いに直交し、またロボットからの2つのレーザービームもそれらの光軸が相互に直交するものとしている。そして、旋回前にロボットから各ビームを垂直に目標壁面62,63に当て、さらにロボット10は旋回前後でその位置を変更することなくその場で旋回する場合を示している。すなわち、R1(R1x, R1y)=R2(R2x, R2y)である。
【0069】
ここで、旋回前のロボット10からの第1の目標壁面62に対するレーザーポイントの位置をL1(L1x, L1y)、 第2の目標壁面63に対するレーザーポイントの位置をM1(M1x, M1y)として示す。そして、旋回後のレーザーポイントは、旋回角度φ3 が大きいため、当初第1の目標壁面62のL1(L1x, L1y)に位置を占めていたビームが、第1の目標壁面62の範囲に収まらず第2の目標壁面63上にまで行くので、第2の目標壁面63その占める位置M2(M2x, M2y)で示してある。なお、当初第2の目標壁面63のM1(M1x, M1y)に位置を占めていたビームの旋回後は、第2の目標壁面63から外れるので図7には示されていない。
【0070】
このような場合には、目標壁面62と目標壁面63がなす角αや位置関係が予め分かっているので、旋回によって目標壁面62から外れて目標壁面63にレーザーポイントが照射されたときは、目標壁面62から求まる旋回角度φ31と、目標壁面63から求まる旋回角度φ32を足し合わせることで、ロボットの旋回角度φ3を得る。ここで、旋回角度φ31は、レーザーポイントがL1から目標壁面62の限度まで移動するときの旋回角度で、具体的にはその限度を、目標壁面62と目標壁面63の交点の位置L2(L2x, L2y) として、次式で求められる。理解を容易とするために、図7において旋回前にロボットからのビームは壁1に垂直に照射されているとする。
φ31= tan-1((L1x−L2x)/(L1y−R1y))
また、φ32は、レーザーポイントがL2からM2 まで移動するときの旋回角度で、次式で求められる。
φ32=tan-1((L2y−M1y)/(R1x−M1x))+tan-1((M1y−M2y)/(R1x−M1x))
求められたφ31とφ32を用いて、ロボットの旋回角度φ3は、
φ3=φ31+φ32
で与えられる。
あるいは
φ3=atan2(M2x−R2x, M2y−R2y) +π/2(rad)
で得ることができる。なお、上記の説明ではφ1=0としている。この場合、atan2(x、y)はx軸からz軸を中心に反時計回りで角度を求める関数で±π(rad)の関数である。φ1≠0の場合は同様にφ1を求め、φ2を求めてφ3=φ2−φ1とする。
したがって、ロボットの位置R1(R1x, R1y)、レーザーポイントの位置L1(L1x, L1y), M2(M2x, M2y)からφ3が得られる。
【0071】
旋回角度φ3を求める第6の例は、第5の例においてさらにロボットが旋回前後でその位置を変更する場合についてのものである。すなわち、ここでは旋回前のロボット10の位置R1(R1x, R1y)と旋回後のロボット11の位置R2(R2x, R2y)は異なる。その他の条件は第5の例と同じである。その様子を図8に示す。ここで、L3 とM3 は、ロボット11が位置R2(R2x, R2y)に移動し、まだ旋回しないとしたときの2つレーザーポイントの目標壁面62,63上に占める位置である。あるいは、位置R2(R2x, R2y)におけるロボット11から目標壁面62,63に下ろした垂線が目標壁面62,63上で交わる位置である。
【0072】
この場合も、図7に関連して説明した第5の例と同様に、旋回前後のレーザーポイントの位置が1つの目標壁面に留まっているときには、1つの目標壁面のときに旋回角度φ3を求める上記の各方法をそのまま用いることができ、旋回角度φ3が大きくて、旋回前後のレーザーポイントの位置が2つの目標壁面にまたがるときは、目標壁面62から求まる旋回角φ31と目標壁面63から求まる旋回角φ32を足し合わせてロボットの旋回角φ3を次式から得る。
φ3=φ31+φ32
【0073】
また、ロボットからレーザービームが目標壁面62と目標壁面63に照射できるときは、レーザーポイントの位置から、ロボット位置を求めることができる。すなわち、図7のように、目標壁面が2つ、レーザービームが2つで、ビームが目標壁面62に垂直に照射し、2本のビームのなす角が直角のとき、ロボットの位置R1(R1x, R1y)は、レーザーポイントの位置L1(L1x, L1y)とM1(M1x, M1y)から次式より求まる。
R1x=L1x
R1y=M1y
【0074】
さらに一般的な場合にロボットの位置を求める場合を図9に示す。ここでは、目標壁面が2つ、レーザービームが2つで、ビームが目標壁面62に斜めに照射し、2本のビームのなす角が直角で、目標壁面62に対する照射角βが分かっているとする。このとき、ロボットの位置R1(R1x, R1y)は、2つのレーザーポイントの位置と、照射角βから求めることができる。
【0075】
いま、2つの壁のなす角γは直角として説明する。ロボット10からのレーザーポイントの位置を、目標壁面62上でL1(L1x, L1y)、目標壁面63上でM1(M1x, M1y)とすると、ロボットの位置R1(R1x, R1y)は、
y=M1y+sinβ・x
x=L1x+sinβ・y
からなる2本の直線の交点として求まる。
すなわち、
x=L1x+sinβ・(M2y+sinβ・x)
x(1−sin2β)=L1x+sinβ・M2y
x=(L1x+sinβ・M2y)/(1−sin2β)
および
y=M2y+sinβ・(L1x+sinβ・y)
y(1−sin2β)=M2y+sinβ・L1x
y=(M2y+sinβ・L1x)/(1−sin2β)
から、ロボットの位置R1(R1x, R1y)は、次式で求められる。
R1x=(L1x+M1y・sinβ)/(1−sin2β)
R1y=(M1y+L1x・sinβ)/(1−sin2β)
2つの壁のなす角γが直角でない場合は、図6に関連して説明した第4の例の場合と同様に、γがπ/2(rad)の2つの壁を仮想設定し、上記のように2本の直線の交点として求めることができる。
【0076】
このように、ロボットの旋回角度φ3は、目標壁面に対してロボットよりレーザービームを照射し、目標壁面上に占めるレーザーポイントの位置を測定し、ロボットの旋回前後におけるその位置の変化に基づいて求めることができる。また、レーザーポイントの位置の測定に加えて、あるいはレーザーポイントの位置の測定に代えて、ロボットから目標壁面までの距離の測定、あるいはロボットの移動距離の測定を用いることができる。
【0077】
目標壁面におけるレーザーポイントの位置測定は、図2で説明した外部カメラ68等の外部検出器による測定の他に、ロボットに搭載されたカメラ等の検出器によって測定されることでもよい。
【0078】
また、レーザーポイントの位置測定のための検出又は観察は、目標壁面からの反射を検出してもよく、目標壁面に光が当たると発光して照射ポイントの位置を明示する光り位置センサを配置し、この光りを検出するものとしてもよい。
【0079】
ロボットから目標壁面までの距離を測定する方法としては、レーザ距離計等の測長装置を用いることができる。
【0080】
ロボットの移動距離を測定する方法としては、ロボットにおける車輪の回転角度の測定を用いることができる。また、床あるいは車輪にマーカを設け、マーカの移動を測定してもよい。床のマーカとしては床の模様を利用することができる。また、床のGPSによるロボットの位置測定を用いてもよい。
【0081】
上記の各測定手段及び旋回角度φ3の算出方法の組み合わせを工夫することで、ロボットの旋回角度をさらに容易に求めることができる。例えば、床の位置決め治具と所定の位置関係となるように目標壁面に第1の光り位置センサを設け、ロボットの車輪の位置をおよそ位置決め治具に合わせ、そこでレーザービームを放射し、第1の光りセンサにレーザービームがちょうど当たることを検出して、そこで位置決めして基準位置を定めることができる。このときに、レーザービームが目標壁面に垂直に当たるように、床の位置決め治具と第1の光り位置センサの位置関係を予め設定できる。
【0082】
また、さらに目標壁面に第2の光り位置センサを、床の位置決め治具及び第1の光り位置センサと所定の位置関係となるように設け、ロボットを旋回させて、そのレーザービームが第2の光りセンサにちょうど当たることを検出して、これを較正のための初期位置と定めることができる。このときに、旋回角度が所定のφ3、例えば+30度となるように、床の位置決め治具及び第1の光り位置センサ及び第2の光り位置センサの位置関係を予め設定できる。
【0083】
また、このように、床の位置決め治具及び第1の光り位置センサ及び第2の光り位置センサの位置関係を予め設定することで、ロボットと光り位置センサまでの距離、すなわちロボットとレーザーポイントまでの距離を測定することなく、予めわかっている値として用いることもできる。また、このように設定した後にロボットが旋回前後で位置を移動したかどうか、その移動量の大きさは、上記のように、車輪と床の模様等のマーカによって検出できる。あらかじめわかっている距離のデータは、リモート制御部80の入力部84から入力し、位置算出部82がこれを取得できる。
【0084】
2.較正部の構成と作用
このようにして、ロボット10の初期位置の測定及び設定が行われると、その後にその初期位置について光ジャイロ18の較正が行われる。そこで、次にロボット10の動作、特に制御部30中の較正部32の各機能につき、図10のフローチャートを用いて説明する。図10は、ロボット10の光ジャイロ18の較正のための手順を示すもので、各手順は、較正プログラムの各処理手順に対応する。なお、図10には、位置測定部100の機能によって行われる初期位置決定(S10)の手順も含んで較正のための全手順として示してある。この手順によって、ロボット10について、その位置算出の元となる光ジャイロ18の測定のための較正が行われる。較正は、ロボット10をある所定の位置状態に固定し、その状態で光ジャイロ18の測定を継続してサンプリングし、複数のデータを取得する。ロボット10は固定状態であるので、光ジャイロ18の測定データは、本来は一定値になる。しかしながら、光ジャイロ18の高精度性のため、あるいは地軸の揺らぎ等で、測定データは外乱に敏感で、僅かな衝撃等でも測定データの値は大きく揺らぐ。したがって、光ジャイロ18のメーカーは、かなりの測定時間をかけて較正を行うことを薦めることがある。その較正期間は数分間が適当なことがあり、その間、光ジャイロ18は外乱を受けないようにする必要がある。そのために、較正手順は以下のように行われる。
【0085】
ロボット10に搭載された光ジャイロ18の較正を行うには、図10に示すように、最初にロボット10を初期位置に設定する(S10)。ここで初期位置とは較正のために設定される所定の位置のことである。光ジャイロ18は角速度を検出するので、その較正はある角度に固定し、その角度における時間変化をみて、その角度における角速度=0を求めてこれを較正値とすることが望ましい。したがって、ロボット10の動作の基準位置、例えば正面を向いている状態から所定の角度だけ旋回させ、その状態を初期位置とすることができる。光ジャイロ18は、上記のように3軸周りの角速度を検出するので、ここで言う角度は3次元的角度であるが、以下では代表してZ軸周りの角度φの較正に付いて述べる。
【0086】
初期位置決定の工程は、位置測定部100によって行われるロボット10の基準位置設定と、その基準位置からロボット10を旋回させ、その旋回角度φを求める工程であるので、その詳細は省略する。ロボット10は、所定の旋回が行われると、例えばロボット10の2つの車輪12に対して車輪止めが配置されて、その移動動作が床面等に対し固定される。また車輪12の動作も制御部30によって駆動部16への指令が固定状態となり、一切の機械的移動動作が止められる。
【0087】
ロボット10の初期位置が設定されると、次に初期値が取得される(S12)。具体的には、位置測定部に関連して説明したようにして得られた旋回角度φ(φ3 、以後単にφとして示す)が、初期位置設定に対応する位置データ初期値として、入力部84より制御部30に入力され、較正部32の初期値取得モジュール40の機能により、取得される。入力部84からのデータ取得としては、制御部30との間の有線または無線交信等を用いることができる。上記の例では、初期位置に設定されたロボット10の位置データ初期値として、φ=+30度が入力され、取得される。
【0088】
そして、較正部32の較正状態出力モジュール48の機能により、較正開示表示(S14)と較正状態表示(S16)がなされる。これは、較正の実際の手順が開始され、そして現在較正中であることを外部に表示するもので、目的は、外部の第三者にこれらの情報を与えて、ロボット10に対し注意を促すためである。これによって、較正中における人為的外乱を抑制することができる。具体的には較正部32の機能により、表示部20に、光や音で較正が開始したことを表示し、また、較正状態として、終了までの推定時間や、較正手順の進行状況等を表示する。例えば、較正開示表示として緑ランプを点灯または点滅させ、較正状態表示としては終了までの残り時間を秒表示する。
【0089】
次に、較正期間をリセットする(S18)。すなわち較正期間の計時処理を開始する。具体的には、較正期間を始発点とし、較正が進むにつれて残時間が減少する較正期間タイマを用い、較正を始めるごとに始発点の値に戻す。例えば、較正期間を5分=300秒とするときは、300秒を始発点として較正が進むにつれ残時間が減少するタイマを用い、較正を始めるごとに300秒の始発点に戻す。したがって、このリセットの時点が、較正期間の計時処理の始発点である。較正期間の長さは、ロボット10の用途及び要求される位置情報精度と、光ジャイロ18の感度によって定めることができる。
【0090】
そして、具体的な較正用データの収集として、光ジャイロ18の検出値が取得される(S20)。この手順は較正部の検出値取得モジュール42の機能により、光ジャイロ18の検出値が適当なサンプリング周期で取得されるものである。サンプリング周期としては、例えば10msecを用いることができる。上記の例では、較正期間全体に渡り、100×300=30,000の検出値が取得されることになる。
【0091】
光ジャイロ18の検出値が取得される間、上記の較正期間タイマは残時間を時間経過ごとに減算する。また、その期間は、外乱があったか否かが判断される(S22)。外乱の有無は、光ジャイロ18の検出値が異常に大きくなるか否かで判断できる。その様子を図11に示す。この図は横軸に時間をとり、縦軸には光ジャイロ18の出力から求められるZ軸回りの回転角度φをとって示したものである。ここで、時刻t0は、S10においてロボット10が+30度の初期位置に設定されて固定されたときである。t0以前におけるφの値の変動は、位置固定前のノイズを示している。t0以後のφの値は基本的にほぼ一定値を示すが、時刻t1、t2において、異常な検出値を示し、これが外乱によるノイズと考えられる。外乱によるノイズは、図11に示すように適当な閾値幅70を設定し、これを超えるか否かでその有無を判断することができる。閾値幅の設定は、ロボット10の位置算出に対する要求精度、較正に対する要求精度等で定めることができる。例えば±2度等を閾値幅70として設定できる。
【0092】
外乱があったと判断されると、較正部32の警報出力モジュール50の機能により、警報信号が出力(S24)され、制御部30の機能により、表示部20にその旨の表示がなされる。例えば、赤ランプを点灯又は点滅させ、あるいはブザー音、音声等で表示を行うことができる。これにより、外部の第3者に外乱があったことを知らせ、以後、外乱を与えないように注意させることができる。
【0093】
これと共に、外乱があったと判断されるときには、較正部32の指示モジュール44の機能により、較正のやり直しが指示され、手順がS18に戻され、較正期間がリセットされる。すなわち、それまで行っていた光ジャイロ18の検出データは白紙に戻され、再び最初から検出値の取得が始まる。そして、較正期間満了か否か(S26)の判断がなされる。具体的には、較正期間タイマの残時間がゼロか否かが判断される。較正期間が満了でないときはS20に戻り、較正期間満了になるまで光ジャイロ18の検出値の取得が継続される。
【0094】
その様子は図11において示されている。すなわち、図11において、較正期間をT0として、時刻t0からT0経過しない時刻t1に閾値幅70を超えるノイズが検出されたため外乱があると判断され、時刻t1において較正のやり直しが指示され、較正期間がリセットされている。そして時刻t1からT0経過しない時刻t2に再び閾値幅70を超えるノイズが検出されたため時刻t2において較正のやり直しが指示されている。そして時刻t2からは、較正期間(T0)72の満了の時刻t3まで閾値幅70を超えるノイズが検出されなかった。したがって、ここで初めて、較正期間(T0)72の全区間に渡って外乱が含まれない光ジャイロ18の検出値が得られたことになる。
【0095】
較正期間が満了と判断されると、その期間にサンプリングされた検出値に基づいて較正値が設定される(S28)。具体的には較正部32の較正値設定モジュール46の機能により、全検出値について統計処理が施され、例えば30,000の検出値の平均値が求められる。統計処理は、単純平均処理のほか、閾値幅70よりも狭い第2の閾値幅を設定し、その範囲に入るものについての平均値を求める処理、適当な重み付け処理、標準偏差を加味した処理等を用いてもよい。例えば、図11の例で、30,000データの平均値が+29.5度であるとすれば、これを先ほどの初期値+30度に対する較正値とする。
【0096】
このようにして設定された初期位置について較正値が得られると、較正の手順が終了する。上記ではφについての構成を説明したが、θ、ψについても同様の較正が同時、またはその後引き続いて行われる。光ジャイロ18の3軸について較正が完了すると、表示部20は較正完了を表示し、車輪止めが外される。そして以後は較正値を用いて光ジャイロ18の検出値が較正され、それに基づいて位置情報算出部34の機能により、ロボット10の位置情報が算出される。そして、算出された位置情報と、エンタテイメントプログラムの内容を用いて、制御部30は駆動制御部36にエンタテイメント動作に必要な駆動指令を与える。このようにして、ロボット10は、精度よく動作を行うことができる。
【図面の簡単な説明】
【0097】
【図1】本発明に係る実施の形態における光ジャイロ搭載ロボットの構成を示す図である。
【図2】本発明に係る実施の形態において、位置測定部の構成を示す図である。
【図3】本発明に係る実施の形態において、ロボットの旋回角度算出処理において用いられる座標系等の記号を一般的に説明するための図である。
【図4】本発明に係る実施の形態において、ロボットの旋回角度を求める第1の例を示す図である。
【図5】本発明に係る実施の形態において、ロボットの旋回角度を求める第3の例を示す図である。
【図6】本発明に係る実施の形態において、ロボットの旋回角度を求める第4の例を示す図である。
【図7】本発明に係る実施の形態において、ロボットの旋回角度を求める第5の例を示す図である。
【図8】本発明に係る実施の形態において、ロボットの旋回角度を求める第6の例を示す図である。
【図9】本発明に係る実施の形態において、ロボットの位置を求める場合をに示す図である。
【図10】本発明に係る実施の形態において、ロボットに搭載された光ジャイロの較正のための手順を示すフローチャートである。
【図11】本発明に係る実施の形態において、光ジャイロの検出値の時間変化と外乱と較正期間の関係を示す図である。
【符号の説明】
【0098】
10 ロボット、12 車輪、14 本体、16 駆動部、18 光ジャイロ、20 表示部、22 放射部、24 レーザービーム、30 制御部、32 較正部、34 位置情報算出部、36 駆動制御部、40 初期値取得モジュール、42 検出値取得モジュール、44 指示モジュール、46 較正値設定モジュール、48 較正状態出力モジュール、50 警報出力モジュール、61 位置決め治具、62,63 目標壁面、62a 仮想壁面、68 外部カメラ、70 閾値幅、72 較正期間、80 リモート制御部、82 位置算出部、84 入力部、86 出力部、100 位置測定部。
【特許請求の範囲】
【請求項1】
移動体に搭載された位置情報検出用ジャイロの較正を行う較正装置であって、
光ビームを放射するビーム放射手段と、
放射された光ビームの被照射位置を検出することで前記被照射位置を特定する光ビーム位置検出手段と、
前記光ビーム位置検出手段によって特定された前記被照射位置に基づいて、移動体の位置または方位を算出する算出部と、
前記算出部により算出された移動体の位置または方位に基づいて、前記ジャイロの較正を行う較正手段と、
を備えたことを特徴とする光ジャイロの較正装置。
【請求項2】
請求項1に記載のジャイロの較正装置において、
前記光ビーム位置検出手段は、移動体から前記被照射位置までの距離を測定する手段を有し、
前記算出部は、光ビームの位置特定データに加えて、あるいはこれに代えて、移動体から被照射位置までの距離データを用いて移動体の位置又は方位の少なくとも1つを算出することを特徴とする光ジャイロの較正装置。
【請求項3】
請求項1又は請求項2に記載のジャイロの較正装置において、
前記光ビーム位置検出手段は、移動体の旋回時の移動距離を測定する手段を有し、
前記算出部は、光ビームの位置測定データに加えて、あるいはこれに代えて、移動体の移動距離データを用いて、移動体の位置又は方位の少なくとも1つを算出することを特徴とする光ジャイロの較正装置。
【請求項4】
請求項1に記載のジャイロの較正装置において、
前記光ビーム放射手段は、複数の方位に光ビームを放射することを特徴とする光ジャイロの較正装置。
【請求項5】
請求項1に記載のジャイロの較正装置において、
前記光ビーム位置検出手段は、移動体に搭載された位置測定器、又は移動体とは別に設けられる外部位置測定器であることを特徴とする光ジャイロの較正装置。
【請求項6】
移動体に搭載された位置情報検出用ジャイロの較正を行う較正装置であって、
較正のための初期位置状態に設定された移動体の位置データを位置データ初期値として取得する初期値取得手段と、
移動体を初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、
移動体が外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、
所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、
を含むことを特徴とする光ジャイロの較正装置。
【請求項7】
請求項6に記載のジャイロの較正装置において、
較正値設定手段は、較正期間における複数の検出値の平均値を較正値として設定することを特徴とする光ジャイロの較正装置。
【請求項8】
請求項6に記載のジャイロの較正装置において、
較正部が較正のための処理を開始して終了するまでの間、較正状態にあることを示す較正状態信号を出力する較正状態出力手段を備えることを特徴とする光ジャイロの較正装置。
【請求項9】
請求項6に記載のジャイロの較正装置において、
移動体が外乱を受けたことを警報信号として出力する警報出力手段を備えることを特徴とする光ジャイロの較正装置。
【請求項10】
位置情報検出用のジャイロと、
ジャイロの較正を行う較正部と、
を備えるロボットであって、
較正部は、
較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得手段と、
ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、
ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、
所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、
を含むことを特徴とする光ジャイロを搭載するロボット。
【請求項11】
ロボットに搭載される位置情報検出用ジャイロの較正を行う較正装置において実行される較正プログラムであって、
較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得処理手順と、
ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得処理手順と、
ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示処理手順と、
所定の較正期間継続して取得した複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定処理手順と、
を実行することを特徴とする光ジャイロの較正プログラム。
【請求項1】
移動体に搭載された位置情報検出用ジャイロの較正を行う較正装置であって、
光ビームを放射するビーム放射手段と、
放射された光ビームの被照射位置を検出することで前記被照射位置を特定する光ビーム位置検出手段と、
前記光ビーム位置検出手段によって特定された前記被照射位置に基づいて、移動体の位置または方位を算出する算出部と、
前記算出部により算出された移動体の位置または方位に基づいて、前記ジャイロの較正を行う較正手段と、
を備えたことを特徴とする光ジャイロの較正装置。
【請求項2】
請求項1に記載のジャイロの較正装置において、
前記光ビーム位置検出手段は、移動体から前記被照射位置までの距離を測定する手段を有し、
前記算出部は、光ビームの位置特定データに加えて、あるいはこれに代えて、移動体から被照射位置までの距離データを用いて移動体の位置又は方位の少なくとも1つを算出することを特徴とする光ジャイロの較正装置。
【請求項3】
請求項1又は請求項2に記載のジャイロの較正装置において、
前記光ビーム位置検出手段は、移動体の旋回時の移動距離を測定する手段を有し、
前記算出部は、光ビームの位置測定データに加えて、あるいはこれに代えて、移動体の移動距離データを用いて、移動体の位置又は方位の少なくとも1つを算出することを特徴とする光ジャイロの較正装置。
【請求項4】
請求項1に記載のジャイロの較正装置において、
前記光ビーム放射手段は、複数の方位に光ビームを放射することを特徴とする光ジャイロの較正装置。
【請求項5】
請求項1に記載のジャイロの較正装置において、
前記光ビーム位置検出手段は、移動体に搭載された位置測定器、又は移動体とは別に設けられる外部位置測定器であることを特徴とする光ジャイロの較正装置。
【請求項6】
移動体に搭載された位置情報検出用ジャイロの較正を行う較正装置であって、
較正のための初期位置状態に設定された移動体の位置データを位置データ初期値として取得する初期値取得手段と、
移動体を初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、
移動体が外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、
所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、
を含むことを特徴とする光ジャイロの較正装置。
【請求項7】
請求項6に記載のジャイロの較正装置において、
較正値設定手段は、較正期間における複数の検出値の平均値を較正値として設定することを特徴とする光ジャイロの較正装置。
【請求項8】
請求項6に記載のジャイロの較正装置において、
較正部が較正のための処理を開始して終了するまでの間、較正状態にあることを示す較正状態信号を出力する較正状態出力手段を備えることを特徴とする光ジャイロの較正装置。
【請求項9】
請求項6に記載のジャイロの較正装置において、
移動体が外乱を受けたことを警報信号として出力する警報出力手段を備えることを特徴とする光ジャイロの較正装置。
【請求項10】
位置情報検出用のジャイロと、
ジャイロの較正を行う較正部と、
を備えるロボットであって、
較正部は、
較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得手段と、
ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得手段と、
ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示手段と、
所定の較正期間継続して取得された複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定手段と、
を含むことを特徴とする光ジャイロを搭載するロボット。
【請求項11】
ロボットに搭載される位置情報検出用ジャイロの較正を行う較正装置において実行される較正プログラムであって、
較正のための初期位置状態に設定されたロボットの位置データを位置データ初期値として取得する初期値取得処理手順と、
ロボットを初期位置状態に保持したままで、ジャイロの検出値を所定の較正期間継続して複数回取得する検出値取得処理手順と、
ロボットが外乱を受けたことを検出し、検出値取得手段に対し、較正期間を再度設定し直して検出値取得のやり直しを指示する指示処理手順と、
所定の較正期間継続して取得した複数の検出値に基づいて較正位置データを生成し、これを位置データ初期値に対応する較正値として設定する較正値設定処理手順と、
を実行することを特徴とする光ジャイロの較正プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2007−40762(P2007−40762A)
【公開日】平成19年2月15日(2007.2.15)
【国際特許分類】
【出願番号】特願2005−223503(P2005−223503)
【出願日】平成17年8月1日(2005.8.1)
【新規性喪失の例外の表示】特許法第30条第3項適用申請有り 2005年日本国際博覧会、財団法人2005年日本国際博覧会協会、平成17年3月10日
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
【公開日】平成19年2月15日(2007.2.15)
【国際特許分類】
【出願日】平成17年8月1日(2005.8.1)
【新規性喪失の例外の表示】特許法第30条第3項適用申請有り 2005年日本国際博覧会、財団法人2005年日本国際博覧会協会、平成17年3月10日
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
[ Back to top ]