JPWO2019059299A1 - 運行管理装置 - Google Patents

運行管理装置 Download PDF

Info

Publication number
JPWO2019059299A1
JPWO2019059299A1 JP2019543706A JP2019543706A JPWO2019059299A1 JP WO2019059299 A1 JPWO2019059299 A1 JP WO2019059299A1 JP 2019543706 A JP2019543706 A JP 2019543706A JP 2019543706 A JP2019543706 A JP 2019543706A JP WO2019059299 A1 JPWO2019059299 A1 JP WO2019059299A1
Authority
JP
Japan
Prior art keywords
data
mobile body
operation management
management device
individual difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019543706A
Other languages
English (en)
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.)
Nidec Shimpo Corp
Original Assignee
Nidec Shimpo 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 Nidec Shimpo Corp filed Critical Nidec Shimpo Corp
Publication of JPWO2019059299A1 publication Critical patent/JPWO2019059299A1/ja
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

運行管理装置は、自律走行可能な、第1移動体および第2移動体を含む複数の移動体の運行を管理する。各移動体は、同一の地図データを記憶するメモリと、周囲の空間をセンシングしてセンサデータを出力するセンサと、センサデータを地図データと照合し、位置および姿勢を示すポーズデータを出力する測位装置と、通信回路とを有する。運行管理装置は、通信インタフェース装置と、演算回路と、記憶装置とを備える。演算回路は、通信インタフェース装置を介して、第1および第2移動体の各々が、空間内の同一の位置において同一の姿勢でセンシングして出力したポーズデータを受信し、第1移動体から受信したポーズデータと第2移動体から受信したポーズデータとの差分である個体差データを記憶装置に格納する。

Description

