IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

特開2022-42619情報処理装置と情報処理方法およびプログラム
<>
  • 特開-情報処理装置と情報処理方法およびプログラム 図1
  • 特開-情報処理装置と情報処理方法およびプログラム 図2
  • 特開-情報処理装置と情報処理方法およびプログラム 図3
  • 特開-情報処理装置と情報処理方法およびプログラム 図4
  • 特開-情報処理装置と情報処理方法およびプログラム 図5
  • 特開-情報処理装置と情報処理方法およびプログラム 図6
  • 特開-情報処理装置と情報処理方法およびプログラム 図7
  • 特開-情報処理装置と情報処理方法およびプログラム 図8
  • 特開-情報処理装置と情報処理方法およびプログラム 図9
  • 特開-情報処理装置と情報処理方法およびプログラム 図10
  • 特開-情報処理装置と情報処理方法およびプログラム 図11
  • 特開-情報処理装置と情報処理方法およびプログラム 図12
  • 特開-情報処理装置と情報処理方法およびプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022042619
(43)【公開日】2022-03-15
(54)【発明の名称】情報処理装置と情報処理方法およびプログラム
(51)【国際特許分類】
   G01C 21/34 20060101AFI20220308BHJP
   G05D 1/02 20200101ALI20220308BHJP
