JP7103585B2 - 移動体、移動体管理システムおよびコンピュータプログラム - Google Patents

移動体、移動体管理システムおよびコンピュータプログラム Download PDF

Info

Publication number
JP7103585B2
JP7103585B2 JP2017158497A JP2017158497A JP7103585B2 JP 7103585 B2 JP7103585 B2 JP 7103585B2 JP 2017158497 A JP2017158497 A JP 2017158497A JP 2017158497 A JP2017158497 A JP 2017158497A JP 7103585 B2 JP7103585 B2 JP 7103585B2
Authority
JP
Japan
Prior art keywords
map
space
moving body
unit
axis
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
JP2017158497A
Other languages
English (en)
Other versions
JP2019036227A (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.)
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
Priority to JP2017158497A priority Critical patent/JP7103585B2/ja
Publication of JP2019036227A publication Critical patent/JP2019036227A/ja
Application granted granted Critical
Publication of JP7103585B2 publication Critical patent/JP7103585B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本開示は、移動体、移動体管理システムおよびコンピュータプログラムに関する。
無人搬送車および当該無人搬送車の移動を制御するシステムの開発が進められている。無人搬送車は「AGV」(Automatic Guided Vehicle)と呼ばれることがある。
特開2010-055444号公報は、物流センタ内を走行する複数の搬送用ロボットを開示する。この文献では、1台の搬送用ロボット(親機)に対して複数の搬送用ロボット(子機)が追従し、子機がカートを牽引する。親機は、長距離センサからの距離情報を基にして周囲の物体の配置状態を検出して地図を作成する。地図とともにカートの配置状況の情報も取得される。地図の情報は上位システムにも出力され、上位システムが最新の地図を常に保有する。地図情報および配置状況の情報等は上位システムにおいて物流センタ全体の地図として統合される。
特開2010-055444号公報
上述の文献では、物流センタの大きさ(広さ)と、親機が作成する地図との関係が明らかではない。
どのような広さの物流センタであっても生成される地図が1枚である場合には、地図を作成する機器(親機)には非常に大きい記憶容量が必要になり得る。作成中の地図のデータサイズが予め確保した記憶領域を超える場合には、記憶領域をさらに確保する処理または新たに確保し直す処理が必要になる。
一方、一定の広さの空間ごとに1枚の地図を作成する場合には、隣接する空間に跨がって搬送用ロボットが走行する際の地図の作成方法、および、作成した地図の表示の切り替え方法を十分検討する必要がある。地図は搬送車の走行に密接に関連するからである。
上述の文献はいずれの場合にも言及はなく、具体的な処理は不明である。
本願の、限定的ではない例示的なある実施形態は、有限の大きさの空間を1単位として地図を作成しつつ、複数の地図の管理を容易にする技術を提供する。
本開示の移動体は、例示的な実施形態において、移動空間の地図を作成することが可能な移動体であって、モータと、前記モータを制御して前記移動体を移動させる駆動装置と、周囲の空間をセンシングしてセンサデータを出力するセンサと、地図の作成開始指示を外部から取得するインタフェースと、前記作成開始指示の取得に応答して、前記移動空間内に規定された、有限の大きさの単位空間ごとの地図を作成する測位装置であって、前記単位空間内で位置を変えながら取得された前記センサデータから前記単位空間の地図を作成する測位装置とを備え、前記測位装置は、前記移動空間に含まれる第1単位空間を表す第1地図であって、基準位置および座標軸であるX軸およびY軸を規定する第1地図を作成し、前記第1地図の作成後に、第2単位空間を表す第2地図であって、前記X軸および前記Y軸の一方と一致する第1座標軸、および前記X軸および前記Y軸の他方と平行な第2座標軸を有する第2地図を作成し、前記第1単位空間および前記第2単位空間は部分的に重複し、前記第1地図および前記第2地図は、部分的に重複した空間に対応する部分領域を含む。
本開示の一態様にかかる移動体は、有限の大きさの空間を1単位として地図を作成しつつ、複数の地図の管理を容易にすることができる。
図1Aは、本開示による、各AGVの走行を制御する制御システム100の概要を示す図である。 図1Bは、AGVが存在する移動空間Sの一例を示す図である。 図2は本実施形態にかかる例示的なAGVの外観図である。 図3はAGVのハードウェアの構成を示す図である。 図4は端末装置のハードウェア構成を示す図である。 図5は端末装置のディスプレイに表示されたGUIの画像例を示す図である。 図6Aは移動しながら地図を生成するAGV10を示す図である。 図6Bは移動しながら地図を生成するAGV10を示す図である。 図6Cは移動しながら地図を生成するAGV10を示す図である。 図6Dは移動しながら地図を生成するAGV10を示す図である。 図6Eは移動しながら地図を生成するAGV10を示す図である。 図6Fは完成した地図の一部を模式的に示す図である。 図6Gは完成した地図M(0,0)の例を示す図である。 図7は、第1単位地図M(0,0)に含まれる領域の種別および座標軸を示す図である。 図8は、移動空間Sについて作成された12枚の単位地図の配置例を示す図である。 図9は、第1単位地図M(0,0)と第2単位地図M(1,0)との関係を示す図である。 図10Aは、所与の空間毎に独立して作成された2枚の地図の例を示す図である。 図10Bは、一部の領域を重複させて作成された2枚の地図の例を示す 図である。 図11は、複数の単位地図の集合として作成された移動空間Sの全体の地図の例を示す図である。 図12は、端末装置の処理、および、当該処理の結果を受けて走行するAGVの処理の各手順を示すフローチャートである。 図13はキャプチャボタンを利用した走行経路の作成手順の例を示す図である。 図14はマーカの設定数の数字アイコンが表示されたキャプチャボタンを示す図である。 図15は8枚の単位地図に跨がる走行経路の一例を示す図である。 図16Aはある走行経路データに含まれるマーカデータの例を示す図である。 図16Bは図16Aの例よりも豊富なデータが設定されたマーカデータの例を示す図である。 図17は経路選択ボタンへのタッチ後にディスプレイに表示される、複数の走行経路の表示例を示す図である。 図18は端末装置20のディスプレイに表示された単位地図と、選択された走行経路に沿って走行するAGVのアイコンとを示す図である。 図19は基準線の例を示す図である。 図20は異なる2本の基準線の例を示す図である。 図21は第1単位地図M(0,0)を再作成する処理の説明図である。
以下、添付の図面を参照しながら、本開示による移動体および移動体管理システムの一例を説明する。なお、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。本発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供する。これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
本明細書では、移動体の一例として無人搬送車を挙げる。本明細書では、略語を用いて、無人搬送車を「AGV」と記述する。
<用語>
「空間」とは、地面、床面または空などの、二次元的または三次元的に広がりのある場所、区域を言う。例示的な実施形態では、工場内部の床面および/または床面の上空が「空間」である。
「単位空間」とは、予め定められた有限の大きさを有する空間を言う。例示的な実施形態では、単位空間は、工場の内部に規定される50メートル四方の空間である。
単位空間の「端部」とは、単位空間の外周から予め定められた距離だけ単位空間の内側に広がる範囲を言う。例示的な実施形態では、単位空間の端部は、単位空間の外周から内側に5mまでの範囲である。
「移動空間」とは、AGVが走行可能な空間である。例示的な実施形態では、移動空間は、AGVが走行する工場内部の床面である。移動空間は資材現場等の屋外の路面であってもよい。
「単位地図」とは、単位空間の地図を言う。移動空間が単位空間より広い場合、移動空間全体の地図は複数の単位地図の集合である。
「領域」とは、作成された地図上に規定される範囲を言う。
<例示的な実施形態>
図1Aは、本開示による例示的な移動体管理システム100の概要を示している。移動体管理システム100は、AGV10と、ユーザ1によって操作される端末装置20とを含む。AGV10は、移動空間S内を走行する。端末装置20の一例はタブレットコンピュータである。端末装置20の他の例は、ノート型PC、デスクトップ型PC、および/または、サーバコンピュータである。図1Bは、AGV10が存在する移動空間Sの一例を示している。
AGV10と端末装置20とは、たとえば1対1で接続されてBluetooth(登録商標)規格に準拠した通信を行い、または、1または複数のアクセスポイント2a、2b等を利用してWi-Fi(登録商標)に準拠した通信を行う。複数のアクセスポイント2a、2bはスイッチングハブ3に接続されている。スイッチングハブ3を介してデータフレームが転送されることにより、AGV10および端末装置20の間の双方向通信が実現される。
AGV10は、移動空間S内を移動しながら、移動空間Sの地図を作成することが可能である。AGV10には後述の測位装置およびレーザレンジファインダが搭載されている。測位装置は、ユーザの操作に基づいて動作した端末装置20から地図の作成開始指令を受け取ると地図の作成を開始する。レーザレンジファインダが周期的に赤外のレーザ光を放射して周囲の空間をスキャンする。測位装置は、AGV10の位置および姿勢とレーザレンジファインダのスキャン結果とにより、移動空間Sの地図を作成する。AGV10は、作成した地図のデータを内部の記憶装置に保存する。
移動空間S内の移動は、ユーザの操作に従ってAGV10が自走することによって実現し得る。例えば、AGV10は、端末装置20を介して無線でユーザから前後左右の各方向への移動を指示する走行指令を受け取る。AGV10は走行指令にしたがって移動空間S内を前後左右に走行し、地図を作成する。または、AGV10はジョイスティック等の操縦装置と有線で接続されており、当該操縦装置からの制御信号にしたがって移動空間S内を前後左右に走行し、地図を作成してもよい。
なお、図1Aおよび図1Bには1台のAGV10のみが示されているが、AGVは複数台であってもよい。ユーザ1は端末装置20を利用して、登録された複数のAGVのうちから一台のAGV10を選択して、移動空間Sの地図を作成させることができる。
本開示による例示的な実施形態では、移動空間Sが単位空間よりも広く、そのためAGV10が複数枚の単位地図を作成して移動空間S全体の地図を取得する処理を説明する。本発明者は、隣接する単位空間の一部を互いに重複させ、それにより互いに隣接する単位地図の一部も互いに重複させることにより、複数の地図の管理を容易にすることを可能にした。
以下では、まずAGV10の構成を説明し、その後、端末装置20の構成を説明する。
図2は、本実施形態にかかる例示的なAGV10の外観図である。AGV10は、4つの車輪11a~11dと、フレーム12と、搬送テーブル13と、走行制御装置14と、レーザレンジファインダ15とを有する。なお、AGV10は複数のモータも有するが図2には示されていない。また、図2には、前輪11a、後輪11bおよび後輪11cが示されているが、前輪11dはフレーム12の蔭に隠れているため明示されていない。
走行制御装置14は、AGV10の動作を制御する装置であり、主としてマイコン(後述)を含む集積回路、電子部品およびそれらが搭載された基板を含む。走行制御装置14は、上述した、端末装置20とのデータの送受信、および、前処理演算を行う。
レーザレンジファインダ15は、たとえば赤外のレーザ光15aを目標物に照射し、当該レーザ光15aの反射光を検出することにより、目標物までの距離を測定する光学機器である。本実施形態では、AGV10のレーザレンジファインダ15は、たとえばAGV10の正面を基準として左右135度(合計270度)の範囲の空間に、0.25度ごとに方向を変化させながらパルス状のレーザ光15aを放射し、各レーザ光15aの反射光を検出する。これにより、0.25度ごと、合計1080ステップ分の角度で決まる方向における反射点までの距離のデータを得ることができる。
AGV10の位置および姿勢と、レーザレンジファインダ15のスキャン結果とにより、AGV10は、空間Sの地図を作成することができる。地図には、AGVの周囲の壁、柱等の構造物、床の上に載置された物体の配置が反映され得る。地図のデータは、AGV10内に設けられた記憶装置に格納される。
一般に、移動体の位置および姿勢は、ポーズ(pose)と呼ばれる。2次元面内における移動体の位置および姿勢は、XY直交座標系における位置座標(x, y)と、X軸に対する角度θによって表現される。AGV10の位置および姿勢、すなわちポーズ(x, y, θ)を、以下、単に「位置」と呼ぶことがある。
なお、レーザ光15aの放射位置から見た反射点の位置は、角度および距離によって決定される極座標を用いて表現され得る。本実施形態では、レーザレンジファインダ15は極座標で表現されたセンサデータを出力する。ただし、レーザレンジファインダ15は、極座標で表現された位置を直交座標に変換して出力してもよい。
レーザレンジファインダの構造および動作原理は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。なお、レーザレンジファインダ15によって検出され得る物体の例は、人、荷物、棚、壁である。
レーザレンジファインダ15は、周囲の空間をセンシングしてセンサデータを取得するための外界センサの一例である。そのような外界センサの他の例としては、イメージセンサおよび超音波センサが考えられる。
走行制御装置14は、レーザレンジファインダ15の測定結果と、自身が保持する地図データとを比較して、自身の現在位置を推定することができる。地図データは、SLAM(Simultaneous Localization and Mapping)技術を用いて、AGV10自身によって取得されてもよい。
図3は、AGV10のハードウェアの構成を示している。また図3は、走行制御装置14の具体的な構成も示している。
AGV10は、走行制御装置14と、レーザレンジファインダ15と、2台のモータ16aおよび16bと、駆動装置17とを備えている。
走行制御装置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の各々が所望の回転速度で回転する。
メモリ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の向き(角度)、走行速度、当該走行速度に達するまでに加速する加速時間、および/または、当該走行速度から減速する減速時間のデータを含み得る。
端末装置20がPCおよび/またはサーバコンピュータである場合には、AGV10はPC等から、次に向かうべき目的位置の座標データ、または、当該目的位置までの距離および進むべき角度のデータを、走行経路を示す走行経路データRとして受信する。
AGV10は、作成された地図と走行中に取得されたレーザレンジファインダ15が出力したセンサデータとを利用して自己位置を推定しながら、記憶された走行経路に沿って走行することができる。
通信回路14dは、たとえば、Bluetooth(登録商標)および/またはWi-Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。いずれの規格も、2.4GHz帯の周波数を利用した無線通信規格を含む。本明細書では、Bluetooth(登録商標)規格に準拠した無線通信を行い、1対1で端末装置20と通信する例を挙げる。
測位装置14eは、地図の作成処理、および、走行時には自己位置の推定処理を行う信号処理回路(コンピュータ)である。測位装置14eは、AGV10の位置および姿勢とレーザレンジファインダのスキャン結果とにより、移動空間Sの地図を作成する。走行時には、測位装置14eは、レーザレンジファインダ15からセンサデータを受け取り、また、記憶装置14cに記憶された地図データMを読み出す。レーザレンジファインダ15のスキャン結果から作成された局所的地図データを、より広範囲の地図データMと照合(マッチング)することにより、地図データM上における自己位置(x, y, θ)を同定する。測位装置14eは、局所的地図データが地図データMに一致した程度を表す「信頼度」を生成する。自己位置(x, y, θ)、および、信頼度の各データは、AGV10から端末装置20に送信され得る。端末装置20は、自己位置(x, y, θ)、および、信頼度の各データを受信して、内蔵された表示装置に表示することができる。
本実施形態では、マイコン14aと測位装置14eとは別個の構成要素であるとしているが、これは一例である。マイコン14aおよび測位装置14eの各動作を独立して行うことが可能な1つのチップ回路または半導体集積回路であってもよい。図3には、マイコン14aおよび測位装置14eを包括するチップ回路14gが示されている。以下では、マイコン14aおよび測位装置14eが別個独立に設けられている例で説明する。
2台のモータ16aおよび16bは、それぞれ2つの車輪11bおよび11cに取り付けられ、各車輪を回転させる。つまり、2つの車輪11bおよび11cはそれぞれ駆動輪である。本明細書では、モータ16aおよびモータ16bは、それぞれAGV10の右輪および左輪を駆動するモータであるとして説明する。
駆動装置17は、2台のモータ16aおよび16bの各々に印加される電圧を調整するためのモータ駆動回路17aおよび17bを有する。モータ駆動回路17aおよび17bの各々はいわゆるインバータ回路であり、マイコン14aから送信されたPWM信号によって各モータに流れる電流をオンまたはオフし、それによりモータに印加される電圧を調整する。
図4は、端末装置20のハードウェア構成を示している。図4に示す端末装置20はタブレットコンピュータである。端末装置20は、CPU21と、メモリ22と、通信回路23と、画像処理回路24と、ディスプレイ25と、タッチスクリーンパネル26と、通信バス27とを有する。CPU21、メモリ22、通信回路23、画像処理回路24およびタッチスクリーンパネル26は通信バス27で接続されており、通信バス27を介して相互にデータを授受することが可能である。
CPU21は、端末装置20の動作を制御する信号処理回路(コンピュータ)である。典型的にはCPU21は半導体集積回路である。CPU21を単に「処理回路」と呼ぶこともある。
メモリ22は、CPU21が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ22は、CPU21が演算を行う際のワークメモリとしても利用され得る。コンピュータプログラムは、図示されない不揮発性の記憶装置、たとえばEEPROMに格納されていてもよい。CPU21は、端末装置20の起動時に不揮発性の記憶装置からコンピュータプログラムを読み出してメモリ22に展開し、実行する。
通信回路23は、たとえば、Bluetooth(登録商標)および/またはWi-Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。AGV10の通信回路14dと同様、本明細書では、端末装置20は、Bluetooth(登録商標)規格に準拠した無線通信を行い、1対1でAGV10と通信する。通信回路23は、AGV10に送信すべきデータを、バス27を介してCPU21から受信する。また通信回路23は、AGV10から受信したデータ(通知)を、バス27を介してCPU21および/またはメモリ22に送信する。
画像処理回路24は、CPU21の指示に従い、ディスプレイ25に表示する画像を生成する。たとえば画像処理回路24は、グラフィカル・ユーザ・インタフェース(以下「GUI」と記述する。)のための画像を表示し、タッチスクリーンパネル26を介して受け付けたユーザ1のタッチ操作に応じて、ディスプレイ25上の画像を書き換える。
GUIは、端末装置20のディスプレイとタッチスクリーンパネルとによって実現される。GUIは複数のウィジェットを含んでいる。「ウィジェット」とは、GUIのボタン、スライダ、アイコン等の、ディスプレイに表示されたユーザインタフェース部品を意味する。ユーザインタフェース部品は、「UIパーツ」と呼ばれることもある。個々のウィジェットは、AGV10を走行させるための走行制御動作、または、地図の作成、走行経路の設定または変更等の設定処理に関連付けられている。端末装置20は、GUIを介してユーザ1からの入力を受け付けて走行制御動作または設定処理を行う。GUIの詳細は後述する。
タッチスクリーンパネル26は、指やペンなどで行われたユーザ1のタッチを検出することができる。ユーザ1が行うタッチ操作は、ユーザ1による指示の入力である。タッチスクリーンパネル26は、ユーザ1からの指示を受け付ける入力インタフェース装置の一例である。検出方式として、静電式、抵抗膜式、光学式、超音波方式、電磁式などが知られている。たとえば、静電容量方式のタッチスクリーンパネル26の場合、タッチスクリーンパネル26は、特定の位置における静電容量の変化を検出し、当該変化に関するデータ、たとえば静電容量が変化した位置および変化した時間長のデータ、を、通信バス27を介してCPU21に送信する。CPU21は、送られてきたデータに基づいて、ユーザによるタッチの有無を判断する。
「タッチ」は、短押し(またはタップ)、長押し、スライド等の種々の操作を含む。短押しは、ユーザ1がタッチスクリーンパネル26に指を触れた後、予め定められた基準時間以内に指を離す操作である。長押しは、ユーザ1がタッチスクリーンパネル26に指を触れてから指を動かさずにその状態を維持し、当該基準時間よりも長い時間が経過した後、指を離す操作である。スライドは、ユーザ1がタッチスクリーンパネル26に指を触れてから、指を離さずにタッチスクリーンパネル26上を、例えば左右に滑らして、操作が終了したら、タッチスクリーンパネル26から指を離す操作である。
本実施形態では、タッチスクリーンパネル26はディスプレイ25に重畳して設けられている。ユーザ1は、ディスプレイ25に表示された画像を見ながら、当該画像へのタッチを行う。CPU21は、タッチスクリーンパネル26から出力された検出位置のデータが、ディスプレイ25に表示されている画像のどの位置を示しているかを判定する。判定の結果、CPU21は、位置に表示されている画像に対応付けられた機能を実行することができる。
次に、端末装置20のGUIおよびGUIを介したユーザ1の操作によるAGV10の動作を説明する。
AGV10と端末装置20との間に接続が確立されると、端末装置20のCPU21は、AGV10の走行制御または設定処理を行うことができる。
AGV10は、端末装置20を用いたユーザ1からのリアルタイムの操作に従って走行する手動走行と、作成された走行経路に従って走行する自動走行とを行うことができる。AGV10を手動走行させるか、自動走行させるかは、ユーザ1が端末装置20のGUIから選択することができる。
本実施形態では、AGV10と端末装置20との接続が確立されると、AGV10および端末装置20は数百ミリ秒ごと、例えば100ミリ秒ごと、に通信を行い、接続が維持されていることを確認する。これにより、手動走行時には、ほぼリアルタイムで、端末装置20からAGV10の走行の開始および走行の停止等の制御を実現できる。接続の維持が確認できなくなった場合にはAGV10は走行を停止する。AGV10は、端末装置20からの制御が可能な状態下で、端末装置20を介して手動走行を行うことができる。
図5は、端末装置20のディスプレイ25に表示されたGUIの画像例を示している。GUIは、AGV10の走行制御または設定処理に関連付けられた複数のウィジェットを含んでいる。具体的には、GUIは、フォワードボタン30a、バックワードボタン30b、右旋回ボタン30c、左旋回ボタン30d、ジョイスティック型スライダ31、地図作成ボタン32、キャプチャボタン33、オプション設定ボタン34、および、経路選択ボタン35を有する。また、ディスプレイ25上には、AGV10の測位装置14eから受信した、AGV10の推定された自己位置(x, y, θ)、推定の信頼度等を表示する領域36が設けられている。
フォワードボタン30a、バックワードボタン30b、右旋回ボタン30c、左旋回ボタン30dおよびジョイスティック型スライダ31は、AGV10の手動走行を制御するための操作ウィジェットである。各ボタン30a~30dおよびスライダ31は、ユーザ1がタッチし続けている間、AGV10が動作する。例えばユーザ1がフォワードボタン30aにタッチし続けている間は、AGV10は前進する。バックワードボタン30b、右旋回ボタン30cおよび左旋回ボタン30dはそれぞれ、AGV10を後退させ、右旋回させ、および左旋回させるボタンである。ジョイスティック型スライダ31は、任意の方向にスライドさせることが可能である。端末装置20は、ユーザ1によるジョイスティック型スライダ31のスライド方向およびスライド量に応じてAGV10の進行方向を制御する。
地図作成ボタン32は、AGV10の動作モードを、空間Sの地図を作成させるための地図作成モードに移行させるためのウィジェットである。キャプチャボタン33は、AGV10の動作モードを、AGV10の走行経路を作成するための経路作成モードに移行させるためのウィジェットである。オプション設定ボタン34は、AGV10に適用される種々のパラメータを設定するための設定モードに移行させるためのウィジェットである。経路選択ボタン35は、作成された1つまたは複数の走行経路のうちから一つの走行経路を選択するためのウィジェットである。
以下、ユーザ1が地図作成ボタン32をタッチしたときの端末装置20の処理およびAGV10の動作を説明する。
CPU21は、地図作成ボタン32へのタッチを検出すると、AGV10を、空間Sの地図を作成させるための地図作成モードに移行させる。地図作成モードでは、AGV10はレーザレンジファインダ15を利用して空間Sをスキャンし、測位装置14eを用いて地図を作成する。
図6A~図6Fは、移動しながら地図を生成するAGV10を示す。ユーザ1は、上述したジョイスティック型スライダ31を利用してAGV10を移動させてもよいし、フォワードボタン30a、バックワードボタン30b、右旋回ボタン30c、左旋回ボタン30dを用いてAGV10を移動させてもよい。
図6Aには、レーザレンジファインダ15を用いて周囲の空間をスキャンするAGV10が示されている。所定のステップ角毎にレーザ光が放射され、スキャンが行われる。なお、図示されたスキャン範囲は模式的に示した例であり、上述した合計270度のスキャン範囲とは異なっている。
図6A~図6Fの各々では、レーザ光の反射点の位置が、記号「・」で表される複数の黒点4を用いて示されている。測位装置14eは、走行に伴って得られる黒点4の位置を、たとえばメモリ14bに蓄積する。AGV10が走行しながらスキャンを継続して行うことにより、地図が徐々に完成されてゆく。図6Bから図6Eでは、簡略化のためスキャン範囲のみが示されている。当該スキャン範囲は例示であり、上述した合計270度の例とは異なる。
図6Fは、完成した地図の一部を模式的に示す。測位装置14eは、地図のデータ(地図データM)をメモリ14bまたは記憶装置14cに蓄積する。なお図示されている黒点の数または密度は一例である。
図6Gは、完成した地図M(0,0)の例を示している。地図M(0,0)は、地図作成モードに移行して最初に作成された地図(第1単位地図)である。本明細書では、第1単位地図が表す単位空間を「第1単位空間」と呼ぶ。AGV10が地図の作成を開始した位置(初期位置)が、第1単位空間の中心(0,0)として設定され、第1単位地図の中心に対応付けられる。本明細書では、第1単位地図の中心を基準位置O(0,0)と呼ぶことがある。図6Gの第1地図M(0,0)には、初期位置に対応する基準位置O(0,0)が示されている。
図7は、第1単位地図M(0,0)に含まれる領域の種別および座標軸を示している。
まず、第1単位地図M(0,0)には、基準位置O(0,0)を通り、かつ互いに直交する座標軸であるX1軸およびY1軸が規定される。例示的な実施形態では、地図の作成を開始した時点でAGV10のフロント部が向いている方向が第1単位地図M(0,0)上の+Y1方向であり、フロント部が向いている方向に直交する右手方向が第1単位地図M(0,0)上の+X1方向である。第1単位地図M(0,0)の+X1方向の幅LenX1および+Y方向の幅LenY1は、それぞれ第1単位空間の50mの長さに相当する。
第1単位地図M(0,0)は外周を囲む領域R1を有する。領域R1は第1単位空間の端部に相当する。本実施形態においては、領域R1は第1単位空間の外周から内側に5mの範囲に相当する。また、第1単位地図M(0,0)の四隅の領域を、本明細書では「領域Rc1」と呼ぶ。以下、本明細書では、第k単位地図(k:整数)の外周を囲む領域および四隅の領域を、それぞれ「領域Rk」および「領域Rck」などと呼ぶ。
第1単位地図の作成が終了すると、ユーザは引き続きAGV10に次の単位空間(第2単位空間)の地図である第2単位地図を作成させることができる。そして、第2単位地図の次は第3単位地図を作成させ、以降移動空間Sの地図の作成が終了するまで 単位空間毎の地図、すなわち単位地図を作成させることができる。
移動空間Sが、横185メートル×縦140メートルの広さを有する場合、横方向に4枚、縦方向に3枚の計12枚の地図が作成され得る。図8は、移動空間Sについて作成された12枚の単位地図の配置例を示している。各単位地図の縦および横は互いに平行であり、縦および横に規則正しく配置されている。なお、地図の総枚数は移動空間Sの大きさおよび形状に応じて変わり得る。移動空間Sの全体が矩形状である必要はないし、地図の総枚数は偶数に限られず奇数になり得る。
図8に示されるように、単位地図M(0,0)を基準として、複数の単位地図M(p,q)が作成される。単位地図M(p,q)は、図8の右方向にp個目、上方向にq個目に位置する単位地図を表す。pおよびqは正、負または0の整数である。
本実施形態によるAGV10は、互いに隣接する2つの単位空間の単位地図を、以下に説明する関係を有するように作成する。例として第1単位地図M(0,0)および第2単位地図M(1,0)を挙げる。
図9は、第1単位地図M(0,0)と第2単位地図M(1,0)との関係を示している。第1単位地図M(0,0)および第2単位地図M(1,0)は、互いに重複する部分領域R12を有している。部分領域R12は、第1単位地図M(0,0)の領域R1を含み、かつ、第2単位地図M(1,0)の領域R2とを含む。領域R1およびR2が重複することは、第1単位空間および第2単位空間が部分的に重複していることを意味する。以下、詳しく説明する。
まず、AGV10は初期位置から地図の作成を開始する。AGV10が第1単位空間内を走行することにより、第1単位地図M(0,0)が徐々に作成されてゆく。参考として、図9の第1単位地図M(0,0)上には走行経路Rが示されている。
やがてAGV10は、第1単位空間の端部に到達する。第1単位空間の端部においてユーザは、端末装置20から第1単位地図M(0,0)の作成終了指令を送信する。これにより、第1単位地図M(0,0)が確定する。このときAGV10は、第1単位地図M(0,0)上では領域R1上に存在する。
ユーザは端末装置20から第2単位地図M(1,0)の作成開始指令をAGV10に送信する。第2単位地図M(1,0)の作成開始指令は第1単位地図(0,0)に連結される地図として第2地図を作成させるための指令であり、第1単位地図(0,0)の作成開始指令とは異なる。具体的には第2単位地図M(1,0)の作成開始指令によっては、新たな基準位置は設定されることはなく、第1単位地図M(0,0)の基準位置が引き続き維持される。第2単位地図M(1,0)の作成開始指令の受信に応答して、AGV10は第2単位空間を移動することにより、第2単位地図M(1,0)の作成を開始する。
第1単位空間から第2単位空間へ移動するときのAGV10の向きは任意である。例えばAGV10は、第1単位空間から前進しながら第2単位空間に入っても良いし、後退しながら第2単位空間に入っても良い。または、AGV10は、X1軸および/またはY1軸に平行ではなく斜めに第2単位空間に入っても良い。
なお、本実施形態では、端末装置20が第2単位地図M(1,0)の作成開始指令を送信するかどうかを判断する基準を設けている。具体的には、AGV10が、第1単位地図(0,0)の領域Rc1に相当する空間に存在する場合には、端末装置20は第2単位地図の作成開始を禁止する。領域Rc1に相当する、第1単位空間の四隅の空間を「禁止空間」と呼ぶ。AGV10が禁止空間以外の領域R1に存在する場合には、端末装置20は第2単位地図の作成開始を許可する。
このような基準を設ける理由は、規則正しく配置された地図を作成するためである。AGV10が第1単位空間のうちの禁止空間に存在する場合には、AGV10が移動することによって第2単位空間からはみ出す可能性が高い。そのため、AGV10が禁止空間に存在する場合には、ユーザが第2単位地図Mの作成を希望したとしても、端末装置20はAGV10に第2単位地図Mの作成開始指令の送信を禁止する。その後、AGV10が領域Rc1以外の領域R1に移動した場合には、端末装置20はAGV10に第2単位地図の作成開始指令を送信する。これにより、第2単位地図の作成が開始される。
第1単位地図と同様、第2単位地図にも直交する固有の座標軸が設定され得る。本実施形態では、図9に示すように、第2単位地図の座標軸X2およびY2が設定される。座標軸X2は、第1単位地図のX1軸と一致する。一方、座標軸Y2は、第1単位地図のY1軸と平行である。さらに第1単位地図の上端および第2単位地図の上端はX1軸およびX2軸に平行な同じ軸上にあり、第1単位地図の下端および第2単位地図の下端はX1軸およびX2軸に平行な同じ軸上にある。つまり図9の例では、第2単位地図は、第1単位地図をX1軸およびX2軸に平行にスライドさせ、かつ互いに部分領域R12で重複するように作成される。これにより、第1単位地図と第2単位地図とが容易に、かつ確実に関連付けられる。
上述したように隣接する2枚の地図を関係付けることによる利点は、特に図10Aおよび図10Bに示すような方法で複数枚の地図を作成する場合と比較すると顕著である。
図10Aは、所与の空間毎に独立して作成された2枚の地図の例を示す。2枚の地図が独立して作成された場合、地図同士は関連付けられていない。仮に、両者を関連付けようとしたときには、現実の移動空間Sの風景等を利用して互いの位置関係を決定する必要が生じる。このような2枚の地図を用いる場合には、複数の単位空間を通過する経路をAGV10に走行させることは非常に困難または煩雑である。
地図作成が開始されてから終了されるまでの走行範囲によって地図のサイズが異なる場合には、各地図データの作成開始時に確保した記憶領域(データサイズ)を、事前に確定することができない。そのため、地図のデータサイズが大きくなった場合には、記憶領域を追加的に確保する処理、または、より大きな領域を確保し直す処理が必要になる。これではメモリ操作を行う処理が複雑化し得る。
図10Bは、一部の領域を重複させて作成された2枚の地図の例を示す。2枚の地図は一部の領域で重複しているが、重複した領域は矩形状の地図の角に位置する。各地図の2本の座標軸(横軸および縦軸)は互いに平行ではあり得るが、横軸同士および縦軸同士はずれている。
図10Bに示す例でも、2枚の地図を関連付ける場合には煩雑な処理が必要になる。例えば、縦軸に沿って一方の地図に対し他方の地図をスライドさせながら、両者が一致する領域、すなわち重複した領域、の有無を判定する必要がある。このとき、重複した領域の幅は不明であるから、必要に応じて2枚の地図を重複させる幅も変化させる必要がある。縦軸に沿って地図をスライドさせても重複した領域が発見できなかった場合には、続いて横軸に沿って一方の地図に対し他方の地図をスライドさせながら、上述と同様の処理を行うことになる。
図9に示す本実施形態のように、隣接する2つの単位空間を一定の幅、例えば5m、で重複させて第1単位地図M(0,0)と第2単位地図M(1,0)とを作成し、さらにX1軸とX2軸とを一致させ、Y1軸とY2軸とを平行にすることにより、2枚の地図の関連付けが極めて容易になる。
上述の第1単位地図M(0,0)および第2単位地図M(1,0)の例では、X1軸とX2軸とを一致させた。図8に示す例で、第1単位地図M(0,0)を作成した後、第3単位地図M(0,1)を作成する場合には、第1単位地図M(0,0)のX1軸と第3単位地図M(0,1)のX軸(X2軸)とを平行にし、第1単位地図M(0,0)のY1軸と第3単位地図M(0,1)のY軸(Y2軸)とを一致させればよい。
一方、第2単位地図M(1,0)を作成した後、または第3単位地図M(0,1)を作成した後、第4単位地図M(1,1)を作成する場合には、第1単位地図M(0,0)との関係では、第4単位地図のX4軸およびY4軸は、第1単位地図のX1軸およびY1軸と平行になるが一致はしない。しかしながら、第4単位地図のX4軸方向またはY4軸方向に直接隣接する第2単位地図M(0,0)のX2軸またはY2軸、または第3単位地図M(0,1)のX3軸またはY3軸と、X4軸またはY4軸は一致および平行になっている。これにより、隣接する地図同士の関連付けは極めて容易である。
上述の処理により、移動空間Sの全体の地図が作成される。図11は、複数の単位地図の集合として作成された移動空間Sの全体の地図の例を示している。隣接する2枚の単位地図同士が重複する領域が、破線で囲まれた「部分領域」である。部分領域の長辺方向の幅は、各単位地図の一辺の長さと等しい。
次に、図12を参照しながら、隣接する2枚の単位地図を作成する際の移動体管理システム100の動作を説明する。以下では、隣接する2枚の単位地図を作成する例を説明する。
図12は、端末装置20の処理、および、当該処理の結果を受けて走行するAGV10の処理の各手順を示すフローチャートである。まず端末装置20の処理を説明し、その後AGV10の処理を説明する。
ステップS1において、端末装置20のCPU21は、ユーザから第k単位地図の作成開始の指示を受け付ける。例えばCPU21は、タッチスクリーンパネル26がタッチを検出した位置が、地図作成ボタン32の表示位置であると判定したとき、当該指示が入力されたとして指示を受け付ける。ステップS2において、CPU21はAGV10に、第k単位地図の作成開始指令を送信する。
ステップS3において、CPU21は、ユーザから第k単位地図の作成終了の指示を受け付ける。例えばCPU21は、タッチスクリーンパネル26がタッチを検出した位置が、地図作成終了ボタン(図示せず)の表示位置であると判定したとき、当該指示が入力されたとして指示を受け付ける。ステップS4において、CPU21はAGV10に、第k単位地図の作成終了指令を送信する。
続いてステップS5において、CPU21は、ユーザから次の単位地図である第(k+1)単位地図の作成開始指示を受け付ける。ステップS1と同様、CPU21は、地図作成ボタン32へのタッチの検出を当該指示として受け付ける。
次に、新たな単位地図を作成できるかどうかの判定を行う。
ステップS6において、CPU21は、現在のAGVの位置は第k単位空間の端部か否かを判定する。第k単位空間の端部であるか否かは、第k単位空間内を走行した距離および方向に基づいて決定され得る。距離および方向は、例えばAGV10の駆動輪11bおよび11cの各々が回転した回数に従って求められる。走行した距離および方向から、Xk軸方向およびYk軸方向の移動距離が計算され得る。第k単位空間の中心位置が判明しており、端末装置20が当該中心位置からXk軸方向に20m以上またはYk軸方向に20m以上進んでいる場合には、現在AGVは第k単位空間の端部に位置していると言える。このとき処理はステップS7に進む。一方、それ以外の場合にはAGV10は端部に位置していない。この場合、CPU21は、AGV10が第k単位空間の端部に入るまで待つ。
ステップS7において、CPU21は、現在のAGVの位置は第k単位空間の四隅以外か否かを判定する。ステップS6と同様、第k単位空間の中心位置が判明しており、端末装置20が当該中心位置からXk軸方向に20m以上かつYk軸方向に20m以上進んでいる場合には現在のAGVは第k単位空間の四隅のいずれかに位置している。このときCPU21は、ステップS6に戻り、ステップS6およびS7の両方が真になるまで待つ。現在のAGVの位置が第k単位空間の四隅以外であれば、処理はステップS8に進む。
ステップS8において、CPU21はAGV10に、第(k+1)単位地図の作成開始指令を送信する。その後、CPU21は、ステップS9においてユーザから第(k+1)単位地図の作成終了の指示を受け付けると、ステップS10において第(k+1)単位地図の作成終了指令を送信する。
次にAGV10の処理を説明する。
ステップS21において、マイコン14aが通信回路14dを介して端末装置20から第k単位地図の作成開始指令を受け付けると、測位装置14eは第k単位地図の作成を開始する。
次に、ステップS22において、マイコン14aが端末装置20から第k単位地図の作成終了指令を受け付けると、測位装置14eは第k単位地図の作成を終了し、それまで作成した第k単位地図のデータを記憶装置に格納する。
ステップS23において、マイコン14aが端末装置20から第(k+1)単位地図の作成開始指令を受け付けると、測位装置14eは第(k+1)単位地図の作成を開始する。上述のように、端末装置20は、ステップS6およびS7の処理により、AGV10は第k単位空間の四隅以外の端部に位置していることが確認されている。よってAGV10が引き続き移動しても、第(k+1)単位空間からすぐにはみ出して走行することはない。これにより、図11に示すような規則正しく配列された複数枚の単位地図を作成することができる。
ステップS24において、マイコン14aが端末装置20から第(k+1)単位地図の作成終了指令を受け付けると、測位装置14eは第(k+1)単位地図の作成を終了し、それまで作成した第(k+1)単位地図のデータを記憶装置に格納する。
以上、AGV10および端末装置20を用いて、隣接する2枚の単位地図を作成する例を説明した。AGV10および端末装置20は、3枚以上の地図を連続して作成することも可能である。その場合にはステップS10の処理が終わった後、再びステップS1以降の処理を実行すれば良い。このとき、ステップS1等における「k」およびステップS5等における「k+1」を、それぞれ「k+2」および「k+3」に読み替えれば良い。さらに多くの地図を連続して作成する場合も同様の読み替えを行えば良い。
地図データMの作成が完了すると、ユーザ1はAGV10の走行経路を設定することができる。
図13は、キャプチャボタン33(図5)を利用した走行経路の作成手順の例を示している。CPU21は、キャプチャボタン33へのタッチを検出すると、AGV10を経路作成モードに移行させる。ユーザ1は、新たに作成しようとする走行経路の開始位置までAGV10を移動させ、さらにキャプチャボタン33にタッチする。CPU21は、その時点におけるAGV10のポーズ(x, y, θ)を取得させる指令をAGV10に送信する。AGV10のマイコン14aは、指令に従い、そのときのポーズ(x, y, θ)のデータをメモリ14bまたは記憶装置14cに「マーカ」として記憶する。図13のマーカM1は、AGV10の走行開始位置を示している。
AGV10は、移動空間Sの全体の地図に1つの座標(グローバル座標)を設定する。グローバル座標は、基準位置O(0,0)を通り、かつ互いに直交する座標軸であるX軸およびY軸によって規定される。グローバル座標を設定する理由は、ユーザが単位空間を跨いでAGV10を走行させたい場合に、各単位空間中の通過位置(経由点)をグローバル座標で指定することが簡単でかつ便利だからである。
一方、第k単位地図に規定されたXk軸およびYk軸に基づく座標(ローカル座標)は引き続き内部処理に利用される。測位装置14e(図3)は、1枚の単位地図のデータを読み込んで現在の位置を推定する処理を行う。このとき測位装置14eは、出力される推定位置をローカル座標で表す。全ての単位地図のデータをまとめて読み込み、グローバル座標で処理を行うことは技術的には可能であるが、そのためには必要とされるメモリ容量が大きく増加しAGV10のコストが嵩むからである。
グローバル座標とローカル座標との関係は以下の式(1)に示す通りである。単位地図M(p,q)上の座標を(Xl,Yl,θl)とし、グローバル座標を(Xgl,Ygl,θgl)とする。
(式1)
Xg=Xl+(5000-d)*p
Yg=Yl+(5000-d)*q
θgl=θl
図14は、マーカの設定数の数字アイコン33aが表示されたキャプチャボタン33を示している。マーカM1が取得された時点では、数字アイコン33aは「1」を示している。
さらにユーザ1がAGV10を、走行経路上の次の通過位置まで移動させてキャプチャボタン33にタッチする。すると、AGV10のマイコン14aは、タブレットコンピュータ20の指令に従い、そのときのポーズ(x, y, θ)のデータをメモリ14bまたは記憶装置14cに記憶する。同様の操作が繰り返されると、AGV10は、走行経路の各通過位置におけるAGV10のポーズ(x, y, θ)を順に取得する。図13のマーカM2~M4は、そのようにして取得された通過点を示している。
マーカM4は、2つの単位地図が重複する部分領域である。図13には、一例として、2つの単位空間が互いに重複する空間50が示されている。
本開示にかかる移動体管理システム100では、複数の単位地図に跨がってAGV10の走行経路を設定することができる。AGV10が隣の単位空間に進入した後は、当該隣の単位空間の単位地図上にマーカが設定される。図13には、マーカM5が示されている。図15は、8枚の単位地図に跨がる走行経路の一例を示している。
全てのマーカが取得された後、ユーザ1がキャプチャボタン33を長押しすると、走行経路の作成が完了する。これにより、最後のマーカは走行終了位置を表すことになる。なお、走行経路の作成後、ユーザ1が走行経路を判別するための経路名を付すことができてもよい。
マーカM1、M2、・・・、M5、・・・は、マーカM1から順にマーカM2、・・・、M5を経由するAGV10の通過経路を示している。AGV10は、位置および向きであるポーズを、各マーカデータが取得された順序で変化させて、走行開始位置から走行終了位置まで移動する。走行経路データRは、複数のマーカの集合として定義され得る。作成された走行経路データRは記憶装置14cに記憶される。
図16Aは、ある走行経路データRに含まれるマーカデータの例を示している。各マーカには、グローバル座標系で表されたX座標、Y座標および角度θを含むマーカデータが存在する。なお、マーカM3の位置はマーカM2の位置と同じである。しかしながら、AGV10は、マーカM2におけるポーズから、角度φだけ左旋回したことにより、異なるマーカとして取得されている。
さらに図16Bは、図16Aの例よりも豊富なデータが設定されたマーカデータの例を示している。図16Bの例では、一部のマーカのマーカデータは、走行速度、加速時間および減速時間のデータを有している。以下、一般化して説明する。
「走行速度」は、k番目(k:1以上の整数)のマーカデータが示す位置から、(k+1)番目に取得されたマーカデータが示す位置に移動するまでのAGV10の走行速度を示している。「加速時間」は、走行速度に達するまでに加速する加速時間であり、「減速時間」は走行速度から減速する減速時間である。なお、走行速度、加速時間および減速時間は常に同時に設定される必要はない。マーカM2のように、走行速度、加速時間および減速時間がいずれも設定されていない場合もあり得るし、走行速度、加速時間および減速時間のうちの任意の一つまたは複数が設定され得る。
上述の手順により、ユーザ1は、1つまたは複数の走行経路を作成することができる。上述したように、走行経路データRは、AGV10の記憶装置14cに記憶されるが、AGV10とタブレットコンピュータ20との間で接続が確立されると、走行経路データRがAGV10からタブレットコンピュータ20に転送される。ユーザ1は、タブレットコンピュータ20上で、転送された走行経路データRを構成するマーカデータを編集することができる。マーカデータの編集は、たとえば一部のマーカデータの削除、X座標、Y座標および/または角度θの値の変更である。
なお、端末装置20がサーバコンピュータなどの上位装置である場合には、異なる方法で走行経路データRをAGV10に送信しても良い。例えば、上位装置である端末装置20は、AGV10が各マーカの位置に到達したことを確認すると、次のマーカの位置のデータをAGV10に送信してもよい。
図17は、経路選択ボタン35(図5)へのタッチ後にディスプレイ25に表示される、複数の走行経路R1~R3の表示例を示している。各経路番号と、ユーザ1によって付された経路名が表示されている。
ユーザ1は、表示された経路番号または経路名をタッチして選択する。図17では、選択された走行経路R2がハイライト表示されている。CPU21は、AGV10に、走行経路R2が選択されたことを示す指令を送信する。指令を受信したAGV10のマイコン14aは、記憶装置14cに記憶している複数の走行経路の中から走行経路R2の各マーカデータを読み出す。ユーザ1が、走行経路R2の走行開始位置までAGV10を移動させ、たとえばスタートボタン(図示せず)をタッチすることにより、AGV10のマイコン14aは走行経路R2に沿って自動運転を開始する。
図17には、選択した走行経路の編集を行うためのメニュー40が示されている。メニュー40は、個々のマーカデータの編集を行う編集ボタン40a、削除ボタン等が含まれている。ディスプレイ25上に、走行経路に関する選択だけでなく、編集も可能にするためのメニュー40を設けることにより、ユーザ1の利便性を向上させることができる。
ユーザの利便性をさらに向上するために、さらに以下の方法を採用してもよい。すなわち、1つ以上の走行経路の設定が完了した後、ユーザ1にとって走行経路を毎回選択することが煩わしいと感じる場合がある。走行経路の選択手順を簡略化する方法として、一部の走行経路を予め登録しておくことが考えられる。
図18は、端末装置20のディスプレイ25に表示された単位地図37と、選択された走行経路に沿って走行するAGV10のアイコン38とを示している。ユーザ1はディスプレイ25の表示により、現在走行しているAGV10が単位地図上のどの位置にいるかを知ることができる。
複数の単位地図を跨ぐ走行経路が設定されている場合、AGV10が走行を継続すると、端末装置20のCPU21は、現在表示している単位地図37を隣接する単位地図に切り替える。地図の切り替えは、例えば、AGV10が基準線を通過したことをCPU21が検出することによって行われる。
図19は、基準線51の例を示している。例示的な基準線51は、2つの単位空間が互いに重複する空間50の中央に、重複する空間が延びる方向に沿って仮想的に引かれ得る。図19の例では、CPU21は、図の左から右に向かって走行するAGV10が基準線51を超えたか否かを判定する。基準線51を超えた場合には右側の単位空間の地図に切り替える。同様に、CPU21は、図の右から左に向かって走行するAGV10が基準線51を超えたか否かを判定する。基準線51を超えた場合には左側の単位空間の地図に切り替える。
基準線の数は複数であってもよい。図20は、異なる2本の基準線52aおよび52bの例を示している。基準線52aは、AGV10が図面の左から右に向かって走行している時に、単位地図を切り替える基準として利用される。一方、基準線52bは、AGV10が図面の右から左に向かって走行している時に、単位地図を切り替える基準として利用される。
隣り合う単位空間が重複する空間の中央付近をAGV10が走行する場合、図19の例では地図の切り替わりが頻繁に発生してユーザ1が見づらく感じる可能性がある。一方、複数の基準線を設けると、そのような地図の頻繁な切り替わりを回避できるため、ユーザ1の視認性が向上する。
図18および図19の説明から明らかなように、地図を切り替えには少なくとも1本の基準線を設定すればよい。
次に、第1単位地図の再作成処理を説明する。
上述のように、第1単位地図は最初に作成される単位地図である。広い工場内で、第k単位地図(k:2以上の整数;以下同じ。)を作成している間または作成した後に、第1単位空間内のレイアウトが変更される等の事情が発生する場合があり得る。そのような場合には、より信頼性の高い第1単位地図に更新することが必要とされる。
ここで問題となるのは、独立地図の特殊性である。独立地図作成時にAGV10のフロント部が向いている方向が第1単位地図M(0,0)上の+Y1方向であり、フロント部が向いている方向に直交する右手方向が第1地図M(0,0)上の+X1方向である。独立地図を更新する場合、新たな独立地図の+Y1方向および+X1方向と、既存の独立地図の+Y1方向および+X1方向とを完全に一致させる必要がある。その理由は、既存の独立地図の+Y1方向および+X1方向は、第k単位地図作成時の基準として用いられているからである。
しかしながら、例えば0.1度単位で、新たな独立地図の+Y1方向および+X1方向と、既存の独立地図の+Y1方向および+X1方向とを完全に一致させることは実際上非常に困難である。完全に一致させられなかった場合、第1単位地図のX1軸およびY1軸と、第k単位地図のXk軸およびYk軸とが、垂直または平行の関係を保つことができなくなる。つまり、グローバル座標の基準がずれる。第1単位地図を作成し直すことにより、他の全ての単位地図も作成し直さなければならなくなると、非常に非効率的である。
そこで本発明者は、第1単位地図の再作成時(または更新時)には、第k単位地図を作成する場合と同様の手順により、更新すべき第1単位地図を再作成することとした。
図21は、第1単位地図M(0,0)を再作成する処理の説明図である。図21には、再作成される第1単位地図M(0,0)と、既に作成されている複数の単位地図とが示されている。説明の便宜のため、既存の第1単位地図を「M(0,0)-0」と表記し、更新後の第1単位地図を「M(0,0)-1」と表記する。
例として、第1単位地図M(0,0)-0と、当該第1単位地図に隣接する既存の単位地図M(-1,0)とに着目する。まず、ユーザは上記2つの単位地図が互いに重複する部分領域R15に対応する空間までAGV10を移動させる。AGV10は、部分領域R15からあたかも次の単位地図を作成する場合と同じ手順により、第1単位地図を作成する。図9を参照しながら説明した例では、測位装置14eは、第1単位地図M(0,0)を作成した後に、第2単位地図M(1,0)を作成した。図9の例における第1単位地図M(0,0)および第2単位地図M(1,0)を、それぞれ単位地図M(-1,0)および第1単位地図M(0,0)-1と読み替えればよい。
測位装置14eは、新たな第1単位地図M(0,0)-1のデータが得られると、記憶装置14cに保存されている既存の第1単位地図M(0,0)-0のデータを上書きする。これにより、更新後の第1単位地図M(0,0)-1のX1軸およびY1軸と、第k単位地図のXk軸およびYk軸とは、垂直または平行の関係を保つことが可能になる。さらに、測位装置14eは、既存の第1単位地図M(0,0)-0に設定されていた基準位置O(0,0)と同じ位置に、新たな第1単位地図M(0,0)-1の基準位置O(0,0)を設定する。基準位置を設定する処理は容易に実現し得る。上述のように、新旧2枚の第1単位地図は、X1軸およびY1軸が完全に一致し、かつ、その大きさも一致しているからである。
上述の処理によれば、第1単位地図を作成した後、さらに第k単位地図を作成した場合であっても、新たな第1単位地図を作成することができる。これにより、部分的なレイアウト変更などにより第1単位地図の再作成が必要になった場合でも、全ての単位地図を作成し直す必要が無くなる。よって単位地図の作成工数を大幅に削減することが可能になる。第1単位地図を再作成しても、既存の第1単位地図のX1軸およびY1軸を維持することができるため、隣り合う単位地図のX軸およびY軸(横軸および縦軸)のずれは生じない。よって、グローバル座標を利用して設定したマーカを修正することなく、引き続き利用することができる。
なお、単位地図M(-1,0)を例示して第1単位地図を更新する例を説明したが、第1単位地図に隣接する単位地図(周辺地図)が作成されていればよい。また、第1単位地図を含む他の全ての単位地図が作成された後に第1単位地図を更新する例を挙げたが、第1単位地図と、第1単位地図に隣接する第2単位地図とが作成されていれば、いつでも第1単位地図の更新は可能である。
上述の実施形態の説明では、一例として二次元空間(床面)を走行するAGVを挙げた。しかしながら本開示は三次元空間を移動する移動体、例えば飛行体(ドローン)、にも適用され得る。ドローンが飛行しながら三次元空間地図を作成する場合には、二次元空間を三次元空間に拡張することができる。
本開示の技術は、移動体の動作の制御に広く用いられ得る。
1 ユーザ
2a、2b 無線アクセスポイント
10 AGV(移動体)
14a マイコン
14b メモリ
14c 記憶装置
14d 通信回路
14e 測位装置
16a、16b モータ
15 レーザレンジファインダ
17a、17b モータ駆動回路
20 タブレットコンピュータ(モバイルコンピュータ)
21 CPU
22 メモリ
23 通信回路
24 画像処理回路
25 ディスプレイ
26 タッチスクリーンパネル
100 移動体管理システム

