(57)【特許請求の範囲】
【請求項１】
移動型ロボットであって、
前記移動型ロボットが環境内の表面上を移動しつつ少なくとも一つの移動特徴を検出するように構成された動作センサと、
較正磁界を生成するよう構成された較正コイルと、
前記較正磁界に応答するセンサ回路であって、該較正磁界に基づいて較正信号を生成するよう構成されたセンサ回路と、
前記較正信号に応じて該センサ回路を較正するよう構成され、それによって前記環境内の発信器磁界を検出するよう構成された、較正されたセンサ回路が得られる、制御装置と、を備え、
前記制御装置は、少なくとも検出された発信器磁界と、少なくとも一つの検出された移動特徴とに応じて前記移動型ロボットの姿勢を推測するよう構成された、
移動型ロボット。
【請求項２】
前記移動型ロボットはロボット芝刈り機であり、前記表面は芝地を含み、前記ロボット芝刈り機は切断機構を更に含み、
前記制御装置は、前記切断機構で芝生を切断しながら前記ロボット芝刈り機を前記芝地上で動かすために遠隔装置と情報を交換するよう構成され、該情報は該芝地上のある点に対する前記ロボット芝刈り機の位置及び該芝地上での動きの指示を含む、
請求項１に記載の移動型ロボット。
【請求項３】
前記移動型ロボットは清掃ロボットであり、前記表面は部屋の床を含み、
前記制御装置は、前記清掃ロボットを前記床上で動かして前記清掃ロボットの床清掃機構又は清掃パッドを用いて該床を清掃させるために遠隔装置と情報を交換するよう構成され、該情報は前記部屋内における前記清掃ロボットの位置及び該部屋のあらゆる場所での動きの指示を含む、
請求項１に記載の移動型ロボット。
【請求項４】
前記センサ回路はフィルタ回路及び前記発信器磁界に応答する複数のセンサコイルを含み、
前記制御装置は、前記較正信号を表すデータに基づいて前記フィルタ回路用の係数を判断し、該係数を該フィルタ回路に適用して前記センサコイルによって検出された複数の異なる周波数に対応する複数の周波数チャンネルのゲインの差を正規化するよう構成された、
請求項１に記載の移動型ロボット。
【請求項５】
前記センサ回路は増幅回路を含み、
前記制御装置は、前記較正信号を表すデータに基づいて前記増幅回路のゲインを判断し、該ゲインを該増幅回路に適用して該較正信号の振幅の動的変更を可能にするよう構成された、
請求項１に記載の移動型ロボット。
【請求項６】
前記センサ回路は、異なるコイル軸を規定して前記発信器磁界の異なる成分に応答するよう配置された三つのセンサコイルを備える、
請求項１に記載の移動型ロボット。
【請求項７】
前記コイル軸は立体的に直交し、
前記センサコイルは球の外形の少なくとも一部に接近するよう配置されている、
請求項６に記載の移動型ロボット。
【請求項８】
前記制御装置は、前記較正信号及び前記発信器磁界を表す較正前データに応じて前記センサ回路を較正するよう構成されている、
請求項１に記載の移動型ロボット。
【請求項９】
前記制御装置は、前記較正磁界の振幅と前記発信器磁界の振幅との間の差を閾値と比較し、該差に基づいて前記センサ回路を較正するよう構成されている、
請求項８に記載の移動型ロボット。
【請求項１０】
前記較正されたセンサ回路は、前記発信器磁界の成分の、前記較正コイルからの出力に基づいた最大磁界周波数と最小磁界周波数との間にある周波数を検出することによって前記発信器磁界を検出するよう構成されている、
請求項１に記載の移動型ロボット。
【請求項１１】
前記制御装置は、
前記発信器磁界を発する発信コイルと前記センサ回路にある該発信器磁界を検出するセンサコイルの相対向きの変化を検出すること
を含む操作を実行することで前記移動型ロボットの前記姿勢を推測するよう構成されている、
請求項１に記載の移動型ロボット。
【請求項１２】
発信器磁界を生成するよう構成された発信コイルを備える磁界発信器と、
自律的に前記磁界発信器に関して環境内を移動するよう構成されたロボットであって、
少なくとも一つの移動特徴を検出するように構成された動作センサと、
較正磁界を生成するよう構成された較正コイルと、
前記発信器磁界及び前記較正磁界に応答するセンサコイルを含む磁界受信器と、
前記磁界受信器による前記発信器磁界の検出と、前記動作センサによる前記少なくとも一つの移動特徴の検出とに基づいて前記磁界発信器に対する前記ロボットの位置を判断するよう構成された位置判断回路と、を備え、
前記位置判断回路は、前記磁界受信器によって検出された前記較正磁界を表すデータに基づいて自己較正を実行するよう構成されている、
ロボットと、
を備える、自律型ロボットシステム。
【請求項１３】
前記磁界発信器は三つの発信コイルを備え、該三つの発信コイルはそれぞれ発信コイル軸を規定して前記発信器磁界の一成分を生成するよう構成され、該発信コイル軸は立体的に直交し、該発信コイルは第一球の外形の少なくとも一部に接近するよう配置され、
前記磁界受信器は三つのセンサコイルを備え、該三つのセンサコイルはそれぞれセンサコイル軸を規定して前記発信器磁界の一成分に応答するものであり、該センサコイル軸は立体的に直交し、該センサコイルは第二球の外形の少なくとも一部に接近するよう配置され、該第二球は前記第一球より直径が小さい、
請求項１２に記載の自律型ロボットシステム。
【請求項１４】
前記較正コイルは前記センサコイルのそれぞれに対して同じ角度を規定する、
請求項１３に記載の自律型ロボットシステム。
【請求項１５】
前記ロボットと前記磁界発信器は物理的に切り離されている、
請求項１３に記載の自律型ロボットシステム。
【請求項１６】
移動型ロボットによって実行される姿勢を推測する方法であって、
前記移動型ロボットの動作センサを用いて少なくとも一つの移動特徴を検出し、
前記移動型ロボットの較正コイルを用いて較正磁界を生成し、
前記移動型ロボットのセンサ回路を用いて前記較正磁界を検出し、
前記較正磁界を表す較正データに基づいて前記センサ回路を較正し、それによって較正されたセンサ回路が得られ、
前記較正されたセンサ回路を用いて発信器磁界を検出し、
前記較正されたセンサ回路を用いて検出した前記発信器磁界を表すデータと、前記少なくとも一つの移動特徴とに基づいて前記移動型ロボットの姿勢を推測することを含む、
方法。
【請求項１７】
前記センサ回路はフィルタ回路及び前記発信器磁界に応答する複数のセンサコイルを含み、
前記センサ回路の較正は、前記較正データに基づいて前記フィルタ回路用の係数を判断し、該係数を該フィルタ回路に適用して前記センサコイルによって受信された複数の異なる周波数に対応する複数の周波数チャンネルのゲインの差を正規化することを含む、
請求項１６に記載の方法。
【請求項１８】
前記センサ回路は増幅回路を含み、
前記センサ回路の較正は、前記較正データに基づいて前記増幅回路のゲインを判断し、
該ゲインを該増幅回路に適用してセンサ回路によって出力される較正信号の振幅の動的変更を可能にすることを含む、
請求項１６に記載の方法。
【請求項１９】
前記センサ回路の較正は、前記較正磁界の振幅と前記発信器磁界の振幅との間の差を閾値と比較し、該差に基づいて前記センサ回路を較正することを含む、
請求項１６に記載の方法。
【請求項２０】
前記較正されたセンサ回路は、前記発信器磁界の成分の、前記較正コイルからの出力に基づいた最大磁界周波数と最小磁界周波数との間にある周波数の検出に応答して検出信号を生成する、
請求項１６に記載の方法。
【請求項２１】
前記制御装置は、前記少なくとも一つの移動特徴に基づいて前記発信器磁界のひずみを検出するように更に構成されている、請求項１に記載の移動型ロボット。
【請求項２２】
前記制御装置は、前記少なくとも一つの移動特徴に応じて前記移動型ロボットの推測された姿勢の多義性を解消するように更に構成されている、請求項１に記載の移動型ロボット。
【請求項２３】
前記移動型ロボットは、前記発信器磁界を発するように構成された磁界発信器と物理的に切り離されている、請求項１に記載の移動型ロボット。
【請求項２４】
前記少なくとも一つの移動特徴は、移動距離、速度、及び加速度からなる群から選択される、請求項１に記載の移動型ロボット。
【発明の詳細な説明】
【関連出願の援用】
【０００１】
本特許出願は、２０１５年６月５日出願の米国仮特許出願第６２／１７１，４９８号の利益を主張する出願である。米国仮特許出願第６２／１７１，４９８号は、参照により本明細書に組み込まれるものとする。
【技術分野】
【０００２】
本明細書は、概して、磁界検出を用いて移動型ロボット位置を判断するためのシステム及び方法に関する。
【背景技術】
【０００３】
移動型ロボットの位置特定技術は、ロボットの周りの環境に対するロボット自身の位置及び向き（例えば、姿勢）をロボットに判断させるプロセスを含むことができる。周りの環境のマップを構築できるロボットは、ある程度の自律性を有するようにマップ内でのロボット自身の位置を特定できる。このマップを構築して生成されたマップを用いるプロセスは、Simultaneous Localization and Mapping（ＳＬＡＭ）として知られている。ＳＬＡＭは、マップの構築（マッピング）及びマップの利用（位置特定）に関するものであり、従って位置特定に関連するプロセス及びマッピングに関連するプロセスを含む。ロボットは、これらのプロセスを同時に又は多重化された方法で実行することができる。ＳＬＡＭ技術は、走行距離計測法、機械的接触センサ、又はレーザ距離計や画像ベースのセンサといった非接触距離センサを用いたマップの構築を含むことができる。
【発明の概要】
【０００４】
移動型ロボットは、磁界に応答して電気信号を生成するセンサコイルを用いて環境内の磁界を検出することができる。移動型ロボットの制御装置は、電気信号を用いて、環境内に発信器磁界を発する磁界発信器に対するロボットの位置及び向き（例えば、姿勢）を判断することができる。センサコイルによって生成される電気信号は、磁界発信器によって発せられた発信器磁界に応答して生成された検出信号及びロボットの少なくとも一つの較正コイルによって発せられた較正磁界に応答して生成された較正信号を含み得る。較正コイルは、センサコイルが較正磁界に対して同様に応答するよう（例えば、較正磁界に応答して同様の振幅を生成するよう）ロボットに配置することができる。センサコイルは、それぞれが検出信号及び較正信号を生成する、三つの別々のコイルを含み得る。
【０００５】
いくつかの例では、センサコイルが較正コイルによって生成される較正磁界に対して同等の応答を示すことを想定して較正コイルが配置されているため、制御装置は、ロボットの較正コイルを制御して、センサコイルによって生成される検出信号のそれぞれを正規化する。制御装置は、較正信号に基づいて、磁界に応答して生成される電気信号を増幅させるセンサ回路のゲインを調整することができる。制御装置は、センサコイルのそれぞれによって生成される較正信号の振幅に基づいて、センサコイルのそれぞれによって生成される検出信号を正規化することができる。
【０００６】
いくつかの例では、制御装置は、所定のダイナミックレンジ内の検出信号を表す検出データの振幅を維持する。発信器磁界の振幅は磁界発信器から離れた位置ほど小さくなり、それによって検出信号の振幅が減少する。制御装置は、検出データの振幅に基づいて較正磁界の振幅を調節することができる。ロボットの磁界発信器から離れる動きによって検出データの振幅が減少すると、制御装置は、センサ回路のゲインによって検出信号が増幅されて検出データが所定のダイナミックレンジ内の振幅を有するよう、較正磁界の振幅を特定の閾値に調整することができる。
【０００７】
いくつかの例では、ロボットが環境内を移動すると、制御装置は、検出信号（例えば、検出信号の振幅又は位相）を環境内におけるロボットの位置及び向きにマッピングする伝達関数（例えば、マップ又はマッピング）を用いてロボットの姿勢を判断することができる。いくつかの場合においては、ロボットは、静的に較正された伝達関数を含み得る。ロボットが環境内を移動すると、ロボットは、動作信号から推測した相対距離で検出信号を動的に較正することができる。動作信号は、ロボットが移動した距離、ロボットの速度、又はロボットの加速度を表し得る。検出信号を動作信号で較正することで、ロボットは、磁界のひずみに遭遇した際にロボットの姿勢を推測することができる。
【０００８】
いくつかの例では、移動型ロボットは、環境内の表面上を移動可能な本体と、本体に担持され、較正磁界を生成するよう構成された較正コイルと、本体に担持され、較正磁界に応答するセンサ回路と、本体に担持され、センサ回路と通信する制御装置とを含む。センサ回路は、較正磁界に基づいて較正信号を生成するよう構成されている。制御装置は、較正信号に応じてセンサ回路を較正するよう構成され、それによって環境内の発信器磁界を検出して発信器磁界に基づいて検出信号を生成するよう構成された、較正されたセンサ回路が得られる。制御装置は、検出信号に応じて移動型ロボットの姿勢を推測するよう構成されている。
【０００９】
いくつかの例では、移動型ロボットはロボット芝刈り機であっても良く、表面は芝地を含んでも良く、移動型ロボットは本体の下部に切断機構を更に含んでも良い。制御装置は、切断機構で芝生を切断しながら本体を芝地上で動かすために遠隔装置と情報を交換するよう構成しても良い。情報は、芝地上のある点に対する移動型ロボットの位置及び芝地上での動きの指示を含んでも良い。
【００１０】
いくつかの例では、移動型ロボットは清掃ロボットであっても良く、表面は部屋の床を含んでも良い。制御装置は、本体を床上で動かして移動型ロボットの床清掃機構又は清掃パッドを用いて床を清掃させるために遠隔装置と情報を交換するよう構成しても良い。情報は、部屋内における移動型ロボットの位置及び部屋のあらゆる場所での動きの指示を含んでも良い。
【００１１】
いくつかの例では、センサ回路はフィルタ回路及び発信器磁界に応答する複数のセンサコイルを含んでも良い。制御装置は、較正信号を表すデータに基づいてフィルタ回路用の係数を判断し、係数をフィルタ回路に適用してセンサコイルによって検出された複数の異なる周波数に対応する複数の周波数チャンネルのゲインの差を正規化するよう構成しても良い。
【００１２】
いくつかの例では、センサ回路は増幅回路を含んでも良い。制御装置は、較正信号を表すデータに基づいて増幅回路のゲインを判断し、ゲインを増幅回路に適用して較正信号の振幅の動的変更を可能にするよう構成しても良い。
【００１３】
いくつかの例では、センサ回路は、異なるコイル軸を規定して発信器磁界の異なる成分に応答するよう配置された三つのセンサコイルを備えても良い。コイル軸は立体的に直交しても良い。センサコイルは球の外形の少なくとも一部に接近するよう配置しても良い。
【００１４】
いくつかの例では、制御装置は、較正信号及び発信器磁界を表す較正前データに応じてセンサ回路を較正するよう構成しても良い。制御装置は、較正磁界の振幅と発信器磁界の振幅との間の差を閾値と比較し、差に基づいてセンサ回路を較正するよう構成しても良い。
【００１５】
いくつかの例では、較正されたセンサ回路は、発信器磁界の成分の、較正コイルからの出力に基づいた最大磁界周波数と最小磁界周波数との間にある周波数の検出に応答して検出信号を生成するよう構成しても良い。
【００１６】
いくつかの例では、移動型ロボットは、センサ回路による発信器磁界の検出に応答して本体を表面上で移動させるよう動作可能なモータを含み得る。モータは、発信器磁界を検出するとロボットの速度を落とすよう構成することができる。
【００１７】
いくつかの例では、ロボットはつながれていなくても良い。
【００１８】
いくつかの例では、制御装置は、検出信号を表すデータを用いた高速フーリエ変換を実行して発信器磁界の位相及び振幅を取得すること、及び位相の経時ドリフトを判断して発信器磁界を発する発信コイルとセンサ回路にある発信器磁界を検出するセンサコイルの相対向きの変化を検出することを含む操作を実行することで移動型ロボットの姿勢を推測するよう構成しても良い。
【００１９】
いくつかの例では、移動型ロボットは、ロボットが移動した距離、ロボットの速度、及びロボットの加速度の少なくとも一つに応答し、動作信号を生成するよう構成された動作検出器を含み得る。制御装置は、動作信号に基づいてマップを生成し、動作信号を表すデータに応じて環境に対するロボットの姿勢を判断するよう構成することができる。
【００２０】
いくつかの例では、センサ回路は、軸が立体的に直交する三つのセンサコイルを含み得る。較正コイルは、三つのセンサコイルのそれぞれに対して同じ角度を規定するよう配置することができる。
【００２１】
いくつかの例では、自律型ロボットシステムは、発信器磁界を生成するよう構成された発信コイルを備える磁界発信器と、自律的に磁界発信器に関して環境内を移動するよう構成されたロボットを含む。ロボットは、較正磁界を生成するよう構成された較正コイルを備える。自律型ロボットシステムは磁界受信器を含む。磁界受信器は、発信器磁界及び較正磁界に応答するセンサコイルを含む。自律型ロボットシステムは、更に、磁界受信器による発信器磁界の検出に基づいて磁界発信器に対するロボットの位置を判断するよう構成された位置判断回路を含む。位置判断回路は、磁界受信器によって検出された較正磁界を表すデータに基づいて自己較正を実行するよう構成されている。
【００２２】
いくつかの例では、磁界発信器は三つの発信コイルを備えても良い。三つの発信コイルはそれぞれ発信コイル軸を規定して発信器磁界の一成分を生成するよう構成しても良い。発信コイル軸は立体的に直交しても良い。発信コイルは第一球の外形の少なくとも一部に接近するよう配置しても良い。磁界受信器は三つのセンサコイルを備えても良い。三つのセンサコイルはそれぞれセンサコイル軸を規定して発信器磁界の一成分に応答するものであっても良い。センサコイル軸は立体的に直交しても良い。センサコイルは第二球の外形の少なくとも一部に接近するよう配置しても良い。
【００２３】
いくつかの例では、第一球は第二球より大きくても良い。
【００２４】
いくつかの例では、較正コイルはセンサコイルのそれぞれに対して同じ角度を規定しても良い。角度は５０度から６０度の間であっても良い。
【００２５】
いくつかの例では、ロボットと磁界発信器は物理的に切り離されていても良い。
【００２６】
いくつかの例では、移動型ロボットによって実行される姿勢を推測する方法は、移動型ロボットの較正コイルを用いて較正磁界を生成し、移動型ロボットのセンサ回路を用いて較正磁界を検出することを含む。方法は、較正磁界を表す較正データに基づいてセンサ回路を較正し、それによって較正されたセンサ回路が得ることを含む。方法は、更に、較正されたセンサ回路を用いて発信器磁界を検出し、較正されたセンサ回路を用いて検出した発信器磁界を表すデータに基づいて移動型ロボットの姿勢を推測することを含む。
【００２７】
いくつかの例では、センサ回路はフィルタ回路及び発信器磁界に応答する複数のセンサコイルを含んでも良い。センサ回路の較正は、較正データに基づいてフィルタ回路用の係数を判断し、係数をフィルタ回路に適用してセンサコイルによって受信された複数の異なる周波数に対応する複数の周波数チャンネルのゲインの差を正規化することを含んでも良い。
【００２８】
いくつかの例では、センサ回路は増幅回路を含んでも良い。センサ回路の較正は、較正データに基づいて増幅回路のゲインを判断し、ゲインを増幅回路に適用してセンサ回路によって出力される較正信号の振幅の動的変更を可能にすることを含んでも良い。
【００２９】
いくつかの例では、センサ回路を較正することは、較正データ及び発信器磁界を表す較正前データの両方に基づき得る。
【００３０】
いくつかの例では、センサ回路の較正は、較正磁界の振幅と発信器磁界の振幅との間の差を閾値と比較し、差に基づいてセンサ回路を較正することを含んでも良い。
【００３１】
いくつかの例では、較正されたセンサ回路は、発信器磁界の成分の周波数の検出に応答して検出信号を生成しても良い。周波数は、最大磁界周波数と最小磁界周波数との間にあっても良い。最大磁界周波数及び最小磁界周波数は、較正コイルからの出力に基づいていても良い。
【００３２】
前述の構成は、限定されないが、以下の長所を含み得る。ロボットは、センサコイルによって生成された検出信号を用いて、環境内のある特徴（例えば、固定された磁界発信器）によって生成された発信器磁界に対するロボットの姿勢を推測することができる。多くの場合、ロボットは、発信器磁界に基づいて自身の姿勢を推測することができる。従って、ロボットは、時間とともに蓄積される姿勢の変化を追跡することによる位置の推測を行う必要が無い。位置及び向きの推測は、時間とともに蓄積され得る誤差が発生し難い。
【００３３】
加えて、環境内に配置されたロボットは、初期化された時点で自身の姿勢を推測することができる。ロボットが移動されるか未知の場所に配置された場合、制御装置は、測定された磁界の特徴に基づいてロボットの姿勢を判断することができる。従って、ロボットは、自身の姿勢を判断するために以前の姿勢を表す以前のデータを必要としない。
【００３４】
本明細書で説明するシステム及び方法は、ロボットの位置及び向きの推測の正確度、精度、及び計算効率を向上させると考えられる較正処理も含む。一例では、制御装置は、検出信号を表す検出データを、センサコイル間で大きく違わないと想定される較正信号で正規化することで、制御装置が受信する異なるセンサコイルからの検出データ間の正確度及び整合度を向上させることができる。
【００３５】
別の例では、ロボットの発信器からの距離が増加すると、検出信号の振幅が減少し、磁界の他の検出信号との区別がより難しくなり得る。制御装置は、較正磁界を動的に変更し、それによってセンサコイルによって生成される較正信号を動的に変更することで、正規化された検出信号のダイナミックレンジ（例えば、検出信号の最小値及び最大値）を小さくして計算効率を向上させることができる。従って、検出信号の振幅が大幅に減少しても、制御装置が受信する検出データを小さいダイナミックレンジ内で変化させることができるため、計算効率を向上させ、大きいダイナミックレンジの信号を処理できる高価な部品の必要性を低減させる。
【００３６】
この発明の概要を含む本明細書で説明する二以上の特徴を組み合わせて、本明細書で具体的に説明されていない実施例を形成することができる。
【００３７】
本明細書で説明するロボット又はその動作態様は、一以上の非一時的機械可読記憶媒体に保存され、一以上の処理装置で実行して本明細書で説明する動作を制御（例えば、統合）することができる指示を含む、コンピュータプログラム製品として実施する又はコンピュータプログラム製品で制御することができる。本明細書で説明するロボット又はその動作態様は、一以上の処理装置及び様々な動作を実施するための実行可能な指示が保存されているメモリを含み得るシステム又は方法の一部として実施することができる。
【００３８】
一以上の実施例の詳細は、添付の図面及び以下の明細書に記載されている。その他の特徴及び長所は、明細書、図面及び特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００３９】
【図１Ａ】図１Ａは、磁界を発する磁界発信器が置かれた環境内を移動する移動型ロボットの斜視図である。
【図１Ｂ】図１Ｂは、磁界を発する磁界発信器が置かれた環境内を移動する飛行ロボットの斜視図である。
【図２】図２は、環境の特徴に基づいたひずみを示す磁界を発する磁界発信器が置かれた環境内を移動する移動型ロボットの斜視図である。
【図３】図３は、磁界発信器及びロボットの検出／制御システムのブロック図である。
【図４】図４は、図３に示す検出／制御システムによって生成された電気信号の周波数領域のグラフである。
【図５】図５は、磁界発信器を備えるドッキングステーションから離れる方向に移動するロボットの側面図である。
【図６】図６は、図５に示すロボットの異なる姿勢で収集した二つのサンプルのグラフである。
【図７】図７は、磁界発信器が置かれた環境内でのロボットの複数の可能な姿勢の上面図である。
【図８】図８は、磁界発信器の正面斜視図である。
【図９】図９は、検出／制御システムの正面斜視図である。
【図１０】図１０は、検出／制御システムを備えるロボットの底面図である。
【図１１】図１１は、移動型ロボットの位置及び向きを推測するために移動型ロボットによって実行されるプロセスを示すフローチャートである。
【図１２】図１２は、検出／制御システムのゲインを調整するために移動型ロボットによって実行されるプロセスを示すフローチャートである。
【図１３】図１３は、磁界を発する複数の磁界発信器が置かれた環境内を移動するロボットの斜視図である。
【図１４】図１４は、磁界を発する磁界発信器が置かれた屋内環境内を移動するロボットの斜視図である。
【００４０】
異なる図面中の同様の参照番号は、同様の要素を示す。
【発明を実施するための形態】
【００４１】
本明細書では、磁界を用いてある環境内における移動型ロボットが自身の姿勢（例えば、位置及び向き）を推測することを可能にする、移動型ロボット用のナビゲーションシステムの例を説明する。ナビゲーションシステムは、環境内に発信器磁界を発する磁界発信器を含むことができる。移動型ロボットは、磁界発信器によって発せられた発信器磁界を検出するよう構成することができる。移動型ロボットは、検出された発信器磁界に基づいて、環境内を横断又は移動することができる。移動型ロボットは、発信器磁界を測定して、発信器磁界を表す電気信号である検出信号を生成するセンサ回路を含むことができる。制御装置によって操作可能なセンサ回路は、検出信号に基づいて検出データを出力する。ロボットの制御装置は、検出データに基づいて、環境内でのロボットの位置及び向きを推測することができる。
【００４２】
例えば、ナビゲーションシステムは、発信器磁界（例えば、磁気双極子場）の三つの直交する成分を生成するよう構成された、三つの概して直交するコイルを有する発信器を含むことができる。発信器磁界の各成分を生成するために用いられる電気信号は、発信器磁界の各成分が他の成分と区別できるように多重化される。ロボットは、複数の受信アンテナ（例えば、三組の概して直交するコイル）を含む。発信器は、発信器磁界の三つの直交する成分を生成することで、三つの直交する軸（例えば、ｘ、ｙ及びｚ軸）を有する参照座標枠を規定することができる。その結果、三次元空間に関して測定されたロボットの姿勢は、発信器磁界の測定結果に基づいて判断することができる。従って、ロボットの位置及び向きの推測は、発信器磁界の三つの成分の九つの測定結果に基づいている。
【００４３】
制御装置は、ナビゲーションシステムの正確度、精度、及び効率を向上させるための較正プロセス及び正規化プロセスを含むことができる。制御装置は、移動型ロボットが環境内を移動しても変化しない安定した参照値でセンサ回路を較正することができる。従って、制御装置は、較正されていないセンサ回路を較正することができ、それによって較正されたセンサ回路が得られる。このような較正プロセスによって、検出信号から推測される姿勢の正確度及び精度を向上させることができる。
【００４４】
一例では、移動型ロボットは、移動型ロボットが環境内を移動してもセンサコイルの位置において振幅及び位相が変化しない較正磁界を生じさせる較正コイルを含む。センサ回路の複数のセンサコイルは較正磁界を検出し、各センサコイルは較正磁界に応答して較正信号を生成する。複数のセンサコイルのそれぞれによって生成された較正信号は、複数のセンサコイルに対する較正コイルの配置から、互いに大きく異なることは予期されない。従って、検出データは、較正信号に基づいて正規化することができる。制御装置は、複数のセンサコイルのそれぞれからの検出信号を表す検出データが較正信号で正規化されるように、較正信号を用いてセンサ回路を較正するよう構成することができ、その結果較正されたセンサ回路が得られる。較正されたセンサ回路は、環境内の発信器磁界を検出し、発信器磁界に基づいて検出データを出力するよう構成されている。制御装置は、次いで、検出データを処理してロボットの姿勢を推測することができる。本明細書で説明する較正は、発信器によって生成された発信器磁界の各成分の振幅が変化した場合に発信器磁界に応答してセンサコイルによって測定される信号が較正されるよう、一定間隔で実行される動的較正である。
【００４５】
制御装置は、オンボード較正及び／又は他のセンサの利用によって、例えば発信器磁界の変形及びひずみによって生じるエラーに起因する検出信号からの姿勢推測のエラー及び不正確性を低減することができる。これらの変形及びひずみは、例えば、磁気双極子構造の散乱を引き起こす環境内の金属構造物及びその他の大型の導電性物体によって引き起こされ得る。発信器磁界は、環境内の動かない構造物及び物体の存在によって一貫してひずむ。従って、ロボットは、発信器磁界に関する情報を測定し保存することができる。ロボットが同じ位置に戻った場合、ひずんだ磁界の測定結果は位置情報を提供することができる。一例では、制御装置は、ロボットの動作センサからの動作信号（例えば、ロボットが移動した距離、ロボットの速度、及び／又はロボットの加速度を表す信号）に基づいて姿勢推測を行う。動作信号は、磁界の変形に対して頑強であるため、検出信号に現れ得る磁界の変形を制御装置が検出することを可能にする。環境内の大型の導電性物体が動かない場合、ロボットは、これらの物体によって生成される磁界のパターンもSimultaneous  Localization and Mapping（ＳＬＡＭ）システム用の位置特定用特徴として利用することができる。制御装置は、較正されたセンサ回路及び動作センサによって生成された信号を併用することで、正確かつ高精度に環境内での移動型ロボットの姿勢を判断することができる。
・ナビゲーションシステムの概要
【００４６】
図１Ａに示すように、移動型ロボット１００は、環境１０４内の表面１０２上で移動又は操作し、磁界発信器１０８が発する発信器磁界１０６に基づいて環境１０４内での自身の姿勢を推測する。推測される姿勢は、通常は移動しない環境１０４内の参照点（例えば、磁界発信器１０８）に対して測定されるロボットの向き及び位置を含む。図１Ａに示す例では、ロボット１００は、芝や草を含み得る表面１０２の芝刈りをする芝刈りロボットであり得る。しかしながら、本明細書で説明するシステム及び方法は、あらゆる種類の移動型装置に適用することができる。ロボット１００は、環境１０４内を磁界発信器１０８に関して動き回る。
【００４７】
磁界発信器１０８が発する発信器磁界１０６は、磁界発信器１０８に対して外側に、空間の三次元の全方向（例えば、ｘ軸、ｙ軸及びｚ軸によって規定される三次元座標系）に伝搬するため、ロボットは、表面１０２上での動きに限定されず、表面１０２より上にある座標を含む環境１０４内を動き回ることができる。図１Ｂに示す例では、飛行ロボット１０９は、表面１０２より上でホバリングや飛行ができる飛行ドローンであり得る。磁界は、飛行ロボット１０９のｘ，ｙ位置及び高度又は仰角を判断するのに用いることができる。
【００４８】
移動型ロボット１００は、直交するｘ軸、ｙ軸及びｚ軸を含む座標系１１０に対する自身の位置を推測することができる。移動型ロボット１００は、更に、座標系内での自身の向き（例えば、ｘ軸周りのθ向き、ｙ軸周りのΦ向き、及びｚ軸周りのΨ向き）を推測することができる。ロボット１００が環境１０４内で移動及び回転し、そしてそれによりロボット１００の磁界検出器１１２が環境１０４内で移動及び回転すると、ロボット１００に配置された磁界受信器１１２は発信器磁界１０６の特性（例えば、位相及び振幅）の変化に応答する。磁界受信器１１２は発信器磁界１０６に応答して電気信号を生成し、ロボット１００はこれらの電気信号に基づいて自身の姿勢を推測することができる。
【００４９】
いくつかの例では、図２に示すように、ロボット２００（例えば、図１Ａに示すロボット１００）が環境２０４の表面２０２上で移動又は動作すると、ロボット２００は磁界発信器２１０が発する発信器磁界２０８のひずみ２０６を検出することができる。例えば自動車２１２といった大型の導電性物体は、その近傍の磁界をひずませることができるため、発信器磁界２０８にひずみ２０６を生じさせる。ロボット２００に配置された磁界受信器２１４は、発信器磁界２０８のひずみ２０６を検出し、ある特定の位置で測定されたひずみ２０６に対応する検出信号を表すデータを保存することができる。ロボット２００に配置された動作センサ２１６も、ロボット２００の移動特徴（例えば、移動距離、速度、又は加速度）を検出することができる。
【００５０】
ロボット２００は、動作センサ２１６及び磁界受信器２１４によって生成された信号を用いてひずみ２０６を検出することができる。例えば、磁界受信器２１４は、一般的に大型の導電性物体によって生じる発信器磁界２０８の振幅及び位相の変化（例えば、ひずみ２０６）を表す検出信号を生成することができる。動作センサ２１６は、ロボット２００の移動量を表す動作信号を生成することができる。ロボット２００は、ロボット２００がひずみ２０６の近傍を移動する際にひずみ２０６を表す検出信号が正確にロボット２００の移動量を反映するよう、検出信号及び動作信号を処理することができる。従って、ロボット２００は、ひずみが存在する場合においてもロボット２００の姿勢を推測することができる。いくつかの場合においては、ロボット２００は、ひずみ２０６の存在を判断することで、発信器磁界２０８に応答して生成された検出信号とロボットの姿勢との間の伝達関数として用いることができるトポグラフィ又はマップを学習することができる。従って、ロボット２００は、ひずみ２０６をＳＬＡＭ法における再位置特定用の特徴として用いることができる。
【００５１】
制御装置は、一般的に、操作及び処理を実行して、磁界発信器によって生成された磁界に基づいて磁界発信器に対する磁界受信器の位置及び向きを推測することができる。操作及び処理は、計算を簡略化して制御装置の処理効率を向上させる物理的仮定を含み得る。一例では、磁界発信器によって生成される磁界は準静的であると仮定することができるため、操作及び処理においては高次項を考慮せず、それによって磁界受信器の位置及び向きの推測に必要な計算を簡略化している。準静的磁界であるとの仮定は、想定される磁界発信器と磁界受信器との間の距離、例えば０から１０ｋｍにおいては、本明細書で説明する推測される位置及び向きの正確度及び精度には大きくは影響しない。
【００５２】
更に、発信コイル及びセンサコイルの構造的仮定も、正確度及び精度に影響を与え得る。いくつかの例では、磁界発信器の三つの別々であり且つ互いに直交する発信コイルは発信器磁界を生成する。各発信コイルは発信器磁界の一成分を生成するため、各成分は互いに実質直交する。
【００５３】
更なる例では、磁界受信器の三つの別々であり且つ互いに直交するセンサコイルは磁界を検出する。磁界トランシーバに対する磁界受信器の位置及び向きを計算する処理の例は、“Method and apparatus for determining remote object orientation and position”と題して１９８５年１２月９日に出願された米国特許第４、７３７、７９４号に詳細に説明されており、その全内容が本明細書に組み込まれるものとする。
【００５４】
本明細書で説明する操作及び処理を用いて姿勢を推測するために、環境内を移動する移動型ロボット（例えば、図１Ａに示すロボット１００、図１Ｂに示すロボット１０９、又は図２に示すロボット２００）は、環境内における磁界発信器に対するロボットの位置及び向きを推測するために磁界発信器が発する発信器磁界を検出する回路を含み得る。図３は、発信器磁界３０４を発する磁界発信器３０２（例えば、図１Ａに示す磁界発信器１０８又は図２に示す磁界発信器）を含むナビゲーションシステム３００のブロック図を示す。ロボットに配置された検出／制御システム３０６は、発信器磁界３０４に応答して電気信号を生成する。検出／制御システム３０６は、検出／制御システム３０６の制御装置３１２が、電気信号に基づいて、磁界発信器３０２の位置及び向きに対するロボットの三次元位置３０８及び三次元向き３１０を判断することが可能な位置判断回路を含む。従って、ロボットの位置３０８及び向き３１０は、固定位置に配置又は固定されて通常は動かない環境内の参照点（例えば、磁界発信器３０２）に対して測定される。
・磁界発信器
【００５５】
磁界発信器３０２は、環境内の固定の位置及び向きに留まったまま、環境内に発信器磁界３０４を発する。磁界発信器３０２は、作業中（例えば、芝刈り作業中、清掃作業中、ナビゲーション作業中、及びその他のロボットによって実行される作業中）は環境内の固定の位置及び向きに留まることができる。従って、磁界発信器３０２は、例えばロボットが作業中は、環境内の固定点に対して動かない。検出／制御システム３０６は、例えば、検出／制御システム３０６が実質的に磁界発信器３０２から電気的に絶縁されるよう、物理的には磁界発信器３０２につながれない構成とすることができる。
【００５６】
磁界発信器３０２は、発信コイル３１４を用いて発信器磁界３０４を発する。発信コイル３１４は、三つの別々の発信コイル３１４Ａ、３１４Ｂ、３１４Ｃを含む（本明細書では、まとめて発信コイル３１４と呼ぶ）。発信コイル３１４Ａ、３１４Ｂ、３１４Ｃは、それぞれ、信号生成器３１６Ａ、３１６Ｂ、３１６Ｃ（本明細書では、まとめて信号生成器３１６と呼ぶ）及び電力アンプ３１８Ａ、３１８Ｂ、３１８Ｃ（本明細書では、まとめて電力アンプ３１８と呼ぶ）を含む発信器回路から、増幅された電気信号３１５Ａ、３１５Ｂ、３１５Ｃを受信する。従って、磁界発信器３０２は、三つの独立した信号生成器３１６Ａ、３１６Ｂ、３１６Ｃ及び三つの独立した電力アンプ３１８Ａ、３１８Ｂ、３１８Ｃを含む。各コイル３１４Ａ、３１４Ｂ、３１４Ｃにおいて、関連する増幅された電気信号３１５Ａ、３１５Ｂ、３１５Ｃ（本明細書では、まとめて増幅された電気信号３１５と呼ぶ）は、関連する信号生成器３１６Ａ、３１６Ｂ、３１６Ｃによって生成された関連する増幅されていない電気信号３１７Ａ、３１７Ｂ、３１７Ｃ（本明細書では、まとめて増幅されていない電気信号３１７と呼ぶ）に由来する。関連する電力アンプ３１８Ａ、３１８Ｂ、３１８Ｃは、関連する増幅されていない電気信号３１７Ａ、３１７Ｂ、３１７Ｃを受信し、増幅されていない電気信号３１７Ａ、３１７Ｂ、３１７Ｃの電力を増幅して、発信コイル３１４Ａ、３１４Ｂ、３１４Ｃがそれぞれ受信する増幅された電気信号３１５Ａ、３１５Ｂ、３１５Ｃを生成する。各発信コイル３１４Ａ、３１４Ｂ、３１４Ｃは、対応する信号生成器３１６Ａ、３１６Ｂ、３１６Ｃ及び電力アンプ３１８Ａ、３１８Ｂ、３１８Ｃによって生成された増幅された電気信号３１５Ａ、３１５Ｂ、３１５Ｃを用いて、発信器磁界３０４の関連する成分を生成する。発信器磁界３０４は、それぞれが発信コイル３１４Ａ、３１４Ｂ、３１４Ｃのうちの一つによって生成された三つの別々の成分を含むと説明したが、いくつかの実施例では、発信器磁界３０４は、それぞれが発信コイル３１４Ａ、３１４Ｂ、３１４Ｃによって生成される成分のうちの一つに対応する三つの別々の磁界を重畳したものであっても良い。
【００５７】
発信コイル３１４は、発信コイル３１４のコイル軸が環境の三次元空間の線形独立な基準を形成するよう配向されている。発信コイル３１４は、線形独立な軸を有するため、信号生成器３１６及び電力アンプ３１８によって生成される電気信号の振幅及び周波数によって、空間の三次元の全方向（例えば、ｘ、ｙ、ｚ方向）において発信器磁界３０４の振幅及び周波数を制御することができる。一例では、磁界発信器３０２の制御装置は、信号生成器３１６で生成された信号の位相、周波数及び振幅を調整すること、又は電力アンプ３１８のゲインを増加させて発信コイル３１４に伝達される電気信号の振幅を増加させることができる。いくつかの場合においては、各発信コイル３１４用の電気信号の周波数及び振幅は、事前に（例えば、製造段階で）指定しても良い。各発信コイル３１４用の関連する信号生成器３１６及び関連する電力アンプ３１８は、事前に指定した周波数及び振幅が達成されるように設定しても良い。電力アンプ３１８は、所定の点における発信器磁界３０４が三次元の全方向において同様の振幅を有するようにそれぞれ設定しても良い。
【００５８】
一般に、信号生成器３１６のそれぞれによって生成された信号は、発信器磁界３０４の複数の成分が互いに区別可能となるように多重化することができる。例えば、電気信号は、時分割多重、周波数分割多重、及び／又はスペクトル拡散多重（spread spectrum multiplexing）又は位相多重（phase multiplexing）を用いて多重化することができる。周波数分割多重の一例では、各発信コイル３１４用の信号生成器３１６は、例えば、１ｋＨｚから１０ｋＨｚの間、１０ｋＨｚから２０ｋＨｚの間、又は２０ｋＨｚから３０ｋＨｚの間の指定の周波数を有するように、増幅されていない電気信号３１７を生成することができる。周波数は、互いに、例えば６０Ｈｚから５００Ｈｚ又は５００Ｈｚから５ｋＨｚだけ異なっていても良い。発信コイル３１４によって生成された発信器磁界３０４の成分は、増幅されていない電気信号３１７と同様の周波数を有する。従って、周波数は、ノイズ（例えば、モータ、誘導コイル、及びその他の磁界を生成し得る電気システムによるノイズ）の周波数が、発信コイル３１４に発信される増幅された電気信号３１５の周波数の範囲外にあるよう選択することができる。
・検出／制御システム
【００５９】
発信器磁界３０４はロボットが環境内を移動すると変化するため、検出／制御システム３０６は、発信器磁界３０４を検出し、ある特定の位置での発信器磁界３０４の三つの成分の固有の特徴を用いて位置３０８及び向き３１０を推測することができる。検出／制御システム３０６のセンサ回路３１９は、発信器磁界３０４を検出し、センサコイル３２０を用いて検出信号３２１を生成又は出力する。センサ回路３１９は、制御装置３１２と通信する。制御装置３１２は、検出信号３２１に基づいて、三次元における位置３０８（例えば、ｘ、ｙ及びｚ）及び三次元における向き３１０（例えば、θ、Φ及びΨ）を判断することができる。検出／制御システム３０６のセンサコイル３２０は、それぞれが発信器磁界３０４に応答して検出信号３２１を生成する、三つの別々のセンサコイル３２０Ａ、３２０Ｂ、３２０Ｃ（本明細書では、まとめてセンサコイル３２０と呼ぶ）を含む。センサコイル３２０のコイル軸は線形独立であり、それによって、ロボットが環境内を移動する際に三つのセンサコイル３２０の検出信号３２１が互いに独立して変化することを可能にしている。センサコイル３２０の軸の線形独立性は、更に、センサコイル３２０が三次元の全方向に広がる磁界を検出することを可能にする。
【００６０】
各例において、検出／制御システム３０６は、位置３０８及び向き３１０の推測の正確度、精度、及び計算効率を向上させるために様々な較正及び正規化操作を実行する。一例では、検出／制御システム３０６は、正確度及び精度を向上させるために、検出／制御システム３０６に関して固定された（例えば、検出／制御システム３０６に対して動かない）較正磁界に応答して生成された較正信号に基づいて、検出信号３２１を表す検出データ３２５を動的に正規化することができる。別の例では、検出／制御システム３０６は、制御装置３１２によって利用される検出信号３２１を表すデータを圧縮されたダイナミックレンジ内に維持するために、較正磁界を動的に調整する。更なる例では、検出／制御システム３０６は、更に、発信器磁界３０４のひずみが存在する場合においても姿勢の推測の正確度及び精度を向上させるために、動作を表す信号を用いて、検出信号３２１と姿勢（すなわち、位置３０８及び向き３１０）との間の伝達関数（例えば、マップ、マッピング又はその他の機能）を動的に較正する。本明細書では、これらの処理及びシステムのそれぞれについて説明する。
・検出信号の正規化
【００６１】
検出／制御システム３０６は、ロボットの姿勢を推測するために、較正コイル３２２を用いて、制御装置３１２が受信した検出データ３２５の正規化に用いられる磁界を生成する。従って、検出／制御システム３０６又は検出／制御システム３０６の位置判断回路は、磁界受信器（例えば、センサコイル３２０）によって検出された較正磁界を表すデータに基づいて自己較正を実行するよう構成されている。検出／制御システム３０６は、検出データ３２５を同様の較正値に較正することで、位置３０８及び向き３１０の推測の同様の変化を表すためにセンサコイル３２０のそれぞれにおける検出信号３２１が同様の変化量を示すようにすることができる。検出データ３２５を正規化することで、同様のダイナミックレンジ内にある検出データ３２５によって、センサコイル３２０のそれぞれからの出力の相互の正確度及び精度を向上させることができる。
【００６２】
較正コイル３２２は、各センサコイル３２０が同じように応答できる較正磁界３２４を生成する。一例では、センサコイル３２０は、センサコイル３２０のそれぞれが較正コイル３２２によって生成される較正磁界３２４に対して同じように応答するように、互いに且つ較正コイル３２２に関して配置することができる。センサコイル３２０は実質直交する軸を有することができ、較正コイル３２２は、較正コイル３２２の軸がセンサコイル３２０のそれぞれの軸に対して同じ角度を規定するよう配置することができる。較正コイル３２２の軸とセンサコイル３２０のそれぞれとの間の角度は、５０度から６０度の間の角度とすることができる。センサコイル３２０はそれぞれ較正コイル３２２に対して同じ角度を規定するため、センサコイル３２０は、較正磁界３２４の検出に応答して、振幅及び周波数が実質同様の較正信号３２３を生成又は出力することができる。検出／制御システム３０６は、センサコイル３２０をこれらの較正信号３２３で較正することで、位置３０８及び向き３１０の推測の正確度及び精度を向上させることができる。
【００６３】
検出／制御システム３０６は、較正磁界３２４を用いてセンサコイル３２０のそれぞれによって生成される検出信号３２１の増幅量（例えば、センサ回路３１９のゲイン）を設定する。本明細書で説明するように、検出信号３２１は、センサ回路３１９のアンプ回路、フィルタ回路及び変換回路を通過した後に検出データ３２５となる。同様に、較正信号３２３は較正信号３２３を表す較正データ３２７となる。制御装置３１２は、較正データ３２７及び較正前の検出データ３２５に基づいて、較正前の検出データ３２５が較正された検出データ３２５となるようセンサ回路３１９を較正することができる。制御装置３１２は、較正前の検出データ３２５を用いてセンサ回路３１９を較正した後は、検出信号３２１を表す較正された検出データ３２５を用いて正確かつ高精度にロボットの姿勢を推測することができる。
【００６４】
較正コイル３２２はセンサコイル３２０に対して動かないため、ロボットの環境内での移動中の異なる時間において、センサコイル３２０によって検出される較正磁界３２４の振幅は同じであることが予想される。反対に、センサコイル３２０によって生成される検出信号３２１の振幅は、磁界発信器３０２と検出／制御システム３０６との間の距離が大きくなるほど小さくなる。従って、制御装置３１２は、センサコイル３２０によって生成された検出信号３２１を較正磁界３２４で正規化することができる。ロボットが環境内を移動しても、較正信号３２３は実質同じままである。
【００６５】
通常、検出／制御システム３０６は、ノイズ（例えば、較正コイル３２２及び発信コイル３１４とは別のものに起因する磁界からのノイズ）の影響を減らすために、検出信号３２１を増幅する。検出／制御システム３０６は、較正磁界３２４の周波数及び振幅に基づいて増幅のゲインを設定することができる。一例では、センサ回路３１９のセンサコイル３２０は、発信器磁界３０４の各成分の周波数の検出に応答して検出信号３２１を生成する。センサ回路３１９のセンサコイル３２０は、較正磁界３２４の各成分の周波数の検出に応答して較正信号３２３も生成することができる。
【００６６】
較正磁界３２４は、発信器磁界３０４の三つの成分の周波数の両側に二つの周波数成分を含んでも良い。第一周波数成分は発信器磁界３０４の三つの成分の周波数より低い周波数を有し、第二周波数成分は発信器磁界３０４の三つの成分の周波数より高い周波数を有する。その結果、検出／制御システム３０６は、本明細書で説明するように、第一周波数成分及び第二周波数成分で区切られた周波数のゲインを増加又は減少させることで、発信器磁界３０４の各成分を増幅又は減衰させることができる。従って、最大磁界周波数（例えば、高周波数成分の周波数）及び最小磁界周波数（低周波数成分の周波数）の間の周波数を有する発信器磁界３０４の成分は、検出信号３２１と較正信号３２３との間の相対振幅に基づいて増幅／減衰される。
【００６７】
第一周波数成分の周波数及び第二周波数成分の周波数は、複数ある「チャンネル」のうちの一つを選択又は使用するためにあらかじめ定めることができ、発信器及び受信器は環境内で最もノイズが少ないチャンネルを選択するよう取り決めることができる。典型的なチャンネルは約２００Ｈｚから５００Ｈｚの幅を有し、一般的には１０００Ｈｚから３０，０００Ｈｚの領域内で離隔している。しかしながら、いくつかの例では、チャンネルの幅は５００Ｈｚより大きい場合がある。例えば、第一周波数成分は、５００Ｈｚから１ｋＨｚの間、１ｋＨｚから５ｋＨｚの間、又は５ｋＨｚから１０ｋＨｚの間であり得る。第二周波数成分は、１０ｋＨｚから１５ｋＨｚの間、１５ｋＨｚから２０ｋＨｚの間、又は２０ｋＨｚから３０ｋＨｚの間であり得る。発信器磁界３０４の各成分は、周波数が第一及び第二周波数成分の周波数の間にあるような、本明細書で説明する周波数を有し得る。
【００６８】
従って、使用中は、各コイル３２０は、発信器磁界３０４及び較正磁界３２４の両方を含み得る環境内の磁界を検出する。図４は、例えば、ロボットの位置及び向きを推測するために複数のセンサコイルのうちの一つからサンプルを収集中に生成される電気信号４００の周波数領域のグラフ（例えば、高速フーリエ変換により得られるグラフ）の一例を示す。電気信号４００は、図３に示すセンサコイル３２０のうちの一つによって生成される、検出信号３２１及び較正信号３２３を含む電気信号の例であり得る。電気信号４００は一つの電気信号として説明しているが、電気信号４００は複数の別々の電気信号（例えば、検出信号３２１及び較正信号３２３）を重畳したものとして説明することもできる。このような例では、検出応答４０５Ａ、４０５Ｂ、４０５Ｃは検出信号を表し、較正応答４１０Ａ、４１０Ｂは較正信号を表すことができる。
【００６９】
センサコイル（例えば、センサコイル３２０のうちの一つ）によって生成される電気信号４００は、発信器磁界の三つの成分（例えば、発信コイル３１４Ａ、３１４Ｂ、３１４Ｃによって生成される発信器磁界３０４の成分）のそれぞれに対する応答４０５Ａ、４０５Ｂ、４０５Ｃを含む。電気信号４００は、（例えば、較正磁界３２４に関して本明細書で説明した）較正磁界の第一及び第二周波数成分に対する応答４１０Ａ、４１０Ｂを更に含む。従って、較正磁界及び発信器磁界は、電気信号４００に、五つの異なる周波数、すなわち、較正磁界３２４の第一周波数成分の較正周波数４１５Ａ、発信器磁界の成分の三つの検出周波数４２０Ａ、４２０Ｂ、４２０Ｃ、及び較正磁界の第二周波数成分の較正周波数４１５Ｂにおいて電気的応答を示させることができる。図４に示すように、三つの検出周波数４２０Ａ、４２０Ｂ、４２０Ｃは較正周波数４１５Ａ、４１５Ｂの間にある。
【００７０】
それぞれがセンサコイル３２０のうちの一つによって生成される検出信号３２１及び較正信号３２３を含む電気信号は、センサコイル３２０Ａ、３２０Ｂ、３２０Ｃのそれぞれに関連付けられた自動ゲイン制御（ＡＧＣ）回路３２６Ａ、３２６Ｂ、３２６Ｃ（本明細書では、まとめてＡＧＣ回路３２６と呼ぶ）、アンプ回路３２８Ａ、３２８Ｂ、３２８Ｃ（本明細書では、まとめてアンプ回路３２８と呼ぶ）、及びフィルタ回路３３０Ａ、３３０Ｂ、３３０Ｃ（本明細書では、まとめてフィルタ回路３３０と呼ぶ）を含むセンサ回路３１９を通して伝達される。通常、コイル３２０はそれぞれ検出信号３２１及び較正信号３２３を関連付けられたＡＧＣ回路３２６に伝達し、ＡＧＣ回路３２６は検出信号３２１及び較正信号３２３の両方をＡＧＣゲイン分増幅させる。関連付けられたアンプ回路３２８は、所定のアンプゲイン分信号を増幅させる。関連付けられたフィルタ回路３３０は、増幅された検出信号及び増幅された較正信号を受信し、フィルタ周波数周辺の増幅された信号をフィルタゲイン分増幅させる。ＡＧＣゲイン分、所定のアンプゲイン分、及びフィルタゲイン分増幅後、増幅された電気信号はアナログ−デジタル変換器（Ａ／Ｄ）３３２の関連付けられたポートによってデジタル信号に変換され、制御装置３１２に伝達される。従って、デジタル化された増幅された電気信号は、制御装置３１２が位置３０８及び向き３１０を推測するために用いる、検出信号３２１を表す検出データ３２５及び較正信号３２３を表す較正データ３２７を含む。センサ回路３１９は、検出信号３２１を表すデータのダイナミックレンジを更に下げて制御装置３１２のダイナミックレンジの条件を下げるために、増幅又は減衰のための追加のステップを含んでも良い。
【００７１】
制御装置３１２は、検出データ３２５のダイナミックレンジを更に下げるために、増幅フィードバックループ３３４及び減衰フィードバックループ３３６を用いてセンサ回路３１９を較正する。フィードバックループ３３４、３３６はそれぞれ較正データ３２７を含み、デジタル信号をセンサ回路３１９及び減衰器回路３３８が利用可能なアナログ信号に変換するためのデジタル−アナログ変換器（Ｄ／Ａ）３３７も含む。増幅フィードバックループ３３４は、較正データ３２７及び検出データ３２５に基づいて、センサコイル３２０のそれぞれに対する電気信号３２１、３２３のセンサ回路ゲイン（例えば、フィルタゲイン）を設定することができる。減衰フィードバックループ３３６は、検出データ３２５及び較正データ３２７に基づいて減衰器回路３３８の減衰器損失を設定することができる。減衰器回路３３８及びその減衰器損失によって、較正磁界３２４の振幅が決まる。
【００７２】
一例では、制御装置３１２は、検出データ３２５と較正データ３２７の振幅の差を判断し、減衰器損失及びフィルタゲインを設定する。ここで図４も参照して、制御装置３１２は、増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃが増幅された較正信号４３０Ａ、４３０Ｂと同程度の振幅を有するように、増幅フィードバックループ３３４及び減衰フィードバックループ３３６を用いて各電気信号４００に対してフィルタ回路３３０のフィルタゲイン及び減衰器回路３３８の減衰器損失をそれぞれ設定する。制御装置３１２は、センサ回路３１９を較正するために、フィルタ回路３３０の係数を決定することによってフィルタゲインを設定する。制御装置３１２は、次いで、それらの係数をフィルタ回路３３０に適用することで、センサコイル３２０によって検出される異なる周波数に対応する周波数チャンネルのゲインの差を正規化することができる。制御装置は、増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃの振幅の平均値を計算する。制御装置３１２は、増幅された較正応答４３０Ａ、４３０Ｂの振幅の平均値も計算することができる。制御装置３１２は、増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃの振幅の平均値に基づいて、増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃが所定の振幅の範囲内となるようにフィルタ回路３３０のフィルタゲインを設定することができる。所定の範囲は、例えば０．１マイクロアンペアから１マイクロアンペアの間、１マイクロアンペアから１０マイクロアンペアの間、又は１０マイクロアンペアから１００マイクロアンペアの間であり得る。一般に、所定の範囲はコイルのサイズに大きく依存し、コイルの構造に基づいて変化する。
【００７３】
フィルタ回路３３０は、周波数４１５Ａと周波数４１５Ｂの間の周波数においてゲインが最大となるフィルタ形状４２８を有しても良い。電気信号４００はノイズ応答４３０も含み得るため、通常は検出信号及び較正信号の興味のある周波数より外側でノイズ応答４３０の周波数が発生するよう、応答４０５Ａ、４０５Ｂ、４０５Ｃ、４１０Ａ、４１０Ｂの周波数を選択しても良い。従って、フィルタゲインは、検出信号（例えば、応答４０５Ａ、４０５Ｂ、４０５Ｃ）を表すデータを、応答４１０Ａ、４１０Ｂによって規定される範囲外の周波数を有するノイズ応答４３０よりも増幅することができる。ノイズ応答４３０は、例えば、ノイズ磁界を生成することができるモータ、誘電コイル、又はその他の電気装置が原因であり得る。従って、フィルタ回路３３０は、応答４０５Ａ、４０５Ｂで規定される狭帯域においてゲインが高く、狭帯域の外側の周波数においてゲインが低いバンドパスフィルタとなり得る。帯域の幅は、例えば、５０Ｈｚから５００Ｈｚ、５００Ｈｚから５ｋＨｚ、又は５ｋＨｚから２０ｋＨｚであり得る。いくつかの例では、帯域の幅は調整可能であり、周波数応答の形状も調整可能である。
・較正磁界の調整
【００７４】
制御装置３１２は、検出信号３２１を表すデータ３２５を圧縮ダイナミックレンジ内に維持するのを容易にするために、較正磁界３２４を動的に調整することができる。制御装置３１２は、較正コイル３２２用の減衰器損失と、それに対応する、姿勢と増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃの振幅との間の静的較正伝達関数（例えば、姿勢と検出信号との間のマップ又はマッピング）を含む記憶素子で動作可能であっても良い。静的較正伝達関数は、例えばロボットの製造段階で決定し記憶素子に保存することができる。比又は差を所定の範囲の間に維持するために制御装置３１２が新しい減衰器損失を選択した場合、制御装置３１２は新しい静的較正伝達関数に基づいて姿勢３０８及び向き３１０を推測する。制御装置３１２は、減衰器損失及びフィルタゲインを動的に変更することで、検出信号３２１を表すデータを圧縮ダイナミックレンジ内に維持することができ、それによってセンサコイル３２０によって生成される検出信号３２１を表すデータの処理のために制御装置３１２に要求される計算能力が低減される。
【００７５】
図４を再度参照し、制御装置３１２は、増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃの振幅の平均値及び増幅された較正応答４３０Ａ、４３０Ｂの振幅の平均値に基づいて、二つの平均値の比が所定の範囲内となるよう減衰器回路３３８の減衰器損失を設定することができる。例えば、制御装置３１２は、増幅された較正応答４３０Ａ、４３０Ｂの振幅の平均値に対する増幅された検出応答４２５Ａ、４２５Ｂ、４２５Ｃの振幅の平均値の比を、０．９５から１．０５の間、０．９から１．１の間、及び０．８５から１．１５の間に維持するよう減衰器損失を設定することができる。いくつかの場合においては、制御装置３１２は、比を計算する代わりに、平均値の差を計算して差を閾値と比較する。いくつかの場合においては、制御装置３１２は、差を０．０１から０．１マイクロアンペアの間、０．１から１マイクロアンペアの間、又は１から１０マイクロアンペアの間に維持することができる。他の場合においては、制御装置３１２は、ＡＧＣ回路３２６のゲインを監視し、ＡＧＣ回路３２６のゲインをＡＧＣ回路３２６のゲイン最大値と最小値の間に維持するよう減衰器損失を設定する。制御装置３１２は、比又は差が所定の範囲外となった場合、比又は差が所定の範囲内に戻るよう、新規の減衰器損失及び対応する伝達関数を選択することができる。
【００７６】
制御装置３１２は、本明細書で説明した較正方法を用いて、検出応答４２５Ａ、４２５Ｂ、４２５Ｃの平均値を計算すると説明した。他の実施例では、制御装置は、最小値、最大値、又は振幅を説明するその他の測定基準を計算することができる。制御装置は、較正磁界３２４に対する応答４１０Ａ、４１０Ｂの振幅を説明する、最小値、最大値、又はその他の測定基準を計算することもできる。制御装置３１２は、次いで、減衰器損失及び／又はフィルタゲインを設定するために、最小値、最大値、又はその他の測定基準を閾値と比較することができる。
【００７７】
較正方法は、フィルタゲイン調整するために利用されるとも説明した。他の例では、制御装置３１２は、較正信号３２３を表す較正データ３２７及び検出信号３２１を表す検出データ３２５に基づいて、加えて又は代替的に、センサ回路３１９のプログラマブルゲインアンプ（ＰＧＡ）回路のアンプゲインを決定することができる。制御装置３１２は、検出データ３２５及び較正データ３２７に基づいてＰＧＡ回路のアンプゲインを決定することができる。制御装置３１２は、次いで、検出信号３２１及び較正信号３２３の振幅の動的変更を可能にするために、アンプゲインをＰＧＡ回路に適用することができる。
・伝達関数の較正
【００７８】
検出／制御システム３０６は、通常、検出信号３２１及び検出信号３２１と姿勢との間の伝達関数を用いてロボットの位置３０８及び向き３１０を推測しようとする。本明細書で説明するように、制御装置３１２は、例えばロボットの製造段階で予め決定されている静的に較正された伝達関数及び検出／制御システム３０６にアクセスすることができる。使用中、制御装置３１２は更に動的に伝達関数を調整してロボットの姿勢の推測の正確度及び精度を向上させることができる。いくつかの例では、静的に較正された伝達関数は、例えば大型の金属製又は導電性の物体によって引き起こされる発信器磁界３０４のひずみの影響で、環境内の異なる位置における発信器磁界３０４に対して不正確であり得る。動的較正によって、不正確性を低減させるための伝達関数の調整をすることができる。
【００７９】
制御装置３１２によって実行される伝達関数は、制御装置３１２が検出信号３２１の特定に基づいてロボットの姿勢を推測することを可能にするマップ又はマッピングであり得る。伝達関数は、発信器磁界３０４の検出された振幅及び位相に対して予想されるロボットの位置及び向きであり得る。例えば、制御装置３１２は、検出信号３２１の振幅に基づいて位置３０８を計算することができる。制御装置３１２は、検出信号３２１の位相に基づいて向き３１０を計算することができる。センサコイル３２０は、発信器磁界３０４に応答して検出信号３２１を生成する。従って、制御装置３１２は、発信器磁界３０４の検出に基づいて及び伝達関数を用いてロボットの姿勢を推測することができる。
【００８０】
検出／制御システム３０６は、伝達関数の動的な調整又は較正を達成するために、動作信号３４２を生成する動作センサ３４０を含んでも良い。動作センサ３４０は、ロボットが移動した距離、ロボットの速度、又はロボットの加速度の少なくとも一つを表す動作信号３４２を生成する動作検出器である。動作センサ３４０は、全ての軸の周りの相対回転も検出することができる（例えば、ＩＭＵ）。Ａ／Ｄ変換器３３２は、動作信号を、制御装置３１２によって利用される、動作信号を表すデータ３３９に変換する。
【００８１】
いくつかの場合においては、制御装置３１２は、動作信号３４２のみを用いてＳＬＡＭ技術を実行することができる。制御装置３１２は、動作信号３４２に基づいて環境のマップを生成することができ、動作信号３４２を表すデータ３３９に基づいてロボットの姿勢を判断することができる。動作信号３４２は、例えば、ロボットの駆動部に関連付けられたエンコーダ、光学マウスセンサ、慣性計測装置（ＩＭＵ）、加速度計又はジャイロスコープからのデータを含み得る。動作信号３４２のデータ３３９は、制御装置３１２がロボットの相対位置を判断するために用いる推測航法用データとして用いられる。従って、ロボットが環境内を移動する際、制御装置３１２は、動作信号３４２のみを用いて、ロボットの以前の位置に対して測定されたロボットの相対位置を判断することができる。推測航法は、比較的短い距離においては正確であるものの、時間と共に蓄積されるドリフト誤差が発生する傾向がある。蓄積されたドリフトは、距離の計算及び向きの計算の両方に影響し得る。
【００８２】
本明細書で説明するように、検出／制御システム３０６は、磁界発信器３０２の位置及び向きに対するロボットの位置３０８及び向き３１０を推測することができる。従って、検出／制御システム３０６は、以前に検出／制御システム３０６によって収集され処理されたサンプルを参照することなく、検出／制御システム３０６によって収集され処理された一つのサンプルに対して位置３０８及び向き３１０を（例えば、動作信号３４２に関して本明細書で説明した、以前のサンプルに対する一つのサンプルの位置及び向きを計算するＳＬＡＭ技術と比較して）有利に測定することができる。
【００８３】
制御装置３１２が検出信号３２１から位置３０８及び向き３１０を推測することを可能にする伝達関数の正確度を向上させるために、制御装置３１２は、動作信号から推測される相対位置を用いて伝達関数を修正することができる。ロボットが環境内を移動する際、制御装置３１２は、例えば、動作信号３４２から推測される相対位置及び相対向きを、検出信号３２１から判断される位置３０８及び向き３１０と比較することができる。
【００８４】
一例では、制御装置３１２は、二つの別々のサンプルにおいて、相対位置及び相対向きを、検出信号３２１を用いて推測された位置３０８及び向き３１０から計算することができる。図５は、位置５０５Ａ、５０５Ｂにおいて、一次元方向（ｙ方向）に、磁界発信器５０２（例えば、図３に示す磁界発信器３０２）を含むドッキングステーション５０１から離れるように移動するロボット５００を示す。位置５０５Ａ、５０５Ｂは、検出信号を表すデータ（例えば、センサコイル３２０の一つによって生成される検出信号３２１を表すデータ３２５）の、一次元（例えば、ｙ次元）における二つの連続するサンプルに対応する。
【００８５】
図５に示すように、磁界受信器５０３を含むロボット５００は、ドッキングステーション５０１と、ひいては磁界発信器５０２と物理的につながれていない（すなわち、ドッキングステーション５０１から切り離されている）。通常、ロボット５００は、本明細書で説明する方法及び操作を実行するために磁界発信器５０２又は磁界発信器５０２を含むドッキングステーション５０１といった構造物に電気的又は機械的につながれている必要はない。
【００８６】
図６は、二つのサンプルの検出信号（例えば、検出信号３２１）を表すデータのグラフ６００を示す。検出信号を表すデータは検出／制御システム（例えば、検出／制御システム３０６）を用いて生成され、第一位置５０５Ａに対応する第一サンプル６０５Ａと、双方とも第二位置５０５Ｂに対応する較正されていないサンプル６０５Ｂ及び較正されたサンプル６０５Ｃとを含む。較正されていないサンプル６０５Ｂは、検出信号の振幅とロボットの位置との間の伝達関数を修正する前の検出信号を表すデータに対応する。較正されたサンプル６０５Ｃは、動作信号に基づいて伝達関数を修正した後の検出信号を表すデータに対応する。
【００８７】
図６に示すように、検出信号を表すデータの振幅６１０は、第一サンプル６０５Ａから第二サンプル（例えば、較正されていないサンプル６０５Ｂ又は較正されたサンプル６０５Ｃ）にかけて減少しており、第二位置５０５Ｂが第一位置５０５Ａよりも磁界発信器５０２から離れていることを示している。制御装置は、較正されていないサンプル６０５Ｂ及び振幅６１０と位置６１２との間の較正されていない伝達関数を用いることで、第一位置５０５Ａと第二位置５０５Ｂとの間の相対移動距離６１５を推測することができる。同様に、制御装置は、動作信号（例えば、図３に示す動作信号３４２）を用いることで、相対移動距離６２０を推測することができる。
【００８８】
制御装置は、較正されていないサンプル６０５Ｂ及び動作信号から推測された相対移動距離６１５、６２０を比較することで、相対移動距離６１５、６２０の間の差６２５を判断することができる。制御装置は、第二サンプルから推測された相対移動距離が動作信号から推測された相対移動距離６２０と一致するよう較正されていない伝達関数を較正することができる。その結果、制御装置が較正されていない伝達関数を較正した後、較正された伝達関数は、動作信号からの相対移動距離６２０と同様となる相対移動距離を推測する較正されたサンプル６０５Ｃをもたらす。このように、制御装置は、伝達関数を較正することで、発信器磁界の振幅及び位相に対応する予想される位置及び向きがそれぞれより正確になるよう伝達関数を修正する。ここで図３を再度参照し、制御装置３１２は、動作信号３４２で伝達関数を較正することで、ロボットの環境内における位置３０８及び向き３１０をより正確に推測することができる。
【００８９】
図６に関して説明した較正方法は、発信器磁界のひずみ（例えば、図２に示すひずみ２０６）に関連する推測される位置及び向きの誤差を減らすことができる。一例では、制御装置３１２が環境内を移動すると、制御装置３１２は、発信器磁界３０４の振幅及び位相に対応するロボットの予想される位置及び向きを出力する伝達関数を修正する。制御装置３１２は、制御装置３１２で操作可能な記憶素子に伝達関数を保存することができる。制御装置３１２は、ロボットが発信器磁界３０４のひずみに近づいた場合、伝達関数を用いて磁界発信器３０２の位置及び向きに対するロボットの位置３０８及び向き３１０を推測し、動作信号３４２を用いて相対位置及び相対向きを推測することができる。制御装置３１２は、動作信号３４２に基づいてひずみの存在を判断することができ、検出信号３２１を表すデータの振幅と位置３０８との間の伝達関数及び検出信号３２１を表すデータの位相と向き３１０との間の伝達関数を較正することもできる。
【００９０】
発信器磁界３０４の全体的なトポグラフィはひずみによって変化するため、ひずみは制御装置３１２用の再位置特定用特徴の役割を果たすことができる。本明細書で説明した伝達関数を制御装置３１２に調整させるひずみにロボットが遭遇した場合、制御装置３１２は、仮想マップがひずみに対応する特徴を有するよう仮想マップにマーキングすることで、仮想マップ上にひずみの存在を示すことができる。仮想マップは、環境全体にわたって、異なる位置における発信器磁界３０４の成分の振幅を示すことができる。加えて又は代替的に、仮想マップは、環境全体にわたって、異なる向きにおける発信器磁界３０４の成分の位相を示すことができる。
【００９１】
ロボットが遭遇した特徴は、幾何学形状にわたって固有の磁界特性を有し得る。磁界特性は、幾何学形状に沿った様々な位置及び向きにおける検出信号３２１を表すデータの位相及び振幅を含み得る。制御装置３１２は、ロボットが特徴に遭遇する次の稼働において、ロボットが次の稼働における特徴の位置を推測し、推測された次の稼働における特徴の位置を以前の稼働における特徴の位置と比較できるよう、特徴を学習することができる。制御装置３１２は、二つの推測結果の間の差に基づいて、二つの推測位置が一致するように、記憶素子に保存されている仮想マップを再配向又は再配置するための再位置特定を実行することができる。従って、制御装置３１２は、ひずみに対する再位置特定によって、姿勢の推測の誤差を減らすことができる。再位置特定の詳細な方法は、"Simultaneous Localization and Mapping for a Mobile Robot"と題して２０１３年３月８日に出願されている米国特許出願第１３／７９０，６４３に説明されており、その全てが参照により本明細書に組み込まれる。
【００９２】
図６に関して説明した例は一次元を示しているが、本明細書で説明する較正方法及び再位置特定方法は、三次元（ｘ、ｙ及びｚ次元）における位置及び向きの較正に適用することができる。例えば、制御装置３１２は、検出信号３２１の位相及び振幅を得るために、検出信号３２１を表すデータを用いて高速フーリエ変換を実行することができる。制御装置３１２は、位相に基づいてロボットの向きを判断することができる。制御装置３１２は、発信コイル３１４とセンサコイル３２０の相対向きの変化を検出するために、第一サンプルと第二サンプルとの間の位相のドリフトを判断することができる。制御装置３１２は、更に、向き３１０の推測結果を、動作信号３４２からの相対向きの推測結果に較正し、動作信号３４２からの相対向きの推測結果と比較することができる。
【００９３】
較正方法は、複数の推測位置３０８及び複数の推測向き３１０を示し得る検出信号３２１に起因する半球状多義性（hemispherical ambiguities）の解消にも用いることができる。半球状多義性は、環境内での発信器磁界３０４の対称性により生じ得る。例えば、図７に示すように、ロボットの制御装置（例えば、制御装置３１２）は、本明細書で説明する伝達関数を用いて、検出信号を表すデータに基づいて、ロボットの姿勢は第一姿勢７００又は第二姿勢７０５といった複数の考えられる姿勢のうちの一つであると推測することができる。ロボットは、磁界発信器７１５（例えば、図３に示す磁界発信器３０２）によって生成される発信器磁界７１０を検出することで自身の姿勢を推測する。制御装置は、動作信号（例えば、動作信号３４２）を監視することで、第一姿勢７００及び第二姿勢７０５から姿勢を選択することができる。一例では、動作信号からロボットは磁界発信器７１５から離れるように移動していると制御装置が判断した場合、制御装置は、ロボットは第一姿勢７００にあると判断することができる。動作信号からロボットは磁界発信器７１５に向かって移動していると制御装置が判断した場合、制御装置は、ロボットは第二姿勢７０５にあると判断することができる。このように、動作信号は更に、磁界発信器７１５によって生成される発信器磁界７１０の対称性が原因で生じる半球状多義性を制御装置が解消することを可能にすることができる。
・発信器及び受信器の構造
【００９４】
磁界発信器（例えば、磁界発信器３０２）及び検出／制御システム（例えば、検出／制御システム３０６）の構造により、ロボットの位置３０８及び向き３１０の推測の正確度及び精度を更に向上させることができる。図８は、三つの発信コイル８０２Ａ、８０２Ｂ、８０２Ｃ及び電気回路８０４を含む、磁界発信器８００の一例を示す。本明細書で説明するように、電気回路８０４は、発信コイル８０２Ａ、８０２Ｂ、８０２Ｃに伝達される電気信号の振幅、周波数、及びその他の特性を調節することができる。従って、電気回路８０４は、発信コイル８０２Ａ、８０２Ｂ、８０２Ｃが発する発信器磁界の振幅及び周波数を設定することができる。
【００９５】
発信コイル８０２Ａ、８０２Ｂ、８０２Ｃは、球の外形の少なくとも一部に接近するよう配置されている。球状配置でコイル８０２Ａ、８０２Ｂ、８０２Ｃを配置することで、各コイル８０２Ａ、８０２Ｂ、８０２Ｃの面積の均等化が簡単になる。均等化された面積により、ロボットの姿勢の推測に必要な処理を単純化できる。例えば、球の直径は、１０センチメートルから２０センチメートルの間、２０センチメートルから２５センチメートルの間、及び２５センチメートルから３０センチメートルの間であり得る。その結果、コイル８０２Ａ、８０２Ｂ、８０２Ｃも、上記直径を有するよう球に沿って配置することができる。
【００９６】
更に、コイル８０２Ａ、８０２Ｂ、８０２Ｃを球状配置で球の大円（最大円断面積）に沿って配置することにより、コイル８０２Ａ、８０２Ｂ、８０２Ｃの軸の線形独立性が向上する。本明細書で説明するように、コイル８０２Ａ、８０２Ｂ、８０２Ｃの軸は、互いに直交し立体的に広がるよう配置することができる。球状配置は、コイル８０２Ａ、８０２Ｂ、８０２Ｃの軸が共通の点で又は共通の点の近傍で交差するようコイル８０２Ａ、８０２Ｂ、８０２Ｃを配置することを容易にし、それによってコイル８０２Ａ、８０２Ｂ、８０２Ｃのそれぞれによって生成される発信器磁界の成分の線形独立性が向上する。
【００９７】
検出／制御システム９００（例えば、検出／制御システム３０６）も、図９に示すように、球状配置のセンサコイル９０２Ａ、９０２Ｂ、９０２Ｃを有することができる。本明細書で説明するように、検出／制御システム９００は、センサコイル９０２Ａ、９０２Ｂ、９０２Ｃによって生成される電気信号を受信し、次いで磁界発信器（例えば、磁界発信器８００）に対する検出／制御システム９００の向き及び位置を判断するための回路９０４を含み得る。
【００９８】
センサコイル９０２Ａ、９０２Ｂ、９０２Ｃは、球の外形の少なくとも一部に接近するよう配置されている。球状配置でコイル９０２Ａ、９０２Ｂ、９０２Ｃを配置することで、各コイル９０２Ａ、９０２Ｂ、９０２Ｃの面積の均等化が簡単になる。均等化された面積により、ロボットの姿勢の推測に必要な処理を単純化できる。コイル９０２Ａ、９０２Ｂ、９０２Ｃは、同様の面積を有することで、磁界の変化に対して同様に応答することができる。例えば、球の直径は、２センチメートルから７センチメートルの間、７センチメートルから１５センチメートルの間、及び１５センチメートルから２０センチメートルの間であり得る。その結果、コイル９０２Ａ、９０２Ｂ、９０２Ｃも、上記直径を有するよう球に沿って配置することができる。発信コイル８０２Ａ、８０２Ｂ、８０２Ｃの直径の、センサコイル９０２Ａ、９０２Ｂ、９０２Ｃの直径に対する比は、例えば、１．２から２の間、２から３の間、３から４の間、またはそれ以上であり得る。比が大きくなるほど、推測される位置及び向きの正確度及び精度が向上する。
【００９９】
更に、センサコイル９０２Ａ、９０２Ｂ、９０２Ｃを球状配置で球の大円（最大円断面積）に沿って配置することにより、コイル９０２Ａ、９０２Ｂ、９０２Ｃの軸の線形独立性が向上する。本明細書で説明するように、コイル９０２Ａ、９０２Ｂ、９０２Ｃの軸は、互いに直交し立体的に広がるよう配置することができる。球状配置は、コイル９０２Ａ、９０２Ｂ、９０２Ｃの軸が共通の点で又は共通の点の近傍で交差するようコイル９０２Ａ、９０２Ｂ、９０２Ｃを配置することを容易にし、それによってコイル９０２Ａ、９０２Ｂ、９０２Ｃのそれぞれによって生成される発信器磁界の成分の線形独立性が向上する。球の中心を横切る較正コイル９０６の軸は、コイル９０２Ａ、９０２Ｂ、９０２Ｃの軸に対して同じ角度を規定するよう容易に配置することができ、それによって本明細書で説明する較正方法の精度及び正確度が向上する。
・ロボットの例
【０１００】
本明細書で説明する検出／制御システムは、様々な環境で様々な機能を果たすことが可能なロボットに実装することができる。ロボット１０００の底面図を示す図１０に示す一例では、環境内の表面を移動しながら清掃、芝刈り、又はその他のロボット作業を実行することができるロボット１０００は、本体１００１を含み得る。ロボット芝刈り機においては、表面は芝生であり得る。清掃ロボットにおいては、表面は床であり得る。
【０１０１】
ロボット１０００の本体１００１は、磁界トランシーバに対するロボット１０００の位置及び向きを検出することが可能な検出／制御システム１００２（例えば、検出／制御システム３０６）を収容する。本明細書で説明するように、検出／制御システム１００２は、磁界トランシーバにより生成される発信器磁界に基づいた高精度で正確であり且つ効率的なロボットの位置及び向きの推測を容易にするために、制御装置、磁界受信器、センサ回路、及びその他の適切なシステムを含み得る。
【０１０２】
本明細書で説明する較正方法を実行するために、ロボット１０００は、検出／制御システム１００２で操作可能な、又は検出／制御システム１００２の一部として、動作センサを含み得る。検出／制御システム１００２は、制御システム１００２（例えば、検出／制御システム１００２の制御装置）がロボット１０００の加速度、速度、又は姿勢を推測することができるよう、動作センサから信号を受信することができる。これらの動作センサは、検出／制御システム１００２がロボット１０００の相対移動距離を推測できるように、駆動車輪１００６Ａ、１００６Ｂ用のモータ１００５Ａ、１００５Ｂで作動するエンコーダ１００４Ａ、１００４Ｂを含み得る。動作センサは、検出／制御システム１００２がロボット１０００の加速度、速度、及び相対姿勢を推測することができるように、ＩＭＵ１００８（例えば、加速度計及びジャイロスコープ）も含み得る。車輪１００６Ａ、１００６Ｂ及びキャスタ車輪１００７は、ロボット１０００が環境の表面上を移動する際に本体１００１を支持する。
【０１０３】
ロボット１０００の環境内での移動を制御するモータ１００５Ａ、１００５Ｂは、ロボット１０００が環境内を移動する際に検出／制御システム１００２が検出可能な磁界ノイズをもたらし得る。本明細書で説明するように、検出／制御システム１００２の較正コイルによって生成される較正磁界の周波数は、通常磁界ノイズが較正磁界で規定される周波数の範囲外で発生するよう選択することができる。いくつかの実施例においては、検出／制御システム１００２は、モータ１００５Ａ、１００５Ｂの作動を、検出／制御システム１００２が発信器磁界及び較正磁界を検出した時に基づいて制御することができる。検出中は、検出／制御システム１００２は、例えばモータに伝達される電力を減らすか又はモータ１００５Ａ、１００５Ｂの作動を遅くすることができる。従って、ロボットの姿勢を推測するために検出／制御システム１００２が発信器磁界及び較正磁界を検出している時は、モータ１００５Ａ、１００５Ｂにより生成される磁界ノイズが低減される。このようなモータ１００５Ａ、１００５Ｂの操作により、推測されるロボットの姿勢の正確度を向上させることができる。
【０１０４】
ロボット１０００は、環境内で作業を実行するための機構１０１０を含む。一例では、機構１０１０は、ロボット１０００が環境内の芝生上を動き回る際に回転する一以上のブレードを含む切断機構である。検出／制御システム１００２は、ロボット１０００が芝生を横切って移動する際にロボット１０００が切断機構を用いて芝生を切断できるよう、切断機構を制御することができる。
【０１０５】
別の例では、機構１０１０は、ロボット１０００が環境内の床上を移動する際にデブリを床から取り込むことを可能にする、ローラ、吸引源、ゴミ容器、及びその他の適切な構成要素を含む床清掃機構である。検出／制御システム１００２は、ロボット１０００が床上を移動して床を清掃できるよう床清掃機構を制御することができる。
【０１０６】
いくつかの実施例においては、機構１０１０は、ロボット１０００の液体貯蔵部からの清掃液で濡らすことが可能な清掃パッドである。ロボット１０００が環境内の床上を移動する際、検出／制御システム１００２は、環境内の床上に清掃液を噴出させるようロボット１０００を制御する。検出／制御システム１００２は、更に、清掃パッドが清掃液を吸収するように、清掃液上を移動するようロボット１０００を制御することができる。従って、ロボット１０００は、清掃パッドを用いて環境内の床をこすって清掃することができる。
【０１０７】
検出／制御システム１００２は、ロボット１０００に本明細書で説明する作業を実行させるために、遠隔装置と情報を交換するよう構成することができる。情報は、ロボット１０００の磁界トランシーバに対する位置及び向きを含み得る。情報は、本明細書で説明する、芝生、床、又はその他の表面といった、ロボット１０００が機構１０１０に関連する作業を実行することができる環境内の表面上での動作の指示も含み得る。いくつかの実施例においては、環境は、建物内の一以上の相互に接続された部屋、屋外、田畑、又は本明細書で説明する機構に適したその他の環境である。
【０１０８】
その他の機能を実行するよう構成された様々なロボット、及びその他の関連する機構を有する様々なロボットは、磁界発信器に対するロボット１０００の位置及び向きの推測を容易にするために、検出／制御システム１００２を含み得る。更なる適切なロボット及び機構は、“Methods and systems for complete coverage of a surface by an autonomous robot,”と題して２０１０年１１月５日に出願された米国特許出願公開第２０１１／０１６７５７４号、“Robotic Vacuum,”と題して２０１２年４月３０日に出願された米国特許出願第１３／４６０，２６１号、“Robot Confinement”と題して２００７年３月１９日に出願された米国特許出願第１１／６８８，２１３号、“Surface Cleaning Pad”と題して２０１４年１０月３日に出願された米国仮特許出願第６２／０５９，６３７号、及び“Robotic Lawn Mowing Boundary Determination”と題して２０１４年１０月１０日に出願された米国特許出願第１４／５１２，０９８号で説明されており、これらの開示の全てが参照により本明細書に組み込まれる。
・ナビゲーション処理例
【０１０９】
図１１は、例えば磁界発信器によって生成される磁界を用いてロボットの姿勢を推測するための処理１１００のフローチャートを示す。処理１１０５において、ロボットの制御装置はナビゲーションコマンドを発行する。ナビゲーションコマンドは、ロボットに駆動機構を起動させて移動し環境内を動き回らせる指示を含み得る。ナビゲーションコマンドは、モータに関連するノイズを低減するためにロボットのモータ用の電力を下げることも含み得る。ナビゲーションコマンドは、ロボットの検出／制御システムによって生成されたデータに基づくことができる。
【０１１０】
処理１１１０において、ロボットの制御装置は、例えば磁界に応答するセンサコイルによって生成された、磁界信号を受信する。磁界信号は、環境内の磁界に応答して生成された電気信号である。磁界信号は、磁界発信器からの発信器磁界に応答して生成された検出信号を含み得る。磁界信号は、較正コイルからの較正磁界に応答して生成された較正信号も含み得る。ロボットは、センサコイル、較正コイル及び制御装置を含む検出／制御システム（例えば、上述した検出／制御システム３０６）を含み得る。較正磁界は、本明細書で図４に関して説明したように、第一周波数成分及び第二周波数成分を含み得る。発信器磁界は、較正磁界の周波数の間の周波数の成分を有し得る。磁界は、検出／制御システムから発せられたものでも磁界発信器から発せられたものでもないノイズ磁界を含み得る。制御装置が磁界信号を受信する前に、制御装置は、ノイズ磁界を引き起こす装置への電力を減らしてノイズ磁界の振幅を低減することができる。
【０１１１】
処理１１１５において、制御装置は、磁界信号を表すデータの振幅を判断する。制御装置は、検出信号を表すデータの振幅及び較正信号を表すデータの振幅を判断することができる。制御装置は、加えて、磁界信号を表すデータの位相及び周波数を判断することができる。本明細書で説明するように、磁界信号を表すデータ（例えば、図３に示す検出データ３２５及び較正データ３２７）は、図３に関して説明したように、増幅回路、フィルタ回路、及びデジタル化回路を用いて生成することができる。
【０１１２】
処理１１２０において、制御装置は、例えば磁界信号を表すデータを正規化する、較正操作を実行する。例えば、制御装置は、図３に示す較正コイル３２２に関して説明した較正及び正規化操作を実行することができる。制御装置は、振幅、位相、周波数、及びその他の磁界信号を表すデータの特性を較正及び正規化することができる。一例では、制御装置は、処理１１２０の較正操作を実行する際、図１２に示す処理１２００を実行する。
【０１１３】
図１２を参照して、制御装置は、処理１２００を実行して検出信号を較正信号で正規化し、検出信号のダイナミックレンジを低減させる。処理１２００は、検出信号の振幅、周波数、位相、又はその他の特性を正規化することができる。
【０１１４】
処理１２０５において、制御装置は、較正信号を表すデータ（例えば、図３に示す較正データ３２７）を受信する。処理１２０５と同時に発生する処理１２１０においては、制御装置は、検出信号を表すデータ（例えば、図３に示す検出データ３２５）を受信する。較正信号を表すデータ及び検出信号を表すデータは、較正信号及び検出信号を検出／制御システムの増幅回路、フィルタ回路、及びデジタル化回路に通すことで生成することができる。
【０１１５】
制御装置は、次いで、処理１２１５及び１２２０において、較正信号を表すデータ及び検出信号を表すデータから振幅を判断する。いくつかの場合においては、制御装置は、追加的又は代替的に、位相、周波数、及びその他のデータに関連するパラメータを判断する。
【０１１６】
処理１２２５において、制御装置は、較正信号を表すデータからの振幅と検出信号を表すデータからの振幅を比較する。本明細書で説明するように、制御装置は、平均値、最小値、最大値、及びその他の振幅の測定単位を比較することができる。比較においては、制御装置は、振幅の差を計算し、振幅の差を閾差と比較することができる。制御装置は、差を適正な差の範囲と比較することができる。
【０１１７】
処理１２３０において、制御装置は、比較結果に基づいて較正信号及び検出信号に関連するゲインを調節する。例えば、制御装置は、フィルタ回路、ＰＧＡ回路又は較正信号及び検出信号を増幅させるその他の増幅回路のゲインを制御することができる。制御装置は、通常検出信号が所定の範囲内に維持されるようゲインを調節することができる。制御装置は、処理１２００を実行することで、検出信号を表すデータのダイナミックレンジを低減することができる。
【０１１８】
図１１を再度参照し、制御装置は、処理１１２５において動作信号を受信する。動作信号は、ロボットが移動した距離、ロボットの速度、又はロボットの加速度のうちの少なくとも一つを示し得る。動作信号は、例えば、光学マウスセンサ、ＩＭＵ、加速度計、ジャイロスコープ、エンコーダ、又はその他の適切な検出器によって生成することができる。動作信号は、ロボットの相対位置及び相対向きを推測するための推測航法操作に用いることができる。
【０１１９】
処理１１３０において、制御装置は、受信した動作信号に基づいて磁界伝達関数を調整する。磁界伝達関数によって、検出信号とロボットの位置及び向き（例えば、姿勢）との間の関係を規定することができる。制御装置が初期化された場合、制御装置で操作可能な記憶素子に磁界伝達関数をロードすることができる。この例では、磁界伝達関数は、最初はロボットの製造段階で設定することができる静的較正である。次いで、制御装置は、初期磁界伝達関数を動作信号に基づいて調整することができる。処理１１３０中に実施可能な方法及び操作の例は、図３に関してより詳細に説明されている。
【０１２０】
処理１１３５において、制御装置は、磁界伝達関数を用いて、検出信号を表すデータの振幅に基づいてロボットの姿勢を推測する。姿勢は、磁界発信器に対する位置及び向きを含む。いくつかの場合においては、制御装置は、制御装置で操作可能な記憶素子に保存されているマップに姿勢を保存する。本明細書で説明するように、マップはＳＬＡＭ法に用いることができる。
【０１２１】
処理１１００の様々な操作が連続的に又は同時に発生し得る。例えば、いくつかの実施例においては、制御装置は、各データ収集サンプルに対して、磁界信号及び動作信号を実質同時に受信する。次いで、制御装置は、連続的に磁界信号を表すデータの振幅を判断し、較正操作を実行し、動作信号に基づいて磁界伝達関数を調整し、磁界伝達関数を用いて、検出信号を表すデータの振幅に基づいてロボットの指定を推測することができる。
【０１２２】
いくつかの実施例においては、制御装置は、処理１１３０及び１１３５を飛ばして所定の磁界伝達関数を用いることができる。磁界伝達関数は、例えば、ロボットの製造段階で記憶素子に保存することができる。
【０１２３】
磁界発信器（例えば、磁界発信器８００）及び検出／制御システム（例えば、検出／制御システム９００）の構造は、本明細書で説明した、三つの発信コイルを含む磁界発信器及び三つのセンサコイルを含む検出／制御システムの例に限定されない。いくつかの追加の例においては、磁界発信器は二つの発信コイルを、検出／制御システムは二つのセンサコイルを含み得る。この例では、発信器磁界は、それぞれが発信コイルによって生成される成分のうちの一つに対応する二つの別々の磁界の重畳であり得る。制御装置は、検出信号に基づいて、二次元（例えば、ｘ，ｙ次元）における位置及び二次元（例えば、θ，Φ次元）における向きを判断することができる。このようなシステムは、単一の平面で構成される環境又は第三次元又は第三方向の変化が限定されているか重要でない場合に適している。３コイルシステムではなく２コイルシステムを用いることで、システム内の発信器及び受信器のコストの低減という利点が得られる。
【０１２４】
上に示した例においては、一つの発信器がロボットの位置を特定するための検出システムが用いる磁界を提供するとした。しかしながら、システムは一つの発信器に限定されない。例えば、図１３に示すように、本明細書で説明する磁界発信器及び検出／制御システムを含むシステムは、一つの磁界発信器及び一つの検出／制御システムに限定されない。むしろ、複数の磁界発信器（例えば、１３００Ａ及び１３００Ｂ）及び／又は複数の検出／制御システムがあっても良い。一例では、複数の磁界発信器（例えば、１３００Ａ及び１３００Ｂ）を同時に用いて環境の拡張された範囲を提供することができる。この例では、第一磁界発信器１３００Ａは第一発信器磁界を発し、第二磁界発信器１３００Ｂは、二つの発信器磁界が重複し、第一発信器磁界が弱くなるほど第二発信器磁界が強くなるような第二発信器磁界を提供するよう配置することができる。ロボット１００の制御装置は、検出信号に基づいて、（例えば、ロボット１００が発信器から離れる方向に移動して）第一発信器磁界が弱くなるまで第一磁界発信器１３００Ａに対する位置及び向きを判断することができ、次いで第二磁界発信器１３００Ｂに対する位置及び向きを判断するよう切り替える。いくつかの例においては、ロボット１００は、第一発信器１３００Ａからの磁界の信号強度を判断し、信号強度が閾値より高い場合は発信器１３００Ａからの磁界を用いてロボットの位置を特定する。信号強度が閾値より低い場合は、ロボット１００は発信器１３００Ｂからの信号に基づいてロボットの位置を特定する。位置特定システムの範囲を更に広げる場合、発信器（例えば、３つや４つの発信器）を更に追加することができる。このように、複数の発信器の存在により位置特定システムの範囲が広がり、１つの信号（例えば、第一発信器からの信号）が弱くなると、ロボットは異なる発信器からの信号を探し始める。第二発信器からの信号が強くなると、ロボットは、第一発信器からの信号に基づく位置特定から、第二発信器からの信号に基づく位置特定に切り替える。ロボットが複数の発信器から同時に十分な強度の信号を受信する期間がある。位置特定のための引き継ぎは、スムーズな移行を可能にするために、両方の信号が受信されている期間に発生し得る。
【０１２５】
別の例では、測定された複数の磁界発信器からの信号は、発信コイルやセンサコイルの向きや直交性に対する感度に起因する位置及び向きの誤差を向上させるために同時に用いることができる。例えば、一つの発信器がロボット用のドッキング／充電ステーション内に位置している場合、発信器は、ロボットのドッキング／充電ステーションへの接触又は衝突により回転している可能性がある。第一発信器の近傍に存在するもう一つの発信器は、このような動き又は回転がいつ発生したかを判断するのに用いることができる。例えば、ロボットは、磁界がいつ回転したかを判断し、それに応じて自身の位置判断を調整することができる。いくつかの例では、第一及び第二磁界発信器は、互いに比較的近く（例えば、互いに１−３メートル以内、互いに２−５メートル以内、互いに４−７メートル以内）に配置することができる。制御装置は、両磁界発信器からの検出信号に基づいて、二つの発信器磁界に対する位置及び向きを同時に三角法で測定することができる。従って、二つの発信器は、磁界範囲が大きく重複して両発信器からの信号を正確度の向上に用いることができるよう配置される。
【０１２６】
本明細書で説明する磁界発信器及び検出／制御システムからなるシステムは、固定された磁界発信器及びロボットに実装された検出／制御システムに限定されない。むしろ、一例では、磁界発信器を制御システムと共にロボットに実装してもよく、センサコイルからなる検出システムが固定されていても良い。この例では、固定された検出システムは、電力消費が少なく、バッテリ配列や、太陽電池といったその他の低電力源を電源とすることができるため、固定の電源から遠い位置に配置することが可能になる。
【０１２７】
本明細書で説明する例の少なくともいくつかにおいては、磁界は屋外環境においてロボットの位置を特定するために用いられているが、本明細書で説明するシステム及び方法は、追加的に又は代替的に、屋内でのロボットの位置特定に用いることができる。例えば、図１４に示すように、真空ロボットや清掃パッドを有するロボットといった清掃ロボット１４００、ホームセキュリティ又は監視ロボット、又はその他のロボットは、家又は建物内に位置する発信器１４０１からの磁界を測定するよう較正された受信器を含み得る。ロボット１４００が電源を充電することが可能なドッキングステーションは、発信器１４０１を含むことができる。いくつかの例では、発信器は、コンセントに直接接続するか、又は家具１４０３の後ろ（例えば、図に示すように長椅子の後ろ又は下）やその他の物の後ろに配置することができる。従って、発信器１４０１及びドッキングステーションは、例えば家具１４０３の下や後ろに配置することで、事情の知らない者の視界から隠すことができる。それでも、磁界はソファや家具によって妨害されないため、ロボット１４００は、部屋内での自身の位置の判断及びドッキングステーションへの誘導の両方に信号を用いることができる。従って、いくつかの例では、ドッキングステーションの発信器１４０１から発せられロボット１４００のドッキングステーションへの誘導に用いられる信号は、ドッキング処理の少なくとも一部の間において、家具の少なくとも一つ（例えば、家具１４０３）を通して伝達される。ドッキングステーションを、人には通常見えない又はアクセスできないロボット１４００がアクセス可能な領域（例えば、高さが３−１０インチの間である家具の下、高さがロボットの高さより高く床面から６インチ未満である家具の下）に配置できるようにすることは有利であり得る。加えて、磁界信号は、家内の壁を形成する木やその他の材質を通過することができる。そのため、（例えば図１４に示すように）ロボット１４００が部屋１４０５Ａから部屋１４０５Ｂに移動する際に、同じ発信器を用いてロボット１４００の位置を特定することができる。
【０１２８】
本明細書で説明するロボットは、少なくとも部分的に、例えばプログラムプロセッサ、コンピュータ、複数のコンピュータ、及び／又はプログラム可能なロジックコンポーネントといった一以上のデータ処理装置で実行するための又は一以上のデータ処理装置の動作を制御するための、例えば一以上の非一時的な機械可読媒体といった一以上の情報媒体で明白に具現化された一以上のコンピュータプログラムといった、一以上のコンピュータプログラム製品を用いて制御することができる。
【０１２９】
コンピュータプログラムは、コンパイルされた又は解釈された言語を含むあらゆる形式のプログラム言語で書くことができ、単体プログラムやモジュール、コンポーネント、サブルーチン、又は演算環境での使用に適したその他の単位を含む、あらゆる形式に展開することができる。
【０１３０】
本明細書で説明するロボットの制御に関連する操作は、一以上のコンピュータプログラムを実行して本明細書で説明する機能を実行する一以上のプログラム可能なプロセッサで実行することができる。本明細書で説明するロボットの全体又は一部の制御は、例えばＦＰＧＡ（Field Programmable Gate Array）及び／又はＡＳＩＣ（Application-Specific integrated circuit）といった専用論理回路を用いて実施することができる。
【０１３１】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用及び専用マイクロプロセッサ、並びにあらゆる種類のデジタルコンピュータの一以上のプロセッサを含む。通常、プロセッサは、読み出し専用記憶領域又はランダムアクセス記憶領域或いはその両方から指示及びデータを受信する。コンピュータの要素は、指示を実行するための一以上のプロセッサ及び指示やデータを保存するための一以上の記憶領域装置を含む。コンピュータはまた、通常、例えば、磁気、光磁気ディスク、又は光ディスクのようなデータを保存するための集合基板といった一以上の機械可読記憶媒体を含むか、データを受信するため又はデータを転送するために一以上の機械可読記憶媒体に操作可能に接続されているか、あるいはその両方である。コンピュータプログラム指示及びデータの具現化に適した機械可読記憶媒体は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュ記憶領域装置といった半導体記憶領域装置、例えば内部ハードディスクやリムーバブルディスクといった磁気ディスク、光磁気ディスク、及びＣＤ−ＲＯＭやＤＶＤ−ＲＯＭディスクを含む、あらゆる形式の不揮発性記憶領域を含む。
【０１３２】
本明細書で説明する異なる実施形態の要素を組み合わせて、具体的に上で記載していない他の実施形態を形成することができる。本明細書で説明する構造からその動作に負の影響を与えることなく要素を取り除くことができる。更に、様々な別々の要素を一以上の個別の要素に結合して本明細書で説明する機能を実行するようにしても良い。
【図１Ａ】
0006665202.tif 000002
【図１Ｂ】
0006665202.tif 000003
【図２】
0006665202.tif 000004
【図３】
0006665202.tif 000005
【図４】
0006665202.tif 000006
【図５】
0006665202.tif 000007
【図６】
0006665202.tif 000008
【図７】
0006665202.tif 000009
【図８】
0006665202.tif 000010
【図９】
0006665202.tif 000011
【図１０】
0006665202.tif 000012
【図１１】
0006665202.tif 000013
【図１２】
0006665202.tif 000014
【図１３】
0006665202.tif 000015
【図１４】
0006665202.tif 000016