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

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

▶ 株式会社日立製作所の特許一覧

特開2023-17275荷役車両システムおよび車載コントローラ
<>
  • 特開-荷役車両システムおよび車載コントローラ 図1
  • 特開-荷役車両システムおよび車載コントローラ 図2
  • 特開-荷役車両システムおよび車載コントローラ 図3
  • 特開-荷役車両システムおよび車載コントローラ 図4
  • 特開-荷役車両システムおよび車載コントローラ 図5
  • 特開-荷役車両システムおよび車載コントローラ 図6
  • 特開-荷役車両システムおよび車載コントローラ 図7
  • 特開-荷役車両システムおよび車載コントローラ 図8
  • 特開-荷役車両システムおよび車載コントローラ 図9
  • 特開-荷役車両システムおよび車載コントローラ 図10
  • 特開-荷役車両システムおよび車載コントローラ 図11
  • 特開-荷役車両システムおよび車載コントローラ 図12
  • 特開-荷役車両システムおよび車載コントローラ 図13
  • 特開-荷役車両システムおよび車載コントローラ 図14
  • 特開-荷役車両システムおよび車載コントローラ 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023017275
(43)【公開日】2023-02-07
(54)【発明の名称】荷役車両システムおよび車載コントローラ
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230131BHJP
【FI】
G05D1/02 S
G05D1/02 H
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021121407
(22)【出願日】2021-07-26
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】永崎 佑里
(72)【発明者】
【氏名】伊藤 誠也
(72)【発明者】
【氏名】小野 達矢
(72)【発明者】
【氏名】木庭 亜弥美
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301BB05
5H301CC03
5H301CC06
5H301GG08
5H301LL01
5H301LL06
5H301LL15
(57)【要約】
【課題】
本発明では、荷の重量と重心位置を考慮した安全かつ運搬効率の高い走行経路を生成することを課題とする。
【解決手段】
荷の搬送先を送信する運行管理部と、荷形状を演算する荷形状演算部と、荷重心位置を演算する荷重心演算部と、荷重量を演算する荷重量演算部と、倉庫内の二次元地図を送信する環境地図格納部とを備え、走行経路候補と荷重心位置と荷台移動量候補に基づき、車両が走行安定性を維持しながら走行可能な速度上限値を算出する走行速度上限演算部と、走行経路候補と荷形状と二次元地図と荷台移動量候補に基づき、走行時の荷役車両と固定障害物の干渉判定を実施する障害物回避判定部と、走行速度上限演算部の演算結果と障害物回避判定部の判定結果に基づき、荷役車両が固定障害物を回避可能かつ搬送先への到達時間が短い走行経路と荷台移動量を決定する走行指令決定部と、を備える。
【選択図】 図3
【特許請求の範囲】
【請求項1】
荷役車両の荷役のための動作を支援するための荷役車両システムにおいて、
前記荷役の対象である荷を積載した前記荷役車両である積載時無人搬送車の力学的な特性を示す物理特性に基づいて、前記荷役車両の前記荷役のための動作計画の候補である複数の動作計画候補を生成する動作計画候補生成部と、
前記荷役車両の速度上限値を演算する走行速度上限演算部と、
前記荷役車両の動作における障害物との回避可能性を判定する障害物回避判定部と、
前記速度上限値および前記判定の結果に応じて、前記複数の動作計画候補から動作計画を決定する動作計画決定部を有する荷役車両システム。
【請求項2】
請求項1に記載の荷役車両システムにおいて、
前記物理特性は、前記積載時無人搬送車の形状、重心および重量を示す情報であり、
前記走行速度上限演算部は、前記重心および前記重量に基づいて、前記速度上限値を演算し、
前記走行速度上限演算部は、前記形状を用いて、前記障害物との回避可能性を判定する荷役車両システム。
【請求項3】
請求項2に記載の荷役車両システムにおいて、
前記動作計画候補生成部は、前記動作計画候補として、前記荷役車両の走行経路候補および荷台移動量候補の少なくとも一方を生成する荷役車両システム。
【請求項4】
請求項2に記載の荷役車両システムにおいて、
前記動作計画候補生成部は、その場旋回を含む前記荷役車両の走行経路候補を生成する荷役車両システム。
【請求項5】
荷役車両に設けられ、当該荷役車両の荷役のための動作を制御する車載コントローラにおいて、
前記荷役の対象である荷を積載した前記荷役車両である積載時無人搬送車の力学的な特性を示す物理特性に基づいて作成される、前記荷役車両の前記荷役のための動作計画の候補である複数の動作計画候補を受け付ける通信部と、
前記荷役車両の速度上限値を演算する走行速度上限演算部と、
前記荷役車両の動作における障害物の回避を判定する障害物回避判定部と、
前記速度上限値および前記判定の結果に応じて、前記複数の動作計画候補から動作計画を決定する動作計画決定部を有する車載コントローラ。
【請求項6】
請求項5に記載の車載コントローラにおいて、
前記物理特性は、前記積載時無人搬送車の形状、重心および重量を示す情報であり、
前記走行速度上限演算部は、前記重心および前記重量に基づいて、前記速度上限値を演算し、
前記走行速度上限演算部は、前記形状を用いて、前記障害物との回避可能性を判定する車載コントローラ。
【請求項7】
請求項6に記載の車載コントローラにおいて、
前記通信部は、前記動作計画候補として、前記荷役車両の走行経路候補および荷台移動量候補の少なくとも一方を受け付ける車載コントローラ。
【請求項8】
請求項6に記載の車載コントローラにおいて、
前記通信部は、その場旋回を含む前記荷役車両の走行経路候補を受け付ける車載コントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、いわゆる荷役を行う荷役車両の動作を制御するための技術に関する。
【背景技術】
【0002】
現在、荷役を行う荷役車両が利用されている。その一例として、物流倉庫内での荷の運搬作業では、無人搬送車やフォークリフトをはじめとした荷役車両が利用されている。一方、近年、少子高齢化による労働力不足やE-コマース市場拡大による物流件数の増加に伴い、物流倉庫内の省人化や作業効率の向上が課題となっている。この課題を解決するために、無人で動作可能な無人産業車両の導入が進められている。
【0003】
荷役車両は安全性の観点から、車両転倒や周辺障害物との接触等が起こらないよう走行することが求められている。また、運搬効率の観点から、与えられた荷の搬送先に到達するまでの走行時間を短縮する必要がある。荷役車両は搬送する荷の形状・重量・重心位置をはじめとした搬送荷の状態に応じて走行可能な経路や速度上限値が変化するため、搬送荷の状態に応じた柔軟な走行制御手法が求められる。
【0004】
例えば、特許文献1では、荷の形状に基づき走行経路を変化させることで障害物回避を行う技術について開示されている。より具体的には、搬送車両と搬送荷が一体となった積載時荷役車両の形状を取得し、積載時荷役車両が障害物回避可能な範囲で運搬効率が向上するような走行経路の生成を行っている。特許文献1の構成を実現することで、荷と周辺障害物と干渉せずに運搬効率の高い走行経路を走行することができ、荷役車両の走行時の安全性および生産性が向上する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2020-77295号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1では、荷の重心位置や重量による車両速度上限を考慮した経路生成がなされていない。これにより、決定した経路を走行する際に必要以上な減速を要し、搬送効率の低下が生じる可能性がある。そこで、本発明の目的は、荷の重量と重心位置を考慮した安全かつ運搬効率の高い走行経路を生成することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、本発明では、荷役車両と荷(荷を積載した前記荷役車両である積載時無人搬送車)の力学的な特性を示す物理特性を用いて、荷役車両の動作計画を作成する。
【0008】
より詳細には、荷役車両の荷役のための動作を支援するための荷役車両システムにおいて、前記荷役の対象である荷を積載した前記荷役車両である積載時無人搬送車の力学的な特性を示す物理特性に基づいて、前記荷役車両の前記荷役のための動作計画の候補である複数の動作計画候補を生成する動作計画候補生成部と、前記荷役車両の速度上限値を演算する走行速度上限演算部と、前記荷役車両の動作における障害物との回避可能性を判定する障害物回避判定部と、前記速度上限値および前記判定の結果に応じて、前記複数の動作計画候補から動作計画を決定する動作計画決定部を有する荷役車両システムである。
【0009】
また、本発明には、荷役車両システムを構成する車載コントローラや交通管理部、もしくはこれらを用いた方法も含まれる。
【発明の効果】
【0010】
本発明によれば、より適切な動作計画を作成でき、荷役車両をより安全に運搬効率を高く運用することが可能になる。
【図面の簡単な説明】
【0011】
図1】実施例1にかかる無人搬送車の側面図である。
図2】実施例1にかかる無人搬送車の上面図である。
図3】実施例1にかかる荷役車両システムの機能構成例を示すブロック図である。
図4】実施例1にかかる走行経路及び障害物を示す図である。
図5】実施例1にかかる無人搬送車の座標系および大きさを説明する図である。
図6】実施例1にかかる走行指令決定部の機能構成例を示す機能ブロック図である。
図7】実施例1にかかる荷役車両システムの処理フローを示すフローチャートである。
図8】実施例1にかかるステップS721の処理フローを示すフローチャートである。
図9】実施例1にかかるステップS722の処理フローを示すフローチャートである。
図10】実施例1での荷の走行エリアを説明するための図である。
図11】実施例1で用いられる走行経路・荷台移動量情報の一例を示す図である。
図12】実施例2にかかる走行指令決定部の機能構成例を示す機能ブロック図である。
図13】実施例2にかかる走行経路を示す図である。
図14】実施例3にかかる荷役車両システムの機能構成例を示すブロック図である。
図15】実施例3にかかる荷役車両システムの処理フローを示すフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について、説明する。本実施形態では、荷を搬送可能な荷役車両における荷役についての動作計画を作成する。この際、荷が搭載された荷役車両の物理特性に基づいて、障害物等との干渉性および走行安定性を判定し、この判定結果に基づいて、動作計画を決定する。なお、動作には、走行、荷台等への荷の積載が含まれる。
【0013】
次に、実施形態をより具体的に示す実施例1~3について、説明する。各実施例では、荷役車両として、無人搬送車を例に説明する。
【実施例0014】
まず、実施例1を、図1図11を参照して説明する。本実施例では、荷役車両の一例である無人搬送車を例とする。そして、本実施例では、動作計画として、荷の形状、荷の重量、荷の重心位置に基づき、搬送荷を荷積みした際の車両位置から荷の搬送先までの走行経路および荷台移動量を決定する。以下、その詳細を説明する。
【0015】
<無人搬送車100>
まず、本実施例で用いられる無人運転が可能な無人搬送車100について、説明する。図1は、本実施例にかかる無人搬送車100の側面図である。また、図2は、本実施例にかかる無人搬送車100の上面図である。図1および図2に示すように、無人搬送車100は、バンパ115を備えた車両フレーム101と、車両フレーム101に、積載荷を上下および左右自在に移動可能な移載装置102と、積載荷を支持する荷役部材103が具備されている。また、無人搬送車100の内部には、移載用アクチュエータ104を備えており、前記移載装置102は移載用アクチュエータ104により駆動される。
【0016】
次に、無人搬送車100の駆動関係の構成について説明する。無人搬送車100には、自身を支持する駆動輪105、従動輪106、キャスタホイール107が配設されている。そして、無人搬送車100の内部には、走行モータ108が設けられており、駆動輪105は走行モータ108により駆動される。また、無人搬送車100の内部には、操舵モータ109が設けられており、駆動輪105は操舵モータ109により駆動される。駆動関係の構成は、この構成に限定されない。特に、無人搬送車100として、いわゆる搬送ロボットを用いる場合、駆動輪105を4輪駆動とすることが望ましい。
【0017】
またさらに、無人搬送車100は、積載する荷の荷重および左右方向の重心位置を取得する荷重センサ110(例えば、圧力センサ)を、荷役部材103に前後方向に複数備える。また、無人搬送車100は、荷役部材103の傾斜を取得する傾斜センサ111を、荷役部材103に備える。
【0018】
また、無人搬送車100は、荷形状検知用LiDAR112を。例えば車両フレーム101に左右1台ずつ設置する。LiDAR(Light Detection and Ranging)は、レーザー光の照射角度を変化させながら照射範囲に存在する物体との距離を計測するセンサをさす。レーザー照射時の光軸角度の情報と、物体との距離の情報から、物体の形状を示す特徴点の点群情報を取得することが可能である。なお、物体を認識できればLiDAR以外のセンサを用いてもよい。
【0019】
また、車両フレーム101の上面には自己位置推定用LiDAR113を備える。自己位置推定用LiDAR113は、走行時の周辺障害物との距離を計測する。自己位置推定用LiDAR113も他のセンサを用いてもよい。
【0020】
また、車両フレーム101の上面には車載コントローラ114が搭載されている。車載コントローラ114では、上述のセンサより取得した値に基づき、車両の自己位置推定、および自己位置を踏まえた無人搬送車100の運動制御を実現するための動作指令値を演算する。
【0021】
<荷役車両システム300>
次に、走行経路を決定する荷役車両システム300について説明する。図3は、本実施例にかかる荷役車両システム300の機能構成例を示すブロック図である。図3において、矢印付きの実線はデータの流れを表している。
【0022】
本実施例にかかる荷役車両システム300は、交通管制部201および車載コントローラ114から構成される。そして、無人搬送車100に搭載された車載コントローラ114上に、本実施例の主たる処理を実行する走行指令演算部310が実装される。以降では、交通管制部201および車載コントローラ114が有する機能について記載する。なお、以降では各機能の概要のみ記載し、各機能の具体的な処理フローに関しては後述する。以下、荷役車両システム300を構成する各装置、各部について説明する。
【0023】
<交通管制部201>
交通管制部201は、無人搬送車100に対する運行管理を行う。本発明において、交通管制部201は、環境地図格納部202、運行管理部203、走行経路候補生成部204、通信装置205から構成される。以下、交通管制部201の各部について説明する。
【0024】
<環境地図格納部202>
環境地図格納部202は、無人搬送車100の走行領域(動作環境)である倉庫内の障害物の位置情報が付与された二次元地図を格納している。ここで、図4は、環境地図格納部202に格納された二次元地図をベースとした走行経路及び障害物を示す図である。
【0025】
二次元地図は、環境地図位置基準座標系400を位置基準座標とし、X軸およびY軸に表される二つの直行する軸を基準軸としている。環境地図格納部202は、図4に示す基準座標系である環境地図位置基準座標系400における、棚421や壁422の位置や形状情報を格納している。二次元地図の作成方法は、例えば、無人搬送車100を有人走行させながら自己位置推定用LiDAR113を用いて周辺障害物の点群データを取得し、SLAM(Simultameous Localization and Mapping)方式により作成する方法がある。
【0026】
<運行管理部203>
次に、運行管理部203は、無人搬送車100が積載する荷の搬送先を決定する。搬送先の決定のためには、例えば、利用者からの入力を用いたり、荷の搬送予定を用いたりする。
【0027】
<走行経路候補生成部204>
走行経路候補生成部204は、無人搬送車100が運行管理部203で指定された荷の搬送先に到達可能、かつ二次元地図上に格納された固定障害物を回避可能な走行経路候補401を複数生成する。ここで、図4を用いて、作成される複数の走行経路候補401の詳細を説明する。走行経路候補401の各経路は、荷役車両の通過点となるノード403と、近接するノードをつなぐエッジ404で構成される。各ノードには、環境地図位置基準座標系400に対する二次元位置座標、走行速度上限、進行方向を備えている。例えば、ノードの間隔の目安は2.0(m)~5.0(m)程度である。
【0028】
また、走行経路候補401の設定例としては、以下の3つの例が挙げられる。
(1)無人搬送車100が空荷走行の際に通過する最短経路405、
(2)無人搬送車100が空荷走行時に高速度上限を維持しながら走行可能な走行経路406、
(3)無人搬送車100が空荷走行時に固定障害物との距離が最も遠くなるような経路407。
【0029】
または、無人搬送車100が空荷の際に固定障害物と干渉せずに走行可能なエリアを算出し、その後そのエリアを等分した曲線を走行経路候補401として設定することも可能である。なお、この走行経路候補401の生成において必要な情報として、走行経路候補生成部204は、無人搬送車100の形状を特徴づける、車体幅方向と車体長さ方向における車両フレーム101及び荷役部材103の二次元形状情報を所有している。
【0030】
無人搬送車100は、前方注視モデルを用いて走行経路を追従することで、走行を実現する。前方注視モデルを用いた経路追従時には経路に対する自車の位置誤差および姿勢誤差が生じることが想定される。そこで、走行経路候補生成部204では、これら誤差を踏まえて走行経路候補401を生成する。経路追従誤差の目安は、位置誤差0.10(m)、姿勢誤差0.05(rad)程度である。
【0031】
以上のように、走行経路候補生成部204は、無人搬送車100の動作計画の一種である走行経路候補401と、荷台移動量候補格納部308を生成する動作計画候補生成部の一種である。なお、動作計画候補生成部は、動作計画候補して、走行経路候補401および荷台移動量候補の少なくとも一方を生成すればよい。このため、本実施例では、図示しない荷台移動量候補生成部を有することが望ましい。また、走行経路候補生成部204や動作計画候補生成部は、車載コントローラ114に設けてもよい。
【0032】
<通信装置205>
通信装置205は、交通管制部201に格納された情報を、車載コントローラ114に送信する。以上が、交通管制部201の内部構成である。
【0033】
なお、交通管制部201については、ネットワークを介して車載コントローラ114と接続するコンピュータで実現することも可能である。この場合、交通管制部201は、いわゆるサーバで交通管理装置として実現できる。
【0034】
<車載コントローラ114>
続いて、車載コントローラ114の内部構成について説明する。以降では、車載コントローラ114内部に実装される各機能について説明する。車載コントローラ114は、いわゆるECU(Electronic Control Unit)で実現できる。以下、車載コントローラ114の各部について、説明する。
【0035】
<自己位置推定部309>
自己位置推定部309は、図4に示した環境地図位置基準座標系400に対する、無人搬送車100の自己位置412および自己姿勢413を推定する。図5は、本実施例にかかる無人搬送車100の座標系および大きさを説明する図である。図5では、自己位置412よび自己姿勢413の推定で使用する、荷役車両基準座標系411を示す。無人搬送車100の位置基準点は、車両の中心位置とする(図中黒丸の位置)。
【0036】
そして、無人搬送車100の位置基準点から荷役部材103の先端方向に延びる軸をYv軸とする。また、無人搬送車100の位置基準点から、Yv軸正方向に対して右側にある従動輪106のタイヤ中心方向に延びる軸を、Xv軸とする。また、無人搬送車100の位置基準点から車両高さ方向に鉛直に延びる軸を、Zv軸とする。自己位置412は、環境地図位置基準座標系400における無人搬送車100の位置基準点の位置座標に相当し、自己姿勢413は、環境地図位置基準座標系400のY軸と荷役車両基準座標系411のYv軸のなす角に相当する。上記の状況を、自己位置推定部309が推定する。
【0037】
<荷重量演算部301>
荷重量演算部301は、無人搬送車100が積載している荷の重量m(kg)を、荷重センサ110の検知結果に基づいて演算する。なお、荷の重量は、このために、無人搬送車100に重量計を設けることが望ましい。
【0038】
<荷重心演算部302>
荷重心演算部302は、荷役車両基準座標系411における荷の三次元重心位置(x1,y1,z1)(m)を、荷重センサ110の検知結果に基づいて演算する。
【0039】
<荷形状演算部303>
荷形状演算部303は、図5に示す、無人搬送車100が積載する荷500(つまり、搬送される搬送荷)の幅方向の長さw1(m)および奥行き方向の長さl1(m)を、荷形状LiDAR112の検知結果に基づいて演算する。
【0040】
<情報格納部304>
情報格納部は、無人搬送車100の車体特徴に関する情報が格納されている。情報格納部304は、車両形状格納部305と、車両重量格納部306と、車両重心位置格納部307と、荷台移動量候補格納部308から構成される。
【0041】
車両形状格納部305は、無人搬送車100の形状特徴を示す情報を格納する。図5に、車両形状格納部305が格納する値の概要を示す。車両形状格納部305は、無人搬送車100の幅方向に関する長さ情報として、トレッド長さW1(m)を格納している。車両重量格納部306は、無人搬送車100の重量M(kg)を格納している。車両重心位置格納部307は、荷役車両基準座標系411における無人搬送車100の重心位置(x2,y2,z2)(m)を格納している。荷台移動量候補格納部308は、無人搬送車100の走行時の荷台移動量候補値を格納している。
【0042】
図5では、無人搬送車100がXv軸正方向にs(m)荷台移動(サイドシフト)を実施した状態を示している。荷台移動量候補格納部308では、図5のs(m)にあたる荷台移動量候補を複数格納している。荷台移動量候補値の例として、無人搬送車100のサイドシフト最大可動域を10分割した10個の候補値を備えることなどが挙げられる。
【0043】
ここで、荷台移動とは、一対の荷役部材を左右同方向に移動させるサイドシフト動作のように、車両が積載荷を支えた状態で荷の位置を移動させる動作をさす。荷台移動量とは、基準位置における荷台の位置と、荷台移動後の荷台の位置の差分をさす。なお、この荷台移動については、荷役車両の他の例であるフォークリフトのフォークでも生じる。
【0044】
<走行指令演算部310>
走行指令演算部310は、走行経路候補生成部204で生成した走行経路候補401と、荷台移動量候補格納部308に格納される荷台移動量候補の中から、無人搬送車100が走行する走行経路と、走行経路走行の際の荷台移動量を決定する。つまり、走行経路候補生成部204は、動作計画決定部の一種であり、走行経路および荷台移動量の少なくとも一方を決定すればよい。
【0045】
なお、無人搬送車100は走行中に、走行経路上の各ノードに到達したことをトリガーに、荷台移動量を変化させる。そのため、走行指令演算部310では、走行経路と、走行経路の各ノードにおける荷台移動量を決定する。
【0046】
ここで、図6に、本実施例にかかる走行指令演算部310の機能構成例を示す機能ブロック図である。走行指令演算部310は、走行速度上限演算部501、障害物回避判定部502、走行指令決定部503からなる。以降では、走行指令演算部310が有する機能の概要を記載する。
【0047】
<走行速度上限演算部501>
走行速度上限演算部501は、走行経路候補401に格納されている各経路、各ノード位置において、各荷台移動量に基づき荷台を移動させて走行した場合の、速度上限値を算出する。ここで述べる速度上限値とは、車両の転倒モーメントが車両の復元モーメントを超過しない範囲内の最大値を指し、その値は走行経路の旋回半径と積載時の無人搬送車100の重心位置により算出される。なお、積載時の無人搬送車100を、積載した荷と併せて1つの構成として、以下、積載時無人搬送車600を称する。
【0048】
<障害物回避判定部502>
障害物回避判定部502は、走行経路候補401に格納されている各経路、各ノード位置において、各荷台移動量に基づき荷台を移動させて走行した場合に、二次元地図上に格納された固定障害物と干渉するかどうかを判定する。
【0049】
<走行指令決定部503>
走行指令決定部503は、走行速度上限演算部501の演算結果、障害物回避判定部502の判定結果を元に、走行経路と走行経路情報内の各ノードにおける荷台移動量を決定する。走行経路および荷台移動量は、積載時無人搬送車600が固定障害物と干渉を回避でき、かつ積載時無人搬送車600の走行安定性を担保した範囲で走行した際に最終ノード402への到達時間が短くなるものが選択される。なお、上述のように、走行経路および荷台移動量は、動作計画の一種である。以上が、走行指令演算部310を構成する機能ブロック構成の一例である。これは、あくまでも一例であり、他の構成を付加したり、一部の構成を省略したりすることも可能である。以上で走行指令演算部310の説明を終了する。
【0050】
<動作指令生成部311>
動作指令生成部311は、走行指令演算部310、自己位置推定部309からの入力に基づき、走行指令演算部310で演算された走行経路および荷台移動量に従った荷役の動作を実行するための動作指令を演算する。そして、動作指令生成部311は、走行モータ108、操舵モータ109、移載用アクチュエータ104に、動作指令を出力する。この結果、無人搬送車100が、走行経路および荷台移動量に従った動作を実行する。以上が、本実施例を実現するための機能ブロック構成の一例である。
【0051】
<処理フロー>
次に、実施例1の処理フローを、図7図11を参照して、詳述する。図7は、本実施例における荷役車両システム300の処理フローを示すフローチャートである。
【0052】
無人搬送車100に対する積み荷が終了すると、ステップS701において、走行経路候補生成部204が、環境地図格納部202から二次元環境地図情報を取得する。また走行指令演算部310が、通信装置350を介し、環境地図格納部202から二次元環境地図情報を取得する。
【0053】
次に、ステップS702では、運行管理部203が、荷の搬送先の位置座標を走行経路候補生成部204に送信する。次に、ステップS703では、走行経路候補生成部204が、空荷時の無人搬送車100が最終ノード402に到達するまでに、固定障害物に干渉せずに走行可能な領域を算出する。このために、走行経路候補生成部204は、ステップS701で取得した二次元環境地図、ステップS702で取得した搬送先の位置情報、車両フレーム101形状および荷役部材103に関する情報、経路追従時の位置誤差および姿勢誤差に関する情報を用いる。そして、運行管理部203が、算出結果を元に、無人搬送車100が走行可能なエリアを通過する走行経路候補401を複数設定する。そして、運行管理部203が、設定された走行経路候補401を走行指令演算部310に送信する。
【0054】
次に、ステップS704では、荷形状検知用LiDAR112が、光軸角度情報と対応する周辺物体との距離情報を荷形状演算部303に送信する。次に、ステップS705では、荷形状演算部303が、ステップS704で受信した光軸角度情報と対応する障害物との距離情報から荷形状を計算する。荷形状の一例には、図5に示す、荷の幅方向の長さw1(m)および奥行き方向の長さl1(m)が含まれる。この場合の演算方法の例としては、ステップS704で取得した各点群データ間の距離を計測し、閾値以内である点群に対して直線近似を行う。そして、近似した直線の長さから荷の幅方向および奥行き方向の長さを算出する方法がある。
【0055】
なお、荷形状の演算方法は上記以外でも良く、例えば荷役動作前に無人搬送車100が荷に正対した状態で荷の点群データを取得し、荷の形状を検知するようにしてもよい。ステップS705では、荷形状演算部303が、計算結果を走行指令演算部310に送信する。
【0056】
次に、ステップS706では、自己位置推定用LiDAR113が、取得した周辺障害物との距離情報を自己位置推定部309に送信する。次に、ステップS707では、自己位置推定部309が、通信装置350から二次元地図情報を取得する。そして、自己位置推定部309は、二次元地図情報とステップS706より受信した周辺障害物との距離情報を用いて自己位置412および自己姿勢413を演算する。また、自己位置推定部309は、この演算結果を走行指令演算部310に送信する。
【0057】
また、ステップS708では、荷重センサ110が、センサにかかる荷重を計測する。そして、荷重センサ110は、取得した値を荷重量演算部301および荷重心演算部302に送信する。次に、ステップS709では、荷重量演算部301が、ステップS708で取得した荷重センサ110の計測値の総和から、荷役部材103に積載される荷の荷重m(kg)を演算する。そして、荷重量演算部301は、演算した値を走行指令演算部310に送信する。
【0058】
また、ステップS710では、傾斜センサ111が、荷役部材103の傾斜角θ(rad)を取得する。そして、傾斜センサ111は、取得した値を荷重心演算部302に送信する。
【0059】
また、ステップS711では、荷重心演算部302が、荷役車両位置基準系における荷の重心位置(x1、y1、z1)(m)を演算する。この演算のために、荷重心演算部302は、ステップS708で取得した、荷重センサ110の計測値に基づき、左右方向の重心位置x1(m)、および前後方向の重心位置y1(m)を演算する。なお、これら重心位置を特定するために、荷重センサ110を複数用意し、これらの荷重割合を用いてもよい。また、荷重心演算部302は、積載の高さ方向の重心位置z1(m)を、以下の(数1)に従って算出する。
【0060】
ここで、(数1)では、以下の情報を用いる。
荷重センサ110の前後方向の設置距離D1(m)
ステップS708で計測した荷の重量m(kg)
重力加速度g(m/s2)
ステップS710で計測した荷役部材103の傾斜角θ(rad)、
荷役部材103が地面に対し水平である場合の荷重センサ110の検出値F1(kg)、
荷役部材が地面に対し傾斜角θ(rad)
傾斜した場合の荷役部材103に先端部に備えられた荷重センサの検出値F2(kg)
z1=D1/(mg・tanθ)・(F1-F2/cosθ)・・・(数1)
そして、荷重心演算部302は、演算した荷の重心位置(x1,y1,z1)(m)を走行指令演算部310に送信する。なお、ステップS706~S711の処理順序は、記載された順序に特に限定されない。
【0061】
次に、ステップS712では、走行指令演算部310が、以下の情報を取得する。
車両形状格納部305に格納される車両形状情報、
車両重量格納部306に格納されている車両重量、
車両重心位置格納部307に格納されている車両重心位置、
荷台移動量候補格納部308に格納されている荷台移動量候補。
【0062】
このことで、ステップS712では、走行指令演算部310は、積載時無人搬送車600の形状、重量および重心位置を特定する。これらは、積載時無人搬送車600の物理特性の一種である。このため、形状、重量および重心位置の一部やこれら以外の情報を用いてもよい。
【0063】
次に、ステップS713では、走行指令決定部503が、動作計画の一種である走行経路および荷台移動量を決定する。このために、ステップS713では、走行速度上限値の算出(ステップS721)、荷500と固定障害物の干渉判定(ステップS722)およびこれらに基づいて走行経路や荷台移動量の決定を行う。ここで、ステップS721では、走行速度上限演算部501が、走行経路内各ノード位置と各荷台移動量の組み合わせに対する、走行速度上限値を算出する。また、ステップS722では、障害物回避判定部502が、走行経路内各ノード位置と、各荷台移動量の組み合わせに対する、荷500と固定障害物の干渉判定を実施する。そして、走行指令決定部503が、ステップS721の走行速度上限演算の結果と、障害物の干渉判定の結果から、走行経路と荷台移動量を決定する。
【0064】
以下、これらステップS721およびステップS722の詳細を説明する。図8は、本実施例にかかる走行速度上限値の算出であるステップS721の処理フローを示すフローチャートである。また、図9は、本実施例にかかる荷500と固定障害物の干渉判定ステップS722の処理フローを示すフローチャートである。
【0065】
まず、図8を用いて、ステップS721の詳細を説明する。ステップS741では、走行速度上限演算部501が、ステップS703で生成した走行経路候補401から走行経路の一つを取得する。
【0066】
次に、ステップS742では、走行速度上限演算部501が、無人搬送車100が走行開始後最初に到達すべきノードを算出する。このために、走行速度上限演算部501は、ステップS707で受信した環境地図位置基準座標系400上における自己位置412およびステップS721で取得した走行経路のノード情報を用いる。ここでは、自己位置412と走行経路候補情報が備える各ノードの位置座標の距離が最も小さいノードを、各走行経路における最近接ノードとする。つまり、本ステップでは、最近傍ノードが算出される。
【0067】
最近接ノードが無人搬送車100の進行方向に存在する場合は、最近接ノードが無人搬送車100の走行開始時に最初に到達すべきノードである。また、最近接ノードが無人搬送車100の進行方向に対して逆方向に存在する場合は、最近接ノードの次に指定されているノードが該当ノードとなる。
【0068】
次に、ステップS743では、走行速度上限演算部501が、ステップS741で取得した走行経路を構成するノードを一つ取得する。また、走行速度上限演算部501は、ノード位置における旋回半径を、取得したノードとその前後ノードを接続するエッジの角度から演算する。また、ステップS744では、走行速度上限演算部501が、ステップS712で取得した荷台移動量候補から、荷台移動量を一つ取得する。
【0069】
また、ステップS745では、走行速度上限演算部501が、ステップS712で取得した荷台移動量に対し、荷役車両基準座標系411における積載時無人搬送車600の重心位置(xg,yg,zg)を算出する。
【0070】
ここで、荷台移動量をs(m)とした場合、以下の情報を用いて、下記(数2)~(数4)に従って重心位置(xg,yg,zg)を算出する。
台移動後の荷500の重心位置(x1+s,y1,z1)(m)
ステップS712で取得した無人搬送車100の重心位置(x2,y2,z2)(m)
ステップS711で取得した荷500の重量m(kg)
ステップS712で取得した無人搬送車100の重量M(kg)
xg=(m・(x1+s)+M・x2)/(M+m)・・・(数2)
yg=(m・(y1+s)+M・y2)/(M+m)・・・(数3)
zg=(m・(z1+s)+M・z2)/(M+m)・・・(数4)
次に、ステップS746では、走行速度上限演算部501が、車両が安定して走行可能な速度上限値を算出する。このために、走行速度上限演算部501は、ステップS745で演算した荷台移動後の積載時無人搬送車600の重心位置(xg,yg,zg)(m)およびステップS743で取得したノード地点での走行経路の曲率を用いる。この速度上限値とは、車両が転倒しないための速度上限であり、積載時無人搬送車600の走行安定性を示す情報を用いてよい。
【0071】
ここで、積載時無人搬送車600が走行時、Xv軸方向に遠心力がかかる走行経路を仮定した場合、Xv軸方向における積載時荷役車両の重心位置とタイヤの距離をd、重力加速度をg(m/s)、旋回半径をr(m)、重心高さをh(m)とすると、車両が転倒しないための速度上限値v(m/s)は、(数5)により求めることができる。
v=√(rgd/h)・・・(数5)
ただし、d=(W1/2)-xg(m)、h=zg(m)である。このように、ステップS746では、走行速度上限演算部501が、ステップS743で取得した走行ノードおよびステップS理744で取得した荷台移動量に対する走行速度上限値を演算することになる。
【0072】
次に、ステップS747では、走行速度上限演算部501が、ステップS712で取得した荷台移動量候補のそれぞれに対し、ステップS744~ステップS746が実行されたかを判定する。つまり、各荷台移動量候補に対する処理が終了したかを判定する。この結果、処理が実行されている場合(Yes)、ステップS748に移行する。実行されていない場合(No)、ステップS744に戻り、残りの荷台移動量候補に対する処理を実行する。
【0073】
次に、ステップS748では、走行速度上限演算部501が、ステップS742で取得した最近傍ノードから、目標到達位置をつなぐ各ノードについて、ステップS742~ステップS747が実行されているかを判定する。この結果、実行されている場合(Yes)、ステップS748に移行する。実行されていない場合(No)、ステップS743に戻り、残りのノードへの処理を実行する。
【0074】
次に、ステップS749では、走行速度上限演算部501が、ステップS703で生成した各走行経路候補401について、ステップS742~ステップS748が実行されている場合(Yes)、ステップS750に移行する。実行されていない場合(No)、ステップS741に戻り、残りの走行経路候補401に対して、処理を実行する。
【0075】
次に、ステップS750では、走行速度上限演算部501が、各走行ノード、荷台移動量の組み合わせに対する走行速度上限の演算結果を、走行指令決定部503へ送信する。以上が、ステップS721の処理の詳細である。
【0076】
次に、図9を用いて、荷500と固定障害物の干渉判定ステップS722の詳細を説明する。
【0077】
まず、ステップS761では、障害物回避判定部502が、ステップS741と同様に、ステップS703で生成した走行経路候補401から走行経路を一つ取得する。次に、ステップS762では、障害物回避判定部502が、ステップS742と同様に、無人搬送車100が走行開始後最初に到達すべきノードを算出する。
【0078】
次に、ステップS763では、障害物回避判定部502が、ステップS744と同様に、ステップS712で取得した荷台移動量候補から、荷台移動量を一つ取得する。なお、ステップS761~ステップS763とステップS741、ステップS742およびステップS744は、それぞれ、まとめて実行されてよい。
【0079】
次に、ステップS764では、障害物回避判定部502が、荷役車両基準座標系411における荷の走行エリアを算出する。ここで、図10を用いて、荷の走行エリアについて説明する。図10内A、B、C、D、E、Fで囲む領域が荷の走行エリアである。このエリアは、荷500の形状に対し、積載時無人搬送車600の走行時の経路追従誤差として想定される位置誤差0.10(m)および姿勢誤差0.05(rad)をマージンとして持たせたものである。なお、後述の障害物判定においては、ここで算出した荷の走行エリアを任意の走行経路にマッピングし、二次元地図上の固定障害物との干渉判定を行うことで、経路追従誤差を考慮した障害物干渉判定を実施することが可能になる。
【0080】
また、図10のように荷台をXv方向にs(m)移動させた際の、荷役車両基準座標系411における荷の特徴点A、B、C、D、E、Fの座標位置は、以下の(数6)~(数11)により算出される。
A(xa,ya)=(w1/2+s+0.10+l1/2tan(0.05),l1/2)・・・(数6)
B(xb,yb)=(-w1/2+s-0.10-l1/2tan(0.05),l1/2)・・・(数7)
C(xc,yc)=(-w1/2+s-0.10-l1/2tan(0.05),-l1/2)・・・(数8)
D(xd,yd)=(w1/2+s-0.10-l1/2tan(0.05),-l1/2)・・・(数9)
E(xe,ye)=(w1/2+s+0.10,0)・・・(数10)
F(xf,yf)=(-w1/2+s+0.10,0)・・・(数11)
以上のように、このステップS764では、荷役車両基準座標系411における荷の走行エリアとしてA、B、C、D、E、Fで結ばれる領域が算出される。
【0081】
次に、ステップS765では、障害物回避判定部502が、走行エリアと固定障害物が干渉しているかを判定する。このために、障害物回避判定部502は、ステップSで算出した荷役車両位置基準座標系における荷の走行エリアと、ステップS761で取得した走行経路と、ステップS701で取得した環境地図を用いる。つまり、障害物回避判定部502は、これらを用いて、各走行経路候補に格納されるノード位置に対し、荷台移動後の荷500の走行エリアを環境地図上にマッピングするこことで、判定を行う。
【0082】
次に、ステップS766では、障害物回避判定部502が、ステップS712で取得した各荷台移動量に対して、ステップS763~ステップS765が実施されたかを判定する。この結果、実行された場合(Yes)、ステップS767に移行する。実施されていない場合(No)、ステップS763に戻り、残りの荷台移動量候補に対する処理を実施する。
【0083】
次に、ステップS767では、障害物回避判定部502が、ステップS703で取得した各走行経路候補に対して、ステップS762~ステップS766が実施されたかを判定する。この結果、処理が実施された場合(Yes)、ステップS768に移行する。実施されていない場合(No)、ステップS761に戻り、残りの走行経路候補に対して処理を実施する。
【0084】
次に、ステップS768では、障害物回避判定部502が、各走行ノード、荷台移動量の組み合わせに対する干渉の判定結果である演算結果を、走行指令決定部503へ送信する。以上で、ステップS722の詳細の処理を終了する。
【0085】
そして、図7のフローチャートの説明に戻る。ステップS713では、走行指令決定部503が、ステップS721およびステップS722の結果を用いて、走行経路や荷台移動量を決定する。このために、ステップS750で送信される走行速度上限における、ステップS768で送信される干渉の判定結果をマージする。このマージにより、作成される走行経路・荷台移動量情報の一例を、図11に示す。
【0086】
図11に示す例では3つのノードで構成された走行経路候補A、B、Cが存在し、また荷台移動量候補としてa(m),b(m),c(m),d(m)が存在する。各経路、ノード、荷台移動量に対応する表内マスについて、上段ステップS721により演算した走行速度上限値(m/s)、下段にステップS722による固定障害物との干渉判定結果(障害物に干渉、または障害物を回避可能)が記載されている。
【0087】
また、ステップS713においては、走行指令決定部503が、走行経路・荷台移動量情報を用いて、障害物回避可能なノード位置及び荷台移動量を抽出する。具体的には、図11内走行経路上の各ノードおよび荷台移動量について、下段に回避と記載のある走行ノードおよび荷台移動量を抽出する。例えば、経路Aのノード2はすべての荷台移動量について判定結果が干渉となっている。この場合、走行経路候補Aは走行経路の選択肢から除外される。
【0088】
また、走行指令決定部503は、走行経路・荷台移動量情報に基づき、各ノードに付与された荷台移動量候補の中で、走行速度上限が大きい荷台移動量と、合わせて走行速度上限値を抽出する。ここで、走行速度上限が大きいとは、所定値以上ないし予め定められた件数の上位(例えば、最も大きい)などが含まれる。
【0089】
例えば、経路Bについて、ノード1では台動作量c(m)、ノード2では荷台移動量b(m)、ノード3では荷台移動量a(m)が選択される。この処理により、各経路のノード位置における適切な荷台移動量を算出することができる。
【0090】
次に、走行指令決定部503は、取得したノード位置における走行速度上限とノード間エッジ長さから、各経路に対する走行時間の演算を行う。例えば、経路Bについて、ノード1の次のエッジの走行速度は0.8[m/s]、エッジ距離はノード1とノード2の距離であるため、走行時間は(ノード1とノード2の距離)/0.8(s)となる。この計算を、各ノード間において計算し、各経路の走行時間を算出する。
【0091】
また、走行指令決定部503は、前処理から取得した各走行経路に対する走行時間の演算結果から、走行時間が短くなる走行経路を抽出する。そして、走行指令決定部503は、抽出した走行経路と各ノードにおける荷台移動量を、動作指令生成部311へ送信する。以上のように、本実施例のステップS713では、走行経路および荷台移動量を決定する。これは、動作計画決定部での動作計画の決定の一種である。このため、無人搬送車100の動作計画として、走行経路および荷台移動量の少なくとも一方や他の情報を用いてもよい。本ステップを実行すると、以下の処理で無人搬送車100が走行を行う。
【0092】
次に、ステップS714では、自己位置推定部309が、ステップS707と同様の方法で、自己位置412および自己姿勢413を演算する。また、自己位置推定部309が、自己位置推定結果を動作指令生成部311に送信する。
【0093】
次に、ステップS715では、動作指令生成部311が、ステップS714で推定した自己位置の情報を元に、ステップS713で演算された走行速度上限で走行するような走行モータ108への指令値を生成する。
【0094】
また、動作指令生成部311は、ステップS713で決定された走行経路を追従するような操舵モータ109への指令値を生成する。さらに、動作指令生成部311は、ステップS713で決定された各ノード位置における荷台移動量を実現するための移載アクチュエータ指令値を生成する。なお、目標荷台移動量はノードごとに設定されているため、自己位置と進行方向に対する最接近ノードの距離が閾値以下になった際、移載アクチュエータにより荷台移動量を変化させる。
【0095】
次に、ステップS716では、動作指令生成部311は、ステップS715で演算された各指令値に基づき、走行モータ108、操舵モータ109、移載用アクチュエータ104を駆動させる。この結果、走行モータ108、操舵モータ109、移載用アクチュエータ104が駆動し、無人搬送車100が走行、荷の運搬を行うことになる。
【0096】
次に、ステップS717では、動作指令生成部311が、無人搬送車100が荷の搬送先に到着したかを判定する。このために、動作指令生成部311が、無人搬送車100の自己位置と、荷の搬送先である最終ノード402の距離が閾値以下になった時点で、無人搬送車100が荷の搬送先に到着したと判定する。そして、搬送先に到着すると、動作指令生成部311は、走行モータ108、操舵モータ109、移載用アクチュエータ104へ停止指令を出力する。この結果、無人搬送車100が停止する。
【0097】
また、無人搬送車100が荷の搬送先に到着していない場合、ステップS714に戻り、走行を継続する。以上で実施例1の説明を終了する。
【実施例0098】
次に、実施例2を、図12および図13を用いて説明する。本実施例および後述の実施例3にあって、実施例1と共通する構成については、同一の符号を付してその詳細な説明は省略する。
【0099】
本実施例は、実施例1と比較して、走行経路候補にその場旋回経路候補を追加している。ここで、その場旋回とは、無人搬送車100が車両位置基準点である従動輪106の中点を旋回中心位置とし、旋回中心位置を固定したまま車両の姿勢のみを変更し、方向転換を行う動作のことをさす。図12は、本実施例にかかる走行指令演算部310の機能構成例を示す機能ブロック図である。以降では、実施例1の走行指令演算部310(図6)に追加または変更した機能ブロックを中心に説明する。なお、本実施例での荷役車両システムは、走行指令演算部310以外は2と同様の構成である。
【0100】
<走行経路候補生成部204>
本実施例において、走行経路候補生成部204は、その場旋回経路を含む走行経路を生成する。この走行経路について、図13を用いて説明する。図13は、本実施例にかかる走行経路を示す図である。図13に示す最短経路405である走行経路および走行経路406は走行旋回経路であり、走行経路1110はその場旋回を実施する走行経路である。ここで、走行経路1110は、その場旋回ノード1111と、その場旋回前に走行するエッジ1112およびその場旋回後に走行するエッジ1113からなる。その場旋回ノード1111は、空荷時にその場旋回可能な位置座標に設定され、例えば方向転換前の通路の中線と方向転換後の通路の中線の交点に設定する方法がある。ただし、設定するその場旋回ノードの位置座標はこれ以外でもよく、複数候補所有していてもよい。
【0101】
各ノードには環境地図位置基準座標系400に対する二次元位置座標、走行速度上限、進行方向に加え、そのノード上でその場旋回を実施するかどうかを表す情報を備えている。なお、以降ではノード上でその場旋回を実施するノードをその場旋回ノードと記載する。
【0102】
<走行旋回経路抽出部2002>
走行旋回経路抽出部2002では、走行経路候補生成部204で作成された走行経路候補の中から、その場旋回ノードを含まない走行経路を抽出する。
【0103】
<その場旋回経路抽出部2003>
その場走行旋回経路抽出部2003では、走行経路候補生成部204で作成された走行経路候補の中から、その場旋回ノードを含む走行経路を抽出する。
【0104】
<走行旋回走行指令演算部2004>
走行旋回走行指令演算部2004では、走行旋回経路抽出部2002から取得した走行旋回経路情報を元に、取得した経路候補および荷台移動量候補の中から障害物回避可能かつ走行時間が短くなるような走行経路と荷台移動量の組み合わせを演算する。
【0105】
<その場旋回走行指令演算部2005>
その場旋回走行指令演算部2005では、その場旋回経路抽出部2003に格納されたその場旋回経路について走行時の障害物回避判定および走行時間算出を行い、障害物回避可能かつ走行時間が短くなるような走行経路を演算する。なお、具体的な処理内容に関しては後述する。
【0106】
<走行指令決定部503>
走行指令決定部503は、走行旋回走行指令演算部2004より取得した走行経路と、その場旋回走行指令演算部2005により取得した走行経路から、動作指令生成部311に送信する走行経路を決定する。なお、具体的な処理内容に関しては後述する。
【0107】
以上が、実施例2における走行指令演算部310の構成である。なお、本実施例においては、実施例1の走行指令演算部310の走行速度上限演算部501、障害物回避判定部502および走行指令決定部503も設けてもよい。
【0108】
<処理フロー>
以降では、実施例2の処理フローを説明する。なお、実施例1と実施例2の処理の差分は、ステップS712が完了した状態からステップS713が完了した状態までである。そこで、以下、この差分についてのみ説明する。
【0109】
まず、走行旋回経路抽出部2002が、走行経路候補生成部204で作成された走行旋回経路のノード群情報を、走行旋回走行指令演算部2004に送信する。その後、走行旋回走行指令演算部2004が、取得された走行旋回経路情報を用いて実施例1で述べたステップS713と同じ処理を実施する。この結果、走行旋回走行指令演算部2004は、障害物回避可能かつ走行時間が最も短くなるような走行経路と荷台移動量の組み合わせを決定する。その後、走行旋回走行指令演算部2004は、決定した走行経路および荷台移動量を走行指令決定部に送信する。
【0110】
次に、その場旋回経路抽出部2003が、走行経路候補生成部204で抽出したその場旋回経路のノード群情報を、その場旋回走行指令演算部2005に送信する。その後、その場旋回走行指令演算部2005が、その場旋回経路候補抽出部2014が取得したその場旋回経路について、図10で示す荷の走行エリアに対する障害物回避判定を実施する。なお、ここで述べた荷の走行エリアは、実施例1のステップS764と同様の処理により演算される。
【0111】
その場旋回の際の障害物回避判定では、積載時無人搬送車600がその場旋回ノードに到達した状態からその場旋回を終了しエッジ1113の方向を向く状態までにおける、環境地図位置基準座標系400上での積載時無人搬送車600の位置および姿勢を算出する。次に、その場旋回走行指令演算部2005が、算出したその場旋回時の積載時無人搬送車600の自己位置412、自己姿勢413に基づき算出された荷の走行エリアを二次元地図上にマッピングし、障害物と干渉するかを判定する。この判定を、各その場旋回経路について実施後、次の処理に移行する。
【0112】
次に、その場旋回走行指令演算部2005が、その場旋回経路について、走行経路を走行するのに所要する時間を、エッジ1112を通過する時間、その場旋回に所要する時間、エッジ1113を通過する時間の和により算出する。エッジ1112を通過する時間、エッジ1113を通過する時間は、走行手前ノードに格納される走行速度上限と、エッジの長さにより算出される。また、その場旋回に所要する時間は、車体性能により決定されるその場旋回時の速度上限と、エッジ1112およびエッジ1113のなす角により算出される。その場旋回に所要する時間は機体によって異なるが、一般に90(度)旋回する場合は15.0(s)程度所要する。この走行時間の計算を、各その場旋回経路について実施後、次の処理に移行する。
【0113】
次に、その場旋回走行指令演算部2005は、各その場旋回走行経路について、障害物回避判定結果および走行時間算出結果から、障害物を回避可能かつ走行時間が短くなるような走行経路情報と、走行時間の情報を走行指令決定部503に送信する。その後、次の処理に移行する。
【0114】
次に、走行指令決定部503が、走行旋回に要する時間と、その場旋回走行に要する時間を比較する。この結果、走行旋回に要する時間の方が短い場合は、走行指令決定部503は、走行旋回走行指令演算部2004より送信された走行経路および荷台移動量を動作指令生成部311に送信する。また、その場旋回に要する時間の方が短い場合は、走行旋回走行指令演算部2004より送信された走行経路を動作指令生成部311に送信する。以上が、実施例2における走行指令演算部310の処理の流れである。
【実施例0115】
以降では、図14および図15を用いて、実施例3について説明する。本実施例では、荷の位置ずれおよび荷の重心ずれを考慮して、動作計画を決定する。以下、本実施例にかかる課題から説明する。
【0116】
無人搬送車100は、走行時の計算負荷が高い場合、車載コントローラ114の演算周期が長くなる。このため、動作指令生成部311から、走行モータ108、操舵モータ109、移載用アクチュエータ104への動作指令の送信周期が長くなる。その結果、走行モータ108、操舵モータ109に指令値が送信される間の位置および姿勢の変位が大きくなり、蛇行運転などが生じ、目標経路に対する追従精度が低下する。
【0117】
そのため、実施例1および実施例2では、走行時の計算負荷を低くし、目標経路に対する追従精度低下を解消するために、まず、走行開始前に荷の形状、荷の重心位置、荷の重量を取得した。そして、取得した結果を用いて目的地および走行経路および荷台移動量を決定し、その後、走行を開始していた。
【0118】
一方、実施例1および実施例2では、走行旋回時においては、無人搬送車100の走行安全性を考慮し低速での走行を行う。この際、時間に対する位置および姿勢の変位が少ないため、計算負荷が大きくなった場合においても、経路追従精度の低下の程度は小さい。
【0119】
無人搬送車100の走行時の課題として、走行旋回またはその場旋回を実施した後に、荷の位置および重心の位置がずれることが挙げられる。実施例1および実施例2では、走行開始前に取得した荷形状、荷の重心位置をもとに走行経路および荷台移動量を決定した。このため、走行旋回時に生じる荷の位置および重心の位置ずれを考慮することができない。
【0120】
以上を踏まえ、本実施例では、走行旋回後およびその場旋回後の荷の位置ずれおよび荷の重心ずれを考慮し、旋回終了後の荷位置および荷重心の位置に基づき、走行経路および荷台移動量を決定する。
【0121】
以降では、実施例1および実施例2と、実施例3の処理の差分について詳述する。図14は、本実施例にかかる荷役車両システム300の機能構成例を示すブロック図である。以降では、実施例1および実施例2に対し新たに追加または変更した機能ブロックの概要について説明する。
【0122】
<旋回終了判定部3001>
旋回終了判定部3001では、走行中の無人搬送車100が走行旋回終了ノードに到達したかどうかを判定する。ここでは、ノードの特徴として、直線ノード、旋回ノード、走行旋回終了ノードの三つを定義する。直線ノードとは、ノード間を接続するエッジのなす角がπ(rad)であるノードをさし、旋回ノードはそれ以外のノードをさす。これを踏まえ、前述の走行旋回終了ノードとは、ノード自身が旋回ノードであり、かつ進行方向一つ先にあるノードが直線ノードである場合をさす。
【0123】
<荷重量演算部301>
荷重量演算部301は、無人搬送車100が旋回終了ノードに到達した際に、実施例1の荷重量演算部301と同様の演算手法により荷重量M(kg)を再演算する。
【0124】
<荷重心演算部302>
荷重心演算部302は、無人搬送車100が旋回終了ノードに到達した場合、実施例1の荷重心演算部302と同様の演算手法により荷の重心位置(x1,y1,z1)(m)を再演算する。
【0125】
<荷形状演算部303>
荷形状演算部303は、無人搬送車100が旋回終了ノードに到達した場合、実施例1の荷形状演算部303と同様の演算手法により荷の形状を再演算する。
【0126】
<走行指令演算部310>
走行指令演算部310は、荷重量演算部301、荷重心演算部302、荷形状演算部303から受信した情報に基づき、無人搬送車100が走行する走行経路および荷台移動量を決定する。このために、走行指令演算部310は、走行経路候補生成部204で生成した走行経路候補401および荷台移動量候補格納部308に格納されている荷台移動量候補の中から、実施例1の走行指令演算部310と同様の演算手法を用いる。
【0127】
以上が、実施例3に特徴的な構成である。
【0128】
<処理フロー>
以降では、実施例3の処理フローを、図15を用いて詳述する。図15は、本実施例にかかる荷役車両システム300の処理フローを示すフローチャートである。実施例3では、実施例1および実施例2に記載のステップS717の後に、ステップS3101が追加される。ステップS717は、無人搬送車100が荷の搬送先に到達したかを判定する処理である。実施例3においては、無人搬送車100が荷の搬送先である最終ノード402に到達していた場合、すべての処理を終了し、無人搬送車100が最終ノード402に到達していない場合は、ステップS3101へ移行する。
【0129】
ステップS3101では、旋回終了判定部3001が、自己位置推定結果と走行経路演算部により演算された走行経路情報を元に、無人搬送車100が目標経路上の旋回走行終了ノードに到達したかを判定する。このために、まず、自己位置推定結果およびノードの位置座標データを用いて荷役車両の最近接ノードの位置を判定する。次に、最近接ノードが旋回終了ノードであるかどうかを判定する。最近接ノードが旋回ノードであり、かつ最近接ノードの次ノードが直線ノードである場合、最近接ノードは旋回終了ノードである。
【0130】
次に、無人搬送車100の位置と最近接ノードの位置間の距離を計測し、距離が閾値以下である場合、走行終了ノードに到達したと判定する。判定結果より、走行旋回終了ノードに到達していた場合は(Yes)、ステップS704に移行する。到達していない場合は(No)、ステップS714へ移行する。以上で、実施例3の説明を終了する。
【0131】
以上で、各実施例の説明を終了するが、本発明はこれら実施例に限定されない。例えば、荷役車両として、フォークリフトを用いることが可能である。また、交通管制部201として、クラウド形式のサーバである交通管理装置で実現することもできる。また、動作環境として、倉庫以外の工場などでも適用可能である。さらに、動作環境は、一般道などオープンな環境であってもよい。またさらに、交通管理装置や車載コントローラ114の機能をプログラムに従って実行してもよい。この場合、このプログラムは、記憶媒体に格納されることが望ましい。
【符号の説明】
【0132】
201・・・交通管制部、202・・・環境地図格納部、203・・・運行管理部、204・・・走行経路候補生成部、205・・・通信装置、300・・・荷役車両システム、
301・・・荷重量演算部、302・・・荷重心演算部、303・・・荷形状演算部、304・・・情報格納部、309・・・自己位置推定部、310・・・走行指令演算部、311・・・動作指令生成部、501・・・走行速度上限演算部、502・・・障害物回避判定部、503・・・走行指令決定部、2002・・・走行旋回経路抽出部、2003・・・その場旋回経路抽出部、2004・・・走行旋回走行指令演算部、2005・・・その場旋回走行指令演算部、3001・・・旋回終了判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15