(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023055228
(43)【公開日】2023-04-18
(54)【発明の名称】無人搬送車両制御システムおよび無人搬送車両制御方法
(51)【国際特許分類】
G05D 1/02 20200101AFI20230411BHJP
【FI】
G05D1/02 L
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021164379
(22)【出願日】2021-10-06
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000925
【氏名又は名称】弁理士法人信友国際特許事務所
(72)【発明者】
【氏名】杉本 和也
(72)【発明者】
【氏名】伊藤 誠也
(72)【発明者】
【氏名】小野 達矢
(72)【発明者】
【氏名】永崎 佑里
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA02
5H301AA10
5H301BB05
5H301CC03
5H301CC06
5H301CC10
5H301DD07
5H301DD15
5H301GG08
5H301KK08
5H301KK18
5H301KK19
5H301LL02
5H301LL03
5H301LL06
(57)【要約】 (修正有)
【課題】走行環境の変化を含む走行不可状態の原因を根本的に解決することで、不必要な制御モデルの変更による走行性能の悪化を防止することが可能な無人搬送車両制御システムを提供する。
【解決手段】無人搬送車両と、走行環境の情報を検知するために設けられた外界センサと、外界センサで検知した情報に基づいて無人搬送車両の駆動を制御する車両制御装置とを備え、車両制御装置は、無人搬送車両が走行不可となる要因が、無人搬送車両の移動経路上における走行環境の変化に属する要因とそれ以外の要因とに分けられた状態において、無人搬送車両が走行不可となった場合に、予め付与された優先度にしたがって、走行環境の変化に属する要因から先に、各要因が走行不可の原因であるか否かを外界センサで検知した情報に基づいて順次に判断することで、複数の要因の中から走行不可の原因を特定する走行不可原因判定部を有する無人搬送車両制御システムである。
【選択図】
図4
【特許請求の範囲】
【請求項1】
無人搬送車両と、
前記無人搬送車両が走行する走行環境の情報を検知するために前記無人搬送車両に設けられた外界センサと、
前記外界センサで検知した情報に基づいて前記無人搬送車両の駆動を制御する車両制御装置とを備え、
前記車両制御装置は、
前記無人搬送車両が走行不可となる要因が、前記無人搬送車両の移動経路上における走行環境の変化に属する要因とそれ以外の要因とに分けられた状態において、前記無人搬送車両が走行不可となった場合に、予め付与された優先度にしたがって、前記走行環境の変化に属する要因から先に、前記各要因が前記走行不可の原因であるか否かを前記外界センサで検知した情報に基づいて順次に判断することで、前記複数の要因の中から前記走行不可の原因を特定する走行不可原因判定部を有する
無人搬送車両制御システム。
【請求項2】
前記車両制御装置は、
前記走行環境において前記無人搬送車両が走行可能な経路の経路情報を含む環境地図を管理する地図管理部と、
前記無人搬送車両の移動経路に関する移動経路情報を生成する移動経路情報生成部とを備え、
前記走行不可原因判定部は、前記環境地図と、前記移動経路情報と、前記外界センサで検知した情報と、前記無人搬送車両の駆動制御部からの出力とに基づいて、前記走行環境の変化に属する要因として、前記移動経路上の障害物の有無を判断する
請求項1に記載の無人搬送車両制御システム。
【請求項3】
前記無人搬送車両は、積荷の状態を検知するための内界センサを備え、
前記車両制御装置は、前記それ以外の要因の一つとして前記無人搬送車両における前記積荷の位置ずれが前記走行不可の原因であるか否かを、前記内界センサで検知した情報に基づいて判断する
請求項1または2に記載の無人搬送車両制御システム。
【請求項4】
前記車両制御装置は、
前記走行不可原因判定部において特定した走行不可の原因を解消するための次の動作を決定する走行戦略検討部を備えた
請求項1~3のうちの何れか1項に記載の無人搬送車両制御システム。
【請求項5】
前記車両制御装置は、
前記走行戦略検討部において決定した次の行動の実施回数を行動毎に積算して記録すると共に、前記次の行動によって変更される制御モデルのパラメータの初期値を保持する行動記録部と、
前記行動記録部に記録された前記行動の実施回数が、前記各行動に対して設定した上限回数に達したか否かを判断し、達した場合には上限回数に達した行動によって変更された前記パラメータの初期値を前記行動記録部から抽出する誤判定検出部とを有する
請求項4に記載の無人搬送車両制御システム。
【請求項6】
前記車両制御装置との通信が可能な管制サーバを備え、
前記管制サーバは、
前記車両制御装置を有する複数の前記無人搬送車両の位置情報を検出する位置検出部と、
前記位置検出部で検出した位置情報と、前記各車両制御装置からの情報に基づいて前記各車両制御装置の運行管理を実施する運行管理部とを有する
請求項1~5のうちの何れか1項に記載の無人搬送車両制御システム。
【請求項7】
前記管制サーバとの通信が可能な携帯用の端末装置を備え、
前記管制サーバの前記運行管理部は、前記無人搬送車両の前記車両制御装置からの指示に基づいて、前記走行不可原因を解消するための次の行動を前記端末装置に送信する
請求項6に記載の無人搬送車両制御システム。
【請求項8】
無人搬送車両が走行する走行環境の情報を検知するために前記無人搬送車両に設けられた外界センサと、前記外界センサで検知した情報に基づいて前記無人搬送車両の駆動を制御する車両制御装置とを備えた無人搬送車両の制御方法であって、
前記車両制御装置の走行不可原因判定部は、
前記無人搬送車両が走行不可となる要因が、前記無人搬送車両の移動経路上における走行環境の変化に属する要因とそれ以外の要因とに分けられた状態において、前記無人搬送車両が走行不可となった場合に、予め付与された優先度にしたがって、前記走行環境の変化に属する要因から先に、前記各要因が前記走行不可の原因であるか否かを前記外界センサで検知した情報に基づいて順次に判断することで、前記複数の要因の中から前記走行不可の原因を特定する
無人搬送車両制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無人搬送車両制御システムおよび無人搬送車両制御方法に関する。
【背景技術】
【0002】
無人車両の運行の制御に関する技術として、下記特許文献1に開示の技術がある。この特許文献1には、「参照経路を示す参照経路情報を参照して移動体が参照経路に沿って移動することにより報酬を算出するための項を含む演算式を用いて、移動体が移動することにより報酬を評価することにより学習させたモデルを示すモデル情報、移動体位置取得部が取得した移動体位置情報、及び目標位置取得部が取得した目標位置情報に基づいて、目標位置情報が示す目標位置に向かって移動体を移動させるための制御内容を示す制御信号を生成する制御生成部を備えた。」と記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、無人車両が走行する環境は、例えば倉庫・工場環境であり、狭く細い経路の連続である上に、他車両(有人操縦の搬送車両・他の無人搬送車両)や作業員も存在する。また、経路上に仮置きされた荷や、棚内の荷の有無、棚からの荷のはみ出し等も考えられ、走行環境や周囲の障害物の位置関係が短時間の間に変化する。
【0005】
このような環境においては、無人車両が、事前に期待された走行を実現できず、走行不可能に陥る場合がある。この場合、特許文献1の技術では、事前に設定した目標速度、および目標経路に対する追従誤差を低減するように、内界センサの情報を入力とし、車両制御モデルや制御信号のみを更新しようとする。しかしながら、走行不可状態の原因が走行環境側に存在する場合、車両制御モデルや制御信号の変更は、走行不可状態に対する本質的な解決にならないばかりか、不必要な変更による性能の悪化を引き起こす要因ともなる。
【0006】
そこで本発明は、走行環境の変化を含む走行不可状態の原因を解決することで、不必要な制御モデルの変更による走行性能の悪化を防止することが可能な無人搬送車両制御システムおよび無人搬送車両制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、無人搬送車両と、前記無人搬送車両が走行する走行環境の情報を検知するために前記無人搬送車両に設けられた外界センサと、前記外界センサで検知した情報に基づいて前記無人搬送車両の駆動を制御する車両制御装置とを備え、前記車両制御装置は、前記無人搬送車両が走行不可となる要因が、前記無人搬送車両の移動経路上における走行環境の変化に属する要因とそれ以外の要因とに分けられた状態において、前記無人搬送車両が走行不可となった場合に、予め付与された優先度にしたがって、前記走行環境の変化に属する要因から先に、前記各要因が前記走行不可の原因であるか否かを前記外界センサで検知した情報に基づいて順次に判断することで、前記複数の要因の中から前記走行不可の原因を特定する走行不可原因判定部を有する無人搬送車両制御システムである。
【発明の効果】
【0008】
本発明によれば、走行環境の変化を含む走行不可状態の原因を解決することで、不必要な制御モデルの変更による走行性能の悪化を防止することが可能な無人搬送車両制御システムおよび無人搬送車両制御方法を提供することができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態に係る無人搬送車両制御システムの全体構成を説明するための図である。
【
図2】本発明の実施形態に係る無人搬送車両の側面図である。
【
図3】本発明の実施形態に係る無人搬送車両の上面図である。
【
図4】本発明の実施形態に係る無人搬送車両制御システムのブロック図である。
【
図5】走行環境における走行ノードと目的地への経路を示した概念図である。
【
図6】走行環境の時間変化および搬送車両の走行結果を示した概念図である。
【
図7】全データ集約部が生成する全体集約データの一例を示す図である。
【
図8】無人搬送車両の走行不可状態時に発生し得る現象を説明するための図である。
【
図9】走行不可原因と次の行動とを関連付けしたアクションデータの一例を示す図である。
【
図10】本発明の実施形態に係る無人搬送車両制御方法を示すフローチャート(その1)である。
【
図11】本発明の実施形態に係る無人搬送車両制御方法を示すフローチャート(その2)である。
【
図12】複合要因の判断を説明するための図である。
【
図13】実施形態の変形例に係る無人搬送車両制御システムのブロック図である。
【
図14】実施形態の変形例において行動記録部が記録するデータの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明を適用した実施の形態を図面に基づいて詳細に説明する。なお、以下においては、無人搬送車両の一例として荷物を運搬するための台車型の車両を例示して実施の形態を説明するが、本発明に係る無人搬送車両は、これ以外の無人で物や人を搬送するための無人搬送車両への適用が可能である。
【0011】
≪無人搬送車両制御システム≫
図1は、本発明の実施形態に係る無人搬送車両制御システム1の全体構成を説明するための図である。この図に示すように、無人搬送車両制御システム1は、所定の走行環境20において、荷物[G]を運搬するための無人搬送車両10を走行させるためのシステムである。
【0012】
このような無人搬送車両制御システム1は、車両制御装置100を搭載した無人搬送車両10と、管制サーバ200と、端末装置300とを有する。以下、この無人搬送車両制御システム1を構成するこれらの構成要素を説明するのに先立ち、走行環境20の一例を説明し、次に無人搬送車両制御システム1の各構成要素の詳細を説明し、次いでこの無人搬送車両制御システム1によって実施される無人搬送車両制御方法を説明する。
【0013】
≪走行環境20≫
無人搬送車両制御システム1を運用する走行環境20は、例えば倉庫や工場の内部であり、無人搬送車両10が走行するための走行路21、および荷物[G]を載置する荷物エリア22を有する。荷物エリア22には、例えば複数の棚23が配置され、棚23の上部に荷物[G]が載置される。各棚23は、一例として下部に空間を設けており、次に説明する無人搬送車両10が、この空間に侵入することで、棚23ごと持ちあげて荷[G]を移動可能な構成となっている。このため、荷物エリア22には、棚23および荷[G]を移動させた領域も存在する。
【0014】
走行路21は、無人搬送車両10が走行する領域である。この走行路21上には、複数の無人搬送車両10が走行する場合、作業員[H]が存在する場合、荷物エリア22から荷物[G]がはみ出している場合、さらには荷物[G]が仮置きされる場合もある。したがって、各無人搬送車両10の走行環境20は、時々刻々と変化することになる。
【0015】
≪無人搬送車両10≫
無人搬送車両10は、荷物[G]を運搬するための台車型の車両であり、走行環境20内の走行路21上を所定経路に沿って走行するための車両制御装置100を搭載したものである。無人搬送車両制御システム1は、走行路21上において、複数の無人搬送車両10を走行させる場合もある。ここでは、無人搬送車両制御システム1によって複数の無人搬送車両10を制御する場合を想定し、1つの無人搬送車両10に対する他の無人搬送車両10を、特に他車10Bとする。
【0016】
図2は、本発明の実施形態に係る無人搬送車両10の側面図である。また
図3は、本発明の実施形態に係る無人搬送車両10の上面図である。これらの図に示すように、無人搬送車両10は、車両フレーム11を有し、車両フレーム11にはバンパー12が取り付けられている。
【0017】
また無人搬送車両10は、車両フレーム11上に、移載装置13(
図2のみに図示)と荷受部材14とを備えている。移載装置13は、車両フレーム11内部に設置された移載モータ13a(
図2のみに図示)によって上下および左右に自在に移動可能である。また荷受部材14は、上部に荷物[G]が載置されるものであり、移載装置13に支持された状態で、移載装置13に追従して上下および左右に移動する。このような無人搬送車両10は、先にも述べたように、棚23の下部に設けられた空間に侵入し、棚23(
図1参照)ごと持ちあげて荷[G]を移動する構成となっている。このため、以降においては、無人搬送車両10に積載された荷[G]は、棚23も含むこととする。また、荷[G]のうち、無人搬送車両10に積載されたものを、特に積荷[G1]と称する。
【0018】
さらに無人搬送車両10は、駆動輪15、従動輪16、遊動輪(キャスタホイール)17(
図3のみに図示)を備えている。また車両フレーム11の内部には、駆動輪15を駆動させるための、駆動機構15aが設けられている。この駆動機構15aは、走行モータ15a-1、操舵モータ15a-2、およびブレーキ15a-3である。なお、このような構成は、無人搬送車両10の車輪構成の一例であり、車輪構成は上記以外でもよく、例えば全ての車輪を駆動輪とすることで全方位への移動が可能な構成であってもよい。
【0019】
以上のような無人搬送車両10は、さらに外界センサ18s、内界センサ19s、および車両制御装置100を備えている。これらは次のような構成のものである。
【0020】
<外界センサ18s>
外界センサ18sは、無人搬送車両10の周囲環境を計測するためのものである。このような外界センサ18sとして、例えばLiDAR(Light Detection and Ranging)が設置されていることとする。LiDARは、レーザー光の照射角度を変化させながら照射範囲に存在する物体との距離を計測するセンサである。LiDARは、レーザー照射時の光軸角度の情報と、物体との距離の情報から、物体の位置を示す点群情報を取得することが可能であり、無人搬送車両10の周囲の所定の検知範囲[A1](
図1参照)内に存在する物体の位置を示す点群情報を取得する。
【0021】
また特に、このような外界センサ18sは、無人搬送車両10上の積荷[G1]の位置を示す点群情報を取得することが可能なように、荷受部材14よりも高い位置に設置されていることとする。なお図示した例においては、各無人搬送車両10に対して、1つの外界センサ18sを設けた構成を示したが、各無人搬送車両10に複数の外界センサ18sを設けた構成としてもよい。
【0022】
このような外界センサ18sによって得られた情報は、無人搬送車両10の現在の走行位置・姿勢を算出する自己位置推定、無人搬送車両10の走行を阻害する障害物を検知する障害物検知、および無人搬送車両10が積載する積荷[G1]の位置・姿勢ずれ変化量算出の3つの機能を実現する。
【0023】
<内界センサ19s>
内界センサ19sは、無人搬送車両10上の積荷[G1]の状態に関する値を計測するためのものである。このような内界センサ19sとして、例えば無人搬送車両10上の積荷[G1]の質量を計測する荷重センサ(圧力センサ)、さらには荷受部材14の傾斜角度を検出する傾斜センサが用いられる。
【0024】
ここでは、各無人搬送車両10に対して、1つの荷重センサを内界センサ19sとして設けた構成を説明するが、各無人搬送車両10に複数の荷重センサを設けた構成としてもよい。この場合、荷受部材14の前後方向に間隔をあけて複数の荷重センサを設けることで、またさらに傾斜センサを追加することで、無人搬送車両10上の積荷[G1]の鉛直方向の重心位置などをより高精度に求める構成とすることができる。
【0025】
<車両制御装置100>
車両制御装置100は、無人搬送車両10の自律制御を実現するための計算機によって構成されている。計算機は、無人搬送車両10を制御する演算を実施するためのCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサ、プログラムやデータを記憶するメモリを有する。なお、図示した例においては、各無人搬送車両10に対して、1つの車両制御装置100を搭載した構成を示したが、各無人搬送車両10に複数の車両制御装置100を搭載し、例えば処理ごとに使用する車両制御装置100を区別してもよい。
【0026】
以上のような車両制御装置100は、計算機に保存されたプログラムによって各機能を実行する複数の機能部を有する。
【0027】
図4は、本発明の実施形態に係る無人搬送車両制御システム1のブロック図である。
図4に示すように、各無人搬送車両10に搭載された車両制御装置100は、地図管理部101、移動経路情報生成部102、自己位置姿勢算出部103、最近傍ノード算出部104、障害物検知部105、および積載荷重/位置算出部106を有する。また車両制御装置100は、基本車両性能格納部107、車両制御モデル格納部108、制御指令生成部109、駆動制御部110を有する。さらに車両制御装置100は、情報収集部120、全データ集約部130、走行不可原因判定部140、走行戦略検討部150、制御指令モデル更新部160、車両制御モデル更新部170、および通信装置180を有する。以下、これらの各機能部の構成を、説明する。
【0028】
[地図管理部101]
地図管理部101は、各無人搬送車両10が備える外界センサ18sから取得した走行中の点群データを入力とし、走行環境20(
図1参照)の環境地図を管理する。環境地図は、例えばSLAM(Simultaneous Localization and Mapping)を用いて作成した、2次元点群地図である。このような環境地図は、無人搬送車両10を制御するための制御モデルのパラメータのうちの一つであり、環境地図上には、無人搬送車両10が走行可能な経路情報が付与されている。
【0029】
図5は、走行環境における走行ノードと目的地への経路を示した概念図であり、地図管理部101が管理している走行環境の環境地図上に付与された経路情報を説明するための図でもある。
図5に示すように、経路情報は、無人搬送車両10が棚23に対してアプローチするための経路を細分化した複数のリンクLと、各リンクLの両端の走行ノードNとによって構成されている。
【0030】
各ノードNは、基準座標系C1に対する座標値を備えており、これが無人搬送車両10の目標走行位置となる。加えて各リンクLは目標走行速度を設定でき、以降に説明する車両制御モデル更新部170(
図4参照)による車両制御モデルの更新に向けて、実現したい速度情報が付与される。また、各ノードNのうち、終端に配置される終端ノードNe1,Ne2は、経路の最終地点を示す。なお、
図5においては、1つの棚23に、2つの荷[G]が載置された状態を例示している。この場合、無人搬送車両10は、2つの荷[G]を積荷[G1]として搬送することになる。
【0031】
図4に戻り、地図管理部101は、以降に説明する走行戦略検討部150からの指示にしたがって、SLAMを用いた環境地図の再作成を実施する。環境地図の再作成のタイミングについては、以降の以降の無人搬送車両制御方法において詳細に説明する。
【0032】
[移動経路情報生成部102]
移動経路情報生成部102は、地図管理部101にて管理している環境地図上に付与された経路情報に基づいて、例えば以降に説明する管制サーバ200の運行管理部202から入力されたタスク指令を実現するための移動経路に関する移動経路情報を生成する。タスク指令は、走行環境20(
図5参照)にある複数の棚23のうちのどの棚23を積むかを示す情報である。また移動経路は、無人搬送車両10を制御するための制御モデルのパラメータのうちの一つである。なお、無人搬送車両10は、先にも述べたように、棚23の下部に設けられた空間に侵入し、棚23ごと持ちあげて荷[G]を移動する構成となっている。そして、タスク指令を実現するための移動経路情報とは、各棚23の配置位置に対応するノードNに到着するまでのノード群である。
【0033】
また移動経路情報生成部102は、以降に説明する走行戦略検討部150からの指示にしたがって、移動経路情報を再生成する。移動経路情報の再作成については、以降の以降の無人搬送車両制御方法において詳細に説明する。
【0034】
[自己位置姿勢算出部103]
図4および
図5を参照し、自己位置姿勢算出部103は、外界センサ18sが取得したLiDARの点群情報と、地図管理部101が管理する環境地図を用いて、基準座標系C1(XG,YG)における無人搬送車両10の自己位置P10および自己姿勢S10(XV,YV)を算出する。
【0035】
具体的には、地図管理部101が管理する環境地図上の点群情報と、外界センサ18sが取得した点群情報とを入力とした点群マッチング技術を用いて、各時刻における自己位置P10および自己姿勢S10を算出する。
【0036】
点群情報は、点集合を図形として見立てたときに、環境地図上の点群情報と、外界センサ18sが取得した点群情報との双方が相似であることを利用する。この場合、自己位置姿勢算出部103は、外界センサ18sが取得した点群情報で表される点群の集合を、平行移動や回転、および拡大・縮小させることで、環境地図上の点群の集合に対して合わせ込みを行う。ただし、誤差無く一致させることは困難なため、ある評価値を設け、この評価値が最小となる演算を解くことで、探索的に自己位置・姿勢を求める手法が多く取られる。このような手法を解く過程で、自己位置P10および自己姿勢S10に対し、不確かさ(分散値)が出力される。この分散値は、ある確率で無人搬送車両10が存在している範囲を示す。
【0037】
図6は、走行環境の時間変化および搬送車両の走行結果を示した概念図である。
図6に示すように、ある確率で無人搬送車両10が存在している範囲は、一般的には、走行環境20上に楕円形状で表現することができる。ここでは、この楕円を誤差楕円[Ar1]と呼称し、誤差楕円[Ar1]が大きいほど推定された自己位置・姿勢の誤差が大きく、自己位置・姿勢の値が信頼性に欠けることを示している。そこで、自己位姿勢算出部303は、自己位置P10および自己姿勢S10に関連付けて、ある確率で無人搬送車両10が存在している範囲を示す誤差楕円[Ar1]の値(長辺・短辺)も出力する。
【0038】
[最近傍ノード算出部104]
図4および
図5を参照し、最近傍ノード算出部104は、移動経路情報生成部102で生成した移動経路情報が備える走行ノードNのうち、自己位置P10に対する最近傍のノードNを取得する。具体的には、自己位置P10を入力とし、移動経路情報が備える各走行ノードNとの距離差分の最小値を算出することで、無人搬送車両10に対する最近傍ノードNを探索し、これを現在ノードN1とする。最近傍ノード算出部104は、得られた現在ノードN1に対し、無人搬送車両10の前方に存在する、リンクLで接続された走行ノードNを目標ノードN2と呼ぶ。また、現在ノードN1と目標ノードN2とを結ぶリンクNを目標リンクL1とする。
【0039】
[障害物検知部105]
障害物検知部105は、外界センサ18sが取得したLiDARの点群情報と、移動経路情報生成部102で生成した移動経路情報を用いて、無人搬送車両10の走行を阻害する障害物50を事前に検知する。
【0040】
図5に示すように、は、無人搬送車両10の前方に障害物50が存在する状況を想定する。この場合、障害物検知部105は、外界センサ18sが取得した点群情報のうち、障害物50に対応して計測されたある1点(
図5:Pa)に着目し、この点Paを中心とする半径Rの円内に他の計測点が存在するか判定する。存在する場合は同一の障害物をとらえている点群情報として、計測点Paおよび計測点Pbに同一の識別情報ID50を付与する。外界センサ18sが取得した全点群を対象とし、上述した処理を繰り返す。同一の識別情報ID50を付与された点が、例えば10点以上から構成される点群が存在する場合は、これら点群を障害物とする。この際、上記点群の平均位置を算出し、これを障害物50の中心位置P50と定義する。
【0041】
移動経路情報生成部102で生成した移動経路情報が有するリンクLに対し、障害物50の中心位置P50から降ろした垂線Lp50の距離が、無人搬送車両10の車体幅以内である場合は、無人搬送車両10の走行を阻害する障害物有りとして、後述する車両制御モデル格納部108に障害物50の中心位置P50の座標値を送信する。
【0042】
[積載荷重/位置算出部106]
図4および
図5を参照し、積載荷重/位置算出部106は、無人搬送車両10上の積荷[G1](棚23を含む2つの積荷[G1]の合計)の質量を、内界センサ19sから取得する。また同時に外界センサ18sで計測された値に基づいて、無人搬送車両10の荷受部材14上に載置された積荷[G1]の初期設置位置、および時間変化を算出する。
【0043】
先述した通り、無人搬送車両10は、外界センサ18sが360度の計測範囲を有しており、外界センサ18sにて積載中の積荷[G1]の側面を検出することができる。そのため、積載作業直後の計測位置と走行途中の計測位置の差分を、任意の周期で算出することで、走行に伴う加減速、旋回に伴う遠心力等の影響による積荷[G1]の位置・姿勢ずれ変化量を、算出することができる。算出結果は、後述する走行誤差収集部124に送信される。
【0044】
[基本車両性能格納部107]
基本車両性能格納部107は、後述する車両制御モデルの立式に必要な、無人搬送車両10の車両性能に関する基本情報を格納している。具体的には、車両幅や車両長、ホイールベースなど、車格に関わる寸法値をはじめとし、最大走行速度や、最大加速度(減速度)など走行に関わる上下限値、最大積載量などが挙げられる。
【0045】
[車両制御モデル格納部108]
車両制御モデル格納部108は、無人搬送車両10が走行動作を行うときの動作特性を数式(運動方程式)で示した車両制御モデルを管理する。車両制御モデルは、無人搬送車両10を制御するための制御モデルのパラメータのうちの一つである。車両の走行形態に応じた運動方程式の立式方法は公知であるため割愛する。車両制御モデル格納部108は、基本車両性能格納部107および積載荷重/位置算出部106の結果を用いて、数式内の係数値を決定する。ここで設定された車両制御モデルは、制御指令生成部109に送信される。
【0046】
[制御指令生成部109]
制御指令生成部109は、最近傍ノード算出部104で取得した目標ノードN2が有する目標走行位置と、目標リンクL1が有する目標速度とに基づいて、駆動制御部110に指令値を算出する。この場合、制御指令生成部109は、目標走行位置と目標速度とを実現するように、現在の位置ずれ量および姿勢ずれ量と、上記車両制御モデルおよびモータの動特性を伝達関数の形式で表現した制御指令モデルに従って、各指令値を算出する。制御指令モデルは、無人搬送車両10を制御するための制御モデルのパラメータのうちの一つである。
【0047】
ここで現在の位置ずれ量および姿勢ずれ量は、以降に説明する走行誤差収集部124において得た値である。このうち現在の位置ずれ量とは、
図5において、目標リンクL1に対し、自己位置P10から降ろした垂線Lp10の距離である。また、現在の姿勢ずれ量とは、目標リンクL1の方向に対する、自己姿勢S10との方位角差分を示す。
【0048】
また制御指令生成部109が算出する指令値は、走行モータ指令値、操舵角モータ指令値である。また制御指令生成部109は、以降に説明する管制サーバ200の位置検出部201にて他車・作業員との干渉有り、または障害物検知部105にて障害物有りと判定された場合に、ブレーキ指令を生成する。制御指令生成部109は、算出した各指令値および生成した指令を、次に説明する駆動制御部110に送信する。
【0049】
[駆動制御部110]
駆動制御部110は、制御指令生成部109から送信された、各指令値および指令に基づいて、駆動機構15a(
図1参照)における走行モータ15a-1、操舵モータ15a-2、およびブレーキ15a-3の各部の駆動を制御する。
【0050】
[情報収集部120]
情報収集部120は、以降に説明する走行不可原因判定部140での判断に用いる情報を収集する。この情報収集部120は、障害物検知結果収集部121、地図変化収集部122、位置誤差収集部123、走行誤差収集部124、駆動部出力収集部125を有する。これらは次のようである。
【0051】
-障害物検知結果収集部121-
障害物検知結果収集部121は、無人搬送車両10の移動経路上に存在する障害物の情報を収集する。ここでは、以降に説明する管制サーバ200の位置検出部201からの情報、および障害物検知部105から取得した情報に基づいて、無人搬送車両10の走行に干渉する障害物の検知位置・時間を収集する。
【0052】
管制サーバ200の位置検出部201からの情報は、障害物としての(1)他車干渉の情報であり、他車10Bおよび作業員[H]のうち、干渉が発生した他車10Bおよび作業員[H]を示す識別情報と、干渉の発生を検知した検知時間である。これらの他車10Bおよび作業員[H]は、識別情報を有する障害物である。
【0053】
また、障害物検知部105からの情報は、(2)障害物検知の情報であり、衝突を避けるために無人搬送車両10が減速・停止した障害物の検知位置・時間である。なお、ここでの障害物とは識別情報を持たない物体であり、干渉する障害物情報が存在しない場合は、「障害物無し」を示す情報が収集される。
【0054】
-地図変化収集部122-
地図変化収集部122は、自己位置姿勢算出部103にて説明した点群マッチング技術を用いて、地図作成時の環境地図と現在の環境地図との差分を、(3)地図変化として算出する。なお、前述した自己位置姿勢算出部103は、各点群ごと、もしくは数点の点群をまとめたエリアごとに、一致度を示す評価値を算出し、最終的な自己位置P10および自己姿勢S10を算出する。そのため、例えば
図5に示すような、各荷物エリア22における棚23の配置状態(有る無しを含む)の変化や、荷[G]の配置状態(有る無しを含む)の変化が、上記評価値の変動に現れる。
【0055】
そこで地図変化収集部122は、例えば各点群ごと、もしくは数点の点群をまとめたエリアごとの変化率を集計することで、地図作成時の環境地図と、現在の環境地図との差分を示す全体の変化率として出力する。
【0056】
-位置誤差収集部123-
位置誤差収集部123は、自己位置姿勢算出部103から(4)誤差楕円[Ar1]の(長辺、短辺)の値を収集する。(4)誤差楕円[Ar1]は、各時刻に算出された自己位置P10および自己姿勢S10の信頼性を示す。
【0057】
-走行誤差収集部124-
走行誤差収集部124は、自己位置姿勢算出部103で算出した自己位置P10および自己姿勢S10と、移動経路情報生成部102で生成した移動経路情報とに基づいて、(5)走行誤差を算出する。(5)走行誤差は、移動経路情報が有する目標リンクL1に対する、自己位置P10および自己姿勢S10のずれ量(位置ずれ量および姿勢ずれ量)である。位置ずれ量は、目標リンクL1に対し自己位置P10から降ろした垂線Lp10の距離である。また、姿勢ずれ量とは、目標リンクL1の方向に対する、自己姿勢S10との方位角差分を示す(
図5参照)。走行誤差収集部124は、収集した位置ずれ量および姿勢ずれ量を、制御指令生成部109に送信する。
【0058】
また走行誤差収集部124は、積載荷重/位置算出部106で算出した、各時刻の積荷[G1]の位置ずれ変化量を、(6)積荷位置ずれ量として収集する。
【0059】
-駆動部出力収集部125-
駆動部出力収集部125は、駆動制御部110から、各時刻に出力されたモータの応答値と、予め設計したモータの理想応答値との差分を、(7)モータ応答誤差として収集する。理想応答値とは、制御指令生成部109において、各指令値を算出するために用いた制御指令モデルを表現するための伝達係数である。
【0060】
[全データ集約部130]
全データ集約部130は、情報収集部120の各部で収集した上記の各データ(1)~(7)を集約した全体集約データを生成する。
【0061】
図7は、全データ集約部130が生成する全体集約データの一例を示す図である。ここで、情報収集部120の各部で収集されるデータは、サンプリング周期が様々である。そこで全データ集約部130は、情報収集部120の各部で収集されたデータを、同一のタイムスタンプで管理可能なデータ形式に変換する。この場合、全データ集約部130は、最もサンプリング周期が高いデータに合わせて、情報収集部120の各部で収集されたデータを同期させる。
【0062】
図7に示した例では、駆動部出力収集部125でのサンプリング周期が最も高いため、情報収集部120の各部で収集されたデータを、駆動部出力収集部125で収集した(7)モータ応答誤差に同期させた全体集約データを生成する。駆動部出力収集部125が、例えば20ms間隔でデータ収集する場合、
図7の各行は20ms間隔となる。他のデータは20ms以上のサンプリング周期であるため、駆動部出力のサンプリング時刻に最も近いデータで補間される。
【0063】
また、
図7の表の列方向の記載項目は、上述した通りであって、それぞれ以下を示している。
(1)他車干渉:無人搬送車両10の走行に干渉した、他車両・作業員を示すID情報であり、ここでは障害物検知結果収集部121にて収集した結果を、20ms周期に補間した結果を表す。
(2)障害物検知:障害物検知結果収集部121にて収集した、障害物検知時間・検知位置(2次元座標値)を示す値を、20ms周期に補間した結果を表す。
(3)地図変化:地図変化算出部322の出力である、地図作成時の環境地図と、現在の環境地図との差分を示すパラメータを、20ms周期で補間した結果を表す。
(4)誤差楕円:自己位置・姿勢の信頼性を示す誤差楕円(長辺、短辺)の値を、20ms周期に補間した結果を表す。
(5)走行誤差:移動経路情報が有する目標リンクL1に対する位置・姿勢ずれ量を示す。ここでは、走行誤差収集部124の結果を、20ms周期に補間した結果を示す。なお、簡単のため位置ずれ量のみを示し、姿勢ずれ量の図示は省略した。
(6)積荷位置ずれ量:走行誤差収集部124の出力である、各時刻に出力された積荷の位置ずれ変化量を、20ms周期で補間した結果を表す。
(7)モータ応答誤差:駆動部出力収集部125の出力である、各時刻に出力されたモータの応答値と、予め設計したモータの理想応答値との差分値を示す。ここでは簡単のため駆動制御部110における走行モータ駆動部の結果のみを示している。
【0064】
なお、各項目は事前に設定された目標値を有している。なお、(1)他車干渉および(2)障害物検知に関しては、検知無しが目標であるため、
図7では“-”として表現している。
【0065】
図4に戻り、全データ集約部130は、生成した全体集約データ(
図7)を走行不可原因判定部140に送信する。
【0066】
[走行不可原因判定部140]
走行不可原因判定部140は、全データ集約部130で生成した全体集約データ(
図7参照)に基づいて、収集した各データの値が目標値内であるか否かを判断し、その結果に応じて走行不可状態の発生と、その原因である走行不可原因を特定する。なお、走行不可状態の発生とは、無人搬送車両10が目標性能を満たす走行ができない状態であることとする。
【0067】
ここで、無人搬送車両10が走行不可能な状態に陥る要因(走行不可の要因)としては、複数の要因が上げられる。そこで、無人搬送車両10が走行不可となる要因を、無人搬送車両10の移動経路上における走行環境の変化に属する要因と、それ以外の要因とに分けておく。そして走行不可原因判定部140は、複数の要因に対して予め付与された優先度にしたがって、走行環境の変化に属する要因から先に、走行不可の原因であるか否かを判断することで、走行不可の原因を特定する。この判断は、外界センサ18sおよび内界センサ19sからのデータにもとづいて全データ集約部130で生成した全体集約データにおける各データが、目標値内であるか否かによって実施される。
【0068】
図8は、無人搬送車両10の走行不可状態時に発生し得る現象(走行不可の要因)を説明するための図である。
図8に示すように、無人搬送車両10が移動経路[R10]の走行において走行不可能な状態に陥る要因として、7つの要因(#11~#18)が考えられ、これらの7つの要因に対して、以下のように予め優先度を付与しておく。なお、優先度は複数の要因に対して重複して付与される場合もある。
【0069】
優先度1は他車干渉(#11)、優先度2は一瞬の障害物検知(#12)、優先度3は障害物検知(#13)である。以上は、移動経路上における走行環境の変化に属する要因である。ここで、移動経路上における走行環境の変化とは、現時点において地図管理部101に保持されている環境地図上の移動経路での走行環境の変化であって、環境地図そのものの地図変化は含まないこととする。優先度4は地図変化(#14)と自己位置誤差(#15)、優先度5は積荷位置ずれ(#16)、優先度6はモータ応答誤差(#17)、優先度7は車両制御モデル化誤差(#18)である。以上は、それ以外の要因である。
【0070】
なお、これらのうち、優先度1の他車干渉(#11)は、他車10Bとの干渉の他、作業員[H]との干渉も含む。なお、他車10Bおよび作業員[H]は、障害物でもある。また優先度2の一瞬の障害物検知(#12)は、例えば、倉庫や工場などの走行環境の出入り口付近から差し込んだ太陽光や侵入した埃などを一瞬の障害物50’とした、外界センサ18sによる障害物の誤検知である。これに対して優先度3の障害物検知(#13)は、外界センサ18sによる、同一位置おける所定時間(例えば100ms)以上の連続する障害物50の検知である。また、優先度7の車両制御モデル化誤差(#18)は、走行誤差によって判断される。
【0071】
なお、この走行不可原因判定部140による判定の手順は、以降の無人搬送車両制御方法において詳細に説明する。
【0072】
[走行戦略検討部150]
図4に戻り、走行戦略検討部150は、走行不可原因判定部140において特定された走行不可原因に基づき、この走行不可原因を解決するために、無人搬送車両10が行うべき次の動作を決定する。このような走行戦略検討部150は、走行不可原因と、次の動作とを関連付けしたアクションデータを保持する。
【0073】
図9は、走行不可原因と次の行動とを関連付けしたアクションデータの一例を示す図である。走行戦略検討部150は、
図9に示すアクションデータの中から、走行不可原因判定部140において特定された走行不可原因に関連付けされた次の行動を抽出する。走行戦略検討部150は、抽出した次の行動を、各機能部に送信する。
図9に示す走行不可原因に対応する次の行動は、以下のようである。
【0074】
他車干渉(#11)および一瞬の障害物検知(#12)に対応する次の行動(#21),(#22)は、変更事項なしとし、再度同経路を走行する動作の実施であって、移動経路情報生成部102に送信される。
【0075】
障害物検知(#13)に対応する次の行動(#23)は、回避経路を生成する動作の実施であって、移動経路情報生成部102に送信される。
【0076】
地図変化(#14)に対応する次の行動(#24)は、再度SLAMを用いた地図作成の実施であって、地図管理部101に送信される。
【0077】
自己位置誤差(#15)に対応する次の行動(#25)は、異なる経路の走行の実施であって、移動経路情報生成部102に送信される。
【0078】
積荷位置ずれ(#16)は、走行中に、積荷[G1]の位置が荷受部材14上で想定値以上に変化した事象が発生している。この場合、例えば、無人搬送車両10の重心位置が大きく変動し、車両走行に蛇行を生じさせ、この蛇行を解消すべく制御指令生成部109側で減速指令を生成し、目標の走行が実現できない、といった流れが想定される。根本原因としては、例えば、今回搬送した積載荷が編重心であり、(荷を格納している)棚全体の重心位置が中心から大きく外れている場合は、上述した現象が発生しやすい。このため、積荷位置ずれ(#16)の発生要因は、今回搬送した積載荷側に原因があると想定される。そこで、積荷位置ずれ(#16)に対応する次の行動(#26)は、概ね等しい荷重の荷[G](棚23を含む)を積載し、再度同経路の走行を実施して車体挙動を取得する。この行動(#26)の指示は、移動経路情報生成部102に送信される。
【0079】
モータ応答誤差(#17)に対応する次の行動(#27)は、制御指令モデルの更新であって、制御指令モデル更新部160に送信される。
【0080】
車両制御モデル化誤差(#18)に対応する次の行動(#28)は、車両制御モデルの更新であって、車両制御モデル更新部170に送信される。
【0081】
複合要因(#19)の場合は、無人搬送車両10だけでは原因特定が困難である。この場合、問題切り分けのため、次の行動(#29)は、障害物検知部105をOFFにした状態での走行の実施であり、障害物検知部105、移動経路情報生成部102、および管制サーバ200に送信される。
【0082】
なお、以上の各行動については、以降の無人搬送車両制御方法において詳細に説明する。
【0083】
[制御指令モデル更新部160]
図4に戻り、制御指令モデル更新部160は、走行戦略検討部150からモータの動特性の更新要求を受信した場合に、各モータが所望の応答を示すように、制御指令生成部109で生成した制御指令モデルを上書きして更新する。基本的に、制御指令モデルは、指令値に対する応答値の関係を示す伝達関数によって設計されている。このため制御指令モデル更新部160は、各モータが所望の応答を示す様に伝達関数を調整することで、制御指令モデルを更新する。例えば、指令値と応答値のデータセットを利用することで、最小二乗法や周波数応答に着目したシステム同定などによって、伝達関数を適切に算出・逐次更新する手法により、モータ応答誤差を解消していく仕組みをとることができる。
【0084】
[車両制御モデル更新部170]
車両制御モデル更新部170は、走行戦略検討部150から車両制御モデル更新要求を受信した場合に、車両制御モデル格納部108に格納された車両制御モデルを上書きして更新する。この場合、走行戦略検討部150は、車両制御モデル更新要求とともに、全データ集約部130で取得した走行誤差を、車両制御モデル更新部170に送信する。車両制御モデル更新部170は、受信した走行誤差を解消するように、車両制御モデルを更新する。
【0085】
車両制御モデル更新部170による車両制御モデルの更新は、例えば特許文献1(WO2020/136770)に示すように、強化学習の枠組みを用いて実施してもよい。具体的には、目標速度との差分および経路追従誤差を報酬として表し、上記報酬を最大化するように、車両制御モデルの各種係数値や制御入力信号を生成する仕組みが考えられる。
【0086】
[通信装置180]
通信装置180は、各無人搬送車両10の車両制御装置100と、管制サーバ200との間の通信を実施する。
【0087】
≪管制サーバ200≫
図1および
図4に示す管制サーバ200は、走行路21上に存在する全ての無人搬送車両10、および次に説明する端末装置300の位置検出と、検出した位置情報の管理を行い、各無人搬送車両10および端末装置300に各位置情報を送信する。このような管制サーバ200は、計算機によって構成され、機能構成部として位置検出部201および運行管理部202を有する(
図3参照)。
【0088】
<位置検出部201>
位置検出部201は、走行環境20内に存在する全ての無人搬送車両10および作業員[H]の位置情報を有する。無人搬送車両10の位置情報は、各無人搬送車両10の通信装置180から送信された情報である。また作業員[H]の位置情報は、各作業員[H]が携帯する端末装置300またはRFID(Radio Frequency IDentification:図示省略)から送信された情報である。位置検出部201は、これらの位置情報を、各無人搬送車両10および端末装置300が有する識別情報と、位置情報の検知とともに格納する。
【0089】
また位置検出部201は、この位置情報に基づいて、各無人搬送車両10が、他車10Bまたは作業員[H]と干渉するか否かを判断する。
【0090】
<運行管理部>
運行管理部202は、位置検出部201にて管理されている各無人搬送車両10および作業員[H]の位置情報に基づいて、各無人搬送車両10の移動経路情報生成部102にタスク指令を送信する。
【0091】
さらに運行管理部202は、後述するように、各無人搬送車両10から、作業員[H]が携帯する端末装置300への協力要求を送信する。協力要求については、以降の無人搬送車両制御方法において詳細に説明する。
【0092】
さらに運行管理部202は、無人搬送車両10に対して、他車10Bや作業員[H]が特定の距離以上近接した場合は、接近した他車10Bや作業員[H]が携帯する端末装置300のIDと共に停止指令を無人搬送車両10に送信する。
【0093】
また運行管理部202は、走行戦略検討部150より出力された、無人搬送車両10側からの要求を受け入れ可能か否かを判断する機能も有している。具体的には、走行戦略検討部150の出力の一例として、車両制御モデル改善に向け、ある特定の経路を特定の目標速度で走行する要求が存在する。運行管理部202では、他車10Bや作業員[H]の位置情報を管理しているため、無人搬送車両10からの要求にもとづき、該当する経路に他車10Bや作業員[H]が存在するか否か確認する。そして存在する場合は、他車10Bや作業員[H]が存在しなくなるまで、無人搬送車両10側へはタスク指令を送信せず、無人搬送車両10側を待機させる。
【0094】
≪端末装置300≫
端末装置300は、各作業員[H]が携帯する携帯端末装置であり、各端末が個別に有する識別情報の発信し情報を受信するための通信部と、表示部とを備える。このような端末装置300は、管制サーバ200に対して識別情報を発信し、管制サーバ200から個別に受信した情報を表示部に表示する。なお、端末装置300は、識別情報の発信装置と、情報を受信して表示する表示装置とが個別のものもであってもよい。この場合、発信装置としてはRFIDタグが用いられ、管制サーバ200は、RFIDからの電波を用いた無線通信により、走行路21上における作業員[H]の現在の位置を算出する。また作業員[H]は、携帯している端末の表示装置により、管制サーバ200からの要求を視覚情報として受け取ることができる。
【0095】
≪無人搬送車両制御方法≫
図10および
図11は、本発明の実施形態に係る無人搬送車両制御方法を示すフローチャート(その1)および(その2)であって、
図1~
図9を用いて説明した車両制御装置100によって実行される無人車両制御手順を示している。以下、
図10および
図11のフローチャートに沿って、先の
図4、
図7、および必要に応じた他の図を参照しつつ、無人搬送車両制御方法を説明する。
【0096】
[ステップS101]
ステップS101において、走行不可原因判定部140は、走行不可状態が発生しているか否かの判断を実施する。この際、走行不可原因判定部140は、全データ集約部130で集約した(5)走行誤差(
図7参照)の列において、所定時間(例えば500ms)以上連続して、目標値(0.10m以内)から外れる現象(行)が存在するか否かを確認する。存在する場合には、走行不可状態が発生している(YES)と判断し、ステップS102に進み、発生原因を特定するための処理に移行する。一方、存在しない場合には、目標通りの走行ができていて、走行不可状態が発生していない(NO)と判断して処理を終了させる。
【0097】
[ステップS102]
ステップS102において、走行不可原因判定部140は、他車干渉の有無の判断を実施する。この際、走行不可原因判定部140は、全データ集約部130で集約した(1)他車干渉(
図7参照)の列において、他車10Bまたは作業員[H]の干渉が発生しているか否かを確認する。発生している場合は、他車干渉有り(YES)と判断してステップS102aに進む。一方、発生していない場合には、他車干渉無し(NO)と判断してステップS103に進む。
【0098】
[ステップS102a]
ステップS102aにおいて、走行不可原因判定部140は、他車干渉有りの情報を走行戦略検討部150に送信する。情報を受信した走行戦略検討部150は、アクションデータ(
図9参照)の中から、走行不可原因となっている他車干渉(#11)を解決するための次の動作(#21)を抽出する。この場合、走行戦略検討部150は、次の行動として、再度同経路を走行する動作の実施を抽出し、抽出した動作を移動経路情報生成部102に送信し、処理を終了させる。
【0099】
なお、移動経路情報生成部102は、走行戦略検討部150から送信された指示にしたがって、次の動作(#21)として、再度同経路を走行するように移動経路情報を再生成する。これにより、無人搬送車両10は、干渉していた他車10Bまたは作業員[H]が移動した後の同経路を、他車干渉なく再走行する。
【0100】
また、次の動作(#21)は、無人搬送車両10に干渉している他車10Bまたは作業員[H]に対する退避要求または待機要求の送信であってもよい。この場合、他車10Bまたは作業員[H]に対する退避要求または待機要求は、管制サーバ―200を介して送信される。また、退避要求または待機要求を受信した他車10Bまたは作業員[H]は、自身の作業進捗に沿って退避要求または待機要求を受け入れ可能か否かを管制サーバ200側に返信する構成をとしてもよい。
【0101】
なお、
図7に示した全集約データの例では、ナンバー#2において既に他車10Bの干渉が発生しているため、この時点でステップS102aに進んで処理が終了となり、新たにナンバー#1からの処理が開始される。
【0102】
[ステップS103]
ステップS103において、走行不可原因判定部140は、一瞬の障害物検知の有無の判断を実施する。この際、走行不可原因判定部140は、全データ集約部130で集約した(2)障害物検知(
図7参照)の列において、障害物が検知されているが検知の結果が例えば100ms以上連続して発生していない場合に、一瞬の障害物検知有り(YES)と判断し、ステップS103aに進む。一方、それ以外の場合には、一瞬の障害物検知無し(NO)と判断し、ステップS104に進む。
【0103】
[ステップS103a]
ステップS103aにおいて、走行不可原因判定部140は、一瞬の障害物検知の有りの情報を走行戦略検討部150に送信する。情報を受信した走行戦略検討部150は、アクションデータ(
図9参照)の中から、走行不可原因となっている一瞬の障害物検知(#12)を解決するための次の動作(#22)を抽出する。この場合、走行戦略検討部150は、次の行動として、再度同経路を走行する動作の実施を抽出し、抽出した動作を移動経路情報生成部102に送信し、処理を終了させる。
【0104】
なお、移動経路情報生成部102は、走行戦略検討部150から送信された指示にしたがって、次の動作(#22)として、再度同経路を走行するように移動経路情報を再生成する。ここで、先にも述べたように、一瞬の障害物検知は、倉庫や工場などの走行環境の出入り口付近から差し込んだ太陽光や侵入した埃などの外界センサ18sによる障害物の誤検知である。したがって、無人搬送車両10は、同経路を再走行すればよい。
【0105】
[ステップS104]
ステップS104において、走行不可原因判定部140は、通常の障害物検知の有無の判断を実施する。この際、走行不可原因判定部140は、全データ集約部130で集約した(2)障害物検知(
図7参照)の列において、障害物が検知されていて、検知の結果が例えば100ms以上連続して発生している場合に、通常の障害物検知有り(YES)と判断し、ステップS104aに進む。一方、それ以外の場合には、通常の障害物検知無し(NO)と判断し、ステップS105に進む。
【0106】
[ステップS104a]
ステップS104aにおいて、走行不可原因判定部140は、障害物検知(#13)を走行不可原因として保持し、ステップS105に進む。
【0107】
[ステップS105]
ステップS105において、走行不可原因判定部140は、無人搬送車両10の自己位置誤差が有りか否かを判断する。この際、走行不可原因判定部140は、全データ集約部130で集約した(4)誤差楕円(
図7参照)の列において、所定時間(例えば500ms)以上連続して、目標値から外れる現象(行)が存在するか否かを確認する。存在している場合には、自己誤差有り(YES)と判断してステップS106に進む。一方、存在していない場合には自己誤差なし(NO)と判断してステップS107に進む。
【0108】
[ステップS106]
ステップS106において、走行不可原因判定部140は、ステップS105で(4)誤差楕円(
図7参照)が目標値から外れていて自己位置誤差があると判断した同時刻に、地図変化があるか否かを判断する。この際、走行不可原因判定部140は、ステップS105で(4)誤差楕円(
図7参照)が目標値から外れていと判断した同時刻の行の(3)地図変化の値が、目標値から外れる時間が所定時間(例えば500ms)以上連続して発生しているか否かを判断する。発生している場合には地図変化有り(YES)と判断してステップS106aに進む。一方、発生していない場合には地図変化なし(NO)と判断してステップS106bに進む。
【0109】
[ステップS106a]
ステップS106aにおいて、走行不可原因判定部140は、地図変化(#14)を走行不可原因として保持し、ステップS107に進む。
【0110】
[ステップS106b]
ステップS106bにおいて、走行不可原因判定部140は、自己位置誤差(#15)を走行不可原因として保持し、ステップS107に進む。
【0111】
[ステップS107]
ステップS107において、走行不可原因判定部140は、積荷の位置ずれ有無の判断を実施する。この際、走行不可原因判定部140は、全データ集約部130で集約した(6)積荷位置のずれ量(
図7参照)の列において、所定時間(例えば500ms)以上連続して、積荷位置のずれ量が目標値から外れる現象(行)が存在するか否かを確認する。存在する場合には、積荷の位置ずれ有り(YES)と判断してステップS107aに進む。一方、それ以外の場合には、積荷の位置ずれ無し(NO)と判断してステップS108に進む。
【0112】
[ステップS107a]
ステップS107aにおいて、走行不可原因判定部140は、積荷の位置ずれ(#16)を走行不可原因として保持し、ステップS110に進む。
【0113】
[ステップS108]
ステップS108において、走行不可原因判定部140は、モータ応答誤差の有無の判断を実施する。この際、走行不可原因判定部140は、全データ集約部130で集約した(7)モータ応答誤差(
図7参照)の列において、所定時間(例えば500ms)以上連続して、モータの応答誤差が目標値から外れる現象(行)が存在するか否かを確認する。存在する場合は、モータ応答誤差有り(YES)と判断してステップS108aに進む。一方、それ以外の場合には、モータ応答誤差無し(NO)と判断してステップS109に進む。
【0114】
[ステップS108a]
ステップS108aにおいて、走行不可原因判定部140は、モータ応答誤差(#17)を走行不可原因として保持し、ステップS110に進む。
【0115】
[ステップS109]
ステップS109において、走行不可原因判定部140は、走行不可原因を車両制御モデル化誤差(#18)として保持し、ステップS110に進む。
【0116】
[ステップS110]
ステップS110において、走行不可原因判定部140は、先のステップにおいて保持した走行不可原因が、障害物検知を含む複数の原因が重なった複合要因によるものであるか否かの判断を実施する。
図12は、複合要因の判断を説明するための図である。
図12に示すように、先のステップにおいて走行不可原因判定部140が保持する走行不可原因は、3つのグループから選択される少なくとも1つの要因である。3つのグループは、障害物検知(#13)、地図変化(#14)および自己位置誤差(#15)、積荷位置ずれ(#16)およびモータの応答誤差(#17)および車両制御モデル化誤差(#18)である。
【0117】
走行不可原因判定部140は、障害物検知(#13)を含む複数の走行不可原因を保持している場合には、複合要因(#19)である(YES)と判断してステップS111に進む。一方、それ以外の場合、すなわち走行不可の原因として、1つの原因のみを保存している場合、および障害物検知(#13)を含まない複数の原因を保持してえる場合には、複合要因ではない(NO)と判断してステップS112に進む。
【0118】
[ステップS111]
ステップS111において、走行不可原因判定部140は、走行不可原因が障害物検知を含む複合要因(#19)であることを、走行戦略検討部150に送信する。情報を受信した走行戦略検討部150は、アクションデータ(
図9参照)の中から、複合要因に対応する次の動作(#29)を抽出する。そして、走行戦略検討部150は、次の行動(#29)として、原因特定のために障害物検知をOFFにした状態での走行の実施を、障害物検知部105、移動経路情報生成部102、および管制サーバ200に送信し、処理を終了させる。
【0119】
ここで走行不可原因が「複合要因」の場合は、無人搬送車両10だけでは原因特定が困難である。この場合、問題切り分けのため、例えば障害物検知部105をOFFにした状態での走行が有効である。ただし、無人搬送車両10は周囲の障害物との干渉を防ぐための安全機能を失う。
【0120】
そこで、例えば、管制サーバ200は、無人搬送車両10から走行不可原因が複合要因である情報を受信した場合に、作業員[H]が携帯する端末装置300に対して、情報を送信した無人搬送車両10を追従する指示を送信する。これにより、指示を受信した端末装置300を携帯する作業員[H]は、無人搬送車両10が障害物に接近する走行が見られる場合は、管制サーバ200を介して、無人搬送車両10に対して緊急停止指令を稼働させて安全確保を図ることができる。
【0121】
[ステップS112]
ステップS112において、走行不可原因判定部140は、先のステップにおいて保持した走行不可原因を、走行戦略検討部150に送信する。情報を受信した走行戦略検討部150は、アクションデータ(
図9参照)の中から、受信した各走行不可原因に対応する次の各動作を、以下のように抽出する。
【0122】
障害物検知(#13)に対応する次の行動(#23)は、回避経路を生成する動作の実施であって、移動経路情報生成部102に送信される。これにより、移動経路情報生成部102は、障害物検知部105で検知した障害物の位置情報を入力とし、検知された障害物に干渉しない経路を回避経路として生成する。回避経路の生成手法に関しては、公知技術が様々存在し、例えばポテンシャル法を利用したものなどが挙げられる。ポテンシャル法は、検知した障害物の位置と、本来の目標であった移動経路に対し、ポテンシャル関数と呼ばれる関数を定義し、関数の勾配を算出することで前記移動経路を障害物に干渉しないように修正する手法である。
【0123】
ただし、無人搬送車両10が実施している走行は、あくまで無人搬送車両10の車両制御モデルの更新およびモータの動特性把握が目的であるため、事前に実現したい車両速度や走行旋回半径が満たせない場合は、たとえ回避経路が生成できたとしても、回避経路生成不可とする。回避経路不可の場合は、障害物の検知位置情報、具体的には
図5に示す障害物50の中心位置P50を管制サーバ200へ送信する。これにより、例えば、人手により対象となる障害物の撤去・移動などを促すことが可能となる。
【0124】
地図変化(#14)に対応する次の行動(#24)は、再度SLAMを用いた地図作成の実施であって、地図管理部101に送信される。これにより、地図管理部101は、再度SLAMを用いた地図作成を実施する。なお、地図変化(#14)が発生している場合には、自己位置誤差(#15)も同時に発生している。この自己位置誤差(#15)の要因は、例えば、
図6に示した棚23の除去、棚23上における荷[G]の移動や荷[G]の除去などの環境変化に起因する地図変化であると推定できる。
【0125】
自己位置誤差(#15)に対応する次の行動(#25)は、異なる経路の走行の実施であって、移動経路情報生成部102に送信される。これにより、移動経路情報生成部102は、異なる経路を次の目標移動経路として生成する。例えば
図5参照し、終端ノードNe1までの経路の走行において自己位置誤差(#15)による走行不可状態が発生したとする。この際、終端ノードNe1までの経路と、終端ノードNe2までの経路が同じ曲率であって、同じ目標速度での走行可能である場合、移動経路情報生成部102は、終端ノードNe2までの経路を次の目標移動経路として走行するように、異なる経路を生成する。
【0126】
その後、無人搬送車両10が、終端ノードNe2までの経路を期待通り走行できた場合は、例えば、自己位置推定の演算に影響を及ぼす、ガラスや鏡など、外界センサ18sから照射されるレーザーの反射を十分に集光できないような物体が終端ノードNe1までの経路内に存在した可能性が考えられる。この場合は、管制サーバ200に対して、端末装置300への確認協力要請を送信させる。
【0127】
積荷位置ずれ(#16)に対応する次の行動(#26)は、概ね等しい荷重の荷[G](棚23を含む)を積載し、再度同経路の走行を実施して車体挙動を取得する。この行動(#26)の指示は、移動経路情報生成部102に送信される。移動経路情報生成部102は、荷[G]の形状や重量の個体差が少ない環境を考慮した同経路情報を生成する。例えば
図5を参照し、積荷位置ずれ(#16)を検出した際に搬送した前回の棚23に対して近接する棚23’(および荷[G])を積載する様に、移動経路情報を生成する。
【0128】
この際、移動経路情報生成部102は、前回の棚23に近接する複数の棚23’にそれぞれアプローチし、無人搬送車両10が備える内界センサ19sによって、一度その場で各棚23’の重量を計測し、どの棚23’を搬送すべきか決定する方針を用いて、移動経路情報を生成してもよい。
【0129】
また移動経路情報生成部102は、前回の棚23との重量差分を、積載荷重/位置算出部106で算出し、例えばその差が10kg以内の棚23’を搬送する仕組みを構築して移動経路情報を生成してもよい。
【0130】
また本実施例には作業内容を明記していないが、荷(棚)自体は入庫作業時に搬送車両によって搬送・設置されたものである。そのため、入庫作業時に搬送車両によって重量を計測し、管制サーバ200に各棚の重量を管理する構成を備えても良い。
【0131】
モータ応答誤差(#17)に対応する次の行動(#27)は、制御指令モデルの更新であって、制御指令モデル更新部160に送信される。これにより、制御指令モデル更新部160は、先にも述べたようにして、各モータが所望の応答を示すように、制御指令生成部109で生成した制御指令モデルを上書きして更新する。
【0132】
車両制御モデル化誤差(#18)に対応する次の行動(#28)は、車両制御モデルの更新であって、車両制御モデル更新部170に送信される。これにより、車両制御モデル更新部170は、受信した走行誤差を解消するように、車両制御モデルを更新する。
【0133】
<実施形態の効果>
以上説明した実施形態によれば、無人搬送車両が走行不可となる要因として、移動経路上における走行環境の変化に属する要因を含め、この要因から先に走行不可原因であるか否かを判断して走行不可原因が特定される。これにより、走行不可原因が、走行環境の変化に属する要因に特定された場合には、無人搬送車両10を制御するための制御モデルを変更する必要がなく、走行不可原因として特定された要因を解消する行動を実施すればよい。
【0134】
この結果、無駄な制御モデルの変更による無人搬送車両10の走行性能の悪化を防止すること、および必要な制御モデルの変更のみを実施することによる学習走行回数の削減が可能である。
【0135】
≪実施形態の変形例≫
図13は、実施形態の変形例に係る無人搬送車両制御システム2の全体構成を説明するための図である。この図に示す無人搬送車両制御システム2が、
図4に示した無人搬送車両制御システム1と異なるところは、各無人搬送車両10の車両制御装置100’が、さらに追加で行動記録部150aと、誤判定検出部150bとを備えたとろにあり、他の構成は同様である。このため以下においては、追加されてこれらの機能部を説明する。
【0136】
<車両制御装置100’>
[行動記録部150a]
行動記録部150aは、走行不可原因判定部140での判定結果と、走行戦略検討部150において抽出して実施された行動(アクション)を記録し管理する。
図14は、実施形態の変形例において行動記録部150aが記録するデータの一例を示す図であり、横軸が実施された動作番号であり、縦軸が実施回数である。なお、動作番号は、
図9に示した動作番号に対応しており、動作番号から走行不可原因の特定が可能である。また、
図14に示す動作(23’)は、
図9に示した動作(#23)を実施できない場合の管制サーバ200への送信である。
【0137】
また行動記録部150aは、各行動を、無人搬送車両10を制御するための制御モデルのパラメータの変更を伴うか否かに分類して記憶する。例えば、
図14に示すグループAは、パラメータ変更がない動作であり、グループBは、パラメータ変更がある動作である。このパラメータは、環境地図・走行経路・制御指令モデル・車両制御モデルである。
【0138】
行動記録部150aは、走行戦略検討部150での決定にしたがって実施した次の行動を、行動毎に積算して記録する。また行動記録部150aは、上述したパラメータの初期値を保持する。
【0139】
[誤判定検出部150b]
誤判定検出部150bは、走行不可原因が誤って判定された状況を検出する。この誤判定検出部150bは、行動記録部150aにて記録・管理しているデータに基づいて、同じ動作番号の動作の実施回数が、予め設定された上限回数に達したか否かを判断する。この上限回数は、誤判定を検出するために設定される回数であり、動作毎に異なる値が設定されていてもよい。また、
図9に示した動作(#21、#22)の「再度同経路を走行(何も変更しない)」も対象であり、例えば再度同経路を走行する場合は、上限回数を3回までと設定してもよい。
【0140】
また誤判定検出部150bは、同じ動作番号の動作の実施回数が上限回数に達したと判断した場合に、その動作が無人搬送車両10の制御モデルのパラメータを変更する動作であるか否かを判断する。例えば、
図14に示すグループAはパラメータの変更なしの動作であり、グループBはパラメータの変更ありの動作である。
【0141】
誤判定検出部150bは、上限回数に達した動作がグループAのパラメータの変更なし動作であると判断した場合には、上限回数まで実行された行動と、その行動に関連付けされた走行不可原因とを、通信装置180を介して管制サーバ200に送信する。無人搬送車両10から、上限回数まで実行された行動と、その行動に関連付けされた走行不可原因とを受信した管制サーバ200は、端末装置300にこの情報を転送する。
【0142】
ここで、グループAのパラメータの変更なしの動作に関連付けされた走行不可原因は、
図9を参照すると、他車干渉(#11)、一瞬の障害物検知(#12)、自己位置誤差(#15)、および積荷位置ずれ(#16)の何れかである。これらの走行不可原因は、無人搬送車両10自身で解決可能な問題ではない。そこで、端末装置300に情報を転送することにより、作業員[H]による状況調査が可能となる。なお、グループAの動作はパラメータの変更なしの動作であるため、誤判定が連続して動作を繰り返した場合であっても、無人搬送車両10の車体挙動は変化せず、学習のための走行時間(回数)のみが浪費される。
【0143】
一方、誤判定検出部150bは、上限回数に達した動作がグループBの動作であると判断した場合には、上限回数まで実行された行動と、その行動に関連付けされた走行不可原因とを、通信装置180を介して管制サーバ200に送信する。さらに誤判定検出部150bは、行動記録部150aが保持している情報に基づいて、制御モデルのパラメータ(環境地図・走行経路・制御指令モデル・車両制御モデル)をリセットして初期値に戻すように、各機能部に指示を送信する。
【0144】
これにより、グループBの何れかの動作が上限回数に達した場合には、走行不可原因は、無人搬送車両10自身で解決可能ではないと考えられるため、端末装置300に情報を転送することにより、作業員[H]による状況調査が可能なる。またこの場合、走行不可原因の判定自体が誤判定である場合も考えられるため、上限回数に達した動作によって変更された制御モデルのパラメータを初期値に戻すことで、実施した動作を取り消してロールバック可能な構成とする。
【0145】
<変形例の効果>
以上説明した実施形態の変形例によれば、走行不可原因判定部140により誤った判定が繰り返されることで、無人搬送車両10が目標性能を実現できない場合や、本来不要な制御モデルの変更を行うことによる性能悪化を回避することができる。また、誤った判定によって制御モデルのパラメータが変更された場合、パラメータの初期値を保持したことにより、パラメータを初期値に戻すことが可能である。
【0146】
なお、本発明は上記した実施形態および変形例に限定されるものではなく、さらに様々な変形例が含まれる。例えば、上記した実施形態は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【0147】
1,2…無人搬送車両制御システム
10…無人搬送車両
18s…外界センサ
19s…内界センサ
20…走行環境
50…障害物
100,100’…車両制御装置
101…地図管理部
102…移動経路情報生成部
110…駆動制御部
10B…他車(障害物)
150…走行戦略検討部
150a…行動記録部
150b…誤判定検出部
200…管制サーバ
201…位置検出部
202…運行管理部
300…端末装置
[H]…作業員(障害物)
[G1]…積荷