Claims (22)

  1. 移動空間の地図を作成することが可能な移動体であって、
    モータと、
    前記モータを制御して前記移動体を移動させる駆動装置と、
    周囲の空間をセンシングしてセンサデータを出力するセンサと、
    地図の作成開始指示を外部から取得するインタフェースと、
    前記作成開始指示の取得に応答して、前記移動空間内に規定された、有限の大きさの単位空間ごとの地図を作成する測位装置であって、前記単位空間内で位置を変えながら取得された前記センサデータから前記単位空間の地図を作成する測位装置と
    を備え、前記測位装置は、
    前記移動空間に含まれる第1単位空間を表す第1地図であって、基準位置および座標軸であるX軸およびY軸を規定する第1地図を作成し、
    前記第1地図の作成後に、第2単位空間を表す第2地図であって、前記X軸および前記Y軸の一方と一致する第1座標軸、および前記X軸および前記Y軸の他方と平行な第2座標軸を有する第2地図を作成し、
    前記第1単位空間および前記第2単位空間は部分的に重複し、前記第1地図および前記第2地図は、部分的に重複した空間に対応する部分領域を含む、移動体。
  2. 前記第1単位空間および前記第2単位空間が部分的に重複した前記空間を第1部分空間とするとき、
    前記測位装置は、前記第2地図の作成後に、第3単位空間を表す第3地図を作成し、
    前記第3単位空間、および、前記第1単位空間および前記第2単位空間の一方は、部分的に重複した第2部分空間を含む、請求項1に記載の移動体。
  3. 前記第3地図は、前記X軸および前記Y軸の一方と一致する、または平行な第3座標軸を有する、
    請求項2に記載の移動体。
  4. 前記第1地図および前記第2地図は、前記第1部分空間に対応する第1部分領域を含み、
    前記第1地図および前記第3地図、または、前記第2地図および前記第3地図は、前記第2部分空間に対応する第2部分領域を含む、請求項2または3に記載の移動体。
  5. 前記第1地図、前記第2地図および前記第3地図は矩形状であり、
    前記第1部分領域および前記第2部分領域も矩形状である、請求項4に記載の移動体。
  6. 前記第1部分領域および前記第2部分領域の長辺方向の幅は、前記単位空間の地図の一辺の長さと等しい、請求項4に記載の移動体。
  7. 前記第1単位空間には、少なくとも1つの禁止空間が予め定められており、
    前記移動体が前記少なくとも1つの禁止空間内に位置しているときは、前記測位装置は前記第2地図の作成を禁止する、請求項1から6のいずれかに記載の移動体。
  8. 前記第1単位空間は、前記第1地図のX軸方向およびY軸方向にそれぞれ対応する第1方向の辺および第2方向の辺を有する二次元空間であり、
    前記少なくとも1つの禁止空間は、前記第1方向の辺および前記第2方向の辺の交点を含む空間である、請求項7に記載の移動体。
  9. 前記第1単位空間は、前記少なくとも1つの禁止空間と、前記少なくとも1つの禁止空間以外の空間であって、前記第1方向または前記第2方向の辺を含む空間である許可空間とを含み、
    前記移動体が前記許可空間内に位置しているときは、前記測位装置は、前記第2地図の作成を許可する、請求項8に記載の移動体。
  10. 前記移動体が、前記第1単位空間から前記許可空間を経て、前進または後退で前記第2単位空間に入ったときは、前記測位装置は、前記第2単位空間の地図の作成を許可する、請求項9に記載の移動体。
  11. 前記測位装置は、前記第1地図および前記第2地図上の位置を、前記基準位置、前記X軸および前記Y軸によって定まる座標系によって表す、請求項1から10のいずれかに記載の移動体。
  12. 前記測位装置が作成した前記単位空間の地図を表す地図データを記憶する記憶装置をさらに備えた請求項1から11のいずれかに記載の移動体。
  13. 前記第1地図および前記第1地図に隣接する少なくとも1つの周辺地図が作成された後、前記駆動装置は、前記第1単位空間と、前記少なくとも1つの周辺地図によって表される単位空間とが重複する空間から、前記第1単位空間に向けて前記移動体を移動させ、
    前記測位装置は前記第1地図を再作成する、請求項1に記載の移動体。
  14. 再作成された前記第1地図のX軸およびY軸と、既存の第1地図のX軸およびY軸とは一致する、請求項13に記載の移動体。
  15. 前記測位装置は、既存の第1地図の基準位置と同じ位置に、再作成された第1地図の基準位置を設定する、請求項14に記載の移動体。
  16. 請求項12に記載の移動体と、
    表示装置に、前記移動体の現在位置を含む単位空間の地図、および、前記移動体の現在位置を表示する端末装置と
    を備えた移動体管理システムであって、
    前記移動体の前記測位装置は、前記センサから出力された前記センサデータと、前記記憶装置に記憶された前記地図データとを照合して前記移動体の現在位置を推定し、
    前記端末装置は、
    前記測位装置によって推定された前記現在位置を示す位置データ、および、前記記憶装置に記憶された前記地図データを受け取る通信回路と、
    前記移動体が前記第1単位空間および前記第2単位空間の一方から他方に進行しているときにおいて、前記位置データに基づいて前記移動体が前記部分的に重複した空間に到達したことを検出し、表示する地図を、前記第1地図および前記第2地図の一方から他方に切り替え、切り替えた後の地図に前記移動体の現在位置を表示する処理回路と
    を備える、移動体管理システム。
  17. 前記部分的に重複した空間内には少なくとも1つの仮想的な基準線が設けられており、
    前記処理回路は、前記位置データに基づいて前記移動体が前記少なくとも1つの仮想的な基準線を超えて移動したことを検出し、表示する地図を、前記第1地図から前記第2地図に切り替える、請求項16に記載の移動体管理システム。
  18. 前記少なくとも1つの仮想的な基準線は第1基準線および第2基準線を含み、
    前記処理回路は、
    前記移動体が前記第1単位空間から前記第2単位空間に進行しており、前記移動体が前記第1基準線を超えたことを検出したときは、表示する地図を前記第1地図から前記第2地図に切り替え、
    前記移動体が前記第2単位空間から前記第1単位空間に進行しており、前記移動体が前記第2基準線を超えたことを検出したときは、表示する地図を前記第2地図から前記第1地図に切り替える、請求項17に記載の移動体管理システム。
  19. 前記第1基準線は、前記基準位置から見て前記第2基準線よりも遠い位置に設定される、請求項18に記載の移動体管理システム。
  20. 前記端末装置は、前記移動体の走行経路を構成する複数の経由点の設定を、ユーザから受け付ける入力インタフェース装置をさらに備え、
    前記処理回路は、前記入力インタフェース装置を介して前記第1地図上および前記第2地図上の複数の位置を、前記複数の経由点として受け付け、各経由点の位置を示す経由点データを含む走行経路データを前記記憶装置に記憶する、請求項16から19のいずれかに記載の移動体管理システム。
  21. 前記処理回路は、前記各経由点の位置を、前記基準位置、前記X軸および前記Y軸によって定まる座標系によって設定する、請求項20に記載の移動体管理システム。
  22. 移動体に搭載されたコンピュータによって実行される、移動空間の地図を作成するためのコンピュータプログラムであって、
    前記移動体は、
    モータと、
    前記モータを制御して前記移動体を移動させる駆動装置と、
    周囲の空間をセンシングしてセンサデータを出力するセンサと、
    地図の作成開始指示を外部から取得するインタフェースと、
    前記作成開始指示の取得に応答して、前記移動空間内に規定された、有限の大きさの単位空間ごとの地図を作成するコンピュータであって、前記単位空間内で位置を変えながら取得された前記センサデータから前記単位空間の地図を作成するコンピュータと
    を備えており、
    前記コンピュータは、
    前記移動空間に含まれる第1単位空間を表す第1地図であって、基準位置および座標軸であるX軸およびY軸を規定する第1地図を作成し、
    前記第1地図の作成後に、第2単位空間を表す第2地図であって、前記X軸および前記Y軸の一方と一致する第1座標軸、および前記X軸および前記Y軸の他方と平行な第2座標軸を有する第2地図を作成し、
    前記第1単位空間および前記第2単位空間は部分的に重複し、前記第1地図および前記第2地図は、部分的に重複した空間に対応する部分領域を含む、コンピュータプログラム。
