(57)【要約】【課題】移動装置の移動経路を柔軟に生成できる技術を提供する。【解決手段】移動経路生成装置２０００は、移動装置２０が移動すべき経路に沿って移動したセンサ１２から得られるセンサ情報と、移動装置２０のサイズを示すプロパティ情報とを取得する。センサ１２は、携帯端末１０に設けられる。移動経路生成装置２０００は、センサ情報を用いて、センサ１２が移動した経路である第１移動経路と、第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成する。移動経路生成装置２０００は、プロパティ情報が示す移動装置２０のサイズと、環境情報に示される各物体の位置とに基づいて、第１移動経路を第２移動経路に変換する。第２移動経路は、移動装置２０が実際に移動すべき経路である。移動経路生成装置２０００は、第２移動経路を示す情報を、移動装置２０の移動を制御する制御装置２２が取得可能な態様で出力する。【選択図】図１
2020042516.tif 000002
【特許請求の範囲】
【請求項１】
移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得する取得部と、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成する生成部と、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換する変換部と、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する出力部と、を備える、
移動経路生成装置。
【請求項２】
前記変換部は、前記第１移動経路上の位置のうち、その位置に前記移動装置を移動させると前記移動装置が他の物体と接触する位置を特定し、前記特定した位置を、前記他の物体から前記移動装置のサイズ以上に離間した位置に変更することで、前記第１移動経路を前記第２移動経路に変換する、請求項１に記載の移動経路生成装置。
【請求項３】
前記変換部は、前記第１移動経路に対してスムージングを行うことにより、第１移動経路を第２移動経路に変換する、請求項１又は２に記載の移動経路生成装置。
【請求項４】
前記第２移動経路は、往復の経路を表し、
前記変換部は、前記第２移動経路の往路と復路を、前記移動装置のサイズ以上に離間した状態に変換する、請求項１乃至３いずれか一項に記載の移動経路生成装置。
【請求項５】
前記生成部は、前記センサ情報を用いて SLAM（Simultaneous Localization and Mapping）を実行することにより、前記経路情報と前記環境情報を生成する、請求項１乃至４いずれか一項に記載の移動経路生成装置。
【請求項６】
前記センサは地磁気センサを含み、
前記生成部は、第１移動経路の周辺の地図上の地磁気に関する地磁気情報を取得し、前記地磁気センサの検出結果と前記地磁気情報を利用して、前記地磁気センサが設けられた前記携帯端末の自己位置推定を行う、請求項５に記載の移動経路生成装置。
【請求項７】
前記出力部は、前記変換部が前記第１移動経路を前記第２移動経路に変換できなかった場合に、前記第１移動経路を前記第２移動経路に変換できないことを示すエラー情報を出力する、請求項１に記載の移動経路生成装置。
【請求項８】
前記エラー情報は、前記移動装置が通過できない前記第１移動経路上の位置を示す情報を含む、請求項７に記載の移動経路生成装置。
【請求項９】
前記移動装置は無人搬送車（AGV: Automated Guided Vehicle）である、請求項１乃至８いずれか一項に記載の移動経路生成装置。
【請求項１０】
当該移動経路生成装置は、前記移動装置の内部に設けられている、請求項１乃至９いずれか一項に記載の移動経路生成装置。
【請求項１１】
コンピュータによって実行される移動経路生成方法であって、
移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得し、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成し、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換し、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する、
移動経路生成方法。
【請求項１２】
コンピュータに、
移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得する取得処理と、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成する生成処理と、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換する変換処理と、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する出力処理と、を実行させる、プログラム。
【請求項１３】
移動装置であって、
移動経路生成装置によって生成された経路情報を取得し、前記取得した経路情報が示す移動経路を当該移動装置が移動するように、当該移動装置の動作を制御する制御部を有し、
前記移動経路生成装置は、
移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得し、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成し、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換し、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する、移動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動装置の移動経路の生成に関する。
【０００２】
定められた移動経路に沿って移動する無人搬送車などの装置（以下、移動装置）が活用されている。例えば工場において、無人搬送車に部品等の荷物を載せて製造ライン間を移動させることで、当該製造ライン間で容易に部品等のやりとりができる。
【０００３】
移動装置の移動経路を設定する技術を開示する先行技術文献として、例えば特許文献１がある。特許文献１では、移動経路に沿って移動させた携帯端末の位置の時系列データを取得して、１）携帯端末の座標系における位置の時系列データを、無人搬送車の座標系に置き換える処理、及び２）携帯端末の向きの変化を、無人搬送車の旋回動作に置き換える処理を行うことで、無人搬送車の移動経路が生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／２０３５５０号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、携帯端末を移動させた経路が、そのまま無人搬送車が移動（走行）すべき経路として採用される。そのため、無人搬送車の移動経路を柔軟に設定することができない。
【０００６】
本発明は、上記の課題に鑑みてなされたものである。本発明の目的の一つは、移動装置の移動経路を柔軟に生成できる技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一つの見地において、移動経路生成装置は、１）移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、移動装置のサイズを示すプロパティ情報とを取得する取得部と、２）センサ情報を用いて、センサが移動した経路である第１移動経路と、第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成する生成部と、３）プロパティ情報が示す移動装置のサイズと、環境情報に示される各物体の位置とに基づいて、第１移動経路を、移動装置が実際に移動すべき第２移動経路に変換する変換部と、４）第２移動経路を示す経路情報を、移動装置の移動を制御する制御装置が取得可能な態様で出力する出力部と、を有する。
【０００８】
本発明の他の見地において、移動経路生成方法は、コンピュータによって実行される。当該移動経路生成方法は、１）移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、移動装置のサイズを示すプロパティ情報とを取得する取得ステップと、２）センサ情報を用いて、センサが移動した経路である第１移動経路と、第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成する生成ステップと、３）プロパティ情報が示す移動装置のサイズと、環境情報に示される各物体の位置とに基づいて、第１移動経路を、移動装置が実際に移動すべき第２移動経路に変換する変換ステップと、４）第２移動経路を示す経路情報を、移動装置移動を制御する制御装置が取得可能な態様で出力する出力ステップと、を有する。
【０００９】
本発明の他の見地において、移動装置は、本発明の移動経路生成装置によって生成された経路情報を取得し、取得した経路情報が示す移動経路を移動装置が移動するように、移動装置の動作を制御する制御部を有する。
【００１０】
本発明の他の見地において、プログラム或いはそのプログラムが格納されている記録媒体は、上記の移動経路生成装置が有する各構成、或いは、上記の移動装置の移動経路生成方法が有する各ステップをコンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、移動装置の移動経路を柔軟に生成できる技術が提供される。
【図面の簡単な説明】
【００１２】
【図１】実施形態１の移動経路生成装置を概念的に例示する図である。
【図２】移動経路生成装置の機能構成を例示するブロック図である。
【図３】移動経路生成装置のハードウエア構成を例示する図である。
【図４】携帯端末のハードウエア構成を例示する図である。
【図５】移動装置のハードウエア構成を例示する図である。
【図６】実施形態１の移動経路生成装置によって実行される処理の流れを例示するフローチャートである。
【図７】第２移動経路に含まれる往路と復路を例示する図である。
【図８】移動装置が障害物を避けられないケースを例示する図である。
【図９】エラー情報を例示する図である。
【図１０】実施形態２の移動経路生成装置を例示するブロック図である。
【図１１】実施形態２の移動経路生成装置によって実行される処理の流れを例示するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。
【００１４】
［実施形態１］
図１は、実施形態１の移動経路生成装置２０００を概念的に例示する図である。図１は、移動経路生成装置２０００の理解を容易にするためにその動作の一例を示しているにすぎず、移動経路生成装置２０００の機能を何ら限定するものではない。
【００１５】
移動経路生成装置２０００は、移動装置２０が移動（走行）する経路を表す経路情報を生成する装置である。移動装置２０は、定められた移動経路上を移動することができる任意の装置である。例えば移動装置２０は、車輪やキャタピラなどによって移動する車両である。より具体的な例として、無人搬送車（AGV: Automated Guided Vehicle）が挙げられる。
【００１６】
移動経路生成装置２０００が移動装置２０の経路情報を生成するためには、本実施形態における前提として、例えば人（オペレータ）は、移動装置２０を移動させたい経路に沿って、携帯端末１０を所持した状態で移動することとする。ただし、携帯端末１０は必ずしも人の手で保持される必要は無く、例えば、携帯端末１０を取り付けた車両（台車など）を人が手で押したり操縦したりしてもよい。
【００１７】
携帯端末１０は、センサ１２が設けられている可搬型の任意のコンピュータである。例えば携帯端末１０は、スマートフォンやタブレットなどである。センサ１２は、少なくとも、携帯端末１０の周囲に存在する物体に対する携帯端末１０の相対位置を把握するために利用できるセンサを含む。例えばセンサ１２は、カメラ、測域センサ、加速度センサ、又は地磁気センサなどである。
【００１８】
移動経路生成装置２０００は、センサ１２から得られるセンサ情報を利用して、センサ１２が移動した経路である第１移動経路を表す時系列データを生成する。この時系列データを、第１移動経路情報と呼ぶ。このように、移動装置２０を移動させたい経路に沿って、センサ１２が設けられた携帯端末１０を移動させると、移動装置２０を移動させたい経路を表す第１移動経路を得ることができる。
【００１９】
しかしながら、第１移動経路に沿って移動装置２０を移動させることが適切でないケースがある。例えば、人が携帯端末１０を持って移動することでセンサ情報を得るとする。この場合、人が移動した経路と同じ経路を移動装置２０も移動できるとは限らない。その原因の１つは、人と移動装置２０のサイズが異なることである。例えば、人が２つの障害物５０の間を通って移動した場合、人のサイズよりも移動装置２０のサイズが大きければ、それら２つの障害物５０の間を移動装置２０が通れないことがある。
【００２０】
このように、移動装置２０が実際に移動する経路は、第１移動経路の周囲に存在する物体（例えば、壁、機材、又は荷物などの障害物）と、移動装置２０のサイズとを考慮して、第１移動経路に補正を加える必要がある。
【００２１】
そこで移動経路生成装置２０００は、センサ情報を用いて、第１移動経路の周辺に存在する障害物５０の位置に関する環境情報を生成する。環境情報は、いわゆる環境地図を含む情報である。さらに移動経路生成装置２０００は、移動装置２０のサイズを示すプロパティ情報と環境情報を用いて、第１移動経路を、移動装置２０が実際に移動する移動経路である第２移動経路に変換（補正）する。そして、移動経路生成装置２０００は、第２移動経路を示す第２移動経路情報を、移動装置２０の移動を制御する制御装置に出力する。制御装置は、移動装置２０の内部に設けられていてもよいし、移動装置２０の外部に設けられていてもよい。後者の場合、移動装置２０は、制御装置からリモートでコントロールされる。
【００２２】
＜作用効果＞
本実施形態の移動経路生成装置２０００によれば、携帯端末１０が移動した経路の周辺の障害物５０の位置を示す環境情報、及び移動装置２０のサイズを示すプロパティ情報を利用して、携帯端末１０が移動した経路である第１移動経路が、移動装置２０を移動させる経路である第２移動経路に変換される。このようにすることで、携帯端末１０を移動させた経路をそのまま移動装置２０の移動経路として採用する方法と比較し、移動装置２０のサイズと第１移動経路の周辺の障害物５０の位置を考慮して、移動装置２０を移動させる経路を柔軟に生成することができる。例えば前述した様に、携帯端末１０が移動した経路に沿って移動装置２０を移動させると、移動装置２０が障害物５０に接触してしまうような場合に、移動装置２０のサイズと障害物５０の位置に基づいて、移動装置２０が障害物５０に接触しないように、移動装置２０の移動経路を生成することができる。すなわち、移動装置２０が移動可能な経路を生成することができる。
【００２３】
なお、携帯端末１０を利用して移動装置２０の移動経路を生成する方法には、以下に示すような様々なメリットがある。まず、移動装置２０の移動経路を容易に生成できる。具体的には、スマートフォンなどの携帯端末を操作できる人であれば移動装置２０の経路作成をできるため、専門の技術者に限らず、様々な人（現場の作業員など）が移動装置２０の経路作成をできる。このことから、移動装置２０の導入のハードルが低くなる。これに対し、専門のソフトウエアを利用して移動装置２０の移動経路を設定するようなケースでは、そのソフトウエアの利用方法を熟知した専門の技術者でなければ、移動装置２０の経路を作成できない。そのため、移動装置２０の導入のハードルが高いと言える。
【００２４】
また、移動経路の作成に携帯端末１０を利用する方法では、移動経路生成装置２０００によって生成される移動経路の質が、特別な労力を要することなく、時間と共に自然に向上していくというメリットもある。これは、スマートフォンなどの携帯端末は、新しい機種が発売される度に高機能化していくためである。そのため、例えば、移動経路生成装置２０００を実現するソフトウエアを新しい携帯端末１０にインストールするだけで、以前の携帯端末１０で実現されていた移動経路生成装置２０００よりも高機能な移動経路生成装置２０００が実現されることになる。
【００２５】
また、携帯端末１０を利用すると、ユーザインタフェースの作成や更新が容易であるという利点がある。さらに、データを携帯端末１０から外部の装置へ送信することへの抵抗感が低いというメリットがある。これは、ネットワークを介して携帯端末から外部へデータを送信するという技術は長い間利用されてきた実績があるためである。そのため、携帯端末１０で取得したセンサ情報や携帯端末１０で生成した第２移動経路情報を外部のサーバへ送信することについて、ユーザが大きな抵抗感を持つことがないと考えられる。
【００２６】
以下、本実施形態についてさらに詳細を述べる。
【００２７】
＜機能構成＞
図２は、移動経路生成装置２０００の機能構成を例示するブロック図である。移動経路生成装置２０００は、取得部２０２０、生成部２０４０、変換部２０６０、及び出力部２０８０を有する。取得部２０２０は、センサ情報とプロパティ情報を取得する。生成部２０４０は、センサ情報を用いて、第１移動経路情報と環境情報を生成する。変換部２０６０は、プロパティ情報が示す移動装置２０のサイズと、環境情報に示される各物体の位置とに基づいて、第１移動経路を第２移動経路に変換する。出力部２０８０は、第２移動経路を示す第２移動経路情報を制御装置に対して出力する。
【００２８】
＜移動経路生成装置２０００のハードウエア構成の例＞
移動経路生成装置２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、移動経路生成装置２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００２９】
図３は、移動経路生成装置２０００のハードウエア構成を例示する図である。移動経路生成装置２０００は、任意の計算機で実現される。例えば移動経路生成装置２０００は、スマートフォンやタブレット端末などの可搬型の計算機で実現される。この場合、移動経路生成装置２０００は、センサ１２が設けられている携帯端末１０であってもよいし、携帯端末１０以外の計算機であってもよい。その他にも例えば、移動経路生成装置２０００は、Personal Computer（PC）やサーバマシンなどの据え置き型の計算機で実現されてもよい。移動経路生成装置２０００は、移動経路生成装置２０００を実現するために設計された専用の計算機で実現されてもよいし、汎用の計算機で実現されてもよい。
【００３０】
移動経路生成装置２０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。
【００３１】
プロセッサ１０４０は、CPU（Central Processing Unit）、GPU（Graphics Processing Unit）、FPGA（Field−Programmable Gate Array）などの種々のプロセッサである。メモリ１０６０は、RAM（Random Access Memory）などを用いて実現される主記憶装置である。ストレージデバイス１０８０は、ハードディスク、SSD（Solid State Drive）、メモリカード、又は ROM（Read Only Memory）などを用いて実現される補助記憶装置である。
【００３２】
入出力インタフェース１１００は、移動経路生成装置２０００と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース１１００には、キーボードやマウスなどの入力デバイスや、ディスプレイ装置などの出力デバイスが接続される。
【００３３】
ネットワークインタフェース１１２０は、移動経路生成装置２０００を通信網に接続するためのインタフェースである。この通信網は、例えば LAN（Local Area Network）や WAN（Wide Area Network）である。ネットワークインタフェース１１２０が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００３４】
ストレージデバイス１０８０は、移動経路生成装置２０００の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。
【００３５】
ここで、前述したように、移動経路生成装置２０００は携帯端末１０で実現されてもよい。この場合、移動装置２０を移動させたい経路上を例えば人によって移動した携帯端末１０は、自身に設けられているセンサ１２の検出結果を利用して、第１移動経路情報と環境情報の生成を行い、その生成結果に基づいて第２移動経路情報を生成する。
【００３６】
一方、移動経路生成装置２０００が携帯端末１０以外で実現される場合、携帯端末１０に設けられているセンサ１２の検出結果が、携帯端末１０から移動経路生成装置２０００に提供される。移動経路生成装置２０００を通信ネットワーク（以下、単に「ネットワーク」と称する）上に設けられたサーバ装置として実現する場合、例えば、携帯端末１０からサーバ装置に対してセンサ１２の検出結果が送信され、サーバ装置で移動装置２０の移動経路の生成が行われる。
【００３７】
＜携帯端末１０のハードウエア構成の例＞
図４は、携帯端末１０のハードウエア構成を例示する図である。携帯端末１０は、任意の可搬型の計算機で実現される。例えば携帯端末１０は、スマートフォンやタブレット端末などで実現される。前述した様に、携帯端末１０は、移動経路生成装置２０００を実現する装置であってもよい。携帯端末１０は、携帯端末１０を実現するために設計された専用の計算機で実現されてもよいし、汎用の計算機で実現されてもよい。
【００３８】
例えば携帯端末１０は、移動経路生成装置２０００と同様に、バス、プロセッサ、メモリ、ストレージデバイス、入出力インタフェース、及びネットワークインタフェースを有する。さらに携帯端末１０は、センサ１２を有する。例えばセンサ１２は、入出力インタフェース１１００に接続される。
【００３９】
＜移動装置２０のハードウエア構成の例＞
図５は、移動装置２０のハードウエア構成を例示する図である。移動装置２０は、制御システム２４、アクチュエータ２６、及び車輪２８を有する。
【００４０】
制御システム２４は、アクチュエータ２６に対して制御信号を送信することで、アクチュエータ２６を制御する。こうすることで、移動装置２０の移動などを制御する。制御システム２４は、任意の計算機（例えば、半導体チップなど）で実現される。例えば制御システム２４は、移動経路生成装置２０００と同様に、バス、プロセッサ、メモリ、ストレージデバイス、入出力インタフェース、及びネットワークインタフェースを有する。制御システム２４が有する入出力インタフェース４１００には、アクチュエータ２６が接続される。制御システム２４は、入出力インタフェース４１００を介して、アクチュエータ２６に対して制御信号を送信する。
【００４１】
制御システム２４は、例えば、第２移動経路情報を用いて移動装置２０の移動を制御する制御装置２２で実現される。ただし前述した通り、制御装置２２が移動装置２０の中に含まれないケースもある。この場合、制御システム２４は、移動装置２０の外部に設けられている制御装置２２から制御データを受信し、受信した制御データに従ってアクチュエータ２６を制御することにより、移動装置２０を第２移動経路に沿って移動させる。
【００４２】
アクチュエータ２６は、制御システム２４から受信する制御信号に基づいて、車輪２８を制御する。車輪２８は、移動装置２０を移動させるための機構である。なお、移動装置２０を移動させる機構には、車輪だけでなく、任意の機構を採用することができる。
【００４３】
＜処理の流れ＞
図６は、実施形態１の移動経路生成装置２０００によって実行される処理の流れを例示するフローチャートである。取得部２０２０は、センサ情報とプロパティ情報を取得する（Ｓ１０２）。生成部２０４０は、センサ情報を用いて、第１移動経路情報と環境情報を生成する（Ｓ１０４）。変換部２０６０は、プロパティ情報が示す移動装置２０のサイズと、環境情報に示される各物体の位置とに基づいて、第１移動経路を第２移動経路に変換する（Ｓ１０６）。出力部２０８０は、第２移動経路を示す第２移動経路情報を制御装置に対して出力する（Ｓ１０８）。
【００４４】
図６に示す一連の処理が実行されるタイミングは様々である。例えば図６に示す一連の処理は、携帯端末１０を第１移動経路に沿って移動させ終わった後に実行される。その他にも例えば、図６に示す一連の処理は、携帯端末１０を第１移動経路に沿って移動させている間に実行されてもよい。この場合、移動経路生成装置２０００は、携帯端末１０によって生成されたセンサ情報を繰り返し取得し、取得済みのセンサ情報で作成できる範囲で、第１移動経路や環境情報の生成を行っていく。
【００４５】
＜センサ情報について＞
センサ情報は、複数の時点それぞれについて、携帯端末１０に設けられたセンサ１２の検出結果を表す情報である。センサ情報が示す情報の種類は、センサ１２に含まれるセンサに依存する。例えばセンサ１２にカメラが含まれる場合、センサ情報は、複数の検出時点それぞれについて、カメラによって生成された撮像画像を示す。その他にも例えば、センサ１２がレーダやライダなど、センサ１２と物体との間の距離を測る測域センサが含まれる場合、センサ情報は、複数の検出時点それぞれについて、複数の方向と、各方向に存在する物体とセンサとの間の距離の組み合わせ（いわゆる距離画像）を示す。その他にも例えば、センサ１２に電子コンパスなどの地磁気センサが含まれる場合、センサ情報は、複数の時点それぞれについて、地磁気センサによって測定された磁界の方向及び大きさを示す。
【００４６】
＜センサ情報の取得：Ｓ１０２＞
取得部２０２０は、センサ情報を取得する（Ｓ１０２）。取得部２０２０がセンサ情報を取得する方法には、任意な方法を採用できる。例えば取得部２０２０は、センサ情報が記憶されている記憶装置にアクセスすることで、センサ情報を取得する。センサ情報が記憶されている記憶装置は、携帯端末１０の内部に設けられていてもよいし、携帯端末１０の外部に設けられていてもよい。その他にも例えば、取得部２０２０は、携帯端末１０から送信されるセンサ情報を受信することで、センサ情報を取得してもよい。
【００４７】
＜プロパティ情報の取得＞
取得部２０２０は、プロパティ情報を取得する（Ｓ１０２）。取得部２０２０がプロパティ情報を取得する方法には、任意の方法を採用できる。例えば取得部２０２０は、プロパティ情報が記憶されている記憶装置にアクセスすることで、プロパティ情報を取得する。プロパティ情報が記憶されている記憶装置は、移動装置２０の内部に設けられていてもよいし、移動装置２０の外部に設けられていてもよい。その他にも例えば、取得部２０２０は、移動装置２０から送信されるプロパティ情報を受信することで、プロパティ情報を取得してもよい。
【００４８】
プロパティ情報の生成方法には、任意の方法を採用できる。例えばプロパティ情報は、移動装置２０の設計データを利用することで、人手で生成することができる。その他にも例えば、プロパティ情報は、移動装置２０を立体スキャナでスキャンしたり、移動装置２０をカメラで撮像したりすることにより、移動装置２０の３次元形状を表すデータを得ることで生成できる。なお、立体スキャナやカメラなどを利用して物体の３次元形状を表すデータを生成する技術には、既存の技術を利用することができる。
【００４９】
＜第１移動経路情報と環境情報の生成：Ｓ１０４＞
生成部２０４０は、第１移動経路情報と環境情報を生成する（Ｓ１０４）。前述した通り、第１移動経路情報は、携帯端末１０が移動した経路である第１移動経路を表す時系列データである。これは、携帯端末１０の自己位置の時系列データに相当する。また、環境情報は、第１移動経路の周辺に位置する障害物５０の位置を表すデータである。言い換えれば、環境情報は、第１移動経路の周辺の３次元の空間データである。これは、携帯端末１０が移動した経路の周辺の環境地図に相当する。よって、第１移動経路情報と環境情報は、センサ情報を用いて携帯端末１０の自己位置推定及び環境地図の生成を行うアルゴリズムを実行することにより、生成することができる。
【００５０】
そこで例えば、生成部２０４０は、センサ情報を用いて、自己位置推定と環境地図の生成を同時に行う技術である SLAM（Simultaneous Localization and Mapping）を実現するアルゴリズムを実行する。これにより、携帯端末１０の自己位置の時系列データ（すなわち、第１移動経路）と、携帯端末１０が移動した経路の周辺に存在する障害物５０の位置を表す環境地図を生成することができる。
【００５１】
ここで、携帯端末１０の自己位置の推定には、地磁気センサを活用することが特に好適である。磁界は、建物の建材などに含まれる金属（例えば金属の柱）の影響を受ける。そのため、地磁気センサの検出結果から、このような磁界に影響を与える物体との相対距離を、高精度で把握することができる。
【００５２】
そこで例えば、移動装置２０を移動させる場所について、事前に見取り図などの地図（以下、事前地図）を用意し、事前地図の位置と地磁気情報とを関連付けた地磁気情報を用意しておく。生成部２０４０は、地磁気センサによる検出結果と地磁気情報を利用することで、事前地図上の自己位置を推定し、事前地図と環境地図とを対比することで、環境地図上の自己位置を推定する。
【００５３】
ただし、携帯端末１０の自己位置推定を推定する技術は、事前に用意した地磁気情報を利用する方法に限定されない。移動する物体に設けられているカメラ等のセンサの検出結果を利用して SLAM を実現する具体的なアルゴリズムには、既存の種々のアルゴリズムを利用することができる。
【００５４】
なお、SLAM の実行（すなわち、携帯端末１０の自己位置推定と環境地図の作成）は、携帯端末１０を移動させながら（すなわち、オンラインで）実行されてもよいし、携帯端末１０を移動させた後に（すなわち、オフラインで）実行されてもよい。いずれの場合でも、生成部２０４０は、センサの検出結果の時系列データを用いて SLAM を実行する。
【００５５】
＜＜環境地図の補正＞＞
生成部２０４０は、事前地図を利用して環境地図の補正を行ってもよい。事前地図は、例えば建物の見取り図などである。建物の見取り図などを利用すると、移動される蓋然性が低い物体（壁や柱など）については正確な位置を把握できる。一方、机や機材など、移動される蓋然性が低くない物体については、事前地図に含まれていない蓋然性が高い。
【００５６】
そこで例えば、生成部２０４０は、センサ情報から推定した各障害物５０の位置と、事前地図に示される各障害物５０の位置とを比較することで、センサ情報から推定した障害物５０と、事前地図に示される障害物５０との関連付けを行う。そして生成部２０４０は、センサ情報から推定した障害物５０の位置を、事前地図に示される障害物５０の位置に近づけるように補正する。この際、事前地図に示されている障害物５０の位置と同様の補正を、事前地図に示されていない障害物５０の位置にも施すことにより、環境地図全体の正確性を高めることができる。
【００５７】
＜経路の変換：Ｓ１０６＞
変換部２０６０は、環境情報とプロパティ情報を利用して、第１移動経路を第２移動経路に変換する（Ｓ１０６）。具体的には、変換部２０６０は、移動装置２０のサイズと障害物５０の位置に基づいて、第１移動経路を、移動装置２０が移動可能な経路に変換する。
【００５８】
例えば変換部２０６０は、移動装置２０が障害物５０に接触しないように、第１移動経路を第２移動経路に変換する。具体的には、変換部２０６０は、第１移動経路の各位置と障害物５０との間の距離を算出し、算出した距離と移動装置２０のサイズとに基づいて、第１移動経路上において移動装置２０が障害物５０と接触してしまう位置を特定する。以下、この位置を接触位置と呼ぶ。変換部２０６０は、移動装置２０のサイズに基づいて、接触位置を、移動装置２０が障害物５０と衝突しない位置に置き換える。そして、変換部２０６０は、接触位置が、移動装置２０が障害物５０と衝突しない位置に置き換えられた第１移動経路を、第２移動経路として生成する。
【００５９】
例えば移動装置２０が、平面視において直径が R の円形であるとする。この場合、変換部２０６０は、接触位置を、障害物５０から R+m 離れた位置に変更する。m はマージンであり、正の実数である。m は、予め変換部２０６０に設定されていてもよいし、変換部２０６０からアクセス可能な記憶装置に記憶させておいてもよい。また、移動装置２０の種類毎に、適切なマージン m をプロパティ情報に含めておいてもよい。
【００６０】
さらに変換部２０６０は、第１移動経路に任意の補間処理を施すことにより、第１移動経路をスムージングすることで、第２移動経路を生成してもよい。スムージングを施すことにより、移動装置２０のエネルギー効率を向上させることができる。経路のスムージングには、スプライン補間などの任意の補間技術を利用することができる。
【００６１】
例えば携帯端末１０を持った人がジグザグに移動すると、第１移動経路はジグザグな形状となる。この点、スムージングを施すことにより、第２移動経路を、直線又はなめらかな曲線とすることができる。
【００６２】
その他にも例えば、携帯端末１０を持った人が障害物５０の直前で大きく方向転換したとする。一般に、人は無人搬送車等と比べて柔軟な動きが可能であるため、速度を下げずに障害物の近くで大きく方向転換をすることが可能である。一方、無人搬送車等の移動装置２０は、最小回転半径が人よりも大きく、このように速度を下げずに大きな方向転換をすることは難しい。この点、スムージングを施すことにより、第２移動経路を、障害物５０から離れた位置から比較的小さな方向転換をする経路とすることができる。
【００６３】
なお、スムージングを施す際には、移動装置２０のサイズに加え、移動装置２０の動作に関する設計情報（例えば最小回転半径など）を得ることが好適である。移動装置２０の動作に関する設計情報は、プロパティ情報に予め含めておく。
【００６４】
ここで、変換部２０６０は、前述した、「第１移動経路上の接触位置を、移動装置２０が障害物５０に接触しない位置に置き換える」という処理を施した経路に対してスムージングを行うことが好適である。こうすることで、移動装置２０は、スムーズな移動で障害物５０を避けることができるようになる。
【００６５】
＜＜移動装置２０の速さについて＞＞
第２移動経路は、移動装置２０の速さに関する情報を含まなくてもよいし、含んでもよい。前者の場合、例えば第２移動経路は、第２移動経路上の位置を移動すべき順で順序づけたデータ (P1, P2, P3...) によって表される。ここで、Pi は環境地図上の座標である。これに対し、後者の場合、例えば第２移動経路は、第２移動経路上の各位置と、移動開始時点からの相対時点とを関連付けたデータ ((t1, P1), (t2, P2),...) で表される。ti は、環境地図上の位置 Pi に到達する時点を、移動開始時点からの相対時点で表す。
【００６６】
第２移動経路に移動装置２０の速さに関する情報を含める場合、移動装置２０の速さは、移動装置２０の経路の形状と、移動装置２０の動作に関する設計情報とを考慮して定めることが好適である。例えば、障害物５０を避けるために第２移動経路がカーブしている場合、変換部２０６０は、そのカーブを安定して曲がれる移動装置２０の速さの最大値を特定し、特定した最大値以下の速さ（例えば最大値に等しい速さ）で移動装置２０が移動するようにする。そのために、例えば、カーブの大きさ（例えばカーブの曲率半径）から、そのカーブを安定して曲がることができる移動装置２０の速さの最大値を算出する関数を予め定めておく。そして、変換部２０６０は、第２移動経路上のカーブの曲率半径を算出し、この曲率半径を上記関数に入力し、そのカーブを移動する際の移動装置２０の速さを関数から得られた値以下の値に設定する。
【００６７】
なお、第２移動経路は、環境地図上の座標の時系列データを示す代わりに、座標間を結ぶベクトルの時系列データを示してもよい。また、第２移動経路に速さの情報を含める場合、第２移動経路は、時刻と座標とを関連付けた時系列データを示す代わりに、時刻と速度ベクトルとを関連付けた時系列データを示してもよい。
【００６８】
＜＜往復の経路について＞＞
第２移動経路は、一方向の経路（往路）であってもよいし、往復の経路であってもよい。後者の場合、第１移動経路についても、一方向の経路であるケースと往復の経路であるケースが考えられる。以下、第２移動経路を往復の経路とするケースについて、第１移動経路が一方向の経路であるケースと、第１移動経路が往復の経路であるケースに分けて説明する。
【００６９】
＜＜＜第１移動経路が一方向の経路であるケース＞＞＞
第１移動経路が一方向の経路である場合、変換部２０６０は、第１移動経路に基づいて、往路と復路の双方を生成する。例えば変換部２０６０は、第１移動経路を前述した種々の方法で変換することで往路を生成し、生成した往路の方向を反転することで復路を生成する。
【００７０】
変換部２０６０は、往路と復路とが離間した状態に設定されるようにしてもよい。こうすることで、第２移動経路上を複数の移動装置２０が移動する場合に、往路上の移動装置２０と復路上の移動装置２０との衝突を避けることができる。往路と復路との間の距離は、移動装置２０のサイズに基づいて決定する。
【００７１】
図７は、第２移動経路に含まれる往路と復路を例示する図である。図７の上段では、往路を逆行する経路が復路となっている。そのため、経路の両端に矢印が示されている。一方、図７の下段では、往路と復路とが離間している。この例では、平面視における移動装置２０が直径 R の円であるため、往路と復路の間の距離を R+m としている。m は、任意の大きさのマージンである。
【００７２】
往路と復路を離間させる方法は、上述の方法に限定されない。例えば、第２移動経路が通路に沿っている場合、往路と復路をそれぞれ通路の左端に沿った経路と右端に沿った経路にするといった方法でも、往路と復路を離間させることができる。
【００７３】
ただし、往路と離間させて復路を生成すると、往路と復路で障害物５０の位置が互いに異なる。そこで変換部２０６０は、前述した方法で往路と離間した復路を生成した後、復路上に障害物５０が存在するか否かを判定し、障害物５０が存在する場合には、障害物５０を避けるように復路を修正する。障害物５０を避ける経路に修正する方法には、例えば前述した、接触位置を特定し、移動装置２０のサイズを考慮して、接触位置を障害物５０と接触しない位置に置き換えるという方法を採用できる。
【００７４】
＜＜＜第１移動経路が往復の経路であるケース＞＞＞
第１移動経路が往復の経路である場合、変換部２０６０は、第１移動経路に対して接触位置の置き換えやスムージングを施すことにより、往復の経路を示す第２移動経路を生成する。ただし、複数の移動装置２０を運用する場合には、変換部２０６０は、往路上の移動装置２０と復路上の移動装置２０が互いに接触しないように、第１移動経路を第２移動経路に変換することが好適である。
【００７５】
例えば変換部２０６０は、第１移動経路について接触位置の置き換えを行う際、移動装置２０自身も障害物５０として扱う。例えば、第２移動経路の往路の生成をする際、変換部２０６０は、第１移動経路における復路上に移動装置２０が障害物５０として存在すると仮定して、接触位置の特定を行う。こうすることで、移動装置２０が、復路上を移動する他の移動装置２０と接触しないように、第２移動経路を生成することができる。また、第２移動経路の往路を生成した後、変換部２０６０は、その往路上に移動装置２０が障害物５０として存在する仮定して接触位置の特定を行うことで、復路の生成を行う。
【００７６】
＜＜始点と終点について＞＞
第２移動経路の始点と終点は、例えば、ユーザ操作によって指定される。例えばユーザは、携帯端末１０に対して所定の第１操作を加えた後に、移動装置２０を移動させたい経路に沿って携帯端末１０を移動させる。第１操作が加えられた時点以後にセンサ１２から得られる検出結果を示すセンサ情報が、第１移動経路の生成に利用される。
【００７７】
例えば第１操作は、携帯端末１０の表示画面に表示されたユーザインタフェースをタップする操作である。例えば、携帯端末１０の表示画面に携帯端末１０に設けられたカメラによって生成される撮像画像を表示させる。ユーザは、撮像画像上の位置をタップする第１操作を加える。この操作によってタップされた撮像画像上の位置に対応する実空間上の位置を、第２移動経路の始点として扱う。
【００７８】
また、移動装置２０を移動させたい経路に沿って携帯端末１０を移動させ終わったら、ユーザは、携帯端末１０に対して所定の第２操作をさらに加える。第２操作が加えられた時点以前にセンサ１２から得られる検出結果を示すセンサ情報が、第１移動経路の生成に利用される。その他にも例えば、第２操作が加えられた際の携帯端末１０の位置を、第１移動経路の始点としてもよい。
【００７９】
例えば第２操作は、ユーザが撮像画像上の位置を二回連続でタップする操作である。ユーザが第２操作を加えることにより、そのタップされた撮像画像上の位置に対応する実空間上の位置が、第２移動経路の終点として扱われる。その他にも例えば、第２操作が加えられた際の携帯端末１０の位置を、第１移動経路の終点としてもよい。
【００８０】
なお、第１操作や第２操作は、表示画面に表示されたユーザインタフェースをタップする操作に限定されず、携帯端末１０に加えることができる任意の操作（例えば、任意のハードウエアボタンを押下する操作など）とすることができる。
【００８１】
＜＜一時停止点について＞＞
第２移動経路には、始点と終点に加え、一時停止点が設定されてもよい。一時停止点は、移動装置２０が終点に向かう途中で一時的に停止すべき場所である。移動装置２０は、一時停止点に到達すると停止し、所定条件が満たされたら移動を再開する。例えば所定条件は、移動装置２０に対して所定の操作（移動装置２０に設けられたボタンの押下など）が加えられることである。その他にも例えば、所定条件は、所定の時間停止することである。
【００８２】
一時停止点は、例えば前述した始点と終点の設定と同様に、ユーザ操作によって設定される。例えば、ユーザが携帯端末１０に対して第１操作を行って移動を開始した後、さらに第１操作を行うと、第１操作によって指定された場所が一時停止点として登録されるようにする。その他にも例えば、第１操作や第２操作とは異なる第３操作（例えば画面の長押し）により、一時停止点の指定ができるようにしてもよい。
【００８３】
一時停止点は複数設定されてもよい。この場合、携帯端末１０は、一時停止点を指定する操作を複数回受け付け、各操作で指定された場所をそれぞれ一時停止点として扱う。
【００８４】
携帯端末１０は、一時停止点において移動装置２０の移動を再開させる所定条件の指定をさらに受け付けてもよい。例えば携帯端末１０は、ユーザ操作と所定時間の経過のどちらを契機として移動装置２０の移動を再開するのかを指定する入力を受け付ける。また、所定時間の経過を条件とする場合、携帯端末１０は、その所定時間（移動装置２０を一時停止点で停止させる時間）を指定する入力を受け付けてもよい。ただし、移動装置２０の移動を再開させる所定条件は、必ずしもユーザ操作によって指定できるようにする必要は無く、固定で設定されてもよい。
【００８５】
ここで、変換部２０６０により、第１移動経路上の一時停止点は、第２移動経路上の一時停止点に変換される。例えば変換部２０６０は、第２移動経路上の座標のうち、第１経路上の一時停止点との距離が最小である座標を、第２移動経路上の一時停止点として設定する。ただし、変換部２０６０は、第１移動経路を第２移動経路に変換する際に、一時停止点の位置を変化させないようにしてもよい。すなわち、第２移動経路は、第１移動経路上の一時停止点を必ず通過するように生成されてもよい。
【００８６】
一時停止点の設定を可能にする場合、第２移動経路情報には、第２移動経路に加え、第２移動経路上の一時停止点を示す情報をさらに含める。制御装置２２は、第２移動経路情報に示される一時停止点に到達したら、所定条件が満たされるまで移動装置２０を停止させる。そして、所定条件が満たされたら、制御装置２２は、移動装置２０の移動を再開させる。なお、所定条件が固定でなく、ユーザによって指定可能である場合、第２移動経路情報には、一時停止点ごとの所定条件をさらに含める。
【００８７】
＜第２移動経路情報の出力：Ｓ１０８＞
出力部２０８０は、第２移動経路を表す第２移動経路情報を、移動装置２０の制御装置２２が取得可能な態様で出力する。この方法には、様々な方法を採用できる。例えば出力部２０８０は、近接感知センサを利用した無線通信により、制御装置２２に対して第２移動経路情報を送信する。近接感知センサを利用した無線通信には、例えば、NFC（Near Field Communication）や Bluetooth（登録商標）などを利用することができる。
【００８８】
例えば携帯端末１０で第２経路情報を生成し、制御装置２２が移動装置２０に含まれているとする。この場合、携帯端末１０と移動装置２０のそれぞれに、近接感知センサを設けておく。そして、携帯端末１０を移動装置２０に近づける（例えば、携帯端末１０で移動装置２０の所定位置に触れる）ことにより、携帯端末１０から制御装置２２に対して、第２移動経路情報を出力する。
【００８９】
第２移動経路情報を出力する方法は、近接感知センサを利用する方法に限定されない。例えば出力部２０８０は、制御装置２２のアドレス（IP（Internet Protocol）アドレスなど）を指定して第２移動経路情報を送信することにより、制御装置２２に対して第２移動経路情報を送信してもよい。例えば複数の移動装置２０に同じ移動経路を設定したい場合、これら複数の移動装置２０を制御する複数の制御装置２２のアドレスを全て指定した上で第２移動経路情報を送信することにより、一度の操作で複数の制御装置２２に第２移動経路情報を送信することができる。
【００９０】
その他にも例えば、出力部２０８０は、制御装置２２からアクセス可能な記憶装置に第２移動経路情報を記憶させる。制御装置２２は、この記憶装置にアクセスすることで、第２移動経路情報を取得する。なお、出力部２０８０は、記憶装置に第２移動経路情報を記憶させた際、その旨を制御装置２２に通知するようにしてもよい。
【００９１】
また、記憶装置に記憶された第２移動経路情報を、任意の装置を利用して、制御装置２２に送信するようにしてもよい。例えば、第２移動経路情報を、ネットワーク上のサーバに記憶させるとする。この場合、任意の携帯端末などを利用して、サーバに記憶されている第２移動経路情報の選択、及び制御装置２２のアドレスの選択を行うことにより、選択した第２移動経路情報を、選択した制御装置２２に送信することができる。
【００９２】
＜第２移動経路を生成できないケースについて＞
ここで、変換部２０６０が第１移動経路を第２移動経路に変換できないケースがある。例えば、移動装置２０が障害物５０を避けられないケースなどである。図８は、移動装置２０が障害物５０を避けられないケースを例示する図である。図８の例では、人３０が携帯端末１０を持って移動することで、第１移動経路情報が生成される。また、障害物５０として、壁６０−１及び壁６０−２、並びに機材７０が存在する。
【００９３】
ここで、人３０は、機材７０と壁６０−２の間を通過している。しかしながら、機材７０と壁６０−２との間の距離は、人３０の幅よりは長いものの、移動装置２０の幅より短い。そのため、移動装置２０は、機材７０と壁６０−２の間を通過することができない。よって、変換部２０６０は、第１移動経路を、移動装置２０を移動させる第２移動経路に変換することができない。
【００９４】
このように第２移動経路情報を生成することができない場合、出力部２０８０は、第２移動経路情報を生成することができない旨のメッセージを示すエラー情報を出力することが好適である。ここで、エラー情報には、上記メッセージに加え、第２移動経路情報を生成できない理由を示す情報を含むことが好適である。例えば出力部２０８０は、生成部２０４０によって生成された環境地図に、第１移動経路と、第１移動経路において移動装置２０を通過させることができない場所とを示した画像データを生成し、生成した画像データをエラー情報に含める。
【００９５】
図９は、エラー情報を例示する図である。図９のエラー情報は、移動装置２０の移動経路を生成できない旨のメッセージ８０、及び画像データ９０を含んでいる。画像データ９０には、地図上に第１移動経路が描画されている。さらに、画像データ９０には、移動装置２０が通過できない場所（第２移動経路を生成できなかった理由を示す情報）が示されている。
【００９６】
エラー情報を参照することにより、第１移動経路の作成者（携帯端末１０のユーザなど）が様々な対策を講じることが可能となる。例えば、移動装置２０が通過できないと判明した場所が、移動可能な荷物などの障害物が原因で狭くなっている場所である場合、その荷物などを別の場所に移動させることで、移動装置２０を通過させることが可能になる。すなわち、第２移動経路の生成が可能になる。その他にもたとえば、第１移動経路上に移動装置２０が通過できない通路が存在する場合に、別の通路を利用することで、移動装置２０を目的地に移動させることができるとする。この場合、当該別の通路を利用して目的地に移動する経路を第１移動経路とするように、携帯端末１０を再度移動させながら第１移動経路を生成し直すことにより、第２移動経路を生成することができるようになる。
【００９７】
エラー情報の出力先は任意である。例えば出力部２０８０は、携帯端末１０に対してエラー情報を送信する。その他にも例えば、出力部２０８０は、携帯端末１０やその他の装置からアクセス可能な任意の記憶装置にエラー情報を記憶させてもよい。
【００９８】
＜制御装置２２による移動装置２０の制御＞
制御装置２２は、第２移動経路情報を用いて、移動装置２０の移動を制御する。移動装置２０には、自己位置推定に利用できるセンサを設けておく。制御装置２２は、移動装置２０に設けられているセンサの検出結果に基づいて移動装置２０の自己位置推定を行うことで、環境地図上における移動装置２０の位置を推定する。環境地図は、例えば、第２移動経路情報と共に移動経路生成装置２０００から提供される。この場合、移動経路生成装置２０００は、第２移動経路情報と共に環境地図を出力する。そして制御装置２２は、移動装置２０のアクチュエータを制御することで、環境地図上における移動装置２０の位置が第２移動経路に沿うように、移動装置２０の移動を制御する。なお、自己位置推定を行いながら移動装置を所定の経路に沿って移動させる具体的な技術には、既存の技術を利用できる。
【００９９】
［実施形態２］
＜概要＞
実施形態２の移動経路生成装置２０００は、第２移動経路情報を利用した移動装置２０の移動の実績に基づいて、第２移動経路を更新する機能を有する。例えば、移動装置２０が荷物を載せて移動する無人搬送車である場合に、移動装置２０が第２移動経路上を移動した結果、途中で荷物を落としたとする。この場合、移動装置２０から荷物が落下しないように第２移動経路を更新することが好適である。例えば、障害物５０を避けるために大きくカーブする場所で荷物が落下したとすれば、そのカーブを緩くしたり、そのカーブでの速さを遅くしたりすることで、荷物の落下を防げると考えられる。
【０１００】
そこで実施形態２の移動経路生成装置２０００は、移動装置２０の移動の実績に関する実績情報を取得し、実績情報に基づいて第２移動経路情報が示す第２移動経路を更新する。こうすることで、移動装置２０がより適切に移動するようにすることができる。
【０１０１】
以下、本実施形態の移動経路生成装置２０００について、さらに詳細に説明する。
【０１０２】
＜機能構成の例＞
図１０は、実施形態２の移動経路生成装置２０００を例示するブロック図である。実施形態２の移動経路生成装置２０００は、更新部２１００をさらに有する。更新部２１００は、移動装置２０の移動実績を表す実績情報を取得し、実績情報に基づいて、第２経路情報が示す第２移動経路を更新する。
【０１０３】
＜ハードウエア構成の例＞
実施形態２の移動経路生成装置２０００のハードウエア構成は、例えば、実施形態１の移動経路生成装置２０００のハードウエア構成と同様に、図３で表される。ただし、実施形態２のストレージデバイス１０８０は、実施形態２の移動経路生成装置２０００の機能を実現するプログラムモジュールをさらに含む。
【０１０４】
＜処理の流れ＞
図１１は、実施形態２の移動経路生成装置２０００によって実行される処理の流れを例示するフローチャートである。取得部２０２０は、実績情報と第２移動経路情報を取得する（Ｓ２０２）。更新部２１００は、実績情報を用いて、第２移動経路情報が示す第２移動経路を更新する（Ｓ２０４）。出力部２０８０は、更新後の第２移動経路情報を出力する（Ｓ２０６）。
【０１０５】
＜実績情報について＞
実績情報は、移動装置２０の移動実績を示す。例えば実績情報は、移動装置２０に載せられていた荷物が移動装置２０から落下した位置や、移動装置２０に対して大きな衝撃が加わった位置を示す。移動装置２０に対する大きな衝撃は、例えば、床の段差などに起因して生じると考えられる。
【０１０６】
実績情報は、例えば、移動装置２０に設けられているセンサを利用して生成することができる。そして、例えば制御装置２２が、移動装置２０に設けられているセンサの検出結果に基づいて、荷物が落下した位置などを特定する。
【０１０７】
例えば、移動装置２０の荷台に重量センサを設けておく。制御装置２２は、重量センサの値が減少したことを検出することにより、荷物が落下した位置を把握することができる。また、移動装置２０に対して大きな衝撃が加わると、重量センサの値が振動したりするなど、重量センサの検出値に変化が生じると考えられる。そこで例えば、制御装置２２は、重量センサの値が所定値以上の大きさで振動したことを検出することにより、移動装置２０に対して大きな衝撃が加わった位置を特定する。
【０１０８】
なお、実績情報を生成する装置は任意の装置でよく、制御装置２２でなくてもよい。また、実績情報は、人手で生成されてもよい。
【０１０９】
＜実績情報の取得：Ｓ２０２＞
取得部２０２０は、実績情報を取得する（Ｓ２０２）。取得部２０２０が実績情報を取得する方法には、様々な方法を採用できる。例えば取得部２０２０は、実績情報が記憶されている記憶装置にアクセスすることで、実績情報を取得する。この記憶装置は、取得部２０２０からアクセス可能な任意の記憶装置である。例えばこの記憶装置は、実績情報を生成した装置に設けられる。その他にも例えば、取得部２０２０は、他の装置（例えば、実績情報を生成した装置）から送信された実績情報を受信することで、実績情報を取得する。
【０１１０】
＜第２移動経路情報の取得：Ｓ２０２＞
取得部２０２０は、第２移動経路情報を取得する。ここで、第２移動経路は繰り返し更新されるため、更新部２１００は、更新対象の第２移動経路情報として、最新の第２移動経路情報を取得する必要がある。最新の第２移動経路情報を取得する方法には、様々な方法を採用できる。例えば取得部２０２０は、更新対象の第２移動経路情報として、制御装置２２から、制御装置２２に現在設定されている第２移動経路情報を取得する。その他にも例えば、出力部２０８０が制御装置２２へ最後に出力した第２移動経路情報を、取得部２０２０からアクセス可能な記憶装置に記憶させておく。そして、取得部２０２０は、この記憶装置にアクセスすることで、更新対象とする第２移動経路情報を取得する。
【０１１１】
＜第２移動経路情報の更新：Ｓ２０４＞
更新部２１００は、実績情報を用いて第２移動経路を更新する。前述した様に、実績情報は、荷物が落下したり、移動装置２０に対して大きな振動が加わった位置を示す。そこで更新部２１００は、実績情報が示す位置又はその周辺の位置における移動装置２０の動作が比較的緩やかになるように、第２移動経路を更新する。
【０１１２】
例えば実績情報が示す位置やその周辺（例えば前後所定個の位置）で第２移動経路がカーブしている場合、更新部２１００は、そのカーブの曲率半径を小さくする（例えば、１より小さい所定倍する）ように、第２移動経路を更新する。
【０１１３】
その他にも例えば、第２移動経路が移動装置２０の速さの情報を含む場合、更新部２１００は、実績情報が示す位置における移動装置２０の速さを遅くする（例えば、１より小さい所定倍する）ように、第２移動経路を更新する。また、実績情報が示す位置やその周辺で、移動装置２０の速さが変化している場合、更新部２１００は、その速さの変化を小さくする（例えば、１より小さい所定倍する）ように、第２移動経路を更新する。
【０１１４】
＜第２移動経路情報の出力：Ｓ２０６＞
出力部２０８０は、更新された第２移動経路情報を移動装置２０に出力する（Ｓ２０６）。ここで、第２移動経路情報を移動装置２０に対して出力する方法は、実施形態１で説明した通りである。
【０１１５】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【０１１６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得する取得部と、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成する生成部と、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換する変換部と、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する出力部と、を備える
移動経路生成装置。
２．  前記変換部は、前記第１移動経路上の位置のうち、その位置に前記移動装置を移動させると前記移動装置が他の物体と接触する位置を特定し、前記特定した位置を、前記他の物体から前記移動装置のサイズ以上に離間した位置に変更することで、前記第１移動経路を前記第２移動経路に変換する、１．に記載の移動経路生成装置。
３．  前記変換部は、前記第１移動経路に対してスムージングを行うことにより、第１移動経路を第２移動経路に変換する、１．又は２．に記載の移動経路生成装置。
４．  前記第２移動経路は、往復の経路を表し、
前記変換部は、前記第２移動経路の往路と復路を、前記移動装置のサイズ以上に離間した状態に変換する、請求項１乃至３いずれか一項に記載の移動経路生成装置。
５．  前記生成部は、前記センサ情報を用いて SLAM（Simultaneous Localization and Mapping）を実行することにより、前記経路情報と前記環境情報を生成する、１．乃至４．いずれか一つに記載の移動経路生成装置。
６．  前記センサは地磁気センサを含み、
前記生成部は、第１移動経路の周辺の地図上の地磁気に関する地磁気情報を取得し、前記地磁気センサの検出結果と前記地磁気情報を利用して、前記地磁気センサが設けられた前記携帯端末の自己位置推定を行う、５．に記載の移動経路生成装置。
７．  前記出力部は、前記変換部が前記第１移動経路を前記第２移動経路に変換できなかった場合に、前記第１移動経路を前記第２移動経路に変換できない旨を示すエラー情報を出力する、１．に記載の移動経路生成装置。
８．  前記エラー情報は、前記移動装置が通過できない前記第１移動経路上の位置を示す情報を含む、７．に記載の移動経路生成装置。
９．  前記移動装置は無人搬送車（AGV: Automated Guided Vehicle）である、１．乃至８．いずれか一つに記載の移動経路生成装置。
１０．  当該移動経路生成装置は、前記移動装置の内部に設けられている、１．乃至９．いずれか一つに記載の移動経路生成装置。
【０１１７】
１１．  コンピュータによって実行される移動経路生成方法であって、
移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得し、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成し、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換し、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する、
移動経路生成方法。
１２．  前記変換において、前記第１移動経路上の位置のうち、その位置に前記移動装置を移動させると前記移動装置が他の物体と接触する位置を特定し、前記特定した位置を、前記他の物体から前記移動装置のサイズ以上に離間した位置に変更することで、前記第１移動経路を前記第２移動経路に変換する、１１．に記載の移動経路生成方法。
１３．  前記変換おいて、前記第１移動経路に対してスムージングを行うことにより、第１移動経路を第２移動経路に変換する、１１．又は１２．に記載の移動経路生成方法。
１４．  前記第２移動経路は、往復の経路を表し、
前記変換において、前記第２移動経路の往路と復路を、前記移動装置のサイズ以上に離間させる、１１．乃至１３．いずれか一つに記載の移動経路生成方法。
１５．  前記生成において、前記センサ情報を用いて SLAM（Simultaneous Localization and Mapping）を実行することにより、前記経路情報と前記環境情報を生成する、１１．乃至１４．いずれか一つに記載の移動経路生成方法。
１６．  前記センサは地磁気センサを含み、
前記生成において、第１移動経路の周辺の地図上の地磁気に関する地磁気情報を取得し、前記地磁気センサの検出結果と前記地磁気情報を利用して、前記地磁気センサが設けられた前記携帯端末の自己位置推定を行う、１５．に記載の移動経路生成方法。
１７．  前記出力において、前記変換において前記第１移動経路を前記第２移動経路に変換できなかった場合に、前記第１移動経路を前記第２移動経路に変換できない旨を示すエラー情報を出力する、１１．に記載の移動経路生成方法。
１８．  前記エラー情報は、前記移動装置が通過できない前記第１移動経路上の位置を示す情報を含む、１７．に記載の移動経路生成方法。
１９．  前記移動装置は無人搬送車（AGV: Automated Guided Vehicle）である、１１．乃至１８．いずれか一つに記載の移動経路生成方法。
２０．  当該移動経路生成方法は、前記移動装置の内部に設けられている、１１．乃至１９．いずれか一つに記載の移動経路生成方法。
【０１１８】
２１．  １１．乃至２０．いずれか一つに記載の移動経路生成方法の各動作をコンピュータに実行させるプログラム或いはそのプログラムが格納されている記録媒体。
【０１１９】
２２．  移動装置であって、
移動経路生成装置によって生成された経路情報を取得し、前記取得した経路情報が示す移動経路を当該移動装置が移動するように、当該移動装置の動作を制御する制御部を有し、
前記移動経路生成装置は、
移動装置が移動すべき経路に沿って移動した携帯端末が有するセンサから得られるセンサ情報と、前記移動装置のサイズを示すプロパティ情報とを取得し、
前記センサ情報を用いて、前記センサが移動した経路である第１移動経路と、前記第１移動経路の周囲に存在する物体の位置に関する環境情報とを生成し、
前記プロパティ情報が示す前記移動装置のサイズと、前記環境情報に示される各物体の位置とに基づいて、前記第１移動経路を、前記移動装置が実際に移動すべき第２移動経路に変換し、
前記第２移動経路を示す経路情報を、前記移動装置の移動を制御する制御装置が取得可能な態様で出力する、移動装置。
【符号の説明】
【０１２０】
１０  携帯端末
１２  センサ
２０  移動装置
２２  制御装置
２４  制御システム
２６  アクチュエータ
２８  車輪
３０  人
５０  障害物
７０  機材
８０  メッセージ
９０  画像データ
１０２０、３０２０、４０２０  バス
１０４０、３０４０、４０４０  プロセッサ
１０６０、３０６０、４０６０  メモリ
１０８０、３０８０、４０８０  ストレージデバイス
１１００、３１００、４１００  入出力インタフェース
１１２０、３１２０、４１２０  ネットワークインタフェース
２０００  移動経路生成装置
２０２０  取得部
２０４０  生成部
２０６０  変換部
２０８０  出力部
２１００  更新部
４１００  入出力インタフェース
【図１】
2020042516.tif 000003
【図２】
2020042516.tif 000004
【図３】
2020042516.tif 000005
【図４】
2020042516.tif 000006
【図５】
2020042516.tif 000007
【図６】
2020042516.tif 000008
【図７】
2020042516.tif 000009
【図８】
2020042516.tif 000010
【図９】
2020042516.tif 000011
【図１０】
2020042516.tif 000012
【図１１】
2020042516.tif 000013