(57)【要約】      （修正有）【課題】自律移動装置が自己位置を喪失することなく、未探索領域等を探索することが可能な技術を開示する。【解決手段】自律移動装置１０は、センサと、記憶装置と、移動部と、制御部と、を備える。制御部は、ｎ番目の位置Ｐにおいてｎ番目の計測結果を取得し、ｎ番目の計測結果を用いてｎ番目の特徴点ＣＰを生成し、ｎ−１番目の基点情報Ｂを特定することを試行する。制御部は、ｎ−１番目の基点情報Ｂが特定される場合に、自己位置及びセンサの計測方向を推定し、環境地図を更新する。制御部は、ｎ−１番目の基点情報Ｂが特定される場合に、ｎ番目の基点情報Ｂを生成し、ｎ番目の基点情報Ｂ及び未探索領域をセンサの所定範囲内ＭＲに収めることができる自律移動装置の位置Ｐ及びセンサの計測方向をｎ＋１番目の位置Ｐ及びｎ＋１番目の計測方向として特定し、自律移動装置をｎ＋１番目の位置Ｐに移動させ、センサをｎ＋１番目の計測方向に向けさせる。【選択図】図５
2020119081.tif 000002
【特許請求の範囲】
【請求項１】
自己位置の推定を行いながら探索を行う自律移動装置であって、
センサであって、前記センサの視軸に対して所定角度の範囲である所定範囲を計測可能な前記センサと、
環境地図を記憶する記憶装置と、
前記自律移動装置を移動させるための移動部と、
制御部と、を備え、
前記制御部は、
前記移動部を駆動させ、前記自律移動装置をｎ−１番目（ｎは、２以上の整数）の位置からｎ番目の位置へ移動させるとともに前記センサをｎ番目の計測方向に向けさせ、
前記自律移動装置がｎ番目の位置に位置している状態において、前記センサを駆動させ、未探索領域を含むｎ番目の計測結果を取得し、
前記ｎ番目の計測結果を用いて、ｎ番目の特徴点を生成し、
前記ｎ番目の特徴点を用いて、ｎ−１番目の位置において生成されたｎ−１番目の基点情報であって、前記ｎ番目の位置において、前記環境地図内における前記自律移動装置の自己位置及び前記センサの計測方向を推定するのに利用される前記ｎ−１番目の基点情報を特定することを試行し、
前記ｎ−１番目の基点情報が特定される場合に、前記ｎ−１番目の基点情報を用いて、前記環境地図内における前記自律移動装置の自己位置、及び、前記センサの計測方向を推定し、
前記ｎ−１番目の基点情報が特定される場合に、前記ｎ番目の計測結果を用いて、前記記憶装置に記憶されている前記環境地図を更新し、
前記ｎ−１番目の基点情報が特定される場合に、前記ｎ番目の特徴点を用いて、ｎ番目の基点情報であって、前記自律移動装置が、ｎ＋１番目の位置に移動した後に、前記環境地図内における前記自律移動装置の自己位置及び前記センサの計測方向を推定するのに利用される前記ｎ番目の基点情報を生成し、
前記ｎ番目の基点情報、及び、前記未探索領域を前記センサの前記所定範囲内に収めることができる前記自律移動装置の位置及び前記センサの計測方向を、ｎ＋１番目の位置及びｎ＋１番目の計測方向として特定し、
前記移動部を駆動させ、前記自律移動装置を前記ｎ＋１番目の位置に移動させるとともに、前記センサを前記ｎ＋１番目の計測方向に向けさせる、
自律移動装置。
【請求項２】
前記制御部は、
前記ｎ番目の計測結果を用いて、複数の前記ｎ番目の特徴点が生成される場合に、前記複数のｎ番目の特徴点の中から、前記未探索領域との距離が最も短い前記ｎ番目の特徴点を前記ｎ番目の基点情報として生成する、請求項１に記載の自律移動装置。
【請求項３】
前記制御部は、
前記ｎ−１番目の位置において、前記センサを駆動させ、ｎ−１番目の計測結果を取得し、
前記ｎ−１番目の計測結果を用いて、複数のｎ−１番目の特徴点が生成される場合に、前記複数のｎ−１番目の特徴点のそれぞれに関連付けられているｎ−１番目の優先情報であって、前記未探索領域との距離が近いｎ−１番目の特徴点程、優先順位が高い前記ｎ−１番目の優先情報を前記記憶装置に記憶させ、
前記ｎ番目の位置において、前記ｎ番目の特徴点を用いて、前記ｎ−１番目の基点情報が特定されない場合に、前記ｎ−１番目の優先情報内の優先順位に従って、新たなｎ−１番目の基点情報を生成し、
前記ｎ番目の特徴点を用いて、前記新たなｎ−１番目の基点情報を特定する、請求項１または２に記載の自律移動装置。
【請求項４】
前記制御部は、
前記自律移動装置を前記ｎ−１番目の位置から前記ｎ番目の位置に移動させる際に、前記移動部に入力されるｎ−１番目の入力情報を前記記憶装置に記憶させ、
前記ｎ番目の位置において、前記ｎ番目の特徴点を用いて、前記ｎ−１番目の基点情報が特定されない場合に、前記ｎ−１番目の入力情報を用いて、前記自律移動装置を前記ｎ番目の位置から前記ｎ−１番目の位置に戻させる、請求項１〜３のいずれか一項に記載の自律移動装置。
【請求項５】
前記制御部は、
前記ｎ番目の基点情報が特定される場合に、前記ｎ番目の基点情報、及び、前記未探索領域を収めることができる前記自律移動装置の位置、前記センサの計測方向の複数の組み合わせを特定し、
前記複数の組み合わせの中から、前記未探索領域の割合が最も大きい組み合わせを特定し、前記特定済みの組み合わせの位置及び計測方向を、前記ｎ＋１番目の位置及び前記ｎ＋１番目の計測方向として特定する、請求項１〜４のいずれか一項に記載の自律移動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に関する技術は、自律移動装置に関する。
【背景技術】
【０００２】
自己位置を推定しながら、未探索領域等を探索して、環境地図を生成する技術が知られている。この技術では、自律移動装置が有するセンサの計測結果を用いて、自己位置を推定しながら、未探索領域を探索し、環境地図を生成する。例えば、特許文献１に、自律移動装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−９５８５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術においては、センサを用いることによる自己位置の推定の困難さについて、何ら言及されていない。本明細書は、自律移動装置が自己位置を喪失することなく、未探索領域等を探索することが可能な技術を開示する。
【０００５】
本明細書の自律移動装置は、自己位置の推定を行いながら探索を行う。自律移動装置は、センサであって、前記センサの視軸に対して所定角度の範囲である所定範囲を計測可能な前記センサと、環境地図を記憶する記憶装置と、前記自律移動装置を移動させるための移動部と、制御部と、を備える。前記制御部は、前記移動部を駆動させ、前記自律移動装置をｎ−１番目（ｎは、２以上の整数）の位置からｎ番目の位置へ移動させるとともに前記センサをｎ番目の計測方向に向けさせ、前記自律移動装置がｎ番目の位置に位置している状態において、前記センサを駆動させ、未探索領域を含むｎ番目の計測結果を取得し、前記ｎ番目の計測結果を用いて、ｎ番目の特徴点を生成し、前記ｎ番目の特徴点を用いて、ｎ−１番目の位置において生成されたｎ−１番目の基点情報であって、前記ｎ番目の位置において、前記環境地図内における前記自律移動装置の自己位置及び前記センサの計測方向を推定するのに利用される前記ｎ−１番目の基点情報を特定することを試行し、前記ｎ−１番目の基点情報が特定される場合に、前記ｎ−１番目の基点情報を用いて、前記環境地図内における前記自律移動装置の自己位置、及び、前記センサの計測方向を推定し、前記ｎ−１番目の基点情報が特定される場合に、前記ｎ番目の計測結果を用いて、前記記憶装置に記憶されている前記環境地図を更新し、前記ｎ−１番目の基点情報が特定される場合に、前記ｎ番目の特徴点を用いて、ｎ番目の基点情報であって、前記自律移動装置が、ｎ＋１番目の位置に移動した後に、前記環境地図内における前記自律移動装置の自己位置及び前記センサの計測方向を推定するのに利用される前記ｎ番目の基点情報を生成し、前記ｎ番目の基点情報、及び、前記未探索領域を前記センサの前記所定範囲内に収めることができる前記自律移動装置の位置及び前記センサの計測方向を、ｎ＋１番目の位置及びｎ＋１番目の計測方向として特定し、前記移動部を駆動させ、前記自律移動装置を前記ｎ＋１番目の位置に移動させるとともに、前記センサを前記ｎ＋１番目の計測方向に向けさせる。
【０００６】
上記の構成では、自律移動装置は、ｎ番目の計測結果を用いて、ｎ番目の特徴点を生成する。そして、自律移動装置は、ｎ番目の特徴点を用いて、ｎ−１番目の基点情報を特定することを試行し、ｎ−１番目の基点情報が特定される場合に、ｎ−１番目の基点情報を用いて、自律移動装置の自己位置及びセンサの視軸方向を特定する。ｎ−１番目の基点情報は、ｎ−１番目の位置において、空間内における位置が決定されている情報、即ち、探索済みの情報である。従って、自律移動装置は、ｎ−１番目の基点情報を用いることで、自律移動装置の自己位置（即ちｎ番目の位置）、及び、センサの視軸方向（即ちｎ番目の視軸方向）を正確に推定することができる。また、自律移動装置は、ｎ番目の計測結果を用いて、記憶装置に記憶されている環境地図を更新する。これにより、ｎ番目の計測結果に含まれている未探索領域の地図情報が更新される。そして、自律移動装置は、ｎ番目の特徴点を用いて、ｎ番目の基点情報を特定し、さらに、ｎ＋１番目の位置及びｎ＋１番目の視軸方向を特定する。その後、自律移動装置がｎ＋１番目の位置に移動するとともに、センサがｎ＋１番目の視軸方向に向く。この場合、自律移動装置は、ｎ＋１番目の位置において、ｎ番目の基点情報を用いることで、自律移動装置の自己位置（即ちｎ＋１番目の位置）、及び、センサの視軸方向（即ちｎ＋１番目の視軸方向）を正確に推定することができる。従って、自律移動装置は、自己位置を喪失することなく、未探索領域を探索することができる。
【０００７】
制御部は、ｎ番目の計測結果を用いて、複数のｎ番目の特徴点が生成される場合に、複数のｎ番目の特徴点の中から、未探索領域との距離が最も短いｎ番目の特徴点をｎ番目の基点情報として生成してもよい。効果の詳細は実施例で説明する。
【０００８】
制御部は、ｎ−１番目の位置において、センサを駆動させ、ｎ−１番目の計測結果を取得し、ｎ−１番目の計測結果を用いて、複数のｎ−１番目の特徴点が生成される場合に、複数のｎ−１番目の特徴点のそれぞれに関連付けられているｎ−１番目の優先情報であって、未探索領域との距離が近いｎ−１番目の特徴点程、優先順位が高いｎ−１番目の優先情報を記憶装置に記憶させ、ｎ番目の位置において、ｎ番目の特徴点を用いて、ｎ−１番目の基点情報が特定されない場合に、ｎ−１番目の優先情報内の優先順位に従って、新たなｎ−１番目の基点情報を生成し、ｎ番目の特徴点を用いて、新たなｎ−１番目の基点情報を特定してもよい。効果の詳細は実施例で説明する。
【０００９】
制御部は、自律移動装置をｎ−１番目の位置からｎ番目の位置に移動させる際に、移動部に入力されるｎ−１番目の入力情報を記憶装置に記憶させ、ｎ番目の位置において、ｎ番目の特徴点を用いて、ｎ−１番目の基点情報が特定されない場合に、ｎ−１番目の入力情報を用いて、自律移動装置をｎ番目の位置からｎ−１番目の位置に戻してもよい。効果の詳細は実施例で説明する。
【００１０】
制御部は、さらに、ｎ−１番目の基点情報が特定される場合に、ｎ番目の基点情報、及び、未探索領域を収めることができる自律移動装置の位置、センサの視軸方向の複数の組み合わせを特定し、複数の組み合わせの中から、未探索領域の割合が最も大きい組み合わせを特定し、特定済みの組み合わせの位置及び視軸方向を、ｎ＋１番目の位置及びｎ＋１番目の視軸方向として特定してもよい。効果の詳細は実施例で説明する。
【図面の簡単な説明】
【００１１】
【図１】自律移動装置１０の全体構成を示すブロック図。
【図２】自律移動装置１０によって実行される探索処理のフローチャート。
【図３】図２の続きの探索処理のフローチャート。
【図４】自律移動装置１０がｎ−１番目の位置Ｐｎ−１からｎ番目の位置Ｐｎに移動した後の状態を示す図である（ケースＡ）。
【図５】ｎ番目の位置Ｐｎにおける撮像結果を示す図である（ケースＡ）。
【図６】自律移動装置１０がｎ番目の位置Ｐｎからｎ＋１番目の位置Ｐｎ＋１に移動した後の状態を示す図である（ケースＡ）。
【図７】ｎ＋１番目の位置Ｐｎ＋１における撮像結果を示す図である（ケースＡ）。
【図８】自律移動装置１０がｎ−１番目の位置Ｐｎ−１からｎ番目の位置Ｐｎに移動した後の状態を示す図である（ケースＢ１、Ｂ２）。
【図９】ｎ番目の位置Ｐｎにおける撮像結果を示す図である（ケースＢ１、Ｂ２）。
【図１０】ｎ−１番目の位置Ｐｎ−１における撮像結果を示す図である（ケースＢ１）。
【図１１】ｎ番目の位置Ｐｎにおける撮像結果を示す図である（ケースＢ２）。
【図１２】ｎ番目の位置Ｐｎにおける撮像結果を示す図である（ケースＢ２）。
【発明を実施するための最良の形態】
【００１２】
（実施例）
以下、本実施例に係る自律移動装置１０について説明する。自律移動装置１０は、左右に駆動輪を有する車輪駆動型の移動体であり、特定の移動領域内を自律的に走行し、当該領域の環境地図６２を作成する。自律移動装置１０は、移動領域内を走行する際に、移動領域内における自己位置を推定しながら、環境地図６２の探索済領域ＳＲを更新していく。
【００１３】
（自律移動装置１０の構成）
図１を参照して、自律移動装置１０について説明する。自律移動装置１０は、モータ１２ａ、１２ｂと、エンコーダ１４ａ、１４ｂと、カメラ１６と、コンピュータ２０と、記憶装置６０と、を備える。モータ１２ａは左車輪を駆動し、モータ１２ｂは右車輪を駆動する。自律移動装置１０の左右の車輪はモータ１２ａ、１２ｂによって独立して駆動される。左右の車輪の回転速度を変えることで、自律移動装置１０は進行方向を変えることができる。
【００１４】
エンコーダ１４ａは、左車輪の回転角度を検出し、コンピュータ２０に出力する。エンコーダ１４ｂは、右車輪の回転角度を検出し、コンピュータ２０に出力する。コンピュータ２０は、エンコーダ１４ａ、１４ｂから入力される左右の車輪の回転角度に基づいてモータ１２ａ、１２ｂを駆動する。
【００１５】
図４に示すように、カメラ１６は、計測軸ＶＡに対して所定角度α（例えば４０°）の範囲である撮像範囲ＩＲを撮像することができる。本実施例において、カメラ１６の撮像方向は、自律移動装置１０の進行方向と同じである。従って、自律移動装置１０は、自律移動装置１０の進行方向を変更することで、カメラ１６の撮像方向を変更することができる。なお、変形例では、カメラ１６の撮像方向は、自律移動装置１０の進行方向と異なっていてもよい。
【００１６】
図１に戻って、コンピュータ２０は、演算処理を行うＣＰＵと、演算処理のデータが一時的に記憶されるＲＡＭと、ＣＰＵによって実行される演算プログラム等が記憶されたＲＯＭを備えている。コンピュータ２０は、ＣＰＵがＲＯＭに記憶された演算プログラムを実行することで、環境地図更新部２２、環境情報生成部２４、最適探索位置決定部３４、経路情報生成部４４、移動制御部４６、入力情報記憶部４８、及び、基点情報判断部５０として機能する。環境情報生成部２４は、環境地図取得部２６、画像データ取得部２８、特徴点生成部３０、及び、自己位置推定部３２として機能する。最適探索位置決定部３４は、基点情報生成部３６、優先情報記憶部３８、拘束条件生成部４０、及び、探索位置特定部４２として機能する。各部２２、２４、３２，４２、４４、４６、４８によって実行される処理については、後で詳述する。
【００１７】
記憶装置６０には、環境地図６２、優先情報６４、及び、入力情報６６が記憶されている。環境地図６２は、自律移動装置１０が探索する移動領域内の地図情報であり、自律移動装置１０が未探索領域ＵＳＲを探索することによって更新されていく情報である。環境地図６２は、ＯＲＢ（Oriented FAST and Rotated BRIEF）−ＳＬＡＭ（Simultaneous Localization and Mapping）技術を適用することによって得られる特徴点の分布によって表わされる。優先情報６４では、優先順位と、特徴点群ＣＣと、が対応付けられている。入力情報６６は、自律移動装置１０を移動させる際に、モータ１２ａ、１２ｂに入力される情報である。
【００１８】
（探索処理；図２）
続いて、図２を参照して、自律移動装置１０のコンピュータ２０によって実行される探索処理について説明する。探索処理は、自律移動装置１０が移動領域内を探索しながら、記憶装置６０内の環境地図６２を作成（更新）していく処理である。コンピュータ２０は、自律移動装置１０が移動領域内のスタート位置に配置されると、図２の処理を開始する。スタート位置は、自律移動装置１０の管理者によって決定される。
【００１９】
ステップＳ１０において、コンピュータ２０は、特徴点生成処理を実行する。コンピュータ２０は、カメラ１６を駆動させ、撮像範囲ＩＲ内の画像データを取得する（画像データ取得部２８）。そして、コンピュータ２０は、取得済みの画像データから１個以上の特徴点ＣＰを生成する（特徴点生成部３０）。具体的には、コンピュータ２０は、取得済みの画像データに対して、ＯＲＢ−ＳＬＡＭ技術を適用し、１個以上の特徴点ＣＰを生成する。
【００２０】
ステップＳ１２において、コンピュータ２０は、記憶装置６０から環境地図６２を取得する（環境地図取得部２６）。
【００２１】
ステップＳ１４において、コンピュータ２０は、ステップＳ１０で生成された１個以上の特徴点ＣＰを用いて、ステップＳ１２で取得した環境地図６２を更新し、更新済みの環境地図６２を記憶装置６０に記憶させる（環境地図更新部２２）。
【００２２】
ステップＳ１６において、コンピュータ２０は、ステップＳ１０で生成された１個以上の特徴点ＣＰ及び環境地図６２を用いて、自律移動装置１０の自己位置及びカメラ１６の撮像方向を推定する（自己位置推定部３２）。ここで、自己位置とは、環境地図６２内における自律移動装置１０の位置である。
【００２３】
ステップＳ２０において、コンピュータ２０は、基点特徴点群の数が２個以上存在するのか否かを判断する（基点情報生成部３６）。具体的には、コンピュータ２０は、ｋ−ｍｅａｎｓ法を用いて、ステップＳ１０で生成された１個以上の特徴点ＣＰを１個以上の特徴点群ＣＣに分類（クラスタリング）する。そして、コンピュータ２０は、分類済みの特徴点群ＣＣのうち、２個以上の特徴点ＣＰを含む特徴点群ＣＣを基点特徴点群として特定する。コンピュータ２０は、基点特徴点群の数が１個である場合（ステップＳ２０でＮＯ）に、ステップＳ２２に進む。ステップＳ２２において、コンピュータ２０は、１個の基点特徴点群を基点情報Ｂとして生成する（基点情報生成部３６）。基点情報Ｂは、自己位置及び撮像方向を正確に推定するのに利用される情報である。
【００２４】
一方、コンピュータ２０は、基点特徴点群の数が２個以上である場合（ステップＳ２０でＹＥＳ）に、Ｓ２４に進む。ステップＳ２４において、コンピュータ２０は、２個以上の基点特徴点群のうち、未探索領域ＵＳＲとの距離が最も短い基点特徴点群を基点情報Ｂとして生成する（基点情報生成部３６）。
【００２５】
ステップＳ２６において、コンピュータ２０は、優先情報６４を記憶装置６０に記憶させる（優先情報記憶部３８）。優先情報６４は、後述のＳ５０において利用される。コンピュータ２０は、Ｓ２０で特定された２個以上の基点特徴点群のうち、基点情報Ｂとして生成されなかった基点特徴点群を利用して、優先情報６４を生成する。コンピュータ２０は、未探索領域ＵＳＲとの距離が近い順に、基点特徴点群の優先順位を決定する。例えば、図５において、３個の特徴点群ＣＣ３〜ＣＣ５が基点特徴点群として特定され、特徴点群ＣＣ５が基点情報Ｂとして生成される場合、特徴点群ＣＣ４の優先順位を１番と決定し、特徴点群ＣＣ３の優先順位を２番と決定する（図１参照）。そして、コンピュータ２０は、生成済みの優先情報６４を記憶装置６０に記憶させる。
【００２６】
ステップＳ３０において、コンピュータ２０は、拘束条件を生成する（拘束条件生成部４０）。拘束条件とは、自律移動装置１０の現在位置から所定距離ｒ（図５参照）の範囲ＭＲ内において、ステップＳ２２又はステップＳ２４で特定された基点情報Ｂ、及び、未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに同時に収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の組み合わせである。コンピュータ２０は、拘束条件として、自律移動装置１０の位置及びカメラ１６の撮像方向の複数の組み合わせを生成する。所定距離ｒは、自律移動装置１０が、エンコーダ１４ａ、１４ｂを利用して、自身の移動距離を比較的正確に推定することができる最大距離である。従って、自律移動装置１０は、自律移動装置１０が所定距離ｒの範囲ＭＲ内を移動する場合、移動後の位置を比較的正確に推定することができる。一方、自律移動装置１０が現在位置から所定距離ｒを超えて移動する場合において、エンコーダ１４ａ、１４ｂを用いて移動距離を推定すると、実際の移動距離と推定移動距離の誤差が比較的に大きくなる。
【００２７】
ステップＳ３２において、コンピュータ２０は、ステップＳ３０で生成された自律移動装置１０の位置及びカメラ１６の撮像方向の複数の組み合わせの中から、探索に最適な組み合わせを特定する（探索位置特定部４２）。コンピュータ２０は、撮像範囲ＩＲにおける未探索領域ＵＳＲの割合が最も大きくなる組み合わせを、探索に最適な組み合わせ（即ち、最適位置及び最適撮像方向）として特定する。
【００２８】
ステップＳ３４において、コンピュータ２０は、ステップＳ３２で特定された最適位置までの移動経路Ｒを生成する（経路情報生成部４４）。コンピュータ２０は、例えば、自律移動装置１０の現在位置と最適位置との間に障害物が存在しない場合、現在位置と最適位置を結ぶ直線経路を移動経路Ｒとして生成する。また、コンピュータ２０は、例えば、現在位置と最適位置との間に障害物が存在する場合、当該障害物を迂回する経路を移動経路Ｒとして生成する。
【００２９】
ステップＳ３６において、コンピュータ２０は、モータ１２ａ、１２ｂを駆動させ自律移動装置１０を最適位置まで移動させる（移動制御部４６）。コンピュータ２０は、自律移動装置１０がステップＳ３４で生成された移動経路Ｒを通るように、モータ１２ａ、１２ｂを駆動させる。また、コンピュータ２０は、モータ１２ａ、１２ｂを駆動させ、カメラ１６の撮像方向を最適撮像方向に向けさせる。
【００３０】
ステップＳ３８において、コンピュータ２０は、ステップＳ３６中のモータ１２ａ、１２ｂへの入力情報６６を記憶装置６０に記憶させる（入力情報記憶部４８）。
【００３１】
図３のステップＳ４０において、コンピュータ２０は、特徴点生成処理を実行する。処理の内容は、図２のステップＳ１０と同様である。
【００３２】
ステップＳ４２において、コンピュータ２０は、現在の撮像範囲ＩＲ内に基点情報Ｂが存在するのか否かを判断する（基点情報判断部５０）。コンピュータ２０は、ｋ−ｍｅａｎｓ法を用いて、ステップＳ４０で生成された１個以上の特徴点ＣＰを１個以上の特徴点群ＣＣに分類する。そして、コンピュータ２０は、分類済みの特徴点群ＣＣの中に、図２のステップＳ２２又はステップＳ２４で生成された基点情報Ｂが含まれているのか否かを判断する。コンピュータ２０は、分類済みの特徴点群ＣＣの中に基点情報Ｂが含まれていると判断する場合に、ステップＳ４２でＹＥＳと判断し、ステップＳ６０に進む。一方、コンピュータ２０は、分類済みの特徴点群ＣＣの中に基点情報Ｂが含まれていないと判断する場合に、ステップＳ４２でＮＯと判断し、ステップＳ４４に進む。
【００３３】
ステップＳ４４において、コンピュータ２０は、所定時間（例えば、５秒）が経過することを監視する。コンピュータ２０は、所定時間が経過する場合（ステップＳ４４でＹＥＳ）に、ステップＳ４６に進む。
【００３４】
ステップＳ４６、ステップＳ４８で実行される処理は、それぞれ、ステップＳ４０、ステップＳ４２で実行される処理と同様である。コンピュータ２０は、Ｓ４８でＹＥＳと判断される場合に、ステップＳ６０に進み、ステップＳ４８でＮＯと判断される場合に、ステップＳ５０に進む。
【００３５】
ステップＳ５０において、コンピュータ２０は、記憶装置６０内の優先情報６４に、新たな基点情報Ｂとして利用可能な特徴点群ＣＣが記憶されているのか否かを判断する（基点情報生成部３６）。まず、コンピュータ２０は、記憶装置６０から優先情報６４を取得する。そして、コンピュータ２０は、優先情報６４内において優先順位が最も高い特徴点群ＣＣを特定する。そして、コンピュータ２０は、現在位置において、特定済みの特徴点群ＣＣ及び未探索領域ＵＳＲを、カメラ１６の撮像範囲ＩＲに同時に収めることができるのか否かを判断する判断処理を実行する。コンピュータ２０は、特定済みの特徴点群ＣＣ及び未探索領域ＵＳＲを撮像範囲ＩＲに同時に収めることができると判断する場合に、ステップＳ５０でＹＥＳと判断し、ステップＳ５２に進む。一方、コンピュータ２０は、当該特徴点群ＣＣ及び未探索領域ＵＳＲを撮像範囲ＩＲに同時に収めることができないと判断する場合に、次の優先順位の特徴点群ＣＣを特定し、特定済みの特徴点群ＣＣ及び未探索領域ＵＳＲを、撮像範囲ＩＲに同時に収めることができるのか否かを判断する。コンピュータ２０は、特徴点群ＣＣ及び未探索領域ＵＳＲを、撮像範囲ＩＲに同時に収めることができる特徴点群ＣＣが見つかるまで、又は、優先情報６４内の全ての特徴点群ＣＣが、未探索領域ＵＳＲとともに撮像範囲ＩＲに同時に収めることができないと判断されるまで、判断処理を繰り返す。コンピュータ２０は、優先情報６４内の全ての特徴点群ＣＣが、未探索領域ＵＳＲとともに撮像範囲ＩＲに同時に収めることができないと判断する場合に、ステップＳ５０でＮＯと判断し、ステップＳ７０に進む。
【００３６】
ステップＳ５２において、コンピュータ２０は、ステップＳ５０で未探索領域ＵＳＲとともに撮像範囲ＩＲに同時に収めることができると判断された特徴点群ＣＣを、新たな基点情報Ｂとして生成する（基点情報生成部３６）。
【００３７】
ステップＳ６０において、コンピュータ２０は、記憶装置６０から環境地図６２を取得する（環境地図取得部２６）。
【００３８】
ステップＳ６２において、コンピュータ２０は、ステップＳ４０又はステップＳ４６で取得された１個以上の特徴点ＣＰを用いて、ステップＳ６０で取得した環境地図６２を更新し、更新済みの環境地図６２を記憶装置６０に記憶させる（環境地図更新部２２）。
【００３９】
ステップＳ６４において、コンピュータ２０は、基点情報Ｂ、及び、環境地図６２を用いて、自己位置及び撮像方向を推定する。コンピュータ２０は、ステップＳ４２又はステップＳ４８でＹＥＳと判断された場合、図２のステップＳ２２又はステップＳ２４で生成された基点情報Ｂを利用する。一方、コンピュータ２０は、ステップＳ５０でＹＥＳと判断された場合、ステップＳ５２で生成された新たな基点情報Ｂを利用する。コンピュータ２０は、ステップＳ６４が終了すると、図２のステップＳ２０に戻る。即ち、ステップＳ２０以降の処理が繰り返し実行される。
【００４０】
また、ステップＳ７０において、コンピュータ２０は、自律移動装置１０を、図２のステップＳ３６で移動する前の位置（以下では、「前回位置」と呼ぶ）に戻させる（移動制御部４６）。コンピュータ２０は、記憶装置６０から入力情報６６を取得し、当該入力情報６６に基づいて、モータ１２ａ、１２ｂを駆動させ、自律移動装置１０を前回位置に戻させる。
【００４１】
ステップＳ７２、Ｓ７４、Ｓ７６で実行される処理は、それぞれ、図２のステップＳ１０、Ｓ１２、Ｓ１６で実行される処理と同様である。ステップＳ７８において、コンピュータ２０は、前回位置において、図２のステップＳ２０〜ステップＳ２６と同様の処理を実行し、新たな基点情報Ｂを生成する。ステップＳ８０において、コンピュータ２０は、拘束条件を生成することができるのか否かを判断する。具体的には、コンピュータ２０は、ステップＳ７８で特定された新たな基点情報Ｂ、及び、未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに同時に収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の組み合わせを生成できるのか否かを判断する。コンピュータ２０は、ステップＳ７８で生成された新たな基点情報Ｂ、及び、未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに同時に収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の組み合わせを生成できる場合に、ステップＳ８０でＹＥＳと判断し、図２のステップＳ３２に戻る。
【００４２】
一方、コンピュータ２０は、ステップＳ７８で生成された新たな基点情報Ｂ、及び、未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに同時に収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の組み合わせを生成できない場合に、ステップＳ８０でＮＯと判断し、ステップＳ８２に進む。ステップＳ８２において、コンピュータ２０は、基点情報探索処理を実行する。具体的には、コンピュータ２０は、カメラ１６の撮像範囲ＩＲに図２のＳ２４又はステップＳ２６で生成された基点情報Ｂを収めることができるまで、自律移動装置１０を移動させる。ステップＳ８２が終了すると、図２のステップＳ６０に進む。
【００４３】
（具体的なケース）
続いて、図２、図３の探索処理によって実現される具体的なケースについて説明する。
【００４４】
（ケースＡ；図４〜図７）
図４〜図７を参照して、ケースＡについて説明する。ケースＡでは、自律移動装置１０がｎ−１番目の位置Ｐｎ−１からｎ番目の位置Ｐｎに移動した後において、ｎ−１番目の位置Ｐｎ−１で生成された基点情報Ｂｎ−１を特定できる状況を想定する。図４に示すように、自律移動装置１０の移動領域には、３個の障害物７０ａ、７０ｂ、７０ｃが配置されている。ケースＡの初期状態では、特徴点ＣＰ１、ＣＰ２ａ〜ＣＰ２ｃ、ＣＰ３ａ〜ＣＰ３ｄが、環境地図６２に記憶されている。また、ｎ−１番目の位置Ｐｎ−１において、特徴点ＣＰ３ａ〜ＣＰ３ｄを含む特徴点群ＣＣ３がｎ−１番目の基点情報Ｂｎ−１として生成済みである。また、記憶装置６０内の優先情報６４には、特徴点群ＣＣ２に優先順位「１」が対応付けられている。なお、以下の図では、未探索領域ＵＳＲにハッチングを付している。
【００４５】
図５に示すように、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、カメラ１６を駆動させ、撮像範囲ＩＲ内の画像データを取得し、当該画像データに対して、ＯＲＢ−ＳＬＡＭ技術を適用し、特徴点ＣＰ３ａ〜ＣＰ３ｄ、ＣＰ４ａ、ＣＰ４ｂ、ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６ａを生成する（図３のステップＳ４０）。そして、自律移動装置１０は、ｋ−ｍｅａｎｓ法を用いて、各特徴点ＣＰを、４個の特徴点群ＣＣ３〜ＣＣ６に分類し、分類した特徴点群ＣＣにｎ−１番目の基点情報Ｂｎ−１（即ち、特徴点群ＣＣ３）が含まれていると判断する（ステップＳ４２でＹＥＳ）。
【００４６】
次いで、自律移動装置１０は、記憶装置６０から環境地図６２を取得する（ステップＳ６０）。そして、自律移動装置１０は、特徴点ＣＰ４ａ、ＣＰ４ｂ、ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６ａを用いて、環境地図６２を更新し、更新済みの環境地図６２を記憶装置６０に記憶する（ステップＳ６２）。これにより、特徴点ＣＰ４ａ、ＣＰ４ｂ、ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６ａが、環境地図６２に反映される。また、自律移動装置１０は、取得済みの環境地図６２及びｎ−１番目の基点情報Ｂｎ−１（即ち特徴点群ＣＣ３）を用いて、自己位置及び撮像方向を推定する（ステップＳ６４）。上述のように、自律移動装置１０は、自律移動装置１０が所定距離ｒの範囲ＭＲ内を移動する場合、移動後の位置を比較的正確に推定することができる。しかしながら、所定距離ｒの範囲ＭＲ内の移動であっても、実際の移動距離と推定移動距離の誤差は存在する。基点情報Ｂは、環境地図６２における位置が正確に特定されている情報である。従って、取得済みの環境地図６２及びｎ−１番目の基点情報Ｂｎ−１を用いることで、実際の移動距離と推定移動距離の誤差を解消することができる。
【００４７】
次いで、自律移動装置１０は、２個以上の特徴点ＣＰを含む３個の特徴点群ＣＣ３〜ＣＣ５を基点特徴点群として特定し、基点特徴点群が２個以上存在すると判断する（図２のステップＳ２０でＹＥＳ）。次いで、自律移動装置１０は、特徴点群ＣＣ３〜ＣＣ５のうち、特徴点群ＣＣ５が、未探索領域ＵＳＲとの距離が最も短い基点特徴点群であると判断し、特徴点群ＣＣ５をｎ番目の基点情報Ｂｎとして生成する（ステップＳ２４）。そして、自律移動装置１０は、特徴点群ＣＣ４の優先順位が１番であり、特徴点群ＣＣ３の優先順位が２番である優先情報６４を生成して、記憶装置６０に記憶する（ステップＳ２６）（図１参照）。
【００４８】
次いで、自律移動装置１０は、ｎ番目の位置Ｐｎから所定距離ｒの範囲ＭＲｎ内において、ｎ番目の基点情報Ｂｎ（特徴点群ＣＣ５）及び未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに同時に収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の複数の組み合わせを生成する（図２のステップＳ３０）。そして、自律移動装置１０は、複数の組み合わせの中から、撮像範囲ＩＲ内における未探索領域ＵＳＲの割合が最も大きくなる自律移動装置１０の位置及びカメラ１６の撮像方向を最適位置（ｎ＋１番目の位置Ｐｎ＋１）及び最適撮像方向（ｎ＋１番目の撮像方向）として特定する（ステップＳ３２）。次いで、自律移動装置１０は、ｎ番目の位置Ｐｎからｎ＋１番目の位置Ｐｎ＋１までの直線経路Ｒｎを生成する（ステップＳ３４）。次いで、図６に示すように、自律移動装置１０は、直線経路Ｒｎを通って、ｎ＋１番目の位置Ｐｎ＋１に移動し、カメラ１６をｎ＋１番目の撮像方向に向けさせる（ステップＳ３６）。
【００４９】
次いで、図７に示すように、自律移動装置１０は、ｎ＋１番目の位置Ｐｎ＋１において、カメラ１６を駆動させ、撮像範囲ＩＲ内の画像データを取得し、当該画像データに対して、ＯＲＢ−ＳＬＡＭ技術を適用し、特徴点ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６ａ、ＣＰ６ｂを生成する（図３のステップＳ４０）。そして、自律移動装置１０は、ｋ−ｍｅａｎｓ法を用いて、各特徴点ＣＰを、２個の特徴点群ＣＣ５、ＣＣ６に分類し、分類した特徴点群ＣＣにｎ番目の基点情報Ｂｎ（即ち特徴点群ＣＣ５）が含まれていると判断する（ステップＳ４２でＹＥＳ）。
【００５０】
次いで、自律移動装置１０は、記憶装置６０から環境地図６２を取得し、（ステップＳ６０）、特徴点ＣＰ６ｂを用いて、環境地図６２を更新し、更新済みの環境地図６２を記憶装置６０に記憶する（ステップＳ６２）。また、自律移動装置１０は、取得済みの環境地図６２及びｎ番目の基点情報Ｂｎ（即ち特徴点群ＣＣ５）を用いて、自己位置及び撮像方向を推定する（ステップＳ６４）。
【００５１】
（ケースＢ１；図８〜図１０）
図８〜図１０を参照して、ケースＢ１について説明する。図８に示すように、ケースＢ１では、自律移動装置１０がｎ−１番目の位置Ｐｎ−１からｎ番目の位置Ｐｎに移動している間に、移動体７２が自律移動装置１０と障害物７０ｂとの間に移動する状況を想定する。さらに、本ケースでは、自律移動装置１０がｎ番目の位置Ｐｎに移動してから所定時間が経過しても、移動体７２が自律移動装置１０と障害物７０ｂとの間に位置している状況を想定する。ケースＢ１の初期状態は、自律移動装置１０と障害物７０ｂとの間に移動体７２が位置している点を除いて、ケースＡの初期状態と同様である。
【００５２】
図９に示すように、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、カメラ１６を駆動させ、撮像範囲ＩＲ内の画像データを取得し、当該画像データに対して、ＯＲＢ−ＳＬＡＭ技術を適用し、特徴点ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６ａ、ＣＰ７ａ〜ＣＰ７ｃを生成する（図３のステップＳ４０）。本ケースでは、移動体７２が自律移動装置１０と障害物７０ｂとの間に位置しているために、特徴点ＣＰ３ａ〜ＣＰ３ｄ、ＣＰ４ａ、ＣＰ４ｂが生成されない。次いで、自律移動装置１０は、ｋ−ｍｅａｎｓ法を用いて、各特徴点ＣＰを、３個の特徴点群ＣＣ５〜ＣＣ７に分類し、分類した特徴点群ＣＣにｎ−１番目の基点情報Ｂｎ−１（即ち特徴点群ＣＣ３）が含まれていないと判断する（ステップＳ４２でＮＯ）。
【００５３】
上述のように、本ケースでは、自律移動装置１０がｎ番目の位置Ｐｎに移動してから所定時間を経過しても、移動体７２は、自律移動装置１０と障害物７０ｂとの間に位置している。即ち、図８、図９の状態が維持される。この場合、自律移動装置１０は、所定時間が経過した後に、再度、特徴点ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６、ＣＰ７ａ〜ＣＰ７ｃを生成し（図３のステップＳ４６）、各特徴点ＣＰを、３個の特徴点群ＣＣ５〜ＣＣ７に分類し、分類した特徴点群ＣＣにｎ−１番目の基点情報Ｂｎ−１（即ち、特徴点群ＣＣ３）が含まれていないと判断する（ステップＳ４８でＮＯ）。
【００５４】
次いで、自律移動装置１０は、記憶装置６０内の優先情報６４を利用して、新たなｎ−１番目の基点情報Ｂｎ−１として利用可能な特徴点群ＣＣがあるのか否かを判断する。自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、優先順位が１番である特徴点群ＣＣ２及び未探索領域ＵＳＲを撮像範囲ＩＲに同時に収めることができないと判断する（図３のステップＳ５２でＮＯ）。そして、図９に示すように、自律移動装置１０は、記憶装置６０内のｎ−１番目の入力情報６６を取得して、ｎ−１番目の位置Ｐｎ−１に戻る（ステップＳ７０）。
【００５５】
次いで、自律移動装置１０は、記憶装置６０から環境地図６２を取得し（ステップＳ７４）、環境地図６２を用いて、自律移動装置１０の位置及びカメラ１６の撮像方向を推定する（ステップＳ７６）。そして、図１０に示すように、自律移動装置１０は、撮像範囲ＩＲ内の画像データを取得し、当該画像データに対して、ＯＲＢ−ＳＬＡＭ技術を適用し、特徴点ＣＰ１、ＣＰ２ａ、ＣＰ２ｂ、ＣＰ７ａ〜ＣＰ７ｃを生成する（図３のステップＳ７８）。そして、自律移動装置１０は、ｋ−ｍｅａｎｓ法を用いて、各特徴点ＣＰを３個の特徴点群ＣＣ１、ＣＣ２、ＣＣ７に分類し、特徴点群ＣＣ２を基点特徴点群として特定する。自律移動装置１０は、特徴点群ＣＣ７が移動体を示す特徴点群ＣＣであるために、特徴点群ＣＣ７を基点特徴点群として特定しない。そして、自律移動装置１０は、特徴点群ＣＣ２を新たなｎ−１番目の基点情報Ｂｎ−１として生成する。ｎ−１番目の位置Ｐｎ−１から所定距離ｒの範囲ＭＲｎ−１内において、特徴点群ＣＣ２及び未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに同時に収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向は存在しない。このため、自律移動装置１０は、拘束条件を生成することができないと判断する（図３のＳ８０でＮＯ）。次いで、自律移動装置１０は、環境地図６２を用いて、移動体７２に遮られることなく、ｎ番目の基点情報Ｂｎ及び未探索領域ＵＳＲを収めることができる自律移動装置１０の位置Ｐｘ４及びカメラ１６の撮像方向を特定する。そして、図１０に示すように、自律移動装置１０は、位置Ｐｘ１〜位置Ｐｘ３を経由して、位置Ｐｘ４に移動する。これにより、自律移動装置１０は、ｎ番目の基点情報Ｂｎ（特徴点群ＣＣ３）を用いて、自律移動装置１０の自己位置及びカメラ１６の撮像方向を正確に推定することができるようになる。
【００５６】
（ケースＢ２；図８、図９、図１１、図１２）
図８、図９、図１１、図１２を参照して、ケースＢ２について説明する。ケースＢ２の初期状態は、ケースＢ１の初期状態と同様である。即ち、図８に示すように、自律移動装置１０と障害物７０ｂとの間に移動体７２が位置している。本ケースでは、自律移動装置１０がｎ番目の位置Ｐｎに移動してから所定時間が経過する前に、移動体７２が移動する状況を想定する。
【００５７】
図９に示すように、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、特徴点ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６、ＣＰ７ａ〜ＣＰ７ｃを生成し（図３のステップＳ４０）、各特徴点ＣＰを、３個の特徴点群ＣＣ５〜ＣＣ７に分類し、分類した特徴点群ＣＣにｎ−１番目の基点情報Ｂｎ−１（即ち、特徴点群ＣＣ３）が含まれていないと判断する（ステップＳ４２でＮＯ）。
【００５８】
上述のように、本ケースでは、自律移動装置１０がｎ番目の位置Ｐｎに移動してから所定時間が経過する前に、移動体７２が移動する。従って、図１１に示すように、所定時間が経過した後において、自律移動装置１０と障害物７０ｂとの間に障害物が存在しない。この場合、図１２に示すように、自律移動装置１０は、所定時間が経過すると（図３のステップＳ４４でＹＥＳ）、ｎ番目の位置Ｐｎにおいて、特徴点ＣＰ３ａ〜ＣＰ３ｄ、ＣＰ４ａ、ＣＰ４ｂ、ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６を生成し（ステップＳ４６）、各特徴点を４個の特徴点群ＣＣ３〜ＣＣ６に分類し、分類した特徴点群ＣＣにｎ−１番目の基点情報Ｂｎ−１（即ち、特徴点群ＣＣ３）が含まれていると判断する（ステップＳ４８でＹＥＳ）。
【００５９】
その後、自律移動装置１０は、ケースＡの場合と同様に、ｎ−１番目の基点情報Ｂｎ−１（特徴点群ＣＣ３）を用いて、自律移動装置１０の位置及びカメラ１６の撮像方向を正確に推定することができる（ステップＳ６４）。
【００６０】
（本実施例の効果）
上記の構成では、自律移動装置１０は、図５に示すように、ｎ番目の位置Ｐｎにおけるカメラ１６の撮像結果を用いて、特徴点群ＣＣ３〜ＣＣ６を生成する（図３のステップＳ４０、ステップＳ４２）。そして、自律移動装置１０は、特徴点群ＣＣ３〜ＣＣ６を用いて、ｎ−１番目の基点情報Ｂｎ−１（特徴点群ＣＣ３）を特定することを試行し、ｎ−１番目の基点情報Ｂｎ−１が特定される場合に（図２のステップＳ４２でＹＥＳ）、ｎ−１番目の基点情報Ｂｎ−１を用いて、自律移動装置１０の位置及びカメラ１６の撮像方向を特定する（ステップＳ６０）。ｎ−１番目の基点情報Ｂｎ−１は、ｎ−１番目の位置Ｐｎ−１において、空間内における位置が決定されている情報、即ち、探索済みの情報である。従って、自律移動装置１０は、ｎ−１番目の基点情報Ｂｎ−１を用いることで、自律移動装置１０の位置（即ちｎ番目の位置Ｐｎ）、及び、カメラ１６の撮像方向（即ちｎ番目の撮像方向）を正確に推定することができる。また、自律移動装置１０は、ｎ番目の位置Ｐｎにおけるカメラ１６の撮像結果を用いて、記憶装置６０に記憶されている環境地図６２を更新する（ステップＳ６２）。これにより、当該計測結果に含まれている未探索領域ＵＳＲの地図情報（特徴点ＣＰ４ａ、ＣＰ４ｂ、ＣＰ５ａ〜ＣＰ５ｄ、ＣＰ６ａ）が更新される。そして、自律移動装置１０は、特徴点群ＣＣ４〜ＣＣ６を用いて、ｎ番目の基点情報Ｂｎ（ＣＣ５）を生成し（図２のステップＳ２２、ステップＳ２４）、さらに、ｎ＋１番目の位置及びｎ＋１番目の視軸方向を特定する（ステップＳ３２）。その後、自律移動装置１０がｎ＋１番目の位置Ｐｎ＋１に移動するとともに、カメラ１６の撮像方向がｎ＋１番目の撮像方向に向く（ステップＳ３６）。この場合、図７に示すように、自律移動装置１０は、ｎ＋１番目の位置Ｐｎ＋１において、ｎ番目の基点情報Ｂｎ（特徴点群ＣＣ５）を用いることで、自律移動装置１０の位置（即ちｎ＋１番目の位置Ｐｎ＋１）、及び、カメラ１６の撮像方向（即ちｎ＋１番目の撮像方向）を正確に推定することができる。従って、自律移動装置１０は、自己位置を喪失することなく、未探索領域ＵＳＲを探索することができる。
【００６１】
また、図６に示すように、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、３個の基点特徴点群（特徴点群ＣＣ３〜ＣＣ５）が生成される場合に、未探索領域ＵＳＲとの距離が最も短い特徴点群ＣＣ５をｎ番目の基点情報Ｂｎとして生成する。未探索領域ＵＳＲとの距離が短い特徴点群ＣＣの方が、未探索領域ＵＳＲとの距離が長い特徴点群ＣＣを利用するよりも、撮像範囲ＩＲに含まれる未探索領域ＵＳＲの割合を大きくすることができる。従って、自律移動装置１０による探索を効率的に実行させることができる。
【００６２】
また、自律移動装置１０は、優先情報６４を記憶している。そして、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、ｎ−１番目の基点情報Ｂｎ−１（以下では、「古い基点情報Ｂｎ−１」と呼ぶ）が特定されない場合に、優先情報６４を用いて、新たなｎ−１番目の基点情報Ｂｎ−１を生成する。新たなｎ−１番目の基点情報Ｂｎ−１は、ｎ−１番目の位置Ｐｎ−１において、空間内における位置が決定されている情報、即ち、探索済みの情報である。従って、自律移動装置１０は、古い基点情報Ｂｎ−１に代えて、新たなｎ−１番目の基点情報Ｂｎ−１を用いても、自律移動装置１０の位置（即ちｎ番目の位置Ｐｎ）、及び、カメラ１６の撮像方向（即ちｎ番目の撮像方向）を正確に推定することができる。
【００６３】
また、図９に示すように、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、ｎ−１番目の基点情報Ｂｎ−１が特定されない場合（ステップＳ４２でＮＯ）に、ｎ−１番目の位置Ｐｎ−１に戻る（ステップＳ７０）。ｎ−１番目の位置Ｐｎ−１に戻ることで、古い基点情報Ｂｎ−１とは異なる特徴点群ＣＣを新たなｎ−１番目の基点情報Ｂｎ−１として生成できる可能性がある。従って、自律移動装置１０は、古い基点情報Ｂｎ−１に代えて、新たなｎ−１番目の基点情報Ｂｎ−１を用いた探索を継続することができる。
【００６４】
また、図６に示すように、自律移動装置１０は、ｎ番目の位置Ｐｎにおいて、ｎ番目の基点情報Ｂｎが生成される場合に、ｎ番目の基点情報Ｂｎ（特徴点群ＣＣ５）及び未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の複数の組み合わせを特定する（図２のステップＳ３０）。そして、自律移動装置１０は、複数の組み合わせの中から、カメラ１６の撮像範囲ＩＲにおける未探索領域ＵＳＲの割合が最も大きくなる組み合わせを、ｎ＋１番目の位置Ｐｎ＋１及ｎ＋１番目の撮像方向として特定する（ステップＳ３２）。これにより、ｎ＋１番目の位置Ｐｎ＋１における地図情報の更新量を最大化することができる。従って、自律移動装置１０による探索を効率的に実行させることができる。
【００６５】
（対応関係）
カメラ１６、計測軸ＶＡ、撮像範囲ＩＲが、「センサ」、「視軸」、「所定範囲」の一例である。モータ１２ａ、１２ｂが、「移動部」の一例である。コンピュータ２０が、「制御部」の一例である。
【００６６】
以上、本明細書が開示する技術の実施例について詳細に説明したが、これは例示に過ぎず、本明細書が開示する技術は、上記の実施例を様々に変形、変更したものが含まれる。
【００６７】
（変形例１）「センサ」は、カメラ１６に限定されず、ＬｉＤＡＲ、赤外線センサ等であってもよい。
【００６８】
（変形例２）１個以上の特徴点ＣＰを含む特徴点群ＣＣを基点特徴点群として特定してもよいし、３個以上の特徴点ＣＰを含む特徴点群ＣＣを基点特徴点群として特定してもよい。
【００６９】
（変形例３）２個以上の基点特徴点群が特定される場合（図２のステップＳ２０でＹＥＳ）において、サイズが最も大きい基点特徴点群を基点情報Ｂとして生成してもよい。一般的に言うと、２個以上の基点特徴点群の中から基点情報Ｂが生成されればよい。
【００７０】
（変形例４）図２のステップＳ２６、図３のステップＳ５０、ステップＳ５２の処理が省略されてもよい。即ち、記憶装置６０は、優先情報６４を記憶しなくてもよい。
【００７１】
（変形例５）図３のステップＳ７２〜ステップＳ８２の処理が省略されてもよい。
【００７２】
（変形例６）図２のステップＳ３０、ステップＳ３２において、コンピュータ２０は、基点情報Ｂ、及び、未探索領域ＵＳＲをカメラ１６の撮像範囲ＩＲに収めることができる自律移動装置１０の位置及びカメラ１６の撮像方向の複数の組み合わせを特定することなく、最適位置及び最適撮像方向の組み合わせを特定してもよい。
【００７３】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７４】
１０：自律移動装置、１２ａ、１２ｂ：モータ、１４ａ、１４ｂ：エンコーダ、１６：カメラ、２０：コンピュータ、２２：環境地図更新部、２４：環境情報生成部、２６：環境地図取得部、２８：画像データ取得部、３０：特徴点生成部、３２：自己位置推定部、３４：最適探索位置決定部、３６：基点情報生成部、３８：優先情報記憶部、４０：拘束条件生成部、４２：探索位置特定部、４４：経路情報生成部、４６：移動制御部、４８：入力情報記憶部、５０：基点情報判断部、６０：記憶装置、６２：環境地図、６４：優先情報、６６：入力情報、７０ａ〜７０ｂ：障害物、７２：移動体
【図１】
2020119081.tif 000003
【図２】
2020119081.tif 000004
【図３】
2020119081.tif 000005
【図４】
2020119081.tif 000006
【図５】
2020119081.tif 000007
【図６】
2020119081.tif 000008
【図７】
2020119081.tif 000009
【図８】
2020119081.tif 000010
【図９】
2020119081.tif 000011
【図１０】
2020119081.tif 000012
【図１１】
2020119081.tif 000013
【図１２】
2020119081.tif 000014