[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2023168996A - 移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム - Google Patents

移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム Download PDF

Info

Publication number
JP2023168996A
JP2023168996A JP2022080431A JP2022080431A JP2023168996A JP 2023168996 A JP2023168996 A JP 2023168996A JP 2022080431 A JP2022080431 A JP 2022080431A JP 2022080431 A JP2022080431 A JP 2022080431A JP 2023168996 A JP2023168996 A JP 2023168996A
Authority
JP
Japan
Prior art keywords
movement
mobile device
area
unit
policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022080431A
Other languages
English (en)
Inventor
知也 川部
Tomoya Kawabe
竜志 西
Tatsuyuki Nishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Okayama University NUC
Original Assignee
Okayama University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Okayama University NUC filed Critical Okayama University NUC
Priority to JP2022080431A priority Critical patent/JP2023168996A/ja
Publication of JP2023168996A publication Critical patent/JP2023168996A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】計算コストを抑えながらも予期せぬ事態に対応可能な移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラムを提供する。【解決手段】移動制御システムは、移動装置の移動経路を探索して(S204)、移動装置が移動経路に沿って移動し(S205)、移動装置の周囲の状況を取得する(S207)。単位領域を移動装置の周囲に配置した領域を近傍領域と定義して、近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた方策に基づいて、移動装置は行動する(S214)。【選択図】図20

Description

本発明は、経路に沿って、誘導移動、自律移動等の移動をする移動装置を制御する移動制御システム及び移動制御方法、そのような移動制御システムに用いられる移動制御装置及び移動装置、並びにそのような移動制御装置及び移動装置を実現するための移動制御プログラム及び移動装置用プログラムに関する。
大規模工場等の施設においては、AGV(Automated Guided Vehicle)、AMR(Automated Mobile Robot)等の移動装置が用いられている。施設等の移動範囲内において、移動装置が目標位置へ到達する経路を設定するためには、経路計画を行う必要がある。壁、他の移動装置等の障害物との衝突を回避し、移動コストを抑制する経路計画を行うための経路計画問題を解く様々な方法が提案されている。例えば、経路計画問題を解く方法としては、ダイクストラ法(非特許文献1)、マルチエージェントネット(非特許文献2)、ペトリネット(非特許文献3)等を用いたルールベースの手法で解く研究が提案されている。また、強化学習手法を用いて経路計画問題を解く方法も提案されている(非特許文献4、非特許文献5)。
K.A. Dowsland and A.M. Greaves, Collision avoidance in bi-directional AGV systems, Journal of the Operational Research Society, Vol.45, No.7, pp.817-826 (1994). 平石 邦彦,"ペトリネットによるマルチエージェントシステムのモデル化," システム制御情報学会論文誌, Vol.45, No.8, pp.439-444 (2001). M. Dotoli and M.P. Fanti, Coloured timed Petri net model for real-time control of automated guided vehicle systems, International Journal of Production Research, Vol.42, No.9, pp.1787-1814 (2004). 渡辺 美知子,古川 正志,木下 正博,嘉数 侑昇,"Q 学習による多数AGV の自律搬送に関する研究," 精密工学会誌, Vol.67, No.10, pp.1609-1614 (2001). S.M. Jeon, K.H. Kim and H. Kopfer, Routing automated guided vehicles in container terminals through the Q-learning technique, Logistics Research, Vol.3, No.1, pp.19- 27 (2011).
しかしながら、ルールベースで経路計画問題を解く方法は、移動範囲が大きくなった場合に、必要なシミュレーション回数が増加し、計算コストが増大するという問題がある。更に、ルールベースで経路計画を解く方法は、複数の移動装置を用いる場合において、他の移動装置の故障等の予期せぬ事態に対して代替となる経路を即座に最適に近い経路計画を得ることが難しいという問題が生じる場合がある。
強化学習手法を用いて経路計画問題を解く方法は、障害物の発生、移動装置の遅延等の予期せぬ事態に対して臨機応変に経路計画を行うことができるが、強化学習は試行錯誤的に最適解を求める手法であるため、試行錯誤、学習等の処理に要する計算コストが問題となる。更に、強化学習を用いて経路計画問題を解く方法は、計画した経路に対する最適性が保証されないという問題がある。
本発明は斯かる事情に鑑みてなされたものであり、計算コストを抑えながらも予期せぬ事態に対応可能な移動制御システムの提供を主たる目的とする。
また、本願は、本発明に係る移動制御システムにて実施される移動制御方法を開示する。更に、本願は、本発明に係る移動制御システムにて用いられる移動制御装置及び移動装置、並びにこれらを実現するための移動制御プログラム及び移動装置用プログラムを開示する。
上記課題を解決するために本願開示の移動制御システムは、移動装置を備え、前記移動装置の移動を制御する移動制御システムであって、前記移動装置の移動開始位置から目標位置までの移動経路を探索する経路探索手段と、前記移動装置の周囲の状況を取得する状況取得手段と、前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に前記状況取得手段が取得した周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定する進入可否判定手段と、前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、前記進入可否判定手段が判定した各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得する方策取得手段と、前記方策取得手段が取得した方策に基づいて、前記経路探索手段が探索した移動経路に沿った移動の可否を判定する移動可否判定手段と、移動経路に沿った移動が不可と判定した場合に、前記方策取得手段が取得した方策にて示される行動をとるように決定する行動決定手段とを備えることを特徴とする。
また、前記移動制御システムにおいて、前記移動装置と通信可能な移動制御装置を備え、前記移動装置は、複数であり、前記移動制御装置は、前記経路探索手段、前記状況取得手段、前記進入可否判定手段、前記方策取得手段、前記移動可否判定手段及び行動決定手段と、前記行動決定手段が決定した行動をさせる前記移動装置毎の行動命令を、対応する前記移動装置へ送信する手段とを備え、前記進入可否判定手段は、複数の前記移動装置のうちの一の移動装置について、他の移動装置が位置する単位領域及び/又は他の移動装置が移動する単位領域を進入不可と判定することを特徴とする。
また、前記移動制御システムにおいて、前記移動装置は、複数であり、複数の前記移動装置のうちの一の移動装置は、少なくとも、前記状況取得手段、前記進入可否判定手段、前記方策取得手段、前記移動可否判定手段及び前記行動決定手段を備え、前記進入可否判定手段は、他の移動装置が位置する単位領域及び/又は他の移動装置が移動する単位領域を進入不可と判定することを特徴とする。
また、前記移動制御システムにおいて、前記経路探索手段は、前記移動装置が移動可能な範囲を、単位領域をノードとし、単位領域間の移動可能な経路をエッジとして連結関係を定義したグラフに対して、前記移動装置の移動開始位置に対応するスタートノードから目標位置に対応するゴールノードまでの移動経路を、グラフ探索アルゴリズムにて探索することを特徴とする。
また、前記移動制御システムにおいて、前記近傍領域は、単位移動距離の2単位分の移動に基づいて定義されていることを特徴とする。
また、前記移動制御システムにおいて、前記方策取得手段が取得する状態パターン及び方策の関係は、強化学習により得られた学習モデルであることを特徴とする。
また、前記移動制御システムにおいて、前記学習モデルは、想定される状態パターン毎に、前記移動装置の移動方向への移動及び停止によるそれぞれの行動価値を示しており、前記方策取得手段は、前記行動価値が最も高い方向への移動又は停止を方策として取得することを特徴とする。
更に、本願開示の移動制御方法は、移動装置及び前記移動装置の移動を制御する移動制御装置を用いた移動制御方法であって、前記移動装置の移動開始位置から目標位置までの移動経路を探索するステップと、前記移動装置の周囲の状況を取得するステップと、前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定するステップと、前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得するステップと、取得した方策に基づいて、移動経路に沿った移動の可否を判定するステップと、移動可と判定した場合に、前記移動装置が移動経路に沿って移動するステップと、移動不可と判定した場合に、前記移動装置が方策にて示される行動をとるステップとを実行することを特徴とする。
更に、本願開示の移動制御装置は、移動装置の移動を制御する移動制御装置であって、前記移動装置の移動開始位置から目標位置までの移動経路を探索する手段と、前記移動装置の周囲の状況を取得する手段と、前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定する手段と、前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得する手段と、取得した方策に基づいて、移動経路に沿った移動の可否を判定する手段と、移動可と判定した場合に、移動経路に沿って移動し、移動不可と判定した場合に、決定した行動をとらせる行動命令を、前記移動装置へ送信する手段とを備えることを特徴とする。
更に、本願開示の移動装置は、移動経路に沿って移動する移動装置であって、周囲の状況を取得する手段と、自機の大きさに基づき設定される単位領域を、自機の移動の基準となる単位移動距離毎に、周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、自機の進入の可否を判定する手段と、前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられる方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得する手段と、取得した方策に基づいて、移動経路に沿った移動の可否を判定する手段と、移動可と判定した場合に、移動経路に沿って移動する手段と、移動不可と判定した場合に、取得した方策にて示される行動をとる手段とを備えることを特徴とする。
更に、本願開示の移動制御プログラムは、移動装置と通信する通信手段を備えるコンピュータに、前記移動装置の移動を制御させる移動制御プログラムであって、コンピュータに、前記移動装置の移動開始位置から目標位置までの移動経路を探索するステップと、前記移動装置の周囲の状況を取得するステップと、前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定するステップと、前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得するステップと、取得した方策に基づいて、移動経路に沿った移動の可否を判定するステップと、移動可と判定した場合に、移動経路に沿って移動し、移動不可と判定した場合に、決定した行動をとらせる行動命令を、前記移動装置へ送信するステップとを実行させることを特徴とする。
更に、本願開示の移動装置用プログラムは、移動経路に沿って移動する移動装置に実行させる移動装置用プログラムであって、移動装置に、周囲の状況を取得するステップと、自機の大きさに基づき設定される単位領域を、自機の移動の基準となる単位移動距離毎に、周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、自機の進入の可否を判定するステップと、前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられる方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得するステップと、取得した方策に基づいて、移動経路に沿った移動の可否を判定するステップと、移動可と判定した場合に、移動経路に沿って移動するステップと、移動不可と判定した場合に、取得した方策にて示される行動をとるステップとを実行させることを特徴とする。
本願開示の移動制御システム等は、単位領域を移動装置の周囲に配置した近傍領域に、移動装置の周囲の状況を反映させた状態パターンに対し、対応付けられた方策に基づいて移動装置の行動を決定する。これにより、本願開示の移動制御システム等は、移動経路に沿って移動する移動装置が、周囲の状況の変化を状態パターンとして捉えて行動に反映させることが可能である等、優れた効果を奏する。
本願開示の移動制御システムにおいて、レイアウトに当て嵌めたグラフの一例を示している。 本願開示の移動制御システムにおいて、移動装置の周囲に定義される近傍領域の一例を概念的に示す説明図である。 本願開示の移動制御システムにおいて、近傍領域に含まれる単位領域に対する進入の可否を例示する説明図である。 本願開示の移動制御システムにおいて、移動装置の行動決定に用いられるQ学習の一例を概念的に示す説明図である。 本願開示の移動制御システムにおいて、レイアウト上に、移動装置の近傍領域及び移動経路の一例を重畳して示す説明図である。 本願開示の移動制御システムにおいて、移動装置の周囲の近傍領域の状態の一例を示す説明図である。 本願開示の移動制御システムにおいて、レイアウト上に、移動装置の近傍領域及び移動経路の一例を重畳して示す説明図である。 本願開示の移動制御システムにおいて、移動装置の周囲の近傍領域の状態の一例を示す説明図である。 本願開示の移動制御システムにおいて、レイアウト上に、移動装置の近傍領域及び移動経路の一例を重畳して示す説明図である。 本願開示の移動制御システムにおいて、移動装置の周囲の近傍領域の状態の一例を示す説明図である。 本願開示の移動制御システムにおけるQ学習による行動更新の一例を概念的に示す説明図である。 本願開示の移動制御システムにおける状態パターンとQ値の配列との関係の一例を概念的に示す説明図である。 本願開示の移動制御システムにおける状態パターンとQ値の配列との関係の一例を概念的に示す説明図である。 本願開示の移動制御システムにおける状態パターンとQ値の配列との関係の一例を概念的に示す説明図である。 本願開示の移動制御システムのシステム構成の一例を示す概念図である。 本願開示の移動制御システムにて用いられる移動装置のハードウェア構成の一例を示すブロック図である。 本願開示の移動制御システムにて用いられる移動制御装置のハードウェア構成の一例を示すブロック図である。 本願開示の機械学習装置のハードウェア構成の一例を示すブロック図である。 本願開示の移動制御システムが備える機械学習装置の機械学習処理の一例を示すフローチャートである。 本願開示の移動制御システムが備える移動制御装置の移動制御処理の一例を示すフローチャートである。 本願開示の移動制御システムが備える移動制御装置の移動指示処理の一例を示すフローチャートである。 本願開示の移動制御システムが備える移動装置の移動制御処理の一例を示すフローチャートである。 本願開示の移動制御システムのシミュレーションテストに用いたグラフを示す説明図である。 本願開示の移動制御システムのシミュレーションテストに用いたグラフに、各移動装置の移動経路を重畳して示す説明図である。 本願開示の移動制御システムのシミュレーションテストの結果の一例を示すグラフである。 本願開示の移動制御システムのシミュレーションテストの結果の一例を示すグラフである。 本願開示の移動制御システムにおいて、移動装置の周囲に定義される近傍領域の一例を概念的に示す説明図である。
以下、本発明の実施形態について詳述する。なお、以下の実施形態は、本発明を具現化した一例であって、本発明の技術範囲を限定する性格のものではない。
<適用例>
本願開示の移動制御システムは、AGV(Automated Guided Vehicle)、AMR(Automated Mobile Robot)等の移動装置の移動の制御に適用される。例えば、複数のAGVを同時に使用する半導体工場等の大規模工場、物流センター等の倉庫等の施設における構内又は構外の物流に適用される。具体的には、複数台のAGVが、施設内の地面に敷設されたガイドパスに沿って移動し、設置物、配置物等の障害物、並びに他のAGVとの衝突を回避しながら与えられたタスクを実行する形態に適用される。なお、設置物とは、壁、柱、建築物等の固定された障害物を示し、配置物とは、架台、搬送物等の再配置可能な障害物を示す。また、予定と異なる位置に存在する物体、例えば、転倒した配置物、故障した他の移動装置等についても障害物として扱われる。タスクとしては、指定された位置での荷積み、荷下ろし等の作業を伴う移動を例示することができる。
<理論>
本願開示の移動制御システムの基本的な理論について説明する。先ず、移動制御システムに適用される理論の概要について説明する。本願開示の移動制御システムは、AGV等の移動装置が移動可能な範囲を、ノード及びエッジとして連結関係を定義したグラフに割り当てる。そして、移動制御システムは、移動装置の移動の開始位置となるスタートノードから目標位置となるゴールノードまでの最短経路を、A* アルゴリズム等のグラフ探索アルゴリズムを用いて探索する。
また、移動装置の周囲には、移動装置の大きさに基づき設定される単位領域を並べた近傍領域(状態空間)が定義される。定義された近傍領域に含まれる単位領域に、各種設置物、配置物、他の移動装置等の障害物が存在する場合、その単位領域は、移動装置の進入が不可の単位領域と判定される。なお、他の移動装置に対しては、その単位領域に存在する場合だけでなく、その単位領域に移動する場合も進入が不可の単位領域として判定する。また、障害物及び他の移動装置が存在或いは移動しない単位領域は、移動装置の進入可能な単位領域と判定される。他方、移動制御システムでは、近傍領域に含まれる各単位領域への進入可否を示す様々な状態パターンに対し、移動装置の方策を対応付ける。状態パターンに対応付けられる移動装置の方策は、Q学習等の強化学習にて、例えば、Q関数(行動価値関数)等の学習モデルとして、予め求めておく。
移動装置は、探索した移動経路に沿って移動し、近傍領域内に障害物及び他の移動装置が存在又は移動するという状態となった場合、近傍領域に含まれる各単位領域への進入可否の状態に相当する状態パターンに対応付けられた方策を参照して行動する。具体的には、移動装置は、移動経路に沿った移動の継続、又は方策に示された減速、停止、進路変更等の衝突を回避する行動をとる。
次に、具体例を挙げながら、移動制御システムの詳細な説明を行う。図1は、本願開示の移動制御システムにおいて、レイアウトに当て嵌めたグラフの一例を示している。図1は、工場のレイアウトを模した正方形状の水平領域に16×16のノードを割り当てた例を示している。図中、「0」~「5」の番号を付した白丸は、AGV等の移動装置の位置を示している。図中、縦線のハッチング、横線のハッチング、並びに縦線及び横線のクロスハッチングを付した正方形は、それぞれ待機充電を行うノード、荷積みを行うノード及び荷下ろしを行うノードを示している。図中斜線のクロスハッチングで示した領域は、各種設置物、配置物等の障害物を示しており、移動装置が進入できない領域である。
図1の例において、移動装置「0」は、充電しながら待機中であり、移動装置「1」~「5」は、与えられたタスクを実行中である。図1の例において、タスクとは、移動装置が障害物及び他の移動装置との衝突、干渉、デッドロック等の異常の発生を避けながら、移動の開始位置から指定された荷積みノードへ移動し、荷積みノードで荷積みを行い、指定された荷下ろしノードへ移動し、荷下ろしノードで荷下ろしを行う一連の動作を示す。
図2は、本願開示の移動制御システムにおいて、移動装置の周囲に定義される近傍領域の一例を概念的に示す説明図である。図2は、移動装置が移動する水平面上に定義された近傍領域を例示している。近傍領域には、正方形で示す複数の単位領域が含まれている。図2において、移動装置は、白丸の記号であり、白丸から延びる矢印が移動装置の進行方向を示している。近傍領域に含まれる単位領域の大きさは、移動装置の大きさに基づき設定される。図2では、移動装置の水平方向の広がりが収容される大きさの正方形が単位領域として設定された例を示している。近傍領域には、移動装置の移動の基準となる単位移動距離毎に単位領域が並べて配置されている。図2において、移動装置の単位移動距離は、単位領域の一辺の長さであり、移動装置は、単位移動距離分の移動を行う都度、周囲の状態に基づく移動の可否を判定する。図2に例示する近傍領域は、単位移動距離の2単位分の移動に基づいて定義されている。
図3は、本願開示の移動制御システムにおいて、近傍領域に含まれる単位領域に対する進入の可否を例示する説明図である。図3は、移動装置「0」の周囲に定義された近傍領域を例示している。図3において、クロスハッチングで示された単位領域は、設置物、配置物等の障害物であり、移動装置が進入できない単位領域を示している。「3」及び「5」が示された白丸は、他の移動装置「3」及び「5」であり、白丸が現在の位置を示し、白丸から延びる矢印が進行方向を示している。他の移動装置が位置する単位領域及び他の移動装置が移動する単位領域は、衝突防止のため、進入すべきでない単位領域となる。即ち、移動装置「0」にとって、障害物がある単位領域、並びに他の移動装置が位置する単位領域及び他の移動装置が移動する単位領域は、進入不可の単位領域であり、進入不可の単位領域以外の単位領域は、進入可能な単位領域となる。図3の例において、移動装置「0」が、進行方向である前方へ進行すると、他の移動装置「3」が移動する単位領域に進入するため、衝突が発生する。従って、移動装置「0」は、衝突を回避する行動を取る必要が生じる。
衝突を回避するための移動装置の行動決定には、Q学習等の強化学習を用いて予め作成しておいたQ関数等の学習モデルが用いられる。図4は、本願開示の移動制御システムにおいて、移動装置の行動決定に用いられるQ学習の一例を概念的に示す説明図である。Q学習とは、強化学習の代表的な手法の一つである。強化学習は、動的な環境及びエージェントの2つの要素から成り立つ。強化学習は、エージェントがある環境である行動をとった場合に、その行動による環境の変化に応じて得られる報酬を、試行錯誤を繰り返しながら最大化する方策を求める方法である。図4は、エージェント及び環境、並びに状態st 、報酬rt 及び行動at の関係を概念的に示している。エージェントが行動at をすることにより、環境が変化し、変化した状態st 及びその報酬rt が算出される。変化した状態st に応じて、エージェントが次の行動at をとる。報酬rtの最大化は、ある状態st で、ある行動をとった場合における行動価値をQ関数によるQ値で示し、Q値が最大となるように行動を選択していくこととの観点から、Q学習では、下記の式(1)で定義する行動価値関数Qπ(st ,at )を最大化するように学習を進める。
π(st ,at )=Eπ[rt |st =s,at =a] ・・・式(1)
本願開示の移動制御システムでは、Q学習に用いる状態空間として図2に例示した近傍領域を定義する。図2に例示した近傍領域は、移動装置における単位移動距離の2単位分の単位領域を並べて定義しており、他の移動装置の移動を考慮した場合の最小構成に基づくものである。このように本願開示の移動制御システムは、移動装置の位置を基準として周辺の状態のみに着目した相対的で、大きな記憶容量を必要とせず、単純な状態空間を近傍領域として定義する。相対的で単純な状態空間は、従来の一般的なQ学習での経路計画が、移動装置が移動可能な範囲のレイアウト全体を状態空間として定義していたことと大きく異なる。そして、本願開示の移動制御システムは、相対的で、大きな記憶容量を必要とせず、単純な状態空間として近傍領域を定義することにより、移動装置が移動可能な範囲のレイアウト、他の移動装置の台数等の環境が変更された場合であっても、予め学習して取得すべきQ関数の再学習が不要となる等、優れた効果を奏する。更に、相対的で、大きな記憶容量を必要とせず、単純な近傍領域は、Q学習自体の学習に要する時間の短縮が可能となる等、優れた効果を奏する。
次に、本願開示の移動制御システムによる移動装置の行動決定の具体例について説明する。図5は、本願開示の移動制御システムにおいて、レイアウト上に、移動装置の近傍領域及び移動経路の一例を重畳して示す説明図である。図6は、本願開示の移動制御システムにおいて、移動装置の周囲の近傍領域の状態の一例を示す説明図である。図5は、図1に例示したレイアウトに当て嵌めたグラフ上に、A* アルゴリズムにて探索した移動装置「0」の近傍領域の範囲及び移動装置「0」の現在位置から目標となる荷下ろしを行うノードまでの移動経路を重畳して示している。図6は、図5上の移動装置「0」の周囲に定義された近傍領域の状態を示している。荷積みを行うノードに位置する移動装置「0」の周囲に定義される近傍領域内には、障害物が存在するため進入不可の状態の単位領域は存在するが、矢印で示す進行方向の単位領域には障害物はない。そして、移動装置「0」の周囲に定義された近傍領域内には、存在又は移動する他の移動装置がない。従って、Q関数の更新は行われず、移動装置「0」は、移動経路に沿った移動を行う。
図7は、本願開示の移動制御システムにおいて、レイアウト上に、移動装置の近傍領域及び移動経路の一例を重畳して示す説明図である。図8は、本願開示の移動制御システムにおいて、移動装置の周囲の近傍領域の状態の一例を示す説明図である。図7は、移動装置「1」に関する近傍領域及び移動経路を示しており、図8は、移動装置「1」に関する近傍領域の状態を示している。移動装置「1」の周囲に定義された近傍領域内には、他の移動装置「3」が存在するため、Q関数の更新が行われる。ただし、移動装置「1」の前方の単位領域は、他の移動装置「3」が存在する単位領域でも、移動する単位領域でもないことから、図7及び図8に例示する状況下において、移動装置「1」は、移動経路を変更せずに移動経路に沿った移動を行うという行動決定がなされる。
図9は、本願開示の移動制御システムにおいて、レイアウト上に、移動装置の近傍領域及び移動経路の一例を重畳して示す説明図である。図10は、本願開示の移動制御システムにおいて、移動装置の周囲の近傍領域の状態の一例を示す説明図である。図9は、移動装置「2」に関する近傍領域及び移動経路を示しており、図10は、移動装置「2」に関する近傍領域の状態を示している。移動装置「2」の周囲に定義された近傍領域内には、他の移動装置「4」が存在するため、Q関数の更新が行われる。図9及び図10に例示する状況下において、移動装置「2」は、移動する移動装置「4」との衝突を回避するため、移動経路に沿った移動をせず、減速、停止、左折、右折、後退等の回避行動に変更する決定がなされる。
図11は、本願開示の移動制御システムにおけるQ学習による行動更新の一例を概念的に示す説明図である。図11において、右上の図は、移動装置「1」の周囲に定義された近傍領域に、周囲の観測結果を当て嵌めて示している。図11の例において、移動装置「1」は、図中下方へ示す方向へ移動することを示している。移動制御システムでは、探索された移動経路に沿った移動の方向が、図中上方となるように、近傍領域に当て嵌めた状態を回転させる。近傍領域の回転は、図11において、右上の図から左側の図への遷移として示されている。図11に示す例では、進行方向を下方から上方に変換するため、180°回転させることになる。近傍領域の回転は、Q学習等の強化学習を用いて予め作成しておいた学習モデルに適用するための処理である。
図11中の下方の図が、学習モデルの内容を概念的に示している。学習モデルは、近傍領域の様々な状態に識別番号となる状態番号を付与し、状態番号と、近傍領域の状態を示す状態パターンに応じた行動毎の報酬となるQ値とを対応付けて記憶している。図11中では、1、2、3、4、・・・、N-3、N-2、N-1、Nとの状態番号が付与されたN個(Nは自然数)の状態パターンを縦方向に並べて示しており、状態パターンに応じた行動毎のQ値を横方向に並べて示している。行動は、例えば、上下左右(前後左右)の4方向にのみ移動可能なレイアウトである場合には、停止、上(前進)、下(後退)、左(左折)及び右(右折)の5通りであり、それぞれの行動に対してQ値が計算され付与されている。
移動制御システムは、周囲の観測結果に基づく近傍領域を回転させた結果に相当する状態パターンを識別する識別番号に基づいて、学習済みのQ学習モデルを参照し、Q学習モデルから行動に対して付与されたQ値の配列を取得する。図11の右方の図が、Q学習モデルから取得したQ値の配列を概念的に示している。図11の例では、探索された移動経路に沿った移動を示す上方向が「1」、障害物が存在し衝突が発生する左及び右方向が「-1」、衝突は発生しないが無駄な動きとなる停止及び下方向が「0」となっている。移動制御システムは、取得した配列に従って、Q値が最も高い行動となる上方向への行動をとるように移動装置を制御する。
近傍領域の状態パターンと、移動装置の行動との関係について、幾つかの例を挙げて説明する。図12は、本願開示の移動制御システムにおける状態パターンとQ値の配列との関係の一例を概念的に示す説明図である。図12中、左方の図は、近傍領域に周囲の観測結果を当て嵌めた状態を示しており、右方の図は、探索された移動経路に沿った進行方向が上方となるように回転させた状態パターン及び状態パターンに基づいてQ学習モデルから得られたQ値の配列を示している。図12は、行動制御の対象となる移動装置「0」の周囲に、障害物と、移動装置「1」及び移動装置「2」とが存在している例を示している。図12において、移動装置「0」は、左方向へ移動(左折)すると障害物に衝突し、上方向へ移動(前進)すると移動装置「2」と衝突し、右方向へ移動(右折)すると移動装置「1」と衝突する。Q値は、停止、上、下、左及び右が、それぞれ「0」、「-1」、「0」、「-1」及び「-1」となっている。図12に示す例では、最大値となるQ値は、「0」であるため、停止及び下が選択され、例えば、乱数により、移動装置「0」の移動は、停止又は下方向への移動(後退)に決定される。
図13は、本願開示の移動制御システムにおける状態パターンとQ値の配列との関係の一例を概念的に示す説明図である。図13は、図12に例示した状態の他の例を示している。図13は、行動制御の対象となる移動装置「0」の周囲に、障害物と、移動装置「1」、移動装置「2」及び移動装置「3」とが存在している例を示している。図13において、移動装置「0」は、下方向へ移動すると障害物に衝突し、上方向へ移動すると移動装置「2」と衝突し、右方向へ移動又は停止すると移動装置「1」と衝突する。Q値は、停止、上、下、左及び右が、それぞれ「-1」、「-1」、「-1」、「0」及び「-1」となっている。図13に示す例では、最大値となるQ値は、「0」であるため、移動装置「0」の移動は、左方向への移動に決定される。
図14は、本願開示の移動制御システムにおける状態パターンとQ値の配列との関係の一例を概念的に示す説明図である。図14は、図12及び図13に例示した状態の更に他の例を示している。図14は、行動制御の対象となる移動装置「0」の周囲に、障害物と、移動装置「1」及び移動装置「2」とが存在する例を示している。なお、移動装置「2」は、移動装置「0」の上方(前方)で停止している。図14において、移動装置「0」は、下方向へ移動すると障害物に衝突し、上方向へ移動すると停止している移動装置「2」と衝突し、右方向へ移動又は停止すると移動装置「1」と衝突する。Q値は、停止、上、下、左及び右が、それぞれ「-1」、「-1」、「-1」、「0」及び「-1」となっている。図14に示す例では、最大値となるQ値は、「0」であるため、移動装置「0」の移動は、左方向への移動に決定される。
以上のように、本願開示の移動制御システムは、移動装置の移動経路をA* アルゴリズム等のグラフ探索アルゴリズムを用いて探索し、移動開始後の移動装置の行動を、近傍領域の観測結果に応じてQ学習モデルから得られた状態パターンのQ値に基づいて決定する。
<実装例>
以降では、図面を参照しながら、図面に記載された本願開示の移動制御システムSの実装例について説明する。
<システム構成>
図15は、本願開示の移動制御システムSのシステム構成の一例を示す概念図である。移動制御システムSは、複数の移動装置1と、移動装置1を制御する移動制御装置2と、移動制御装置2に学習モデルMを提供する機械学習装置3とを備えている。移動制御システムSは、大規模工場、倉庫等の施設における構内又は構外の物流に適用される。施設内には、磁気テープ等のガイドパスPが地面に敷設されており、移動装置1は、縦横に敷設されたガイドパスPに沿って移動する。移動装置1は、移動制御装置2と双方向通信を行う。機械学習装置3は、Q学習等の強化学習により、Q学習モデル等の学習モデルMを生成する。機械学習装置3は、通信又は半導体メモリ等の記録媒体を介して、生成した学習モデルMを移動制御装置2へ提供する。
<各種装置のハードウェア構成>
次に、移動制御システムSが備える各種装置の構成例について説明する。図16は、本願開示の移動制御システムSにて用いられる移動装置1のハードウェア構成の一例を示すブロック図である。移動装置1は、自律移動が可能なAGV等の装置であり、移動の他、各種部品、商品等の搬送物の荷積み、荷下ろし等の搬送作業を行う。移動装置1は、制御部10、記憶部11、通信部12、位置取得部13、経路検出部14、周辺状況取得部15、駆動部16、駆動制御部17、搬送部18、搬送制御部19等の各種構成を備えている。
制御部10は、装置全体を制御する処理を実行するCPU(Central Processing Unit )等のプロセッサであり、情報処理回路、計時回路、レジスタ回路等の各種回路を備えている。
記憶部11は、ハードディスク、SSD(Solid State Drive )、RAID(Redundant Arrays of Inexpensive Disks )、フラッシュメモリ等の不揮発性メモリ、及び各種RAM(Random Access Memory)等の揮発性メモリを用いて構成される記憶ユニットである。記憶部11には、本願開示の移動制御システムSに係る移動装置1を実現するための移動装置用プログラム110等の各種プログラムが記憶されている。記憶部11に記憶された移動装置用プログラム110等の各種プログラムに含まれる各種ステップを制御部10が実行することにより、AGVは、本願開示の移動装置1として機能する。
通信部12は、IEEEにて規定されるWi-Fi(登録商標)等の無線通信規格にて規定される通信を行うためのハードウェア及びソフトウェアを用いて構成されるユニットである。通信部12は、移動装置1の位置を示す位置情報等の情報を、移動制御装置2へ送信する送信処理、及び移動制御装置2から送信された行動命令等の情報を受信する受信処理を行う。
位置取得部13は、自装置の位置を示す位置情報を取得するユニットである。位置取得部13は、例えば、GNSS(Global Navigation Satellite System)、各種位置検出センサ等のハードウェア及びソフトウェアを用いて構成される。また、移動制御システムSでは、例えば、施設内に画像センサ、光センサ、磁気センサ等の検出装置を配置し、検出装置が検出した結果に基づいて得られた移動装置1の位置を示す位置情報を、検出装置から移動装置1へ送信するようにしてもよい。検出装置から移動装置1へ位置情報を送信する場合、位置取得部13は、位置情報を受信するユニットを用いて構成される。更に、検出装置が検出した結果に基づいて得られる各移動装置1の位置を示す位置情報を、検出装置から移動制御装置2へ送信し、移動制御装置2にて全ての移動装置1の位置を管理し、移動装置1は、移動制御装置2にアクセスして位置情報をするようにしてもよい。この場合も、位置取得部13は、位置情報を受信するユニットを用いて構成されることになる。
経路検出部14は、移動装置1が経路に沿って移動していることを検出する各種センサ等のユニットである。例えば、磁気テープを用いたガイドパスPが敷設されている場合、磁気センサ等のセンサが、経路検出部14として用いられる。また、特定の色、発光等の特徴を有するテープをガイドパスPとして敷設する場合、画像センサ等のセンサが用いられる。
周辺状況取得部15は、周囲の状況を検出するセンサ及びセンサによる検出結果を解析する解析回路を用いて周辺状況を取得するユニットである。周囲の状況の検出には、周囲の状況を撮像して他の移動装置1及び障害物の状態を取得する画像センサ、レーザにより周囲の状況を検出するレーザセンサ、他の移動装置1と通信する近距離無線等のセンサが用いられる。
駆動部16は、タイヤ及びタイヤを駆動するモータ等の移動に要するユニットであり、駆動制御部17は、駆動部16を制御するドライバを用いて構成される。搬送部18は、ロボットアーム、ベルトコンベア等の搬送に要するユニットであり、搬送制御部19は、搬送部18を制御するドライバを用いて構成される。
図17は、本願開示の移動制御システムSにて用いられる移動制御装置2のハードウェア構成の一例を示すブロック図である。移動制御装置2は、移動装置1を制御する装置であり、サーバコンピュータ等のコンピュータを用いて実現される。移動制御装置2は、制御部20、記憶部21、第1通信部22、第2通信部23、タスク取得部24等の各種構成を備えている。
制御部20は、装置全体を制御するCPU等のプロセッサであり、情報処理回路、計時回路、レジスタ回路等の各種回路を備えている。
記憶部21は、不揮発性メモリ及び揮発性メモリを用いて構成される記憶ユニットである。記憶部21には、基本プログラム(OS:Operating System)、基本プログラム上で動作する応用プログラム(アプリケーションプログラム)等の各種プログラム及び各種データが記憶される。応用プログラムの一つとして、記憶部21には、本願開示の移動制御システムSに係る移動制御装置2を実現するための移動制御プログラム210が記憶されている。更に、記憶部21には、機械学習装置3から取得したQ学習モデル等の学習モデルMが記憶されている。
第1通信部22は、移動装置1と通信するためのユニットである。第1通信部22は、移動装置1の位置を示す位置情報等の情報を移動装置1から受信し、行動命令等の情報を移動装置1へ送信する。
第2通信部23、機械学習装置3と通信するためのユニットであり、WAN(Wide Area Network )、LAN(Local Area Network)、専用通信網、通信線等の通信手段により、機械学習装置3と通信する。移動制御装置2は、機械学習装置3から学習モデルM等の情報を、第2通信部23を介して受信するが、半導体メモリ等の通信媒体を介して情報のやりとりを行うことも可能である。
タスク取得部24は、移動装置1に実行させるタスクを取得するユニットである。移動装置1に実行させるタスクとは、例えば、部品、商品等の搬送物を、指定された荷積みノードから指定された荷下ろしノードへ搬送する動作である。タスクの取得は、スケジューリングプログラムによる自動発生、担当者による入力、他の装置からの命令の受信等の方法で行われる。
以上のように構成されたコンピュータは、制御部20の制御により、記憶部21から移動制御プログラム210等の各種プログラムを読み取り、各種プログラムに含まれている各種ステップを実行することにより、本願開示の移動制御装置2として動作する。
図18は、本願開示の機械学習装置3のハードウェア構成の一例を示すブロック図である。機械学習装置3は、移動装置1の行動決定に用いられるQ学習モデル等の学習モデルMを生成する装置であり、汎用コンピュータ等のコンピュータを用いて実現される。機械学習装置3は、制御部30、記憶部31、通信部32等の各種構成を備えている。
記憶部31には、本願開示の移動制御システムSに係る機械学習装置3を実現するための機械学習用プログラム310等の各種プログラムが記憶されている。更に、記憶部31には、機械学習により生成するQ学習モデル等の学習モデルMが記憶される。記憶部31に記憶された学習モデルMは、例えば、通信部32を介して移動制御装置2へ提供される。
<各種装置のソフトウェア処理>
次に移動制御システムSが備える各種装置のソフトウェア処理について説明する。図19は、本願開示の移動制御システムSが備える機械学習装置3の機械学習処理の一例を示すフローチャートである。機械学習処理は、学習モデルMを生成する処理である。機械学習装置3が備える制御部30は、機械学習用プログラム310を実行することにより、機械学習処理を実行する。
機械学習装置3の制御部30は、移動装置1の行動を規定する近傍領域を対象としたQ関数を初期化する(S101)。制御部30は、近傍領域で想定される状態パターンを作成する(S102)。ステップS102では、図2にて例示した進行方向を上方とする近傍領域に対し、図3等に例示した障害物の配置及び他の移動装置1の動きを想定した状況を反映させた状態パターンを作成する。
制御部30は、移動装置1の現状を観測し(S103)、様々なパターンの行動を決定し(S104)、決定した行動を取った場合に生じる次の状況を観測し(S105)、観測した結果に基づきQ値となる報酬を算出し(S106)、算出した報酬に基づいてQ関数を更新する(S107)。ステップS104では、例えば、設定された移動経路に沿った移動に対し、前進、左折(左方向へ移動)、右折(右方向へ移動)、後退、停止等の行動が決定される。ステップS106では、例えば、設定された移動経路に沿った移動を示す前進が「1」、左折及び右折が「-1」、後退及び停止が「0」となるように報酬が算出される。
制御部30は、想定される全ての状態パターンについての強化学習を終了したか否かを判定する(S108)。
ステップS108において、強化学習を終了していない状態パターンが存在すると判定した場合(S108:NO)、制御部30は、他の状態パターンについての強化学習を行うべく、ステップS102へ戻り、以降の処理を繰り返す。
ステップS108において、全ての状態パターンについての強化学習を終了したと判定した場合(S108:YES)、制御部30は、機械学習処理を終了する。強化学習により更新されたQ関数は、Q学習モデル等の学習モデルMとして、機械学習装置3から移動制御装置2へ提供される。
以上のようにして、機械学習装置3は、機械学習処理を実行する。
図20は、本願開示の移動制御システムSが備える移動制御装置2の移動制御処理の一例を示すフローチャートである。移動制御処理は、移動装置1の行動を周囲の状況に応じて制御する処理である。移動制御装置2が備える制御部20は、移動制御プログラム210を実行することにより、移動制御処理を実行する。
移動制御装置2の制御部20は、タスク取得部24がタスクを取得したか否かを判定する(S201)。
ステップS201において、タスクを取得していないと判定した場合(S201:NO)、制御部20は、ステップS201に戻り、以降の処理を繰り返す。
ステップS201において、タスクを取得したと判定した場合(S201:YES)、制御部20は、制御下にある複数の移動装置1のうちで、タスクを与えられておらず待機中の移動装置1が存在するか否かを判定する(S202)。ステップS202において、移動制御装置2は、各移動装置1と通信し、待機中、タスク実行中、待機場所へ帰還中等の状況を取得し、取得した状況に基づいて、待機中の移動装置1の有無を判定する。
ステップS202において、待機中の移動装置1が存在しないと判定した場合(S202:NO)、制御部20は、ステップS202に戻り、以降の処理を繰り返す。待機中の移動装置1の有無の判定の繰り返し処理は、待機中の移動装置1が発生するまで待機する処理である。なお、取得したタスクに対し、タスクを実行できない旨を返信する処理を行う等、待機中の移動装置1が存在しない場合の処理は、適宜設計することが可能である。
ステップS202において、待機中の移動装置1が存在すると判定した場合(S202:YES)、制御部20は、待機中の移動装置1からタスクを割り当てる移動装置1を決定し、決定した移動装置1にタスクを割り当てる(S203)。
制御部20は、タスクを割り当てた移動装置1の待機位置を取得し、取得した待機位置から移動の目標位置までの経路を探索する(S204)。ステップS204は、移動装置1の移動開始位置に対応するスタートノードから、目標位置に対応するゴールノードまでの移動経路を、A* アルゴリズム等のグラフ探索アルゴリズムにて探索する処理である。ステップS204では、例えば、取得したタスクが搬送物の搬送である場合、先ず、待機充電を行うノードから荷積みノードまでの経路探索を行い、荷積みノードから荷下ろしノードまでの経路探索を行い、更に、荷下ろしノードから待機充電を行うノードまでの経路探索を行う。
制御部20は、探索により得られた経路を示す経路情報を移動命令として、第1通信部22から移動装置1へ送信し、移動経路に沿った移動を指示する移動指示処理を行う(S205)。ステップS205において、制御部20は、タスクを割り当てた移動装置1に対し、第1通信部22から移動命令を送信する。移動命令を受信した移動装置1は、受信した移動命令に従って移動を開始する。
制御部20は、移動装置1が、タスクを完了させたか否かを判定する(S206)。
ステップS206において、タスクを完了させていないと判定した場合(S206:NO)、制御部20は、移動装置1の周囲の状況を取得する(S207)。移動制御装置2が、全ての移動装置1の位置及び状況並びに障害物の状況を把握できている場合、制御部20は、周囲の状況を読み取ることにより、ステップS207の取得処理を実行する。移動制御装置2が、他の移動装置1の位置及び状況を把握できていない場合、制御部20は、行動制御の対象となる移動装置1へ周囲の状況の取得を要求する命令を第1通信部22から送信し、移動装置1が周辺状況取得部15により取得した周辺状況を示す情報を第1通信部22にて受信することにより、ステップS207の取得処理を実行する。なお、移動制御装置2は、これらの取得処理を併用するようにしてもよく、併用することで、状況取得の精度向上を図ることができる。
制御部20は、取得した移動装置1の周囲の状況に基づいて、近傍領域に含まれる全ての単位領域について進入の可否を判定する(S208)。ステップS208において、制御部20は、他の移動装置1が位置する単位領域及び他の移動装置1が移動する単位領域と、障害物が存在する単位領域を進入不可と判定する。
制御部20は、ステップS208の判定結果に基づいて、近傍領域に進入不可の単位領域があるか否かを判定する(S209)。ステップS209において、障害物の存在による進入不可の単位領域は、経路探索の段階で考慮済みであるため、他の移動装置1に起因する進入不可の単位領域のみを考慮して、進入不可の単位領域の有無を判定することにより、処理を高速化することが可能となる。なお、ステップS209の処理は、配置物の転倒、搬送物の落下等の予期せぬ障害物の出現を考慮して、障害物も含めて進入不可の単位領域の有無を判定するようにしてもよい。障害物も含めて進入不可の単位領域の有無を判定する場合、移動装置1の周囲の状況の取得は、移動装置1が備える周辺状況取得装置が取得した周囲の状況の検出の結果を用いることが望ましい。
ステップS209において、近傍領域に、他の移動装置1に起因する進入不可の単位領域がないと判定した場合(S209:NO)、ステップS205に戻り、制御部20は、移動経路に沿った移動を指示する移動指示処理を行う(S205)。ステップS205において、制御部20は、移動経路に沿った移動を継続する移動命令を第1通信部22から移動装置1へ送信し、ステップS206以降の処理を繰り返す。
ステップS209において、近傍領域に含まれる単位領域に進入不可の単位領域が含まれると判定した場合(S209:YES)、制御部20は、近傍領域に含まれる各単位領域への進入可否を示す状態パターンに対応する方策を、学習モデルMから取得する(S210)。取得した方策に基づいて、制御部20は、移動装置1の行動を更新し(S211)、更新した行動を指示する行動命令を、第1通信部22から移動装置1へ送信することにより、移動装置1に対する行動指示を行う(S212)。ステップS210~S212の処理は、図11を用いて説明した学習モデルMに基づいて、Q値が最も高い行動を移動装置1に取らせる処理となる。なお、行動命令により指示される行動には、左折、右折、後退等の行動だけでなく、減速、停止等の行動も含まれる。
通信部12にて行動命令を受信した移動装置1は、行動命令の指示に基づいて、移動、減速、停止等の行動を行う。
制御部20は、行動後の移動装置1が、移動経路探索処理にて探索された移動経路から外れたか否かを判定する(S213)。ステップS213では、行動の更新によりとった行動が左折又は右折である場合、移動経路から外れており、行動が減速、停止又は後退である場合、移動経路上に位置すると判定する。
ステップS213において、移動経路から外れておらず、移動経路上に位置すると判定した場合(S213:NO)、制御部20は、ステップS205へ戻り、以降の処理を繰り返す。
ステップS213において、移動経路から外れたと判定した場合(S213:YES)、制御部20は、経路の再設定を行う(S214)。経路の再設定は、移動経路から外れた位置まで戻り、そこからの移動を再開する復帰処理、外れた位置から再度移動経路を探索する再探索処理等の処理として行われる。
ステップS206において、タスクを完了させたと判定した場合(S206:YES)、制御部20は、移動制御処理を終了する。
以上のようにして、移動制御装置2は、移動制御処理を実行する。
上述した移動制御装置2の移動制御処理は、移動制御装置2が移動装置1の行動を集中制御する形態である。本願開示の移動制御システムSは、様々な形態に展開することが可能であり、移動装置1自体が行動判断する分散制御として実現することも可能である。以下では、個々の移動装置1が行動判断する形態の例について説明する。
図21は、本願開示の移動制御システムSが備える移動制御装置2の移動指示処理の一例を示すフローチャートである。移動指示処理は、移動制御装置2が、移動装置1に対してタスクを割り当て、移動を指示する処理である。移動制御装置2が備える制御部20は、移動制御プログラム210を実行することにより、移動指示処理を実行する。
移動制御装置2の制御部20は、タスク取得部24がタスクを取得したか否かを判定する(S301)。ステップS301の処理は、タスクを取得するまで繰り返し実行される。
ステップS301において、タスクを取得したと判定した場合(S301:YES)、制御部20は、待機中の移動装置1が存在するか否かを判定する(S302)。ステップS302の処理は、待機中の移動装置1を確認するまで繰り返し実行される。
ステップS302において、待機中の移動装置1が存在すると判定した場合(S302:YES)、制御部20は、待機中の移動装置1にタスクを割り当て(S303)、目標位置までの経路を探索し(S304)、探索した経路を示す移動経路に沿った移動を指示する(S305)。ステップS305の移動の指示は、移動制御装置2が、移動経路を含む移動命令を第1通信部22から移動装置1へ送信することにより行われる。なお、移動制御装置2は、移動命令として目標位置を移動装置1に通知し、移動装置1にて経路探索を行うようにしてもよい。
以上のようにして、移動制御装置2は、移動指示処理を実行する。
図22は、本願開示の移動制御システムSが備える移動装置1の移動制御処理の一例を示すフローチャートである。移動制御処理は、移動装置1が、移動命令に従って自装置の移動を制御する処理である。移動装置1が備える制御部10は、移動装置用プログラム110を実行することにより、移動制御処理を実行する。
移動装置1の制御部10は、通信部12にて移動命令を受信し(S401)、受信した移動命令に基づいて、移動経路に沿って移動し(S402)、タスクを完了したか否かを判定する(S403)。
タスクを完了していないと判定した場合(S403:NO)、制御部10は、周囲の状況を取得し(S404)、近傍領域に含まれる各単位領域について進入の可否を判定する(S405)。ステップS404において、全ての移動装置1の状況を移動制御装置2が把握している場合、移動装置1は、移動制御装置2にアクセスして周囲の状況を取得する。移動制御装置2が移動装置1の状況を把握していない場合、移動装置1は、周辺状況取得部15により他の移動装置1の状況を含む周辺状況を取得する。
制御部10は、ステップS405の判定結果に基づいて、近傍領域に進入不可の単位領域があるか否かを判定し(S406)、他の移動装置1に起因する進入不可の領域がないと判定した場合(S406:NO)、ステップS402に戻り、移動経路に沿った移動を継続する(S402)。
ステップS406において、近傍領域に含まれる単位領域に進入不可の単位領域が含まれると判定した場合(S406:YES)、制御部10は、状態パターンに対応する方策を学習モデルMから取得する(S407)。学習モデルMは、移動装置1の記憶部11に記憶するようにしてもよく、移動装置1が移動制御装置2にアクセスし、移動制御装置2に記憶されている学習モデルMを利用するようにしてもよい。
制御部10は、取得した方策に基づいて行動を更新し(S408)、更新した行動を実行する(S409)。行動後、制御部10は、移動経路から外れたか否かを判定し(S410)、移動経路上に位置すると判定した場合(S410:NO)、ステップS402へ戻り、移動経路に沿った移動を継続する(S402)。
ステップS410において、移動経路から外れたと判定した場合(S410:YES)、制御部10は、経路の再設定を行い(S411)、ステップS402へ戻り、移動を継続する(S402)。
ステップS403において、タスクを完了させたと判定した場合(S403:YES)、制御部10は、移動制御処理を終了する。
以上のようにして、移動装置1は、移動制御処理を実行する。
<シミュレーション結果>
次に、本願開示の移動制御システムについて、シミュレーションテストを実行した結果について説明する。図23は、本願開示の移動制御システムのシミュレーションテストに用いたグラフを示す説明図である。図24は、本願開示の移動制御システムのシミュレーションテストに用いたグラフに、各移動装置の移動経路を重畳して示す説明図である。図23に示す説明図は、AGV等の移動装置が移動可能な範囲を、ノード及びエッジの関係として定義したグラフである。図23において、黒丸はノードを示し、ノードを繋ぐ実線はエッジを示している。図24において、「1」~「7」の番号を付した白丸は、移動装置のスタートノードを示し、白丸から延びる矢印は、移動装置が移動した経路を示し、矢印の先端がゴールノードを示している。図23及び図24において、移動装置「3」は、ノード「76」において、移動装置「7」との衝突を回避するため、1ステップ分の待機を行った。また、移動装置「1」は、ノード「131」に一度到達した後、移動装置「2」との衝突を回避するため、一旦、ノード[113]への回避を行い、再度、ノード[131]へ移動した。以上のように、本願開示の移動制御システムにおいて、移動装置は、他の移動装置との衝突を回避しながらゴールノードまで移動した。
図25は、本願開示の移動制御システムのシミュレーションテストの結果の一例を示すグラフである。図25は、横軸に移動装置数をとり、縦軸に経路計画に要する計算時間をとって、その関係を示している。なお、ノード数は30で固定した。図25に示すように、移動装置数の増加に伴い、移動装置数に対して線形的な計算時間の増加に収まる傾向がある。
図26は、本願開示の移動制御システムのシミュレーションテストの結果の一例を示すグラフである。図26は、横軸に格子状に配置したレイアウトの一辺のノード数をとり、縦軸に経路計画に要する計算時間をとって、その関係を示している。なお、移動装置数は5台で固定した。図26に示すように、ノード数の増加に伴い、計算時間が延びるもののノード数の2乗の計算時間に収まる傾向がある。
以上のように、本願開示の移動制御システムは、単位領域を移動装置の周囲に配置した近傍領域に、移動装置の周囲の状態を反映させた状態パターンに基づいて、移動装置の行動を決定する。状態パターンと比較して行動を決定することにより、周囲の状況の変化に対し、柔軟に対応することが可能である。例えば、他の移動装置が、故障等の異常発生により、予定と異なる位置に存在するような状況、配置物の転倒等により、障害物の位置が変化した状況等、経路探索時と異なる状況が発生しても、衝突を回避する行動をとることが可能である等、優れた効果を奏する。また、本願開示の移動制御システムは、近傍領域の大きさを、単位移動距離の2単位分に定義した場合、近傍領域を大きくすることによる状態パターンの増加及び計算負荷の増大を抑制しながらも、他の移動装置の移動後の位置まで考慮することが可能である等、優れた効果を奏する。
更に、本願開示の移動制御システムは、状態パターンと行動との関係をQ学習等の強化学習手法を用いて求めるが、強化学習による学習モデルの作成は、別途、作成しておくことが可能であるため、実際の移動の際の計算負荷、計算時間等の計算コストの移動装置数、ノード数に対する指数関数的な増加を抑制することが可能である等、優れた効果を奏する。しかも、本願開示の移動制御システムは、移動装置の移動範囲となるレイアウトが異なる場合であっても、同様の学習モデルを転用することが可能である等、優れた効果を奏する。
更に、本願開示の自動制御システムは、経路探索に際して、A* アルゴリズム等のグラフ探索アルゴリズムを用いることにより、最短経路を導出することができるので、移動装置同士の干渉が発生しない場合には最短経路での移動を実現することが可能である等、優れた効果を奏する。
本発明は、以上説明した実施形態に限定されるものではなく、他のいろいろな形態で実施することが可能である。そのため、かかる実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈してはならない。本発明の範囲は請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。更に、請求の範囲の均等範囲に属する変形及び変更は、全て本発明の範囲内のものである。
例えば、前記実施形態及びシミュレーションでは、平面上を移動するAGVを移動装置として適用する形態を示したが、本願開示の移動制御システムは、これに限らず、上下を含む立体的な空間を移動するUAV(unmanned aerial vehicle ;所謂「ドローン」)、水中移動ロボット等の装置を移動装置として適用することも可能である。立体的な移動を行う移動装置に適用する場合、近傍領域も立体的な3次元空間として定義されることになる。
図27は、本願開示の移動制御システムにおいて、移動装置の周囲に定義される近傍領域の一例を概念的に示す説明図である。図27は、移動装置が移動する立体空間に定義された近傍領域を例示している。近傍領域には、立方体で示す複数の単位領域が含まれている。近傍領域に含まれる単位領域の大きさは、移動装置の大きさに基づき設定される。図27では、移動装置の縦横高さの広がりが収容される大きさの立方体が単位領域として設定された例を示している。図27に例示する近傍領域は、単位移動距離の2単位分の移動に基づいて定義されている。なお、近傍領域の中央に示すドローンを模した画像が自装置となる移動装置を示しており、周囲の単位領域内に示すドローンを模した画像が他の移動装置を示している。
また、前記実施形態では、単位領域を正方形として定義したが、本願開示の移動制御システムは、これに限らず、正六角形等、他の形状に定義することも可能である。
更に、前記実施形態では、Q値が取り得る値の範囲を、「-1」から「1」までの整数で表したが、本願開示の移動制御システムは、これに限るものではなく、様々な報酬規定を設定することが可能である。例えば、移動装置が衝突し、更に停止行動を選択した場合に対応するQ値を「-10」として与える等、様々な条件を設定することが可能である。
更に、前記実施形態では、状態パターンと行動との関係を強化学習により求めた学習モデルを用いる形態を示したが、本願開示の移動制御システムは、これに限るものではなく、様々な方法に展開することが可能である。例えば、Q学習以外の価値ベースの強化学習、更には、価値ベースの強化学習以外の方法で求めた状態パターンと行動との関係を、テーブル形式のデータベースに対応付けて記憶しておき、テーブル形式のデータベースを用いて行動を決定する等、様々な形態に展開することが可能である。
更に、前記実施形態では、A* アルゴリズムにて経路探索を行う形態を示したが、本願開示の移動制御システムは、これに限るものではなく、様々な方法に展開することが可能である。例えば、A* アルゴリズム以外の深さ優先探索、ビーム探索、ベルマンフォード法、ヒューリスティック法等のグラフ探索アルゴリズムを用いる等、様々な形態に展開することが可能である。
更に、前記実施形態で示した、移動装置、移動制御装置及び強化学習装置の処理の分担は、あくまでも一例であり、様々な形態に展開することが可能である。例えば、移動制御装置及び強化学習装置の処理を一台のサーバコンピュータにて実装するようにしてもよく、複数の移動装置のうちの一台に他の移動装置の移動を制御する移動制御装置としての機能を実装する等、様々な形態に展開することが可能である。
S 移動制御システム
1 移動装置
10 制御部
11 記憶部
110 移動装置用プログラム
13 位置取得部
15 周辺状況取得部
2 移動制御装置
20 制御部
21 記憶部
210 移動制御プログラム
3 機械学習装置
30 制御部
31 記憶部
310 機械学習用プログラム
M 学習モデル

Claims (12)

  1. 移動装置を備え、前記移動装置の移動を制御する移動制御システムであって、
    前記移動装置の移動開始位置から目標位置までの移動経路を探索する経路探索手段と、
    前記移動装置の周囲の状況を取得する状況取得手段と、
    前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に前記状況取得手段が取得した周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定する進入可否判定手段と、
    前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、前記進入可否判定手段が判定した各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得する方策取得手段と、
    前記方策取得手段が取得した方策に基づいて、前記経路探索手段が探索した移動経路に沿った移動の可否を判定する移動可否判定手段と、
    移動経路に沿った移動が不可と判定した場合に、前記方策取得手段が取得した方策にて示される行動をとるように決定する行動決定手段と
    を備えることを特徴とする移動制御システム。
  2. 請求項1に記載の移動制御システムであって、
    前記移動装置と通信可能な移動制御装置を備え、
    前記移動装置は、複数であり、
    前記移動制御装置は、
    前記経路探索手段、前記状況取得手段、前記進入可否判定手段、前記方策取得手段、前記移動可否判定手段及び行動決定手段と、
    前記行動決定手段が決定した行動をさせる前記移動装置毎の行動命令を、対応する前記移動装置へ送信する手段と
    を備え、
    前記進入可否判定手段は、複数の前記移動装置のうちの一の移動装置について、他の移動装置が位置する単位領域及び/又は他の移動装置が移動する単位領域を進入不可と判定する
    ことを特徴とする移動制御システム。
  3. 請求項1に記載の移動制御システムであって、
    前記移動装置は、
    複数であり、
    複数の前記移動装置のうちの一の移動装置は、
    少なくとも、前記状況取得手段、前記進入可否判定手段、前記方策取得手段、前記移動可否判定手段及び前記行動決定手段を備え、
    前記進入可否判定手段は、他の移動装置が位置する単位領域及び/又は他の移動装置が移動する単位領域を進入不可と判定する
    ことを特徴とする移動制御システム。
  4. 請求項1乃至請求項3のいずれか1項に記載の移動制御システムであって、
    前記経路探索手段は、
    前記移動装置が移動可能な範囲を、単位領域をノードとし、単位領域間の移動可能な経路をエッジとして連結関係を定義したグラフに対して、前記移動装置の移動開始位置に対応するスタートノードから目標位置に対応するゴールノードまでの移動経路を、グラフ探索アルゴリズムにて探索する
    ことを特徴とする移動制御システム。
  5. 請求項1乃至請求項3のいずれか1項に記載の移動制御システムであって、
    前記近傍領域は、単位移動距離の2単位分の移動に基づいて定義されている
    ことを特徴とする移動制御システム。
  6. 請求項1乃至請求項3のいずれか1項に記載の移動制御システムであって、
    前記方策取得手段が取得する状態パターン及び方策の関係は、強化学習により得られた学習モデルである
    ことを特徴とする移動制御システム。
  7. 請求項6に記載の移動制御システムであって、
    前記学習モデルは、
    想定される状態パターン毎に、前記移動装置の移動方向への移動及び停止によるそれぞれの行動価値を示しており、
    前記方策取得手段は、
    前記行動価値が最も高い方向への移動又は停止を方策として取得する
    ことを特徴とする移動制御システム。
  8. 移動装置及び前記移動装置の移動を制御する移動制御装置を用いた移動制御方法であって、
    前記移動装置の移動開始位置から目標位置までの移動経路を探索するステップと、
    前記移動装置の周囲の状況を取得するステップと、
    前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定するステップと、
    前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得するステップと、
    取得した方策に基づいて、移動経路に沿った移動の可否を判定するステップと、
    移動可と判定した場合に、前記移動装置が移動経路に沿って移動するステップと、
    移動不可と判定した場合に、前記移動装置が方策にて示される行動をとるステップと
    を実行することを特徴とする移動制御方法。
  9. 移動装置の移動を制御する移動制御装置であって、
    前記移動装置の移動開始位置から目標位置までの移動経路を探索する手段と、
    前記移動装置の周囲の状況を取得する手段と、
    前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定する手段と、
    前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得する手段と、
    取得した方策に基づいて、移動経路に沿った移動の可否を判定する手段と、
    移動可と判定した場合に、移動経路に沿って移動し、移動不可と判定した場合に、決定した行動をとらせる行動命令を、前記移動装置へ送信する手段と
    を備えることを特徴とする移動制御装置。
  10. 移動経路に沿って移動する移動装置であって、
    周囲の状況を取得する手段と、
    自機の大きさに基づき設定される単位領域を、自機の移動の基準となる単位移動距離毎に、周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、自機の進入の可否を判定する手段と、
    前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられる方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得する手段と、
    取得した方策に基づいて、移動経路に沿った移動の可否を判定する手段と、
    移動可と判定した場合に、移動経路に沿って移動する手段と、
    移動不可と判定した場合に、取得した方策にて示される行動をとる手段と
    を備えることを特徴とする移動装置。
  11. 移動装置と通信する通信手段を備えるコンピュータに、前記移動装置の移動を制御させる移動制御プログラムであって、
    コンピュータに、
    前記移動装置の移動開始位置から目標位置までの移動経路を探索するステップと、
    前記移動装置の周囲の状況を取得するステップと、
    前記移動装置の大きさに基づき設定される単位領域を、前記移動装置の移動の基準となる単位移動距離毎に、前記移動装置の周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、前記移動装置の進入の可否を判定するステップと、
    前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられた前記移動装置の方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得するステップと、
    取得した方策に基づいて、移動経路に沿った移動の可否を判定するステップと、
    移動可と判定した場合に、移動経路に沿って移動し、移動不可と判定した場合に、決定した行動をとらせる行動命令を、前記移動装置へ送信するステップと
    を実行させることを特徴とする移動制御プログラム。
  12. 移動経路に沿って移動する移動装置に実行させる移動装置用プログラムであって、
    移動装置に、
    周囲の状況を取得するステップと、
    自機の大きさに基づき設定される単位領域を、自機の移動の基準となる単位移動距離毎に、周囲に配置した領域を近傍領域と定義して、前記近傍領域に周囲の状況を当て嵌め、前記近傍領域に含まれる各単位領域について、自機の進入の可否を判定するステップと、
    前記近傍領域に含まれる各単位領域への進入可否を示す状態パターン毎に対応付けられる方策に基づいて、各単位領域の進入可否の判定結果に相当する状態パターンに対応付けられた方策を取得するステップと、
    取得した方策に基づいて、移動経路に沿った移動の可否を判定するステップと、
    移動可と判定した場合に、移動経路に沿って移動するステップと、
    移動不可と判定した場合に、取得した方策にて示される行動をとるステップと
    を実行させることを特徴とする移動装置用プログラム。
JP2022080431A 2022-05-16 2022-05-16 移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム Pending JP2023168996A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022080431A JP2023168996A (ja) 2022-05-16 2022-05-16 移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022080431A JP2023168996A (ja) 2022-05-16 2022-05-16 移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム

Publications (1)

Publication Number Publication Date
JP2023168996A true JP2023168996A (ja) 2023-11-29

Family

ID=88923463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022080431A Pending JP2023168996A (ja) 2022-05-16 2022-05-16 移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム

Country Status (1)

Country Link
JP (1) JP2023168996A (ja)

Similar Documents

Publication Publication Date Title
Draganjac et al. Decentralized control of multi-AGV systems in autonomous warehousing applications
EP4002049A1 (en) Systems and methods for optimizing route plans in an operating environment
US11145206B2 (en) Roadmap segmentation for robotic device coordination
JP5402057B2 (ja) 移動ロボット制御システム、経路探索方法、経路探索プログラム
US20190176328A1 (en) Dynamically Adjusting Roadmaps for Robots Based on Sensed Environmental Data
JP7558231B2 (ja) 倉庫ロボットのナビゲーションルート予約
WO2020182470A1 (en) Route planning in an autonomous device
EP4121719B1 (en) Mapping with static scores for objects
US11468770B2 (en) Travel control apparatus, travel control method, and computer program
JP2021071891A (ja) 走行制御装置、走行制御方法、及びコンピュータプログラム
CN114115248B (zh) 一种仓储环境下多机器人协同运输方法及系统
CN116700298B (zh) 路径规划方法、系统、设备及存储介质
US20210123766A1 (en) Travel control apparatus, mobile body, and operation system
Pratissoli et al. Hierarchical and flexible traffic management of multi-agv systems applied to industrial environments
JP7300413B2 (ja) 制御装置、移動体、移動制御システム、制御方法及びプログラム
KR102183830B1 (ko) 무인 자율주행차량의 경로제어장치 및 경로제어방법
JP2023168996A (ja) 移動制御システム、移動制御方法、移動制御装置、移動装置、移動制御プログラム及び移動装置用プログラム
Kapanoglu et al. Pattern-based genetic algorithm approach to coverage path planning for mobile robots
US20240019872A1 (en) Movement control support device and method
Mugarza et al. Towards collision-free automated guided vehicles navigation and traffic control
Haiming et al. Algorithm of path planning based on time window for multiple mobile robots in warehousing system
WO2021171974A1 (ja) 制御装置、移動体、移動制御システム、制御方法及びプログラム
US20220019217A1 (en) Travel control apparatus, travel control method, and computer program
Li Task Assignment and Path Planning for Autonomous Mobile Robots in Stochastic Warehouse Systems
JP2023072447A (ja) 移動体制御装置