(57)【要約】【課題】  移動体の移動制御を安定して行う。【解決手段】  移動体に搭載された、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が取得した画像情報の入力を受け付け、マップ情報を保持し、前記画像情報と前記マップ情報とに基づいて前記撮像部の位置姿勢を取得し、  前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る。【選択図】  図１
2019125345.tif 000002
【特許請求の範囲】
【請求項１】
移動体に搭載された、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が取得した画像情報の入力を受け付ける入力手段と、
マップ情報を保持する保持手段と、
前記画像情報と前記マップ情報とに基づいて前記撮像部の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記画像情報は、前記撮像部が撮像した情報であり、前記画像情報は、前記撮像部が前記受光素子を選択的に構成して生成したデプスマップであること、
を特徴とする請求項１記載の情報処理装置。
【請求項３】
前記画像情報は、前記撮像部が撮像した情報であり、前記画像情報は、前記撮像部が前記受光素子を選択的に構成して生成した空間中の三次元の位置情報を保持する三次元点群であること、
を特徴とする請求項１記載の情報処理装置。
【請求項４】
前記画像情報には、前記撮像部が前記受光素子を選択的に構成して生成した画像をさらに含むこと、
を特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記取得手段では、前記画像情報と、前記撮像部が前記画像情報を取得した第一の時刻前の第二の時刻に取得した画像情報とを用いて前記画像情報を更新し、更新した画像情報と前記マップ情報とに基づいて前記撮像部の位置姿勢を取得すること、
を特徴とする請求項１及至４何れか１項に記載の情報処理装置。
【請求項６】
前記制御手段がさらに、パターン光を投影するための投影装置を制御する制御値を算出する、
ことを特徴とする請求項１及至５何れか１項に記載の情報処理装置。
【請求項７】
前記入力手段がさらに、空間中の三次元位置を表す三次元情報を取得する三次元計測装置が計測した三次元情報の入力を受け付け、
前記取得手段がさらに、前記画像情報と、前記三次元情報とを基に前記画像情報を更新し、更新した画像情報と前記マップ情報とに基づいて前記撮像部の位置姿勢を取得すること、
を特徴とする請求項１及至６何れか１項に記載の情報処理装置。
【請求項８】
前記取得手段はさらに、前記画像情報または前記マップ情報の何れか一方または両方から物体の特徴情報を取得し、
前記制御手段は、前記物体の特徴情報を基に前記移動体を制御する制御値を算出すること、
を特徴とする請求項１及至７何れか１項に記載の情報処理装置。
【請求項９】
前記制御手段がさらに、前記物体の特徴情報を基に所定の物体が前記画像情報の所定の地点に位置するように前記移動体を制御する制御値を算出すること、
を特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記制御手段がさらに、前記物体の特徴情報を基に所定の物体との衝突を避けるように前記移動体を制御する制御値を算出すること、
を特徴とする請求項８記載の情報処理装置。
【請求項１１】
前記取得手段がさらに、前記画像情報を基に前記マップ情報を生成して更新し、
前記保持手段が、前記更新された前記マップ情報を保持すること
を特徴とする請求項１及至１０何れか１項に記載の情報処理装置。
【請求項１２】
前記取得手段がさらに、前記画像情報を領域分割すること、
を特徴とする請求項１及至１１何れか１項に記載の情報処理装置。
【請求項１３】
前記取得手段がさらに、前記画像情報を意味的な領域分割により領域分割すること、
を特徴とする請求項１２記載の情報処理装置。
【請求項１４】
前記取得手段がさらに、前記領域分割の結果を基に前記マップ情報を生成し更新すること、を特徴とする請求項１２または１３記載の情報処理装置。
【請求項１５】
前記制御手段がさらに、前記領域分割の結果を基に前記移動体を制御する制御値を算出すること、
を特徴とする請求項１２及至１４何れか１項に記載の情報処理装置。
【請求項１６】
前記制御手段がさらに、前記画像情報、前記マップ情報、前記取得した位置姿勢、前記制御値の少なくとも一つを基に前記撮像部のパラメータを調整する調整値を算出すること、
を特徴とする請求項１及至１５何れか１項記載の情報処理装置。
【請求項１７】
前記調整値とは、前記撮像部のフォーカス値であること、
を特徴とする請求項１６記載の情報処理装置。
【請求項１８】
前記調整値とは、前記撮像部のズーム値であること、
を特徴とする請求項１６記載の情報処理装置。
【請求項１９】
前記撮像部は、光学装置を交換することが可能であり、
前記入力手段はさらに、前記交換した光学装置のパラメータを取得すること、
を特徴とする請求項１及至１８の何れか１項に記載の情報処理装置。
【請求項２０】
前記画像情報、前記マップ情報、前記位置姿勢、前記制御値のうち少なくとも一つを基に表示情報を生成する表示情報生成手段
をさらに備えることを特徴とする請求項１及至１９の何れか１項に記載の情報処理装置。
【請求項２１】
移動体に搭載された撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が取得した画像情報の入力を受け付ける入力工程と、
マップ情報を保持手段に保持する工程と、
前記画像情報と前記マップ情報とに基づいて前記撮像部の位置姿勢を取得する取得工程と、
前記算出手段が算出した位置姿勢を基に移動体の移動を制御する制御値を算出する制御工程と、
を備えることを特徴とする情報処理方法。
【請求項２２】
撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像手段と、
前記撮像手段が取得した画像情報の入力を受け付ける入力手段と、
マップ情報を保持する保持手段と、
前記画像情報と前記マップ情報とに基づいて前記撮像手段の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段と、
を特徴とする情報処理システム。
【請求項２３】
撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像手段と、
前記撮像手段が取得した画像情報の入力を受け付ける入力手段と、
マップ情報を保持する保持手段と、
前記画像情報と前記マップ情報とに基づいて前記撮像手段の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段と、
前記制御値で前記移動体の移動を制御するアクチュエータと、を備えること、
を特徴とする移動体。
【請求項２４】
撮像装置が撮像した画像情報を入力する入力手段と、
前記画像情報に基づいて、第一の移動体の位置姿勢を取得する位置姿勢算出手段と、
前記画像情報に基づいて、前記撮像装置の視界に入る物体の意味情報を認識する意味情報認識手段と、
前記第一の移動体の位置姿勢、および前記意味情報に基づき前記第一の移動体または第二の移動体の少なくともいずれかを制御する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２５】
前記意味情報認識手段は、前記画像情報から意味情報として構造物の種別、および前記構造物の位置または姿勢の少なくともどちらか一方を認識し、
前記制御手段は、前記構造物の種別、および前記構造物の位置または姿勢の少なくともどちらか一方に基づいて前記第一の移動体を制御する制御値を算出する、
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項２６】
前記制御手段は、前記位置または姿勢が所定の条件を満たせば、前記第一の移動体を減速させるまたは前記第一の移動体が前記構造物から所定の距離以上離れて移動する制御値を算出する、
ことを特徴とする請求項２５に記載の情報処理装置。
【請求項２７】
前記意味情報認識手段は、前記画像情報から意味情報として前記物体の種別、および前記物体の位置または姿勢の少なくともどちらか一方の変化量を認識し、
前記制御手段は、前記変化量が所定の値より大きい場合、または前記変化量が所定の範囲内の値である場合に、前記第一の移動体を減速させるまたは前記第一の移動体が前記物体から所定の距離以上離れて移動する制御値を算出する、
請求項２４に記載の情報処理装置。
【請求項２８】
前記意味情報認識手段は、意味情報として前記画像情報から２つ以上の物体の積み重ね度合または高さの少なくともどちらか一方を認識し、
前記制御手段は、前記積み重ね度合または高さの少なくともどちらか一方が大きくなる程、前記移動体を減速させるまたは前記移動体が前記２つ以上の物体の少なくとも何れか一つから所定の距離以上離れて移動する制御値を算出する、
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項２９】
前記意味情報認識手段は、意味情報として前記画像情報から第二の移動体のサイズ、前記第二の移動体に搭載した荷物の種別、前記荷物のサイズ、前記第二の移動体と前記荷物の相対位置姿勢の少なくとも何れか一つを認識し、
前記制御手段は、前記画像情報から前記第二の移動体のサイズ、前記第二の移動体に搭載した荷物の種別、前記荷物のサイズ、前記第二の移動体と前記荷物の相対位置姿勢の少なくとも何れか一つに基づいて前記第一の移動体または前記第二の移動体の少なくともどちらか一方の制御値を算出する、
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項３０】
前記制御手段は、前記第二の移動体または前記荷物のサイズが大きい程前記第一の移動体が前記第二の移動体から所定の距離以上離れて移動するような前記第一の移動体の制御値、前記第二の移動体または前記荷物が大きい程前記第一の移動体の速度を低下させる前記第一の移動体の制御値、前記第二の移動体または前記荷物が小さい程前記第二の移動体が前記第一の移動体から所定の距離以上離れて移動するような前記第二の移動体の制御値、または前記第二の移動体または前記荷物が小さい程前記第二の移動体を減速させる制御値、の少なくとも何れか一つを算出する、
ことを特徴とする請求項２９に記載の情報処理装置。
【請求項３１】
前記意味情報認識手段は、意味情報として人と前記人が保持する物体の種別、大きさ、または前記人に対する前記保持する物体の相対位置、相対姿勢、の少なくとも何れか一つを認識し、
前記制御手段は、前記人が保持する物体の種別、大きさ、または前記人に対する前記保持する物体の相対位置、相対姿勢の少なくとも１つに応じて、前記第一の移動体の制御値を算出する、
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項３２】
前記意味情報認識手段は、意味情報として人の動作を認識し、
前記制御手段は、前記人の動きが所定の動作であれば、前記第一の移動体を減速させるまたは前記第一の移動体が前記人から所定の距離以上離れて移動する制御値を算出する、
ことを特徴とする請求項２４に記載の情報処理装置。
【請求項３３】
前記意味情報認識手段が、前記意味情報に加えてさらに前記第一の移動体と前記物体との相対位置関係を認識し、
前記制御手段は、前記移動体の移動経路と前記物体の位置が近くなる程または前記相対位置関係から求める相対距離が小さくなる程、前記第一の移動体を減速させるまたは前記第一の移動体が前記物体から所定の距離以上離れて移動する制御値を算出する、
ことを特徴とする請求項２４及至３２何れか１項に記載の情報処理装置。
【請求項３４】
撮像装置が撮像した画像情報を入力する入力工程と、
前記画像情報に基づいて、第一の移動体の位置姿勢を取得する位置姿勢算出工程と、
前記画像情報に基づいて、前記撮像装置の視界に入る物体の意味情報を認識する意味情報認識工程と、
前記第一の移動体の位置姿勢、および前記意味情報に基づき前記第一の移動体または第二の移動体の少なくともいずれかを制御する制御工程と、
を有することを特徴とする情報処理装置の処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の移動制御を行う技術に関する。
【背景技術】
【０００２】
例えば、搬送車（ＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ））、自律移動ロボット（ＡＭＲ（Ａｕｔｏｎｏｍｏｕｓ  Ｍｏｂｉｌｅ  Ｒｏｂｏｔ））といった移動体がある。それらを、例えば、工場や物流倉庫といった環境内で走行させる場合、移動体の移動制御を安定して行うため、特許文献１のように床にテープを貼り、テープを移動体に搭載したセンサで検知しながら走行させていた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−３３４３４
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の技術では、移動体を走行させる環境内で、物のレイアウト変更を行って動線が変わる度に、テープを貼り直す必要があったため、手間がかかっていた。そのような手間を減らし、安定して移動体を走行させることが求められている。
【０００５】
本発明は、上記の課題に鑑みてなされたものであり、移動体の移動制御を、安定して行う情報処理装置を提供することを目的とする。また、その方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は以下の構成を備える。
【０００７】
移動体に搭載された、撮像素子上の各々の受光部が２以上の受光素子によって構成される撮像部が取得した画像情報の入力を受け付ける入力手段と、
マップ情報を保持する保持手段と、
前記画像情報と前記マップ情報とに基づいて前記撮像部の位置姿勢を取得する取得手段と、
前記取得手段が取得した位置姿勢に基づいて前記移動体の移動を制御する制御値を得る制御手段。
【発明の効果】
【０００８】
本発明によれば、移動体の移動制御を安定して行うことが出来る。
【図面の簡単な説明】
【０００９】
【図１】実施形態１におけるシステム構成を説明する図。
【図２】実施形態１における機能構成を説明する図。
【図３】撮像部１１０が備える撮像素子Ｄ１５０を説明する図。
【図４】撮像部１１０が撮像する画像１５２ａ〜１５４ｄの例を示す図。
【図５】実施形態１の装置の処理の流れを示すフローチャート。
【図６】実施形態１の装置のハードウェア構成を示す図。
【図７】実施形態２におけるモーションステレオを用いた視覚情報の補正処理の手順を示すフローチャート。
【図８】実施形態３における機能構成を説明する図。
【図９】実施形態４における機能構成を説明する図。
【図１０】実施形態４における三次元計測装置の計測結果を用いた視覚情報の補正処理の手順を示すフローチャート。
【図１１】実施形態５における物体検出および位置姿勢の算出の処理手順を示すフローチャート。
【図１２】実施形態６における視覚情報の意味的領域分割の処理手順を示すフローチャート。
【図１３】表示情報を提示するＧＵＩの一例を示す図。
【図１４】実施形態８における機能構成を説明する図。
【図１５】実施形態８の装置の処理の流れを示すフローチャート。
【図１６】表示情報を提示するＧＵＩの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［実施形態１］
本実施形態では、搬送車（ＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ））または、自律移動ロボット（ＡＭＲ（Ａｕｔｏｎｏｍｏｕｓ  Ｍｏｂｉｌｅ  Ｒｏｂｏｔ））等と称する移動体の移動制御について説明する。以下、移動体としてＡＧＶを例に説明するが、移動体はＡＭＲであっても良い。
【００１２】
図１に、本実施形態におけるシステム構成図を示す。本実施形態における情報処理システム１は、複数の移動体１２（１２−１、１２−２、・・・）、工程管理システム１４、移動体管理システム１３から構成される。情報処理システム１は、物流システムや生産システムなどである。
【００１３】
複数の移動体１２（１２−１、１２−２、・・・）は、工程管理システムで決められた工程のスケジュールに合わせて物体を搬送する搬送車（ＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ））である。移動体は環境内で複数台が移動（走行）している。
【００１４】
工程管理システム１４は、情報処理システムが実行する工程を管理する。例えば、工場や物流倉庫内の工程を管理するＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）である。移動体管理システム３と通信を行っている。
【００１５】
移動体管理システム１３は、移動体を管理するシステムである。工程管理システム１２と通信を行っている。また、移動体とも通信（例えば、Ｗｉ−Ｆｉ通信）を行い、運行情報を双方向に送受信している。
【００１６】
図２は、本実施形態における情報処理装置１０を備える移動体１２のハードウェア構成例を示す図である。情報処理装置１０は、入力部１１１０、算出部１１２０、保持部１１３０、制御部１１４０から構成されている。入力部１１１０は、移動体１２に搭載された撮像部１１０と接続されている。制御部１１４０は、アクチュエータ１２０と接続されている。また、これらに加え、不図示の通信装置が移動体管理システム３と情報を双方向に通信を行っており、情報処理装置１０の各種手段に入出力している。但し、図２は、機器構成の一例である。
【００１７】
図３は、撮像部１１０が備える撮像素子Ｄ１５０を説明するための図である。本実施形態において、撮像部１１０は、内部に撮像素子Ｄ１５０を備えている。図３（ａ）に示すように、撮像素子Ｄ１５０にはその内部に受光部Ｄ１５１が格子状に多数配置されている。図３（ａ）には、４つの受光部を示している。各々の受光部Ｄ１５１には、その上面にマイクロレンズＤ１５３が設けられ、効率的に集光できるようになっている。従来の撮像素子は１つの受光部Ｄ１５１に対して１つの受光素子を備えているが、本実施形態における撮像部１１０が備える撮像素子Ｄ１５０では、各々の受光部Ｄ１５１は内部に複数の受光素子Ｄ１５２を備えている。
【００１８】
図３（ｂ）は、１つの受光部Ｄ１５１に着目し、側面から見た様子を示すものである。図３（ｂ）に示すように、１つの受光部Ｄ１５１の内部に２つの受光素子Ｄ１５２ａおよび１５２ｂが備えられている。個々の受光素子Ｄ１５２ａ、Ｄ１５２ｂは互いに独立しており、受光素子Ｄ１５２ａに蓄積された電荷が受光素子Ｄ１５２ｂに移動することはなく、また逆に受光素子Ｄ１５２ｂに蓄積された電荷が受光素子Ｄ１５２ａに移動することはない。そのため、図３（ｂ）において、受光素子Ｄ１５２ａはマイクロレンズＤ１５３の右側から入射する光束を受光することになる。また逆に、受光素子Ｄ１５２ｂはマイクロレンズＤ１５３の左側から入射する光束を受光することになる。
【００１９】
撮像部１１０は、受光素子Ｄ１５２ａに蓄積されている電荷のみを選択して画像Ｄ１５４ａを生成することができる。また同時に、撮像部１１０は、受光素子Ｄ１５２ｂに蓄積されている電荷のみを選択して画像Ｄ１５４ｂを生成することができる。画像Ｄ１５４ａはマイクロレンズ１５３の右側からの光束、画像Ｄ１５４ｂはマイクロレンズＤ１５３の左側の光束のみを選択して生成されるため、図４に示すように、画像Ｄ１５４ａと画像Ｄ１５４ｂは、互いに異なる撮影視点から撮影された画像となる。
【００２０】
また、撮像部１１０が各受光部Ｄ１５１から、受光素子Ｄ１５２ａ、Ｄ１５２ｂの両方に蓄積されている電荷を用いて画像を形成する。従来の撮像素子を用いた場合と同じようにある視点から撮影した画像である画像Ｄ１５４ｅ（不図示）が得られることになる。撮像部１１０は、以上説明した原理によって、撮影視点の異なる画像Ｄ１５４ａ、Ｄ１５４ｂと、従来の画像１５４ｅを同時に撮像することができる。
【００２１】
なお、各受光部Ｄ１５１は、より多くの受光素子Ｄ１５２を備えてもよく、任意の数の受光素子Ｄ１５２を設定することができる。例えば、図４（ｃ）は、受光部Ｄ１５１の内部に４つの受光素子Ｄ１５２ａ〜Ｄ１５２ｄを設けた例を示している。
【００２２】
撮像部１１０は、一対の画像Ｄ１５４ａ、Ｄ１５４ｂから、対応点探索を行って視差画像Ｄ１５４ｆ（不図示）を算出し、さらにその視差画像に基づいてステレオ法で対象の三次元形状を算出することができる。対応点探索やステレオ法は公知の技術であり、様々な方法を適用可能である。対応点探索には、画像の各画素の周囲の数画素をテンプレートとして類似するテンプレートを探索するテンプレートマッチング法や、画像の輝度情報の勾配からエッジやコーナーの特徴点を抽出し、特徴点の特徴が類似する点を探索する手法などを使う。ステレオ法では、２つの画像の座標系の関係を導出し、射影変換行列を導出し、三次元形状を算出する。撮像部１１０は画像Ｄ１５４ｅに加えて、画像Ｄ１５４ａ、画像Ｄ１５４ｂ、視差画像Ｄ１５４ｆ、ステレオ法によって求めたデプスマップＤ１５４ｄや三次元点群Ｄ１５４ｃを出力する機能を有している。
【００２３】
なお、ここで言うデプスマップとは、画像１５４ｃを構成する各画素に対して、計測対象までの距離（奥行き）と相関のある値を保持する画像を指す。通常、計測対象までの距離と相関のある値は、通常の画像として構成可能な整数値であり、焦点距離から決定される所定の係数を乗ずることで、対象までの物理的な距離（例えばミリメートル）に変換することができる。この焦点距離は、先述のように撮像部１１０の固有情報に含まれる。
【００２４】
また、三次元点群Ｄ１５４について説明する。上記のようにデプスマップＤ１５４ｄから変換された計測対象までの物理的な距離に対して、別途設定される三次元空間中の直交座標系における原点（撮像部の光学中心）からの各軸（Ｘ，Ｙ，Ｚ）の値として設定される座標の集合である。
【００２５】
撮像部１１０は、単一の撮像素子Ｄ１５０によって視点の異なる一対の画像Ｄ１５４ａ、Ｄ１５４ｂを取得することができるため、２つ以上の撮像部を必要とする従来のステレオ法と異なり、より小型な構成によって三次元計測を実現することが可能となる。
【００２６】
撮像部Ｄ１１０は、さらに光学系の焦点距離を制御するオートフォーカス機構および画角を制御するズーム機構を備える。オートフォーカス機構は有効あるいは無効を切り替え可能であり、設定した焦点距離を固定することができる。撮像部Ｄ１１０は、焦点および画角を制御するために設けられた光学系制御モータの回転角あるいは移動量といった駆動量によって規定される制御値を読み取り、不図示のルックアップテーブルを参照して焦点距離を算出し、出力することができる。また撮像部Ｄ１１０は、装着されたレンズから、焦点距離範囲、口径、ディストーションの係数、光学中心などのレンズの固有情報を読み取ることができる。読み取った固有情報を、後述する視差画像Ｄ１５４ｆ及びデプスマップＤ１５４ｄのレンズ歪みの補正や、三次元点群Ｄ１５４ｃの算出に用いる。
【００２７】
撮像部１１０は、画像Ｄ１５４ａ〜Ｄ１５４ｂおよび視差画像Ｄ１５４ｆ、デプスマップＤ１５４ｄのレンズ歪みを補正する機能、主点位置の画像座標（以下、画像中心と表記する）および画像Ｄ１５４ａと画像Ｄ１５４ｂの基線長を出力する機能を有している。また、生成された画像１５４ａ〜１５４ｃ、焦点距離、画像中心などの光学系データ、視差画像Ｄ１５４ｆ、基線長、デプスマップＤ１５４ｄ、三次元点群Ｄ１５４ｃなどの三次元計測データを出力する機能を有している。本実施形態においては、これらのデータを総称して画像情報（以下、「視覚情報」とも記載する。）と呼ぶ。撮像部１１０は、撮像部１１０が内部に備える記憶領域（不図示）に設定されたパラメータあるいは撮像部１１０外部から与えられる命令に応じて、画像情報の全部あるいは一部を選択的に出力する。
【００２８】
本実施形態における移動制御とは、移動体が備えるアクチュエータであるモータ、および車輪の向きを変更するステアリングを制御することである。これらを制御することで、移動体を所定の目的地まで移動させる。また、制御値とは移動体を制御するための指令値のことである。
【００２９】
本実施形態における撮像部の位置姿勢とは、現実空間中に規定された任意の世界座標系における撮像部１１０の位置を表す３パラメータ、及び撮像部１１０の姿勢を表す３パラメータを合わせた６パラメータのことである。なお、ＡＧＶなどの移動体の設計段階で移動体の重心位置に対する撮像装置の取り付け位置を計測しておき、前述の取り付け位置姿勢を表す行列を外部メモリＨ１４に記憶しておく。撮像部の位置姿勢に対して前述の取り付け位置姿勢を表す行列を掛け合わせることでＡＧＶの重心位置を算出することができる。このため、本実施形態においては撮像部の位置姿勢を以て、ＡＧＶの位置姿勢と同義として扱うこととする。また、撮像部１１０の光軸をＺ軸、画像の水平方向をＸ軸、垂直方向をＹ軸とする撮像部上に規定される三次元の座標系を撮像部座標系と呼ぶ。
【００３０】
入力部１１１０は、撮像部１１０が取得する画像情報（視覚情報）として、シーンの画像の各画素に対して奥行き値を格納したデプスマップを時系列（例えば毎秒６０フレーム）に入力し、算出部１１２０に出力する。奥行き値とは、撮像部１１０とシーン内の物体との距離である。
【００３１】
算出部１１２０は、入力部１１１０が入力したデプスマップ、保持部１１３０が保持する位置姿勢算出の指標となるマップ情報を用いて撮像部の位置姿勢を算出し、取得する。なお、マップ情報については後述する。算出部１１２０はさらに、算出した位置姿勢を制御部１１４０に出力する。尚、算出部では、位置姿勢を出力するために必要な情報を入力部から取得して、保持部１１３０で保持しているマップ情報と比較するだけでも良い。
【００３２】
保持部１１３０は、マップ情報としてポイントクラウドを保持する。ポイントクラウドとはシーンの三次元点群データのことである。本実施形態では、ポイントクラウドは任意の世界座標系における三次元座標（Ｘ，Ｙ，Ｚ）の三値を格納したデータリストとして保持部１１３０が保持しているものとする。三次元点群データは、三次元位置情報を示している。また、これらに加え、ＡＧＶの目的地である三次元座標と姿勢を表す目的位置姿勢を保持する。目標位置姿勢は１つでも複数あってもよいが、ここでは簡単のため目標位置姿勢が１地点である例を説明する。また、保持部１１３０はマップ情報を必要に応じて算出部１１２０に出力する。さらに、目標位置姿勢を制御部１１４０に出力する。
【００３３】
制御部１１４０は、算出部１１２０が算出した撮像部１１０の位置姿勢、保持部１１３０が保持するマップ情報、および不図示の通信装置が入力した運行情報をもとにＡＧＶを制御する制御値を算出する。算出した制御値をアクチュエータ１２０へ出力する。
【００３４】
図６は、情報処理装置１のハードウェア構成を示す図である。Ｈ１１はＣＰＵであり、システムバスＨ２１に接続された各種デバイスの制御を行う。Ｈ１２はＲＯＭであり、ＢＩＯＳのプログラムやブートプログラムを記憶する。Ｈ１３はＲＡＭであり、ＣＰＵであるＨ１１の主記憶装置として使用される。Ｈ１４は外部メモリであり、情報処理装置１が処理するプログラムを格納する。入力部Ｈ１５はキーボードやマウス、ロボットコントローラーであり、情報等の入力に係る処理を行う。表示部Ｈ１６はＨ１１からの指示に従って情報処理装置１の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、ＬＥＤインジケーターなど、種類は問わない。また、情報処理装置が備える表示部Ｈ１６が表示装置としての役割であってもよい。Ｈ１７は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット（登録商標）でもよく、ＵＳＢやシリアル通信、無線通信等種類は問わない。なお、前述した移動体管理システム１３とは通信インターフェイスＨ１７を介して情報のやり取りを行う。Ｈ１８はＩ／Ｏであり、撮像装置Ｈ１９から画像情報（視覚情報）を入力する。なお、撮像装置Ｈ１９とは前述した撮像部１１０のことである。Ｈ２０は前述したアクチュエータ１２０のことである。
【００３５】
次に、本実施形態における処理手順について説明する。図５は、本実施形態における情報処理装置１０の処理手順を示すフローチャートである。以下、フローチャートは、ＣＰＵが制御プログラムを実行することにより実現されるものとする。処理ステップは、初期化Ｓ１１０、視覚情報取得Ｓ１２０、視覚情報入力Ｓ１３０、位置姿勢算出Ｓ１４０、制御値算出Ｓ１５０、ＡＧＶの制御Ｓ１６０、システム終了判定Ｓ１７０から構成されている。
【００３６】
ステップＳ１１０では、システムの初期化を行う。すなわち、外部メモリＨ１４からプログラムを読み込み、情報処理装置１０を動作可能な状態にする。また、情報処理装置１０に接続された各機器のパラメータ（撮像部１１０の内部パラメータや焦点距離）や、撮像部１１０の初期位置姿勢を前時刻位置姿勢としてＲＡＭであるＨ１３に読み込む。また、ＡＧＶの各デバイスを起動し、動作・制御可能な状態とする。これらに加え、通信Ｉ／Ｆ（Ｈ１７）を通して移動体管理システムから運行情報を受信し、ＡＧＶが向かうべき目的地の三次元座標を受信し、保持部１１３０に保持する。
【００３７】
ステップＳ１２０では、撮像部１１０が視覚情報を取得し、入力部１１１０に入力する。本実施形態において視覚情報とはデプスマップのことであり、前述の方法で撮像部１１０がデプスマップを取得してあるものとする。つまり、デプスマップとは図４におけるＤ１５４ｄのことである。
【００３８】
ステップＳ１３０では、入力部１１１０が、撮像部１１０が取得したデプスマップを取得する。なお、本実施形態においては、デプスマップは各画素の奥行き値を格納した二次元配列リストのことである。
【００３９】
ステップＳ１４０では、算出部１１２０が、入力部１１１０が入力したデプスマップと、保持部１１３０が保持するマップ情報とを用いて撮像部１１０の位置姿勢を算出する。具体的には、まずデプスマップから撮像座標系に規定された三次元点群を算出する。画像座標（ｕｔ，ｖｔ）と撮像部１１０の内部パラメータ（ｆｘ、ｆｙ、ｃｘ、ｃｙ）、デプスマップの画素の奥行き値Ｄを用いて三次元点群（Ｘｔ，Ｙｔ，Ｚｔ）を数式１により算出する。
【００４０】
【数１】
2019125345.tif 000003
【００４１】
次に、撮像部１１０の前時刻位置姿勢を用いて三次元点群を前時刻位置姿勢座標系に座標変換する。つまり三次元点群に前時刻位置姿勢の行列を掛け合わせる。算出した三次元点群と保持部１１３０が保持するマップ情報のポイントクラウドの各三次元点の最近傍の点同士の距離の和が小さくなるように位置姿勢を算出する。具体的には、ＩＣＰ（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズムを用いて前時刻位置姿勢に対する撮像部１１０の位置姿勢を算出する。最後に、世界座標系に変換して、世界座標系における位置姿勢を制御部１１４０に出力する。なお、算出した位置姿勢はＲＡＭであるＨ１３に前時刻位置姿勢として上書きして保持する。
【００４２】
ステップＳ１５０では、制御部１１４０が、ＡＧＶを制御するための制御値を算出する。具体的には、保持部１１３０が保持する目的地座標と算出部１１２０が算出した撮像部１１０の位置姿勢とのユークリッド距離が小さくなるように制御値を算出する。制御部１１４０が算出した制御値をアクチュエータ１２０に出力する。
【００４３】
ステップＳ１６０では、アクチュエータ１２０が、制御部１１４０が算出した制御値を用いてＡＧＶを制御する。
【００４４】
ステップＳ１７０では、システムを終了するか否か判定する。具体的には、保持部１１３０が保持する目的地座標と算出部１１２０が算出した撮像部１１０の位置姿勢とのユークリッド距離が所定の閾値以下であれば、目的地に到着したとして終了する。そうでなければステップＳ１２０に戻り処理を続ける。
【００４５】
実施形態１では、撮像素子上の各々の受光部が２以上の受光素子によって構成されることを特徴とする撮像部が取得したデプスマップから求める三次元点と、マップ情報であるポイントクラウドの各三次元点とを用いる。それらの三次元点の距離が最小となるように撮像部の位置姿勢を算出する。算出した撮像部の位置姿勢と、ＡＧＶの目的地との距離が最小化するように自動的にＡＧＶを制御することで、安定して、かつ手間を減らしてＡＧＶを運用することが出来る。
【００４６】
＜変形例＞
実施形態１では、撮像部１１０がデプスマップＤ１５４ｄを算出し、本情報処理装置における入力部１１１０がデプスマップを入力していた。変形例として、撮像部１１０の位置姿勢を算出できれば、入力部１１１０が入力するのは撮像部１１０が算出したデプスマップに限らない。具体的には、撮像部１１０が内部で撮像部１１０座標系におけるポイントクラウドを算出していれば、入力部１１１０が、撮像部１１０が算出したポイントクラウドを入力することができる。このとき、算出部１１２０は、入力部１１１０が入力したポイントクラウドを用いて位置姿勢算出を行うことができる。なお、撮像部１１０が算出するポイントクラウドとは、図４における三次元点群Ｄ１５４のことである。また、入力部１１１０が、撮像部１１０が取得した一対の画像Ｄ１５４ａ、Ｄ１５４ｂ、および撮像部１１０が保持する焦点距離を入力し、算出部１１２０が対応点探索およびステレオ法によってデプスマップを求めてもよい。また、それらに加えて入力部１１１０が、撮像部１１０が取得したＲＧＢ画像やグレー画像である画像を合わせて視覚情報として入力してもよい。つまり、撮像部１１０が行うデプスマップ算出を、かわりに算出部１１２０が行うこともできる。
【００４７】
撮像部１１０は、さらに光学系の焦点距離を制御するフォーカス制御機構を備えることができ、このフォーカス制御を本情報処理装置が制御してもよい。例えば、本情報処理装置の制御部１１４０がフォーカスを調整する制御値（フォーカス値）を算出してもよい。例えば、移動体が移動し視覚画像の見えが変わった時に、デプスマップの平均値や中央値の奥行きに合わせて撮像部１１０のフォーカスを調整する制御値を算出する。また、本情報処理装置がフォーカスを調整するのではなく、撮像部１１０内部に構成されたオートフォーカス機構が調節することもできる。フォーカスを調整することでよりピントの合った視覚情報を取得できるため高精度に位置姿勢を算出することができる。なお、撮像部１１０はフォーカス制御機能が無い構成（フォーカス固定）であってもよい。この場合には撮像部１１０はフォーカス制御機構を搭載しなくて済むため小型化できる。
【００４８】
撮像部１１０は、さらに光学系のズームを制御するズーム制御機構を備えることができ、このズーム制御を本情報処理装置が行ってもよい。具体的には、移動体が高速に移動する場合には、制御部１１４０がズームを広角にして広い視野の視覚情報合を取得するようにズーム値を調整する制御値（調整値）を算出する。また、移動体を高精度に制御したく、撮像部１１０の位置姿勢を高精度に算出したい場合には、ズームを狭角にして狭い視野の視覚情報合を高解像度で取得するようにズーム値を調整する制御値（調整値）を算出する。このように必要に応じてズーム値を変えることで、安定して、高精度に撮像部１１０の位置姿勢を算出することができる。このため、安定して、高精度に移動体を制御することができる。
【００４９】
本実施形態においては、撮像部１１０はピンホールカメラモデルに当てはまる光学系を想定して説明したが、撮像部１１０の位置姿勢、移動体の制御を行うための視覚情報を取得することのできる光学系であればどのような光学装置（レンズ）を用いてもよい。具体的には全天周レンズや魚眼レンズでもよいし双曲面ミラーでもよい。マクロレンズを用いてもよい。例えば、全天周レンズや魚眼レンズを用いると広大な視野の奥行き値を取得でき、位置姿勢推定のロバスト性が向上する。マクロレンズを用いると詳細な位置姿勢を算出することができる。このように、使用するシーンに合わせてユーザがレンズを自由に変更（交換など）することができ、安定して、高精度に撮像部１１０の位置姿勢を算出することができる。また、安定して、高精度に移動体を制御することができる。
【００５０】
このようにズーム値や焦点距離を変える構成とする場合には、撮像部１１０が、焦点および画角を制御するために設けられた光学系制御モータの回転角あるいは移動量によって規定される制御値を読み取る。そして、不図示のルックアップテーブルを参照して焦点距離を算出する。また、レンズを変えた場合には撮像部１１０は、レンズに付与した電子接点を通してレンズに記録された焦点距離値を読み取る。また、不図示のＵＩを用いて人が撮像部１１０に焦点距離を入力することもできる。このようにして取得した焦点距離値を用いて撮像部１１０はデプスマップを算出する。そして、本情報処理装置の入力部１１０は撮像部１１０から視覚情報と合わせて焦点距離値を入力する。算出部１１２０は、入力部１１１０が入力したデプスマップ、および焦点距離値を用いて位置姿勢を算出する。また、撮像部１１０は算出した焦点距離を用いて撮像部１１０座標系におけるポイントクラウドを算出することができる。この時には本情報処理装置の入力部１１０は撮像部１１０が算出したポイントクラウドを入力し、算出部１１２０は入力部１１０が入力したポイントクラウドを用いて位置姿勢を算出する。
【００５１】
本実施形態におけるマップ情報とは、ポイントクラウドのことであった。しかしながら、撮像部１１０の位置姿勢を算出するための指標となる情報であれば何でもよい。具体的には、ポイントクラウドの各点にさらに色情報である三値を付与した色情報付きポイントクラウドであってもよい。また、デプスマップと位置姿勢を関連付けてキーフレームとし、キーフレームを複数保持する構成としてよい。このときには、キーフレームのデプスマップと撮像部１１０が取得したデプスマップとの距離を最小化するように位置姿勢を算出する。さらに、また、入力部１１１０が画像を入力する構成であれば、算出部１１２０が入力画像をキーフレームに関連付けて保持しておいてもよい。また、さらにＡＧＶが通行可能な領域と壁などの通行不可の場所を関連付けた２Ｄマップを保持する構成としておいてもよい。なお、２Ｄマップの利用法については後述する。
【００５２】
本実施形態において位置姿勢算出はＩＣＰアルゴリズムを用いた例を説明したが、位置姿勢を算出することができればどのような方法を使ってもよい。つまり、本実施形態で説明したポイントクラウドの代わりに、算出部１１２０がそれらからメッシュモデルを算出し、各面の距離が最小化するように位置姿勢を算出する方法を用いてもよい。また、デプスマップおよびポイントクラウドから不連続点となる三次元エッジを算出し、それら三次元エッジ同士の距離が最小化するように位置姿勢を算出する方法を用いてもよい。また、入力部１１１０が画像を入力する構成であれば、算出部１１２０が入力画像を更に用いて位置姿勢を算出することもできる。
【００５３】
また、ＡＧＶがジャイロやＩＭＵなどの慣性センサ、タイヤの回転量を取得するエンコーダといったセンサを備えていれば、入力部１１１０が、入力センサのセンサ値を入力する。算出部１１２０が、センサ値を併用して撮像部１１０の位置姿勢を算出することもできる。具体的にはＫａｌｍａｎ  Ｆｉｌｔｅｒや、Ｖｉｓｕａｌ  Ｉｎｅｒｔｉａｌ  ＳＬＡＭとして関連技術が公知であり、これらを援用できる。このように、撮像部１１０の視覚情報とセンサ情報を併用することで高精度にロバストに位置姿勢を算出することができる。また、ジャイロやＩＭＵなどの慣性センサを撮像部１１０が撮像する視覚情報のブレの低減に用いることができる。具体的には、鉛直方向の移動や回転を検知した場合にはＡＧＶの振動とみなし、これをキャンセルするように視覚情報を画像変形する。このようにすることで、ＡＧＶの走行時の揺れの影響を受けずに高精度に位置姿勢を算出することができる。
【００５４】
実施形態１では、単に目標位置姿勢と算出部１１２０が算出した位置姿勢との距離が小さくなるように、制御部１１４０が制御値を算出していた。その他、制御部１１４０は目的地に到達するための制御値を算出するものであればどのような制御値を算出しても用いてもよい。具体的には、入力幾何情報であるデプスマップの奥行き値が所定の距離未満になった場合には、制御部１１４０が例えば右に旋回するような制御値を算出する。また、保持部１１３０が保持するマップ情報でポイントクラウドが存在する部分は通行不可、存在しない空間は通行可として、算出部１１２０が動的計画法によってルートを生成し、制御部１１４０がこのルートに従って制御値を算出することもできる。このようにすることで壁に沿った行動を行うことができ壁との衝突を回避しつつ目的地まで移動することができる。また、算出部１１２０が、あらかじめマップ情報であるポイントクラウドを地面である平面に射影して２Ｄマップを作成しておく。ポイントクラウドが射影された地点は壁や障害物など通行できない地点であり、射影されていない地点は空間中に何もなく通行が可能な地点である。この情報を基に、動的計画法により目的地までのルートを生成することができる。また、算出部１１２０が、目的地に近くなるほど小さくなるような値を格納したコストマップを算出し、制御部１１４０がこれを入力として制御値を出力するように学習したニューラルネットワークである深層強化学習器を用いて制御値を算出してもよい。このように壁などの障害物を回避しつつ移動する制御値を算出することで、安定して、安全にＡＧＶを運用することができる。
【００５５】
保持部１１３０がマップ情報を保持しない構成としてもよい。具体的には、撮像部１１０が時刻ｔとその１時刻前のｔ’’に取得した視覚情報をもとに算出部１１２０が時刻ｔ’’に対する時刻ｔの位置姿勢を算出する。このように算出部１１２０が毎時刻算出する位置姿勢変化量の行列を掛け合わせることで、マップ情報が無くとも撮像部１１０の位置姿勢を算出することができる。このような構成とすることで計算資源の小さい計算機においても位置姿勢を算出し、移動体の制御を行うことができる。
【００５６】
実施形態１では、保持部１１３０が、事前に作成したマップ情報を保持していた。しかしながら、撮像部１１０が取得した視覚情報と、算出部１１２０が算出した位置姿勢をもとにマップ情報を作成しつつ位置姿勢推定を行うＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）の構成としてもよい。ＳＬＡＭの方法は数多く提案されておりそれらを援用できる。例えば、複数時刻に撮像部１１０が取得したポイントクラウドを時系列統合するＰｏｉｎｔ−Ｂａｓｅｄ  Ｆｕｓｉｏｎアルゴリズムを用いることができる意。また、計測した奥行きの物体と空間との境界をボクセルデータとして時系列的に統合するＫｉｎｅｃｔ  Ｆｕｓｉｏｎアルゴリズムを用いることができる。この他にも、画像から検出した特徴点の奥行きにデプスセンサの奥行き値としてトラッキングしつつ、マップを生成するＲＧＢ−Ｄ  ＳＬＡＭアルゴリズム等が公知であり、これらを援用できる。また、本実施形態において、マップは同一の時間帯に生成されるものに限定されない。例えば、時間帯を変えてマップを複数生成し、それらを合成してもよい。
【００５７】
本実施形態において、マップ情報は、移動体１１に搭載している撮像部１１０で取得したデータから生成することに限らない。例えば、環境のＣＡＤ図面や地図画像をそのまま、あるいはデータフォーマット変換したものを保持部１１３０が保持して置いてもよい。また、ＣＡＤ図面や地図画像によるマップを初期マップとして保持部１１３０が保持しておき、前述のＳＬＡＭ技術で更新しても良い。マップの更新時刻を保持しておき、所定の時間が過ぎた地点のマップを更新するようにＡＧＶを制御する制御値を制御部１１４０が算出してもよい。マップの更新は、上書きで更新しても良いし、初期マップを保持しておき差分を更新情報として記憶しても良い。また、その際、マップをレイヤーで管理して、表示部Ｈ１６で確認したり、初期マップに戻したりすることも出来る。ディスプレイ画面を見ながら操作を行うことで利便性が向上する。
【００５８】
実施形態１では、移動体管理システム１３が設定した目的地座標を基に移動体が動作していた。一方、本情報処理装置が算出した位置姿勢や制御値を移動体管理システムに通信Ｉ／Ｆ（Ｈ１７）を通して送信することもできる。撮像部１１０が取得した視覚情報を基に算出した位置姿勢や制御値を移動体管理システム１３や工程管理システム１４が参照することで、より効率よく工程の管理、移動体の管理を行うことができる。また、常時オンラインで移動管理システムから目的地座標を取得するのであれば、保持部１１３０は目的地座標を保持しないで通信Ｉ／Ｆを介して随時受信する構成とすることもできる。
【００５９】
実施形態１では、情報処理システム１として、工程管理システム１４が工場の全体工程を管理し、管理状況に応じて移動体管理システム１３が移動体の運行情報を管理し、運行情報に従って移動体１２が移動する構成だった。しかしながら、移動体が、撮像部１１０が取得する視覚情報を基に移動する構成であればよい。例えば、あらかじめ所定の二地点を保持部１１３０に保持しておき、それらの間を行き来するような構成とすれば工程管理システムや移動体管理システムが無くてもよい。
【００６０】
本実施形態において、移動体１２は搬送車（ＡＧＶ）に限定されるものではない。例えば、移動体１２は自動運転車、自律移動ロボットであっても良く、本実施形態で説明した移動制御をそれらに適用しても良い。
【００６１】
特に、前述の情報処理装置を自動車に搭載すれば、自動運転を実現する自動車としても用いることができる。制御部１１４０が算出した制御値を用いて自動車を移動させる。この場合には、自動車に搭載されるカーナビゲーションシステムからＩ／Ｏ（Ｈ１８）を通して目的地座標やマップ情報を取得することができる。
【００６２】
また、移動体を制御するために用いるのではなく、撮像部１１０が取得した視覚情報を基に位置姿勢を算出する装置として構成してもよい。具体的には、複合現実感システムにおける現実空間と仮想物体との位置合わせ、すなわち、仮想物体の描画に利用するための現実空間における撮像部１１０の位置及び姿勢の計測に本実施形態の方法を適用することもできる。ここでは一例として、スマートフォンやタブレットに代表されるモバイル端末のディスプレイに、撮像部１１０が撮像した画像Ｄ１５４ａに３ＤＣＧモデルを位置合わせし合成して提示する例を説明する。このような用途を実現するために、入力部１１２０は、撮像装置１１１０が取得したデプスマップＤ１５２ｃに加え、画像Ｄ１５４ａを入力する。また、保持手段１１３０は仮想物体の３ＤＣＧモデルと、マップ座標系において３ＤＣＧモデルを設置する三次元位置を更に保持する。算出手段１１２０は、実施形態１で説明したように算出した撮像装置１１１０の位置姿勢を用いて、画像Ｄ１５４ａに、３ＤＣＧモデルを合成する。このようにすることで、複合現実感を体験するユーザはモバイル端末を把持し、モバイル端末のディスプレイを通じて本情報処理装置が算出した位置姿勢を基に仮想物体が重畳された現実空間を安定して観察することができる。
【００６３】
［実施形態２］
実施形態１では、撮像部が取得したデプスマップを用いて撮像部の位置姿勢を算出していた。ＤＡＦ（Ｄｕａｌ  Ｐｉｘｅｌ  Ａｕｔｏ  Ｆｏｃｕｓ）による撮像部は、特に撮像部から特定の距離範囲を高精度に計測することができる。そこで、実施形態２では、撮像部からの距離が特定の範囲外であってもモーションステレオによって奥行き値を算出することで、撮像部が取得したデプスマップをさらに高精度化し、位置姿勢を安定して、高精度に算出する。
【００６４】
実施形態２における装置の構成は、実施形態１で説明した情報処理装置１０の構成を示す図２と同一であるため省略する。入力部１１１０が、視覚情報を保持部１１３０に入力し、保持部１１３０が視覚情報を保持することが、実施形態１と異なる。また、および算出部１１２０が、保持部１１３０が保持する視覚情報も用いてデプスマップを補正し、位置姿勢を算出する点が、実施形態１と異なる。また、保持部１１３０はあらかじめ撮像部１１０の特性情報として、撮像部１１０が取得するデプスマップの奥行き値の信頼度を関連付けたリストを保持しているものとする。奥行き値の信頼度とは、事前に撮像部１１０と平面パネルとのを所定の距離だけ離して撮影したときの実距離と計測距離との誤差の逆数を０から１の値にクリッピングした値のことである。あらかじめさまざまな距離に対して信頼度を算出してあるものとする。ただし、計測ができなかった点は信頼度を０としておく。なお、本実施形態においては撮像部１１０が取得し、入力部１１１０が入力する視覚情報とは、画像およびデプスマップであるものとする。
【００６５】
実施形態２における処理全体の手順は、実施形態１で説明した情報処理装置１０の処理手順を示す図４と同一であるため、説明を省略する。実施形態１とは、位置姿勢算出ステップＳ１４０前にデプスマップの補正ステップが追加される点が異なる。図７は、デプスマップ補正ステップにおける処理手順の詳細を示すフローチャートである。
【００６６】
ステップＳ２１１０では、算出部１１２０が、保持部１１３０から撮像部１１０の特性情報を読み込む。
【００６７】
ステップＳ２１２０では、算出部１１２０が、保持部１１３０が保持する、撮像部１１０が視覚画像を取得した時刻ｔ以前の任意の時刻ｔ’に取得した視覚情報である画像とデプスマップ入力画像とを用いてモーションステレオによって奥行き値を算出する。時刻ｔ以前の任意の時刻ｔ‘に取得した視覚情報である画像を、以降、過去画像とも記載する。時刻ｔ以前の任意の時刻ｔ‘に取得したデプスマップを、以降、過去デプスマップとも記載する。モーションステレオ法は公知の技術であり、様々な方法を適用可能である。なお、二枚の画像からのモーションステレオでは奥行き値のスケールの曖昧性が残るが、これについては過去デプスマップとモーションステレオによって算出した奥行き値との比率を基に算出することができる。
【００６８】
ステップＳ２１３０では、算出部１１２０が、ステップＳ２１１０で読み込んだ特性情報である奥行き値に関連づいた信頼度とステップＳ２１２０でモーションステレオにより算出した奥行き値を用いて重み付き和によりデプスマップを更新する。具体的には、デプスマップの各奥行き値ｄ付近の信頼度の値を重みαとすると、モーションステレオで算出した奥行き値ｍとを数式２の重み付き和で補正する。
【００６９】
ｄｎｅｗ＝αｄ＋（１−α）ｍ・・・（数式２）
算出したｄｎｅｗを用いてデプスマップを更新する。デプスマップの全ての画素の更新を終えたら、デプスマップ補正ステップを終了し、実施形態１で説明したステップＳ１５０以降の処理を続ける。
【００７０】
以上のように、実施形態２では、撮像部１１０が奥行き値を高精度に取得できる場合には撮像部１１０の取得した奥行き値の重みを大きく、そうでない場合にはモーションステレオによって算出した奥行き値の重みを大きくする。これによって撮像部１１０の計測精度が低下してもそれをモーションステレオにより補正して、高精度にデプスマップを算出することができる。
【００７１】
＜変形例＞
本実施形態においては、デプスマップの補正における信頼度を、撮像部１１０が算出するデプスマップの奥行き値の計測誤差から算出し、重みαとしていた。しかしながら、撮像部１１０が取得したデプスマップとモーションステレオによって算出した奥行き値とを統合し、デプスマップを高精度化するような重みの値を算出する方法であればよい。例えば、デプスマップの奥行きの逆数に所定の係数βを積算した値を重みとする方法でもよい。また、入力画像の勾配を算出し、勾配方向と撮像部１１０における素子の配置方向との内積を重みとしてもよい。他にも、撮像部１１０における二つの画像Ｄ１５４ａとＤ１５４ｂの基線長や視差画像Ｄ１５４ｆの基線長を撮像部１１０からさらに入力部１１１０が入力し、これと、モーションステレオにおける基線長の比を重みとして用いることもできる。また、本実施形態で説明したように各画素に重みを算出するのではなく、特定の画素のみ統合する方式や、一部の画素または全画素に同一の重みを適応して重み付き和を算出してもよい。また、ある過去１時刻だけでなく、複数時刻の画像、デプスマップを用いてモーションステレオを行ってもよい。
【００７２】
さらに、より精度よくロバストに位置姿勢を算出できるように視覚情報が得られるように、ＡＧＶを制御することもできる。例えば、モーションステレオの基線長が大きくなるようにＡＧＶを動かすように制御部１１４０が制御値を算出する。具体的には、遠方の所定の点を撮像部１１０でとらえたまま蛇行走行するような制御値がその一例である。これにより、モーションステレオ時の基線長が長くなるためより遠方の奥行き値を精度よく算出できる。また、撮像部１１０がより広い視野の視覚情報を得るように制御部１１４０が制御値を算出することもできる。具体的には、撮像部１１０の光学中心を中心とした見回し動作をするような制御値を算出することである。これにより、より視野の広い視覚情報を取得できるため、最適化における発散や誤差を減らして位置姿勢を算出することができる。
【００７３】
入力部１１１０が、通信Ｉ／Ｆを通して他のＡＧＶから画像および位置姿勢を受信し、受信した画像および位置姿勢と、撮像部１１０が取得した画像とを用いてモーションステレオして奥行き値を算出することもできる。また、受信するのは視覚情報であればなんでもよく、他のＡＧＶの撮像部が取得したデプスマップや視差画像、三次元点群であってもよい。
【００７４】
［実施形態３］
実施形態１、２では、撮像部１１０が取得したシーンを撮影した視覚情報を基に位置姿勢や制御値を算出していた。しかしながら、テクスチャのない壁や柱においては奥行き精度が低下することがある。そこで実施形態３では、シーンに対して所定のパターン光を投影し、それらパターン光を撮像部１１０が取得することで、奥行き精度を向上させる。
【００７５】
本実施形態における情報処理装置３０の構成を図８に示す。実施形態１で説明した情報処理装置１０における制御部１１４０がさらに、投影装置３１０の制御値を算出し、出力する点が異なる。なお、本実施形態における投影装置とは、プロジェクタであり、撮像部１１０の光軸と投影装置の光軸とが一致するように取り付けられているものとする。また、投影装置３１０が投影するパターンとは、投影および非投影の領域がランダムに存在するように生成されたランダムパターンのことである。なお、本実施形態においては視覚情報とは、撮像部１１０が取得する画像Ｄ１５４ｅおよびデプスマップＤ１５４ｄであり、入力部１１１０が撮像部１１０より入力する。
【００７６】
本実施形態における処理手順の図は、実施形態１で説明した情報処理装置１０の処理手順を説明する図５と同一であるため説明を省略する。ステップＳ１５０において、算出部１１２０が、入力視覚情報がテクスチャに乏しいか否かを表すテクスチャ度合の値を算出し、制御部１１４０がテクスチャ度合の値を基にパターン投影のＯＮ／ＯＦＦの制御値を算出する点が実施形態１と異なる。
【００７７】
ステップＳ１５０における、制御部１１４０が算出するパターン投影の制御値の算出手順の詳細を説明する。まず、算出部１１２０が、入力画像にソーベルフィルタを畳み込み、さらにそれらの絶対値を算出して勾配画像を算出する。ソーベルフィルタは、画像の１次微分を算出するためのフィルタの一種でありさまざまな文献で公知である。算出した勾配画像のうち所定の勾配値閾値以上の画素の割合をテクスチャ度合とする。次に、制御部１１４０が、テクスチャ度合の値が所定の閾値以上であれば投影装置をＯＮに、所定の閾値未満であれば投影装置をＯＦＦにするように制御値を算出する。
【００７８】
以上のように、実施形態３では、シーンがテクスチャに乏しい場合には、ランダムなパターン光を投影する。これにより、シーンにランダムな模様が付加されるため、シーンがテクスチャに乏しい場合であっても撮像部がより精度よくデプスマップが取得できる。このため、精度よく位置姿勢を算出することができるようになる。
【００７９】
＜変形例＞
本実施形態においては、パターン光とはランダムパターンのことであった。しかしながら、テクスチャに乏しい領域にテクスチャを付与するようなパターンであれば何でもよい。例えば、ランダムドットパターンや縞パターン（制限はや格子パターンなど）を投影してもよい。なお、縞パターンでは，変調波長内と波長外の距離を判別できないという曖昧性があるが、周波数を変えて複数時刻で取得した入力画像から奥行き値を求めるグレーコード方式を用いることで曖昧性を排除することができる。
【００８０】
本実施形態では、制御部１１４０が投影のＯＮ／ＯＦＦの制御値を出力し、統制装置３１０が投影の有無を切り替えていた。しかし、投影装置３１０がパターン光を投影できる構成であればこれに限らない。例えば、初期化ステップＳ１１０において電源が投入されることで投影装置３１０が投影を開始するように構成してもよい。また、シーンの任意の部分を投影装置３１０が投影するように構成してもよい。具体的には、勾配画像の勾配値が所定の閾値未満の領域にのみ投影装置３１０が投影するように、制御部１１４０が投影装置３１０の投影パターンを切り替えることもできる。実施形態５で述べる物体検出において人の目を検出し、人の目を避けてパターンを投影するよう制御値を算出することもできる。さらには、パターンのＯＮ、ＯＦＦだけでなく明度を変えてもよい。つまり、制御部１１４０が、デプスマップの奥行き値が大きい領域はより明るく投影装置３１０が投影するように制御値を算出することもできるし、入力画像の暗い部分はより明るく投影するように制御値を算出することもできる。また、算出部１１２０が位置姿勢を算出する際の繰り返し計算における誤差の残差が所定の閾値以上であればパターンを変更するような構成とすることもできる。
【００８１】
本実施形態では、テクスチャ度合値はソーベルフィルタによる勾配画像を用いていた。他にも、プレフィットフィルタやＳＣＨＡＲＲフィルタ、エッジ検出を行うキャニーフィルタといったフィルタによって算出した勾配画像やエッジ画像を用いてテクスチャ度合値を算出することもできる。また、画像にＤＦＴ（ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ：離散フーリエ変換）をかけた高周波成分をテクスチャ度合値とすることもできる。また、画像中の角といった特徴点を算出し、特徴点の個数をテクスチャ度合として用いてもよい。
【００８２】
［実施形態４］
実施形態１、２では、撮像部が取得したシーンを撮影した視覚情報を基に位置姿勢や制御値を算出していた。実施形態３では、パターン光を投影してテクスチャの乏しいシーンに対する精度向上について述べた。実施形態４では、さらに他の三次元センサが計測したシーンの位置を表す三次元情報を合わせて用いる方法について述べる。
【００８３】
本実施形態における情報処理装置４０の構成を図９に示す。実施形態１で説明した情報処理装置１０における入力部１１１０がさらに、三次元計測装置４１０からの三次元情報を入力する点で実施形態１と異なる。なお、本実施形態における三次元計測装置４１０とは３ＤＬｉＤＡＲ（ｌｉｇｈｔ  ｄｅｔｅｃｔｉｏｎ  ａｎｄ  ｒａｎｇｉｎｇ）であり、レーザパルスの往復時間により距離を測定する装置である。三次元装置が取得する計測値を入力部１１１０がポイントクラウドとして、入力部１１１０が入力する。また、保持部はあらかじめ撮像部１１０の特性情報として、撮像部１１０が取得するデプスマップの奥行き値の信頼度を関連付けたリスト、および三次元計測装置４１０の奥行き値の信頼度を関連付けたリストを保持しているものとする。これらの信頼度は実施形態２で説明した方法で撮像部１１０、および三次元計測装置４１０ともに事前に算出されているものとする。
【００８４】
実施形態４における処理全体の手順は、実施形態１で説明した情報処理装置１０の処理手順を示す図４と同一であるため、説明を省略する。実施形態１とは、位置姿勢算出ステップＳ１４０の前にデプスマップの補正ステップが追加される点が異なる。図１０は、デプスマップ補正ステップにおける処理手順の詳細を示すフローチャートである。
【００８５】
ステップＳ４１１０では、算出部１１２０が、保持部１１３０から撮像部１１０、および三次元計測装置４１０の特性情報を読み込む。
【００８６】
ステップＳ４１２０では、算出部１１２０が、ステップＳ４１１０で読み込んだ特性情報である奥行き値に関連づいた信頼度を用いて撮像部１１０が算出したデプスマップと三次元計測装置４１０が計測したポイントクラウドとを統合する。具体的には、数式２における値ｍを三次元計測装置４１０が計測した奥行き値と置き換えることでデプスマップを更新することができる。なお、重みαは、デプスマップの信頼度をγＤ、同じ地点を指すポイントクラウドの信頼度をγＬとすると、数式３によって算出する。
【００８７】
【数２】
2019125345.tif 000004
【００８８】
算出した重みを用いて数２によりデプスマップを更新する。デプスマップの全ての画素の更新を終えたら、デプスマップ補正ステップを終了し、実施形態１で説明したステップ１５０以降の処理を続ける。
【００８９】
以上のように、実施形態４では、撮像部が奥行き値を高精度に取得できる場合には撮像部の取得した奥行き値の重みを大きく、三次元計測装置が奥行き値を高精度に取得できる場合には三次元計測装置が取得した奥行き値の重みを大きくする。これによって撮像部、および三次元計測装置のより良い精度で計測できる奥行き値を用いてデプスマップを算出することができ、高精度に位置姿勢を算出することができる。
【００９０】
＜変形例＞
本実施形態においては、三次元計測装置４１０として３ＤＬｉＤＡＲを用いる方法について説明した。三次元計測装置４１０はこれに限るものでなく、撮像部１１０が取得した視覚情報を高精度化できる三次元情報が計測できるものであればよい。例えば、ＴＯＦ（Ｔｉｍｅ  Ｏｆ  Ｆｌｉｇｈｔ）距離計測カメラであってもよいし、２台のカメラを備えたステレオカメラであってもよい。また、ＤＡＦによる撮像部１１０と別の単眼カメラを、撮像部１１０の光軸と一致させて配置したステレオ構成としてもよい。信頼度の特性が異なる撮像部１１０をさらに搭載し、これを三次元計測装置４１０とみなして同様にデプスマップを更新する構成でもよい。
【００９１】
［実施形態５］
実施形態１、２では、撮像部１１０が取得したシーンを撮影した視覚情報を基に位置姿勢や制御値を算出していた。実施形態３では、シーンに対して所定のパターン光を投影した。実施形態４では、さらに三次元計測装置が計測した三次元形状を合わせて用いていた。実施形態５では、視覚情報から物体を検出し、これを用いて移動体の制御を行う。特に本実施形態においては、ＡＧＶは荷物を搭載して運んでおり、目的地に到着すると棚やベルトコンベアに対して所定の位置に厳密に停止しなければならない場合について述べる。本実施形態では、撮像部１１０が撮像した棚やベルトコンベアといった物体の位置姿勢を算出することで厳密な位置姿勢を算出し、ＡＧＶを制御する方法について述べる。なお、本実施形態においては特に断りが無い限り物体の特徴情報とは物体の位置姿勢のことである。
【００９２】
実施形態５における装置の構成は、実施形態１で説明した情報処理装置１０の構成を示す図２と同一であるため省略する。なお、算出部１１２０が、さらに視覚情報から物体検出を行い、制御部１１４０が、検出した物体が視覚情報中の所定の位置に写るように移動体を制御する。さらに、保持部１１３０が物体検出のための物体モデルを保持しているとともに、ＡＧＶが目的に到着した際に物体に対してどの位置姿勢でいるべきかという物体に対する目標位置姿勢を保持している。以上の点が実施形態１と異なる。
【００９３】
物体モデルとは、物体の形状を表すＣＡＤモデルと、物体の三次元特徴点としてある法線を持った二点の三次元点群の相対位置を特徴量とするＰＰＦ（Ｐｏｉｎｔ  Ｐａｉｒ  Ｆｅａｔｕｒｅ）特徴情報を格納したリストのことである。
【００９４】
実施形態５における処理全体の手順は、実施形態１で説明した情報処理装置１０の処理手順を示す図５と同一であるため、説明を省略する。ただし、実施形態１とは、位置姿勢算出ステップＳ１４０後に物体検出ステップが追加される点が異なる。図１１は、物体検出ステップの詳細を説明したフローチャートである。
【００９５】
ステップＳ５１１０では、算出部１１２０が、保持部１１３０が保持する物体モデルを読み込む。
【００９６】
ステップＳ５１２０では、算出部１１２０が、デプスマップから物体モデルに当てはまる物体が視覚情報中のどこに写っているか検出する。具体的には、まずデプスマップからＰＰＦ特徴を算出する。そして、デプスマップから検出したＰＰＦと物体モデルのＰＰＦとをマッチングすることで、撮像部１１０に対する物体位置姿勢の初期値を算出する。
【００９７】
ステップＳ１５３０では、算出部１１２０が算出した、撮像部１１０に対する物体の位置姿勢を初期位置としてさらにＩＣＰアルゴリズムにより精密に撮像部１１０に対する物体の位置姿勢を算出する。合わせて、保持部１１３０が保持する、物体に対する目標位置姿勢との残差を算出する。算出手段１１２０が、算出した残差を制御部１１４０に入力し、物体検出ステップを終了する。
【００９８】
図５におけるステップＳ１５０においては、制御部１１４０が、算出部１１２０が算出した物体の位置姿勢の残差が小さくなる方向にＡＧＶが移動するようにアクチュエータ１２０の制御値を算出する。
【００９９】
実施形態５では、撮像素子上の各々の受光部が２以上の受光素子によって構成されることを特徴とする撮像部が取得したデプスマップに写る物体を検出し、モデルフィッティングにより物体の位置姿勢を算出する。そして、事前に与えられた対象物に対する位置姿勢と、検出した物体の位置姿勢との差が小さくなるようにＡＧＶを制御する。すなわち、ＡＧＶを対象物に対して厳密に位置合わせするよう制御する。このように、事前に形状が既知の物体に対する位置姿勢を算出することで、高精度に位置姿勢を算出でき、高精度にＡＧＶを制御することができる。
【０１００】
＜変形例＞
本実施形態では、物体の検出にＰＰＦ特徴を用いていた。しかしながら、物体を検出することができる方法なら何でもよい。例えば、特徴量として三次元点の法線と周囲に位置する三次元点の法線との内積のヒストグラムを特徴量とするＳＨＯＴ特徴を用いてもよい。また、ある三次元点の法線ベクトルを軸とする円柱面に周囲の三次元点を投影したＳｐｉｎ  Ｉｍａｇｅを用いた特徴を用いてもよい。また、特徴量を用いずに物体を検出する方法として機械学習による学習モデルを用いることもできる。具体的には、デプスマップを入力すると物体領域が１、非物体領域が０を返すように学習したニューラルネットワークを学習モデルとして用いることができる。また、デプスマップから物体の６自由度を出力できるよう学習した学習モデルであれば、ステップＳ５１１０からＳ５１３０をまとめて物体の位置姿勢を算出してもよい。
【０１０１】
本実施形態では、物体の例として棚やベルトコンベアとしていた。しかしながらＡＧＶを停止させたときに撮像部１１０が観測でき、相対位置姿勢（相対位置、相対姿勢）が一意に定まる物体であればなんでもよい。例えば、位置姿勢の指標として工場の天井に張り付けた三次元のマーカ（具体的には、３Ｄプリンタで印刷した任意の凹凸を持つ任意形形状の物体）でもよい。また、ＡＧＶが充電式で充電ステーションに停止する場合には充電ステーションの形状の３ＤＣＡＤモデルでもよい。また、ＣＡＤモデルでなくとも、目標位置姿勢であらかじめ停止した際のデプスマップを物体モデルとして用いてもよい。このとき、ＡＧＶ運用時には保持したデプスマップと入力部１１１０が入力したデプスマップとの間の位置姿勢誤差が小さくなるようにＡＧＶを制御すればよい。このようにするとＣＡＤモデルの作成の手間なく物体モデルを生成できる。
【０１０２】
本実施形態では、ＡＧＶの厳密な位置決めのため、位置姿勢算出のために、物体を検出しモデルフィッティングする方法を例示した。しかしながら、厳密な位置姿勢算出の目的のためだけではなく、衝突回避やほかのＡＧＶの位置姿勢検出に用いてもよい。具体的には、物体モデルとしてＡＧＶの形状のＣＡＤモデルを保持しておき、算出部１１２０が物体検出によって他のＡＧＶを見つけたとする。このとき、他のＡＧＶの座標を避けるように制御部１１４０が制御値を算出することにも使うことができる。そして、他のＡＧＶに衝突することを避ける。また、他のＡＧＶを検出した時にはアラートを提示し、他のＡＧＶに自身の進行ルートを空けるよう指令を出してもよい。他のＡＧＶが止まっていれば、バッテリー切れで停止しているとみなしてそれらに近接するように制御値を算出し、連結して充電ステーションへ移動するよう制御部１１４０が制御値を算出してもよい。また、工場において通路に配線がなされている時には、算出部１１２０が配線を検出し、制御部１１４０がそれらを踏まないように迂回するように制御値を算出してもよい。地面に凹凸がある場合には凹凸を避けるように制御値を算出してもよい。また、物体モデルごとに進入禁止や、推奨ルートといったラベルを関連付けておけば、当該物体をシーン中に配置することで容易にＡＧＶの通行可否を設定することができる。
【０１０３】
本実施形態においては、物体モデルとはＣＡＤモデルであった。しかしながら物体の位置姿勢を算出できればモデルは何でもよい。例えば、対象物を複数視点で撮影したステレオ画像からＳｔｒｕｃｔｕｒｅ  Ｆｒｏｍ  Ｍｏｔｉｏｎアルゴリズムによって三次元復元して生成したメッシュモデルであってもよい。また、ＲＧＢ−Ｄセンサで複数視点から撮影したデプスマップを統合して作成したポリゴンモデルであってもよい。また、前述のような物体を検出するように学習したニューラルネットワークモデルとして例えばＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）を用いてもよい。
【０１０４】
ＡＧＶが運搬する物体を撮像部１１０が撮像し、算出部１１１０が認識し、搭載した物体種に応じて制御部１１４０が制御値を算出することもできる。具体的には、搭載した物体が壊れ物であればＡＧＶが低速で移動するように制御値を算出する。また、あらかじめ物体毎に目的位置姿勢を関連付けたリストを保持部１１３０に保持していれば、搭載した物体と関連づいた目的位置にＡＧＶを移動させるように制御値を算出してもよい。
【０１０５】
また、撮像部１１０が、移動体から所定の距離範囲内で、物体を検知したら、運搬するべき物体が落下していると判断してアラートを表示することもできる。また、ＡＧＶに不図示のロボットアームを搭載していれば、ロボットアームで当該物体を取得するようにロボットアームの制御値を制御部１１４０が算出してもよい。
【０１０６】
［実施形態６］
実施形態１〜４では、撮像部１１０が取得した視覚情報を基に高精度に安定して位置姿勢を算出し、移動体の制御値を算出する方法について述べた。実施形態５では、視覚情報から物体を検出し、これを用いて移動体の制御を行う方法について述べた。実施形態６では実施形態１〜５の追加機能として、入力視覚情報を領域分割した結果を用いてＡＧＶの制御やマップ情報の生成を高精度に安定して行う方法について述べる。特に、本実施形態においてはマップ情報の生成時に適応する方法を例示する。マップ情報には、時間が経過しても位置姿勢が変わらない静止物体を登録し、これらを用いて位置姿勢を算出する方がシーンの変化に対するロバスト性が向上する。そこで、視覚情報を意味的領域分割し、各画素が何の物体種であるかを判別する。そして、あらかじめ物体種毎に算出した静止物体らしさ情報を用いて階層的なマップ情報を生成する方法、およびそれらを用いた位置姿勢推定方法について述べる。なお、本実施形態においては、特に断りが無い限り物体の特徴情報とは物体の種類のことである。
【０１０７】
実施形態６における装置の構成は、実施形態１で説明した情報処理装置１０の構成を示す図２と同一であるため省略する。なお、算出部１１２０が、さらに視覚情報を意味的領域分割し、それらを用いて階層的にマップ情報を生成する。本実施形態における階層的マップ情報とは、（１）工場のレイアウトＣＡＤモデル、（２）静止物体マップ、（３）什器マップ、（４）動く物体マップの４レイヤーで構成されるポイントクラウドである。なお、保持部１１３０は外部メモリＨ１４に（１）工場のレイアウトＣＡＤモデルを保持しておく。また、階層的に作成したマップ情報を用いて位置姿勢を算出する。位置姿勢算出方法については後述する。なお、本実施形態においては撮像部１１０が取得し、入力部１１１０が入力する視覚情報とは、画像およびデプスマップであるものとする。また、保持部１１３０は、画像を入力すると、各画素が該当する物体か否かを表すマスク画像を物体種ごとに出力するように学習された学習モデルであるＣＮＮを合わせて保持する。その学習モデルとともに、各物体種が各階層（２）〜（４）どれに当てはまるかのルックアップテーブルを保持しており、物体種を指定するとどの階層の物体種であるかが判明する。
【０１０８】
実施形態６における処理全体の手順の図は、実施形態１で説明した情報処理装置１０の処理手順を示す図４と同一であるため説明を省略する。算出部１１２０が位置姿勢を算出する際に、保持部１１３０が保持するマップ情報のレイヤーを考慮して位置姿勢を算出する点が実施形態１と異なる。また、実施形態１とは、位置姿勢算出ステップＳ１４０後に領域分割・マップ生成ステップが追加される点が異なる。これらの処理の詳細は後述する。
【０１０９】
ステップＳ１４０では、算出部１１２０が、保持部１１３０が保持するマップ情報のレイヤーごとに、位置姿勢算出の寄与度となる重みをポイントクラウドに付与して位置姿勢を算出する。具体的には、本実施形態における例のように（１）〜（４）のレイヤーを保持する場合には、より動きにくいマップ情報である（１）から（４）にかけて順次重みを小さくする。
【０１１０】
図１２は、領域分割・マップ生成ステップの詳細を説明したフローチャートである。この領域分割・マップ生成ステップは図５における位置姿勢算出ステップＳ１４０直後に追加され、実行される。
【０１１１】
ステップＳ６１１０では、算出部１１２０が入力画像を意味的領域分割する。意味的領域分割は多数の手法が提案されており、これらを援用できる。ただし、画像を意味的領域分割する方法であれば、上記方法に限るものではない。これらの方法を用いて、物体種ごとに各画素に当該物体か否かを割り当てたマスク画像を得る。
【０１１２】
ステップＳ６１２０では、デプスマップを領域分割する。具体的には、まずデプスマップの各画素に対して法線を算出し、周囲の法線との内積が所定の値以下となる法線のエッジを検出する。そして法線のエッジを境界としてそれぞれの領域に異なるラベルを割り振ることでデプスマップを領域分割し、領域分割画像を得る。
【０１１３】
ステップＳ６１３０では、算出部１１２０が、入力画像を意味的領域分割したマスク画像と、デプスマップを領域分割した領域分割画像を基にポイントクラウドの意味的領域分割を行う。具体的には、各デプスマップの領域ＳＤｊと各マスクの物体領域ＳＭｊの包含関係の割合Ｎｉ，ｊを数式４により算出する。なお、ｉは物体種、ｊはデプスマップの領域分割のラベルである。
【０１１４】
【数３】
2019125345.tif 000005
【０１１５】
次に、Ｎｉ，ｊが所定の閾値以上であるデプスマップの領域ＳＤｊに物体種ｉを割り当てる。ただし、物体種が割り当てられていない画素は背景ラベルを割り当てておく。以上により、デプスマップの各画素に物体種ｉを割り当てる。
【０１１６】
ステップＳ６１４０では、算出部１１２０が、ステップＳ６１３０でデプスマップに割り当てられた物体種ラベルを基に階層的にマップ情報を生成する。具体的には、デプスマップの物体種ラベルごとにルックアップテーブルを参照し、保持部１１３０が保持するマップ情報の各レイヤーにデプスマップから求まる三次元点群を保存する。保存が完了したら、領域分割・マップ生成ステップを終了する。
【０１１７】
以上のように、実施形態６では、デプスマップを意味的領域分割することで、位置姿勢算出に適切な動かない物体と、位置姿勢算出に不適な、動く物体とを分けてマップ情報に登録することができる。また、分割したマップ情報を用いて、より動く物体程小さくなるように重みを割り当てる。そして、割り当てた重みに従って位置姿勢を算出する。このようすることで、より安定してロバストに位置姿勢を算出することができる。
【０１１８】
＜変形例＞
本実施形態では（１）〜（４）のレイヤーを用いていた。しかしながら、物体の移動具合に応じて複数レイヤーを持つ構成であればよく、（１）〜（４）の任意の個数のレイヤーのみ保持部１１３０が保持する構成であってよい。また、これら以外にも特定の物体（ＡＧＶレイヤー、人レイヤー）や、柱レイヤー、ランドマーク（３Ｄマーカや充電ステーション）レイヤーを保持する構成としてもよい。
【０１１９】
本実施形態においては、意味的領域分割したデプスマップを用いてマップ情報生成、および位置姿勢を算出した。一方、意味的領域分割したデプスマップを用いて、制御部１１４０が制御値を算出してもよい。具体的には、意味的領域分割したときに人やほかのＡＧＶが検出された場合には、それらを避けるように制御部１１４０が制御値を算出することができる。このようにすることで、安全にＡＧＶを運用できる。また、人や他のＡＧＶの後ろをついていくような制御値を制御部１１４０が算出してもよい。このようにすることで、マップ情報が無くともＡＧＶが動作することができるようになる。さらに、算出部１１２０が、意味的領域分割結果を基に人のジェスチャーを認識し、制御部１１４０が制御値を算出してもよい。具体的には、例えば人の腕や指、頭、胴体、足などのパーツごとに画像の領域をラベリングし、それらの相互位置関係を基にジェスチャーを認識する。人の手招きジェスチャーを認識したら人の近くに移動するように制御値を算出する、人の指差しジェスチャーを認識したら指差した方向に移動するよう制御値を算出する。このように、人のジェスチャーを認識することで、ユーザが直接コントローラなどを用いてＡＧＶをコントロールせずとも移動させることができるようになるため、手間なくＡＧＶを運用できる。
【０１２０】
本実施形態の方法で検出した物体種に応じて制御部１１４０が制御値を算出してもよい。具体的には、物体種が人であれば止まる、物体種がほかのＡＧＶであれば避ける、というように制御する。これにより、衝突を避けなければならない人にぶつからないように安全に、人でないものは避けて効率よくＡＧＶを運用できるようになる。
【０１２１】
本実施形態では、ＡＧＶが受動的に物体をセグメンテーションしていた。しかしながら、動く物体を排除するようにＡＧＶが人に指示を出してもよい。具体的には、マップ情報を生成中に、算出部１１２０が人を検出した場合には、制御部１１４０が不図示のスピーカを用いて人を移動させる音声を出力する制御値を算出する。このようにすることで、動く物体を除外してマップ情報を生成することができる。
【０１２２】
本実施形態においては、意味的領域分割を行い、物体種を特定していた。しかしながら物体種を特定せずとも算出部１１２０がマップ情報や位置姿勢の算出や、制御部１１４０が制御値を算出する構成としてもよい。つまり、図１２のＳ６１１０，Ｓ６１２０、を取り除いた構成とすることもできる。具体的には、例えばデプスマップを地面からの高さによって領域分割する。このとき、ＡＧＶの高さ以上の高さである画素は無視して制御値を算出する。つまり、ＡＧＶが衝突しない高さのポイントクラウドはルート生成に用いない。このようにすることで、処理する点群数が減少し高速に制御値を算出することができるようになる。また、平面度合を基に領域分割ってもよい。こうすると、位置姿勢算出の寄与度が高い三次元エッジを優先して位置姿勢算出に用いる（位置姿勢で曖昧性が残る平面を処理から除外する）ことができるようになり、算出時間の減少とロバスト性の向上につながる。
【０１２３】
本実施形態では、マップ情報で動く物体ほど重みを小さくして位置姿勢算出の寄与度を低下させていた。一方、マップ情報はレイヤー構造をもっていなくても、デプスマップの意味的領域分割結果を基にデプスマップの各画素に重みを算出し、この重みを用いて位置姿勢を算出することもできる。入力部１１１０がデプスマップを入力したら、次に算出部１１２０がデプスマップをＳ６１１０からＳ６１３０の処理手順で意味的領域分割する。そして各画素の物体種ラベルを基にルックアップテーブルを参照して重みを決める。その後、ステップＳ１４０により重みを考慮して位置姿勢を算出する。以上のように、マップをレイヤー構造とせずとも、位置姿勢算出における動く物体の影響を低下させることができる。こうするとマップの容量を小さくすることができる。
【０１２４】
本実施形態における撮像部１１０は、撮像素子上の各々の受光部が２以上の受光素子によって構成されることを特徴とする撮像部に限らず、ＴＯＦカメラや３ＤＬｉＤＡＲなど、三次元の奥行き情報を取得できるものであれば何でもよい。
【０１２５】
本実施形態では保持部１１３０がマップ情報をレイヤーごとに保持している。これらは表示部Ｈ１６で確認したり、初期マップに戻したりすることも出来る。ディスプレイ画面を見ながらレイヤーを確認することで、動く物体がマップに登録されている場合には再度ＡＧＶにマップを生成する指示を出すことで、手軽に、安定してＡＧＶを運用することができる。
【０１２６】
本実施形態では、１台のＡＧＶがマップ情報を作成することを想定していたが、複数のＡＧＶが協調してマップ情報を生成することもできる。具体的には各ＡＧＶの作成したマップ情報の同一の地点を指すポイントクラウドが同じ位置となるようにＩＣＰアルゴリズムで位置合わせする。また、個別に作成したマップ情報を統合するときに、マップ作成時刻を参照して、より新しいマップ情報を残すように統合してもよい。また、しばらくマップ情報が更新されていない領域のマップを生成するように制御部１１４０が作業を行っていないＡＧＶを移動させてもよい。このように、複数のＡＧＶで強調してマップを生成することで、マップ情報の生成に係る時間が短くなり、手軽にＡＧＶを運用することができる。
【０１２７】
制御部１１４０が算出する制御値の算出は、マップ情報を用いて、目的位置姿勢に近づくように算出する方法であれば本実施形態で説明した方法に限らない。具体的には、ルート生成のための学習モデルを用いて制御値を決定することができる。例えば、強化学習の学習モデルであるＤＱＮ（Ｄｅｅｐ  Ｑ−Ｎｅｔｗｏｒｋ）を援用できる。特に、あらかじめ目標位置姿勢に近づくと報酬を高く、目標位置姿勢から離れると報酬を低く、障害物に接近すると報酬を低くするように強化学習の学習モデルを学習しておくことで実現できる。
【０１２８】
実施形態１から６においては、マップ情報を用いて位置姿勢の算出、制御値算出を行う方法について述べた。しかしながら、マップ情報の利用目的はこれに限らない。具体的には、作成したマップ情報を用いて、ＡＧＶの運搬シミュレーションを行い、効率良く運搬できるよう工程管理システムが工程を生成してもよい。同様に移動体管理システムが、マップ情報を基にＡＧＶの運行タイミングや混雑を回避するようなルートを生成してもよい。
【０１２９】
作成したマップで配送シミュレーションとともに前述の学習モデルの学習を行ってもよい。このとき、シミュレーション上で障害物の設置、人や他のＡＧＶとの衝突といった状況を再現し学習しておくことで、現実に同様の状況が生じても制御部１１４０が学習モデルを用いて安定して制御値を算出することができる。また、Ａ３Ｃ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ａｄｖａｎｔａｇｅ  Ａｃｔｏｒ−Ｃｒｉｔｉｃ）などの方式により並列に学習することで、短時間で効率よく学習モデルが制御方法を学習するように構成することもできる。
【０１３０】
［実施形態７］
実施形態１から６に共通して適用できるＵＩについて説明する。撮像部が取得した視覚情報や、算出部が算出した位置姿勢、物体の検出結果、マップ情報などをユーザが確認することを説明する。また、ＡＧＶは自動制御で動くためユーザの入力により制御することを説明する。ユーザがＡＧＶの状況を確認できるよう、ＡＧＶを制御することもできるように、表示装置として例えばディスプレイにＧＵＩを表示し、マウスやタッチパネルといった入力装置によりユーザからの操作を入力する。なお、本実施形態において、ディスプレイはＡＧＶに搭載されているものとしているが、このような構成に限るものではない。つまり、通信Ｉ／Ｆ（Ｈ１７）を介して、ユーザの持つモバイル端末のディスプレイを表示装置として用いる、移動体管理システムに接続された液晶ディスプレイを表示装置として用いる、といったこともできる。ＡＧＶに搭載されている表示装置を用いる場合でも、ＡＧＶに搭載されていない表示装置を用いる場合でも、表示情報は、情報処理装置で生成することができる。また、ＡＧＶに搭載されていない表示装置を用いる場合には、表示装置に付随する計算機が、情報処理装置から表示情報の生成に必要な情報を取得し表示情報を生成してもよい。
【０１３１】
実施形態７における装置の構成は、実施形態１で説明した情報処理装置１０の構成を示す図２と同一であるため省略する。算出部１１２０が、撮像部１１０が取得した視覚情報、算出部１１２０が算出した位置姿勢や検出した物体、制御部１１４０が算出した制御値に基づいて表示情報を生成し、ＡＧＶに搭載したタッチパネルディスプレイ等に提示する点が実施形態１と異なる。なお、表示情報の詳細については後述する。また、本実施形態においては、保持部１１３０は、２Ｄのマップ情報、３Ｄのマップ情報を保持しているものとする。
【０１３２】
図１３に、本実施形態における表示装置が提示する表示情報の一例であるＧＵＩ１００を示す。
【０１３３】
Ｇ１１０は２Ｄのマップ情報を提示するためのウィンドウである。Ｇ１２０は３Ｄのマップ情報を提示するためのウィンドウである。Ｇ１３０は撮像部１１０が取得した画像Ｄ１５４ｅを提示するためのウィンドウである。Ｇ１４０は撮像部１１０が取得したデプスマップＤ１５４ｄを提示するためのウィンドウである。また、Ｇ１５０は、算出部１１２０が実施形態１で説明したように算出した位置姿勢や実施形態５、６で説明したように検出した物体、実施形態１で説明したように制御部１１４０が算出した制御値に基づいて表示情報を提示するためのウィンドウである。
【０１３４】
Ｇ１１０は、保持部１１３０が保持している２Ｄマップの提示例を示している。Ｇ１１１は、撮像部１１０を搭載したＡＧＶである。算出部１１２０が、撮像部の位置姿勢（ＡＧＶの位置姿勢）に基づき２Ｄマップ上に合成する。Ｇ１１２は、算出部１１２０が実施例５や６の方法で検出した物体の位置姿勢に基づき、衝突の可能性がある場合に吹き出しとしてアラートを提示した例である。Ｇ１１３は、制御部１１４０が算出した制御値に基づき、ＡＧＶの進行予定ルートを矢印として提示した例である。図１３においては、ＡＧＶはＧ１１４に提示した目的地に向かっている。このように、２ＤマップとＡＧＶの位置、物体の検出結果、ルートを提示することでユーザが容易にＡＧＶの運行状況を把握することができる。なお、Ｇ１１１〜Ｇ１１４は色や線の太さ、形状を変えることでユーザがより容易に運行状況を把握できるようにしてよい。
【０１３５】
Ｇ１２０は、保持部１１３０が保持する３Ｄマップの提示例を示している。Ｇ１２１は、実施形態６で説明したように、算出部１１２０がデプスマップを意味的領域分割した結果を用いて保持部１１３０が保持する３Ｄマップを更新した結果を可視化した例である。具体的には工場のＣＡＤデータから得られた動かない物体は濃く、他のＡＧＶや人など動く物体ほど薄く提示した。なお、濃さに限らず、レイヤーごとに色を変更して提示してよい。また、ＧＵＩ１２２には、算出部１１２０が検出した物体のラベルを提示した。このように、３Ｄマップを提示することで、２Ｄマップと比較しさらに高さ方向を考慮してユーザは運行状況を把握することができる。また、ＡＧＶが走行している間に見つけた物体種であれば、現場に行かずとも探すことができる。
【０１３６】
Ｇ１３０は、撮像部１１０が取得した画像の提示例を示している。Ｇ１３１、Ｇ１３２は、実施形態６で説明したように、算出部１１２０が検出した物体である他のＡＧＶや人の外周にバンディングボックスを点線で重畳した。ただし実践や二重線でもよいし、色を変えて提示することで強調してもよい。このように撮像部１１０が取得した画像に物体の検出結果を重畳することで、算出部１１２０が検出した物体を手間なくユーザが確認することができる。
【０１３７】
Ｇ１４０は、撮像部１１０が取得したデプスマップの提示例を示している。Ｇ１４１は、実施形態５で説明した、保持部１１３０が保持する物体のＣＡＤモデルを、算出部１１２０が算出した物体の位置姿勢を用いてワイヤーフレームとして重畳した例である。Ｇ１４２は、ＡＧＶのＣＡＤモデルをワイヤーフレームとして重畳した例である。Ｇ１４３は、三次元のマーカのＣＡＤモデルを重畳した例である。このように、デプスマップ上に検出して位置姿勢を算出した物体を提示することで、ユーザは検出した物体を容易に把握することができる。また、検出した物体の位置姿勢を用いてＡＧＶの制御を行う場合には、デプスマップとＣＧとの位置ずれからＡＧＶの位置姿勢の算出ずれを把握することができる。なお、ワイヤーフレームをさらにＧ１３０に重畳してもよい。こうすると、実写の画像とモデルとのずれをユーザは比較すればよく、より手軽に直感的にＡＧＶの位置姿勢算出精度や物体の検出精度を確認することができるようになる。
【０１３８】
Ｇ１５０は、ＡＧＶを人手で操作するためのＧＵＩや、算出部１１２０や制御部１１４０が算出した値、ＡＧＶの運行情報の提示例を示している。Ｇ１５１は緊急停止ボタンであり、ユーザはこのボタンに指で触れることでＡＧＶの移動を停止させることができる。Ｇ１５２はマウスカーソルであり、不図示のマウスやコントローラ、タッチパネルを通したユーザのタッチ動作に従ってカーソルを移動させることができ、ボタンを押下することでＧＵＩ内のボタンやラジオボタンを操作することができる。Ｇ１５３はＡＧＶのコントローラを提示した例である。ユーザはコントローラの内部の円を上下左右に移動させることで、それらの入力に応じたＡＧＶの前後左右の動作を行うことができる。Ｇ１５４はＡＧＶの内部状態を提示した例である。ＡＧＶが自動走行しており、秒速０．５ｍ／ｓで動作している状態を例として図示した。また、ＡＧＶが走行を開始してからの時間、目的地までにかかる残りの時間、予定に対する到着予想時刻の差といった運行情報も合わせて提示した。Ｇ１５６はＡＧＶの動作や表示情報の設定を行うためのＧＵＩである。マップ情報を生成するか否か、検出した物体を提示するか否かといった操作をユーザが行うことができる。Ｇ１５７はＡＧＶの運行情報を提示した例である。算出部１１２０が算出した位置姿勢や、移動体管理システム１３から受信した目的地座標、ＡＧＶが運搬している物品名を提示した例である。このように、運行情報を提示する、ユーザからの入力に係るＧＵＩを提示することで、より直感的にＡＧＶを運用できるようになる。
【０１３９】
実施形態７における情報処理装置の処理手順は実施形態１で説明した情報処理装置１０の処理手順を説明した図５のステップＳ１６０の後に、算出部１１２０が表示情報を生成する、表示情報生成ステップ（不図示）が新たに追加される点で異なる。表示情報生成ステップでは、撮像部１１０が撮像した視覚情報、算出部１１２０が算出した位置姿勢、検出した物体、制御部１１４０が算出した制御値を基に、表示情報をレンダリングし、表示装置に出力する。
【０１４０】
実施形態７では、撮像部が取得した視覚情報や、算出部が算出した位置姿勢、検出した物体、制御部が算出した制御値を基に、算出部が表示情報を生成し、ディスプレイに提示する。これによりユーザが容易に本情報処理装置の状態を確認することができる。また、ＡＧＶの制御値や各種パラメータ、表示モード等をユーザが入力する。これにより手軽にＡＧＶの各種設定を変更したり移動させたりすることができる。このように、ＧＵＩを提示することで手軽にＡＧＶを運用することができるようになる。
【０１４１】
表示装置は、ディスプレイに限らない。ＡＧＶにプロジェクタを搭載すれば、プロジェクタを用いて表示情報を提示することもできる。また、移動体管理１３システムに表示装置を接続してあれば、通信Ｉ／Ｆ（Ｈ１７）経由で表示情報を移動体管理システム１３に送信し提示してもよい。また、表示情報の生成に必要な情報のみ送信して、移動体管理システム１３内部の計算機で表示情報を生成することもできる。このようにすることで、ユーザはＡＧＶに搭載した表示装置を確認せずとも、ＡＧＶの運行状況や操作を手軽に行うことができるようになる。
【０１４２】
本実施形態における表示情報は、本情報処理が扱う情報を提示するものであれば何でもよい。本実施形態で説明した表示情報の他にも、位置姿勢算出時の残差や物体検出時の認識尤度値を表示することもできる。さらには、位置姿勢算出に係った時間やフレームレート、ＡＧＶのバッテリーの残量情報なども表示してもよい。このように、本情報処理装置が扱う情報を提示することで、ユーザが本情報処理装置の内部状態を確認することができるようになる。
【０１４３】
本実施形態で説明したＧＵＩは一例であって、ＡＧＶの運行状況を把握する、ＡＧＶに対して操作（入力）を行うことができるようなＧＵＩであればどんなＧＵＩを用いてもよい。例えば色を変える、線の太さや実線・破線・二重線を切り替える、拡大縮小する、必要のない情報を隠す、というように表示情報を変更することもできる。また、物体モデルはワイヤーフレームではなく輪郭を表示してもよいし、透過したポリゴンモデルを重畳してもよい。このように表示情報の可視化方法を変えることで、ユーザがより直感的に表示情報を理解することができるようになる。
【０１４４】
本実施形態で説明したＧＵＩをインターネット経由で不図示のサーバに接続することもできる。このような構成とすると、例えばＡＧＶに不具合が生じた場合に、ＡＧＶメーカの担当者が、現場に行かずともサーバを経由して表示情報を取得して、ＡＧＶの状態を確認することができる。
【０１４５】
入力装置はタッチパネルを例で挙げたが、ユーザの入力を受け付ける入力装置であればなんでもよい。キーボードでもよいし、マウスでもよく、ジェスチャー（例えば撮像部１１０が取得する視覚情報から認識する）でもよい。さらにはネットワーク経由で移動体管理システムが入力装置となってもよい。また、スマートフォンやタブレット端末を通信Ｉ／Ｆ（Ｈ１７）を経由して接続すれば、それらを表示装置／入力装置として用いることもできる。
【０１４６】
本実施形態において入力装置が入力するのは、本実施形態で説明したものに限らず、本情報処理装置のパラメータを変えるものであれば何でもよい。例えば、移動体の制御値の上限（速度の上限）を変えるようなユーザの入力を受け付けてもよいし、Ｇ１１０上でユーザがクリックした目的地点を入力してもよい。さらには、物体検出で用いるモデルと用いないモデルのユーザの選択を入力してもよい。検出できなかった物体をＧ１３０上でユーザが囲うように入力し、学習モデルの不図示の学習装置が撮像部１１０の視覚情報に合わせて当該物体を検出できるように学習するように構成してもよい。
【０１４７】
［実施形態８］
実施形態６では、撮像部１１０が取得した視覚情報を意味的領域分割し、各画素が何の物体種であるかを判別しマップを生成する方法、およびそれらマップや判別した物体種に応じてＡＧＶを制御する方法について述べた。実施形態８ではさらに、同一物体種でも状況によって異なる意味情報を認識し、それら認識結果を基にＡＧＶを制御する方法について述べる。
【０１４８】
本実施形態８では、撮像部１１０が取得した視覚情報から、工場における積み重ねておかれた製品などの、物体の積み重なり度合を意味情報として認識する。つまり、撮像部１１０の視界に入る物体の意味情報を認識する。そして、物体の積み重なり度合に応じてＡＧＶを制御する方法について述べる。つまり、積み重なっているような物体をより安全に避けるようにＡＧＶを制御する。なお、本実施形態における物体の積み重なり度合とは、物体の積み重ね個数、または高さのことである。
【０１４９】
ＡＧＶの制御値算出には空間が物体によって占有されているかどうかを表す占有マップを用いるものとする。なお、本実施形態においては占有マップとして、シーンを格子状に区切り、各格子に障害物が存在する確率を保持した二次元の占有格子マップを用いる。本実施形態においては、占有マップは、ＡＧＶの接近拒絶度を表す値（０に近い程通行が許容され、１に近い程通行が拒絶される０から１の連続変数）を保持することとした。ＡＧＶは占有マップの接近拒絶値が所定の値以上の領域（本実施形態においては格子）を通らないように、目的地まで制御する。目的地とは、工程管理システム１２から取得した運行情報に含まれる、ＡＧＶの目的地である二次元座標のことである。
【０１５０】
本実施形態における情報処理システムは、実施形態１の図１で説明したシステム構成と同一であるため説明を省略する。
【０１５１】
図１４は、本実施形態８における情報処理装置８０を備える移動体１２のモジュール構成を示す図である。情報処理装置８０は、入力部１１１０、位置姿勢算出部８１１０、意味情報認識部８１２０、制御部８１３０から構成されている。入力部１１１０は、移動体１２に搭載された撮像部１１０と接続されている。制御部８１３０は、アクチュエータ１２０と接続されている。また、これらに加え、不図示の通信装置が移動体管理システム３と情報を双方向に通信を行っており、情報処理装置８０の各種手段に入出力している。
【０１５２】
本実施形態における撮像部１１０、アクチュエータ１２０、入力部１１１０は実施形態１と同様であるため詳細の説明は省略する。
【０１５３】
以下に、位置姿勢算出部８１１０、意味情報認識部８１２０、制御部８１３０を順に説明する。
【０１５４】
位置姿勢算出部８１１０は、入力部１１１０が入力したデプスマップを基に撮像部１１０の位置姿勢を算出する。また、算出した位置姿勢を基にシーンの三次元マップを作成する。算出した位置姿勢、および三次元マップを意味情報認識部８１２０、および制御部８１３０に入力する。
【０１５５】
意味情報認識部８１２０は、入力部１１１０が入力したデプスマップ、および位置姿勢算出部８１１０が算出した位置姿勢および三次元マップを基に、意味情報として積み重なっている物体の個数および高さの値を推定する。推定した個数および高さの値を制御部８１３０に入力する。
【０１５６】
制御部８１３０は、位置姿勢算出部８１１０が算出した位置姿勢、および三次元マップを入力する。また、意味情報認識部８１２０が推定した意味情報としての積み重なっている物体の個数および高さの値を入力する。制御部８１３０は、入力された値を基に、シーン中の物体への接近拒絶値を算出し、物体から所定の接近拒絶値以上の占有格子のセルを通るようにＡＧＶを制御する制御値を算出する。制御部８１３０は、算出した制御値をアクチュエータ１２０に出力する。
【０１５７】
次に、本実施形態における処理手順について説明する。図１５は、本実施形態における情報処理装置８０の処理手順を示すフローチャートである。処理ステップは、初期化Ｓ１１０、視覚情報取得Ｓ１２０、視覚情報入力Ｓ１３０、位置姿勢算出Ｓ８１０、意味情報推定Ｓ８２０、制御値算出Ｓ８３０、制御Ｓ１６０、システム終了判定Ｓ１７０からなる。なお、初期化Ｓ１１０、視覚情報取得Ｓ１２０、視覚情報入力Ｓ１３０、制御Ｓ１６０、システム終了判定Ｓ１７０は実施形態１の図５と同一であるため説明を省略する。以下に、位置姿勢算出Ｓ８１０、意味情報推定Ｓ８２０、制御値算出Ｓ８３０のステップを順に説明する。
【０１５８】
ステップＳ８１０では、位置姿勢算出部８１１０が、撮像装置１１０の位置姿勢を算出するとともに、三次元のマップを作成する。これは、位置姿勢をもとにマップを作成しつつ位置姿勢推定を行うＳＬＡＭ（Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）アルゴリズムにより実現する。具体的には、複数時刻に撮像部１１０が取得したデプスマップの奥行きの差が最小となるようにＩＣＰアルゴリズムで位置姿勢を算出する。また、算出した位置姿勢を基にデプスマップを時系列的に統合するＰｏｉｎｔ−Ｂａｓｅｄ  Ｆｕｓｉｏｎアルゴリズムを用いて三次元のマップを作成する。
【０１５９】
ステップＳ８２０では、意味情報認識部８１２０が、デプスマップおよび三次元マップを領域分割し、領域ごとに物体の重なり数（ｎ）と高さ（ｈ）を算出する。具体的な処理手順を以下に順に説明する。
【０１６０】
まず、デプスマップの各ピクセルとその周囲のピクセルの奥行き値に基づいて法線方向を算出する。次に、周囲の画素の法線方向との内積値が所定の値より大きければ同じ物体領域として一意の領域識別ラベルを割り当てる。このようにして、デプスマップを領域分割する。そして、領域分割したデプスマップの各画素が指す三次元マップの各ポイントクラウドにも領域識別ラベルを伝搬させることで三次元マップの領域分割を行う。
【０１６１】
次に、三次元マップをＸ−Ｚ方向（ＡＧＶの移動平面）に等間隔に分割したバウンディングボックスを作成する。分割した各バウンディングボックスを地面から順に鉛直方向（Ｙ軸方向）に走査し、バウンディングボックスに含まれる各ポイントクラウドのラベル数を数える。また、ポイントクラウドの地面（Ｘ−Ｚ平面）からの高さの最大値を算出する。算出した領域数ｎ、最大の高さｈをポイントクラウドごとに三次元マップに保持しておく。
【０１６２】
ステップＳ８３０では、制御部Ｓ１６０が、三次元マップを基に占有マップを作成する。また、物体の重なり数（ｎ）と高さ（ｈ）から占有マップの接近拒絶度の値を更新する。そして、更新した占有マップを基にＡＧＶを制御する。
【０１６３】
具体的には、まず、ステップＳ８１０で作成した三次元マップをＡＧＶの移動平面にあたる床面であるＸ−Ｚ平面に射影し、２Ｄの占有マップを得る。次に、三次元マップの各ポイントクラウドをＸ−Ｚ平面に射影した点と各占有マップとの距離、ポイントクラウドの物体の重なり数（ｎ）と高さ（ｈ）の値を用いて、占有マップの各格子の値である接近拒絶値を更新する。ｉ番目のポイントクラウドＰｉをＸ−Ｚ平面に射影した座標Ｘ−Ｚをｐｉとする。また、占有のｊ番目のセルＱｊの座標をｑｊとする。占有の値はｈ，Ｎが大きい程大きく、距離が離れるほど小さくなる関数として、例えば次のように求める。ただし、ｄｉｊはｐｉとｑｉのユークリッド距離である。
【０１６４】
【数４】
2019125345.tif 000006
【０１６５】
以上のように定めた、占有マップと目標位置姿勢・現在位置姿勢の情報から、ＡＧＶと目標地点の位置姿勢を最小にしつつも、占有マップの接近拒絶度の値が高い格子を避けるようにＡＧＶの進行ルート（移動経路）を決め、制御値を算出する。制御部８１３０が算出した制御値をアクチュエータ１３０に出力する。
【０１６６】
実施形態８では、意味情報としてＡＧＶの周囲の物体の積み重ね数および高さを推定し、それらの値が大きくなる程、ＡＧＶがそれら物体から距離をおいて走行するように制御する。これにより、例えばＡＧＶが物流倉庫のようにたくさんの物品が積まれた棚やパレットがある場合に、ＡＧＶがそれら物体からさらに距離をおいて走行することができるようになり、より安全にＡＧＶを運行できるようになる。
【０１６７】
＜変形例８−１＞
本実施形態における撮像部１１０は、ＴＯＦカメラやステレオカメラなど、画像とデプスマップを取得できるものであれば何でもよい。さらには、画像のみを取得するＲＧＢカメラや、モノクロカメラのような単眼カメラを用いてもよい。単眼カメラを用いる場合には位置及び姿勢の算出、占有マップの生成処理に奥行きが必要となるが、カメラの動きから奥行き値を算出することで本実施形態を実現する。なお、以降の実施形態において説明する撮像部１１０についても本実施形態と同様に構成する。
【０１６８】
＜変形例８−２＞
占有マップの接近拒絶度の値は物体の高さが高く、積み重なり数が大きい程大きく、距離が離れるほど小さくなる関数であれば本実施形態において説明した方法に限らない。例えば、物体の高さや積み重なり数に比例する関数としてもよいし、距離に反比例する関数としてもよい。物体の高さ、または積み重なり数のどちらか一方のみ考慮する関数でもよい。距離、物体の高さや積み重なり数に応じた占有の値を格納したリストを参照して定めてもよい。なお、このリストはあらかじめ外部メモリ（Ｈ１４）に記憶しておいてもよいし、移動体管理システム１３が保持しており、必要に応じて情報処理装置に通信Ｉ／Ｆ（Ｈ１７）を介して情報処理装置８０にダウンロードしてもよい。
【０１６９】
占有マップは本実施形態で説明したような占有マップでなくとも、空間中の物体の有無を判別できるような構成であれば何でもよい。例えば所定の半径のポイントクラウドとして表してもよいし、何らかの関数で近似してもよい。二次元の占有マップに限らず三次元の占有マップを用いてもよく、例えば３Ｄのボクセル空間（Ｘ，Ｙ，Ｚ）で保持しても、ＴＳＤＦ（Ｔｒｕｎｃａｔｅｄ  Ｓｉｇｎｅｄ  Ｄｉｓｔａｎｃｅ  Ｆｕｎｃｔｉｏｎ）である符号付距離場として保持してもよい。
【０１７０】
本実施形態においては、物体の高さや積み重なり数に応じて接近拒絶度を変えた線マップを用いて制御値を算出していたが、対象の意味情報を基に制御値を変化させるものであればこれに限らない。例えば、物体の高さや積み重なり数に応じた制御方法を記したリストを参照して制御値を決めてもよい。制御方法を記したリストとは、具体的には物体数と積み重なり数が所定の値であり条件を満たせば左に旋回する、減速するなどといった動作を規定したリストのことである。他にも所定の高さや積み重なり数の物体が見つかった時、それらが視野に写らないように回転するような制御値を算出するなど、事前に決めたルールベースでＡＧＶを制御してもよい。また、高さや積み重なり数が大きくなる程速度を低下させるような制御値を算出するなど、計測値を変数とした関数に当てはめてＡＧＶを制御してもよい。
【０１７１】
＜変形例８−３＞
本実施形態においては、撮像部１１０はＡＧＶに搭載されていた例を示したが、ＡＧＶの進行方向を撮影できればＡＧＶに搭載されている必要は無い。具体的には、天井に取り付けられた監視カメラを撮像装置１１０として用いてもよい。このときには、撮像装置１１０がＡＧＶを撮影し、例えばＩＣＰアルゴリズムにより撮像装置１１０に対する位置姿勢を求めることができる。また、ＡＧＶ上部にマーカを貼っておき、撮像装置１１０がマーカを検出することで位置姿勢を求めることもできる。また、撮像装置１１０がＡＧＶの進行ルート上の物体を検出してもよい。撮像装置１１０は１台であっても複数台であってもよい。
【０１７２】
位置姿勢算出部８１１０や意味情報認識部８１２０、制御部８１３０もＡＧＶに搭載されている必要は無い。例えば、制御部８１３０が移動体管理システム１３に搭載されている構成がある。この場合、通信Ｉ／Ｆ（Ｈ１７）を介し制御部８１３０が必要な情報を送受信するようにすることで実現できる。このようにすることで移動体であるＡＧＶ上に大きな計算機を乗せる必要が無くなり、ＡＧＶの重量が軽くて済むため、効率良くＡＧＶを運用することができる。
【０１７３】
＜変形例８−４＞
本実施形態においては、意味情報とは物体の積み重なり度合のことであった。しかしながら、ＡＧＶが安全に、効率よく運行するための制御値を算出することのできる意味情報であれば、意味情報認識部８１２０はどのような意味情報を認識してもよい。また、その意味情報を用いて、制御部８１３０が制御値を算出してもよい。
【０１７４】
例えば、構造物の位置を意味情報として認識してもよい。具体的には、工場にある構造物である「ドア」の開き度合を意味情報として用いることもできる。ドアが閉まっている時と比べ、ドアが開いているまたは開きかけている場合にはＡＧＶを低速に走行させる。また、物がクレーンでつるされていることを認識し、物の下部に潜り込まないように制御する。このようにすることで、より安全にＡＧＶを運用する。
【０１７５】
本実施形態では積み重ね度合を認識したが、積み重ねに限らず近接して並んでいることを認識してもよい。例えば、複数の台車を認識し、それらの距離が所定の値より小さければ所定の距離以上離れて運行するような制御値を算出する。
【０１７６】
また、他のＡＧＶとその上方に位置する荷物を認識してＡＧＶの上に荷物が乗っていることを認識してもよい。他のＡＧＶが荷物を搭載していれば自分（ＡＧＶ）が避け、そうでなければ自分（ＡＧＶ）は直進し、他のＡＧＶに自分（ＡＧＶ）を避ける制御値を移動体管理システム１３経由で送信してもよい。他のＡＧＶに荷物が搭載されている場合にはさらに、荷物の大きさを認識し、大きさに応じて制御方法を決めてもよい。このように荷物を搭載してかどうかや荷物の大きさを判別することで、荷物を搭載していないＡＧＶやより小さな荷物を搭載しているＡＧＶが回避動作をすることで移動にかかるエネルギーや時間を小さくし効率的にＡＧＶを運行できる。さらには、他のＡＧＶに搭載された物体の種別を認識し、種別に応じた物体の価値や壊れやすさを認識することで、価値が高いものや壊れやすいものを搭載していれば自分（ＡＧＶ）が避けるような制御値を算出してもよい。荷物の種別を認識することで、荷物への損害を小さく、安全にＡＧＶを運用することができる
入力画像に写る物体の外形を意味情報として用いることもできる。具体的には、検出した物体がとがっている場合にはそのような物体から距離をおいて走行するようにすることでＡＧＶに傷を負わすことなく安全に運用できる。また、壁のように平らな物体であれば、一定距離を運行するようにすることで、ＡＧＶのふらつきを抑え、安定して効率よく運行できる。
【０１７７】
意味情報として、物体自体の危険度や壊れやすさを認識してもよい。例えば、段ボールに印字された「危険」という文字や髑髏マークを認識したら、そのような段ボールからは所定の距離以上離れて移動するようＡＧＶを制御する。このようにすることで、物体の危険性や壊れやすさをもとにより安全にＡＧＶを運用することができる。また、工場の自動機の稼働状況を示す積層灯の点灯状況を認識し、自動機が稼働中であれば所定の距離以上近づかないような制御値を算出する。このようにすると、自動機の安全センサにＡＧＶが検出されてしまい自動機を止めるようなことがなくなり、効率的にＡＧＶを運用することができる。
【０１７８】
＜変形例８−５＞
本実施形態においては、意味情報を基にＡＧＶを減速する方法を述べた。しかしながら、制御方法は上記の方法に限らず、ＡＧＶを効率的に、安全に運用できる方法であればよい。例えば、加減速のパラメータを変えるようにしてもよい。つまり意味情報に応じた減速においても緩やかに減速をするのか、急に減速するのかといった緻密な制御ができるようになる。回避のパラメータを変更してもよく、物体の近くを回避するのか、大きく回避するのか、ルートを変更して回避するのか、止まるのかといった制御を切り替えるように構成してもよい。また、ＡＧＶの制御値算出の頻度を増減する。頻度を増加させることでより緻密な制御ができるようになり、逆に低下させることにより緩徐に制御ができるようになる。このように意味情報を基に制御方法を変更することでより効率よく、安全にＡＧＶを運用する。
【０１７９】
［実施形態９］
実施形態８では、ＡＧＶの周りに存在する物体の積み重ね度合や形状、構造物の状態といった、ある一時刻の周囲の静的な意味情報を基にＡＧＶを制御していた。実施形態９では、それらの時間的変化を踏まえてＡＧＶを制御する。本実施形態における意味情報とは、画像に写る物体の移動量のことを指す。なお、本実施形態においては、画像に写る物体の移動量に加え、物体の種別も合わせて認識し、その結果をもとにＡＧＶの制御値を算出する方法について述べる。具体的には、周囲の物体の種別として他の移動体であるＡＧＶとそれらに積まれた荷物、および他のＡＧＶの移動量を認識し、それら認識結果に基づいて自身（ＡＧＶ）または他のＡＧＶの制御値を算出する。
【０１８０】
本実施形態における情報処理装置の構成は、実施形態８で説明した情報処理装置８０の図１４と同一であるので説明を省略する。実施形態８と異なるのは、意味情報認識部８１２０が推定し制御部８１３０に入力する意味情報が、検出した物体種としてＡＧＶとそれに積まれた荷物、そして他のＡＧＶの移動量である点である。
【０１８１】
本実施形態における処理手順の図は、実施形態８で説明した情報処理装置８０の処理手順を説明する図１５と同一であるため説明を省略する。実施形態８と異なるのは、意味情報推定ステップＳ８２０、および制御値算出Ｓ８３０の処理内容である。
【０１８２】
意味情報推定ステップＳ８２０では、意味情報認識部８１２０が、デプスマップを領域分割し、さらに領域毎に物体の種別を推定する。このとき、合わせて推定した物体の位置およびサイズを推定する。次に、検出した物体のうち（他の）ＡＧＶの位置とその（他の）ＡＧＶの過去の位置とを比較し、（他の）ＡＧＶの移動量を算出する。本実施形態においては、他のＡＧＶの移動量とは、自分（ＡＧＶ）に対する相対位置姿勢の変化量のことである。
【０１８３】
まず、実施形態６で説明したように、画像、およびデプスマップを基に、デプスマップを領域分割し、領域毎の物体種を特定する。
【０１８４】
次にＡＧＶと認識された領域を抽出し、他の領域との相対位置関係を算出する。このとき、ＡＧＶとの距離が所定の閾値より小さく、かつＡＧＶと認識された領域より鉛直（Ｙ軸）方向にある領域をＡＧＶに搭載された荷物領域であると判定する。さらに、ＡＧＶのサイズ、および搭載された荷物領域の大きさを取得する。なお、サイズとは荷物領域を囲むバウンディングボックスの長辺の長さとする。
【０１８５】
そして、時刻ｔ−１と時刻ｔにＡＧＶと認識された領域をそれぞれ抽出し、それらの相対位置関係を、ＩＣＰアルゴリズムを用いて算出する。なお、算出した相対位置関係とは、自分（ＡＧＶ）に対する他のＡＧＶの相対位置姿勢の変化量のことである。これを以降で他のＡＧＶの移動量と呼ぶ。
【０１８６】
制御値算出Ｓ８３０は、ステップＳ８２０において意味情報認識部８１２０が算出した他のＡＧＶの移動量、および他のＡＧＶとそれに搭載された荷物のサイズを基に、制御部８１３０が自分（ＡＧＶ）の行動を決定する。
【０１８７】
まず、他のＡＧＶの移動量より、他のＡＧＶが自分（ＡＧＶ）に近づいているか遠ざかっているのか判定する。他のＡＧＶが遠ざかっている場合には制御値は変更しない。一方近づいている場合には、さらに荷物のサイズを基づいて新たな制御値を算出する。具体的には、あらかじめ不図示の入力手段によりＲＡＭ（Ｈ１３）に格納しておいた自分（ＡＧＶ）のサイズと、他のＡＧＶとその荷物のサイズとを比較し、自分（ＡＧＶ）の方が小さければ自分（ＡＧＶ）が他のＡＧＶを回避するルート計画を行う。一方、自分（ＡＧＶ）の方が大きければ、自分（ＡＧＶ）の速度を減速しつつ通信インターフェイスＨ１７を介し、移動体管理システム１３に検出した他のＡＧＶに回避動作を行わせる信号を送る。
【０１８８】
以上のように、実施形態９においては意味情報としてＡＧＶの周囲の物体の種別を判定し、かつ他のＡＧＶであればさらに移動量と搭載した荷物の大きさを推定した結果をもとに制御値を算出する。このとき、他のＡＧＶやその荷物が自分（ＡＧＶ）より大きければ自分が回避し、逆に小さければ相手を回避させるような制御を行う。このようにすることで、サイズが小さく、搭載している荷物が小さいＡＧＶがルートを譲るような制御ができるようになり、時間およびエネルギー効率よくＡＧＶを運用することができる。
【０１８９】
＜変形例９−１＞
本実施形態においては、他の移動体としてＡＧＶを検出していた。しかしながら、ＡＧＶに限らず、少なくとも位置や姿勢が変化し、それに応じてＡＧＶの制御を変えることができればどのような物体を検出してもよい。具体的には、移動体としてフォークリフトや移動ロボットを検出してもよい。また、装置の一部の位置や姿勢が変化量を意味情報として認識し、それに応じてＡＧＶの制御を変えてもよい。例えば、自動機やアームロボットのアーム、ベルトコンベアといった機器の可動部の移動量が例えば所定の動作速度より大きければ、よりＡＧＶがそれらから所定の距離を離れて制御するようにしてもよい。
【０１９０】
＜変形例９−２＞
本実施形態においては、自分と他のＡＧＶとどちらかが回避するような制御値を算出していたが、対象物の動きに応じて制御値を変えるような制御方法であればよい。具体的には、移動量の大小に応じて実施形態８で説明した占有マップの接近拒絶度の値を動的に更新し、これを用いてＡＧＶの制御値を算出してもよい。
【０１９１】
また、他のＡＧＶの移動量が自分（ＡＧＶ）と同じ方向であれば他のＡＧＶに追従して移動するような制御値を算出してもよい。十字路に差し掛かった時に先に横方向から来たＡＧＶがあれば、通過し終えるまで待つという制御値を算出してもよし、自分が先行して十字路を進行する場合には移動体管理システム１３を通じて他のＡＧＶを待機させるような制御値を算出してもよい。さらに、他のＡＧＶが例えば進行方向に対し左右に振動していることを観測した場合や、他のＡＧＶに搭載された荷物が他のＡＧＶに対し振動する動きが観測された場合には、一定距離以上近づかないようなルートを通るような制御値を算出してもよい。
【０１９２】
物体の動きからさらに作業工程を意味情報として認識してもよい。例えば、ロボットが他のＡＧＶに荷物を積む動作をしていることを認識してもよい。このとき、自分（ＡＧＶ）は別のルートを探索するような制御値を算出してもよい。また、例えば物流倉庫において出荷用パレットに荷物が載せられる動作を認識し、移動体（フォークリフト）が当該パレットに接近するように制御してもよい。このように、対象の動きを意味情報として認識し、それらに合わせて移動体であるＡＧＶやフォークリフトを制御することでより効率よく運用する。
【０１９３】
［実施形態１０］
実施形態１０ではさらに、人の作業や役割を認識した結果を基により安全にＡＧＶを運行する方法について説明する。本実施形態においては、意味情報として人と人が保持する物体種をもとに人の作業種別を推定し、作業種別に応じてＡＧＶの制御を行う。具体例を挙げると、人と人が押すハンドリフトを検出し作業種別として運搬作業を認識してＡＧＶを回避させる制御や、人と人が持つ溶接機を検出し作業種別として溶接作業を認識しＡＧＶのルートを変更するといった制御を実現する。なお、本実施形態においては、人と人が持つ物体に対応してＡＧＶの制御を決める接近拒絶度のパラメータが、事前に人手によって与えられているものとする。パラメータとは具体的には、例えば、人が大きな荷物を持っている場合に０．４、人が台車を押していれば０．６、人が溶接機を持っていれば０．９といった値のことである。本実施形態においては、これらパラメータが保持されたパラメータリストを移動体管理システム１３が保持している。必要に応じて情報処理装置に通信Ｉ／Ｆ（Ｈ１７）を介して移動体管理システム１３から情報処理装置８０にダウンロードし、外部メモリ（Ｈ１４）に保持して参照できるものとする。
【０１９４】
本実施形態における情報処理装置の構成は、実施形態８で説明した情報処理装置８０の図１４と同一であるので説明を省略する。実施形態８と異なるのは、意味情報認識部８１２０が推定し制御部８１３０に入力する意味情報が異なる。
【０１９５】
本実施形態における処理手順の図は、実施形態８で説明した情報処理装置８０の処理手順を説明する図１５と同一であるため説明を省略する。実施形態８と異なるのは、意味情報推定ステップＳ８２０、および制御値算出Ｓ８３０の処理内容である。
【０１９６】
意味情報推定ステップＳ８２０では、意味情報認識部８１２０が、入力画像から人、および人が保持する物体種を認識する。そして、あらかじめ外部メモリＨ１４に保持しておいた人と人が保持する物体に応じたＡＧＶの制御ルールを記録したパラメータリストに基づいてＡＧＶを制御する。
【０１９７】
まず、視覚情報から人の手の部位を検出する。人の手の部位の検出には、人の各部位とそれらの接続関係を認識し、人の骨格を推定する方法を援用する。そして、人の手の位置にあたる画像座標を取得する。
【０１９８】
次に、人が保持する物体種を検出する。物体の検出には実施形態６で述べた、画像を物体種ごとに領域分割するよう学習したニューラルネットワークを用いる。分割した領域のうち、人の手の位置の画像座標と所定の距離以内にある領域を人の保持する物体領域として認識し、当該領域に割り当てられた物体種を取得する。なお、ここでいう物体種とは、前述のリストが保持する物体ＩＤと一意に対応付けられるものである。
【０１９９】
最後に、得られた物体ＩＤと前述の制御パラメータリストを参照し、接近拒絶度のパラメータを取得する。取得したパラメータは意味情報認識部８１２０が制御部８１３０に入力する。
【０２００】
制御値算出ステップＳ８３０では、ステップＳ８２０において意味情報認識部８１２０が算出した物体の接近拒絶度のパラメータを基に、制御部８１３０が自分（ＡＧＶ）の行動を決定する。なお、実施形態８で説明した占有マップの接近拒絶度の値を以下のように更新することで、制御値を算出する。なお、これは接近拒絶度の値が大きい程大きく、距離が離れるほど小さくなるような関数である。
【０２０１】
【数５】
2019125345.tif 000007
【０２０２】
なお、Ｓｃｏｒｅｊがｊ番目の格子の値である。ｓｉが、ステップＳ８２０において検出したｉ番目の物体の接近拒絶度を表すパラメータである。以上のように定めた占有マップを用い、実施形態８で説明したようにＡＧＶの進行ルートを決める。
【０２０３】
さらにＡＧＶの速度の最大値ｖｍａｘを進行中の占有マップの接近拒絶度の値を基に次ように制限するように制御値を算出する。
【０２０４】
【数６】
2019125345.tif 000008
【０２０５】
αは占有マップの接近拒絶度の値と速度との調整パラメータであり、βは現在ＡＧＶが通行中の占有マップの接近拒絶度の値である。ｖｍａｘは、占有マップの接近拒絶度の値が大きくなる（１に近づく）程０に近づくような値として算出される。このようにして制御部８１３０が算出した制御値をアクチュエータ１３０に出力する。
【０２０６】
実施形態１０では、人と人が保持する物体の組み合わせから人の作業の種別を求め、接近拒絶度を表すパラメータを決める。そして接近拒絶度が大きい程、人から遠ざかるように低速に動作するような制御値を算出する。これにより、人の作業に応じて適切な距離をおいてＡＧＶを制御する。このようにして、ＡＧＶをより安全に制御することができる。
【０２０７】
＜変形例＞
実施形態１０では、人と人が保持する物体の組み合わせを意味情報として認識していたが、人に付随する状態を認識してより安全にＡＧＶを制御する方法であれば上記方法に限らない。
【０２０８】
意味情報として、人の服装を認識してもよい。例えば、工場において、作業着を着ているのが作業者、スーツを着ているのが見学者であることを認識するとする。この認識結果を用いてＡＧＶの動きに慣れている作業者と比較し、特にＡＧＶの動きに慣れていないような見学者の付近を通るときにはよりゆっくりと進行するようにしてより安全にＡＧＶを制御する。
【０２０９】
意味情報として、人の年齢を認識してもよい。例えば、病院において院内配送を行うＡＧＶにおいて、子供や年配の人を認識した時には、ゆっくりと所定の距離をおいて通過することでより、より安全にＡＧＶを運用することができるようになる。
【０２１０】
意味情報として、人の動きを認識してもよい。例えば、ホテルでの荷物運びをするＡＧＶにおいて、千鳥足で歩くように、人が前後左右に繰り返し移動していることを認識した場合には所定の距離をおいて通過する制御値を算出し、より安全にＡＧＶを運用することができる。
【０２１１】
人の動きから作業を認識してもよい。具体的には、工場において作業者がＡＧＶに荷物を積み込もうとする動作を検出したら、ゆっくりと作業者に近づき荷物の積み込みが終わるまで停止するような制御値を算出してもよい。こうすることで作業者がＡＧＶの停止位置まで移動してから荷物を積み込む必要が無く、効率良く作業を行うことができる。
【０２１２】
人の人数を意味情報として認識してもよい。具体的には、ＡＧＶの進行ルート上に所定の数より多数の人を認識した場合には、ルートを変更する。このようにすることで、たとえ人の間を縫って進行した場合に万が一人と接触することを避け、より安全にＡＧＶを運用することができる。
【０２１３】
［実施形態１１］
実施形態８から１０に共通して適用できるＵＩについて説明する。撮像部１１０が取得した視覚情報や、位置姿勢算出部８１１０が算出した位置姿勢、マップ情報、制御値を提示するＵＩに加え、さらに実施形態８から１０で説明した意味情報や占有マップに割り当てた値といった情報表示する。
【０２１４】
実施形態１１における装置の構成は、実施形態８で説明した情報処理装置８０の構成を示す図２と同一であるため省略する。なお、表示のための機器の構成に関しては実施形態７で説明した構成と同一であるため省略する。
【０２１５】
図１３に、本実施形態における表示装置が提示する表示情報の一例であるＧＵＩ２００を示す。Ｇ２１０は撮像部１１０が取得した視覚情報および意味情報認識部８１２０が認識した意味情報を提示するためのウィンドウである。Ｇ２２０は実施形態８で述べたＡＧＶのナビゲーションのための接近拒絶度を提示するためのウィンドウである。またＧ２３０は２Ｄの占有マップを提示するためのウィンドウである。また、Ｇ２４０は、ＡＧＶを人手で操作するためのＧＵＩや、位置姿勢算出部８１１０や意味情報認識部８１２０、制御部８１３０が算出した値、ＡＧＶの運行情報を提示するためのウィンドウである。
【０２１６】
Ｇ２１０は、意味情報認識部８１２０が検出した意味情報として、複数の物体とそれらの相対距離、および接近拒絶度の値の提示例を示している。Ｇ２１１は、検出した物体のバウンディングボックスである。本実施形態においては、他のＡＧＶとその荷物を検出しそれらを囲むバウンディングボックスを点線で表示している。なお、複数の物体を統合してバウンディングボックスを提示しているが、検出した物体それぞれにバウンディングボックスを描いてもよい。また、バウンディングボックスは検出した物体の位置がわかれば何でもよく点線で描いても実線で描いてもよし、半透明のマスクを重畳して提示してもよい。Ｇ２１２は検出した意味情報を提示するポップアップである。検出した複数の物体種とそれらの距離、および接近拒絶度の値を提示している。このように、認識した意味情報を視覚情報に重畳して提示することで、ユーザが直感的に視覚情報と意味情報を関連付けて把握することができる。
【０２１７】
Ｇ２２０は、撮像部１１０が取得した視覚情報に、制御部８１３０が算出したＡＧＶの接近拒絶度を重畳した例である。Ｇ２２１は、接近拒絶度が高い程濃い色を重畳している。このように接近拒絶度を視覚情報に重畳して提示することで、ユーザは直感的に視覚情報と接近拒絶度の値を関連付けて把握することができる。なお、Ｇ２２１は色や濃度、形状を変えることでより容易にユーザが接近拒絶度を把握できるようにしてもよい。
【０２１８】
Ｇ２３０は、制御部８１３０が算出した占有マップと意味情報認識部８１２０が認識した意味情報を提示例である。Ｇ２３１は占有マップの接近拒絶度の値が大きい程濃く、小さい程薄くなるように占有マップの接近拒絶度の値を可視化している。Ｇ２３２はさらに、意味情報認識部８１２０が認識した意味情報として、構造物の位置を提示している。本実施形態では、工場の扉が開いていることを認識した結果を提示している例を示した。Ｇ２３３はさらに、意味情報認識部８１３０が認識した意味情報として、周囲の物体の移動量を提示している。本実施形態では物体の移動方向と速度を提示した。このようにして、占有マップとその値、意味情報の認識結果を提示することで、ユーザは容易にそれらを関連付けてＡＧＶの内部状態を把握することができる。また、このように占有マップを提示することで、ユーザが制御部８１３０のＡＧＶのルート生成過程を容易に把握することができるようになる。
【０２１９】
Ｇ２４０は、ＡＧＶを人手で操作するためのＧＵＩや、位置姿勢算出部８１１０や意味情報認識部８１２０、制御部８１３０が算出した値、ＡＧＶの運行情報の提示例を示している。Ｇ２４１は意味情報認識部８１２０が認識する意味情報や、認識結果を表示するか否かといった設定をするためのＧＵＩであり、例えば項目のオンオフを切り替えるラジオボタンである。Ｇ２４２は、制御部８１３０が算出する接近拒絶距離や制御値を算出するパラメータを調整するためのＧＵＩであり、例えばスライドバーや数字入力フォームがこれにあたる。
【０２２０】
＜変形例＞
本実施形態で説明したＧＵＩは一例であって、意味情報認識部８１２０が算出した意味情報、制御部８１３０が算出した占有マップの接近拒絶度の値などを提示し、ＡＧＶの内部状態を把握するようにするＧＵＩであればどのような可視化方法を用いてもよい。例えば色を変える、線の太さや実線・破線・二重線を切り替える、拡大縮小する、必要のない情報を隠す、というように表示情報を変更することもできる。このように表示情報の可視化方法を変えることで、ユーザがより直感的に表示情報を理解することができるようにする。
【０２２１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019125345.tif 000009
【図２】
2019125345.tif 000010
【図３】
2019125345.tif 000011
【図４】
2019125345.tif 000012
【図５】
2019125345.tif 000013
【図６】
2019125345.tif 000014
【図７】
2019125345.tif 000015
【図８】
2019125345.tif 000016
【図９】
2019125345.tif 000017
【図１０】
2019125345.tif 000018
【図１１】
2019125345.tif 000019
【図１２】
2019125345.tif 000020
【図１３】
2019125345.tif 000021
【図１４】
2019125345.tif 000022
【図１５】
2019125345.tif 000023
【図１６】
2019125345.tif 000024