本開示は、運行管理装置に関する。
所定の経路に沿って自律的に空間を移動する自律移動ロボットが開発されている。自律移動ロボットは、レーザ距離センサ等の外界センサを用いて周囲の空間をセンシングし、センシング結果と、予め用意された地図とのマッチングを行い、自身の現在の位置および姿勢を推定(同定)する。自律移動ロボットは、自身の現在の位置および姿勢を制御しながら、当該経路に沿って移動することができる。
特開2011−150443号公報は、第1のロボットが、第2のロボットの位置姿勢の認識結果を利用して移動パラメータを算出し、当該パラメータを自身の移動に利用する技術を開示する。これにより、低コストかつ簡易な手法で正確な位置推定が可能なロボットを実現できる、と説明されている。
特開2011−150443号公報
本開示は、複数の移動体に空間を移動させる際、各移動体が、可能な限り正確に移動するための技術を提供する。
本開示の実施形態による例示的な第1の運行管理装置は、自律走行可能な、第1移動体および第2移動体を含む複数の移動体の運行を管理する運行管理装置であって、前記第1移動体および前記第2移動体の各々は、同一の地図データを記憶するメモリと、周囲の空間をセンシングしてセンサデータを出力するセンサと、前記センサデータを前記地図データと照合し、位置および姿勢を示すポーズデータを出力する測位装置と、外部と通信する通信回路とを有しており、前記運行管理装置は、前記第1移動体および前記第2移動体と通信する通信インタフェース装置と、演算回路と、記憶装置とを備え、前記演算回路は、前記通信インタフェース装置を介して、前記第1移動体および前記第2移動体の各々が、空間内の同一の位置において同一の姿勢でセンシングして出力したポーズデータを受信し、前記第1移動体から受信したポーズデータと前記第2移動体から受信したポーズデータとの差分である個体差データを算出し、前記個体差データを前記記憶装置に格納する。
本開示の実施形態による例示的な第2の運行管理装置は、自律走行可能な、第1移動体および第2移動体を含む複数の移動体の運行を管理する運行管理装置であって、前記第1移動体および前記第2移動体の各々は、同一の地図データを記憶するメモリと、周囲の空間をセンシングしてセンサデータを出力するセンサと、前記センサデータを前記地図データと照合し、位置および姿勢を示すポーズデータを出力する測位装置と、外部と通信する通信回路とを有しており、前記運行管理装置は、前記第1移動体および前記第2移動体と通信する通信インタフェース装置と、前記第1移動体および前記第2移動体の各々の個体差データを記憶した記憶装置と、演算回路とを備え、前記個体差データは、前記第1移動体および前記第2移動体の各々が、空間内の同一の位置において同一の姿勢でセンシングして出力したポーズデータに基づいて予め作成されたデータであって、前記第1移動体の個体差データは、前記第1移動体のポーズデータであり、前記第2移動体の個体差データは、前記第1移動体から受信したポーズデータと前記第2移動体から受信したポーズデータとの差分であり、前記第1移動体が前記空間内の第1位置においてセンシングして第1ポーズデータを出力し、前記第2移動体が前記空間内の第2位置においてセンシングして第2ポーズデータを出力したときにおいて、前記演算回路は、前記第2ポーズデータに含まれる位置のデータおよび前記第2移動体の個体差データに基づいて得られたデータを、前記第2位置の座標値として前記記憶装置に記憶する。
本発明の例示的な実施形態にかかる運行管理装置によれば、移動体の個体差を表す個体差データを算出し、記憶装置に格納する。個体差データは、第1移動体および第2移動体が空間内の同一の位置において同一の姿勢(向き)でセンシングして出力したポーズデータの差分として算出される。
得られた個体差データは、種々の目的に利用することができる。例えば各移動体の個体差を考慮して、移動先の指令を送信することができる。またある移動体によって取得されたある位置のポーズデータから当該移動体の個体差の影響を除去すると、個体差の影響を含まない正確な位置を求めることができる。
図1は、本開示の例示的な実施形態における移動体管理システムにおいて行われる処理の概略を示すブロック図である。 図2は、本開示による、各AGVの走行を制御する制御システムの概要を示す図である。 図3は、AGVが存在する移動空間Sの一例を示す図である。 図4Aは、接続される前のAGVおよび牽引台車を示す図である。 図4Bは、接続されたAGVおよび牽引台車を示す図である。 図5は、本実施形態にかかる例示的なAGVの外観図である。 図6Aは、AGVの第1のハードウェア構成例を示す図である。 図6Bは、AGVの第2のハードウェア構成例を示す図である。 図7Aは、移動しながら地図を生成するAGVを示す図である。 図7Bは、移動しながら地図を生成するAGVを示す図である。 図7Cは、移動しながら地図を生成するAGVを示す図である。 図7Dは、移動しながら地図を生成するAGVを示す図である。 図7Eは、移動しながら地図を生成するAGVを示す図である。 図7Fは、完成した地図の一部を模式的に示す図である。 図8は、複数の部分地図によって1つのフロアの地図が構成される例を示す図である。 図9は、運行管理装置のハードウェア構成例を示す図である。 図10は、運行管理装置によって決定されたAGVの移動経路の一例を模式的に示す図である。 図11は、個体差データを取得するための環境の例を模式的に示す平面レイアウト図である。 図12Aは、床面に固定された金属製の治具を示す図である。 図12Bは、治具によって位置および姿勢が固定されたAGVを示す図である。 図13は、AGVのレーザレンジファインダが取得したスキャンデータの一例を示す図である。 図14は、AGVの各位置推定装置が出力したポーズデータの例を示す図である。 図15は、ステーションにおけるAGVの各ポーズデータと、個体差データとを示す図である。 図16は、AGVの個体差データの取得処理の手順を示すフローチャートである。 図17は、個体差DBに記憶された個体差データ群を示す図である。 図18は、個体差データを用いた座標値および姿勢の角度値の補正処理の手順を示すフローチャートである。 図19は、ステーションに存在するAGVを示す図である。 図20は、個体差の影響を除去してステーションの位置データを登録する処理の概要を説明する図である。 図21は、個体差データを利用したステーションの位置データ登録処理の手順を示すフローチャートである。
<用語>
本開示の実施形態を説明する前に、本明細書において使用する用語の定義を説明する。
「無人搬送車」(AGV)とは、本体に人手または自動で荷物を積み込み、指示された場所まで自動走行し、人手または自動で荷卸しをする無軌道車両を意味する。「無人搬送車」は、無人牽引車および無人フォークリフトを含む。
「無人」の用語は、車両の操舵に人を必要としないことを意味しており、無人搬送車が「人(たとえば荷物の積み下ろしを行う者)」を搬送することは除外しない。
「無人牽引車」とは、人手または自動で荷物の積み込み荷卸しをする台車を牽引して、指示された場所まで自動走行する無軌道車両である。
「無人フォークリフト」とは、荷物移載用のフォークなどを上下させるマストを備え、フォークなどに荷物を自動移載し指示された場所まで自動走行し、自動荷役作業をする無軌道車両である。
「無軌道車両」とは、車輪と、車輪を回転させる電気モータまたはエンジンを備える移動体(vehicle)である。
「移動体」とは、人または荷物を載せて移動する装置であり、移動のための駆動力(traction)を発生させる車輪、二足または多足歩行装置、プロペラなどの駆動装置を備える。本開示における「移動体」の用語は、狭義の無人搬送車のみならず、モバイルロボットおよびドローンを含む。
「自動走行」は、無人搬送車が通信によって接続されるコンピュータの運行管理システムの指令に基づく走行と、無人搬送車が備える制御装置による自律的走行とを含む。自律的走行には、無人搬送車が所定の経路に沿って目的地に向かう走行のみならず、追尾目標に追従する走行も含まれる。また、無人搬送車は、一時的に作業者の指示に基づくマニュアル走行を行ってもよい。「自動走行」は、一般には「ガイド式」の走行および「ガイドレス式」の走行の両方を含むが、本開示では「ガイドレス式」の走行を意味する。
「ガイド式」とは、誘導体を連続的または断続的に設置し、誘導体を利用して無人搬送車を誘導する方式である。
「ガイドレス式」とは、誘導体を設置せずに誘導する方式である。本開示の実施形態における無人搬送車は、自己位置推定装置を備え、ガイドレス式で走行することができる。
「自己位置推定装置」は、レーザレンジファインダなどの外界センサによって取得されたセンサデータに基づいて環境地図上における自己位置を推定する装置である。
「外界センサ」は、移動体の外部の状態をセンシングするセンサである。外界センサには、たとえば、レーザレンジファインダ(測域センサともいう)、カメラ(またはイメージセンサ)、LIDAR(Light Detection and Ranging)、ミリ波レーダ、および磁気センサがある。
「内界センサ」は、移動体の内部の状態をセンシングするセンサである。内界センサには、たとえばロータリエンコーダ(以下、単に「エンコーダ」と称することがある)、加速度センサ、および角加速度センサ(たとえばジャイロセンサ)がある。
「SLAM(スラム)」とは、Simultaneous Localization and Mappingの略語であり、自己位置推定と環境地図作成を同時に行うことを意味する。
<例示的な実施形態>
以下、添付の図面を参照しながら、本開示による運行管理装置および移動体管理システムの一例を説明する。なお、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。本発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供する。これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
本発明者は、無人搬送車(以下「AGV」と記述する。)等の移動体の運行を管理するにあたり、各移動体に存在する個体差に注目した。「個体差」とは、各移動体の製造時の組み付け誤差などの物理的な要因によって発生する、位置および姿勢の推定値の差である。
例として、移動体がAGVである場合の個体差を考える。当該AGVは、レーザレンジファインダ(LRF)を有し、走行する空間の地図データを前もって保持している。AGVはLRFを用いて周囲の空間をスキャンし、得られたセンサデータと地図データとのマッチングを行って、現在の位置および姿勢(向き)を推定する。その結果、AGVは目的とする経路に沿って走行することができる。
各AGVによって、車高、車輪の摩耗の程度、LRFの取り付け具合、LRFのレンズの向き等が微妙に異なっている。これらの種々の物理的な差異が積み重なることにより、同じ位置および姿勢で取得したスキャンデータを用いて、かつ、同じ地図を用いてマッチングを行っても、位置および姿勢の推定値に不一致が生じる。位置および姿勢の各推定値は、AGVごとの「個体差」を含むデータとして定義することができる。
移動体毎に位置および姿勢の推定値が異なると、同じ地図を使い同じ走行経路が指示されたとしても、各移動体は物理的に同じ座標ではなく、異なる座標および経路を走行する。そこで、移動体ごとに「個体差」を定義し、個体差を考慮して位置または経路を指示すれば、複数の移動体が可能な限り高い精度で同じ物理座標を走行可能になる。
なお、これまでは移動体の個体差を管理するためのデータは存在しておらず、個体差は無視されてきた。異なる座標および経路を走行することが問題とされることは無かった。しかしながら、移動体をより高精度に移動させるためには、個体差を無視することはできないと本発明者は考えた。
図1は、本開示の例示的な実施形態における移動体管理システム100において行われる処理の概要を示すブロック図である。移動体管理システム100は、移動体1a〜1cを含む複数の移動体と、運行管理装置50とを備える。例として3台の移動体1a〜1cを例示する。
まず、個体差データの取得処理を説明する。
移動体1a〜1cは、同一の地図データMを予め記憶している。移動体1a〜1cの各々は、同一位置で、かつ同一姿勢で、レーザレンジファインダを用いてセンシングを行い、センシング結果であるポーズデータPDa〜PDcをそれぞれ出力する。ポーズデータPDa〜PDcはそれぞれ、推定された自己位置を示す座標値と姿勢を示す角度値とを含む。
運行管理装置50は、ポーズデータPDa〜PDcを受け取り、移動体1aを基準とした移動体1bおよび1cの個体差データを算出する。移動体1bの個体差データIVbは、IVb=PDb−PDaによって算出される。また移動体1cの個体差データIVcは、IVc=PDc−PDaによって算出される。個体差データIVbは、移動体1aが推定した位置および姿勢からみた、移動体1bが推定した位置および姿勢の各差分である。同様に、個体差データIVcは、移動体1aが推定した位置および姿勢からみた、移動体1cが推定した位置および姿勢の各差分である。
運行管理装置50は、算出した各個体差データIVbおよびIVcを不図示の記憶装置に記憶する。なお、移動体10の数が増えた場合でも、移動体1aを基準とした各移動体1bの個体差データを算出し、記憶装置に記憶すればよい。以上により、個体差データの取得処理は完了する。
予め個体差データを算出しておくことにより、各個体差データを種々の目的に利用することができる。本明細書では、(a)各移動体の個体差を考慮して、移動先の位置および姿勢を指定する指令を各移動体に送信する例と、(b)ある移動体によって取得されたある位置のポーズデータから当該移動体の個体差の影響を除去して、個体差の影響を含まない正確な位置を登録する例とを説明する。図1には、上述した(a)の例が示されている。
いま、3台の移動体1a〜1cが全て同じ位置に、かつ同じ姿勢になるよう、各移動体1a〜1cを移動させたいとする。
運行管理装置50は、移動体1aに、目的位置の座標と当該目的位置における移動体1aの姿勢とを指定する指令Iaを送信する。移動体1aは、指令Iaに従って目的位置に向かって移動する。
次に、運行管理装置50は、移動体1bに指令Ibを送信する。指令Ibでは、指令Iaで指定された位置および姿勢が個体差データIVbで補正されている。すなわち、指令Ib=Ia+IVbによって算出される。
また、運行管理装置50は、移動体1cに指令Icを送信する。指令Icでは、指令Iaで指定された位置および姿勢が個体差データIVcで補正されている。すなわち、指令Ic=Ia+IVcによって算出される。
指令IbおよびIcはいずれも、個体差データIVbおよびIVc相当分だけ、移動体1aに送信された指令Iaとは異なる位置および姿勢を指定している。しかしながら、移動体1bおよび1cの各々にとっては、指令IbおよびIcの各々で指定された位置および姿勢は、移動体1aが向かうよう指示された現実の位置、および、当該位置において移動体1aが取るべき姿勢を表す。これにより、各移動体1a〜1cは、順次、物理的に同じ位置に同じ姿勢で到達することができる。
以下、移動体が無人搬送車である場合のより具体的な例を説明する。本明細書では、略語を用いて、無人搬送車を「AGV」と記述することがある。なお、以下の説明は、矛盾がない限り、AGV以外の移動体、例えば移動ロボット、ドローン、または有人の車両などにも同様に適用することができる。
(1)システムの基本構成
図2は、本開示による例示的な移動体管理システム100の基本構成例を示している。移動体管理システム100は、少なくとも1台のAGV10と、AGV10の運行管理を行う運行管理装置50とを含む。図2には、ユーザ1によって操作される端末装置20も記載されている。
AGV10は、走行に磁気テープなどの誘導体が不要な「ガイドレス式」走行が可能な無人搬送台車である。AGV10は、自己位置推定を行い、推定の結果を端末装置20および運行管理装置50に送信することができる。AGV10は、運行管理装置50からの指令に従って移動空間S内を自動走行することが可能である。AGV10は、さらに、人または他の移動体に追従して移動する「追尾モード」で動作することも可能である。
運行管理装置50は各AGV10の位置をトラッキングし、各AGV10の走行を管理するコンピュータシステムである。運行管理装置50は、デスクトップ型PC、ノート型PC、および/または、サーバコンピュータであり得る。運行管理装置50は、複数のアクセスポイント2を介して、各AGV10と通信する。たとえば、運行管理装置50は、各AGV10が次に向かうべき位置の座標のデータを各AGV10に送信する。各AGV10は、定期的に、たとえば100ミリ秒ごとに自身の位置および姿勢(orientation)を示すデータを運行管理装置50に送信する。指示した位置にAGV10が到達すると、運行管理装置50は、さらに次に向かうべき位置の座標のデータを送信する。AGV10は、端末装置20に入力されたユーザ1の操作に応じて移動空間S内を走行することも可能である。端末装置20の一例はタブレットコンピュータである。典型的には、端末装置20を利用したAGV10の走行は地図作成時に行われ、運行管理装置50を利用したAGV10の走行は地図作成後に行われる。
図3は、3台のAGV10a、10bおよび10cが存在する移動空間Sの一例を示している。いずれのAGVも図中の奥行き方向に走行しているとする。AGV10aおよび10bは天板に載置された荷物を搬送中である。AGV10cは、前方のAGV10bに追従して走行している。なお、説明の便宜のため、図3では参照符号10a、10bおよび10cを付したが、以下では、「AGV10」と記述する。
AGV10は、天板に載置された荷物を搬送する方法以外に、自身と接続された牽引台車を利用して荷物を搬送することも可能である。図4Aは接続される前のAGV10および牽引台車5を示している。牽引台車5の各足にはキャスターが設けられている。AGV10は牽引台車5と機械的に接続される。図4Bは、接続されたAGV10および牽引台車5を示している。AGV10が走行すると、牽引台車5はAGV10に牽引される。牽引台車5を牽引することにより、AGV10は、牽引台車5に載置された荷物を搬送できる。
AGV10と牽引台車5との接続方法は任意である。ここでは一例を説明する。AGV10の天板にはプレート6が固定されている。牽引台車5には、スリットを有するガイド7が設けられている。AGV10は牽引台車5に接近し、プレート6をガイド7のスリットに差し込む。差し込みが完了すると、AGV10は、図示されない電磁ロック式ピンをプレート6およびガイド7に貫通させ、電磁ロックをかける。これにより、AGV10と牽引台車5とが物理的に接続される。
再び図2を参照する。各AGV10と端末装置20とは、たとえば1対1で接続されてBluetooth(登録商標)規格に準拠した通信を行うことができる。各AGV10と端末装置20とは、1または複数のアクセスポイント2を利用してWi−Fi(登録商標)に準拠した通信を行うこともできる。複数のアクセスポイント2は、たとえばスイッチングハブ3を介して互いに接続されている。図2には2台のアクセスポイント2a、2bが記載されている。AGV10はアクセスポイント2aと無線で接続されている。端末装置20はアクセスポイント2bと無線で接続されている。AGV10が送信したデータはアクセスポイント2aで受信され、スイッチングハブ3を介してアクセスポイント2bに転送され、アクセスポイント2bから端末装置20に送信される。また、端末装置20が送信したデータは、アクセスポイント2bで受信され、スイッチングハブ3を介してアクセスポイント2aに転送され、アクセスポイント2aからAGV10に送信される。これにより、AGV10および端末装置20の間の双方向通信が実現される。複数のアクセスポイント2はスイッチングハブ3を介して運行管理装置50とも接続されている。これにより、運行管理装置50と各AGV10との間でも双方向通信が実現される。
(2)環境地図の作成
自己位置を推定しながらAGV10が走行できるようにするため、移動空間S内の地図が作成される。AGV10には位置推定装置およびレーザレンジファインダが搭載されており、レーザレンジファインダの出力を利用して地図を作成できる。
AGV10は、ユーザの操作によってデータ取得モードに遷移する。データ取得モードにおいて、AGV10はレーザレンジファインダを用いたセンサデータの取得を開始する。レーザレンジファインダは周期的にたとえば赤外線または可視光のレーザビームを周囲に放射して周囲の空間Sをスキャンする。レーザビームは、たとえば、壁、柱等の構造物、床の上に置かれた物体等の表面で反射される。レーザレンジファインダは、レーザビームの反射光を受けて各反射点までの距離を計算し、各反射点の位置が示された測定結果のデータを出力する。各反射点の位置には、反射光の到来方向および距離が反映されている。1回のスキャンによって得られた測定結果のデータは「計測データ」または「センサデータ」と呼ばれることがある。
位置推定装置は、センサデータを記憶装置に蓄積する。移動空間S内のセンサデータの取得が完了すると、記憶装置に蓄積されたセンサデータが外部装置に送信される。外部装置は、たとえば信号処理プロセッサを有し、かつ、地図作成プログラムがインストールされたコンピュータである。
外部装置の信号処理プロセッサは、スキャンごとに得られたセンサデータ同士を重ね合わせる。信号処理プロセッサが重ね合わせる処理を繰り返し行うことにより、空間Sの地図を作成することができる。外部装置は、作成した地図のデータをAGV10に送信する。AGV10は、作成した地図のデータを内部の記憶装置に保存する。外部装置は、運行管理装置50であってもよいし、他の装置であってもよい。
外部装置ではなくAGV10が地図の作成を行ってもよい。上述した外部装置の信号処理プロセッサが行った処理を、AGV10のマイクロコントローラユニット(マイコン)などの回路が行えばよい。AGV10内で地図を作成する場合には、蓄積されたセンサデータを外部装置に送信する必要が無くなる。センサデータのデータ容量は一般には大きいと考えられる。センサデータを外部装置に送信する必要がないため、通信回線の占有を回避できる。
なお、センサデータを取得するための移動空間S内の移動は、ユーザの操作に従ってAGV10が走行することによって実現し得る。たとえば、AGV10は、端末装置20を介して無線でユーザから前後左右の各方向への移動を指示する走行指令を受け取る。AGV10は走行指令にしたがって移動空間S内を前後左右に走行し、地図を作成する。AGV10がジョイスティック等の操縦装置と有線で接続されている場合には、当該操縦装置からの制御信号にしたがって移動空間S内を前後左右に走行し、地図を作成してもよい。レーザレンジファインダを搭載した計測台車を人が押し歩くことによってセンサデータを取得してもよい。
なお、図2および図3には複数台のAGV10が示されているが、AGVは1台であってもよい。複数台のAGV10が存在する場合、ユーザ1は端末装置20を利用して、登録された複数のAGVのうちから一台のAGV10を選択して、移動空間Sの地図を作成させることができる。
地図が作成されると、以後、各AGV10は当該地図を利用して自己位置を推定しながら自動走行することができる。自己位置を推定する処理の説明は後述する。
(3)AGVの構成
図5は、本実施形態にかかる例示的なAGV10の外観図である。AGV10は、2つの駆動輪11aおよび11bと、4つのキャスター11c、11d、11eおよび11fと、フレーム12と、搬送テーブル13と、走行制御装置14と、レーザレンジファインダ15とを有する。2つの駆動輪11aおよび11bは、AGV10の右側および左側にそれぞれ設けられている。4つのキャスター11c、11d、11eおよび11fは、AGV10の4隅に配置されている。なお、AGV10は、2つの駆動輪11aおよび11bに接続される複数のモータも有するが、複数のモータは図5には示されていない。また、図5には、AGV10の右側に位置する1つの駆動輪11aおよび2つのキャスター11cおよび11eと、左後部に位置するキャスター11fとが示されているが、左側の駆動輪11bおよび左前部のキャスター11dはフレーム12の蔭に隠れているため明示されていない。4つのキャスター11c、11d、11eおよび11fは、自由に旋回することができる。以下の説明では、駆動輪11aおよび駆動輪11bを、それぞれ車輪11aおよび車輪11bとも称する。
走行制御装置14は、AGV10の動作を制御する装置であり、主としてマイコン(後述)を含む集積回路、電子部品およびそれらが搭載された基板を含む。走行制御装置14は、上述した、端末装置20とのデータの送受信、および前処理演算を行う。
レーザレンジファインダ15は、たとえば赤外線または可視光のレーザビーム15aを放射し、当該レーザビーム15aの反射光を検出することにより、反射点までの距離を測定する光学機器である。本実施形態では、AGV10のレーザレンジファインダ15は、たとえばAGV10の正面を基準として左右135度(合計270度)の範囲の空間に、0.25度ごとに方向を変化させながらパルス状のレーザビーム15aを放射し、各レーザビーム15aの反射光を検出する。これにより、0.25度ごと、合計1081ステップ分の角度で決まる方向における反射点までの距離のデータを得ることができる。なお、本実施形態では、レーザレンジファインダ15が行う周囲の空間のスキャンは実質的に床面に平行であり、平面的(二次元的)である。しかしながら、レーザレンジファインダ15は高さ方向のスキャンを行ってもよい。
AGV10の位置および姿勢(向き)と、レーザレンジファインダ15のスキャン結果とにより、AGV10は、空間Sの地図を作成することができる。地図には、AGVの周囲の壁、柱等の構造物、床の上に載置された物体の配置が反映され得る。地図のデータは、AGV10内に設けられた記憶装置に格納される。
一般に、移動体の位置および姿勢は、ポーズ(pose)と呼ばれる。二次元面内における移動体の位置および姿勢は、XY直交座標系における位置座標(x, y)と、X軸に対する角度θによって表現される。AGV10の位置および姿勢、すなわちポーズ(x, y, θ)を、以下、単に「位置」と呼ぶことがある。
レーザビーム15aの放射位置から見た反射点の位置は、角度および距離によって決定される極座標を用いて表現され得る。本実施形態では、レーザレンジファインダ15は極座標で表現されたセンサデータを出力する。ただし、レーザレンジファインダ15は、極座標で表現された位置を直交座標に変換して出力してもよい。
レーザレンジファインダの構造および動作原理は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。レーザレンジファインダ15によって検出され得る物体の例は、人、荷物、棚、壁である。
レーザレンジファインダ15は、周囲の空間をセンシングしてセンサデータを取得するための外界センサの一例である。そのような外界センサの他の例としては、イメージセンサおよび超音波センサが考えられる。
走行制御装置14は、レーザレンジファインダ15の測定結果と、自身が保持する地図データとを比較して、自身の現在位置を推定することができる。なお、保持されている地図データは、他のAGV10が作成した地図データであってもよい。
図6Aは、AGV10の第1のハードウェア構成例を示している。また図6Aは、走行制御装置14の具体的な構成も示している。
AGV10は、走行制御装置14と、レーザレンジファインダ15と、2台のモータ16aおよび16bと、駆動装置17と、車輪11aおよび11bと、2つのロータリエンコーダ18aおよび18bとを備えている。
走行制御装置14は、マイコン14aと、メモリ14bと、記憶装置14cと、通信回路14dと、位置推定装置14eとを有している。マイコン14a、メモリ14b、記憶装置14c、通信回路14dおよび位置推定装置14eは通信バス14fで接続されており、相互にデータを授受することが可能である。レーザレンジファインダ15もまた通信インタフェース(図示せず)を介して通信バス14fに接続されており、計測結果である計測データを、マイコン14a、位置推定装置14eおよび/またはメモリ14bに送信する。
マイコン14aは、走行制御装置14を含むAGV10の全体を制御するための演算を行うプロセッサまたは制御回路(コンピュータ)である。典型的にはマイコン14aは半導体集積回路である。マイコン14aは、制御信号であるPWM(Pulse Width Modulation)信号を駆動装置17に送信して駆動装置17を制御し、モータに印加する電圧を調整させる。これによりモータ16aおよび16bの各々が所望の回転速度で回転する。
左右のモータ16aおよび16bの駆動を制御する1つ以上の制御回路(たとえばマイコン)を、マイコン14aとは独立して設けてもよい。たとえば、モータ駆動装置17が、モータ16aおよび16bの駆動をそれぞれ制御する2つのマイコンを備えていてもよい。それらの2つのマイコンは、エンコーダ18aおよび18bから出力されたエンコーダ情報を用いた座標計算をそれぞれ行い、所与の初期位置からのAGV10の移動距離を推定してもよい。また、当該2つのマイコンは、エンコーダ情報を利用してモータ駆動回路17aおよび17bを制御してもよい。
メモリ14bは、マイコン14aが実行するコンピュータプログラムを記憶する揮発性の記憶装置である。メモリ14bは、マイコン14aおよび位置推定装置14eが演算を行う際のワークメモリとしても利用され得る。
記憶装置14cは、不揮発性の半導体メモリ装置である。ただし、記憶装置14cは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよい。さらに、記憶装置14cは、いずれかの記録媒体にデータを書き込みおよび/または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。
記憶装置14cは、走行する空間Sの地図データM、および、1または複数の走行経路のデータ(走行経路データ)Rを記憶する。地図データMは、AGV10が地図作成モードで動作することによって作成され記憶装置14cに記憶される。走行経路データRは、地図データMが作成された後に外部から送信される。本実施形態では、地図データMおよび走行経路データRは同じ記憶装置14cに記憶されているが、異なる記憶装置に記憶されてもよい。
走行経路データRの例を説明する。
端末装置20がタブレットコンピュータである場合には、AGV10はタブレットコンピュータから走行経路を示す走行経路データRを受信する。このときの走行経路データRは、複数のマーカの位置を示すマーカデータを含む。「マーカ」は走行するAGV10の通過位置(経由点)を示す。走行経路データRは、走行開始位置を示す開始マーカおよび走行終了位置を示す終了マーカの位置情報を少なくとも含む。走行経路データRは、さらに、1以上の中間経由点のマーカの位置情報を含んでもよい。走行経路が1以上の中間経由点を含む場合には、開始マーカから、当該走行経由点を順に経由して終了マーカに至る経路が、走行経路として定義される。各マーカのデータは、そのマーカの座標データに加えて、次のマーカに移動するまでのAGV10の向き(角度)および走行速度のデータを含み得る。AGV10が各マーカの位置で一旦停止し、自己位置推定および端末装置20への通知などを行う場合には、各マーカのデータは、当該走行速度に達するまでの加速に要する加速時間、および/または、当該走行速度から次のマーカの位置で停止するまでの減速に要する減速時間のデータを含み得る。
端末装置20ではなく運行管理装置50(たとえば、PCおよび/またはサーバコンピュータ)がAGV10の移動を制御してもよい。その場合には、運行管理装置50は、AGV10がマーカに到達する度に、次のマーカへの移動をAGV10に指示してもよい。たとえば、AGV10は、運行管理装置50から、次に向かうべき目的位置の座標データ、または、当該目的位置までの距離および進むべき角度のデータを、走行経路を示す走行経路データRとして受信する。
AGV10は、作成された地図と走行中に取得されたレーザレンジファインダ15が出力したセンサデータとを利用して自己位置を推定しながら、記憶された走行経路に沿って走行することができる。
通信回路14dは、たとえば、Bluetooth(登録商標)および/またはWi−Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。いずれの規格も、2.4GHz帯の周波数を利用した無線通信規格を含む。たとえばAGV10を走行させて地図を作成するモードでは、通信回路14dは、Bluetooth(登録商標)規格に準拠した無線通信を行い、1対1で端末装置20と通信する。
位置推定装置14eは、地図の作成処理、および、走行時には自己位置の推定処理を行う。位置推定装置14eは、AGV10の位置および姿勢とレーザレンジファインダのスキャン結果とにより、移動空間Sの地図を作成する。走行時には、位置推定装置14eは、レーザレンジファインダ15からセンサデータを受け取り、また、記憶装置14cに記憶された地図データMを読み出す。レーザレンジファインダ15のスキャン結果から作成された局所的地図データ(センサデータ)と、より広範囲の地図データMとのマッチングを行うことにより、地図データM上における自己位置(x, y, θ)を同定する。位置推定装置14eは、局所的地図データが地図データMに一致した程度を表す「信頼度」のデータを生成する。自己位置(x, y, θ)、および、信頼度の各データは、AGV10から端末装置20または運行管理装置50に送信され得る。端末装置20または運行管理装置50は、自己位置(x, y, θ)、および、信頼度の各データを受信して、内蔵または接続された表示装置に表示することができる。
本実施形態では、マイコン14aと位置推定装置14eとは別個の構成要素であるとしているが、これは一例である。マイコン14aおよび位置推定装置14eの各動作を独立して行うことが可能な1つのチップ回路または半導体集積回路であってもよい。図6Aには、マイコン14aおよび位置推定装置14eを包括するチップ回路14gが示されている。以下では、マイコン14aおよび位置推定装置14eが別個独立に設けられている例を説明する。
2台のモータ16aおよび16bは、それぞれ2つの車輪11aおよび11bに取り付けられ、各車輪を回転させる。つまり、2つの車輪11aおよび11bはそれぞれ駆動輪である。本明細書では、モータ16aおよびモータ16bは、それぞれAGV10の右輪および左輪を駆動するモータであるとして説明する。
移動体10は、さらに、車輪11aおよび11bの回転位置または回転速度を測定するエンコーダユニット18をさらに備えている。エンコーダユニット18は、第1ロータリエンコーダ18aおよび第2ロータリエンコーダ18bを含む。第1ロータリエンコーダ18aは、モータ16aから車輪11aまでの動力伝達機構のいずれかの位置における回転を計測する。第2ロータリエンコーダ18bは、モータ16bから車輪11bまでの動力伝達機構のいずれかの位置における回転を計測する。エンコーダユニット18は、ロータリエンコーダ18aおよび18bによって取得された信号を、マイコン14aに送信する。マイコン14aは、位置推定装置14eから受信した信号だけでなく、エンコーダユニット18から受信した信号を利用して、移動体10の移動を制御してもよい。
駆動装置17は、2台のモータ16aおよび16bの各々に印加される電圧を調整するためのモータ駆動回路17aおよび17bを有する。モータ駆動回路17aおよび17bの各々はいわゆるインバータ回路を含む。モータ駆動回路17aおよび17bは、マイコン14aまたはモータ駆動回路17a内のマイコンから送信されたPWM信号によって各モータに流れる電流をオンまたはオフし、それによりモータに印加される電圧を調整する。
図6Bは、AGV10の第2のハードウェア構成例を示している。第2のハードウェア構成例は、レーザ測位システム14hを有する点、および、マイコン14aが各構成要素と1対1で接続されている点において、第1のハードウェア構成例(図6A)と相違する。
レーザ測位システム14hは、位置推定装置14eおよびレーザレンジファインダ15を有する。位置推定装置14eおよびレーザレンジファインダ15は、たとえばイーサネット(登録商標)ケーブルで接続されている。位置推定装置14eおよびレーザレンジファインダ15の各動作は上述した通りである。レーザ測位システム14hは、AGV10のポーズ(x, y, θ)を示す情報をマイコン14aに出力する。
マイコン14aは、種々の汎用I/Oインタフェースまたは汎用入出力ポート(図示せず)を有している。マイコン14aは、通信回路14d、レーザ測位システム14h等の、走行制御装置14内の他の構成要素と、当該汎用入出力ポートを介して直接接続されている。
図6Bに関して上述した構成以外は、図6Aの構成と共通である。よって共通の構成の説明は省略する。
本開示の実施形態におけるAGV10は、図示されていないバンパースイッチなどのセーフティセンサを備えていてもよい。AGV10は、ジャイロセンサなどの慣性計測装置を備えていてもよい。ロータリエンコーダ18aおよび18bまたは慣性計測装置などの内界センサによる測定データを利用すれば、AGV10の移動距離および姿勢の変化量(角度)を推定することができる。これらの距離および角度の推定値は、オドメトリデータと呼ばれ、位置推定装置14eによって得られる位置および姿勢の情報を補助する機能を発揮し得る。
(4)地図データ
図7A〜図7Fは、センサデータを取得しながら移動するAGV10を模式的に示す。ユーザ1は、端末装置20を操作しながらマニュアルでAGV10を移動させてもよい。あるいは、図6Aおよび6Bに示される走行制御装置14を備えるユニット、または、AGV10そのものを台車に載置し、台車をユーザ1が手で押す、または牽くことによってセンサデータを取得してもよい。
図7Aには、レーザレンジファインダ15を用いて周囲の空間をスキャンするAGV10が示されている。所定のステップ角毎にレーザビームが放射され、スキャンが行われる。なお、図示されたスキャン範囲は模式的に示した例であり、上述した合計270度のスキャン範囲とは異なっている。
図7A〜図7Fの各々では、レーザビームの反射点の位置が、記号「・」で表される複数の黒点4を用いて模式的に示されている。レーザビームのスキャンは、レーザレンジファインダ15の位置および姿勢が変化する間に短い周期で実行される。このため、現実の反射点の個数は、図示されている反射点4の個数よりも遥かに多い。位置推定装置14eは、走行に伴って得られる黒点4の位置を、たとえばメモリ14bに蓄積する。AGV10が走行しながらスキャンを継続して行うことにより、地図データが徐々に完成されてゆく。図7Bから図7Eでは、簡略化のためスキャン範囲のみが示されている。当該スキャン範囲は例示であり、上述した合計270度の例とは異なる。
地図は、地図作成に必要な量のセンサデータを取得した後、そのセンサデータに基づいて、このAGV10内のマイコン14aまたは外部のコンピュータを用いて作成してもよい。あるいは、移動しつつあるAGV10が取得したセンサデータに基づいてリアルタイムで地図を作成してもよい。
図7Fは、完成した地図40の一部を模式的に示す。図7Fに示される地図では、レーザビームの反射点の集まりに相当する点群(Point Cloud)によって自由空間が仕切られている。地図の他の例は、物体が占有している空間と自由空間とをグリッド単位で区別する占有格子地図である。位置推定装置14eは、地図のデータ(地図データM)をメモリ14bまたは記憶装置14cに蓄積する。なお図示されている黒点の数または密度は一例である。
こうして得られた地図データは、複数のAGV10によって共有され得る。
AGV10が地図データに基づいて自己位置を推定するアルゴリズムの典型例は、ICP(Iterative Closest Point)マッチングである。前述したように、レーザレンジファインダ15のスキャン結果から作成された局所的地図データ(センサデータ)と、より広範囲の地図データMとのマッチングを行うことにより、地図データM上における自己位置(x, y, θ)を推定することができる。
AGV10が走行するエリアが広い場合、地図データMのデータ量が多くなる。そのため、地図の作成時間が増大したり、自己位置推定に多大な時間を要するなどの不都合が生じる可能性がある。そのような不都合が生じる場合には、地図データMを、複数の部分地図のデータに分けて作成および記録してもよい。
図8は、4つの部分地図データM1、M2、M3、M4の組み合わせによって1つの工場の1フロアの全域がカバーされる例を示している。この例では、1つの部分地図データは50m×50mの領域をカバーしている。X方向およびY方向のそれぞれにおいて隣接する2つの地図の境界部分に、幅5mの矩形の重複領域が設けられている。この重複領域を「地図切替エリア」と呼ぶ。1つの部分地図を参照しながら走行しているAGV10が地図切替エリアに到達すると、隣接する他の部分地図を参照する走行に切り替える。部分地図の枚数は4枚に限らず、AGV10が走行するフロアの面積、地図作成および自己位置推定を実行するコンピュータの性能に応じて適宜設定してよい。部分地図データのサイズおよび重複領域の幅も、上記の例に限定されず、任意に設定してよい。
(5)運行管理装置の構成例
図9は、運行管理装置50のハードウェア構成例を示している。運行管理装置50は、CPU51と、メモリ52と、位置データベース(位置DB)53と、通信回路54と、地図データベース(地図DB)55と、画像処理回路56と、個体差データベース(個体差DB)57とを有する。
CPU51、メモリ52、位置DB53、通信回路54、地図DB55、画像処理回路56および個体差DB57はバス58で接続されており、相互にデータを授受することが可能である。
CPU51は、運行管理装置50の動作を制御する信号処理回路(コンピュータ)である。典型的にはCPU51は半導体集積回路である。
メモリ52は、CPU51が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ52は、CPU51が演算を行う際のワークメモリとしても利用され得る。
位置DB53は、各AGV10の行き先となり得る各位置を示す位置データを格納する。本実施形態では、位置データは、基準AGVが出力した位置の座標値および姿勢の角度値の組を含む。当該位置データを「運行管理登録データ」と呼ぶこともある。なお、基準AGVは、図1に示す移動体1aに対応する。
通信回路54は、たとえばイーサネット(登録商標)規格に準拠した有線通信を行う。通信回路54はアクセスポイント2(図1)と有線で接続されており、アクセスポイント2を介して、AGV10と通信することができる。通信回路54は、AGV10に送信すべきデータを、バス58を介してCPU51から受信する。また通信回路54は、AGV10から受信したデータ(通知)を、バス58を介してCPU51および/またはメモリ52に送信する。
地図DB55は、AGV10が走行する工場等の内部の地図のデータを格納する。当該地図は、地図40(図7F)と同じであってもよいし、異なっていてもよい。各AGV10の位置と1対1で対応関係を有する地図であれば、データの形式は問わない。たとえば地図DB55に格納される地図は、CADによって作成された地図であってもよい。
位置DB53および地図DB55は、不揮発性の半導体メモリ上に構築されてもよいし、ハードディスクに代表される磁気記録媒体、または光ディスクに代表される光学式記録媒体上に構築されてもよい。
画像処理回路56はモニタ59に表示される映像のデータを生成する回路である。画像処理回路56は、専ら、管理者が運行管理装置50を操作する際に動作する。本実施形態では特にこれ以上の詳細な説明は省略する。なお、モニタ59は運行管理装置50と一体化されていてもよい。また画像処理回路56の処理をCPU51が行ってもよい。
個体差DB57は、各AGV10の個体差データを格納する記憶装置である。ある位置においてセンシングを行ったAGV10が、座標値(x,y)および姿勢を表す角度θを出力したとする。本実施形態では、個体差データは(x,y,θ)の各値の基準値からのずれ量として取得される。「基準値」は、当該位置においてセンシングを行った基準AGVが出力した(x,y,θ)である。個体差データは、AGV毎に算出される。また、地図が複数枚存在する場合には、個体差データは地図毎かつAGV毎に算出され得る。個体差データの詳細は後述する。
移動体として三次元空間を飛行するドローン等を採用した場合、個体差データは(x,y,z,θ,φ)の各値の基準値からのずれ量として取得され得る。
(6)運行管理装置の動作
図10を参照しながら、運行管理装置50の動作の概要を説明する。図10は、運行管理装置50によって決定されたAGV10の移動経路の一例を模式的に示す図である。
AGV10および運行管理装置50の動作の概要は以下のとおりである。以下では、あるAGV10が現在、位置Mにおり、幾つかの位置を通過して、最終的な目的地である位置Mn+1(n:1以上の正の整数)まで走行する例を説明する。なお、位置DB53には位置Mの次に通過すべき位置M、位置Mの次に通過すべき位置M等の各位置を示す座標データが記録されている。
運行管理装置50のCPU51は、位置DB53を参照して位置Mの座標データを読み出し、さらに個体差DB57から当該AGV10の個体差データを読み出して、位置Mに向かわせる走行指令を生成する。通信回路54は、アクセスポイント2を介して走行指令をAGV10に送信する。
CPU51は、AGV10から、アクセスポイント2を介して、定期的に現在位置および姿勢を示すデータを受信する。こうして運行管理装置50は、各AGV10の位置をトラッキングすることができる。CPU51は、AGV10の現在位置が位置Mに一致したと判定すると、同様に、位置Mの座標データおよび個体差データを読み出し、位置Mに向かわせる走行指令を生成してAGV10に送信する。つまり運行管理装置50は、AGV10がある位置に到達したと判定すると、次に通過すべき位置に向かわせる走行指令を送信する。これにより、AGV10は最終的な目的位置Mn+1に到達することができる。上述した、AGV10の通過位置および目的位置は「マーカ」と呼ばれることがある。
(7)AGVの個体差を考慮した運行管理装置の処理
次に、本実施形態にかかる移動体管理システム100をより具体的に説明する。以下の説明では、移動体管理システム100には3台のAGVが存在する例を挙げる。ただしAGVの台数は一例であり4台以上存在していてもよい。本実施形態では、基準として取り扱われるAGV(基準AGV)および個体差データを取得する対象となるAGVの少なくとも2台が存在していればよい。3台のAGVをそれぞれ、「AGV10a」,「AGV10b」および「AGV10c」と記載する。AGV10a〜10cは、例えば共通の型番を有する製品である。3台のAGVに限られない一般的な説明では「AGV10」と包括的に記載する。
図11は、個体差データを取得するための環境200の例を模式的に示す平面レイアウト図である。環境200は、より広い環境の一部である。図2において、太い直線は、たとえば建造物の固定壁202を示している。
運行管理装置50は、ステーションSTの位置を利用して、各AGV10a、10bおよび10cの個体差データを取得する。「ステーションST」は、例えば人間またはロボットがAGV10に荷物を積み下ろしする場所である。複数のステーションの間には、AGV10の通過位置を示す1以上のマーカが設定され得る。あるステーションから他のステーションまでの経路は、AGV10の走行経路の一例である。なお、ステーションは一例として挙げるに過ぎない。ステーション以外の位置、例えばマーカ位置、で個体差データを取得してもよい。
AGV10a、10bおよび10cは前もって共通の地図データMを記憶している。AGV10a、10bおよび10cの各々は、時間を変えて、同じステーションSTの位置で、かつ、同じ姿勢で配置される。そして、各々が、レーザレンジファインダ15および位置推定装置14eを利用してステーションSTの位置および姿勢の推定値を出力する。運行管理装置50は出力された位置および姿勢の推定値を利用して個体差データを取得する。
既に説明したように、一例としてレーザレンジファインダ15は0.25度ごとにレーザビームを放射する。精度の良い個体差データを取得するためには、AGV10a〜10cを設置する位置および姿勢を可能な限り一致させることが好ましい。そこで、ステーションSTの床面に位置決め部材(治具)を設けておくことが好適である。
図12Aは、床面に固定された金属製の治具204を示している。治具204は、少なくとも個体差データ取得時に床面に固定されていればよく、個体差データ取得後は取り外され得る。上空から見たとき、治具204は凹形状を有している。
図12Bは、治具204によって位置および姿勢が固定されたAGV10を示している。治具204は凹形状部分においてAGV10の前部分を概ね隙間無く受ける。治具204を利用することにより、AGV10の位置および角度を固定的に保持することができる。なお、図示された治具204は一例である。AGV10の位置および姿勢を固定できる限りにおいて、形状、構造および材質等は任意である。
図13は、AGV10aおよび10bのレーザレンジファインダ15が取得したスキャンデータの一例を示している。黒丸はAGV10aのスキャンデータを表し、白丸はAGV10bのスキャンデータを表している。煩雑になるため、AGV10cのスキャンデータの図示は省略している。
同じステーションSTの位置で、かつ、同じ姿勢で配置されたとしても、LRFの取り付け具合、LRFのレンズの向き等の相違により、AGV10aおよび10bのスキャンデータは完全に一致しない。その結果、AGV10aおよび10bの各位置推定装置14eが出力するポーズデータ(x, y, θ)には、AGV10aおよび10bの個体差が反映される。
図14は、AGV10a〜10cの各位置推定装置14eが出力したポーズデータの例を示している。AGV10aのポーズデータが(100,100,90)である。一方、AGV10bおよび10cのポーズデータはそれぞれ(105,98,89)および(90,110,91)である。1つのステーションSTに対して、AGV10a〜10cの各ポーズデータは一致せず異なっている。各ポーズデータは、各AGV10a〜10cの個体差を反映している。
本実施形態では、各AGVの個体差を、あるAGV(基準AGV)のポーズデータからの「差」によって定義する。以下では基準AGVをAGV10aとする。この仮定のもとでは、AGV10a〜10cに予め記憶される共通の地図データは、AGV10aを利用して作成されていることがより好ましい。地図データの作成に用いられたAGV10を基準AGVとして扱うと、その地図との関係では個体差は存在しないとして取り扱うことができるからである。なお、本実施形態では、基準AGVであるAGV10aの個体差データを(0,0,0)と記載している。仮に、AGV10aが地図データの作成に用いられていないAGVであった場合には、個体差データが(0,0,0)であったとしても、地図の座標値と基準AGVのポーズデータの座標値との間には誤差が含まれ得ることに留意されたい。
図15は、ステーションSTにおけるAGV10a〜10cの各ポーズデータと、個体差データとを示している。
AGV10a〜10cの各ポーズデータは運行管理装置50に送られて、例えば位置DB53またはメモリ52に記憶される。
運行管理装置50のCPU51は、AGV10bのポーズデータの位置の座標値および姿勢の角度値の各々から、AGV10aのポーズデータの各値を減算することによって、AGV10bの個体差データを算出する。同様に、CPU51は、AGV10cのポーズデータの各値から、AGV10aのポーズデータの各値を減算することによって、AGV10cの個体差データを算出する。
AGV10bの個体差データ(x2,y2,θ2)の算出式の例を以下に示す。なお、AGV10aおよび10bの各ポーズデータを(xa,ya,θa)、(xb,yb,θb)と表す。
(x2,y2,θ2)=(xb,yb,θb)−(xa,ya,θa)
図15に示す各個体差データの数値は上述の式により算出されることが理解される。AGV10bの個体差データも同様である。取得された各AGV10の個体差データは、個体差DB57に格納される。また本実施形態では、基準AGV10aが出力したステーションSTの位置データ(「運行管理登録データ」)が位置DB53に登録される。なお、図15は理解のしやすさのための表である。図示される表が生成され、記憶装置に格納される必要はない。
図16は、AGV10bの個体差データの取得処理の手順を示すフローチャートである。取得処理を行う主体は運行管理装置50のCPU51である。基準AGVはAGV10aであるとする。
ステップS10において、CPU51は、AGV10aおよび10bの各々から、同じ位置および同じ姿勢でセンシングして出力されたポーズデータを、通信回路54およびバス58を介して受信する。
ステップS11において、CPU51は、AGV10aから受信したポーズデータとAGV10bから受信したポーズデータとの差分(x2,y2,θ2)を算出する。
ステップS12において、CPU51は、算出した差分(x2,y2,θ2)をAGV10bの個体差データとして個体差DB57に格納する。
図16の手順に従って、運行管理装置50は、他に存在するAGV10c等の個体差データも取得し得る。個体差DB57には、各AGVを識別するデータ(ID、シリアル番号等)と、個体差データとが対応付けられて記憶される。図17は、個体差DB57に記憶された個体差データ群210を示している。
次に、個体差データ群210の利用方法の例を説明する。
図18は、個体差データを用いた座標値および姿勢の角度値の補正処理の手順を示すフローチャートである。この補正処理は、AGV10bに対し、移動先の位置および当該位置における姿勢を指定する指令を送る際に運行管理装置50のCPU51によって実行される。
ステップS20において、CPU51は、AGV10bの移動先位置の座標値および当該位置における姿勢の角度値(x,y,θ)を決定する。(x,y,θ)は、例えば移動体管理システム100の管理者が、AGV10bを移動させようとする現実の位置および姿勢である。
ステップS21において、CPU51は、個体差DB57からAGV10bの個体差データ(x2,y2,θ2)を読み出す。
ステップS22において、CPU51は、決定した座標値および姿勢の角度値を、AGV10bの個体差データで補正する。具体的には、CPU51は、(x,y,θ)に個体差データ(x2,y2,θ2)を加算することによって、当初の各値(x,y,θ)を補正する。これにより、補正データ(x+x2,y+y2,θ+θ2)が生成される。
ステップS23において、CPU51は、補正データによって位置および姿勢が指定された指令をAGV10bに送信する。
上述のステップS22の処理によって得られた補正データ(x+x2,y+y2,θ+θ2)は、AGV10bが実際に位置および姿勢(x,y,θ)の状態でセンシングを行ったときに、位置推定装置14eから出力される位置および姿勢の各値に相当する。AGV10bの個体差データを利用することにより、AGV10bの個体差を考慮した位置の座標値と姿勢の角度値とを指定することができる。ステップS23によって指令がAGV10bに送信されると、AGV10bは、実際には位置(x,y)に移動するとともに、その位置において角度値θの姿勢を実現することができる。
上述の処理は、運行管理装置50のCPU51が補正データを生成し、AGV10bに送信したが、AGV10bに補正データを生成させてもよい。その場合、CPU51は、上述のステップS20およびS21の処理を行い、決定した(x,y,θ)と、読み出したAGV10bの個体差データとをAGV10bに送信する。AGV10bのマイコン14aが、ステップS22の処理を実行して補正データを生成し、補正データに従って移動を行えばよい。
AGV10bに補正データを生成させると、運行管理装置50の処理負荷を軽減することができる。例えば全てのAGV10を同じ位置に移動させたい場合には、その位置を決定しさえすればよい。もちろん、運行管理装置50は、AGV10ごとに移動させたい位置を決定してもよい。さらに、運行管理装置50が補正処理を行わないことにより、運行管理装置50の実装もより簡単化できる。
次に、個体差データを利用したステーションの位置データの登録処理を説明する。なお、登録対象はステーションの位置に限られず、例えば、ステーション間に設定され得るマーカの位置データを登録することもできる。
図19は、ステーションST1およびST2に存在するAGV10aおよび10bを示している。AGV10aおよび10bは、それぞれの位置でセンシングを行って、センシング結果であるポーズデータを出力する。
図20は、個体差の影響を除去してステーションST1およびST2の位置データを登録する処理の概要を説明する図である。
運行管理装置50のCPU51は、各ステーションSTkに関して下記の演算を行い、得られた位置および姿勢の各値(x,y,θ)を位置データとして登録する。なお下記の式中の「AGV10p」は、登録しようとするステーションでセンシングを行ったAGVを表す。
(x,y,θ)
=ステーションSTkのポーズデータ(xk,yk,θk)
−AGV10kの個体差データ(xp,yp,θp)
右辺第1項から第2項を減算することにより、ステーションSTkのポーズデータに含まれる、AGV10pの個体差の影響を除去することができる。
図20に示す具体的な数値に従って、ステーションST1およびST2の位置データを登録する例を説明する。
ステーションST1の位置データ(x,y,θ)は、AGV10aから出力されたポーズデータを使って以下のように求められ、登録される。
(x,y,θ)=(100,100,90)−(0,0,0)
=(100,100,90)
ステーションST2の位置データ(x,y,θ)は、AGV10bから出力されたポーズデータを使って以下のように求められ、登録される。
(x,y,θ)=(175,78,91)−(1,2,−2)
=(174,76,93)
図20の最下段には、ステーションST1およびST2の位置データが記載されている。得られた位置データは、運行管理装置50の位置DB53に登録され得る。
図21は、個体差データを利用したステーションの位置データ登録処理の手順を示すフローチャートである。取得処理を行う主体は運行管理装置50のCPU51である。
ステップS30において、CPU51は、登録対象のステーションSTkのポーズデータ(xk,yk,θk)を取得する。ここでは、AGV10pがステーションSTkにおいてポーズデータを出力したとする。
ステップS31において、CPU51は、個体差DB57からAGV10pの個体差データ(xp,yp,θp)を読み出す。
ステップS32において、CPU51は、ステーションSTkのポーズデータから個体差の影響を除去したデータ(xk−xp,yk−yp,θk−θp)を生成する。
ステップS33において、CPU51は、得られたデータ(xk−xp,yk−yp,θk−θp)をステーションSTkの位置データとして位置DB53に登録する。
上述の説明では、位置の座標値および姿勢の角度値の組を例示して説明したが、本開示では姿勢の角度値を含めることは必須ではない。位置の座標値のみを処理および登録の対象としてもよい。
また、個体差データは、1つのポーズデータのみから生成される必要はない。同じAGV10に、同じ位置および姿勢でセンシングを複数回行わせ、複数個のポーズデータを出力させ、得られた複数個のポーズデータの平均値を利用して個体差データを生成してもよい。
また、個体差データは経時変化する可能性がある。そのため、運行管理装置50は、個体差データを定期的に、または管理者から指示された任意のタイミングで更新してもよい。
上述の実施形態の説明では、一例として二次元空間(床面)を走行するAGVを挙げた。しかしながら本開示は三次元空間を移動する移動体、たとえば飛行体(ドローン)、にも適用され得る。ドローンが飛行しながら三次元空間地図を作成する場合には、二次元空間を三次元空間に拡張することができる。
上記の包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体によって実現されてもよい。あるいは、システム、装置、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせによって実現されてもよい。
本開示の運行管理装置および移動体管理システムは、工場、倉庫、建設現場、物流、病院などで荷物、部品、完成品などの物の移動および搬送に好適に利用され得る。
1・・・ユーザ、2a、2b・・・アクセスポイント、10・・・AGV(移動体)、11a、11b・・・駆動輪(車輪)、11c、11d、11e、11f・・・キャスター、12・・・フレーム、13・・・搬送テーブル、14・・・走行制御装置、14a・・・マイコン、14b・・・メモリ、14c・・・記憶装置、14d・・・通信回路、14e・・・測位装置、16a、16b・・・モータ、15・・・レーザレンジファインダ、17a、17b・・・モータ駆動回路、20・・・端末装置(タブレットコンピュータなどのモバイルコンピュータ)、50・・・運行管理装置、51・・・CPU、52・・・メモリ、53・・・位置データベース(位置DB)、54・・・通信回路、55・・・地図データベース(地図DB)、56・・・画像処理回路、100・・・移動体管理システム