【FI】
G01C21/34
G05D1/02 K
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2020148083
(22)【出願日】2020-09-03
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100093241
【弁理士】
【氏名又は名称】宮田 正昭
(74)【代理人】
【識別番号】100101801
【弁理士】
【氏名又は名称】山田 英治
(74)【代理人】
【識別番号】100095496
【弁理士】
【氏名又は名称】佐々木 榮二
(74)【代理人】
【識別番号】100086531
【弁理士】
【氏名又は名称】澤田 俊夫
(74)【代理人】
【識別番号】110000763
【氏名又は名称】特許業務法人大同特許事務所
(72)【発明者】
【氏名】岡森 厚
(72)【発明者】
【氏名】鈴木 健斗
【テーマコード(参考)】
2F129
5H301
【Fターム(参考)】
2F129AA03
2F129BB06
2F129DD03
2F129DD31
2F129DD63
2F129DD64
2F129FF12
2F129FF36
5H301AA01
5H301BB05
5H301CC03
5H301CC06
5H301CC10
5H301DD07
5H301DD17
5H301EE13
5H301GG08
5H301GG09
5H301GG16
5H301GG17
(57)【要約】
【課題】移動装置を効率よく運用可能とする。
【解決手段】サーバ30の経路/軌道計画部37は、移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点を判別する処理と、軌道起点から移動効率が最も高い通過点に向かう軌道を設定する処理と、移動効率が最も高い通過点に軌道起点を更新する処理とを行う。また、経路/軌道計画部37は、これらの処理を移動効率が最も高い通過点が目的地となるまで繰り返すことで、目的地まで効率よく移動できる軌道を示す軌道計画を生成する。経路/軌道計画部37で生成された軌道計画は、通信部を介して移動装置に送信する。サーバ30は、移動装置20を効率よく運用できるようになる。
【選択図】 図2
【特許請求の範囲】
【請求項1】
移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点の判別と、前記軌道起点から前記移動効率が最も高い通過点に向かう軌道の設定と、前記移動効率が最も高い通過点への前記軌道起点の更新とを行い、前記目的地への軌道を示す軌道計画を生成する軌道計画部
を備える情報処理装置。
【請求項2】
前記軌道計画部は、前記移動装置が前記軌道起点から前記移動効率を判別する判別通過点に移動するときの前記他の移動装置の位置に基づいて、前記非干渉範囲を特定する
請求項1に記載の情報処理装置。
【請求項3】
前記移動装置と前記他の移動装置が移動する経路にノードが設定されており、
前記軌道計画部は、前記判別通過点に対する移動方向の直近の前記ノードと、前記他の移動装置に対する移動方向の直近の前記ノードとに基づいて、前記非干渉範囲を特定する
請求項2に記載の情報処理装置。
【請求項4】
前記軌道計画部は、前記移動装置が移動する自車線について前記非干渉範囲を特定する
請求項1に記載の情報処理装置。
【請求項5】
前記軌道計画部は、前記移動効率が最も高い通過点を通過点の間引き結果に基づいて判別する
請求項4に記載の情報処理装置。
【請求項6】
前記軌道計画部は、前記軌道起点と前記移動効率を判別する判別通過点との間に位置する通過点の間引きを行うことで移動時間が短くなる場合、前記判別通過点を前記移動効率が最も高い通過点とする
請求項5に記載の情報処理装置。
【請求項7】
前記軌道計画部は、軌道起点と前記判別通過点との間に障害物が無い場合に前記判別通過点を前記移動効率が最も高い通過点とする
請求項6に記載の情報処理装置。
【請求項8】
前記軌道計画部は、前記移動装置が移動する自車線と前記他の移動装置が移動する他車線について前記非干渉範囲を特定する
請求項1に記載の情報処理装置。
【請求項9】
前記軌道計画部は、前記非干渉範囲に含まれる前記自車線の通過点と前記他車線の通過点から、前記移動効率が最も高い通過点を判別する
請求項8に記載の情報処理装置。
【請求項10】
前記軌道計画部は、前記軌道起点が前記他車線にあり、前記他車線における次の通過点が前記非干渉範囲にない場合、前記移動効率を判別する判別通過点または前記軌道起点を前記自車線の通過点とする
請求項9に記載の情報処理装置。
【請求項11】
移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点の判別と、前記軌道起点から前記移動効率が最も高い通過点に向かう軌道の設定と、前記移動効率が最も高い通過点への前記軌道起点の更新とを行い、前記目的地への軌道を示す軌道計画を軌道計画部で生成すること
を含む情報処理方法。
【請求項12】
移動装置についての軌道計画の生成をコンピュータで実行させるプログラムであって、
前記移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点を判別する手順と
前記軌道起点から前記移動効率が最も高い通過点に向かう軌道を設定する手順と、
前記移動効率が最も高い通過点へ前記軌道起点を更新する手順と
を前記コンピュータで実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この技術は、情報処理装置と情報処理方法およびプログラムに関し、移動装置を効率よく運用可能とする。
【背景技術】
【0002】
従来、移動装置を用いたシステムが様々な目的、例えば物品の搬送、設備の点検、警備、などで用いられている。移動装置が移動するためには、環境上の静的・動的障害物(他の移動ロボットも含む)に衝突しないように目的地まで到達する必要がある。そこで、例えば特許文献1は、複数のロボットが動作する任意の環境を示す地図の生成や更新と、環境内の1または複数のロボットよって使用されるデータの提供が、マネージャによって行われている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2009/102970号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、移動可能領域の幅が広い場合、マネージャは、複数の車線を設けて移動装置が移動する車線を指定すれば、移動装置のすれ違い等を容易に行わせることができる。また、マネージャは、移動装置が通過すべき座標位置である通過点(以下「ウェイポイント」という)を用いて車線を構成して、車線を示すウェイポイント列を移動装置で通行させれば、競合制御を行うことなく複数の移動装置のすれ違い等を行わせることが可能となる。
【0005】
しかし、車線が指定されると、移動装置は例えば指定された車線よりも内側の車線を通行して目的地までの移動距離を短くすることができない。また、詳細な移動制御を行うためにウェイポイントが多く設けられると、移動装置はウェイポイントを用いた軌道制御の負担が大きい。したがって、マネージャは、移動装置を効率よく運用することができないおそれがある。
【0006】
そこで、この技術では、移動装置を効率よく運用可能とする情報処理装置と情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
この技術の第1の側面は、
移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点の判別と、前記軌道起点から前記移動効率が最も高い通過点に向かう軌道の設定と、前記移動効率が最も高い通過点への前記軌道起点の更新とを行い、前記目的地への軌道を示す軌道計画を生成する軌道計画部
を備える情報処理装置にある。
【0008】
この技術において、軌道計画部は、軌道の設定対象である移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点を判別する。非干渉範囲は、移動装置が軌道起点から移動効率の判別通過点に移動するときの他の移動装置の位置に基づいて特定する。例えば、移動装置と他の移動装置が移動する経路にノードが設定されており、軌道計画部は、判別通過点に対する移動方向の直近のノードと、他の移動装置に対する移動方向の直近のノードとに基づいて、非干渉範囲を特定する。
【0009】
軌道計画部は、移動装置が移動する自車線について非干渉範囲を特定して、例えば軌道起点と移動効率の判別通過点との間に位置する通過点の間引きを行うことで移動距離が短くなる場合、判別通過点を移動効率が最も高い通過点とする。また、軌道起点と通過点の間引きを行うことで移動距離が短くなる判別通過点との間に障害物が無い場合に判別通過点を移動効率が最も高い通過点とする。
【0010】
また、軌道計画部は、移動装置が移動する自車線と他の移動装置が移動する他車線について非干渉範囲を特定してもよい。この場合、軌道計画部は、非干渉範囲に含まれる自車線の通過点と他車線の通過点から、移動効率が最も高い通過点を判別する。軌道計画部は、軌道起点が他車線にあり、他車線における次の通過点が非干渉範囲にない場合、移動効率を判別する判別通過点または前記軌道起点を自車線の通過点とする。
【0011】
この技術の第2の側面は、
移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点の判別と、前記軌道起点から前記移動効率が最も高い通過点に向かう軌道の設定と、前記移動効率が最も高い通過点への前記軌道起点の更新とを行い、前記目的地への軌道を示す軌道計画を軌道計画部で生成すること
を含む情報処理方法にある。
【0012】
この技術の第3の側面は、
移動装置についての軌道計画の生成をコンピュータで実行させるプログラムであって、
前記移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点を判別する手順と
前記軌道起点から前記移動効率が最も高い通過点に向かう軌道を設定する手順と、
前記移動効率が最も高い通過点へ前記軌道起点を更新する手順と
を前記コンピュータで実行させるプログラムにある。
【0013】
なお、本技術のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
【図面の簡単な説明】
【0014】
図1】移動装置制御システムの構成を示した図である。
図2】移動装置とサーバの構成を例示した図である。
図3】移動可能領域地図を例示した図である。
図4】Voronoi領域分割の分割結果を示した図である。
図5】車線数情報を付与した境界線を示した図である。
図6】車線数情報を有する経路地図を例示した図である。
図7】車線地図の生成を説明するための図である。
図8図6に示す経路地図を用いて生成した車線地図を示した図である。
図9】軌道計画の生成動作を示すフローチャートである。
図10】車線変更を行わない場合の軌道計画の具体例を示した図である。
図11】軌道計画の他の生成動作を示すフローチャートである。
図12】車線変更を行う場合の軌道計画の具体例を示した図である。
図13】車線変更を行う場合の軌道計画の他の具体例を示した図である。
【発明を実施するための形態】
【0015】
以下、本技術を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.移動装置制御システムの構成
2.移動装置とサーバの構成
3.サーバの動作
3-1.車線地図の生成動作について
3-2.軌道計画の生成動作について
3-3.軌道計画の他の生成動作について
4.応用例
【0016】
<1.移動装置制御システムの構成>
図1は、移動装置制御システムの構成を示している。移動装置制御システム10は、複数の移動装置20とサーバ30を用いて構成されている。
【0017】
移動装置制御システム10では、移動装置20を用いて行う移動タスクをサーバ30で受け付けて、サーバ30は移動タスクを実行するための軌道計画を生成して移動装置20に提供する。移動装置20は、サーバ30から供給された軌道計画で示された軌道を移動することで移動タスクを実行する。
【0018】
移動タスクは、ロボットや無人搬送車(AGV:Automated Guided Vehicle),車両等である移動装置20の移動を伴うタスクである。また、移動タスクは、任意の移動装置または所定の機能や能力を有する移動装置、あるいは指定された移動装置等で行う場合がある。さらに、移動タスクは、単にある地点に到達してタスクを行う(検査など)場合もあれば、更に別の地点への移動(搬送など)等を行う場合もある。
【0019】
サーバ30は、ユーザ等から入力された移動タスクを、どの移動装置に割り当てるか(もしくは既存の割り当てを変更するか)を決めるタスク計画を行う。タスク計画は、特に限定することなく様々な手法を用いてもよい。例えば、任意の移動装置を利用する場合には、移動タスクの目的地に最も近い空き移動装置を選ぶ方法や、空き移動装置が無い場合は最も割り当てられているタスクが少ない移動装置を選ぶ方法等を用いる。
【0020】
サーバ30は、移動タスクを割り当てる移動装置を決定して車線地図を元に軌道計画を生成する。車線地図は経路地図に基づいて生成する。経路地図は、例えば環境に中間目的地候補となる中継ノード群と、直接通行可能な中継ノード間を結んだエッジ群で構成されたトポロジカルマップとして表現される。車線地図は、各ノードで移動装置が通行可能な車線数と等しい数のエッジを設けて両端にノード(以下、ウェイポイント(Way Point)ともいう)を設定して、ウェイポイントとエッジの車線数が1とされている。
【0021】
軌道計画は、車線地図に基づき現在地と目的地の間で、どのウェイポイントを経由するかを決定する。軌道計画は、例えばダイクストラアルゴリズムなどの手法を用いてウェイポイントを選択する。また、軌道計画は、他の移動装置の軌道計画を変えずに、軌道の設定対象である移動装置の軌道計画を追加する方法でもよく、他の移動装置の軌道計画の見直しを含めて全体の最適化を行ってもよい。
【0022】
さらに、サーバ30は、移動タスクが割り当てられたことにより軌道の設定対象である移動装置について、軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点の判別と、軌道起点から移動効率が最も高い通過点に向かう軌道の設定と、移動効率が最も高い通過点への前記軌道起点の更新とを行い、目的地への軌道を示す軌道計画を生成する。サーバ30は、生成した軌道計画を移動装置20へ送信して、移動タスクを移動装置20で効率よく行えるようにする。
【0023】
<2.移動装置とサーバの構成>
次に移動装置(例えば無軌道の無人搬送車)とサーバの構成について説明する。図2は、移動装置とサーバの構成を例示している。
【0024】
移動装置20は、センサ部21、周辺地図生成部22、自己位置推定部23、通信部24、軌道追従部25、駆動制御部26、駆動部27を有している。
【0025】
センサ部21は、外界センサや内界センサを有している。センサ部21の外界センサは、移動装置の周辺環境に関する情報(例えば周囲の物体等に関する情報)を取得する。外界センサは、例えば測距センサ(LIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)やTOF(Time Of Flight),ステレオカメラ等)が用いられる。外界センサは、周囲の物体までの距離を示すセンシングデータ(「測距データ」ともいう)を生成して周辺地図生成部22や自己位置推定部23へ出力する。また、センサ部21の内界センサは、移動装置自身に関する情報(例えば移動装置の位置や姿勢およびその変化等を示す情報)を取得する。内界センサは、例えば位置センサや角度センサ、加速度センサ、ジャイロセンサ等が用いられる。内界センサは、生成したセンシングデータ(「内界センシングデータ」ともいう)を自己位置推定部23へ出力する。
【0026】
周辺地図生成部22は、センサ部21で生成された測距データに基づき周辺に位置する物体等を示す地図情報を生成する。周辺地図生成部22は、生成した地図情報を通信部24と軌道追従部25へ出力する。
【0027】
自己位置推定部23は、センサ部21で生成された内界センシングデータあるいは内界センシングデータと外界センサで生成された測距データに基づき自己位置を推定して、推定した自己位置を示す自己位置情報を通信部24と軌道追従部25へ出力する。
【0028】
通信部24は、ネットワークに接続されてサーバ30と無線通信を行う。無線通信は、例えば、LTE、WCDMA(登録商標)、5Gなどのいずれかを使用するセルラ通信を含んでもよく、Wi-Fi、ブルートゥース(登録商標)などのいずれかを使用する近距離無線通信を含んでもよい。通信部24は、サーバ30と無線通信を行い、周辺地図生成部22で生成した地図情報や自己位置推定部23で推定した自己位置をサーバ30へ送信する。なお、移動装置20は、通信部24から自己の大きさや性能等示す移動装置情報をサーバ30へ送信してもよい。通信部24は、サーバ30から送信された情報、例えば軌道計画を受信して軌道追従部25へ出力する。
【0029】
軌道追従部25は、サーバ30から供給された軌道計画で示された軌道を移動するように、周辺地図生成部22で生成された地図情報と自己位置推定部23の推定結果を用いて、移動装置20の移動制御を行う。軌道計画は、後述するように、車線を示す車線地図と移動装置に割り当てた移動タスクに基づいて、目的地までのウェイポイントが順に示されており、軌道追従部25は、移動装置20の周辺環境の認識と次のウェイポイントの位置に基づき、その時点での最適な移動速度や角速度等を決定して、現在地から次のウェイポイントまで静的あるいは動的な障害物を回避して移動できるように制御信号を生成して駆動制御部26へ出力する。
【0030】
駆動制御部26は、軌道追従部25で生成された制御信号に基づき、移動装置20が軌道計画で示された軌道を移動するように駆動信号を生成して駆動部27へ出力する。
【0031】
駆動部27は、車輪と駆動源(例えばモータ)等を用いて構成されており、駆動制御部26からの駆動信号に基づき駆動源で車輪を駆動して移動装置20を移動させる。
【0032】
サーバ30は、通信部31、経路地図生成部32、車線地図生成部33、地図記憶部34、移動装置情報記憶部35、タスク計画部36、経路/軌道計画部37を有している。
【0033】
通信部31は、移動装置20の通信部24と無線通信を行うことができるように構成されている。無線通信は、上述のようにセルラ通信を含んでもよく、近距離無線通信を含んでもよい。通信部31は、移動装置20と無線通信を行い、移動装置20で生成された地図情報や推定された自己位置情報、移動装置情報を受信する。通信部31は、受信した地図情報と自己位置情報を経路地図生成部32へ出力し、自己位置情報と移動装置情報を移動装置情報記憶部35へ出力する。また、通信部31は経路/軌道計画部37で生成された軌道計画を移動装置20へ送信する。
【0034】
経路地図生成部32は、移動装置20のそれぞれで生成された地図情報を自己位置情報に基づき統合して、環境全体で移動装置20の通行が可能な領域を示す移動可能領域地図を生成する。なお、経路地図生成部32は、移動装置と別個に設けられている外界センサで取得されたセンシングデータに基づいて移動可能領域地図を生成してもよく、外部機器等から予め生成されている移動可能領域地図を取得してもよい。また、経路地図生成部32は、移動可能領域地図に基づいて、通路と通路幅に関した車線数情報を有する経路地図を生成する。なお、経路地図生成部32は、移動可能領域の変化に応じて経路地図を更新する。例えば、経路地図生成部32は、障害物の設置や移動・撤去等によって移動装置20の通行が可能な移動可能領域が変化したことを判別したとき移動可能領域地図を自動的に更新して、移動可能領域地図が更新されたことに応じて経路地図を自動的に更新する。
【0035】
車線地図生成部33は、経路地図生成部32で生成された車線数情報を有する経路地図に基づき、移動装置20が通行する車線を示す車線地図を生成する。なお、経路地図と車線地図の生成の詳細については後述する。
【0036】
地図記憶部34は、経路地図生成部32で生成された経路地図と車線地図生成部33で生成された車線地図を記憶する。
【0037】
移動装置情報記憶部35は、移動装置毎の移動装置情報と自己位置情報を記憶する。なお、移動装置情報は、上述したように移動装置20との通信によって取得してもよく、予めユーザが移動装置情報を入力してもよい。
【0038】
タスク計画部36は、ユーザ等から行われた移動タスク要求を受け付けて、移動タスクを行う移動装置を決定する。さらに、タスク計画部36は、移動装置と移動装置に割り当てた移動タスクを示すタスク割り当て情報を経路/軌道計画部37へ出力する。
【0039】
経路/軌道計画部37は、割り当てられた移動タスクを行うための経路計画を移動装置毎に生成する。経路計画の生成では、経路地図生成部32で生成された経路地図で示されている通路と車線数情報に基づき、目的地までの経路を決定する。さらに、経路/軌道計画部37は、決定した目的地までの経路において移動装置の軌道を示す軌道計画、例えば車線上の通過するウェイポイントを順に示したリストを生成する。また、経路/軌道計画部37は、複数の移動装置で移動タスクを行う場合にシステム全体の移動効率が高くなるように経路や軌道を設定する。さらに、経路/軌道計画部37は、経路地図が更新された場合や新たなタスク割り当て情報が供給された場合、経路計画や軌道計画の更新処理を行う。例えば、経路/軌道計画部37は、移動経路の車線数情報が更新された場合や、新たに受け付けた移動タスクを行う移動装置の移動経路の重複等を生じる場合、更新された車線数情報や他の移動装置の経路や車線等を考慮して新たな経路計画や軌道計画を生成する。経路/軌道計画部37は、移動装置毎に生成した軌道計画を対応する移動装置20へ通信部31を介して送信する。
【0040】
<3.サーバの動作>
サーバは、障害物によって制限されている移動可能領域の障害物間に、障害物から等しい距離の点群からなる境界線を設定して、障害物からの距離と障害物間を移動する移動装置の大きさに応じて境界線に対して車線数を決定する。また、サーバは、境界線と境界線に対して決定された車線数に基づき、車線数情報を有する経路地図を生成する。さらに、サーバは、車線数情報に基づいて経路地図から移動装置が通行可能な車線を示す車線地図を生成する。
【0041】
また、サーバは、移動装置の経路にノードを設定して、ノードやエッジでは決定されている車線数に応じて同時に存在する移動装置の数を制限する。さらに、サーバは、移動タスクを実行する移動装置を選択して、選択した移動装置が移動する経路を示す経路計画を生成する。さらに、サーバは、経路計画と車線地図に基づき、移動タスクを実行する移動装置すなわち軌道の設定対象である移動装置が通過するウェイポイントを順に示す軌道計画を生成する。なお、経路地図が更新された場合、サーバは、更新された経路地図と各移動装置の現在地を元に改めて経路計画の生成や輝度計画の生成を行う。サーバは生成した軌道計画を移動装置へ送信する。移動装置は、サーバで生成された軌道計画で示された軌道を移動するように移動装置の移動制御を行い、移動タスクを実行する。
【0042】
<3-1.車線地図の生成動作について>
次に、車線地図の生成動作について説明する。経路地図生成部32は、例えば各移動装置で生成された地図情報を統合して、環境全体で移動装置の通行が可能な領域を示す移動可能領域地図を生成する。なお、図3は、移動可能領域地図を例示しており、検出された障害物が線(あるいは点)で示されている。
【0043】
経路地図生成部32は、移動可能領域地図から移動可能領域の骨格を示す境界線を抽出する。骨格を示す境界線の抽出は、例えばVoronoi領域分割手法を用いる。2次元におけるVoronoi領域分割とは、平面上にあらかじめ点が複数配置されているとき、「最も近い点がどれか」によって平面を領域分割する手法である。経路地図生成部32は、移動可能領域全体に対してVoronoi領域分割を行い、異なる2つの障害物への距離が同じという特徴をもつ点群である境界線を、骨格を示す境界線として抽出する。なお、図4は、Voronoi領域分割の分割結果を示しており、図3に示す移動可能領域地図を用いて処理を行った場合である。さらに、経路地図生成部32は、抽出した境界線について、移動装置の車線数を示す車線数情報を生成する。例えば、骨格を示す境界線上の各点において、障害物までの距離Wが移動装置の大きさの1/2倍(「サイズR」とする)よりも小さい場合、移動装置は通行することができないことから、経路地図生成部32は、移動装置が通行できない境界線を削除する。なお、移動装置の大きさは、移動方向に対して直交する移動装置幅の最大値である。また、移動装置が無軌道のAGV(Automatic Guided Vehicle)等である場合、移動装置幅は搬送する物品を含めたサイズとする。さらに移動装置の大きさにはマージンを含めてもよい。
【0044】
経路地図生成部32は、境界線が分離している場合、最も総距離が長い境界線のみを残して他を削除する。さらに、経路地図生成部32は、残っている境界線に対して車線数情報の生成を行う。経路地図生成部32は、例えば境界線から障害物までの距離WがサイズRのN倍以上で(N+1)倍よりも小さい場合、その境界線の車線数情報を車線数Nとして、車線数情報を境界線に付与する。図5は、車線数情報を付与した境界線を示しており、図4に示すVoronoi領域分割の分割結果を用いた場合である。図5では、移動装置が通行できない通路を示す境界線を削除して、残った境界線が分離している場合には最も総距離が長い境界線のみを残して他の境界線を削除している。なお、図5では、車線数が「2」である境界線を太線、車線数が「1」である境界線を細線で示している。
【0045】
経路地図生成部32は、車線数情報が付与された境界線に対してノードを付与して、ノード間をエッジで接続して経路地図を生成する。なお、経路地図の生成では、ノード間の距離やノード間のエッジと境界線との離間距離が所定範囲となるように、ノードの削除や追加・移動を行うことでノードの配置を最適化して経路地図を生成してもよい。さらに、経路地図生成部32は、生成した経路地図に車線数情報を含める。なお、図6は、車線数情報を有する経路地図を例示しており、図5に示す車線数情報を付与した境界線に基づいて生成されている。
【0046】
経路地図生成部32は、車線数情報を有する経路地図に基づき車線地図を生成する。経路地図生成部32は、車線数と等しい数のエッジを設けて両端にノードを設定して、ノードとエッジの車線数が1である車線地図を生成する。例えば、経路地図生成部32は、車線数Nのエッジの両端ノードの近傍にそれぞれ新しいN個のウェイポイントを設けて、ウェイポイント間をエッジで結び車線数を「1」とする。また、ウェイポイント同士をメッシュ状にエッジで結び車線数を「1」として車線地図を生成する。
【0047】
図7は、車線地図の生成を説明するための図であり、図7の(a)は、車線数情報がノードとエッジに付与されたトポロジカルマップを例示しており、図7の(b)は、トポロジカルマップに対応した車線地図を例示している。ノードとエッジに車線数情報が付与されているトポロジカルマップに対して上述の処理を行うと、ウェイポイントとエッジの車線数が「1」である車線地図を生成できる。図8は、図6に示す経路地図を用いて生成した車線地図を示しており、経路地図の車線数情報で車線数が「1」である通路には1本のエッジ、車線数が「2」である通路には2本のエッジが設けられている。
【0048】
<3-2.軌道計画の生成動作について>
次に軌道計画の生成動作について説明する。経路/軌道計画部37は、経路地図生成部32で生成された経路地図を用いて、車線数情報で示された車線数を超えないように、現在位置から目的地となる位置のノードに到達する経路を示す経路計画を生成する。さらに、経路/軌道計画部37は、生成された経路計画と車線地図に基づき、経路計画で示された経路を移動装置が移動する際に、利用する車線をウェイポイントで示した軌道計画を生成する。軌道計画は、現在位置から目的地までの軌道をウェイポイントで示しており、移動装置は軌道計画で示されたウェイポイントを順に辿ることで目的地への移動が可能となる。さらに、経路/軌道計画部37は、軌道起点(例えば移動装置の現在地)から目標点に向けた移動方向における他の移動装置とのデッドロックや衝突等を生じる範囲(「非干渉範囲」という)を特定して、非干渉範囲内の移動効率が最も高い通過点を判別する。また、軌道起点から前記移動効率が最も高い通過点に向かう軌道の設定と、移動効率が最も高い通過点への軌道起点の更新とを行い、この処理を繰り返すことで目的地への軌道を示す軌道計画を生成する。このように、経路/軌道計画部37は、他の移動装置の動きを考慮して移動タスクを効率よく実行できるように最適化された軌道計画を生成する。
【0049】
図9は、軌道計画の生成動作を示すフローチャートであり、車線変更を行わない場合を例示している。経路/軌道計画部37は、移動効率が最も高いウェイポイントとして、軌道起点から途中のウェイポイントを間引きして、障害物や他の移動装置とのデッドロックや衝突等を生じることなく軌道起点からの移動時間が最短となるウェイポイントを判別して、軌道起点から移動効率が最も高いウェイポイントに向かう軌道を設定する。
【0050】
ステップST1で経路/軌道計画部は他の移動装置を経路重複リストに登録する。経路/軌道計画部37は、生成する軌道計画に基づいて移動タスクを実行する移動装置(「軌道設定移動装置」ともいう)と他の移動装置について既に生成されている経路計画に基づき、軌道設定移動装置と経路が重複する他の移動装置を経路重複リストに登録してステップST2に進む。
【0051】
ステップST2で経路/軌道計画部は判別ポイントを設定する。経路/軌道計画部37は、軌道の起点とするウェイポイント(以下「軌道起点」という)の次のウェイポイントを間引きして、間引き後のウェイポイントを判別ポイント(判別通過点)に設定してステップST3に進む。
【0052】
ステップST3で経路/軌道計画部は判定ポイントへの軌道に障害物が含まれないか判別する。経路/軌道計画部37は、軌道起点と判別ポイントを結ぶ軌道に、障害物が含まれない場合はステップST4に進み、障害物が含まれる場合はステップST13に進む。
【0053】
ステップST4で経路/軌道計画部は移動時間を算出する。経路/軌道計画部37は、軌道起点と判別ポイントを直線で結ぶ軌道を軌道設定移動装置が移動する場合の移動時間(「間引き後移動時間」ともいう)と、ウェイポイントを間引きすることなく軌道起点から判別ポイントまでを結ぶ軌道を軌道設定移動装置が移動する場合の移動時間(「間引き前移動時間」ともいう)を算出してステップST5に進む。
【0054】
ステップST5で経路/軌道計画部は移動時間が短縮するか判別する。経路/軌道計画部37は、間引き前移動時間よりも間引き後移動時間が短い場合、移動時間が短縮すると判別してステップST6に進み、間引き前移動時間よりも間引き後移動時間が短くない場合、移動時間が短縮しないと判別してステップST13に進む。
【0055】
ステップST6で経路/軌道計画部は直近のノードNDaを抽出する。経路/軌道計画部37は判別ポイントに対して進行方向に最も近接する直近のノードNDaを抽出してステップST7に進む。
【0056】
ステップST7で経路/軌道計画部は経路重複リストから未抽出である他の移動装置を1つ抽出する。経路/軌道計画部37は、ステップST1で他の移動装置を登録した経路重複リストから他の移動装置を1つ抽出してステップST8に進む。
【0057】
ステップST8で経路/軌道計画部は抽出した他の移動装置について到達可能なノードNDbを抽出する。経路/軌道計画部37は、抽出した他の移動装置の経路計画と移動装置情報に基づき、ステップST4で算出した間引き後移動時間が経過したときの他の移動装置に対して進行方向に最も近接する直近のノードNDbを抽出してステップST9に進む。
【0058】
ステップST9で経路/軌道計画部はノードNDbがノードNDaよりも先の位置であるか判別する。経路/軌道計画部37は、軌道設定移動装置が軌道起点から移動効率の判別ポイントに移動するときの他の移動装置の位置に基づいて、非干渉範囲を特定する。具体的には、経路/軌道計画部37は、判別ポイントに対する進行方向に位置する直近のノードと、前記他の移動装置に対する進行方向に位置する直近のノードとに基づいて非干渉範囲の特定を行い、軌道設定移動装置の進行方向において、ノードNDbがノードNDaよりも経路上の先の位置である場合にノードNDaに対応する判別ポイントは、非干渉範囲内のウェイポイントとする。経路/軌道計画部37は、他の移動装置が軌道設定移動装置の位置に達していない場合、すなわち判別ポイントが非干渉範囲内である場合にステップST10に進む。また、経路/軌道計画部37は、軌道設定移動装置の進行方向において、ノードNDbがノードNDaよりも手前の位置である場合、すなわち判別ポイントが非干渉範囲にない場合にステップST13に進む。
【0059】
ステップST10で経路/軌道計画部は経路重複リストから移動装置を全て抽出したか判別する。経路/軌道計画部37は、経路重複リストの移動装置を全て抽出している場合にステップST11に進み、抽出されていない他の移動装置がある場合にステップST7に戻る。
【0060】
ステップST11で経路/軌道計画部は判別ポイントに向かう軌道に更新する。経路/軌道計画部37は、間引きを行う前の軌道を、軌道起点から判別ポイントに向かう軌道に更新してステップST12に進む。
【0061】
ステップST12で経路/軌道計画部は判別ポイントを更新する。経路/軌道計画部37は、現在の判別ポイントを1つ先のウェイポイントに更新してステップST3に戻る。
【0062】
ステップST13で経路/軌道計画部は軌道を送信する。経路/軌道計画部37は、ステップST2乃至ステップST12までの処理によって設定された軌道を移動装置へ送信する。
【0063】
このように、ステップST1からステップST12の処理により、移動効率が高い判別ポイントが検出されて、1つ先のウェイポイントが判別ポイントに設定されて移動効率が低下すると判別された場合には、1つ手前のウェイポイントが移動効率の最も高いウェイポイントとなり、軌道起点から移動効率の最も高いウェイポイントへの軌道が移動装置20へ送信される。
【0064】
なお、図9は、軌道起点から移動効率の最も高いウェイポイントまでの軌道を設定する毎に、設定した軌道を示す軌道計画を移動装置へ送信する場合を示している。したがって、サーバ30は、軌道起点を移動効率の最も高いウェイポイントに更新してステップST2からステップST13までの処理を例えば判別ポイントが目的地となるまで繰り返せば、目的地までの最適な軌道を順次設定できる。また、サーバ30は、目的地までの最適な軌道を示す軌道計画を生成して移動装置20へ送信してもよい。また、移動効率が最も高いウェイポイントは、障害物や他の移動装置とのデッドロックや衝突等を生じることなく軌道起点からの移動時間が最短となるポイントに限らず、移動装置の性能を考慮して判別してもよい。例えば、移動装置の向きの変更に時間を要する場合は、向きの変更が少なくなるように軌道を設定してもよい。
【0065】
また、移動効率が最も高いウェイポイントは、コスト値に基づいて判別してもよい。例えば、移動距離が長いときはコスト値が大きくなるようにパラメータを設置する。また、移動装置の性能に基づき、向きの変更に時間を要する場合はコスト値が大きくなるようにパラメータを設定する。また、移動環境として例えば走行面の傾斜が大きい場合にコスト値が大きくなるようにパラメータを設置する。サーバ30は、各パラメータのコスト値の合計が最小となるウェイポイントを、移動効率が最も高いウェイポイントとして判別してもよい。
【0066】
図10は、車線変更を行わない場合の軌道計画の具体例を示している。サーバ30で生成された経路地図は、ノードND1~ND8を示しており、車線地図は、ウェイポイントWP1-nを設けた車線とウェイポイントWP2-nを設けた車線を示している。軌道設定移動装置20-1は、ウェイポイントWP1-nを設けた車線を移動して、他の移動装置20-2は、ウェイポイントWP2-nを設けた車線を移動する。
【0067】
サーバ30は、軌道設定移動装置20-1の移動方向に位置するウェイポイントWP1-1を軌道起点として、軌道起点の次のウェイポイントを間引きして、間引き後のウェイポイントWP1-3を判別ポイントに設定する。
【0068】
サーバ30は、ウェイポイントWP1-1とウェイポイントWP1-3を結ぶ軌道に障害物が無いことから、軌道設定移動装置20-1がウェイポイントWP1-1からウェイポイントWP1-3への移動に要する移動時間T(1,3)を算出する。サーバ30は、算出した移動時間T(1,3)がウェイポイントWP1-1からウェイポイントWP1-2を介してウェイポイントWP1-3への移動に要する移動時間T(1,2,3)よりも短い場合、判別ポイントWP1-3に対して進行方向に最も近接するノードND3(=NDa)を抽出する。
【0069】
次に、サーバ30は、経路重複リストに含まれている他の移動装置20-2について、算出されている移動時間T(1,3)が経過したときの位置から進行方向に最も近接するノードND7(=NDb)を抽出する。ノードND7は、軌道設定移動装置20-1の移動方向においてノードND3よりも先の位置であり、判別ポイントWP1-3は、目的地に向けた移動方向における他の移動装置との非干渉範囲内のウェイポイントである。軌道設定移動装置20-1は、ウェイポイントWP1-1からウェイポイントWP1-3に移動する際に、他の移動装置20-2とのデッドロックや衝突等を生じることが無いことから、ウェイポイントWP1-1の次のウェイポイントをウェイポイントWP1-3とする。
【0070】
次に、サーバ30は、ウェイポイントWP1-3の次のウェイポイントWP1-4を判別ポイントに設定する。サーバ30は、ウェイポイントWP1-1とウェイポイントWP1-4を結ぶ軌道に障害物が無いことから、軌道設定移動装置20-1がウェイポイントWP1-1からウェイポイントWP1-4への移動に要する移動時間T(1,4)を算出する。サーバ30は、算出した移動時間T(1,4)がウェイポイントWP1-1からウェイポイントWP1-3を介してウェイポイントWP1-4への移動に要する移動時間T(1,3,4)よりも短い場合、判別ポイントWP1-4に対して進行方向に最も近接するノードND4(=NDa)を抽出する。
【0071】
また、サーバ30は、経路重複リストに含まれている他の移動装置20-2について、算出されている移動時間T(1,4)が経過したときの位置から進行方向に最も近接するノードND6(=NDb)を抽出する。なお、移動時間T(1,4)が経過したときの位置は、他の移動装置20-2の最高速度で移動して移動時間T(1,4)が経過したときの位置とする。また、移動時間T(1,4)が経過したときの位置は、他の移動装置20-2が軌道を移動するときの速度が設定されている場合、設定されている速度で移動して移動時間T(1,4)が経過したときの位置としてもよい。ノードND6は、軌道設定移動装置20-1の移動方向においてノードND4よりも先の位置である。すなわち、軌道設定移動装置20-1は、ウェイポイントWP1-1からウェイポイントWP1-4に移動する際に、他の移動装置20-2とのデッドロックや衝突等を生じることが無いことから、ウェイポイントWP1-1の次のウェイポイントをウェイポイントWP1-4とする。
【0072】
次に、サーバ30は、ウェイポイントWP1-4の次のウェイポイントWP1-5を判別ポイントに設定する。サーバ30は、ウェイポイントWP1-1とウェイポイントWP1-5を結ぶ軌道に障害物が含まれることから、ウェイポイントWP1-4を非干渉範囲内の移動効率が最も高いウェイポイントと判別して、軌道起点であるウェイポイントWP1-1から移動効率が最も高いウェイポイントWP1-4への軌道を軌道設定移動装置20-1へ送信する。
【0073】
なお、図示せずも、他の移動装置20-2が軌道設定移動装置20-1に接近しており、例えば、ノードNDa=ND4,ノードNDb=ND3となる場合、ウェイポイントWP1-4は非干渉範囲外となり、軌道設定移動装置20-1がウェイポイントWP1-1からウェイポイントWP1-4に移動する際に、他の移動装置20-2とのすれ違いを生じる。また、軌道設定移動装置20-1の軌道は、ウェイポイントを間引きしたことで他の移動装置20-2の車線に接近しており、軌道設定移動装置20-1は、すれ違いの際に他の移動装置20-2とのデッドロックや衝突等を生じるおそれがある。したがって、サーバ30は、非干渉範囲内の移動効率が最も高いウェイポイントをウェイポイントWP1-3として軌道を設定する。
【0074】
サーバ30は、軌道起点を非干渉範囲内の移動効率が最も高いウェイポイントに更新して上述と同様な処理を行い、目的地までの軌道を設定する。
【0075】
このように、サーバ30は、軌道設定移動装置が移動する自車線について非干渉範囲を特定して、目的地に向けた移動方向における非干渉範囲内の移動効率が最も高いウェイポイントの判別と、軌道起点から移動効率が最も高い通過点に向かう軌道の設定と、移動効率が最も高い通過点への軌道起点の更新を経路/軌道計画部37で行うことで、移動装置を効率よく運用可能な軌道計画を生成できる。
【0076】
また、サーバ30は、他の移動装置20-2の動きや軌道が変更された場合、新たに他の移動装置が追加された場合、障害物の位置の移動等が生じた場合、軌道計画を再度生成して軌道設定移動装置20-1へ送信すれば、移動環境の変化に対応させて移動装置を効率よく運用できるようになる。
【0077】
<3-2.軌道計画の他の生成動作について>
次に軌道計画の他の生成動作について説明する。経路/軌道計画部37は、現在位置から目的地までの軌道をウェイポイントで示す軌道計画を生成する際に、他の移動装置が通過する車線のウェイポイントを利用可能とする。さらに、経路/軌道計画部37は、他の移動装置の動きを考慮して移動タスクを効率よく実行できるように軌道計画を生成する。
【0078】
図11は、軌道計画の他の生成動作を示すフローチャートであり、車線変更を行う場合を例示している。経路/軌道計画部37は、車線変更を行ったとき、他の移動装置とのデッドロックや衝突等を生じることなく移動時間を短縮できるか判別して、判別結果に基づき最適な軌道計画を生成する。
【0079】
ステップST21で経路/軌道計画部は他の移動装置を経路重複リストに登録する。経路/軌道計画部37は、生成する軌道計画に基づいて移動タスクを実行する軌道設定移動装置と他の移動装置について既に生成されている経路計画に基づき、軌道設定移動装置と経路が重複する他の移動装置を経路重複リストに登録してステップST22に進む。
【0080】
ステップST22で経路/軌道計画部は他車線を含めて判別ポイントを設定する。経路/軌道計画部37は、軌道設定移動装置について、自装置の移動方向の車線(自車線ともいう)と他の移動装置の移動方向の車線(例えば移動方向が逆である車線,他車線ともいう)を含めて軌道起点から次のウェイポイントまでの例えば空間距離をコストとして空間距離が長くなるに伴いコスト値を大きくする。経路/軌道計画部37は、ダイクストラ法等を用いて最小コスト値となるウェイポイントを算出して、算出したウェイポイントを判別ポイントに設定してステップST23に進む。
【0081】
ステップST23で経路/軌道計画部は移動時間を算出する。経路/軌道計画部37は、軌道起点とステップST22で設定した判別ポイントまでの距離を軌道設定移動装置の移動速度(例えば平均移動速度)で除算することにより移動時間を算出してステップST24に進む。
【0082】
ステップST24で経路/軌道計画部は直近のノードNDaを抽出する。経路/軌道計画部37は判別ポイントに対して進行方向に最も近接するノードNDaを抽出してステップST25に進む。
【0083】
ステップST25で経路/軌道計画部は経路重複リストから未抽出である他の移動装置を1つ抽出する。経路/軌道計画部37は、ステップST21で他の移動装置を登録した経路重複リストから未抽出である他の移動装置を1つ抽出してステップST26に進む。
【0084】
ステップST26で経路/軌道計画部は抽出した他の移動装置について到達可能なノードNDbを抽出する。経路/軌道計画部37は、抽出した他の移動装置の経路計画と移動装置情報に基づき、ステップST23で算出した移動時間が経過したときの他の移動装置に対して進行方向に最も近接するノードNDbを抽出してステップST27に進む。
【0085】
ステップST27で経路/軌道計画部はノードNDaまでのノード列にノードNDbが含まれないか判別する。経路/軌道計画部37は、軌道設定移動装置が軌道起点から移動効率の判別ポイントに移動するときの他の移動装置の位置に基づいて、非干渉範囲を特定する。具体的には、経路/軌道計画部37は、ノードNDaまでのノード列にノードNDbが含まれない場合にノードNDaに対応する判別ポイントは、非干渉範囲内のウェイポイントとする。また、経路/軌道計画部37は、ノードNDaまでのノード列にノードNDbが含まれる場合にノードNDaに対応する判別ポイントは、非干渉範囲にないウェイポイントとする。経路/軌道計画部37は、判別ポイントが非干渉範囲内である場合にステップST28に進み、非干渉範囲にない場合にステップST29に進む。
【0086】
ステップST28で経路/軌道計画部は経路重複リストから移動装置を全て抽出したか判別する。経路/軌道計画部37は、経路重複リストの移動装置を全て抽出している場合にステップST30に進み、抽出されていない移動装置がある場合にステップST25に戻る。
【0087】
ステップST27からステップST29に進むと、経路/軌道計画部は軌道起点が他車線上であるか判別する。経路/軌道計画部37は、軌道起点が自車線上にある場合にステップST30に進み、他車線上にある場合にステップST31に進む。
【0088】
ステップST30で経路/軌道計画部は判別ポイントに向かう軌道を設定する。経路/軌道計画部37は、軌道起点からステップST22で設定した判別ポイントに向かうように軌道を設定してステップST32に進む。
【0089】
ステップST31で経路/軌道計画部は軌道起点を自車線上とする軌道を設定する。経路/軌道計画部37は、軌道起点を他車線上のウェイポイントから自車線上のウェイポイントに更新する軌道を生成してステップST32に進む。
【0090】
ステップST32で経路/軌道計画部は軌道を送信する。経路/軌道計画部37は、ステップST22乃至ステップST31までの処理によって設定された軌道を移動装置へ送信する。例えば、経路/軌道計画部37は、他の移動装置と競合しない場合はコスト値が最小となる軌道を、移動中に他の移動装置と競合を生じる場合は競合を避けてコスト値が最小となる軌道を移動装置へ送信する。
【0091】
なお、図11は、軌道起点が他車線にあり、他車線における判別ポイントが非干渉範囲にない場合、軌道起点を自車線のウェイポイントとする場合を例示したが、判別ポイントを自車線のウェイポイントに変更して、ステップST23からの処理を行うようにしてもよい。
【0092】
図12は、車線変更を行う場合の軌道計画の具体例を示している。サーバ30で生成された経路地図は、ノードND1~ND9を示しており、車線地図は、ウェイポイントWP1-nを設けた自車線とウェイポイントWP2-nを設けた他車線を示しており、自車線と他車線は、移動方向が対向するように設定されている。また、移動装置は、自車線を利用するだけでなく、他車線を利用することで移動距離や移動時間を短縮することが可能であるときには、他の移動装置とのデッドロックや衝突等を生じないように他車線を利用する。
【0093】
サーバ30は、例えばウェイポイントWP1-1を軌道起点として、軌道設定移動装置20-1の移動方向に位置する次のウェイポイントまでのコスト値が最小となるウェイポイントWP2-7を判別ポイントに設定する。
【0094】
サーバ30は、軌道設定移動装置20-1が軌道起点から判別ポイントへの移動に要する移動時間を軌道起点から判別ポイントまでの距離と軌道設定移動装置20-1の移動速度(例えば平均移動速度)に基づいて算出する。また、サーバ30は、判別ポイントに対して直近のノードすなわち進行方向に最も近接するノードNDa(=ND2)を抽出する。
【0095】
次に、サーバ30は、軌道設定移動装置20-1が軌道起点から判別ポイントへの移動に要する移動時間が経過したときの移動装置20-2の位置PS1に対して進行方向に最も近接するノードNDb(=ND7)を抽出する。
【0096】
サーバ30は、軌道起点に対して進行方向に最も近接するノードND1からノードNDa(=ND2)のノード列にノードNDb(=ND7)が含まれていないことから、判別ポイントWP2-7は、目的地に向けた移動方向における他の移動装置との非干渉範囲内のウェイポイントであり、軌道設定移動装置20-1が軌道起点(=WP1-1)から判別ポイント(=WP2-7)に向かうように軌道を設定する。また、サーバ30は、判別ポイントが目的地でないとき、軌道起点を判別ポイント(=WP2-7)に更新する。
【0097】
サーバ30は、更新された軌道起点(=WP2-7)から次のウェイポイントまでのコスト値が最小となるウェイポイントWP2-6を判別ポイントに設定して、同様の処理を行う。この場合、判別ポイントに対して直近のノードすなわち進行方向に最も近接するノードNDaはノードND3であり、移動時間が経過したときの移動装置20-2が位置PS2であると、進行方向に最も近接するノードNDbはノードND6となる。
【0098】
サーバ30は、ノードND2からノードNDa(=ND3)のノード列にノードNDb(=ND6)が含まれていないことから、判別ポイントWP2-6は、目的地に向けた移動方向における他の移動装置との非干渉範囲内のウェイポイントであり、軌道設定移動装置20-1が軌道起点(=WP2-7)から判別ポイント(=WP2-6)に向かうように軌道を設定する。また、サーバ30は、判別ポイントが目的地でないとき、軌道起点を判別ポイント(=WP2-6)に更新する。
【0099】
サーバ30は、更新された軌道起点(=WP2-6)から次のウェイポイントまでのコスト値が最小となるウェイポイントWP2-5を判別ポイントに設定して、同様の処理を行う。この場合、判別ポイントに対して直近のノードすなわち進行方向に最も近接するノードNDaはノードND4であり、移動時間が経過したときの移動装置20-2が位置PS3であると、進行方向に最も近接するノードNDbはノードND5となる。
【0100】
サーバ30は、ノードND3からノードNDa(=ND4)のノード列にノードNDb(=ND5)が含まれていないことから判別ポイントWP2-5は、目的地に向けた移動方向における他の移動装置との非干渉範囲内のウェイポイントであり、軌道設定移動装置20-1が軌道起点(=WP2-6)から判別ポイント(=WP2-5)に向かうように軌道を設定する。また、サーバ30は、判別ポイントが目的地でないとき、軌道起点を判別ポイント(=WP2-5)に更新する。
【0101】
以下、同様の処理を行えば、移動装置20-2とのデッドロックや衝突等を生じることなく、他車線を利用して、自車線のみを利用する軌道(WP1-1→WP1-2→WP1-3→WP1-4→WP1-9)に比べて低コストである軌道(WP1-1→WP2-7→WP2-6→WP2-5→WP1-9)を設定できるようになる。
【0102】
図13は、車線変更を行う場合の軌道計画の他の具体例を示している。サーバ30で生成された経路地図は、ノードND1~ND9を示しており、車線地図は、ウェイポイントWP1-nを設けた自車線とウェイポイントWP2-nを設けた他車線を示しており、自車線と他車線は、移動方向が対向するように設定されている。また、移動装置は、自車線を利用するだけでなく、他車線を利用することで移動距離や移動時間を短縮することが可能であるときには、他の移動装置とのデッドロックや衝突等を生じないように他車線を利用する。なお、図13図12に比べて移動装置20-2が接近している場合を例示している。
【0103】
サーバ30は、例えばウェイポイントWP1-1を軌道起点として、軌道設定移動装置20-1の移動方向に位置する次のウェイポイントまでのコスト値が最小となるウェイポイントWP2-7を判別ポイントに設定する。
【0104】
サーバ30は、軌道設定移動装置20-1が軌道起点から判別ポイントへの移動に要する移動時間を軌道起点から判別ポイントまでの距離と軌道設定移動装置20-1の移動速度(例えば平均移動速度)に基づいて算出する。また、サーバ30は、判別ポイントに対して直近のノードすなわち進行方向に最も近接するノードNDa(=ND2)を抽出する。
【0105】
次に、サーバ30は、軌道設定移動装置20-1が軌道起点から判別ポイントへの移動に要する移動時間が経過したときの移動装置20-2の位置PS1に対して進行方向に最も近接するノードNDb(=ND5)を抽出する。
【0106】
サーバ30は、軌道起点に対して進行方向に最も近接するノードND1からノードNDa(=ND2)のノード列にノードNDb(=ND5)が含まれていないことから、判別ポイントWP2-7は、目的地に向けた移動方向における他の移動装置との非干渉範囲内のウェイポイントであり、軌道設定移動装置20-1が軌道起点(=WP1-1)から判別ポイント(=WP2-7)に向かうように軌道を設定する。また、サーバ30は、判別ポイントが目的地でないとき、軌道起点を判別ポイント(=WP2-7)に更新する。
【0107】
サーバ30は、更新された軌道起点(=WP2-7)から次のウェイポイントまでのコスト値が最小となるウェイポイントWP2-6を判別ポイントに設定して、同様の処理を行う。この場合、判別ポイントに対して直近のノードすなわち進行方向に最も近接するノードNDaはノードND3であり、移動時間が経過したときの移動装置20-2が位置PS2であると、進行方向に最も近接するノードNDbはノードND4となる。
【0108】
サーバ30は、ノードND2からノードNDa(=ND3)のノード列にノードNDb(=ND4)が含まれていないことから、判別ポイントWP2-6は、目的地に向けた移動方向における他の移動装置との非干渉範囲内のウェイポイントであり、軌道設定移動装置20-1が軌道起点(=WP2-7)から判別ポイント(=WP2-6)に向かうように軌道を設定する。また、サーバ30は、判別ポイントが目的地でないとき、軌道起点を判別ポイント(=WP2-6)に更新する。
【0109】
サーバ30は、更新された軌道起点(=WP2-6)から次のウェイポイントまでのコスト値が最小となるウェイポイントWP2-5を判別ポイントに設定して、同様の処理を行う。この場合、判別ポイントに対して直近のノードすなわち進行方向に最も近接するノードNDaはノードND4であり、移動時間が経過したときの移動装置20-2が位置PS3であると、進行方向に最も近接するノードNDbはノードND3となる。
【0110】
サーバ30は、ノードND3からノードNDa(=ND4)のノード列にノードNDb(=ND3)が含まれていることから、ウェイポイントWP2-5は非干渉範囲にないウェイポイントであり、軌道設定移動装置20-1がウェイポイントWP2-5に移動する際に、他の移動装置20-2とのデッドロックや衝突等を生じると判別する。したがって、サーバ30は、自車線に移動する軌道を設定して、軌道起点を自車線上のウェイポイントに更新する。
【0111】
例えば、サーバ30は、軌道起点(=WP2-6)に最も近接する自車線上のウェイポイント(=WP1-3)を移動先とする軌道を設定して、移動先のウェイポイント(=WP1-3)を更新後の軌道起点とする。また、軌道設定移動装置20-1において移動先のウェイポイント(=WP1-3)への移動方向の切り替え等に時間を要する場合、サーバ30は、軌道上の直前のウェイポイント(=WP2-7)から自車線上のウェイポイント(=WP1-3)を移動先とする軌道を設定してもよい。また、移動装置20-2が軌道起点(=WP2-6)から離れている場合、サーバ30は、判別ポイント(=WP2-7)に最も近接する自車線上のウェイポイント(=WP1-4)を移動先とする軌道を設定して、移動装置20-2とのデッドロックや接触等を生じる前に、自車線に戻るように軌道を設定してもよい。
【0112】
また、軌道設定移動装置20-1と他の移動装置20-2とのすれ違いが完了した場合、サーバ30は、引き続き最小コスト値の判別ポイントを設定して上述処理を行う。
【0113】
このように、サーバ30は、軌道設定移動装置が移動する自車線と他の移動装置が移動する他車線について非干渉範囲を特定して、目的地に向けた移動方向における非干渉範囲内の移動効率が最も高いウェイポイントの判別と、軌道起点から移動効率が最も高い通過点に向かう軌道の設定と、移動効率が最も高い通過点への軌道起点の更新、軌道起点が他車線にあり、他車線における判別ポイントが非干渉範囲にない場合、軌道起点を自車線に移動する軌道の設定あるいは判別ポイントを自車線上に設定して判別ポイントに向かう軌道の設定を経路/軌道計画部37で行うことで、複数の車線を用いて移動装置を効率よく運用可能な軌道計画を生成できる。
【0114】
<4.応用例>
本開示に係る技術は、様々な分野へ適用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車、自転車、パーソナルモビリティ、船舶、ロボット等のいずれかの種類の移動装置に搭載される装置として実現されてもよい。また、工場における生産工程で用いられる機器や建設分野で用いられる機器、農業や林業等で用いられる機器に搭載される装置として実現されてもよい。このような分野に適用すれば、移動装置の通行可能領域が作業状況に応じて変化する環境でも、複数の機器を用いて効率よく作業等を行うことが可能となる。
【0115】
明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0116】
例えば、プログラムは記録媒体としてのハードディスクやSSD(Solid State Drive)、ROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、BD(Blu-Ray Disc(登録商標))、磁気ディスク、半導体メモリカード等のリムーバブル記録媒体に、一時的または永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【0117】
また、プログラムは、リムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトからLAN(Local Area Network)やインターネット等のネットワークを介して、コンピュータに無線または有線で転送してもよい。コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0118】
なお、本明細書に記載した効果はあくまで例示であって限定されるものではなく、記載されていない付加的な効果があってもよい。また、本技術は、上述した技術の実施の形態に限定して解釈されるべきではない。この技術の実施の形態は、例示という形態で本技術を開示しており、本技術の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本技術の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【0119】
また、本技術の情報処理装置は以下のような構成も取ることができる。
(1)移動装置の軌道起点から目的地に向けた移動方向における他の移動装置との非干渉範囲内の移動効率が最も高い通過点の判別と、前記軌道起点から前記移動効率が最も高い通過点に向かう軌道の設定と、前記移動効率が最も高い通過点への前記軌道起点の更新とを行い、前記目的地への軌道を設定する軌道計画部
を備える情報処理装置。
(2) 前記軌道計画部は、前記移動装置が前記軌道起点から前記移動効率を判別する判別通過点に移動するときの前記他の移動装置の位置に基づいて、前記非干渉範囲を特定する(1)に記載の情報処理装置。
(3) 前記移動装置と前記他の移動装置が移動する経路にノードが設定されており、
前記軌道計画部は、前記判別通過点に対する移動方向の直近の前記ノードと、前記他の移動装置に対する移動方向の直近の前記ノードとに基づいて、前記非干渉範囲を特定する(2)に記載の情報処理装置。
(4) 前記軌道計画部は、前記移動装置が移動する自車線について前記非干渉範囲を特定する(1)乃至(3)の何れかに記載の情報処理装置。
(5) 前記軌道計画部は、前記移動効率が最も高い通過点を通過点の間引き結果に基づいて判別する(4)に記載の情報処理装置。
(6) 前記軌道計画部は、前記軌道起点と前記移動効率を判別する判別通過点との間に位置する通過点の間引きを行うことで移動距離が短くなる場合、前記判別通過点を前記移動効率が最も高い通過点とする(5)に記載の情報処理装置。
(7) 前記軌道計画部は、軌道起点と前記判別通過点との間に障害物が無い場合に前記判別通過点を前記移動効率が最も高い通過点とする(6)に記載の情報処理装置。
(8) 前記軌道計画部は、前記移動装置が移動する自車線と前記他の移動装置が移動する他車線について前記非干渉範囲を特定する(1)乃至(7)の何れかに記載の情報処理装置。
(9) 前記軌道計画部は、前記非干渉範囲に含まれる前記自車線の通過点と前記他車線の通過点から、前記移動効率が最も高い通過点を判別する(8)に記載の情報処理装置。
(10) 前記軌道計画部は、前記軌道起点が前記他車線にあり、前記他車線における次の通過点が前記非干渉範囲にない場合、前記移動効率を判別する判別通過点または前記軌道起点を前記自車線の通過点とする(9)に記載の情報処理装置。
【符号の説明】
【0120】
10・・・移動装置制御システム
20,20-2・・・移動装置
20-1・・・軌道設定移動装置
21・・・センサ部
22・・・周辺地図生成部
23・・・自己位置推定部
24・・・通信部
25・・・軌道追従部
26・・・駆動制御部
27・・・駆動部
30・・・サーバ
31・・・通信部
32・・・経路地図生成部
33・・・車線地図生成部
34・・・地図記憶部
35・・・移動装置情報記憶部
36・・・タスク計画部
37・・・経路/軌道計画部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13