JP2017158497A 2017-08-21 2017-08-21 移動体、移動体管理システムおよびコンピュータプログラム Active JP7103585B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017158497A JP7103585B2 (ja) 2017-08-21 2017-08-21 移動体、移動体管理システムおよびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017158497A JP7103585B2 (ja) 2017-08-21 2017-08-21 移動体、移動体管理システムおよびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2019036227A JP2019036227A (ja) 2019-03-07
JP7103585B2 true JP7103585B2 (ja) 2022-07-20

Family

ID=65655648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017158497A Active JP7103585B2 (ja) 2017-08-21 2017-08-21 移動体、移動体管理システムおよびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7103585B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7365141B2 (ja) * 2019-05-28 2023-10-19 村田機械株式会社 搬送システム
JP2022012173A (ja) * 2020-07-01 2022-01-17 ソニーグループ株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN111949753A (zh) * 2020-08-17 2020-11-17 三一机器人科技有限公司 大场景图层切换定位过渡方法及装置
CN112180940A (zh) * 2020-10-16 2021-01-05 三一机器人科技有限公司 用于有反定位的建图方法及装置、车辆运行方法及装置
CN113539043A (zh) * 2021-07-14 2021-10-22 王康静 一种电子信息工程物联网综合实验设备、系统及其实验方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160271795A1 (en) 2015-03-18 2016-09-22 Irobot Corporation Localization and Mapping Using Physical Features

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160271795A1 (en) 2015-03-18 2016-09-22 Irobot Corporation Localization and Mapping Using Physical Features