Claims (16)

  1. 自律走行可能な、第1移動体および第2移動体を含む複数の移動体の運行を管理する運行管理装置であって、
    前記第1移動体および前記第2移動体の各々は、
    同一の地図データを記憶するメモリと、
    周囲の空間をセンシングしてセンサデータを出力するセンサと、
    前記センサデータを前記地図データと照合し、位置および姿勢を示すポーズデータを出力する測位装置と、
    外部と通信する通信回路と
    を有しており、
    前記運行管理装置は、
    前記第1移動体および前記第2移動体と通信する通信インタフェース装置と、
    演算回路と、
    記憶装置と
    を備え、
    前記演算回路は、
    前記通信インタフェース装置を介して、前記第1移動体および前記第2移動体の各々が、空間内の同一の位置において同一の姿勢でセンシングして出力したポーズデータを受信し、
    前記第1移動体から受信したポーズデータと前記第2移動体から受信したポーズデータとの差分である個体差データを算出し、
    前記個体差データを前記記憶装置に格納する、
    運行管理装置。
  2. 前記演算回路は、
    前記第1移動体に、空間内の所定の位置の座標および前記所定の位置における姿勢を指定する指令を送信し、
    前記第2移動体に、空間内の所定の位置の座標および前記所定の位置における姿勢として、前記個体差データによって補正した座標および姿勢を指定する、請求項1に記載の運行管理装置。
  3. 前記演算回路は、前記通信インタフェース装置を介して、前記第2移動体に前記個体差データを送信し、
    前記運行管理装置が、前記第1移動体および前記第2移動体の各々に、空間内の所定の位置および前記所定の位置における姿勢を指定する指令を送信するときにおいて、
    前記演算回路は、前記第1移動体および前記第2移動体の各々に、前記所定の位置の座標および前記姿勢を指定する指令を送信する、請求項1に記載の運行管理装置。
  4. 前記ポーズデータは、座標値および移動体の姿勢を示す角度値の組であり、
    前記演算回路は、前記座標値および角度値の各々について、前記差分を算出する、請求項1から3のいずれかに記載の運行管理装置。
  5. 前記演算回路は、前記差分を算出する処理を複数回実行し、複数の差分の平均値を前記個体差データとして算出する、請求項1から3のいずれかに記載の運行管理装置。
  6. 前記演算回路は、予め定められた期間を経過すると、前記個体差データを更新する、請求項1から5のいずれかに記載の運行管理装置。
  7. 前記第1移動体および前記第2移動体の各々は、空間内の予め定められた位置であるステーションにおいて、同一の姿勢でセンシングして前記ポーズデータを出力する、請求項1から6のいずれかに記載の運行管理装置。
  8. 前記ステーションには、固定された位置に治具が設けられており、
    前記治具を用いて前記第1移動体および前記第2移動体の各々を固定することにより、前記第1移動体および前記第2移動体の各々は同一の位置で同一の姿勢を維持することが可能であり、
    前記演算回路は、前記治具によって前記同一の位置で前記同一の姿勢を維持する前記第1移動体および前記第2移動体の各々がセンシングして出力したポーズデータを受信する、請求項7に記載の運行管理装置。
  9. 自律走行可能な、第1移動体および第2移動体を含む複数の移動体の運行を管理する運行管理装置であって、
    前記第1移動体および前記第2移動体の各々は、
    同一の地図データを記憶するメモリと、
    周囲の空間をセンシングしてセンサデータを出力するセンサと、
    前記センサデータを前記地図データと照合し、位置および姿勢を示すポーズデータを出力する測位装置と、
    外部と通信する通信回路と
    を有しており、
    前記運行管理装置は、
    前記第1移動体および前記第2移動体と通信する通信インタフェース装置と、
    前記第1移動体および前記第2移動体の各々の個体差データを記憶した記憶装置と、
    演算回路と
    を備え、
    前記個体差データは、前記第1移動体および前記第2移動体の各々が、空間内の同一の位置において同一の姿勢でセンシングして出力したポーズデータに基づいて予め作成されたデータであって、
    前記第1移動体の個体差データは、前記第1移動体のポーズデータであり、
    前記第2移動体の個体差データは、前記第1移動体から受信したポーズデータと前記第2移動体から受信したポーズデータとの差分であり、
    前記第1移動体が前記空間内の第1位置においてセンシングして第1ポーズデータを出力し、前記第2移動体が前記空間内の第2位置においてセンシングして第2ポーズデータを出力したときにおいて、
    前記演算回路は、前記第2ポーズデータに含まれる位置のデータおよび前記第2移動体の個体差データに基づいて得られたデータを、前記第2位置の座標値として前記記憶装置に記憶する、
    運行管理装置。
  10. 前記演算回路は、前記第2ポーズデータに含まれる位置の座標値から前記第2移動体の個体差データに含まれる位置の座標値を減算して得られたデータを、前記第2位置の座標値として前記記憶装置に記憶する、請求項9に記載の運行管理装置。
  11. 前記ポーズデータはセンシングを行った位置の座標値および移動体の姿勢を示す角度値の組であり、
    前記第2移動体の個体差データは、前記座標値および前記角度値の各々について算出された差分値であり、
    前記演算回路は、前記第2ポーズデータに含まれる角度値を前記第2移動体の角度値の差分値から減算して、前記第2位置に関連付けて前記記憶装置にさらに記憶する、請求項9または10に記載の運行管理装置。
  12. 前記演算回路は、前記第1ポーズデータに含まれる位置のデータを、前記第1位置の座標値として前記記憶装置にさらに記憶する、請求項9から11のいずれかに記載の運行管理装置。
  13. 前記ポーズデータは座標値および移動体の姿勢を示す角度値の組であり、
    前記第2移動体の個体差データは、前記座標値および前記角度値の各々について算出された差分値であり、
    前記演算回路は、
    前記第1ポーズデータに含まれる角度値を、前記第1位置に関連付けて前記記憶装置にさらに記憶し、
    前記第2ポーズデータに含まれる角度値を前記第2移動体の角度値の差分値から減算して、前記第2位置に関連付けて前記記憶装置にさらに記憶する、請求項12に記載の運行管理装置。
  14. 前記演算回路は、前記第2移動体に、前記第2位置の座標および前記第2位置における姿勢として、前記個体差データによって補正した座標および姿勢を指定する、請求項11または13に記載の運行管理装置。
  15. 前記演算回路は、前記第1移動体に、前記記憶装置に記憶された前記第2位置の座標値、および、前記座標値に関連付けられた角度値を送信する、請求項14に記載の運行管理装置。
  16. 前記演算回路は、前記通信インタフェース装置を介して、前記第2移動体に前記個体差データを送信し、
    前記運行管理装置が、前記第1移動体および前記第2移動体の各々に、前記第2位置および前記第2位置における姿勢を指定する指令を送信するときにおいて、
    前記演算回路は、前記第1移動体および前記第2移動体の各々に、前記第2位置の座標および前記姿勢を指定する指令を送信する、請求項11または13に記載の運行管理装置。
