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

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

▶ 日本電産シンポ株式会社の特許一覧

特許7111424移動体、位置推定装置、およびコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-25
(45)【発行日】2022-08-02
(54)【発明の名称】移動体、位置推定装置、およびコンピュータプログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20220726BHJP
【FI】
G05D1/02 H
【請求項の数】 11
(21)【出願番号】P 2019539337
(86)(22)【出願日】2018-08-14
(86)【国際出願番号】 JP2018030307
(87)【国際公開番号】W WO2019044499
(87)【国際公開日】2019-03-07
【審査請求日】2020-02-12
(31)【優先権主張番号】P 2017169727
(32)【優先日】2017-09-04
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000107147
【氏名又は名称】日本電産シンポ株式会社
(74)【代理人】
【識別番号】100101683
【弁理士】
【氏名又は名称】奥田 誠司
(72)【発明者】
【氏名】鈴木 慎治
(72)【発明者】
【氏名】佐伯 哲夫
(72)【発明者】
【氏名】中谷 政次
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2017-021791(JP,A)
【文献】特開2009-159784(JP,A)
【文献】特開2017-097537(JP,A)
【文献】特開2014-203144(JP,A)
【文献】特開2009-276823(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
移動体であって、
環境をスキャンしてスキャンデータを周期的に出力する外界センサと、
環境地図を記憶する記憶装置と、
前記スキャンデータと前記記憶装置から読み出された前記環境地図とのマッチングを行い、前記移動体の位置および姿勢を推定する位置推定装置と、
を備え、
前記位置推定装置は、
過去のマッチングによって得られた前記移動体の推定位置および推定姿勢の履歴に基づいて、現在の前記移動体の位置および姿勢の予測値を決定し、
前記予測値を初期値として用いて、現在の前記移動体の位置および姿勢を推定するためのマッチングを開始する、移動体。
【請求項2】
前記位置推定装置は、
前記移動体の推定位置および推定姿勢の履歴に基づいて前記推定位置および前記推定姿勢の変化率を決定し、前記変化率に基づいて前記移動体の位置および姿勢を予測する、請求項1に記載の移動体。
【請求項3】
前記位置推定装置は、反復最近接点アルゴリズムによって前記マッチングを行う、請求項1または2に記載の移動体。
【請求項4】
全方位ホイール、二足または多足歩行装置のいずれかを備える、請求項1から3のいずれかに記載の移動体。
【請求項5】
前記位置推定装置が推定した前記移動体の前記位置、または、前記位置および前記姿勢を画像および/または音声によって表示する表示装置を備える、請求項1から4のいずれかに記載の移動体。
【請求項6】
目的地と、前記位置推定装置が推定した前記移動体の前記位置および前記姿勢とに基づいて、ユーザに経路をガイドするナビゲーション装置を備える、請求項5に記載の移動体。
【請求項7】
前記位置推定装置は、
前記移動体の推定位置および推定姿勢の履歴に基づいて前記推定位置および前記推定姿勢の変化率を決定するとき、前記履歴に含まれる前記推定位置または前記推定姿勢を信頼度に応じて選択する、請求項2に記載の移動体。
【請求項8】
前記位置推定装置は、運行管理装置からの指示にしたがって移動するとき、前記指示の内容および前記履歴に基づいて前記移動体の位置および姿勢を予測する、請求項1から6のいずれかに記載の移動体。
【請求項9】
前記位置推定装置は、前記履歴のうち、異なる3個以上の時刻における前記移動体の推定位置および推定姿勢を選択して前記移動体の位置および姿勢を予測する、請求項1から6のいずれかに記載の移動体。
【請求項10】
環境をスキャンしてスキャンデータを周期的に出力する外界センサと、環境地図を記憶する記憶装置とに接続される、移動体の位置推定装置であって、
プロセッサと、
前記プロセッサを動作させるコンピュータプログラムを記憶するメモリと、
を備え、
前記プロセッサは、前記コンピュータプログラムの指令にしたがって、
前記スキャンデータと前記記憶装置から読み出された前記環境地図との過去のマッチングによって得られた前記移動体の推定位置および推定姿勢の履歴に基づいて、現在の前記移動体の位置および姿勢の予測値を決定すること、および
前記予測値を初期値として用いて、現在の前記移動体の位置および姿勢を推定するためのマッチングを開始すること、を実行する、位置推定装置
【請求項11】
請求項10に記載の位置推定装置に使用されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体、位置推定装置、およびコンピュータプログラムに関する。
【背景技術】
【0002】
無人搬送車(無人搬送台車)および移動ロボットのように自律移動可能な移動体の開発が進められている。
【0003】
特開2008-250906号公報は、レーザレンジファインダから取得した局所地図と、前もって用意された地図とのマッチングによって自己位置推定を行う移動ロボットを開示している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2008-250906号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特開2008-250906号公報に開示されている移動ロボットは、マッチングを行うとき、光ファイバジャイロの出力と、モータまたは駆動輪に取り付けられたロータリエンコーダ(以下、単に「エンコーダ」と称する)の出力とを用い、自己位置の推定を行っている。
【0006】
本開示の実施形態は、エンコーダの出力を用いることなく自己位置推定を行うことが可能な移動体を提供する。
【課題を解決するための手段】
【0007】
本開示の移動体は、非限定的で例示的な実施形態において、環境をスキャンしてスキャンデータを周期的に出力する外界センサと、環境地図を記憶する記憶装置と、前記センサデータと前記記憶装置から読み出された前記環境地図とのマッチングを行い、前記移動体の位置および姿勢を推定する自己位置推定装置とを備える。前記自己位置推定装置は、前記移動体の推定位置および推定姿勢の履歴に基づいて、現在の前記移動体の位置および推定の予測値を決定し、前記予測値を用いて前記マッチングを行う。
【0008】
本開示の位置推定装置は、非限定的で例示的な実施形態において、環境をスキャンしてスキャンデータを周期的に出力する外界センサと、環境地図を記憶する記憶装置とに接続される、移動体の位置推定装置であって、プロセッサと、前記プロセッサを動作させるコンピュータプログラムを記憶するメモリとを備える。前記プロセッサは、前記コンピュータプログラムの指令にしたがって、前記移動体の推定位置および推定姿勢の履歴に基づいて、現在の前記移動体の位置および推定の予測値を決定すること、および、前記予測値を用いて、前記センサデータと前記記憶装置から読み出された前記環境地図とのマッチングを行い、前記移動体の位置および姿勢を推定することを実行する。
【0009】
本開示のコンピュータプログラムは、非限定的で例示的な実施形態において、上記の位置推定装置に使用されるコンピュータプログラムである。
【発明の効果】
【0010】
本開示の移動体の実施形態によれば、エンコーダの出力を用いることなく自己位置推定を行うことが可能である。
【図面の簡単な説明】
【0011】
図1図1は、本開示による移動体の実施形態の構成を示す図である。
図2図2は、移動体が移動する環境の例を模式的に示す平面レイアウト図である。
図3図3は、図2に示される環境の環境地図を示す図である。
図4図4は、外界センサが時刻tに取得したスキャンデータSD(t)の例を模式的に示す図である。
図5A図5Aは、環境地図に対するスキャンデータSD(t)のマッチングを開始するときの状態を模式的に示す図である。
図5B図5Bは、環境地図に対するスキャンデータSD(t)のマッチングが完了した状態を模式的に示す図である。
図6A図6Aは、スキャンデータを構成する点群が初期の位置から回転および並進して、環境地図の点群に近づく様子を模式的に示す図である。
図6B図6Bは、スキャンデータの剛体変換後の位置および姿勢を示す図である。
図7図7は、外界センサが時刻t+Δtに取得したスキャンデータSD(t+Δt)の例を模式的に示す図である。
図8A図8Aは、環境地図に対するスキャンデータSD(t+Δt)のマッチングを開始するときの状態を模式的に示す図である。
図8B図8Bは、環境地図に対するスキャンデータSD(t+Δt)のマッチングが開始するときの移動体の位置および姿勢の初期値として、位置および姿勢の履歴に基づいて算出した予測値を用いた状態を模試的に示す図である。
図9図9は、位置推定装置によって過去に得られた移動体の位置および姿勢の履歴と、現在の位置および姿勢の予測値を模式的に示す図である。
図10図10は、本開示の実施形態における位置推定装置の動作の一部を示すフローチャートである。
図11図11は、本開示の実施形態における位置推定装置の動作の一部を示すフローチャートである。
図12図12は、本開示の移動体の他の構成例を示す図である。
図13図13は、本開示による、各AGVの走行を制御する制御システムの概要を示す図である。
図14図14は、AGVが存在する環境の一例を示す斜視図である。
図15図15は、接続される前のAGVおよび牽引台車を示す斜視図である。
図16図16は、接続されたAGVおよび牽引台車を示す斜視図である。
図17図17は、本実施形態にかかる例示的なAGVの外観図である。
図18A図18Aは、AGVの第1のハードウェア構成例を示す図である。
図18B図18Bは、AGVの第2のハードウェア構成例を示す図である。
図19図19は、運行管理装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0012】
<用語>
「無人搬送車」(AGV)とは、本体に人手または自動で荷物を積み込み、指示された場所まで自動走行し、人手または自動で荷卸しをする無軌道車両を意味する。「無人搬送車」は、無人牽引車および無人フォークリフトを含む。
【0013】
「無人」の用語は、車両の操舵に人を必要としないことを意味しており、無人搬送車が「人(たとえば荷物の積み下ろしを行う者)」を搬送することは除外しない。
【0014】
「無人牽引車」とは、人手または自動で荷物の積み込み荷卸しをする台車を牽引して、指示された場所まで自動走行する無軌道車両である。
【0015】
「無人フォークリフト」とは、荷物移載用のフォークなどを上下させるマストを備え、フォークなどに荷物を自動移載し指示された場所まで自動走行し、自動荷役作業をする無軌道車両である。
【0016】
「無軌道車両」とは、車輪と、車輪を回転させる電気モータまたはエンジンを備える移動体(vehicle)である。
【0017】
「移動体」とは、人または荷物を載せて移動する装置であり、移動のための駆動力(traction)を発生させる車輪、二足または多足歩行装置、プロペラなどの駆動装置を備える。本開示における「移動体」の用語は、狭義の無人搬送車のみならず、モバイルロボット、サービスロボット、およびドローンを含む。
【0018】
「自動走行」は、無人搬送車が通信によって接続されるコンピュータの運行管理システムの指令に基づく走行と、無人搬送車が備える制御装置による自律的走行とを含む。自律的走行には、無人搬送車が所定の経路に沿って目的地に向かう走行のみならず、追尾目標に追従する走行も含まれる。また、無人搬送車は、一時的に作業者の指示に基づくマニュアル走行を行ってもよい。「自動走行」は、一般には「ガイド式」の走行および「ガイドレス式」の走行の両方を含むが、本開示では「ガイドレス式」の走行を意味する。
【0019】
「ガイド式」とは、誘導体を連続的または断続的に設置し、誘導体を利用して無人搬送車を誘導する方式である。
【0020】
「ガイドレス式」とは、誘導体を設置せずに誘導する方式である。本開示の実施形態における無人搬送車は、自己位置推定装置を備え、ガイドレス式で走行することができる。
【0021】
「位置推定装置」は、レーザレンジファインダなどの外界センサによって取得されたセンサデータに基づいて環境地図上における自己位置を推定する装置である。
【0022】
「外界センサ」は、移動体の外部の状態をセンシングするセンサである。外界センサには、たとえば、レーザレンジファインダ(測域センサともいう)、カメラ(またはイメージセンサ)、LIDAR(Light Detection and Ranging)、ミリ波レーダ、超音波センサ、および磁気センサがある。
【0023】
「内界センサ」は、移動体の内部の状態をセンシングするセンサである。内界センサには、たとえばロータリエンコーダ(以下、単に「エンコーダ」と称することがある)、加速度センサ、および角加速度センサ(たとえばジャイロセンサ)がある。
【0024】
「SLAM(スラム)」とは、Simultaneous Localization and Mappingの略語であり、自己位置推定と環境地図作成を同時に行うことを意味する。
【0025】
<本開示における移動体の基本構成>
図1を参照する。本開示の移動体10は、図1に示される例示的な実施形態において、環境をスキャンしてスキャンデータを周期的に出力する外界センサ102を備える。外界センサ102の典型例は、レーザレンジファインダ(LRF)である。LRFは周期的にたとえば赤外線または可視光のレーザビームを周囲に放射して周囲の環境をスキャンする。レーザビームは、たとえば、壁、柱等の構造物、床の上に置かれた物体などの表面で反射される。LRFは、レーザビームの反射光を受けて各反射点までの距離を計算し、各反射点の位置が示された測定結果のデータを出力する。各反射点の位置には、反射光の到来方向および距離が反映されている。測定結果のデータ(スキャンデータ)は、「環境計測データ」または「センサデータ」と呼ばれることがある。
【0026】
外界センサ102による環境のスキャンは、たとえば、外界センサ102の正面を基準として左右135度(合計270度)の範囲の環境に対して行われる。具体的には、水平面内において所定のステップ角度ごとに方向を変化させながらパルス状のレーザビームを放射し、各レーザビームの反射光を検出して距離を計測する。ステップ角度が0.3度であれば、合計901ステップ分の角度で決まる方向における反射点までの距離の測定データを得ることができる。この例において、外界センサ102が行う周囲の空間のスキャンは実質的に床面に平行であり、平面的(二次元的)である。しかし、外界センサは、三次元的なスキャンを行ってもよい。
【0027】
スキャンデータの典型例は、スキャンごとに取得される点群(point cloud)を構成する各点の位置座標によって表現され得る。点の位置座標は、移動体10とともに移動するローカル座標系によって規定される。このようなローカル座標系は、移動体座標系またはセンサ座標系と呼ばれ得る。本開示においては、移動体10に固定されたローカル座標系の原点を移動体10の「位置」と定義し、ローカル座標系の向き(orientation)を移動体10の「姿勢」と定義する。以下、位置および姿勢を合わせて「ポーズ」と称することがある。
【0028】
スキャンデータは、極座標系で表示される場合、各点の位置をローカル座標系における原点からの「方向」および「距離」で示す数値セットから構成され得る。極座標系の表示は、直交座標系の表示に変換され得る。以下の説明では、簡単のため、外界センサから出力されたスキャンデータは、直交座標系で表示されているとする。
【0029】
移動体10は、環境地図を記憶する記憶装置104と、位置推定装置(自己位置推定)106とを備える。環境地図は複数の地図に区分されていてもよい。位置推定装置106は、外界センサ102から取得したスキャンデータと、記憶装置104から読み出された環境地図とのマッチングを行い、移動体10の位置および姿勢、すなわちポーズを推定する。このマッチングは、パターンマッチングまたはスキャンマッチングと呼ばれ、種々のアルゴリズムにしたがって実行され得る。マッチングアルゴリズムの典型例は、Iterative Closest Point (ICP:反復最近接点)アルゴリズムである。
【0030】
図示されている例において、移動体10は、さらに、駆動装置108、自動走行制御装置110、および通信回路112を備えている。駆動装置108は、移動体10が移動するための駆動力を発生する装置である。駆動装置108の例は、電気モータまたはエンジンによって回転する車輪(駆動輪)、モータまたは他のアクチュエータによって動作する二足または多足歩行装置を含む。車輪は、メカナムホイールなどの全方位ホイールであってもよい。また、移動体10が空中または水中を移動する移動体、あるいはホバークラフトであってもよく、その場合の駆動装置108は、モータによって回転するプロペラを含む。
【0031】
自動走行制御装置110は、駆動装置108を操作して移動体10の移動条件(速度、加速度、移動方向など)を制御する。自動走行制御装置110は、所定の走行経路に沿って移動体10を移動させてもよく、外部から与えられる指令にしたがって移動させてもよい。位置推定装置106は、移動体10の移動中または停止中において、移動体10の位置および姿勢の推定値を算出する。自動走行制御装置110は、この推定値を参照して移動体10の走行を制御する。
【0032】
位置推定装置106および自動走行制御装置110を、全体として、走行制御装置120と呼んでもよい。走行制御装置120は、プロセッサと、プロセッサの動作を制御するコンピュータプログラムを格納したメモリによって構成され得る。このようなプロセットおよびメモリは、1個または複数の半導体集積回路によって実現され得る。
【0033】
通信回路112は、移動体10が外部の管理装置、他の移動体、または操作者のモバイル端末機器などを含む通信ネットワークに接続してデータおよび/または指令のやりとりを行う回路である。
【0034】
<環境地図>
図2は、移動体10が移動する環境200の例を模式的に示す平面レイアウト図である。環境200は、より広い環境の一部である。図2において、太い直線は、たとえば建造物の固定壁202を示している。
【0035】
図3は、図2に示される環境200の地図(環境地図M)を示す図である。図中の各ドット204は、環境地図Mを構成する点群の各点に相当する。本開示において、環境地図Mの点群を「参照点群」と称し、スキャンデータの点群を「データ点群」または「ソース点群」と称する場合がある。マッチングは、たとえば、位置が固定された環境地図(参照点群)に対して、スキャンデータ(データ点群)の位置合わせを行うことである。ICPアルゴリズムによるマッチングを行う場合、具体的には、参照点群とデータ点群との間で対応する点のペアが選択され、各ペアを構成する点同士の距離(誤差)を最小化するようにデータ点群の位置および向きが調整される。
【0036】
図3において、ドット204は、簡単のため、複数の線分上に等間隔で配列されている。現実の環境地図Mにおける点群は、より複雑な配置パターンを有していてもよい。環境地図Mは、点群地図に限定されず、直線または曲線を構成要素とする地図であってもよいし、占有格子地図であってもよい。すなわちスキャンデータと環境地図Mとの間でマッチングを行うことが可能な構造を環境地図Mが備えていればよい。
【0037】
移動体10が図3に示される位置PA、位置PB、および位置PCのそれぞれにあるときに、移動体10の外界センサ102が取得するスキャンデータは、それぞれ、異なる点群の配列を有する。移動体10が位置PAから、位置PBを経て位置PCに達するまでの移動時間が、外界センサ102によるスキャンの周期に比べて十分に長い場合、すなわち、移動体10の移動が遅い場合、時間軸上で隣接する2つのスキャンデータは極めて類似している。しかし、移動体10の移動が著しく速い場合は、時間軸上で隣接する2つのスキャンデータは大きく異なってしまう可能性がある。
【0038】
このように外界センサ102から順次出力されるスキャンデータのうち、最新のスキャンデータがその直前のスキャンデータに類似している場合は、マッチングは相対的に容易であり、短時間で信頼度の高いマッチングが期待される。しかし、移動体10の移動速度が相対的に高い場合は、最新のスキャンデータがその直前のスキャンデータに類似していない可能性かあり、マッチングに要する時間が長くなったり、所定時間内にマッチングが完了しないことがあり得る。
【0039】
<マッチング>
図4は、外界センサが時刻tに取得したスキャンデータSD(t)の例を模式的に示す図である。スキャンデータSD(t)は、移動体10とともに位置および姿勢が変わるセンサ座標系で表示されている。スキャンデータSD(t)は、外界センサ102の真正面をV軸として、V軸から時計周りに90°回転した方向をU軸とするUV座標系によって表現される(図9参照)。UV座標系の原点に移動体10、より正確には外界センサ102が位置している。本開示では、移動体10が前進するとき、移動体10は、外界センサ102の真正面、すなわちV軸の方向に進む。わかりやすさのため、スキャンデータSD(t)を構成する点は白丸で記載されている。
【0040】
図5Aは、環境地図Mに対するスキャンデータSD(t)のマッチングを開始するときの状態を模式的に示す図である。図5Aに示される移動体10の位置および姿勢は、マッチング開始時における初期値として与えられる。この初期位置が実際の移動体10の位置および姿勢に近いとき、マッチングの完了状態に達するまでの時間は充分に短い。
【0041】
図5Bは、環境地図Mに対するスキャンデータSD(t)のマッチングが完了した状態を模式的に示す図である。マッチングが完了した状態では、外界センサがスキャンデータSD(t)を取得したときのセンサ座標系の位置および姿勢と環境地図Mの座標系の位置および姿勢との関係が確定する。こうして、時刻tにおける移動体10の位置(センサ座標系の原点)および姿勢(センサ座標系の向き)の推定値が決定される(位置同定)。
【0042】
図6Aは、スキャンデータを構成する点群が初期の位置から回転および並進して、環境地図の点群に近づく様子を模式的に示す図である。時刻tにおけるスキャンデータの点群を構成するK個の点のうちのk番目(k=1、2、・・・、K-1、K)の点の座標値をZt,k、この点に対応する環境地図上の点の座標値をmkとする。このとき、2つの点群における対応点の誤差は、K個の対応点について計算した誤差の二乗和であるΣ(Zt,k-mk2をコスト関数として評価することができる。Σ(Zt,k-mk2を小さくするように回転および並進の剛体変換が決定される。剛体変換は、回転の角度および並進のベクトルをパラメータとして含む変換行列(同次変換行列)によって規定される。
【0043】
図6Bは、スキャンデータの剛体変換後の位置および姿勢を示す図である。図6Bに示される例において、スキャンデータと環境地図とのマッチングは完了しておらず、2つの点群の間には、まだ大きな誤差(位置ずれ)が存在している。この位置ずれを縮小するため、剛体変換をさらに行う。こうして、誤差が所定値を下回る大きさになったとき、マッチングは完了する。
【0044】
図7は、外界センサが時刻t+Δtに取得したスキャンデータSD(t+Δt)の例を模式的に示す図である。図4と同様に、スキャンデータSD(t+Δt)は、移動体10とともに位置および姿勢が変わるセンサ座標系で表示され、スキャンデータSD(t+Δt)を構成する点は白丸で記載されている。時間Δtの間に移動体10の位置および姿勢が大きく変化した場合、時刻t+Δtに取得されるスキャンデータの点群の配置は、その前の時刻tに取得されるスキャンデータの点群の配置から大きく変化し得る。この例では、図7に示される点群の配置は、図4に示される点群の配置から大きく変化している。このような場合において、時刻tにおける移動体10の位置および姿勢を初期値としてマッチングを開始すると、スキャンデータと環境地図との差異が大きすぎて、マッチングに要する時間が長大になり得る。
【0045】
図8Aは、環境地図Mに対するスキャンデータSD(t+Δt)のマッチングを開始するときの状態を模式的に示す図である。
【0046】
これに対して、図8Bは、環境地図Mに対するスキャンデータSD(t+Δt)のマッチングを開始するときの移動体10の位置および姿勢の初期値として、次に説明する計算によって求めた予測値を用いた状態を模試的に示す図である。
【0047】
図8Bから明らかなように、マッチングを開始するときに環境地図Mに対するスキャンデータSD(t+Δt)の位置ずれは、図8Aの場合に比べて小さい。このため、マッチングに要する時間が短縮される。
【0048】
<初期値予測>
次に、図9を参照しながら、移動体10の位置および姿勢の予測について説明する。図9は、図1の位置推定装置106によって過去に得られた移動体10の位置および姿勢の履歴と、現在の位置および姿勢の予測値を模式的に示す図である。位置および姿勢の履歴は、位置推定装置10の内部のメモリに記憶される。このような履歴の一部または全部は、位置推定装置10の外部の記憶装置、たとえば図1の記憶装置104に記憶されていても良い。
【0049】
図9には、移動体10のローカル座標系(センサ座標系)であるUV座標系も示されている。スキャンデータは、UV座標系によって表現される。環境地図M上における移動体10の位置は、環境地図Mの座標系におけるUV座標系の原点の座標値(xi,yi)である。移動体10の姿勢(向き)は、環境地図Mの座標系に対するUV座標系の向き(θi)である。θiは半時計回りを「正」とする。
【0050】
本開示の実施形態では、位置推定装置によって過去に得られた推定位置および推定姿勢の履歴から、現在の位置および姿勢の予測値を算出する。
【0051】
前回のマッチングによって得られた移動体の推定位置および推定姿勢を(xi-1,yi-1,θi-1)、さらにその前のマッチングによって得られた移動体の推定位置および推定姿勢を(xi-2,yi-2,θi-2)とする。また、現在の移動体の位置および姿勢の予測値を(xi,yi,θi)とする。このとき、以下の仮定が成立するとする。
【0052】
仮定1:推定位置(xi-1,yi-1)から現在位置(xi,yi)までの移動に要する時間は、推定位置(xi-2,yi-2)から推定位置(xi-1,yi-1)までの移動に要した時間に等しい。
【0053】
仮定2:推定位置(xi-1,yi-1)から現在位置(xi,yi)までの移動時の移動速度(推定位置の変化率)は、推定位置(xi-2,yi-2)から推定位置(xi-1,yi-1)までの移動速度に等しい。
【0054】
仮定3:移動体の姿勢(向き)の変化θi-θi-1は、Δθ=θi-1-θi-2に等しい。
【0055】
上記の過程のもと、以下の数1の式が設立する。
【数1】
ここで、Δθは、上述の通り、θi-1-θi-2である。
【0056】
移動体の姿勢(向き)については、仮定3から、以下の数2の関係が成立する。
(数2)
θi=θi-1+Δθ
【0057】
なお、Δθがゼロであるとの近似を行うと、数2の右辺第2項の行列は単位行列として計算が単純化され得る。
【0058】
上記の仮定1が成立しない場合、位置(xi-1,yi-1)から位置(xi,yi)までの移動に要する時間をΔt、位置(xi-2,yi-2)から位置(xi-1,yi-1)までの移動に要した時間をΔsとする。この場合、数1の右辺における(xi-1-xi-2)および(yi-1-yi-2)を、それぞれ、Δt/Δs倍する補正と、数1の右辺の行列におけるΔθをΔt/Δs倍する補正を行えばよい。
【0059】
位置および姿勢の「履歴」は、推定値の時系列データである。履歴の中には、信頼度が相対的に低い推定値が含まれたり、移動経路から大きく外れた異常値が含まれる場合がある。このような値は、予測の計算から排除してもよい。
【0060】
後述するような運行管理装置からの指示にしたがって移動体が移動する場合は、指示内容を予測に利用することも可能である。指示内容の例は、移動経路が直線か曲線の指定、移動速度の指定を含む。
【0061】
また、時刻t-Δsから時刻tまでの短い期間だけではなく、より長い期間の履歴を用いることにより、正確度および精度のより高い予測が可能になる。例えば、履歴のうち、異なる3個以上の時刻における移動体の推定位置および推定姿勢を選択して移動体の位置および姿勢を予測してもよい。
【0062】
移動体の推定位置および推定姿勢の履歴から現在の位置および姿勢を予測する方法は、演算によって行うことに限定されない。この予測は、ディープラーニングなどの機械学習によって用意された学習済みモデルを用いて行ってもよい。
【0063】
<位置推定装置の動作フロー>
図1図10および図11を参照しながら、本開示の実施形態における位置推定装置の動作フローを説明する。
【0064】
まず、図10を参照する。
【0065】
ステップS22において、位置推定装置106は、外界センサ102からスキャンデータを取得する。
【0066】
ステップS24において、位置推定装置106は、上記の方法で現在の位置および姿勢を履歴から予測し、予測値を決定する。
【0067】
ステップS26において、位置推定装置106は、上記の予測値を用いて初期位置合わせを行う。
【0068】
ステップS28において、位置推定装置106は、ICPアルゴリズムによる位置ずれ補正を行う。
【0069】
次に図11を参照して、ステップS28における位置ずれ補正を説明する。
【0070】
まず、ステップS32において、対応点の探索を行う。具体的には、スキャンデータに含まれる点群を構成する各点に対応する、環境地図上の点を選択する。
【0071】
ステップS34において、スキャンデータと環境地図との間にある対応点間距離を縮小するように、スキャンデータの回転および並進の剛体変換(座標変換)を行う。これは、対応点間距離、すなわち、対応点の誤差の総和(二乗和)を小さくするように、座標変換行列のパラメータを最適化することである。この最適化は反復計算によって行われる。
【0072】
ステップS36において、反復計算の結果が収束したか否かを判定する。具体的には、座標変換行列のパラメータを変化させても対応点の誤差の総和(二乗和)の減少量が所定値を下回ったとき、収束したと判定する。収束しなかったときは、ステップS32に戻り、対応点の探索からの処理を繰りかえす。ステップS36において、収束したと判定されたときは、ステップS38に進む。
【0073】
ステップS38では、座標変換行列を用いてスキャンデータの座標値をセンサ座標系の値から環境地図の座標系の値に変換する。こうして得たスキャンデータの座標値は、環境地図の更新に用いることができる。
【0074】
本開示の移動体によれば、移動体10の移動速度が高く、外界センサ102から周期的に取得するスキャンデータの変化が著しい場合でも、マッチングに要する時間が大きく増加したり、あるいは、マッチングが所定時間内に完了せず、位置同定に失敗するという可能性が低減する。
【0075】
また、ロータリエンコーダなどの内界センサの出力を用いて位置および姿勢の推定を行う必要がなくなる。特にロータリエンコーダは、車輪がスリップしたときには大きな誤差が発生し、その誤差は累積されるため、測定値の信頼度が低い。さらにロータリエンコーダによる測定は、メカナムホイールなどの全方位ホイール、二足または多足歩行装置を用いて移動する移動体、あるいは、バークラフトおよびドローンなどの飛行体には適用できない。これに対して、本開示による位置推定装置は、多用な駆動装置によって移動する種々の移動体に適用可能である。
【0076】
本開示の移動体は、駆動装置を備えている必要がない。たとえばユーザによって駆動される手押し車であってもよい。このような移動体は、位置推定装置から取得した移動体の位置、または、位置および姿勢をユーザのために表示装置の地図上に表示したり、音声で伝えてもよい。
【0077】
図12は、本開示の移動体10の他の構成例を示す図である。この図に示される移動体10は、位置推定装置106から出力された移動体の位置、または、位置および姿勢の情報を用いてユーザを案内するナビゲーション装置114を備えている。このナビゲーション装置114は、画像または音声により、ユーザを案内するため表示装置116に接続されている。表示装置116は、現在位置および目的位置を地図上に表示したり、「停止」または「右に曲がれ」などの音声を発したりすることができる。このため、ユーザは、移動体10を押して目的地まで移動させることができる。このような移動体10の例は、手押し車、その他のカートである。
【0078】
図12に示される構成を備えた移動体10によれば、ナビゲーション装置114内のメモリ(不図示)に予め記憶された目的地または経路に基づいて、ルート案内が実行される。
【0079】
<例示的な実施形態>
以下、本開示による移動体の実施形態をより詳細に説明する。本実施形態では、移動体の一例として無人搬送車を挙げる。以下の説明では、略語を用いて、無人搬送車を「AGV:Automatic Guided Vehicle)」と記述する。以下、「AGV」についても、移動体10と同様に参照符号「10」を付す。
【0080】
(1)システムの基本構成
図13は、本開示による例示的な移動体管理システム100の基本構成例を示している。移動体管理システム100は、少なくとも1台のAGV10と、AGV10の運行管理を行う運行管理装置50とを含む。図13には、ユーザ1によって操作される端末装置20も記載されている。
【0081】
AGV10は、走行に磁気テープなどの誘導体が不要な「ガイドレス式」走行が可能な無人搬送台車である。AGV10は、自己位置推定を行い、推定の結果を端末装置20および運行管理装置50に送信することができる。AGV10は、運行管理装置50からの指令にしたがって環境S内を自動走行することが可能である。
【0082】
運行管理装置50は各AGV10の位置をトラッキングし、各AGV10の走行を管理するコンピュータシステムである。運行管理装置50は、デスクトップ型PC、ノート型PC、および/または、サーバコンピュータであり得る。運行管理装置50は、複数のアクセスポイント2を介して、各AGV10と通信する。たとえば、運行管理装置50は、各AGV10が次に向かうべき位置の座標のデータを各AGV10に送信する。各AGV10は、定期的に、たとえば250ミリ秒ごとに自身の位置および姿勢(orientation)を示すデータを運行管理装置50に送信する。指示した位置にAGV10が到達すると、運行管理装置50は、さらに次に向かうべき位置の座標のデータを送信する。AGV10は、端末装置20に入力されたユーザ1の操作に応じて環境S内を走行することも可能である。端末装置20の一例はタブレットコンピュータである。
【0083】
図14は、3台のAGV10a,10bおよび10cが存在する環境Sの一例を示している。いずれのAGVも図中の奥行き方向に走行しているとする。AGV10aおよび10bは天板に載置された荷物を搬送中である。AGV10cは、前方のAGV10bに追従して走行している。なお、説明の便宜のため、図14では参照符号10a,10bおよび10cを付したが、以下では、「AGV10」と記述する。
【0084】
AGV10は、天板に載置された荷物を搬送する方法以外に、自身と接続された牽引台車を利用して荷物を搬送することも可能である。図15は接続される前のAGV10および牽引台車5を示している。牽引台車5の各足にはキャスターが設けられている。AGV10は牽引台車5と機械的に接続される。図16は、接続されたAGV10および牽引台車5を示している。AGV10が走行すると、牽引台車5はAGV10に牽引される。牽引台車5を牽引することにより、AGV10は、牽引台車5に載置された荷物を搬送できる。
【0085】
AGV10と牽引台車5との接続方法は任意である。ここでは一例を説明する。AGV10の天板にはプレート6が固定されている。牽引台車5には、スリットを有するガイド7が設けられている。AGV10は牽引台車5に接近し、プレート6をガイド7のスリットに差し込む。差し込みが完了すると、AGV10は、図示されない電磁ロック式ピンをプレート6およびガイド7に貫通させ、電磁ロックをかける。これにより、AGV10と牽引台車5とが物理的に接続される。
【0086】
再び図13を参照する。各AGV10と端末装置20とは、たとえば1対1で接続されてBluetooth(登録商標)規格に準拠した通信を行うことができる。各AGV10と端末装置20とは、1または複数のアクセスポイント2を利用してWi-Fi(登録商標)に準拠した通信を行うこともできる。複数のアクセスポイント2は、たとえばスイッチングハブ3を介して互いに接続されている。図13には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との間でも双方向通信が実現される。
【0087】
(2)環境地図の作成
自己位置を推定しながらAGV10が走行できるようにするため、環境S内の地図が作成される。AGV10には位置推定装置およびLRFが搭載されており、LRFの出力を利用して地図を作成できる。
【0088】
AGV10は、ユーザの操作によってデータ取得モードに遷移する。データ取得モードにおいて、AGV10はLRFを用いたセンサデータの取得を開始する。
【0089】
位置推定装置は、センサデータを記憶装置に蓄積する。環境S内のセンサデータの取得が完了すると、記憶装置に蓄積されたセンサデータが外部装置に送信される。外部装置は、たとえば信号処理プロセッサを有し、かつ、地図作成コンピュータプログラムがインストールされたコンピュータである。
【0090】
外部装置の信号処理プロセッサは、スキャンごとに得られたセンサデータ同士を重ね合わせる。信号処理プロセッサが重ね合わせる処理を繰り返し行うことにより、環境Sの地図を作成することができる。外部装置は、作成した地図のデータをAGV10に送信する。AGV10は、作成した地図のデータを内部の記憶装置に保存する。外部装置は、運行管理装置50であってもよいし、他の装置であってもよい。
【0091】
外部装置ではなくAGV10が地図の作成を行ってもよい。上述した外部装置の信号処理プロセッサが行った処理を、AGV10のマイクロコントローラユニット(マイコン)などの回路が行えばよい。AGV10内で地図を作成する場合には、蓄積されたセンサデータを外部装置に送信する必要がなくなる。センサデータのデータ容量は一般には大きいと考えられる。センサデータを外部装置に送信する必要がないため、通信回線の占有を回避できる。
【0092】
なお、センサデータを取得するための環境S内の移動は、ユーザの操作にしたがってAGV10が走行することによって実現し得る。たとえば、AGV10は、端末装置20を介して無線でユーザから前後左右の各方向への移動を指示する走行指令を受け取る。AGV10は走行指令にしたがって環境S内を前後左右に走行し、地図を作成する。AGV10がジョイスティック等の操縦装置と有線で接続されている場合には、当該操縦装置からの制御信号にしたがって環境S内を前後左右に走行し、地図を作成してもよい。LRFを搭載した計測台車を人が押し歩くことによってセンサデータを取得してもよい。
【0093】
なお、図13および図14には複数台のAGV10が示されているが、AGVは1台であってもよい。複数台のAGV10が存在する場合、ユーザ1は端末装置20を利用して、登録された複数のAGVのうちから一台のAGV10を選択して、環境Sの地図を作成させることができる。
【0094】
地図が作成されると、以後、各AGV10は当該地図を利用して自己位置を推定しながら自動走行することができる。
【0095】
(3)AGVの構成
図17は、本実施形態にかかる例示的なAGV10の外観図である。AGV10は、2つの駆動輪11aおよび11bと、4つのキャスター11c、11d、11eおよび11fと、フレーム12と、搬送テーブル13と、走行制御装置14と、LRF15とを有する。2つの駆動輪11aおよび11bは、AGV10の右側および左側にそれぞれ設けられている。4つのキャスター11c、11d、11eおよび11fは、AGV10の4隅に配置されている。なお、AGV10は、2つの駆動輪11aおよび11bに接続される複数のモータも有するが、複数のモータは図17には示されていない。また、図17には、AGV10の右側に位置する1つの駆動輪11aおよび2つのキャスター11cおよび11eと、左後部に位置するキャスター11fとが示されているが、左側の駆動輪11bおよび左前部のキャスター11dはフレーム12の蔭に隠れているため明示されていない。4つのキャスター11c、11d、11eおよび11fは、自由に旋回することができる。以下の説明では、駆動輪11aおよび駆動輪11bを、それぞれ車輪11aおよび車輪11bとも称する。
【0096】
走行制御装置14は、AGV10の動作を制御する装置であり、主としてマイコン(後述)を含む集積回路、電子部品およびそれらが搭載された基板を含む。走行制御装置14は、上述した、端末装置20とのデータの送受信、および、前処理演算を行う。
【0097】
LRF15は、たとえば赤外のレーザビーム15aを放射し、当該レーザビーム15aの反射光を検出することにより、反射点までの距離を測定する光学機器である。本実施形態では、AGV10のLRF15は、たとえばAGV10の正面を基準として左右135度(合計270度)の範囲の空間に、0.25度ごとに方向を変化させながらパルス状のレーザビーム15aを放射し、各レーザビーム15aの反射光を検出する。これにより、0.25度ごと、合計1081ステップ分の角度で決まる方向における反射点までの距離のデータを得ることができる。なお、本実施形態では、LRF15が行う周囲の空間のスキャンは実質的に床面に平行であり、平面的(二次元的)である。しかしながら、LRF15は高さ方向のスキャンを行ってもよい。
【0098】
AGV10の位置および姿勢(向き)と、LRF15のスキャン結果とにより、AGV10は、環境Sの地図を作成することができる。地図には、AGVの周囲の壁、柱等の構造物、床の上に載置された物体の配置が反映され得る。地図のデータは、AGV10内に設けられた記憶装置に格納される。
【0099】
AGV10の位置および姿勢、すなわちポーズ(x,y,θ)を、以下、単に「位置」と呼ぶことがある。
【0100】
走行制御装置14は、前述したようにして、LRF15の測定結果と、自身が保持する地図データとを比較して、自身の現在位置を推定する。地図データは、他のAGV10が作成した地図データであってもよい。
【0101】
図18Aは、AGV10の第1のハードウェア構成例を示している。また図18Aは、走行制御装置14の具体的な構成も示している。
【0102】
AGV10は、走行制御装置14と、LRF15と、2台のモータ16aおよび16bと、駆動装置17と、車輪11aおよび11bとを備えている。
【0103】
走行制御装置14は、マイコン14aと、メモリ14bと、記憶装置14cと、通信回路14dと、位置推定装置14eとを有している。マイコン14a、メモリ14b、記憶装置14c、通信回路14dおよび位置推定装置14eは通信バス14fで接続されており、相互にデータを授受することが可能である。LRF15もまた通信インタフェース(図示せず)を介して通信バス14fに接続されており、計測結果である計測データを、マイコン14a、位置推定装置14eおよび/またはメモリ14bに送信する。
【0104】
マイコン14aは、走行制御装置14を含むAGV10の全体を制御するための演算を行うプロセッサまたは制御回路(コンピュータ)である。典型的にはマイコン14aは半導体集積回路である。マイコン14aは、制御信号であるPWM(Pulse Width Modulation)信号を駆動装置17に送信して駆動装置17を制御し、モータに印加する電圧を調整させる。これによりモータ16aおよび16bの各々が所望の回転速度で回転する。
【0105】
左右のモータ16aおよび16bの駆動を制御する1つ以上の制御回路(たとえばマイコン)を、マイコン14aとは独立して設けてもよい。たとえば、モータ駆動装置17が、モータ16aおよび16bの駆動をそれぞれ制御する2つのマイコンを備えていてもよい。
【0106】
メモリ14bは、マイコン14aが実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ14bは、マイコン14aおよび位置推定装置14eが演算を行う際のワークメモリとしても利用され得る。
【0107】
記憶装置14cは、不揮発性の半導体メモリ装置である。ただし、記憶装置14cは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよい。さらに、記憶装置14cは、いずれかの記録媒体にデータを書き込みおよび/または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。
【0108】
記憶装置14cは、走行する環境Sの環境地図M、および、1または複数の走行経路のデータ(走行経路データ)Rを記憶する。環境地図Mは、AGV10が地図作成モードで動作することによって作成され記憶装置14cに記憶される。走行経路データRは、環境地図Mが作成された後に外部から送信される。本実施形態では、環境地図Mおよび走行経路データRは同じ記憶装置14cに記憶されているが、異なる記憶装置に記憶されてもよい。
【0109】
走行経路データRの例を説明する。
【0110】
端末装置20がタブレットコンピュータである場合には、AGV10はタブレットコンピュータから走行経路を示す走行経路データRを受信する。このときの走行経路データRは、複数のマーカの位置を示すマーカデータを含む。「マーカ」は走行するAGV10の通過位置(経由点)を示す。走行経路データRは、走行開始位置を示す開始マーカおよび走行終了位置を示す終了マーカの位置情報を少なくとも含む。走行経路データRは、さらに、1以上の中間経由点のマーカの位置情報を含んでもよい。走行経路が1以上の中間経由点を含む場合には、開始マーカから、当該走行経由点を順に経由して終了マーカに至る経路が、走行経路として定義される。各マーカのデータは、そのマーカの座標データに加えて、次のマーカに移動するまでのAGV10の向き(角度)および走行速度のデータを含み得る。AGV10が各マーカの位置で一旦停止し、自己位置推定および端末装置20への通知などを行う場合には、各マーカのデータは、当該走行速度に達するまでの加速に要する加速時間、および/または、当該走行速度から次のマーカの位置で停止するまでの減速に要する減速時間のデータを含み得る。
【0111】
端末装置20ではなく運行管理装置50(たとえば、PCおよび/またはサーバコンピュータ)がAGV10の移動を制御してもよい。その場合には、運行管理装置50は、AGV10がマーカに到達する度に、次のマーカへの移動をAGV10に指示してもよい。たとえば、AGV10は、運行管理装置50から、次に向かうべき目的位置の座標データ、または、当該目的位置までの距離および進むべき角度のデータを、走行経路を示す走行経路データRとして受信する。
【0112】
AGV10は、作成された地図と走行中に取得されたLRF15が出力したセンサデータとを利用して自己位置を推定しながら、記憶された走行経路に沿って走行することができる。
【0113】
通信回路14dは、たとえば、Bluetooth(登録商標)および/またはWi-Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。いずれの規格も、2.4GHz帯の周波数を利用した無線通信規格を含む。たとえばAGV10を走行させて地図を作成するモードでは、通信回路14dは、Bluetooth(登録商標)規格に準拠した無線通信を行い、1対1で端末装置20と通信する。
【0114】
位置推定装置14eは、地図の作成処理、および、走行時には自己位置の推定処理を行う。位置推定装置14eは、AGV10の位置および姿勢とLRFのスキャン結果とにより、環境Sの地図を作成する。走行時には、位置推定装置14eは、LRF15からセンサデータを受け取り、また、記憶装置14cに記憶された環境地図Mを読み出す。LRF15のスキャン結果から作成された局所的地図データ(センサデータ)を、より広範囲の環境地図Mとのマッチングを行うことにより、環境地図M上における自己位置(x,y,θ)を同定する。位置推定装置14eは、局所的地図データが環境地図Mに一致した程度を表す「信頼度」のデータを生成する。自己位置(x,y,θ)、および、信頼度の各データは、AGV10から端末装置20または運行管理装置50に送信され得る。端末装置20または運行管理装置50は、自己位置(x,y,θ)、および、信頼度の各データを受信して、内蔵または接続された表示装置に表示することができる。
【0115】
本実施形態では、マイコン14aと位置推定装置14eとは別個の構成要素であるとしているが、これは一例である。マイコン14aおよび位置推定装置14eの各動作を独立して行うことが可能な1つのチップ回路または半導体集積回路であってもよい。図18Aには、マイコン14aおよび位置推定装置14eを包括するチップ回路14gが示されている。以下では、マイコン14aおよび位置推定装置14eが別個独立に設けられている例を説明する。
【0116】
2台のモータ16aおよび16bは、それぞれ2つの車輪11aおよび11bに取り付けられ、各車輪を回転させる。つまり、2つの車輪11aおよび11bはそれぞれ駆動輪である。本明細書では、モータ16aおよびモータ16bは、それぞれAGV10の右輪および左輪を駆動するモータであるとして説明する。
【0117】
駆動装置17は、2台のモータ16aおよび16bの各々に印加される電圧を調整するためのモータ駆動回路17aおよび17bを有する。モータ駆動回路17aおよび17bの各々はいわゆるインバータ回路を含む。モータ駆動回路17aおよび17bは、マイコン14aまたはモータ駆動回路17a内のマイコンから送信されたPWM信号によって各モータに流れる電流をオンまたはオフし、それによりモータに印加される電圧を調整する。
【0118】
図18Bは、AGV10の第2のハードウェア構成例を示している。第2のハードウェア構成例は、レーザ測位システム14hを有する点、および、マイコン14aが各構成要素と1対1で接続されている点において、第1のハードウェア構成例(図18A)と相違する。
【0119】
レーザ測位システム14hは、位置推定装置14eおよびLRF15を有する。位置推定装置14eおよびLRF15は、たとえばイーサネット(登録商標)ケーブルで接続されている。位置推定装置14eおよびLRF15の各動作は上述した通りである。レーザ測位システム14hは、AGV10のポーズ(x,y,θ)を示す情報をマイコン14aに出力する。
【0120】
マイコン14aは、種々の汎用I/Oインタフェースまたは汎用入出力ポート(図示せず)を有している。マイコン14aは、通信回路14d、レーザ測位システム14h等の、走行制御装置14内の他の構成要素と、当該汎用入出力ポートを介して直接接続されている。
【0121】
図18Bに関して上述した構成以外は、図18Aの構成と共通である。よって共通の構成の説明は省略する。
【0122】
本開示の実施形態におけるAGV10は、図示されていない障害物検知センサおよびバンパースイッチなどのセーフティセンサを備えていてもよい。
【0123】
(4)運行管理装置の構成例
図19は、運行管理装置50のハードウェア構成例を示している。運行管理装置50は、CPU51と、メモリ52と、位置データベース(位置DB)53と、通信回路54と、地図データベース(地図DB)55と、画像処理回路56とを有する。
【0124】
CPU51、メモリ52、位置DB53、通信回路54、地図DB55および画像処理回路56は通信バス57で接続されており、相互にデータを授受することが可能である。
【0125】
CPU51は、運行管理装置50の動作を制御する信号処理回路(コンピュータ)である。典型的にはCPU51は半導体集積回路である。
【0126】
メモリ52は、CPU51が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ52は、CPU51が演算を行う際のワークメモリとしても利用され得る。
【0127】
位置DB53は、各AGV10の行き先となり得る各位置を示す位置データを格納する。位置データは、たとえば管理者によって工場内に仮想的に設定された座標によって表され得る。位置データは管理者によって決定される。
【0128】
通信回路54は、たとえばイーサネット(登録商標)規格に準拠した有線通信を行う。通信回路54はアクセスポイント2(図13)と有線で接続されており、アクセスポイント2を介して、AGV10と通信することができる。通信回路54は、AGV10に送信すべきデータを、バス57を介してCPU51から受信する。また通信回路54は、AGV10から受信したデータ(通知)を、バス57を介してCPU51および/またはメモリ52に送信する。
【0129】
図DB55は、AGV10が走行する工場等の内部の地図のデータを格納する。各AGV10の位置と1対1で対応関係を有する地図であれば、データの形式は問わない。たとえば地図DB55に格納される地図は、CADによって作成された地図であってもよい。
【0130】
位置DB53および地図DB55は、不揮発性の半導体メモリ上に構築されてもよいし、ハードディスクに代表される磁気記録媒体、または光ディスクに代表される光学式記録媒体上に構築されてもよい。
【0131】
画像処理回路56はモニタ58に表示される映像のデータを生成する回路である。画像処理回路56は、専ら、管理者が運行管理装置50を操作する際に動作する。本実施形態では特にこれ以上の詳細な説明は省略する。なお、モニタ58は運行管理装置50と一体化されていてもよい。また画像処理回路56の処理をCPU51が行ってもよい。
【0132】
上述の実施形態の説明では、一例として二次元空間(床面)を走行するAGVを挙げた。しかしながら本開示は三次元空間を移動する移動体、たとえば飛行体(ドローン)、にも適用され得る。ドローンが飛行しながら三次元空間地図を作成する場合には、二次元空間を三次元空間に拡張することができる。
【0133】
上記の包括的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体によって実現されてもよい。あるいは、システム、装置、方法、集積回路、コンピュータプログラム、および記録媒体の任意な組み合わせによって実現されてもよい。
【産業上の利用可能性】
【0134】
本開示の移動体は、工場、倉庫、建設現場、物流、病院などで荷物、部品、完成品などの物の移動および搬送に好適に利用され得る。
【符号の説明】
【0135】
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
図1
図2
図3
図4
図5A
図5B
図6A
図6B
図7
図8A
図8B
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18A
図18B
図19