(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023091769
(43)【公開日】2023-06-30
(54)【発明の名称】移動体の管理方法、移動体の制御方法、移動体及びプログラム
(51)【国際特許分類】
G05D 1/02 20200101AFI20230623BHJP
【FI】
G05D1/02 S
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022201887
(22)【出願日】2022-12-19
(31)【優先権主張番号】P 2021206171
(32)【優先日】2021-12-20
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】岡崎 広昴
(72)【発明者】
【氏名】▲高▼尾 健司
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301BB07
5H301CC03
5H301CC06
5H301CC10
5H301DD01
5H301DD07
5H301DD15
5H301GG08
5H301GG09
5H301LL07
5H301LL11
5H301LL14
(57)【要約】
【課題】横方向側に存在する対象物への干渉を抑制する。
【解決手段】移動体の管理方法は、自動で移動する移動体の移動条件を取得するステップと、移動条件に基づき、対象物が位置すべきでない移動体の進行方向側の領域である安全領域を設定するステップと、を含み、安全領域を設定するステップにおいては、移動体の速度が高いほど、進行方向に交差する横方向に安全領域が広がるように、安全領域を設定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
自動で移動する移動体の移動条件を取得するステップと、
前記移動条件に基づき、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域を設定するステップと、
を含み、
前記安全領域を設定するステップにおいては、前記移動体の速度が高いほど、前記進行方向に交差する横方向に前記安全領域が広がるように、前記安全領域を設定し、
前記移動条件を取得するステップにおいては、前記移動体に入力可能な操舵角指令の最大値及び操舵角速度の最大値に基づいて、前記移動体が最も早く前記横方向の一方側を向くための時刻毎の操舵角指令を、前記操舵角指令の第1基準値として取得し、前記移動体が最も早く前記横方向の他方側を向くための時刻毎の操舵角指令を、前記操舵角指令の第2基準値として取得し、
前記安全領域を設定するステップにおいては、前記移動体に前記第1基準値が入力された際の第1想定到達位置と、前記移動体に前記第2基準値が入力された際の第2想定到達位置とを含むように、前記安全領域を設定する、
移動体の管理方法。
【請求項2】
自動で移動する移動体の移動条件を取得するステップと、
前記移動条件に基づき、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域を設定するステップと、
を含み、
前記安全領域を設定するステップにおいては、前記移動体の速度が高いほど、前記進行方向に交差する横方向に前記安全領域が広がるように、前記安全領域を設定し、
前記移動条件を取得するステップにおいては、予め測定した、前記移動体の操舵角指令を一定とした際における前記移動体の前記横方向の位置である測定位置の情報を取得し、
前記安全領域を設定するステップにおいては、前記測定位置に基づき設定された、前記移動体よりも前記横方向の一方側の位置である第1想定到達位置と、前記測定位置に基づき設定された、前記移動体よりも前記横方向の他方側の位置である第2想定到達位置とを含むように、前記安全領域を設定する、
移動体の管理方法。
【請求項3】
前記移動条件を取得するステップにおいては、移動体の速度と前記測定位置との対応関係を機械学習した学習モデルに、前記移動体の速度を入力することで、前記第1想定到達位置及び前記第2想定到達位置とを算出する、請求項2に記載の移動体の管理方法。
【請求項4】
前記移動条件を取得するステップにおいては、前記移動体を停止させるためのトルク指令の基準値を取得し、
前記安全領域を設定するステップにおいては、前記トルク指令の基準値にも基づき、前記第1想定到達位置及び前記第2想定到達位置を設定する、請求項1から請求項3のいずれか1項に記載の移動体の管理方法。
【請求項5】
前記移動体の上限速度を設定するステップをさらに含み、
前記上限速度を設定するステップにおいては、前記移動体が前記上限速度で移動した場合の前記安全領域内に、前記対象物が位置しないように、前記上限速度を設定する、請求項1から請求項3のいずれか1項に記載の移動体の管理方法。
【請求項6】
第1方向に向かう第1経路と、前記第1経路に対して横方向に並ぶ第2経路とが設定される通路を、第1移動体が前記第1方向に向けて移動を予定している場合において、第2移動体が同じ時間帯で前記通路の移動を予定しているかを判断するステップと、
前記第2移動体が同じ時間帯で前記通路の移動を予定していない場合に、前記第1経路よりも前記第2経路側に位置する中央経路を、前記第1移動体の経路とするステップと、を含む、請求項1から請求項3のいずれか1項に記載の移動体の管理方法。
【請求項7】
前記第2移動体が同じ時間帯で前記通路の移動を予定している場合に、前記第1経路を前記第1移動体の経路とし、前記第2経路を前記第2移動体の経路とするステップを更に含む、請求項6に記載の移動体の管理方法。
【請求項8】
前記第2移動体が同じ時間帯で前記通路の移動を予定している場合であって、前記第1移動体の移動を優先する旨を示す優先情報を取得した場合には、前記中央経路を前記第1移動体の経路とする、請求項6に記載の移動体の管理方法。
【請求項9】
請求項1から請求項3のいずれか1項に記載の移動体の管理方法で設定された前記安全領域の情報を取得するステップと、
前記安全領域内に前記対象物が位置しないかを検出しつつ、前記移動体を移動させるステップと、を含む、
移動体の制御方法。
【請求項10】
前記移動体の進行方向側の第1距離範囲内に他の移動体が存在するかを検出するステップと、
前記移動体の横方向側の第2距離範囲内に位置が固定された前記対象物が存在するかを検出するステップと、
他の移動体が前記第1距離範囲内に存在せず、かつ、前記第2距離範囲内に前記対象物が存在しない場合には、前記移動体の移動する経路を、前記横方向側に切り替えるステップと、を更に含む、請求項9に記載の移動体の制御方法。
【請求項11】
自動で移動する移動体であって、
前記移動体の移動条件に基づき設定された、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域の情報を取得する安全領域取得部と、
前記安全領域内に前記対象物が位置しないかを検出しつつ、前記移動体を移動させる移動制御部と、
を含み、
前記安全領域は、
前記移動体の速度が高いほど、前記進行方向に交差する横方向に広がり、かつ、前記移動体に第1基準値が入力された際の第1想定到達位置と、移動体に第2基準値が入力された際の第2想定到達位置とを含むように設定されており、
前記第1基準値は、前記移動体に入力可能な操舵角指令の最大値及び操舵角速度の最大値に基づいて設定された、前記移動体が最も早く前記横方向の一方側を向くための時刻毎の操舵角指令であり、
前記第2基準値は、前記移動体に入力可能な操舵角指令の最大値及び操舵角速度の最大値に基づいて設定された、前記移動体が最も早く前記横方向の他方側を向くための時刻毎の操舵角指令である、
移動体。
【請求項12】
自動で移動する移動体であって、
前記移動体の移動条件に基づき設定された、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域の情報を取得する安全領域取得部と、
前記安全領域内に前記対象物が位置しないかを検出しつつ、前記移動体を移動させる移動制御部と、
を含み、
前記安全領域は、
前記移動体の速度が高いほど、前記進行方向に交差する横方向に広がり、かつ、前記移動体よりも前記横方向の一方側の位置である第1想定到達位置と、前記移動体よりも前記横方向の他方側の位置である第2想定到達位置とを含むように設定され、
前記第1想定到達位置及び前記第2想定到達位置は、予め測定された、前記移動体の操舵角指令を一定とした際における前記移動体の前記横方向の位置である測定位置に基づいて設定される、
移動体。
【請求項13】
自動で移動する移動体の移動条件を取得するステップと、
前記移動条件に基づき、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域を設定するステップと、
をコンピュータに実行させるプログラムであって、
前記安全領域を設定するステップにおいては、前記移動体の速度が高いほど、前記進行方向に交差する横方向に前記安全領域が広がるように、前記安全領域を設定し、
前記移動条件を取得するステップにおいては、前記移動体に入力可能な操舵角指令の最大値及び操舵角速度の最大値に基づいて、前記移動体が最も早く前記横方向の一方側を向くための時刻毎の操舵角指令を、前記操舵角指令の第1基準値として取得し、前記移動体が最も早く前記横方向の他方側を向くための時刻毎の操舵角指令を、前記操舵角指令の第2基準値として取得し、
前記安全領域を設定するステップにおいては、前記移動体に前記第1基準値が入力された際の第1想定到達位置と、前記移動体に前記第2基準値が入力された際の第2想定到達位置とを含むように、前記安全領域を設定する、
プログラム。
【請求項14】
自動で移動する移動体の移動条件を取得するステップと、
前記移動条件に基づき、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域を設定するステップと、
をコンピュータに実行させるプログラムであって、
前記安全領域を設定するステップにおいては、前記移動体の速度が高いほど、前記進行方向に交差する横方向に前記安全領域が広がるように、前記安全領域を設定し、
前記移動条件を取得するステップにおいては、予め測定した、前記移動体の操舵角指令を一定とした際における前記移動体の前記横方向の位置である測定位置の情報を取得し、
前記安全領域を設定するステップにおいては、前記測定位置に基づき設定された、前記移動体よりも前記横方向の一方側の位置である第1想定到達位置と、前記測定位置に基づき設定された、前記移動体よりも前記横方向の他方側の位置である第2想定到達位置とを含むように、前記安全領域を設定する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体の管理方法、移動体の制御方法、移動体及びプログラムに関する。
【背景技術】
【0002】
例えばフォークリフトなどの移動体を、自動的に移動させる技術が知られている。例えば特許文献1には、基準の経路を自律走行する移動体であって、前回位置からの移動ベクトルから求めた進行方向において、障害物に対して所定の通行距離を保持できるように移動体の速度を決定することで、障害物との衝突を抑制する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、移動体は、操舵により横方向にも移動するため、操舵の不確かさにより、横方向側に存在する対象物に干渉してしまうおそれがある。そのため、横方向側に存在する対象物への干渉を抑制することが求められる。
【0005】
本開示は、上述した課題を解決するものであり、横方向側に存在する対象物への干渉を抑制可能な移動体の管理方法、移動体の制御方法、移動体及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本開示に係る移動体の管理方法は、自動で移動する移動体の移動条件を取得するステップと、前記移動条件に基づき、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域を設定するステップと、を含み、前記安全領域を設定するステップにおいては、前記移動体の速度が高いほど、前記進行方向に交差する横方向に前記安全領域が広がるように、前記安全領域を設定する。
【0007】
上述した課題を解決し、目的を達成するために、本開示に係る移動体の制御方法は、前記移動体の管理方法で設定された前記安全領域の情報を取得するステップと、前記安全領域内に前記対象物が位置しないかを検出しつつ、前記移動体を移動させるステップと、を含む。
【0008】
上述した課題を解決し、目的を達成するために、本開示に係る移動体は、自動で移動する移動体であって、前記移動体の移動条件に基づき設定された、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域の情報を取得する安全領域取得部と、前記安全領域内に前記対象物が位置しないかを検出しつつ、前記移動体を移動させる移動制御部と、を含み、前記安全領域は、前記移動体の速度が高いほど、前記進行方向に交差する横方向に広がるように設定されている。
【0009】
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、自動で移動する移動体の移動条件を取得するステップと、前記移動条件に基づき、対象物が位置すべきでない前記移動体の進行方向側の領域である安全領域を設定するステップと、をコンピュータに実行させるプログラムであって、前記安全領域を設定するステップにおいては、前記移動体の速度が高いほど、前記進行方向に交差する横方向に前記安全領域が広がるように、前記安全領域を設定する。
【発明の効果】
【0010】
本開示によれば、横方向側に存在する対象物への干渉を抑制することができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本実施形態に係る移動制御システムの模式図である。
【
図3】
図3は、情報処理装置の模式的なブロック図である。
【
図4】
図4は、安全領域を説明するための模式図である。
【
図5】
図5は、移動体の制御装置の模式的なブロック図である。
【
図6】
図6は、移動体を移動させるための制御フローを説明するフローチャートである。
【
図7】
図7は、移動体の経路の設定の他の例を説明するための模式図である。
【
図8】
図8は、移動体の経路の設定の他の例を説明するための模式図である。
【
図9】
図9は、他の例における経路設定の処理フローを説明するフローチャートである。
【
図10】
図10は、移動体の経路の設定の他の例を説明するための模式図である。
【
図11A】
図11Aは、移動体の経路の設定の他の例を説明するための模式図である。
【
図12】
図12は、第2実施形態における移動体の経路の設定を説明するための模式図である。
【
図13】
図13は、第2実施形態における移動体の経路の設定を説明するための模式図である。
【
図14】
図14は、第2実施形態における移動体の経路の設定を説明するための模式図である。
【
図15】
図15は、第2実施形態における経路切り替えの処理フローを説明するフローチャートである。
【発明を実施するための形態】
【0012】
以下に添付図面を参照して、本開示の好適な実施形態を詳細に説明する。なお、この実施形態により本開示が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
【0013】
(第1実施形態)
(移動制御システムの全体構成)
図1は、第1実施形態に係る移動制御システムの模式図である。
図1に示すように、第1実施形態に係る移動制御システム1は、移動体10及び情報処理装置12を含む。移動制御システム1は、設備Wに所属する移動体10の移動を制御するシステムである。設備Wは、例えば倉庫など、物流管理される設備であるが、それに限られず任意の設備であってよく、例えば屋外であってもよい。移動制御システム1においては、移動体10を設備Wの領域AR0内で移動させる。領域AR0は、例えば設備Wの床面である。以下、領域AR0に沿った一方向をX方向とし、領域AR0に沿った方向であって方向Xに交差する方向を、Y方向とする。本実施形態では、Y方向は、X方向に直交する方向である。X方向、Y方向は、水平面に沿った方向といってもよい。また、X方向、Y方向に直交する方向を、より詳しくは鉛直方向の上方に向かう方向を、Z方向とする。また、本実施形態においては、「位置」とは、特に断りのない限り、領域AR上の二次元面における座標系(領域ARの座標系)における位置(座標)を指す。また、移動体10の「姿勢」とは、特に断りのない限り、領域ARの座標系における移動体10の向きであり、Z方向から見た場合に、X方向を0°とした際の移動体10のヨー角(回転角度)を指す。
【0014】
(移動体)
図2は、移動体の構成の模式図である。移動体10は、自動で移動可能な装置である。移動体10は、自動で移動可能な任意のビークルであってよいが、例えば、非ホロノミック系で真横に移動できない移動体である。さらに言えば、本実施形態では、移動体10は、フォークリフトであり、より詳しくはいわゆるAGF(Automated Guided Forklift)である。
図2に示すように、移動体10は、車体20と、車輪20Aと、ストラドルレッグ21と、マスト22と、フォーク24と、センサ26と、制御装置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が設けられていない側の方向を、後方向とする。
【0015】
センサ26は、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26は、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢とを検出するともいえる。本実施形態では、センサ26は、それぞれのマスト22の側面と、車体20の後方向側とに設けられている。ただし、センサ26の設けられる位置はこれに限られず、任意の位置に設けられてもよいし、設けられる数も任意であってよい。例えば、移動体10に設けられる安全センサを、センサ26として流用してもよい。安全センサを流用することで、新たにセンサを設ける必要がなくなる。
【0016】
センサ26は、例えばレーザ光を照射するセンサである。センサ26は、一方向(ここでは横方向)に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び向きを検出する。すなわち、センサ26は、いわゆる2D-LiDAR(Light Detection And Ranging)であるともいえる。ただし、センサ26は、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3D-LiDARであってもよいし、カメラであってもよい。
【0017】
制御装置28は、移動体10の移動を制御する。制御装置28については後述する。
【0018】
(情報処理装置)
図3は、情報処理装置の模式的なブロック図である。情報処理装置12は、設備Wに設けられ、少なくとも、移動体10の移動に関する情報などを演算する装置、いわゆる地上システムである。ただし、情報処理装置12の設置位置などは任意であり、いわゆる地上システムに限られない。情報処理装置12は、コンピュータであり、
図3に示すように、通信部30と記憶部32と制御部34とを含む。通信部30は、制御部34に用いられて、移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部30による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部32は、制御部34の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
【0019】
制御部34は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。制御部34は、上限速度設定部40と経路設定部42とを含む。制御部34は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、上限速度設定部40と経路設定部42とを実現して、それらの処理を実行する。なお、制御部34は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、上限速度設定部40と経路設定部42との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部32が保存する制御部34用のプログラムは、情報処理装置12が読み取り可能な記録媒体に記憶されていてもよい。
【0020】
(上限速度設定部)
上限速度設定部40は、設備W内における移動体10の移動速度の上限である上限速度を設定する。すなわち、移動体10は、上限速度以下の移動速度で移動するといえる。ここで、設備W内においては、移動体10が移動可能な複数の経路が予め設定されており、移動体10は、複数の経路のうちから選択された経路Rに沿って移動する。本実施形態においては、上限速度設定部40は、単位長さあたりの経路(単位経路)毎に、上限速度を設定する。より詳しくは、
図1に示すように、領域ARには、位置(座標)毎にウェイポイントWPが設定されており、ウェイポイントWPを繋ぐように経路Rが設定される。すなわち、移動体10が経由するものとして選択されたウェイポイントWPを接続する経路が、移動体10の経路Rとなる。この場合例えば、隣り合うウェイポイントWPを接続する経路が、単位経路といえる。ただし、単位経路は、隣り合う一対のウェイポイントWPを接続する経路を指すことに限られず、3つ以上のウェイポイントWPを接続する経路であってよい。また、それぞれの単位経路同士の長さは同じでなくてよく、それぞれの単位経路は任意に設定されてよい。
【0021】
上限速度設定部40は、移動体10が上限速度で移動したと仮定した場合に設定される安全領域AR内に、対象物Pが位置しないように、上限速度を設定する。安全領域ARとは、対象物Pが位置すべきでない領域として設定される、移動体10の周囲(例えば移動体10の進行方向側)に設定される領域である。対象物Pとは、移動体10が干渉すべきでない対象を指す。対象物Pとしては、設備W内の壁や柱などの、設備W内で位置が固定された構造物と、他の移動体10や人などの、設備W内で位置が移動する物体と、移動体10が進入すべきでない領域と進入可能な領域との境界とが挙げられる。なお、移動体10が進入すべきでない領域と進入可能な領域との境界も、位置が固定されており、移動体10が移動可能な領域の両側方に設けられた白線などであってよい。構造物や境界などの位置が固定された対象物Pは、移動体10が移動する前から位置が既知である。一方、他の移動体や人などの位置が移動する対象物Pは、位置が既知ではないといえる。
【0022】
(安全領域)
安全領域ARについて具体的に説明する。
図4は、安全領域を説明するための模式図である。安全領域ARは、移動体10の移動速度が高いほど、移動体10の進行方向に交差する横方向に広がるように設定される。また、安全領域ARは、移動体10の移動速度が高いほど、移動体10の進行方向にも広がるように設定されることが好ましい。言い換えれば、移動体10の移動速度と安全領域ARの横方向の長さとの関係は、移動速度が高いほど、安全領域ARの横方向の長さが長くなるように設定されているといえ、移動体10の移動速度と安全領域ARの進行方向の長さとの関係は、移動速度が高いほど、安全領域ARの進行方向の長さが長くなるように設定されているといえる。
図4は、移動体10の進行方向がY方向である場合の、移動速度毎の安全領域ARの一例を示しており、(A)よりも(B)の移動速度が高く、(B)よりも(C)の移動速度が高くなっている。従って、
図4の例では、安全領域ARの横方向(ここではX方向)と進行方向(ここではY方向)の長さは、(A)よりも(B)が長く、(B)よりも(C)が長くなる。
【0023】
安全領域ARは、移動体10の移動条件に基づき設定される。安全領域ARは、移動速度が高いほど横方向の長さが長くなるように、移動体10の移動条件に基づいた任意の方法で設定されてよい。移動条件とは、移動体10が移動する際の条件を指し、例えば本実施形態では、移動体10の操舵角指令であってよい。すなわち、本実施形態では、安全領域ARは、移動体10の操舵角指令の基準値に基づいて設定されることが好ましい。操舵角指令とは、移動体10の操舵角の指令値を指し、言い換えれば、移動体10の今後の姿勢を規定する指令値といえる。この場合、安全領域ARは、操舵角指令の基準値が移動体10に入力され続けたと仮定された際の想定到達位置を含むように、設定される。想定到達位置とは、操舵角指令の基準値が移動体10に入力され続けた場合に、移動体10が停止時に到達することが想定される位置を指す。例えば
図4の例では、X方向側の想定到達位置A1と、Y方向側の想定到達位置A2と、移動体10の現在位置とに囲われる領域が、安全領域ARとして設定されている。想定到達位置A1は、X方向側に操舵角指令の基準値が設定された際の想定到達位置であり、想定到達位置A2は、X方向と反対側に操舵角指令の基準値が設定された際の想定到達位置である。なお、操舵角指令の基準値は、任意に設定されてよいが、例えば操舵角指令の最悪値としてよい。操舵角指令の最悪値とは、移動体10に入力可能な操舵角指令の最大値を指してよい。
【0024】
さらに言えば、本実施形態では、安全領域ARは、移動体10の操舵角指令の基準値と、移動体10のトルク指令の基準値と基づいて設定されることがより好ましい。トルク指令とは、移動体10の駆動トルクの指令値を指し、移動体10の速度は駆動トルクに依存するため、トルク指令とは、移動体10の今後の速度を規定する指令値といえる。この場合、安全領域ARは、操舵角指令の基準値が移動体10に入力され続け、かつトルク指令の基準値が移動体10に入力されたと仮定された際の想定到達位置を含むように、設定される。この場合の想定到達位置とは、操舵角指令の基準値が移動体10に入力され続け、かつトルク指令の基準値が移動体10に入力された場合に、移動体10が停止時に到達することが想定される位置を指す。例えば
図4の例では、X方向側の想定到達位置A1と、Y方向側の想定到達位置A2と、移動体10の現在位置とに囲われる領域が、安全領域ARとして設定されている。なお、トルク指令の基準値は、任意に設定されてよいが、例えばトルク指令の最悪値としてよい。トルク指令の最悪値とは、移動体10が減速を開始するタイミングが想定される範囲で最も遅れるような値を指してよい。
【0025】
より詳しくは、本実施形態では、安全領域ARは、移動体10の移動モデルに基づいて、操舵角指令の基準値と、駆動トルクの基準値と、移動体10の現在の速度とを移動モデルの入力値(移動条件)として設定されることが好ましい。ここで、移動体10の移動モデルxを等価二輪モデルとした場合、より詳しくは駆動及び操舵されない2つの後輪と、駆動及び操舵される1つの前輪がある等価二輪モデルとした場合、移動モデルxは、次の式(1)で表される。
【0026】
【0027】
式(1)のXは、移動体10のX方向における位置(座標)であり、Yは、移動体10のY方向における位置(座標)であり、θzは、移動体10の姿勢(ヨー角)であり、vxは、移動体10のX方向における速度であり、vyは、移動体10のY方向における速度であり、ωzは、移動体10の角速度(ヨー角方向の速度)であり、δaは、操舵角指令値であり、Tmは、トルク指令値である。またTは転置を指す。すなわち、移動モデルxは、移動体10の位置、姿勢、速度、角速度、操舵角指令値、及びトルク指令値を指しているといえる。
【0028】
本実施形態においては、操舵角指令の基準値と、駆動トルクの基準値と、移動体10の現在の速度及び角速度とに基づいて、移動モデルxの微分値x’を算出し、微分値x’を積分して、移動体10が停止したタイミングにおける移動モデルxを算出する。すなわち、現在のタイミングから移動体10が停止するまでの各タイミングにおける微分値x’を順次算出することで、移動体10が停止したタイミングにおける移動モデルxを算出する。そして、移動体10が停止したタイミングにおける移動モデルxのX、Yを、想定到達位置として、想定到達位置を含むように安全領域ARを設定する。
【0029】
具体的には、微分値x’は、次の式(2)のように表される。
【0030】
【0031】
式(2)におけるvx、vy、θz、ωz、δa、Tmは、直前のタイミングにおける、X方向における速度、Y方向における移動速度、姿勢、角速度、操舵角指令値、トルク指令値を指す。また、式(2)における他の記号は、以下の通りである。
m:移動体10の質量
Ca:空気抵抗定数
μf:転がり抵抗係数
lf:移動体10の重心から前輪までの距離
lr:移動体10の重心から後輪までの距離
Iz:旋回方向の慣性モーメント
a:移動体10の全幅の半分の値
c:移動体10の全長の半分の値
Kf:前輪のコーナリングパワー
Kr:後輪のコーナリングパワー
rD:前輪径
rL:後輪径
RG:ギア比
Jg:ギアのイナーシャ
τm:モータ時定数
Tup:モータトルクの最大値
τa:操舵系の無駄時間
θmax:最大操舵角
g:重力加速度
【0032】
また、式(2)のβf、βrは、次の式(3)、(4)で表される。
【0033】
【0034】
(上限速度)
上限速度を設定する場合には、上限速度設定部40は、移動体10が上限速度で移動している場合に設定される安全領域AR内に、位置が既知となる対象物Pが位置しないように、上限速度を設定する。本実施形態の例では、上限速度設定部40は、移動体10の移動モデルにおける移動条件(入力値)である操舵角指令値、駆動トルク値、及び移動モデルxの算出に用いる値(すなわち式(2)における記号の数値)を所定の基準値としつつ、移動体10の現在の速度を異ならせて安全領域ARを算出することで、移動体10の速度毎の安全領域ARを算出する。そして、上限速度設定部40は、地図情報に基づき、位置が固定された対象物P(構造物や境界)の位置を読み出す。上限速度設定部40は、移動体10が単位経路上(ウェイポイントWP上又はウェイポイントWP同士の間)に位置していると仮定した場合に、移動体10の速度毎の安全領域ARのそれぞれに対して、位置を読み出した対象物Pが干渉するかを(安全領域AR内に対象物Pが位置するかを)、判断する。上限速度設定部40は、対象物Pが安全領域ARに干渉しない場合の移動体10の速度を、上限速度として設定する。より詳しくは、上限速度設定部40は、対象物Pが安全領域ARに干渉しない場合の移動体10の速度の内の最大値を、上限速度とすることが好ましい。上限速度設定部40は、単位経路毎に、同様の方法で上限速度を設定する。上限速度設定部40は、位置が固定された対象物P(構造物や境界)に対して距離が離れている単位経路ほど、上限速度が高くなるように、単位経路毎の上限速度を設定するといえる。
【0035】
上限速度設定部40は、このようにして上限速度を設定するが、上限速度の設定方法は上記に限られず任意であってよく、さらに言えば上限速度の設定は必須ではない。
【0036】
(経路設定部)
経路設定部42は、移動体10が移動する経路Rを設定する。経路設定部42は、設定した経路Rの情報を、通信部30を介して、移動体10に送信する。経路設定部42は、例えば移動体10が経由するウェイポイントWPを設定して、経由するウェイポイントWPを接続する経路Rの位置情報を、経路Rの情報として移動体10に送信してもよいし、経由するウェイポイントWPの位置情報を、経路Rの情報として移動体10に送信してもよい。経路設定部42は、任意の方法で、移動体10が移動する経路R(ここでは例えば経由するウェイポイントWP)を設定してよい。例えば、経路設定部42は、移動体10の現在位置の情報を移動体10から取得し、例えば移動体10の作業内容に基づき設定される移動体10の目的位置の情報を取得する。そして、経路設定部42は、現在位置から目的位置に向かう経路(ウェイポイントWP)を、経路Rとして設定してよい。
【0037】
本実施形態では、経路設定部42は、移動体10が移動する経路Rを含む単位経路における上限速度の情報も、通信部30を介して、移動体10に送信する。すなわち、経路設定部42は、移動体10の経路Rと、その経路Rにおける上限速度とを、移動体10に送信することが好ましいといえる。
【0038】
(移動体の制御装置)
次に、移動体10の制御装置28について説明する。
図5は、移動体の制御装置の模式的なブロック図である。制御装置28は、移動体10を制御して、移動体10を移動させる。制御装置28は、コンピュータであり、
図5に示すように、通信部50と記憶部52と制御部54とを含む。通信部50は、制御部54に用いられて、情報処理装置14などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部50による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。記憶部52は、制御部54の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、RAMと、ROMのような主記憶装置と、HDDなどの外部記憶装置とのうち、少なくとも1つ含む。
【0039】
制御部54は、演算装置であり、例えばCPUなどの演算回路を含む。制御部54は、経路取得部60と、上限速度取得部62と、移動制御部64と、安全領域取得部66と、検出制御部68とを含む。制御部54は、記憶部52からプログラム(ソフトウェア)を読み出して実行することで、経路取得部60と上限速度取得部62と移動制御部64と安全領域取得部66と検出制御部68とを実現して、それらの処理を実行する。なお、制御部54は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、経路取得部60と上限速度取得部62と移動制御部64と安全領域取得部66と検出制御部68との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部52が保存する制御部54用のプログラムは、制御装置28が読み取り可能な記録媒体に記憶されていてもよい。
【0040】
(経路取得部)
経路取得部60は、経路Rの情報を取得する。経路取得部60は、情報処理装置14から経路Rの情報を取得する。ただし、経路取得部60は、情報処理装置14から経路Rを取得することに限られず、自身で経路Rを設定してもよい。この場合例えば、経路取得部60は、情報処理装置14からウェイポイントWPの位置情報と目的位置の情報とを取得して、現在の自己位置からウェイポイントWPを経由して目的位置まで到達する経路を、経路Rとして設定してもよい。
【0041】
(上限速度取得部)
上限速度取得部62は、経路Rにおける上限速度の情報を取得する。経路取得部60は、情報処理装置14から、経路Rにおける上限速度の情報を取得する。
【0042】
(移動制御部)
移動制御部64は、移動体10の駆動部やステアリングなどの移動機構を制御して、移動体10の移動を制御する。移動制御部64は、経路取得部60が取得した経路Rに従って、移動体10を移動させる。移動制御部64は、移動体10の位置情報を逐次把握することで、経路Rを通るように、移動体10を移動させる。移動体10の位置情報の取得方法は任意であるが、例えば本実施形態では、設備Wに図示しない検出体が設けられており、移動制御部64は、検出体の検出に基づき移動体10の位置及び姿勢の情報を取得する。具体的には、移動体10は、検出体に向けてレーザ光を照射し、検出体によるレーザ光の反射光を受光して、設備Wにおける自身の位置及び姿勢を検出する。ただし、移動体10の位置及び姿勢の情報の取得方法は、検出体を用いることに限られず、例えば、SLAM(Slmultaneous Localization and Mapping)を用いてもよい。
【0043】
(安全領域取得部)
安全領域取得部66は、安全領域ARの情報を取得する。安全領域ARの形状や大きさは、移動体10の速度などの移動条件に応じて変化するため、安全領域取得部66は、移動体10が移動している際に、逐次、安全領域ARを設定する。安全領域取得部66は、上述で説明した上限速度設定部40による算出方法と同様の方法で、移動体10の現在の移動条件に基づき、安全領域ARを算出する。この場合、移動体10の現在の移動条件のうち、予め設定される移動条件(例えば移動体10の重量などの、値が変化しない車両固有の条件)については、予め設定された値を用い、予め設定されず値が変化する条件(例えば移動体10の速度など)については、例えば移動体10に設けられたセンサによって検出してもよい。ただし、安全領域取得部66は、上述で説明した上限速度設定部40による算出方法と同様の方法で安全領域ARを逐次算出することに限られない。この場合例えば、移動条件(例えば移動体10の速度)と安全領域ARの大きさ及び形状との対応関係が予め設定されており、安全領域取得部66は、予め設定された対応関係において、現在の移動体10の移動条件に対応付けられた大きさ及び形状の安全領域ARを、適用すべき安全領域ARとして取得してよい。
【0044】
(検出制御部)
検出制御部68は、移動体10の周囲の対象物Pを検出する。本実施形態では、検出制御部68は、センサ26によって対象物Pを検出させる。例えばセンサ26がレーザ光を照射する構成の場合、検出制御部74は、移動体10が経路Rを移動中に、移動体10の周囲に向けて、センサ26からレーザ光を照射させる。対象物Pは、センサ26からのレーザ光を反射し、センサ26は、対象物Pからの反射光を受光する。検出制御部68は、センサ26が受光した反射光の検出結果に基づき、対象物Pの位置を算出する。
【0045】
ただし、検出制御部68による対象物Pの検出方法はセンサ26を用いることに限られない。例えば、位置が既知の対象物P(構造物や境界)については、地図情報で予め位置が把握できるため、検出制御部68は、地図情報に基づき、位置が既知の対象物Pの位置を算出してよい。位置が既知でない対象物P(他の移動体10や人など)については、センサ26を用いて検出することが好ましい。
【0046】
(移動体の制御)
移動体10の制御装置28による移動体10を移動させるための制御フローについて説明する。
図6は、移動体を移動させるための制御フローを説明するフローチャートである。
図6に示すように、制御装置28は、経路取得部60及び上限速度取得部62により、移動体10用の経路Rと、経路Rにおける上限速度とを取得する(ステップS10)。制御装置28は、安全領域取得部66による安全領域ARの算出と、検出制御部68による対象物Pの位置検出と、移動制御部64による自己位置の検出とを実行しながら、移動制御部64によって移動体10を経路Rに沿って移動させる(ステップS12)。本実施形態においては、移動制御部64は、上限速度取得部62が取得した上限速度以下の速度で、経路Rに従って移動体10を移動させる。上述のように、本実施形態では、上限速度は単位経路毎に設定されているため、経路Rに複数の単位経路が含まれている場合、移動制御部64は、現在移動している単位経路での上限速度以下の速度となるように、移動体10を移動させてよい。
【0047】
移動制御部64は、移動体10を経路Rに沿って移動させつつ、安全領域AR内に対象物Pが位置しているかを判断する(ステップS14)。具体的には、移動制御部64は、現在の自己位置に対して設定される現在の安全領域ARの領域内に、検出制御部68が検出した対象物Pが位置しているかを判断する。なお、上述のように、検出制御部68は、センサ26によって対象物Pの位置を検出してもよいし、地図情報から対象物Pの位置を検出してもよい。安全領域AR内に対象物Pが位置している場合(ステップS14;Yes)、移動制御部64は、移動体10の移動を停止させる(ステップS16)。移動体10の移動を停止したら、ステップS18に進み、処理を終了しない場合には(ステップS18;No)、ステップS12に戻り、安全領域AR内に対象物Pが位置しないように、移動を再開する。一方、安全領域AR内に対象物Pが位置していない場合(ステップS14;No)も、ステップS18に進み、処理を終了しない場合には、ステップS12に戻り、移動を続ける。なお、ステップS18において処理を終了する場合には(ステップS18;Yes)、本処理を終了する。
【0048】
以上説明したように、本実施形態においては、移動体10の速度が高くなるほど安全領域ARの横方向の長さが長くなるように、安全領域ARを設定する。このように速度に応じて横方向に安全領域ARを広く設定することで、例えば操舵の不確かさにより、移動体10が停止するまでに、意図せず横方向に移動してしまった場合でも、横方向に存在する対象物Pと移動体10との干渉を適切に抑制できる。また、操舵角指令やトルク指令の基準値に基づいて安全領域ARを設定することで、横方向に広い安全領域ARを適切に設定できるため、横方向に存在する対象物Pとの干渉をより適切に抑制できる。また、安全領域ARに基づき上限速度を設定することで、一律に上限速度が設定されず、例えば位置が既知の対象物Pから離れた経路については上限速度を高くできるため、作業効率を向上できる。
【0049】
(経路の設定の他の例)
次に、移動体10の経路の設定の他の例について説明する。本例においては、情報処理装置14の経路設定部42は、移動体10の経路を設定する際に、移動体10の現在位置と目的位置とから、設備W内において移動体10が移動を予定する通路(領域)を特定する。そして、その通路が2車線以上の対面走行可能な通路であって、同じ時間帯に他の移動体がその通路の移動を予定していない場合には、その通路における移動体10の経路を、壁や境界などの位置が既知の対象物Pから離れた経路とする。経路を対象物Pから離れる側にすることで、移動体10と対象物Pとの距離が離れるため、移動体10の速度を上げることができる。すなわち、速度上昇により安全領域ARが広がったとしても、対象物Pまでの距離が離れているため、対象物Pが安全領域AR内に入ることなく、高速での移動が可能となる。以下、より具体的に説明する。
【0050】
図7及び
図8は、移動体の経路の設定の他の例を説明するための模式図である。以降の説明では、
図7に示すように、移動体10が移動を予定する通路AR1に、第1経路R1と第2経路R2とが設定される場合を例にする。通路AR1は、Y方向に延在する通路であり、X方向側とX方向の反対側とに、位置が固定される対象物P(本例では壁)が設けられている。第1経路R1は、Y方向(第1方向)に向かう経路である。すなわち例えば、通路AR1には、Y方向に並ぶ複数のウェイポイントWP1が予め設定されており、ウェイポイントWP1を接続してY方向に向かう経路が、第1経路R1であるといえる。また、第2経路R2は、第1経路R1に対してX方向と反対側(第1経路R1の進行方向に対して交差する横方向)に並ぶ経路である。すなわち例えば、通路AR1には、ウェイポイントWP1のX方向と反対側において、Y方向に並ぶ複数のウェイポイントWP2が予め設定されており、ウェイポイントWP2を接続してX方向と反対側に向かう経路が、第2経路R2であるといえる。本実施形態においては、第2経路R2は、Y方向と反対側に向かう経路であり、言い換えれば、第1経路R1の対向車線である。ただし、第2経路R2は、Y方向と反対側に向かう経路に限られず、Y方向側に向かう経路であってもよい。また、通路AR1には、横方向に並ぶ2つの経路(横方向に並ぶ2つのウェイポイントWPの列)が設定されていることに限られず、横方向に並ぶ3つ以上の経路(横方向に並ぶ3つ以上のウェイポイントWPの列)が設定されていてもよい。
【0051】
ここで、経路設定部42が、第1移動体10Aの経路を設定する場合を例にする。経路設定部42は、第1移動体10Aが移動する経路(経由するウェイポイントWP)と、その経路の移動を予定する時間帯である予定時間帯とを、第1移動体10Aの経路情報として設定する。経路設定部42は、移動体10毎に経路情報を設定するため、それぞれの移動体10の経路情報を把握しているといえ、本例では第2移動体10Bの経路情報を予め把握している。経路設定部42は、第1移動体10Aの経路情報を設定する際に、他の移動体10(本例では第2移動体10B)の経路情報に基づき、第1移動体10Aが通路AR1を移動する予定時間帯と同じ時間帯に、他の移動体10(本例では第2移動体10B)が通路AR1を移動予定であるかを判断する。ここでの同じ時間帯とは、時間帯同士が完全に重なることに限られず、時間帯同士の少なくとも一部が重なることを指してよい。すなわち本例では、経路設定部42は、第1移動体10Aの通路AR1についての予定時間帯と、第2移動体10Bの通路AR1についての予定時間帯とが、重なるかを判断する。
【0052】
第1移動体10Aが通路AR1を移動する予定時間帯と同じ時間帯に、他の移動体10(本例では第2移動体10B)が通路AR1を移動予定である場合には、経路設定部42は、
図7に示すように、第1経路R1と第2経路R2とを、第1移動体10Aと第2移動体10Bとの経路として設定する。すなわち例えば、第1移動体10Aが通路AR1をY方向側に移動することを予定し、第2移動体10Bが通路AR2をY方向と反対側に移動することを予定している場合には、経路設定部42は、第1移動体10Aの経路を第1経路R1とし、第2移動体10Bの経路を第2経路R2として設定する。経路設定部42は、第1移動体10Aに対して、予定時間帯に第1経路R1(ウェイポイントWP1)の移動を許可する旨の情報を送信し、第2移動体10Bに対して、予定時間帯に第2経路R2(ウェイポイントWP2)の移動を許可する旨の情報を送信する。第1移動体10Aは、この情報を受信して、予定時間帯に第1経路R1を移動し、第2移動体10Bは、この情報を受信して、予定時間帯に第2経路R2を移動する。
【0053】
一方、第1移動体10Aが通路AR1を移動する予定時間帯と同じ時間帯に、他の移動体10(本例では第2移動体10B)が通路AR1を移動予定でない場合には、経路設定部42は、
図8に示すように、中央経路R1aを、第1移動体10Aの経路として設定する。中央経路R1aは、第1経路R1よりもX方向と反対側(第2経路R2側)に位置する経路であり、すなわち、中央経路R1aとX方向側の対象物Pまでの距離は、第1経路R1とX方向側の対象物Pまでの距離よりも長いといえる。さらに言えば、中央経路R1aは、X方向において第1経路R1と第2経路R2との間に位置する経路である。言い換えれば、X方向においてウェイポイントWP1とウェイポイントWP2との間の位置に、Y方向に並ぶ複数のウェイポイントWP1aが設定されて、ウェイポイントWP1aを接続する経路が、中央経路R1aといえる。例えば、第1移動体10Aが通路AR1をY方向側に移動することを予定している場合には、経路設定部42は、第1移動体10Aに対して、予定時間帯に中央経路R1a(ウェイポイントWP1a)の移動を許可する旨の情報を送信する。第1移動体10Aは、この情報を受信して、予定時間帯に中央経路R1aをY方向に向けて移動する。なお、中央経路R1a(ウェイポイントWP1a)は、第1経路R1(ウェイポイントWP1)や第2経路R2(ウェイポイントWP2)と同様に、予め設定されていてもよいし、予め設定されていなくてもよい。中央経路R1aが予め設定されない場合には、経路設定部42が、第1移動体10Aの経路を設定する際に、第1経路R1と第2経路R2との間に、中央経路R1aを設定する。
【0054】
第1移動体10Aは、中央経路R1aを移動する際の速度が、第1経路R1を移動したと仮定した場合の速度よりも高くなるように、中央経路R1aを移動することが好ましい。すなわち、中央経路R1aは、第1経路R1よりも、X方向側の対象物Pから離れているため、速度を高くして安全領域ARが広がったとしても、安全領域ARがX方向側の対象物Pと干渉しない状態で、中央経路R1aを移動できる。なお、中央経路R1aでの移動速度は、任意に設定されてよい。例えば、情報処理装置14の上限速度設定部40が、中央経路R1aにおける上限速度を設定し、第1移動体10Aは、中央経路R1aにおける上限速度以下の速度で、中央経路R1aを移動してよい。この場合、中央経路R1aは、第1経路R1よりも、X方向側の対象物Pから離れているため、中央経路R1aの上限速度が、第1経路R1の上限速度よりも高くなるといえる。
【0055】
なお、経路設定部42は、第1移動体10Aが中央経路R1aを移動する予定時間帯において、通路AR1を第1移動体10Aに占有させる旨の情報を設定する。通路AR1を第1移動体10Aに占有させるとは、その予定時間帯において、第1移動体10A以外の移動体10が通路AR1内を移動することを禁止することを意味する。すなわち例えば、この予定時間帯においては、第1移動体10A以外の移動体10が第2経路R2(ウェイポイントWP2)を使用することを禁止することを意味してよい。
【0056】
以上説明した経路設定の処理フローを、フローチャートに基づき説明する。
図9は、他の例における経路設定の処理フローを説明するフローチャートである。
図9に示すように、経路設定部42は、第1移動体10Aが移動を予定している通路AR1について、同じ予定時間帯において他の移動体10の移動が予定されているかを判断する(ステップS20)。通路AR1が、同じ予定時間帯において他の移動体10の移動が予定されている場合(ステップS20;Yes)、経路設定部42は、その予定時間帯において第1移動体10Aに通路AR1を占有させて、第1移動体10Aに、中央経路R1aの情報を送信する(ステップS22)。第1移動体10Aは、中央経路R1aの情報を取得したら、予定時間帯に、中央経路R1aに沿って移動する。一方通路AR1が、同じ予定時間帯において他の移動体10(ここでは第2移動体10B)の移動が予定されている場合(ステップS20;No)、経路設定部42は、第1移動体10Aに第1経路R1の情報を送信し、第2移動体10Bに第2経路R2の情報を送信する(ステップS24)。第1移動体10Aは、第1経路R1の情報を取得したら、予定時間帯に、第1経路R1に沿って移動する。第2移動体10Bは、第2経路R2の情報を取得したら、予定時間帯に、第2経路R2に沿って移動する。
【0057】
このように、同じ時間帯に他の移動体10が通路AR1を移動予定でない場合に、第1移動体10Aに中央経路R1aを移動させることで、安全領域ARに対象物Pが干渉することを抑制しつつ移動速度を高くすることができ、安全を保ちつつ作業効率を向上できる。
【0058】
以上の説明では、同じ時間帯に第1移動体10Aと第2移動体10Bとが移動予定である場合には、中央経路R1aを使用させずに、対面移動用の第1経路R1及び第2経路R2を使用させていたが、それに限られない。例えば、移動を優先させる移動体10が選定されている場合には、優先する移動体10に中央経路R1aを使用させてもよい。すなわち、経路設定部42は、第1移動体10Aと第2移動体10Bとが同じ時間帯に通路AR1を移動予定である場合であって、第1移動体10Aの移動を優先する旨を示す優先情報を取得した場合には、中央経路AR1aを第1移動体10Aの経路として設定してよい。
図10及び
図11Aは、移動体の経路の設定の他の例を説明するための模式図である。この場合、例えば
図10に示すように、経路設定部42は、通路AR1を第1移動体10Aに占有させて、その予定時間帯に第2移動体10Bが通路AR1外に位置するように、第2移動体10Bに指令を出してよい。また例えば、
図11Aに示すように、経路設定部42は、その予定時間帯に、第2移動体10Bを、通路AR1内において第2経路R2よりもX方向と反対側の位置に停止させてもよいし、通路AR1内で第2経路R2よりもX方向と反対側に位置する経路で、第2移動体10Bを徐行させてもよい。第2移動体10Bの徐行速度(徐行する経路での上限速度)は、第2経路R2における第2移動体10Bの速度(第2経路R2での上限速度)よりも低く設定される。この場合には、中央経路AR1aを移動する第1移動体10Aの安全領域AR内に第2移動体10Bが位置せず、かつ、第2移動体10Bの安全領域AR内に第1移動体10Aが位置しないように、第2移動体10Bが停止又は徐行する位置を設定することが好ましい。
【0059】
(上限速度の設定の他の例)
第1実施形態においては、情報処理装置14が、上限速度設定部40により上限速度を設定するが、それに限られず、移動体10が上限速度を設定してよい。すなわち、移動体10が、上限速度設定部40を有していてもよい。この場合例えば、情報処理装置14の上限速度設定部40が、安全領域ARを算出する際に用いる移動体10の移動条件のうち、予め設定される移動条件(例えば移動体10の重量などの、値が変化しない車両固有の条件)については、車両を問わない基準値を適用して、仮の上限速度を設定する。そして、移動体10の上限速度設定部40は、設定された経路Rの移動を開始する前に、予め設定される移動条件として自身の車両に対応する値を適用して、上限速度を算出する。移動体10は、情報処理装置14が算出した仮の上限速度を、自身で算出した上限速度で更新して、自身で算出した上限速度を経路Rにおける上限速度として、上限速度以下の速度で移動する。なお、ここでは情報処理装置14が仮の上限速度を算出するが、このように移動体10が上限速度を算出する場合には、情報処理装置14による仮の上限速度の算出は必須ではない。
【0060】
また例えば、移動体10は、経路Rを移動している最中に、上限速度を算出してもよい。この場合、移動体10は、経路Rを移動している最中に、センサ26によって対象物Pの位置を逐次検出して、安全領域AR内に対象物Pが位置しない最大速度を、上限速度として算出して、算出した上限速度以下の速度で経路Rを移動してよい。
【0061】
(安全領域の設定の他の例)
上記の説明では、安全領域ARは、例えば、操舵角指令の最大値が移動体10に入力され続けた際の想定到達位置A1(第1想定到達位置)と想定到達位置A2(第2想定到達位置)とを含むように設定されていた。以下で、安全領域ARの設定方法の他の例について説明する。以下においては、情報処理装置12が安全領域ARを設定することを例にするが、安全領域ARの設定主体は情報処理装置12に限られず任意であってよい。例えば、安全領域ARは、移動体10により設定されてもよい。
【0062】
(安全領域の設定の他の例1)
図11Bは、安全領域の他の例を説明するための模式図である。
図11Bの例では、情報処理装置12は、安全領域ARを設定する際に、移動体10の移動条件として、移動体に入力可能な操舵角指令の最大値と、移動体に入力可能な操舵角速度の最大値とを取得する。操舵角指令の最大値とは、移動体10が可能な限り最大で舵を切った際の操舵角を指す。また、操舵角速度の最大値とは、単位時間(制御周期の1ステップ)で移動体10が舵を切ることが可能な最大の操舵角を指す。
【0063】
そして、情報処理装置12は、操舵角指令の最大値及び操舵角速度の最大値に基づいて、移動体10が最も早く横方向の一方側を向くための時刻毎の操舵角指令を、操舵角指令の第1基準値として取得する。ここでの横方向とは、移動体10の現在の進行方向に対して交差する方向(好ましくは直交する方向)なので、
図11Bの例では、現在の進行方向がY方向であり、横方向の一方側がX方向である。すなわち、情報処理装置12は、操舵角指令及び操舵角速度の最大値に基づいて、移動体10がX方向側に最も早く90度旋回するための時刻毎の操舵角指令を、操舵角指令の第1基準値として取得する。例えば、操舵角指令の最大値が85度であり、操舵角速度の最大値が20度である場合、移動体10が最も早くX方向を向くまでの時刻毎(単位時間毎)の操舵角指令の第1基準値を、X方向側に、それぞれ、20度、40度、60度、80度、85度、85度、65度、45度、25度、5度、0度、としてもよい。なお、移動体10がX方向を向いた後の操舵角指令の第1基準値は、0度としてよい。また、第1基準値は、移動体10の速度が0になるまでの値としてもよい。
【0064】
同様に、情報処理装置12は、操舵角指令の最大値及び操舵角速度の最大値に基づいて、移動体10が最も早く横方向の他方側を向くための時刻毎の操舵角指令を、操舵角指令の第2基準値として取得する。
図11Bの例では、横方向の他方側とはX方向と反対方向を指す。すなわち、情報処理装置12は、操舵角指令及び操舵角速度の最大値に基づいて、移動体10がX方向と反対方向側に最も早く90度旋回するための時刻毎の操舵角指令を、操舵角指令の第2基準値として取得する。例えば、操舵角指令の最大値が85度であり、操舵角速度の最大値が20度である場合、移動体10が最も早くX方向と反対方向を向くまでの時刻毎(単位時間毎)の操舵角指令の第1基準値は、X方向と反対側に、それぞれ、20度、40度、60度、80度、85度、85度、65度、45度、25度、5度、0度、としてもよい。移動体10がX方向と反対方向を向いた後の操舵角指令の第2基準値は、0度としてよい。また、第1基準値は、移動体10の速度が0になるまでの値としてもよい。
【0065】
そして、情報処理装置12は、移動体10に操舵角指令の第1基準値が入力された際の想定到達位置A1(第1想定到達位置)と、移動体10に操舵角指令の第2基準値が入力された際の想定到達位置A2(第2想定到達位置)とを含むように、安全領域ARを設定する。さらに言えば、情報処理装置12は、想定到達位置A1と、想定到達位置A2と、移動体10の現在位置とに囲われる領域を、安全領域ARとして設定してよい。想定到達位置A1とは、移動体10が停止するまでの各時刻において、移動体10に操舵角指令の第1基準値が入力された場合に、到達すると想定される位置である。同様に、想定到達位置A2とは、移動体10が停止するまでの各時刻において、移動体10に操舵角指令の第2基準値が入力された場合に、到達すると想定される位置である。
【0066】
ここで、移動体10が90度旋回するまでの時刻毎に進む距離は、移動体10の速度に依存する。そのため、
図11Bの(A)~(C)に示すように、本例でも、移動体10の速度が高いほど、安全領域ARは、横方向に広がるように設定される。なお、本例でも、上述の第1実施形態と同様に、トルク指令の基準値にも基づき想定到達位置A1、A2を設定して、安全領域ARを設定してよい。
【0067】
このように、本例に係る移動体10の管理方法は、自動で移動する移動体10の移動条件を取得するステップと、移動条件に基づき安全領域ARを設定するステップと、を含む。安全領域ARを設定するステップにおいては、移動体10の速度が高いほど、進行方向に交差する横方向に安全領域ARが広がるように、安全領域ARを設定する。また、移動条件を取得するステップにおいては、移動体10に入力可能な操舵角指令の最大値及び操舵角速度の最大値に基づいて、移動体10が最も早く横方向の一方側を向くための時刻毎の操舵角指令を、操舵角指令の第1基準値として取得し、移動体10が最も早く横方向の他方側を向くための時刻毎の操舵角指令を、操舵角指令の第2基準値として取得する。そして、安全領域ARを設定するステップにおいては、移動体10に第1基準値が入力された際の想定到達位置AR1と、移動体10に第2基準値が入力された際の想定到達位置A2とを含むように、安全領域ARを設定する。そのため、本例によると、移動体10が、横方向の両側に最大限振れた場合でも、両方向において移動体が到達する可能性のある位置を、安全領域AR内に含めることが可能となる。そのため、本例によると、操舵角指令の不確かさをより好適に考慮して、安全領域ARを適切に設定でき、横方向側に存在する対象物への干渉を好適に抑制できる。
【0068】
(安全領域の設定の他の例2)
図11Cは、安全領域の他の例を説明するための模式図である。
図11Cの例では、情報処理装置12は、安全領域ARを設定する際に、移動体10の移動条件として、移動体10の操舵角指令を一定とした際における移動体10の横方向の位置である、測定位置の情報を取得する。すなわち本例では、移動体10に入力する操舵角指令を一定(0度)として、移動体10を減速させて、停止するまでの移動体10の横方向の一方側及び他方側の位置を、測定位置として予め測定しておく。ここでの測定位置は、移動体10が停止するまで操舵角指令を一定とした際における、移動体10が最も横方向に突出した際の横方向における位置と、減速を開始する直前の移動体10の横方向における位置との、差分値であってよい。情報処理装置12は、このように予め測定された測定位置を、取得する。
【0069】
情報処理装置12は、移動体10の横方向の一方側(本例ではX方向側)での測定位置に基づいて、想定到達位置A1を設定する。測定位置に基づく想定到達位置A1の設定方法は任意であるが、例えば、情報処理装置12は、移動体10の現在位置からX方向に測定位置分離れた位置を、想定到達位置A1のX方向における位置とし、移動体10が停止する際のY方向における位置を想定到達位置A1のY方向における位置として、想定到達位置A1を設定する。
【0070】
同様に、情報処理装置12は、移動体10の横方向の他方側(本例ではX方向と反対側)での測定位置に基づいて、想定到達位置A2を設定する。測定位置に基づく想定到達位置A2の設定方法は任意であるが、例えば、情報処理装置12は、移動体10の現在位置からX方向と反対方向に測定位置分離れた位置を、想定到達位置A2のX方向における位置とし、移動体10が停止する際のY方向における位置を想定到達位置A2のY方向における位置として、想定到達位置A2を設定する。
【0071】
そして、情報処理装置12は、想定到達位置A1と想定到達位置A2とを含むように、安全領域ARを設定する。例えば、情報処理装置12は、
図11Cに示すように、位置A1Aと想定到達位置A1と想定到達位置A2と位置A2Aとに囲われる矩形の領域を、安全領域ARとして設定してよい。位置A1Aは、Y方向における位置が、移動体10のY方向における現在位置(減速を開始する直前の位置)に一致し、X方向における位置が想定到達位置A1と一致する位置である。位置A1Bは、Y方向における位置が、移動体10のY方向における現在位置(減速を開始する直前の位置)に一致し、X方向における位置が想定到達位置A2と一致する位置である。
【0072】
なお、本例では、減速直前の移動体の速度毎に、測定位置を測定しておくことが好ましい。すなわち、減速直前の移動体の速度と測定位置とを対応付けて測定しておくことが好ましい。そして、情報処理装置12は、速度毎の測定位置のうちから、実際の移動体10の速度に対応付いた測定位置を選択し、選択した測定位置に基づいて、想定到達位置A1と想定到達位置A2とを設定する。測定位置は、減速直前の移動体の速度が高い程、外側に広がるため、本例でも、
図11Cの(A)~(C)に示すように、移動体10の速度が高いほど、安全領域ARは、横方向に広がるように設定される。なお、本例でも、上述の第1実施形態と同様に、トルク指令の基準値にも基づき想定到達位置A1、A2を設定して、安全領域ARを設定してよい。
【0073】
このように、本例に係る移動体10の管理方法は、自動で移動する移動体10の移動条件を取得するステップと、移動条件に基づき安全領域ARを設定するステップと、を含む。安全領域ARを設定するステップにおいては、移動体10の速度が高いほど、進行方向に交差する横方向に安全領域ARが広がるように、安全領域ARを設定する。また、移動条件を取得するステップにおいては、予め測定した、移動体10の操舵角指令を一定とした際における移動体10の横方向の位置である測定位置の情報を取得する。そして、安全領域ARを設定するステップにおいては、測定位置に基づき設定された想定到達位置AR1と想定到達位置A2とを含むように、安全領域ARを設定する。そのため、本例によると、移動体10が、操舵のガタなどにより、意図せずに横方向の両側に振れる場合を考慮して、両方向において移動体が到達する可能性のある位置を、安全領域AR内に含めることが可能となる。そのため、本例によると、操舵角指令の不確かさを好適に考慮して、安全領域ARを適切に設定でき、横方向側に存在する対象物への干渉を好適に抑制できる。
【0074】
(安全領域の設定の他の例3)
図11Dは、安全領域の他の例を説明するための模式図である。
図11Dの例では、移動体の速度と測定位置との対応関係を学習モデル(プログラム)に機械学習させる。すなわち、本例では、減速直前の移動体の速度毎に、横方向の一方側及び他方側の測定位置を測定しておく。そして、移動体の速度と測定位置とを教師データとして、学習モデルに入力することで、学習モデルに機械学習させる。これにより、学習モデルは、移動体の速度と測定位置との対応関係を機械学習する。機械学習済みの学習モデルは、入力データとして移動体10の速度が入力されたら、測定位置を算出可能となる。学習モデルとしては、任意のモデルが適用でき、例えばCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)モデルやRNN(Reccurent Neural Network)モデルを用いてよい。
【0075】
情報処理装置12は、機械学習済みの学習モデルに、実際の移動体10の速度を入力することで、横方向の一方側における測定位置と、横方向の他方側における測定位置とを算出する。そして、情報処理装置12は、移動体10の横方向の一方側での測定位置に基づいて、想定到達位置A1を設定する。測定位置に基づく想定到達位置A1の設定方法は任意であるが、上述の例2と同様の方法を用いてよい。同様に、情報処理装置12は、移動体10の横方向の他方側での測定位置に基づいて、想定到達位置A2を設定する。測定位置に基づく想定到達位置A2の設定方法は任意であるが、上述の例2と同様の方法を用いてよい。
【0076】
そして、情報処理装置12は、想定到達位置A1と想定到達位置A2とを含むように、安全領域ARを設定する。さらに言えば、情報処理装置12は、想定到達位置A1と、想定到達位置A2と、移動体10の現在位置とに囲われる領域を、安全領域ARとして設定してよい。
【0077】
なお、本例では、速度と測定位置との対応関係を機械学習した学習モデルを用いるため、
図11Dの(A)~(C)に示すように、移動体10の速度が高いほど、安全領域ARは、横方向に広がるように設定される。なお、本例でも、上述の第1実施形態と同様に、トルク指令の基準値にも基づき想定到達位置A1、A2を設定して、安全領域ARを設定してよい。安全領域ARを適切に設定でき、横方向側に存在する対象物への干渉を好適に抑制できる。
【0078】
このように、本例では、移動条件を取得するステップにおいて、移動体の速度と測定位置との対応関係を機械学習した学習モデルに、移動体10の速度を入力することで、想定到達位置A1及び想定到達位置A2とを算出する。そのため、本例によると、移動体10が、操舵のガタなどにより、意図せずに横方向の両側に振れる場合を考慮して、両方向において移動体が到達する可能性のある位置を、安全領域AR内に含めることが可能となる。そのため、本例によると、操舵角指令の不確かさを好適に考慮して、安全領域ARを適切に設定でき、横方向側に存在する対象物への干渉を好適に抑制できる。
【0079】
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態においては、移動体10が経路Rを切り替える点で、第1実施形態と異なる。第2実施形態において第1実施形態と構成が共通する箇所は、説明を省略する。
【0080】
第2実施形態においては、移動体10の検出制御部68は、移動体10の進行方向側の第1距離L1の範囲内に、他の移動体が存在するかを検出し、横方向側の第2距離L2の範囲内に、位置が固定された対象物P(構造物や境界など)が存在するかを検出する。進行方向側の第1距離L1範囲内に他の移動体が存在せず、かつ、横方向側の第2距離L2の範囲内に位置が固定された対象物Pが存在しない場合には、移動体10の移動制御部64は、移動体10の移動する経路を、横方向側に切り替えて、横方向側の経路に沿って移動体10を移動させる。なお、検出制御部68は、センサ26により他の移動体や位置が固定された対象物Pが存在するかを検出するが、位置が固定された対象物Pについては、位置が既知であるため地図情報と自己位置とに基づいて検出してもよい。また、第1距離L1及び第2距離L2は、任意に設定されてよいが、移動体10の自己位置から安全領域ARの外縁までの距離よりも長く設定される。以下、経路の切り替えについてより具体的に説明する。
【0081】
図12から
図14は、第2実施形態における移動体の経路の設定を説明するための模式図である。以降の説明では、
図12に示すように、通路AR1に、第1経路R1と第2経路R2とが設定されており、第1移動体10Aが、情報処理装置14により設定された第1経路R1を移動している場合を例にする。第1移動体10Aの検出制御部68は、第1経路R1を移動中に、Y方向側(進行方向側)の第1距離L1の範囲内に、他の移動体10が存在するかを検出する。すなわち、第1移動体10Aの検出制御部68は、第1移動体10Aの現在位置からY方向側に第1距離L1だけ離れた位置までの範囲内に、第1移動体10AよりもY方向側に位置する他の移動体10が存在するかを検出する。
図12に示すように、第1移動体10AのY方向側の第1距離L1の範囲内に他の移動体10が存在する場合、第1移動体10Aの移動制御部64は、経路を切り替えず、第1経路R1での移動を継続する。すなわち
図12の例では、第1移動体10AのY方向側の第1距離L1の範囲内に第2経路R2をY方向と反対側に移動する第2移動体10Bが存在するため、第1移動体10Aの移動制御部64は、経路を切り替えず、第1経路R1での移動を継続する。
【0082】
また、第1移動体10Aの検出制御部68は、第1経路R1を移動中に、X方向と反対側(横方向側)の第2距離L2の範囲内に、位置が固定された対象物Pが存在するかを検出する。すなわち、第1移動体10Aの検出制御部68は、第1移動体10Aの現在位置から第2距離L2の範囲内に、第1移動体10AよりもX方向と反対側に位置する対象物Pが存在するかを検出する。
図13に示すように、第1移動体10AのY方向側の第1距離L1の範囲内に他の移動体10が存在せず、かつ、X方向と反対側の第2距離L2の範囲内に対象物Pが存在しない場合、第1移動体10Aの移動制御部64は、第1経路R1から、X方向と反対側の中央経路R1aに切り替えて、中央経路R1aに沿って第1移動体10Aを移動させる。この場合、第1移動体10Aは、中央経路R1aを移動する際の速度が、第1経路R1を移動している場合の速度よりも高くなるように、中央経路R1aを移動することが好ましい。なお、中央経路R1aの移動速度は、任意に設定されてよい。例えば、情報処理装置14の上限速度設定部40が、中央経路R1aにおける上限速度を設定してもよいし、第1移動体10Aが、中央経路R1aにおける上限速度を設定してもよい。この場合、第1移動体10Aは、中央経路R1aにおける上限速度以下の速度で、中央経路R1aを移動してよい。
【0083】
一方、
図14に示すように、第1移動体10AのY方向側の第1距離L1の範囲内に他の移動体10が存在せず、かつ、X方向と反対側の第2距離L2の範囲内に対象物Pが存在する場合、X方向と反対側の対象物Pが、第1移動体10Aに対して、第2距離L2より短い第3距離L3の範囲内にあるかを判断する。第3距離L3は、任意に設定されてよいが、第2距離L2より短く、移動体10の自己位置から安全領域ARの外縁までの距離より長い。X方向と反対側の対象物Pが、第1移動体10Aに対して第3距離L3の範囲内にある場合、すなわちその対象物Pまでの距離が第3距離L3より近い場合、第1移動体10Aの移動制御部64は、経路を切り替えず、第1経路R1での移動を継続する。一方、X方向と反対側の対象物Pが、第1移動体10Aに対して第3距離L3の範囲内にない場合、すなわちその対象物Pまでの距離が第3距離L3より遠い場合、第1移動体10Aの移動制御部64は、第1経路R1から所定距離だけX方向と反対側に離れた経路R1bに切り替えて、経路R1bに沿って第1移動体10Aを移動させる。経路R1bは、第1経路R1よりもX方向と反対側に位置する経路であり、X方向において第1経路R1と中央経路R1aとの間に位置する経路である。言い換えれば、X方向においてウェイポイントWP1とウェイポイントWP1aとの間の位置に、Y方向に並ぶ複数のウェイポイントWP1bが設定されて、ウェイポイントWP1bを接続する経路が、経路R1bといえる。なお、経路R1b(ウェイポイントWP1b)は、第1経路R1(ウェイポイントWP1)や第2経路R2(ウェイポイントWP2)と同様に、予め設定されていてもよいし、予め設定されていなくてもよい。経路R1bが予め設定されない場合には、第1移動体10Aが第1経路R1を移動中に、情報処理装置14が経路R1bを設定してもよいし、第1移動体10Aが経路R1bを設定してもよい。第1経路R1と経路R1bとの間の距離(所定距離)は、任意に設定されてよい。
【0084】
なお、第1移動体10Aは、経路R1bを移動する際にも、第1経路R1を移動している場合の速度よりも高くなるように、経路R1bを移動することが好ましい。なお、経路R1bの移動速度は、任意に設定されてよい。例えば、情報処理装置14の上限速度設定部40が、経路R1bにおける上限速度を設定してもよいし、第1移動体10Aが、経路R1bにおける上限速度を設定してもよい。この場合、第1移動体10Aは、経路R1bにおける上限速度以下の速度で、経路R1bを移動してよい。
【0085】
以上説明した経路切り替えの処理フローを、フローチャートに基づき説明する。
図15は、第2実施形態における経路切り替えの処理フローを説明するフローチャートである。
図15に示すように、第2実施形態においては、第1移動体10Aの検出制御部68は、第1経路R1を移動中に、Y方向側(進行方向側)の第1距離L1の範囲内に、他の移動体10が存在しないかを検出し(ステップS30)、他の移動体10が存在しない場合(ステップS30:Yes)、X方向と反対側(横方向側)の第2距離L2の範囲内に、位置が固定された対象物Pが存在しないかを検出する(ステップS32)。X方向と反対側の第2距離L2の範囲内に対象物Pが存在しない場合(ステップS32;Yes)、第1移動体10Aの移動制御部64は、第1経路R1から中央経路R1aに切り替えて、速度を上げて、中央経路R1aに沿って第1移動体10Aを移動させる(ステップS34)。
【0086】
一方、X方向と反対側の第2距離L2の範囲内に対象物Pが存在する場合(ステップS32;No)であって、X方向と反対側の第3距離L3の範囲内に対象物Pが存在しない場合(ステップS36;Yes)、第1移動体10Aの移動制御部64は、第1経路R1から所定距離だけX方向と反対側(中央側)の経路R1bに切り替えて、速度を上げて、経路R1bに沿って第1移動体10Aを移動させる(ステップS38)。
【0087】
また、X方向と反対側の第2距離L2の範囲内に対象物Pが存在する場合(ステップS32;No)であって、X方向と反対側の第3距離L3の範囲内に対象物Pが存在する場合(ステップS36;No)、第1移動体10Aの移動制御部64は、経路を切り替えず、現在の経路(第1経路R1)での移動を継続する(ステップS40)。同様に、Y方向側(進行方向側)の第1距離L1の範囲内に、他の移動体10が存在する場合(ステップS30;No)、第1移動体10Aの移動制御部64は、経路を切り替えず、現在の経路(第1経路R1)での移動を継続する(ステップS40)。ステップS34,S38又はS40を実行したら、ステップS42に進み、処理を終了しない場合(ステップS42;No)、ステップS30に戻り処理を続け、処理を終了する場合(ステップS42;Yes)、本処理を終了する。
【0088】
以上説明したように、第2実施形態においては、進行方向側の第1距離L1の範囲内に他の移動体が存在せず、かつ横方向側の第2距離L2の範囲内に対象物Pが存在しない場合には、第1移動体10Aの移動制御部64は、第1移動体10Aの経路を横方向側に切り替える。このように、対象物Pまでの距離に余裕がある場合に第1移動体10Aの経路を中央寄りに切り替えることで、安全領域ARに対象物Pが干渉することを抑制しつつ移動速度を高くすることができ、安全を保ちつつ作業効率を向上できる。
【0089】
図16は、切り替え経路の模式図である。なお、移動体10が経路を切り替える際には、切り替え直前の移動体10の位置と切り替え直後の移動体10の位置とが、曲線状であることが好ましい。すなわち、切り替え直前の移動体10の位置と切り替え直後の移動体10の位置とを結ぶ経路を切り替え経路とすると、切り替え経路が、Z方向から見て曲線状であることが好ましい。例えば、
図16に示すように、第1経路R1から中央経路R1aに切り替える場合を例にする。この場合、切り替え直前の第1経路R1上での移動体10の位置をウェイポイントWP11とすると、切り替え直後の中央経路R1a上での移動体10の位置がウェイポイントWP1a1となるように、切り替え経路Rc1が設定されること好ましい。ウェイポイントWP1a1は、ウェイポイントWP11に対してX方向と反対側、かつY方向側(進行方向側)に位置する。そして、切り替え経路Rc1は、ウェイポイントWP11とウェイポイントWP1a1とを接続する曲線状(例えばスプライン状)に設定されることが好ましい。ただし、切り替え経路は、切り替え経路Rc1のように曲線状に設定されることに限られず、例えば切り替え経路Rc2のように直線状に設定されてもよい。この場合例えば、切り替え直後の中央経路R1a上での移動体10の位置がウェイポイントWP1a2となるように、切り替え経路Rc2が設定されてよい。ウェイポイントWP1a2は、ウェイポイントWP11に対してX方向と反対側であり、Y方向側においてはウェイポイントWP11と同じ位置となっている。
【0090】
(効果)
以上説明したように、本開示に係る移動体10の管理方法は、自動で移動する移動体10の移動条件を取得するステップと、移動条件に基づき、対象物Pが位置すべきでない移動体10の進行方向側の領域である安全領域ARを設定するステップと、を含む。安全領域ARを設定するステップにおいては、移動体10の速度が高いほど、進行方向に交差する横方向に安全領域ARが広がるように、安全領域ARを設定する。このように速度に応じて横方向に安全領域ARを広く設定することで、例えば操舵の不確かさにより、移動体10が停止するまでに意図せず横方向に移動してしまった場合でも、横方向に存在する対象物Pと移動体10との干渉を適切に抑制できる。
【0091】
移動条件を取得するステップにおいては、移動体10の操舵角指令の基準値を取得し、安全領域ARを設定するステップにおいては、操舵角指令の基準値が入力された場合に移動体が停止時に到達することが想定される想定到達位置を含むように、安全領域ARを設定する。このように操舵角指令の基準値に基づいて安全領域ARを設定することで、横方向に広い安全領域ARを適切に設定できるため、横方向に存在する対象物Pとの干渉をより適切に抑制できる。
【0092】
移動条件を取得するステップにおいては、移動体10を停止させるためのトルク指令の基準値を取得し、安全領域ARを設定するステップにおいては、操舵角指令の基準値及びトルク指令の基準値が入力された場合に移動体が停止時に到達することが想定される想定到達位置を含むように、安全領域ARを設定する。このように操舵角指令及びトルク指令の基準値に基づいて安全領域ARを設定することで、横方向に広い安全領域ARを適切に設定できるため、横方向に存在する対象物Pとの干渉をより適切に抑制できる。
【0093】
本開示に係る移動体10の管理方法は、移動体10の上限速度を設定するステップをさらに含み、上限速度を設定するステップにおいては、移動体10が上限速度で移動した場合の安全領域AR内に、対象物Pが位置しないように、上限速度を設定する。このように安全領域ARに基づき上限速度を設定することで、例えば位置が既知の対象物Pから離れた経路については上限速度を高くできるため、対象物Pとの干渉を抑制しつつ作業効率を向上できる。
【0094】
本開示に係る移動体10の管理方法は、Y方向(第1方向)に向かう第1経路R1と、第1経路R1に対して横方向(X方向と反対方向)に並ぶ第2経路R2とが設定される通路AR1を、第1移動体10Aが第1方向に向けて移動を予定している場合において、第2移動体10Bが同じ時間帯で通路AR1の移動を予定しているかを判断するステップと、第2移動体10Bが同じ時間帯で通路AR1の移動を予定していない場合に、第1経路R1よりも第2経路R2側に位置する中央経路R1aを、第1移動体10Aの経路とするステップと、を含む。このように、同じ時間帯に他の移動体10が通路AR1を移動予定でない場合に、第1移動体10Aに中央経路R1aを移動させることで、安全領域ARに対象物Pが干渉することを抑制しつつ移動速度を高くすることができ、安全を保ちつつ作業効率を向上できる。
【0095】
本開示に係る移動体10の管理方法は、第2移動体10Bが同じ時間帯で通路AR1の移動を予定している場合に、第1経路R1を第1移動体10Aの経路とし、第2経路R2を第2移動体10Bの経路とするステップを更に含む。このように、同じ時間帯に他の移動体10が通路AR1を移動予定である場合に、それぞれの移動体10に対面移動用の経路を移動させることで、それぞれの移動体10を適切に移動させることができる。
【0096】
また、本開示に係る移動体10の管理方法は、第2移動体10Bが同じ時間帯で通路AR1の移動を予定している場合であって、第1移動体10Aの移動を優先する旨を示す優先情報を取得した場合には、中央経路R1aを第1移動体10Aの経路とする。同じ時間帯に複数の移動体10が通路AR1を移動予定である場合であっても、優先すべき移動体10を中央経路R1aで移動させることで、優先すべき移動体10を適切に移動できる。
【0097】
本開示に係る移動体10の制御方法は、安全領域ARの情報を取得するステップと、安全領域AR内に対象物Pが位置しないかを検出しつつ、移動体10を移動させるステップとを含む。本制御方法によると、操舵の不確かさにより、移動体10が停止するまでに意図せず横方向に移動してしまった場合でも、横方向に存在する対象物Pと移動体10との干渉を適切に抑制できる。
【0098】
本開示に係る移動体10の制御方法は、移動体10の進行方向側の第1距離L1の範囲内に他の移動体が存在するかを検出するステップと、移動体10の横方向側の第2距離L2の範囲内に位置が固定された対象物Pが存在するかを検出するステップと、他の移動体が第1距離L1の範囲内に存在せず、かつ、第2距離L2の範囲内に対象物Pが存在しない場合には、移動体10の移動する経路を、横方向側に切り替えるステップと、を更に含む。本制御方法によると、対象物Pまでの距離に余裕がある場合に経路を中央寄りに切り替えることで、安全領域ARに対象物Pが干渉することを抑制しつつ移動速度を高くすることができ、安全を保ちつつ作業効率を向上できる。
【0099】
本開示に係る移動体10は、移動体10の移動条件に基づき設定された、対象物Pが位置すべきでない移動体10の進行方向側の領域である安全領域ARの情報を取得する安全領域取得部66と、安全領域AR内に対象物Pが位置しないかを検出しつつ、移動体10を移動させる移動制御部64と、を含み、安全領域ARは、移動体10の速度が高いほど、進行方向に交差する横方向に広がるように設定されている。移動体10によると、操舵の不確かさにより、停止するまでに意図せず横方向に移動してしまった場合でも、横方向に存在する対象物Pとの干渉を適切に抑制できる。
【0100】
以上、本開示の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
【符号の説明】
【0101】
10 移動体
10A 第1移動体
10B 第2移動体
12 情報処理装置
40 上限速度設定部
42 経路設定部
60 経路取得部
62 上限速度取得部
64 移動制御部
66 安全領域取得部
68 検出制御部
AR 安全領域
R 経路