JP2019543706A 2017-09-25 2018-09-20 運行管理装置 Pending JPWO2019059299A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017183537 2017-09-25
JP2017183537 2017-09-25
PCT/JP2018/034878 WO2019059299A1 (ja) 2017-09-25 2018-09-20 運行管理装置

Publications (1)

Publication Number Publication Date
JPWO2019059299A1 true JPWO2019059299A1 (ja) 2020-10-15

Family

ID=65811409

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019543706A Pending JPWO2019059299A1 (ja) 2017-09-25 2018-09-20 運行管理装置

Country Status (2)

Country Link
JP (1) JPWO2019059299A1 (ja)
WO (1) WO2019059299A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016747A (ja) * 2012-07-06 2014-01-30 Honda Motor Co Ltd 配置決定方法、配置決定装置及び移動体
JP2014112059A (ja) * 2012-12-05 2014-06-19 Chugoku Electric Power Co Inc:The 移動体に位置情報を提供するシステム、及び位置情報提供方法
JP2017134794A (ja) * 2016-01-29 2017-08-03 パナソニックIpマネジメント株式会社 移動ロボット制御システム及び移動ロボットを制御するサーバ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016747A (ja) * 2012-07-06 2014-01-30 Honda Motor Co Ltd 配置決定方法、配置決定装置及び移動体
JP2014112059A (ja) * 2012-12-05 2014-06-19 Chugoku Electric Power Co Inc:The 移動体に位置情報を提供するシステム、及び位置情報提供方法
JP2017134794A (ja) * 2016-01-29 2017-08-03 パナソニックIpマネジメント株式会社 移動ロボット制御システム及び移動ロボットを制御するサーバ装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
石岡 宏治ほか: "MARSHA:複数の自律移動ロボットの個体差を考慮した地図獲得システムの設計と実装", 日本ロボット学会誌, vol. 第12巻 第6号, JPN6022047568, 1994, JP, pages 846 - 856, ISSN: 0005044588 *

