JP7469195B2 - 走行パラメータ最適化システムおよび走行パラメータ最適化方法 - Google Patents

走行パラメータ最適化システムおよび走行パラメータ最適化方法 Download PDF

Info

Publication number
JP7469195B2
JP7469195B2 JP2020151056A JP2020151056A JP7469195B2 JP 7469195 B2 JP7469195 B2 JP 7469195B2 JP 2020151056 A JP2020151056 A JP 2020151056A JP 2020151056 A JP2020151056 A JP 2020151056A JP 7469195 B2 JP7469195 B2 JP 7469195B2
Authority
JP
Japan
Prior art keywords
driving
parameters
agv
experimental
parameter optimization
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.)
Active
Application number
JP2020151056A
Other languages
English (en)
Other versions
JP2022045453A (ja
Inventor
裕樹 大澤
テイン グエンクアン
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2020151056A priority Critical patent/JP7469195B2/ja
Priority to US17/412,096 priority patent/US11983013B2/en
Priority to CN202110989405.2A priority patent/CN114239126A/zh
Publication of JP2022045453A publication Critical patent/JP2022045453A/ja
Application granted granted Critical
Publication of JP7469195B2 publication Critical patent/JP7469195B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0025Planning or execution of driving tasks specially adapted for specific operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • B60W2520/105Longitudinal acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/12Lateral speed
    • B60W2520/125Lateral acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/10Weight
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/70Industrial sites, e.g. warehouses or factories

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Human Resources & Organizations (AREA)
  • Geometry (AREA)
  • Automation & Control Theory (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mechanical Engineering (AREA)
  • Mathematical Optimization (AREA)
  • Primary Health Care (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Computational Mathematics (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)

Description

この発明は、走行パラメータ最適化システムおよび走行パラメータ最適化方法に関し、特にたとえば、自動走行装置の走行パラメータを最適化する、走行パラメータ最適化システムおよび走行パラメータ最適化方法に関する。
工場または倉庫において、無人搬送車を用いた自動搬送システムが用いられている。この無人搬送車は、指定された走行ルートに沿って自律走行する。
複数の車輪を有する無人搬送車をライン(誘導線あるいはガイドともいう)に沿ってうまく走行させるように車輪の操舵角を制御する方法が特許文献1および特許文献2のそれぞれに提案されている。
特許文献1においては、制御系が非線形のために、従来の制御系では誘導線に沿わせる操舵制御ができなくなったりハンチングしたりする恐れがあるところ、ファジイ推論を施し、推論結果に基づいて操舵角を制御することが記載されている。
特許文献2においては、3輪操舵の無人フォークリフト(無人搬送車)において、ガイドに沿うための操舵制御でのオーバーシュートを少なく、修正距離を短く、また、車体姿勢移動を小さくするために3つある各車輪を操舵制御する手法が記載されている。
特許文献3においては、走行条件パラメータを用いた所定の停車位置で停車するために自動停止制御を行った結果を示す車両の実際の停車位置と所定の停車位置との誤差と、自動停止制御で用いられた走行条件パラメータとの関係を示すモデル式を機械学習に基づいて算出する方法が記載されている。
特開平03-282705号公報 特開2000-148247号公報 特開2018-137857号公報
無人搬送車を走行ルート沿って走行させるには、十分に最適化された多数の走行パラメータによる非常に複雑な走行制御が要求される。しかし、走行パラメータの最適化には実験走行を繰り返し行ってデータを収集する作業が必要であり、そのためには膨大な労力と時間が必要であるという問題があった。
上記の特許文献1および特許文献2に開示される走行制御方法は、走行制御に用いる走行パラメータの数が非常に多く、それらの走行パラメータの最適化に膨大な労力と時間が必要であるにもかかわらず、走行パラメータの最適化に要する労力および時間を少なくするための工夫が考慮されていない。
これに対して、特許文献3には、機械学習により算出されたモデル式に基づいて停止誤差を推定するため、上記の特許文献1および特許文献2に比べれば走行パラメータの最適化に要する労力および時間を少なくすることができると考えられるが、過去の実験結果データを用いて走行パラメータを最適化するものであって、将来の実験計画を作成し、作成した実験計画に基づいて効率的に実験結果データを取得するものではない。よって、パラメータの適正化に改善の余地がある。
それゆえに、この発明の主たる目的は、新規な、走行パラメータ最適化システムおよび走行パラメータ最適化方法を提供することである。
この発明の他の目的は、パラメータの適正度を効率良く高めることができる、走行パラメータ最適化システムおよび走行パラメータ最適化方法を提供することである。
第1の発明は、複数の自動走行装置において走行パラメータを最適化するための実験走行を行うことにより、複数の自動走行装置の走行パラメータを最適化する走行パラメータ最適化システムであって、走行指示に従って走行する複数の自動走行装置と、実験走行における実験走行計画を作成する実験走行計画作成装置と、実験走行計画作成装置が作成した実験走行計画に基づいて、複数の自動走行装置に対して走行指示を送信する走行指示装置と、複数の自動走行装置の走行状態を反映した測定値を取得する取得装置と、取得装置が測定した測定値に基づき評価値を算出する評価値算出装置と、実験走行において評価値算出装置により算出された評価値に基づき最適化された走行パラメータを算出する走行パラメータ最適化装置と、を備え、走行パラメータは、自動走行装置に牽引または積載される荷物の重量である荷重の区分ごとに異なる走行パラメータが設定されるものであり、最適化対象の荷重の区分ごとに走行パラメータを最適化するものであり、走行指示装置は、複数の自動走行装置の各々が搬送する荷物の荷重を観測し、当該複数の走行装置の中から実験走行計画において最適化対象の荷重の荷物を搬送する自動走行装置を実験走行を行う自動走行装置として指定し、指定した当該自動走行装置に対して走行指示を送信する、走行パラメータ最適化システムである。
第2の発明は、第1の発明に従属し、実験走行計画作成装置は、実験走行計画として、走行パラメータを走行毎に変化させた複数回の走行を計画することを特徴とする。
第3の発明は、第2の発明に従属し、走行パラメータは、それぞれ自動走行装置の走行における異なる制御を行うための複数種類のパラメータの組からなり、実験走行計画作成装置は、複数種類のパラメータの全てのうち一部の走行パラメータを最適化対象の走行パラメータとして指定して、当該指定された走行パラメータを走行毎に変化させて、指定された走行パラメータを最適化するための複数回の走行を計画することを特徴とする。
第4の発明は、第3の発明に従属し、実験走行計画作成装置は、複数種類のパラメータの全てのうち指定された走行パラメータ以外の走行パラメータを走行毎に変化させずに、指定された走行パラメータを最適化するための走行として複数回の走行を計画することを特徴とする。
第5の発明は、第3または第4の発明に従属し、実験走行計画作成装置は、複数種類のパラメータの全てのうち最適化対象の走行パラメータとして指定するパラメータを変化させて、指定された走行パラメータ毎に当該指定された走行パラメータを最適化するための走行として複数回の走行を作成することを特徴とする。
第6の発明は、第1から第5の発明までのいずれかに従属し、実験走行計画作成装置は、ベイズ最適化法を用いた実験計画法により実験走行計画を作成することを特徴とする。
第7の発明は、第1から第6の発明までのいずれかに従属し、実験走行計画作成装置は、1回目からN回目までの走行毎における走行パラメータを説明変数とし、1回目からN回目までの走行毎における評価値を目的変数として、ガウス過程回帰により回帰モデルを構築し、当該回帰モデルに基づき獲得関数を算出し、当該獲得関数に基づいてN+1回目の走行の走行パラメータを決定することを特徴とする。
第8の発明は、第1から第7の発明までのいずれかに従属し、走行パラメータ最適化装置は、ベイズ最適化法により最適化された走行パラメータを算出することを特徴とする。
第9の発明は、第1から第8の発明までのいずれかに従属し、走行パラメータ最適化装置は、1回目からM回目までの走行毎における走行パラメータを説明変数とし、1回目からM回目までの走行毎における評価値を目的変数として、ガウス過程回帰により回帰モデルを構築し、当該回帰モデルに基づいて目的変数の期待値が設定値に最も近づく走行パラメータを最適化された走行パラメータとして算出することを特徴とする。
第10の発明は、第1から第9の発明までのいずれかに従属し、走行パラメータ最適化装置が過去に算出した過去の走行パラメータを記憶する走行パラメータ記憶部を備え、実験走行計画作成装置は、実験走行における実験走行計画を作成する際の走行パラメータの初期値として、走行パラメータ記憶部に記憶された過去の走行パラメータを設定可能であることを特徴とする。
11の発明は、第1から第10の発明までのいずれかに従属し、走行パラメータは、速度の区分ごとに異なる走行パラメータが設定されるものであり、最適化対象の速度の区分ごとに走行パラメータを最適化する。
12の発明は、第1から第11の発明までのいずれかに従属し、走行パラメータは、走行ルートごとに異なる走行パラメータが設定されるものであり、最適化対象の走行ルートごとに走行パラメータを最適化する。
13の発明は、第12の発明に従属し、走行指示装置は、自動走行装置に対して当該自動走行装置が最適化対象の走行ルートを走行するように走行指示を送信する。
14の発明は、第1から第13の発明までのいずれかに従属し、評価値は、自動走行装置が指定された線状の走行ルートに沿って走行する際の線状の走行ルートに対する横方向のずれ量を含むことを特徴とする。
15の発明は、第1から第14の発明までのいずれかに従属し、評価値は、自動走行装置が走行する際の加速または減速による加速度の変化の大きさを含むことを特徴とする。
16の発明は、第1から第15の発明までのいずれかに従属し、走行パラメータは、自動走行装置が指定された線状の走行ルートに沿って走行する際の操舵制御のパラメータを含むことを特徴とする。
17の発明は、第1から第16の発明までのいずれかに従属し、走行パラメータは、自動走行装置が走行する際の加速または減速の加速度制御のパラメータを含むことを特徴とする。
18の発明は、走行指示に従って走行する複数の自動走行装置において走行パラメータを最適化するための実験走行を行うことにより、複数の自動走行装置の走行パラメータを最適化する走行パラメータ最適化方法であって、(a)実験走行における実験走行計画を作成するステップと、(b)ステップ(a)において作成した実験走行計画に基づいて、複数の自動走行装置に対して走行指示を送信するステップと、(c)複数の自動走行装置の走行状態を反映した測定値を取得するステップと、(d)ステップ(c)において取得した測定値に基づき評価値を算出するステップと、(e)実験走行においてステップ(d)において算出した評価値に基づき最適化された走行パラメータを算出するステップと、を含み、走行パラメータは、自動走行装置に牽引または積載される荷物の重量である荷重の区分ごとに異なる走行パラメータが設定されるものであり、最適化対象の荷重の区分ごとに走行パラメータを最適化するものであり、ステップ(b)は、複数の自動走行装置の各々が搬送する荷物の荷重を観測し、当該複数の走行装置の中から実験走行計画において最適化対象の荷重の荷物を搬送する自動走行装置を実験走行を行う自動走行装置として指定し、指定した当該自動走行装置に対して走行指示を送信する、走行パラメータ最適化方法である。
この発明によれば、将来の実験計画に基づいて効率的に実験結果を取得し、取得した実験結果に基づいて走行パラメータを最適化するので、パラメータの適正度を効率良く高めることができる。
図1はこの発明の実施例に係る走行パラメータ最適化システムの構成の一例を示す図である。 図2は図1に示す最適化サーバの電気的な構成の一例を示すブロック図である。 図3は図1に示す管理サーバの電気的な構成の一例を示すブロック図である。 図4は図1に示すAGVの外観構成の右側面の一例を示す図である。 図5は図1に示すAGVの外観構成の下面の一例を示す図である。 図6は図1に示すAGVの電気的な構成の一例を示すブロック図である。 図7はAGVの使用環境の一例の概略を示す図である。 図8はAGVが牽引する台車の外観構成の一例を示す図である。 図9はAGVが台車を牽引する場合のAGVと台車の接続状態の一例を説明するための図である。 図10はAGVが台車を牽引する場合のAGVと台車の接続状態の一例を説明するための他の図である。 図11はラインセンサで検出されるAGVの進行方向に対する左右のずれ量を説明するための図である。 図12はAGVに設定される走行パラメータの一部を説明するための図である。 図13は使用環境においてAGVが荷物を搬送する場合の走行ルートおよび荷重の有無の一例の概略を示す図である。 図14は最適化パラメータテーブルの一例を示す図である。 図15は走行パラメータテーブルAの一例を示す図である。 図16は図2に示す最適化サーバのRAMのメモリマップの一例を示す図である。 図17は図3に示す管理サーバのRAMのメモリマップの一例を示す図である。 図18は図2に示す最適化サーバのCPUのパラメータ最適化処理の一例を示すフロー図である。 図19は図3に示す管理サーバのCPUのAGV制御処理の一例の一部を示すフロー図である。 図20は図3に示す管理サーバのCPUのAGV制御処理の他の一部であって、図19に後続するフロー図である。 図21は図3に示す管理サーバのCPUのAGV制御処理のその他の一部であって、図20に後続するフロー図である。
図1は、この発明の実施例に係る走行パラメータ最適化システム(以下、「最適化システム」という)10の構成の一例を示す図である。最適化システム10は、後述する自動走行装置(自律搬送装置または無人搬送装置とも呼ばれる。(以下、「AGV」という))の開発元または納品先に適用され、AGVの走行に関するパラメータ(以下、「走行パラメータ」という)の適正化を行うとともに、AGVの走行を管理および制御する。
ただし、AGVの納品先は、工場または倉庫であり、AGVは、工場または倉庫において、或る拠点から他の拠点まで走行(または移動)する。ここで、拠点とは、AGVの待機場所、荷物の搬送先(積み下ろし場所を含む)および荷物の積載場所を意味する。この実施例では、AGVは、待機場所から荷物の積載場所まで移動したり、積載場所から搬送先まで荷物を搬送したり、搬送先から待機場所に戻ったりする。
図1に示すように、最適化システム10は、最適化サーバ12を含み、最適化サーバ12は、インターネット、WANまたはLANのようなネットワーク14を介して管理サーバ16と通信(送信および/または受信)可能に接続される。また、データベース18が、ネットワーク14上に設けられ、最適化サーバ12および管理サーバ16は、それぞれ、データベース18と通信可能に接続される。
また、管理サーバ16は、複数のAGV20のそれぞれと無線で通信可能に接続される。ただし、AGV20が自律走行または自動走行する工場または倉庫などの場所には、複数のアクセスポイントが設けられ、各AGV20は、アクセスポイントを含む他のネットワーク(上記のネットワーク14とは異なるネットワーク)を介して、管理サーバ16と通信を行う。この実施例では、管理サーバ16と各AGV20が通信するデータには、各AGV20の識別情報が含まれており、AGV20を指定してデータを送信したり、受信したデータからAGV20を特定(識別)したりすることができる。
なお、この実施例では、複数のAGV20を示すが、AGV20は一台でもよい。
さらに、管理サーバ16は、ネットワーク14を介して、複数のコンピュータ22と通信可能に接続される。複数のコンピュータ22は、複数のAGV20が配置される工場または倉庫などの場所の各拠点に配置される。ただし、工場の場合には、コンピュータ22は、各拠点に配置される部品等の製造装置に組み込まれる場合もある。また、倉庫の場合には、コンピュータ22として、棚を管理する者が所持する端末が使用されることもある。
なお、この実施例では、管理サーバ16は、ネットワーク14を介して、複数のコンピュータ22と通信可能に接続されるようにしてあるが、これに限定される必要はない。上述したように、工場または倉庫などの場所には、他のネットワークが設けられるため、管理サーバ16は、この他のネットワークを介して、一部または全部のコンピュータ22と通信可能に接続されてもよい。
また、管理サーバ16と、1または複数のAGV20によって、自動走行システム10aが構成される。
最適化サーバ12は、AGV20の走行パラメータの最適化または適正化を行う走行パラメータ最適化装置と、走行パラメータの最適化または適正化を行うための実験走行における実験走行計画を作成する実験走行計画作成装置と、実験走行において測定された測定値(後述する実験結果)に基づいて評価値を算出する評価値算出装置として機能する装置であり、汎用のサーバを用いることができる。図2は最適化サーバ12の電気的な構成の一例を示すブロック図である。図2に示すように、最適化サーバ12は、CPU30含み、内部バスを介して、RAM32および通信装置34に接続される。図示は省略するが、補助記憶装置のHDDおよびROMなども設けられる。
CPU30は、最適化サーバ12の全体的な制御を司るプロセッサである。RAM32は、最適化サーバ12の主記憶装置であり、CPU30のバッファ領域およびワーク領域として機能する。通信装置34は、イーサネットまたはWi-Fiのような通信方式に従って有線または無線で通信するための通信モジュールである。
なお、後述する管理サーバ16およびAGV20のブロック図を説明する場合には、同じ回路コンポーネントについての説明は省略することにする。
管理サーバ16は、AGV20の走行を管理する装置であり、より具体的には、AGV20の走行(または、移動)を指示または制御する走行指示装置と、AGV20の走行状態を反映した測定値をAGV20から取得する取得装置として機能する装置であり、汎用のサーバを用いることができる。図3に示すように、管理サーバ16は、CPU50を含み、CPU50は内部バスを介してRAM52、第1通信装置54および第2通信装置56に接続される。
管理サーバ16では、第1通信装置54は、ネットワーク14との間で通信するための通信モジュールであり、上記の通信装置34と同じ機能を有する。第2通信装置56は、他の装置(ここでは、AGV20)と無線で通信するための通信モジュールである。第2通信装置56は、LAN接続可能な無線の通信モジュールであり、この通信モジュールの通信方式は、たとえば、Wi-FiまたはZigBee(登録商標)である。
データベース18は、汎用のデータベースであり、この実施例では、最適化サーバ12および管理サーバ16がアクセス可能である。データベース18は、最適化処理を施されたAGV20の走行パラメータおよびAGV20の走行状態(状態データ)の履歴を記憶する。つまり、過去に最適化された走行パラメータがデータベース18に記憶される。AGV20の走行状態は、AGV20の識別情報を対応付けた、AGV20が搬送する荷物の荷重、AGV20の走行速度、AGV20の現在位置、前後揺れ値、振れ幅値、走行ルートおよび実施日時についてのデータである。ただし、これは一例であり、限定される必要はない。この実施例では、上記のようなAGV20の走行状態として記憶し、走行状態に基づいて走行パラメータを最適化することにより、様々な使用環境でAGV20を安定して走行させるようにしてある。たとえば、荷重が同じあっても、直線の走行ルートと曲がり角の多い走行ルートでは、適切な走行パラメータが異なる。
この実施例では、AGV20の走行状態は、AGV20が走行するときに、第1所定時間(この実施例では、2秒)毎に第1所定時間分記憶される。ただし、データベース18に記憶されるAGV20の走行状態は、実験室すなわち実験環境においてAGV20を走行させた場合のAGV20の走行状態または/および工場または倉庫などの場所すなわち使用環境においてAGV20を走行させた場合のAGV20の走行状態である。
AGV20は、自律走行可能なロボットであり、この実施例では、必要に応じて、被牽引物としての台車200を牽引する。台車200の構成については後述する。図4はAGV20の外観構成のうちの右側面についての図であり、図5はAGV20の外観構成のうちの下面についての図である。図4では、右方向がAGV20の前方であり、左方向がAGV20の後方である。また、図5では、上方向がAGV20の前方であり、下方向がAGV20の後方である。
AGV20は、床面または地面と台車200の下面の間に潜り込める低背の直方体形状を有する車本体20aを含み、車本体20aの上部には、台車200を牽引するための左右一対の牽引アーム26が昇降可能に設けられる。詳細な説明は省略するが、牽引アーム26は、油圧シリンダ260と台車200を接続する接続部262で構成され、油圧シリンダ260が油圧駆動装置80によって昇降され、接続部262も昇降される。接続部262は、台車200(または、牽引アーム26)を側面から見た場合に、その端面が凹の字の形状を有している。
なお、使用される台車200は予め決まっているため、牽引アーム26を上昇または下降させる長さは予め決まっている。そして、その長さに応じて、油圧駆動装置80に内蔵される油圧ポンプを駆動する駆動モータの回転数も決まっている。図示は省略するが、油圧駆動装置80は、油圧ポンプおよびこの油圧ポンプを駆動する駆動モータを含む。
また、図4(後述する図8および図9も同じ)では、牽引アーム26が上昇した状態を示してある。
牽引アーム26の接続部262は、前方の第1部分26aと後方の第2部分26bを有し、第1部分26aの上部には近接センサ28が設けられ、第2部分26bの前方側の側面には荷重センサ86が設けられる。
近接センサ84は、一例として、透過型または反射型の光センサであり、台車200をAGV20に接続する際、台車200の下面を検出する。AGV20が台車200(または、台座202)の下に潜り込み、近接センサ84によって台車200の下面の後端が検出されると、AGV20は、その位置からさらに所定の距離だけ前方に設けられる接続位置まで進んで停止する。
台座202の下面には、牽引アーム26が接続(または、係合)される接続部212が配置されている(図9および図10参照)。したがって、AGV20が停止された後に、牽引アーム26を上昇させると、接続部212を構成する板部材212aが牽引アーム26(接続部262)の第1部分26aと第2部分26bの間に配置され、AGV20が移動する場合に、板部材212aが第2部分26bに係合し、したがって、AGV20によって台車200が牽引される。
荷重センサ86は、汎用の荷重センサであり、台車200を牽引する際にAGV20(または、牽引アーム26)にかかる荷重を検出する。ただし、荷重は、台車200を含む荷物の荷重である。以下、この明細書において、台車200および台車200に載せられた荷物の荷重を言う場合には、単に「荷物の荷重」ということにする。
また、図5に示すように、AGV20は、車本体20aの下面に3つの車輪が設けられる。この実施例では、1つの前輪122と左右の後輪124L、124Rが設けられる。1つの前輪122は補助輪であり、車本体20aに対して回動可能に設けられる。左右の後輪124L、124Rは駆動輪であり、車本体20aに対して固定的に設けられる。
したがって、左右の後輪124L、124Rの回転速度を異ならせることにより、AGV20の移動方向を変えることができる。たとえば、左の後輪124Lの回転を停止させ(回転速度を0にし)、右の後輪124Rを回転させる(回転速度を0よりも大きくする)と、AGV20は左旋回する。また、右の後輪124Rの回転を停止させ(回転速度を0にし)、左の後輪124Lを回転させる(回転速度を0よりも大きくする)と、AGV20は右旋回する。
また、車本体20aの内部には、左の車輪モータ78Lおよび右の車輪モータ78Rが設けられる。左の車輪モータ78Lは左の後輪124Lに連結され、右の車輪モータ78Rは右の後輪124Rに連結される。また、車輪モータ78Lおよび78Rは、車輪駆動回路76に接続される。
さらに、車本体20aには、バッテリ94および制御基板100が設けられる。制御基板100には、後述するCPU70、RAM72、通信装置74および慣性センサ90などの回路コンポーネントが組み込まれる。
また、車本体20aの下面には、ラインセンサ88およびRFタグリーダ92が設けられる。この実施例では、ラインセンサ88は、AGV20の前側の端部であり、左右方向における中央に配置される。また、この実施例では、RFタグリーダ92は、AGV20の前後方向における中央から前寄りであり、左右方向における中央から左寄りに配置される。ラインセンサ88およびRFタグリーダ92の配置位置は一例であり、限定される必要はない。
図6は図1に示したAGV20の電気的な構成の一例を示すブロック図である。図6に示すように、AGV20は、CPU70を含み、CPU70はバスを介して、RAM72、通信装置74、車輪駆動回路76、油圧駆動装置80、近接センサ84、荷重センサ86、ラインセンサ88、慣性センサ90およびRFタグリーダ92に接続される。また、車輪駆動回路76は車輪モータ78に接続される。また、上記のバッテリ94は、AGV20の各コンポーネントに接続される。
CPU70およびRAM72は、上述したとおりである。なお、図示は省略するが、AGV20には、RAM72以外のHDDおよびROMなどのメモリも設けられる。RAM72には、AGV20が走行する実験環境または使用環境のマップおよび走行ルートのデータが記憶される。
通信装置74は、他の装置(ここでは、管理サーバ16)と無線で通信するための通信モジュールである。たとえば、通信装置74は、管理サーバ16の第2通信装置56と同じ通信方式(たとえば、Wi-FiまたはZigBee(登録商標))の通信モジュールである。
車輪駆動回路76は、CPU50の指示の下、車輪モータ78の駆動電圧を生成し、生成した駆動電圧を車輪モータ78に印加するための駆動回路である。車輪モータ78は、AGV20の車輪を回転させるためのモータである。図6では省略するが、上述したように、車輪モータ78は、AGV20に設けられる2つの後輪(124L、124R)のうち、左側の後輪124Lを駆動する左側の車輪モータ78Lと、右側の後輪124Rを駆動する右側の車輪モータ78Rで構成される。車輪モータ78Lと車輪モータ78Rは車輪駆動回路76によって個別に駆動され、AGV20は、直進、左旋回、右旋回、加速、減速および停止される。図示は省略するが、車輪モータ78Lおよび車輪モータ78Rのそれぞれにはエンコーダが設けられており、それぞれの回転数がエンコーダで検出され、CPU50に通知される。また、図示は省略するが、車輪モータ78Lの回転軸には左側の後輪124Lが直接接続され、車輪モータ78Rの回転軸には右側の後輪124Rが直接接続される。したがって、CPU50は、車輪モータ78Lおよび車輪モータ78Rの回転数を検出することにより、後輪124Lおよび後輪124Rの回転数を知ることができる。
油圧駆動装置80は、CPU50の指示の下、駆動モータの駆動電圧を生成し、生成した駆動電圧を駆動モータに印加するための駆動回路を含み、駆動モータが、油圧ポンプを駆動し、牽引アーム26の油圧シリンダ260を昇降させる。
近接センサ84は、上述したように、この実施例では、透過型または反射型の光センサである。荷重センサ86は、上述したように、この実施例では、汎用の荷重センサである。
ラインセンサ88は、複数(この実施例では、8個)の検出素子88a、88b、88c、88d、88e、88f、88g、88hが横一列に並べられた磁気センサであり、工場または倉庫内の床面に施設された(または、貼り付けられた)移動用のライン(誘導線またはガイドとも呼ばれる)を検出する。この実施例では、検出素子88a~88hはホール素子であり、隣接する検出素子88a~88hの間隔は所定の長さに設定される。また、ラインは磁気テープで構成され、所定の幅でAGV20が移動(または、走行)可能なコース上に設けられる。したがって、AGV20は、後述するように、ラインに沿って移動する。
慣性センサ90は、加速度センサであり、AGV20の加速度を検出する。この実施例では、慣性センサ90は、AGV20の急加速および急減速の回数を検出するのに用いられる。したがって、加速度センサとしては、AGV20の前後方向についての加速度を検出可能な1軸の加速度センサを用いることができる。この加速度センサで検出される加速度の第1所定時間(この実施例では、2秒)における平均値を、第1所定時間で積分することにより、AGV20の走行速度を知ることができる。ただし、AGV20の走行速度は、管理サーバ16が算出するようにしてもよい。
RFタグリーダ92は、倉庫内の床面に施設された(または、貼り付けられた)RFIDタグのタグ情報を読み取る。この実施例では、RFIDタグは、ラインの近傍であり、AGV20に通常の移動とは異なる所定動作を行わせたい位置に施設される。所定動作を行わせたい位置は、たとえば、拠点の位置、旋回動作(左旋回、右旋回)をさせたい位置および走行速度(加速、減速)を変更させたい位置が該当する。ただし、拠点の位置は、AGV20の停止位置である。
したがって、AGV20は、RFタグリーダ92によってRFIDタグのタグ情報を読み取り、読み取ったタグ情報に基づいて管理サーバ16とやり取りする。管理サーバ16は、各AGV20の位置(すなわち、現在位置)を把握して走行指示を各AGV20に送信し、所定の位置で所定動作(停止、左旋回、右旋回および速度変更(すなわち加速および減速))の指示を各AGV20に送信する。
また、各AGV20は、自身の走行ルートを把握しており、また、車輪モータ78の回転数を知ることができる。このため、各AGV20は、タグ情報を読み取れない場所においては、タグ情報を読み取ってからの車輪モータ78の回転数に基づいて移動した距離を算出し、マップのデータを参照することにより、現在位置を知ることができる。
バッテリ94は、充電可能な2次電池であり、一例として、リチウムイオン電池を用いることができる。バッテリ94は、AGV20の各回路コンポーネントに電力を供給する。図6では、信号線と区別するために電線を破線で示してある。
このような構成の最適化システム10では、管理サーバ16は、走行ルートを指定するとともに、予め用意された走行パラメータを用いてAGV20の走行を制御する。AGV20は、配置された工場または倉庫などの場所において、無荷重で、または、台車200を牽引して移動する。
AGV20が配置および走行される場所の一例が図7にされる。図7において、待機場所は、荷物の搬送を行っていない、1または複数のAGV20が待機する位置ないし領域である。積み下ろし場所は、荷物を他の場所に配送(または、出荷)するための荷物を集める場所である。マットリックス状に記載された実線は、AGV20が配置および走行される場所に設けられたラインである。上述したように、AGV20は、ラインに沿って走行するため、マトリックス状に記載された実線は、AGV20が走行するコースとも言える。また、ライン上に記載した点A、B、C、D、E、F、G、H、I、J、KおよびLは、曲がり角または交差点である。また、括弧書きの数字が付された四角形の枠は、工場または倉庫などの場所に配置された装置または棚を示す。
装置または棚を管理する者から荷物を搬送する要求(以下、「搬送要求」という)が有ると、管理サーバ16は、空いているAGV20を制御して荷物を搬送する。装置または棚を管理する者は、搬送先を指定して搬送要求を出す。ただし、装置は自動的に搬送要求を出すようにしてもよい。棚を管理する者は、自身が所持する端末(コンピュータ22に相当する)を用いて搬送要求を出す。また、搬送要求は、管理サーバ16の管理者が管理サーバ16に入力してもよい。
管理サーバ16は、搬送要求があると、AGV20の走行ルートを決定する。詳細な説明は省略するが、管理サーバ16は、予め設定された複数の走行ルートのうち、最短距離であり、他のAGV20の走行に影響しない走行ルートを選択する。
管理サーバ16は、図7に示すような場所についてのマップのデータを記憶しており、AGV20の現在位置(この実施例では、待機場所、積載場所または搬送先)から移動先または目的位置(この実施例では、積載場所、搬送先または待機場所)の2つの拠点間の最短の走行ルートを、他のAGV20の現在位置および移動先を考慮して選択する。ただし、走行ルートは、2つの拠点に応じて予め決定されていてもよい。
また、管理サーバ16が決定した走行ルートは、走行ルートの始点および終点と、走行ルートに沿って移動する場合に通過または方向転換する位置に対応する複数の点(点A~点Lのいずれか2つ以上)を時系列に従って並べた情報である。
たとえば、(3)の装置または棚を管理する管理者から(6)の装置または棚を指定した搬送要求があると、管理サーバ16は、待機場所から(3)の装置または棚までの走行ルートを決定する。一例として、走行ルートとして、待機場所、点A、点B、点Eおよび(3)の装置または棚の位置の識別情報を時系列に並べた情報が決定される。そして、管理サーバ16は、決定した走行ルートと、待機場所から(3)の装置または棚までの走行パラメータを含む走行指示を、空いているAGV20に送信する。つまり、この実施例では、走行指示は、AGV20の識別情報、走行ルートおよび走行パラメータを指定するための情報(「走行パラメータ指定情報」に相当する)を含む。
AGV20が走行ルートに沿って待機場所から(3)の装置または棚まで移動すると、荷物が積載される。ただし、AGV20の走行中では、管理サーバ16は、AGV20の現在位置に応じて所定動作を実行するための動作指示を送信する。以下、AGV20の走行中において、同じである。また、この実施例では、「積載」とは、AGV20が、荷物が載せられた台車200を牽引アーム26に接続することを意味する。AGV20は、荷物が積載されたことを管理サーバ16に通知する。ただし、荷物が積載されたことは、装置または棚の管理者から管理サーバ16に通知されてもよい。
AGV20は、上述したように、自身が配置された工場または倉庫などの場所についてのマップのデータをRAM72に記憶しており、マップは、上述したコース、曲がり角および交差点の位置、待機場所および積み下ろし場所の情報を含む。したがって、AGV20は、管理サーバ20から走行指示を受信すると、RAM72に記憶しているマップのデータを参照しながら、走行指示に含まれる走行ルートに従って走行する。このとき、車輪モータ78の駆動が、走行指示に含まれる走行パラメータに基づいて制御される。
ただし、AGV20は、走行中において、第1所定時間毎に、自身の走行状態(AGV20の走行状態)を管理サーバ16に送信(または、通知)し、管理サーバ16はAGV20の走行状態を受信(または、取得)し、その都度または或る程度まとめて、AGV20の走行状態をデータベース18に送信する。
したがって、管理サーバ16は、AGV20が搬送中の荷物(台車200を含む)の荷重を知ることができる。また、管理サーバ16は、第1所定時間毎のAGV20の現在位置およびAGV20の走行速度を知ることができる。
また、管理サーバ16は、荷物が積載されたことの通知を受けると、(3)の装置または棚から(6)の装置または棚までの走行ルートを決定する。一例として、走行ルートとして、(3)の装置または棚の位置、点H、点Iおよび(6)の装置または棚の位置の識別情報を時系列に並べた情報が決定される。そして、管理サーバ16は、決定した走行ルートと、(3)の装置または棚から(6)の装置または棚までの走行パラメータを含む制御信号を、荷物を積載したことの通知を受信したAGV20に送信する。
AGV20が走行ルートに沿って(3)の装置または棚から(6)の装置または棚まで移動すると、(6)の装置または棚の位置で荷物が下ろされる。この実施例では、AGV20は、荷物が載せられた台車200と牽引アーム26の接続状態を解除する。AGV20は、荷物が下ろされたことを管理サーバ16に通知する。ただし、荷物が下ろされたことは、装置または棚の管理者から管理サーバ16に通知されてもよい。
管理サーバ16は、荷物が下ろされたことの通知を受けると、(6)の装置または棚から待機場所までの走行ルートを決定する。一例として、走行ルートとして、(6)の装置または棚の位置、点L、点K、点J、点G、点Dおよび待機場所の識別情報を時系列に並べた情報が決定される。そして、管理サーバ16は、決定した走行ルートと、(6)の装置または棚から待機場所までの走行パラメータを含む走行指示を、荷物を下ろしたことの通知を受信したAGV20に送信する。
したがって、AGV20が走行ルートに沿って(6)の装置または棚から待機場所まで移動する。つまり、荷物の搬送を終えたAGV20は、待機場所に戻る。
なお、これは一例であり、或る拠点から他の拠点まで荷物を搬送したAGV20を、さらに、他の拠点から別の拠点まで荷物を搬送させるようにしてもよい。また、荷物の搬送先は、積み下ろし場所であってもよい。
ここで、この実施例の台車200について説明する。図8に示すように、この実施例の台車200は、ロールボックス台車であり、ロールボックスパレットまたはかご台車とも呼ばれる。台車200は、台座202を含み、台座202の下面の四隅のそれぞれに自在輪であるキャスター204が設けられる。また、台座202の上面には、かご206が設けられる。
図9は台車200を牽引可能に接続したAGV20を右側面から見た図であり、図10は台車200を牽引可能に接続したAGV20を後側面から見た図である。図9および図10では、牽引アーム26および接続部212を示すために、台座202を鎖線で示すことにより、それらを透視状態にしてある。また、図9および図10では、牽引アーム26および接続部212の接続状態を示すために、接続部212については断面を示してある。さらに、図9および図10では、かご206の上部の一部を省略してある。
図9および図10に示すように、台車200の台座202の下面の前端部には、牽引アーム26を接続するための左右一対の接続部212が設けられている。接続部212は、断面が四角形の筒状に形成され、下端は解放された開口を有している。したがって、上述したように、AGV20の牽引アーム26が上昇されると、その第2部分26bが開口から接続部212の内部に侵入する。このため、AGV20が移動する場合に、牽引アーム26が接続部212に係合し、台車200がAGV20に追従して移動する。また、接続部212は、筒状に形成されるため、台車200が蛇行した場合であっても、牽引アーム26が接続部212から離脱しない。
上述したように、AGV20は、ラインに沿って移動する。AGV20が牽引する台車200に荷物が積載されると、AGV20よりも質量が大きくなることがある。一例として、荷物を積載した台車200の質量は、AGV20の質量の2~4倍程度になることがある。この場合、台車200の質量の分だけ台車200が大きな慣性力を持つこととなり、台車200の直進安定性の低さとあいまって、急激な進行方向の変化の際に台車200の慣性力によってAGV20が進行すべき方向からずれてしまう場合がある。このような場合、一旦、蛇行が始まると次第に揺れ幅が増大し、蛇行は収束せずに、台車200に比べて質量の小さいAGV20では台車200の走行を制御できず、極端な場合、AGV20は走行ルートから完全に逸脱してしまうことがある。
なお、台車200は、狭い空間での定置旋回(すなわち、スピンターン)などの取り回し性を考慮してすべての車輪が自在輪のキャスター204にされる。このため、上記のように、直進安定性が低い。
したがって、この実施例のAGV20では、自動走行する際、PID制御による公知のフィードバック制御の手法を用いて、ラインに対するAGV20の位置ずれを補正するように、左右の駆動輪すなわち後輪124Lおよび124Rの回転方向および回転速度を算出する処理を行う。
ラインに対するAGV20の位置ずれは、ラインセンサ88の出力に基づいて検出される。上述したように、ラインセンサ88は、検出素子88a~88hが横一例に並んで構成される。ただし、AGV20の進行方向に垂直な方向が検出素子88a~88hが並ぶ方向(すなわち、横(左右)方向)である。
図11はラインに対するAGV20の位置ずれを説明するための図である。図11では、右上部に、ラインセンサ88における検出素子88a~88hの並びを示してある。また、図11に示す例では、AGV20を省略し、ラインセンサ88のみを示してある。さらに、図11に示す例では、図11の上方がAGV20の進行方向であり、以下の説明では、その進行方向を基準に左方向および右方向という。さらにまた、図11に示す例では、ラインを検出している検出素子88a~88fに「1」を記載し、ラインを検出していない検出素子88a~88fに「0」を記載してある。また、図11では、ラインを灰色で示してある。
ラインの横幅の中央とラインセンサ88の横幅の中央が一致している場合に、AGV20の横幅の中央の位置(以下、「中央位置」という)が、ラインの横幅の中央の位置(以下、「基準位置」という)と一致する。この場合、AGV20はラインに沿って真っすぐ進行している。また、このとき、中央位置と基準位置のずれ量は0であり、図11に示すように、検出素子88c~88fはラインを検出しているが、検出素子88a、88b、88gおよび88hはラインを検出していない。
左方向へのずれ量が1である場合には、検出素子88d~88gはラインを検出しているが、検出素子88a~88cおよび88hはラインを検出していない。右方向へのずれ量が1である場合には、検出素子88b~88eはラインを検出しているが、検出素子88aおよび88f~88hはラインを検出していない。
説明は省略するが、同様に、左方向および右方向のそれぞれにずれ量が2~6である場合について図示してある。
なお、図11では、AGV20がラインに対して左右に平行にずれているように示してあるが、上述したように、AGV20が蛇行するため、実際には、ラインに対してAGV20の進行方向が左方向または右方向に傾き、それに従ってラインセンサ88も傾き、ラインを検出する検出素子88a~88hが変化する。
また、この実施例では、フィードバック制御の手法として、PID制御を用いるようにしてあるが、他の実施例では、PI制御、P制御、オンオフ制御、PD制御を用いることもできる。
ここで、PID制御とは、目標値に対する出力のずれ量(偏差)に基づいて、この偏差の比例(P:Propotion)、積分(I:Integral)および微分(D:Differential)の3つの要素を好適な割合で組み合わせてフィードバックする制御手法である。この実施例では、AGV20がラインに沿って走行するように、偏差の比例要素のフィードバック量、積分要素のフィードバック量および微分要素のフィードバック量の比率を適宜選択する。
ただし、PID制御による操舵制御の走行パラメータが適切でない場合、台車200が大きく蛇行してしまう。このような場合、PID制御を行ったとしても、AGV20がラインに沿って走行せずに、ラインから外れてしまうことがある。また、PID制御による加速制御の走行パラメータが適切でない場合、進行方向に急激に加速したり、急激に減速したりすることもある。
したがって、この実施例では、AGV20の走行状態に応じた適切な走行パラメータを算出し、これを用いてAGV20の移動を制御することにより、台車200が大きく蛇行したり、急激に加速または減速したりすることを未然に防止し、AGV20を、PID制御により、ラインに沿って確実に滑らかに移動させることができるようにしてある。
次に、AGV20の走行パラメータ、走行パラメータの最適化処理および最適化された走行パラメータを用いたAGV20の走行制御のそれぞれについて説明する。
図12はAGV20の走行パラメータの一例を示すテーブルである。図12に示すように、走行パラメータは、それぞれAGV20の走行における異なる制御を行うための複数種類のパラメータ(以下、各々のパラメータを「個別パラメータ」ということがある)の組からなり、各個別パラメータに対応して、最小値、最大値および代表値が記述される。ただし、図12に示す複数の個別パラメータは、走行パラメータの一部であり、他にも多数の個別パラメータが設けられる。図12に示す複数の個別パラメータは、AGV20の走行をPID制御によるフィードバック制御を行うためのPID走行制御パラメータと、それ以外の基本走行パラメータに大別される。
PID走行パラメータとしては、軌道ずれ量についてのPID走行制御パラメータである、Pゲイン調整(操舵P値)、Iゲイン調整(操舵I値)およびDゲイン調整(操舵D値)の各個別パラメータ、およびモータ回転数についてのPID走行制御パラメータである、Pゲイン調整(速度P値)、Iゲイン調整(速度I値)およびDゲイン調整(速度D値)の各個別パラメータを含み、これらの個別パラメータは、さらに、各走行速度について設定される。この実施例では、走行速度(分速)は、最小値が5m/minであり、最大値が100m/minであり、各走行速度は5m/min刻みで設定される。つまり、これらのパラメータは、各重量の区分に対応した異なるパラメータの組が設定される。
ここで、軌道ずれ量についてのPゲイン調整、Iゲイン調整およびDゲイン調整の各個別パラメータとは、軌道ずれ量が0に近づくように左右の車輪の回転数の差の大きさを制御することにより、AGV20がラインに沿って走行するように、AGV20の左右の進行方向を制御するための操舵制御パラメータである。
また、モータ回転数についてのPゲイン調整、Iゲイン調整およびDゲイン調整の各個別パラメータとは、モータ回転数(すなわち、AGV20の速度)が目標値に近づくように左右の車輪の回転数の平均値の大きさを制御し、AGV20が目標の速度で走行するように、AGV20の左右の進行方向を制御するための速度制御パラメータである。
つまり、AGV20の左右の車輪の回転数は、モータ回転数の走行パラメータのPID制御により算出した左右の車輪の回転数の平近値に対して、軌道ずれ量の走行パラメータのPID制御により算出した左右の車輪の回転数の差の大きさだけそれぞれ減算および加算することにより算出される。
軌道ずれ量のPゲイン調整、Iゲイン調整およびDゲイン調整のパラメータは、基準位置に対する中央位置のずれを調整するためのパラメータであり、Pゲイン調整およびDゲイン調整は、値が大きいほど軌道ずれ量の修正力が強く、Iゲイン調整は、値が小さいほど軌道ずれ量の修正力が強い。これらの個別パラメータによって、軌道ずれ量が0に近づくように左右の車輪モータ78L、78Rの回転数の差が制御される。つまり、AGV20がラインに沿って走行するようにAGV20の操舵が制御される。この制御によってAGV20が蛇行を繰り返すことによる横方向の揺れが小さくなり、AGV20が滑らかに走行することが可能となる。
モータ回転数のPゲイン調整(速度P値)、Iゲイン調整(速度I値)およびDゲイン調整(速度D値)のパラメータは、左右の車輪モータ78L、78Rの回転数の平均値、すなわちAGV20の速度の目標値に対するずれ量を調整するためのパラメータであり、Pゲイン調整およびDゲイン調整は、値が大きいほど速度の目標値に対するずれ量の修正力が強く、Iゲイン調整は、値が小さいほど速度の目標値に対するずれ量の修正力が強い。これらの個別パラメータによって、左右の車輪モータ78L、78Rの回転数の平均値、つまり、AGV20の速度が制御される。この制御によってAGV20の加速および減速による縦揺れが小さくなり、AGV20が滑らかに走行することが可能となる。
なお、後述するように、軌道ずれ量およびモータ回転数のそれぞれについての、Pゲイン調整、Iゲイン調整およびDゲイン調整の各個別パラメータは、後述するように、AGV20の左右方向に旋回を交互に繰り返す蛇行に関する評価値(揺れ幅値)と前後方向に加速と減速を繰り返す前後揺れの大きさに関する評価値(前後揺れ値)を小さくするように設定される。その理由は、Pゲイン調整、Iゲイン調整およびDゲイン調整の各個別パラメータが適切でない場合、走行をつづけているうちに蛇行または前後揺れが増幅していき、最終的にAGV20の走行支障をきたしてしまうためである。
また、基本走行パラメータとして、AGV走行速度、加速度、減速度、スピン速度、スピン加速度、脱線時停止距離、障害物検知による停止減速度の各個別パラメータをさらに含む。これらのパラメータは、さらに、各重量について設定される。この実施例では、荷重は、最小値が0kg(荷重無し)であり、最大値が200kgであり、各重量は10kg刻みで設定される。つまり、これらのパラメータは、各重量の区分に対応した異なるパラメータの組が設定される。
AGV走行速度のパラメータは、AGV20の走行目標速度(m/min)についての個別パラメータであり、この個別パラメータによって、左右の車輪モータ78L、78Rの平均回転数が制御される。
加速度のパラメータは、AGV20が目標速度に到達するまでの加速度(mm/sec2)についての個別パラメータであり、この個別パラメータによって、左右の車輪モータ78L、78Rの平均回転数が制御される。
減速度のパラメータは、AGV20が目標速度に到達するまでの減速度(mm/sec2)についての個別パラメータであり、この個別パラメータによって、左右の車輪モータ78L、78Rの平均回転数が制御される。
スピン速度のパラメータは、AGV20がスピン(つまり、左旋回または右旋回)するときの角速度(deg./sec)についての個別パラメータであり、この個別パラメータによって、左右の車輪モータ78L、78Rの回転数が制御される。
スピン加速度のパラメータは、AGV20がスピンを開始するときの各加速度(deg./sec2)についての個別パラメータであり、この個別パラメータによって、左右の車輪モータ78L、78Rの回転数が制御される。
基本走行制御パラメータとPID走行制御パラメータの関係について以下に述べる。基本走行制御パラメータのみで左右の車輪モータ78L、78Rの回転数を算出することを試みる場合、ラインに沿って蛇行せずに走行することや、急加速や急減速のない目的の速度で滑らかに走行させることができない。このため、左右の車輪モータ78L、78Rの回転数をPID走行制御パラメータを用いてPID制御によるフィードバック制御を行うことにより、ラインに沿って蛇行せずに走行することや、急加速や急減速のない目的の速度で滑らかに走行させることを可能としている。
次に、走行パラメータの最適化処理について説明する。ただし、走行パラメータの最適化は、AGV20が配置および使用される工場または倉庫などの場所に適した走行パラメータを設定することが目的である。
走行パラメータの最適化の処理は、AGV20の走行状態に対応して割り当てられた走行パラメータ毎に実行される。上述したように、AGV20の走行状態は、搬送している荷物の荷重、AGV20の走行速度、AGV20の現在位置、前後揺れ値、振れ幅値、走行ルートおよび実施日時が該当する。
以下においては、AGV20の走行状態として、AGV20が搬送している荷物の荷重のみに着目して、走行パラメータの最適化の処理について説明するが、実際の最適化の処理では、他の走行状態、すなわち、AGV20の走行速度、AGV20の現在位置、およびAGV20の走行ルートについても考慮される。
走行パラメータの最適化処理を実行する場合には、AGV20の走行状態に応じて割り当てた走行パラメータを用いて、所定の走行ルートでAGV20を複数回走行させ、走行時における前後の揺れ(縦揺れ)の値(以下、「前後揺れ値」という)と、左右の揺れ(横揺れ)幅の値(以下、「揺れ幅値」という)を評価値として計測し、評価値が最も高くなるように、走行パラメータが最適化される。ただし、或る個別パラメータの最適化処理を実行する場合には、他のすべての個別パラメータは固定値に設定される。たとえば、軌道ずれ量のPゲイン調整の個別パラメータを最適化する場合には、これ以外の他の個別パラメータの値は固定にされる。他の個別パラメータを最適化する場合についても同様である。
ここで、前後揺れ値は、走行時においてAGV20が急激に加速または急激に減速した回数(または、度合い)を意味する。上述したように、慣性センサ(加速度センサ)90の出力に基づいて、急激に加速または急激に減速したことが判断される。また、急激に加速または急激に減速した回数は、第2所定時間(たとえば、10msec)毎にカウントされる。
また、揺れ幅値は、走行時においてAGV20の中央位置がラインの基準位置からずれるずれ量(度合)である。ずれ量は、図11を参照して説明したとおりであり、この実施例では、走行中に第2所定時間毎に検出されるずれ量の第1所定時間毎の平均値(または、最大値)が揺れ幅値として計測される。ただし、ずれ量が6を超える場合には、ラインセンサ88で検出できないため、その場合には、ずれ量は6にされる。
なお、実験室での実験結果データに基づいて走行パラメータの最適化を行う方法としては、一例として、蓄積された実験結果を周知のベイズ推定法に当て嵌めることにより行う方法がある。実験結果データに基づいて走行パラメータの初期値を設定する場合には、AGV20を工場から出荷するまでに最適化の処理(以下、「最適化処理」ということがる)が実行される。
また、他の実施例では、既に工場または倉庫などの場所で使用されている、同類のAGVに設定される走行パラメータを初期値として設定することもできる。ただし、この走行パラメータは、AGV20が搬送する荷物の荷重に応じた走行パラメータである。
ここで、ベイズ推定法を用いて実験結果データを最適化する方法について説明する。最適化の対象となる実験結果データが入力され、最適化の条件が設定される。最適化の条件は、出力定義および目的関数であり。この実施例では、出力定義は、荷重範囲(たとえば、0~50、50~100、100~150、150~200Kg)であり、目的関数は前後揺れ値と振れ幅の和である。したがって、実験結果データに対して最適化処理が施されると、走行状態(ここでは、荷重の範囲)毎に、目的関数で指定された条件すなわち前後揺れ値と振れ幅の和がの期待値が最小となる走行パラメータを走行パラメータとして算出される。
[初期値の決定]
まず、走行パラメータの初期値が決定される。走行パラメータの初期値とは、走行パラメータの最適化前に設定される暫定の走行パラメータである。走行パラメータの初期値は、AGV20が通常に走行する限りにおいてはどのような数値を入力してもよいが、可能なかぎり尤もらしい数値を入力した方が走行パラメータを最適化するための実験の回数を減らすことができるので望ましい。一例として、走行パラメータの初期値は、実験環境(実験室)において、AGV20の走行試験を事前に行うことにより得られた実験結果のデータ(以下、「実験結果データ」という)に基づいて過去に最適化した走行パラメータを走行パラメータの初期値に代入することにより設定することができる。
このとき、AGV20が搬送している荷物の荷重は、実験計画として設定された荷重である。一例として、データベース18に実験結果データに基づいて最適化した走行パラメータおよび走行ルートやAGVの構成などの実験条件を記録しておき、走行ルートやAGVの構成などの実験条件が近い過去に最適化した走行パラメータを走行パラメータの初期値に代入することにより設定してもよい。その理由は、実験条件が近い過去に最適化した走行パラメータはある程度尤もらしい数値であるとみなせるからである。
[実験計画の作成]
次に、最適化サーバ12は、走行パラメータの初期値と事前に設定された実験計画作成条件に基づき実験計画を作成する。ここでいう実験計画作成条件とは、一例としては、1つの走行パラメータを最適化するための実験回数などである。また、荷重範囲ごとにそれぞれ対応した複数の走行パラメータの数値の組が設定される。
この実施例においては、走行パラメータの最適化は、一つの荷重範囲毎、一つの個別パラメータ毎に、設定された実験回数の実験走行を繰り返すことにより行われる。なお、本実施例では説明を割愛するが、複数の荷重範囲、複数の個別パラメータを同時に最適化することも可能である。
最適化サーバ12は、最適化を行う一つの荷重範囲および一つの個別パラメータを選択する。そして、選択した荷重範囲に対応する複数の走行パラメータの数値の組のうち選択した一つの個別パラメータの値を変数値として設定し、その他の個別パラメータを固定値として設定する。
そして、選択した一つの個別パラメータを変数値として変化させて設定された実験回数分の評価値のサンプルを取得するための実験走行を行うための実験計画を作成する。なお、その他の個別パラメータを固定値として初期値を代入する。
複数回の実験走行のうち、最初の1回目の実験走行においては、選択した一つの個別パラメータの変数値として初期値を設定し、2回目以降の実験走行においては、Beysian Optimization(ベイズ推定法)を用いたDesign of Experiments(実験計画法)により、選択した一つの個別パラメータの変数値を設定する。
一例としては、実験結果を周知のGausian Process Regression(ガウス過程回帰)の推定エンジンに当て嵌めることにより、次の実験に使用する走行パラメータを推定する。たとえば、操舵P値を変数として選択した場合、操舵P値を説明変数とし、前後揺れ値と振れ幅値の和を目的変数として、ガウス過程による回帰により説明変数と目的変数との間で回帰モデルを構築する。そして、回帰モデルに基づき獲得関数(acquisition function)を算出し、獲得関数に基づき次の実験に使用する走行パラメータを算出する。
次の実験に使用する走行パラメータにおいて選択した一つの個別パラメータの変数値を設定するということは、言い換えると既存のサンプルに基づき次のサンプルとして目的変数を改善するために妥当なサンプルを設定することに相当する。
獲得関数とは、サンプル候補の妥当性を評価するための指標であって、具体的には、Probability of Improvement (PI)、Expected Improvement (EI)、またはMutual Information (MI)などを適用することができる。一例としては、Probability of Improvement (PI)においては、サンプル候補が回帰モデルを改善する可能性の大きさに基づきサンプル候補の妥当性を評価する。
つまり、最適化サーバ12は、1回目の走行では、変数として選択した走行パラメータとして初期値を設定する。そして、最適化サーバ12は、1回目からN(Nは1以上の整数)回目までの走行毎に使用した走行パラメータを説明変数とし、1回目からN回目までの走行毎に評価した評価値を目的変数として、ガウス過程回帰により回帰モデルを構築し、構築した回帰モデルに基づき獲得関数を算出し、獲得関数に基づいてN+1回目の走行の走行パラメータすなわち次の実験に使用する走行パラメータを決定(推定)する。
このようにして、実験走行計画として、走行パラメータを走行毎に変化させた複数回(実験回数分)の走行が計画される。実験走行計画とは、具体的には、複数の固有パラメータのうち、変数値として選択した固有パラメータを複数回の実験走行毎にBeysian Optimization(ベイズ推定法)を用いたDesign of Experiments(実験計画法)により決定された値とし、それ以外の固有パラメータを固定値とした走行パラメータの計画である。
上述したように、実験開始当初では、走行パラメータの初期値が設定され、2回目以降では、後述するように、実験結果データに基づいた実験計画法により走行パラメータが自動的に設定される。このようにして、実験走行計画として、走行パラメータを走行毎に変化させた複数回(実験回数分)の走行が計画される。
[実験走行の実施]
最適化サーバ12は、実験走行計画として荷重値の範囲と複数回の実験走行における各走行における走行パラメータを管理サーバ16に送信する。
管理サーバ16は、AGV20から走行状態を取得し、各AGV20が搬送する荷物の荷重、および走行状況(または、使用状況)を観測する。そして、使用されていない(走行命令を実施していない)すなわち待ち状態であり、かつ、実験走行計画における荷重値の範囲の荷重の荷物を搬送するAGV20を、実験走行を行うAGV20として指定する。そして、管理サーバ16は、指定したAGV20に、実験走行計画を行うための移動ルートを指定する移動命令と移動ルートを走行するための走行パラメータを指定する制御信号を送信する。
AGV20は、制御信号に従って工場または倉庫などにおける指定された走行ルートを指定された走行パラメータにより走行し、実験結果として、前後揺れ値と、振れ幅値を検出する。前後揺れ値および揺れ幅値は、それぞれ、第1所定時間よりも短い第2所定時間(たとえば、10msec)毎に検出され、測定される。ただし、実験結果は第1所定時間毎に、管理サーバ16に送信される。
上記のように、実験走行が実験回数だけ実行される(つまり、繰り返される)ことにより、設定された実験回数分の実験結果データが取得される。なお、実験結果データは、その都度、または、実験走行が実験回数だけ実行されてから最適化処理が実行されるまでの適宜のタイミングでまとめて、管理サーバ16からデータベース18に記憶される。
[最適パラメータの算出]
また、最適化サーバ12は、実験結果をベイズ推定法に当て嵌めることにより、走行パラメータの最適化を行い、最適化された走行パラメータ(または、対象の個別パラメータ)を記憶する。具体的には、最適化サーバ12は、M回の実験走行が行われた場合に、1回目からM(Mは2以上の整数)回目までの走行毎に使用した走行パラメータを説明変数とし、1回目からM回目までの走行毎に評価した評価値を目的変数として、ガウス過程回帰により回帰モデルを構築し、構築した回帰モデルに基づいて目的変数の期待値が設定値に最も近づく走行パラメータを最適化された走行パラメータとして算出する。つまり、最適化サーバ12は、管理サーバ16からデータベース18に記憶される実験結果に基づき評価値を算出し、算出した評価値に基づいて最適化された走行パラメータを算出する。設定値としては、AGV20の走行にとって好ましい状態の値を設定する。例えば、目的変数(評価値)を前後揺れ値と振れ幅値の和とする場合には、目的変数(評価値)が小さければ小さいほどAGV20の走行にとって好ましい状態である。このような場合、設定値として0が設定され、これにより目的変数(評価値)が最小となる走行パラメータ走行パラメータを最適化された走行パラメータとして算出する。また、別の例としては、目的変数(評価値)が大きければ大きいほどAGV20の走行にとって好ましい状態である場合には、設定値として無限大と同等とみなせる程に十分に大きい値が設定され、これにより目的変数(評価値)が最大となる走行パラメータ走行パラメータを最適化された走行パラメータとして算出する。目的変数が最大または最小となる説明変数の期待値を最適化した走行パラメータとして算出するのは、評価の仕方で評価値の大小が逆になるからである。ただし、実験走行は、様々な荷重について行われており、各荷重についての実験結果がデータベース18に記憶されている。したがって、走行パラメータの最適化処理は、各荷重の範囲について、目的関数の期待値が設定値に最も近づく走行パラメータを算出することにより行われる。
なお、上述のように走行パラメータの最適化は、一つの個別パラメータ毎、一つの荷重範囲毎に、設定された実験回数の実験走行を繰り返すことにより行われるものである。一つの個別パラメータに対して、一つの荷重範囲について、最適パラメータが算出された後は、他の一つの個別パラメータに対して、一つの荷重範囲について、最適パラメータが算出されるように、最適化サーバ12は、最適化を行う一つの荷重範囲または一つの個別パラメータの選択を変化させて、上述の実験計画の作成から最適パラメータの算出までを繰り返し実行する。このようにして、最終的には全ての個別パラメータに対して、全ての荷重範囲について、最適パラメータが算出される。
[最適化パラメータを用いたAGV20の走行制御]
次に、AGV20の走行制御について説明する。ここでは、AGV20が工場または倉庫などの場所において、最適化パラメータを用いて、実際に荷物を搬送する場合の走行制御を説明する。この実施例では、最適化処理を施された走行パラメータを使用して、使用環境におけるAGV20の走行が制御される。また、上述したように、搬送要求は、管理サーバ16の管理者が入力してもよい。したがって、使用環境においてAGV20が走行される場合には、少なくとも、管理サーバ16とAGV20が通信可能に接続された自動走行システム10aがその使用環境に適用される。
図13は、装置(2)から装置(3)まで荷物を搬送する、装置(2)からの搬送要求に応じて、指定されたAGV20が待機場所から積載場所まで移動し、積載場所から搬送先まで荷物を搬送し、搬送先から待機場所に帰還するまでの各走行ルートの例を示す。
なお、図13では、荷重をAGV20の上に記載することにより、AGV20が台車200を牽引していることを示してある。また、図13では、旋回する点であっても単に通過するように記載してあるが、実際には、図7に示したように、左旋回または右旋回する点も含まれる。
したがって、図13に示す走行ルートの例では、図7も参照して分かるように、管理サーバ16からの制御信号に基づいて、指定されたAGV20は、まず、待機場所から直進して点Aおよび点Bを通過し、点Cで左旋回して、積載場所である装置(2)が配置される場所まで直進する。次に、このAGV20は、荷物を積載して(つまり、台車200を牽引可能に接続して)、積載場所から直進して点Fに向かい、点Fで左旋回し、点Eまで直進して、点Eで右旋回し、点Eから搬送先である装置(3)が配置される位置まで直進する。そして、このAGV20は、搬送先で、台車200の接続状態を解除し、搬送先から直進で点Hに向かい、点Hで左旋回し、点Gまで直進して、点Gで左旋回し、点Gから直進して点Dを通過し、待機場所に戻る。
この場合、待機場所から積載場所まで走行する場合と、搬送先から待機場所まで走行する場合(ここでは、これらの場合をまとめて「場合1」という)では、AGV20は台車200および荷物を牽引していない。一方、積載場所から搬送先までの走行する場合(ここでは、「場合2」という)では、AGV20は台車200および荷物を牽引している。したがって、場合1と場合2とでは、少なくとも荷重が異なる。
また、直線が多い長い走行ルートでは、高速で走行しても安全であるため、走行開始の直後において大きく加速させ、比較的高速で移動させ、走行ルートの中盤を越えたあたりから次第に減速させることが考えられる。一方、カーブが多い短い走行ルートでは、高速で走行すると蛇行し易く危険であるため、走行開始の直後において直進する場合よりも小さく加速させ、直進する場合よりも低速で移動させ、走行ルートの終盤で減速させることが考えられる。
このように、走行ルート毎であり、荷重および走行速度に応じて、AGV20の走行制御は異なるため、走行パラメータも異なる。したがって、この実施例では、走行ルート毎に、荷重および走行速度に応じた走行パラメータを用いてAGV20の走行を制御するようにしてある。
この実施例では、AGV20を走行させる場合には、管理サーバ16は、AGV20の走行ルートを決定し、決定した走行ルートに対応する、走行パラメータのテーブル(図14参照)をAGV20に送信するようにしてある。以下、走行パラメータのテーブル(走行パラメータ指定情報に相当する)を、「走行パラメータテーブル」という。
図14は最適化パラメータテーブルの一例を示す図である。図14に示すように、最適化パラメータテーブルは、最適化処理を施された走行パラメータを用いて生成されたテーブルであり、走行ルートのIDに対応して、走行パラメータテーブルが記述される。
走行ルートのIDは、走行ルートに割り当てられた識別情報であり、たとえば、図7に示したマップにおいて、複数(一例として、20)通りの走行ルートが有る場合には、最適化パラメータテーブルには、20通りの走行ルートのIDが記述される。
走行パラメータテーブルは、AGV20が搬送する荷物の荷重の区分と、AGV20の走行速度の区分で決まる走行パラメータの識別情報を記載したテーブルである。この走行パラメータが、上記の最適化処理で決定される。ただし、走行パラメータは、図12に示した複数の個別パラメータを含む。
図15は、走行パラメータテーブルAの一例を示す図である。走行パラメータテーブルAは、荷重の区分と走行速度の区分に対応して走行パラメータの数値の組が記載されている。ただし、図15では、走行パラメータの識別情報(ここでは、アルファベットと数字)のみを示してある。これは、各走行パラメータが異なることを意味する。図15に示す例では、荷重の区分は、4つの区分であり、具体的には、0~50kg、50~100kg、100~150kgおよび150~200kgの区分に分類される。
ただし、荷重の区分のうち、数値範囲の右側に記載の数値はその区分に含まれない。したがって、0~50Kgの場合には、0Kg以上50Kg未満を意味する。このことは、後述する走行速度の区分についても同様である。
また、走行速度の区分は、4つの区分であり、具体的には、0~5m/min、5~10m/min、10~15m/minおよび15~20m/minの区分に分類される。
なお、図14に示す最適化パラメータテーブルおよび図15に示す走行パラメータテーブルは一例であり、限定されるべきでない。走行ルートは、使用環境に応じて適宜変化され、荷重の区分または/および走行速度の区分はさらに細分化されてもよい。また、使用環境によっては、荷重の区分または/および走行速度の区分は統合されてもよい。
AGV20は、管理サーバ16から、走行ルートと走行パラメータテーブルを含む走行指示を受信すると、走行ルートに従って走行する。この実施例では、走行指示は、待機場所から積載場所まで走行するための積載指示、積載場所から搬送先まで走行するための搬送指示、または、搬送先から待機場所まで走行するための帰還指示を意味する。
また、AGV20は、走行ルートに沿って走行している場合には、管理サーバ16からの指示に従って所定動作(この実施例では、停止、左旋回、右旋回および速度変更)を行う。
AGV20は、管理サーバ16から受信した走行パラメータテーブルのうち、荷重の区分と走行速度の区分で決まる走行パラメータを使用して走行を制御される。ただし、AGV20は、荷重センサ86の出力から検出した荷重が含まれる荷重の区分と、管理サーバ16から指示された走行速度が含まれる走行速度の区分に応じて、使用する走行パラメータを決定する。つまり、走行状態のうち、荷重または/および走行速度に応じて走行パラメータが決定される。
たとえば、走行中に、走行速度が変化し、走行パラメータテーブルにおける走行速度の区分が変化すると、使用する走行パラメータが荷重の区分と変化した走行速度の区分とで決まる走行パラメータに変更される。
なお、走行中に、荷重が変化することは考えにくいが、荷重が変化し、走行パラメータテーブルにおける荷重の区分が変化する場合には、使用する走行パラメータが変化した荷重の区分と走行速度の区分とで決まる走行パラメータに変更される。
また、この実施例では、工場または倉庫などの場所において、AGV20が荷物を搬送する場合にも、AGV20の走行状態が検出されるため、これをデータベース18に蓄積し、定期的に(たとえば、一カ月に一回)、走行パラメータを最適化することにより、AGV20の使用環境に、より適した走行パラメータを生成および設定することができる。
この場合、最適化サーバ12は、最適化パラメータテーブルに記載されている走行パラメータと、前回の最適化から今回の最適化までの走行状態を用いて、上記のベイズ推定法により、最適化パラメータテーブルの走行パラメータテーブルに記述された各走行パラメータを最適化する。したがって、経時的に変化する使用環境に応じて、より適正な走行パラメータが設定される。
なお、当然のことではあるが、この最適化処理では、実験計画は不要であるため、実験計画および走行実験が行われることはない。
また、最適化パラメータテーブルに、走行パラメータテーブルの識別情報を記述し、AGV20に、走行ルートに対応する識別情報が示す走行パラメータテーブルを送信してもよい。
図16は図2に示した最適化サーバ12に含まれるRAM32のメモリマップ500の一例を示す図である。図16に示すように、RAM32はプログラム記憶領域502およびデータ記憶領域504を含む。
プログラム記憶領域502は、最適化サーバ12のCPU30によって実行されるプログラム(情報処理プログラム)を記憶し、情報処理プログラムは、通信プログラム502a、初期値決定プログラム502b、結果収集プログラム502c、推定プログラム502dおよび最適化プログラム502eなどを含む。
通信プログラム502aは、通信装置34を用いて、データベース18などの他の装置またはコンピュータと通信するためのプログラムである。初期値決定プログラム502bは、最適化処理を実行する場合の走行パラメータの初期値を決定するためのプログラムである。
結果収集プログラム502cは、データベース18から実験結果(実験結果データ)を収集するためのプログラムである。ただし、管理サーバ16から実験結果を収集してもよい。
推定プログラム502dは、実験結果から次の実験すべき情報すなわち実験すべき走行パラメータをガウス過程回帰(機械学習)により推定するためのプログラムである。
最適化プログラム502eは、実験結果から対象の走行パラメータを最適化するためのプログラムである。また、最適化プログラム502eは、最適化走行パラメータテーブルの走行パラメータテーブルに記述された走行パラメータを最適化するためのプログラムでもある。上述したように、最適化の処理は、実験結果をベイズ推定法に当てはめることにより実行される。
なお、プログラム記憶領域502には、情報処理プログラムの実行に必要な他のプログラムも記憶される。
データ記憶領域504には、初期データ504a、実験結果データ504b、推定データ504cおよび最適化データ504dが記憶される。
初期データ504aは、走行パラメータの初期値についてのデータである。実験結果データ504bは、実験結果についてのデータである。推定データ504cは、実験結果に基づいて推定された走行パラメータについてのデータである。最適化データ504dは、最適化された走行パラメータについてのデータである。
なお、データ記憶領域504には、情報処理プログラムの実行に必要な他のデータが記憶されたり、情報処理プログラムの実行に必要なタイマ(カウンタ)およびフラグなどが設けられたりする。
図17は図3に示した管理サーバ16に含まれるRAM52のメモリマップ600の一例を示す図である。図17に示すように、RAM52はプログラム記憶領域602およびデータ記憶領域604を含む。
プログラム記憶領域602は、管理サーバ16のCPU50によって実行されるプログラム(管理プログラム)を記憶し、管理プログラムは、通信プログラム602a、受付プログラム602b、AGV状態管理プログラム602c、AGV選択プログラム602d、走行ルート決定プログラム602e、パラメータ選択プログラム602fおよびAGV制御プログラム602gなどを含む。
通信プログラム602aは、第1通信装置54を用いて、AGV20などの他の装置またはコンピュータと通信するためのプログラムである。ただし、アクセスポイントを介して通信する場合もある。また、通信プログラム602aは、第2通信装置56を用いて、データベース18などの他の装置またはコンピュータと通知するためのプログラムでもある。
受付プログラム602bは、搬送要求を受け付けるためのプログラムである。AGV状態管理プログラム602cは、工場または倉庫などの場所に配置された複数のAGV20のうち、搬送作業に使用されている1または複数のAGV20の各々についての走行状態を管理するためのプログラムである。具体的には、各AGV20から所定時間毎に送信されるAGV20の走行状態を受信して、RAM52に記憶するとともに、データベース18に記憶(登録)する。
AGV状態管理プログラム602cは、各AGV20から送信される各AGV20の走行状態を取得するとともに、データベース18に記憶するためのプログラムである。
AGV選択プログラム602dは、各AGV20の使用状況に基づいて、荷物の搬送に使用するAGV20を選択するためのプログラムである。
走行ルート決定プログラム602eは、待機場所から積載場所までのAGV20の走行ルート、積載場所から搬送先までのAGV20の走行ルートおよび搬送先から待機場所までの走行ルートを決定するためのプログラムである。
パラメータ選択プログラム602fは、AGV20の走行を制御する場合に、走行ルートに応じた走行パラメータテーブルを選択するためのプログラムである。
AGV制御プログラム602gは、制御対象のAGV20を指定するとともに、決定した走行ルートおよび選択した走行パラメータテーブルを含む走行指示および所定動作の動作指示を当該AGV20に送信するためのプログラムである。ただし、上述したように、実験時には、最適化サーバ12によって走行ルートが指定(決定)され、最適化サーバ12によって設定された走行パラメータが走行パラメータテーブルに代えて走行指示に含まれる。
なお、プログラム記憶領域602には、管理プログラムの実行に必要な他のプログラムも記憶される。たとえば、走行中のAGV20(説明の都合上、「対象AGV20」という)の前方に、他のAGV20が停止していたり、交差点に他のAGV20が先に侵入したりしている場合には、対象AGV20を一時的に停止させるためのプログラムなども記憶される。
データ記憶領域604には、要求データ604a、状態データ604b、選択AGVデータ604cおよび最適化パラメータテーブルデータ604dが記憶される。
要求データ604aは、工場または倉庫などの場所に配置されたコンピュータ22からの搬送要求についてのデータである。ただし、複数のコンピュータ22から同時または同期に搬送要求があった場合には、要求データ604aは複数の搬送要求についてのデータである。
状態データ604bは、各AGV20についての走行状態のデータである。選択AGVデータ604cは、搬送要求に応じて、使用することを選択されたAGV20についての識別情報についてのデータである。
最適化パラメータテーブルデータ604dは、図14に示したような最適化パラメータテーブルのデータである。この最適化パラメータテーブルデータ604eは、AGV20の走行を制御するのに先立って、データベース18から取得される。
なお、データ記憶領域604には、管理プログラムの実行に必要な他のデータが記憶されたり、管理プログラムの実行に必要なタイマ(カウンタ)およびフラグなどが設けられたりする。
図18は図2に示した最適化サーバ12に内蔵されるCPU30によって実行される情報処理の一例であるパラメータ最適化処理を示すフロー図である。図18に示すように、CPU30は、パラメータ最適化処理を開始すると、ステップS1で、走行パラメータの初期値を決定する。走行パラメータの初期値の決定方法は上述したとおりである。
次のステップS3では、実験の実行を指示(実験指示)する。ここでは、CPU30は、通信装置34を使用して、実験する荷重値と走行パラメータを含む実験指示を管理サーバ16に送信する。ただし、パラメータ最適化処理の開始時には、実験指示には、走行パラメータの初期値が含まれる。2回目以降では、実験指示には、機械学習により推定された走行パラメータが含まれる。これに応じて、管理サーバ16では、CPU70は、実験指示に含まれる荷重値の荷重を牽引するAGV20を使用するAGV20として決定し、決定したAGV20に実験指示に含まれる走行パラメータを設定する。
続くステップS5では、荷重値を取得する。つまり、CPU30は、実験開始時に、実験に使用するAGV20が搬送する荷物の荷重値を管理サーバ16から取得する。続いて、ステップS7で、管理サーバ16から実験結果を収集し、ステップS9で、計画した実験回数を達成したかどうかを判断する。つまり、ステップS9では、CPU30は、実験を完了したかどうかを判断する。
ステップS9で“NO”であれば、つまり、計画した実験回数を達成していなければ、ステップS11で、実験結果から、次に実験すべき走行パラメータを機械学習により推定する。一方、ステップS9で“YES”であれば、つまり、計画した実験回数を達成していれば、ステップS13で、実験結果から、走行パラメータを最適化する。そして、ステップS15で、最適化した走行パラメータをデータベース18に記憶(登録または更新)して、パラメータ最適化処理を終了する。
図19~図21は図3に示した管理サーバ16に内蔵されるCPU50によって実行されるAGV制御処理の一例を示すフロー図である。ただし、このAGV制御処理は、AGV20が工場または走行などの場所において、最適化パラメータを使用して、実際に荷物を搬送する場合の走行制御の処理である。
図19に示すように、管理サーバ16のCPU50はAGV制御処理を開始すると、ステップS51で、AGV20の走行状態を受信したかどうかを判断する。
ステップS51で“NO”であれば、つまり、AGV20の走行状態を受信していなければ、ステップS57に進む。一方、ステップS51で“YES”であれば、つまり、AGV20の走行状態を受信すれば、ステップS53で、受信したAGV20の走行状態を記憶(更新)し、ステップS55で、受信したAGV20の走行状態をデータベース18に記憶して、ステップS57に進む。ステップS53では、状態データ604bが更新され、ステップS55では、データベース18に記憶された状態データの履歴が更新される。
ステップS57では、いずれかのコンピュータ22から搬送要求があるかどうかを判断する。ステップS57で“NO”であれば、つまり、いずれのコンピュータ22からも搬送要求が無ければ、ステップS59で、搬送中のAGV20が有るかどうかを判断する。ただし、ここでの「搬送中」とは、実際に荷物を搬送している走行状態のみならず、荷物を積載するために積載場所に移動している走行状態および荷物を搬送先に搬送した後に待機場所に帰還するために移動している走行状態を含む。
ステップS59で“NO”であれば、つまり、搬送中のAGV20が無ければ、ステップS51に戻る。一方、ステップS59で“YES”であれば、つまり、搬送中のAGV20があれば、図19に示すステップS71に進む。
また、ステップS57で“YES”であれば、つまり、いずれかのコンピュータ22から搬送要求が有れば、ステップS61で、各AGV20の使用状況を確認する。ここでは、CPU50は、選択AGVデータ604cを参照して、各AGV20の使用状況を確認する。CPU50は、選択AGVデータ604cに識別情報(AGV_ID)が記載されているAGV20は使用中であり、識別情報が記載されていないAGV20は使用していないと判断する。
続くステップS61では、搬送可能かどうかを判断する。つまり、CPU50は、使用していないAGV20が有るかどうかを判断する。ステップS61で“NO”であれば、つまり、搬送不能であれば、ステップS59に進む。この場合、搬送できない搬送要求を送信したコンピュータ22に通知するようにしてもよい。
一方、ステップS61で“YES”であれば、つまり、搬送可能であれば、ステップS65で、待機場所から積載場所までの走行ルートを決定する。続くステップS67では、図14に示した最適化パラメータテーブルから走行ルートに応じた走行パラメータテーブルを決定し、ステップS69で、対象のAGV20に積載指示を送信して、ステップS51に戻る。この実施例では、ステップS69では、CPU50は、ステップS65で決定した走行ルートと、ステップS67で決定した走行パラメータテーブルを含む走行指示を対象のAGV20に送信する。このことは、後述するステップS81、S89も同様である。
図20に示すように、ステップS71では、所定動作の実行かどうかを判断する。ここでは、対象のAGV20が、停止、左旋回、右旋回または速度変更する位置に到達したかどうかを判断する。ステップS71で“NO”であれば、つまり、所定動作の実行でなければ、ステップS75に進む。一方、ステップS71で“YES”であれば、つまり、所定動作の実行であれば、ステップS73で、所定動作の実行を対象のAGV20に指示してからステップS75に進む。
ステップS75では、AGV20が積載場所に到達したかどうかを判断する。ステップS75で“NO”であれば、つまり、AGV20が積載場所に到達していなければ、図21に示すステップS83に進む。一方、ステップS75で“YES”であれば、つまり、AGV20が積載場所に到達すれば、ステップS77で、積載場所から搬送先までの走行ルートを決定し、ステップS79で、走行ルートに応じた走行パラメータテーブルを決定し、ステップS81で、対象のAGV20に搬送指示を送信して、ステップS83に進む。
なお、AGV20では、搬送指示を受信すると、牽引アーム26を台車200と接続した状態にしてから走行(すなわち、搬送)を開始する。
図21に示すように、ステップS83では、AGV20が搬送先に到着したかどうかを判断する。ステップS83で“NO”であれば、つまり、AGV20が搬送先に到着していなければ、ステップS91に進む。
一方、ステップS83で“YES”であれば、つまり、AGV20が搬送先に到着すれば、ステップS85で、搬送先から待機場所までの走行ルートを決定し、ステップS87で、走行ルートに応じた走行パラメータテーブルを決定し、ステップS89で、対象のAGV20に帰還指示を送信する。
なお、AGV20は、帰還指示を受信すると、牽引アーム26を台車200と接続しない状態にしてから走行を開始する。
続くステップS91では、待機場所に到達したかどうかを判断する。ステップS91で“NO”であれば、つまり、待機場所に到達していなければ、ステップS51に戻る。一方、ステップS91で“YES”であれば、つまり、待機場所に到達していれば、ステップS93で、対象のAGV20の使用状況を不使用に変更して、ステップS51に戻る。
なお、ステップS57~S93の処理は、走行制御するAGV20毎に実行される。また、図19~図21に示すAGV制御処理では、搬送要求があると、待機場所から積載場所までの走行ルート、積載場所から搬送先までの走行ルートおよび搬送先から待機場所までの走行ルートを、待機場所、積載場所および搬送先のそれぞれで決定するようにしたが、搬送要求があったときに、すべての走行ルートを決定してもよい。また、この場合には、すべての走行ルートを決定したときに、各走行ルートに応じた走行パラメータテーブルも決定してもよい。
この実施例によれば、将来の実験計画に基づいて効率的に実験結果を取得し、取得した実験結果に基づいて走行パラメータを最適化するので、パラメータの適正度を効率良く高めることができる。
また、この実施例によれば、実験計画法とガウス過程回帰による推定を組み合わせた手法であるため、戦略的な実験計画を画策することができる。つまり、すべてのAGV20の情報およびすべての個別パラメータの組み合わせについて実験および最適化処理が実行されるではなく、一部の組み合わせについて実験および最適化処理が実行される。
なお、上述の実施例では、AGVを使用環境で走行させて、荷物を搬送させる場合には、走行ルートに応じた走行パラメータテーブルを含む制御信号をAGVに送信するようにしたが、これに限定される必要はない。予めAGVに最適化パラメータテーブルをダウンロードしておき、走行ルートに応じた走行パラメータテーブルを指定する情報を含む制御信号をAGVに送信するようにしてもよい。
この場合、管理サーバは、走行状態に含まれる荷重および走行速度を参照して、走行パラメータを指定することもできる。したがって、AGVが走行中においても、走行状態に含まれる荷重および走行速度を参照して、荷重または走行速度が使用中の走行パラメータの荷重の区分または走行速度の区分を超えた値に変化したときに、変化後の荷重の区分および走行速度の区分に応じた走行パラメータを指定することできる。
また、上述の実施例で示した最適化システムおよびAGVの具体的な構成は実際の製品において適宜変更することができる。
たとえば、AGVは台車を牽引するようにしたが、荷物をAGVに積載できる構成にしてもよい。かかる場合には、荷重センサは、積載された荷物の荷重を計測できるものが用いられる。また、荷重センサで荷重を検出するようにしたが、使用される台車がすべて同じであり、また、拠点ごとに積載される荷物の荷重が決まっている場合には、管理サーバで荷重を算出するようにしてもよい。ただし、荷物をAGVに積載したり、管理サーバで荷重を算出する場合には、荷物を積載したときに、荷重に応じた走行パラメータを指定することができる。
また、上述の実施例では、最適化サーバと管理サーバを個別に設けるようにしたが、これらの両方の機能を備える一台のサーバを設けるようにしてもよい。また、データベースは、最適化サーバまたは管理サーバに内蔵されてもよい。
さらに、上述の実施例では、実験結果をベイズ推定法に当て嵌めることにより、荷重範囲の毎に、目的関数がの期待値が最小となる走行パラメータをとなる走行パラメータの期待値を算出することにより、走行パラメータの最適化を行うようにしたが、これに限定される必要はない。他の実施例では、ベシアン推定法を用いずに、単に、過去の実験データから前後揺れ値と振れ幅値の和が最小となる場合の走行パラメータを選択して、最適な走行パラメータとして決定するようにしてもよい。
10 …最適化システム
10a …自動走行システム
12 …最適化サーバ
16 …管理サーバ
20 …AGV
22 …コンピュータ
30、50、70 …CPU
32、52、72 …RAM
34、54、56、74 …通信装置
76 …車輪駆動回路
78 …車輪モータ
80 …昇降駆動回路
82 …昇降モータ
84 …近接センサ
86 …荷重センサ
88 …ラインセンサ
90 …慣性センサ
92 …RFタグリーダ
94 …バッテリ

Claims (18)

  1. 複数の自動走行装置において走行パラメータを最適化するための実験走行を行うことにより、前記複数の自動走行装置の前記走行パラメータを最適化する走行パラメータ最適化システムであって、
    走行指示に従って走行する複数の自動走行装置と、
    前記実験走行における実験走行計画を作成する実験走行計画作成装置と、
    前記実験走行計画作成装置が作成した実験走行計画に基づいて、前記複数の自動走行装置に対して前記走行指示を送信する走行指示装置と、
    前記複数の自動走行装置の走行状態を反映した測定値を取得する取得装置と、
    前記取得装置が測定した測定値に基づき評価値を算出する評価値算出装置と、
    前記実験走行において評価値算出装置により算出された評価値に基づき最適化された走行パラメータを算出する走行パラメータ最適化装置と、
    を備え、
    前記走行パラメータは、前記自動走行装置に牽引または積載される荷物の重量である荷重の区分ごとに異なる走行パラメータが設定されるものであり、最適化対象の前記荷重の区分ごとに前記走行パラメータを最適化するものであり、
    前記走行指示装置は、前記複数の自動走行装置の各々が搬送する荷物の荷重を観測し、当該複数の走行装置の中から実験走行計画において最適化対象の荷重の荷物を搬送する前記自動走行装置を前記実験走行を行う自動走行装置として指定し、指定した当該自動走行装置に対して前記走行指示を送信する、走行パラメータ最適化システム。
  2. 前記実験走行計画作成装置は、前記実験走行計画として、走行パラメータを走行毎に変化させた複数回の走行を計画することを特徴とする、請求項1に記載の走行パラメータ最適化システム。
  3. 前記走行パラメータは、それぞれ前記自動走行装置の走行における異なる制御を行うための複数種類のパラメータの組からなり、
    前記実験走行計画作成装置は、前記複数種類のパラメータの全てのうち一部の走行パラメータを最適化対象の走行パラメータとして指定して、当該指定された走行パラメータを走行毎に変化させて、前記指定された走行パラメータを最適化するための複数回の走行を計画することを特徴とする、請求項2に記載の走行パラメータ最適化システム。
  4. 前記実験走行計画作成装置は、前記複数種類のパラメータの全てのうち前記指定された走行パラメータ以外の走行パラメータを走行毎に変化させずに、前記指定された走行パラメータを最適化するための走行として複数回の走行を計画することを特徴とする、請求項3に記載の走行パラメータ最適化システム。
  5. 前記実験走行計画作成装置は、前記複数種類のパラメータの全てのうち最適化対象の走行パラメータとして指定するパラメータを変化させて、前記指定された走行パラメータ毎に当該指定された走行パラメータを最適化するための走行として複数回の走行を作成することを特徴とする、請求項3または4に記載の走行パラメータ最適化システム。
  6. 前記実験走行計画作成装置は、ベイズ最適化法を用いた実験計画法により前記実験走行計画を作成することを特徴とする、請求項1から5のいずれか1項に記載の走行パラメータ最適化システム。
  7. 前記実験走行計画作成装置は、1回目からN回目までの走行毎における前記走行パラメータを説明変数とし、1回目からN回目までの走行毎における前記評価値を目的変数として、ガウス過程回帰により回帰モデルを構築し、当該回帰モデルに基づき獲得関数を算出し、当該獲得関数に基づいてN+1回目の走行の走行パラメータを決定することを特徴とする、請求項1から6のいずれか1項に記載の走行パラメータ最適化システム。
  8. 前記走行パラメータ最適化装置は、ベイズ最適化法により前記最適化された走行パラメータを算出することを特徴とする、請求項1から7のいずれか1項に記載の走行パラメータ最適化システム。
  9. 前記走行パラメータ最適化装置は、1回目からM回目までの走行毎における前記走行パラメータを説明変数とし、1回目からM回目までの走行毎における前記評価値を目的変数として、ガウス過程回帰により回帰モデルを構築し、当該回帰モデルに基づいて前記目的変数の期待値が設定値に最も近づく走行パラメータを前記最適化された走行パラメータとして算出することを特徴とする、請求項1から8のいずれか1項に記載の走行パラメータ最適化システム。
  10. 前記走行パラメータ最適化装置が過去に算出した過去の走行パラメータを記憶する走行パラメータ記憶部を備え、
    前記実験走行計画作成装置は、前記実験走行における実験走行計画を作成する際の走行パラメータの初期値として、前記走行パラメータ記憶部に記憶された過去の走行パラメータを設定可能であることを特徴とする、請求項1から9のいずれか1項に記載の走行パラメータ最適化システム。
  11. 前記走行パラメータは、速度の区分ごとに異なる走行パラメータが設定されるものであり、最適化対象の前記速度の区分ごとに前記走行パラメータを最適化する、請求項1から10のいずれか1項に記載の走行パラメータ最適化システム。
  12. 前記走行パラメータは、走行ルートごとに異なる走行パラメータが設定されるものであり、最適化対象の前記走行ルートごとに前記走行パラメータを最適化する、請求項1から11のいずれか1項に記載の走行パラメータ最適化システム。
  13. 前記走行指示装置は、前記自動走行装置に対して当該自動走行装置が最適化対象の前記走行ルートを走行するように前記走行指示を送信する、請求項12に記載の走行パラメータ最適化システム。
  14. 前記評価値は、前記自動走行装置が指定された線状の走行ルートに沿って走行する際の線状の走行ルートに対する横方向のずれ量を含むことを特徴とする、請求項1から13のいずれか1項の走行パラメータ最適化システム。
  15. 前記評価値は、前記自動走行装置が走行する際の加速または減速による加速度の変化の大きさを含むことを特徴とする、請求項1から14のいずれか1項の走行パラメータ最適化システム。
  16. 前記走行パラメータは、前記自動走行装置が指定された線状の走行ルートに沿って走行する際の操舵制御のパラメータを含むことを特徴とする、請求項1から15のいずれか1項の走行パラメータ最適化システム。
  17. 前記走行パラメータは、前記自動走行装置が走行する際の加速または減速の加速度制御のパラメータを含むことを特徴とする、請求項1から16のいずれか1項の走行パラメータ最適化システム。
  18. 走行指示に従って走行する複数の自動走行装置において走行パラメータを最適化するための実験走行を行うことにより、前記複数の自動走行装置の前記走行パラメータを最適化する走行パラメータ最適化方法であって、
    (a)前記実験走行における実験走行計画を作成するステップと、
    (b)前記ステップ(a)において作成した実験走行計画に基づいて、前記複数の自動走行装置に対して前記走行指示を送信するステップと、
    (c)前記複数の自動走行装置の走行状態を反映した測定値を取得するステップと、
    (d)前記ステップ(c)において取得した測定値に基づき評価値を算出するステップと、
    (e)前記実験走行において前記ステップ(d)において算出した評価値に基づき最適化された走行パラメータを算出するステップと、
    を含み、
    前記走行パラメータは、前記自動走行装置に牽引または積載される荷物の重量である荷重の区分ごとに異なる走行パラメータが設定されるものであり、最適化対象の前記荷重の区分ごとに前記走行パラメータを最適化するものであり、
    前記ステップ(b)は、前記複数の自動走行装置の各々が搬送する荷物の荷重を観測し、当該複数の走行装置の中から実験走行計画において最適化対象の荷重の荷物を搬送する前記自動走行装置を前記実験走行を行う自動走行装置として指定し、指定した当該自動走行装置に対して前記走行指示を送信する、走行パラメータ最適化方法。
JP2020151056A 2020-09-09 2020-09-09 走行パラメータ最適化システムおよび走行パラメータ最適化方法 Active JP7469195B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020151056A JP7469195B2 (ja) 2020-09-09 2020-09-09 走行パラメータ最適化システムおよび走行パラメータ最適化方法
US17/412,096 US11983013B2 (en) 2020-09-09 2021-08-25 Traveling parameter optimization system and traveling parameter optimization method
CN202110989405.2A CN114239126A (zh) 2020-09-09 2021-08-26 行驶参数优化系统及行驶参数优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020151056A JP7469195B2 (ja) 2020-09-09 2020-09-09 走行パラメータ最適化システムおよび走行パラメータ最適化方法

Publications (2)

Publication Number Publication Date
JP2022045453A JP2022045453A (ja) 2022-03-22
JP7469195B2 true JP7469195B2 (ja) 2024-04-16

Family

ID=80470242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020151056A Active JP7469195B2 (ja) 2020-09-09 2020-09-09 走行パラメータ最適化システムおよび走行パラメータ最適化方法

Country Status (3)

Country Link
US (1) US11983013B2 (ja)
JP (1) JP7469195B2 (ja)
CN (1) CN114239126A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344053B (zh) * 2022-10-17 2023-04-07 国网浙江宁波市鄞州区供电有限公司 Agv无人自动夹抱式叉车控制方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186538A (ja) 2001-12-20 2003-07-04 Tokyu Car Corp 車両の走行制御装置及び方法
US20200181879A1 (en) 2018-12-11 2020-06-11 SafeAI, Inc. Techniques for kinematic and dynamic behavior estimation in autonomous vehicles

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2712739B2 (ja) 1990-03-30 1998-02-16 神鋼電機株式会社 無人搬送車の操舵角制御装置
DE69121751T2 (de) 1990-03-30 1997-01-02 Shinko Electric Co Ltd Steuerungssystem für ein unbemanntes Trägerfahrzeug
JP3361280B2 (ja) 1998-11-16 2003-01-07 日本輸送機株式会社 3輪操舵無人搬送車
US9358975B1 (en) * 2015-04-10 2016-06-07 Google Inc. Virtual moving safety limits for vehicles transporting objects
US10394244B2 (en) * 2016-05-26 2019-08-27 Korea University Research And Business Foundation Method for controlling mobile robot based on Bayesian network learning
GB201615563D0 (en) * 2016-09-13 2016-10-26 Guidance Automation Ltd Adapting an automated guided vehicle
JP6814658B2 (ja) 2017-02-21 2021-01-20 三菱重工エンジニアリング株式会社 車両制御装置、車両制御方法、プログラム
JP7319486B2 (ja) * 2018-01-09 2023-08-02 フォーミュラトリクス・インターナショナル・ホールディング・リミテッド 自律移動ロボットを含む作業車ベースの統合された実験室システム
SE543136C2 (en) * 2018-11-05 2020-10-13 Scania Cv Ab Method and control device for operating a modular vehicle
EP4290878A3 (en) * 2019-07-23 2024-03-06 R-Go Robotics Ltd Techniques for co-optimization of motion and sensory control
JP7221183B2 (ja) * 2019-09-20 2023-02-13 株式会社日立製作所 機械学習方法、フォークリフト制御方法、及び機械学習装置
US20210110089A1 (en) * 2019-10-10 2021-04-15 Nvidia Corporation Generating computer simulations of manipulations of materials based on machine learning from measured statistics of observed manipulations
CN110703756A (zh) * 2019-10-22 2020-01-17 杭州精是智能科技有限公司 一种控制车辆自动行驶的方法
DE112020004633T5 (de) * 2020-01-02 2022-09-08 Ree Automotive Ltd. Fahrzeug-eckmodule und fahrzeuge, die sie enthalten
US11912263B2 (en) * 2020-01-14 2024-02-27 Delphi Technologies Ip Limited System and method for vehicle coast control
EP3875908B1 (de) * 2020-03-05 2022-02-23 Sick Ag Navigieren eines fahrzeugs und virtuelle spurführungsvorrichtung
US20210302981A1 (en) * 2020-03-31 2021-09-30 Gm Cruise Holdings Llc Proactive waypoints for accelerating autonomous vehicle testing
EP3926431A1 (en) * 2020-06-15 2021-12-22 Volvo Autonomous Solutions AB A method for controlling an autonomous vehicle operating at a worksite
CN111805553A (zh) * 2020-06-23 2020-10-23 丰疆智能(深圳)有限公司 推料机器人、推料系统以及推料管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003186538A (ja) 2001-12-20 2003-07-04 Tokyu Car Corp 車両の走行制御装置及び方法
US20200181879A1 (en) 2018-12-11 2020-06-11 SafeAI, Inc. Techniques for kinematic and dynamic behavior estimation in autonomous vehicles

Also Published As

Publication number Publication date
US11983013B2 (en) 2024-05-14
US20220073105A1 (en) 2022-03-10
CN114239126A (zh) 2022-03-25
JP2022045453A (ja) 2022-03-22

Similar Documents

Publication Publication Date Title
US10875448B2 (en) Visually indicating vehicle caution regions
CN105468001B (zh) 一种潜入式agv导航小车及其控制方法
US9547945B2 (en) Integration of an autonomous industrial vehicle into an asset management system
JP2022518012A (ja) 自動運転車用自律放送システム
Sierra-García et al. Mechatronic modelling of industrial AGVs: A complex system architecture
EP3705971A1 (en) Virtual coupling
JP7469195B2 (ja) 走行パラメータ最適化システムおよび走行パラメータ最適化方法
US20220076579A1 (en) Automatic vehicle dispatching system and automatic vehicle dispatching method
JP7436334B2 (ja) 自動走行システムおよび走行指示方法
Cawood et al. Navigation and locomotion of a low-cost Automated Guided Cart
CN114237209B (zh) 移动时间预测装置和移动时间预测方法
CN117032265A (zh) 一种基于ros的智能搬运agv路径规划方法及控制系统
US20210354924A1 (en) Navigator for Intralogistics
US20230211987A1 (en) Pathfinding using centerline heuristics for an autonomous mobile robot
CN114296464B (zh) 一种基于二维码导航的agv控制系统及方法
EP3647896A1 (en) Virtual coupling
JP7112803B1 (ja) 搬送システム、及び搬送制御方法
WO2022244422A1 (ja) 走行経路設定装置およびこれを備える自律移動ロボット制御システム、走行経路設定方法、並びに走行経路設定プログラム
US20240152148A1 (en) System and method for optimized traffic flow through intersections with conditional convoying based on path network analysis
Zajac et al. Automated guided vehicle system for work-in-process movement
WO2022149285A1 (ja) 搬送システム、及び搬送制御方法
US20230174358A1 (en) Material Handling Vehicle Guidance Systems and Methods
CN109871015A (zh) 一种基于激光信标导航系统的智能agv叉车及导航方法
CN114872690A (zh) 一种用于agv小车的自动泊车方法、系统、设备及存储介质
Hou et al. Research on the development and current situation of AGV car

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230322

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240404

R150 Certificate of patent or registration of utility model

Ref document number: 7469195

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150