(57)【要約】  システム例は、車両および車両に接続されたセンサを含む。システムは、車両が通行する所定の経路を受信してよい。システムは、対応するセンサデータのセットに関連する、センサデータを収集する複数の目的も受信してよい。システムは、複数の目的の各々について、対応するセンサデータのセットを取得するためにセンサが走査する環境部分を決定してよい。システムは、複数の目的の各々について決定された環境部分に基づいて、センサを通過させるセンサ軌道を決定してよい。システムは、センサに、決定されたセンサ軌道を通過させ、車両が所定の経路に沿って移動するとともに決定されたセンサ軌道に対応する環境部分を走査させてよい。【選択図】図４
2019516185.tif 000002
【特許請求の範囲】
【請求項１】
車両と、
前記車両に接続されたセンサであって、前記センサによって観察可能な環境部分を制御するために前記車両に対して動くように構成されたセンサと、
前記車両が通行する所定の経路を受信し、
前記所定の経路に沿って前記車両が移動するとともにセンサデータを収集する複数の目的であって各々が対応するセンサデータのセットに関連する複数の目的を受信し、
前記複数の目的の各々について、前記対応するセンサデータのセットを取得するために前記センサが走査する少なくとも１つの環境部分を決定し、
前記複数の目的の各々について決定された前記少なくとも１つの環境部分に基づいて、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させるセンサ軌道を決定し、
前記センサに、前記決定されたセンサ軌道を通過させると共に、前記車両が前記所定の経路に沿って移動するにつれて、前記決定されたセンサ軌道に対応する環境部分を走査させる命令を提供する
ように構成された制御システムと
を備えるシステム。
【請求項２】
前記制御システムは更に、
前記複数の目的に対応する複数の優先レベルを決定し、
（ｉ）前記複数の目的の各々について決定された前記少なくとも１つの環境部分、および（ｉｉ）前記決定された複数の優先レベルに基づいて、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させる前記センサ軌道を決定する
ように構成される、請求項１に記載のシステム。
【請求項３】
前記制御システムは更に、
前記複数の目的の各々について、前記環境における前記少なくとも１つの決定された環境部分の位置に基づいて、前記少なくとも１つの決定された環境部分の走査に関連するコストを決定し、
前記複数の目的の各々について決定された前記コストに基づいて、前記複数の目的に関する総コスト関数を決定し、
前記総コスト関数を最小にするセンサ軌道を決定することによって、前記センサを通過させる前記センサ軌道を決定する
ように構成される、請求項１に記載のシステム。
【請求項４】
前記少なくとも１つの決定された環境部分の走査に関連する前記コストは、現在のセンサ位置から前記少なくとも１つの決定された環境部分に対応するセンサ位置へ前記センサを動かす時間である、請求項３に記載のシステム。
【請求項５】
前記制御システムは更に、
前記決定されたセンサ軌道に対応する前記環境部分の１または複数に関して最小走査解像度を決定し、
前記決定されたセンサ軌道に対応する前記環境部分の前記１または複数に関して前記決定された最小走査解像度に基づいて、前記センサが前記決定されたセンサ軌道に沿って動く速度を調節する
ように構成される、請求項１に記載のシステム。
【請求項６】
前記制御システムは更に、
前記決定されたセンサ軌道に対応する前記環境部分の１または複数に関して最小走査解像度を決定し、
前記決定されたセンサ軌道に対応する前記環境部分の前記１または複数に関して前記決定された最小走査解像度に基づいて、前記車両が前記所定の経路に沿って移動する速度を調節する
ように構成される、請求項１に記載のシステム。
【請求項７】
前記制御システムは更に、
前記複数の目的のうちの特定の目的に関して、前記環境内の物体の予想位置を決定することによって前記対応するセンサデータのセットを取得するために前記センサが走査する前記少なくとも１つの環境部分を決定し、ここで前記予想位置に対応する環境部分の走査は、前記特定の目的に関連する前記対応するセンサデータのセットを提供する、
前記センサの角位置範囲を決定することによって前記センサ軌道を決定し、ここで前記センサの視野範囲は、前記センサの角位置が前記センサの前記決定された角位置範囲内にある時、前記物体の前記予想位置と交差する、
ように構成される、請求項１に記載のシステム。
【請求項８】
前記制御システムは、
前記複数の目的に関連する少なくとも１つのパラメータを示す目的関数を決定すること、
前記車両が前記所定の経路に沿って移動する間に前記センサを通過させる複数の候補センサ軌道を決定すること、および
前記決定された目的関数を最大化するセンサ軌道を前記複数の候補センサ軌道から選択すること
によって、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させるセンサ軌道を決定するように構成される、請求項１に記載のシステム。
【請求項９】
前記目的関数は、前記決定されたセンサ軌道に沿って動く間に前記センサによって観察可能な前記環境内の個別の特徴の数を示す、請求項８に記載のシステム。
【請求項１０】
前記制御システムは、
（ｉ）前記所定の経路の始点に対応するセンサ位置と（ｉｉ）前記所定の経路の終点に対応する複数の候補センサ位置との間の複数の候補センサ軌道を決定すること、
前記複数の候補センサ軌道の各々について、前記各候補センサ軌道に沿って前記センサによって観察可能な環境部分のセットを決定すること、および
（ｉ）前記複数の候補センサ軌道の各々に関連する前記決定された環境部分のセットおよび（ｉｉ）前記複数の目的の各々について決定された前記少なくとも１つの環境部分に基づいて、前記複数の候補センサ軌道からセンサ軌道を選択すること
によって、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させるセンサ軌道を決定するように構成される、請求項１に記載のシステム。
【請求項１１】
前記制御システムは、
前記所定の経路に沿った前記車両の様々な位置に対応する、前記所定の経路に沿った複数の時点を決定すること、
前記複数の時点の各々について、（ｉ）前記センサの最大回転速度および（ｉｉ）前の時点における前記センサの角位置に基づいて、前記センサの複数の候補角位置を決定すること、および
（ｉ）前記所定の経路の始点に対応する時点と（ｉｉ）前記所定の経路の終点に対応する時点との間の前記センサの前記候補角位置の複数のシーケンスを決定すること
によって前記複数の候補センサ軌道を決定するように構成され、前記複数の候補センサ軌道は、前記センサの前記候補角位置の前記決定された複数のシーケンスを備える、請求項１０に記載のシステム。
【請求項１２】
前記制御システムは、
前記各候補センサ軌道に沿って前記センサによって観察可能な前記環境部分のセットの各部分について、前記環境部分のセットの各部分を走査するための１または複数の候補センサパラメータを決定すること、および
（ｉ）前記複数の候補センサ軌道の各々に関連する前記決定された前記環境部分のセット、（ｉｉ）前記複数の目的の各々について決定された前記少なくとも１つの環境部分、および（ｉｉｉ）前記環境部分のセットの各部分を走査するための前記決定された１または複数の候補センサパラメータに基づいて、前記複数の候補センサ軌道からセンサ軌道を選択すること
によって、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させるセンサ軌道を決定するように構成される、請求項１０に記載のシステム。
【請求項１３】
前記決定されたセンサ軌道は、
前記車両が前記所定の経路に沿って移動するとともに前記センサを動かす角位置軌道と、
前記角位置軌道に沿って前記センサを動かす時の速度を示す、前記角位置軌道に対応する速度プロファイルと
を備える、請求項１に記載のシステム。
【請求項１４】
前記複数の目的は、
前記所定の経路における障害物の検出と、
前記環境内での前記車両の位置特定と、
前記所定の経路に隣接する環境部分における対象物体の検出と
を備える、請求項１に記載のシステム。
【請求項１５】
前記車両は、前記環境内でパレットを移動するように構成された自律フォークトラックであり、
前記複数の目的は、前記環境の特定のエリアにおける障害物の検出を備え、前記自律フォークトラックは、前記環境の前記特定のエリアへ前記パレットを移動するようにスケジュールされる、請求項１に記載のシステム。
【請求項１６】
前記制御システムは更に、
前記決定されたセンサ軌道に基づいて、前記センサが前記決定されたセンサ軌道を通って動くとともに、前記複数の目的の各々について決定された前記少なくとも１つの環境部分を前記センサの視野内に入れるために、前記所定の経路に１または複数の修正を決定するように構成される、請求項１に記載のシステム。
【請求項１７】
前記制御システムは更に、
前記決定されたセンサ軌道に対応する前記環境部分を走査するための１または複数のセンサパラメータを決定し、
前記１または複数の決定されたセンサパラメータに基づいて、前記センサが前記決定されたセンサ軌道を通って動くとともに、前記センサのパラメータを調整し、前記決定されたセンサ軌道に対応する環境部分を走査する命令を提供する
ように構成される、請求項１に記載のシステム。
【請求項１８】
車両が通行する所定の経路を受信することと、
前記車両が前記所定の経路に沿って移動するとともに前記車両に接続されたセンサからのセンサデータを収集する複数の目的を受信することであって、前記複数の目的の各々は対応するセンサデータのセットに関連し、前記センサは、前記センサに可視である環境部分を制御するために前記車両に対して動くように構成されることと、
前記複数の目的の各々について、前記対応するセンサデータのセットを取得するために前記センサが走査するための少なくとも１つの環境部分を決定することと、
前記複数の目的の各々について決定された前記少なくとも１つの環境部分に基づいて、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させるセンサ軌道を決定することと、
前記センサに、前記決定されたセンサ軌道を通過させると共に、前記車両が前記所定の経路に沿って移動するにつれて、前記決定されたセンサ軌道に対応する環境部分を走査させることと
を含む方法。
【請求項１９】
前記複数の目的に対応する複数の優先レベルを決定することと、
（ｉ）前記複数の目的の各々について決定された前記少なくとも１つの環境部分、および（ｉｉ）前記決定された複数の優先レベルに基づいて、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させる前記センサ軌道を決定することと
を更に含む、請求項１８に記載の方法。
【請求項２０】
コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、
車両が通行する所定の経路を受信すること、
前記車両が前記所定の経路に沿って移動するとともに前記車両に接続されたセンサからのセンサデータを収集する複数の目的を受信することであって、前記複数の目的の各々は、対応するセンサデータのセットに関連し、前記センサは、前記センサに可視である環境部分を制御するために前記車両に対して動くように構成されることと、
前記複数の目的の各々について、前記対応するセンサデータのセットを取得するために前記センサが走査するための少なくとも１つの環境部分を決定することと、
前記複数の目的の各々について決定された前記少なくとも１つの環境部分に基づいて、前記車両が前記所定の経路に沿って移動する間に前記センサを通過させるセンサ軌道を決定することと、
前記センサに、前記決定されたセンサ軌道を通過させると共に、前記車両が前記所定の経路に沿って移動するにつれて、前記決定されたセンサ軌道に対応する環境部分を走査させることと
を含む動作を実行させる命令を格納している非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
［0001］  倉庫は、製造業者、卸売業者、および輸送業者を含む多種多様な営利主体によって、商品を保管するために用いられ得る。保管される商品の例は、原材料、パーツまたは部品、梱包材料、および完成品を含んでよい。場合によっては、倉庫には、配送トラックまたは他の種類の車両へ商品を積み込み車両から荷卸しすることを可能にするための搬出口が設けられてよい。また倉庫は、積み重ねられた箱または他の物体を収容する平坦な輸送構造であるパレットの収納を可能にするパレットラックの列も用いてよい。また倉庫は、たとえばクレーン、フォークリフト、およびパレットジャックなど、商品または商品パレットを持ち上げ移動するための機械または車両を用いてよい。人間のオペレータは、機械、車両、または他の装置を操作するために雇用され得る。場合によっては、機械または車両の１または複数は、コンピュータ制御システムによってガイドされるロボットデバイスであってよい。
【発明の概要】
【課題を解決するための手段】
【０００２】
［0002］  自律または半自律車両は、それに接続されたセンサを有してよい。センサは、たとえばステレオカメラなど、限られた視野を有する視覚センサであってよい。車両の制御システムは、グローバル計画システムから、環境内でタスクを遂行するために車両が通行する所定の経路を受信してよい。あるいは制御システムは、車両が通行する所定の経路を決定してよい。また制御システムは、車両が所定の経路に沿って移動するとともにセンサデータを収集する複数の目的も受信および／または決定してよい。複数の目的の各々は、対応するセンサデータのセットに関連してよい。対応するセンサデータのセットを取得するために、制御システムは、センサが走査する環境部分を決定してよい。決定された環境部分に基づいて、制御システムは、車両が所定の経路に沿って移動する間にセンサを通過させるセンサ軌道を決定してよい。決定されたセンサ軌道に沿ってセンサを動かすことにより、車両が所定の経路に沿って移動するとともに、決定された環境部分がセンサの視野内に入り得る。更に、制御システムは、センサに、決定されたセンサ軌道を通過させる命令を提供してよい。
【０００３】
［0003］  一例において、車両および車両に接続されたセンサを含むシステムが提供される。センサは、センサによって観察可能な環境部分を制御するために、車両に対して動くように構成され得る。システムは、車両が通行する所定の経路を受信するように構成された制御システムを含んでよい。制御システムは、車両が所定の経路に沿って移動するとともにセンサデータを収集する複数の目的を受信するようにも構成され得る。複数の目的の各々は、対応するセンサデータのセットに関連してよい。制御システムは更に、複数の目的の各々について、対応するセンサデータのセットを取得するためにセンサが走査する少なくとも１つの環境部分を決定するように構成され得る。制御システムは更に、複数の目的の各々について決定された少なくとも１つの環境部分に基づいて、車両が所定の経路に沿って移動する間にセンサを通過させるセンサ軌道を決定するように構成され得る。また更に、制御システムは、センサに、決定されたセンサ軌道を通過させると共に、車両が所定の経路に沿って移動するにつれて、決定されたセンサ軌道に対応する環境部分を走査させる命令を提供するように構成され得る。
【０００４】
［0004］  他の例において、車両が通行する所定の経路を受信することを含む方法が提供される。また方法は、車両が所定の経路に沿って移動するとともに車両に接続されたセンサからのセンサデータを収集する複数の目的を受信することも含む。複数の目的の各々は、対応するセンサデータのセットに関連してよい。センサは、センサに可視である環境部分を制御するために、車両に対して動くように構成され得る。方法は更に、複数の目的の各々について、対応するセンサデータのセットを取得するためにセンサが走査する少なくとも１つの環境部分を決定することを含む。更に方法は、複数の目的の各々について決定された少なくとも１つの環境部分に基づいて、車両が所定の経路に沿って移動する間にセンサを通過させるセンサ軌道を決定することを含む。また更に、方法は、センサに、決定されたセンサ軌道を通過させると共に、車両が所定の経路に沿って移動するにつれて、決定されたセンサ軌道に対応する環境部分を走査させることを含む。
【０００５】
［0005］  追加の例において、コンピューティングデバイスによって実行されるとコンピューティングデバイスに動作を実行させる命令を格納している非一時的コンピュータ可読媒体が提供される。動作は、車両が通行する所定の経路を受信することを含む。また動作は、車両が所定の経路に沿って移動するとともに車両に接続されたセンサからのセンサデータを収集する複数の目的を受信することも含む。複数の目的の各々は、対応するセンサデータのセットに関連してよい。センサは、センサに可視である環境部分を制御するために、車両に対して動くように構成され得る。動作は更に、複数の目的の各々について、対応するセンサデータを取得するためにセンサが走査する少なくとも１つの環境部分を決定することを含む。更に動作は、複数の目的の各々について決定された少なくとも１つの環境部分に基づいて、車両が所定の経路に沿って移動する間にセンサを通過させるセンサ軌道を決定することを含む。また更に、動作は、センサに、決定されたセンサ軌道を通過させると共に、車両が所定の経路に沿って移動するにつれて、決定されたセンサ軌道に対応する環境部分を走査させることを含む。
【０００６】
［0006］  更なる例において、車両手段および車両手段に接続された感知手段を含むシステムが提供される。感知手段は、感知手段によって観察可能な環境部分を制御するために、車両手段に対して動くように構成され得る。システムは、車両が通行する所定の経路を受信するように構成された制御手段を含んでよい。また制御手段は、車両が所定の経路に沿って移動するとともに感知手段からのデータを収集する複数の目的を受信するようにも構成され得る。複数の目的の各々は、感知手段からの対応するデータのセットに関連してよい。制御手段は更に、複数の目的の各々について、対応するセンサデータのセットを取得するために感知手段が走査する少なくとも１つの環境部分を決定するように構成され得る。制御手段は更に、複数の目的の各々について決定された少なくとも１つの環境部分に基づいて、車両が所定の経路に沿って移動する間に感知手段を動かす感知手段軌道を決定するように構成され得る。また更に、制御手段は、決定された感知手段軌道を通るように感知手段を動かし、車両が所定の経路に沿って移動するとともに、決定された感知手段軌道に対応する環境部分を走査させる命令を提供するように構成され得る。
【０００７】
［0007］  上記概要は例示にすぎず、いかなるようにも限定的であることは意図されない。上述した例示的な態様、実施形態、および特徴に加えて、更なる態様、実施形態、および特徴が、図および以下の詳細な説明および添付図面を参照することによって明らかになる。
【図面の簡単な説明】
【０００８】
【図１】［0008］実施形態例に係る車両システムのブロック図を示す。
【図２Ａ】［0009］実施形態例に係るロボット隊を示す。
【図２Ｂ】［0010］実施形態例に係るロボット隊の構成要素の機能ブロック図を示す。
【図３Ａ】［0011］実施形態例に係るロボットトラックアンローダを示す。
【図３Ｂ】［0012］実施形態例に係る自律搬送車を示す。
【図３Ｃ】［0013］実施形態例に係る自律フォークトラックを示す。
【図４】［0014］実施形態例に係るセンサ軌道計画動作の例を示す。
【図５】［0015］実施形態例に係る特徴検出動作の例を示す。
【図６】［0016］実施形態例に係る障害物検出動作の例を示す。
【図７】［0017］実施形態例に係る候補軌道計画動作の例を示す。
【発明を実施するための形態】
【０００９】
［0018］  以下の詳細な説明は、添付図面を参照して、開示されるデバイス、システム、および方法の様々な特徴および動作を説明するものである。本明細書で説明される例示的なデバイス、システム、および方法の実施形態は、限定的であることを意味するものではない。「典型的」、「例」、および「例示的」という言葉は本明細書において、「例、実例、または例証としての役割を果たす」ことを意味するように用いられることを理解すべきである。本明細書において「典型的」、「例」、または「例示的」として説明される任意の実装、実施形態、または特徴は、必ずしも他の実装、実施形態、または特徴よりも好適または有利なものと解釈すべきではない。また、一般に本明細書で説明され図面に示されるような本開示の態様は、多種多様な構成で配置、代替、結合、分離、および設計されてよい。
【００１０】
［0019］  以下の詳細な説明において、本出願の一部を成す添付図面が参照される。図面において、文脈が例外を示さない限り、類似した記号は一般的に類似した構成要素を識別する。本明細書に提示された主題事項の主旨または範囲から逸脱することなく、他の実施形態が利用され、他の変更がなされてよい。また、特に指定がない限り、図面は一定の比率で拡大縮小されておらず、説明目的のみのために用いられる。更に、図面は表現的なものにすぎず、全ての構成要素が示されるわけではない。たとえば追加の構造部品または拘束部品は図示されない可能性がある。
Ｉ．概観
【００１１】
［0020］  自律車両または半自律車両は、環境内で様々なタスクを遂行するために環境中を移動するように構成され得る。様々なタスクは、車両の種類および車両が作業している環境に依存してよい。たとえば車両は、倉庫環境で作業しているフォークリフト（たとえばフォークトラック）またはパレットジャックであってよい。したがって、様々なタスクは、箱の移動、箱パレットまたは他の物体の移動、トラックへの荷積み／荷卸し、および／または収納棚への荷積み／荷卸しを含んでよい。
【００１２】
［0021］  車両は、様々な可能性の中でもとりわけ、たとえばカメラ、ステレオカメラ、深さカメラ、ライダ、レーダ、および／または赤外センサなどのセンサを装備してよい。センサは、限られた視野を有し得る。したがってセンサは、センサの視野内の環境部分を制御するためにセンサが車両に対して回転および／または並進することを可能にする雲台、１または複数の回転ジョイント、および／または１または複数の並進運動機構を介して車両に接続され得る。車両は、車両が環境の一部を通行する所定の経路を受信または決定してよい。たとえば、複数の車両の動作を同期させるように構成されたグローバル計画システムが車両に所定の経路を提供してよい。車両は、センサデータ、および／または車両に命じられたタスクまたは動作に基づいて、経路を決定または修正してよい。
【００１３】
［0022］  車両が所定の経路に沿って移動する時、センサは、複数の目的のためのセンサデータを収集するために用いられ得る。目的は、車両が通行すると予想される経路に沿った障害物検出、車両が物体を載置することが予想または計画された環境エリアにおける障害物の検出、環境内での車両の位置を決定または確認するための環境内のランドマークの検出、および／または環境内の対象物体（たとえば箱、パレット）の検出を含んでよい。目的の他の例も可能であり、車両の種類および車両が動作しているまたは動作すると予想される環境の種類に基づいて様々であってよい。たとえば、公道で動作するように構成された車両に関する動作は、路上の車線の識別、歩行者の識別、および／または他の車両の識別を含んでよい。目的は、グローバル計画システムから受信され、または車両によって決定され得る。いくつかの例において、目的は静的であってよく、その場合車両は常時、同じ目的セットに関するセンサデータを収集するためにセンサを用いてよい。他の例において、目的は動的であってよい。たとえば目的は、車両によって現在実行されているまたは実行されると予想されるタスクまたは動作に基づいて、定期的に更新または修正され得る。
【００１４】
［0023］  複数の目的に関するセンサデータを収集するために１つのセンサ（または複数の目的の目的ごとに１未満のセンサ）を用いることは、目的ごとに１または複数のセンサを用いるよりも安上がりかつ効率的であり得る。より少ない数のセンサを有する車両システムは、製造費用が安く、プログラムが簡単であり、操作が簡単であり得る。センサが少ないだけではなく、車両システムは、センサデータを受信および処理するためのより少ないハードウェア部品を含み得る。また、少ない数のセンサ（たとえば１つのセンサ）は、複数の目的の各々に専用の１または複数のセンサを有するシステムに比べて、センサの使用率を高くし得る。たとえば、複数の目的のうちの特定の目的（たとえばパレット検出）がアクティブに遂行されていない（たとえばパレット検出のためのデータが収集されていない）場合、特定の目的専用のセンサはアイドル状態になり得るため、リソースが十分に活用されない。対照的に、１つだけのセンサを有する車両システムは、たとえば障害物検出など少なくとも１つの目的のために常にセンサを利用し得る。
【００１５】
［0024］  複数の目的の各々は、それぞれの目的に対応するセンサデータを取得するためにセンサが走査する環境部分に関連し、またはそのために決定され得る。たとえば、障害物を検出するために、センサは、車両の前方にある環境部分または車両が通行するまたは通行すると予想される所定の経路に沿った環境部分を走査してよい。複数の目的の各々に関連する環境部分は、環境内の物体の予想位置に基づいて決定され得る。たとえば、倉庫の通路を通過する場合、対象物体（たとえば箱、パレット）は、車両の両側において通路を構成している棚／ラックにあることが予想され得る。
【００１６】
［0025］  複数の目的の各々に関連する環境部分に基づいて、車両の制御システムは、車両が所定の経路に沿って移動するとともにセンサを通過させるためのセンサ軌道を決定してよい。制御システムは更に、決定されたセンサ軌道を通ってセンサを動かし、センサ軌道に沿った環境部分を走査させる命令を提供してよい。センサ軌道は、角位置軌道および角位置軌道に対応する速度プロファイルを含んでよい。センサ軌道に沿った環境部分を走査することにより、制御システムに、複数の目的の各々に関連するセンサデータの少なくとも一部が提供され得る。いくつかの例において、センサ軌道に沿った環境部分を走査することは、複数の目的に関連する環境部分の各々を走査することを含んでよい。他の例において、複数の目的に関連する環境部分のいくつかのみが走査され得る。
【００１７】
［0026］  １つの実施形態において、制御システムは、決定されたセンサ軌道に沿ってセンサが動くとともに１または複数のセンサ性能パラメータを調整することを決定してよい。センサ性能パラメータは、考えられる多数の様々なセンサパラメータの中でもとりわけ、ズーム／倍率レベル、フレームレート、解像度、画像露光、ホワイトバランス、および／または利得を含んでよい。１または複数のセンサ性能パラメータは、決定されたセンサ軌道に沿ってセンサによって捕捉されるセンサデータのフレームごとに調整／決定され得る。いくつかの実施形態において、制御システムは、１または複数のセンサ性能パラメータに基づいてセンサ軌道を決定してよい。たとえば環境の特定の部分は、特定の物体の詳細な表現を捕捉するために高レベルの倍率で走査する必要があり得る。したがって、特定の物体を含む特定の環境部分をセンサがパンする前に、センサの倍率レベルを調整するための十分な時間を提供するセンサ軌道が決定され得る。
【００１８】
［0027］  他の実施形態において、複数の目的の各々は、対応する優先レベルに関連してよい。センサ軌道を決定する際、制御システムは、低い優先レベルを有する物体よりも高い優先レベルを有する物体を優先してよい。高い優先レベルを有する物体は、所定の経路に沿って車両が安全に進行することを可能にするために必要な環境部分の走査に関連してよい。たとえば、所定の経路に沿った障害物の検出に失敗することは、車両と、環境特徴、環境内の物体、または他の車両との衝突を招き、車両の動作を妨げ、または停止させ得るので、障害物検出は高い優先度の目的であってよい。対照的に、車両が操作する対象の物体の検出に失敗することは、車両を損傷するリスクをもたらさないと思われるので、対象物体の検出は低い優先度のタスクであってよい。ただし、操作すべき物体の検出に失敗することは、操作すべき新たな物体を特定するための追加の走査を実行する必要に伴う時間的遅延によって望ましくない。
【００１９】
［0028］  いくつかの実施形態において、センサ軌道は、高い優先度のタスクに対応する環境部分の全てを走査し、低い優先度のタスクに対応する環境部分の一部のみを走査することを示してよい。たとえば、低い優先度のタスクに対応する環境部分は、高い優先度のタスクに対応する環境部分全てが走査された後に走査され得る。他の例において、低い優先度のタスクに対応する環境部分と高い優先度のタスクに対応する環境部分との重複は、高い優先度および低い優先度のタスクに対応するデータの同時取得を可能にし得る。１または複数のセンサ性能パラメータは、複数の目的に関連する優先レベルに基づいて決定されたセンサ軌道に沿ってセンサによって捕捉されるセンサデータのフレームごとに調整／決定され得る。たとえば、高い優先度のタスクに対応する環境部分は高解像度で走査され、低い優先度のタスクに対応する環境部分は低解像度で走査され得る。
【００２０】
［0029］  他の実施形態において、制御システムは、複数の目的の各々に対応する環境部分の走査に関連するコストを決定してよい。コストは、環境内での環境部分のそれぞれの位置および／またはセンサの現在位置または予想未来位置に対する環境部分のそれぞれの位置に基づいてよい。たとえば障害物検出は、所定の経路に沿って環境エリアを走査することを備えてよい。所定の経路に沿って環境エリアを走査することは、センサの最小限の動きを伴ってよい（たとえば、車両のすぐ前にあるエリアの走査は最小限のセンサパンしか必要としない）。対照的に、物体検出（たとえば箱、パレット）は、車両の左右にあるエリアを走査することを備えてよい。したがって、車両の左右にあるエリアを走査するためにセンサをパンすることは、車両のすぐ前のエリアを走査することに比べて大きいセンサの動きを伴い得る。その結果、物体検出は、対応する環境部分を走査するためにセンサをパンするための長い時間および高い動力コストに関連し得る。
【００２１】
［0030］  同様に、環境の一部の走査に関連するコストは、複数の目的の各々に対応する環境部分について決定され、またはそれに関連する１または複数のセンサ性能パラメータ（たとえば倍率レベル、フレームレート、画像露光、利得など）に基づいてよい。たとえば、環境の特定の部分のより詳細な走査像を捕捉するためにズームインすることは、センサのズームレベルを調整する時間コストおよび環境の小さな範囲を走査する機会コストに関連し得る（たとえば、高いズームレベルはセンサのより小さな範囲の視野に対応し得る）。
【００２２】
［0031］  制御システムは、複数の目的の各々に関連するコストに基づいて複数の目的に関する総コスト関数を決定してよい。総コスト関数は、考えられる様々なリソースコストの中でもとりわけ、時間コスト、動力コスト、および／または走査解像度コストを含んでよい。制御システムは、総コスト関数を最小にするセンサ軌道を決定してよい。たとえば、総コスト関数を最小にすることは、隣接した環境部分の連続的な走査をもたらすようにセンサ軌道に対応する環境部分が走査され、センサのパン運動の繰り返しの方向転換を回避するように、順序を修正することを備えてよい。
【００２３】
［0032］  １つの実施形態において、センサ軌道を決定するための動作は、所定の経路の始点におけるセンサ位置（たとえば現在センサ位置）と、所定の経路の終点における複数の候補センサ位置との間の複数の候補センサ軌道を決定することを含んでよい。複数の候補センサ軌道は、所定の経路を複数の時点に離散化することによって決定され得る。各時点について、センサの最大回転速度および前の時点におけるセンサの角位置を前提として、センサが移動し得る複数の候補角位置が決定され得る。所定の経路の始点および所定の経路の終点に対応する時点の間で、複数の候補角位置シーケンスが決定され得る。複数の候補センサ軌道は、複数の候補角位置シーケンスを含んでよい。
【００２４】
［0033］  動作は更に、候補センサ軌道の各々について、それぞれのセンサ軌道に沿ってセンサによって観察可能な環境部分のセットを決定することを含んでよい。複数の目的に関連する環境部分に最も厳密に合致する環境部分のセットに関連する候補センサ軌道を選択することによって、複数の候補センサ軌道から特定のセンサ軌道が選択され得る。一例において、センサに観察可能な環境における個別の特徴の数が最大であるセンサ軌道が選択され得る。他の例において、センサに観察可能な優先度の高い環境部分の数が最大であるセンサ軌道が選択され得る。
【００２５】
［0034］  動作は更に、センサに関する１または複数のセンサパラメータを決定および／または調整することを含んでよい。センサパラメータは、考えられる様々なパラメータの中でもとりわけ、センサのズーム／倍率レベル、センサのフレームレート、センサによって実行される走査の解像度、画像露光、ホワイトバランス、および／またはセンサの利得レベルを含んでよい。一例において、１または複数のセンサパラメータは、センサを通過させるセンサ軌道を決定した後に決定され得る。特に、１または複数のセンサパラメータは、決定／選択されたセンサ軌道に沿ってセンサによって観察可能な各環境部分について決定され得る。
【００２６】
［0035］  他の例において、１または複数の候補センサパラメータは、複数の候補センサ軌道の各々について決定され得る。複数の候補センサ軌道からの特定のセンサ軌道の選択は、各候補センサ軌道に対応して決定された候補センサパラメータに基づいてよい。特に、候補センサパラメータは、センサが特定の候補センサ軌道に沿って動くとともにセンサが移動し得る複数の候補角位置の各々について決定され得る。このように、センサが複数の目的に関連する環境部分を走査し、かつ各環境部分が走査される時の品質を改善および／または最適化することを可能にするセンサ軌道が選択され得る。車両の制御システムは、１または複数の決定されたセンサパラメータに基づいて、センサが決定されたセンサ軌道を通って動き決定されたセンサ軌道に対応する環境部分を走査するとともにセンサのパラメータを設定または調整する命令を提供してよい。
【００２７】
［0036］  更なる例において、１または複数のセンサパラメータは、センサが決定されたセンサ軌道に沿った環境部分を走査するとともに更新され得る。たとえばセンサのフレームレートは、各環境部分の複数のデータ／画像フレームを捕捉するために十分であってよい。センサは最初、１または複数の決定されたセンサパラメータ（たとえば初期パラメータ）で特定の環境部分を走査してよい。各データ／画像フレームは、取得されたデータが対応する動作を実行（たとえば基準タグを認識）するために十分であるかを決定するために分析され得る。分析に基づいて、特定の環境部分の後続する走査の品質を改善するために、センサパラメータに対する１または複数の更新が決定され得る（たとえば制御システムは、フィードバックシステムを実装してよい）。センサパラメータに対する１または複数の更新は、後続の走査が、対応する動作を実行するために十分なデータを提供する可能性を高くし得る。
【００２８】
［0037］  他の実施形態において、センサ基準フレームは、所定の経路に沿った複数の時点の各々において決定され得る。車両が所定の経路に沿って動くと、環境に対するセンサのポーズは、センサがアクティブに駆動されなくとも車両の運動によって変化し得る。このポーズの変化は、センサ基準フレームとして用いられ得る。センサ軌道を決定することは、複数の時点の各々について、特定の時点において特定の時点に対応するセンサ基準フレームに対してどのようにセンサを再方向付けるかを決定することを備えてよい。たとえば車両が特定の時点において右折するように計画された場合、センサ位置は、特定の時点より前の時点において、センサによって観察可能な環境部分の右にある環境部分にセンサを向けるように調整される必要はない。その結果、複数の目的に対応する環境部分を走査するために必要なセンサの動きは低減または最小化され得る。
【００２９】
［0038］  一般に、複数の候補センサ軌道からセンサ軌道を選択することは、複数の目的に関連するパラメータを示す目的関数に基づいてよい。パラメータは、様々な可能性の中でもとりわけ、センサ軌道に沿って観察可能な個別の特徴（たとえば物体、ランドマーク）の数、センサ軌道に沿って観察可能な個別の環境部分の数、センサ軌道の一部に対応する走査品質（たとえば倍率、解像度、露光、ホワイトバランス、利得など）、および／または複数の目的の各々に関連する環境部分をセンサ軌道がカバーし得る速度を含んでよい。センサ軌道は、目的関数および／または任意のパラメータを最大化するように選択され得る。目的関数は、グローバル計画システムによって提供され、車両によって決定され、および／または車両のユーザ／オペレータによって指定されてよい。
ＩＩ．ロボット車両システムの例
【００３０】
［0039］  図１は、本明細書で説明される実施形態に関連して使用され得る車両システムの構成例を示す。車両システム１００は、自律的に、半自律的に、および／またはユーザ（複数も可）によって提供される指示を用いて動作するように構成され得る。車両システム１００は、たとえばフォークリフト、パレットジャック、車、トラック、モータサイクル、バス、ボート、飛行機、ヘリコプタ、芝刈り機、ブルドーザ、ボート、雪上車、航空機、レジャー用車両、遊園地用の乗り物、農業設備、建設機械、倉庫設備、トラム、ゴルフカート、列車、およびトロリーなどの様々な形式で実装され得る。他の形式も可能である。また車両システム１００は、様々な呼称の中でもとりわけ、ロボット、ロボットデバイス、移動ロボット、またはロボット車両とも称され得る。
【００３１】
［0040］  図１に示すように、車両システム１００は、プロセッサ（複数も可）１０２、データストレージ１０４、およびコントローラ（複数も可）１０８を含んでよく、これらはまとめて制御システム１１８の一部であってよい。車両システム１００は、センサ（複数も可）１１２、電源（複数も可）１１４、機械部品１１０、電気部品１１６、および通信リンク（複数も可）１２０も含んでよい。なお、車両システム１００は例示を目的として示されており、より多いまたは少ない部品を含んでよい。車両システム１００の様々な構成要素は、有線または無線接続を含む任意の方法で接続され得る。また、いくつかの例において、車両システム１００の構成要素は、単一の物理エンティティではなく複数の物理エンティティに分散されてよい。車両システム１００の他の例も存在してよい。
【００３２】
［0041］  プロセッサ（複数も可）１０２は、１または複数の汎用ハードウェアプロセッサまたは専用ハードウェアプロセッサ（たとえばデジタル信号プロセッサ、特定用途向け集積回路など）として動作してよい。プロセッサ（複数も可）１０２は、コンピュータ可読プログラム命令１０６を実行し、データ１０７を操作するように構成されてよく、これらはいずれもデータストレージ１０４に格納される。プロセッサ（複数も可）１０２は、たとえばセンサ（複数も可）１１２、電源（複数も可）１１４、機械部品１１０、電気部品１１６、および／または通信リンク（複数も可）１２０など、車両システム１００の他の構成要素と直接または間接的にインタラクトしてもよい。
【００３３】
［0042］  データストレージ１０４は、１または複数の種類のハードウェアメモリであってよい。たとえばデータストレージ１０４は、プロセッサ（複数も可）１０２によって読取りまたはアクセスすることができる１または複数のコンピュータ可読記憶媒体の形式であり、またはこれを含んでよい。１または複数のコンピュータ可読記憶媒体は、プロセッサ（複数も可）１０２に全体的または部分的に統合され得る、たとえば光、磁気、有機、または他の種類のメモリまたはストレージなどの揮発性および／または不揮発性記憶部品を含んでよい。いくつかの実施形態において、データストレージ１０４は、単一の物理デバイスであってよい。他の実施形態において、データストレージ１０４は、有線または無線通信を介して互いに通信し得る２つ以上の物理デバイスを用いて実装され得る。上述したように、データストレージ１０４は、コンピュータ可読プログラム命令１０６およびデータ１０７を含んでよい。データ１０７は、様々な可能性の中でもとりわけ、たとえば構成データ、センサデータ、および／または診断データなど、任意の種類のデータであってよい。
【００３４】
［0043］  コントローラ１０８は、（様々なタスクの中でもとりわけ）機械部品１１０、センサ（複数も可）１１２、電源（複数も可）１１４、電気部品１１６、制御システム１１８、通信リンク（複数も可）１２０、および／または車両システム１００のユーザの任意の組み合わせ間でのインタフェースとなるように構成された、１または複数の電気回路、デジタル論理ユニット、コンピュータチップ、および／またはマイクロプロセッサを含んでよい。いくつかの実施形態において、コントローラ１０８は、車両システム１００の１または複数のサブシステムとともに特定の動作を実行するための特別目的組込みデバイスであってよい。
【００３５】
［0044］  制御システム１１８は、車両システム１００の動作条件を監視し、物理的に変更してよい。そうすることで、制御システム１１８は、たとえば機械部品１１０および／または電気部品１１６間など、車両システム１００の部分間のリンクとして機能し得る。いくつかの例において、制御システム１１８は、車両システム１００と他のコンピューティングデバイスとの間のインタフェースとして機能してよい。また制御システム１１８は、車両システム１００とユーザとの間のインタフェースとして機能してよい。たとえば制御システム１１８は、ジョイスティック、ボタン、および／またはポートなどを含む、車両システムと通信するための様々な構成要素を含んでよい。上述したインタフェースおよび通信の例は、有線または無線、あるいはその両方によって実装され得る。制御システム１１８は、車両システム１００に関する他の動作も実行してよい。
【００３６】
［0045］  いくつかの実装において、車両システム１００の制御システム１１８は、情報を送信および／または受信するように構成された通信リンク（複数も可）１２０も含んでよい。通信リンク（複数も可）１２０は、車両システム１００の様々な構成要素の状態を示すデータを伝送してよい。たとえば、センサ（複数も可）１１２によって読み取られた情報は、通信リンク（複数も可）１２０を介して別のデバイスへ伝送され得る。電源（複数も可）１１４、機械部品１１０、電気部品１１６、プロセッサ（複数も可）１０２、データストレージ１０４、および／またはコントローラ１０８の整合性または正常性を示す他の診断情報は、通信リンク（複数も可）１２０を介して外部通信デバイスへ伝送され得る。
【００３７】
［0046］  いくつかの実装において、車両システム１００は、後にプロセッサ（複数も可）１０２によって処理される情報を通信リンク（複数も可）１２０において受信してよい。受信情報は、プログラム命令１０６の実行中にプロセッサ（複数も可）１０２によってアクセス可能なデータを示してよい。また、受信情報は、機械部品１１４または電気部品１１６の挙動に影響を及ぼし得るコントローラ（複数も可）１０８の態様を変更してよい。場合によっては、受信情報は、特定の情報（たとえば、車両システム１００の構成要素の１または複数の動作状態）を要求するクエリを示してよい。プロセッサ（複数も可）１０２はその後、特定の情報を通信リンク（複数も可）１２０へ伝送し戻してよい。
【００３８】
［0047］  場合によっては、通信リンク（複数も可）１２０は有線接続を含んでよい。車両システム１００は、通信リンク（複数も可）１２０を外部デバイスにインタフェース接続するための１または複数のポートを含んでよい。通信リンク（複数も可）１２０は、有線接続に加えてまたはその代わりに、無線接続を含んでよい。いくつかの有線接続の例は、たとえばＣＤＭＡ、ＥＶＤＯ、ＧＳＭ／ＧＰＲＳ、またはＷｉＭＡＸまたはＬＴＥなどの４Ｇテレコミュニケーションなどのセルラ接続を利用してよい。代替または追加として、無線接続は、無線ローカルエリアネットワーク（ＷＬＡＮ）へデータを伝送するためにＷｉＦｉ接続を利用してよい。いくつかの実装において、無線接続は、赤外線リンク、Ｂｌｕｅｔｏｏｔｈ、または近距離通信（ＮＦＣ）デバイスを介して通信してもよい。
【００３９】
［0048］  動作中、制御システム１１８は、有線または無線接続を介して車両システム１００の他のシステムと通信してよく、車両の１または複数のユーザまたはオペレータと通信するように更に構成され得る。可能な例の１つとして、制御システム１１８は、パレットを倉庫の第１の位置から倉庫の第２の位置へ移動する命令を示す（たとえばユーザまたは他の車両からの）入力を受信してよい。制御システム１１８への入力は、通信リンク（複数も可）１２０を介して受信され得る。
【００４０】
［0049］  この入力に基づいて、制御システム１１８は、車両システム１００に、パレットを位置特定するためにセンサ１１２を用いて倉庫の環境を分析させ、その後機械部品１１０を用いてパレットをピックアップして移動させる動作を実行してよい。
【００４１】
［0050］  制御システム１１８の動作は、プロセッサ（複数も可）１０２によって実行され得る。あるいはこれらの動作は、コントローラ１０８、またはプロセッサ（複数も可）１０２およびコントローラ１０８の組み合わせによって実行され得る。いくつかの実施形態において、制御システム１１８は、車両システム１００以外のデバイスに全体的または部分的に常駐してよく、したがって車両システム１００を少なくとも部分的に遠隔的に制御してよい。通信リンク（複数も可）１２０は少なくとも部分的に、遠隔通信を実行するために用いられ得る。
【００４２】
［0051］  機械部品１１０は、車両システム１００が物理的動作を実行することを可能にし得る車両システム１００のハードウェアを表す。いくつかの例として、車両システム１００は、たとえばロボットアーム（複数も可）、車輪（複数も可）、トラック（複数も可）、リンケージ（複数も可）、および／またはエンドエフェクタ（複数も可）などの物理部材を含んでよい。車両システム１００の物理部材または他のパーツは、互いに関連する物理部材を動かすように構成されたモータおよび駆動器を更に含んでよい。車両システム１００は、制御システム１１８および／または他の部品を収容するための１または複数の構造体も含んでよく、他の種類の機械部品を更に含んでよい。所与のロボットにおいて用いられる特定の機械部品１１０は、ロボットの設計に基づいて様々であってよく、ロボットが実行するように構成され得る動作および／またはタスクに基づいてもよい。
【００４３】
［0052］  いくつかの例において、機械部品１１０は、１または複数の取外し可能部品を含んでよい。車両システム１００は、そのような取外し可能部品を付加および／または取外しするように構成されてよく、これはユーザおよび／または他のロボットによる支援を伴ってよい。たとえば車両システム１００は、取外し可能なアーム、リンケージ、および／またはエンドエフェクタを有して構成されてよく、これらの部材は、車両１００が実行すると予想または計画されるタスクに基づいて必要または所望に応じて取替えまたは変更され得る。いくつかの実施形態において、車両システム１００は、１または複数の取外し可能および／または取替え可能なバッテリユニットまたはセンサを含んでよい。いくつかの実施形態において他の種類の取外し可能部品が含まれてよい。
【００４４】
［0053］  車両システム１００は、車両システム１００の態様を感知するように構成されたセンサ（複数も可）１１２を含んでよい。センサ（複数も可）１１２は、様々な可能性の中でもとりわけ、１または複数の力センサ、トルクセンサ、速度センサ、加速度センサ、ポジションセンサ、近接センサ、運動センサ、位置センサ、荷重センサ、温度センサ、タッチセンサ、深さセンサ、超音波距離センサ、赤外センサ、物体センサ、および／またはカメラ（たとえば深さカメラおよび／またはステレオカメラ）を含んでよい。いくつかの例において、車両システム１００は、ロボットから物理的に離れたセンサ（たとえば、他のロボットに配置された、またはロボットが動作する環境内に設けられたセンサ）からのセンサデータを受信するように構成され得る。いくつかの実施形態において、センサ（複数も可）１１２のいくつかは、限られた視野を有してよい。
【００４５】
［0054］  センサ（複数も可）１１２は、車両システム１００と環境とのインタラクション、および車両システム１００の動作の監視を可能にするために、プロセッサ（複数も可）１０２へ（場合によってはデータ１０７によって）センサデータを提供してよい。センサデータは、制御システム１１８による機械部品１１０および電気部品１１６のアクティブ化、動き、および非アクティブ化に関する様々な要因の評価に用いられ得る。たとえばセンサ（複数も可）１１２は、環境の地形、位置、および／または付近の物体（たとえばパレット、環境ランドマーク）のアイデンティティに対応するデータを捕捉してよく、これらは環境認識およびナビゲーションを支援し得る。構成例において、センサ（複数も可）１１２は、（たとえば長距離物体検出、距離決定、および／または速度決定のための）レーダ、（たとえば短距離物体検出、距離決定、および／または速度決定のための）ライダ、（たとえば水中物体検出、距離決定、および／または速度決定のための）ソナー、（たとえばモーションキャプチャのための）ＶＩＣＯＮ（登録商標）、１または複数のカメラ（たとえば３Ｄ立体視用ステレオカメラ）、グローバルポジショニングシステム（ＧＰＳ）トランシーバ、および／または車両システム１００が動作している環境の情報を捕捉するための他のセンサを含んでよい。センサ（複数も可）１１２は、リアルタイムで環境を監視し、障害物、地形の要素、天候条件、温度、および／または環境の他の態様を検出してよい。
【００４６】
［0055］  また、車両システム１００は、車両システム１００の様々な構成要素の状態を監視し得るセンサ（複数も可）１１２を含む、車両システム１００の状態を示す情報を受信するように構成されたセンサ（複数も可）１１２を含んでよい。センサ（複数も可）１１２は、車両システム１００のシステムのアクティビティを測定し、たとえば車輪、リンケージ、駆動器、エンドエフェクタ、および／または車両システム１００の他の機械および／または電気機構の動作など、車両システム１００の様々な機構の動作に基づく情報を受信してよい。センサ（複数も可）１１２によって提供されたデータは、制御システム１１８が、車両システム１００の構成要素の全体動作を監視するとともに動作におけるエラーを決定することを可能にし得る。
【００４７】
［0056］  例として、車両システム１００は、車両の予定経路に沿って障害物を検出し、車両１００の環境における環境ランドマークを識別し、たとえばパレットおよび箱などの対象物体を特定するために、環境の一部を走査するためにステレオカメラを用いてよい。ステレオカメラは、限られた視野を有してよい。機械部品１１０および電気部品１１６は、ステレオカメラの視野を環境の様々な部分に向けるためにステレオカメラを軌道に沿って動かすように協働してよい。
【００４８】
［0057］  他の例として、センサ（複数も可）１１２は、１または複数の速度および／または加速度センサを含んでよい。センサ（複数も可）１１２は、線速度および角速度および／または線加速度および角加速度の両方を測定してよい。たとえばセンサ（複数も可）１１２は、３軸加速度計、３軸ジャイロスコープ、および３軸磁気計を有する慣性測定ユニット（ＩＭＵ）を含んでよい。ＩＭＵは、重力ベクトルに対して世界フレームで速度および加速度を感知し得る。ＩＭＵによって感知された速度および加速度はその後、車両システム１００におけるＩＭＵの位置および車両システム１００の運動学に基づいて、車両システム１００の速度および加速度に変換され得る。
【００４９】
［0058］  車両システム１００は、本明細書で詳細に説明されない他の種類のセンサを含んでよい。追加または代替として、車両システム１００は、本明細書に挙げられていない目的のために特定のセンサを用いてもよい。
【００５０】
［0059］  車両システム１００は、車両システム１００の様々な構成要素に動力を供給するように構成された１または複数の電源（複数も可）１１４も含んでよい。あらゆる可能なパワーシステムの中でもとりわけ、車両システム１００は、油圧システム、電気システム、バッテリ、および／または他の種類のパワーシステムを含んでよい。例として、車両システム１００は、車両システム１００の部品に充電するように構成された１または複数のバッテリを含んでよい。機械部品１１０および／または電気部品１１６のいくつかは、各々が異なる電源に接続されてよく、同じ電源によって動かされてよく、あるいは複数の電源によって動かされてもよい。
【００５１】
［0060］  たとえば電力またはガソリンエンジンなど任意の種類の電源が、車両システム１００を動かすために用いられ得る。追加または代替として、車両システム１００は、流体力を用いて機械部品１１０に動力を供給するように構成された油圧システムを含んでよい。車両システム１００の部品は、たとえば油圧システムを介して様々な油圧モータおよび油圧シリンダへ伝送される油圧流体に基づいて動作してよい。１つの例において、油圧流体は、フォークリフト、フォークトラック、および／またはパレットジャックのフォークを駆動するために用いられ得る。油圧システムは、車両システム１００の構成要素間の管、可撓性ホース、または他のリンクを通る加圧油圧流体によって油圧動力を伝達してよい。電源（複数も可）１１４は、たとえば外部電源への有線接続、無線充電、燃焼、または他の例など様々な種類の充電を用いて充電され得る。
【００５２】
［0061］  電気部品１１６は、電荷または電気信号を処理、伝達、および／または提供することができる様々な機構を含んでよい。可能な例の中でもとりわけ、電気部品１１６は、車両システム１００の動作を可能にするための電線、回路、および／または無線通信送信機および受信機を含んでよい。電気部品１１６は、車両システム１００が様々な動作を実行することを可能にするために、機械部品１１０と連携してよい。電気部品１１６は、たとえば電源（複数も可）１１４からの電力を様々な機械部品１１０へ供給するように構成され得る。また車両システム１００は、電気モータを含んでよい。電気部品１１６の他の例も存在し得る。
【００５３】
［0062］  図１には示さないが、車両システム１００は、車両システム１００の構成要素に接続し、または部品を収容し得るシャーシおよび／またはオペレータキャビンを含んでよい。シャーシおよび／またはキャビンの構造は、例において様々であってよく、所与の車両が実行するように設計され得る特定の動作に更に依存してよい。たとえば、大きく重い荷物を運搬するために開発された車両は、荷物の積載を可能にする広く堅牢なシャーシを有してよい。同様に、軽い荷物を高速で運搬するように設計された車両は、大した重量を有さない小さなシャーシを有してよい。また、シャーシ、キャビン、および／または他の構成要素は、たとえば金属またはプラスティックなど様々な種類の材料を用いて作られてよい。他の例において、車両は、様々な構造を有する、または様々な種類の材料で作られたシャーシを有してよい。
【００５４】
［0063］  シャーシ、キャビン、および／または他の構成要素は、センサ（複数も可）１１２を含み、または運搬してよい。これらのセンサは、たとえばセンサ（複数も可）１１２に高い眺望をもたらすシャーシの頂部など、車両システム１００の様々な位置に設けられ得る。
【００５５】
［0064］  車両システム１００は、たとえば輸送用のカーゴ形式などの荷物を運搬してよい。荷物は、車両システム１００が利用し得る外部バッテリまたは他の種類の電源（たとえばソーラーパネル）を表してもよい。荷物の運搬は、車両システム１００が構成され得る使用例の１つを表すが、車両システム１００は、他の動作を実行するためにも構成されてよい。
ＩＩＩ．倉庫用車両隊の例
【００５６】
［0065］  図２Ａは、実施形態例に係る、倉庫環境における車両およびロボットデバイスの隊を示す。具体的には、様々な種類の車両およびロボットデバイスが、倉庫環境における物品、物体、または箱の取扱いに関するタスクを実行するために協働するように制御され得る異種ロボット車両隊２００を形成してよい。例となる特定の種類および数の様々な車両およびロボットデバイスがここでは例示目的で示されるが、ロボット車両隊２００は、より多いまたは少ない数の車両およびロボットデバイスを用いてよく、ここに示される特定の種類を省いてよく、明示されていない他の種類の車両およびロボットデバイスを含んでもよい。本明細書で説明される動作は、本明細書で示されまたは意図される車両のいずれかによってまたはそれに関して実行され得る。また倉庫環境は、ここでは特定の種類の固定構成要素および構造を備えて示されるが、他の例において他の種類、数、および配置の固定構成要素および構造も用いられてよい。
【００５７】
［0066］  ロボット車両隊２００内に示される車両の種類の一例は、自律搬送車（ＡＧＶ）２１２であり、これは、倉庫内の１つの場所から他の場所へ個々の小包、容器、または袋を輸送するために機能し得る、比較的小さい車輪付き車両であってよい。車両の種類の他の例は、自律フォークトラック２１４であり、これは、箱のパレットを輸送し、および／または箱のパレットを（たとえば収納ラックにパレットを載置するために）持ち上げるために用いられ得る、フォークリフト付き移動デバイスである。ロボット車両／デバイスの種類の追加の例は、ロボットトラックローダ／アンローダ２１６であり、これは、トラックまたは他の車両への／からの箱の積込み／荷卸しを容易にするためにロボットマニピュレータとともにたとえば光センサなどの他の構成要素を備えた移動デバイスである。たとえばロボットトラックアンローダ２１６は、倉庫に隣接して駐車され得る配送トラック２１８に箱を積み込むために用いられ得る。いくつかの例において、配送トラック２１８の（たとえば他の倉庫へ小包を配送するための）移動は、隊内のロボットデバイスと連携されてもよい。
【００５８】
［0067］  ここで説明されたもの以外の種類の車両および移動デバイスが加えてまたは代わりに含まれてもよい。たとえば車両隊２００は、たとえばパレットジャックおよび／またはフォークトラック／パレットジャックハイブリッドといった、フォークトラック２１４の変形例を含んでよい。いくつかの例において、１または複数の車両および／またはロボットデバイスは、地上の車輪以外にも様々な輸送モードを用いてよい。たとえば、１または複数のロボット車両／デバイスは空輸式（たとえばクアッドコプタ）であってよく、たとえば物体の移動または環境のセンサデータの収集などのタスクのために用いられ得る。
【００５９】
［0068］  更なる例において、ロボット隊２００は、倉庫内に設置され得る様々な固定構成要素も含んでよい。いくつかの例において、１または複数の固定ロボットデバイスは、箱を移動または処理するために用いられ得る。たとえば架台ロボット２２２は、倉庫内のグラウンドフロアに固定された架台上で上昇するロボットアームを含んでよい。架台ロボット２２２は、他のロボットおよび車両に箱を分配し、箱のパレットを段積および段ばらしするように制御され得る。たとえば架台ロボット２２２は、付近のパレット２４０から箱をピックアップして移動し、倉庫内の他の場所への輸送のために個々のＡＧＶ２１２に箱を分配してよい。
【００６０】
［0069］  追加の例において、ロボット隊２００は、倉庫空間内に設置された追加の固定構成要素を利用してよい。たとえば密集収納ラック２２４は、倉庫内のパレットおよび／または物体を収納するために用いられ得る。収納ラック２２４は、たとえば自律フォークトラック２１４など隊内の１または複数の車両および／またはロボットデバイスとのインタラクションを容易にするために設計され設置され得る。更なる例において、特定のグラウンド空間が、加えてまたは代わりにパレットまたは箱の収納のために選択され用いられてよい。たとえばパレット２３０は、車両および／またはロボットデバイスの１または複数によってパレットがピックアップ、分配、または他の方法で処理されることができるように、特定の期間、倉庫環境内の選択された位置に置かれてよい。
【００６１】
［0070］  図２Ｂは、実施形態例に係る、ロボット倉庫隊２００の構成要素を示す機能ブロック図である。ロボット隊２００は、たとえばＡＧＶ２１２、自律フォークトラック２１４、ロボットトラックローダ／アンローダ２１６、および配送トラック２１８など、様々な移動構成要素の１または複数を含んでよい。ロボット隊２００は、たとえば架台ロボット２２２、密集収納コンテナ２２４、およびバッテリ交換／充電ステーション２２６など、倉庫または他の環境に設置された１または複数の固定構成要素を更に含んでよい。更なる例において、図２Ｂに示される様々な数および種類の構成要素が隊に含まれ得るが、特定の種類が省かれてよく、図２Ａおよび図２Ｂに示される例に追加の機能的および／または物理的構成要素が追加されてもよい。個別の構成要素の動作を連携させるために、たとえば遠隔クラウドベースサーバシステムなどのグローバル制御システム２５０が、システム構成要素の一部または全てと、および／または個々の構成要素の個別のローカル制御システムと（たとえば無線通信によって）通信してよい。
【００６２】
［0071］  いくつかの例において、グローバル制御システム２５０は、隊２００内の様々なロボットデバイスにタスクを割り当てる中央計画システムを含んでよい。中央計画システムは、どのデバイスがどのタスクをどの時間に完了させるかを決定するために様々なスケジューリングアルゴリズムを利用してよい。たとえばオークション型システムが用いられてよく、この場合、個々のロボットが様々なタスクに入札し、中央計画システムは、総コストを最小にするようにロボットにタスクを割り当ててよい。追加の例において、中央計画システムは、たとえば時間、空間、またはエネルギ利用など１または複数の様々なリソースを最適化してよい。更なる例において、計画またはスケジューリングシステムは、箱のピッキング、梱包、または収納における地理および物理学の特定の態様を取り入れてもよい。
【００６３】
［0072］  計画制御は、個々のシステム構成要素に分散してもよい。たとえば、グローバル制御システム２５０は、グローバルシステム計画に従って命令を発行してよく、個々のシステム構成要素もまた、個別のローカル計画に従って動作してよい。また、様々なレベルの詳細がグローバル計画に含まれてよく、他の態様が、個々のロボットデバイスがローカルに計画するために残される。たとえば、移動ロボットデバイスは、グローバルプランナによって目的地を割り当てられ得るが、それらの目的地へ到達するための全ルートはローカルに計画または修正され得る。他の例において、グローバルプランナは、車両およびロボットデバイスに所定の経路を提供してよい。車両およびロボットデバイスは、所定の経路に沿って速度を制御し、ローカルセンサデータに基づいて所定の経路を修正してよい。
【００６４】
［0073］  追加の例において、中央計画システムは、ロボット車両隊２００におけるロボットの機能を連携させるために、個々の車両および／またはロボットデバイスにおけるローカルビジョンと関連して用いられ得る。たとえば中央計画システムは、行くべき場所に比較的近い車両および／またはロボットを知るために用いられ得る。しかし、車両／ロボットがレールにボルト留めされるか、あるいは車両／ロボットの位置を正確に制御するために他の測定部品が用いられない限り、中央計画システムが車両および／またはロボットにミリメートル単位の精密さで命令することは難しい。したがって、様々な車両および／またはロボットデバイス間での融通性を可能にするために、個々の車両および／またはロボットデバイスに関するローカルビジョンおよび計画が用いられ得る。全体プランナは、目的地に近い車両／ロボットを知るために用いられてよく、その地点で、車両／ロボットのローカルビジョンが引き継いでよい。いくつかの例において、多くの車両／ロボット機能は、目的地に比較的近い車両／ロボットを知るために位置制御されてよく、その後、ローカル制御のために必要な場合、ビジョンおよびハンドシェイクが用いられ得る。
【００６５】
［0074］  更なる例において、ビジュアルハンドシェイクは、２つの車両／ロボットがＡＲタグまたは他の特徴によって互いに識別し、隊１００において協同動作を実行することを可能にし得る。追加の例において、加えてまたは代わりに物品（たとえば輸送される小包）に視覚タグが設けられてもよく、これは、ローカル視覚制御を用いて物品に動作を実行するために車両および／またはロボットデバイスによって用いられ得る。特に、タグは、車両および／またはロボットデバイスによる物品の操作を容易にするために用いられ得る。たとえばパレット上の特定の位置にある１または複数のタグは、どこでまたはどのようにパレットを持ち上げるかをフォークリフトに通知するために用いられ得る。
【００６６】
［0075］  追加の例において、固定および／または移動構成要素のための開発および／または計画戦略は、経時的に最適化され得る。たとえばクラウドベースサーバシステムは、隊内の個々の車両／ロボットから、および／または外部ソースからのデータおよび情報を取り入れてよい。その結果、戦略は、隊が使用する空間、時間、動力、電力を少なくし、または他の変数を最適化することを可能にするために、経時的に改良され得る。いくつかの例において、最適化は、場合によってはロボット車両隊を有する他の倉庫および／または従来の倉庫を含む複数の倉庫に及んでよい。たとえば、グローバル制御システム２５０は、施設間の配送車両および移動時間に関する情報を中央計画に取り入れてよい。
【００６７】
［0076］  いくつかの例において、中央計画システムは、たとえばロボットが衝突した場合、または小包がある位置で落下して紛失した場合など、失敗することがある。したがってローカルロボットビジョンは、中央プランナが失敗した場合の事例を取り扱うための冗長を挿入することによって堅牢性をもたらしてもよい。たとえば、自律パレットジャックは、物体を通過および識別すると、遠隔クラウドベースサーバシステムへ情報を送信してよい。そのような情報は、中央計画におけるエラーを修正し、ロボットデバイスのローカル化、または紛失した物体の識別に役立つように用いられ得る。
【００６８】
［0077］  更なる例において、中央計画システムは、ロボット隊２００およびロボットデバイスによって処理中の物体を含む物理環境の地図を動的に更新してよい。いくつかの例において、地図は、動的物体（たとえば移動中のロボットおよびロボットによって移動される小包）に関する情報を用いて継続的に更新され得る。追加の例において、動的地図は、倉庫内の（または複数の倉庫にわたる）構成要素の現在の構成および／または配置と、それらの短期的に予測される情報との両方に関する情報を含んでよい。たとえば地図は、移動中のロボットの位置および今後のロボットの予測位置を示してよく、これは、ロボット間でアクティビティを連携させるために用いられ得る。地図は、処理中の物品の現在位置および物品の予測未来位置（たとえば物品が現在どこにあるか、および物品がいつ出荷されると予測されるか）も示してよい。地図は、倉庫環境を通過するために車両およびロボットデバイスが通行する経路を決定するために用いられ得る。
【００６９】
［0078］  追加の例において、ロボットの一部または全ては、プロセス内の様々な時点で物体におけるラベルを走査してよい。走査は、構成要素および物品を発見および追跡することを容易にするために個々の構成要素または特定の物品に付加され得るビジュアルタグを探索するために用いられ得る。この走査は、物品が車両およびロボットによって操作または輸送されると一定に周囲を動く物品の航跡をもたらし得る。潜在的な利益として、供給者側および消費者側の両方における透明性の付加があり得る。供給者側において、在庫品の現在位置に関する情報は、在庫過多を回避し、および／または需要を予測するために様々な場所または倉庫へ物品または物品パレットを移動するために用いられ得る。消費者側において、特定の物品の現在位置に関する情報は、特定の小包が配送される時を優れた正確さで決定するために用いられ得る。
【００７０】
［0079］  いくつかの例において、ロボット隊２００における移動構成要素２１０の一部または全ては、複数のバッテリ充電器を装備したバッテリ交換ステーション２２６から充電済みバッテリを定期的に受け取ってよい。具体的には、ステーション２２６は、移動ロボットの古いバッテリを再充電したバッテリと交換してよく、それによってロボットがバッテリ充電のために静止および待機することが防がれ得る。バッテリ交換ステーション２２６は、たとえばロボットアームなどのロボットマニピュレータを装備してよい。ロボットマニピュレータは、個々の移動ロボットからバッテリを取り外し、そのバッテリを利用可能なバッテリ充電器に取り付ける。ロボットマニピュレータはその後、ステーション２２６にある充電済みバッテリを移動ロボットへ移動し、取り外したバッテリと交換してよい。たとえば、弱いバッテリを有するＡＧＶ２１２は、バッテリ交換ステーション２２６へ移動するように制御されてよく、そこでロボットアームは、ＡＧＶ２１２からバッテリを引き抜き、そのバッテリを充電器へ押し込み、ＡＧＶ２１２に新しいバッテリを付与する。
【００７１】
［0080］  図３Ａ、図３Ｂ、および図３Ｃは、ロボット車両倉庫隊に含まれ得る車両のいくつかの例を示す。ここで説明されるものから形式を変えた他のロボットデバイスおよび他の種類のロボットデバイスが含まれてもよい。
【００７２】
［0081］  図３Ａは、実施形態例に係るロボットトラックアンローダ３００を示す。ロボットトラックアンローダ３００は、図１に示すような車両システム１００の一例であってよい。いくつかの例において、ロボットトラックアンローダは、１または複数のセンサ、１または複数のコンピュータ、および１または複数のロボットアームを含んでよい。センサは、視覚データおよび／または３次元（３Ｄ）奥行き情報を捕捉するために、１または複数の物体を含む環境を走査するようにセンサ軌道に沿って移動してよい。走査からのデータはその後、デジタル環境再構築を提供するために、より大きなエリアの表現に統合され得る。追加の例において、再構築された環境はその後、ピックアップする物体の識別、物体の取上げ位置の決定、および／または１または複数のロボットアームおよび／または移動基部に関する衝突のない軌道の計画のために用いられ得る。
【００７３】
［0082］  ロボットトラックアンローダ３００は、環境内の物体を把持するための把持部品３０４を有するロボットアーム３０２を含んでよい。ロボットアーム３０２は、トラックまたは他のコンテナの積込みまたは荷卸しのために箱をピックアップし載置するために把持部品３０４を用いてよい。トラックアンローダ３００は、移動のための車輪３１４を有する可動カート３１２も含んでよい。車輪３１４は、カート３１２が２自由度で移動することを可能にするホロノミック車輪であってよい。また、ラップアラウンドフロントコンベヤベルト３１０がホロノミックカート３１２に含まれ得る。いくつかの例において、ラップアラウンドフロントコンベヤベルトは、トラックローダ３００が、把持器３０４を回転させることなくトラックコンテナまたはパレットから箱を荷卸しし、または箱を積み込むことを可能にし得る。
【００７４】
［0083］  更なる例において、ロボットトラックアンローダ３００の感知システムは、たとえばセンサ３０６およびセンサ３０８など、ロボットアーム３０２に取り付けられた１または複数のセンサを用いてよく、これらは、ロボットアーム３０２が動くと環境に関する情報を感知する２次元（２Ｄ）センサおよび／または３Ｄ奥行きセンサであってよい。いくつかの例において、センサ３０６および／または３０８は、限られた視野を有する視覚センサ（たとえばステレオカメラ）であってよい。ロボットアーム３０２は、センサ３０６によって観察可能な環境部分を制御するためにセンサ３０６を動かすように制御され得る。
【００７５】
［0084］  感知システムは、箱を効率的に取り上げ移動するために制御システム（たとえば行動計画ソフトウェアを実行中のコンピュータ）によって用いられ得る、環境に関する情報を決定してよい。制御システムは、デバイスにあってよく、あるいはデバイスと遠隔通信状態にあってよい。更なる例において、たとえば前部ナビゲーションセンサ３１６および後部ナビゲーションセンサ３１８など、移動基部に固定された台を有する１または複数の２Ｄまたは３Ｄセンサ、およびたとえばセンサ３０６およびセンサ３０８など、ロボットアームに取り付けられた１または複数のセンサによる走査は、トラックまたは他のコンテナの側面、床、天井、および／または前壁を含む環境のデジタルモデルを構築するために統合され得る。この情報を用いて、制御システムは、移動基部を荷卸しまたは積込みのための位置まで走行させてよい。
【００７６】
［0085］  更なる例において、ロボットアーム３０２は、たとえばデジタル吸引格子把持器などの把持器３０４を装備してよい。そのような実施形態において、把持器は、遠隔感知または一点距離測定によって、および／または吸引が遂行されたかを検出することによってオンまたはオフのいずれかにされ得る１または複数の吸引弁を含んでよい。追加の例において、デジタル吸引格子把持器は、多関節エクステンションを含んでよい。いくつかの実施形態において、レオロジー流体または紛体によって吸引把持器を駆動する可能性は、曲率の高い物体に対する優れた把持を可能にし得る。
【００７７】
［0086］  トラックアンローダ３００は、電力によって動く電気モータであってよく、またはたとえばガスベースの燃料または太陽電力など多数の様々なエネルギ源によって動かされ得るモータを更に含んでよい。また、モータは、電源から電力を受け取るように構成され得る。電源は、ロボットシステムの様々な構成要素に電力を供給してよく、たとえば再充電可能なリチウムイオン電池または鉛蓄電池を表し得る。実施形態例において、そのようなバッテリの１または複数のバンクは電力を供給するように構成され得る。他の電源材料および種類も考えられる。
【００７８】
［0087］  図３Ｂは、実施形態例に係る自律搬送車（ＡＧＶ）を示す。具体的には、ＡＧＶ３４０は、個々の箱またはケースを輸送することができる比較的小さい移動ロボットデバイスであってよい。ＡＧＶ３４０は、倉庫環境内での移動を可能にする車輪３４２を含んでよい。また、ＡＧＶ３４０の上面３４４は、輸送するための箱または他の物体を載置するために用いられ得る。いくつかの例において、上面３４４は、ＡＧＶ３４０へまたはＡＧＶ３４０から物体を移動するための回転コンベヤを含んでよい。ＡＧＶ３４０は、ＡＧＶ３４０に接続され、環境の様々な部分を観察するためにＡＧＶ３４０に対して動く（たとえばＡＧＶ３４０に対して回転および／または並進する）ように構成されたセンサ３４６（たとえばステレオカメラ）を含んでよい。センサ３４６は、様々なタスクの中でもとりわけ、障害物検出、車両位置確認、およびパレット／物体検出に用いられ得る。いくつかの実装例において、センサ３６４は、図３Ｂに示すＡＧＶ３４０の部分とは別の部分に接続されてよい。
【００７９】
［0088］  追加の例において、ＡＧＶ３４０は、迅速にバッテリ充電ステーションにおいて再充電および／またはバッテリ交換ステーションにおいて新しいバッテリと交換することができる１または複数のバッテリによって動かされてよい。更なる例において、ＡＧＶ３４０は、たとえばナビゲーション用センサなど、ここで特に示されない他の構成要素を更に含んでよい。場合によっては倉庫に取り扱われる小包の種類に依存して、様々な形状およびサイズのＡＧＶがロボット倉庫隊に含まれてもよい。
【００８０】
［0089］  図３Ｃは、実施形態例に係る自律フォークトラックを示す。具体的には、自律フォークトラック３６０は、箱パレットまたは他のより大きな物品を持ち上げおよび／または動かすためのフォークリフト３６２を含んでよい。いくつかの例において、フォークリフト３６２は、収納ラックの様々なラックまたは倉庫内の他の固定収納構造に到達するように上昇してよい。自律フォークトラック３６０は、倉庫内でパレットを輸送するために移動するための車輪３６４を更に含んでよい。追加の例において、自律フォークトラックは、ロボットトラックアンローダ３００に関して上述したようなモータおよび電源と感知システムとを含んでよい。たとえば自律フォークトラック３６０は、環境の様々な部分を観察するために自律フォークトラック３６０に対して動く（たとえば回転および／または並進する）ように構成されたセンサ３６６（たとえばステレオカメラ）を含んでよい。センサ３６６は、図３Ｃに示す自律フォークトラック３６０の部分とは別の部分に接続されてよい。自律フォークトラック３６０は、図３Ｃに示すものからサイズまたは形状が変わってもよい。
ＩＶ．センサ軌道決定動作の例
【００８１】
［0090］  本明細書で説明され示される自律車両（たとえばロボットトラックアンローダ３００、ＡＧＶ３４０、およびフォークトラック３６０）および他の同様の車両およびロボットデバイス（たとえば自律パレットジャック）は、倉庫または同様の環境において複数のタスクを実行するために用いられ得る。たとえば車両は、物体を受け取り、物体を格納し、収納から物体を取り出し、物体を輸送し、倉庫から物体を配送し、または同様の環境の倉庫において物体に他の処理をするために用いられ得る。車両は、別の場所へ輸送するための箱をピックアップするために、倉庫または収納設備の特定のエリアへ移動してよい。車両は、箱内の物品を操作するために、箱パレットを段積または段ばらしし、および／または箱を開封してよい。
【００８２】
［0091］  複数のタスクを実行する際、自律車両は、たとえば図２Ａに示すグローバル制御システム２５０によって、所定の経路に沿って移動するように指示され得る。グローバル制御システム２５０は、自律車両の動作を同期させ、他の車両、物体、環境の特徴、および／または環境内の人間作業員と衝突する可能性を最小限にするために、所定の経路を生成してよい。所定の経路は、トラックの積込み／荷卸しをし、パレットを段積／段ばらしし、本明細書において説明または考慮される他の動作のいずれかを実行するために、車両を同期させてよい。
【００８３】
［0092］  自律車両の一部または全ては、限られた視野を有するセンサを装備してよい。例において、視野は、所与の時間にセンサに可視である角度の広がり（たとえば体積または面積）であってよい。限られた視野を有さないセンサは、センサを回転させる必要なく、センサの周囲の３６０度全ての角度の広がりを観察することができ得る。対照的に、限られた視野を有するセンサは、センサ周囲の全３６０度の角度の広がりの一部しか観察することができない。したがってセンサは、センサ周囲の３６０度全ての角度の広がりを観察するために回転または並進する必要があり得る。一例において、限られた視野は、所与の時間にセンサに可視である４５度の角度の広がりを備えてよい。したがって、センサの周囲の全３６０度の角度の広がりの８分の１のみが所与の時間にセンサによって観察可能であって（たとえばセンサの視野内にあって）よい。
【００８４】
［0093］  センサは、視覚センサ（たとえば図３Ａ、図３Ｂ、および図３Ｃに示すようなセンサ３０６、３０８、３４６、または３６６）であってよい。いくつかの例において、センサは、自律車両による環境全体のナビゲーションおよび環境内での物体の認識のためにデータを収集するために用いられる一次センサおよび／または唯一のセンサであってよい。したがってセンサは、たとえば障害物検出、車両位置確認、および物体検出（たとえばパレット検出、箱検出）を含む複数の目的に関するセンサデータを収集するために用いられ得る。複数の目的に関するセンサデータを収集するために単一のセンサを用いることは、複数の目的の目的ごとに１つのセンサを用いるよりも安上がりであり得る。更に、複数のセンサではなく１つのセンサを用いることは、複数のセンサからのデータの処理に関連する計算上の複雑性を低減するとともに、複数のセンサからのデータを受信および処理するために必要なハードウェアの量を低減し得る。
【００８５】
［0094］  図４は、センサに関するセンサ軌道を決定するための動作のフロー図４００の例を示す。ブロック４０２において、車両が通行するための所定の経路が決定および／または受信され得る。例において、所定の経路は、車両が動作しているまたは動作することが予想される環境の少なくとも一部を通る経路であってよい。所定の経路は、複数の車両の動作を同期させるように構成されたグローバル制御システムによって決定され得る。あるいは所定の経路は、車両にローカルな制御システム（たとえば車両のナビゲーションシステム）によって決定され得る。
【００８６】
［0095］  ブロック４０４において、車両が所定の経路に沿って移動するともに車両に接続されたセンサからのセンサデータを収集する複数の目的が決定および／または受信され得る。例において、目的は、車両隊における車両が実行するように計画または構成されたタスクまたは機能であってよく、タスクまたは機能の性能は、対応／関連するセンサデータのセットの取得に依存する。したがって、複数の目的の各々は、対応するセンサデータのセットに関連してよい。複数の目的のうち特定の目的に関連する対応するセンサデータのセットは、複数の目的を達成するために必要なデータのセットであってよい。たとえば、特定の目的が所定の経路に沿った障害物の検出である場合、対応するセンサデータのセットは、所定の経路に沿った環境の一部を表すセンサデータを含んでよい。所定の経路に沿った環境の一部を表すセンサデータは、所定の経路に沿った障害物を検出するために必要および／または十分であってよい。
【００８７】
［0096］  センサは、センサに可視である環境部分を制御するために車両に対して回転および／または並進するように構成され得る。センサの回転は、ピッチ軸、ロール軸、およびヨー軸の少なくとも１つの周囲であってよい。センサの移動は、ｘ軸、ｙ軸、およびｚ軸の少なくとも１つに沿ってよい。センサは、１または複数の並進運動機構を用いて車両に対して並進するように構成され得る。一例において、センサは、車両に対してセンサを水平または垂直に動かすように構成されたリードスクリューに接続され得る。他の例において、センサは、車両に対してセンサを上げ下げするように構成された伸縮式アームを介して車両に接続され得る。
【００８８】
［0097］  ブロック４０６において、複数の目的の各々について、センサが対応するセンサデータのセットを取得するために走査する少なくとも１つの環境部分が決定され得る。上述した障害物検出の例において、少なくとも１つの環境部分は、所定の経路に沿った環境部分（たとえば、車両が所定の経路に沿って移動する際に車両が占めると予想される環境エリア）を含んでよい。他の例において、目的が対象物体の検出である場合、少なくとも１つの環境部分は、対象物体が占めることが予想される車両の両側におけるエリアを含んでよい。特に、車両は倉庫の通路を通って移動してよく、対象物体を識別するために車両の両側の棚／ラックを走査してよい。物体は、たとえば物体に取り付けられまたは設けられた基準マーク／タグ（たとえばＡＲタグ、Ａｐｒｉｌタグ）に基づいて識別され得る。
【００８９】
［0098］  ブロック４０８において、車両が所定の経路に沿って移動する間にセンサを通過させるセンサ軌道が、複数の目的の各々について決定された少なくとも１つの環境部分に基づいて決定され得る。センサ軌道は、車両が所定の経路に沿って移動するとともにセンサを通過させる角位置軌道、および角位置軌道に沿ってセンサを動かすための速度を示す、角位置軌道に対応する速度プロファイルを含んでよい。
【００９０】
［0099］  ブロック４１０において、センサは、決定されたセンサ軌道を通って動かされ、車両が所定の経路に沿って移動するとともに、決定されたセンサ軌道に対応する環境部分を走査してよい。いくつかの例において、決定されたセンサ軌道に対応する環境部分を走査することは、複数の目的の各々について決定された少なくとも１つの環境部分の各々を走査することを含んでよい。他の例において、決定されたセンサ軌道に対応する環境部分を走査することは、複数の目的の各々について決定された少なくとも１つの環境部分のサブセットを走査することを含んでよい。
Ｖ．個々の動作に関する環境部分の決定の例
【００９１】
［0100］  複数の目的のうちの目的に対応するセンサデータのセットを取得するためにセンサが走査する少なくとも１つの環境部分を決定することは、環境における物体の予想位置を決定することを含んでよい。一例において、物体の予想位置は、センサによる環境部分の過去の走査に基づいて決定され得る。過去の走査は、その車両および／または車両隊の一部を形成する複数の他の車両によって行われてよい。物体を含むことが予想される環境部分は、物体が未だ予想位置にあるか、または物体が移動されたかを決定するために走査され得る。同様に、環境における車両の正確な位置の不確実さによって、センサは、車両と物体との相対位置をより正確に決定するために、物体を含むことが予想される環境部分を走査してよい。
【００９２】
［0101］  他の例において、車両の制御システムは、特定の環境部分が対象物体を含むことを想定してよい。たとえば、倉庫の通路を通って移動する場合、制御システムは、対象物体（たとえば箱、パレット）が倉庫の通路を形成している棚に置かれていることを予想してよい。同様に、所定の経路に沿って障害物検出を実行する場合、制御システムは、所定の経路に沿って任意の障害物が存在するかを決定するために所定の経路に対応する環境部分をセンサに走査させてよい。
【００９３】
［0102］  図５は、複数の目的のうちの特定の目的に対応するセンサデータのセットを取得するためにセンサが走査する少なくとも１つの環境部分を決定するための動作の例を示す。特に図５は、パレットジャック５００として車両の上面図を示す。図５における車両はパレットジャックとして示されるが、車両は、本明細書で説明または意図される他の車両のいずれかであってよい。
【００９４】
［0103］  パレットジャック５００は、パレットをピックアップして移動するために用いられ得るフォーク５０２および５０４を含む。パレットジャック５００は、センサ５０５を更に含む。センサ５０５は、対応する視野５０６ａ（破線で図示）を有する向き５０６ｂ（破線で図示）、および対応する視野５０８ａ（点線で図示）をもたらす向き５０８ｂ（点線で図示）において示される。視野５０６ａおよび５０８ａは、パレットジャック５００が動作している環境の床面における、センサ５０５の３次元（３Ｄ）視野の２次元（２Ｄ）投影であってよい。視野５０６ａおよび５０８ａは、同一のサイズおよび形状であってよく、対応する視野をもたらすセンサの位置（５０６ｂおよび５０８ｂ）のみが異なってよい。
【００９５】
［0104］  対象物体５１０は、センサ５０５の視野５０６ａおよび５０８ａの範囲内に示される。位置５０６ｂにおけるセンサ５０５のパレットジャック５００に対する角度は、物体５１０の位置と交差するセンサ５０５の視野の広がりをもたらす最小センサ角度を備えてよい。同様に、位置５０８ｂにおけるセンサ５０５のパレットジャック５００に対する角度は、物体５１０の位置と交差するセンサ５０５の視野の広がりをもたらす最大センサ角度を備えてよい。対象物体５１０は、たとえばパレット、箱、環境の特徴、他の対象物体、またはそこにある基準タグ（たとえばＡｐｒｉｌタグ）であってよい。物体５１０の全体が視野５０６ａおよび５０８ａと完全に交差し、またはそれに含まれることを確実にするために、物体５１０の予想サイズまたは実際のサイズに余裕距離が足されてよい。
【００９６】
［0105］  したがって、センサを通過させるためのセンサ軌道を決定することは、センサの角位置が決定された角位置範囲内にある時、センサの視野の広がりが物体の予想位置と交差するようにセンサの角位置の範囲を決定することを含んでよい。向き５０６ｂに対応するセンサ５０５の角位置は、決定された範囲の第１の境界（たとえば決定された範囲の最小値）を形成してよい。同様に、向き５０８ｂに対応するセンサ５０５の角位置は、決定された範囲の第２の境界（たとえば決定された範囲の最大値）を形成してよい。決定された角位置範囲は、車両の基準フレームまたは環境の基準フレームで表され得る。
【００９７】
［0106］  いくつかの実施形態において、センサ５０５のズーム／倍率レベルは、パレットジャック５００の制御システムによって調整可能および／または制御可能であってよい。ズームレベルを調整することによって、視野５０６ａおよび５０８ｂは大きくまたは小さくなり得る。特に、高レベルのズーム／倍率は、視野５０６ａおよび５０８ａをより長細くし得る（たとえば視野５０６ａの曲線部分は互いに離れるように移動し、直線部分は互いに近付くように移動してよい）。低いレベルのズーム／倍率は、視野５０６ａおよび５０８ａを広く短くし得る（たとえば視野５０６ａの曲線部分は互いに近付くように移動し、直線部分は互いに離れるように移動してよい）。
【００９８】
［0107］  したがって、センサを通過させるためのセンサ軌道を決定することは、センサズーム／倍率の複数の可能なレベルの各々についてセンサの複数の角位置範囲を決定することを含んでよい。複数の範囲の各々は、センサの角位置が決定された角位置範囲内にある時、所与のズームレベルにおけるセンサの視野の広がりが物体の予想位置と交差するようなものであってよい。
【００９９】
［0108］  図６は、複数の目的のうちの特定の目的に対応するセンサデータのセットを取得するためにセンサが走査する少なくとも１つの環境部分を決定するための動作の代替例を示す。特に図６は、車両のための所定の経路に沿って障害物を検出するためにセンサデータを収集するための環境の範囲を示す。車両は、フォーク６０２および６０４を有するパレットジャック６００の形式で示され、センサ６０５は、環境の一部を通って通行するための所定の軌道６０６を受信してよい。制御システムは、所定の経路６０６に沿ったパレットジャック６００の予想位置におけるパレットジャック６００の複数の投影幾何表現を決定してよい。特に、制御システムは、所定の軌道６０６に沿ったパレットジャック６００の幾何表現６０８、６１０、６１２、６１４、および６１６を決定してよい。
【０１００】
［0109］  パレットジャック６００と環境内の物体との衝突を防ぐために、センサ６０５は、パレットジャックが所定の経路６０６に沿って移動すると今後パレットジャック６００によって占められることが予想される環境部分（たとえば、パレットジャック６００の投影幾何表現６０８、６１０、６１２、６１４、および６１６によって占められる環境エリア）を走査するために用いられ得る。所定の経路６０６に沿って障害物を検出するためにセンサデータを収集する環境部分を輪郭付けるために、頂点６１８〜６２３を有する凸多角形は、パレットジャック６００の投影幾何表現６０８〜６１６に適合してよい。凸多角形の頂点６１８〜６２３は、センサが凸多角形にわたってセンサ６０５の視野を掃引するように走査することによって、所定の経路６０６に沿って障害物を検出するためにセンサデータを収集する対象の環境部分の全てを走査するための臨界点であってよい。
【０１０１】
［0110］  図５に関して説明された手順の次に、臨界点（たとえば頂点６１８〜６２３）の各々について、センサの視野内に臨界点を配置するセンサの角位置範囲（および範囲の最小および最大境界）を臨界点ごとに決定することが続いてよい。頂点６１８〜６２３の各々について決定された最大および最小角度に基づいて、凸多角形に関してグローバル最小角度およびグローバル最大角度（たとえば、センサの視野によって凸多角形エリアを掃き出すためにセンサが動き得るセンサの角位置のグローバル範囲）が決定され得る。グローバル最大角度およびグローバル最小角度は、車両の基準フレームおよび環境の基準フレームにおいて表され得る。
【０１０２】
［0111］  センサ６０５をグローバル最小角度からグローバル最大角度まで掃引することによって、センサは、凸多角形のエリアを走査し、所定の軌道６０６に沿って移動しながら、パレットジャック６００によって占められることが予想される環境部分（たとえば、投影６０８、６１０、６１２、６１４、および６１６によって占められた部分）を走査してよい。グローバル最小角度とグローバル最大角度との間の角度範囲の一部を通ってセンサ６０５を掃引することによって、センサ６０５は、パレットジャック６００によって占められることが予想される環境部分の一部のサブセットを走査してよい。たとえば、頂点６１９〜６２２間の凸多角形のエリアを走査することは、投影６０８によって占められることが予想される環境部分を全体的に走査し、投影６１０、６１２、および６１４によって占められることが予想される環境部分を部分的に走査してよい。
【０１０３】
［0112］  いくつかの実施形態において、頂点６１８〜６２３を有する凸多角形は、図６に示すように、パレットジャック６００のすぐ前にあるエリアを含まないことがある。パレットジャック６００のすぐ前のエリアは、センサの視野がパレットジャック６００の近傍に及ばないことによって省かれ得る。センサ６０５は、図５における向き５０６ｂにおけるセンサ５０５と投影視野５０６ａとの間の隙間によって示されるように、センサ６０５から特定の距離内にある環境部分を走査することができないことがある。更に、パレットジャック６００の正面のエリアは、そのエリアがセンサ６０５によって過去に走査されていることによって、凸多角形から省かれてよい。
ＶＩ．候補センサ軌道計画動作の例
【０１０４】
［0113］  図７は、複数の候補センサ軌道を決定するためのプロセスのグラフィック表現を示す。特に、所定の軌道に対応するタイムラインが複数の時点７００〜７０３に離散化され得る。時点７００は、所定の軌道の始点に対応してよく、時点７０３は、所定の軌道の終点に対応してよい。一般に、所定の経路の長さおよび所定の経路が離散化される粒度に依存して、より多いまたは少ない数の時点が存在してよい。所定の経路が離散化される粒度は、本明細書で説明される動作を実行する制御システムまたはコンピューティングデバイスのハードウェア制限および／またはセンサのフレームレート制限に基づいてよい。
【０１０５】
［0114］  時点７００〜７０３の各々について、図５および図６に関して説明したように、対象物体（たとえば箱またはパレット）または複数の目的の各々に対応して決定された環境部分（たとえば所定の軌道に沿った、車両によって占められることが予想されるエリア）をセンサの視野内に入れるセンサの角位置範囲が決定され得る。
【０１０６】
［0115］  所定の経路の始点に対応する時点７００において、センサは角位置Θ＝Φにあってよく、Φは、ブロック／ノード７０４に示すように、所定の経路の始点におけるセンサの初期角位置である。ブロック７０４およびブロック７０６〜７３２は、コンピューティングデバイスのメモリに格納されたデータ構造のノードの視覚表現であってよい。ノード７０４に対応する角センサ位置および車両位置からセンサに可視である特徴、物体、および／または環境部分のセットは、ノード７０４におけるセット［０］と示すように、ノード７０４の一部として格納され得る。セット［０］は、対象物体および／または複数の目的の各々に対応して決定された環境部分をセンサの視野内に入れるように決定されたセンサの角位置範囲に基づいて決定され得る。
【０１０７】
［0116］  特に、制御システムは、ブロック７０４におけるセンサの角センサ位置Θ＝Φが、決定された角位置範囲に含まれ、または交差するかを決定してよい。センサの角センサ位置Θ＝Φが、決定された角位置範囲に含まれ、または交差する場合、制御システムは、対象物体および／または複数の目的の各々に対応して決定された環境部分が、時点７００において予想される車両位置および時点７００におけるセンサの角位置Θ＝Φからセンサによって観察可能であり得ることを決定してよい。具体的には、制御システムは、対象物体および／または決定された環境部分のどれがセンサに観察可能であるかを決定し、この情報をセット［０］に格納してよい。
【０１０８】
［0117］  センサは、特定の最大速度で車両に対して動くように制限され得る。したがって、時点７００と時点７０１との時間差において、センサは、時点７００と時点７０１との時間差と最大速度との積に等しい距離だけ左または右へパンしてよい。連続する時点間での最大パン距離は、図７においてΔαと表される。図７は、センサが２次元において左または右へ回転する事例のみを考察するが、３次元のセンサ運動にも同じプロセスが適用され得る。また、センサを左または右へ動かすことに加えて、センサの角位置は変わらないままであってよい。この事例は簡潔性のために図７には示されないが、本明細書において意図されるものである。
【０１０９】
［0118］  したがって、時点７０１において、センサは、ノード７０６に示すように候補角位置Θ＝Φ−Δα（初期位置Θ＝ΦからΔαだけ左方向へ回転）、Θ＝Φ（位置は変わらず、不図示）、およびノード７０８に示すようにΘ＝Φ＋Δα（初期位置Θ＝ΦからΔαだけ左方向へ回転）という候補角位置を得てよい。再び、ノード７０６および７０８において、ノード７０６および７０８に対応する角センサ位置および車両位置からセンサに可視である特徴、物体、および／または環境部分のセットが、ノード７０６におけるセット［１］およびノード７０８におけるセット［２］と示されるように、ノード７０６および７０８の一部として格納され得る。ノード７０６および７０８は、ノード７０６および７０８の各々に到達するためにノード７０４を出発して通過する一連のノードに沿ってセンサに観察可能な物体および／または環境特徴／部分の累積リストを表す累積データセットを更に含んでよい。したがって、ノード７０６および７０８は、ノード７０４に観察可能な特徴のリスト（たとえばセット［０］）を更に含んでよい。累積データセットは、セット［１］およびセット［２］の一部として格納され得る。
【０１１０】
［0119］  時点７０２において、候補角位置を決定するプロセスは、ノード７０６および７０８の各々で開始して更に繰り返され得る。特に、ノード７０６によって表される角位置Θ＝Φ−Δαから移動する場合、センサは、ノード７１０に示すようにΘ＝Φ−２Δα（ノード７０６の角位置Θ＝Φ−ΔαからΔαだけ左方向へ回転）、Θ＝Φ−Δα（位置は変わらず、不図示）、およびノード７１２に示すようにΘ＝Φ（ノード７０６の角位置Θ＝Φ−ΔαからΔαだけ右方向へ回転）という候補角位置を得てよい。同様に、ノード７０８によって表される角位置Θ＝Φ＋Δαから移動する場合、センサは、ノード７１４に示すようにΘ＝Φ（ノード７０８の角位置Θ＝Φ＋ΔαからΔαだけ左方向へ回転）、Θ＝Φ＋Δα（位置は変わらず、不図示）、およびノード７１６に示すようにΘ＝Φ＋２Δα（ノード７０８の角位置Θ＝Φ＋ΔαからΔαだけ右方向へ回転）という候補角位置を得てよい。ノード７１０〜７１６の各々について、ノード７１０〜７１６に対応する角センサ位置および車両位置からセンサに可視である特徴、物体、および／または環境部分のセットは、ノード７１０におけるセット［３］、ノード７１２におけるセット［４］、ノード７１４におけるセット［５］、およびノード７１６におけるセット［６］と示すように、ノード７１０〜７１６の一部として格納され得る。ノード７１０〜７１６の各々は、ノード７１０〜７１６の各々に到達するために通過する一連のノードに沿ってセンサによって観察可能な物体および／または環境特徴／部分の累積リストを表す累積データセットを含んでよい。累積データセットは、セット［３］、セット［４］、セット［５］、およびセット［６］の一部として格納され得る。
【０１１１】
［0120］  上述したプロセスは、ノード７１８〜７３２に対応する角位置および車両位置からセンサに可視である特徴、物体、および／または環境部分の対応するセットを有する、時点７０３におけるノード７１８〜７３２を生成するために更に繰り返され得る。ノード７１８〜７３２の各々は、ノード７１８〜７３２の各々に到達するためにノード７０４を出発して通過する一連のノードに沿ってセンサによって観察可能な物体および／または環境特徴／部分の累積リストを表す累積データセットを含んでよい。累積データセットは、セット［７］、セット［８］、セット［９］、セット［１０］、セット［１１］、セット［１２］、セット［１３］、セット［１４］の一部として格納され得る。たとえばセット［７］は、セット［０］、セット［１］、およびセット［３］に格納されたデータの累積リストを含んでよい。セット［１２］は、セット［０］、セット［２］、およびセット［５］に格納されたデータの累積リストを含んでよい。
【０１１２】
［0121］  ノード７０４〜７３２に対応する車両位置および角センサ位置は、図６に関して説明したように、所定の経路に沿った車両の予想位置における車両の投影幾何表現に基づいて決定され得る。車両が所定の経路に沿って移動すると、環境に対するセンサのポーズ（たとえば位置および向き）は、センサ自体が車両に対して回転、並進、または他のように動かされなくても、車両の動きによって変化し得る。すなわち、車両が所定の経路に沿って移動すると、車両の基準フレームは、環境内の静的基準フレームから逸脱し得る。車両に対するセンサのポーズは、センサが能動的に動き、または移動しない限り、変化しないこともある。図７に示すように、センサの角位置（たとえばノード７０４におけるΘ＝Φ、ノード７０８におけるΘ＝Φ＋Δα）は、車両の基準フレームにおいて表現され得る。したがって、複数の目的に対応する対象物体および／または環境部分／特徴に対応して決定された角位置範囲が、車両の基準フレームとは異なる基準フレームにおいて表現された場合、決定された角位置範囲は車両の基準フレームに変換される必要がある。
【０１１３】
［0122］  いくつかの実施形態において、センサの回転、並進、または動きがない場合のセンサの環境に対するポーズは、センサ軌道を決定するため、および／または決定されたセンサ軌道に沿ってどのようにセンサを動かすかを決定するための代替基準フレームとして用いられ得る。この基準フレームは、センサ基準フレームと称され得る。センサ基準フレームは動的基準フレームであってよく、センサが（センサ自体の動きによってではなく）所定の経路に沿った車両の動きによって環境内で向きおよび位置を変えると、センサ基準フレームは変化してよい。センサ基準フレームは、特定の時点における車両の投影幾何表現および特定の時点より前の時点における車両に対するセンサポーズに基づいて、複数の未来の時点のうち特定の時点に関して決定され得る。したがって、センサ軌道を決定することは、所定の経路に沿った各時点について、複数の目的の各々について決定された環境部分を観察するために、センサ基準フレームに対してセンサをどのように動かすかを決定することを伴ってよい。
【０１１４】
［0123］  図７に示すグラフは、有向非サイクルグラフと称され得る。いくつかの実施形態において、グラフのノードは、グラフを単純化するために統合され得る。具体的には、同一の状態または非常によく似た状態を表すノードは、グラフを単純化するために統合され得る。たとえば、２つ以上のノードの各々の環境特徴／部分の累積リストのそれぞれの累積データセットが同じである場合、その２つ以上のノードは統合され得る。ノード７２０および７２２は、セット［８］がセット［９］と同じ累積データセットを含む場合、統合され得る。すなわち、ノード７０４と７２０およびノード７０４と７２２との間のセンサ軌道において取得されたセンサデータに相違がない場合、ノード７２０および７２２は、単一のノードに統合され得る（たとえばノード７２２が削除され得る）。
【０１１５】
［0124］  他の実施形態において、２つ以上のノードの各々の環境特徴／部分の累積リストのそれぞれの累積データセットが同じである場合でも、その２つ以上のノードが統合されなくてもよい。特に、２つ以上のノードの各々への到達に関連するセンサ軌道の他の特性が考慮され得る。特性は、センサが移動する合計距離、センサの回転方向が変わる回数、および／またはセンサ軌道に沿ったセンサ走査の品質／解像度に影響を及ぼし得る他の要因を含んでよい。
【０１１６】
［0125］  ノード７０４とノード７１８〜７３２の各々との間の一連のノードは、複数の候補センサ軌道を備えてよく、その中から、車両が所定の経路に沿って移動するとともにセンサが通るセンサ軌道が選択される。対応するデータセットであるセット［７］〜セット［１４］は、所定のセンサ軌道に沿ってセンサによって観察可能な環境部分のセットを備えてよい。センサ軌道は、複数の目的に関連する少なくとも１つのパラメータを示す目的関数に基づいて、ノード７１８〜７３２によって表される複数の候補センサ軌道から選択され得る。すなわちセンサ軌道は、複数の目的を最も厳密に満たすノードをノード７１８〜７３２から選択することによって選択され得る。
【０１１７】
［0126］  目的関数は、車両の制御システム、グローバル制御システム、および／または車両のユーザ／オペレータによって決定され得る。目的関数のパラメータは、様々な可能性の中でもとりわけ、それぞれの候補センサ軌道に沿って可視である個別の物体および／または環境特徴／部分の数、それぞれの候補センサ軌道に沿って観察可能な、複数の目的の各々について決定された環境部分の数、それぞれの候補センサ軌道に沿ってセンサに消費される電力、それぞれのセンサ軌道を通過する時間、およびそれぞれのセンサ軌道に沿って取得されるセンサデータの最小および／または平均解像度を含んでよい。
【０１１８】
［0127］  目的関数および／またはそのパラメータを最大または最小にする（たとえば、観察される個別の環境部分の数を最大にし、センサ軌道を通過する時間を最小にする）センサ軌道が、複数の候補センサ軌道から選択され得る。いくつかの実施形態において、目的関数は、特定の候補センサ軌道に関連するコスト（たとえば時間、電力）を表すコスト関数と称され、またはこれを含んでよい。
【０１１９】
［0128］  いくつかの例において、制御システムは、複数の目的に対応する複数の優先レベルを受信してよい。目的関数は、高い優先度の目的に対応する、センサによって観察可能な環境部分の数を最大化する軌道を選択するように示してよい。あるいは目的関数は、高い優先度の目的（たとえば障害物検出）に対応する環境部分の全てがセンサ軌道に沿ってセンサによって走査される必要があることを示してよい。目的関数を満たすセンサ軌道を見出すことができない場合、所定の経路および／または所定の経路に沿った車両の速度が修正または調節され、目的関数によって指示された環境部分をセンサが走査することを可能にしてよい。
【０１２０】
［0129］  他の例において、複数のタスクに対応する環境部分および／またはセンサ軌道の一部に対応する最小走査解像度が、車両の制御システムによって決定され、または車両の制御システムへ提供され得る。たとえば最小走査解像度は、複数の目的の各々に関連する優先レベルに基づいてよい。あるいは最小走査解像度は、環境の一部における物体を認識／識別するのに不十分なデータを提供する環境部分の先行走査に応答して、環境の一部について決定され得る。車両の速度および／またはセンサの回転速度は、追加の環境部分を走査するため、および／またはいくつかの環境部分のより詳細な走査を実行する（たとえば、運動および振動による解像度の低下を最小限にするために車両およびセンサの両方が静止している時に走査を実行する）ための追加の時間をセンサに提供するために調節され得る。
【０１２１】
［0130］  いくつかの実施形態において、図７に関して説明した動作は、センサ軌道の計画および選択において１または複数のセンサパラメータを考慮するように拡大され得る。センサパラメータはセンサ性能パラメータと称されてよく、数々の様々なセンサパラメータの中でもとりわけ、ズーム／倍率レベル、フレームレート、解像度、画像露光、ホワイトバランス、および／または利得を含んでよい。センサ性能パラメータは、センサによって捕捉されるデータフレーム（たとえば画像フレーム）ごとに調整されてよく、集合的にデータフレームの品質（たとえば走査品質）を決定し、またはこれに影響を及ぼし得る。
【０１２２】
［0131］  データの品質は、たとえば対象物体と周囲の環境特徴とのコントラストのレベルに基づいて測定され得る。高コントラストは、背景環境に対して対象物体（たとえばパレット）が識別／認識され、車両に対する物体の位置／向きを決定するために解釈されることを可能にし得る。例において、データの品質は、特定の動作（たとえば障害物検出、環境特徴検出など）を実行する際に使用するためのデータの適応度として定義され得る。
【０１２３】
［0132］  センサは、複数のセンサパラメータの各パラメータについて可能な値またはオプションの範囲で構成され得る。たとえばセンサのズームレベルは、連続的または離散的インクリメントにおいて１倍〜３０倍の間で調整され得る（たとえば、１倍ずつのインクリメントは、１倍〜３０倍の範囲を３０の離散的ズーム値オプション１倍、２倍、３倍、・・・、２９倍、３０倍に分割し得る）。フレームレート、解像度、画像露光、ホワイトバランス、および／または利得の各々は、同様に離散化され得る同様の可能な値の範囲を有してよい。いくつかの実施形態において、２つ以上のパラメータ間のトレードオフが存在し得る。たとえば、フレームレートと画像解像度との積は、プロセッサまたはデータバスの最大帯域幅によって制限され得る。したがって、センサのフレームレートを増加させることは、センサによって捕捉される画像の解像度を対応して低下させることを付随し得る。
【０１２４】
［0133］  センサ回転および／または並進の速度が最大速度に限定され得るのと同じく、複数のセンサパラメータのうちのいくつかの変化レートは、最大値に限定され得る。たとえば、センサのズームレベルを調整することは、センサの１または複数のレンズを物理的に配置換えすることを伴ってよい。レンズの移動速度は、最大速度に限定され得る。したがって、ズームの変化レートは同様に、対応する最大値に限定され得る（たとえばズームは、時点７００と７０１との間の時間に最大で１倍インクリメントされ得る）。したがって、所定の経路の開始時におけるセンサのパラメータおよびパラメータの最大調整レートに依存して、ノード７０４〜７３２の各々においてセンサが設定または調整され得るパラメータは限定され得る。
【０１２５】
［0134］  一例において、センサパラメータは、複数の候補センサ軌道からセンサ軌道が選択された後に決定および／または調整され得る。特に、センサパラメータは、決定されたセンサ軌道に沿ってセンサによって観察可能な各環境部分について決定され得る。センサパラメータは、選択されたセンサ軌道に沿ってセンサに観察可能な環境部分に関連する、または関連すると予想される条件／特性に基づいて決定され得る。たとえば画像露光は、暗いまたは照明が乏しいと予想される環境部分（たとえばラックまたは棚）に関して増加され得る。同様に、センサ倍率は、センサの視野の遠方境界付近に位置すると予想される物体のより詳細な走査を実行するように増加され得る。このように、決定されたセンサ軌道に沿って収集されるデータの品質を改善または最適化するセンサパラメータが決定され得る。
【０１２６】
［0135］  他の例において、センサパラメータは、複数の候補センサ軌道の各々について決定され得る。センサ軌道は、複数の候補センサ軌道の各々について決定されたセンサパラメータに基づいて、複数の候補センサ軌道から選択され得る。所与の候補センサ軌道の各角位置においてセンサパラメータが調整され得る値は、候補センサパラメータと称され得る。図７に関して説明した動作は、候補センサパラメータを考慮するように拡大され得る。たとえば、センサズームがノード７０４において４倍に設定され、センサが、連続する時間ステップ間で１倍の最大変化レートに限定される場合、ノード７０６においてセンサは、３倍ズームまたは５倍ズームのいずれかに調整され得る。これは、ノード７０６（および他のノード）を、３倍ズームおよび５倍ズームの状態を表すように２つのノードに分割することによって視覚的に表され得る。
【０１２７】
［0136］  したがって、ノード７０４〜７３２の各々は時点および候補角位置に関連付けられることに加えて、各センサパラメータに関する可能な値の範囲にも関連付けられ得る。すなわち、それぞれの候補センサ軌道に沿ってセンサによって観察可能な環境部分のそれぞれのセットについて、環境部分のそれぞれのセットを走査するための１または複数の候補センサパラメータが決定され得る。したがって、複数の候補センサ軌道から、選択されたセンサ軌道に沿って観察可能な個別の物体／特徴の数を最大化するとともに個別の物体／特徴の各々を走査するためのセンサパラメータを改善または最適化する（たとえば、個別の物体／特徴を表すデータ／画像の品質を改善または最適化する）センサ軌道が選択され得る。その結果、個別の物体／特徴を識別／認識する可能性、および／または個別の物体／特徴が認識される正確さが高くなり得る。
【０１２８】
［0137］  いくつかの実施形態において、センサパラメータは、各データフレーム（たとえばカメラによって撮影される各写真）について決定および／または調整され得る。センサパラメータは、各データフレームの品質を改善または最適化するために連続したフレーム間で調整され得る。センサによって捕捉されるデータの品質は分析され、今後のデータフレームを捕捉するためのセンサパラメータを調整するためにフィードバックとして用いられ得る。いくつかの例において、フレームレートは、特定の環境部分の複数のフレームを捕捉するために十分であってよい。特定の環境部分の最初のデータ／画像フレームを捕捉する時、センサパラメータは、予想される条件／特性および／または特定の環境部分の予想されるコンテンツに基づいて特定の値に設定され得る（たとえば環境は暗いことが予想され、予想されるコンテンツは基準マーカであり、基準マーカはセンサに非常に近い位置にあることが予想され得る）。たとえば制御システムは、選択されたセンサ軌道に沿って観察可能な各環境部分について決定されたセンサパラメータに基づいてセンサパラメータを設定および／または調整してよい。
【０１２９】
［0138］  最初のデータフレームが取得された後、最初のデータフレームは、データの品質が、十分な程度の確実性／正確性で対象の物体／特徴を認識し、および／または車両に対する物体／特徴の位置／向きを決定するために十分であるかを決定するために分析され得る。制御システムは、最初のデータフレームに実行された分析に基づいて、後続するセンサデータフレームの品質を改善または最適化するためにセンサパラメータを調整または更新することを決定してよい（たとえば制御システムは、フィードバクシステムを含んでよい）。たとえば制御システムは、最初のデータ／画像フレームが過度に暗く、対象物体（たとえば基準マーカ）が、正確に認識するためにはセンサから遠すぎる位置にあることを決定してよい。制御システムは、センサのズーム／倍率レベルを高くし、センサの利得を高くし、および／またはセンサの画像露光を増加させることによってセンサのパラメータを調整することを決定してよい。その結果、後続するデータ／画像フレームは、最初のデータ／画像フレームよりも明るく、対象物体を正確に認識するのに十分な細部を含んでよい。
ＶＩＩ．結論
【０１３０】
［0139］  本開示は、様々な態様の実例として意図された、本出願で説明される特定の実施形態に関して限定されてはならない。当業者には明らかであるように、本発明の主旨および範囲から逸脱することなく多数の修正および変形例がもたらされ得る。本明細書に挙げられた方法および装置に加えて、本開示の範囲内である機能的に同等の方法および装置が上記説明から当業者には明らかである。そのような修正および変形例は、以下の特許請求の範囲に収まることが意図されている。
【０１３１】
［0140］  上記の詳細な説明は、添付図面を参照して開示されたシステム、デバイス、および方法の様々な特徴および機能を説明するものである。図面において、文脈が例外を示さない限り、類似した記号は一般的に類似した構成要素を識別する。本明細書および図面で説明された実施形態例は、限定的であることを意味するものではない。本明細書に提示された主題事項の主旨または範囲から逸脱することなく、他の実施形態が利用されてよく、他の変更がなされてよい。容易に理解されるように、本明細書で一般に説明され図面に示されるような本開示の態様は、多種多様な構成で配置、代替、結合、分離、および設計されてよく、それら全てが本明細書において明確に意図される。
【０１３２】
［0141］  情報の処理を表すブロックは、本明細書で説明された方法または技術の特定の論理関数を実行するように構成され得る回路に対応してよい。代替または追加として、情報の処理を表すブロックは、モジュール、セグメント、または（関連データを含む）プログラムコードの一部に対応してよい。プログラムコードは、方法または技術における特定の論理機能または論理動作を実装するためにプロセッサによって実行可能な１または複数の命令を含んでよい。プログラムコードおよび／または関連データは、たとえばディスクまたはハードドライブまたは他の記憶媒体を含むストレージデバイスなど任意の種類のコンピュータ可読媒体に格納され得る。
【０１３３】
［0142］  コンピュータ可読媒体は、たとえばレジスタメモリ、プロセッサキャッシュ、およびランダムアクセスメモリ（ＲＡＭ）といった短期間にわたりデータを格納するコンピュータ可読媒体など、非一時的コンピュータ可読媒体も含んでよい。コンピュータ可読媒体は、たとえば読取専用メモリ（ＲＯＭ）、光学または磁気ディスク、コンパクトディスク読取専用メモリ（ＣＤ‐ＲＯＭ）といった二次または持続的長期間ストレージなど、より長い期間にわたりプログラムコードおよび／またはデータを格納する非一時的コンピュータ可読媒体も含んでよい。コンピュータ可読媒体は、他の任意の揮発性または不揮発性ストレージシステムであってもよい。コンピュータ可読媒体は、たとえばコンピュータ可読記憶媒体または有形ストレージデバイスと考えられ得る。
【０１３４】
［0143］  また、１または複数の情報伝送を表すブロックは、同じ物理デバイスにおけるソフトウェアおよび／またはハードウェアモジュール間での情報伝送に対応してよい。ただし、異なる物理デバイスにおけるソフトウェアモジュールおよび／またはハードウェアモジュール間で他の情報伝送があってもよい。
【０１３５】
［0144］  図面に示す特定の構成は、限定的なものとみなすべきではない。他の実施形態は、所与の図面に示される各要素より多いまたは少ない要素を含んでよいことを理解すべきである。更に、図示された要素のいくつかは、結合または省略され得る。また、実施形態例は、図面に示されない要素を含んでよい。
【０１３６】
［0145］  様々な態様および実施形態が本明細書に開示されたが、他の態様および実施形態が当業者には明らかである。本明細書に開示された様々な態様および実施形態は例示を目的としたものであって限定的であることは意図されず、本発明の適正な範囲は、以下の特許請求の範囲によって示される。
【図１】
2019516185.tif 000003
【図２Ａ】
2019516185.tif 000004
【図２Ｂ】
2019516185.tif 000005
【図３Ａ】
2019516185.tif 000006
【図３Ｂ】
2019516185.tif 000007
【図３Ｃ】
2019516185.tif 000008
【図４】
2019516185.tif 000009
【図５】
2019516185.tif 000010
【図６】
2019516185.tif 000011
【図７】
2019516185.tif 000012
【国際調査報告】
2019516185.tif 000013
2019516185.tif 000014