Also Published As

Publication number Publication date
JP2019036227A (ja) 2019-03-07

Similar Documents

Publication Publication Date Title
JP7103585B2 (ja) 移動体、移動体管理システムおよびコンピュータプログラム
US10866587B2 (en) System, method, and computer program for mobile body management
US20220357174A1 (en) Stand-alone self-driving material-transport vehicle
WO2018110568A1 (ja) 障害物の回避動作を行う移動体およびそのコンピュータプログラム
US9002535B2 (en) Navigation portals for a remote vehicle control user interface
US11747825B2 (en) Autonomous map traversal with waypoint matching
CN110709790A (zh) 用于控制自主移动机器人的方法
JP5805841B1 (ja) 自律移動体及び自律移動体システム
US20110288695A1 (en) Control interface for unmanned vehicles
JP6074205B2 (ja) 自律移動体
JP2017054475A (ja) 遠隔操作装置、方法及びプログラム
JPWO2019044498A1 (ja) 移動体、位置推定装置、およびコンピュータプログラム
WO2019054208A1 (ja) 移動体および移動体システム
JP2014232509A (ja) 経路生成方法と装置
JP6348971B2 (ja) 移動体
JPWO2019059307A1 (ja) 移動体および移動体システム
JP6794539B2 (ja) 移動体の動作を制御するモバイルコンピュータ、移動体制御システムおよびコンピュータプログラム
JP2016122278A (ja) 操作装置および自律移動システム
US20190302757A1 (en) Computer system and computer program
JP2019179497A (ja) 移動体および移動体システム
JP2019067001A (ja) 移動体
JP6192506B2 (ja) 移動体
WO2019069921A1 (ja) 移動体
US20210397202A1 (en) Touch control of unmanned aerial vehicles
WO2022259600A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200819

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210805

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210806

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220303

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220401

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: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220627

R150 Certificate of patent or registration of utility model

Ref document number: 7103585

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150