(57)【要約】【課題】  複数種類の運搬物を搭載可能な移動体の移動制御を安定的に行う。【解決手段】  上記の目的を達成する本発明に係る情報処理装置は、運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、前記運搬物を撮像した第１の画像に基づいて前記運搬物の３次元形状を特定可能な第１の情報と、前記移動体が移動する環境を撮像した第２の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第２の情報とを取得する取得手段と、前記第１の情報と前記第２の情報に基づいて、前記運搬物と前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定手段とを有することを特徴とする。【選択図】  図６
2020038631.tif 000002
【特許請求の範囲】
【請求項１】
運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、
前記運搬物を撮像した第１の画像に基づいて前記運搬物の３次元形状を特定可能な第１の情報と、前記移動体が移動する環境を撮像した第２の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第２の情報とを取得する取得手段と、
前記第１の情報と前記第２の情報に基づいて、前記運搬物と前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定手段とを有することを特徴とする情報処理装置。
【請求項２】
前記取得手段は、前記画像を入力として、前記運搬物の大きさを出力する学習済みモデルに基づいて、前記第１情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、前記第２の画像に基づいて前記移動体の位置を取得し、
前記決定手段は、前記移動体の位置から予め定められた目的地の位置に到達するための前記制御値を決定することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第１の情報は、前記運搬物の高さ方向の大きさを示す情報であることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段は、前記環境における走行経路上に存在する段差の高さに基づいて前記所定の距離を決定する請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記第１の情報は、前記運搬物が前記移動体から幅方向にはみ出した大きさを示す情報であることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１の画像は、前記移動体に搭載された撮像装置によって撮像された画像であること特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の画像は、前記移動体と前記運搬物とを観測可能な位置に設置された撮像装置によって撮像された画像であることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項９】
前記第２の画像は、前記移動体に搭載された撮像装置によって撮像された画像であること特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記環境において前記物体の位置を示すマップを保持する保持手段を更に有し、
前記決定手段は、前記マップに基づいて前記物体が存在しない経路を走行するように前記制御値を決定することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記マップは、前記環境を３次元で表現したマップであって、
前記決定手段は、前記運搬物の高さに合わせて抽出された前記マップに基づいて、前記物体が存在しない経路を走行するように前記制御値を決定することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記取得手段は、前記第１の画像に基づいて前記運搬物の種類を示す情報を取得し、
前記決定手段は、前記運搬物の種類を示す情報に基づいて前記運搬物の種類に応じた前記制御値を決定することを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記取得手段は、前記第１の画像の変化に従って前記第１情報を更新し、
前記決定手段は、更新された第１の情報に基づいて、前記運搬物の形状が変化した場合には前記運搬物の形状に応じた前記制御値を決定することを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記決定手段によって決定された前記制御値に基づいて、前記移動体の移動経路を示す表示情報を表示する表示手段を更に有することを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記取得手段は、前記第１情報に基づいて、前記運搬物の高さに従って抽出された環境の３次元マップを更に取得し、
前記決定手段は、前記３次元マップに基づいて、前記制御値を決定することを特徴とする請求項１乃至１４のいずれか１項に記載の情報処理装置。
【請求項１６】
運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、
前記移動体に搭載された撮像装置によって撮像された画像から推定された前記運搬物の３次元形状を特定可能な情報と、前記移動体が移動する環境のマップとに基づいて、前記運搬物の量と移動経路との組み合わせを取得する取得手段と、
前記組み合わせに基づいて、前記運搬物と前記環境における物体とが衝突しない前記移動経路を走行する前記制御値を決定する決定手段とを有することを特徴とする情報処理装置。
【請求項１７】
運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、
前記運搬物を撮像した第１の画像に基づいて前記運搬物の３次元形状を特定可能な第１の情報と、前記移動体が移動する環境を撮像した第２の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第２の情報とを取得する取得手段と、
前記第１の情報と前記第２の情報に基づいて、前記運搬物と前記物体とが衝突しない経路を走行する前記制御値を決定する決定手段とを有することを特徴とする情報処理装置。
【請求項１８】
コンピュータを、請求項１乃至１７のいずれか１項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【請求項１９】
撮像装置と、運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置を有する情報処理システムであって、
前記撮像装置は、前記移動体と前記運搬物とを観測可能な位置に設置されており、
前記情報処理装置は、
前記撮像装置によって前記運搬物を撮像した第１の画像に基づいて前記運搬物の３次元形状を特定可能な第１の情報を取得し、前記移動体が移動する環境を撮像した第２の画像に基づいて、前記環境における物体と前記移動体との距離を特定可能な第２の情報を取得する取得手段と、
前記第１の情報と前記第２の情報に基づいて、前記運搬物と、前記物体とが所定の距離より近づくことを抑制する制御値を決定する決定手段とを有することを特徴とする情報処理システム。
【請求項２０】
運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理方法であって、
前記運搬物を撮像した第１の画像に基づいて前記運搬物の３次元形状を特定可能な第１の情報を取得し、前記移動体が移動する環境を撮像した第２の画像に基づいて、前記環境における物体と前記移動体との距離を特定可能な第２の情報を取得する取得工程と、
前記第１の情報と前記第２の情報に基づいて、前記運搬物と、前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定工程とを有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の移動制御を行う技術に関する。
【背景技術】
【０００２】
例えば、無人搬送車（ＡＧＶ；Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ）と呼ばれる移動体がある。従来、この移動体を工場や物流倉庫等といった環境内で走行させる場合、移動体の移動制御を安定して行うため、特許文献１のように床にテープを貼り、テープを移動体に搭載したセンサで検知しながら走行させることが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３３４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、不特定の荷物を載せた移動体を安定的に移動させるには、移動体に載せる荷物の量や形状に合わせて移動経路を変更する必要がある。つまり、環境中の障害物と移動体または荷物との距離を適切に空けて走行するように走行経路を人手で設定する必要があった。
【０００５】
本発明は、上記の課題に鑑みてなされたものであり、複数種類の運搬物を搭載可能な移動体の移動制御を安定的に行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成する本発明に係る情報処理装置は、上記の目的を達成する本発明に係る情報処理装置は、運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、前記運搬物を撮像した第１の画像に基づいて前記運搬物の３次元形状を特定可能な第１の情報と、前記移動体が移動する環境を撮像した第２の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第２の情報とを取得する取得手段と、前記第１の情報と前記第２の情報に基づいて、前記運搬物と前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数種類の運搬物を搭載可能な移動体の移動制御を安定的に行うことが出来る。
【図面の簡単な説明】
【０００８】
【図１】移動体システムが走行する環境の一例を説明する図。
【図２】情報処理システムのシステム構成例を説明する図。
【図３】移動体システムの機能構成例を説明するブロック図。
【図４】情報処理装置のハードウェア構成例を示す図。
【図５】情報処理装置が実行する処理を説明するフローチャート。
【図６】移動体システムが走行する経路の一例を説明する図。
【図７】移動体システムの機能構成例を説明するブロック図。
【図８】情報処理装置が実行する処理を説明するフローチャート。
【図９】表示情報を提示するＧＵＩの一例を示す図。
【図１０】移動体システムの機能構成例を説明するブロック図。
【図１１】情報処理装置が実行する処理を説明するフローチャート。
【図１２】移動体システムの機能構成例を説明するブロック図。
【図１３】表示情報を提示するＧＵＩの一例を示す図。
【図１４】情報処理装置が実行する処理を説明するフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
（実施形態１）
本実施形態では、運搬物を載せた無人搬送車（ＡＧＶ）の移動制御について説明する。無人搬送車を以下では移動体と呼ぶ。この移動体は、複数種類の運搬物を搭載可能であり、この移動体に搭載された運搬物の形状によって、移動体が通行可能な経路が変化する。また、移動体システム１２は、車体に搭載されたカメラの画像から空間の３次元構造を認識できる。図１では、天井に梁がある、壁や棚にでっぱりがあるような環境を移動体が移動する場合、運搬物の有無や高さによって、移動体が通ることができる場所が異なる。具体的には、運搬物の高さが破線Ａより低い場合は、移動体システム１２はこのまま直進可能である。しかし、運搬物１５の高さは破線Ｂに到達するため、この場合は直進せずに迂回して進むよう移動制御する必要がある。また、運搬物が移動体システムの横幅方向にはみ出すような大きさである場合も、移動体システムは運搬物の形状を考慮した経路を走行する必要がある。また、無人搬送車のように工場や倉庫で使用される移動体は、タスクに応じて様々な運搬物を運び、指示された場所で積み下ろしを行う。あるタスクを実施する工程において移動体が搭載する運搬物の量や大きさは一定であるとは限らない。はじめに運搬物の形状についての情報を与えても、荷物の積み下ろしを行う前後で運搬物の形状についての情報を更新しなければならなかった。そこで、画像から得た運搬物の高さや縦横の３次元形状の情報に基づいて、運搬物が障害物に接触しない経路を移動体システムが走行するように、移動体の位置を制御する制御値（方向またはスピード）を決定する方法について述べる。図２に、情報処理システムの構成例を示す。運搬物センサ１１０が撮像した画像から推定した運搬物の３次元形状と、移動体システム１２に搭載された環境センサ１２０が撮像した画像により推定した移動体システム１２の位置姿勢情報とに基づいて、移動体システム１２の制御を行う。
【００１１】
（構成説明）
図２に、本実施形態において無人搬送車（ＡＧＶ）と称する移動体の位置を制御する情報処理システムの構成例を示す。本実施形態における情報処理システム１は、少なくとも１つ以上の移動体システム１２、移動体管理システム１３、工程管理システム１４から構成される。情報処理システム１は、例えば物流システムや生産システムなどである。
【００１２】
移動体システム１２は、工場や物流倉庫といった使用環境でタスク遂行のため必要とされる工程のスケジュールに合わせて運搬物１５を搬送する無人搬送車（ＡＧＶ：Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ）である。移動体システム１２は環境内で複数台が移動（走行）している。また、移動体システム１２は、移動体管理システム１３、他の移動体システム１２と、Ｗｉ−Ｆｉ通信などの無線通信で各種情報を双方向に送受信している。移動体システム１２は、移動体の位置を制御する制御値を決定する情報処理装置１０、制御値に従って移動体の移動制御をするアクチュエータ部１３０、運搬物１５を撮像する運搬物センサ１１０と、移動体の周辺環境を観測する環境センサ１２０を搭載している。
【００１３】
移動体管理システム１３は、移動体システム１２を管理するシステムである。例えば、コンピュータサーバや、ＰＣや、組み込みシステムや、ＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）である。移動体管理システム１３は、移動体システム１２とＷｉ−Ｆｉ通信などの無線通信で、移動体システム１２の移動制御を行うための各種情報を双方向に送受信している。また、移動体管理システム１３は、工程管理システム１４と通信を行っている。
【００１４】
工程管理システム１４は、情報処理システム１で実行する工場や物流倉庫における工程のスケジュールなどを管理する。例えば、生産管理システムや、物流管理システムや、ＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）である。また、工程管理システム１４は、移動体管理システム１３と通信を行っている。
【００１５】
運搬物１５は、移動体システム１２により運搬される貨物である。例えば、複数の工業用パーツを格納したコンテナや、複数のコンテナや段ボールがスタックされて構成される貨物などの、運搬対象となる物体である。運搬物１５は、移動体システム１２に積載または牽引により運搬される。
【００１６】
図３は、本実施形態における情報処理装置１０を備える移動体システム１２の機能構成例を示す図である。情報処理装置１０は、運搬物画像入力部１１１０、運搬物情報取得部１１２０、環境画像入力部１１３０、位置姿勢情報取得部１１４０、保持部１１５０、決定部１１６０から構成されている。運搬物画像入力部１１１０は、移動体システム１２に搭載された運搬物センサ１１０と接続されている。環境画像入力部１１３０は、移動体システム１２に搭載された環境センサ１２０と接続されている。決定部１１６０は、アクチュエータ部１３０と接続されている。また、これらに加え、不図示の通信装置が移動体管理システム１３と情報を双方向に通信を行っており、情報処理装置１０の各種機能構成に入出力している。但し、図３は、機器構成の一例であり、本発明の適用範囲を限定するものではない。
【００１７】
運搬物センサ（第１センサ）１１０は、移動体システム１２が運搬する運搬物１５を計測する計測装置である。本実施形態では、運搬物センサ１１０は、各画素が奥行きの情報を格納するデプスマップを撮像するＴｏＦ方式によるデプスカメラであり、デプスマップを出力するものとする。なお、運搬物センサ１１０と移動体システム１２との位置姿勢関係、運搬物センサ１１０と環境センサ１２０との位置関係はあらかじめキャリブレーション済みであるとする。
【００１８】
なお、運搬物センサ１１０は、例えば、濃淡画像やカラー画像を取得するグレースケールカメラやカラーカメラなどを用いてもよい。この場合、運搬物の形状の推定は、例えば、カラー画像から、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）による学習ベースの方式で、運搬物の形状を表す３次元バウンディングボックスを直接推定する。具体的には、カラー画像と距離値を入力として、運搬物の大きさの絶対値を出力する学習済みモデル（ＣＮＮ）を用いて運搬物の３次元形状を推定する。学習済みモデルは、様々な物体の画像に対して距離値と物体の大きさの情報を付与した教師データによって予め学習させておく。または、ＣＮＮを用いて単眼カラー画像からデプスマップを推定するネットワークを学習し、カラー画像から推定したデプスマップを利用して、本実施形態記載の処理を行ってもよい。あらかじめ不図示の記憶装置に保持したＣＡＤデータと、運搬物センサ１１０の取得する画像とをマッチングし、最もマッチング度合の高いＣＡＤデータの寸法から運搬物１５の概略形状を推定することもできる。また、運搬物センサ１１０は、例えば、センサから対象物への距離をライン状にセンシングするラインセンサを用いて、運搬物１５の形状を計測してもよい。この場合、運搬物１５の形状計測は、例えば運搬物が移動体に積載されるタイミングで運搬物の動きに合わせてラインを走査し、運搬物の３次元点群を求めることで概略形状を推定する。以上のように、運搬物１５の形状に関する情報が得られる限り、運搬物センサとして用いるセンサに制限はなく、いかなるセンサを用いてもよい。
【００１９】
環境センサ１２０は、移動体が走行している周辺環境を計測する計測装置である。本実施形態では環境センサ１２０はデプスカメラである。環境センサ１２０は、移動体の周囲を観測したデプスマップを出力するものとする。なお、ここで言うデプスマップとは、環境センサ１２０が取得した画像の各画素に対して、計測対象までの距離（奥行き）と相関のある値を保持する画像を指す。通常、計測対象までの距離と相関のある値は、通常の画像として構成可能な整数値であり、焦点距離から決定される所定の係数を乗ずることで、対象までの物理的な距離（例えばミリメートル）に変換することができる。デプスマップを生成するための距離の計測方式は、特に制限はない。例えば、対象物に照射したマルチスリットラインをカメラで撮像し、三角測量によって距離計測を行うアクティブステレオ方式がある。Ｌｉｄａｒをはじめとした、光の飛行時間を利用するＴｉｍｅ−ｏｆ−ｆｌｉｇｈｔ（ＴｏＦ）方式でもよい。また，ステレオカメラが撮影する画像から三角測量によって各画素の奥行きを計算するパッシブ式であってもよい。本実施形態では環境センサ１２０はＴｏＦ方式によるデプスカメラであるものとする。環境センサ１２０は、計測したデプスマップを環境画像入力部１１３０へ送る。
【００２０】
アクチュエータ部１３０は、決定部１１６０で決定された制御値（例えば、車輪の回転トルク、進行方向に関する移動制御情報）に基づき車輪を駆動する。本実施形態における移動制御とは、移動体が備えるアクチュエータであるモータ、および車輪の向きを変更するステアリングを制御することである。これらを制御することで、移動体を所定の目的地まで移動させる。また、制御値とは移動体を制御するための指令値のことである。具体的には、移動体の進行方向、加速度、車輪の回転スピード等である。ここでは、運搬物を搭載した移動体がある目的地に向かうのに最適な経路（例えば最短経路）を走行するような制御値を指す。
【００２１】
本実施形態における環境センサの位置姿勢とは、現実空間中に規定された世界座標系における環境センサ１２０の位置を表す３パラメータ、及び環境センサ１２０の姿勢を表す３パラメータを合わせた６パラメータのことである。ここで、世界座標系とは、床面を規定する２軸とそれらに直交し高さ方向を表す１軸により構成される座標系と定義する。なお、ＡＧＶなどの移動体の設計段階で移動体の重心位置に対する環境センサ１２０の取り付け位置を計測しておき、前述の取り付け位置姿勢を表す行列を外部メモリＨ１４に記憶しておく。環境センサの位置姿勢に対して前述の取り付け位置姿勢を表す行列を掛け合わせることで移動体の重心位置を取得することができる。すなわち、世界座標系における環境センサの位置姿勢を取得することにより、世界座標系における移動体システム１２の位置姿勢を容易に取得することができる。また、運搬物センサ１１０の光軸をＺ軸、画像の水平方向をＸ軸、垂直方向をＹ軸とする撮像装置上に規定される三次元の座標系を第１座標系と呼ぶ。また、同様に、環境センサ１２０の光軸をＺ軸、画像の水平方向をＸ軸、垂直方向をＹ軸とする撮像装置上に規定される三次元の座標系を第２座標系と呼ぶ。また、移動体システム１２の進行方向をＸ軸、高さ方向をＺ軸、それらに直交する軸をＹ軸とする移動体システム１２上に規定される３次元の座標系を第３座標系と呼ぶ。
【００２２】
運搬物画像入力部（第１入力部）１１１０は、運搬物センサ１１０が取得する視覚情報として、運搬物を観測したシーンの画像の各画素に対して奥行き値を格納したデプスマップを時系列（例えば毎秒６０フレーム）に入力する。そして運搬物情報取得部１１２０に出力する。ここで、奥行き値とは、運搬物センサ１１０とＡＧＶにより運搬される運搬物との距離である。
【００２３】
運搬物情報取得部（第１取得部）１１２０は、運搬物画像入力部１１１０が入力したデプスマップから、運搬物の３次元形状に関する情報（第１情報）を取得する。本実施形態では、運搬物の形状に関する情報として、運搬物の３次元バウンディングボックス（重心位置を表す３パラメータ、バウンディングボックスのサイズを表す３パラメータ）により表現される概略形状を推定する。具体的には、運搬物を載せた移動体の高さや、運搬物が幅方向に移動体からはみ出した部分の大きさを示す。運搬物情報取得部１１２０は、さらに、取得した運搬物形状を決定部１１６０に出力する。
【００２４】
環境画像入力部（第２入力部）１１３０は、環境センサ１２０から、移動体が移動する環境を撮像したシーンの画像の各画素に対して奥行き値を格納したデプスマップを時系列（例えば毎秒６０フレーム）に入力する。そしてデプスマップを位置姿勢情報取得部１１４０に出力する。奥行き値とは、環境センサ１２０と周辺環境における物体（例えば、壁や障害物）との距離である。
【００２５】
位置姿勢情報取得部（第２取得部）１１４０は、環境における物体と移動体との距離を特定可能な情報を取得する。すなわち、位置姿勢取得の指標となる位置姿勢推定用マップを保持し、環境画像入力部１１３０が入力したデプスマップと位置姿勢推定用マップとを用いて環境センサの位置姿勢についての情報（第２情報）を取得する。ここで、位置姿勢推定用マップとは、環境の形状を示す三次元点群データである。本実施形態では、ポイントクラウドは任意の世界座標系における三次元座標（Ｘ，Ｙ，Ｚ）の三値を格納したデータリストとして位置姿勢情報取得部１１４０が保持しているものとする。位置姿勢推定用マップは、あらかじめ環境のＣＡＤモデルから物体表面の奥行を示す３次元点群に変換されることにより生成されるものとする。なお、位置姿勢推定用マップとして、後述する制御用マップ情報を利用してもよい。位置姿勢情報取得部１１４０はさらに、取得した位置姿勢を決定部１１６０に出力する。なお、環境センサと移動体の位置関係は予めキャリブレーション済みのため、環境センサの位置姿勢がわかれば、移動体の位置と進行方向がわかる。
【００２６】
保持部１１５０は、制御用マップ情報として占有格子マップ（ｏｃｃｕｐａｎｃｙ  ｍａｐ）を保持する。占有格子マップとは、シーンを格子状に区切り、各格子に障害物が存在する確率を保持したマップのことである。占有格子マップは、世界座標系における３次元のボクセル空間（Ｘ，Ｙ，Ｚ）として保持する。または、高さ方向の情報を除いた２次元のグリッド空間（Ｘ，Ｙ）として保持する。本実施形態では、占有格子マップは３次元ボクセル空間の情報として保持するものとする。占有格子マップは、位置姿勢推定用マップと同様に、あらかじめ環境のＣＡＤモデルから占有格子マップに変換されることにより生成されるものとする。また、これらに加え、ＡＧＶの目的地である三次元座標と姿勢を表す目的位置姿勢を保持する。目標位置姿勢は１つでも複数あってもよいが、ここでは簡単のため目標位置姿勢が１地点である例を説明する。さらに、保持部１１５０は、移動体の高さ・横幅・奥行を含む移動体の概略形状の情報を保持する。運搬物の概略形状は、荷物の積みおろしによって変化する場合があるため、ここでは初期値として運搬物が載っていない状態の情報を保持する。運搬物の情報は、移動体が運搬物を運ぶタスクを開始するタイミングで、後述する方法によって取得する。保持部１１５０は位置姿勢推定用マップまたは占有格子マップから得るマップ情報を必要に応じて決定部１１６０に出力する。さらに、目標位置姿勢を決定部１１６０に出力する。
【００２７】
決定部１１６０は、運搬物情報取得部１１１０が取得した運搬物の３次元形状に基づいて、移動体と運搬物が環境（障害物）と一定以上の距離を空けて走行するように制御値を決定する。必要に応じて、位置姿勢情報取得部１１４０が取得した環境センサ１２０の位置姿勢、保持部１１５０が保持する制御用マップ情報、目標の位置および姿勢の情報を利用する。決定部１１６０は、決定された制御値をアクチュエータ部１３０へ出力する。
【００２８】
図４は、情報処理装置１０のハードウェア構成を示す図である。Ｈ１１はＣＰＵであり、システムバスＨ２１に接続された各種デバイスの制御を行う。Ｈ１２はＲＯＭであり、ＢＩＯＳのプログラムやブートプログラムを記憶する。Ｈ１３はＲＡＭであり、ＣＰＵであるＨ１１の主記憶装置として使用される。Ｈ１４は外部メモリであり、情報処理装置１０が処理するプログラムを格納する。入力部Ｈ１５はキーボードやマウス、ロボットコントローラーであり、情報等の入力に係る処理を行う。表示部Ｈ１６はＨ１１からの指示に従って情報処理装置１０の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、ＬＥＤインジケーターなど、種類は問わない。また、情報処理装置が備える表示部Ｈ１６が表示装置としての役割であってもよい。Ｈ１７は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット（登録商標）でもよく、ＵＳＢやシリアル通信、無線通信等種類は問わない。なお、前述した移動体管理システム１３とは通信インターフェイスＨ１７を介して情報のやり取りを行う。Ｈ１８はＩ／Ｏであり、撮像装置Ｈ１９から視覚情報を入力する。なお、撮像装置Ｈ１９とは前述した運搬物センサ１１０または環境センサ１２０のことである。Ｈ２０は前述したアクチュエータ部１３０のことである。
【００２９】
次に、本実施形態における処理手順について説明する。図５は、本実施形態における情報処理装置１０が実行する処理の手順を示すフローチャートである。以下、フローチャートは、ＣＰＵが制御プログラムを実行することにより実現されるものとする。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。処理ステップは、Ｓ１１０、Ｓ１２０、Ｓ１３０、Ｓ１４０、Ｓ１５０、Ｓ１６０、Ｓ１７０から構成されている。
【００３０】
Ｓ１１０では、システムの初期化を行う。すなわち、外部メモリＨ１４からプログラムを読み込み、情報処理装置１０を動作可能な状態にする。また、情報処理装置１０に接続された各機器のパラメータ（運搬物センサ１１０および環境センサ１２０のカメラ内部パラメータと外部パラメータ）や、運搬物センサ１１０の初期の位置姿勢をＲＡＭであるＨ１３に読み込む。また、ＡＧＶの各デバイスを起動し、制御可能な状態とする。これらに加え、通信Ｉ／Ｆ（Ｈ１７）を通して移動体管理システムから、ＡＧＶが向かうべき目的地の三次元座標を受信し、保持部１１５０に保持する。
【００３１】
Ｓ１２０では、運搬物画像入力部１１１０が、運搬物センサ１２０によって運搬物を撮像した画像であるデプスマップを入力する。具体的には、デプスカメラで運搬物１５を撮像したシーンのデプスマップを入力する。なお、本実施形態においては、デプスマップとは各画素の奥行き値を格納した二次元配列リストのことである。
【００３２】
Ｓ１３０では、運搬物情報取得部１１２０が、運搬物画像入力部１１１０が入力したデプスマップ（第１の画像）を用いて、運搬物１５の３次元形状を特定可能な情報（第１の情報）を取得する。なお、本実施形態においては、運搬物１５の３次元形状を特定可能な情報とは概略形状であり、３次元バウンディングボックスを表す６パラメータ（位置３パラメータ、サイズ３パラメータ）のことである。具体的には、移動体座標系における運搬物の高さ・横幅・奥行・および重心位置により構成されるＡｘｉｓ−ａｌｉｇｎｅｄ  ｂｏｕｎｄｉｎｇｂｏｘ  （ＡＡＢＢ）を取得する。
【００３３】
運搬物１５の概略形状の取得は、具体的には、まず、デプスマップから第１座標系に規定された３次元点群を取得する。３次元点群は、正規化画像座標系における画像座標とデプスマップの各画素の奥行値とを掛け合わせることで取得する。次に、取得した３次元点群の座標系を、運搬物撮像座標系から移動体座標系に変換する。さらに、３次元点群の中から、ＲＡＮＳＡＣ（ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）アルゴリズムを用いて平面を除去することにより、床面等の背景となる３次元点群から、運搬物候補となる３次元点を分離する。最後に、運搬物候補の３次元点群から、３次元点群の各軸における最小値・最大値を取得することで、移動体座標系における運搬物の高さ・横幅・奥行および重心位置（ＡＡＢＢ）を運搬物の概略形状として求める。最後に、取得した概略形状の値を、決定部１１６０に出力する。
【００３４】
Ｓ１４０では、環境画像入力部１１３０が、移動体の周辺環境を観測したデプスマップを取得する。このデプスマップは環境センサ１２０によって取得される。なお、本実施形態においては、デプスマップは各画素の奥行き値を格納した二次元配列リストのことである。
【００３５】
Ｓ１５０では、位置姿勢情報取得部１１４０が、環境画像入力部１１３０が入力したデプスマップと、位置姿勢推定用マップとを用いて、環境センサ１２０の位置姿勢（第２の情報）を取得する。具体的には、まずデプスマップから第２座標系に規定された三次元点群を取得する。３次元点群は、正規化画像座標系における画像座標とデプスマップの各画素の奥行値とを掛け合わせることで取得する。次に、環境センサ１２０の前の時刻における位置姿勢を用いて、三次元点群を前の時刻における位置姿勢座標系に座標変換する。つまり三次元点群に前の時刻における位置姿勢の行列を掛け合わせる。取得した三次元点群と保持部１１３０が保持するマップ情報のポイントクラウドの各三次元点の最近傍の点同士の距離の和が小さくなるように位置姿勢を取得する。具体的には、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズムを用いて前の時刻における位置姿勢に対する、環境センサ１２０の位置姿勢を取得する。最後に、世界座標系に変換して、世界座標系における位置姿勢を決定部１１６０に出力する。移動体の位置姿勢を求めることによって、周辺環境と移動体との距離が得られる。
【００３６】
Ｓ１６０では、決定部１１６０が、移動体が移動する環境の３次元情報（第２の情報）と、運搬物の高さを特定可能な情報（第１の情報）とに基づいて、運搬物と障害物とが所定の距離より近づくことを抑制する制御値を決定する。具体的には、運搬物を載せた移動体が通過できる高さがある経路を移動するような制御値を決定する。例を図６に示す。図６（ａ）では、移動体Ｅ１２ａは運搬物を目的地Ｅ１６ａまで運ぶタスクを行っている。まず３次元の占有格子マップＥ１１から、運搬物を含む移動体Ｅ１２ａの高さで占有格子マップＥ１１を抽出した３次元マップである占有格子マップＥ１３ａを求める。そして、それを床面平面に射影することで、２次元の占有格子マップＥ１４ａを求める。Ｅ１４ａに示す２次元の占有格子マップ上で、移動体の位置姿勢Ｅ１５ａから目的地の位置姿勢Ｅ１６ａに向かうための最適な経路Ｅ１７ａを算出する。例えば、移動体Ｅ１２ａがそのまま直進した場合、Ｅ１２ａの運搬物が環境（例えば図のＸ）と接触してしまい、運搬物が崩れる可能性がある。その経路を選択しないよう、障害物の存在する領域を通らない軌跡Ｅ１７ａを通る制御値を決定する。また、運搬物の高さが異なる場合を図６（ｂ）で説明する。Ｅ１２ｂの高さに合わせて抽出される３次元の占有格子マップはＥ１３ｂである。Ｅ１３ｂの高さで２次元マップに射影した占有格子マップＲ１４ｂにはＸが表示されない。このように地図が異なる為、算出される経路及び制御値も異なる。具体的には移動体Ｅ１２ｂはＥ１２ａより少ない運搬物を運ぶ場合、Ｅ１２ｂの目の前の通路（障害物Ｘがあった道）が通行可能になるため、Ｅ１７ｂのような経路を通って、Ｅ１６ｂに向かう。
【００３７】
Ｓ１６０における処理内容を説明する。まず、位置姿勢情報取得部１１４０が推定した移動体座標系における運搬物の概略形状（ＡＡＢＢ）と移動体座標系におけるＡＧＶの概略形状（ＡＡＢＢ）とに基づいて、それらを包括する移動体全体の高さ・横幅・奥行の概略形状を取得する。移動体全体の概略形状は、高さ・横幅・奥行のそれぞれの最小値最大値を取ることにより得る。次に、保持部１１５０が保持する３次元グリッドの占有格子マップから、移動体に接触しうる範囲の部分マップを占有格子マップから抜き出す。具体的には、占有格子マップにおいて、移動体全体の重心位置が（Ｘｗ，  Ｙｗ，  Ｚｗ）、３Ｄバウンディングボックスのサイズが（Ｓｘ，  Ｓｙ，  Ｓｚ）である場合、床面に対する高さ方向Ｚｗ±Ｓｚ／２の範囲にある占有格子マップをスライスする。このように抽出されたマップを部分占有格子マップとして取得する。さらに、部分占有格子マップを、床面に対する高さ方向（ｚ方向）に射影することで、２次元グリッドの占有格子マップを求める。ここで、高さ方向への射影とは、占有格子（ｘ，ｙ，ｚ）をｚ方向に走査し、各（ｘ，ｙ）における障害物が存在する確率の最大値を求める操作をいう。同様に、世界座標系における３次元位置姿勢として表現される移動体システム１２の目標の位置及び姿勢および現在の位置及び姿勢を、位置２自由度と姿勢１自由度との合計３自由度のパラメータになるように２次元平面へ射影する。ここで位置２自由度とは環境の床に対して水平な面上の位置Ｘ、Ｙを指す。また、姿勢１自由度とは、環境の床に対して水平な面上での回転方向を指す。最後に、２次元グリッドの占有格子マップと目標の位置及び姿勢・現在の位置及び姿勢の情報から、両者の位置及び姿勢を最小にしつつも、障害物が存在する確率が高い格子を避けるような制御値を決定する。具体的には、まず、現在の移動体の位置及び姿勢と入力された目標の位置及び姿勢とに基づいて、両者のユークリッド距離を小さくするような制御値（前進速度と旋回方向・速度）として取りうる全てのバリエーションを制御値の候補として算出する。そして、それぞれの制御値の候補に関して、制御した後の位置及び姿勢を、予測位置姿勢として算出する。そして、２次元グリッドの占有格子マップを参照し、各予測位置姿勢に対応した障害物が存在する確率を求める。障害物が存在する確率が０である制御値の候補を算出することで、衝突が発生しないような制御値の候補を抽出する。抽出された制御値の候補の中で、目標の位置及び姿勢と予測位置姿勢とのユークリッド距離を最小とする制御値を、最終的な制御値として決定する。そして、決定した制御値をアクチュエータ部１３０に出力する。そして、アクチュエータ部１３０が、決定部１１６０が決定した制御値を用いてＡＧＶを制御する。
【００３８】
具体的には、決定部１１６０が決定した制御値（前進速度と旋回方向・速度）となるようにアクチュエータであるモータの回転量、および車輪の向きを変更するステアリングの角度値を調整する。
【００３９】
Ｓ１７０では、システムを終了するか否か判定する。具体的には、保持部１１５０が保持する目的地座標と位置姿勢情報取得部１１４０が取得した環境センサ１２０の位置姿勢とのユークリッド距離が所定の閾値（例えば１ｍ）以下であれば、目的地に到着したとして終了する。そうでなければＳ１４０に戻り処理を続ける。
【００４０】
実施形態１では、運搬物センサが運搬物の３次元概略形状を取得、運搬物を含む移動体全体の概略形状を求めて、運搬物を含む移動体と環境中の障害物とが接触しない移動経路を取得して移動体の移動制御を行う。これにより、運搬する貨物の大きさ（運搬物の高さ、運搬物が移動体からはみ出した部分等）に応じて、貨物と環境中の障害物が衝突しない安定的かつ安全な制御を行うことが可能になる。また、運搬のたびに貨物の大きさが変わるような場合においても、貨物の大きさをあらかじめ設定することなく、手間を減らして、移動体システム１２の移動制御を行うことができる。
【００４１】
（変形例１−１）
本実施形態において、運搬物１５は、運搬物センサ１１０により撮像されていたが、これに限るものではない。例えば、運搬物センサ１１０の代わりに、環境センサ１２０を用いて運搬物１５を撮像してもよい。この場合、環境センサ１２０と運搬物センサ１１０は同じ装置であってもよい。この場合、例えば、運搬物センサ１００と環境センサ１２０を兼ねる移動体に広域カメラを搭載する。また、移動体を撮像できるように環境に設置する監視カメラを広角レンズカメラやパノラマカメラにして、環境と運搬物を搭載した移動体とを同時に撮像してもよい。運搬物センサ１１０が環境を撮像するとともに、運搬物も撮像することにより、より少ない撮像装置により、運搬物の形状・位置・種類に応じた移動体の移動制御を行うことが可能になる。また、複数のセンサを連動させて運搬物画像を取得してもよい。例えば、移動体に搭載したデプスカメラと、環境内に１つ以上設置された広域カメラから画像を取得する。複数のセンサを使うことによって死角が減り、運搬物の情報をより正確に推定できるようになる。
【００４２】
（変形例１−２）
本実施形態において、運搬物センサ１１０は、移動体システム１２に装着されていることを前提にしていたが、これに限るものではない。例えば、移動体と運搬物を観測可能な場所に設置され、工程管理システム１４または、移動体システム１２と通信可能である監視カメラを運搬物センサ１１０として利用してもよい。ここで、監視カメラは、工場や物流倉庫内といった使用環境の状況を監視するＲＧＢカラーカメラである。工程管理システム１４、または、移動体システム１２中の保持部１５０が、環境の世界座標系上における監視カメラの位置姿勢を保持している。運搬物センサ１１０として監視カメラが、運搬物１５の形状および位置姿勢の情報を観測する。観測された情報は、世界座標系における監視カメラ位置姿勢と、環境センサ１２０の位置姿勢とを用いて、移動体座標系における運搬物１５の形状および位置の情報に変換されて、決定部１１６０に入力される。また、運搬物センサ１１０として用いられる外部カメラとしては、監視カメラに限るものではない。例えば、運搬物を移動体に積み込む自動機側に設置されたカメラを用いる。なお、カメラではなく、例えばラインセンサなどの２次元の距離センサを用いてもよい。また、環境に設置されたカメラ以外にも、他のＡＧＶに搭載されたカメラや、ユーザが保持するカメラを利用してもよい。運搬物１５を計測して、移動体システム１２上の運搬物１５の情報を取得できる限り、運搬物センサ１１０として用いるセンサに特に制限はない。
【００４３】
（変形例１−３）
本実施形態において、運搬物情報取得部１１２０は、運搬物の３次元概略形状として３次元バウンディングボックスの値を取得していたが、これに限るものではない。例えば、デプスマップ中の運搬物候補の３次元点群そのものを形状として保持しても、３次元点群からメッシュを生成し、３次元ポリゴンモデルとして扱ってもよい。または、ＴＳＤＦ  ｖｏｌｕｍｅ（Ｔｒｕｎｃａｔｅｄ  Ｓｉｇｎｅｄ  Ｄｉｓｔａｎｃｅ  Ｆｕｎｃｔｉｏｎ  ｖｏｌｕｍｅ）のような、ボクセルごとに最近傍の３次元表面までの符号付距離を格納した方式により運搬物の形状を保持する。または、物体の存在確率をボクセルに格納した占有格子マップの形で形状を表現する。運搬物の形状の推定手段および表現方法に特に制限はない。また、決定部１１６０が保持する移動体の形状の保持方法・表現も、同様に、バウンディングボックスのような概略形状に限るものではなく、上記記載の方法を用いて、詳細形状を保持してもよい。位置姿勢情報取得部１１４０が取得する運搬物の形状情報は、運搬物１５の形状や大きさを表現できる限り、いかなるものを用いてもよく、そこに制限はない。
【００４４】
（変形例１−４）
本実施形態においては、運搬物情報取得部１１２０では、平面部分と運搬物候補部分とのセグメンテーションにより、運搬物候補の３次元点群を判別していたが、特にこれに限るものではない。例えば、移動体システム１２に積載または牽引される運搬物１５と運搬物センサ１１０との間の概略の位置関係は既知である場合を考える。このとき、運搬物が存在する範囲を、デプスマップ中の３Ｄ  ＲＯＩ（Ｒｅｇｉｏｎ  ｏｆ  Ｉｎｔｅｒｅｓｔ）として、与えられるものとして処理を行ってもよい。この場合、運搬物情報取得部１１２０では、平面部分のセグメンテーションを行う代わりに、前述の運搬物が存在する範囲を表す３Ｄ  ＲＯＩを利用して、３Ｄ  ＲＯＩ以内の３次元点群を、運搬物候補の３次元点群として抽出する。または、例えばスタックされた箱により構成されている運搬物のように、一部の運搬物の形状が既知である場合には、テンプレートマッチングや特徴点マッチングに基づく３次元物体検出を用いて、運搬物全体の形状の位置を求めてもよい。
【００４５】
（変形例１−５）
本実施形態において、制御用マップは、あらかじめ事前に設定した占有格子マップを用いる方法に限定されない。例えば、環境センサ１２０から取得されたデプスマップおよび位置姿勢情報取得部１１４０で推定された位置姿勢の情報から、障害物がある領域とない領域を算出することで、占有格子マップを動的に更新してもよい。占有格子マップの生成は、事前情報なしに０から生成する。或いは、あらかじめ保存された占有格子マップを更新する形で取得する。周囲環境中の障害物の情報を表現できる限り、占有格子マップを生成・更新する方法に特に制限はない。占有格子マップを動的に更新することで、環境に新たに置かれた荷物などの、あらかじめ生成しておいた占有格子マップに含まれない障害物も考慮して、移動体を制御できる。
【００４６】
（変形例１−６）
本実施形態においては、制御用マップとして三次元の占有格子マップを用いる方法、そして、環境センサ１２０の位置姿勢情報として６自由度の位置姿勢パラメータを推定する方法について述べたが、これに限定されるものではない。例えば、高さ方向の情報がない、２次元の占有格子マップを利用する。或いは、環境の床と水平な面上の二次元点群データ（と色情報との組み合わせ）や、環境の床と水平な面上の二次元モデルを、制御用マップとして利用する。また、位置姿勢情報は、環境の世界座標系上における移動体システム１２の位置２自由度（環境の床に対して水平な面上の位置Ｘ、Ｙ）と姿勢１自由度（環境の床に対して水平な面上での回転方向）との合計３自由度の位置姿勢パラメータであっても良い。制御用マップは、決定部１１６０が利用できる形で、周囲環境中の障害物の情報を保持できる限り、保持・表現方式に制限はなく、いかなる方式を用いてもよい。
【００４７】
（変形例１−７）
本実施形態において、位置姿勢情報取得部１１４０が、環境中のシーンを表す３次元点群とデプスマップとのＩＣＰアルゴリズムに基づいて環境センサ１２０の位置姿勢を取得する方法について述べたが、位置姿勢を取得する方法は以上のものに限らない。例えば、位置姿勢推定用マップを事前に生成せずに、移動体システム１２を環境内で移動させることで生成する。具体的には、移動体システム１２をリモコンや手押しで操作しながら、移動体システム１２に搭載している環境センサから取得したデプスマップを複数の視点で統合することで、３次元点群データを生成する。また、位置姿勢推定用マップとして、環境のＣＡＤ図面や地図画像をそのまま、あるいはデータフォーマット変換したものを利用して、位置姿勢取得に利用してもよい。また、環境センサ１２０としてデプスセンサではなく、環境中のシーンをカラー画像や濃淡画像として撮像する撮像装置を利用してもよい。この場合、撮像する画像はカラー画像でも濃淡画像でもよい。この場合、入力されたカラー画像や濃淡画像から３次元の特徴点により構成される特徴点マップを生成し、環境画像入力部に入力された画像中の特徴点と、特徴点マップ中の特徴点を対応付けることで、位置姿勢を取得する。これらの処理は、マップ情報を作成しつつ位置姿勢推定を行うＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）技術として、数多く提案されておりそれらを利用すればよい。また、位置姿勢情報取得部１１４０での位置姿勢情報の推定は、Ｗｉ−Ｆｉ通信の通信状況や、環境内に設置されているビーコンを併用して求めてもよい。位置姿勢情報取得部１１４０において、世界座標系における移動体１２の位置姿勢を取得できる限り、取得方法に特に制限はなく、いかなる方法を用いてもよい。
【００４８】
（変形例１−８）
本実施形態において、物体の形状を取得する方法について述べたが、運搬物情報取得部１１２０が推定する運搬物の情報は形状に限るものではなく、例えば物体の種類や状態などの意味的情報を取得し、それに基づいて決定部１１６０が制御値を決定してもよい。具体的には、例えば、あらかじめガラスや液体などの壊れやすい性質の素材や揺らしては不都合な運搬物の種類を定義する。運搬物センサ１１０が撮像した運搬物１５を含むカラー画像から、各画素が何の物体種であるかを判別するセマンティックセグメンテーションにより、運搬物候補領域の意味的クラスを推定することにより、運搬物の種類を推定する。そして、推定した種類があらかじめ定めた壊れやすい運搬物の種類に含まれるのであれば、決定部１１６０の制御値の最高速度を制限する。例えば、運搬物がガラス製であると推定された場合は、なるべく振動が少ない移動制御を行う。これにより、運搬物の種類に応じた速度の制御を行うことで、運搬物の運搬において、運搬物が揺れにくくなるように、または、運搬物が崩れにくくなるように移動体の移動制御を行うことが可能になる。
【００４９】
（変形例１−９）
本実施形態において、運搬物情報は、運搬物画像入力部１１１０に入力された運搬物が撮像されたデプスマップから、形状を計測していたが、これに限るものではない。例えば、運搬物に付与されたＩＤタグを利用して、運搬物の情報を得てもよい。具体的には、例えば、運搬物の形状・種類の情報またはそれらに紐づく情報が格納されたＩＤタグを運搬物に付与しておく。或いは、運搬物センサ１１０または環境センサ１２０が撮像した画像から、運搬物情報取得部１１２０がＩＤタグを認識することで、運搬物の形状・種類の情報を取得する。また、運搬物の情報を得る手段としては、画像を用いる方法に限るものではなく、例えば、工程管理システム１４または移動体管理システム１３が各運搬物の形状や種類や位置を管理しておく。Ｓ１１０において、目標の位置及び姿勢を受信するタイミングで、運搬物画像入力部１１１０が積載される運搬物の情報を受信する。このように、運搬物の形状・種類の情報を得てもよい。この場合は、運搬物センサ１１０は運搬物画像入力部１１２０に接続されている必要性はなく、運搬物センサ１１０がなくても特に問題はない。
【００５０】
（変形例１−１０）
本実施形態において、移動体システム１２は無人搬送車（ＡＧＶ）の様々な形態に適用可能である。例えば、運搬物の下に潜り込んで押すことで運搬する移動体でもよい。また、車輪が縦横無尽に動くＡＧＶでもよい。この場合、前後方向の制御値だけではなく、横方向の移動に対しても制御値を計算し、最適な制御値を決定する。また、けん引式のＡＧＶでもよい。この場合、けん引する運搬物や台車との接合部の動きを考慮した制御値を取得する。けん引式の方が横揺れするため、通路の幅が十分広い経路を通るようにする等、移動体の形態によって制御値の決定の仕方を変えてもよい。なお、移動体システム１２は、自動運転車、自律移動ロボットであってもよい。本実施形態で説明した情報処理装置をそれらに適用してもよい。また、フォーク可動部を備える自動搬送フォークリフトに対して、本実施形態を適用してもよい。ドローンといった飛行体に本実施形態を適用してもよい。
【００５１】
（変形例１−１１）
本実施形態において、運搬物情報取得部１１１０が推定した運搬物１５の概略形状に基づいて、決定部１１６０が、運搬物を含む移動体と、障害物との接触を考慮した制御値を決定していたが、これに限るものではない。例えば、決定部１１６０が移動体管理システム１３および工程管理システム１４と通信して、運搬物と周囲環境との障害物との接触が発生しないような形状の移動体を代わりに用いるようにシステムを運用してもよい。具体的には、移動体管理システム１３が複数の移動体システムに関して、それぞれの概略形状の情報を保持する。そして、決定部１１６０では、それらの複数の移動体システムの概略形状に対応した、複数の２次元占有格子を取得する。これによってもっとも最短経路で運搬可能となる形状を備える移動体システムを判別する。そして、判別した移動体が運搬物を運搬するように、決定部１１６０が移動体管理システム１３に通信を行う。運搬物の形状に応じて、一つの移動体の制御のみを行うのではなく、複数の異なる形状の移動体を選択的に運用することで、全体のシステムが最適になるように運行を制御することが可能となる。
【００５２】
（変形例１−１２）
決定部１１６０が、３次元の制御用マップを２次元に射影せずに、移動体と接触する範囲を抜き出した部分的な３次元制御用マップを用いて、移動体の制御値を決定する方法について述べる。図５のＳ１６０では、決定部１１６０が、ＡＧＶを制御するための制御値を決定する。具体的には、占有格子マップ上で定義された目的地座標と、占有格子マップ上の移動体の位置姿勢とに基づいて、占有格子マップ上で障害物の存在する確率が高い格子を避け、両者のユークリッド距離が小さくなるような制御値を決定する。
【００５３】
まず、運搬物情報取得部１１２０が推定した移動体座標系における運搬物の概略形状（ＡＡＢＢ）に基づいて、移動体全体の概略形状を取得する。次に、実施形態１と同様に、保持部１１５０が保持する３次元の占有格子マップから、移動体に接触しうる範囲の部分の占有格子マップを部分占有格子マップとして抽出する。次に、現在の移動体の位置姿勢と入力された目標位置姿勢とに基づいて、両者のユークリッド距離を小さくするような制御値（前進速度と旋回方向・速度）として取りうる全てのバリエーションを制御値候補として取得する。それぞれの制御値候補に関して制御後の予測位置姿勢を取得する。そして、予測位置姿勢における移動体と部分占有格子マップとの衝突判定を行う。衝突判定は、具体的には、予測位置姿勢における移動体の概略形状の範囲内の部分占有格子マップを走査する。障害物となる確率が所定以上に高い占有格子がある場合には、衝突の危険性を判定し、その予測位置姿勢を取得した制御値候補を棄却する。棄却されなかった制御値候補の中で、目標位置姿勢と予測位置姿勢とのユークリッド距離を最小とする制御値を、最終的な制御値として決定する。そして、決定した制御値をアクチュエータ部１３０に出力する。そして、アクチュエータ部１３０が、決定部１１６０が決定した制御値を用いてＡＧＶを制御する。これにより、運搬する貨物の大きさに応じて、貨物と環境中の障害物が衝突しない安定的かつ安全な制御を行うことが可能になる。また、運搬のたびに貨物の大きさが変わるような場合においても、貨物の大きさをあらかじめ設定することなく、手間を減らして、移動体システム１２の移動制御を行うことができる。
【００５４】
（変形例１−１３）
実保持部１１５０が保持する制御用マップとして占有格子マップを保持し、占有格子マップに基づいて最適な経路を決定して、決定部１１６０が移動体の制御値を決定していたが、これに限るものではない。その他、決定部１１６０が、移動体形状と環境中の障害物とが接触しないように、目的地に到達するための制御値を決定するものであればどのような制御値を決定しても用いてもよい。例えば、複数のデプスマップをキーフレームとして保持し、キーフレームの集合として、制御用マップを保持してもよい。この場合、目標位置姿勢と現在の位置姿勢とのユークリッド距離を最小化する移動制御をしながら、例えば、現在の位置姿勢の最近傍となるキーフレーム中のデプスマップと、移動体全体の概略形状との最近接距離の計算を行う。距離が所定以下の場合は、移動を止める、旋回するなどの制御を行う。障害物として判定する閾値としては、例えば、０よりも上であれば障害物があると判定する。また、キーフレームとしてデプスマップを保持することに限定されるわけでもなく、環境画像入力部１１２０に入力されたデプスマップと、移動体全体の概略形状との最近接距離の計算を行い、移動体の制御を行ってもよい。
【００５５】
また、制御用マップとして、最近傍の障害物への符号付距離を格納したＥＳＤＦ（Ｅｕｃｌｉｄｅａｎ  Ｓｉｇｎｅｄ  Ｄｉｓｔａｎｃｅ  Ｆｉｅｌｄｓ）に基づいて、障害物を回避するような制御値を計算して、移動制御を行ってもよい。また、制御用マップとして、目的地に近くなるほど小さくなるような値を格納したコストマップを保持する。決定部１１６０がこれと入力されたデプスマップとを入力として制御値を決定するように学習したニューラルネットワークである深層強化学習器を用いて制御値を決定してもよい。このように、運搬物を含む移動体全体の形状と壁などの障害物との接触を計算し、それらを回避しつつ移動する制御値を決定することで、安定して、安全にＡＧＶを運用することができる。
【００５６】
（変形例１−１４）
決定部１１６０は、Ｄｙｎａｍｉｃ  Ｗｉｎｄｏｗ  Ａｐｐｒｏａｃｈを用いた。これは、現在の移動体の位置及び姿勢と入力された目標の位置及び姿勢とに基づいて、ある一時刻における両者のユークリッド距離を小さくするような制御値の取りうる全てのバリエーションを制御値の候補として算出する。しかしながら、障害物との衝突可能性の高い領域を回避してＡＧＶの経路を設定できる方法であれば、制御値の算出方法は上記に限るものではない。例えば、ある一時刻ではなく、将来の複数の時刻における制御値のバリエーションを算出し、複数時刻の位置姿勢（予測軌跡）を算出し、予測軌跡を辿るような制御値を選択する手法であるＧｒａｐｈ  Ｓｅａｒｃｈ  Ａｐｐｒｏａｃｈを使用してもよい。この時、決定部１１６０は、２次元グリッドの占有格子マップの障害物が存在する確率が０の領域のみを通る予測軌跡を選択し、この予測軌跡を辿るような複数時刻の制御値を算出する。予測軌跡の選択方法は、移動経路が最小となるような予測軌跡を選択してもよいし、占有格子マップの障害物が存在する確率が０でない領域との距離が最大となるような予測軌跡や、ステアリングの変化が最小となるような予測軌跡を選択してもよい。また、現在位置から二次元空間の中から障害物のない一定領域をランダムにサンプリングする。そして、その地点をノードとして更に周囲の空間をランダムにサンプリングすることを繰り返して生成した予測軌跡を選択するＲａｎｄｏｍｉｚｅｄ  Ａｐｐｒｏａｃｈなど、任意の手法を用いることができる。
【００５７】
本実施形態では、Ｚｗ±Ｓｚ／２の範囲にある占有格子マップをスライスし、部分占有格子マップとして取得していたが、Ｚｗ−Ｓｚ／２＜Ｚ＜Ｚｗ＋Ｓｚ／２＋Δｍ（Δｍはマージン）の範囲にある占有格子マップをスライスしてもよい。このようにすることで、ＡＧＶは障害物から所定のマージン以上離れて移動することができ、安全にＡＧＶを運用することができる。
【００５８】
なお、Δｍといった所定の値は、ユーザによって予め設定してもよいし、移動体の走行速度に応じて変更してもよい。例えば、ユーザによって設定する場合は、工場の規定等を考慮し、占有格子マップによって物体が存在する確率が０より大きい位置からΔｍ＝１ｍだけ離れて走行するように設定する。このように障害物や周辺環境と運搬物との距離に余裕を持たせることによって、運搬物が多少ずれても安定して運搬できる。また、移動体の走行速度に応じてΔｍを設定する場合は、例えば、走行速度と所定の値が比例するように決定する。具体的には、移動体が１ｍ／ｓで走行するときはΔｍ＝１ｍとする。移動体が２ｍ／ｓで走行するときはΔｍ＝２ｍとする。このように障害物と運搬物との距離を取ることで、障害物と衝突する可能性を抑制することができる。
【００５９】
さらには位置姿勢情報取得部１１４０が位置姿勢算出時に位置姿勢のばらつき度合の値として分散値を取得算出し、決定部１１６０は、取得された分散値を元にΔｍを設定することもできる。例えば分散値と所定の値Δｍが比例するように決定する。また、事前に移動体の制御のばらつきを計測しておいて、ばらつきに比例するように所定の値Δｍを決定してもよい。制御のばらつきとは、移動体が同一ルートを走行するように設定し移動させたときに実測した移動軌跡のばらつき度合のことである。同様に、決定部１１６０は、位置姿勢情報取得部１１４０によって計測された移動体の走行環境における段差の高さに基づいて所定の距離を決定してもよい。移動体を移動させたときに実測した移動体の上下方向のブレや荷物の傾き値に比例するように所定の値Δｍを設定してもよい。例えば、走行経路上に段差や傾きがある箇所がある場合、移動体が上下方向に揺れて運搬物が天井や監視カメラ等に衝突するリスクがある。そのため、走行経路全体あるいは所定の高さの段差や凹凸がある領域については、段差の高さに応じてΔｍを設定してもよい。走行面の凹凸のデータは、例えば、予め移動体の走行経路を走行し、３次元位置の高さ方向の変化を計測しておくとよい。このように障害物と運搬物との間に一定以上の距離を取ることで、運搬物が障害物と衝突する可能性をさらに抑制することができる。
【００６０】
（実施形態２）
実施形態１では、保持部１１５０が保持する制御用マップとして占有格子マップを保持し、占有格子マップに基づいて最適な経路を取得して、決定部１１６０が移動体の制御値を取得していた。実施形態２では、制御用マップを保持せずに、環境センサが撮像する画像に基づいて、運搬物を含む移動体の位置を計算して、移動体の制御を行う方法について述べる。
【００６１】
図７に、本実施形態における情報処理装置１０の機能構成例を示す。本実施形態における情報処理装置１０は、実施形態１で説明した情報処理装置１０から、保持部１１５０が除かれている点が異なる。本実施形態では実施形態１から追加または機能が異なる構成のみ説明し、それ以外の構成については図１、２と同じ機能であるものとして説明を省略する。
【００６２】
決定部１１６０は、環境画像、位置姿勢情報取得部１１４０が取得した環境センサ１２０の位置姿勢情報、運搬物情報取得部１１２０が取得した運搬物の概略形状、および目標の位置及び姿勢をもとにＡＧＶの移動制御する制御値を決定する。実施形態１と異なり、移動体の目標位置姿勢は、不図示の通信装置により移動体管理システム１３から決定部１１６０へ直接入力される。決定部１１６０は、決定した制御値をアクチュエータ部１３０へ出力する。
【００６３】
本実施形態における処理全体の手順は、図５と同様である。本実施形態では実施形態１と処理が異なる手順のみ説明し、それ以外の手順については図５と同じ処理であるものとして説明を省略する。
【００６４】
図５のＳ１６０では、決定部１１６０が、運搬物情報取得部１１２０が推定した運搬物１５の概略形状と、環境画像入力部１１３０に入力されたデプスマップ、移動体の目標位置とに基づき、障害物を避けつつ目標位置へ向かうような移動体の制御値を決定する。具体的には、現在の移動体の位置姿勢と入力された目標位置姿勢とに基づいて、両者のユークリッド距離を小さくするような制御値（前進速度と旋回方向・速度）として取りうる全てのバリエーションを制御値候補として取得する。それぞれの制御値候補に関して制御後の予測位置姿勢を取得する。そして、予測位置姿勢における運搬物を含む移動体の概略形状・位置と、環境画像入力部１１３０から入力されたデプスマップから求めた３次元点群との、最近接距離の計算を行う。距離が所定以下の場合は、衝突の危険性と判定し、その予測位置姿勢を取得した制御値候補を棄却する。棄却されなかった制御値候補の中で、目標位置姿勢と予測位置姿勢とのユークリッド距離を最小とする制御値を、最終的な制御値として選択する。決定された制御値は、アクチュエータ部１３０へ出力する。
【００６５】
以上、実施形態２では、制御用マップを保持せずに、環境センサ１２０から入力された画像に基づいて、運搬物を含む移動体の概略形状の位置を取得し、移動体の制御を行う方法について述べた。制御用マップを保持しない場合においても、環境センサ１２０から時系列的に入力される画像から、その都度、観測される範囲で、移動体と環境中の障害物との距離を取得することで、制御用マップを保持しない場合においても、安全な移動体制御が可能となる。
【００６６】
（実施形態３）
実施形態１では、運搬物センサ１１０が取得したデプスマップから、運搬物１５の概略形状を一度だけ計測し、計測した運搬物の形状を含む移動体とシーン中の障害物との接触を考慮した軌道を取得して移動体の制御を行っていた。実施形態３においては、運搬物１５の形状と位置を常にトラッキングすることで、運搬物の位置や形状の変化に基づいて、移動体の制御を行う方法について述べる。
【００６７】
本実施形態における装置の構成は、実施形態１で説明した情報処理装置１０の構成を示す図３と同一であるため省略する。なお、運搬物情報取得部１１２０は、実施形態１で説明した運搬物１５の概略形状情報に加えて、さらに、その時系列的変化が計算できるように、前時刻における運搬物１５の形状・位置の情報も保持する。そして、運搬物１５の時系列変化情報も、決定部１１６０に出力する。決定部１１６０は、実施形態１で説明した情報に加え、運搬物情報取得部１１２０が取得した運搬物１５の時間変化情報にも基づいて、ＡＧＶを制御する制御値を決定する。以上の点が実施形態１と異なる。
【００６８】
図８に、本実施形態において無人搬送車（ＡＧＶ）と称する移動体に適用した情報処理装置が実行する処理手順を示す。本実施形態では実施形態１と処理が異なる手順のみ説明し、それ以外の手順については図５と同じ処理であるものとして説明を省略する。
【００６９】
Ｓ２３０では、実施形態１のＳ１３０と同様に、運搬物情報取得部１１２０が、デプスマップから運搬物１５の概略形状として、３次元バウンディングボックスの情報を取得する。次に、保持していた前の時刻における３次元バウンディングボックスと、現時刻における値との差分を取ることで、前時刻から現時刻への運搬物１５の概略形状と位置の変化量を取得する。変化量は、バウンディングボックスのサイズ（高さ・横幅・奥行）の変化量３パラメータ、位置の変化量３パラメータの計６パラメータを保持するものとする。最後に、取得した、現時刻における運搬物１５の概略形状およびその変化量の値を、決定部１１６０に出力する。
【００７０】
Ｓ２６０では、決定部１１６０が、運搬物情報取得部１１２０が推定した運搬物１５の概略形状と、保持部１１５０が保持する占有格子マップとに基づき、障害物を避けつつ目標位置姿勢へ向かうような移動体の制御値を決定する。本実施形態では、これに加えて、運搬物情報取得部１１２０が取得した運搬物１５の形状と位置の変化量に基づいて、制御値を決定する。実施形態１に記載した処理により移動体の制御値を決定した後、さらに、運搬物情報取得部１１２０が取得した運搬物１５の形状と位置の変化量に基づいて、移動体の最終的な制御値を決定する。
【００７１】
具体的には、運搬物の概略形状および位置の変化量をチェックし、両者およびどちらか一方が所定以上の量で変化が発生している場合、運搬物の崩れやズレが発生しているものとして、移動体の速度を減速させる或いは停止させるように制御値を取得する。一方で、運搬物の変化量が０または小さい場合には、安定的に運搬物を運搬できているものとして、実施形態１におけるＳ１６０記載の方法で取得した制御値をそのまま用いる。また、運搬物の変化量が、運搬物の崩れやズレが発生するほど大きくないが、変化量が０とみなせるほど小さくない場合には、運搬物に揺れが発生しているものとして、揺れの範囲を判別して、制御値を取得する。具体的には、運搬物１５の概略形状を表す３次元バウンディングボックスと、運搬物の形状と位置の変化量とを足し合わせ、最大揺れ幅を包括するような運搬物の概略形状を求める。それに基づいて、Ｓ１６０で述べた移動体全体の概略形状を取得し、制御値を決定する。決定した制御値は、アクチュエータ部１３０へ出力する。
【００７２】
Ｓ４７０では、システムを終了するか否か判定する。具体的には、実施形態１のＳ１７０と同様に、保持部１１５０が保持する目的地座標と位置姿勢情報取得部１１４０が取得した環境センサ１２０の位置姿勢とのユークリッド距離が所定の閾値（例えば１ｍ）以下であれば、目的地に到着したとして終了する。そうでなければＳ１２０に戻り処理を続ける。
【００７３】
以上、実施形態３では、運搬物の形状と位置を毎フレーム計測・トラッキングを行い、その変化量を取得し、変化量に応じて運搬物のズレや崩れなどの状態変化を判別して移動体の制御を変更する方法について述べた。運搬物に状態変化があるような場合には、移動体を停止する、最大速度を制限する、といった制御や、運搬物の揺れ幅をも考慮に入れた移動体と環境との接触計算に基づいて制御を行う。これにより、運搬物の崩れやズレ、揺れといった時間的変化を考慮した安全な移動体制御が可能になる。
【００７４】
（変形例３−１）
本実施形態では、決定部１１６０において、運搬物１５の形状と位置の変化量に応じて、移動体の制御値を決定していたが、これに限るものではない。例えば、変化量に応じて、運搬物の崩れやズレの発生を判別したときに、制御値を取得する代わりに、不図示のアラームを鳴らして、異常を外部に示す。または、不図示のランプを点灯させて、異常を示す。または、移動体管理システム１３に通信し、異常が発生したことをシステムに知らせる。
【００７５】
（実施形態４）
実施形態１から３に共通して適用できるＵＩについて説明する。撮像装置が取得した視覚情報や、取得部が取得した位置姿勢、物体の検出結果、マップ情報などをユーザが確認することを説明する。また、ＡＧＶは自動制御で動くためユーザの入力により制御することを説明する。ユーザがＡＧＶの状況を確認できるよう、ＡＧＶを制御することもできるように、表示装置として例えばディスプレイにＧＵＩを表示し、マウスやタッチパネルといった入力装置によりユーザからの操作を入力する。なお、本実施形態において、ディスプレイはＡＧＶに搭載されているものとしているが、このような構成に限るものではない。つまり、通信Ｉ／Ｆ（Ｈ１７）を介して、ユーザの持つモバイル端末のディスプレイを表示装置として用いる、移動体管理システムに接続された液晶ディスプレイを表示装置として用いる。ＡＧＶに搭載されている表示装置を用いる場合でも、ＡＧＶに搭載されていない表示装置を用いる場合でも、表示情報は、情報処理装置で生成することができる。また、ＡＧＶに搭載されていない表示装置を用いる場合には、表示装置に付随する計算機が、情報処理装置から表示情報の生成に必要な情報を取得し表示情報を生成してもよい。
【００７６】
実施形態４における装置の構成は、図３の機能構成に加え、図１０に示すような生成部１１７０を有する。生成部１１４０は、運搬物センサ１１０が取得した運搬物画像、位置姿勢情報取得部１１４０が取得した移動体の位置姿勢、環境センサ１２０が取得した画像、第１取得部が計測した運搬物の情報、決定部１１６０が取得した制御値に基づいて表示情報を生成する。さらに、表示部１４０は、生成された表示情報を、ＡＧＶに搭載したタッチパネルディスプレイ等に表示する。なお、表示情報の詳細については後述する。
【００７７】
図９に、本実施形態における表示装置が提示する表示情報の一例であるＧＵＩ１００を示す。Ｇ１１０は２次元の占有格子マップを提示するためのウィンドウである。Ｇ１２０は保持部１１５０が保持する３次元占有格子マップを提示するためのウィンドウである。Ｇ１３０は環境センサ１２０が取得した画像を提示するためのウィンドウである。Ｇ１４０は運搬物センサ１１０が取得した画像を提示するためのウィンドウである。また、Ｇ１５０は、位置姿勢情報取得部１１４０が取得した位置及び姿勢や、運搬物情報取得部１１２０が計測した運搬物１５の情報、決定部１１６０が決定した制御値に関する表示情報を提示するためのウィンドウである。
【００７８】
Ｇ１１０は、保持部１１５０が保持する３次元占有格子マップを床面平面に射影した、２次元の占有格子マップの提示例を示している。Ｇ１１１は、環境センサ１２０と運搬物センサ１１０を搭載したＡＧＶである。Ｇ１１１は、運搬物センサ１１０が計測した運搬物１５の概略形状に基づいて計算したＡＧＶの概略形状が表示されている。位置姿勢情報取得部１１４０が、環境センサの位置姿勢（ＡＧＶの位置姿勢）に基づき２Ｄマップ上に合成する。Ｇ１１２は、警告アラートとして吹き出しを提示した例である。例えば、実施形態２に記載の方法により、運搬物情報取得部１１２０が取得した運搬物１５の変化量に基づいて決定部１１６０が、運搬物の崩れやズレを検出した場合に、アラートを表示する。Ｇ１１３は、決定部１１６０が決定した制御値に基づき、ＡＧＶの進行予定ルートを矢印として提示した例である。図９においては、ＡＧＶはＧ１１４に提示した目的地に向かっている。このように、２ＤマップとＡＧＶの位置、異常のアラート、ルートを提示することでユーザが容易にＡＧＶの運行状況を把握することができる。なお、Ｇ１１１〜Ｇ１１４は色や線の太さ、形状を変えることでユーザがより容易に運行状況を把握できるようにしてよい。
【００７９】
Ｇ１２０は、保持部１１５０が保持する３次元の占有格子マップの提示例を示している。Ｇ１２１は、運搬物情報取得部１１２０が取得した運搬物１５の概略形状を、ＡＧＶのモデル上に表示した様子である。Ｇ１２２は、運搬物１５を含むＡＧＶの概略形状に接触しうる範囲を抜き出す部分マップを表す表示例である。この範囲の３次元占有格子マップを床面平面に射影したものがＧ１１０である。このように、３次元占有格子マップを提示することで、環境中に存在する高さが異なる障害物と、ＡＧＶおよび運搬物との３次元的な接触具合を見ながら、ユーザは運行状況を把握することができる。
【００８０】
Ｇ１３０は、環境センサ１２０が取得した画像の提示例を示している。Ｇ１３０のように、他のＡＧＶの進行方向を矢印で表示してもよい。矢印の表示は、移動体管理システム１３等から取得する情報に基づいて生成する。
【００８１】
Ｇ１４０は、運搬物センサ１１０が取得した運搬物１５を撮像する画像の提示例を示している。Ｇ１４１は、実施形態１で説明した、運搬物情報取得部１１２０が取得した運搬物１５の概略形状と位置、および、運搬物の種類を表す情報の提示例である。また、Ｇ１４２は、実施形態２で説明した、運搬物１５の形状・位置の変化量から求めた、運搬物の揺れ幅を含む、運搬物の概略形状を示す提示例である。ここでは、３軸に関する矢印を表示しているが、運搬物が存在する範囲をワイヤーフレームとして表示してもよい。これにより、運搬物のサイズと位置を含む、運搬物の状況をユーザが直感的に把握することができる。
【００８２】
Ｇ１５０は、ＡＧＶを人手で操作するためのＧＵＩや、位置姿勢情報取得部１１４０が取得するＡＧＶの位置姿勢や決定部１１６０が決定した制御値、ＡＧＶの目標の位置及び姿勢の提示例を示している。Ｇ１５１は緊急停止ボタンであり、ユーザはこのボタンに指で触れることでＡＧＶの移動を停止させることができる。Ｇ１５２はマウスカーソルであり、不図示のマウスやコントローラ、タッチパネルを通したユーザのタッチ動作に従ってカーソルを移動させることができ、ボタンを押下することでＧＵＩ内のボタンやラジオボタンを操作することができる。Ｇ１５３はＡＧＶのコントローラを提示した例である。ユーザはコントローラの内部の円を上下左右に移動させることで、それらの入力に応じたＡＧＶの前後左右の動作を行うことができる。Ｇ１５４はＡＧＶの内部状態を提示した例である。ＡＧＶが自動走行しており、秒速０．５ｍ／ｓで動作している状態を例として図示した。また、ＡＧＶが走行を開始してからの時間、目的地までにかかる残りの時間、予定に対する到着予想時刻の差といった目標の位置及び姿勢も合わせて提示した。Ｇ１５６はＡＧＶの動作や表示情報の設定を行うためのＧＵＩである。マップ情報を生成するか否か、検出した物体を提示するか否かといった操作をユーザが行うことができる。Ｇ１５７はＡＧＶの目標の位置及び姿勢を提示した例である。第２取得部１１４０が取得した位置姿勢や、移動体管理システム１３から受信した目的地座標、ＡＧＶが運搬している物品名を提示した例である。このように、目標の位置及び姿勢を提示する、ユーザからの入力に係るＧＵＩを提示することで、より直感的にＡＧＶを運用できるようになる。
【００８３】
図１１を用いて情報処理装置が実行する処理を説明する。Ｓ５６５では、生成部１１７０が、撮像された画像、運搬物情報取得部１１２０が取得した運搬物の形状、位置姿勢情報取得部１１４０が取得した移動体の位置姿勢、決定部１１６０が決定した制御値または占有格子マップの何れかに基づいて、表示情報を生成する。そして、表示情報を表示部１４０に出力する。
【００８４】
実施形態４では、撮像された画像、運搬物情報取得部１１２０が取得した運搬物の形状、位置姿勢情報取得部１１４０が取得した移動体の位置姿勢、決定部１１６０が決定した制御値または占有格子マップの何れかに基づいて、表示情報を生成する。これによりユーザが容易に本情報処理装置の状態を確認することができる。また、ＡＧＶの制御値や各種パラメータ、表示モード等をユーザが入力する。これにより手軽にＡＧＶの各種設定を変更したり移動させたりすることができる。このように、ＧＵＩを提示することで手軽にＡＧＶを運用することができるようになる。
【００８５】
（実施形態５）
本実施形態では、移動体の目的地と運搬物の種類に基づいて、タスクを効率的に実行できる運搬量または移動経路をユーザに対してリコメンドする情報処理装置について説明する。通常、例えば、同じ荷物を数回（又は数台）に分けて搬送する場合、１回あたりのタスクでなるべく多くの荷物を積めば、タスクの総所要時間は短縮できる。しかし、環境によっては、運搬物が多くなった場合に走行できる経路が限定され、結果遠回りになって所要時間が増加してしまうことがある。つまり、所要時間を最小にするのに最適な運搬物の量や積み方は環境によって変化しうる。そこで、本実施形態では、荷物の大きさと環境の構造を考慮して、最適な運搬量と搬送経路の組合せをユーザに提示する。これによって、効率的に移動体を制御できる。
【００８６】
図１２を用いて、情報処理装置１０の機能構成例を説明する。なお、実施形態１と同様の機能構成については説明を省略する。
【００８７】
タスク入力部（第３入力部）１２００は、目的地の座標またはタスクで運ぶ運搬物の総量と大きさについて示すタスク情報を入力する。タスク情報に含まれる目的地の座標は、保持部１１５０が保持する制御マップと紐づけられるものとする。タスクで運ぶ運搬物の総量についてもタスク情報に含む。また、運搬物の１単位あたりの大きさを示す３次元形状データを示す運搬物情報は既知であるものとする。例えば、運搬物が立方体、横長の直方体であって、それを１０単位だけ運搬することを示す。なお、１度の工程で移動体に運搬させる運搬量（例えば４単位分等）をユーザがＵＩ等を使って入力してもよい。また、運搬物の積み方をユーザが指定してもよい。例えば、立方体の運搬物を４個移動体に搭載するとき、すべて平積みにするか、２×２で重ねるか、すべて上に重ねるか、といった積み方をユーザが入力する。
【００８８】
候補取得部（第３取得部）１２２０は、タスク情報と制御用マップに基づいて、少なくとも１つ以上の運搬量と移動経路との組合せの候補を取得する。運搬量と移動経路との組み合わせの候補は例えば、次のような情報である。運搬量が４個で経路はルート１の組合せは、所要時間が５０秒、運搬量が５個で経路はルート１の組合せは、所要時間が１分等。これらの情報は、運搬物の大きさや移動体の走行環境の構造を考慮し、運搬量と移動経路の組合せを取得する。なお、複数の運搬物を運ぶ場合は積み方によって形状が変化するため、積み方のバリエーションについても複数取得する。
【００８９】
生成部１２７０は、候補取得部１２２０で取得した候補をディスプレイ等に表示するための表示情報を生成する。ユーザに対して運搬量をリコメンドする場合は、例えば所要時間が最短である運搬量をリコメンドする。また、運搬量は固定で、積み方や経路の候補をリコメンドしてもよい。積み方をリコメンドする場合は、それぞれの積み方の候補（例えば平積み、重ねる等）に対して経路と所要時間を紐づける。経路をリコメンドする場合は、各経路の候補に対して、最適な運搬量または積み方を紐づける。例えば、背の低い運搬物や運搬物を平積みに対しては、天井が部分的に低い経路をリコメンドできる。天井は部分的に低い経路は、走行可能な移動体が限定されるため、複数の移動体同士の混雑が避けられる可能性がある。例えば、図１３に示すようなＧＵＩでこれらの情報をユーザに提示する。Ｇ１６０は、運搬物の搭載量（運搬量）に応じた運搬物の形状の推定値を示す画像である。例えば、運搬量が４個の場合は、図の斜線部のような形状で搭載されるものと仮定する。経路の候補は、この運搬物の形状を使って取得する。Ｇ１７１は、制御用マップに目的地（Ｇ１７２）と、運搬量の候補に対応したルートを示すマップである。マップは例えば前述の制御用マップ（占有格子マップ）である。ルートの一例として、Ｒ１は、通路の幅も高さも十分にあるルートである。Ｒ２は、高さは十分にあるものの、幅がＲ１より狭いルートである。Ｒ３は、通路の幅と高さが最も小さいルートである。Ｇ１８１は、運搬量の候補と、ルートの組合せを示すリストである。さらに運搬量とルートに対応した所要時間の予測値を表示する。
【００９０】
決定部１２６０は、運搬量と移動経路との組み合わせの候補から所定の基準に基づいて制御値を決定する。所定の基準とは、例えば、所要時間が最短な組合せ決定するといった基準である。ユーザによる指示に従って、制御値を決定してもよい。もしくは、ユーザが、図１３のＧ１８１のようなリストから、好ましい運搬量とルートの組合せを選択することによって、制御値を決定してもよい。必要に応じて、運搬物情報取得部１１２０から、実際に積み込まれた運搬物についての情報（第１情報）との整合性から、制御値を決定する。
【００９１】
図１４を用いて、情報処理システム１が実行する処理について説明する。Ｓ１４１０では、情報処理システム１が、移動体の現在位置、運搬物情報、制御用マップ、タスク情報を初期化する。Ｓ１４２０では、タスク入力部１２００が、目的地の座標またはタスクで運ぶ運搬物の総量と大きさについて示すタスク情報を入力する。ここでは、ユーザによって目的地の座標がタスク入力部１２００に入力されるものとする。工程管理システム１４から、図示しない通信部によって目的地の情報を取得してもよい。また、ここで運搬物の総量を示すタスク情報を入力する。Ｓ１４３０では、候補取得部１２２０が、タスク情報と制御用マップに基づいて、少なくとも１つ以上の運搬量と移動経路の組合せを取得する。まず、Ｓ１４１０で取得した運搬物情報に基づいて、移動体に搭載可能な運搬物の量を推定する。運搬物情報とは、運搬物１単位あたりの３次元形状データである。なお、移動体の荷台の３次元形状は既知であるものとする。候補取得部１２２０は、移動体の荷台の３次元形状と運搬物１単位あたりの３次元形状に基づいて、最大運搬量を推定する。さらに、運搬物の量（運搬物１単位から最大運搬量毎）に応じて、運搬物の積み方とその形状を推定する。推定された３次元形状から、タスク情報と制御用マップとに基づいて、運搬物をＸだけ搬送する移動体が走行可能な経路を推定する。そして、その経路を走行する所要時間を取得する。Ｓ１４４０では、生成部１２７０が、候補取得部１２２０で取得した組合せ、具体的には移動経路をディスプレイ等に表示する表示情報を生成する。例えば、運搬物を積んだ場合の見え方を推定した画像や、移動体の現在地から目的地までの移動経路を表示する。Ｓ１４５０では、決定部１２６０が、運搬量と移動経路との組み合わせの候補から所定の基準に基づいて制御値を決定する。ある運搬量に対して複数の候補があった場合、その中から所定の条件を満たす運搬量を決定する。例えば、最短時間で走行できる経路を移動体に走行させたい場合は、条件を時間にして、タスクの総所要時間が最小になる運搬量と経路の組合せを決定する。決定された運搬量と移動経路に基づいて制御値を求める。なお、ユーザによる入力に従って、Ｇ１８１で示された組合せ候補の中から運搬量または経路を決定してもよい。Ｓ１４６０では、運搬物センサ１１０が、移動体に搭載された運搬物を撮像する。Ｓ１４７０では、運搬物情報取得部が、Ｓ１４６０で運搬物を撮像した画像に基づいて運搬物情報（第１情報）を取得する。Ｓ１４８０では、運搬物情報取得部が、第１情報と、決定された運搬物と制御値との組合せとを比較して、Ｓ１４５０で決定された運搬物が載せられているか確認する。指定された運搬物が正しく載せられていることを確認できた場合は、Ｓ１４９０に進む。決定した運搬物の量と、第１情報から得られた運搬物の量とに所定の値（例えば運搬物１単位より多い又は少ない）より大きい差があった場合は、Ｓ１４５０に戻る。Ｓ１４９０では、アクチュエータ部１３０が、決定された経路に対応する制御値に従って、移動体を走行させる。以上に述べた処理によって、移動体に載せる運搬物の量と経路を適切に組み合わせることができるため、効率的に移動体を制御できる。
【００９２】
（その他の変形例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９３】
本発明における環境画像入力部は、移動体に搭載されたセンサが取得する周囲環境の情報を入力するものであればいかなるものでもよい。入力する周囲環境の情報とは、通常の画像や視差画像、画像の各画素に奥行き値が格納されたデプスマップ、撮像装置に対するシーンの点の三次元座標を保持するポイントクラウドの少なくともどれか一つ、または複数のことである。これに加え、ＬｉＤＡＲやＴＯＦカメラなどの三次元計測装置の計測した三次元情報や、通信Ｉ／Ｆを介して移動体管理システムから受信する移動体の目標の位置及び姿勢や移動体の位置姿勢を入力してもよい。合わせて、焦点距離、レンズ中心、レンズ歪みなどの撮像装置のパラメータを情報処理装置に入力することもできる。
【００９４】
本発明における位置姿勢情報取得部は、環境画像入力部により入力された周囲環境の情報を用いて移動体の位置姿勢を取得するものであれば、いかなるものでもよい。環境中のシーンを表す３次元点群と環境画像入力手段により入力されたデプスマップとを用いてＩＣＰアルゴリズムに基づいて取得してもよいし、濃淡画像からＳＬＡＭ技術を利用して求めてもよい。また、Ｗｉ−Ｆｉ通信の通信状況や、環境内に設置されているビーコンを併用して位置姿勢を求めても良い。
【００９５】
本発明における保持部は、移動体を制御するために参照するための制御用マップを保持する限り、いかなるものでもよい。制御用マップとしては、環境の構造や空間を表現するものであればどのようなものであってもよい。例えば、シーンを格子状に区切り、各格子に障害物が存在する確率を保持した占有格子マップなどである。占有格子マップは、世界座標系における３次元のボクセル空間（Ｘ，Ｙ，Ｚ）として保持してもよいし、高さ方向の情報を除いた２次元のグリッド空間（Ｘ，Ｙ）として保持してもよい。あるいは、位置姿勢推定用マップと同様に、例えば、三次元点群データ（と色情報との組み合わせ）、キーフレームデータ（環境内の位置姿勢に紐づいたデプスマップと色情報の組み合わせ）の集合、環境の三次元モデルなどを用いてもよい。
【００９６】
本発明における運搬物画像入力部は、移動体により運搬される運搬物の形状及び／もしくは位置及び／もしくは物体種類情報を入力する限り、いかなるものでもよい。運搬物の形状としては、例えば、運搬物の３次元バウンディングボックス（重心位置を表す３パラメータ、バウンディングボックスのサイズを表す３パラメータ）により表現される概略形状情報である。また、三次元点群データ（と色情報との組み合わせ）や３次元メッシュデータなどで表現してもよい。また、制御用マップと同様に占有格子マップとして表現してもよい。
【００９７】
本発明における決定部は、移動体の移動を制御する制御値を決定する限り、いかなるものでもよい。例えば、保持部に保持された占有格子マップと、第１入力部により入力された運搬物形状に基づいて、運搬物と周囲環境とが接触しないような制御値を決定する。制御値の決定にあたっては、運搬物と周囲環境とが接触する可能性がある範囲の制御用マップを判別して抜き出すことで制御値を決定する。或いは、３次元の制御用マップを床面平面に射影した２次元の制御用マップを用いて制御値を決定する。
【００９８】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【００９９】
１２  移動体システム
１５  運搬物
【図１】
2020038631.tif 000003
【図２】
2020038631.tif 000004
【図３】
2020038631.tif 000005
【図４】
2020038631.tif 000006
【図５】
2020038631.tif 000007
【図６】
2020038631.tif 000008
【図７】
2020038631.tif 000009
【図８】
2020038631.tif 000010
【図９】
2020038631.tif 000011
【図１０】
2020038631.tif 000012
【図１１】
2020038631.tif 000013
【図１２】
2020038631.tif 000014
【図１３】
2020038631.tif 000015
【図１４】
2020038631.tif 000016