(57)【要約】  可動物体環境におけるリアルタイムマッピング技術が開示される。リアルタイムマッピングシステムは、コンピュータ装置、コンピュータ装置に電子的に結合された走査センサ、及びコンピュータ装置に電子的に結合された測位センサを含む少なくとも１つの可動物体を含み得る。コンピュータ装置は少なくとも１つのプロセッサ及びマッピングマネージャを含み得、マッピングマネージャは走査センサからマッピングデータを取得するとともに測位センサから測位データを取得するように構成され得る。マッピングマネージャは、マッピングデータと測位データとを、マッピングデータ及び測位データに関連付けられた時間データに少なくとも基づき関連付け、次に、関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成し得る。
2022502784.tif 000002
【特許請求の範囲】
【請求項１】
可動物体環境におけるリアルタイムマッピングシステムであって、
コンピュータ装置を含む少なくとも１つの可動物体と、
前記コンピュータ装置に電子的に結合された走査センサと、
前記コンピュータ装置に電子的に結合された測位センサとを含み、
前記コンピュータ装置は少なくとも１つのプロセッサとマッピングマネージャとを含み、
前記マッピングマネージャは指示を含み、前記指示は前記プロセッサにより実行されると前記マッピングマネージャに、
前記走査センサからマッピングデータを取得させ、
前記測位センサから測位データを取得させ、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けさせ、
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成させる、システム。
【請求項２】
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付ける前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルさせ、
前記マッピングデータ内の各点を前記アップサンプルされた測位データ内の対応位置へ関連付けさせる、請求項１に記載のシステム。
【請求項３】
前記マッピングデータ及び前記測位データに関連付けられた前記時間データを提供するために前記走査センサ及び前記測位センサに電子的に結合されたクロック回路をさらに含む請求項２に記載のシステム。
【請求項４】
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成する前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断させ、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断させる、請求項１に記載のシステム。
【請求項５】
前記占有確率は前記ボクセル内に配置される前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、請求項４に記載のシステム。
【請求項６】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均位置を計算させ、
前記平均位置の前記マップ内に点を生成させる、請求項４に記載のシステム。
【請求項７】
前記指示は実行されると前記マッピングマネージャにさらに、
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均強度値を計算させ、
前記平均強度値と前記マップ内の前記生成された点とを関連付けさせる、請求項６に記載のシステム。
【請求項８】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断させ、
距離閾値より長い距離に関連するいかなる点も除去させる、請求項１に記載のシステム。
【請求項９】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マッピングデータをスケールファクタでダウンサンプルさせ、
前記マッピングデータを複数のボクセルに分割させ、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力させる、請求項１に記載のシステム。
【請求項１０】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マップを第２の座標系に変換させ、
前記変換されたマップを出力させる、請求項１に記載のシステム。
【請求項１１】
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、請求項１に記載のシステム。
【請求項１２】
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、請求項１に記載のシステム。
【請求項１３】
可動物体環境におけるリアルタイムマッピング方法であって、
可動物体により支持される走査センサからマッピングデータを取得すること、
前記可動物体により支持される測位センサから測位データを取得すること、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けること
及び
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成すること、を含む方法。
【請求項１４】
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付けることはさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルすることと、
前記マッピングデータ内の各点と前記アップサンプルされた測位データ内の対応位置とを関連付けることとを含む、請求項１３に記載の方法。
【請求項１５】
前記マッピングデータ及び前記測位データに関連付けられた前記時間データを前記走査センサ及び前記測位センサに電子的に結合されたクロック回路から取得することをさらに含む請求項１４に記載の方法。
【請求項１６】
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき前記第１の座標系の前記マップを生成することはさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断することと、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断することとを含む、請求項１３に記載の方法。
【請求項１７】
前記占有確率は前記ボクセル内に配置された前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、請求項１６に記載の方法。
【請求項１８】
占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内の前記１つ又は複数の点の平均位置を計算することと、
前記平均位置の前記マップ内に点を生成することと、をさらに含む請求項１６に記載の方法。
【請求項１９】
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内の前記１つ又は複数の点の平均強度値を計算することと、
前記平均強度値と前記マップ内の前記生成された点とを関連付けることと、をさらに含む請求項１８に記載の方法。
【請求項２０】
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断することと、
距離閾値より長い距離に関連するいかなる点も除去することと、をさらに含む請求項１３に記載の方法。
【請求項２１】
前記マッピングデータをスケールファクタでダウンサンプルすることと、
前記マッピングデータを複数のボクセルに分割することと、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力することと、をさらに含む請求項１３に記載の方法。
【請求項２２】
前記マップを第２の座標系に変換することと、
前記変換されたマップを出力することと、をさらに含む請求項１３に記載の方法。
【請求項２３】
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、請求項１３に記載の方法。
【請求項２４】
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、請求項１３に記載の方法。
【請求項２５】
格納された指示を含む非一時的コンピュータ可読記憶媒体であって、
１つ又は複数のプロセッサにより実行されると前記１つ又は複数のプロセッサに、
可動物体により支持される走査センサからマッピングデータを取得させ、
前記可動物体により支持される測位センサから測位データを取得させ、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けさせ、
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成させる、非一時的コンピュータ可読記憶媒体。
【請求項２６】
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付ける前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルさせ、
前記マッピングデータ内の各点と前記アップサンプルされた測位データ内の対応位置とを関連付けさせる、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２７】
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、前記マッピングデータ及び前記測位データに関連付けられた前記時間データを前記走査センサ及び前記測位センサに電子的に結合されたクロック回路を使用することにより取得させる、請求項２６に記載の非一時的コンピュータ可読記憶媒体。
【請求項２８】
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき前記第１の座標系の前記マップを生成する前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断させ、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断させる、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項２９】
前記占有確率は前記ボクセル内に配置された前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、請求項２８に記載の非一時的コンピュータ可読記憶媒体。
【請求項３０】
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均位置を計算させ、
前記平均位置の前記マップ内に点を生成させる、請求項２８に記載の非一時的コンピュータ可読記憶媒体。
【請求項３１】
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内の前記１つ又は複数の点の平均強度値を計算させ、
前記平均強度値と前記マップ内の前記生成された点とを関連付けさせる、請求項３０に記載の非一時的コンピュータ可読記憶媒体。
【請求項３２】
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断させ、
距離閾値より長い距離に関連するいかなる点も除去させる、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項３３】
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マッピングデータをスケールファクタでダウンサンプルさせ、
前記マッピングデータを複数のボクセルに分割させ、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力させる、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項３４】
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マップを第２の座標系に変換させ、
前記変換されたマップを出力させる、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項３５】
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【請求項３６】
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、請求項２５に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権情報
本特許文書の開示の一部は著作権保護を受ける資料を含む。本著作権所有者は、本特許文書又は特許開示の任意の者による複製に対しては本特許文書又は特許開示が特許商標庁ファイル又は記録内に出現するので異議は無いが、そうでない場合にはいかなる著作権も全て留保する。
【０００２】
関連出願の相互参照
本出願は参照のため本明細書に援用する２０１８年１０月２９日出願の米国仮出願第６２／７５２，２７３号明細書からの優先権を主張する。
【０００３】
開示される実施形態は、一般的にはマッピング技術に関し、特に、しかし排他的でなく、可動物体環境におけるリアルタイムマッピング技術に関する。
【背景技術】
【０００４】
無人航空機（ＵＡＶ：ｕｎｍａｎｎｅｄ  ａｅｒｉａｌ  ｖｅｈｉｃｌｅ）などの可動物体は様々なアプリケーションのための監視、偵察及び探査タスクを行うために使用され得る。可動物体は、可動物体の移動中に可動物体がセンサデータを捕捉することを可能にする搭載物（様々なセンサを含む）を備え得る。捕捉されたセンサデータは、クライエント装置（リモート制御器、リモートサーバ又は他のコンピュータ装置を介し可動物体と通信するクライエント装置など）へ描画され得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
可動物体環境におけるリアルタイムマッピング技術が開示される。リアルタイムマッピングシステムは、コンピュータ装置、コンピュータ装置に電子的に結合される走査センサ、及びコンピュータ装置に電子的に結合される測位センサを含む少なくとも１つの可動物体を含み得る。コンピュータ装置は少なくとも１つのプロセッサとマッピングマネージャとを含み得、マッピングマネージャは走査センサからマッピングデータを取得するとともに測位センサから測位データを取得するように構成され得る。マッピングマネージャは、マッピングデータと測位データとをマッピングデータ及び測位データに関連付けられた時間データに少なくとも基づき関連付け、次に、関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成し得る。
【図面の簡単な説明】
【０００６】
【図１】様々な実施形態による可動物体環境における可動物体の例を示す。
【図２】様々な実施形態による可動物体環境における可動物体アーキテクチャの例を示す。
【図３】様々な実施形態による可動物体環境におけるマッピングマネージャの例を示す。
【図４Ａ】様々な実施形態による階層的データ構造の例を示す。
【図４Ｂ】様々な実施形態による階層的データ構造の例を示す。
【図５Ａ】様々な実施形態によるマッピングデータ内の外れ値除去の例を示す。
【図５Ｂ】様々な実施形態によるマッピングデータ内の外れ値除去の例を示す。
【図６】様々な実施形態によるマッピングデータ内の強度値の例を示す。
【図７】様々な実施形態によるソフトウェア開発環境において可動物体インターフェースを支援する例を示す。
【図８】様々な実施形態による可動物体インターフェースの例を示す。
【図９】様々な実施形態によるソフトウェア開発キット（ＳＤＫ：ｓｏｆｔｗａｒｅ  ｄｅｖｅｌｏｐｍｅｎｔ  ｋｉｔ）内の可動物体の部品の例を示す。
【図１０】様々な実施形態による可動物体環境における標的マッピングの方法のフローチャートを示す。
【発明を実施するための形態】
【０００７】
本発明は、同様な参照符号が同様な要素を示す添付図面の図において限定する目的ではなく一例として示される。本開示における「１つの（ａｎ）」実施形態又は「一（ｏｎｅ）」実施形態又は「いくつかの（ｓｏｍｅ）」実施形態への参照は必ずしも同じ実施形態への参照ではなく、そしてこのような参照は少なくとも１つの実施形態を意味するということに注意すべきである。
【０００８】
本発明の以下の説明は可動物体を使用する標的マッピングを説明する。説明の簡潔性のために、無人航空機（ＵＡＶ）が可動物体の一例として概して使用される。他のタイプの可動物体が限定することなく使用され得るということが当業者には明らかになる。
【０００９】
いくつかの実施形態は、可動物体が測位センサ及び走査センサから収集されたデータを使用して標的環境をリアルタイムにマッピングすることを可能にする。代替実施態様は、１つ又は複数の可動物体により実行される１つ又は複数のデータ収集ミッションの完了に続いてマップを生成するために後処理を活用し得る。例えば、様々な実施形態は、複雑な標的環境をマッピングするための走査マッチング技術を利用し得る。いくつかの実施形態は、建設、測量、標的検査などの様々なアプリケーションのためのＬｉＤＡＲベースリアルタイムマッピングを提供するために使用され得る。標的のマップ表現へ後処理されるデータを収集するのではなく、マップはリアルタイムに構築され得、データが収集されるとマップの一バージョンがクライエント装置上に描画されることを可能にする。このようなライブ描画は「標的環境内の任意のエリアが、可動物体に電子的に結合された走査センサにより走査されなかったかどうか」をユーザが判断することを可能にし得る。加えて、マップの高密度バージョンが、マッピングミッション中に生成され、可動物体が戻るとダウンロードされ得る。様々な実施形態では、マッピングマネージャは、可動物体がそのマッピングミッションを行っている間にリアルタイムマッピングを行うために並列計算アーキテクチャを利用し得る。いくつかの実施形態では、マッピングデータは、標的環境のマップを描画するために様々なツールにより使用され得るＬｉＤＡＲデータ交換ファイル（ＬＡＳ）及び／又はさらなる処理、立案などのためにマッピングデータを使用し得るＬｉＤＡＲデータ交換ファイル（ＬＡＳ）として出力され得る。ＬＡＳ出力ファイル内に埋め込まれたメタデータがマップと様々な第三者ツールとの一体化を容易にし得る。様々な実施形態では、マップはユーザ嗜好に依存して様々なファイル形式で出力され得る。
【００１０】
いくつかの実施形態では、マッピングマネージャは、走査センサ（ＬｉＤＡＲセンサ、又は標的環境の高解像度走査を提供する他のセンサなどの）からマッピングデータをそして測位センサ（例えば全地球測位システム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）モジュール、リアルタイム運動力学（ＲＴＫ：ｒｅａｌ−ｔｉｍｅ  ｋｉｎｅｍａｔｉｃ）モジュール、慣性測定ユニット（ＩＭＵ：ｉｎｅｒｔｉａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｕｎｉｔ）モジュール又は他の測位センサ）から測位データを受信し得る。マッピングデータは、測位データを使用することにより地理学参照（ｇｅｏ−ｒｅｆｅｒｅｎｃｅ）され得、標的環境のマップを構築するために使用され得る。いくつかの実施形態は、マッピングデータを客観的に地理学参照し、様々な標的環境が環境複雑性にかかわらずマッピングされることを可能にする。
【００１１】
図１は様々な実施形態による可動物体環境１００における可動物体の例を示す。図１に示すように、可動物体環境１００におけるクライエント装置１１０は通信リンク１０６を介し可動物体１０４と通信し得る。可動物体１０４は無人航空機、無人車両、携帯装置、及び／又はロボットであり得る。クライエント装置１１０は携帯パーソナルコンピュータ装置、スマートフォン、リモート制御器、ウェアラブルコンピュータ、仮想現実／拡張現実システム、及び／又はパーソナルコンピュータであり得る。加えて、クライエント装置１１０は、リモート制御器１１１と、通信システム１２０Ｂを介しクライエント装置１１０と可動物体１０４との間の通信を扱う責任を負う通信システム１２０Ａとを含み得る。例えば、クライエント装置１１０と可動物体１０４（例えば無人航空機）との間の通信はアップリンク及びダウンリンク通信を含み得る。アップリンク通信は制御信号を送信するために使用され得、ダウンリンク通信は、媒体又はビデオストリーム、走査センサにより収集されたマッピングデータ、又は他のセンサにより収集された他のセンサデータを送信するために使用され得る。
【００１２】
様々な実施形態によれば、通信リンク１０６は、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、３Ｇ／４Ｇ、及び他の無線周波数技術などの様々な無線技術に基づくネットワーク（の一部）であり得る。さらに、通信リンク１０６は、インターネット技術などの他のコンピュータネットワーク技術、又は任意の他の有線又は無線ネットワーキング技術に基づき得る。いくつかの実施形態では、通信リンク１０６は非ネットワーク技術（ユニバーサルシリアルバス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）又はユニバーサル非同期送受信器（ＵＡＲＴ：ｕｎｉｖｅｒｓａｌ  ａｓｙｎｃｈｒｏｎｏｕｓ  ｒｅｃｅｉｖｅｒ−ｔｒａｎｓｍｉｔｔｅｒ）などの直接ポイント・ツー・ポイント接続を含む）であり得る。
【００１３】
様々な実施形態では、可動物体環境１００内の可動物体１０４は、搭載物アセンブリ１２２と、走査センサ１２４（例えばＬｉＤＡＲセンサ）などの搭載物とを含み得る。可動物体１０４は航空機として概して説明されるが、これは限定的であるように意図されていなく、任意の好適なタイプの可動物体が使用され得る。当業者は、航空機システムの文脈で本明細書において説明される実施形態のうちの任意のものが任意の好適な可動物体（例えばＵＡＶ）へ適用され得るということを理解するだろう。いくつかの例では、搭載物は搭載物アセンブリを必要とすることなく可動物体１０４上に設けられ得る。
【００１４】
様々な実施形態によれば、可動物体１０４は１つ又は複数の移動機構１１６（例えば推進機構）、感知システム１１８及び通信システム１２０Ｂを含み得る。移動機構１１６は、回転翼、プロペラ、翼、エンジン、モータ、車輪、車軸、磁石、ノズル、動物、又は人間のうちの１つ又は複数のものを含み得る。例えば、可動物体は１つ又は複数の推進機構を有し得る。移動機構はすべて同じタイプのものであり得る。代替的に、移動機構は異なるタイプの移動機構であり得る。移動機構１１６は、支持要素（例えば駆動軸）などの任意の好適な手段を使用して可動物体１０４上に取り付けられ得る（又は逆も同様）。移動機構１１６は、可動物体１０４の上部、下部、前部、後部、側部又は好適なそれらの組み合わせなど任意の好適な部分上に取り付けられ得る。
【００１５】
いくつかの実施形態では、移動機構１１６は、可動物体１０４が可動物体１０４のいかなる水平運動も必要とすること無く（例えば、滑走路を走行すること無く）表面から垂直方向に離陸又は表面上の垂直方向に着陸できるようにし得る。任意選択的に、移動機構１１６は、可動物体１０４が所定位置及び／又は配向で空中静止できるように動作可能であり得る。移動機構１１６のうちの１つ又は複数は、例えばクライエント装置１１０、コンピュータ装置１１２又は移動機構と通信する他のコンピュータ装置上で実行するアプリケーションにより他の移動機構とは独立に制御され得る。代替的に、移動機構１１６は同時に制御されるように構成され得る。例えば、可動物体１０４は、可動物体へ揚力及び／又は推力を与え得る複数の水平配向型回転翼（ｈｏｒｉｚｏｎｔａｌｌｙ  ｏｒｉｅｎｔｅｄ  ｒｏｔｏｒ）を有し得る。マルチ水平配向型回転翼は、垂直離陸、垂直着陸及び空中静止能力を可動物体１０４に与えるために作動され得る。いくつかの実施形態では、水平配向型回転翼の１つ又は複数が時計回り方向にスピンし得る一方で水平配向型回転翼の１つ又は複数は反時計回り方向にスピンし得る。例えば、時計回り回転翼の数は反時計回り回転翼の数に等しくてもよい。水平配向型回転翼のそれぞれの回転速度は、各回転翼により生成される揚力及び／又は推力を制御するために独立に変更され得、これにより可動物体１０４の空間的配置、速度、及び／又は加速度を調整する（例えば、並進の最大３つの自由度と回転の最大３つの自由度に関し）。本明細書でさらに論述されるように、飛行制御器１１４などの制御器は、可動物体１０４の移動を制御するために移動命令を移動機構１１６へ送信し得る。これらの移動命令はクライエント装置１１０、コンピュータ装置１１２又は他のエンティティから受信される指示に基づき得る及び／又はそれから導出され得る。
【００１６】
感知システム１１８は（例えば様々な程度の回転及び様々な程度の並進に関する）可動物体１０４の空間的配置、速度及び／又は加速度を感知し得る１つ又は複数のセンサを含み得る。１つ又は複数のセンサは、ＧＰＳセンサ、運動センサ、慣性センサ、近接センサ又は画像センサを含むセンサのうちの任意のものを含み得る。感知システム１１８により提供される感知データは、可動物体１０４の空間的配置、速度、及び／又は配向を制御するために使用され得る（例えば、好適な処理ユニット及び／又は制御モジュールを使用することにより）。代替的に、感知システム１１８は、可動物体を取り囲む環境に関するデータ（気象条件、潜在的障害物への近接度、地理的特徴の位置、人工構造の位置など）を提供するために使用され得る。
【００１７】
通信システム１２０Ｂは、通信リンク１０６及び通信システム１２０Ａを介したクライエント装置１１０との通信（上に論述したような様々な有線及び／又は無線技術を含み得る）を可能にする。通信システム１２０Ａ又は１２０Ｂは無線通信に好適な任意数の送信器、受信器及び／又は送受信器を含み得る。この通信はデータが一方向にだけに送信され得るように一方向通信であり得る。例えば、一方向通信は可動物体１０４だけがデータをクライエント装置１１０へ送信する（又は逆も同様）ことを含み得る。データは可動物体の通信システム１２０Ｂの１つ又は複数の送信器からクライエント装置の通信システム１２０Ａの１つ又は複数の受信器へ送信され得る（又は逆も同様）。代替的に、通信はデータが可動物体１０４とクライエント装置１１０との間で両方向に送信され得るように双方向通信であり得る。双方向通信は、データを可動物体１０４の通信システム１２０Ｂの１つ又は複数の送信器からクライエント装置１１０の通信システム１２０Ａの１つ又は複数の受信器へ送信することと、データをクライエント装置１１０の通信システム１２０Ａの１つ又は複数の送信器から可動物体１０４の通信システム１２０Ｂの１つ又は複数の受信器へ送信することとを含み得る。
【００１８】
いくつかの実施形態では、クライエント装置１１０は、コンピュータ装置１１２上に設置されたマッピングマネージャ１２６と通信リンク１０６のトランスペアレント伝送チャネル上で通信し得る。トランスペアレント伝送チャネルは可動物体の飛行制御器を介し提供され得、データが変化することなく（例えば「トランスペアレントに」）コンピュータ装置１１２上のマッピングマネージャ又は他のアプリケーションへ渡ることを可能にする。いくつかの実施形態では、マッピングマネージャ１２６は、ソフトウェア開発キット（ＳＤＫ）、アプリケーションプログラムインターフェース（ＡＰＩ：ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）、又は可動物体、コンピュータ装置、走査センサ１２４などにより利用可能にされる他のインターフェースを利用し得る。様々な実施形態では、マッピングマネージャは、可動物体１０４上の１つ又は複数のプロセッサ（例えば飛行制御器１１４又は他のプロセッサ）、コンピュータ装置１１２、リモート制御器１１１、クライエント装置１１０、又は可動物体１０４と通信する他のコンピュータ装置により実装され得る。いくつかの実施形態では、マッピングマネージャ１２６は、クライエント装置１１０、コンピュータ装置１１２、又は可動物体１０４と通信する他のコンピュータ装置上で実行するアプリケーションとして実装され得る。
【００１９】
いくつかの実施形態では、クライエント装置１１０又はコンピュータ装置１１２上で実行するアプリケーションは、制御データを可動物体１０４、搭載物アセンブリ１２２及び搭載物１２４のうちの１つ又は複数に提供し、可動物体１０４、搭載物アセンブリ１２２及び搭載物１２４のうちの１つ又は複数から情報（例えば、可動物体、搭載物アセンブリ又は搭載物の位置及び／又は運動情報、搭載物カメラにより捕捉された画像データなどの搭載物により感知されるデータ又はＬｉＤＡＲセンサにより捕捉されるマッピングデータ、及び搭載物カメラにより捕捉された画像データから生成されるデータ又はＬｉＤＡＲセンサにより捕捉されたマッピングデータから生成されるＬｉＤＡＲデータ）を受信し得る。
【００２０】
いくつかの実施形態では、制御データは、可動物体の位置及び／又は配向の修正（例えば移動機構１１６の制御を介し）又は可動物体に対する搭載物の移動（例えば搭載物アセンブリ１２２の制御を介し）を生じ得る。アプリケーションからの制御データは、走査センサ１２４、カメラ又は他の画像捕捉装置の動作の制御などの搭載物の制御（例えば、静止画又は動画を撮ること、ズームイン又はズームアウトすること、ターンオン又はオフすること、撮像モードを切り替えること、画像解像度を変更すること、焦点を変更すること、被写界深度を変更すること、露光時間を変更すること、視角又は視野を変更すること）を生じ得る。
【００２１】
いくつかの例では、可動物体、搭載物アセンブリ及び／又は搭載物からの通信は、１つ又は複数のセンサから取得された情報（例えば感知システム１１８又は走査センサ１２４又は他の搭載物の情報）及び／又は感知情報に基づき生成されたデータを含み得る。通信は１つ又は複数の異なるタイプのセンサ（例えばＧＰＳセンサ、運動センサ、慣性センサ、近接センサ又は画像センサ）から取得された感知情報を含み得る。このような情報は可動物体、搭載物アセンブリ及び／又は搭載物の位置（例えば場所、配向）、移動又は加速度に関係し得る。搭載物からのこのような情報は搭載物により捕捉されたデータ又は搭載物の感知状態を含み得る。
【００２２】
いくつかの実施形態では、コンピュータ装置１１２が可動物体へ追加され得る。コンピュータ装置は、可動物体により給電され得、ＣＰＵ、ＧＰＵ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、システムオンチップ（ＳｏＣ：ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）又は他のプロセッサなどの１つ又は複数のプロセッサを含み得る。コンピュータ装置は、Ｗｉｎｄｏｗｓ１０（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｕｎｉｘ（登録商標）ベースオペレーティングシステム、又は他のＯＳなどのオペレーティングシステム（ＯＳ）を含み得る。ミッション処理は飛行制御器１１４からコンピュータ装置１１２へオフロードされ得る。様々な実施形態では、マッピングマネージャ１２６はコンピュータ装置１１２、クライエント装置１１０、搭載物１２４、リモートサーバ（図示せず）又は他のコンピュータ装置上で実行し得る。
【００２３】
いくつかの実施形態では、マッピングマネージャ１２６は、建設、測量、標的検査などの様々なアプリケーションのためのＬｉＤＡＲベースリアルタイムマッピングを提供するために使用され得る。標的のマップ表現へ後処理されるデータを収集するのではなく、マップはリアルタイムに構築され得、データが収集されるとマップの一バージョンがクライエント装置１１０上に描画されることを可能にする。このようなライブ描画は、標的環境内の任意のエリアが走査センサ１２４により走査されなかったかどうかをユーザが判断することを可能にし得る。加えて、可動物体が戻るとマップの別のバージョンがダウンロードされ使用され得る。様々な実施形態では、マッピングマネージャ１２６は、リアルタイムマッピングを行うためにコンピュータ装置１１２内の並列計算アーキテクチャを利用し得る。いくつかの実施形態では、マッピングマネージャ１２６は、密マップをクライエント装置１１０上で描画される粗マップに変換するためにデータ圧縮を行い得る。密マップを粗マップへ圧縮する目的で、マッピングマネージャ１２６は、可動物体１０４からクライエント装置１１０への送信に必要なデータサイズを低減するために使用され得、したがって、データ送信時間及び帯域が効率的リアルタイムマップ描画のために節約される。このような実施形態では、マップのライブ描画は、標的環境を走査することから戻ると、可動物体から取得されたバージョン（すなわち密マップ）と比較してマップのより低い分解能又は圧縮データバージョン（すなわち粗マップ）であり得る。いくつかの実施形態では、マップは、標的環境のマップを描画するために様々なツールにより使用され得るＬｉＤＡＲデータ交換ファイル（ＬＡＳ）として及び／又はさらなる処理、立案などのためにマッピングデータを使用し得るＬｉＤＡＲデータ交換ファイル（ＬＡＳ）として出力され得る。ＬＡＳ出力ファイル内に埋め込まれたメタデータがマップと様々な第三者ツールとの一体化を容易にし得る。様々な実施形態では、マップはユーザ嗜好に依存して様々なファイル形式で出力され得る。
【００２４】
マッピングマネージャ１２６は走査センサ１２４からマッピングデータを受信し得る。論述したように、走査センサ１２４は、ＬｉＤＡＲセンサであってもよいし、標的環境の高解像度走査を提供する他のセンサであってもよい。マッピングマネージャ１２６はまた、測位センサ（例えばＧＰＳモジュール、ＲＴＫモジュール又は他の測位センサ）から測位データを受信し得る。いくつかの実施形態では、測位センサは、機能モジュール１０８、感知システム１１８、又は可動物体の測位データを提供する可動物体１０４に結合された別個のモジュールの一部であり得る。マッピングデータは、測位データを使用することにより地理学参照され得、標的環境のマップを構築するために使用され得る。３Ｄマッピングの従来方法は走査マッチング（ｓｃａｎ−ｍａｔｃｈｉｎｇ）の助けとなる複雑な環境に依存してきた。走査マッチングを使用してマップを作成するために複雑な環境を必要とする従来のマッピングシステムとは異なり、いくつかの実施形態はマッピングデータを客観的に地理学参照する。これは、環境複雑性にかかわらず様々な標的環境がマッピングされ得るようにする。
【００２５】
可動物体アーキテクチャの追加詳細が図２に関して以下に説明される。
【００２６】
図２は様々な実施形態による可動物体環境内の可動物体アーキテクチャの例２００を示す。図２に示すように、可動物体１０４はコンピュータ装置１１２及び飛行制御器１１４を含み得る。コンピュータ装置１１２は、イーサーネット又はユニバーサルシリアルバス（ＵＳＢ）などの高帯域接続を介し走査センサ１２４へ接続し得る。コンピュータ装置１１２はまた、ユニバーサル非同期送受信器（ＵＡＲＴ）などの低帯域接続上で測位センサ２０２に接続し得る。論述したように、測位センサ２０２は別個のモジュールとして含まれてもよいし（図２に示すように）、機能モジュール１０８又は感知システム１１８の一部として含まれてもよい。測位センサ２０２は、４Ｇ、５Ｇ又は他のセルラ又はモバイルネットワーク無線などの無線機２０４を含み得る。無線機２０４は、ＧＰＳモジュール２０８により収集された測位データを強化するためにＲＴＫモジュール２０６により使用され得る。ＧＰＳモジュールが図２に示されるが、ＧＬＯＳＮＡＳＳ、Ｇａｌｉｌｅｏ、ＢｅｉＤｏｕなどの任意の全地球航法衛星サービスが使用され得る。ＲＴＫモジュール２０６は、無線機２０４を使用して基準信号を基準局から受信し、補正をＧＰＳモジュール２０８により提供される測位データへ与え得る。加えて、ＧＰＳモジュール２０８は１パルス／秒（１ＰＰＳ）信号などのクロック信号を走査センサ１２４へ出力し得る。これは、走査センサ及びＧＰＳセンサが同期タイムスタンプを同じクロック信号を使用してそれらの収集されたデータへ印加することを可能にする。
【００２７】
様々な実施形態では、コンピュータ装置１１２は１つ又は複数のカメラなどの１つ又は複数の高帯域部品、立体視モジュール、又は搭載物と接続し得る。コンピュータ装置１１２は、通信システム１２０Ｂを介しデータをリモート制御器に対し送受信するためにＵＡＲＴ及び／又はＵＳＢを介し飛行制御器１１４へ接続し得る。様々な実施形態では、コンピュータ装置１１２は１つ又は複数のＣＰＵ、ＧＰＵ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、システムオンチップ（ＳｏＣ）又は他のプロセッサを含み得る。
【００２８】
飛行制御器１１４は磁力計２１０、気圧計２１２及び慣性測定ユニット（ＩＭＵ）２１４などの様々な機能モジュール１０８へ接続し得る。いくつかの実施形態では、通信システム１２０Ｂは、飛行制御器１１４への代わりに又はそれに加えてコンピュータ装置１１２へ接続し得る。いくつかの実施形態では、１つ又は複数の機能モジュール１０８と測位センサ２０２とにより収集されたセンサデータは飛行制御器１１４からコンピュータ装置１１２へ渡され得る。
【００２９】
いくつかの実施形態では、飛行制御器１１４とコンピュータ装置１１２は別個の装置（例えば別個の回路盤上の別個のプロセッサ）として実装され得る。代替的に、飛行制御器１１４及びコンピュータ装置１１２のうちの１つ又は複数はＳｏＣなどの単一装置として実装され得る。様々な実施形態では、コンピュータ装置１１２は可動物体から着脱可能であり得る。
【００３０】
図３は様々な実施形態による可動物体環境内のマッピングマネージャ１２６の例３００を示す。図３に示すように、マッピングマネージャ１２６はコンピュータ装置１１２の１つ又は複数のプロセッサ３０２上で実行し得る。１つ又は複数のプロセッサ３０２は、ＣＰＵ、ＧＰＵ、ＦＧＰＡ、ＳｏＣ又は他のプロセッサを含んでもよいし、コンピュータ装置１１２により実装される並列計算アーキテクチャの一部であってもよい。マッピングマネージャ１２６はセンサインターフェース３０３、データ生成モジュール３０８及びマップ生成器３１６を含み得る。
【００３１】
センサインターフェース３０３は走査センサインターフェース３０４及び測位センサインターフェース３０６を含み得る。センサインターフェース３０３はハードウェア及び／又はソフトウェアインターフェースを含み得る。走査センサインターフェース３０４は走査センサ（例えばＬｉＤＡＲ又は他の走査センサ）からデータを受信し得、測位センサインターフェース３０６は測位センサ（例えばＧＰＳセンサ、ＲＴＫセンサ、ＩＭＵセンサ、及び／又は他の測位センサ又はそれらの組み合せ）からデータを受信し得る。様々な実施形態では、走査センサはマッピングデータをポイントクラウドフォーマットで生成し得る。マッピングデータのポイントクラウドは標的環境の三次元表現であり得る。いくつかの実施形態では、マッピングデータのポイントクラウドは行列表現に変換され得る。測位データは、可動物体のＧＰＳ座標を含み得、いくつかの実施形態では、各ＧＰＳ座標に対応する可動物体に関連するロール、ピッチ及びヨー値を含み得る。ロール、ピッチ及びヨー値は慣性測定ユニット（ＩＭＵ）などの測位センサ又は他のセンサから取得され得る。論述したように、測位データは、基準局から受信される補正信号に基づきＧＰＳ座標を補正するＲＴＫモジュールから取得され得る。いくつかの実施形態では、ＲＴＫモジュールはそれぞれの出力座標に関連する分散値を生成し得る。分散値は対応する測位データの精度を表し得る。例えば、可動物体が鋭い動きを行っていれば、分散値は上昇し低精度の測位データが収集されたということを指示し得る。分散値はまた大気条件に依存して変化し得、可動物体により測定される様々な精度はデータが収集されたときに存在する特定条件に依存することになる。
【００３２】
測位センサ及び走査センサはクロック回路を共有し得る。例えば、測位センサは、クロック回路を含み、クロック信号を走査センサへ出力し得る。いくつかの実施形態では、別個のクロック回路がクロック信号を走査センサと測位センサとの両方へ出力し得る。したがって、測位データとマッピングデータは共有クロック信号を使用してタイムスタンプされ得る。
【００３３】
いくつかの実施形態では、測位センサと走査センサは異なる遅延を有するデータを出力し得る。例えば、測位センサと走査センサはデータを生成することを同時に開始しなくてもよい。したがって、測位データ及び／又はマッピングデータはこの遅延を考慮するためにバッファされ得る。いくつかの実施形態では、バッファサイズは各センサの出力間の遅延に基づき選択され得る。いくつかの実施形態では、マッピングマネージャは、測位センサ及び走査センサからデータを受信し、共有クロック信号に対してセンサデータにより共有されるタイムスタンプを使用して同期データを出力し得る。これは、測位データ及びマッピングデータがさらなる処理の前に同期されることを可能にする。加えて、各センサから取得されるデータの周波数は異なり得る。例えば、走査センサは何百ｋＨｚの範囲内のデータを生成し得る一方で測位センサは何百Ｈｚの範囲内のデータを生成し得る。したがって、マッピングデータの各点が対応測位データを有するということを保証するために、アップサンプリングモジュール３１０は、より高い周波数データと整合するためにより低い周波数データを補間し得る。例えば、測位データが１００Ｈｚにおいて測位センサにより生成され、マッピングデータは１００ｋＨｚにおいて走査センサ（例えばＬｉＤＡＲセンサ）により生成されるということを仮定すると、測位データは１００Ｈｚから１００ｋＨｚへアップサンプルされ得る。様々なアップサンプリング技術が測位データをアップサンプルするために使用され得る。例えば、最小二乗法などの線形フィットアルゴリズムが使用され得る。いくつかの実施形態では、非線形フィットアルゴリズムが測位データをアップサンプルするために使用され得る。加えて、測位データのロール、ピッチ、ヨー値もマッピングデータの周波数と整合するために補間され得る。いくつかの実施形態では、ロール、ピッチ及びヨー値はマッピングデータ内の点の数と整合するために球面線形補間（ＳＬＥＲＰ）され得る。タイムスタンプは補間された測位データと整合するために同様に補間され得る。
【００３４】
測位データがアップサンプルされ、アップサンプリングモジュール３１０によりマッピングデータと同期されると、地理学参照モジュール３１２が、マッピングデータの行列表現をそれが収集された基準系（又は基準座標系）（例えば走査器基準系又は走査器基準座標系）から所望基準系（又は所望基準座標系）に変換し得る。例えば、測位データは走査器基準フレームから北−東−下（ＮＥＤ：ｎｏｒｔｈ−ｅａｓｔ−ｄｏｗｎ）基準系（又はＮＥＤ座標系）に変換され得る。測位データが変換される基準系は生成されるマップのアプリケーションに依存して変化し得る。例えば、マップが測量時に使用されれば、マップはＮＥＤ基準系に変換され得る。別の例では、飛行シミュレーションなどの運動を描画するために使用されれば、マップはＦｌｉｇｈｔＧｅａｒ座標系に変換され得る。マップの他のアプリケーションは測位データの異なる基準系又は異なる座標系への変換を行い得る。
【００３５】
マッピングデータのポイントクラウド内の各点は、走査センサに対して判断される走査器基準系内の位置に関連付けられる。次に、測位センサにより生成される可動物体の測位データは、走査器基準系におけるこの位置をＧＰＳ座標系などの世界座標系における出力基準系に変換するために使用され得る。例えば、世界座標系における走査センサの位置は測位データに基づき知られる。いくつかの実施形態では、測位センサと走査モジュールとはオフセットされ得る（例えば可動物体上の異なる位置に配置されるおかげで）。このような実施形態では、このオフセットを織り込むさらなる補正が、走査器基準系から出力基準系に変換するために使用され得る（例えば、測位データ内の各測定された位置が測位センサと走査センサとの間のオフセットを使用して補正され得る）。マッピングデータのポイントクラウド内の点毎に、対応測位データはタイムスタンプを使用することにより識別され得る。次に、この点は新しい基準系に変換され得る。いくつかの実施形態では、走査器基準系は測位データからの補間されたロール、ピッチ及びヨー値を使用することにより水平方向基準系に変換され得る。水平方向基準系に変換されると、マッピングデータはさらにデカルト系又は他の出力基準系に変換され得る。各点が変換されると、結果は地理学参照されたポイントクラウドであり、ポイントクラウド内の各点は今や世界座標系へ参照される。いくつかの実施形態では、地理学参照ポイントクラウドは、地理学参照ポイントクラウドから外れ値データを除去するために外れ値除去を行う前にマップ生成器３１６へ提供され得る。
【００３６】
地理学参照ポイントクラウドが生成された後、外れ値除去モジュール３１４は地理学参照ポイントクラウドから外れ値データを除去し得る。いくつかの実施形態では、地理学参照ポイントクラウドはダウンサンプルされデータ内の外れ値の数を低減し得る。このデータのダウンサンプリングはボクセルを使用して行われ得る。いくつかの実施形態では、各ボクセル内の点は平均化され得、１つ又は複数の平均化された点がボクセル毎に出力され得る。したがって、外れ値点は各ボクセル内の点を平均化する過程でデータセットから除去されることになる。様々な実施形態では、ボクセルの分解能（例えば各ボクセルのサイズ）が任意に定義され得る。これは、粗及び密ダウンサンプルポイントクラウドが生成されることを可能にする。分解能は、例えば利用可能コンピュータ資源、ユーザ嗜好、デフォルト値、又は他のアプリケーション固有情報に基づきユーザにより又はマッピングマネージャにより判断され得る。例えば、低分解能（例えば、大きなボクセルサイズ）が、クライエント装置又はモバイル装置上での視覚化のために粗ダウンサンプル済みポイントクラウドを生成するために使用され得る。加えて又は代替的に、外れ値は統計的に除去され得る。例えば、各点からその最近隣までの距離が判断され統計的に解析され得る。点からその最近隣までの距離が閾値（例えばポイントクラウド内の最近隣距離の標準偏差）より大きければその点はポイントクラウドから除去され得る。いくつかの実施形態では、外れ値除去技術はユーザにより選択可能であってもよいしマッピングマネージャにより自動的に選択されてもよい。いくつかの実施形態では、外れ値除去は無効にされ得る。
【００３７】
論述したように、ポイントクラウドデータは標的環境の三次元表現であり得る。この３Ｄ表現はボクセル（例えば３Ｄ画素）に分割され得る。
【００３８】
統計的外れ値除去後、結果ポイントクラウドデータはマップ生成器３１６へ提供され得る。いくつかの実施形態では、マップ生成器３１６は密マップ生成器３１８及び／又は粗マップ生成器３２０を含み得る。このような実施形態では、密マップ生成器３１８は外れ値除去の前に受信されたポイントクラウドデータから高密度マップを生成し得、粗マップ生成器３２０は、外れ値除去後に受信された粗ダウンサンプルポイントクラウドデータから低密度マップを生成し得る。他の実施形態では、密マップ生成器３１８及び粗マップ生成器３２０は、外れ値除去後に両方により受信されたポイントクラウドから高密度マップと低密度マップとを別々に生成し得る。このような実施形態では、各マップ生成器は同じ処理を使用することにより出力マップを生成し得るが、高密度又は低密度マップを生成するためにボクセルのサイズを変更し得る。いくつかの実施形態では、低密度マップは、マッピングデータのリアルタイム視覚化を提供するためにクライエント装置又はモバイル装置により使用され得る。高密度マップは、ＬＩＤＡＲデータ交換ファイル（ＬＡＳ）として、又は様々なマッピング、立案、解析又は他のツールと共に使用される他のファイルタイプとして出力され得る。
【００３９】
マップ生成器はマップ内の点の位置の確率的推定を行うためにポイントクラウドデータを使用し得る。例えば、マップ生成器は出力マップを生成するためにＯｃｔｏＭａｐなどの３Ｄマッピングライブラリを使用し得る。マップ生成器はポイントクラウドデータをボクセルに分割し得る。ボクセル毎に、マップ生成器は、いくつの点がボクセル内にあるかを判断し得、点の数と各点に関連する分散とに基づき、点が当該ボクセル内にある確率を判断し得る。確率は占有閾値と比較され得、確率が占有閾値より大きければ、点は出力マップ内で当該ボクセルで表され得る。いくつかの実施形態では、所与のボクセルが占有される確率は次のように表され得る。
【数１】
2022502784.tif 000003
【００４０】
占有されているノードｎの確率Ｐ（ｎ│ｚ１：ｔ）は、現在測定結果ｚ１、事前確率Ｐ（ｎ）、及び事後推定Ｐ（ｎ│ｚ１：ｔ−１）の関数である。加えて、Ｐ（ｎ│ｚｔ）は、測定結果ｚｔを所与としてボクセルｎが占有される確率を表す。この確率は、以下の式により表されるように、測位センサにより測定される各点の分散を含むように拡張され得る。
【数２】
2022502784.tif 000004
【００４１】
上式では、Ｐ（ｎ）はボクセルｎが占有される全確率を表す。上式内の１／２の使用は、確率が１／２〜１の範囲へマッピングされるように、実装時固有である。この範囲は、使用時の特定実装に依存して変化し得る。上式では、全確率はｘ、ｙ及びｚ次元に関して計算される確率の積である。各次元における確率は当該次元における各点の平均μと所与の次元における各測定結果の分散σ２とに基づき判断され得、ｘ、ｙ及びｚは所与点の座標値に対応する。所与ボクセル内の平均点近くの多数の点が確率を増加し得る一方で、同ボクセル内のより拡散した集合の点は確率を低下させ得る。同様に、データに関連する大きな分散（例えば、低精度位置データが収集されたということを指示する）が確率を低下させ得る一方で、より低い分散は確率を増加し得る。Ｐ（ｎ，μ，σ２）は、当該ボクセル内の点の平均及び分散値を所与としてボクセルのガウス分布を表す。
【００４２】
ボクセルが占有される全確率が閾値占有値より大きければ、点が当該ボクセルへ追加され得る。いくつかの実施形態では、当該ボクセル内の点のすべてが平均化され得、結果平均座標は当該ボクセル内の点の位置として使用され得る。これは、占有されたボクセルの中心点を点として使用することなどにより、ボクセルの分解能に依存して歪んだ結果を生じ得る別の方法を越えて結果マップの精度を改善する。様々な実施形態では、占有閾値は利用可能な処理資源の量に基づき及び／又は所与のアプリケーションのデータ内の受容可能量の雑音に基づき設定され得る。例えば、占有閾値は７０％のデフォルト値へ設定され得る。より高い閾値が雑音を低減するために設定され得る。加えて、占有閾値は収集されるデータの品質に依存して設定され得る。例えば、一組の条件下で収集されたデータは高品質（例えば低分散）であり得、より低い占有閾値が設定され得る一方で、より低い品質データはより高い占有閾値を必要とし得る。
【００４３】
次に、各占有されたボクセル内に１つの点を有する結果マップデータがＬＡＳファイル又は他のファイル形式として出力され得る。いくつかの実施形態では、地理学参照されたポイントクラウドデータは追加処理（例えば外れ値除去）無しに出力され得る。いくつかの実施形態では、ポイントクラウドデータ内の各点はまた強度値に関連付けられ得る。強度値は走査される物体の様々な特徴（基準面の上の高度、材料組成物など）を表し得る。出力マップ内の各点の強度値は、走査センサ（例えばＬｉＤＡＲセンサ）により収集されるマッピングデータ内の点毎に測定された強度値の平均であり得る。
【００４４】
図４Ａ、４Ｂは様々な実施形態による階層的データ構造の例を示す。上に論述したように、そして図４Ａに示すように、３Ｄ環境４００を表すデータが複数のボクセルに分割され得る。図４Ａに示すように、標的環境は８つのボクセルに分割され得、各ボクセルは８つのサブボクセルに分割され、各サブボクセルは８つのさらに小さなサブボクセルに分割される。各ボクセルは３Ｄ環境の異なる容積部分を表し得る。ボクセルは最小ボクセルサイズに達するまで細分化され得る。結果３Ｄ環境は階層的データ構造４０２として表され得、データ構造のルートは３Ｄ環境全体を表し、各子ノードは３Ｄ環境内の異なる階層内の異なるボクセルを表す。
【００４５】
図５Ａ、５Ｂは様々な実施形態によるマッピングデータ内の外れ値除去の例を示す。図５Ａに示すように、走査される際、標的物体は、同物体の様々な部分（標的環境内の標的物体の面（面５０１など）、縁（縁５０３など）及び他の部分を含む）上に群がる複数の点として表され得る。描写の簡潔性のために、これらの面、縁などは太線で示される。データの様々な領域５００Ａ〜５００Ｆ内には、追加の外れ値点が存在する。これは、図５Ａに示すように空き空間の領域内で最も顕著かもしれない。これらの点は、標的物体の表面及び縁のより密に詰められた点と比較して分散している。外れ値除去は、データ内のこれらの点を無くす又はその数を低減するために使用され得る。上に論述したように、地理学参照されたポイントクラウドデータはダウンサンプルされ得、データ内の外れ値の数を低減する。追加的に又はその代わりに、外れ値は統計的に除去され得る。例えば、各点からその最近隣までの距離が判断され統計的に解析され得る。点からその最近隣までの距離が閾値（例えばポイントクラウド内の最近隣距離の標準偏差）より大きければその点はポイントクラウドから除去され得る。図５Ｂに示すように、外れ値除去に続いて、ポイントクラウドデータ５０２Ａ〜５０２Ｆの領域が低減され、よりクリーンな３Ｄマップを提供する。
【００４６】
図６は様々な実施形態によるマッピングデータ内の強度値の例６００を示す。図６に示すように、強度値の一例は基準面の上の高度を表すことであり得る。この例では、様々な高度範囲は、グレースケール採色を使用することによりここで描写するように、異なる強度値６０２〜６０６が割り当てられ得る。様々な実施形態では、強度は様々な値又は様々な範囲の値を表すために様々な色を使用して表され得る。加えて、強度は走査される様々な材料を表すために使用され得る。例えば、鋼及びコンクリートは、走査センサにより生成された入射光を異なるやり方で吸収及び反射することになり、走査センサが使用時に様々な材料を識別することを可能にする。各材料は、各点に関連する様々な強度値として符号化され、出力マップ内で様々な色により表され得る。加えて、図６に示す例は様々な高度範囲を表す３つのグレースケール色を示すが、様々な実施形態では、色の連続的勾配が基準面の上の高度値の連続的変化を表すために使用され得る。
【００４７】
図７は様々な実施形態によるソフトウェア開発環境において可動物体インターフェースを支援する例を示す。図７に示すように、可動物体インターフェース７０３は、ソフトウェア開発キット（ＳＤＫ）環境などのソフトウェア開発環境７００内の可動物体７０１へのアクセスを提供するために使用され得る。いくつかの実施形態では、可動物体インターフェース７０３は、マッピングマネージャにより生成されるリアルタイムマップとユーザ入力を受信するための他のインターフェース部品とを描画し得る。リアルタイムマップは、可動物体と通信するクライエント装置又は他のコンピュータ装置のディスプレイ上に描画され得る。本明細書で使用されるように、ＳＤＫは、可動物体７０１に結合されるオンボード環境上に実装されるオンボードＳＤＫであり得る。ＳＤＫはまた、クライエント装置又はモバイル装置に結合されるオフボード環境上で実装されるモバイルＳＤＫであり得る。上に論述したように、マッピングマネージャは、本明細書に説明される可動物体７０１に結合されたオンボードＳＤＫ、又はクライエント装置に結合されたモバイルＳＤＫ、又はアプリケーションがリアルタイムマッピングを行うことを可能にするモバイル装置を使用して実装され得る。
【００４８】
さらに、可動物体７０１は様々な機能モジュールＡ〜Ｃ（７１１〜７１３）を含み得る、可動物体インターフェース７０３は様々なインターフェース部品Ａ〜Ｃ（７３１〜７３３）を含み得る。可動物体インターフェース７０３内の各前記インターフェース部品Ａ〜Ｃ（７３１〜７３３）は可動物体７０１内のモジュールＡ〜Ｃ（７１１〜７１３）に対応する。いくつかの実施形態では、インターフェース部品は、可動物体と通信するクライエント装置又は他のコンピュータ装置のディスプレイのユーザインターフェース上に描画され得る。このような例では、描画されるインターフェース部品は、可動物体の対応機能モジュールを制御するためのユーザ入力／指示を受信するための選択可能命令ボタンを含み得る。
【００４９】
様々な実施形態によれば、可動物体インターフェース７０３は、アプリケーションと可動物体７０１との間の分散コンピュータモデルを支援するための１つ又は複数のコールバック機能を提供し得る。
【００５０】
コールバック機能は、可動物体７０１が命令を受信したかどうかを確認するためのアプリケーションにより使用され得る。また、コールバック機能は実行結果を受信するためのアプリケーションにより使用され得る。したがって、アプリケーションと可動物体７０１はたとえ空間及び論理において分離されていても相互作用し得る。
【００５１】
図７に示すように、インターフェース部品Ａ〜Ｃ（７３１〜７３３）はリスナＡ〜Ｃ（７４１〜７４３）に関連付けられ得る。リスナＡ〜Ｃ（７４１〜７４３）は、インターフェース部品Ａ〜Ｃ（７３１〜７３３）に、関連モジュールから情報を受信するための対応コールバック機能を使用するように通知し得る。
【００５２】
加えて、可動物体インターフェース７０３のデータ７２０を作成するデータマネージャ７０２は可動物体７０１の関連機能を分離及びパッケージ化し得る。可動物体７０１とクライエント装置又はモバイル装置との間の通信を介し可動物体インターフェース７０３へ伝達されるデータ７２０を作成するデータマネージャ７０２はオンボードであり得る（すなわち、可動物体７０１に結合される又はその上に配置される）。可動物体又はクライエント装置内の通信を介し可動物体インターフェース７０３のデータ７２０を作成するデータマネージャ７０２はオフボードであり得る（すなわちクライエント装置又は可動物体に結合される又はその上に配置される）。また、データマネージャ７０２は、アプリケーションと可動物体７０１との間のデータ交換を管理するために使用され得る。したがって、アプリケーション開発者は複雑なデータ交換過程に関与する必要はない。いくつかの実施形態では、マッピングマネージャ１２６はデータマネージャ７０２の１つの実施形態であり得る。このような実施形態では、マッピングマネージャはマッピングデータを管理する（マッピングデータ及び測位データを使用してマップを生成することと、デフォルト設定又はユーザ選択に基づきディスプレイのための生成済みマップを描画することとを含む）ために使用される。
【００５３】
例えば、オンボード又はモバイルＳＤＫは、インスタントメッセージを伝達するための及び可動物体から実行結果を受信するための一連のコールバック機能を提供し得る。オンボード又はモバイルＳＤＫは、情報交換が安定しており完了されたということを確実にするためにコールバック機能のライフサイクルを構成し得る。例えば、オンボード又はモバイルＳＤＫは可動物体とスマートフォン上のアプリケーションとの間の接続を確立し得る（例えば、Ａｎｄｒｏｉｄ（登録商標）システム又はｉＯＳシステムを使用して）。スマートフォンシステムのライフサイクルに従って、コールバック機能（可動物体から情報を受信するなど）は、スマートフォンシステム内のパターンを活用し、スマートフォンシステムのライフサイクルにおける様々な段階に従ってステートメントを更新し得る。
【００５４】
図８は様々な実施形態による可動物体インターフェースの例を示す。図８に示すように、可動物体インターフェース８０３は、可動物体８０１の様々な部品のステータスを表すクライエント装置又は他のコンピュータ装置のディスプレイ上に描画され得る。したがって、可動物体環境８００内のアプリケーション（例えばアプリ８０４〜８０６）は可動物体インターフェース８０３を介し可動物体８０１へアクセスしそれを制御し得る。論述したように、これらのアプリは検査アプリ８０４、視聴アプリ８０５及び較正アプリ８０６を含み得る。
【００５５】
例えば、可動物体８０１はカメラ８１１、電池８１２、ジンバル８１３及び飛行制御器８１４などの様々なモジュールを含み得る。
【００５６】
これに対応して、可動物体インターフェース８０３は、アプリ８０４〜８０６を使用する目的でユーザ入力／指示を受信するためにコンピュータ装置又は他のコンピュータ装置上に描画されるカメラ部品８２１、電池部品８２２、ジンバル部品８２３、飛行制御器部品８２４を含み得る。
【００５７】
加えて、可動物体インターフェース８０３は飛行制御器部品８２４に関連する地上局部品８２６を含み得る。地上局部品は、ハイレベル特権を必要とし得る１つ又は複数の飛行制御操作を行うように動作する。
【００５８】
図９は様々な実施形態によるソフトウェア開発キット（ＳＤＫ）内の可動物体の部品の例を示す。ＳＤＫ９００は、オンボードマッピングマネージャ上に実装されるオンボードＳＤＫ又はクライエント装置又はモバイル装置上に位置するマッピングマネージャ上に実装されるモバイルＳＤＫであり得る。ＳＤＫ９００は、上述のマッピングマネージャのすべて又は一部に対応し得、スタンドアロンアプリケーションとしてマッピングマネージャを実装するために使用され得る。図９に示すように、ＳＤＫ９００内のドローンクラス９０１は可動物体（例えばドローン）の他の部品９０２〜９０７の集合である。他の部品９０２〜９０７へアクセスできるドローンクラス９０１は情報を他の部品９０２〜９０７と交換し他の部品９０２〜９０７を制御し得る。
【００５９】
様々な実施形態によれば、アプリケーションはドローンクラス９０１の１つのインスタンスだけへアクセス可能かもしれない。代替的に、ドローンクラス９０１の複数のインスタンスがアプリケーション内に存在し得る。
【００６０】
ＳＤＫでは、アプリケーションは制御命令を可動物体へアップロードするためにドローンクラス９０１のインスタンスへ接続し得る。例えば、ＳＤＫは可動物体への接続を確立するための機能を含み得る。また、ＳＤＫは端接続機能を使用して可動物体への接続を切り離し得る。可動物体へ接続した後、開発者は他のクラス（例えばカメラクラス９０２、電池クラス９０３、ジンバルクラス９０４及び飛行制御器クラス９０５）へアクセスすることができる。次に、ドローンクラス９０１は、可動物体の特定機能（例えば可動物体の振る舞いを制御する及び／又は移動を制限するために飛行制御器により使用され得るアクセスデータを提供する）を呼び出すために使用され得る。
【００６１】
様々な実施形態によれば、可動物体の電源を制御するためのアプリケーションは電池クラス９０３を使用し得る。また、様々な飛行タスクのスケジュールを立案及び試験するためのアプリケーションは電池クラス９０３を使用し得る。電池は可動物体内の最も制約された要素の１つであるので、アプリケーションは、可動物体の安全性のためだけでなく可動物体が指定タスクを終了し得るということを確実にするために電池のステータスを真剣に考慮し得る。例えば、電池クラス９０３は、電池レベルが低ければ可動物体がタスクを終了し即座にホームへ戻り得るように構成され得る。例えば、可動物体が、閾値レベル未満である電池レベルを有すると判断されれば、電池クラスは可動物体に電力節約モードを入力させ得る。電力節約モードでは、電池クラスは、可動物体をそのホームへ安全に戻すことに不可欠で無い様々な部品に利用可能な電力を遮断又は低減し得る。例えば、航行に使用されないカメラと他の付属品は、飛行制御器、モータ、航行システム、可動物体をホームへ戻すとともに安全な着陸をする等々のために必要とされる任意の他のシステムに利用可能な電力量を増加するために、電力を失い得る。
【００６２】
ＳＤＫを使用することにより、アプリケーションは、ドローン電池クラス内から情報を要求する機能を呼び出すことにより電池の現在ステータス及び情報を取得し得る。いくつかの実施形態では、ＳＤＫはこのようなフィードバックの頻度を制御するための機能を含み得る。
【００６３】
様々な実施形態によれば、アプリケーションは、無人航空機などの可動物体内のカメラに関する様々な操作を定義するためにカメラクラス９０２を使用し得る。例えば、ＳＤＫでは、カメラクラスは、ＳＤカード内の媒体データを受信するための機能、写真パラメータを取得及び設定するための機能、写真を撮るための機能、及び映像を記録するための機能を含む。
【００６４】
アプリケーションは写真及び記録の設定を修正するためにカメラクラス９０２を使用し得る。例えば、ＳＤＫは、撮影された写真のサイズを開発者が調整することを可能にする機能を含み得る。また、アプリケーションは写真及び記録を維持するために媒体クラスを使用し得る。
【００６５】
様々な実施形態によれば、アプリケーションは、可動物体の視野を制御するためにジンバルクラス９０４を使用し得る。例えば、ジンバルクラスは実際の視野を構成する（例えば可動物体の第１の個人的視野を設定する）ために使用され得る。また、一方向に合焦されるために、ジンバルクラスはジンバルを自動的に安定化するために使用され得る。また、アプリケーションは、様々な物体を検出するための画角を変更するためにジンバルクラスを使用し得る。
【００６６】
様々な実施形態によれば、アプリケーションは、可動物体に関する様々な飛行制御情報及びステータスを提供するために飛行制御器クラス９０５を使用し得る。論述したように、飛行制御器クラスは、可動物体環境内の様々な領域にわたる可動物体の移動を制御するために使用されるアクセスデータを受信及び／又は要求するための機能を含み得る。
【００６７】
飛行制御器クラスを使用することにより、アプリケーションは飛行ステータスを監視し得る（例えば、インスタントメッセージを使用して）。例えば、飛行制御器クラス内のコールバック機能はインスタントメッセージを１０００ミリ秒（１０００ｍｓ）毎に返送し得る。
【００６８】
さらに、飛行制御器クラスは、可動物体から受信されるインスタントメッセージをアプリケーションのユーザが調査することを可能にする。例えば、パイロットは自身の飛行スキルをさらに改善するために飛行毎のデータを解析し得る。
【００６９】
様々な実施形態によれば、アプリケーションは、可動物体を制御するための一連の走査を行うために地上局クラス９０７を使用し得る。
【００７０】
例えば、ＳＤＫは、地上局クラスを使用するためのＳＤＫ−ＬＥＶＥＬ−２キーをアプリケーションが有することを必要とし得る。地上局クラスは、ｏｎｅ−ｋｅｙ−ｆｌｙ機能、ｏｎ−ｋｅｙ−ｇｏ−ｈｏｍｅ機能、アプリ（すなわちジョイスティックモード）によりドローンを手動制御する機能、巡航点及び／又はウェイポイントを設定する機能、及び様々な他のタスクスケジューリング機能を提供し得る。
【００７１】
様々な実施形態によれば、アプリケーションは、アプリケーションと可動物体との間のネットワーク接続を確立するための通信部品を使用し得る。
【００７２】
図１０は様々な実施形態による可動物体環境内の標的マッピングの方法のフローチャートを示す。動作／工程１００２では、マッピングデータが、可動物体（例えばＵＡＶ）により支持される走査センサ（例えばＬｉＤＡＲセンサ）から取得され得る。いくつかの実施形態では、走査センサはＬｉＤＡＲセンサであり得る。動作／工程１００４では、測位データが、可動物体（例えばＵＡＶ）により支持される測位センサ（例えばＧＰＳセンサ、ＲＴＫセンサ、ＩＭＵセンサ、及び／又は他の測位センサ又はそれらの組み合せ）から取得され得る。いくつかの実施形態では、測位センサはＲＴＫセンサ又はＩＭＵであり得る。
【００７３】
動作／工程１００６では、マッピングデータは、マッピングデータ及び測位データに関連する時間データに少なくとも基づき測位データへ関連付けられ得る。いくつかの実施形態では、測位データとマッピングデータとを関連付けることは、マッピングデータ内の点の数に等しい数の位置を含むように測位データをアップサンプルすることと、マッピングデータ内の各点をアップサンプルされた測位データ内の対応位置へ関連付けることとを含み得る。いくつかの実施形態では、マッピングデータ及び測位データに関連する時間データが、走査センサ及び測位センサに電子的に結合された基準クロック信号を提供するクロック回路を使用して取得され得る。
【００７４】
動作／工程１００８では、第１の座標系におけるマップが、関連マッピングデータ及び測位データに少なくとも基づき生成され得る。いくつかの実施形態では、マップを生成することは、マップの複数のボクセルのボクセル毎に、マッピングデータからの１つ又は複数の点がボクセル内に位置すべきかを判断することと、当該ボクセル内の点の数に少なくとも基づきボクセルの占有確率を判断することとを含み得る。いくつかの実施形態では、占有確率は、ボクセル内に位置する１つ又は複数の点に関連付けられた測位データの分散に基づき判断される。いくつかの実施形態では、占有確率閾値より大きい占有確率を有するボクセル毎に、ボクセル内の１つ又は複数の点の平均位置が計算され得、点が平均位置においてマップへ生成され得る。いくつかの実施形態では、占有確率閾値より大きい占有確率を有するボクセル毎に、ボクセル内の１つ又は複数の点の平均強度値が計算され得、平均強度値はマップ内の生成された点に関連付けられ得る。一実施形態では、平均強度値はボクセル内の各点の特徴に基づき計算され、各点の特徴は走査センサにより検出される高度又は材料に関連する。
【００７５】
いくつかの実施形態では、本方法はさらに、それぞれがマッピングデータ内の最近隣点からの距離に関連付けられたマッピングデータ内の点の分布を判断することと、距離閾値より大きい距離に関連する任意の点を除去することとを含み得る。いくつかの実施形態では、本方法はさらに、マッピングデータをスケールファクタによりダウンサンプルすることと、マッピングデータを複数のボクセルに分割することと、複数のボクセルの各ボクセルのダウンサンプルされたマッピングデータから平均点を出力することとを含み得る。いくつかの実施形態では、本方法はさらに、マップを第２の座標系に変換し、変換されたマップを出力することを含み得る。例えば、測位データは走査器基準系から北−東−下（ＮＥＤ）基準系（すなわちＮＥＤ座標系）に変換され得る。測位データが変換される基準系は生成されるマップのアプリケーションに依存して変化し得る。例えば、マップが測量時に使用されれば、マップはＮＥＤ基準系に変換され得る。別の例では、飛行シミュレーションなどの運動を描画するためのマップが使用されれば、マップはＦｌｉｇｈｔＧｅａｒ座標系に変換され得る。マップの他のアプリケーションは、測位データの異なる基準系又は異なる座標系への変換を行い得る。
【００７６】
いくつかの実施形態では、上述の地理学参照は同時ローカライゼーション及びマッピング（ＳＬＡＭ：Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）又はＬｉＤＡＲオドメータ及びマッピング（ＬＯＡＭ：ＬｉＤＡＲ  Ｏｄｏｍｅｔｒｙ  ａｎｄ  Ｍａｐｐｉｎｇ）などの走査マッチングと組み合わせられ得る。伝統的方法は、慣性航法入力を有する有しないにかかわらずＳＬＡＭを活用する。例えば、いくつかの方法は、ＳＬＡＭにＩＭＵ情報を注入し、そして時折、ＧＰＳを介しオドメータを注入して、改善されたマッピングアルゴリズムを提供する。伝統的方法とは異なり、いくつかの実施形態は上に論述した直接地理学参照を行い得、次に、ＳＬＡＭ又はＬＯＡＭの層が地理学参照に加えて追加され得る。これは、地理学参照が結果マップの品質上のフロアとして役立つので頑強なマッピングアルゴリズムを提供する。
【００７７】
いくつかの実施形態では、上述の地理学参照は正規分布変換（ＮＤＴ：ｎｏｒｍａｌ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）と組み合わせられ得る。ＮＤＴは、特徴ベース登録方法（ＬＯＡＭなどの）と点ベース登録方法（反復最近接点（ｉｔｅｒａｔｉｖｅ  ｃｌｏｓｅｓｔ  ｐｏｉｎｔ）などの）との間にあるＬｉＤＡＲ走査登録方法である。世界の「特徴」は各ボクセルにおいて定義された多変数ガウス分布により説明される。確率密度関数（ＰＤＦ：ｐｒｏｂａｂｉｌｉｔｙ  ｄｅｎｓｉｔｙ  ｆｕｎｃｔｉｏｎ）がセル毎に生成され、点は、次式のＰＤＦ、点ｘ及び変換Ｔにより生成される確率の合計を最大化することによりマップへ整合される：
【数３】
2022502784.tif 000005
【００７８】
多くの特徴は、ハードウェア、ソフトウェア、ファームウェア又はそれらの組み合わせにおいて、又はそれらを使用して、又はそれらの支援により行われ得る。その結果、特徴は処理システム（例えば、１つ又は複数のプロセッサを含む）を使用して実装され得る。例示的プロセッサは、限定しないが、１つ又は複数の汎用マイクロプロセッサ（例えば単一プロセッサ又はマルチコアプロセッサ）、特定用途向け集積回路、特定用途向け指示セットプロセッサ、グラフィック処理ユニット、物理的処理ユニット、デジタル信号処理ユニット、コプロセッサ、ネットワーク処理ユニット、音声処理ユニット、暗号化処理ユニットなどを含み得る。
【００７９】
特徴は、本明細書に提示される特徴のうちの任意のものを行うように処理システムをプログラムするために使用され得る指示がその上に／中に格納された記憶媒体（媒体群）又はコンピュータ可読媒体（媒体群）であるコンピュータプログラム製品内に、又はそれを使用することにより、又はその支援により、実装され得る。記憶媒体は、限定しないが、フロッピーディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、磁気光学ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリ装置、磁気又は光カード、ナノシステム（分子メモリＩＣを含む）、又は指示及び／又はデータを格納するのに好適な任意のタイプの媒体又は装置を含む任意のタイプのディスクを含み得る。
【００８０】
機械可読媒体（媒体群）の任意の１つに格納されると、特徴は処理システムのハードウェアを制御するための、そしてその結果を利用する他の機構と処理システムとが相互作用することを可能にするためのソフトウェア及び／又はファームウェアへ取り込まれ得る。このようなソフトウェア又はファームウェアは、限定しないが、アプリケーションコード、デバイスドライバ、オペレーティングシステム、及び実行環境／容器を含み得る。
【００８１】
本発明の特徴はまた、例えば特定用途向け集積回路（ＡＳＩＣ）及びフィールドプログラマブルゲートアレイ（ＦＰＧＡ）装置などのハードウェア部品を使用することによりハードウェアで実装され得る。本明細書で説明された機能を実行するようにハードウェアステートマシンを実装することは当業者にとって明らかである。
【００８２】
加えて、本発明は、１つ又は複数の従来の汎用又は特化デジタルコンピュータ、コンピュータ装置、マシン、又はマイクロプロセッサ（１つ又は複数のプロセッサ、メモリ、及び／又は本開示の教示に従ってプログラムされるコンピュータ可読記憶媒体を含む）を使用することにより好都合に実施され得る。ソフトウェア技術における当業者にとって明らかとなるように、適切なソフトウェアコーディングが本開示の教示に基づき熟練したプログラマにより容易に用意され得る。
【００８３】
様々な実施形態について上に説明したが、これらは一例として提示したのであって制限するためではないということを理解すべきである。したがって、形式及び詳細の様々な変更が本発明の精神と範囲から逸脱することなくなされ得るということは当業者にとって明らかになる。
【００８４】
本発明は、規定された機能の性能及びその関係を示す機能ビルディングブロックの助けを借りて上に説明された。これらの機能ビルディングブロックの境界はしばしば、説明の都合上本明細書では任意に規定された。規定された機能及びその関係が適切に行われる限り代替の境界が規定され得る。したがっていかなるこのような代替の境界も本発明の範囲及び精神に入る。
【００８５】
これまでの説明は図解と説明を目的として提供された。これまでの説明は網羅的であることを目的としない、又は開示された正確な形式に本発明を限定することを目的としない。広さ及び範囲は上述の例示的実施形態のいかなるものによっても制限されるべきではない。多くの修正及び変形形態が当業者にとって明らかになる。修正形態と変形形態は、開示された特徴の任意の関連組み合わせを含む。実施形態は、本発明の原理及びその実用化について最も良く説明するために、そしてこれにより当業者が、様々な実施形態の本発明と、企図される特定使用に適するような様々な修正を有する本発明とを理解できるようにするために、選択され説明された。本発明の範囲は以下の特許請求範囲とその等価物によって規定されるように意図されている。
【００８６】
上述の様々な実施形態において、特に明記しない限り、語句「Ａ、Ｂ又はＣのうちの少なくとも１つ」などの選言的言語は、Ａ、Ｂ、若しくはＣ、又はそれらの任意の組み合せ（例えばＡ、Ｂ、及び／又はＣ）のうちのいずれかを意味するように理解されるように意図されている。したがって、選言的言語は、所与の実施形態が少なくとも１つのＡ、少なくとも１つのＢ、又は少なくとも１つのＣがそれぞれ存在する必要があるということを意味するように意図されていないし、そのように理解されるべきではない。
【図１】
2022502784.tif 000006
【図２】
2022502784.tif 000007
【図３】
2022502784.tif 000008
【図４Ａ】
2022502784.tif 000009
【図４Ｂ】
2022502784.tif 000010
【図５Ａ】
2022502784.tif 000011
【図５Ｂ】
2022502784.tif 000012
【図６】
2022502784.tif 000013
【図７】
2022502784.tif 000014
【図８】
2022502784.tif 000015
【図９】
2022502784.tif 000016
【図１０】
2022502784.tif 000017
【手続補正書】
【提出日】令和3年4月8日(2021.4.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
可動物体環境におけるリアルタイムマッピングシステムであって、
コンピュータ装置を含む少なくとも１つの可動物体と、
前記コンピュータ装置に電子的に結合された走査センサと、
前記コンピュータ装置に電子的に結合された測位センサとを含み、
前記コンピュータ装置は少なくとも１つのプロセッサとマッピングマネージャとを含み、
前記マッピングマネージャは指示を含み、前記指示は前記プロセッサにより実行されると前記マッピングマネージャに、
前記走査センサからマッピングデータを取得させ、
前記測位センサから測位データを取得させ、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けさせ、
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成させる、システム。
【請求項２】
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付ける前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルさせ、
前記マッピングデータ内の各点を前記アップサンプルされた測位データ内の対応位置へ関連付けさせる、請求項１に記載のシステム。
【請求項３】
前記マッピングデータ及び前記測位データに関連付けられた前記時間データを提供するために前記走査センサ及び前記測位センサに電子的に結合されたクロック回路をさらに含む請求項２に記載のシステム。
【請求項４】
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成する前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断させ、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断させる、請求項１から請求項３の何れか１項に記載のシステム。
【請求項５】
前記占有確率は前記ボクセル内に配置される前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、請求項４に記載のシステム。
【請求項６】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均位置を計算させ、
前記平均位置の前記マップ内に点を生成させる、請求項４に記載のシステム。
【請求項７】
前記指示は実行されると前記マッピングマネージャにさらに、
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均強度値を計算させ、
前記平均強度値と前記マップ内の前記生成された点とを関連付けさせる、請求項６に記載のシステム。
【請求項８】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断させ、
距離閾値より長い距離に関連するいかなる点も除去させる、請求項１から請求項７の何れか１項に記載のシステム。
【請求項９】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マッピングデータをスケールファクタでダウンサンプルさせ、
前記マッピングデータを複数のボクセルに分割させ、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力させる、請求項１から請求項８の何れか１項に記載のシステム。
【請求項１０】
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マップを第２の座標系に変換させ、
前記変換されたマップを出力させる、請求項１から請求項９の何れか１項に記載のシステム。
【請求項１１】
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、請求項１から請求項１０の何れか１項に記載のシステム。
【請求項１２】
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、請求項１から請求項１１の何れか１項に記載のシステム。
【請求項１３】
可動物体環境におけるリアルタイムマッピング方法であって、
可動物体により支持される走査センサからマッピングデータを取得すること、
前記可動物体により支持される測位センサから測位データを取得すること、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けること
及び
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成すること、を含む方法。
【請求項１４】
１つ又は複数のプロセッサに、
可動物体により支持される走査センサからマッピングデータを取得する手順と、
前記可動物体により支持される測位センサから測位データを取得する手順と、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付ける手順と、
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成する手順とを、実行させるためのコンピュータプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
上述の様々な実施形態において、特に明記しない限り、語句「Ａ、Ｂ又はＣのうちの少なくとも１つ」などの選言的言語は、Ａ、Ｂ、若しくはＣ、又はそれらの任意の組み合せ（例えばＡ、Ｂ、及び／又はＣ）のうちのいずれかを意味するように理解されるように意図されている。したがって、選言的言語は、所与の実施形態が少なくとも１つのＡ、少なくとも１つのＢ、又は少なくとも１つのＣがそれぞれ存在する必要があるということを意味するように意図されていないし、そのように理解されるべきではない。
（項目１）
可動物体環境におけるリアルタイムマッピングシステムであって、
コンピュータ装置を含む少なくとも１つの可動物体と、
前記コンピュータ装置に電子的に結合された走査センサと、
前記コンピュータ装置に電子的に結合された測位センサとを含み、
前記コンピュータ装置は少なくとも１つのプロセッサとマッピングマネージャとを含み、
前記マッピングマネージャは指示を含み、前記指示は前記プロセッサにより実行されると前記マッピングマネージャに、
前記走査センサからマッピングデータを取得させ、
前記測位センサから測位データを取得させ、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けさせ、
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成させる、システム。
（項目２）
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付ける前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルさせ、
前記マッピングデータ内の各点を前記アップサンプルされた測位データ内の対応位置へ関連付けさせる、項目１に記載のシステム。
（項目３）
前記マッピングデータ及び前記測位データに関連付けられた前記時間データを提供するために前記走査センサ及び前記測位センサに電子的に結合されたクロック回路をさらに含む項目２に記載のシステム。
（項目４）
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成する前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断させ、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断させる、項目１に記載のシステム。
（項目５）
前記占有確率は前記ボクセル内に配置される前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、項目４に記載のシステム。
（項目６）
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均位置を計算させ、
前記平均位置の前記マップ内に点を生成させる、項目４に記載のシステム。
（項目７）
前記指示は実行されると前記マッピングマネージャにさらに、
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均強度値を計算させ、
前記平均強度値と前記マップ内の前記生成された点とを関連付けさせる、項目６に記載のシステム。
（項目８）
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断させ、
距離閾値より長い距離に関連するいかなる点も除去させる、項目１に記載のシステム。
（項目９）
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マッピングデータをスケールファクタでダウンサンプルさせ、
前記マッピングデータを複数のボクセルに分割させ、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力させる、項目１に記載のシステム。
（項目１０）
前記指示は前記プロセッサにより実行されると前記マッピングマネージャにさらに、
前記マップを第２の座標系に変換させ、
前記変換されたマップを出力させる、項目１に記載のシステム。
（項目１１）
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、項目１に記載のシステム。
（項目１２）
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、項目１に記載のシステム。
（項目１３）
可動物体環境におけるリアルタイムマッピング方法であって、
可動物体により支持される走査センサからマッピングデータを取得すること、
前記可動物体により支持される測位センサから測位データを取得すること、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けること
及び
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成すること、を含む方法。
（項目１４）
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付けることはさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルすることと、
前記マッピングデータ内の各点と前記アップサンプルされた測位データ内の対応位置とを関連付けることとを含む、項目１３に記載の方法。
（項目１５）
前記マッピングデータ及び前記測位データに関連付けられた前記時間データを前記走査センサ及び前記測位センサに電子的に結合されたクロック回路から取得することをさらに含む項目１４に記載の方法。
（項目１６）
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき前記第１の座標系の前記マップを生成することはさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断することと、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断することとを含む、項目１３に記載の方法。
（項目１７）
前記占有確率は前記ボクセル内に配置された前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、項目１６に記載の方法。
（項目１８）
占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内の前記１つ又は複数の点の平均位置を計算することと、
前記平均位置の前記マップ内に点を生成することと、をさらに含む項目１６に記載の方法。
（項目１９）
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内の前記１つ又は複数の点の平均強度値を計算することと、
前記平均強度値と前記マップ内の前記生成された点とを関連付けることと、をさらに含む項目１８に記載の方法。
（項目２０）
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断することと、
距離閾値より長い距離に関連するいかなる点も除去することと、をさらに含む項目１３に記載の方法。
（項目２１）
前記マッピングデータをスケールファクタでダウンサンプルすることと、
前記マッピングデータを複数のボクセルに分割することと、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力することと、をさらに含む項目１３に記載の方法。
（項目２２）
前記マップを第２の座標系に変換することと、
前記変換されたマップを出力することと、をさらに含む項目１３に記載の方法。
（項目２３）
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、項目１３に記載の方法。
（項目２４）
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、項目１３に記載の方法。
（項目２５）
格納された指示を含む非一時的コンピュータ可読記憶媒体であって、
１つ又は複数のプロセッサにより実行されると前記１つ又は複数のプロセッサに、
可動物体により支持される走査センサからマッピングデータを取得させ、
前記可動物体により支持される測位センサから測位データを取得させ、
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた時間データに少なくとも基づき関連付けさせ、
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき第１の座標系のマップを生成させる、非一時的コンピュータ可読記憶媒体。
（項目２６）
前記マッピングデータと前記測位データとを前記マッピングデータ及び前記測位データに関連付けられた前記時間データに少なくとも基づき関連付ける前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マッピングデータ内の点の数に等しい数の位置を含むように前記測位データをアップサンプルさせ、
前記マッピングデータ内の各点と前記アップサンプルされた測位データ内の対応位置とを関連付けさせる、項目２５に記載の非一時的コンピュータ可読記憶媒体。
（項目２７）
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、前記マッピングデータ及び前記測位データに関連付けられた前記時間データを前記走査センサ及び前記測位センサに電子的に結合されたクロック回路を使用することにより取得させる、項目２６に記載の非一時的コンピュータ可読記憶媒体。
（項目２８）
前記関連付けられたマッピングデータ及び測位データに少なくとも基づき前記第１の座標系の前記マップを生成する前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マップの複数のボクセルのボクセル毎に、
前記ボクセル内に配置されるべき前記マッピングデータからの１つ又は複数の点を判断させ、
前記ボクセル内の点の数に少なくとも基づき前記ボクセルの占有確率を判断させる、項目２５に記載の非一時的コンピュータ可読記憶媒体。
（項目２９）
前記占有確率は前記ボクセル内に配置された前記１つ又は複数の点に関連付けられた前記測位データの分散に基づき判断される、項目２８に記載の非一時的コンピュータ可読記憶媒体。
（項目３０）
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記占有確率閾値より高い占有確率を有するボクセル毎に、
前記ボクセル内に配置された前記１つ又は複数の点の平均位置を計算させ、
前記平均位置の前記マップ内に点を生成させる、項目２８に記載の非一時的コンピュータ可読記憶媒体。
（項目３１）
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記占有確率閾値より高い前記占有確率を有するボクセル毎に、
前記ボクセル内の前記１つ又は複数の点の平均強度値を計算させ、
前記平均強度値と前記マップ内の前記生成された点とを関連付けさせる、項目３０に記載の非一時的コンピュータ可読記憶媒体。
（項目３２）
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
それぞれが前記マッピングデータ内の最近隣点からの距離に関連付けられた前記マッピングデータ内の点の分布を判断させ、
距離閾値より長い距離に関連するいかなる点も除去させる、項目２５に記載の非一時的コンピュータ可読記憶媒体。
（項目３３）
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マッピングデータをスケールファクタでダウンサンプルさせ、
前記マッピングデータを複数のボクセルに分割させ、
前記複数のボクセルの各ボクセルの前記ダウンサンプルされたマッピングデータから平均点を出力させる、項目２５に記載の非一時的コンピュータ可読記憶媒体。
（項目３４）
前記指示は実行されると前記１つ又は複数のプロセッサにさらに、
前記マップを第２の座標系に変換させ、
前記変換されたマップを出力させる、項目２５に記載の非一時的コンピュータ可読記憶媒体。
（項目３５）
前記走査センサは光検出及び測距（ＬｉＤＡＲ）センサを含む、項目２５に記載の非一時的コンピュータ可読記憶媒体。
（項目３６）
前記測位センサはリアルタイム運動力学（ＲＴＫ）センサ又は慣性測定ユニット（ＩＭＵ）センサを含む、項目２５に記載の非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2022502784.tif 000018
2022502784.tif 000019