(57)【要約】  表面をプロファイリングするためのシステムおよび方法が、本明細書に開示される。いくつかの実施形態では、システムおよび方法は、ロボット車両を使用してプロファイリングを実行する。車両は、駆動システム、１つ以上の車輪エンコーダ、ならびに表面の傾斜、または表面もしくは重力ベクトルに対するロボット車両の角度などの測定データを取り込むための１つ以上の距離センサおよび／または慣性測定ユニットを含み得る。ソフトウェアモジュールに格納された命令を実行して動きデータを処理する１つ以上のプロセッサを有する制御計算システムが含まれる。いくつかの実施形態では、処理された動きデータは、ロボット車両が表面を横断するにつれて、異なる時間および位置で表面の複数のスナップショットを判定する。これらのスナップショットが組み合わされて、表面のプロファイルを生成する。
2021513062.tif 000002
【特許請求の範囲】
【請求項１】
表面をプロファイリングするためのシステムであって、
ロボット車両であって、駆動システムと、少なくとも１つの車輪と、前記駆動システムにより駆動されたときの前記ロボット車両の動きを測定するために前記車輪それぞれの内部に収容された１つ以上の車輪エンコーダと、を有するロボット車両と、
前記表面の傾斜を測定するために前記ロボット車両に結合された１つ以上の距離センサと、
制御計算システムであって、
非一時的コンピュータ可読記憶媒体と、
１つ以上の前記距離センサ、前記車輪エンコーダそれぞれ、前記ロボット車両、および前記非一時的コンピュータ可読記憶媒体と電子通信する１つ以上のプロセッサと、
前記非一時的コンピュータ可読記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールであって、前記ソフトウェアモジュールが、前記プロセッサにより実行可能であり、かつ、前記ソフトウェアモジュールが、
１つ以上の前記車輪エンコーダから動きデータを受信して前記ロボット車両の位置を判定するように前記プロセッサを構成する動きモジュールと、
センサ制御モジュールであって、１つ以上の前記距離センサに命令して、インパルス時間それぞれに１つ以上の信号を前記表面に送信して、１つ以上の前記信号が前記表面で反射する時間を検出して、前記動きモジュールから前記動きデータを受信するように前記プロセッサを構成し、１つ以上の前記信号が反射する前記時間および前記動きデータを使用して前記表面の傾斜を計算することにより前記表面のスナップショットを判定する前記センサ制御モジュールと、
を含む、１つ以上の前記ソフトウェアモジュールと、
を備える、前記制御計算システムと、
を備える前記システムにおいて、
前記ロボット車両が、前記表面を横断するように前記駆動システムにより駆動されると同時に、前記制御計算システムが、前記ロボット車両の前記位置が変化して前記表面のプロファイルを生成すると、前記表面の複数のスナップショットを連続的に判定する、システム。
【請求項２】
１つ以上の前記距離センサのうちの第１のセンサが、前記ロボット車両の前部に取り付けられており、１つ以上の前記距離センサのうちの第２のセンサが、前記ロボット車両の後部に取り付けられている、請求項１に記載のシステム。
【請求項３】
１つ以上の前記距離センサが、前記ロボット車両の縦軸に沿って長手方向に直線的に配置されている、請求項１に記載のシステム。
【請求項４】
１つ以上の前記距離センサが、前記ロボット車両の車両軸の水平軸に沿って直線的に配置されている、請求項１に記載のシステム。
【請求項５】
１つ以上の前記距離センサが、互いに実質的に等距離に配置されている、請求項１に記載のシステム。
【請求項６】
前記距離センサが、前記ロボット車両の外面上に配置されている、請求項１に記載のシステム。
【請求項７】
前記距離センサが、前記ロボット車両内に配置されている、請求項１に記載のシステム。
【請求項８】
前記ロボット車両の配向データを取り込むために前記ロボット車両に収容された慣性測定ユニットをさらに備える、請求項１に記載のシステム。
【請求項９】
前記慣性測定ユニットが、加速度計である、請求項８に記載のシステム。
【請求項１０】
前記動きデータが、前記ロボット車両の速度または前記ロボット車両の移動距離を含む、請求項１に記載のシステム。
【請求項１１】
前記制御計算システムが、
前記距離センサと前記表面との間で移動する１つ以上の前記信号それぞれについて飛行時間（ＴＯＦ）を計算し、前記ＴＯＦそれぞれおよび前記動きデータに基づいて所与のポイントでの前記表面のそれぞれの傾斜を判定し、前記非一時的コンピュータ可読記憶媒体に、前記所与のポイントでの前記表面の前記それぞれの傾斜を格納するように前記プロセッサを構成するプロファイル分析モジュールをさらに備える、請求項１に記載のシステム。
【請求項１２】
表面をプロファイリングするためのシステムであって、
ロボット車両であって、駆動システムと、少なくとも１つの車輪と、前記駆動システムにより駆動されたときの前記ロボット車両の動きを測定するために前記車輪それぞれの内部に収容された１つ以上の車輪エンコーダと、を有するロボット車両と、
重力の方向に対する前記ロボット車両の角度を測定するために前記ロボット車両に結合された慣性測定ユニットと、
制御計算システムであって、
非一時的コンピュータ可読記憶媒体と、
前記慣性測定ユニット、前記車輪エンコーダそれぞれ、前記ロボット車両、および前記非一時的コンピュータ可読記憶媒体と電子通信する１つ以上のプロセッサと、
前記非一時的コンピュータ可読記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールであって、前記ソフトウェアモジュールが、前記プロセッサにより実行可能であり、かつ、前記ソフトウェアモジュールが、
１つ以上の前記車輪エンコーダから動きデータを受信して前記ロボット車両の位置変化を判定するように前記プロセッサを構成する動きモジュールと、
前記慣性測定ユニットに命令して、重力に対する、前記表面上の第１の位置での第１の角度を判定して、かつ、重力に対する、前記表面上の第２の位置での第２の角度を判定するように前記プロセッサを構成するセンサ制御モジュールと、
前記第１の角度と前記第２の角度との間の角度のオフセットを判定して前記第１の位置と前記第２の位置との間の傾斜の変化を計算するように、前記動きモジュールから前記動きデータを受信するように、計算された前記傾斜の変化および前記動きデータを使用して前記第１の位置と前記第２の位置との間の前記表面のスナップショットを判定するように、ならびに、前記非一時的コンピュータ可読記憶媒体に前記スナップショットを格納するように前記プロセッサを構成するプロファイル分析モジュールと、
を含む、１つ以上の前記ソフトウェアモジュールと、
を備える、前記制御計算システムと、
を備える前記システムにおいて、
前記ロボット車両が、前記表面を横断するように前記駆動システムにより駆動されると同時に、前記制御計算システムが、前記ロボット車両の位置が変化して前記表面のプロファイルを生成すると、前記表面の複数のスナップショットを連続的に判定する、システム。
【請求項１３】
前記プロファイル分析モジュールが、前記第１の位置と前記第２の位置との間で１つ以上の前記車輪エンコーダにより測定される距離を乗じた前記第１の角度および前記第２の角度の平均の正弦を計算することにより、オフセットを判定する、請求項１２に記載のシステム。
【請求項１４】
前記表面の傾斜を測定するために前記ロボット車両にまたは前記ロボット車両内に取り付けられた１つ以上の距離センサをさらに備える、請求項１２に記載のシステム。
【請求項１５】
前記センサ制御モジュールが、１つ以上の前記距離センサに命令して、それぞれのインパルス時間に１つ以上の信号を前記表面に送信するように前記プロセッサを構成し、前記センサ制御モジュールが、１つ以上の前記距離センサを使用して前記表面での１つ以上の前記信号の反射を検出するように前記プロセッサをさらに構成する、請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、その全体が本明細書に記載されているかのように参照によりその内容全体が組み込まれる、２０１８年９月５日出願の米国非仮特許出願第１６／１２２，４２７号および２０１８年２月６日出願の米国仮特許出願第６２／６２６，９３４号に基づき、参照によりそれらを組み込む。
【０００２】
本発明は、一般に、表面のプロファイリングのためのシステムおよび方法に関する。特に、本発明は、非破壊的な方法での車両による表面のプロファイリングおよび測定に関する。
【背景技術】
【０００３】
石油およびガス産業では、原油製品および精製製品の貯蔵タンクが、炭化水素のサプライチェーンにおいて重要な役割を果たす。これらの貯蔵ユニットの正確な容積を知ることは、タンクに、かつ／またはタンクから製品を移送する場合、重要な役割を果たす。外部および内部条件（すなわち、温度）、ならびに経年変化の結果として、また、液体製品の重量（すなわち、静水圧）の結果としても、タンク容積は、＋／−０．２％ほどだけ変動し得る。２５０，０００バレルの貯蔵タンクについて考察すると、この変動は、＋／−５００バレルの量の容積変化になる。
【０００４】
石油炭化水素の価格が高いため、貯蔵タンクの検量に対して、必須の要件が存在する。保管移送に使用されるタンクは、移送される容積が極めて正確にわかるように（例えば、０．１％未満の誤差で）検量される必要がある。これを実行するために最も一般的に使用される技術は、手動ストラッピング法（ＡＰＩ  ＭＰＭＳ  ２．２Ａ）、光学技術（光学基準線法ＯＲＬＭ−ＡＰＩ第２．２Ｂ章、光学三角測量法（ＯＴＭ）−ＡＰＩ第２．２Ｃ章、電気光学距離測距法（ＥＯＤＲ）−ＡＰＩ第２．２Ｄ章）、および液体検量（ＡＰＩ標準規格２５５５）である。しかしながら、これらの測定は、誤差を生むことが見出されており、他の欠陥を有する。場合によっては、前述した検査技術は、タンク停止時間（例えば、タンクを空にするか、または他の方法でタンク動作を一時的に停止すること）を必要とし、この停止時間によって被った損失に対する追加のコストが累積される。さらに、前述した検査技術の多くは、それらがタンクの内部容積にアクセスする必要があり、また、破壊的でもあり得るという点で、侵襲性である。
【０００５】
タンク検量のための既存の方法には、大きな欠点がある。例えば、現在の標準規格を使用すると、検量を実行するのに１〜２日の作業を要し得る。その結果、貯蔵タンクの検量は、まれにしか実行されず、したがって、タンク内部に貯蔵された、または、タンクにおよびタンクから移送された実際の容積の測定が不正確になり、これは、費用がかかり得る。例えば、従来の検量間の期間は、５年と１５年との間である場合がある。
【０００６】
必要とされることは、検査、検量、および建設タスクのために表面をプロファイリングおよび検査するためのシステムおよび方法である。さらに、必要とされることは、既存のシステムを使用して検量を効率的に実行することに関連する制約に対処する、貯蔵タンクの容積を検量するためのシステムおよび方法である。より具体的には、必要とされることは、比較的迅速に、低コストで、かつ非侵襲的な方法で配備および操作され得る、タンク検量を正確に実行するためのシステムおよび方法である。また、必要とされることは、迅速にかつ要求に応じて配備され得、したがって、より頻繁に（例えば、毎日のように、またはさらには充填ごとに）、タンク容積の変化を検出し易くするシステムである。
【０００７】
本明細書でなされた開示が提示するのは、これらおよび他の考察に関するものである。
【発明の概要】
【０００８】
本発明の広範な態様によると、表面のプロファイルを生成するためのシステムおよび方法が提供される。１つ以上の実施形態では、そのようなプロファイリングは、ロボット車両を使用して達成される。
【０００９】
本発明の一態様に従って、１つ以上の実施形態による表面をプロファイリングするためのシステムが提供される。１つ以上の実施形態では、本システムは、駆動システムと、少なくとも１つの車輪と、駆動システムにより駆動されたときのロボット車両の動きを測定するために各車輪内に収容された１つ以上の車輪エンコーダと、を有するロボット車両を含む。さらに、１つ以上の距離センサは、表面の傾斜を測定するためにロボット車両に結合されている。例えば、第１のセンサは、ロボット車両の前部に取り付けられ得、第２のセンサは、ロボット車両の後部に取り付けられ得る。１つ以上の実施形態では、１つ以上の距離センサは、ロボット車両の縦軸に沿って長手方向に直線的に配置されているか、またはロボット車両の車両軸の水平軸に沿って直線的に配置されている。１つ以上のセンサはまた、互いに実質的に等距離に配置され得る。１つ以上の実施形態では、センサは、ロボット車両の外面上に配置されている。１つ以上の実施形態では、センサは、ロボット車両内に配置されている。表面をプロファイリングするための本システムはまた、１つ以上の慣性測定ユニットを含み得る。例えば、慣性測定ユニットは、加速度計またはジャイロスコープであり得る。１つ以上の慣性測定ユニットは、車両内に収容され得るか、または車両の外面に取り付けられ得る。
【００１０】
本発明の本態様を継続し、本システムは、制御計算システムをさらに含む。制御計算システムは、非一時的コンピュータ可読記憶媒体と、１つ以上のセンサと電子通信する１つ以上のプロセッサと、各車輪エンコーダと、ロボット車両およびコンピュータ可読記憶媒体と、記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールとを含む。
【００１１】
１つ以上のソフトウェアモジュールは、プロセッサにより実行可能であり、かつ１つ以上の車輪エンコーダから動きデータを受信してロボット車両の位置を判定するようにプロセッサを構成する動きモジュールと、１つ以上の距離センサに命令して、それぞれのインパルス時間に１つ以上の信号を表面に送信して１つ以上の信号が表面で反射する時間を検出して、動きモジュールから動きデータを受信するようにプロセッサを構成するセンサ制御モジュールであって、１つ以上の信号が反射する時間および動きデータを使用して表面の傾斜を計算することにより表面のスナップショットを判定するセンサ制御モジュールと、を含む。１つ以上の実施形態では、動きデータは、ロボット車両の速度またはロボット車両の移動距離を含む。１つ以上の実施形態では、制御計算システムは、センサと表面との間で移動する１つ以上の信号についてそれぞれの飛行時間（ＴＯＦ）を計算し、それぞれのＴＯＦおよび動きデータに基づいて所与のポイントでの表面のそれぞれの傾斜を判定し、非一時的コンピュータ可読記憶媒体に、所与のポイントでの表面のそれぞれの傾斜を格納するようにプロセッサを構成するプロファイル分析モジュールをさらに含む。次に、ロボット車両は、ロボット車両の位置が変化して表面のプロファイルを生成すると制御計算システムが表面の複数のスナップショットを連続的に判定しながら、表面を横断するように駆動システムにより駆動される。
【００１２】
本発明の別の態様では、１つ以上の実施形態による表面をプロファイリングするためのシステムが提供される。１つ以上の実施形態では、本システムは、駆動システムと、少なくとも１つの車輪と、駆動システムにより駆動されたときのロボット車両の動きを測定するために各車輪内に収容された１つ以上の車輪エンコーダと、を有するロボット車両を含む。本システムは、重力の方向に対するロボット車両の角度を測定するためにロボット車両に結合された慣性測定ユニットをさらに含む。１つ以上の実施形態では、本システムは、表面の傾斜を測定するためにロボット車両にまたはロボット車両内に取り付けられた１つ以上の距離センサを含む。
【００１３】
本発明の本態様を継続しながら、本システムは、制御計算システムをさらに含む。制御計算システムは、非一時的コンピュータ可読記憶媒体と、１つ以上のセンサと電子通信する１つ以上のプロセッサと、各車輪エンコーダと、ロボット車両およびコンピュータ可読記憶媒体と、記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールとを含み、１つ以上のソフトウェアモジュールが、プロセッサにより実行可能である。
【００１４】
本発明の本態様を継続しながら、１つ以上のソフトウェアモジュールは、動きモジュールと、センサ制御モジュールと、プロファイル分析モジュールとを含む。動きモジュールは、１つ以上の車輪エンコーダから動きデータを受信してロボット車両の位置変化を判定するようにプロセッサを構成する。センサ制御モジュールは、慣性測定ユニットに命令して、重力に対する、表面上の第１の位置での第１の角度を判定して、重力に対する、表面上の第２の位置での第２の角度を判定するようにプロセッサを構成する。１つ以上の実施形態では、センサ制御モジュールは、１つ以上の距離センサに命令して、それぞれのインパルス時間に１つ以上の信号を表面に送信するようにプロセッサを構成し、センサ制御モジュールは、１つ以上の距離センサを使用して表面での１つ以上の信号の反射を検出するようにプロセッサをさらに構成する。プロファイル分析モジュールは、第１の角度と第２の角度との間の角度のオフセットを判定して第１の位置と第２の位置との間の傾斜の変化を計算し、動きモジュールから動きデータを受信し、計算された傾斜の変化および動きデータを使用して第１の位置と第２の位置との間の表面のスナップショットを判定して非一時的コンピュータ可読記憶媒体にスナップショットを格納するようにプロセッサを構成する。１つ以上の実施形態では、プロファイル分析モジュールは、第１の位置と第２の位置との間で１つ以上の車輪エンコーダにより測定される距離を乗じた第１の角度および第２の角度の平均の正弦を計算することにより、オフセットを判定する。次に、ロボット車両は、ロボット車両の位置が変化して表面のプロファイルを生成すると制御計算システムが表面の複数のスナップショットを連続的に判定しながら、表面を横断するように駆動システムにより駆動される。
【図面の簡単な説明】
【００１５】
本発明は、添付図面に図式で説明されるが、例示を意図したものであり、これに限定されない。同様の参照は、同様のまたは対応する部分を指すことを意図している。
【００１６】
【図１】１つ以上の実施形態による例示的な貯蔵容器の表面をプロファイリングするためのシステムの例示的な構成を示す高レベル図を表す。
【図２】１つ以上の実施形態による制御計算システムの例示的な構成を示すブロック図を表す。
【図３】一実施形態によるシステムをプロファイリングするための、概略的に示された例示的なロボット車両の側面図を表す。
【図４】１つ以上の実施形態による表面をプロファイリングするための本システムおよび方法を示すルーチンを示すフロー図である。
【図５】別の実施形態によるシステムをプロファイリングするための、概略的に示された例示的なロボット車両の側面図を表す。
【図６】別の実施形態によるシステムをプロファイリングするための、概略的に示された例示的なロボット車両の側面図を表す。
【図７】別の実施形態によるシステムをプロファイリングするための、概略的に示された例示的なロボット車両の正面図を表す。
【発明を実施するための形態】
【００１７】
本明細書全体を通して、用語は、明示的に述べられた意味を超えて文脈において示唆または暗示された微妙に異なる意味を有する場合がある。同様に、本明細書において使用される「一実施態様では」という語句は、必ずしも同じ実施態様を指しているわけではなく、本明細書において使用される「別の実施態様では」という語句は、必ずしも異なる実施態様を指しているわけではない。同様に、本明細書において使用される「１つ以上の実施態様」という語句は、必ずしも同じ実施態様を指しているわけではなく、本明細書において使用される「少なくとも１つの実施態様」という語句は、必ずしも異なる実施態様を指しているわけではない。その意図は、例えば、特許請求の範囲の主題が全体的または部分的に、例示的な実施態様の組み合わせを含むことである。
【００１８】
本開示は、表面のプロファイルを生成するためのシステムおよび方法を詳述する。表面プロファイリングの技術分野での本アプローチは、収集されたデータを処理するためのリモート基地局なしでロボット検査装置を使用して表面プロファイリングを行う上で非常に効果的または効率的ではなかったため、本システムおよび方法は、ハードウェア、ソフトウェア、および／または２つの組み合わせを採用して、リモート処理または基地局を必要としない表面プロファイリングシステムを提供する。特に、本開示は、１つ以上のセンサがロボット上に配置され、表面の「スナップショット」を生成するために、ロボットが表面に沿って移動すると表面に対するロボット配向データを収集するように、言い換えると、表面上の所与の場所でのロボットの配向に関するデータを取り込み、任意でさらに生成するように構成された、改善されたロボットシステムを詳述する。有利なことに、本明細書に開示される「スナップショット」は、カメラなどの光学取り込み装置よりも応答性のスペクトルが広いセンサを有する装置を使用して取り込みおよびまたは生成され得る。ロボット配向データは、車両が表面に沿って横断するときの重力の方向に対する車両の傾斜の測定値を含む。次に、本システムは、プログラムされたプロセッサの制御下でこれらのスナップショットをマージして、表面のプロファイルを提供する。本明細書に説明される本システムおよび方法は、任意のタイプの表面のプロファイリングに有用であるが、例えば、表面検査、貯蔵タンク検量、建設、および造船の分野で特定の用途を有する。
【００１９】
一態様では、本明細書に開示される本システムは、ロボット車両に統合された加速度計または他の慣性測定ユニットを含み、ロボット車両はまた、外部参照がない場合に表面を迅速にプロファイルするために使用される１つ以上の距離センサを含む。本明細書のシステムは、表面曲率を測定して表面に対する車両位置の絶対オフセットを計算し、その目的のためにプロセッサを構成するプロセッサ実行コードを使用する。測定されたオフセットは、表面の変形の大きさを計算し、したがって表面をプロファイルするために使用され得る。外部参照がシステムに追加されて精度が向上し得るが、車両は、車載センサおよび重力の引力のみを使用して表面プロファイルを生成し得る。１つ以上の実施形態では、ロボット車両は、表面を横切る車両の動きを判定する車輪エンコーダを含み、その目的のためにプロセッサを構成するプロセッサ実行コードを再び使用する。
【００２０】
したがって、いくつかの構成では、システム１００は、プロファイルされている表面を自律的および半自律的に横断するように構成された１つ以上のロボット車両または「ロボット」を含み得る。例えば、図１に示すように、ロボット１１０は、円筒形の容器１０５上に配備されている。ロボット工学の当業者により理解されるように、ロボット１１０は、本体と、動作中にロボットを移動させるための駆動システムとを含む、移動式ロボット装置である。駆動システムは、少なくとも１つの車輪と、少なくとも１つの車輪を駆動するための少なくとも１つのモータとを含む。車輪は、駆動車輪、オムニホイール、または当該技術分野で既知の他のタイプのロボット車輪であり得る。このロボットは、例えば、太陽電池、バッテリ、または任意の他の好適な電源によって駆動され得る。このロボットは、動作タスクの実行を容易にするように特別に設計された機能的ハードウェア構成要素、例えば、ロボットの高さ、位置、配向などを検出するためのセンサを含み得る。動作タスクは、表面のプロファイリングに加えて、例えば、表面検査（例えば、壁の厚さ測定、表面形状）の実行またはコーティングの多孔率測定を含み得る。ロボットハードウェアはまた、表面プロファイリングプロセスで使用される車載センサおよび加速度計／慣性測定ユニット、さらにまたはあるいは、独立式で動作するように構成された他の装置を輸送および配備するのに好適な構成要素を含み得る。１つ以上の実施形態では、ロボット１１０は、１つ以上の距離センサ１２０を含む。例えば、距離センサは、光学センサ、超音波センサ、ライダー、または距離を判定することができる他のセンサであり得る。ロボット１１０は、構成設定および１つ以上の制御プログラムなどのロボットの動作に関する情報を格納するように構成されたメモリおよび／またはコンピュータ可読記憶媒体、ならびに前述のように、容器容積検量動作の実行を容易にするプロセッサを含む電子回路を本体内に含み得る。本システム１００はまた、記憶媒体に格納されてプロセッサにより実行可能である実行可能な命令を備える１つ以上のソフトウェアモジュールを含む。
【００２１】
ここで図２を参照すると、１つ以上の実施形態による制御計算システム２００が説明される。示されるように、制御コンピュータシステム２００は、プロセッサ２１０と、メモリ２２０と、通信インターフェース２５０と、コンピュータ可読記憶媒体２９０とを含む、システム１００の動作を可能にする役割を果たす様々なハードウェアおよびソフトウェア構成要素と共に配置され得る。１つ以上の実施形態では、プロセッサ２１０、メモリ２２０、および通信インターフェース２５０は、単一の回路基板上に統合されている。
【００２２】
プロセッサ２１０は、記憶装置２９０に格納され得、メモリ２２０にロードされ得るソフトウェア命令を実行する役割を果たす。プロセッサ２１０は、特定の実施態様に応じて、いくつかのプロセッサ、マルチプロセッサコア、またはいくつかの他のタイプのプロセッサであり得る。１つ以上の実施形態では、プロセッサ２１０は、１つ以上の距離センサ（例えば、距離センサ１２０）、車輪エンコーダ、およびロボット車両１１０の他の構成要素と電子通信する。
【００２３】
好ましくは、メモリ２２０および／または記憶装置２９０は、プロセッサ２１０によってアクセス可能であり、それによって、プロセッサ２１０が、メモリ２２０上および／または記憶装置２９０上に格納された命令を受信および実行することが可能になる。メモリ２２０は、例えば、ランダムアクセスメモリ（ＲＡＭ）、または任意の他の好適な揮発性もしくは不揮発性コンピュータ可読記憶媒体であり得る。加えて、メモリ２２０は固定式でも取り外し可能でもよい。記憶装置２９０は、実施態様に応じて、様々な形態を取り得る。例えば、記憶装置２９０は、ハードドライブ、フラッシュメモリ、書換可能な光ディスク、書換可能な磁気テープ、または上記の何らかの組み合わせなどの１つ以上の構成要素または装置を包含し得る。記憶装置２９０はまた、固定式でも取り外し可能でも、ローカル記憶装置でもクラウドベースデータ記憶システムなどのリモート記憶装置でもよい。
【００２４】
１つ以上の実施形態では、制御計算システム２００はまた、ディスプレイ２３５と、ユーザーインターフェース２２５とを含む。ディスプレイは、タッチスクリーン、または入力装置（図示せず）に動作可能に結合された他のディスプレイ上に表示され得る。例えば、ディスプレイは、ロボット（例えば、ロボット１１０）に配置され得、ユーザーがユーザーインターフェース２２５を介して対話することができ、表面プロファイリング結果を出力するために使用され得る。
【００２５】
１つ以上のソフトウェアモジュール２３０は、記憶装置２９０内および／またはメモリ２２０内に符号化されている。このソフトウェアモジュール２３０は、コンピュータプログラムコード、スクリプト、またはプロセッサ２１０内で実行される一組の解釈可能な命令を有する１つ以上のソフトウェアプログラムまたはアプリケーションを含み得る。本明細書に開示されたシステムおよび方法の動作を実行し、態様を実施するためのそのようなコンピュータプログラムコードまたは命令は、１つ以上のプログラミング言語またはスクリプトの任意の組み合わせで記述され得る。プログラムコードは、独立型ソフトウェアパッケージとして制御計算システム２００上で全体的に、制御コンピュータ上で部分的に、かつリモートコンピュータ／装置（例えば、センサ、トランスデューサ、および／もしくはロボット）上で部分的に、またはそのようなリモートコンピュータ／装置上で全体的に実行することができる。後者のシナリオでは、リモートコンピュータシステムは、ローカルエリアネットワーク（ＬＡＮ）もしくはワイドエリアネットワーク（ＷＡＮ）を含む、任意のタイプの電子データ接続もしくはネットワークを通じて制御計算システム２００に接続され得るか、または、外部コンピュータを通じて（例えば、インターネットサービスプロバイダを使用するインターネットを通じて）接続され得る。それらのシナリオでは、制御計算システム２００は、当該技術分野で既知のように、ネットワークカードまたはデータを無線で送信するための他の手段を含むことができる。
【００２６】
１つ以上の実施形態では、プロセッサ２１０により実行されるセンサ制御モジュール２７０、動きモジュール２７２、およびプロファイル分析モジュール２７４は、ソフトウェアモジュール２３０の中に含まれる。以下でより詳細に説明されるように、ソフトウェアモジュール２３０の実行中、プロセッサ２１０は、表面のプロファイリングに関する様々な動作を実行するように構成されている。
【００２７】
１つ以上の実施形態では、センサ制御モジュール２７０は、１つ以上の距離センサ（例えば、距離センサ１２０）に命令して、それぞれのインパルス時間に横断されている表面に１つ以上の信号を送信するようにプロセッサ２１０を構成する。センサ制御モジュール２７０は、１つ以上の距離センサを使用して、送信信号が横断表面から反射して戻るときに、送信信号の到着を検出するようにプロセッサをさらに構成する。このようにして、信号が反射するのにかかる時間が測定され、そして次に、車両から表面までの距離が測定される。ロボット車両が表面に沿って移動すると、距離測定値が変化し、それに応じて表面のトポロジーが判定され得る。例えば、既知の距離式、距離＝速度×時間を使用し、信号が光の速度で移動すると仮定すると、距離は、信号が反射するのにかかる時間を測定することにより、センサ制御モジュール２７０により容易に計算され得る。
【００２８】
１つ以上の実施形態では、各距離センサは、信号を同時に送信するように命令される。他の実施形態では、各距離センサは、信号を交互の間隔で送信するように命令される。例えば、センサ制御モジュール２７０は、現在の車両速度および方向に基づいて距離センサに信号を送信させ得、各センサが特定の場所を通過すると推定されるとき、それぞれのセンサデータが比較されて、表面測定の精度が高まり得る。
【００２９】
１つ以上の実施形態では、センサ制御モジュール２７０は、慣性測定ユニットに命令して、重力ベクトルに対する、第１の位置での第１の角度を判定して、車両が第１の位置から第２の位置に移動すると、重力ベクトルに対する、第２の位置での第２の角度を判定するようにプロセッサを構成する。このようにして、表面によりもたらされるような静止からの車両の相対的な傾斜が取得され得、そして次に、表面のトポロジーについての追加の情報が取得され得る。
【００３０】
動きモジュール２７２は、１つ以上の車輪エンコーダから動きデータを受信してロボット車両の位置を判定するようにプロセッサを構成する。車輪エンコーダは、車両の各車輪が回転する量を測定する能力を提供し、それによって車両移動距離の表示を提供する。動きモジュールは、車輪のサイズに関する情報をメモリから受信し、車両の各車輪が回転した量の判定と併せて、車両による移動距離を計算することができる。
【００３１】
１つ以上の実施形態では、プロファイル分析モジュール２７４は、それぞれの距離センサと表面との間で移動する１つ以上の信号についてそれぞれの飛行時間（ＴＯＦ）を計算するようにプロセッサを構成する。これは、センサ制御モジュール２７０の動作と連携し得る。次に、プロファイル分析モジュール２７４は、それぞれのＴＯＦ、および動きモジュール２７２により提供される動きデータに基づいて所与のポイントでの表面のそれぞれの傾斜を判定する。これから、表面のトポロジーが一緒にまとめられ得る。プロファイル分析モジュールはまた、非一時的コンピュータ可読記憶媒体に（例えば、メモリに）、所与のポイントでの表面のそれぞれの傾斜を格納することができる。
【００３２】
１つ以上の実施形態では、プロファイル分析モジュール２７４は、センサ制御モジュール２７０および／または慣性測定ユニットと連携して、第１の角度と第２の角度との間の角度のオフセットを判定するようにプロセッサを構成し、第１の角度および第２の角度は、２つの異なる車両位置での重力ベクトルに対する車両のそれぞれの位置として測定される。プロファイル分析モジュール２７４は、非一時的コンピュータ可読記憶媒体に（例えば、不揮発性メモリ装置に）、所与の各ポイントで表面に対して測定されるそれぞれの角度を格納することができる。１つ以上の実施形態では、オフセットは、ロボット車両の縦軸に対して判定される。
【００３３】
第１の角度と第２の角度との間の角度のオフセットは、表面のプロファイルを判定するために使用され得る。それぞれの角度は、表面に対するロボット車両の傾斜の測定値を示すため、プロファイル分析モジュール２７４は、表面のプロファイルを判定するためにこの情報を使用することができる。例えば、慣性測定ユニットがロボット車両の中央に位置し、車両の前方に配置された車輪が傾斜を上がり始める場合、慣性測定ユニットは、車両の残りの部分に対してその傾斜角度を測定する。その後、プロファイル分析モジュール２７４は、車輪エンコーダの動きデータと併せて、その角度データを取得し、動きデータにより提供される距離に対して測定された角度の傾斜を表面が有することを判定することができる。
【００３４】
また、当業者には既知であるように、ソフトウェアモジュール２３０のプログラムコード、および非一時的コンピュータ可読記憶装置（メモリ２２０および／または記憶装置２９０など）のうちの１つ以上は、本開示に従って製造および／または販売され得るコンピュータプログラム製品を形成するとも言える。
【００３５】
いくつかの例証的な実施形態では、ソフトウェアモジュール２３０のうちの１つ以上は、現場ロボット１１０を構成するためのシステム内部で使用する通信インターフェース２５０を介して別の装置またはシステムから記憶装置２９０にネットワークを通じてダウンロードされ得ることを理解されたい。
【００３６】
加えて、本システムおよび方法の動作に関連する他の情報および／またはデータ、例えば、使用中のシステム１００（例えば、センサ、エンコーダ、トランスデューサ）および／またはロボットの動作で使用される様々な制御プログラムはまた、記憶装置２９０に格納され得ることに留意されたい。
【００３７】
データベース２８５もまた、記憶装置２９０に格納され得る。データベース２８５は、様々なデータ項目および要素を含み、かつ／または保持し得、それらは、システム１００の様々な動作全体にわたって利用される。データベース２８５に格納されている情報は、センサの動作を調整するためのソフトウェアおよび情報と、表面プロファイリング中にセンサをそれらのそれぞれの位置に配備する間のロボットの動きを調整するためのソフトウェアおよび情報と、プロファイリング測定を実行して表面寸法（例えば、表面傾斜、表面の形状および寸法）を計算するために使用される既知の特性とを含むことができるが、これらに限定されない。データベース２８５は、制御計算システム２００の記憶装置にローカルに構成されているように描かれるが、いくつかの実施態様では、データベース２８５および／またはそこに格納された様々なデータ要素は、当業者に既知の方法で、リモートに配置され、ネットワークを通じて制御計算システム２００に接続され得ることに留意されたい。
【００３８】
制御計算システム２００がリモート入力または処理を必要とせずに表面プロファイリングを実行できることが、本明細書の１つ以上の実施形態の利点であるが、他の実施形態では、通信インターフェース２５０もまた、プロセッサ２１０に動作可能に接続される。通信インターフェース２５０は、制御計算システム２００と、外部装置、機械および／またはトランスデューサ、センサなどの要素、ならびにプロファイリング動作に関連して使用される任意のロボットとの間の通信を可能にする任意のインターフェースであり得る。好ましくは、通信インターフェース２５０は、モデム、ネットワークインターフェースカード（ＮＩＣ）、統合ネットワークインターフェース、無線周波数送信機／受信機（例えば、ブルートゥース、セルラー、ＮＦＣ）、衛星通信送信機／受信機、赤外線ポート、ＵＳＢ接続、ならびに／または、制御計算システム２００を、他の計算装置および／もしくはプライベートネットワークおよびインターネットなどの通信ネットワークに接続するための任意の他のそのようなインターフェースを含むが、これらに限定されない。そのような接続は、有線接続または（例えば、ＩＥＥＥ８０２．１１標準規格を使用する）無線接続を含み得るが、通信インターフェース２５０は、実際には、制御コンピュータへ／からの通信を可能にする任意のインターフェースとすることができることを理解されたい。
【００３９】
ここで図３を参照すると、１つ以上の実施形態による表面３０５をプロファイリングするためのシステム３００が提供される。システム３００は、一組の車輪３１５と、距離センサ３２０と、制御計算システム３４０とを有するロボット車両３１０を含む。ロボット車両３１０は、車両を駆動するためのおよび移動するための車載モータなどの駆動システム（図示せず）を含む。一組の車輪３１５は、制御計算システム２００が表面３０５に沿った車両の動きを規定するためにプロセッサ２１０に車両の動きを通知するために、車両速度および方向などの車両３１０についての動き情報を収集する１つ以上の車輪エンコーダ（図示せず）を含み得る。１つ以上の実施形態では、一組の車輪３１５は、１つ以上のオムニホイール、駆動車輪、トレッドなどを含む。１つ以上の実施形態では、一組の車輪３１５は、強磁性表面への付着を改善するために磁石を含む。ロボットは、クランプ、フック、ばね、コード、吸引カップなどの他の取り付け機構または当該技術分野で既知のような他の取り付け機構を含むことができる。
【００４０】
１つ以上の実施形態では、距離センサ３２０は、単一の光学、超音波、またはライダーセンサである。他の実施形態では、距離センサ３２０は、複数の光学または超音波センサを包含する。距離センサが表面３０５に信号を送信し、それに続いて戻って来る信号を受信できる限り、距離センサ３２０は、所望の構造に応じて、車両３１０の前方、後方、および／または他の規定位置に取り付けられ得る。特定の実施形態では、第１の距離センサは、ロボット車両の前方に取り付けられており、第２の距離センサは、ロボット車両の後方に取り付けられている。
【００４１】
例示的な図３に示すように、距離センサ３２０は、ロボット車両３１０の前方に取り付けられており、距離３３０に沿って表面３０５に信号を送信するように配置されている。センサにより測定される距離３３０は、表面の傾斜がその表面上の車両の現在の位置および傾斜に対してどのように変化するかを判定し、これから表面の傾斜の変化が計算される。例えば、図３では、ロボット車両３１０は、まず表面３０５に沿って位置Ａにあり、距離３３０Ａを測定する。次に、駆動システムは車輪３１５を作動させ、ロボット車両３１０を表面３０５に沿って異なる場所の位置Ｂに移動させ、ここで、車両は、距離センサ３２０により距離３３０Ｂの第２の測定を行う。車両３１０のそれぞれの「位置」は、距離センサ３２０が信号を送信および／または受信する表面上の場所（例えば、ポイントまたはエリア）を指すと理解されるべきである。１つ以上の実施形態では、車輪エンコーダはまた、各位置で（例えば、車輪の回転を測定することにより）場所測定を行うことができる。
【００４２】
ロボット車両３１０が測定間（例えば、位置Ａから位置Ｂまで）で移動する距離は非常に短くすべきであり、表面プロファイリングの精度を最大化するために多くの表面測定が行われるべきであることを理解されたい。より多くの測定が行われ、各測定間でロボット車両の位置の変化がより小さくなると、結果として、データ出力の解像度がより高くなる（すなわち、表面プロファイルを生成するデータの統合がより精細になる）。
【００４３】
システム３００は、制御計算システム３４０（例えば、制御計算システム２００）をさらに含む。制御計算システム３４０は、プロセッサと、メモリと、非一時的コンピュータ可読記憶媒体と、記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールとを含み、１つ以上のソフトウェアモジュールが、プロセッサにより実行可能である。
【００４４】
好ましくは、センサ制御モジュール、動きモジュール、およびプロファイル分析モジュールは、ソフトウェアモジュールの中に含まれる。センサモジュールは、１つ以上の距離センサに命令して、それぞれのインパルス時間に１つ以上の信号を送信するようにプロセッサを構成し、センサ制御モジュールは、１つ以上の距離センサを使用して１つ以上の信号の到着を検出するようにプロセッサをさらに構成する。動きモジュールは、１つ以上の車輪エンコーダから動きデータを受信してロボットの位置を判定するようにプロセッサを構成する。プロファイル分析モジュールは、センサと表面との間で移動する１つ以上の信号についてそれぞれの飛行時間（ＴＯＦ）を計算し、それぞれのＴＯＦおよび動きデータに基づいて所与のポイントでの表面のそれぞれの傾斜を判定し、非一時的コンピュータ可読記憶媒体に、所与のポイントでの表面のそれぞれの傾斜を格納するようにプロセッサを構成する。ロボット車両が表面上の位置から位置に移動すると、制御計算システム３４０は、上記のモジュールを実行して、表面の異なる位置に沿ってそれぞれの傾斜を連続的に判定する。次に、測定された傾斜の変化が統合され、ロボットの位置が以前の読み取り値を使用して計算され、表面のプロファイルを生成する。プロファイルは、ロボット車両の動作中、または動作が完了した後に生成され得る。プロファイルの生成は、観測された読み取り値を生成するプロファイルを見つけることによってプロファイルを「解析する」ことを含むことができる。以下でより詳細に説明されるように、ソフトウェアモジュールの実行中、プロセッサは、表面のプロファイリングに関する様々な動作を実行するように構成されている。
【００４５】
図１および図３で示された例示的な表面プロファイリングシステム１００および３００の動作は、図４を参照してさらに理解されるであろう。図４は、本発明の１つ以上の実施形態による表面のプロファイルを生成するためのルーチン４００の高レベルフロー図である。
【００４６】
ルーチン４００は、ステップ４０５で始まり、ロボット車両が、プロファイルされる表面上に配備される。その後、距離センサ３２０などの１つ以上の距離センサを使用して１つ以上の信号が生成され、車両の現在の位置で表面に送信される。ステップ４１５で、１つ以上の信号が表面から受信されて１つ以上のセンサに戻る。この情報は、計算制御システム２００などの計算制御システムに渡され、コードを含む１つ以上のソフトウェアモジュールが、プロファイル計算を実行するためにプロセッサにより実行される。１つ以上の実施形態では、ステップ４１５および４２０は、本明細書に説明されるセンサ制御モジュールにより実行される。
【００４７】
ステップ４２０で、計算制御システムは、距離センサで受信される１つ以上の信号についてそれぞれの飛行時間（ＴＯＦ）を計算する。このステップに続いて、または同時に、計算制御システムは、車輪エンコーダから動きデータを受信する（ステップ４２５）。動きデータは、ロボット車両の現在の速度および方向を含むことができ、ロボット車両が表面上のどこに配置されているかを判定するために使用される。１つ以上の実施形態では、動きモジュールは、１つ以上の車輪エンコーダから動きデータを受信してロボットの位置を判定するようにプロセッサを構成する。
【００４８】
この情報を受信した後、計算制御システムは、それぞれのＴＯＦに基づいて、現在の場所での表面のそれぞれの傾斜を計算する（ステップ４３０）。例えば、第１の位置と比較して第２の位置で測定されたＴＯＦがより長いことは、第２の位置での表面の高さが第１の位置よりも低いことを示す。ステップ４３０で、現在のロボット車両位置についての計算された傾斜データおよび動きデータは、記憶媒体に格納される。この情報は、表面の「スナップショット」を備える。表面がまだ完全に取り込まれていなかった場合、すなわち、表面全体のプロファイルを判定するのに不十分なスナップショットがある場合、ロボット車両は新しい場所に再配置され（ステップ４４０）、ルーチン４００は、分岐してステップ４０５に戻る。このプロセスは、所定の精度の閾値内で所望の表面を取り込むために必要な回数繰り返され得る。
【００４９】
ロボット車両が、プロファイルされる表面全体に沿って測定を行うと、計算制御システムは、各位置から収集されたデータを使用して表面をプロファイルする（ステップ４４５）。プロファイリングは、受信されたＴＯＦおよび動きデータに基づいて方程式を解いて、表面がどのように見えるかを判定することを含むことができる。１つ以上の実施形態では、ステップ４３０、４３５、および４４５は、それらのステップを実行するためにプロセッサ２１０で実行可能なコードを備えるプロファイル分析モジュールにより実施され得る。
【００５０】
ここで図５を参照すると、１つ以上の実施形態による表面５０５をプロファイリングするためのシステム５００が提供される。システム５００は、車両の縦軸に沿って長手方向に沿って直線的に並べられた複数の距離センサ５２０を有するロボット車両５１０を含み、各センサは、本明細書の他の場所で説明されるように表面５０５までの距離５３０Ａ、Ｂ、Ｃなどを測定するように構成されている。車両の縦軸は、車両５１０の中央のフレームと同軸であり得る。このようにして、複数の距離センサ５２０の各々は、別個のデータストリームを生成する。各距離センサ５２０は、定期的な時間間隔などの異なるレートでまたは異なる精度で距離を測定するように較正され得る。例えば、あるセンサは、０．００１秒ごとに距離測定値を収集するように構成され得るのに対して、別のセンサは、０．０１秒または０．１秒ごとに距離測定値を収集するように構成され得る。同様に、各距離センサは、センチメートル、ミリメートルなどの位までの距離を測定するように別々に構成され得る。距離センサ５２０の数を増やして、より精細な「スナップショット」測定を提供することができる。１つ以上の実施形態では、距離センサ５２０は、互いに実質的に等距離に配置されている。１つ以上の実施形態では、距離センサ５２０は、ロボット車両５１０の外面上に配置されている。１つ以上の実施形態では、距離センサ５２０は、ロボット車両５１０内に配置されている。
【００５１】
複数の距離センサ５２０を収容するために、ロボット車両５１０は、ロボット車両３１０に対して細長い。ロボット車両５１０はまた、本明細書の他の場所（例えば、制御計算システム２００、３４０）で説明されるような制御計算システム５４０を含む。特定の実施形態では、データ収集のレートまたは精度が最適化されて、制御計算システム５４０に渡すために複数の距離センサ５２０により生成されるデータの量を管理することができる。
【００５２】
ロボット車両５１０はまた、車両配向データを取り込むための加速度計５５０を収容する。本明細書で加速度計が検討されているが、他の慣性測定ユニット（例えば、ジャイロスコープ）が実装され得る。加速度計５５０は、重力の方向に対して較正され、これは、加速度計が、ロボット車両５１０が表面を横断するときのロボット車両５１０の水平および／または垂直オフセットを測定することを意味する。これは、表面５０５のプロファイルを判定するためにプロファイル分析モジュール２７４により使用され得る距離測定値５３０自体を超える追加のデータを提供する。このようにして、制御計算システム５４０は、取り込まれた表面の「スナップショット」を調整して、プロファイリング精度を改善することができる。１つ以上の実施形態では、加速度計５５０は、ｘおよびｙ平面でロボット車両５１０上の実質的に中央に配置される。
【００５３】
１つ以上の実施形態では、複数の加速度計５５０は、ロボット車両５１０上またはロボット車両５１０内に配置されている。１つ以上の実施形態では、加速度計５５０は、互いに実質的に等距離に配置されている。
【００５４】
ここで図６を参照すると、１つ以上の実施形態による表面６０５をプロファイリングするためのシステム６００が提供される。システム６００は、車輪エンコーダを収容する一組の車輪を有するロボット車両６１０および本明細書の他の場所（例えば、制御計算システム２００、３４０）で説明されるような制御計算システム６４０、ならびに加速度計６５０を含む。有利なことに、本実施形態は、加速度計および車輪エンコーダにより車両傾斜を測定するだけで表面をプロファイルすることができ、したがって、（距離センサは、以下で説明するように精度をさらに改善することができるが、）表面をプロファイルするためにいかなる距離センサも含む必要はない。
【００５５】
より具体的には、制御計算システム６４０は、加速度計を使用して、現在の車両角度を第１の位置（位置１）でゼロ点に較正する。好ましくは、ゼロ点は重力ベクトルのゼロ点と一致するが、これは必要ではない。図６は、第１の角度６６０によるゼロ点角度を示す。次に、ロボット車両６１０は、図６により示すように、第２の位置（位置２）まで第１の距離６６５駆動される。表面の形状が位置１から位置２までで（例えば、高さ、配向）変化すると、ゼロ点に対してロボット車両６１０の加速度計６５０により測定される角度は、第２の角度６７０でオフセットされている。次に、ロボット車両６１０は、第３の位置（位置３）まで第２の距離６７５駆動され、ここで、ゼロ点に対してロボット車両６１０の加速度計６５０により測定される角度は、第３の角度６８０でオフセットされている。加速度計６５０により測定される位置１、２、および３の各々で取り込まれる角度傾斜データは、制御計算システム６４０に渡され、１つ以上のソフトウェアモジュール（例えば、プロファイル分析モジュール）を実行するプロセッサにより処理される。例えば、この情報を使用して、システム６００は、ロボット車両６１０が２つの位置間の傾斜読み取り値の平均により規定される線に沿って移動し、平均角度（位置１および２での平均角度）の正弦に、車両が位置１から２まで移動したときに車輪上のエンコーダから推定される移動距離を掛けて計算することにより、（例えば、位置１と２との間の）オフセットのデルタを判定することを計算するように構成され得る。次に、これらのデルタオフセットを合計して、車両の開始位置に対する絶対オフセットを推定する。前述のものは、ロボット車両６１０が２つの位置間の傾斜読み取り値の平均により規定される線に沿って移動したと仮定するアルゴリズムを備え、他のアルゴリズムが、より複雑な動きを考慮するために採用され得、前述のものは、単なる例である。
【００５６】
測定精度を改善するために、システム６００は、好ましくは、車両がｘおよびｙ方向の両方にどれだけ移動したかを正確に判定するために任意の所与の位置で局所的な傾斜の測定を行うために、短いロボット車両６１０を実装する。同様に、新しい測定を実行するとき、システム６００が距離の変化を小さく保つ（例えば、距離６６５、６７５が０．１ｍｍまたは０．１ｃｍ離れ得る）ことが有利である。距離の変化を小さく保つことにより、表面が２つの位置で同様であるがそれらの位置間で変化する場合などの情報をシステム６００が見落とす可能性が限定され、また、より精細で詳細な表面プロファイルを作成するためにより多くの情報がプロセッサ２１０に提供される。精度を改善するための別の方法では、システム６００は、ロボット車両６１０が順進行方向に移動し、次に逆進行方向に沿ってそのルートを引き返して２つのプロファイルを生成するようにプロファイルを生成するためにコードにより構成され得る。次に、各プロファイルで生成された情報が融合され、生成されたプロファイル全体の精度が改善する。２つの生成されたプロファイルが特定の量だけ異なる場合、車両が測定を再実行し、生成された情報をデータ融合に追加して、精度を改善し続けることができる。
【００５７】
システム６００がメインの焦点として距離センサなしで検討されているが、１つ以上の実施形態では、距離センサをシステムに追加して、精度を向上させることができる。例えば、距離センサは、地面に面するようにロボット車両６１０上に取り付けられて（例えば、重力の引力に平行なポイントに受動的に取り付けられて）表面上の車両の高さを測定し得る。次に、この情報は、車輪エンコーダの読み取り値を地面に対するこの距離測定値と比較することにより、車両がどの角度に沿って移動していたかを判定するために使用される。
【００５８】
ここで図７を参照すると、１つ以上の実施形態による表面７０５をプロファイリングするためのシステム７００が提供される。図７は、車両のより短い水平軸（例えば、図７のｘ軸）に沿って直線的に離間した複数の距離センサ７２０を有するロボット車両７１０の前面図を示す。例えば、複数の距離センサ７２０は、水平軸にわたって互いに実質的に等距離であり得る。水平軸は、ロボット車両７１０の中央のフレームまたは軸と同軸であり得る。長い軸の代わりにロボット車両の狭い軸にわたって距離センサを配置することにより、センサは、ｘおよびｙ方向の両方で距離情報を収集することができる。システム７００は、本明細書の他の場所で説明され、表面プロファイルの作成に関連して傾斜および距離情報を計算するために情報をプロセッサに提供する、車輪エンコーダ、制御計算システム７４０および加速度計７５０をさらに含む。２つの方向でデータを収集することにより、制御計算システム７４０は、各方向について１つずつ、２つの表面プロファイルを生成し、それによって表面の２Ｄプロファイルを生成することができる。
【００５９】
１つ以上の実施形態では、ロボット車両７１０の縦軸に沿って直線的に配置された第１の組の距離センサ７２０と、ロボット車両の水平軸に沿って直線的に、かつ第１の組の距離センサに垂直に配置された第２の組の距離センサ７２０とを含むことにより、精度がさらに改善され得る。このようにして、複数の距離センサ７２０の各々は、別個のデータストリームを生成する。各距離センサ７２０は、異なるレートでまたは異なる精度で距離を測定するように較正され得る。例えば、あるセンサは、０．００１秒ごとに距離測定値を収集するように構成され得るのに対して、別のセンサは、０．０１秒または０．１秒ごとに距離測定値を収集するように構成され得る。同様に、各距離センサは、最短のセンチメートル、ミリメートルなどの距離を測定するように別々に構成され得る。距離センサ７２０の数を増やして、より精細な「スナップショット」測定を提供することができる。１つ以上の実施形態では、距離センサ７２０は、互いに等距離に配置されている。１つ以上の実施形態では、距離センサ７２０は、ロボット車両７１０の外面上に配置されている。１つ以上の実施形態では、距離センサ７２０は、ロボット車両７１０内に配置されている。
【００６０】
１つ以上の実施形態では、表面プロファイリングは、同時位置推定およびマッピングアルゴリズム（ＳＬＡＭ）を実施して、物体（例えば、タンク壁）の表面全体を自律的に、精度について特定の許容度でマッピングする。ＳＬＡＭアルゴリズムは、リアルタイムに車両で受信された環境センサデータを取得し、環境内で車両を追跡し続けながら現在の環境の形状を近似するためにそのデータを以前の既知のデータと比較するリアルタイム位置推定システムである。本明細書に開示される実施形態に従って、表面の２Ｄ（「アンラップ」）または３Ｄプロファイルを高精度で自律的に生成するためにＳＬＡＭ技術にアクセスした状態で、ロボット車両が配備される。センサおよびシステムの感度に応じて、ＳＬＡＭ技術は、ライダー技術よりも高い精度を提供することができる。このようにして、本明細書に説明される本システムおよび方法は、図７に関連する直線プロファイルまたは２Ｄプロファイルに制約されない。
【００６１】
さらに、１つ以上の実施形態では、本明細書の本システムおよび方法は、車両位置を推定するためにロボット車両の外部のレーザー基準装置を含む。レーザー基準装置は、好ましくは、表面の既知の場所（例えば、表面の中心）から既知の距離に配置されている。動作中、レーザー基準装置は、どちらかと言えば、表面に平行に向けられ、垂直基準レーザーライン（ビームは水平方向に直線幅を有する）を放出する。ロボット装置が表面に沿って移動すると、レーザー基準装置からの光は、光学センサなどのロボット装置に結合されたセンサにより継続的に検出される。表面上の任意の隆起、くぼみ、および不均一さは、センサがレーザー基準装置により放出されるレーザー放射を取り込んで検出する位置をオフセットする。測定されたオフセットは、表面で行われる基準計算から表面の変形の大きさを計算するために使用され得る。計算は、光学センサがレーザーを検出する位置の正確な読み取り値に依存するため、本方法は、かなりの程度で、光学センサの設計に依存する。
【００６２】
図１〜図７は、本発明の説明を可能にする概念的例示である。当業者は、本発明の実施態様の様々な態様がハードウェア、ファームウェア、ソフトウェア、またはその組み合わせで実施され得ることを理解すべきである。そのような実施態様では、様々な構成要素および／またはステップが、本発明の機能を実行するためにハードウェア、ファームウェア、および／またはソフトウェアで実施されるであろう。つまり、ハードウェア、ファームウェア、またはソフトウェアのモジュールの同一部分が、例示されたブロック（例えば、構成要素またはステップ）のうちの１つ以上を実施し得る。
【００６３】
ソフトウェア実施態様では、コンピュータソフトウェア（例えば、プログラムもしくは他の命令）および／またはデータは、コンピュータプログラム製品の一部として機械可読媒体に格納され、リムーバブル記憶ドライブ、ハードドライブ、または通信インターフェースを介してコンピュータシステムまたは他の装置もしくは機械にロードされる。コンピュータプログラム（コンピュータ制御論理またはコンピュータ可読プログラムコードとも呼ばれる）は、メインおよび／または二次メモリに記憶され、１つ以上のプロセッサ（コントローラなど）によって実装されて、１つ以上のプロセッサに、本明細書に説明される発明の機能を実施させる。本明細書において、「機械可読媒体」、「コンピュータプログラム媒体」および「コンピュータ使用可能媒体」という用語は、一般に、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、リムーバブル記憶ユニット（例えば、磁気または光ディスク、フラッシュメモリデバイスなど）、ハードディスクなどのような媒体を指して使用される。
【００６４】
とりわけ、説明または例示された要素のいくつかまたはすべての交換により他の実施態様が可能であるため、上記の図および例は、本発明の範囲を単一の実施態様に限定することを意図していない。さらに、本発明の特定の要素が既知の構成要素を使用して部分的または完全に実装され得る場合、本発明の理解に必要なかかる既知の構成要素のそれらの部分のみが説明され、かかる既知の構成要素の他の部分の詳細な説明は、本発明を曖昧にしないように省略されている。本明細書では、単一の構成要素を示す実施態様は、本明細書において特に明記しない限り、複数の同じ構成要素を含む他の実施態様に必ずしも限定される必要はなく、逆もまた同様である。さらに、本出願人らは、そのようなものとして明示的に記載されていない限り、本明細書または特許請求の範囲におけるいかなる用語も一般的でない意味、または特殊な意味に属することを意図していない。さらに、本発明は、例示として本明細書に言及された既知の構成要素に対する現在および将来の既知の等価物を包含する。
【００６５】
特定の実施態様の前述の説明は、本発明の一般的性質を完全に明らかにしているので、他者は、（参照により本明細書に引用されて組み込まれる文献の内容を含む）関連技術分野（複数可）の技能内の知識を適用することにより、様々な用途について、そのような特定の実施態様を、過度の実験を行うことなく、本発明の一般的概念から逸脱せずに、容易に変更および／または適合させることができる。したがって、このような適合化および変更は、本明細書において提示される教示および指針に基づいて開示される実施態様の等価物の意味および範囲にあるものと意図される。本明細書における表現または専門用語は、説明目的であり、限定するものではないので、本明細書の専門用語または表現は、当業者により、本明細書において提示される教示および指針に照らして、関連技術分野（複数可）の当業者の知識と組み合わせて解釈されるべきであることを理解されたい。
【００６６】
本発明の様々な実施態様が上で説明されてきたが、それらは、限定ではなく例として提示されていることを理解されたい。関連技術分野（複数可）の当業者には、本発明の趣旨および範囲から逸脱せずに、形態および詳細における様々な変更がその中で行われ得ることが明らかであろう。したがって、本発明は、上述の例示的な実施態様のいずれによっても限定されるべきではなく、以下の特許請求の範囲およびそれらの等価物に従ってのみ規定されるべきである。
【符号の説明】
【００６７】
１００  システム
１０５  容器
１１０  ロボット
１２０  距離センサ
２００  制御計算システム
２１０  プロセッサ
２２０  メモリ
２２５  ユーザーインターフェース
２３０  ソフトウェアモジュール
２３５  ディスプレイ
２５０  通信インターフェース
２７０  センサ制御モジュール
２７２  動きモジュール
２７４  プロファイル分析モジュール
２８５  データベース
２９０  コンピュータ可読記憶媒体
【図１】
2021513062.tif 000003
【図２】
2021513062.tif 000004
【図３】
2021513062.tif 000005
【図４】
2021513062.tif 000006
【図５】
2021513062.tif 000007
【図６】
2021513062.tif 000008
【図７】
2021513062.tif 000009
【手続補正書】
【提出日】令和1年12月6日(2019.12.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
表面をプロファイリングするためのシステムであって、
ロボット車両であって、駆動システムと、少なくとも１つの車輪と、前記駆動システムにより駆動されたときの前記ロボット車両の動きを測定し、動きデータを生成するために前記車輪それぞれの内部に収容された１つ以上の車輪エンコーダと、を有するロボット車両と、
前記表面の傾斜を測定するために前記ロボット車両に結合された１つ以上の距離センサと、
制御計算システムであって、
非一時的コンピュータ可読記憶媒体と、
１つ以上の前記距離センサ、前記車輪エンコーダそれぞれ、前記ロボット車両、および前記非一時的コンピュータ可読記憶媒体と電子通信する１つ以上のプロセッサと、
前記非一時的コンピュータ可読記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールであって、前記ソフトウェアモジュールが、前記プロセッサにより実行可能であり、かつ、前記ソフトウェアモジュールが、
１つ以上の前記車輪エンコーダから前記動きデータを受信して前記ロボット車両の位置を判定するように前記プロセッサを構成する動きモジュールと、
センサ制御モジュールであって、１つ以上の前記距離センサに命令して、インパルス時間それぞれに１つ以上の信号を前記表面に送信して、１つ以上の前記信号が前記表面で反射する時間を検出して、前記動きモジュールからの前記動きデータを処理するように前記プロセッサを構成し、１つ以上の前記信号が反射する前記時間および前記処理された動きデータを使用して前記表面の傾斜を計算することにより前記表面のスナップショットを判定する前記センサ制御モジュールと、
を含む、１つ以上の前記ソフトウェアモジュールと、
を備える、前記制御計算システムと、
を備える前記システムにおいて、
前記ロボット車両が、前記表面を横断するように前記駆動システムにより駆動されると同時に、前記制御計算システムが、前記ロボット車両の前記位置が変化して前記表面のプロファイルを生成すると、前記表面の複数のスナップショットを連続的に判定する、システム。
【請求項２】
１つ以上の前記距離センサのうちの第１のセンサが、前記ロボット車両の前部に取り付けられており、１つ以上の前記距離センサのうちの第２のセンサが、前記ロボット車両の後部に取り付けられている、請求項１に記載のシステム。
【請求項３】
１つ以上の前記距離センサが、前記ロボット車両の縦軸に沿って長手方向に直線的に配置されている、請求項１に記載のシステム。
【請求項４】
１つ以上の前記距離センサのうちの少なくとも２つが、前記ロボット車両の車両軸の水平軸に沿って直線的に配置されている、請求項１に記載のシステム。
【請求項５】
１つ以上の前記距離センサのうちの少なくとも２つが、互いに実質的に等距離に配置されている、請求項１に記載のシステム。
【請求項６】
前記距離センサが、前記ロボット車両の外面上に配置されている、請求項１に記載のシステム。
【請求項７】
前記距離センサが、前記ロボット車両内に配置されている、請求項１に記載のシステム。
【請求項８】
前記ロボット車両の配向データを取り込むために前記ロボット車両に収容された慣性測定ユニットをさらに備える、請求項１に記載のシステム。
【請求項９】
前記慣性測定ユニットが、加速度計である、請求項８に記載のシステム。
【請求項１０】
前記動きデータが、前記ロボット車両の速度または前記ロボット車両の移動距離を含む、請求項１に記載のシステム。
【請求項１１】
前記制御計算システムが、
前記距離センサと前記表面との間で移動する１つ以上の前記信号それぞれについて飛行時間（ＴＯＦ）を計算し、前記ＴＯＦそれぞれおよび前記動きデータに基づいて所与のポイントでの前記表面のそれぞれの傾斜を判定し、前記非一時的コンピュータ可読記憶媒体に、前記所与のポイントでの前記表面の前記それぞれの傾斜を格納するように前記プロセッサを構成するプロファイル分析モジュールをさらに備える、請求項１に記載のシステム。
【請求項１２】
表面をプロファイリングするためのシステムであって、
ロボット車両であって、駆動システムと、少なくとも１つの車輪と、前記駆動システムにより駆動されたときの前記ロボット車両の動きを測定し、動きデータを生成するために前記車輪それぞれの内部に収容された１つ以上の車輪エンコーダと、を有するロボット車両と、
重力の方向に対する前記ロボット車両の角度を測定するために前記ロボット車両に結合された慣性測定ユニットと、
制御計算システムであって、
非一時的コンピュータ可読記憶媒体と、
前記慣性測定ユニット、前記車輪エンコーダそれぞれ、前記ロボット車両、および前記非一時的コンピュータ可読記憶媒体と電子通信する１つ以上のプロセッサと、
前記非一時的コンピュータ可読記憶媒体に格納された実行可能な命令を備える１つ以上のソフトウェアモジュールであって、前記ソフトウェアモジュールが、前記プロセッサにより実行可能であり、かつ、前記ソフトウェアモジュールが、
１つ以上の前記車輪エンコーダから前記動きデータを受信して前記ロボット車両の位置変化を判定するように前記プロセッサを構成する動きモジュールと、
前記慣性測定ユニットに命令して、重力に対する、前記表面上の第１の位置での第１の角度を判定して、かつ、重力に対する、前記表面上の第２の位置での第２の角度を判定するように前記プロセッサを構成するセンサ制御モジュールと、
前記第１の角度と前記第２の角度との間の角度のオフセットを判定して前記第１の位置と前記第２の位置との間の傾斜の変化を計算するように、前記動きモジュールからの前記動きデータを処理するように、計算された前記傾斜の変化および処理された動きデータを使用して前記第１の位置と前記第２の位置との間の前記表面のスナップショットを判定するように、ならびに、前記非一時的コンピュータ可読記憶媒体に前記スナップショットを格納するように前記プロセッサを構成するプロファイル分析モジュールと、
を含む、１つ以上の前記ソフトウェアモジュールと、
を備える、前記制御計算システムと、
を備える前記システムにおいて、
前記ロボット車両が、前記表面を横断するように前記駆動システムにより駆動されると同時に、前記制御計算システムが、前記ロボット車両の位置が変化して前記表面のプロファイルを生成すると、前記表面の複数のスナップショットを連続的に判定する、システム。
【請求項１３】
前記プロファイル分析モジュールが、前記第１の位置と前記第２の位置との間で１つ以上の前記車輪エンコーダにより測定される距離を乗じた前記第１の角度および前記第２の角度の平均の正弦を計算することにより、前記オフセットを判定する、請求項１２に記載のシステム。
【請求項１４】
前記表面の傾斜を測定するために前記ロボット車両にまたは前記ロボット車両内に取り付けられた１つ以上の距離センサをさらに備える、請求項１２に記載のシステム。
【請求項１５】
前記センサ制御モジュールが、１つ以上の前記距離センサに命令して、それぞれのインパルス時間に１つ以上の信号を前記表面に送信するように前記プロセッサを構成し、前記センサ制御モジュールが、１つ以上の前記距離センサを使用して前記表面での１つ以上の前記信号の反射を検出するように前記プロセッサをさらに構成する、請求項１４に記載のシステム。
【国際調査報告】
2021513062.tif 000010
2021513062.tif 000011