(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024047235
(43)【公開日】2024-04-05
(54)【発明の名称】経路設定方法、プログラム及び移動体
(51)【国際特許分類】
G05D 1/43 20240101AFI20240329BHJP
B65G 1/00 20060101ALN20240329BHJP
【FI】
G05D1/02 H
B65G1/00 501C
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022152754
(22)【出願日】2022-09-26
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岡崎 広昂
(72)【発明者】
【氏名】▲高▼尾 健司
【テーマコード(参考)】
3F022
5H301
【Fターム(参考)】
3F022EE02
3F022LL07
3F022MM44
5H301AA01
5H301BB07
5H301CC03
5H301CC06
5H301CC10
5H301DD07
5H301DD17
5H301GG08
5H301GG09
5H301KK02
(57)【要約】
【課題】旋回する経路を適切に設定する。
【解決手段】経路設定方法は、移動体の経路を設定するステップを含む。経路を設定するステップにおいては、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスから離れた位置にある第3ウェイポイントと、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第1パスから離れた位置にある第4ウェイポイントとを、第3ウェイポイントから第4ウェイポイントまでの距離が第1ウェイポイントから第2ウェイポイントまでの距離よりも長くなるように設定して、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路を、移動体の経路として設定する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
移動体が通るべきウェイポイントの情報を取得するステップと、
前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとを含み、
前記経路を設定するステップにおいては、
前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、
前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、
前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する、
経路設定方法。
【請求項2】
前記経路を設定するステップは、前記移動体の運動特性に基づいた制約条件を満たすように、前記経路を設定するものであり、前記制約条件を満たした前記第1経路が設定できない場合に、前記第1経路が設定できないと判断する、請求項1に記載の経路設定方法。
【請求項3】
前記経路を設定するステップにおいては、
第3ウェイポイントを前記第1ウェイポイントよりも前記第2パスから離れた位置に設定する場合には、前記第1ウェイポイントから、前記第2パスから離れる側に所定距離だけ離れた前記第1パス上の位置を、前記第3ウェイポイントとして設定し、
第4ウェイポイントを前記第2ウェイポイントよりも前記第1パスから離れた位置に設定する場合には、前記第2ウェイポイントから、前記第2パスから離れる側に所定距離だけ離れた前記第2パス上の位置を、前記第4ウェイポイントとして設定する、請求項1又は請求項2に記載の経路設定方法。
【請求項4】
前記経路を設定するステップにおいては、
第3ウェイポイントを前記第1ウェイポイントよりも前記第2パスから離れた位置に設定する場合には、前記第1ウェイポイントと、前記第1パスに対して前記第2パスと反対側において交差する第4パスに最も近い前記第1パス上の第5ウェイポイントとを用いた二分探索により、前記第3ウェイポイントを設定し、
第4ウェイポイントを前記第2ウェイポイントよりも前記第1パスから離れた位置に設定する場合には、前記第2ウェイポイントと、前記第2パスに対して前記第1パスと反対側において交差する第5パスに最も近い前記第2パス上の第6ウェイポイントとを用いた二分探索により、前記第4ウェイポイントを設定する、請求項1又は請求項2に記載の経路設定方法。
【請求項5】
前記パスが、前記第1パス及び前記第2パスに交差して前記第1パス及び前記第2パスを接続する接続パスを更に有する場合には、
前記経路を設定するステップにおいては、接続パスに含まれる各ウェイポイントに対して所定距離範囲内の各位置を通るような制約条件を設定することなく、前記移動体の経路を設定する、請求項1又は請求項2に記載の経路設定方法。
【請求項6】
前記経路の設定対象となる前記移動体とは異なる別移動体について設定された経路である別経路の情報を取得するステップをさらに含み、
前記経路を設定するステップにおいては、前記別経路から所定距離範囲内の領域を禁止領域として設定して、前記移動体が前記禁止領域を通らないように、前記経路を設定する、請求項1又は請求項2に記載の経路設定方法。
【請求項7】
前記経路を設定するステップにおいては、前記禁止領域が、前記別移動体に対して設定された、前記第1パス、及び前記第2パスに隣接ずるパスから所定距離範囲内の領域よりも狭くなるように、前記禁止領域を設定する、請求項6に記載の経路設定方法。
【請求項8】
移動体が通るべきウェイポイントの情報を取得するステップと、
前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとをコンピュータに実行させるプログラムであって、
前記移動体の経路を設定するステップにおいては、
前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、
前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、
前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する、
プログラム。
【請求項9】
通るべきウェイポイントの情報に基づいて設定された経路を移動する移動体であって、
前記経路は、
前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、
第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通るように設定され、
前記第3ウェイポイントは、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にあり、前記第4ウェイポイントは、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にあり、前記第3ウェイポイントから前記第4ウェイポイントまでの距離は、前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長い、
移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、経路設定方法、プログラム及び移動体に関する。
【背景技術】
【0002】
移動体の移動経路を設定する技術が知られている。例えば特許文献1には、禁止領域を避けるように、始点から終点までの経路を設定する旨が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、移動体は、旋回する経路を移動する場合があり、このように旋回する経路を適切に設定することが求められている。
【0005】
本開示は、上述した課題を解決するものであり、旋回する経路を適切に設定可能な経路設定方法、プログラム及び移動体を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係る経路設定方法は、移動体が通るべきウェイポイントの情報を取得するステップと、前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとを含み、前記経路を設定するステップにおいては、前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する。
【0007】
本開示に係るプログラムは、移動体が通るべきウェイポイントの情報を取得するステップと、前記ウェイポイントに基づいて、前記移動体の経路を設定するステップとをコンピュータに実行させるプログラムであって、前記移動体の経路を設定するステップにおいては、前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パス第3パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にある第3ウェイポイントと、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にある第4ウェイポイントとを、前記第3ウェイポイントから前記第4ウェイポイントまでの距離が前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長くなるように設定して、前記第3ウェイポイントから所定距離以内の位置と前記第4ウェイポイントから所定距離以内の位置とを通る経路を、前記移動体の経路として設定する。
【0008】
本開示に係る移動体は、通るべきウェイポイントの情報に基づいて設定された経路を移動する移動体であって、前記経路は、前記ウェイポイント同士を接続するパスが、第1パス、及び前記第1パスに交差する第2パスを含み、前記第1パスのうちの最も前記第2パスに近い前記ウェイポイントを第1ウェイポイント、前記第2パスのうちの最も前記第1パスに近いウェイポイントを第2ウェイポイントとした場合において、前記第1ウェイポイントから所定距離以内の位置と前記第2ウェイポイントから所定距離以内の位置とを通る第1経路が設定できない場合には、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通るように設定され、前記第3ウェイポイントは、前記第1ウェイポイントと同じ位置、又は前記第1ウェイポイントよりも前記第2パスから離れた位置にあり、前記第4ウェイポイントは、前記第2ウェイポイントと同じ位置、又は前記第2ウェイポイントよりも前記第1パスから離れた位置にあり、前記第3ウェイポイントから前記第4ウェイポイントまでの距離は、前記第1ウェイポイントから前記第2ウェイポイントまでの距離よりも長い。
【発明の効果】
【0009】
本開示によれば、旋回する経路を適切に設定できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本実施形態に係る移動制御システムの模式図である。
【
図3】
図3は、管理装置の模式的なブロック図である。
【
図4】
図4は、情報処理装置の模式的なブロック図である。
【
図5】
図5は、移動体の制御装置の模式的なブロック図である。
【
図6】
図6は、移動体が通過すべきウェイポイントの一例を示す模式図である。
【
図7】
図7は、旋回する経路の設定の一例を示す模式図である。
【
図8】
図8は、旋回する経路の設定の一例を示す模式図である。
【
図9】
図9は、旋回する経路の設定の他の例を示す模式図である。
【
図10】
図10は、ウェイポイントの設定方法の一例を説明する模式図である。
【
図11A】
図11Aは、本実施形態に係る経路の設定の処理フローを説明するフローチャートである。
【
図12】
図12は、禁止領域の設定を説明するための模式図である。
【
図13】
図13は、禁止領域の設定を説明するための模式図である。
【発明を実施するための形態】
【0011】
以下に添付図面を参照して、本開示の好適な実施形態を詳細に説明する。なお、この実施形態により本開示が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
【0012】
(第1実施形態)
(移動制御システム)
図1は、本実施形態に係る移動制御システムの模式図である。
図1に示すように、本実施形態に係る移動制御システム1は、移動体10と管理装置12と情報処理装置14とを含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備であるが、移動体10を運用する任意の設備であってよい。移動制御システム1においては、移動体10は、設備Wの領域AR内に配置された目標物をピックアップして搬送させる。領域ARは、例えば設備Wの床面であり、目標物が設置されたり移動体10が移動したりする領域である。移動体10が搬送する目標物は、本実施形態では、パレット上に荷物が積載された搬送対象物である。ただし、目標物は、パレット上に荷物が積載されたものに限られず任意の形態であってよく、例えばパレットを有さず荷物のみであってもよい。また、移動体10は、目標物を搬送するものにも限られず、設備W内を任意の目的で移動する装置であってよい。
【0013】
以降において、領域ARに沿った一方向をX方向とし、領域ARに沿った方向であって方向Xに交差する方向を、Y方向とする。本実施形態では、Y方向は、X方向に直交する方向である。X方向、Y方向は、水平面に沿った方向といってもよい。また、X方向、Y方向に直交する方向を、より詳しくは鉛直方向の上方に向かう方向を、Z方向とする。また、本実施形態においては、「位置」とは、特に断りのない限り、領域AR上の二次元面における座標系(領域ARの座標系)における位置(座標)を指す。また、移動体10などの「姿勢」とは、特に断りのない限り、領域ARの座標系における移動体10などの向きであり、Z方向から見た場合に、X方向を0°とした際の移動体10のヨー角(回転角度)を指す。
【0014】
(移動体)
図2は、移動体の構成の模式図である。移動体10は、自動で移動可能な装置である。本実施形態では、移動体10は、真横に移動できない非ホノロミックなシステムである。本実施形態では、移動体10は、目標物を搬送可能な装置である。さらに言えば、本実施形態では、移動体10は、フォークリフトであり、より詳しくはいわゆるAGV(Automated Guided Vehicle)やAGF(Automated Guided Forklift)である。ただし、移動体10は、目標物を搬送するフォークリフトであることに限られず、自動で移動可能な任意な装置であってよい。
【0015】
図2に示すように、移動体10は、車体20と、車輪20Aと、ストラドルレッグ21と、マスト22と、フォーク24と、センサ26Aと、制御装置28とを備えている。ストラドルレッグ21は、車体20の前後方向における一方の端部に設けられて、車体20から突出する一対の軸状の部材である。車輪20Aは、それぞれのストラドルレッグ21の先端と、車体20とに設けられている。すなわち、車輪20Aは、合計3個設けられているが、車輪20Aの設けられる位置や個数は任意であってよい。マスト22は、ストラドルレッグ21に移動可能に取り付けられ、車体20の前後方向に移動する。マスト22は、前後方向に直交する上下方向(ここでは方向Z)に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、前方向とし、フォーク24が設けられていない側の方向を、後方向とする。
【0016】
センサ26Aは、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26Aは、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢との少なくとも一方を検出するともいえる。本実施形態では、センサ26Aは、それぞれのストラドルレッグ21の前方向における先端と、車体20の後方向側とに設けられている。ただし、センサ26Aの設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。
【0017】
センサ26Aは、例えばレーザ光を照射するセンサである。センサ26Aは、一方向(ここでは横方向)に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び向きを検出する。すなわち、センサ26Aは、いわゆる2次元(2D)-LiDAR(Light Detection And Ranging)であるともいえる。ただし、センサ26Aは、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3次元(3D)-LiDARであってもよいし、走査されない、いわゆる1次元(1D)-LiDARであってもよいし、カメラであってもよい。
【0018】
制御装置28は、移動体10の移動を制御する。制御装置28については後述する。
【0019】
(管理装置)
図3は、管理装置の模式的なブロック図である。管理装置12は、設備Wにおける物流を管理するシステムである。管理装置12は、本実施形態ではWCS(Warehouse Control System)やWMS(Warehouse Management System)であるが、WCS及びWMSに限られず任意のシステムであってよく、例えば、その他の生産管理系システムのようなバックエンドシステムでも構わない。管理装置12が設けられる位置は任意であり、設備W内に設けられてもよいし、設備Wから離れた位置に設けられて、離れた位置から設備Wを管理するものであってもよい。管理装置12は、コンピュータであり、
図3に示すように、通信部30と記憶部32と制御部34とを含む。
【0020】
通信部30は、制御部34に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部30による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部32は、制御部34の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
【0021】
制御部34は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。制御部34は、移動先情報設定部40を含む。制御部34は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、移動先情報設定部40を実現して、その処理を実行する。なお、制御部34は、1つのCPUによって処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、移動先情報設定部40を、ハードウェア回路で実現してもよい。また、記憶部32が保存する制御部34用のプログラムは、管理装置12が読み取り可能な記録媒体に記憶されていてもよい。
【0022】
移動先情報設定部40は、移動体10の移動先を示す移動先情報を設定する。移動先情報の設定については後述する。
【0023】
なお、管理装置12は、移動先情報を設定する以外の処理も実行してよい。例えば、管理装置12は、設備Wに設けられる移動体10以外の機構(例えばエレベータや扉など)を制御する情報も設定してよい。
【0024】
(情報処理装置)
図4は、情報処理装置の模式的なブロック図である。情報処理装置14は、設備Wに設けられ、移動体10の移動に関する情報などを処理する装置である。情報処理装置14は、例えばFCS(Fleet Control System)であるが、それに限られず、移動体10の移動に関する情報を処理する任意の装置であってよい。情報処理装置14は、コンピュータであり、
図4に示すように、通信部50と記憶部52と制御部54とを含む。通信部50は、制御部54に用いられて、管理装置12や移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部50による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部52は、制御部54の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
【0025】
制御部54は、演算装置であり、例えばCPUなどの演算回路を含む。制御部54は、ウェイポイント設定部60と、経路設定部62とを含む。制御部54は、記憶部52からプログラム(ソフトウェア)を読み出して実行することで、ウェイポイント設定部60と経路設定部62とを実現して、それらの処理を実行する。なお、制御部54は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、ウェイポイント設定部60と経路設定部62との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部52が保存する制御部54用のプログラムは、情報処理装置14が読み取り可能な記録媒体に記憶されていてもよい。
【0026】
ウェイポイント設定部60は、移動体10が通るべきウェイポイントWPを設定する。ウェイポイントWPとは、領域AR上の位置(座標)毎に予め設定された設定された点である。ウェイポイントWPは、設備Wのレイアウトに応じて設定される。ウェイポイント設定部60は、予め設定されたウェイポイントWPのうちから、移動体10が通るべきウェイポイントWPを設定する。また、経路設定部62は、設定されたウェイポイントWPに基づいて、移動体10が移動する経路Rを設定する。ウェイポイントWP及び経路Rの設定方法は後述する。
【0027】
なお、本実施形態では、管理装置12と情報処理装置14とが別の装置であったが、一体の装置であってもよい。すなわち、管理装置12が情報処理装置14の少なくとも一部の機能を兼ね備えてよいし、情報処理装置14が管理装置12の少なくとも一部の機能を兼ね備えてよい。
【0028】
(移動体の制御装置)
次に、移動体10の制御装置28について説明する。
図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御する装置である。制御装置28は、コンピュータであり、
図5に示すように、通信部70と記憶部72と制御部74とを含む。通信部70は、制御部74に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部70による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部72は、制御部74の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つを含む。
【0029】
制御部74は、演算装置であり、例えばCPUなどの演算回路を含む。制御部74は、経路取得部80と、自己位置取得部82と、移動制御部84とを含む。制御部74は、記憶部72からプログラム(ソフトウェア)を読み出して実行することで、経路取得部80と自己位置取得部82と移動制御部84とを実現して、それらの処理を実行する。なお、制御部74は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、経路取得部80と自己位置取得部82と移動制御部84との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部72が保存する制御部74用のプログラムは、制御装置28が読み取り可能な記録媒体に記憶されていてもよい。
【0030】
経路取得部80は、経路Rの情報を取得する。自己位置取得部82は、移動体10の位置情報を取得する。移動制御部84は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。これらの具体的な処理内容については後述する。
【0031】
(移動制御システムの処理)
移動制御システム1の処理内容について、以下で説明する。
【0032】
(移動先情報の設定)
管理装置12の移動先情報設定部40は、移動体10の移動先を示す移動先情報を設定する。移動先情報設定部40は、移動先情報として、移動先の位置(座標)そのものを指定してもよい。また、それぞれのウェイポイントWPに識別子が付与されており、移動先情報設定部40は、移動先情報として、移動先に対応するウェイポイントWPの識別子を指定してもよい。移動先情報設定部40は、任意の方法で移動先情報を設定してよい。例えば、移動先情報設定部40は、搬送すべき目標物と搬送元及び搬送先を示すオーダー情報を取得して、それに基づいて移動先情報を設定してよい。移動先情報設定部40は、設定した移動先情報を、通信部30を介して、情報処理装置14に送信する。
【0033】
(ウェイポイントの設定)
情報処理装置14のウェイポイント設定部60は、移動体10が通過すべきウェイポイントWPの情報を取得する。ウェイポイント設定部60は、任意の方法でウェイポイントWPの情報を取得してよい。例えば、ウェイポイント設定部60は、管理装置12など他の装置からウェイポイントWPの情報を取得してよいが、本実施形態では、自身でウェイポイントWPを設定する。本実施形態では、ウェイポイント設定部60は、移動先情報に基づいて、移動体10が通過すべきウェイポイントWPを設定する。ウェイポイント設定部60は、移動元(出発地点)のウェイポイントWPと、移動先(到着地点)のウェイポイントWPと、移動元のウェイポイントWPと移動先のウェイポイントWPとを繋ぐウェイポイントWPとを、移動体10が通過すべきウェイポイントWPとして設定する。移動元のウェイポイントWPは任意に設定されてよく、例えば移動体10の現在位置に最も近いウェイポイントWPを、移動元のウェイポイントWPとして設定してよい。移動先のウェイポイントWPは任意に設定されてよく、例えば移動先情報に示される移動体10の移動先に対応する位置のウェイポイントWPを、移動先のウェイポイントWPとして設定してよい。
【0034】
図6は、移動体が通過すべきウェイポイントの一例を示す模式図である。以降においては、ウェイポイント設定部60によって設定されたウェイポイントWP同士を接続するパスが、第1パスP1と、第1パスP1に交差する第2パスP2と、第1パスP1及び第2パスP2に交差して、第1パス及び第2パスP2を接続する接続パスP3とを含むように、ウェイポイント設定部60がウェイポイントWPが設定する場合を例にして説明する。ここでのパスとは、ウェイポイント設定部60によって設定されたウェイポイントWP同士を接続した線である。接続パスP3は、第1パスP1の、移動体10の移動先側の端部に接続されるパスであり、第1パスP1に対して交差している。また、接続パスP3は、第2パスP2の、移動体10の移動元側の端部に接続されるパスであり、第2パスP2に対しても交差している。第2パスP2は、接続パスP3の、移動体10の移動先側の端部に接続されるパスであり、第1パスP1及び接続パスP3に対して交差している。なお、本実施形態でのパス同士が交差しているとは、それらのパス同士が連続的に接続しておらず、それらのパス同士が、極値をもって曲がっている箇所を介して接続されていることを指す。すなわち例えば、本例での第1パスP1と第2パスP2とは、平行な経路であるが、接続パスP3を介して非連続に接続されているので、交差しているといえる。また、第1パスと接続パスP3とは、極値をもって曲がっている箇所(ウェイポイントWP1A)を介して接続されているので、交差しているといえる。第1パスP1、第2パスP2及び接続パスP3は、本実施形態では直線状であるが、それに限られず曲線状であってもよい。
【0035】
図6は、第1パスP1、第2パスP2及び接続パスP3の一例を示している。
図6では、ウェイポイントWPAからウェイポイントWPBに向かう方向が移動体10の移動方向であり、ウェイポイントWPAとウェイポイントWP1とを接続する第1パスP1と、ウェイポイントWP2とウェイポイントWPBとを接続する第2パスP2と、第1パスP1と第2パスP2とを接続する接続パスP3とを含むように、移動体10が通過すべきウェイポイントWPが設定される場合の例を示している。なお、ウェイポイントWP1(第1ウェイポイント)は、第1パスP1に含まれるウェイポイントWPのうちの最も第2パスP2に近いウェイポイントWPである。ウェイポイントWP1Aは、ウェイポイントWP1に対して移動先側(第2パスP2側)に隣接するウェイポイントWPであり、第1パスP1と接続パスP3との接続箇所(極値をもって曲がっている箇所)である。また、ウェイポイントWP2(第2ウェイポイント)は、第2パスP2に含まれるウェイポイントWPのうちの最も第1パスP1に近いウェイポイントWPである。ウェイポイントWP2Aは、ウェイポイントWP2に対して移動元側(第2パスP2側)に隣接するウェイポイントWPであり、第2パスP2と接続パスP3との接続箇所(極値をもって曲がっている箇所)である。なお、本実施形態の例では、ウェイポイントWP1A及びウェイポイントWP2Aは、接続パスP3上のウェイポイントWPとは呼ばず、それぞれ、第1パスP1と接続パスP3との接続箇所(コーナー部分)のウェイポイント、第2パスP2と接続パスP3との接続箇所(コーナー部分)のウェイポイントと呼ぶ。すなわち本例では、接続パスP3は、ウェイポイントWP1Aの移動先側に隣接するウェイポイントから、ウェイポイントWP2Aの移動元側に隣接するウェイポイントまでの各ウェイポイントを含むといえる。
【0036】
(経路の設定)
情報処理装置14の経路設定部62は、ウェイポイント設定部60によって設定されたウェイポイントWPに基づき、移動体10が移動する経路Rを設定する。本実施形態では、経路設定部62は、ウェイポイント設定部60によって設定されたウェイポイントWPに対して所定距離範囲内の位置を通るような経路を、経路Rとして設定する。さらに言えば、経路設定部62は、移動体10の運動特性に基づいた制約条件を満たしつつ、かつ、ウェイポイント設定部60によって設定されたウェイポイントWPに対して所定距離範囲内の位置を通るような経路を、最適化計算により算出して、経路Rとする。最適化計算における制約条件は、移動体10の最小旋回半径を含む。さらに言えば、制約条件として、設定されたウェイポイントWPに対して所定距離範囲内の位置を通ることと、移動体10の上限速度と、進入が禁止されている禁止領域に移動体10が進入しないこととの少なくとも1つ(好ましくは全て)が含まれていてもよい。なお、ここでの所定距離は適宜設定されてよい。
【0037】
以下、最適化計算による経路Rの設定方法の例について説明する。以下の説明では、Collocation法(台形則)による経路Rの設定方法を例にしているが、経路Rの設定方法は、以下の例に限られず任意であってよい。
【0038】
ここで、計算点iにおける移動体10の操作変数をu(i)とし、計算点iにおける移動体10の状態変数をx(i)とし、状態変数の変化量をfとすると、移動体10の操作変数、状態変数、及び状態変数の変化量は、一例として、次の式(1)~(3)で表される。式(1)におけるv(i)は、移動体10の速度であり、φ(i)は、移動体10の操舵角である。式(2)におけるθ(i)は、移動体10の方位角(姿勢)であり、px(i)、py(i)は、移動体10のX座標及びY座標であり、Δtは、計算点の間の時間である。
【0039】
【0040】
経路設定部62は、例えば、次の式(4)に示す最適化計算を実行して、経路Rを算出する。より詳しくは、経路設定部62は、次の式(5)、(6)の制約を満たしつつ、式(4)の最適化計算を行って、経路Rを算出する。式(4)におけるNuは、制御変数の数であり、Nxは、状態変数の数であり、Nは、計算点の数であり、Jは評価関数値である。また、式(6)のHが制約条件を指す。
【0041】
【0042】
(旋回経路)
ここで、第1パスP1、接続パスP3、第2パスP2を含むウェイポイントWPに基づいた経路Rを設定する場合には、第1パスP1から接続パスP3に切り替わる位置や、接続パスP3から第2パスP2に切り替わる位置に対応するコーナー部分(非連続な接続箇所)においては、旋回する経路(旋回経路)を設定する必要がある。しかしながら、このような旋回経路を設定する場合には、移動体10の最小旋回半径などの制約条件を満たしつつ、コーナー部分のウェイポイントWPに対して所定距離範囲内の位置を通る経路が設定できない場合がある。すなわち例えば、コーナー部分のウェイポイントWPに対して所定距離範囲内の位置を通るためには、最小旋回半径より小さい旋回半径でしか旋回経路を設定できない場合がある。そのため、本実施形態においては、このような場合に、所定距離範囲内の位置を通る対象となるウェイポイントWPを設定しなおして経路Rを算出することで、旋回経路を適切に設定することを可能とする。以下、具体的に説明する。
【0043】
図7及び
図8は、旋回する経路の設定の一例を示す模式図である。第1パスP1、第2パスP2、接続パスP3を含むウェイポイントWPに基づいた経路Rを設定する場合、経路設定部62は、経路R2a(第1経路)を含む経路Raが設定できるかを判断する。経路R2aは、ウェイポイントWP1(第1ウェイポイント)に対して所定距離範囲内となる位置とウェイポイントWP2(第2ウェイポイント)に対して所定距離範囲内となる位置とを通る旋回経路である。具体的には、
図7に示すように、経路Raは、第1パスP1に対応する経路R1aと、接続パスP3に対応する経路R2aと、第2パスP2に対応する経路R3aとを含む。経路R1aは、第1パスP1に含まれるウェイポイントWPAからウェイポイントWP1までの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。なお
図7の例では、経路R1aは、ウェイポイントWPAからウェイポイントWP1までの各ウェイポイントWPの上を通っているが、それに限られず、各ウェイポイントWPから所定距離離れた位置を通る経路であってもよく、他の経路も同様である。また、経路R2aは、上述のように、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る経路である。すなわち本実施形態では、経路R2aを設定する際には、接続パスP3に含まれる各ウェイポイントWP(ウェイポイントWP1A~ウェイポイントWP2A)に対して所定距離範囲内の各位置を通るような制約条件が設定されることなく、ウェイポイントWP1とウェイポイントWP2とに対して所定距離範囲内となる各位置を通るような制約条件が設定される。また、経路R3aは、第2パスP2に含まれるウェイポイントWP2からウェイポイントWPBまでの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。
【0044】
ウェイポイントWP1、WP2から所定距離範囲内の位置を通る経路R2aを含む経路Raが設定できる場合には、経路設定部62は、その経路Raを、移動体10が移動する経路Rとして設定する。一方、経路R2aを含む経路Raが設定できない場合には、経路設定部62は、所定距離範囲内の位置を通る対象となるウェイポイントWPを設定しなおして、設定しなおされたウェイポイントWPに基づいて、旋回経路である経路R2bを含む経路Rbを設定する。以下、経路Rbの設定方法について説明する。なお、経路Raが設定できない旨の判断基準は任意であってよいが、例えば、ウェイポイントWP1とウェイポイントWP2(第2ウェイポイント)とに対して所定距離範囲内となる各位置を通り、かつ、他の制約条件を満たしつつ最適化された経路R2aが算出できない場合に、経路Raが設定できないと判断してよい。
【0045】
経路Raが設定できない場合、経路設定部62は、
図8に示すように、ウェイポイントWP2よりも第1パスP1から離れた位置(移動先側の位置)にあるウェイポイントWP4(第4ウェイポイント)を設定する。そして、経路設定部62は、ウェイポイントWP4に基づいて、経路R2bを含む経路Rbを設定する。経路R2bは、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP4に対して所定距離範囲内となる位置とを通る旋回経路である。具体的には、
図8に示すように、経路Rbは、第1パスP1に対応する経路R1bと、接続パスP3に対応する経路R2bと、第2パスP2に対応する経路R3bとを含む経路である。経路R1bは、ウェイポイントWPAからウェイポイントWP1までの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。また、経路R2bは、上述のように、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP4に対して所定距離範囲内となる位置とを通る経路である。すなわち本実施形態では、経路R2bを設定する際には、ウェイポイントWP1とウェイポイントWP4とに対して所定距離範囲内となる各位置を通るような制約条件が設定される。また、経路R3bは、ウェイポイントWP4からウェイポイントWPBまでの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。
【0046】
経路設定部62は、設定した経路R2bを含む経路Rbを、移動体10が移動する経路Rとして設定する。このように、本実施形態においては、ウェイポイントWP1、WP2を通る旋回経路である経路R2aが設定できない場合に、ウェイポイントWP1、WP4を通ることを制約条件とした経路R2bの設定を試みる。これにより、旋回経路の始点から終点までの距離を長くして、制約条件を満たした旋回経路を設定し易くすることが可能となり、旋回経路を適切に設定することが可能となる。
【0047】
なお、
図8の説明では、ウェイポイントWP1、WP4を通ることを制約条件として、経路R2bを設定していたが、それに限られない。経路R2bは、始点となるウェイポイントWPから終点となるウェイポイントWPまでの距離が、経路R2aの始点となるウェイポイントWP1から終点となるウェイポイントWP2までの距離より長くなるような経路であればよい。以下、経路R2bの他の例について説明する。
【0048】
図9は、旋回する経路の設定の他の例を示す模式図である。経路Raが設定できない場合、経路設定部62は、
図9に示すように、ウェイポイントWP1よりも第2パスP2から離れた位置(移動元側の位置)にあるウェイポイントWP3(第3ウェイポイント)を設定してもよい。そして、経路設定部62は、ウェイポイントWP3に基づいて、経路R2bを含む経路Rbを設定してもよい。この場合、経路R2bは、ウェイポイントWP3に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る旋回経路となる。具体的には、
図9に示すように、経路Rbは、第1パスP1に対応する経路R1bと、接続パスP3に対応する経路R2bと、第2パスP2に対応する経路R3bとを含む経路となる。経路R1bは、ウェイポイントWPAからウェイポイントWP3までの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。また、経路R2bは、上述のように、ウェイポイントWP3に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る経路である。すなわちこの例では、経路R2bを設定する際には、ウェイポイントWP3とウェイポイントWP2とに対して所定距離範囲内となる各位置を通るような制約条件が設定される。また、経路R3bは、ウェイポイントWP2からウェイポイントWPBまでの各ウェイポイントWPに対して所定距離範囲内となる各位置を通る経路である。
図9の例のように、ウェイポイントWP3、WP2を通ることを制約条件とした経路R2bの設定を試みることによっても、旋回経路の始点から終点までの距離を長くして、旋回経路を適切に設定することが可能となる。
【0049】
また例えば、経路Raが設定できない場合、経路設定部62は、ウェイポイントWP1よりも第2パスP2から離れた位置にあるウェイポイントWP3と、ウェイポイントWP2よりも第1パスP1から離れた位置にあるウェイポイントWP4と対して所定距離範囲内となる各位置を通るように、経路R2bを設定してもよい。
【0050】
すなわち、以上を整理すれば、経路Raが設定できない場合には、経路設定部62は、ウェイポイントWP1と同じ位置、又はウェイポイントWP1よりも第2パスP2から離れた位置を、第3ウェイポイント(ここではウェイポイントWP1又はウェイポイントWP3)とし、ウェイポイントWP2と同じ位置、又はウェイポイントWP2よりも第1パスP1から離れた位置を、第4ウェイポイント(ここではウェイポイントWP2又はウェイポイントWP4)として設定する。そして、経路設定部62は、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを含む経路Rbを、移動体の経路Rとして設定するといえる。ただしこの場合、第3ウェイポイントと第4ウェイポイントとは、第3ウェイポイントから第4ウェイポイントまでの距離が、ウェイポイントWP1からウェイポイントWP2までの距離よりも長くなるような位置に、設定される。
【0051】
なお、経路設定部62は、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bが設定できない場合には、第3ウェイポイントと第4ウェイポイントとの少なくとも一方を、第2パスP2からさらに離れるように設定し直して、経路R2bの設定を再度試みてよい。すなわち、第3ウェイポイントと第4ウェイポイントとを通ることを制約条件とした経路R2bが設定できない場合には、第3ウェイポイントと第4ウェイポイントとの少なくとも一方を設定し直して、設定し直した第3ウェイポイントと第4ウェイポイントとを通ることを制約条件とした経路R2bを設定してよい。例えば
図8の例で、ウェイポイントWP1、WP4を通る経路R2bが設定できない場合には、経路設定部62は、ウェイポイントWP4を、元のウェイポイントWP4よりも第1パスP1から遠い位置に設定し直して、ウェイポイントWP1と、設定し直したウェイポイントWP4を通る経路を経路R2bとして設定し直す。また例えば、
図9の例で、ウェイポイントWP3、WP2を通る経路R2bが設定できない場合には、経路設定部62は、ウェイポイントWP3を、元のウェイポイントWP3よりも第2パスP2から遠い位置に設定し直して、設定し直したウェイポイントWP3とウェイポイントWP2を通る経路を経路R2bとして設定し直す。
【0052】
経路設定部62は、経路R2bが設定可能となるまで、第3ウェイポイントと第4ウェイポイントとの少なくとも一方を設定し直す処理を繰り返してよい。第3ウェイポイントと第4ウェイポイントとの少なくとも一方を設定し直す処理を所定回数繰り返しても、経路R2bが設定できない場合には、ウェイポイント設定部60は、移動体10が通るべきウェイポイントWPを設定し直してよい。すなわちこの場合、ウェイポイント設定部60は、移動元のウェイポイントWPと移動先のウェイポイントWPとを繋ぐ各ウェイポイントWPを、他のパスを通るように設定し直して、移動体10が通過すべきウェイポイントWPとする。この場合、経路設定部62は、設定し直されたウェイポイントWPに基づいて、経路Rを設定する。
【0053】
(ウェイポイントWP3、WP4の設定例)
なお、経路R2bの設定に用いられるウェイポイントWP3やウェイポイントWP4は、ウェイポイントWP1やウェイポイントWP4よりも第2パスP2から離れた任意の位置に設定されてよい。例えば、経路設定部62は、ウェイポイントWP1から、第2パスP2から離れる側に所定距離だけ離れた第1パスP1上の位置を、ウェイポイントWP3(第3ウェイポイント)として設定してよい。また設定したウェイポイントWP3を用いた経路R2bの設定ができない場合は、設定済みのウェイポイントWP3から、第2パスP2から離れる側に所定距離だけ離れた第1パスP1上の位置を、ウェイポイントWP3として設定し直してよい。すなわち、経路R2bが設定できるまで、第2パスP2から離れる側に等距離ずつ離れるように、ウェイポイントWP3を更新してよい。また例えば、経路設定部62は、ウェイポイントWP2から、第1パスP1から離れる側に所定距離だけ離れた第2パスP2上の位置を、ウェイポイントWP4(第4ウェイポイント)として設定してよい。また設定したウェイポイントWP4を用いた経路R2bの設定ができない場合は、設定済みのウェイポイントWP4から、第1パスP1から離れる側に所定距離だけ離れた第2パスP2上の位置を、ウェイポイントWP4として設定し直してよい。すなわち、経路R2bが設定できるまで、第1パスP1から離れる側に等距離ずつ離れるように、ウェイポイントWP4を更新してよい。
【0054】
また例えば、経路設定部62は、二分探索を用いて、ウェイポイントWP3やウェイポイントWP4を設定してよい。
図10は、ウェイポイントの設定方法の一例を説明する模式図である。
【0055】
図10に基づいて、二分探索によりウェイポイントWP3を設定する方法の例を説明する。
図10に示すように、本例においては、ウェイポイント設定部60は、第4パスP4も含むように、移動体10が移動すべきウェイポイントWPを設定している。第4パスP4は、第1パスP1の移動元側の端部に接続されて、第1パスP1と交差するパスである。また、第1パスP1に含まれるウェイポイントWPのうちで、最も第4パスP4に近いウェイポイントWPを、ウェイポイントWP5(第5ウェイポイント)とする。この場合、経路設定部62は、ウェイポイントWP1とウェイポイントWP5とを用いた二分探索により、ウェイポイントWP3を設定する。すなわち、経路設定部62は、最初に、第1パスP1上におけるウェイポイントWP1とウェイポイントWP5との中央位置(第1位中央位置)をウェイポイントWP3として、経路R2bの設定を試みる。第1中央位置をウェイポイントWP3として経路R2bが設定できる場合には、第1パスP1上における第1中央位置とウェイポイントWP1との中央位置(第2中央位置)を新たなウェイポイントWP3として、経路R2bの設定を試みる。一方、第1中央位置をウェイポイントWP3として経路R2bが設定できない場合には、第1パスP1上における第1中央位置とウェイポイントWP5との中央位置(第3中央位置)をウェイポイントWP3として、経路R2bの設定を試みる。すなわち、経路R2bが設定できる場合には、ウェイポイントWP1側にウェイポイントWP3を設定し直し、経路R2bを設定できない場合には、ウェイポイントWP5側にウェイポイントWP3を設定し直す二分探索処理を繰り返すことで、最終的なウェイポイントWP3を設定する。
【0056】
図10に基づいて、二分探索によりウェイポイントWP4を設定する方法の例を説明する。
図10に示すように、本例においては、ウェイポイント設定部60は、第5パスP5も含むように、移動体10が移動すべきウェイポイントWPを設定している。第5パスP5は、第2パスP2の移動先側の端部に接続されて、第2パスP2と交差するパスである。また、第2パスP2に含まれるウェイポイントWPのうちで、最も第5パスP5に近いウェイポイントWPを、ウェイポイントWP6(第6ウェイポイント)とする。この場合、経路設定部62は、ウェイポイントWP2とウェイポイントWP6とを用いた二分探索により、ウェイポイントWP4を設定する。すなわち、経路設定部62は、最初に、第2パスP2上におけるウェイポイントWP2とウェイポイントWP6との中央位置(第1中央位置)をウェイポイントWP4として、経路R2bの設定を試みる。第1中央位置をウェイポイントWP4として経路R2bが設定できる場合には、第2パスP2上における第1中央位置とウェイポイントWP2との中央位置(第2中央位置)を新たなウェイポイントWP4として、経路R2bの設定を試みる。一方、第1中央位置をウェイポイントWP4として経路R2bが設定できない場合には、第2パスP2上における第1中央位置とウェイポイントWP6との中央位置(第3中央位置)をウェイポイントWP4として、経路R2bの設定を試みる。すなわち、経路R2bが設定できる場合には、ウェイポイントWP2側にウェイポイントWP4を設定し直し、経路R2bを設定できない場合には、ウェイポイントWP6側にウェイポイントWP4を設定し直す二分探索処理を繰り返すことで、最終的なウェイポイントWP4を設定する。
【0057】
(経路の取得)
移動体10の経路Rは、以上のように設定される。移動体10の制御装置28は、経路取得部80により、経路Rの情報を取得する。
【0058】
(移動体の移動)
移動体10の制御装置28は、移動制御部84により、取得した経路Rに従って移動体10を移動させる。この場合、制御装置28は、自己位置取得部82により、移動体10の位置情報(例えば移動体10の位置及び姿勢)を逐次把握することで、経路Rを通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、自己位置取得部82は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Simultaneous Localization And Mapping)を用いてもよい。
【0059】
(制御フロー)
以上説明した経路Rの設定の処理フローについて説明する。
図11Aは、本実施形態に係る経路の設定の処理フローを説明するフローチャートである。
図11Aに示すように、情報処理装置14は、ウェイポイント設定部60により、移動体10が通過すべきウェイポイントWPを設定し(ステップS10)、経路設定部62により、ウェイポイントWP1とウェイポイントWP2とから所定距離範囲内の位置を通る経路R2aの設定を試みる(ステップS12)。経路R2aが設定できる場合には(ステップS12;Yes)、経路R2aを含む経路Raを、移動体10が移動する経路Rとして設定する(ステップS14)。一方、経路R2aが設定できない場合には(ステップS12;No)、経路設定部62は、ウェイポイントWP4を設定して(ステップS16)、ウェイポイントWP1とウェイポイントWP4とから所定距離範囲内の位置を通る経路R2bの設定を試みる(ステップS18)。経路R2bが設定できない場合(ステップS18;No)、ステップS16に戻り、ウェイポイントWP4を設定し直して、以降の処理を繰り返す。経路R2bが設定できる場合には(ステップS18;Yes)、経路R2bを含む経路Rbを、移動体10が移動する経路Rとして設定する(ステップS10)。なお、本処理フローの説明では、ウェイポイントWP1とウェイポイントWP4から所定距離範囲内の位置を通る経路R2bを設定していたが、上述のように、第3ウェイポイントと第4ウェイポイントを通る経路R2bを設定するものであってよい。
【0060】
(他の例)
以上の説明では、第1パスP1と第2パスP2とが接続パスP3を介して接続される場合の経路の設定方法を説明していたが、第1パスP1と第2パスP2とが、接続パスP3を介さずに直接に接続されている場合にも、同様の方法で経路Rを設定できる。以下、具体的に説明する。
【0061】
図11Bは、旋回する経路の設定の他の例を示す模式図である。
図11Bに示すように、本例では、第1パスP1と第2パスP2とが、ウェイポイントWP1Aを介して、互いに交差するように接続されている。この場合でも、経路設定部62は、ウェイポイントWP1に対して所定距離範囲内となる位置とウェイポイントWP2に対して所定距離範囲内となる位置とを通る旋回経路である経路R2aが設定できるかを判断する。経路R2aが設定できない場合には、経路設定部62は、ウェイポイントWP1と同じ位置、又はウェイポイントWP1よりも第2パスP2から離れた位置を、第3ウェイポイント(ここではウェイポイントWP1又はウェイポイントWP3)とし、ウェイポイントWP2と同じ位置、又はウェイポイントWP2よりも第1パスP1から離れた位置を、第4ウェイポイント(ここではウェイポイントWP2又はウェイポイントWP4)として設定する。そして、経路設定部62は、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを含む経路Rbを、移動体の経路Rとして設定するといえる。
【0062】
以上説明したように、本実施形態においては、第1パスP1、及び第2パスP2を含むウェイポイントWPに基づいて経路Rを設定する場合において、ウェイポイントWP1とウェイポイントWP2とから所定距離範囲内の位置を通る経路R2aが設定できない場合には、より距離が長い第3ウェイポイント及び第4ウェイポイントを設定する。そして、第3ウェイポイント及び第4ウェイポイントとから所定距離範囲内の位置を通る経路R2bを設定して、経路R2bを含む経路Rbを、移動体10用の経路Rとして設定する。従って、本実施形態によると、旋回経路の始点から終点までの距離を長くして、制約条件を満たした旋回経路を設定し易くすることが可能となり、旋回経路を含む経路Rを適切に設定することが可能となる。
【0063】
なお、本実施形態においては、情報処理装置14が、ウェイポイント設定部60及び経路設定部62により、移動体10が通るべきウェイポイントWP及び経路Rを設定する。ただし、ウェイポイントWP及び経路Rを設定する主体は情報処理装置14に限られず任意であってよい。例えば、移動体10が、ウェイポイント設定部60を含んで、移動体10が通るべきウェイポイントWPを設定してもよい。また例えば、移動体10が、経路設定部62を含んで、設定されたウェイポイントWPに基づき、経路Rを設定してもよい。
【0064】
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態においては、他の移動体について設定された経路RBに基づいて禁止領域を設定して、その禁止領域を通らないように移動体10の経路Rを設定する点で、第1実施形態とは異なる。第2実施形態において、第1実施形態と構成が共通する箇所は、説明を省略する。
【0065】
図12及び
図13は、禁止領域の設定を説明するための模式図である。第2実施形態においては、経路Rの設定対象となる移動体10を移動体10Aとし、移動体10A以外の移動体10を移動体10Bとする。また、第2実施形態においては、
図12に示すように、移動体10Aが通るべきウェイポイントWPを繋いだパスP(
図12の例では第1パスP1、第2パスP2、及び接続パスP3を含むパス)に対して隣接するように、移動体10Bが通るべきウェイポイントWPを繋いだパスPB(
図12の例では、第1パスP1に隣接するパスP1B、第2パスP2に隣接するパスP2B、及び接続パスP3に隣接するパスP3Bを含むパス)が設定されており、かつ、移動体10BがパスPBに対応する経路RBを通る時間帯が、移動体10AがパスPに対応する経路Rを通る時間帯と重複している場合を例にして説明する。すなわち、移動体10Aと移動体10Bとが、隣接する車線(本例では対向車線)を同時間帯に移動する場合を例にして説明する。
【0066】
このように移動体10BのパスPBが設定される場合、移動体10Aの経路Rの設定の際には、パスPBから所定距離範囲内の領域AR0を、移動体10Aの進入を禁止する禁止領域として設定することもできる。しかしながら、
図13に示すように、移動体10Bは、パスPBを実際に通るわけではなく、移動体10Aの経路Rと同様の方法でパスPBに含まれるウェイポイントWPに基づいて設定された、経路RBを通る。そのため、本実施形態においては、経路設定部62は、移動体10BのパスPBではなく、移動体10Bが実際に通る経路RBに基づいて、禁止領域を設定する。具体的には、本実施形態においては、経路設定部62は、移動体10Aの経路Rよりも前に設定済みの移動体10Bの経路RBの情報を取得する。そして、経路設定部62は、経路RBから所定距離範囲内の領域AR1を、移動体10Aの進入を禁止する禁止領域として設定する。これにより、実際の移動体10Bの移動経路を反映した禁止領域が設定できるため、移動体10Aの経路Rをより適切に設定することが可能となる。特に、移動体10Bの経路RBに含まれる旋回経路(パスP2BとパスP1Bとの境界位置に対応する経路)は、パスPBよりも内側を通るため、経路RBから所定距離範囲内の領域AR1(禁止領域)は、経路RBから所定距離範囲内の領域AR1よりも狭くなる。そのため、実際の移動体10Bの移動経路を反映して、禁止領域を大きくしすぎることを抑制でき、移動体10Aの経路Rをより適切に設定することが可能となる。
【0067】
(本開示の効果)
本開示の第1態様に係る経路設定方法は、移動体10が通るべきウェイポイントWPの情報を取得するステップと、ウェイポイントWPに基づいて、移動体10の経路Rを設定するステップとを含む。経路Rを設定するステップにおいては、ウェイポイントWP同士を接続するパスPが、第1パスP1、及び第1パスP1に交差する第2パスP2を含み、第1パスP1のうちの最も第2パスP2に近いウェイポイントWPを第1ウェイポイント(ウェイポイントWP1)、第2パスP2のうちの最も第1パスP1に近いウェイポイントWPを第2ウェイポイント(ウェイポイントWP2)とした場合において、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路(経路R2a)が設定できない場合には、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスP2から離れた位置にある第3ウェイポイント(ウェイポイントWP1又はウェイポイントWP3)と、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第2パスP2から離れた位置にある第4ウェイポイント(ウェイポイントWP2又はウェイポイントWP4)とを、第3ウェイポイントから第4ウェイポイントまでの距離が第1ウェイポイントから第2ウェイポイントまでの距離よりも長くなるように設定する。そして、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを、移動体10の経路として設定する。本方法によると、第1ウェイポイント及び第2ウェイポイントを通る旋回経路が設定できない場合に、旋回経路の始点から終点までの距離を長くして、制約条件を満たした旋回経路を設定し易くすることが可能となり、旋回経路を含む経路Rを適切に設定することが可能となる。
【0068】
本開示の第2態様に係る経路設定方法は、第1態様に係る経路設定方法であって、経路Rを設定するステップは、移動体10の運動特性に基づいた制約条件を満たすように、経路Rを設定するものであり、制約条件を満たした第1経路(経路R2b)が設定できない場合に、第1経路が設定できないと判断する。本開示によると、第1経路が設定できない場合に、旋回経路の始点から終点までの距離を長くすることで、旋回経路を含む経路Rを適切に設定することが可能となる。
【0069】
本開示の第3態様に係る経路設定方法は、第1態様又は第2態様に係る経路設定方法であって、経路Rを設定するステップにおいては、第3ウェイポイント(ウェイポイントWP3)を第1ウェイポイント(ウェイポイントWP1)よりも第2パスP2から離れた位置に設定する場合には、第1ウェイポイントから、第2パスP2から離れる側に所定距離だけ離れた第1パスP1上の位置を、第3ウェイポイントとして設定する。また、第4ウェイポイント(ウェイポイントWP4)を第2ウェイポイント(ウェイポイントWP2)よりも第1パスP1から離れた位置に設定する場合には、第2ウェイポイントから、第1パスP1から離れる側に所定距離だけ離れた第2パスP2上の位置を、第4ウェイポイントとして設定する。このように第3ウェイポイントや第4ウェイポイントを設定することで、旋回経路の始点から終点までの距離を適切に長くして、旋回経路を含む経路Rを適切に設定することが可能となる。
【0070】
本開示の第4態様に係る経路設定方法は、第1態様又は第2態様に係る経路設定方法であって、経路Rを設定するステップにおいては、第3ウェイポイント(ウェイポイントWP3)を第1ウェイポイント(ウェイポイントWP1)よりも第2パスP2から離れた位置に設定する場合には、第1ウェイポイントと、第1パスP1に対して第2パスP2と反対側において交差する第4パスに最も近い第1パスP1上の第5ウェイポイント(ウェイポイントWP5)とを用いた二分探索により、第3ウェイポイントを設定する。また、第4ウェイポイント(ウェイポイントWP4)を第2ウェイポイント(ウェイポイントWP2)よりも第1パスP1から離れた位置に設定する場合には、第2ウェイポイントと、第2パスP2に対して第1パスP1と反対側において交差する第5パスP5に最も近い第2パスP2上の第6ウェイポイント(ウェイポイントWP6)とを用いた二分探索により、第4ウェイポイントを設定する。このように第3ウェイポイントや第4ウェイポイントを設定することで、旋回経路の始点から終点までの距離を適切に長くして、旋回経路を含む経路Rを適切に設定することが可能となる。
【0071】
本開示の第5態様に係る経路設定方法は、第1態様から第4態様のいずれかに係る経路設定方法であって、パスPが、第1パスP1及び第2パスP2に交差して第1パスP1及び第2パスP2を接続する接続パスP3を更に有する場合には、経路Rを設定するステップにおいては、接続パスP3に含まれる各ウェイポイントWPに対して所定距離範囲内の各位置を通るような制約条件を設定することなく、移動体10の経路Rを設定する。これにより、コーナー部分を複数含む場合の旋回経路を、適切に設定することができる。
【0072】
本開示の第6態様に係る経路設定方法は、第1態様から第5態様のいずれかに係る経路設定方法であって、経路Rの設定対象となる移動体10Aとは異なる別移動体(移動体10B)について設定された経路である別経路(経路RB)の情報を取得するステップをさらに含み、経路Rを設定するステップにおいては、別経路から所定距離範囲内の領域AR1を禁止領域として設定して、移動体10が禁止領域を通らないように、経路Rを設定する。本開示によると、実際の移動体10Bの移動経路を反映した禁止領域が設定できるため、移動体10Aの経路Rをより適切に設定することが可能となる。
【0073】
本開示の第7態様に係る経路設定方法は、第6態様に係る経路設定方法であって、経路Rを設定するステップにおいては、禁止領域が、別移動体(移動体10B)に対して設定された、第1パスP1、及び第2パスP2に隣接ずるパスPBから所定距離範囲内の領域AR0よりも狭くなるように、禁止領域を設定する。本開示によると、実際の移動体10Bの移動経路を反映して、禁止領域を大きくしすぎることを抑制でき、移動体10Aの経路Rをより適切に設定することが可能となる。
【0074】
本開示の第8態様に係るプログラムは、移動体10が通るべきウェイポイントWPの情報を取得するステップと、ウェイポイントWPに基づいて、移動体10の経路Rを設定するステップとをコンピュータに実行させる。経路Rを設定するステップにおいては、ウェイポイントWP同士を接続するパスPが、第1パスP1、及び第1パスP1に交差する第2パスP2を含み、第1パスP1のうちの最も第2パスP2に近いウェイポイントWPを第1ウェイポイント(ウェイポイントWP1)、第2パスP2のうちの最も第1パスP1に近いウェイポイントWPを第2ウェイポイント(ウェイポイントWP2)とした場合において、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路(経路R2a)が設定できない場合には、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスP2から離れた位置にある第3ウェイポイント(ウェイポイントWP1又はウェイポイントWP3)と、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第2パスP2から離れた位置にある第4ウェイポイント(ウェイポイントWP2又はウェイポイントWP4)とを、第3ウェイポイントから第4ウェイポイントまでの距離が第1ウェイポイントから第2ウェイポイントまでの距離よりも長くなるように設定する。そして、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通る経路R2bを、移動体10の経路として設定する。本プログラムによると、第旋回経路を含む経路Rを適切に設定することが可能となる。
【0075】
本開示の第9態様に係る移動体10は、通るべきウェイポイントWPの情報に基づいて設定された経路Rを移動する。経路Rは、ウェイポイントWP同士を接続するパスPが、第1パスP1、及び第1パスP1に交差する第2パスP2を含み、第1パスP1のうちの最も第2パスP2に近いウェイポイントWPを第1ウェイポイント(ウェイポイントWP1)、第2パスP2のうちの最も第1パスP1に近いウェイポイントWPを第2ウェイポイント(ウェイポイントWP2)とした場合において、第1ウェイポイントから所定距離以内の位置と第2ウェイポイントから所定距離以内の位置とを通る第1経路(経路R2a)が設定できない場合には、第3ウェイポイントから所定距離以内の位置と第4ウェイポイントから所定距離以内の位置とを通るように設定される。第3ウェイポイントは、第1ウェイポイントと同じ位置、又は第1ウェイポイントよりも第2パスP2から離れた位置にあり、第4ウェイポイントは、第2ウェイポイントと同じ位置、又は第2ウェイポイントよりも第2パスP2から離れた位置にあり、第3ウェイポイントから第4ウェイポイントまでの距離は、第1ウェイポイントから第2ウェイポイントまでの距離よりも長い。本開示によると、適切に設定された旋回経路を含む経路Rを移動させることができる。
【0076】
以上、本開示の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0077】
10 移動体
12 管理装置
14 情報処理装置
60 ウェイポイント設定部
62 経路設定部
R、Ra、Rb 経路
WP、WP1、WP2、WP3、WP4 ウェイポイント