(57)【要約】【課題】  移動体の位置を安定的に得る。【解決手段】  上記の目的を達成する本発明に係る情報処理装置は、移動体の位置を決定する情報処理装置であって、前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られた前記移動体の位置を特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を観測した観測結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られた前記移動体の位置を特定可能な第二の処理結果とを取得する取得手段と、前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定手段とを備えることを特徴とする。【選択図】  図１
2019125354.tif 000002
【特許請求の範囲】
【請求項１】
移動体の位置を決定する情報処理装置であって、
前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られた前記移動体の位置を特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を観測した観測結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られた前記移動体の位置を特定可能な第二の処理結果とを取得する取得手段と、
前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記移動体は、前記決定手段によって決定された位置に基づいて移動制御されることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記移動体は、マーカが付加されており、
前記第二の処理方法は、前記移動体を観測可能な場所に設置された受光センサを用いて前記マーカを観測した観測結果に基づいて前記移動体の位置を推定する方法であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第一の処理方法は、前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像と、前記移動体の移動経路に関する画像特徴を含むマップ情報とに基づいて前記移動体の位置を推定する方法であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第一の処理方法は、前記移動体に搭載された受光センサを用いて前記移動体の周囲の距離を計測した距離画像と、前記移動体の移動経路に関する３次元特徴を含むマップ情報とに基づいて前記移動体の位置を推定する方法であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記決定手段は、前記移動体の位置を決定する際に前記第一の処理結果と前記第二の処理結果とを反映させる比率を示す重み付け係数を決定し、
それぞれの前記重み付け係数はゼロにしないことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第二の処理結果の重み付け係数は、前記移動体を観測可能な場所に設置された前記受光センサと前記移動体との距離に基づいて決定されることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記第二の処理結果の重み付け係数は、前記移動体を観測可能な場所に設置された前記受光センサによって観測された画像における前記移動体が写った画角内の位置に基づいて決定されることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記取得手段は、前記移動体を観測可能な場所に設置された複数の受光センサを用いて取得された複数の観測結果を前記第二の処理方法でそれぞれ処理して得られた複数の処理結果を統合した第二の処理結果を取得することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記取得手段は、前記移動体を観測可能な場所に設置された複数の前記受光センサを用いて取得された観測結果を前記第二の処理方法でそれぞれ処理して得られた複数の第二の処理結果を取得し、
前記決定手段は、前記第一の処理結果と複数の前記第二の処理結果とに基づいて前記移動体の位置を決定することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記取得手段は、前記第二の処理方法で処理される計測結果から前記移動体に搭載された前記受光センサが観測可能な空間に含まれる特徴点の数を取得し、前記特徴点の数が所定の範囲に含まれない場合は前記第一の処理方法で処理される計測結果あるいは前記第一の処理結果の取得を抑制することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記移動体の移動経路に関する画像特徴を含むマップ情報を保持する保持手段を備え、
前記決定手段は、前記マップ情報における前記移動体の位置座標を決定することを特徴とする請求項１乃至１１いずれか１項に記載の情報処理装置。
【請求項１３】
前記決定手段は、前記第二の処理方法で処理される観測結果に基づいて前記マップ情報における前記移動体の移動経路の開始位置を決定することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記第二の処理方法で処理される観測結果から前記マップ情報の移動経路上に物体を検出した場合に、
前記保持手段は、前記物体を避けるように前記移動経路を変更されたマップ情報を保持することを特徴とする請求項１２または１３に記載の情報処理装置。
【請求項１５】
前記第二の処理方法で処理される観測結果から人物の移動範囲を予測する判断部を更に備え、
前記判断部によって前記マップ情報の移動経路上に前記人物がいることを判断した場合に、
前記保持手段は、前記移動範囲を避けるように前記移動経路を変更された前記マップ情報を保持することを特徴とする請求項１２乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記第二の処理方法で処理される結果から前記マップ情報の移動経路上に他の移動体を検出した場合に、
前記保持手段は、前記他の移動体の移動経路に関するマップ情報に基づいて前記他の移動体の移動経路を避けるように前記移動体の前記移動経路を変更された前記マップ情報を保持することを特徴とする請求項１２乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記第一の処理結果と前記第二の処理結果との差が所定の値より大きい場合に、ユーザへシステムの異常を通知する通知手段をさらに有することを特徴とする請求項１乃至１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記第二の処理方法で処理される観測結果から前記マップ情報の移動経路上に前記移動体に搭載された荷物を検出した場合に、
前記通知手段は、ユーザへ前記移動経路に異常があることを通知することを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
コンピュータを、請求項１乃至１８のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【請求項２０】
移動体の位置を決定する情報処理方法であって、
前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られる前記移動体の位置が特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を観測した観測結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られる前記移動体の位置が特定可能な第二の処理結果と、を取得する取得工程と、
前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定工程とを備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の位置を取得する技術に関する。
【背景技術】
【０００２】
搬送車両（例えばＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ））といった移動体を、工場や物流倉庫といった環境内で自動運転させる技術が提案されている。自動運転とは、人間が運転操作をしなくても目的地まで自動的に移動し得る技術を指す。特許文献１では、周囲との距離を測るセンサを搭載した移動体がセンサ計測値を用いて移動体自身の位置を推定する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−４５２９８号公報
【非特許文献】
【０００４】
【非特許文献１】Ｋ．Ｔａｔｅｎｏ，ｅｔ．ａｌ．ＣＮＮ−ＳＬＡＭ：Ｒｅａｌ−ｔｉｍｅ  ｄｅｎｓｅ  ｍｏｎｏｃｕｌａｒ  ＳＬＡＭ  ｗｉｔｈ  ｌｅａｒｎｅｄ  ｄｅｐｔｈ  ｐｒｅｄｉｃｔｉｏｎ，ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ  ＣＶＰＲ，２０１７
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の方法では、移動体の移動距離が大きくなると推定の精度が低下するという推定方法の欠点があるため、安定的に移動体の位置を取得できない。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、移動体の位置を安定的に得ることを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、移動体の位置を決定する情報処理装置であって、前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られた前記移動体の位置を特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を計測した結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られた前記移動体の位置を特定可能な第二の処理結果とを取得する取得手段と、前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、移動体の位置を安定的に得ることが出来る。
【図面の簡単な説明】
【０００９】
【図１】システム構成を説明する図
【図２】情報処理システムの機能構成を説明するブロック図
【図３】情報処理装置の処理手順を説明するフローチャート
【図４】情報処理装置の処理手順を説明するフローチャート
【図５】情報処理システムの処理手順を説明するフローチャート
【図６】情報処理システムのＧＵＩを説明する図
【図７】情報処理システムの機能構成を説明するブロック図
【図８】情報処理装置の処理手順を説明するフローチャート
【図９】情報処理システムの機能構成を説明するブロック図
【図１０】情報処理装置の処理手順を説明するフローチャート
【図１１】情報処理システムの処理手順を説明するフローチャート
【図１２】情報処理システムの処理手順を説明するフローチャート
【図１３】情報処理装置のハードウェア構成を説明するブロック図
【図１４】情報処理システムの機能構成を説明するブロック図
【図１５】情報処理システムの処理手順を説明するフローチャート
【図１６】情報処理システムの処理手順を説明するフローチャート
【図１７】監視カメラ管理システムの処理手順を説明するフローチャート
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
（実施形態１）
本実施形態では、自律走行する搬送車両（例えば、ＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ））と称する移動体の移動制御に本発明を適用した場合について説明する。この移動体は自分の位置を推定し、指定された目的地まで自律的に移動制御可能である。
【００１２】
本実施形態では、移動体に搭載された距離センサと撮像装置とから得られる第一計測情報とマップ関連情報とを第一の推定方法に入力して推定した第一の処理結果と、監視カメラで撮影した画像を第二の推定方法に入力して推定した第二の処理結果とを取得する。そして、移動体１１の位置姿勢情報を決定し、自律的に移動を行う。なお、位置姿勢情報とは移動体の世界座標における位置と姿勢についての情報を含む。監視カメラは工場や物流倉庫等の環境内の天井や壁に設置されており、移動体やそのマーカを撮影する。監視カメラは環境内を広い視野で撮影できるため、移動体に搭載された撮像装置や距離センサが計測できない領域の様子を画像で取得できる。複数の画像から移動体を捉えることができるため、その場合は一つの撮像装置の画像から推定処理する場合よりも安定的に移動体の位置を得られる。また、監視カメラと移動体がそれぞれ別の処理方法で移動体の位置を推定した結果を統合するため、ひとつの処理方法から推定処理をする場合よりも安定的に移動体の位置を決定できる。
【００１３】
（構成説明）
図１に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用したシステム構成図を示す。
【００１４】
情報処理システム１は、生産システムや物流システムを管理するシステムである。本実施形態における情報処理システム１は、以下から構成される。少なくとも１つ以上の移動体１１（１１−１、１１−２、・・・）、工程管理システム１２、移動体管理システム１３、監視カメラ管理システム１４、少なくとも１つ以上の監視カメラ１５（１５−１、１５−２、・・・）。
【００１５】
移動体１１（１１−１、１１−２、・・・）は、工場や物流倉庫といった使用環境でタスク遂行のため必要とされる工程のスケジュールに合わせて物体を搬送する搬送車両（ＡＧＶ）である。なお、移動体１１は同じ環境内で複数台が移動（走行）していることが想定される。また、移動体１１は、移動体管理システム１３、監視カメラ管理システム１４、他の移動体１１と、Ｗｉ−Ｆｉ通信などの無線通信を用いて各種情報を送受信する。
【００１６】
工程管理システム１２は、情報処理システム１で実行する工場や物流倉庫における工程のスケジュールなどを管理する。例えば、生産管理システムや、物流管理システムや、ＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）である。また、工程管理システム１２は、移動体管理システム１３、監視カメラ管理システム１４と通信を行う。
【００１７】
移動体管理システム１３は、移動体１１を管理するシステムである。例えば、コンピュータサーバや、ＰＣや、組み込みシステムや、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）である。移動体管理システム１３は、移動体１１とＷｉ−Ｆｉ通信などの無線通信を用いて、移動体１１の移動制御を行うための各種情報を送受信する。また、移動体管理システム１３は、工程管理システム１２、監視カメラ管理システム１４と通信を行う。
【００１８】
監視カメラ管理システム１４は、監視カメラ１５を管理するシステムである。例えば、コンピュータサーバや、ＰＣや、組み込みシステムや、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）である。監視カメラ管理システム１４は、監視カメラ１５とＥｔｈｅｒｎｅｔ通信などの有線通信、あるいはＷｉ−Ｆｉ通信などの無線通信を用いて、環境内を撮像した監視カメラ画像など、監視のための各種情報を送受信する。監視カメラ管理システム１４は、移動体１１ともＷｉ−Ｆｉ通信などの無線通信を用いて、環境内を認識した結果など、各種情報を送受信する。また、監視カメラ管理システム１４は、工程管理システム１２、移動体管理システム１３と通信を行う。
【００１９】
なお、ここまで説明した工程管理システム１２、移動体管理システム１３、監視カメラ管理システム１４すべてを包含するシステムを構成しても良い。
【００２０】
監視カメラ１５は、工場や物流倉庫やその他の使用環境の状況を監視する受光センサを有するカメラであり、具体的にはＲＧＢカラーカメラである。監視カメラ１５は移動体１１を観測可能な場所に設置されており、例えば環境内の天井に近い箇所に複数台が設置されている。監視カメラの向いている方向、種類や設置場所といった情報は、監視カメラ管理システム１４の記憶媒体に保持される。監視カメラの設置場所や向いている方向は、使用環境毎に定義された世界座標系上で管理される。また、その監視カメラの種類や設置場所や向いている方向といった情報は、工程管理システム１２や、移動体管理システム１３や、移動体１１と共有する。
【００２１】
図２に、本実施形態において移動体に適用した情報処理システムの機能構成を説明するブロック図を示す。
【００２２】
移動体１１−１は、情報処理装置１１１、距離センサ１１２、撮像装置１１３、各種センサ１１４、アクチュエータ部１１５から構成される。もちろん移動体１１−２、・・・も同様の構成である。なお、各移動体１１には、位置姿勢、ＩＤを識別可能なマーカや、ＩＤを識別可能なＲＦＩＤタグが装着されている。移動体１１に装着するマーカは、シールで貼るようにしても良いし、移動体１１の表面にプリントされていても良い。また、移動体１１に刻印するものや埋め込むようなマーカでも良い。マーカ以外にも、移動体１１を識別可能な記号や文字列を用いても良い。なお、マーカと各移動体１１との位置姿勢関係は予めキャリブレーションにより求められている。
【００２３】
情報処理装置１１１は、取得部１１１７、位置姿勢決定部１１１５、移動制御部１１１６から構成される。取得部１１１７は、第一計測情報取得部１１１１、マップ関連情報管理部１１１２、第一位置姿勢推定処理部１１１３、第二推定情報取得部１１１４から構成される。情報処理装置１１１は、例えば、ＰＣや、組み込みシステムや、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）である。
【００２４】
第一計測情報取得部１１１１は、距離センサ１１２と、撮像装置１１３との計測結果である第一計測情報を取得する。また、第一計測情報取得部１１１１は、第一計測情報をマップ関連情報管理部１１１２、第一位置姿勢推定処理部１１１３に送る。なお、第一計測情報とは、距離センサによる距離情報（点群データやデプスマップ）と撮像装置による画像情報である。また、第一計測情報取得部１１１１は、各種センサ１１４から移動制御に必要な移動制御センサ情報を取得する。移動制御センサ情報は、オドメトリーセンサによるオドメトリー情報、角速度センサによる角速度情報、加速度センサによる加速度情報である。第一計測情報取得部１１１１は移動制御センサ情報を移動制御部１１１６に送る。なお、本実施形態では、最低限、距離情報と画像情報とがあれば移動体１１の位置と姿勢を推定することが可能である。
【００２５】
マップ関連情報管理部１１１２は、移動体管理システム１３の移動体管理部１３１と通信を行い、マップ関連情報の送受信および記憶、保持を行う。また、マップ関連情報管理部１１１２は、第一計測情報取得部１１１１から送られる第一計測情報や、位置姿勢決定部１１１５から取得する位置姿勢情報を利用して、マップ関連情報の生成、更新、変更も行う。また、マップ関連情報管理部１１１２は、マップ関連情報を第一位置姿勢推定処理部１１１３、位置姿勢決定部１１１５、移動制御部１１１６に送る。なお、本実施形態におけるマップ関連情報とは、移動体１１が移動する環境のマップ（地図）、移動経路（走行経路）、目標地点の情報を含む。
【００２６】
ここで言うマップ（地図）とは、環境の構造や空間を表現する環境の三次元モデルなどの三次元マップのことである。具体的には、三次元点群データ（もしくは三次元点群データと色情報との組み合わせ）、キーフレームデータの集合である。キーフレームデータとは、環境内においてある視点から見た奥行情報を量子化して色の濃淡で表現したデプスマップを一定間隔で取得し、画像から取得した色情報とを組合せたものである。なお、キーフレームデータは、位置姿勢を推定するためのものであれば何でも良く、例えば画像中の特徴点における奥行き情報と画像情報（色情報）との組み合わせであっても良い。マップは、情報処理システム１を稼働させる前に、移動体１１を環境内で移動させることで生成する。例えば移動体１１をリモコンや手押しで操作しながら、移動体１１に搭載しているセンサによるセンサ情報を合成することでマップを生成する。あるいは、移動体１１が自律的に環境内を移動して、ＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）技術を使って生成する。ＳＬＡＭとは、センサで周辺の環境を認識すると同時に、自分自身の位置や姿勢を精度よく推定する技術である。マップとしてキーフレームデータを用いた場合は、まず、前フレームで推定した位置や姿勢に最も近いキーフレームを選択し、前フレームの位置や姿勢を用いてデプスマップに基づいて現フレームの各画素をキーフレームに射影する。次に、射影したフレームの画素値とキーフレームの画素値とをマッチングして輝度差が最小となるように位置姿勢を推定する。また、ループクローズした際など所定のタイミングでグラフ最適化法によりキーフレームの位置や姿勢を更新する。そして、生成したマップは移動体管理システム１３の移動体管理部１３１に送られ記憶される。また、マップは情報処理システム１を稼働させている間に変更を加えても良い。
【００２７】
移動経路（走行経路）とは、移動体１１が環境内で移動する経路であり、環境における世界座標系上での位置情報の配列データである。移動経路は少なくとも１つ以上あり、複数ある場合は移動する経路の順番が定められている。また、移動経路は工程設計を行うユーザが予め定めたものであっても良いし、情報処理システム１を稼働させている間に変更を加えたものであっても良い。
【００２８】
目標地点とは、移動体１１が環境内で移動する目標となる地点であり、環境における世界座標系上での位置姿勢情報である。目標地点は少なくとも１つ以上あり、複数ある場合は目標とする順番が定められている。また、目標地点は工程設計を行うユーザが予め定めたものであっても良いし、情報処理システム１を稼働させている間に変更を加えたものであっても良い。
【００２９】
第一位置姿勢推定処理部１１１３は、第一計測情報取得部１１１１から送られる第一計測情報、マップ関連情報管理部１１１２から送られるマップ関連情報を取得する。そして、第一の処理方法を使って第一の処理結果（移動体１１の位置と姿勢を特定可能な情報）を推定する。本実施形態における所定の第一の推定方法はＳＬＡＭとする。ＳＬＡＭは、移動体１１の周囲の環境を計測した第一計測情報が入力されると、移動体１１の位置姿勢情報と、周囲の環境のマップを出力する。第一位置姿勢推定処理部１１１３は、第一の処理方法における推定結果の信頼度を取得できる。なお、信頼度とは、ある計測情報または処理方法に基づいた処理結果の確からしさを表す指標である。また、第一位置姿勢推定処理部１１１３は、第一の位置姿勢情報をマップ関連情報管理部１１１２、位置姿勢決定部１１１５に送る。なお、本実施形態における位置姿勢または位置姿勢情報とは、環境の世界座標系上における移動体１１の位置を示す３自由度（Ｘ、Ｙ、Ｚ）と姿勢を示す３自由度（Ｒｏｌｌ、Ｐｉｔｃｈ、Ｙａｗ）との合計６自由度の位置姿勢パラメータである。なお、第一の推定方法はＳＬＡＭの他に、距離センサ１１２から取得された距離情報（点群データ）と、マップ関連情報の点群データとをＩＣＰ法を用いて一致するよう最適化計算することで位置姿勢推定する。（ＩＣＰはＩｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔの略である。）あるいは、距離センサ１１２から入力された距離情報（デプスマップ）や撮像装置１１３から取得された画像の特徴点と、マップ関連情報のキーフレームデータの特徴点とをマッチングすることで位置姿勢推定することが出来る。第一位置姿勢推定処理部１１１３が移動体管理システム１３に含まれていても良い。
【００３０】
第二推定情報取得部１１１４は、監視カメラ管理システム１４の第二計測情報管理部１４１と通信を行い、第二の処理結果を含む第二推定情報や監視カメラ情報を取得する。なお、監視カメラ管理システム１４の第二位置姿勢推定処理部１４３が環境を認識した結果（例えば、環境に存在している物体、人物、移動体などの位置姿勢、種類、数など）、各監視カメラが撮像した画像などを監視カメラ情報と呼ぶ。もちろん、移動体１１は、監視カメラ管理システム１４から第二推定情報や監視カメラ情報を直接的に受信せず、一旦移動体管理システム１３を経由して受信しても良い。また、第二推定情報取得部１１１４は、第二推定情報をマップ関連情報管理部１１１２、位置姿勢決定部１１１５に送る。なお、本実施形態における第二推定情報とは、監視カメラ１５−１、２等いずれかのカメラが移動体１１とその周囲を撮影した画像から、第二位置姿勢推定処理部１４３が第二の処理方法で認識した第二の処理結果（移動体１１の位置と姿勢を特定可能な情報）である。本実施形態では、第二推定情報は、所定の第二の推定方法で移動体１１の位置姿勢情報を推定した第二の処理結果であるとする。第二の処理方法については、第二位置姿勢推定処理部１４３で詳細を説明する。
【００３１】
取得部１１１７は、第一位置姿勢推定処理部１１１３の推定結果である第一の処理結果と、第二位置姿勢推定処理部１４３の推定結果である第二の処理結果とを取得する取得部である。取得部１１１７は、位置姿勢決定部１１１５に第一の処理結果と第二の処理結果を送る。
【００３２】
位置姿勢決定部１１１５は、取得部１１１７から取得した第一の処理結果と第二の処理結果とに基づいて、移動体１１の世界座標上での位置および姿勢（位置姿勢情報）を生成する。本実施形態では、位置姿勢決定部１１１５は、ある時点で取得部１１１７から取得した第一の処理結果と第二の処理結果とから移動体１１の位置および姿勢として決定する。位置は第一の処理結果と第二の処理結果の中間地点、姿勢は第一の処理結果と第二の処理結果の平均値とし、この位置と姿勢の座標情報を合わせて位置姿勢情報を呼ぶ。生成された位置姿勢情報は移動制御部１１１６、マップ関連情報管理部１１１２に送られる。また、位置姿勢決定部１１１５はこれら様々な方法で推定した位置姿勢情報に重み付け係数を反映して統合しても良い。各処理方法で推定された６自由度の位置と姿勢を示すパラメータに対して、それぞれに重み付け係数を掛けて統合する。なお、それぞれの重み付け係数の絶対値はゼロを含まない。重み付けには予め定めておいた比率を用いる方法や、それぞれの推定で求められた信頼度に比例させた変数を用いる方法等がある。位置姿勢決定部１１１５が、第一位置姿勢推定処理部１１１３から第一の処理方法における推定結果の信頼度と、第二位置姿勢推定処理部１４３から第二の処理方法における推定結果の信頼度とをそれぞれの処理方法の信頼度として用いる。第一の処理結果に関しては、例えば距離情報の推定信頼度やフレーム間のマッチング誤差から算出できる信頼度を利用することが出来る。第二の処理結果に関しては、例えば、監視カメラ画像の認識信頼度が挙げられる。例えば、第一の処理結果、第二の処理結果を重み付けて統合することで、移動体１１の位置や姿勢の決定の信頼性が向上し、安定的に移動体１１の位置や姿勢を得ることが出来る。
【００３３】
移動制御部１１１６は、第一計測情報取得部１１１１から送られる移動制御センサ情報と、マップ関連情報管理部１１１２から送られるマップ関連情報と、位置姿勢決定部１１１５から送られる移動体１１の位置姿勢情報とを取得する。そして、それらに基づいて移動体１１の移動制御情報を生成する。なお、本実施形態における移動制御情報とは、移動体１１の車輪の回転トルク、進行方向、ブレーキ（加速度）などである。また、移動制御部１１１６は、移動制御情報をアクチュエータ部１１５に送る。また、移動制御部１１１６は図示しない進行方向提示部が移動経路に基づきウインカーによる点滅などの進行方向の提示を行うための情報を生成して送っても良い。
【００３４】
距離センサ１１２は、環境におけるシーンの距離（あるいは三次元情報、あるいは奥行き情報）の計測を行う計測装置であり、照射したレーザー等の光を受光する受光センサを有する。具体的にはＬｉｄａｒやＴｏＦを代表とするアクティブ距離センサである。なお、距離センサ１１２と移動体１１との位置姿勢関係、距離センサ１１２と撮像装置１１３との位置姿勢関係は、予めキャリブレーション済みであるとする。距離センサ１１２は、計測により得られた距離情報（点群データを二次元配列した画像であるデプスマップなど）を第一計測情報として第一計測情報取得部１１１１へ送る。
【００３５】
撮像装置１１３は、移動体１１の周囲を撮影可能な受光センサを含む装置で、すなわち環境におけるシーンの画像を撮像するカメラであり、具体的にはＲＧＢカラーカメラである。撮像装置１１３は、ＣＭＯＳセンサやＣＣＤセンサ等の画像センサを内蔵する。なお、撮像装置１１３と移動体１１との位置姿勢関係、撮像装置１１３と距離センサ１１２との位置および姿勢の関係は、予めキャリブレーション済みであるとする。撮像装置１１３は、撮像により得られた画像情報を第一計測情報として第一計測情報取得部１１１１へ送る。
【００３６】
各種センサ１１４は、移動体１１のオドメトリー（車輪の回転角度により求める位置姿勢情報）を計測するオドメトリーセンサ、角速度を計測する角速度センサ、加速度を計測する加速度センサなどである。各種センサ１１４は、オドメトリー情報、角速度情報、加速度情報を含む移動制御センサ情報を第一計測情報取得部１１１１へ送る。
【００３７】
アクチュエータ部１１５は、移動制御部１１１６から送られる車輪の回転トルク、進行方向、ブレーキ（加速度）に関する移動制御情報に基づき移動体１１の車輪を駆動する。
【００３８】
工程管理システム１２は、図１で説明したとおりである。
【００３９】
移動体管理システム１３は、移動体管理部１３１、移動体管理表示部１３２から構成される。
【００４０】
移動体管理部１３１は、工程管理システム１２と通信を行い、移動体１１が行う工程を実行するための各種情報を送受信する。移動体管理部１３１は、移動体１１が環境内を移動するために必要なマップ関連情報（マップ、移動経路、目標地点など）を保持しており、例えば初期化時や工程が進む時や定期的に、マップ関連情報管理部１１１２に送る。
【００４１】
移動体管理表示部１３２は、移動体管理部１３１から送られた移動体管理情報を表示するデバイスであり、具体的にはディスプレイである。移動体管理表示部１３２は、マップ、移動体１１の位置姿勢、移動体１１ごとの移動経路、目標地点などがディスプレイの画面上に表示されている。マップ上に各移動体１１がどこにいるのかを表示するようにしても良い。また、各移動体の撮像装置１１３が撮影した画像をそれぞれ表示して、ユーザが確認できるようにしても良い。
【００４２】
監視カメラ管理システム１４は、第二計測情報管理部１４１、監視カメラ管理表示部１４２、第二位置姿勢推定処理部１４３から構成される。
【００４３】
第二計測情報管理部１４１は、監視カメラ１５で撮影された監視カメラ画像である計測結果を第二計測情報として第二位置姿勢推定処理部１４３に送る。監視カメラ１５は移動体１１を計測可能または撮影可能な場所に設置されている。また、第二位置姿勢推定処理部１４３から送られた第二の処理結果（移動体１１の位置姿勢推定処理結果および第二の処理方法における認識結果の信頼度）を第二推定情報として第二推定情報取得部１１１４へ送る。第二計測情報は、監視カメラ１５で撮影した画像や監視カメラ１５の図示しない他のセンサについての情報を含む。また、第二計測情報管理部１４１は、監視カメラ１５と通信を行い、監視カメラ画像や、監視カメラ１５の制御を行う各種情報（例えば、パン・チルト・ズーム制御、オン・オフ制御）を送受信する。第二計測情報管理部１４１は、工程管理システム１２と通信を行い、各移動体１１の作業内容（何を運ぶべきかといった指示）や作業場所（地図や座標情報）といった各種情報を送受信する。第二計測情報管理部１４１は、監視カメラ１５が撮影した監視カメラ画像を監視カメラごとに時系列で管理された状態で保持している。なお、監視カメラ管理システム１４の第二位置姿勢推定処理部１４３が環境を認識した結果（例えば、環境に存在している物体、人物、移動体などの位置姿勢、種類、数など）、各監視カメラが撮像した画像などを監視カメラ情報と呼ぶ。
【００４４】
監視カメラ管理表示部１４２は、第二計測情報管理部１４１から送られた監視カメラ画像や第二の処理結果などを表示するデバイスであり、具体的にはディスプレイである。監視カメラ管理表示部１４２は、１つ以上ある監視カメラ１５の監視カメラ画像をアレイ状に並べてディスプレイ画面に表示する。さらに監視カメラ画像に第二の処理結果（例えば検出した移動体１１を枠で囲んで表示）を重畳表示、あるいは認識結果として、移動体１１のＩＤ、荷物情報、位置座標、認識結果の信頼度等のスコアを別途一覧にして表示する。
【００４５】
第二位置姿勢推定処理部１４３は、第二計測情報管理部１４１から取得した監視カメラ画像を含む第二計測情報を、所定の第二の推定方法に入力し、移動体１１の位置姿勢を示す第二の推定結果を推定処理する。本実施形態における第二の推定方法は、監視カメラ１５が撮像した監視カメラ画像から移動体のマーカを検出し、そのマーカの特徴点から移動体の位置や姿勢を幾何変換で推定する（第二の処理結果）。特徴点の検出は、物体の角や縁という形状に特徴のある点を捉える方法があり、この検出した特徴をキーポイントと呼ぶ。例えば、監視カメラ１５が移動体１１を画像から物体検出するためには、ある一定間隔で取得されるフレームから、移動体１１に装着したマーカの特徴点（キーポイント）を抽出する。それを連続するフレームで毎回検出することによって移動体１１を追跡できる。移動体の位置姿勢は、画像中のマーカの特徴点からヤコビアンを用いて幾何変換により求めることが出来る。第二位置姿勢推定処理部１４３は、第二の処理方法における推定結果の信頼度を取得できる。第二位置姿勢推定処理部１４３は、第二の処理方法による推定結果とその信頼度を第二推定情報として第二計測情報管理部１４１に送る。なお、第二位置姿勢推定処理部１４３は、移動体１１の位置姿勢を推定する画像認識以外にも、各監視カメラが撮像できる範囲における物体検知や環境認識を行っても良い。環境を認識する方法は様々あり、例えばテンプレートマッチング、幾何モデルフィッティング、機械学習、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）、強化学習といった手法を用いることが出来る。認識の精度を向上するため、テンプレート、幾何モデル、認識辞書、学習モデル、報酬モデルは予め用意しても良いし、情報処理システム１を稼働中にオンライン生成しても良い。また、移動体１１に装着したマーカからＩＤを認識することで、移動体１１の位置姿勢だけでなく、個体（ＩＤ）、数を認識しても良い。また、第二位置姿勢推定処理部１４３は情報処理装置１１１が備えていても良い。
【００４６】
監視カメラ１５は、図１で説明したとおりである。
【００４７】
図３に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に搭載した情報処理装置１１１の処理手順を示す。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。ただし、情報処理装置１１１は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
【００４８】
Ｓ１０１では、情報処理装置１１１が、初期化処理として、移動体管理部１３１が保持しているマップ関連情報（マップ、移動経路、目標地点など）をマップ関連情報管理部１１１２に記憶する。また、情報処理装置１１１が、距離センサ１１２、撮像装置１１３のセンサパラメータ、カメラパラメータ、各種センサ１１４のキャリブレーションパラメータ、各機能構成で用いるパラメータの初期設定値を取得する。初期化処理が開始されるタイミングとしては、ユーザが情報処理システム１や移動体管理システム１３や、移動体１１を起動した場合などが挙げられる。
【００４９】
Ｓ１０２では、第一計測情報取得部１１１１が、距離センサ１１２によって取得された環境におけるシーンの距離情報と、撮像装置１１３によって撮像された環境におけるシーンの画像とを取得する。距離センサ１１２による距離情報と撮像装置１１３による画像情報が第一計測情報である。また、各種センサ１１４からの移動制御センサ情報を取得する。
【００５０】
Ｓ１０３では、第一位置姿勢推定処理部１１１３が、第一計測情報と、マップ関連情報管理部１１１２から取得されたマップ関連情報（マップ）とを用いた第一の処理方法に基づいて、移動体１１の位置姿勢情報（第一の処理結果）を推定する。移動体１１の位置や姿勢の推定方法（第一の処理方法）は、距離センサ１１２から入力された距離情報（デプスマップ）と撮像装置１１３から取得された画像情報の特徴点や色情報と、マップ関連情報のキーフレームデータとをマッチングすることで推定する。
【００５１】
Ｓ１０４では、第二推定情報取得部１１１４が、第二計測情報管理部１４１から第二の処理結果を取得する。なお、第二の処理結果は、以下に説明する手順で生成される。まず、予め第二計測情報管理部１４１の指示により監視カメラ１５が環境のシーンの撮像を行う。第二計測情報管理部１４１が、監視カメラ１５によって撮影された画像情報である第二計測情報を第二位置姿勢推定処理部１４３に送る。次に、第二位置姿勢推定処理部１４３が、第二位置姿勢推定処理部１４３の説明に記載した手法（第二の処理方法）を用いて、移動体１１の位置姿勢情報（第二の処理結果）を推定する。認識した第二の処理結果は第二計測情報管理部１４１に送られる。
【００５２】
Ｓ１０５では、位置姿勢決定部１１１５が、第一の処理結果と第二の処理結果とに基づいて移動体１１の位置姿勢情報（位置と姿勢）を決定する。ここでは、図４に示す位置姿勢決定部１１１５の処理手順に従って位置姿勢情報を統合する。Ｓ１０５１では、第一の処理結果の信頼度と第二の処理結果の信頼度とを取得する。第一の処理結果の信頼度は、第一の推定方法に適した信頼度を位置姿勢決定部１１１５または第一位置姿勢推定処理部１１１３が算出する。同様に、第二の処理結果の信頼度は、第二の推定方法に適した信頼度を位置姿勢決定部１１１５または第二位置姿勢推定処理部１４３が算出する。Ｓ１０５２では、第一の処理結果に付与する第一の重み付け係数ｗ１と第二の処理結果に付与する第二の重み付け係数ｗ２を算出する（例えばｗ１＋ｗ２＝１、ただし、０＜ｗ１＜１かつ０＜ｗ２＜１）。本実施形態では、重み付け係数は、予め定めておいた比率（ｗ１＝ｗ２＝０．５）を用いる。Ｓ１０５１で取得した信頼度に応じて重み付け係数を決定したりしても良い。なお、複数のカメラから移動体１１を捉えられる場合は、すべての第二計測情報をそれぞれ第二の処理方法に基づいて処理する。複数の第二の処理結果とその信頼度とをそれぞれ算出して、信頼度が高いものを使うようにしても良い。Ｓ１０５３では、第一の処理結果と第一の重み付け係数の積と、第二の処理結果と第二の重み付け係数の積とを足し合わせることによって２つの処理結果を統合する。統合の方法はこれに限らない。
【００５３】
Ｓ１０６では、マップ関連情報管理部１１１２が、マップ関連情報管理部１１１２が保持している最新のマップ関連情報と、位置姿勢決定部１１１５において決定した位置姿勢情報とに基づいて環境のマップを最適化するよう更新する。例えばマップとして点群を利用している場合は、点群の位置が実際の環境のシーンに合うよう最適化処理によって変更される。マップとしてキーフレームデータを利用している場合は、キーフレームの位置姿勢が実際の環境のシーンに合うよう最適化処理によって変更される。環境のマップを含むマップ関連情報はもともと移動体管理部１３１から送られてきているが、例えば環境のレイアウトが変更されていたり、障害物が置かれていたりすると、実際の環境のシーンとは異なったマップとなる。そこで、Ｓ１０６によりマップの更新を行うことで、環境のレイアウト変更や障害物に対応することが可能となり、移動体１１が障害物に衝突するリスクを抑えることができる。また、Ｓ１０６において、環境のレイアウトが変更されていたり、移動経路上に障害物が置かれていてマップが更新されていたりする場合は、もともと移動体管理部１３１から送られて来たマップ関連情報（移動経路）を変更しなければならない。その場合は、マップ関連情報管理部１１１２が移動経路を変更する。移動経路を変更するためには、マップにおける移動体１１の目的地の座標と移動体１１の現在位置がわかっていれば良い。移動経路を変更する方法としては、機械学習や強化学習といった手法がある。これら学習的手法を用いることによって障害物や壁に移動体１１が衝突しないようなルートを新たに作成する。学習は、情報処理装置１１１の図示しない学習部で行うほか、移動体管理システム１３で保持する学習モデルを用いて移動体１１と通信することによって取得できるようにしても良い。作成された最新の移動経路は移動制御部１１１６に送られる。なお、Ｓ１０６は、第一位置姿勢推定処理部１１１３において、第一の処理方法がＳＬＡＭである場合のみ行われる。ＳＬＡＭ技術を利用しない場合はＳ１０６をスキップする。また、Ｓ１０５とＳ１０６とは並列的に実行される処理である。
【００５４】
Ｓ１０７では、移動制御部１１１６が、移動制御センサ情報と、マップ関連情報（マップ、移動経路、目標地点）と、位置姿勢決定部１１１５から送られる位置姿勢情報とに基づいて、移動体１１の移動制御情報を生成する。移動制御情報は、まず移動体１１がマップ内における目標地点に向けた移動経路のどの地点（現在位置）にどの姿勢（進行方向）であるかを把握し、移動体１１が目標地点に向かうために必要な車輪の回転トルク量、進行方向、ブレーキなどの制御値を決定する。生成した移動制御情報はアクチュエータ部１１５を制御するために利用される。
【００５５】
Ｓ１０８では、情報処理装置１１１がシステムの動作が終了したか、すなわち移動体１１が目標地点に到着したり、ユーザがシステムの停止を指示したりしたか判定する。目標地点に到着したと判断するには、マップ関連情報と移動体１１の位置姿勢情報とに基づいて、目的地の世界座標と移動体１１の世界座標との距離が所定の値以下（例えば１ｍ以下）の場合はシステムを終了するといった条件を設定しておく。または、ＲＦＩＤやマーカを使って移動体１１が目標地点に接近したことをセンサやカメラで検知するようにしてもよい。ユーザやシステムが終了指示する例では、サーバからの強制停止指示が出た場合、あるいは移動体１１に備えた緊急停止ボタンが人によって押される場合がある。その際は他のステップを実行中であってもＳ１０８にジャンプしてシステムを終了しても良い。Ｙｅｓの場合はそのままシステムを終了する。Ｎｏの場合はＳ１０２に戻る。また、目標地点に到着していたとしても、次の目標地点が設定されていればＳ１０２に戻る。
【００５６】
なお説明上、Ｓ１０３とＳ１０４という順序で実行することになっているが、この順番は逆にしてもよい。また、Ｓ１０６とＳ１０７は並列的に処理しても良い。
【００５７】
図５は、情報処理システムに本実施形態を適用した場合のフローチャートである。
【００５８】
Ｓ２０１は、Ｓ１０１と同様に、情報処理装置１１１がシステムの初期化を行う。
【００５９】
Ｓ２０２では、距離センサ１１２と撮像装置１１３が移動体１１の周辺の環境の計測可能な範囲を第一受光センサで計測する。この計測結果を第一計測情報とする。Ｓ２０３は、Ｓ１０２と同様に、第一計測情報取得部１１１１が、距離センサ１１２と撮像装置１１３から第一計測情報を取得する。第一計測情報取得部１１１１は、取得した第一計測情報を第一位置姿勢推定処理部１１１３に送る。Ｓ２０４では、第一位置姿勢推定処理部１１１３が、第一計測情報とマップ関連情報とを第一の推定方法に入力して第一の処理結果を得る。Ｓ２０５では、位置姿勢決定部１１１５が、第一位置姿勢推定処理部１１１３の処理結果である移動体１１の位置姿勢情報（第一の処理結果）を取得する。Ｓ２０６では、第二受光センサとして監視カメラ１５が、移動体１１と移動体１１の周辺の環境の計測可能な範囲を撮像する。監視カメラ１５の画像情報を第二計測情報とする。Ｓ２０７では、第二計測情報管理部１４１が第二計測情報を監視カメラから取得し、第二位置姿勢推定処理部１４３に送信する。Ｓ２０８では、第二位置姿勢推定処理部１４３が、第二の推定方法に第二計測情報である監視カメラ画像を入力して第二の処理結果を得る。ここで、第二の推定方法は移動体１１に搭載されたマーカを使った物体検出と座標変換による位置姿勢推定方法である。また第二の処理結果は、移動体１１の位置姿勢を示す情報である。Ｓ２０９は、情報処理装置１１１の第二推定情報取得部１１１４が第二の処理結果を第二計測情報管理部１４１から取得する。第二推定情報取得部１１１４が、位置姿勢決定部１１１５に第二の処理結果を送信する。Ｓ２１０は、位置姿勢決定部１１１５が第一の処理結果と第二の処理結果とを用いて移動体１１の位置姿勢を決定する。Ｓ２１１は、マップ関連情報管理部１１１２がマップ関連情報を更新する。Ｓ２１２は、移動制御部１１１６が移動体１１の移動量を算出する。Ｓ２１３では、アクチュエータ部１１５が、移動制御部１１１６から送られた移動制御情報を利用して移動体１１の車輪の回転トルク、進行方向、ブレーキ（加速度）を制御する。Ｓ２１４では、情報処理装置１１１が移動制御を終了するか判断する。判断方法としては、移動体１１が目的地の半径１ｍ以内に到着したかどうかで判断する。なお、処理手順はＳ２０２からＳ２０５とＳ２０６からＳ２０９が入れ替わっていても良い。また、並列的に処理しても良い。
【００６０】
本実施形態によれば、移動体１１に搭載された距離センサおよび撮像装置による第一計測情報とマップ関連情報を第一の処理方法で処理した第一の推定結果と、監視カメラ１５で撮影した監視カメラ画像を第二の処理方法で処理した第二の推定結果とを用いる。そして、移動体１１の位置姿勢情報を統合、決定し、移動制御を行う。移動体に搭載された距離センサからの距離情報、撮像装置からの画像を用いた位置姿勢推定の結果と、監視カメラ画像を用いた位置姿勢推定結果とに基づいて移動体の位置姿勢を決定するため、移動体の位置姿勢を安定的に得ることができる。
【００６１】
（変形例１−１）
本実施形態において、マップは三次元的なマップに限定されない。また、本実施形態において、位置姿勢情報は６自由度の位置・姿勢パラメータに限定されるものではない。例えば、マップは、環境の床と水平な面上の二次元点群データ（と色情報との組み合わせ）や、環境の床と水平な面上の二次元モデルなどの二次元マップであっても良い。また、位置姿勢情報は環境の世界座標系上における移動体１１の位置を示す２自由度（環境の床に対して水平な面上の位置Ｘ、Ｙ）と姿勢を示す１自由度（環境の床に対して水平な面上での回転方向）との合計３自由度の位置・姿勢パラメータであっても良い。また、距離センサ１１２は、シーンの水平方向で距離情報（二次元点群データ）を計測するアクティブ距離センサであっても良い。位置姿勢情報の推定は、距離センサ１１２から取得された距離情報（二次元点群データ）と、マップ関連情報の二次元点群データとをＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）法を用いて一致するよう最適化計算することで行う。
【００６２】
（変形例１−２）
本実施形態において、距離センサ１１２はアクティブ距離センサに限定されるものではない。例えば、赤外線センサや、ステレオカメラであっても良い。また、本実施形態において、撮像装置１１３、監視カメラ１５は、ＲＧＢカラーカメラに限定されるものではない。例えば、グレースケールカメラや、赤外線カメラや、広角レンズカメラや、パノラマカメラであっても良い。パン、チルト、ズームが可能なカメラであっても良い。また、監視カメラ１５は、画像以外に距離を計測するセンサを備えても良い。例えば、二次元点群や三次元点群を出力する距離センサであっても良い。
【００６３】
（変形例１−３）
本実施形態において、マップは移動体１１に搭載している距離センサや撮像装置を用いて生成されるものに限定されない。例えば、環境のＣＡＤ図面や地図画像をそのまま、あるいはデータフォーマット変換したものをマップ関連情報管理部１１１２に取得して利用しても良い。また、ＣＡＤ図面や地図画像によるマップを初期マップとしてマップ関連情報管理部１１１２に取得して、移動体１１に搭載しているセンサを用いてＳＬＡＭ技術で更新しても良い。マップを上書きで更新しても良いし、初期マップを保持しておき差分を更新情報として記憶しても良い。その際、マップをレイヤーで管理して、差異を移動体管理表示部１３２のディスプレイ画面で確認したり、初期マップに戻したりすることも出来る。ディスプレイ画面を見ながら操作を行うことで利便性が向上する。
【００６４】
（変形例１−４）
本実施形態において、マップは同一の時間帯に生成されるものに限定されない。例えば、時間帯を変えてマップを複数生成し、生成したマップを比較して差異を除くことで環境内を移動する物体（例えば人物や他の移動体１１）をマップ関連情報から排除することが可能となる。マップ関連情報から移動する物体を排除することで位置姿勢推定をより安定的に行うことが可能になる。
【００６５】
（変形例１−５）
本実施形態において、距離センサ１１２と撮像装置１１３を両方利用すると説明したが、その方法に限定されるものではない。撮像装置１１３を利用して、距離センサ１１２を利用しなくても良い。この場合、位置姿勢情報の推定はＴａｔｅｎｏらの方法（非特許文献１）を用いて撮像装置１１３による画像情報から距離情報（三次元幾何情報）をＣＮＮ（ＣｏｎｖｏｌｕｔｉｏｎａｌＮｅｕｒａｌＮｅｔｗｏｒｋ）で推定し、ＳＬＡＭ技術を利用して行う。なお、ＣＮＮは、多段階の層からなり、畳み込み演算を行うニューラルネットワークである。入力画像に対して、ＣＮＮの各段階では畳み込み演算を行って画像の特徴を空間的に統合し、次の段階の中間層のニューロンへ入力する。さらにプーリングやサブサンプリングと呼ばれる、特徴量を空間方向へ圧縮する操作を行う。ＣＮＮは、このような多段階の特徴変換を通じて複雑な特徴表現を獲得することができる。そのため同特徴量に基づいて画像中の被写体のカテゴリ認識や画像変換などを高精度に行うことができる。
【００６６】
（変形例１−６）
本実施形態において、第一位置姿勢推定処理部１１１３での位置姿勢情報の推定は、移動体１１に搭載したセンサによるセンサ情報と、監視カメラ画像とを利用して最適化計算で求めても良い。
【００６７】
また、第一位置姿勢推定処理部１１１３での位置姿勢情報の推定は、第一の計測情報として通信機器の電波の強さを使っても良い。例えば、Ｗｉ−Ｆｉ通信の通信状況や、環境内に設置されているビーコンを併用して求めても良い。
【００６８】
（変形例１−７）
本実施形態において、移動体１１は搬送車両（ＡＧＶ）に限定されるものではない。例えば、移動体１１は、ＡＭＲ，無人搬送車、自動運転車、自律移動ロボットであっても良く、本実施形態で説明した移動制御をそれらに適用しても良い。また、陸上を歩行・走行する移動体以外でも、空中を飛行して移動するものや、水上を移動するもの、水中を潜水して移動する移動体に適用しても良い。
【００６９】
（変形例１−８）
本実施形態において、移動体１１は人間による運転制御が不要であるが、ユーザがＧＵＩを用いて必要に応じた遠隔操作をできるようにしてもよい。ユーザは監視カメラ１５と監視カメラシステム１４を使って工場全体を監視しており、移動体１１の行動を監視している。異常行動の兆候が観測された場合や、トラブルで工場の一部を停止しなければいけない場合に、ユーザは遠隔操作によって一度に複数の移動体１１の運転制御に介入できるようになっていれば、システム全体の安全性や利便性が上がる。
【００７０】
第二計測情報管理部１４１は、監視カメラ管理表示部１４２に対して、監視カメラ画像と共にＧＵＩを表示する制御を行う。また、監視カメラ管理表示部１４２で操作を指示された移動体１１の移動制御情報を第二推定情報取得部１１１４もしくは移動制御部１１１６へ送る。
【００７１】
監視カメラ管理表示部１４２は、複数の監視カメラ１５により撮像した監視カメラ画像をアレイ状に表示する。また、表示されている移動体１１を操作するＧＵＩを表示する。図６に監視カメラ管理表示部１４２に表示するディスプレイ画面の例を示す。ユーザはＧＵＩを操作して移動体１１（図６においては監視カメラ画像１５−１に表示され、マウスカーソルあるいは画面へのタッチによって選択された移動体１１−１）の操作を行う。移動体１１の操作としては、前進、停止、後退、右旋回、左旋回などがある。監視カメラ画像を見て工場や物流倉庫の監視を行っているユーザが、監視カメラ画像と共に表示されているＧＵＩで移動体１１を操作可能にすることで、移動体１１が物体などに衝突する前に停止させるといった操作を行うことが出来る。
【００７２】
図１７に、監視カメラシステム１４の処理手順を示す。Ｓ９０１では、監視カメラ１５が周囲を撮像する。Ｓ９０２では、監視カメラ１５が撮像した画像を第二計測情報管理部１４１が取得する。Ｓ９０３では、第二位置姿勢推定処理部１４３が、監視カメラ１５が撮像した画像から、移動体１１を検出する。検出方法は、移動体１１に搭載されたマーカを使った物体検出を用いる。Ｓ９０４では、監視カメラ表示部１４２に、認識処理後の画像を表示する。図６で表されるように、検出された移動体１１を枠で囲んで表示することができる。Ｓ９０５では、ユーザによって入力された移動体１１の移動制御指示を監視カメラ表示部１４２が取得する。Ｓ９０６では、第二計測情報管理部１４１が第二の処理結果とユーザの入力情報を情報処理装置１１１に送信する。ＧＵＩから移動制御の入力操作があった場合は、図３のフローチャートにおけるＳ１０７で、移動制御部１１１６がＧＵＩに入力された制御情報を使って移動制御情報を生成する。
【００７３】
（変形例１−９）
監視カメラシステム１４は第二位置姿勢推定処理部１４３の他に、第二位置姿勢推定処理部１４３が移動体１１の周囲にある他の物体を認識する。なお、他の物体は、環境内を移動する他の移動体１１、人物、もしくは移動体１１が搭載していた荷物（落下物）である。第二位置姿勢推定処理部１４３では、パターン認識等の物体検出の手法を用いて他の物体を認識する。具体的な手順としては、まず図５のＳ２０８において、第二位置姿勢推定処理部１４３が第二計測情報に含まれる画像から移動体１１以外の物体を検出する。推定処理をする直前の画像にはなかった物体の特徴点を検出する。Ｓ２１０では、位置姿勢決定部１１１５が、第一の処理結果と第二の処理結果を用いて移動体１１の位置と姿勢を決定する。ここで、Ｓ２０８において移動体の他に物体が検出なかった場合は、前に説明した手順で第一の処理結果と第二の処理結果を統合し、移動体１１の位置と姿勢を決定する。Ｓ２０８において移動体の他に物体が検出された場合、Ｓ２０５で得た第一の処理結果に付与する重み付け係数を小さくして、移動体の位置と姿勢を決定する。第一の計測情報に他の物体による計測の誤差が含まれる場合、第一の処理結果の精度が悪い可能性があるためである。環境内で動く物体を検出することによって、移動体の位置や姿勢を推定するのに不必要な物体の情報を排除できるため、移動体の位置を安定的に決定できる。
【００７４】
（変形例１−１０）
本実施形態において、初期化処理として監視カメラの画像を利用して移動体１１の移動開始時の位置または姿勢の推定（初期設定）を行っても良い。例えば、図５のフローチャートを用いて説明を行うと、Ｓ２０１においてＳ２０６〜Ｓ２０９の処理を追加で行う。Ｓ２０１で行うＳ２０８の処理においては、第二位置姿勢推定処理部１４３が、第二の推定方法に第二計測情報である監視カメラ画像を入力して第二の処理結果を得る。位置姿勢決定部１１１５が、この第二の処理結果に基づいて、移動体１１が移動を開始するスタート位置を決定する。あるいは、位置姿勢決定部１１１５が、監視カメラ１５が撮像した監視カメラ画像を入力し、テンプレートマッチング、モデルフィッティング、機械学習など、手法を用いて移動体１１の移動経路の開始位置や姿勢（第二の処理結果）を決定する。
【００７５】
移動体１１の位置や姿勢を推定する方法としてＳＬＡＭ技術を用いる場合、システム初期化直後は前フレームの位置姿勢情報がないため、何らかの方法で移動体１１の初期位置姿勢を決定する必要が生じる場合がある。そのため、システム初期化時に、第二計測情報を利用して移動体１１の初期位置姿勢情報（移動体１１の移動経路の開始位置）を決定することで、移動体の位置を安定的に推定することが出来る。
【００７６】
もちろん、移動体１１の初期位置姿勢を、ユーザが監視カメラ管理表示部１４２を利用して設定しても良いことは言うまでもない。
【００７７】
（変形例１−１１）
本実施形態において、第二位置姿勢推定処理部１４３による認識結果に基づき環境に置かれている物体の位置や姿勢に変化があると判定する。物体の位置や姿勢に変化があると判定された場合は、移動体１１が変化のあった環境内の領域すなわちレイアウト変更の行われた環境内の領域に向かって自律的に移動してマップ情報を更新しても良い。例えば、図５のフローチャートを用いて説明すると、Ｓ２０８において第二位置姿勢推定処理部１４３が、テンプレートマッチング、モデルフィッティング、機械学習などの手法を用いて、環境に置かれている物体の位置や姿勢に変化があるか認識する。レイアウト変更の判定は、ある時刻ｔまで無かった物体が時刻ｔから所定の時間ｕ（例えば予めユーザにより定めた１分間）以上環境にあることを監視カメラ１５により撮影した画像の時系列差分から求める。あるいはその逆で、時刻ｔまであった物体が時刻ｔから所定の時間以上環境から無くなったこと、あるいは物体の位置や姿勢が変化したことを、監視カメラ１５により撮影した画像の時系列差分から求める。移動体１１の移動制御およびマップ情報の更新は、レイアウト変更があった領域を環境の世界座標系に投影変換してその領域のマップ情報を更新するように行う。なお、本変形例の処理は、工程のタスクが割り当てられていない移動体１１を用いて行うことが望ましいが、工程のタスクの合間に行っても良い。第二位置姿勢推定処理部１４３は、Ｓ２１１において変化のあった環境内の領域についてマップ情報の更新するようにマップ関連情報管理部１１１２に指示を行う。変化があると認識された場合はレイアウト変更が行われたものと判定して、Ｓ２１２において変化のあった環境内の領域を目標地点にして移動体１１の移動制御を行う。
【００７８】
移動体１１の位置姿勢情報を推定する方法としてＳＬＡＭ技術を用いない場合に、レイアウト変更が行われた領域のマップ情報更新を行うことで、移動体の位置を安定的に取得することが出来る。
【００７９】
（変形例１−１２）
本実施形態において、第二位置姿勢推定処理部１４３による認識結果に基づき監視カメラ画像内に存在する特徴点の数や分布を判定する。特徴点の数が多すぎるあるいは少なすぎる領域を移動体１１に搭載した距離センサ、画像センサにより計測あるいは撮像しないよう移動制御する。例えば工場のような環境において移動体を使用する場合、工場の壁や天井には模様や柄がないことや、逆にブラインドのような同じ幾何的特徴の繰り返し・パターンがあることが多く、そのような部分では位置の推定に必要な特徴点を見つけにくい。特徴点とは、環境内で位置を推定するために用いるコーナーやエッジ等の変化が大きい点を指す。そのような環境でも移動体の位置を安定的に決定するには、特徴点の数や分布が適度な箇所を第一の計測情報として使うようにする。そのために、予め第二の計測情報から特徴点の数や分布を計測しておき、特徴点の数や分布が適度な箇所を把握しておく。例えば、図５のフローチャートを用いて説明すると、Ｓ２０８において第二位置姿勢推定処理部１４３による認識で、特徴点の数や分布を検出するための検出器やフィルタ等の既知の手法を用いて環境における特徴点の数や分布を監視カメラ画像ごとに判定する。特徴点の数や分布が、予め定めた範囲に含まれない（第１の閾値以下あるいは第２の閾値以上）場合は、特徴点の数や分布が少なすぎるあるいは多すぎる。そのため、移動体１１に搭載した距離センサ、撮像装置で計測あるいは撮像するのに適切ではないと判定する。特徴点の数や分布が適切ではない領域を環境の世界座標系に投影変換して、Ｓ２１２において移動体１１に搭載した受光センサがその領域を計測あるいは撮像しないよう移動制御する。また、位置姿勢決定部１１１５が、特徴点の数や分布が適切ではない領域が計測範囲に含まれる第一の計測情報を用いた第一の処理結果を取得しないよう抑制しても良い。特徴点の数や分布が過少または過多な場合に第一の計測情報または第一の処理結果を取得しないように抑制することによって、情報処理装置１１１の処理負荷を軽減することができる。その結果、移動体の位置を安定的に取得することが出来る。
【００８０】
（変形例１−１３）
本実施形態において、移動体１１の図示しないバッテリー（電池）が切れそうな場合は、監視カメラ情報を利用した第二の処理結果により移動体１１の位置と姿勢の推定を行っても良い。
【００８１】
移動体１１のバッテリーを効率的に使うことで、移動体の位置を安定的に取得することが出来る。
【００８２】
（変形例１−１４）
本実施形態において、第二の処理結果の信頼度は監視カメラ画像の認識信頼度に限定されるものではない。監視カメラの近くを通る移動体は、監視カメラの画像にマーカが大きく映るためマーカで検出しやすい。一方で、監視カメラから遠いところを通る移動体は、監視カメラの画像にマーカが小さく映るため検出しづらい。また、移動体が監視カメラから遠いほど、画像におけるマーカの位置のずれや形状の歪みが顕著になるため、画素のずれが移動体の位置や姿勢の推定に与える影響が大きくなり、推定精度が低下する。そこで、移動体の位置座標と監視カメラの既知である位置座標の距離を計算し、位置姿勢決定部１１１５における重み付け係数を監視カメラ１５から移動体１１までの距離に応じた信頼度にしても良い。監視カメラ１５から移動体１１までの距離が遠くになるにつれて位置姿勢推定精度は下がるため信頼度を下げる。あるいは、監視カメラ１５で撮影した画像中のどの位置に移動体１１が写っているかで信頼度を決めても良い。監視カメラ１５は広角レンズを用いていることが多く、端に写っている移動体１１や物体や人物の位置姿勢推定精度は下がる。監視カメラ画像を矩形に分割して予め定めた端の分割領域に移動体１１が写っている場合は信頼度を下げる。信頼度の高い情報のみを使って処理結果を統合することにより、移動体の位置を安定的に取得することが出来る。
【００８３】
（変形例１−１５）
本実施形態において、１台の移動体１１を撮影する監視カメラ１５は１台に限定されるものではなく複数台であっても良い。例えば、移動体１１−１を監視カメラ１５−１および１５−２で撮影しても良い。監視カメラ１５−１および監視カメラ１５−２は移動体１１を計測可能または撮影可能な場所に設置されており、それぞれのカメラの位置と姿勢が既知である。図５のフローチャートを用いて説明すると、Ｓ２０６において監視カメラ１５−１、１５−２を用いて画像をそれぞれ撮影する。次にＳ２０８において第二位置姿勢推定処理部１４３を用いて監視カメラ画像それぞれから移動体１１−１の位置姿勢情報を認識する。さらに、第二位置姿勢推定処理部１４３が移動体１１−１を検出し、その位置と姿勢をそれぞれ世界座標系上で座標変換したことで位置姿勢推定する（複数の第二の処理結果）。Ｓ２０９において第二推定情報取得部１１１４を通して複数の第二の推定情報（第二の処理結果）を入力する。さらに、Ｓ２０４において、第一位置姿勢推定処理部１１１３は、第一計測情報取得部１１１１から送られる第一計測情報、マップ関連情報管理部１１１２から送られるマップ関連情報を用いて第一の処理結果を推定する。Ｓ２１０において、Ｓ２０９で取得された複数の第二の処理結果と、Ｓ２０４で取得した第一の処理結果を重み付けて統合する。重みづけには予め定めておいた比率を用いる方法や、それぞれの推定で求められた信頼度に比例させた変数を用いる方法等がある。あるいは最も信頼度の高い位置姿勢情報を選択しても良い。移動体１１−１を撮像する監視カメラ１５は２台に限定されるものではなく、３台以上の複数台であっても良いことは言うまでもない。
【００８４】
複数の視点からの画像や処理結果の信頼度等の情報を使って処理結果を統合することにより、移動体の位置を安定的に取得することが出来る。また、移動体側で処理結果の統合をすることにより、監視カメラ管理システム１４の処理負荷を軽減することができる。
【００８５】
また、第二位置姿勢推定処理部１４３で得られた複数の第二の処理結果を、Ｓ２０８またはＳ２０９の時点でひとつの第二の処理結果に統合しても良い。第二位置姿勢推定処理部１４３は、それぞれの推定で求められた信頼度に比例させた変数を用いて重み付け係数を決定し、各推定結果を統合する。あるいは最も信頼度の高い位置姿勢情報を選択しても良い。それ以外の方法でも、例えば、複数の第二の処理結果の平均値や中央値をとる。監視カメラ管理システム１４で第二の処理結果を統合することにより、情報処理装置１１１での処理負荷を軽減することができる。
【００８６】
（変形例１−１６）
本実施形態において、第一計測情報、第一の処理結果と、第二の処理結果との推定レート（位置姿勢推定処理を行う時間間隔を示す）や推定タイミングは、処理を行うタイミングをそれぞれ任意の時間間隔に設定することができる。例えば同時並行で他の処理をやるためにタイミングを設定できる。その結果、推定レートや推定タイミングにずれが生じることがある。
【００８７】
まず、推定レートにずれが生じる場合について説明する。例えば、第一の処理結果の推定レートが高く（毎秒６０回処理）、第二の処理結果の推定レートが低い（毎秒５回処理）場合を考える。位置姿勢決定部１１１５において位置姿勢情報を重み付け統合する際に、第一の処理結果の推定タイミングに合わせると第二の処理結果は過去の推定結果を用いることになるため位置姿勢推定精度が落ちることがある。あるいは、第二の処理結果の推定タイミングに合わせると低い推定レートで位置姿勢情報を求めることになる。そこで時刻ｔ１において第一の処理結果と第二の処理結果とが推定され統合した後、次に第一の処理結果と第二の処理結果が推定される時刻ｔ１＋ｖまでの間は第一の処理結果が推定される度に最新の第一の処理結果から移動体１１の位置姿勢を決定する。あるいは、時刻ｔ１における第二の処理結果に、移動体の速さと経過時間の積から推定した移動量を差分として加えた位置姿勢情報を第二の処理結果として用いる。時刻ｔ１＋ｖに第一の処理結果と第二の処理結果が推定されたら時刻ｔ１と同様に第一の処理結果と第二の処理結果を統合する。
【００８８】
次に、推定タイミングにずれが生じる場合について説明する。例えば、ある時刻ｔ２にセンサおよび監視カメラで環境を計測あるいは撮影して、位置姿勢決定部１１１５で時刻ｔ２＋ｗ１に第一の処理結果が推定され、時刻ｔ２＋ｗ２に第二の処理結果が推定されるとする。（第二の処理結果のディレイ（遅れ）の方が大きいことを想定してｗ１＜ｗ２とする。）この場合、位置姿勢決定部１１１５で統合する位置姿勢情報は、ほぼ同じ時刻に計測あるいは撮影された距離センサ情報、画像を用いることが望ましい。そこで距離センサ情報、画像情報に対して計測あるいは撮影された時刻のタイムスタンプを付与し、同時刻の距離センサ情報、画像情報を用いて推定した位置姿勢情報を統合する。
【００８９】
あるいは、時刻ｔ２＋ｗ２に第二の処理結果が推定されたら、タイムスタンプを参照して時刻ｔ２における位置姿勢情報を修正しても良い。過去に推定した位置姿勢情報を修正することで、例えばＳＬＡＭ技術を用いて第一の処理結果を推定する場合は時刻ｔ２以降の位置姿勢情報を更新することが出来る。また、タイムスタンプを参照して位置姿勢推定のディレイが大きいと判定された処理結果は信頼度が低いものとして重み付けの度合いを小さくする。計測するタイミングや推定結果を統合する時間を合わせた処理結果を統合することにより、移動体の位置を安定的に取得することが出来る。
【００９０】
（変形例１−１７）
本実施形態において、距離センサ１１２、撮像装置１１３、監視カメラ１５は、撮像素子上の各々の受光部が２以上の受光素子によって構成され、距離情報と画像情報とを出力可能な１台の撮像装置によって構成されても良い。
【００９１】
（変形例１−１８）
情報処理装置１１１は、移動体に搭載されていなくてもよい。例えば、移動体管理システム１３が情報処理装置１１１を含む構成でも良い。この場合、図５のＳ２０２において、各移動体１１−１に搭載された距離センサ１１２、撮像装置１１３、各種センサ１１４が、移動体の周辺を観測あるいは計測する。各移動体１１−１は、それらの観測結果または計測結果を、ネットワークを介して移動体管理システム１３内の情報処理装置に送信する。そして、Ｓ２０３においては、移動体管理システム１３の情報処理装置にある第一計測情報取得部が、移動体に搭載されたセンサの計測結果を取得する。情報処理装置は計測結果を基に先述した第１の推定方法もしくは第２の推定方法を実施し、各移動体の位置や姿勢を決定し、各移動体に送信する。各移動体は、移動制御部１１１６において受信した位置と姿勢に基づいて移動制御情報を生成し、アクチュエータ部１１５を制御する。移動体管理システム１３が有する情報処理装置１１１として、例えば、物理的に大きく処理性能が高いハードウェアを使うことは、移動体に搭載する情報処理装置よりは容易である。つまり、本変形例により、各移動体の位置推定処理をさらに精度良く行える。
【００９２】
（実施形態２）
本実施形態では、移動体の位置の推定に本発明を適用した場合について説明する。
【００９３】
複数の監視カメラが設置されている環境においても監視カメラの死角は存在する。そこで、監視カメラの死角となる場所でも移動体の位置と姿勢を安定的に得るために、環境内に位置を特定するためのマーカを設置する。このマーカは環境における位置と姿勢が既知のＩＤ付き二次元平面マーカであり、移動体はこのマーカを撮影することによって移動体自身の現在位置と姿勢を推定する。本実施形態では、移動体に２台の撮像装置を搭載し、移動体に搭載された距離センサと撮像装置による第一計測情報とマップ関連情報とを第一の処理方法に入力することにより推定した第一の処理結果を用いて移動体の位置と姿勢を推定する。さらに、移動体に搭載したもう一つの撮像装置によって予め環境内に設置したマーカが撮影されたときは、その画像から移動体の位置と姿勢を検出する第二の処理方法を用いて移動体の位置姿勢推定を行う。
【００９４】
（構成説明）
本実施形態においては、環境における位置と姿勢が既知のＩＤ付き二次元平面マーカ（以下、ＩＤマーカと略す）を環境内に複数個、固定して配置する。マーカからは世界座標上での絶対位置を取得できるため、それまでの移動で蓄積した位置や姿勢の推定結果と実際の移動体の位置との誤差を修正することができる。そして、撮像装置１１３ｂで撮像した画像情報から認識したＩＤマーカの位置と姿勢を座標変換することで、移動体１１の位置と姿勢を推定する。ＩＤマーカは、予め環境内の床面、天井、対象物体、立て看板に配置される。また、ＩＤマーカの代わりにＩＤがないマーカを利用しても良い。ＩＤマーカを用いることによって、例えばＩＤが１００番のマーカは世界座標系で（ｘ、ｙ、ｚ）の位置にあるという具合に各マーカの番号と位置を紐づけることができる。ＩＤがない場合は、位置座標のみを読み取る。なお、実施形態１におけるマーカと物理的には同一のものであるが設置箇所が異なる。
【００９５】
図７は、本実施形態における情報処理システムの機能構成を示す図である。多くの構成は、実施形態１で説明した図１、２の構成と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態１と機能が異なる構成のみ説明し、それ以外の構成については図１、２と同じ機能であるものとして説明を省略する。
【００９６】
本実施形態では、移動体１１に撮像装置を２つ搭載する。撮像装置１１３ａは、実施形態１における撮像装置１１３と同様に、移動体１１の周辺の環境を撮像し、第一計測情報取得部１１１１ａに画像情報を送る。撮像装置１１３ｂは、移動体１１が撮像装置１１１３ｂによって計測可能な範囲である環境内に設置されたマーカを撮影するカメラである。マーカは白黒のバーコードであるため、撮像装置１１３ｂはカラーカメラでなくても、白黒画像やグレースケールの濃淡画像を取得できるものでも良い。
【００９７】
第一計測情報取得部１１１１ａは、距離センサ１１２と撮像装置１１３ａとから第一計測情報を取得する。第一計測情報取得部１１１１ａは、取得した第一計測情報をマップ関連情報管理部１１１２、第一位置姿勢推定処理部１１１３ａに送る。
【００９８】
第二計測情報取得部１１１１ｂは、撮像装置１１３ｂから第二計測情報を取得する。第二計測情報取得部１１１１ｂは、取得した計測情報をマップ関連情報管理部１１１２、第二位置姿勢推定処理部１１１３ｂに送る。
【００９９】
第一位置姿勢推定処理部１１１３ａは、実施形態１における第一位置姿勢推定処理部１１１３と同様である。第一の処理方法（ＳＬＡＭ）を用いて第一計測情報とマップ関連情報とを処理することで移動体１１の位置姿勢を推定する。
【０１００】
第二位置姿勢推定処理部１１１３ｂは、移動体１１の位置姿勢情報を推定する際に、撮像装置１１３ｂにより取得された第二計測情報から環境に置かれているマーカを検出する。マーカを検出すると、世界座標における絶対的な位置座標を第二の処理結果として取得できる。また、画像におけるマーカの歪み具合や傾きからから移動体１１の姿勢を第二の処理結果として取得する。
【０１０１】
位置姿勢決定部１１１５は、第一位置姿勢推定処理部１１１３ａから第一の処理結果を用いて移動体１１の位置と姿勢を決定する。もしくは、第二位置姿勢推定処理部１１１３ｂから第二の処理結果を取得し、移動体１１の位置と姿勢を決定する。または、実施形態１と同様にして、第一の処理結果と、二つの処理結果を統合する。統合の方法は実施形態１における位置姿勢決定部１１１５と同様であるが、第二の処理結果が取得できたときは、第二の処理結果に付与する重み付け係数を大きく設定する。
【０１０２】
図８に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態１と処理が異なる手順のみ説明し、それ以外の手順については図３と同じ処理であるものとして説明を省略する。
【０１０３】
Ｓ３０２では、第一計測情報取得部１１１１ａが、第一計測情報として距離センサ１１２から距離情報と、撮像装置１１３ａから画像とを取得する。Ｓ３０３では、第二計測情報取得部１１１１ｂが、第二計測情報として撮像装置１１３ｂから画像を取得する。Ｓ３０４では、第一位置姿勢推定処理部１１１３ａが、第一計測情報とマップ関連情報とを第一の処理方法に入力して、第一の処理結果を得る。ここで、第一の処理方法は実施形態１と同様でＳＬＡＭである。
【０１０４】
Ｓ３０５では、第二位置姿勢推定処理部１１１３ｂが、第二計測情報を第二の処理方法に入力して第二の処理結果を得る。第二の処理方法は、画像からマーカを検出する画像認識技術を用いる。ここで、マーカを検出できなかった場合は、直前のマーカからの移動距離を算出して、直前のマーカの位置座標と移動距離から移動体１１の現在位置を推定する方法でも良い。
【０１０５】
Ｓ３０６では、位置姿勢決定部１１１５が、移動体１１の位置と姿勢を決定する。第二の位置姿勢推定においてマーカが検出された場合は、第二の処理結果を用いて移動体１１の位置と姿勢を決定する。もしくは図４のサブフローと同様に二つの位置姿勢推定処理結果から移動体１１の位置姿勢を決定する。なお、この実施形態においては第二の位置姿勢推定においてマーカが検出された場合、第二の位置姿勢推定結果の重み付け係数を第一の位置姿勢推定結果の重み付け係数より大きくする。マーカを検出できなかった場合は、第一の処理結果を使って位置と姿勢を決定する。
【０１０６】
Ｓ３０７以降は、実施形態１のＳ１０６以降と同様である。
【０１０７】
マーカを設置することによって、監視カメラの死角となる場所でも移動体の位置を安定的に得ることができる。また、マーカからは世界座標上での絶対位置を取得できるため、それまでの移動で蓄積した位置や姿勢の推定結果と実際の移動体の位置との誤差を修正することによって移動体の位置を安定的に得ることができる。
【０１０８】
（実施形態３）
本実施形態では、移動体の位置の推定に本発明を適用した場合について説明する。
【０１０９】
複数の監視カメラが設置されている環境においても監視カメラの死角は存在する。そこで、マーカを設置することによって、監視カメラの死角となる場所でも移動体の位置を安定的に得ることができる。また、マーカからは世界座標上での絶対位置を取得できるため、それまでの移動で蓄積した位置や姿勢の推定結果と実際の移動体の位置との誤差を修正することによって移動体の位置を安定的に得ることができる。本実施形態では、移動体１１に１台の撮像装置を搭載する。取得する画像が１種類であっても、複数の推定処理を行うことによって移動体の位置を安定的に推定できる。また、移動体に搭載する撮像装置を１台にすることによって、２台目の撮像装置を置く場所に自由度が増す。例えば、２台目の撮像装置を、実施形態１と同様に環境内に設置された監視カメラとして利用すれば、移動体を複数の視点から観測可能になり、移動体の位置や姿勢の推定を複数の方法で実施可能になる。本実施形態では、移動体に搭載された距離センサと撮像装置による第一計測情報とマップ関連情報とを第一の処理方法に入力することにより推定した第一の処理結果を用いて移動体の位置姿勢推定を行う。さらに、移動体１１に搭載した同一の撮像装置によって得られた画像に予め環境内に設置したマーカが撮影されたときは、その画像から移動体の位置と姿勢を検出する第二の処理方法を用いて移動体の位置姿勢推定を行う。
【０１１０】
（構成説明）
本実施形態においては、実施形態２と同様に、環境における位置姿勢が既知のＩＤ付き二次元平面マーカ（以下、ＩＤマーカと略す）を環境内に複数固定配置する。実施形態２との違いは、移動体１１に搭載する撮像装置が１台になっている点である。
【０１１１】
図９は、本実施形態における情報処理システムの機能構成を示す図である。多くの構成は、実施形態２で説明した図１、図７の構成と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態２と機能が異なる構成のみ説明し、それ以外の構成については図１、図７と同じ機能であるものとして説明を省略する。
【０１１２】
本実施形態では、移動体１１に搭載する撮像装置は１台でよい。撮像装置１１３は、カラーカメラであり、移動体１１の周辺の環境を撮像し、環境内に設置されたマーカを検出するため画像を取得する。
【０１１３】
計測情報取得部１１１１は、距離センサ１１２と撮像装置１１３とから計測情報を取得する。計測情報取得部１１１１は、取得した計測情報をマップ関連情報管理部１１１２、第一位置姿勢推定処理部１１１３ａ、第二位置姿勢推定処理部１１１３ｂに送る。
【０１１４】
第一位置姿勢推定処理部１１１３ａは、実施形態１における第一位置姿勢推定処理部１１１３と同様である。計測情報取得部１１１１から送られた計測情報と、マップ関連情報管理部１１１２から送られたマップ関連情報とを第一の処理方法（ＳＬＡＭ）に入力し、移動体１１の位置姿勢を推定する。
【０１１５】
第二位置姿勢推定処理部１１１３ｂは、移動体１１の位置姿勢情報を推定する際に、撮像装置１１３により取得された計測情報から環境に置かれているマーカを検出する。マーカを検出すると、世界座標における絶対的な位置座標を第二の処理結果として取得できる。また、画像におけるマーカの歪み具合や傾きからから移動体１１の姿勢を第二の処理結果として取得する。
【０１１６】
図１０に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態２と処理が異なる手順のみ説明し、それ以外の手順については図８と同じ処理であるものとして説明を省略する。
【０１１７】
Ｓ４０２では、計測情報取得部１１１１が、計測情報として距離センサ１１２から距離情報と、撮像装置１１３から画像とを取得する。Ｓ４０３では、第一位置姿勢推定処理部１１１３ａが、第一計測情報とマップ関連情報とを第一の処理方法に入力して、第一の処理結果を得る。ここで、第一の処理方法は実施形態１と同様でＳＬＡＭである。
【０１１８】
Ｓ４０４では、第二位置姿勢推定処理部１１１３ｂが、Ｓ４０２で取得した計測情報を第二の処理方法に入力して第二の処理結果を得る。第二の処理方法は、画像からマーカを検出する画像認識技術を用いる。世界座標における絶対的な位置座標を第二の処理結果として取得する。ここで、マーカを検出できなかった場合は、直前のマーカからの移動距離を算出して、直前のマーカの位置座標と移動距離から移動体１１の現在位置を推定する方法でも良い。Ｓ４０５以降は、実施形態２のＳ３０６以降と同様である。
【０１１９】
（実施形態４）
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。
【０１２０】
移動体１１が本来の移動経路から外れてしまうと、安全の観点では他の移動体や装置に衝突してしまうリスクが高くなる。また生産管理の観点では、予定通りに生産工程を実施できないリスクが高くなる。そのため、移動体１１は移動経路からなるべく外れないように運行することが望まれる。本実施形態では、マップ関連情報に含まれる移動体１１の移動経路と、監視カメラ画像を第二の処理方法に入力することにより推定した第二の処理結果を用いて、移動体と移動経路との相対距離を決定する。移動体と移動経路の距離が離れている（所定の値より大きい）場合は、第二の処理結果を用いて移動体の位置と姿勢の推定結果を修正する。本実施形態では、移動体１１に搭載された距離センサと撮像装置による第一計測情報とマップ関連情報とを第一の処理方法に入力することにより推定した第一の処理結果を用いて移動体１１の位置姿勢を決定する。さらにその位置が移動経路上の点に含まれるかを第二の処理結果から判断する。移動体１１の位置が移動経路の上にない場合は、第二の処理結果を用いて移動体の位置と姿勢の推定結果を修正する。また、移動体１１が本来走行すべき経路から外れているものとして、ユーザに通知を行う。あるいは、位置姿勢情報を用いて移動体１１が移動経路に復帰する試みを行う。
【０１２１】
（構成説明）
本実施形態におけるシステム構成図は実施形態１で説明した図１、図２と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態１と機能が異なる構成のみ説明し、それ以外の構成については図１、図２と同じ機能であるものとして説明を省略する。
【０１２２】
位置姿勢決定部１１１５は、第一計測情報と第一の処理方法とに基づく第一の処理結果を用いて移動体１１の位置と姿勢を決定する。もしくは、第二位置姿勢推定処理部１４３から第二の処理結果を取得し、移動体１１の位置と姿勢を決定する。または、実施形態１で説明した第一計測情報と第一の処理方法とに基づく第一の処理結果と、第二計測と第二の処理方法とに基づく第二の処理結果を統合し、これを移動体１１の位置姿勢情報として保持する。そして、第二の処理結果もしくは位置姿勢情報とマップ関連情報管理部１１１２から送られたマップ関連情報（移動経路）とを比較し、移動体１１が移動経路の上にあるか判断する。ここでは、移動制御に用いる位置姿勢情報には第一の処理結果を、移動経路上にいるかの判断には第二の処理結果を用いる例を説明する。具体的な比較方法としては、世界座標系において、移動経路を表す領域内に第二の処理結果から特定した移動体１１の位置座標が含まれているか算出する。あるいは、移動経路を表す領域に含まれる任意の点と、移動体１１の位置座標との距離が所定の値（例えば１ｍ）以下になるとき、移動体１１は移動経路上にあると判断する。もし、移動体１１が移動経路の上にある場合は、位置姿勢情報を移動体１１の位置姿勢情報として移動制御部１１１６に送る。しかし、位置姿勢情報が移動経路の上にない場合、すなわち位置姿勢情報が移動経路から予め定めた距離以上離れた場合（例えば１ｍ以上）は、移動体１１が本来走行すべき経路から外れているものと判断する。この場合は、位置姿勢決定部１１１５が第二の処理結果を用いて移動体の位置と姿勢の推定結果を修正する。位置姿勢決定部１１１５は、移動体管理表示部１３２や監視カメラ管理表示部１４２に対して移動体１１が移動経路から外れていることを知らせる通知、および移動経路に復帰させるためのユーザ指示を仰ぐための復帰指示を行う。その際、移動体１１の位置姿勢情報や、第一計測情報や、第二計測情報や、Ｗｉ−Ｆｉ通信情報などから移動経路から外れた位置や時間を推定する。そして、移動体１１が移動経路から外れた時点での移動体１１の位置や時間を環境のマップに重畳して表示する指示を行っても良い。また、位置姿勢決定部１１１５は、第一の処理結果と第二の処理結果を比較して著しく差がある場合やそれぞれの処理結果の信頼度が所定の値よりも小さい場合がある。その場合は、処理結果と第二の処理結果のいずれかに異常があることを、移動体管理表示部１３２または監視カメラ管理表示部１４２にユーザに対して通知するよう指示をする。
【０１２３】
移動制御部１１１６は、位置姿勢決定部１１１５から送られた移動体１１の位置姿勢情報と、マップ関連情報管理部１１１２から送られたマップ関連情報（目的地と移動体１１の周辺のマップ）とを用いる。そして、本来の移動経路に戻るための復帰経路を探索して移動制御する。
【０１２４】
移動体管理表示部１３２は、位置姿勢決定部１１１５からの指示に基づき、移動体１１が移動経路から外れた旨の通知、復帰指示、移動体１１が移動経路から外れた時点での移動体１１の位置や時間を表示する。移動体管理表示部１３２への復帰指示とは、移動体管理表示部１３２を見ているユーザに対して移動体１１を本来の移動経路に復帰させるための運転制御（遠隔操作あるいは停止指示）を促すものである。
【０１２５】
監視カメラ管理表示部１４２は、位置姿勢決定部１１１５からの指示に基づき、移動体１１が移動経路から外れた旨の通知、復帰指示、移動体１１が移動経路から外れた時点での移動体１１の位置や時間を表示する。監視カメラ管理表示部１４２への復帰指示とは、監視カメラ管理表示部１４２を見ているユーザに対して移動体１１を本来の移動経路に復帰させるための運転制御（遠隔操作あるいは）を促すものである。
【０１２６】
図１１に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態１と処理が異なる手順のみ説明し、それ以外の手順については図５と同じ処理であるものとして説明を省略する。
【０１２７】
Ｓ５０１〜Ｓ５０９までは、図５におけるＳ２０１〜Ｓ２０９にそれぞれ対応し、同様の処理を行う。
【０１２８】
Ｓ５１０では、位置姿勢決定部１１１５が、第一計測情報と第一の処理方法とに基づく第一の処理結果を用いて移動体１１の位置と姿勢を決定する。ここでは実施形態１と同様にＳＬＡＭを用いて移動体１１の位置と姿勢の推定結果を取得する。また、位置姿勢決定部１１１５は、監視カメラの画像から移動体１１の位置と姿勢を推定した結果である第二の処理結果を取得する。
【０１２９】
Ｓ５１１では、位置姿勢決定部１１１５が、第二の処理結果とマップ関連情報管理部１１１２から送られたマップ関連情報（移動経路）とに基づいて、移動体１１が移動経路の上にあるか判断する。判定方法としては、例えば時間ｔにおける第二の処理結果（移動体１１の世界座標）と、移動体１１の移動経路の任意の点との最小距離が１ｍ以内であるときは、移動経路上にあると判断する。Ｙｅｓの場合はＳ５１２に進む。Ｎｏの場合はＳ５２０へ進む。移動体１１が移動経路上にないと判断した場合は、位置姿勢決定部１１１５が、第二の処理結果を用いて位置姿勢情報を修正する。
【０１３０】
Ｓ５２０では、位置姿勢決定部１１１５が、移動体１１が移動経路上にいないという情報を、移動体管理表示部１３２または監視カメラ管理表示部１４２に通知する。また、位置姿勢決定部１１１５が、移動体管理表示部１３２または監視カメラ管理表示部１４２に移動体１１が移動経路から外れていることをユーザに知らせる通知する指示をする。または移動体１１を移動経路に復帰させるためのユーザ指示を仰ぐ復帰表示、または移動体１１が移動経路から外れた時点での移動体１１の位置や時間を推定してその位置や時間を環境のマップに重畳して表示する等の通知・表示指示を行う。あるいは、移動制御部１１１６が、位置姿勢決定部１１１５から送られた移動体１１の位置姿勢情報と、マップ関連情報管理部１１１２から送られたマップ関連情報（目的地と移動体１１の周辺のマップ）とを用いる。そして、本来の移動経路に戻るための復帰経路を探索して移動制御しても良い。
【０１３１】
Ｓ５１２〜Ｓ５１５は、それぞれ図５におけるＳ２１１〜Ｓ２１４に対応し、同様の処理を行う。Ｓ５１０において、位置姿勢決定部１１１５は第一の処理結果と第二の処理結果を統合した位置姿勢情報を決定しても良い。この場合はＳ５１１において、移動経路上に移動体１１が存在するか判定する際にＳ５１０で決定した位置姿勢情報を用いる。
【０１３２】
（変形例４−１）
本実施形態において、移動体管理表示部１３２や監視カメラ管理表示部１４２は、固定されたディスプレイ画面に限定されるものではない。例えば、工場や物流倉庫内の管理業務を行うユーザが所持するハンディターミナルであっても良い。ハンディターミナルに通知などを表示することで、ユーザはすぐに現場に行き復帰させることが可能になり、利便性が向上する。
【０１３３】
また、本実施形態において、移動体１１が移動経路から外れた場合に、移動体１１に備えられた図示しないランプを点灯してその旨通知しても良い。もしくは、警報音を発するようにしても良い。
【０１３４】
また、本実施形態において、移動体１１の位置姿勢情報、第一計測情報や移動制御センサ情報などを保存しておき、後からユーザが閲覧可能な状態にしても良い。ユーザは後から状況を把握することが可能になるため利便性が向上する。
【０１３５】
（変形例４−２）
本実施形態において、移動制御部１１１６が移動体１１を復帰させる制御を行う場合に、それまで移動してきた経路を逆に辿って本来の移動経路まで戻っても良い。また、本実施形態において、移動経路から外れた理由を解析して対策を提案、表示しても良い。
【０１３６】
また、本実施形態において、移動制御部１１１６が、移動体管理システム１３を介して、移動経路から外れた移動体１１の近くにいる別の移動体１１の移動速度を落とさせたり、移動を一時停止させたりする指示を行っても良い。周囲に存在している別の移動体１１の移動速度を落とすことで、移動経路から外れた移動体１１の復帰制御を容易に行うことが可能となる。
【０１３７】
（実施形態５）
本実施形態では、第一の処理結果と第二の処理結果とが整合しない場合に、情報処理システム１のどこかで異常が発生していることをユーザに通知するもしくは移動体が復帰制御を行う例を説明する。この場合、いずれかの位置姿勢情報が誤って推定されており、システム機能障害が発生している可能性が高いと判断する。システム機能障害とは、予期しない機械故障やシステムトラブルを指す。システム機能障害は、早期に発見し、修正することが望ましい。システム機能障害の原因には、移動体１１に搭載したセンサ由来のものと、監視カメラ管理システム１４由来のものと大きく分けて２つある。前者は、距離センサ１１２や撮像装置１１３の視軸方向に障害物があり視界を部分的に遮蔽されて環境を適切に計測出来ていない場合や、距離センサ１１２や撮像装置１１３が故障している場合などが挙げられる。後者は、監視カメラ管理システム１４が移動体１１と適切に通信出来ていない場合や、監視カメラ管理システム１４や監視カメラ１５が故障している場合などが挙げられる。
【０１３８】
（構成説明）
本実施形態におけるシステム構成図は実施形態１で説明した図１、２と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態１と機能が異なる構成のみ説明し、それ以外の構成については図１、２と同じ機能であるものとして説明を省略する。
【０１３９】
位置姿勢決定部１１１５は、実施形態１で説明したとおり、第一計測情報と第一の処理方法に基づく第一の処理結果と、第二計測情報と第二の処理方法に基づく第二の処理結果とを統合して移動体１１の位置姿勢情報を決定する。同時に、第一計測情報と第一の処理方法とに基づく第一の処理結果と、第二の処理方法に基づく第二の処理結果をそれぞれ保持し、整合しているか判断を行う。整合しているかどうかの判断条件としては、第一の処理結果と第二の処理結果のそれぞれから推定される位置を示す座標の差（距離）が、所定の値（たとえば１ｍ未満）より小さい場合に整合していると判断する。もし整合していると判断した場合は、統合した位置姿勢情報を移動制御部１１１６に送る。しかし、整合していないと判断した場合、すなわち第一の処理結果と第二の処理結果との差（距離）が所定の値より大きい場合（例えば１ｍ以上あるいは９０度以上異なった場合）がある。その場合は、第一の処理結果と第二の処理結果とのいずれかがシステム機能障害により誤って推定された可能性が高いと判断する。そして、位置姿勢決定部１１１５は、移動制御部１１１６、移動体管理表示部１３２や監視カメラ管理表示部１４２に対してシステム機能障害が起こったことを知らせる通知・指示を行う。システム機能障害が起こったと推定された場合、位置姿勢決定部１１１５は、移動体管理表示部１３２や監視カメラ管理表示部１４２に対して、ユーザに対する通知および表示を行うように指示する。その際、情報処理システム１や移動体１１を停止するよう指示しても良い。あるいはシステム機能障害が監視カメラ管理システム１４由来の場合、第一の処理結果を移動制御部１１１６に送り、システムの稼働を継続しても良い。たとえば、第一の処理結果の誤差が大きいか、その信頼度が低くなっている場合は移動体１１の故障であると考えられる。その場合はシステム全体を停止する必要はなく、ユーザに対して、特定の移動体１１の異常を通知か、移動体１１のセンサの故障等の対処をするような復帰指示をする。第二の処理結果の誤差が大きいか、その信頼度が低くなっている場合は、監視カメラの故障が考えられる。その場合はユーザに対して、監視カメラの異常を通知するか、監視カメラによる位置推定処理を一部中止するような復帰指示をする。両方の処理結果が誤っているか、各信頼度が所定の値よりも低くなっている場合は、システム全体のエラーが考えられるため、ユーザに異常を通知する指示か、システム全体をいったん停止する指示をする。
【０１４０】
移動制御部１１１６は、位置姿勢決定部１１１５から送られた移動体１１の位置姿勢情報と、マップ関連情報管理部１１１２から送られたマップ関連情報（目的地と移動体１１の周辺のマップ）とを用いて復帰制御をする。
【０１４１】
移動体管理表示部１３２は、位置姿勢決定部１１１５からの指示に基づき、システムが機能障害である通知を表示する。移動体管理表示部１３２への表示は、移動体管理表示部１３２を見ているユーザに対してシステムを復帰させるように促す復帰指示である。
【０１４２】
監視カメラ管理表示部１４２は、位置姿勢決定部１１１５からの指示に基づき、システムが機能障害である通知を表示する。復帰指示とは、監視カメラ管理表示部１４２を見ているユーザに対してシステムを復帰させるように促す表示である。
【０１４３】
図１２に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理システムの処理手順を示す。本実施形態では実施形態１と処理が異なる手順のみ説明し、それ以外の手順については図３と同じ処理であるものとして説明を省略する。Ｓ６０１〜Ｓ６１０までは、図５におけるＳ２０１〜Ｓ２１０にそれぞれ対応し、同様の処理を行う。
【０１４４】
Ｓ６１１では、位置姿勢決定部１１１５が、システム機能障害が起きているかどうか判断するための演算を行う。例えば、第一の処理結果と、第二処理結果とが一致するか比較する。第一の処理結果における移動体１１の位置座標と、第二の処理結果における移動体１１の位置座標との距離が所定の値（例えば１ｍ）以上である場合に、機能障害が発生していると判断する。あるいは第一の処理結果における移動体１１の姿勢座標と、第二の処理結果における移動体１１の姿勢座標とが成す角度が、９０度以上異なった場合に機能障害が発生していると判断する。Ｙｅｓ（機能障害が発生している＝整合していない）の場合はＳ６２０に進む。Ｎｏ（機能障害が発生していない＝整合している）の場合はＳ６１２へ進む。
【０１４５】
Ｓ６２０では、位置姿勢決定部１１１５が、移動体管理表示部１３２や監視カメラ管理表示部１４２に対して、システム機能障害が起きている通知や、システム機能障害の原因（移動体１１のバッテリ切れ等）を知らせる通知を表示させる指示を行う。さらに、移動体管理表示部１３２、監視カメラ管理表示部１４２は、指示された内容を表示する。ユーザは通知の表示を見て、機能障害が発生していることを把握することや、機能障害の原因を知ることができる。あるいは、移動制御部１１１６が、位置姿勢決定部１１１５から送られた移動体１１の位置姿勢情報と、マップ関連情報管理部１１１２から送られたマップ関連情報とを用いて移動体１１の復帰制御をする。
【０１４６】
Ｓ６１２〜Ｓ６１５は、図５におけるＳ２１１〜Ｓ２１４とそれぞれ対応しており、同様の処理を行う。
【０１４７】
（変形例５−１）
本実施形態において、第一の処理結果が正しく算出されない場合は、移動体１１の図示しないバッテリー（電池）が切れている可能性がある。その場合は、バッテリー切れであることをユーザに通知しても良い。その場合、移動体制御部１１１６は、移動体管理表示部１３２または監視カメラ管理表示部１４２に対して、バッテリー切れである移動体１１の位置情報を環境のマップに重畳して表示するように指示する。
【０１４８】
（変形例５−２）
本実施形態において、位置姿勢決定部１１１５は、各処理方法による処理結果の信頼度を取得し、その信頼度を比較して整合しているかを判断するようにしても良い。その場合、位置姿勢決定部１１１５は、第一位置姿勢推定処理部１１１３から第一の処理結果の第一の信頼度と、第二位置姿勢推定処理部１４３から第二の処理結果の第二の信頼度とを取得する。システム機能障害が移動体１１に搭載したセンサ由来のものか、監視カメラ管理システム１４由来のものかは、第一の信頼度と第二の信頼度を比較して推定することが出来る。すなわち、信頼度の低い方が機能障害に関わっていると推定する。信頼度は、例えばセンサに関わるものを挙げると、センサによる距離情報の推定信頼度や、フレーム間のマッチング誤差から算出できる信頼度などがある。一方、監視カメラ管理システム１４に関わるものを挙げると、例えば、監視カメラ画像の認識信頼度がある。また、信頼度の高低は、予め定めた数フレーム分の複数フレームで判断しても良いし、１フレームで判断しても良い。システム機能障害であること、またその由来といった原因をユーザに通知することでユーザは復帰作業を行いやすくなるため、利便性が向上する。
【０１４９】
（実施形態６）
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。
【０１５０】
ＡＧＶの積荷が移動経路上に落下したとき、他のＡＧＶが足止めされてしまい生産がストップしてしまう可能性がある。また、人がＡＧＶからの落下物で転倒する危険がある。そのためＡＧＶからの積荷等の物体の落下を早期に発見することが、安定したＡＧＶ運行と安全のために重要である。本実施形態では、移動体１１に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報（第一の位置姿勢情報）を用いて移動体１１の移動制御を行う。また、監視カメラ１５で撮影した監視カメラ画像を認識した結果である物体の位置姿勢情報（物体位置姿勢情報）が、本来は移動体１１の上にあるべきなのにない場合は、移動体１１が搬送中の荷物を落としたと推定してユーザに通知および復帰指示を行う。あるいは、物体の位置姿勢情報（物体位置姿勢情報）が、移動体１１の移動経路の上にある場合は、物体が移動体１１の移動の邪魔になる可能性があるため、ユーザに通知および復帰指示を行う。あるいは、移動体１１が物体を避けるよう移動経路の変更を行う。以下、物体は積荷を含む静止物のことを指す。
【０１５１】
（構成説明）
図１４に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用したシステム構成図を示す。多くの構成は、実施形態１で説明した図１、２の構成と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態１と機能が異なる構成のみ説明し、それ以外の構成については図１、２と同じ機能であるものとして説明を省略する。
【０１５２】
センサ情報取得部６１１１は、距離センサ１１２と、撮像装置１１３とからセンサ情報を取得する。また、センサ情報取得部６１１１は、センサ情報をマップ関連情報管理部６１１２、位置姿勢推定部６１１４に送る。なお、センサ情報とは、距離センサによる距離情報（点群データやデプスマップ）と画像センサによる画像情報である。また、センサ情報取得部６１１１は、各種センサ１１４から移動制御に必要な移動制御センサ情報を取得する。移動制御センサ情報は、オドメトリーセンサによるオドメトリー情報、角速度センサによる角速度情報、加速度センサによる加速度情報である。センサ情報取得部６１１１は移動制御センサ情報を移動制御部６１１５に送る。
【０１５３】
マップ関連情報管理部６１１２は、マップ関連情報を、位置姿勢推定部６１１４や移動制御部６１１５に加え、監視カメラ情報判断部６１１６にも送る。また、マップ関連情報管理部６１１２は、監視カメラ情報判断部６１１６で物体に関する障害が発生したと判断した場合に、マップ関連情報（移動経路）を変更する。移動経路の変更は、物体を避ける経路のうち、なるべく移動距離が短くなる経路を選択することで行う。変更した移動経路は、移動制御部６１１５に送られ移動体１１の移動制御に用いられる。
【０１５４】
監視カメラ情報取得部６１１３は、監視カメラ情報を、監視カメラ管理部６１４１から取得する。また、監視カメラ情報取得部６１１３は、監視カメラ情報を、マップ関連情報管理部６１１２や位置姿勢推定部６１１４に加え、監視カメラ情報判断部６１１６にも送る。なお、本実施形態における監視カメラ情報とは、監視カメラ管理システム１４の監視カメラ認識部６１４３が環境を認識した結果（例えば、環境に存在している物体、人物、移動体などの位置姿勢、種類、数など）、監視カメラ画像などである。
【０１５５】
位置姿勢推定部６１１４は、移動体１１の位置姿勢情報を、マップ関連情報管理部６１１２や移動制御部６１１５に加え、監視カメラ情報判断部６１１６にも送る。位置姿勢推定部６１１４は、センサ情報取得部６１１１から送られるセンサ情報、マップ関連情報管理部６１１２から送られるマップ関連情報、監視カメラ情報取得部６１１３から送られる監視カメラ情報を取得する。そして所定の処理方法を使って移動体１１の位置姿勢位置姿勢情報を推定する。本実施例における所定の第一の推定方法はＳＬＡＭとする。本実施例における所定の第二の推定方法は監視カメラ情報を用いた移動体１１の位置姿勢推定結果を変換する処理方法とする。また、位置姿勢推定部６１１４は、位置姿勢情報をマップ関連情報管理部６１１２、移動制御部６１１５に送る。なお、本実施形態における位置姿勢または位置姿勢情報とは、環境の世界座標系上における移動体１１の位置３自由度（Ｘ、Ｙ、Ｚ）と姿勢３自由度（Ｒｏｌｌ、Ｐｉｔｃｈ、Ｙａｗ）との合計６自由度の位置姿勢パラメータである。
【０１５６】
移動制御部６１１５は、センサ情報取得部６１１１から送られる移動制御センサ情報と、マップ関連情報管理部６１１２から送られるマップ関連情報と、位置姿勢推定部６１１４から送られる移動体１１の位置姿勢情報とを取得する。そして、移動体１１の移動制御情報を生成する。また、移動制御部６１１５は、移動制御情報をアクチュエータ部１１５に送る。また、移動制御部６１１５は図示しない進行方向提示部が移動経路に基づきウインカーといった進行方向提示を行うための情報を生成して送っても良い。なお、本実施形態における移動制御情報とは、移動体１１の車輪の回転トルク、進行方向、ブレーキなどである。
【０１５７】
監視カメラ情報判断部６１１６は、監視カメラ情報取得部６１１３から送られた監視カメラ情報により、環境に存在している物体の位置姿勢情報（物体位置姿勢情報）を世界座標系上で座標変換することで推定する。また、監視カメラ情報判断部６１１６は、マップ関連情報管理部６１１２から送られたマップ情報や、位置姿勢推定部６１１４から送られた移動体１１の位置姿勢情報を利用して、環境中の適切な位置姿勢に物体が存在しているか判断を行う。すなわち物体に関する障害が発生していないか判断を行う。例えば、移動体１１が搬送しているべき積荷が移動体１１の上にない場合は、積荷を搬送中に移動経路の上に落としたり、作業ミスにより積荷を乗せていなかったりする可能性がある。そこで、移動体管理表示部１３２や監視カメラ管理表示部１４２に対して物体（積荷）が移動経路の上に落ちた可能性があるなど、物体（積荷）に関する障害が発生していることを知らせる通知、および物体（積荷）を適切に戻す復帰指示を行う。以下、物体は主に移動体１１の積荷を指す。なお、監視カメラ情報判断部６１１６は図示した箇所以外でも、監視カメラ管理システム１４に含まれていてもよいし、移動体管理システム１３等ほかのシステムに含まれても良い。また、物体が移動体１１の移動経路の上にあると判断した場合は、物体が移動体１１の移動の邪魔になる可能性がある。そのため、監視カメラ情報判断部６１１６は、移動体管理表示部１３２や監視カメラ管理表示部１４２に対して物体が移動経路の上にあるなど、物体に関する障害が発生していることを知らせる通知、および物体を取り除く復帰指示を行う。
【０１５８】
移動体管理表示部１３２は、監視カメラ情報判断部６１１６からの指示に基づき、物体障害に関する通知、復帰指示を表示する。移動体管理表示部１３２への表示は、移動体管理表示部１３２を見ているユーザに対して物体に関する障害を復帰させる行動を促すものである。
【０１５９】
監視カメラ管理表示部１４２は、監視カメラ情報判断部６１１６からの指示に基づき、物体障害に関する通知、復帰指示を表示する。監視カメラ管理表示部１４２への表示は、監視カメラ管理表示部１４２を見ているユーザに対して物体に関する障害を復帰させる行動を促すものである。
【０１６０】
監視カメラ管理部６１４１は、監視カメラ１５で撮影された監視カメラ画像を監視カメラ認識部６１４３に送る。また、監視カメラ情報として監視カメラ情報取得部６１１３へ送る。監視カメラ情報には、監視カメラ認識部６１４３から送られた第二の処理結果（移動体１１の位置姿勢推定処理結果および第二の処理方法における認識結果の信頼度または、物体検出の認識結果）または監視カメラ画像を含む。また、監視カメラ管理部６１４１は、監視カメラ１５と通信を行い、監視カメラ画像を受信したり、監視カメラ１５の制御を行う各種情報（例えば、パン・チルト・ズーム制御、オン・オフ制御）を送受信したりする。監視カメラ管理部６１４１は、工程管理システム１２と通信を行い、各移動体１１の作業内容（何を運ぶべきかといった指示）や作業場所（地図や座標情報）といった各種情報を送受信する。監視カメラ管理部６１４１は、監視カメラ１５が撮影した監視カメラ画像を、監視カメラごとに時系列で管理された状態で保持している。
【０１６１】
監視カメラ認識部６１４３は、監視カメラ１５が撮像した監視カメラ画像から特徴点を抽出し、環境に存在している積荷等の物体、人物、移動体などの位置姿勢、種類、数などを認識する。特徴点の検出は、物体の角や縁という形状に特徴のある点を捉える方法があり、この検出した特徴をキーポイントと呼ぶ。例えば、監視カメラ１５が移動体１１を画像から物体検出するためには、ある一定間隔で取得されるフレームから、移動体１１に装着したマーカの特徴点（キーポイント）を抽出し、それを連続するフレームで毎回検出することによって移動体１１を追跡できる。移動体１１の位置姿勢は、特徴点の画像座標から推定する。本実施形態では、監視カメラ認識部６１４３は、物体の認識結果と、各監視カメラ１５の位置姿勢情報とに基づいて、世界座標系上で座標変換することで物体の位置姿勢を推定する。環境を認識する方法は様々あり、例えばテンプレートマッチング、幾何モデルフィッティング、機械学習、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）、強化学習といった手法を用いることが出来る。認識の精度を向上するため、テンプレート、幾何モデル、認識辞書、学習モデル、報酬モデルは予め用意しても良いし、情報処理システム１を稼働中にオンライン生成しても良い。また、移動体１１に装着したマーカからＩＤを認識することで、移動体１１の位置や姿勢だけでなく、個体（ＩＤ）種類、数を認識しても良い。
【０１６２】
図１５に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理システムの処理手順を示す。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。ただし、情報処理装置１１１は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
【０１６３】
Ｓ７０１では、情報処理装置１１１が、初期化処理として、移動体管理部１３１が保持しているマップ関連情報（マップ、移動経路、目標地点など）をマップ関連情報管理部６１１２に記憶する。また、情報処理装置１１１が、距離センサ１１２、撮像装置１１３のセンサパラメータ、カメラパラメータ、各種センサ１１４のキャリブレーションパラメータ、各機能構成で用いるパラメータの初期設定値を取得する。初期化処理が開始されるタイミングとしては、ユーザが情報処理システム１や移動体管理システム１３や、移動体１１を起動した場合などが挙げられる。
【０１６４】
Ｓ７０２では、距離センサ１１２が移動体１１の周囲の環境の距離を計測し、撮像装置１１３が移動体１１の周囲の環境を撮像し、各種センサ１１４が移動制御センサ情報を計測する。
【０１６５】
Ｓ７０３では、センサ情報取得部６１１１が、距離センサ１１２と、撮像装置１１３とからセンサ情報を取得する。なお、センサ情報とは、距離センサによる距離情報（点群データやデプスマップ）と画像センサによる画像情報である。また、センサ情報取得部６１１１は、各種センサ１１４から移動制御に必要な移動制御センサ情報を取得する。
【０１６６】
Ｓ７０４では、監視カメラ１５が周囲の環境を撮影する。監視カメラ１５は撮影した画像を監視カメラ管理部６１４１に送る。
【０１６７】
Ｓ７０５では、監視カメラ認識部６１４３が、Ｓ７０４で監視カメラ１５が撮影した画像を含む監視カメラ情報を監視カメラ管理部６１４１から取得し、環境内に物体が落ちていないか検出する。物体が検出された場合、物体の認識結果と、各監視カメラ１５の位置姿勢情報とに基づいて、世界座標系上で座標変換することで物体の位置姿勢を推定する。
【０１６８】
Ｓ７０６では、監視カメラ情報取得部６１１３が、監視カメラ情報を、監視カメラ管理部６１４１から取得する。
【０１６９】
Ｓ７０７では、位置姿勢推定部６１１４が、センサ情報取得部６１１１から送られたセンサ情報とマップ関連情報管理部６１１２から送られたマップ関連情報（マップ）とを用いて、移動体１１の位置姿勢情報を推定する。また、位置姿勢推定部６１１４が、監視カメラ情報取得部６１１３から監視カメラ情報として入力された位置姿勢情報を座標変換して移動体１１の位置姿勢情報を推定する。あるいは、位置姿勢推定部６１１４は、監視カメラ１５が撮像した監視カメラ画像を入力し、テンプレートマッチング、モデルフィッティング、機械学習など、監視カメラ認識部６１４３の説明に記載した手法を用いて移動体１１の位置姿勢情報を推定しても良い。
【０１７０】
Ｓ７０８では、監視カメラ情報判断部６１１６が、移動体１１の上にあるべき物体がないか、また移動経路の上に物体があるか、すなわち物体に関する障害が発生しているか判断する。移動体１１の上に物体があるかどうかは、監視カメラ認識部６１４３で認識した移動体１１の位置の上に物体があることを物体のモデル情報を利用するなどして推定する。移動経路の上に物体があるかどうかは、移動体１１の運行を妨げる移動経路上に監視カメラ認識部６１４３で認識した物体があるかで判断する。Ｎｏの場合はステップＳ７０９に進む。Ｙｅｓの場合はステップＳ７２０へ進む。
【０１７１】
Ｓ７２０では、監視カメラ情報判断部６１１６が、移動体管理表示部１３２や監視カメラ管理表示部１４２に対して通知などを行う。例えば、移動体１１の上にあるべき物体がないか、また移動経路の上に物体があるか、すなわち物体に関する障害が発生していることを知らせる通知、および復帰させる指示を行う。また、対象となる移動体１１あるいは物体の位置姿勢を、環境のマップに対して重畳表示する指示を監視カメラ管理表示部１４２に対して行う。さらに、移動体管理表示部１３２、監視カメラ管理表示部１４２は、指示された内容を表示する。あるいは、監視カメラ情報判断部６１１６は、マップ関連情報管理部６１１２に対して、物体を避けるようマップ関連情報（移動経路）を変更する指示を行い、マップ関連情報管理部６１１２は移動経路を変更する。
【０１７２】
Ｓ７０９では、位置姿勢推定部６１１４において、処理方法がＳＬＡＭである場合のみ行われる。ＳＬＡＭ技術を利用しない場合はＳ７０９をスキップする。Ｓ７０９では、マップ関連情報管理部６１１２が、マップ関連情報管理部６１１２が保持している最新のマップ関連情報と、位置姿勢推定部６１１５において決定した位置姿勢情報とに基づいて環境のマップを最適化するよう更新する。例えばマップとして点群を利用している場合は、点群の位置が実際の環境のシーンに合うよう最適化処理によって変更される。マップとしてキーフレームデータを利用している場合は、キーフレームの位置姿勢が実際の環境のシーンに合うよう最適化処理によって変更される。
【０１７３】
Ｓ７１０では、移動制御部６１１５が移動体１１の移動制御情報を生成する。
【０１７４】
Ｓ７１１では、アクチュエータ部１１５が、移動制御部６１１５から送られた移動制御情報を利用して移動体１１の車輪の回転トルク、進行方向、ブレーキを制御する。
【０１７５】
Ｓ７１２では、情報処理装置１１１がシステムの動作が終了したか、すなわち移動体１１が目標地点に到着したり、ユーザがシステムの停止を指示したりしたか判定する。
【０１７６】
本実施形態では、移動体１１に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報（第一の位置姿勢情報）を用いて移動体１１の移動制御を行う。また、監視カメラ１５で撮影した監視カメラ画像を認識した結果である物体の位置姿勢情報（物体位置姿勢情報）が、本来は移動体１１の上にあるべきなのにない場合は、移動体１１が搬送中の積荷を落としたと推定してユーザに通知および復帰指示を行う。あるいは、物体の位置姿勢情報（物体位置姿勢情報）が、移動経路の上にある場合は、物体が移動体１１の移動の邪魔になる可能性があるため、ユーザに通知および復帰指示を行う。あるいは、移動体１１が物体を避けるよう移動経路の変更を行う。
【０１７７】
このように、移動体１１が搬送している間に積荷が落ちたり、移動経路の上に物体があったりしたとしても、監視カメラ情報を利用することでユーザに通知あるいは移動経路の変更などを行うことが可能になる。よって、移動体１１の移動制御を安定的に、かつ手間を減らして行うことが出来る。
【０１７８】
（変形例６−１）
本実施形態において、移動経路の上にある物体や積荷を移動体１１の動きによってどかしても良い。また、移動体１１にロボットマニピュレータが備わっている場合は、物体を拾って本来ある場所に置いても良い。
【０１７９】
（変形例６−２）
本実施形態において、物体や積荷があると認識された領域は、センサによる移動体１１の位置姿勢推定、環境のマップ生成に使わなくても良い。
【０１８０】
（実施形態７）
移動体の移動制御に本発明を適用した場合について説明する。
【０１８１】
安全の観点から、ＡＧＶは距離センサ等によって衝突を防止する機構を設けてある。しかしながら、なんらかのセンサ異常や故障があると人に衝突してしまう可能性がある。また、移動経路上を人が通過する際、ＡＧＶに搭載されたセンサが届かない場所に突然人が現れるとスピード制御を前もって行えず、人にぶつかってしまう可能性がある。このような危険に対処すべく、本実施形態では、移動体１１に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報（第一の位置姿勢情報）を用いて移動体１１の移動制御を行う。また、監視カメラ１５で撮影した監視カメラ画像を認識した結果である人物の位置姿勢情報あるいは人物の位置姿勢予測情報が、移動体１１の移動経路の上にある場合は、人物が移動体１１の移動の邪魔になる可能性があるため、移動体１１の移動経路を変更する。人物の位置姿勢情報あるいは人物の位置姿勢予測情報を合わせて人物位置姿勢情報と呼ぶ。
【０１８２】
（構成説明）
本実施形態におけるシステム構成図は実施形態６で説明した図１４と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態６と機能が異なる構成のみ説明し、それ以外の構成については図１４と同じ機能であるものとして説明を省略する。
【０１８３】
マップ関連情報管理部６１１２は、マップ関連情報を、位置姿勢推定部６１１４や移動制御部６１１５に加え、監視カメラ情報判断部６１１６にも送る。また、マップ関連情報管理部６１１２は、監視カメラ情報判断部６１１６で人物が移動体１１の移動経路の上にいると判断した場合に、マップ関連情報（移動経路）を変更する。移動経路の変更は、人物を避ける経路のうち、なるべく移動距離が短くなる経路を選択することで行う。あるいは監視カメラ認識部６１４３において、人物の動きを深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）やシミュレータで予測し、人物の今後の動きを妨げないよう移動体１１の移動経路を変更しても良い。人物の動きは、予め人物の動きを観測して学習した深層学習の学習モデルを用いて予測しても良いし、過去の人物の移動軌跡に基づきシミュレーションで予測しても良い。変更した移動経路は、移動制御部６１１５に送られ移動体１１の移動制御に用いられる。
【０１８４】
監視カメラ情報判断部６１１６は、監視カメラ情報取得部６１１３から送られた監視カメラ情報により、環境に存在している人物の位置姿勢情報あるいは人物の位置姿勢予測情報を世界座標系上で座標変換することで推定する。また、監視カメラ情報判断部６１１６は、マップ関連情報管理部６１１２から送られたマップ情報や、位置姿勢推定部６１１４から送られた移動体１１の位置姿勢情報を利用する。そして、少なくとも１人以上の人物が移動体１１の移動経路の上にいるか、あるいは移動してきそうか判断する。人物がいる、あるいは移動してきそうな場合は、人物が移動体１１の移動の邪魔になる可能性があるため、マップ関連情報管理部６１１２に対して人物位置姿勢情報を送ると共にマップ関連情報（移動経路）の変更を指示する。
【０１８５】
図１６に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態６と処理が異なる手順のみ説明し、それ以外の手順については図１５と同じ処理であるものとして説明を省略する。
【０１８６】
Ｓ８０１〜Ｓ８０７については、実施形態６における図１５のＳ７０１〜Ｓ７０７と同様の処理を行う。
【０１８７】
Ｓ８０８では、監視カメラ情報判断部６１１６が、環境に存在している人物が移動体１１の移動経路の上にいるか、あるいは移動してきそうか判断する。移動してきそうかどうかの判断には、例えば前述の深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）やシミュレータを用いて、移動体１１が人物の今後の動きを妨げないという条件で判断を行う。Ｎｏの場合はＳ８０９に進む。Ｙｅｓの場合はＳ８２０へ進む。
【０１８８】
Ｓ８２０では、監視カメラ情報判断部６１１６が、マップ関連情報管理部６１１２に対して、人物を避けるようマップ関連情報（移動経路）を変更する指示を行い、マップ関連情報管理部６１１２は移動経路を変更する。あるいは、対象となる人物の位置姿勢を、環境のマップに対して重畳表示する通知指示を行っても良い。移動体管理表示部１３２、監視カメラ管理表示部１４２は、通知指示された内容を表示する。
【０１８９】
本実施形態では、移動体１１に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報（第一の位置姿勢情報）を用いて移動体１１の移動制御を行う。また、監視カメラ１５で撮影した監視カメラ画像を認識した結果である人物の位置姿勢情報あるいは人物の位置姿勢予測情報が、移動体１１の移動経路の上にある場合は、人物が移動体１１の移動の邪魔になる可能性があるため、移動経路を変更する。このように、移動体１１の移動経路の上に人物がいる、あるいは移動してきそうな場合であっても、監視カメラ情報を利用することで移動経路を変更することが可能になる。よって、移動体１１の移動制御を安定的に、かつ手間を減らして行うことが出来る。
【０１９０】
（変形例７−１）
本実施形態において、人物がいると認識された領域は、センサによる移動体１１の位置姿勢推定、環境のマップ生成に使わなくても良い。また、監視カメラによる物体認識に使わなくても良い。
【０１９１】
（実施形態８）
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。
【０１９２】
本実施形態では、移動体１１に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報（第一の位置姿勢情報）を用いて移動体１１の移動制御を行う。また、監視カメラ１５で撮影した監視カメラ画像を認識した結果である他の移動体１１の位置姿勢情報あるいは他の移動体１１の位置姿勢予測情報が、移動体１１の移動経路の上にある場合がある。その場合は、他の移動体１１が移動体１１の移動の邪魔になる可能性があるため、移動経路を変更する。他の移動体１１の位置姿勢情報あるいは他の移動体１１の位置姿勢予測情報を合わせて移動体位置姿勢情報と呼ぶ。
【０１９３】
（構成説明）
本実施形態におけるシステム構成図は実施形態６で説明した図１４と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態６と機能が異なる構成のみ説明し、それ以外の構成については図１４と同じ機能であるものとして説明を省略する。
【０１９４】
マップ関連情報管理部６１１２は、マップ関連情報を、位置姿勢推定部６１１４や移動制御部６１１５に加え、監視カメラ情報判断部６１１６にも送る。また、マップ関連情報管理部６１１２は、監視カメラ情報判断部６１１６で他の移動体１１が移動体１１の移動経路の上にいると判断した場合に、マップ関連情報（移動経路）を変更する。移動経路の変更は、他の移動体１１を避ける経路のうち、なるべく移動距離が短くなる経路を選択することで行う。あるいは監視カメラ認識部６１４３において、他の移動体１１の動きを深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）やシミュレータで予測し、他の移動体１１の今後の動きを妨げないよう移動体１１の移動経路を変更しても良い。あるいは複数の移動体１１の動きを強化学習で最適化することにより移動経路を変更しても良い。強化学習の報酬モデルは予めユーザによって作成されたものとし、動きの最適化はシミュレーションで報酬が最大となるよう行われるものとする。報酬は、他の移動体と一定距離以上離れていたら定期的に＋１とし、他の移動体と一定距離以内に近づいたら定期的に−１、さらに他の移動体と近接したり、壁に衝突したりして動きが停止した場合は−１００とする。あるいは、他の移動体や壁との近づき具合に応じて、−１から−１００まで段階的に報酬を設定しても良い。あるいは移動体管理部１３１が管理している移動体１１の位置姿勢情報から他の移動体１１の移動経路情報を取得し、他の移動体１１の動きを予測し、移動経路を変更しても良い。変更した移動経路は、移動制御部６１１５に送られ移動体１１の移動制御に用いられる。監視カメラ情報判断部６１１６は、監視カメラ情報取得部６１１３から送られた監視カメラ情報により、環境に存在している他の移動体１１の位置姿勢情報あるいは他の移動体１１の位置姿勢予測情報を世界座標系上で座標変換することで推定する。また、監視カメラ情報判断部６１１６は、マップ関連情報管理部６１１２から送られたマップ情報や、位置姿勢推定部６１１３から送られた移動体１１の位置姿勢情報を利用する。そして、少なくとも１台以上の他の移動体１１が移動体１１の移動経路の上にいるか、あるいは移動してきそうか判断する。他の移動体１１がいる、あるいは移動してきそうな場合は、他の移動体１１が移動体１１の移動の邪魔になる可能性があるため、マップ関連情報管理部６１１２に対して移動体位置姿勢情報を送ると共にマップ関連情報（移動経路）の変更を指示する。
【０１９５】
図１６に、本実施形態において搬送車両（ＡＧＶ）と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態７と処理が異なる手順のみ説明し、それ以外の手順については図１５と同じ処理であるものとして説明を省略する。
【０１９６】
Ｓ８０８では、監視カメラ情報判断部６１１６が、環境に存在している他の移動体１１が移動体１１の移動経路の上にいるか、あるいは移動してきそうか判断する。移動してきそうかの判断には例えば前述の深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）やシミュレータを用いて、移動体１１が他の移動体１１の今後の動きを妨げないという条件で判断を行う。Ｎｏの場合はＳ８０９に進む。Ｙｅｓの場合はＳ８２０へ進む。
【０１９７】
Ｓ８２０では、監視カメラ情報判断部６１１６が、マップ関連情報管理部６１１２に対して、他の移動体１１を避けるようマップ関連情報（移動経路）を変更する指示を行い、マップ関連情報管理部６１１２は移動経路を変更する。あるいは、対象となる他の移動体１１の位置姿勢を、環境のマップに対して重畳表示する通知指示を行っても良い。移動体管理表示部１３２、監視カメラ管理表示部１４２は、通知指示された内容を表示する。
【０１９８】
本実施形態では、移動体１１に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報（第一の位置姿勢情報）を用いて移動体１１の移動制御を行う。また、監視カメラ１５で撮影した監視カメラ画像を認識した結果である他の移動体の移動体位置姿勢情報が、移動体１１の移動経路の上にある場合は、他の移動体１１が移動体１１の移動の邪魔になる可能性があるため、移動経路を変更する。
【０１９９】
このように、移動体１１の移動経路の上に他の移動体１１がいる、あるいは移動してきそうな場合であっても、監視カメラ情報を利用することで移動経路を変更することが可能になる。よって、移動体１１の移動制御を安定的に、かつ手間を減らして行うことが出来る。
【０２００】
（変形例８−１）
本実施形態において、他の移動体１１がいると認識された領域は、センサによる移動体１１の位置姿勢推定、環境のマップ生成に使わなくても良い。また、監視カメラによる物体認識に使わなくても良い。
【０２０１】
その他の実施形態として、例えば、移動体１１がバッテリーを充電したり、移動体１１を駐車したりする領域は、周囲に壁や他の移動体１１が存在し、センサによる第一の位置姿勢推定がうまく機能しない可能性がある。そのような状況に対しては、監視カメラ情報を優先して使用する環境内の領域を設定しても良い。その領域内に移動体１１がいる場合は、監視カメラ情報を用いた処理方法の処理結果に対して、重み付け係数を大きく設定する位置姿勢情報を推定しても良い。このようにすることで、移動体１１の位置を安定的に、取得することが出来る。
【０２０２】
（その他の変形例）
その他の実施形態として、情報処理システム１で実行される製品の組み立てや商品の搬送といったタスクの単位時間当たりのスループット（作業量）をなるべく多くする。かつ複数の移動体１１の移動距離、移動時間、消費電力、アクチュエータの摩耗といったコストをなるべく減らすため、強化学習を用いても良い。強化学習の報酬モデルは予めユーザによって作成されたものとし、スループットとコストとの最適化はシミュレーションで報酬が最大となるよう行われるものとする。
【０２０３】
このようにすることで、情報処理システム１のタスクのスループットとコストを最適化することが出来、移動体１１の移動制御を安定的に行うことが出来る。
【０２０４】
その他の実施形態として、移動体１１の車輪の回転トルクを、搬送している物体の重さに応じて変化させても良い。例えば、移動体１１の各種センサ１１４として秤量センサを備え、搬送している物体の重さを測る。そして予め定めたとおり、物体が重いほど車輪の回転トルクを強くして移動制御を行っても良い。あるいは強化学習や機械学習を用いて、物体の重さに関わらず移動体１１の移動速度が一定となるよう回転トルクを決めるよう学習しても良い。
【０２０５】
このようにすることで、移動体１１が搬送している物体の重さに応じて移動速度が大きく変化することがなく、移動体１１の移動制御を安定的に行うことが出来る。
【０２０６】
また、情報処理装置１１１は、図１３に示す一般のＰＣ（パーソナルコンピュータ）や組み込みハードウェアやＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）を用いて実現することができる。１００はバス、１０１はＣＰＵ、１０２はＲＯＭ、１０３はＲＡＭ、１０４は記憶装置、１０５は入力部、１０６は通信部、１０７はセンサ、１０８は表示部である。例えば、マップ関連情報管理部１１１２をハードディスク装置やフラッシュメモリ装置といった記憶媒体で構成する。そして、情報処理装置１１１においてマップ関連情報管理部１１１２以外の各部の機能をＰＣや組み込みハードウェアやＰＬＣのＣＰＵに実行させるためのコンピュータプログラムやデータをこのハードディスク装置に格納しておく。ＣＰＵは、ハードディスク装置やフラッシュメモリ装置に格納されているコンピュータプログラムやデータを適宜ＲＡＭ等のメモリにロードし、該コンピュータプログラムやデータを用いて処理を実行できる。これにより、結果としてＰＣや組み込みハードウェアやＰＬＣは、情報処理装置１１１の機能を実現することができる。
【０２０７】
本発明における移動体は、移動制御情報により移動するものであればどのようなものであっても良い。例えば、搬送車両（ＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ）である。あるいは、自動運転車や、自律移動ロボットであっても良い。
【０２０８】
本発明におけるセンサは、環境や移動体などを計測出来るセンサであればどのようなものであっても良い。例えば、距離センサや、画像センサや、オドメトリーセンサや、角速度センサや、加速度センサなどである。また、センサ情報は、センサが計測した情報であればどのようなものであっても良い。例えば、距離情報（あるいは三次元情報、あるいは奥行き情報）や、画像情報や、オドメトリー（車輪の回転角度により求める位置姿勢情報）や、角速度や、加速度などである。
【０２０９】
本発明における監視カメラは、環境や移動体などを監視するカメラであればどのようなものであっても良い。
【０２１０】
本発明におけるマップは、環境の構造や空間を表現するものであればどのようなものであっても良い。例えば、三次元点群データ（と色情報との組み合わせ）、キーフレームデータの集合、環境の三次元モデルなどである。キーフレームデータとは、環境内においてある視点から見た奥行情報を量子化して色の濃淡で表現したデプスマップを一定間隔で取得したキーフレームと画像から取得した色情報の組合せである。あるいは、環境の床と水平な面上の二次元点群データ（と色情報との組み合わせ）や、環境の床と水平な面上の二次元モデルであっても良い。
【０２１１】
本発明における位置姿勢情報は、位置姿勢を表わす情報であればどのようなものであっても良い。例えば、環境の世界座標系上における位置３自由度（Ｘ、Ｙ、Ｚ）と姿勢３自由度（Ｒｏｌｌ、Ｐｉｔｃｈ、Ｙａｗ）との合計６自由度の位置姿勢パラメータである。あるいは、環境の世界座標系上における位置２自由度（環境の床に対して水平な面上の位置Ｘ、Ｙ）と姿勢１自由度（環境の床に対して水平な面上での回転方向）との合計３自由度の位置姿勢パラメータであっても良い。
【符号の説明】
【０２１２】
１１  移動体
１１１  情報処理装置
１１１５  位置姿勢決定部
１１１６  移動制御部
１１１７  取得部
１１２  距離センサ
１１３  撮像装置
１１４  各種センサ
１１５  アクチュエータ部
【図１】
2019125354.tif 000003
【図２】
2019125354.tif 000004
【図３】
2019125354.tif 000005
【図４】
2019125354.tif 000006
【図５】
2019125354.tif 000007
【図６】
2019125354.tif 000008
【図７】
2019125354.tif 000009
【図８】
2019125354.tif 000010
【図９】
2019125354.tif 000011
【図１０】
2019125354.tif 000012
【図１１】
2019125354.tif 000013
【図１２】
2019125354.tif 000014
【図１３】
2019125354.tif 000015
【図１４】
2019125354.tif 000016
【図１５】
2019125354.tif 000017
【図１６】
2019125354.tif 000018
【図１７】
2019125354.tif 000019