Also Published As

Publication number Publication date
WO2019059299A1 (ja) 2019-03-28

Similar Documents

Publication Publication Date Title
JP6816830B2 (ja) 位置推定システム、および当該位置推定システムを備える移動体
JP6825712B2 (ja) 移動体、位置推定装置、およびコンピュータプログラム
JP7081881B2 (ja) 移動体および移動体システム
WO2018110568A1 (ja) 障害物の回避動作を行う移動体およびそのコンピュータプログラム
JP2019168942A (ja) 移動体、管理装置および移動体システム
US20200110410A1 (en) Device and method for processing map data used for self-position estimation, mobile body, and control system for mobile body
JPWO2019026761A1 (ja) 移動体およびコンピュータプログラム
JP7136426B2 (ja) 管理装置および移動体システム
US11537140B2 (en) Mobile body, location estimation device, and computer program
JPWO2019054209A1 (ja) 地図作成システムおよび地図作成装置
JP2019053391A (ja) 移動体
JP2019175137A (ja) 移動体および移動体システム
JP2019175136A (ja) 移動体
WO2019194079A1 (ja) 位置推定システム、当該位置推定システムを備える移動体、およびコンピュータプログラム
JP2019179497A (ja) 移動体および移動体システム
JP2019079171A (ja) 移動体
JP2020166702A (ja) 移動体システム、地図作成システム、経路作成プログラムおよび地図作成プログラム
JP2019067001A (ja) 移動体
JP2019165374A (ja) 移動体および移動体システム
WO2020213645A1 (ja) 地図作成システム、信号処理回路、移動体および地図作成方法
JP2021056764A (ja) 移動体
JPWO2019059299A1 (ja) 運行管理装置
JPWO2019069921A1 (ja) 移動体
JP2019148871A (ja) 移動体および移動体システム
JP2020166701A (ja) 移動体およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210902

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211104

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230425