JP7338048B2 - 移動体システム - Google Patents
移動体システム Download PDFInfo
- Publication number
- JP7338048B2 JP7338048B2 JP2022518431A JP2022518431A JP7338048B2 JP 7338048 B2 JP7338048 B2 JP 7338048B2 JP 2022518431 A JP2022518431 A JP 2022518431A JP 2022518431 A JP2022518431 A JP 2022518431A JP 7338048 B2 JP7338048 B2 JP 7338048B2
- Authority
- JP
- Japan
- Prior art keywords
- sensor
- trajectory
- data
- mobile system
- mobile
- 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
Links
- 230000007246 mechanism Effects 0.000 claims description 52
- 238000004364 calculation method Methods 0.000 claims description 29
- 230000033001 locomotion Effects 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims 4
- 230000006870 function Effects 0.000 description 119
- 238000009434 installation Methods 0.000 description 34
- 238000001514 detection method Methods 0.000 description 31
- 238000012545 processing Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 22
- 238000000034 method Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000004807 localization Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000001678 irradiating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control 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)
Description
本発明は、移動体システムの技術に関し、移動体の位置を測定する技術等に関する。
移動体の位置を測定する機能(測位機能と記載する場合がある)等を有する移動体システム等において、移動体にはセンサが設置される。このセンサは、少なくとも位置の検出、またはセンサデータに基づいた位置の計算が可能である種類のセンサである。このセンサは、例えば、レーザスキャナのような測距センサや、GPS受信器等が挙げられる。移動体システムは、センサの情報を用いて、測位機能や、移動体の周囲の地図を作成する機能等を実現できる。
上記移動体システムに係わる先行技術例としては、特開2017-97402号公報(特許文献1)が挙げられる。特許文献1には、「周辺地図作成方法」等として、移動ロボットの自己位置推定装置は、レーザレンジファインダ(LRF)の距離データを地図とマッチングすることにより、最新の自己位置・姿勢データを作成する旨が記載されている。
従来技術例の移動体システム、例えば測位システムや地図作成システム等では、1つの移動体に複数(例えば2個)のセンサが設置される場合がある。この設置の目的は、移動体システムの機能や用途等の詳細によるが、例えば、広い検出範囲の確保、複数のセンサデータを用いた1つの位置の計算、冗長構成の実現、等が挙げられる。
一例として、移動体が無人搬送車(Automated Guided Vehicle:AGV)や自律走行ロボット等である移動体システムでは、移動体に複数の測距センサが設置される場合がある。工場等の適用環境に応じて、適用する移動体の種類や形状、センサの設置の位置や方向等は、様々である。同じ移動体に対しても、複数のセンサの設置の位置や方向等が変更される場合もある。
従来、移動体における複数のセンサの設置位置等が変更される場合に、それらのセンサ間の相対位置関係が把握しにくい場合がある。例えば、1つの移動体において2個のセンサの設置位置が固定である場合には、それらのセンサ間の相対位置関係については予め初期設定可能であり、変更が無ければ問題無い。しかし、その移動体における2個のセンサの設置位置が変更された場合、変更後のセンサ間の相対位置関係について、高精度の計測が難しい場合や、ユーザ設定するにしても手間が大きい場合がある。変更後のセンサ間の相対位置関係についての設定の正確性が低い場合、移動体システムの測位機能や地図作成機能等の機能にも影響し、それらの機能の精度も低くなる恐れがある。
本発明の目的は、移動体システムの技術に関して、移動体に複数のセンサが設置される場合や設置位置等が変更される場合にも、センサ間の相対位置関係を求めることができ、測位機能等の精度を高めることができる技術を提供することである。
本発明のうち代表的な実施の形態は、以下に示す構成を有する。一実施の形態の移動体システムは、移動体と、前記移動体の移動体座標系における異なる位置に設置される第1センサおよび第2センサを含む複数のセンサと、前記複数のセンサの複数のセンサデータに基づいて少なくとも前記移動体の空間座標系内での位置を測定する測位機能を実現する制御装置と、を備え、前記第1センサおよび前記第2センサは、前記空間座標系内での自己センサの位置を検出可能な種類のセンサであり、前記制御装置は、環境内での前記移動体の移動の際に、前記第1センサの第1センサデータおよび前記第2センサの第2センサデータに基づいて、前記空間座標系内での前記第1センサの位置および前記第2センサの位置を同定し、位置同定結果に基づいて、時系列上の前記第1センサの第1軌跡および前記第2センサの第2軌跡を取得し、前記第1軌跡および前記第2軌跡を用いて、軌跡の形状の比較照合に基づいて、前記移動体の前記移動体座標系での前記第1センサの位置と前記第2センサの位置との相対位置関係を計算し、計算した相対位置関係を表す情報を前記移動体に設定する。
本発明のうち代表的な実施の形態によれば、移動体システムの技術に関して、移動体に複数のセンサが設置される場合や設置位置等が変更される場合にも、センサ間の相対位置関係を求めることができ、測位機能等の精度を高めることができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、全図面において同一部には原則として同一符号を付し、繰り返しの説明は省略する。
(実施の形態1)
図1~図19を用いて、本発明の実施の形態1の移動体システムについて説明する。実施の形態1の移動体システムは、移動体に備える複数のセンサの間の相対位置関係を自動調整(言い換えるとキャリブレーション)できる機能(相対位置関係計算機能と記載する場合がある)を有する。移動体におけるセンサの設置位置等が変更された場合でも、この機能による自動調整によって、ユーザの手間が少なく各センサの設置位置等を高精度に設定できる。よって、移動体システムの測位機能等を高精度に維持することができる。
図1~図19を用いて、本発明の実施の形態1の移動体システムについて説明する。実施の形態1の移動体システムは、移動体に備える複数のセンサの間の相対位置関係を自動調整(言い換えるとキャリブレーション)できる機能(相対位置関係計算機能と記載する場合がある)を有する。移動体におけるセンサの設置位置等が変更された場合でも、この機能による自動調整によって、ユーザの手間が少なく各センサの設置位置等を高精度に設定できる。よって、移動体システムの測位機能等を高精度に維持することができる。
[移動体システム]
図1は、実施の形態1の移動体システムの構成を示す。この移動体システムは、工場等の環境101に適用されるシステムである。工場等の環境101では、例えば建物内に生産設備102が設置されている。この移動体システムは、移動体1を有する。移動体1は、本例では、製品や部材等の荷物103を無人搬送できるAGV(または自律走行ロボット等)である。移動体1は、工場内で所定の経路を搬送し、例えば荷物103を生産設備102に供給する。移動体1は、筐体10に、制御装置100、センサ2、移動機構3、および搭載機構4等を備える。制御装置100は、移動体1を制御する装置である。
図1は、実施の形態1の移動体システムの構成を示す。この移動体システムは、工場等の環境101に適用されるシステムである。工場等の環境101では、例えば建物内に生産設備102が設置されている。この移動体システムは、移動体1を有する。移動体1は、本例では、製品や部材等の荷物103を無人搬送できるAGV(または自律走行ロボット等)である。移動体1は、工場内で所定の経路を搬送し、例えば荷物103を生産設備102に供給する。移動体1は、筐体10に、制御装置100、センサ2、移動機構3、および搭載機構4等を備える。制御装置100は、移動体1を制御する装置である。
なお、説明上、座標系や方向の表現として、X,Y,Z等の記号を用いる場合がある。図1では、環境101の空間座標系CSを(X,Y,Z)で表している。空間座標系CSの原点はいずれかの位置に設定される。図1の移動体1は、この空間座標系CSにおいて、前後がX方向、左右がY方向、上下・高さがZ方向に対応させて、配置されている。また、移動体1における座標系を移動体座標系CMとし、(x,y,z)で表している。移動体座標系CMの原点はいずれかの位置、例えば移動体1の代表的な位置に設定される。
移動機構3は、例えば車輪や駆動部等を含む機構である。駆動部は、例えばモータや駆動回路等を含む。移動機構3は、本例では、車輪によって前後の走行や左右への旋回の動作が可能な機構であるが(後述の図4)、これに限らず可能である。搭載機構4は、荷物103を安定的に搭載するための構造部であり、詳細を限定しない。搭載機構4は、用途等に応じて様々な種類があるが、例えばコンベヤ等を含む構造部である。
図1の例では、移動体1の筐体10は、形状として、水平面に平行な平板状の第1部分10aと、その第1部分10aの一部から鉛直方向に立つ平板状の第2部分10bと有するが、これに限られない。第1部分10a内には、前後の2つの車軸および前後左右で4つの車輪を含む移動機構3が設けられている。第2部分10b内には、制御装置100が内蔵されている。第2部分10b等において外に露出するように制御装置100が設置されてもよい。なお、本例では、移動体1からみた方向に関する規定として、図示のように、第2部分10bがある方を前とし、無い方を後とし、その前後の方向に対して左右の方向を規定するが、これに限られない。
この移動体1には、複数のセンサ2、本例では2個のセンサ2(2A,2B)が設置されている。2個のセンサ2を、第1センサであるセンサ2A、第2センサであるセンサ2Bとする。実施の形態1では、各センサ2は、測距センサであり、特に2次元のレーザスキャナ(レーザレンジファインダ:LRF等と呼ばれる場合もある)である。御装置100は、センサ2の測距データからセンサ2の位置を計算可能である。2次元の意味は、センサ2の方向を中心とした平面(本例では水平面)内で物体との距離を検出できるという意味である。このレーザスキャナであるセンサ2は、移動体1の周囲の各方向にある物体を特徴点として距離を検出・計測する。本例でのセンサ2は、移動体システムにおける移動体1の安全な自動搬送等を実現する機能において安全センサのような役割を果たす。
各センサ2は、そのセンサ2自体の空間座標系CS内での位置(特に時系列上の位置の軌跡)を計測または移動体システムで計算可能とする種類のセンサであれば任意でよく、詳細は限定されない。言い換えると、センサ2は、少なくとも測位機能を実現できる種類のセンサであればよい。センサ2は、自己位置を検出できる種類のセンサ2でもよいし、センサ2のセンサデータから制御装置100等が位置を計算できる種類のセンサ2でもよい。測位機能は、センサ2単体で実現されてもよいし、制御装置100等との組み合わせで実現されてもよい。前者の場合、センサ2の出力するセンサデータは、センサ2の位置および姿勢の情報を含む。後者の場合、制御装置100は、センサ2のセンサデータに基づいて、センサ2の位置および姿勢を計算する。
特に、センサ2は、センサ2の位置および姿勢を検出または計算可能な種類のセンサである。センサ2の姿勢は、言い換えると、方向、回転の状態である。実施の形態1では、センサ2は、測距センサ、特にレーザスキャナであるため、制御装置100は、センサ2からの測距データに基づいて、各センサ2の位置および姿勢の状態を計算する。
2個のセンサ2(2A,2B)は、図示のように、移動体1の移動体座標系CMにおける異なる位置(設置位置と記載する場合もある)に設置されている。本例では、第1センサであるセンサ2Aは、筐体10の第1部分10aの前側の第2部分10bの上面の中央から若干右寄りの位置に設置されている。第2センサであるセンサ2Bは、第1部分10aの後側の上面の左隅付近の位置に設置されている。
図1の移動体1に設置される複数のセンサ2(2A,2B)は、同じ機能や仕様を持つ測距センサとするが、これ限らず、異なる種類や仕様を持つ複数のセンサ2としてもよい。センサ2は、レーザスキャナ等の測距センサに限らず、加速度センサ、ジャイロセンサ、地磁気センサ、GPS受信器等を用いてもよい。
[移動体]
図2は、図1の移動体1の構成として、(A)側面図、(B)上面図を示す。(A)の側面図(X-Z面に相当する)において、移動体座標系CMでのセンサ2Aの位置(黒点で示す)をPAとし、特に高さ位置をZAとし、センサ2Bの位置をPBとし、特に高さ位置をZBとして示す。移動体1、特に移動機構3の車輪、が走行する水平面である地面200の高さ位置をZ=0とする。
図2は、図1の移動体1の構成として、(A)側面図、(B)上面図を示す。(A)の側面図(X-Z面に相当する)において、移動体座標系CMでのセンサ2Aの位置(黒点で示す)をPAとし、特に高さ位置をZAとし、センサ2Bの位置をPBとし、特に高さ位置をZBとして示す。移動体1、特に移動機構3の車輪、が走行する水平面である地面200の高さ位置をZ=0とする。
特に、実施の形態1では、2個のセンサ2(2A,2B)の設置の高さ位置(ZA,ZB)が異なる。センサ2Aの高さ位置ZAは、センサ2Bの高さ位置ZBよりも上である(ZA>ZB>0)。比較例として、移動体1に1つのセンサ2を備える構成、または複数のセンサ2の高さ位置が同じである構成の場合、移動体システムの測位機能は、その1つの高さ位置に対応する水平面での移動体の位置を測定する機能である。あるいは、地図作成機能は、その1つの高さ位置に対応する水平面での物体の形状を表す地図を作成する機能である。それに対し、実施の形態1での測位機能は、2つの高さ位置に対応する2つの水平面での各センサ2の位置に基づいて、移動体1の位置を測定する機能である。あるいは、地図作成機能(後述)は、2つの高さ位置に対応する2つの水平面での物体の形状を表す地図を作成する機能である。
(B)の上面図(X-Y面に相当する)において、センサ2Aの位置PAを基準・原点として、センサ2Aの座標系CAを(x,y)で示す。そのx軸がセンサ2Aの設置方向である。同様に、センサ2Bの位置PBを基準・原点として、センサ2Bの座標系CBを(x,y)で示す。そのx軸がセンサ2Bの設置方向である。センサ2Aおよびセンサ2Bは、それぞれ、x軸を中心として所定の角度の範囲(後述の図3)で検出を行う。なお、各センサ2の座標系(CA,CB)は、3次元では(x,y,z)となる。
センサ2は、設置および検出の基準となる方向(設置方向と記載する場合もある)を有する。センサ2Aの設置方向をθA、センサ2Bの設置方向をθBとしても示す。このセンサ2の方向は、レーザ光を出射する際の基準方向である。本例では、センサ2Aの方向は、X軸での前方向であり、座標系CAでのx軸方向である。センサ2Bの方向は、X軸に対し角度Δθの相対関係で異なる方向、概略的に後ろ斜め左の方向であり、座標系CBでのx軸方向である。
センサ2の設置方向についても、設置位置とともに、変更される場合がある。実施の形態1での相対位置関係計算機能は、センサ2間での設置の位置および方向の関係を含む相対位置関係105を計算する機能である。
センサ2Aの位置PAやセンサ2Bの位置PBは、移動体座標系CM(x,y,z)における座標値としては、(xA,yA,zA)や(xB,yB,zB)のように表現できる。また、センサ2Aの位置PAやセンサ2Bの位置PBは、空間座標系CS内では、別の座標値で表現される。
2個のセンサ2(2A,2B)間の相対位置関係105のうち特に位置座標の関係は、図示する値Δx,Δy,Δzで表される。値Δx,Δy,Δzは、センサ2Aの座標系CAの原点の位置PA(xA,yA,zA)に対する、センサ2Bの座標系CBの原点の位置PB(xB,yB,zB)の差分値である。例えばΔx=xB-xAである。別の表現として、値Δxは、センサ2Aの位置PAの空間座標系CSでのX座標値に対する、センサ2Bの位置PBの空間座標系CSでのX座標値の差分値である。ΔyやΔzについても同様である。
なお、本例では、相対位置関係105を求めるにあたり、第1センサであるセンサ2Aを基準とし、第1センサに対する第2センサ2Bの位置および方向の関係を求めるものである。これは逆としても同様に成立する。図2では、相対位置関係105、特に位置座標の関係を、ベクトルvABとしても表している。
また、2個のセンサ2(2A,2B)間の相対位置関係105のうちの特に方向の関係は、図示する値Δθで表される。値Δθは、センサ2(2A,2B)の方向(θA,θB)に関する差分値である。センサ2Aの方向θAは、座標系CAのx軸の正方向(角度が0度)である。センサ2Bの方向θBは、座標系CBのx軸の正方向(角度が0度)である。方向関係を表す値Δθは、図示のように、センサ2Aの方向θAからセンサ2Bの方向θBまでの角度であり、Δθ=θB-θAである。
この移動体システムにおける相対位置関係計算機能は、少なくとも、センサ2間の相対位置関係105として、上記位置関係を表す値(Δx,Δy)を求める。この相対位置関係計算機能は、詳しくは、上記方向関係を表す値Δθも求める。これに限らず、相対位置関係計算機能は、3次元を考慮し、図2の(A)のZ方向での値Δzを求めることができる機能としてもよい。
[センサ]
移動体1への複数(2個)のセンサ2の設置の位置や方向には、制約がある。複数のセンサ2は、同じ位置には設置できず、例えば密集させて設置したとしても正確な各位置は異なる。また、複数のセンサ2は、移動体1の他の部位、例えば移動機構3や搭載機構4を阻害しないように、空いている選択された位置に設置される。また、複数のセンサ2は、センサ2自体の機能を阻害しないように、例えばレーザ光が遮られないように、選択された位置に設置される。
移動体1への複数(2個)のセンサ2の設置の位置や方向には、制約がある。複数のセンサ2は、同じ位置には設置できず、例えば密集させて設置したとしても正確な各位置は異なる。また、複数のセンサ2は、移動体1の他の部位、例えば移動機構3や搭載機構4を阻害しないように、空いている選択された位置に設置される。また、複数のセンサ2は、センサ2自体の機能を阻害しないように、例えばレーザ光が遮られないように、選択された位置に設置される。
各センサ2は、図3の例のように所定の検出範囲を構成するように設置の位置や方向が選択される。その際、移動体1の形状に応じて、搭載機構4等の部位によって例えばレーザ光が遮られないように、適切な設置が選択される必要がある。適用環境や用途に応じて移動体1の形状等が様々に異なるが、それらに応じて、センサ2の設置の位置や方向が変更され得る。また、センサ2がある位置に固定の意図で設置された後でも、ユーザの意図から外れて、その位置からのズレが生じる場合もあり得る。例えばセンサ2が何かの物に当たって位置が少しずらされる場合が考えられる。
上記のように、複数のセンサ2は、移動体システムの適用環境や用途や機能(地図作成機能等)、移動体1の種類や形状、ユーザ操作等に合わせて、所定の検出範囲(図3)等を構成するように、移動体1上の設置の位置および方向が決定され、適宜に変更され得る。実施の形態1の移動体システムにおける相対位置関係計算機能は、そのようなセンサ2の設置状態の変更に応じて、高精度かつ容易に、センサ2間の相対位置関係105を求めて自動調整することができる。この相対位置関係計算機能は、後述(図7)のようにセンサ2の軌跡の形状をマッチングする仕組みで、相対位置関係105を計算する。そして、移動体システムは、その結果としての高精度な相対位置関係105に基づいて、測位機能や地図作成機能等を高精度に実現できる。
また特に、実施の形態1では、センサ2の設置の制約または意図的な設計として、図2等のように、センサ2の高さ位置(ZA,ZB)が異なる。このことから、後述の地図作成機能によって作成できる地図も、従来技術に従った場合には、基本的にはセンサ2毎に異なる各高さ位置に応じた異なる複数(2個)の地図となる。このように異なる複数の地図がある場合、相対位置関係105が不明または低精度の場合には、それらの地図間の関連性も不明または低精度である。よって、ユーザまたは移動体1は、それらの地図からは、図1の環境101内の同一の物体、例えば建物や生産設備102等の形状等が把握しにくい場合があり得る。
そこで、実施の形態1では、相対位置関係計算機能によって得た高精度の相対位置関係105に基づいて、地図作成機能によれば、移動体1の周囲の地図を高精度に作成できる。それだけでなく、この移動体システムは、作成されたセンサ2毎に異なる各高さ位置に応じた複数(2個)の地図データを、相対位置関係105を用いて関連付けを行う。これにより、それらの地図を概略的に1つの地図として統合的に扱うことができる。これにより、環境101内の同一の物体の形状等が把握しやすくなる等の効果が得られる。
[センサ検出範囲]
図3は、センサ2の検出範囲の構成例を示す。センサ2は、設置位置(PA,PB)から検出範囲内で周囲(本例では水平面)の各方向に走査しながらレーザ光を出射し、環境101内の物体に当たった点を特徴点としてその特徴点から戻ってくるレーザ光を入射する。そして、センサ2は、いわゆるTOF(Time of flight)方式で、レーザ光の出射から入射までの時間から、方向に応じた特徴点との距離を計算する。センサ2からの出力であるセンサデータ、言い換えると測距データは、少なくとも、時系列上の時点毎に、センサ2から周囲を見た方向を表す角度α,βと、その角度に応じた距離値(d)とを有する。
図3は、センサ2の検出範囲の構成例を示す。センサ2は、設置位置(PA,PB)から検出範囲内で周囲(本例では水平面)の各方向に走査しながらレーザ光を出射し、環境101内の物体に当たった点を特徴点としてその特徴点から戻ってくるレーザ光を入射する。そして、センサ2は、いわゆるTOF(Time of flight)方式で、レーザ光の出射から入射までの時間から、方向に応じた特徴点との距離を計算する。センサ2からの出力であるセンサデータ、言い換えると測距データは、少なくとも、時系列上の時点毎に、センサ2から周囲を見た方向を表す角度α,βと、その角度に応じた距離値(d)とを有する。
図3の(A)は、図2の移動体1の構成に対応した、センサ2の検出範囲の一例を水平面(X-Y面)で模式的に示している。各センサ2は、水平面、センサ座標系でのx-y面を、検出対象、言い換えると測距対象とする。検出範囲301は、センサ2Aの検出範囲を示し、水平面内での角度範囲305で規定される。検出範囲302は、センサ2Bの検出範囲を示し、水平面内での角度範囲306で規定される。本例では、角度範囲305,306は、180度よりも大きい。
センサ2の検出方向は、水平面内での基準方向(方向θA,θB)に対する角度(α,β)で表現される。センサ2Aは、位置PAからx軸の正方向を基準方向として角度α=0度とし、検出範囲301内での角度αに応じた方向(破線で示す)にレーザ光を出射する。その方向上にある黒点は、物体の特徴点303の例であり、距離304(値d)を有する。なお、実際の特徴点や検出範囲は、移動体1からより離れた位置をカバーしている。測距可能な距離はセンサ2の種類等に応じる。同様に、センサ2Bは、位置PBからx軸の正方向を基準方向として角度β=0度とし、角度βに応じた方向にレーザ光を出射する。なお、本例での角度(α,β)は正負の値をとり得る。
各センサ2の検出範囲は、図示のように異なり、それらの間で、一部の検出範囲が重なってもよいし、移動体1の周囲で検出できない一部の範囲があってもよい。検出できない一部の範囲についても、移動体1が位置や姿勢を変えることで検出可能となる。図示のように、複数のセンサ2を備えることで、移動体システムとしての検出範囲を広く確保できる。
図3の(B)は、図2とは別の形状を持つ移動体1の例において、(A)と同じ2個のセンサ2(2A,2B)の別の設置例を示す。この移動体1は、図2のような第2部分10bが無く、水平面での平板状の第1部分10aと、その上の搭載機構4とがある。第1部分10aの上面において、センサ2Aは、移動体座標系CMでのx軸の前側で、左右で中心の位置PAに前への方向θAで設置されている。センサ2Bは、x軸の後側で、左右で中心の位置PBに後への方向θBで設置されている。本例では、2個のセンサ2は、移動体1に対し、前後で対称的な位置(PA,PB)に設置されている。それに対応して、2個のセンサ2の検出範囲(301,302)は、前後で対称的な検出範囲として構成されている。
上記例のように、基本的に同じ機能を有する移動体システムの場合でも、複数のセンサ2の設置の位置や方向、検出範囲等は、適宜に変更され得る。変更によって様々な環境や用途への対応が可能である。
センサ2がレーザスキャナである場合、レーザ照射部を回転駆動する走査によって、周囲の各方向にレーザ光を出射でき、方向毎の距離情報が得られる。距離情報からは、センサ2の位置を基準とした特徴点の位置情報に変換できる。このような移動体1またはセンサ2から見た周囲の物体の位置情報は、物体の幾何形状を表しているため、形状データと記載する場合がある。
なお、センサ2としては、カメラ等も適用可能である。あるいは、移動体1ではなく環境に設置されたセンサ(例えばRFIDタグ、ビーコン)等を用いた測位システム等も適用可能である。例えばステレオカメラ方式を用いる場合、左右のカメラの画像から物体との距離を計算可能である。
[移動機構]
図4は、図1の移動体1の移動機構3の構成例を、水平面(X-Y面)での模式図として示す。本例では、移動機構3は、前後への走行、走行停止、および左右への旋回を可能とする機構であり、二軸・四輪を備え、例えば後輪駆動方式の機構である。この移動機構3は、前軸410の左側の車輪401および右側の車輪402と、後軸420の左側の車輪403および右側の車輪404とを有する。この移動機構3は、例えば、左右の車輪の速度が独立に制御可能であり、左右の車輪の速度の差を制御することで、旋回等が制御可能な機構である。
図4は、図1の移動体1の移動機構3の構成例を、水平面(X-Y面)での模式図として示す。本例では、移動機構3は、前後への走行、走行停止、および左右への旋回を可能とする機構であり、二軸・四輪を備え、例えば後輪駆動方式の機構である。この移動機構3は、前軸410の左側の車輪401および右側の車輪402と、後軸420の左側の車輪403および右側の車輪404とを有する。この移動機構3は、例えば、左右の車輪の速度が独立に制御可能であり、左右の車輪の速度の差を制御することで、旋回等が制御可能な機構である。
図4の(A)は、前方(X方向)への走行時の状態を示す。位置PMは、移動体座標系CMでの移動体1の代表的な位置の例として、前後左右の中心点を示す。なお、位置PM1は、前軸410の左右の中心点、位置PM2は、後軸420の左右の中心点である。この状態では、移動機構3は、各車輪が同じ回転速度で駆動されることで、前方への走行が実現されている。破線の軌跡431は、現在の位置PMから今後の前方走行時の軌跡を示す。
図4の(B)は、右への旋回時の状態を示す。本例では、左側の車輪401,403に対して右側の車輪402,404の回転速度が小さいように制御されることで、このような右旋回の動作が実現されている。破線の軌跡432は、現在の位置PMから今後の右旋回時の軌跡を示す。
なお、本例に限らず、移動機構3は、走行および方向転換が可能な機構であればよい。移動機構3は、車輪の方向が固定の機構でもよいし、車輪の方向が操舵可能な機構でもよいし、車軸や車輪以外の構造、例えばキャスターやキャタピラ、脚構造等を用いた機構でもよい。移動機構3は、例えば掃除ロボット等に採用されている機構、例えば各車輪の方向および回転速度が独立に制御できる機構でもよい。方向転換の動作は、図示のような円弧の軌跡を伴う旋回の動作に限られない。
なお、移動体座標系CMにおける移動体1の代表的な位置(図4での位置PM)と、センサ2の設置位置とは、独立した概念である。また、空間座標系CS内でのセンサ2等の位置と、移動体座標系CMでのセンサ2等の位置や相対位置関係105とは、異なる概念である。移動体システムでの相対位置関係計算機能は、移動体座標系CMにおける複数のセンサ2の設置位置および設置方向に関する相対関係を求める機能である。
移動体1の代表的な位置(図4での位置PM)は、予め規定でき、規定の仕方については限定しない。この代表的な位置は、センサ2(2A,2B)の位置(PA,PB)を用いて規定されてもよい。この代表的な位置は、例えば、特定の1個のセンサ2、例えばセンサ2Aの位置PAと同じとしてもよいし、あるいは2個のセンサ2(2A,2B)の中間位置としてもよい。この代表的な位置は、筐体10等の形状における所定の位置、例えば中心位置や、車軸の中間位置(例えば位置PM1,PM2)等としてもよい。この代表的な位置は、センサ2の位置から所定の相対関係(方向および距離)にある位置としてもよい。
[機能ブロック構成]
図5は、実施の形態1の移動体システムの機能ブロック構成を示す。この移動体システムの移動体1は、制御装置100、2個のセンサ2(2A,2B)、および移動機構3等を備える。制御装置100は、位置同定装置5、および移動機構制御装置6を備える。位置同定装置5は、例えばマイコン等で実装される。移動機構制御装置6は、例えばPLC(プログラマブル・ロジック・コントローラ)等で実装される。本例では、位置同定装置5と移動機構制御装置6とが一体的に制御装置100として実装されているが、これに限られない。制御装置100は、搭載機構4の動作を駆動制御する部分を備えてもよい。
図5は、実施の形態1の移動体システムの機能ブロック構成を示す。この移動体システムの移動体1は、制御装置100、2個のセンサ2(2A,2B)、および移動機構3等を備える。制御装置100は、位置同定装置5、および移動機構制御装置6を備える。位置同定装置5は、例えばマイコン等で実装される。移動機構制御装置6は、例えばPLC(プログラマブル・ロジック・コントローラ)等で実装される。本例では、位置同定装置5と移動機構制御装置6とが一体的に制御装置100として実装されているが、これに限られない。制御装置100は、搭載機構4の動作を駆動制御する部分を備えてもよい。
位置同定装置5は、測位機能(言い換えると位置姿勢推定機能)、自動搬送制御機能、地図作成機能、および相対位置関係計算機能等を有する(図6)。位置同定装置5は、図6のプロセッサ601によるプログラム処理等に基づいて、センサ制御部51等の各部を実現する。位置同定装置5は、各部として、センサ制御部51、位置同定部52、地図作成部53、データ記憶部54、調整部55等を有する。データ記憶部54には、位置同定結果データとして第1位置同定結果41Aおよび第2位置同定結果41B、地図データとして第1地図データ42Aおよび第2地図データ42B、相対位置関係データ43等のデータや情報が格納される。
センサ制御部51は、第1センサ制御部51Aおよび第2センサ制御部51Bを有する。第1センサ制御部51Aは、センサ2Aを制御し、センサ2AからセンサデータSDAを得る。第2センサ制御部51Bは、センサ2Bを制御し、センサ2BからセンサデータSDBを得る。センサデータSDAやセンサデータSDBは、時系列上の時点毎の測距データ、すなわち方向を表す角度毎の距離情報を含む。センサ制御部51は、時系列上のセンサデータ、少なくとも一定時間以上のデータを、メモリ上に保持する。
位置同定部52は、測位機能(特に位置姿勢推定機能)を構成する要素であり、センサデータを用いて空間座標系内でのセンサ2の位置および姿勢を同定する部分である。位置同定部52は、第1位置同定部52Aおよび第2位置同定部52Bを有する。第1位置同定部52Aは、センサデータSDAに基づいて、センサ2Aの位置および姿勢を推定し、その結果を第1位置同定結果41Aとする。同様に、第2位置同定部52Bは、センサデータSDBに基づいて、センサ2Bの位置および姿勢を推定し、その結果を第2位置同定結果41Bとする。
位置同定部52は、処理例としては、センサデータである測距データから、周囲の物体の幾何形状を表す形状データを作成し、その形状データを、データ記憶部54の既存の地図データと比較照合する。そして、位置同定部52は、その照合の結果から、空間座標系内でのセンサ2の位置および姿勢を推定する。
地図作成部53は、地図作成機能を構成する要素であり、位置同定部52による処理結果を用いながら、環境101(図1)の地図データを作成および更新する処理を行う部分である。地図作成部53は、位置同定部52が作成した形状データを用いて、新たな地図データの作成や、既存の地図データの更新を行う。地図作成部53は、第1地図作成部53Aおよび第2地図作成部53Bを有する。第1地図作成部53Aは、センサデータSDA、および第1位置同定結果41Aを用いて、第1地図データ42Aを作成する。同様に、第2地図作成部53Bは、センサデータSDB、および第2位置同定結果41Bを用いて、第2地図データ42Bを作成する。第1地図データ42Aは、図2の高さ位置ZAの水平面における移動体1の周囲の物体の形状を表すデータである。第2地図データ42Bは、高さ位置ZBの水平面における移動体1の周囲の物体の形状を表すデータである。
データ記憶部54には、上記処理で作成された、第1位置同定結果41A、第2位置同定結果41A、第1地図データ42A、および第2地図データ42B等の各データが一旦格納される。
調整部55は、相対位置関係計算機能を構成する要素であり、言い換えると相対位置関係計算部である。調整部55は、データ記憶部54の各データ(41A,41B,42A,42B)を参照しながら、センサ2間の相対位置関係(図1や図2での相対位置関係105)を計算する処理を行う。この処理は、言い換えると、センサ座標系間のキャリブレーションの処理であり、移動体座標系CMでの各センサ2の位置座標等の設定に関する処理である。調整部55は、後述(図7)の計算によって、最新の相対位置関係を得ると、相対位置関係データ43として、データ記憶部54に格納する。これは、センサ2ならびに測位機能等に係わる最新の設定、言い換えると自動的な設定更新に相当する。
相対位置関係データ43は、センサ相対座標情報等を含むデータである。相対位置関係データ43は、具体的には、図2のような相対位置関係105を表す、位置関係を表す値(Δx,Δy)や、方向関係を表す値(Δθ)を含むデータである。
なお、位置同定装置5は、データ記憶部54の相対位置関係データ43等を、ユーザに対し、表示等の形態で出力してもよい。例えば、位置同定装置5は、センサ2に関する設定画面を例えばWebページ等の形態で提供し、その設定画面で、相対位置関係データ43に基づいた相対位置関係情報を表示し、ユーザによる確認や手動設定を可能とする。この場合、設定画面での相対位置関係情報の表示としては、例えば上記値(Δx,Δy,Δθ)の表示としてもよいし、図2等のような移動体1の外観構成を表す画像とともに相対位置関係情報をグラフィカルに表示してもよい。例えば、事業者は、予め、位置同定装置5の設定画面で、センサ2の相対位置関係の初期設定値を設定できる。この初期設定以後では、人による手動設定が無くても、相対位置関係計算機能の有効状態によって、自動的に相対位置関係データ43の設定更新が可能である。
移動体システムは、この移動体1の制御装置100に対し、さらに、PC(図1でのPC110)等の装置が通信接続される形態としてもよい。そのPC等の装置には、OSやアプリケーションプログラム等を備える。このアプリケーションプログラムは、移動体システムのユーザ設定処理、測位機能や自動搬送機能や地図作成機能等に係わる処理を行うものが挙げられる。このアプリケーションプログラムは、例えば、自動搬送の経路設定を行う機能や、ユーザが地図を閲覧する機能等を支援するものが挙げられる。ユーザは、そのPC等の装置を操作し、表示画面でそれらの機能を利用できる。ユーザは、その装置の表示画面で相対位置関係データ43を確認することもできる。
位置同定装置5の調整部55または地図作成部53は、さらに、相対位置関係データ43を用いて、複数(2個)の地図データ(第1地図データ42Aおよび第2地図データ42B)間における関連付けの処理を行う。これにより、複数(2個)の地図データは、全体として概略的に1つの地図データとして扱うことができる。位置同定装置5は、複数(2個)の地図データから、合成等によって、1つの地図データを作成してもよい。ユーザは、その1つの地図データを、PC110の表示画面で閲覧することができる。
移動機構制御装置6は、駆動制御回路等を含む部分であり、位置同定装置5による位置同定結果データや地図データ等を用いて、移動機構3の動作を制御する。移動機構制御装置6は、位置同定装置制御部61および移動機構制御部62を含む。位置同定装置制御部61は、位置同定装置5と通信し、位置同定装置5から制御に必要なデータを取得する。移動機構制御部62は、測位機能によって把握された移動体1の位置や、地図作成機能によって作成された地図データに基づいて、移動機構3による走行や旋回の動作を制御する。
[ソフトウェアおよびハードウェア]
図6は、図5の位置同定装置5のソフトウェアおよびハードウェアを含む実装構成例を示す。位置同定装置5は、プロセッサ601、メモリ603、補助記憶装置605、通信インタフェース装置607、入出力インタフェース装置608、および電源装置609等を備え、これらがバス等を通じて相互に接続されている。移動体1は、その他図示しないが、ユーザが操作するための操作部等の機構を備えてもよい。
図6は、図5の位置同定装置5のソフトウェアおよびハードウェアを含む実装構成例を示す。位置同定装置5は、プロセッサ601、メモリ603、補助記憶装置605、通信インタフェース装置607、入出力インタフェース装置608、および電源装置609等を備え、これらがバス等を通じて相互に接続されている。移動体1は、その他図示しないが、ユーザが操作するための操作部等の機構を備えてもよい。
プロセッサ601は、例えばCPU、ROM、RAM等で構成され、言い換えるとコントローラである。プロセッサ601等は、FPGA等のプログラマブルハードウェア回路等で実装されてもよい。プロセッサ601は、補助記憶装置605等に格納されているプログラムをメモリ603上に読み出して展開し、プログラムに従った処理を実行する。これにより、図5の位置同定部52等の各部が、実行モジュールとして実現される。メモリ603には、制御プログラム630や、プロセッサ601による処理データ635等が記憶される。制御プログラム630は、センサ制御プログラム631、位置同定プログラム632、地図作成プログラム633、および調整プログラム635等を含み、これらによって、図5のセンサ制御部51、位置同定部52、地図作成部53、および調整部55等が実現される。処理データ640は、地図データ、位置同定結果、および相対位置関係データ等のデータ(図5のデータ記憶部54の各データと対応する)がある。
補助記憶装置605は、不揮発性メモリ、ストレージ装置、例えばディスクやメモリカード等の記憶媒体、あるいは通信網上のDBサーバ等で構成され、予めプログラムや各種のデータが格納されている。補助記憶装置605には、例えば、地図データ651、センサ位置同定結果データ652、およびセンサ相対位置関係データ653等が格納される。プロセッサ601は、必要に応じて、補助記憶装置605内のデータをメモリ603に読み出し、メモリ603上のデータを補助記憶装置605内に書き込んで保存する。地図データ651は、環境の地図データであり、複数の地図データを格納する地図データベース(DB)でもよく、図5の第1地図データ42Aおよび第2地図データ42Bに対応する各地図データを含む。各地図データは、例えば画像で構成されている。センサ位置同定結果データ652は、各センサ2(2A,2B)の位置同定結果のデータであり、図5の第1位置同定結果41Aおよび第2位置同定結果41Bと対応し、時点毎に環境内の位置および姿勢を表す情報を含む。センサ相対位置関係データ653は、センサ2(2A,2B)間の相対位置関係を表すデータであり、言い換えるとセンサ2の自動調整の設定データであり、図5の相対位置関係データ43と対応する。
通信インタフェース装置607は、センサ2との間や移動機構制御装置6との間、あるいは外部のPCやサーバ等の装置との間で、それぞれの通信インタフェースに応じた通信処理を行う。通信インタフェースは、有線でも無線でもよいし、近距離通信でも遠隔通信でもよい。入出力インタフェース装置608は、入力デバイス(例えばキーボード)や出力デバイス(例えば表示装置)が接続可能であり、それぞれのデバイスとのインタフェースに応じた処理を行う。移動体1に入力デバイスや出力デバイスが搭載されてもよい。電源装置609は、バッテリ等で構成され、各部へ電力を供給する。
プロセッサ601は、プログラム処理等で実現される機能として、少なくとも、前述の測位機能(言い換えると位置姿勢推定機能)、自動搬送制御機能、地図作成機能、および相対位置関係計算機能を有する。測位機能は、センサ2に基づいて移動体1の位置を測定する機能である。位置姿勢推定機能は、センサ2の位置および姿勢を推定する機能である。測位機能、位置姿勢推定機能は、主に図5の位置同定部52によって実現される。自動搬送制御機能は、移動体1の自動搬送を制御する機能であり、例えば環境101(図1)内で設定された経路を周囲の物体に衝突しないように走行させる機能である。地図作成機能は、環境101内の移動およびセンサ2に基づいて、環境101の地図を作成および更新する機能であり、主に図5の地図作成部53によって実現される。相対位置関係計算機能は、センサ2間の相対位置関係105(図1等)を計算して自動調整を行う機能であり、主に図5の調整部55によって実現される。
[機能]
移動体システムの各機能について補足説明する。測位機能または位置姿勢推定機能は、図1等の制御装置100が、2個のセンサ2からのセンサデータを用いた計算によって、環境101の空間座標系CSでの移動体1の位置および姿勢等を測定または推定する機能である。制御装置100は、この機能によって把握した空間座標系CS内での各センサ2の位置の軌跡を、相対位置関係計算機能での計算に用いる。
移動体システムの各機能について補足説明する。測位機能または位置姿勢推定機能は、図1等の制御装置100が、2個のセンサ2からのセンサデータを用いた計算によって、環境101の空間座標系CSでの移動体1の位置および姿勢等を測定または推定する機能である。制御装置100は、この機能によって把握した空間座標系CS内での各センサ2の位置の軌跡を、相対位置関係計算機能での計算に用いる。
また、自動搬送制御機能は、測位機能または位置姿勢推定機能を利用して実現される機能である。移動体1は、それらの機能によって把握した移動体1の位置や姿勢の状態に基づいて、好適な自動搬送、例えば経路上の安全な搬送を制御する。この移動体システムは、複数(2個)のセンサ2を備えるので、総合的な検出範囲を広くでき、測位機能による位置等の検出を安定的に行うことができ、その結果、好適な自動搬送を実現できる。
さらに、この移動体システムは、複数のセンサ2を利用して構成される機能として、測位機能のみならず、他の機能を有していてもよく、実施の形態1では、地図作成機能を有する。地図作成機能は、位置姿勢推定機能とともに、いわゆるSLAM(Simultaneous Localization and Mapping)の機能を構成する。SLAMは、無人搬送ロボット等の移動体が、センサによる周囲状況の検知に基づいて、自己の位置および姿勢を推定しながら、同時に、周囲の地図を作成・更新する方法である。すなわち、地図作成機能は、移動体1の走行に伴うセンサ2のセンサデータに基づいて、環境101の移動体1の周囲の地図を自動的に作成または更新できる機能である。この地図は、本例では、センサ2の種類(2次元のレーザスキャナ)に対応して、水平面での地図であり、環境101内の物体の形状を表す画像データとして構成される。この移動体システムは、複数(2個)のセンサ2を備えるので、地図作成機能による地図作成をより好適に行うことができる。
そして、相対位置関係計算機能は、2個のセンサ2(2A,2B)のセンサデータに基づいて、移動体座標系CMにおけるセンサ2間の相対位置関係105を計算して自動的に設定する機能である。移動体1は、例えば通常の走行時に自動的にこの機能を有効状態とし、相対位置関係105を自動調整する。
[SLAM機能]
移動体1におけるSLAM機能の構成例について補足説明する。制御装置100は、環境101(図1)内の移動時、例えば設定された経路上の自動搬送時に、センサ2による周囲の物体の検出・計測を行う。制御装置100は、センサ2からのセンサデータである測距データに基づいて、センサ2の位置を基準とした移動体1の周囲の物体の形状を表す形状データを作成する。制御装置100は、その形状データと、記憶している既存の地図データとを比較照合することで、環境101(対応する地図データ)内での移動体1の現在の位置および姿勢を推定し、位置同定結果とする。この推定は、例えば所定の探索範囲内で、形状データと地図データとの一致や類似の度合いを評価・判断する処理であり、その度合いは例えば画素単位での重なりの数等から評価可能である。
移動体1におけるSLAM機能の構成例について補足説明する。制御装置100は、環境101(図1)内の移動時、例えば設定された経路上の自動搬送時に、センサ2による周囲の物体の検出・計測を行う。制御装置100は、センサ2からのセンサデータである測距データに基づいて、センサ2の位置を基準とした移動体1の周囲の物体の形状を表す形状データを作成する。制御装置100は、その形状データと、記憶している既存の地図データとを比較照合することで、環境101(対応する地図データ)内での移動体1の現在の位置および姿勢を推定し、位置同定結果とする。この推定は、例えば所定の探索範囲内で、形状データと地図データとの一致や類似の度合いを評価・判断する処理であり、その度合いは例えば画素単位での重なりの数等から評価可能である。
制御装置100は、経路上で区間毎に、移動体1の現在の位置および姿勢を推定しながら、好適な移動を制御する。制御装置100は、現在の位置および姿勢から、経路上の次の目標位置を決定し、その目的位置への移動のために移動機構3を制御する。その際、制御装置100は、周囲の物体と移動体1の現在の位置および姿勢との関係が好適になるように、移動機構3を制御する。
また、制御装置100は、上記位置および姿勢の推定を行いながら、上記作成した形状データを用いて新たな地図データを作成して登録する。または、制御装置100は、上記作成した形状データを用いて、既存の地図データを更新する。制御装置100は、経路上の区間毎に上記のような局所的計画処理を同様に繰り返す。
[処理フロー]
図7は、図5の制御装置100の位置同定装置5、特に調整部55による、主な処理(特に相対位置関係計算)のフローを示す。図7のフローはステップS1~S5を有する。前提として、図5の構成に基づいて、調整部55は、移動体1の走行に伴う、一定時間以上の時間での時系列上の位置同定結果(41A,41B)のデータ、言い換えると軌跡データを入力・取得する。位置同定結果には、空間座標系CS内でのセンサ2の位置および姿勢(方向を表す角度)の情報を含む。
図7は、図5の制御装置100の位置同定装置5、特に調整部55による、主な処理(特に相対位置関係計算)のフローを示す。図7のフローはステップS1~S5を有する。前提として、図5の構成に基づいて、調整部55は、移動体1の走行に伴う、一定時間以上の時間での時系列上の位置同定結果(41A,41B)のデータ、言い換えると軌跡データを入力・取得する。位置同定結果には、空間座標系CS内でのセンサ2の位置および姿勢(方向を表す角度)の情報を含む。
ステップS1で、調整部55は、相対位置パラメータ700(Δx,Δy)を生成する。相対位置パラメータ700は、図2等の移動体1の移動体座標系CMでのセンサ2(2A,2B)間の位置(PA,PB)の関係を表すパラメータである。相対位置パラメータ700は、例えばセンサ2Aの位置PAを基準として、x軸方向で、センサ2Bの位置PBに関する差分の値Δxと、同様にy軸方向に関する差分の値Δyとを有する。なお、実施の形態1では、z軸方向の位置(ZA,ZB)および差分(Δz)については、一定の設定値であるとして、計算対象外とする。相対位置パラメータ700は、時系列上の時点(t=1,……,k,……,T)毎の値を有し、例えば{(Δx1,Δy1),……,(Δxk,Δyk),……,(ΔxT,ΔyT)}のように表現される。添え字kはある時点、添え字Tは最後の時点を表す。
ステップS2で、調整部55は、第1センサであるセンサ2Aの第1位置同定結果41Aの軌跡701(第1軌跡と記載する場合もある)に対し、ステップS1の各相対位置パラメータ700に対応した第2センサであるセンサ2Bの「仮位置」(VPBとする)の軌跡703(仮軌跡と記載する場合もある)を生成する。この「仮位置」は、マッチング処理用にセンサ2Bの仮の位置を設定するものであり、時点(t)毎に、センサ2Aの位置PAから相対位置パラメータ700(Δx,Δy)をベクトルとした先の位置に対応する。仮位置VPBは、複数の候補(VPB1,……,VPBnとする)として生成される。センサ2Aの第1位置同定結果41Aの軌跡701は、時系列データとして、例えば{(xA_1,yA_1),……,(xA_k,yA_k), ……,(xA_T,yA_T)}のように表現される。センサ2Bの仮位置の軌跡703は、時系列データとして、例えば{(vxB_1,vyB_1),……,(vxB_k,vyB_k),……,(vxB_T,vyB_T)のように表現される。
ステップS3では、調整部55は、ステップS2で生成した仮位置VPBの軌跡703に対し、センサ2Bの第2位置同定結果41Bの軌跡702(第2軌跡と記載する場合もある)とのマッチング処理を行う。このマッチング処理は、軌跡同志での形状の一致度合いないし類似度合いを評価・判断する処理である。このマッチング処理では、詳細は後述するが、それらの2つの軌跡データ間での一致度合いを表す評価値としての「一致度」(Kとする)を扱う。また、このマッチング処理では、軌跡の向きに関するパラメータである回転パラメータ(Rとする)を用いる。調整部55は、候補の相対位置パラメータ700毎に、計算した一致度Kおよび回転パラメータRをメモリに格納する。第2位置同定結果41Bの軌跡702は、時系列データとして、例えば{(xB_1,yB_1),……,(xB_k,yB_k),……,(xB_T,yB_T)}のように表現される。
ステップS4で、調整部55は、ステップS3の結果で、一致度Kが最も高かった軌跡の対に対応する相対位置パラメータ700(Δx,Δy)を、最適相対位置704(Δx_opt,Δy_opt)として決定・抽出し、メモリに格納する。ここまでで、図1等の相対位置関係105のうちの位置関係(Δx,Δy)が把握されたことになる。
ステップS5で、さらに、調整部55は、センサ2間の方向(θ)の関係(Δθ)に関する最適値を計算する。調整部55は、ステップS4の最適相対位置704(Δx_opt,Δy_opt)を用いて、方向(θ)の関係(Δθ)を表す量{θB_t+R-θA_t}を生成する。ここで、角度θB_tは、センサ2Bの第2同定結果41Bに含まれている、時点(t)毎のセンサ2Bの姿勢を表す角度である。角度θA_tは、センサ2Aの第1同定結果41Aに含まれている、時点(t)毎のセンサ2Aの姿勢を表す角度である。“+R”は、回転パラメータRの加算である。この加算は、方向の関係を求めるにあたり、第1センサ(センサ2A)の座標系CAに合わせるための操作である。“-θA_t”は、角度θB_tと角度θA_tとの差をとるための操作である。
そして、調整部55は、時点毎に生成した量{θB_t+R-θA_t}の平均値をとり、最適相対方向705(Δθ_opt)として決定し、メモリに格納する。この平均値は、Σ{θB_t+R-θA_t}/Tで表される。Σは時点t=1~Tでの総和を示す。最適相対方向705(Δθ_opt)は、角度の差で表現されるセンサ2間の方向の関係(Δθ)に関する最適値である。ステップS5では方向関係の計算の一例を示したが、これに限られない。
調整部55は、上記のようにして得た、最適相対位置704(Δx_opt,Δy_opt)および最適相対方向(Δθ_opt)を含む情報を、図5の相対位置関係データ43として保存する。この相対位置関係データ43は、図2の相対位置関係105を表す値(Δx,Δy,Δθ)と対応している。
[軌跡]
図8の(A)は、移動体1の移動とその際の軌跡の例を水平面で示す。本例では、移動体1は、最初、時点t1の位置P1(ここでは図4の代表的な位置PMを用いている)では、前方(空間座標系CSでのX方向、移動体座標系CMでのx方向)を向いた状態であり、時点t2の位置P2まで前方に走行している。移動体1は、位置P2からは、時点t3の位置P3を経由するように、右旋回を行っている。これにより、移動体1は、時点t4の位置P4では、右を向いた状態となっている。破線で示す軌跡800は、上記のような移動体1(位置PM)の移動の軌跡、特に図4の後軸420の位置PM2が通る軌跡を示す。実線で示す軌跡701は、この移動に伴って、前側のセンサ2Aの位置PAが通る軌跡(第1軌跡)を示す。
図8の(A)は、移動体1の移動とその際の軌跡の例を水平面で示す。本例では、移動体1は、最初、時点t1の位置P1(ここでは図4の代表的な位置PMを用いている)では、前方(空間座標系CSでのX方向、移動体座標系CMでのx方向)を向いた状態であり、時点t2の位置P2まで前方に走行している。移動体1は、位置P2からは、時点t3の位置P3を経由するように、右旋回を行っている。これにより、移動体1は、時点t4の位置P4では、右を向いた状態となっている。破線で示す軌跡800は、上記のような移動体1(位置PM)の移動の軌跡、特に図4の後軸420の位置PM2が通る軌跡を示す。実線で示す軌跡701は、この移動に伴って、前側のセンサ2Aの位置PAが通る軌跡(第1軌跡)を示す。
図8の(B)は、(A)のうちのセンサ2A(位置PA)の軌跡701のみを抜き出したものを示す。この軌跡701は、前方への直進の走行時の直線部701aと、右旋回時の曲線部701b(言い換えると円弧)と、右への直進の走行時の直線部701cとを含む。図5の第1位置同定部52Aは、センサ2Aに基づいてこのような軌跡データを得る。この軌跡データは、時系列上の時点毎に、図2の高さ位置ZAに応じた水平面内での位置座標を有するデータである。なお、軌跡を線で図示しているが、詳細には点群である。
図9の(A)は、図8の(A)と対応し、移動体1の軌跡800は同じである。実線で示す軌跡702は、この移動に伴って、後側のセンサ2Bの位置PBが通る軌跡(第2軌跡)を示す。
図9の(B)は、(A)のうちのセンサ2B(位置PB)の軌跡702のみを抜き出したものを示す。この軌跡702は、前方への直進の走行時の直線部702aと、右旋回時の曲線部702b(言い換えると円弧)と、右への直進の走行時の直線部702cとを含む。図5の第2位置同定部52Bは、センサ2Bに基づいて、このような軌跡データを得る。この軌跡データは、時系列上の時点毎に、図2の高さ位置ZBに応じた水平面内での位置座標を有するデータである。
[処理例(1)]
図10は、図8と同じ移動体1の軌跡800およびセンサ2Aの軌跡701(第1軌跡)に対し、図9のセンサ2Bの設置の位置PBが異なる場合の2つの軌跡701(第2軌跡)の例としての軌跡7011,7012を示す。軌跡7011は、移動体座標系CMでのセンサ2Bの位置PBが位置PB1である場合の実際の計測値に基づいた軌跡の例であり、軌跡7012は、位置PB2である場合の軌跡の例である。センサ2Bの各軌跡(7011,7012)の形状をみてみると、移動体1の旋回中心(例えば移動体1の位置PMの軌跡800)からの位置PB(PB1,PB2)への距離(例えば距離1001,1002)に応じて、軌跡中の円弧の部分の半径が変わることがわかる。移動体システムは、一定時間以上の時間で得た、直進動作に対応する直線等の軌跡と、旋回等の方向転換動作に対応する円弧等の軌跡とを含む軌跡データを用いることで、図7のステップS3のマッチング処理によって相対位置関係の計算が可能である。ステップS1では、このような各位置PBを仮位置VPBとするように各相対位置パラメータ700をとる。
図10は、図8と同じ移動体1の軌跡800およびセンサ2Aの軌跡701(第1軌跡)に対し、図9のセンサ2Bの設置の位置PBが異なる場合の2つの軌跡701(第2軌跡)の例としての軌跡7011,7012を示す。軌跡7011は、移動体座標系CMでのセンサ2Bの位置PBが位置PB1である場合の実際の計測値に基づいた軌跡の例であり、軌跡7012は、位置PB2である場合の軌跡の例である。センサ2Bの各軌跡(7011,7012)の形状をみてみると、移動体1の旋回中心(例えば移動体1の位置PMの軌跡800)からの位置PB(PB1,PB2)への距離(例えば距離1001,1002)に応じて、軌跡中の円弧の部分の半径が変わることがわかる。移動体システムは、一定時間以上の時間で得た、直進動作に対応する直線等の軌跡と、旋回等の方向転換動作に対応する円弧等の軌跡とを含む軌跡データを用いることで、図7のステップS3のマッチング処理によって相対位置関係の計算が可能である。ステップS1では、このような各位置PBを仮位置VPBとするように各相対位置パラメータ700をとる。
[処理例(2)]
図11の(A)は、図7のステップS1での相対位置パラメータ700(Δx,Δy)の生成例を示す。図示のように、調整部55は、基準とするセンサ2Aの位置PAから、時点(t)毎に、水平面での各方向および各距離で、複数の相対位置パラメータ700(Δx,Δy)を候補として生成する。この相対位置パラメータ700(Δx,Δy)は、例えば、相対位置関係(図5の相対位置関係データ43)の初期設定値等に基づいて、所定の範囲内でずらしたような複数の候補の値として生成される。例えば、調整部55は、図示のように格子(複数の位置座標点を持つ格子)上に、相対位置パラメータ700に応じた仮位置VPBを設定する。本例では、相対位置パラメータ700の3つの例のみ図示しているが、範囲内で多数が存在する。仮位置VPB0は、相対位置関係の初期設定値に対応した相対位置パラメータ(Δx0,Δy0)によって生成された値である。仮位置VPB1,VPB2は、他の相対位置パラメータ(Δx1,Δp1),(xp2,yp2)で生成した値である。調整部55が相対位置パラメータ700を生成する範囲は、移動体1の形状に基づいたセンサ2が設置可能な範囲としてもよいし、相対位置関係の初期設定値を中心とした所定の範囲等としてもよい。なお、(A)では、各仮位置VPBでのセンサ2B(座標系CB)の方向(x軸,y軸)としては、相対位置関係の初期設定値に基づいた一定の方向としている。
図11の(A)は、図7のステップS1での相対位置パラメータ700(Δx,Δy)の生成例を示す。図示のように、調整部55は、基準とするセンサ2Aの位置PAから、時点(t)毎に、水平面での各方向および各距離で、複数の相対位置パラメータ700(Δx,Δy)を候補として生成する。この相対位置パラメータ700(Δx,Δy)は、例えば、相対位置関係(図5の相対位置関係データ43)の初期設定値等に基づいて、所定の範囲内でずらしたような複数の候補の値として生成される。例えば、調整部55は、図示のように格子(複数の位置座標点を持つ格子)上に、相対位置パラメータ700に応じた仮位置VPBを設定する。本例では、相対位置パラメータ700の3つの例のみ図示しているが、範囲内で多数が存在する。仮位置VPB0は、相対位置関係の初期設定値に対応した相対位置パラメータ(Δx0,Δy0)によって生成された値である。仮位置VPB1,VPB2は、他の相対位置パラメータ(Δx1,Δp1),(xp2,yp2)で生成した値である。調整部55が相対位置パラメータ700を生成する範囲は、移動体1の形状に基づいたセンサ2が設置可能な範囲としてもよいし、相対位置関係の初期設定値を中心とした所定の範囲等としてもよい。なお、(A)では、各仮位置VPBでのセンサ2B(座標系CB)の方向(x軸,y軸)としては、相対位置関係の初期設定値に基づいた一定の方向としている。
図11の(B)は、仮位置VPBでのセンサ2Bの仮の方向(「仮方向」:Vθとする)を設定する場合のパラメータの例を示す。このように、各相対位置パラメータ700に応じた各仮位置VPBで、センサ2Bの仮方向(Vθ)のパラメータを用いて、様々な仮方向(Vθ)を生成してもよい。仮方向(Vθ)のパラメータに関しても、例えば相対位置関係の初期設定値に基づいて所定の範囲内で複数の候補が生成される。本例では、仮方向(Vθ)のパラメータとして3つの例(Vθ0,Vθ1,Vθ2)を示す。仮方向(Vθ)のパラメータは、基準とするセンサ2Aの方向(θA、x軸)に対する角度差、または前述の回転パラメータRを用いて規定できる。
ステップS2では、センサ2Aの位置PAに関する第1位置同定結果である軌跡701から、ステップS1の相対位置パラメータ700(Δx,Δy)に応じた、センサ2Bの仮位置VPBの軌跡703が生成される。本例では、ある候補の相対位置パラメータ700に応じた仮位置VPBの軌跡703は、時点(t)毎に同じ相対位置パラメータ700を適用するものとした。これに限らず、軌跡703は、時点(t)毎に異なる相対位置パラメータ700を適用することも可能である。
[処理例(3)]
図12は、ステップS2で各相対位置パラメータ700に応じた各仮位置VPBの軌跡703(仮軌跡)を生成する例を示す。仮軌跡を一点鎖線で示す。本例では、2つの仮位置VPB(図11の仮位置VPB1,VPB2)に関する2つの仮軌跡1201,1202の例のみを示す。センサ2Aの第1位置同定結果41Aの軌跡701上、時点(t=t1,t2,……)毎に方向(θA)を持つ各位置PA(PA1,PA2,……)から、それぞれ相対位置パラメータ700(Δx,Δy)を用いた先に仮位置VPBが設定される。例えば、相対位置パラメータ(Δx2,Δy2)に応じた仮位置VPB2の仮軌跡1202については、時点(t)毎の各位置は、図示の{(vxB_1,vyB_1),(vxB_2,vyB_2),(vxB_3,vyB_3),(vxB_4,vyB_4),(vxB_5,vyB_5)}のように表される。本例では、1つの仮軌跡は、時点毎の相対位置パラメータ700(Δx,Δy)を同じとした場合である。図示のように、生成後の各仮位置VPBの仮軌跡1201,1202は、旋回中心からの距離に応じて円弧(曲線部1201b,1202b)の部分の半径が異なる。仮軌跡の形状は、第1軌跡の形状に対し、異なるものとなる。
図12は、ステップS2で各相対位置パラメータ700に応じた各仮位置VPBの軌跡703(仮軌跡)を生成する例を示す。仮軌跡を一点鎖線で示す。本例では、2つの仮位置VPB(図11の仮位置VPB1,VPB2)に関する2つの仮軌跡1201,1202の例のみを示す。センサ2Aの第1位置同定結果41Aの軌跡701上、時点(t=t1,t2,……)毎に方向(θA)を持つ各位置PA(PA1,PA2,……)から、それぞれ相対位置パラメータ700(Δx,Δy)を用いた先に仮位置VPBが設定される。例えば、相対位置パラメータ(Δx2,Δy2)に応じた仮位置VPB2の仮軌跡1202については、時点(t)毎の各位置は、図示の{(vxB_1,vyB_1),(vxB_2,vyB_2),(vxB_3,vyB_3),(vxB_4,vyB_4),(vxB_5,vyB_5)}のように表される。本例では、1つの仮軌跡は、時点毎の相対位置パラメータ700(Δx,Δy)を同じとした場合である。図示のように、生成後の各仮位置VPBの仮軌跡1201,1202は、旋回中心からの距離に応じて円弧(曲線部1201b,1202b)の部分の半径が異なる。仮軌跡の形状は、第1軌跡の形状に対し、異なるものとなる。
[処理例(4)]
図13は、図7のステップS3のマッチング処理の例に関する説明図を示す。本例では、第1センサの第1軌跡および相対位置パラメータ700に基づいて生成された第2センサの仮位置VPBの仮軌跡と、第2センサの第2軌跡とで、回転パラメータRを用いて様々な向きの関係で、軌跡の形状が比較照合される。図13の(A)では、比較対象の軌跡の対として、一点鎖線で示す軌跡703(仮軌跡)と、実線で示す軌跡702(第2軌跡)に基づいた複数の軌跡(例えば軌跡7021,7022,7023,7024,7025)とを示す。軌跡703は、ある相対位置パラメータ700(Δx,Δy)に応じたある仮位置VPBの仮軌跡である。複数の軌跡(7021等)は、回転パラメータRを用いて異なる向きとして生成した複数の軌跡である。軌跡703に対し、最初の時点(t1)の位置を同じとして、複数の軌跡(7021等)が重ね合わせられている。複数の軌跡(7021等)は、例えばセンサ2Aの座標系CAのx軸を基準として、回転パラメータRの角度を0度とし、R=0度の軌跡702を元に、角度をずらすように生成されている。このように回転パラメータRを用いた様々な向きでの比較が有効である。
図13は、図7のステップS3のマッチング処理の例に関する説明図を示す。本例では、第1センサの第1軌跡および相対位置パラメータ700に基づいて生成された第2センサの仮位置VPBの仮軌跡と、第2センサの第2軌跡とで、回転パラメータRを用いて様々な向きの関係で、軌跡の形状が比較照合される。図13の(A)では、比較対象の軌跡の対として、一点鎖線で示す軌跡703(仮軌跡)と、実線で示す軌跡702(第2軌跡)に基づいた複数の軌跡(例えば軌跡7021,7022,7023,7024,7025)とを示す。軌跡703は、ある相対位置パラメータ700(Δx,Δy)に応じたある仮位置VPBの仮軌跡である。複数の軌跡(7021等)は、回転パラメータRを用いて異なる向きとして生成した複数の軌跡である。軌跡703に対し、最初の時点(t1)の位置を同じとして、複数の軌跡(7021等)が重ね合わせられている。複数の軌跡(7021等)は、例えばセンサ2Aの座標系CAのx軸を基準として、回転パラメータRの角度を0度とし、R=0度の軌跡702を元に、角度をずらすように生成されている。このように回転パラメータRを用いた様々な向きでの比較が有効である。
調整部55は、仮位置VPBの軌跡703と、複数の軌跡(7021等)とをそれぞれ比較し、一致度Kを計算する。本例では、図示のように、調整部55は、時点(t)毎に、仮位置VPBの軌跡703上の点(例えば時点t3に対応する位置1300)と、各軌跡7021~7025上の対応する位置との間で、それぞれ距離1301を計算する。そして、調整部55は、マッチングの対毎に、全時点での距離1301の総和をとる。距離1301をDとすると、距離1301の総和はΣDで表される。Σは時点t=1~Tでの和である。調整部55は、その総和に応じて、一致度Kを計算する。すなわち、概略的には、その総和が小さいほど一致度Kが高い値となるように、一致度Kが規定および計算される。
本例では、様々な向きでの比較の際に、処理効率を考慮して、軌跡702(第2軌跡)の方で回転パラメータRを変えて比較対象を生成する処理例としたが、これに限らず可能であり、軌跡703(仮軌跡)の方で回転パラメータRを変えて比較対象を生成してもよい。マッチング処理の重要な点としては、曲線部を含んだ軌跡間で形状の一致度合いを判断する点であり、第1軌跡と第2軌跡とのいずれから仮軌跡を生成してもよい。
図13の(B)は、(A)のマッチングの結果、ある相対位置パラメータ700(Δx,Δy)に応じた仮位置VPBの軌跡703と、ある回転パラメータRでの軌跡702(特に軌跡702x)との対において一致度Kが最も高くなった場合を示す。同様に、相対位置パラメータ700毎に、一致度Kが最も高くなるものが計算される。そして、ステップS4では、それらの複数の対における複数の相対位置パラメータ700のうち、一致度Kが最も高いものが、最適相対位置704(Δx_opt,Δy_opt)として選択される。
ステップS5では、量{θ2_t+R-θ1_t}から最適相対方向(Δθ_opt)が計算される。図13の(B)では、センサ2Aの軌跡701と、センサ2Bの軌跡702と、仮位置VPBの軌跡703と、最適相対位置704(Δx_opt,Δy_opt)と、回転パラメータRとの関係の例を示している。量{θ2_t+R-θ1_t}は、時点t1でのセンサ2Aの方向(θ1_t1)とセンサ2Bの方向(θ2_t1)との関係を示している。
[処理例(5)]
制御装置100は、相対位置関係計算機能として、図7のステップS3で軌跡の形状のマッチング処理を行う。その際、第1センサのセンサデータSDAと第2センサのセンサデータSDBとにおいて、検出の時点(t)の情報に関しては、同期していても、同期していなくても、いずれでもマッチング処理が可能である。センサデータSDAとセンサデータSDBとで、時刻が同期していない場合でも、制御装置100は、例えば、第1センサの第1軌跡(詳しくは第1軌跡に基づいて生成した仮軌跡)と第2センサの第2軌跡との比較の際に、一方の軌跡上のある時点(例えばt=k)の位置に対し、他方の軌跡上の各時点(例えば時点kの周辺の時点)を変えながら比較を試行すればよい。
制御装置100は、相対位置関係計算機能として、図7のステップS3で軌跡の形状のマッチング処理を行う。その際、第1センサのセンサデータSDAと第2センサのセンサデータSDBとにおいて、検出の時点(t)の情報に関しては、同期していても、同期していなくても、いずれでもマッチング処理が可能である。センサデータSDAとセンサデータSDBとで、時刻が同期していない場合でも、制御装置100は、例えば、第1センサの第1軌跡(詳しくは第1軌跡に基づいて生成した仮軌跡)と第2センサの第2軌跡との比較の際に、一方の軌跡上のある時点(例えばt=k)の位置に対し、他方の軌跡上の各時点(例えば時点kの周辺の時点)を変えながら比較を試行すればよい。
図14は、上記センサデータ間で時刻が同期していない場合におけるマッチング処理例を示す。図14の(A)で、一点鎖線で示す軌跡1401(仮軌跡)は、例えばセンサ2AのセンサデータSDAに基づいた第1位置同定結果41Aの軌跡と、ある相対位置パラメータ700とから生成した、センサ2Bの仮位置VPBの軌跡である。この軌跡1401上で、白点は時点(例えばt=t1~t9)毎の位置(例えばp1~p9)を示す。一方、実線で示す軌跡1402は、例えばセンサ2BのセンサデータSDBに基づいた第2位置同定結果41の軌跡(第2軌跡)である。この軌跡1402上で、黒点は時点(例えばt=t1~tt11)毎の位置(例えばp21~p31)を示す。2つのセンサデータの時点(t)は時刻が同期しておらず、例えば軌跡1401上の時点t1と軌跡1402上の時点t1とは別の時刻である。なお図15では回転パラメータRについては考慮していない。制御装置100は、これらの軌跡のマッチングの際、例えば軌跡1401上のある時点の位置に対し、軌跡1402の各時点の位置(少なくともいくつかの候補)を対応させるように、それぞれの対で比較を試行する。
図14の(B)は、軌跡1401に対し、軌跡1402を重ね合わせる際に、軌跡1401の時点t1の位置p1に軌跡1402の時点t1の位置p11を合わせる場合を示す。図14の(C)は、軌跡1401に対し、軌跡1402を重ね合わせる際に、軌跡1401の時点t1の位置p1に軌跡1402の時点t2の位置p12を合わせる場合を示す。例えば(B)と(C)で比較すると、(C)の場合の方が、軌跡間の距離が小さく、一致度Kが高いことがわかる。なお、軌跡間での距離の取り方については、図13の距離1301の例に限らず可能であり、例えば一方の軌跡の点から他方の軌跡の点へと最も距離が短くなる線をとるようにしてもよい。制御装置100は、上記のような各試行の結果のうち、一致度Kが最も高いものを選択すればよい。
[キャリブレーション動作]
センサ2間の相対位置関係を計算する自動調整(キャリブレーション)のために、予め設定された特定の動作を移動体1に行わせ、その際のセンサデータを取得するようにしてもよい。この特定の動作は、相対位置関係の計算・決定ができるという条件を満たす動作であり、一定時間以上の時間での、旋回等の方向転換を含む動作である。すなわち、この時間で得られるセンサデータに基づいた軌跡データにおいて、例えば図8や図9等に示したように、旋回に対応した円弧等の曲線部(701b,702b)を含む。このような軌跡データがあれば、前述のマッチング処理が成立し、最適値としての解が得られる。これにより、解が得られないことや、解を得るまでに長時間かかること等が避けられるので、効率的にキャリブレーションが可能である。
センサ2間の相対位置関係を計算する自動調整(キャリブレーション)のために、予め設定された特定の動作を移動体1に行わせ、その際のセンサデータを取得するようにしてもよい。この特定の動作は、相対位置関係の計算・決定ができるという条件を満たす動作であり、一定時間以上の時間での、旋回等の方向転換を含む動作である。すなわち、この時間で得られるセンサデータに基づいた軌跡データにおいて、例えば図8や図9等に示したように、旋回に対応した円弧等の曲線部(701b,702b)を含む。このような軌跡データがあれば、前述のマッチング処理が成立し、最適値としての解が得られる。これにより、解が得られないことや、解を得るまでに長時間かかること等が避けられるので、効率的にキャリブレーションが可能である。
なお、本発明者は、実験を含む検討に基づいて、少なくとも上記のような旋回に対応した円弧等を含む軌跡データから、センサ2間の相対位置関係を計算・決定できることを確認した。このことから、必要な条件および特定の動作が規定できる。前述の図10等のように、移動体1上のセンサ2の位置に応じて軌跡の形状が異なることで、前述のマッチング処理が有効である。また、移動体システムにおいて、上記キャリブレーション用の特定の動作をユーザ設定できるユーザ・インタフェースを備えてもよい。例えば、移動体1に接続されるPC101(図1)等の装置の表示画面で、その特定の動作のための経路をユーザ設定可能とする。
[地図作成機能]
図15~図19は、地図作成機能に関する説明図である。相対位置関係計算機能で得た相対位置関係データ43(図5)に基づいて、例えば2つの地図データ(42A,42B)が関連付けられる。
図15~図19は、地図作成機能に関する説明図である。相対位置関係計算機能で得た相対位置関係データ43(図5)に基づいて、例えば2つの地図データ(42A,42B)が関連付けられる。
図15は、移動体1が適用される工場等の環境1500の概要構成例を、水平面(X-Y面)で示す。図15では、特に、環境1500に関して、センサ2Aによって検出される構成を示している。図2の高さ位置ZAにあるセンサ2Aによるセンサデータに基づいて、周囲の形状と第1同定結果41Aとしての軌跡が把握され、それらに基づいて第1地図データ42Aが作成または更新される。この環境1500内の物体のうち、斜線ハッチング領域で示す物体1501は、移動体1のセンサ2Aによって特徴点として検出される物体の一例である。
図15中に移動体1の走行および軌跡の例を示す。空間座標系CS(X,Y,Z)において、移動体1は、位置P1から、X軸の正方向(例えば南)に直進動作している。移動体1は、位置P2からは、移動体1から見て左側に旋回している。左旋回後、移動体1は、位置P3では、Y軸の正方向(例えば東)を向いており、さらに、位置P3から左側に旋回し、X軸の負方向(例えば北)に向いた状態となっている。移動体1は、位置P4まで、X軸の負方向(例えば北)に直進動作している。破線の軌跡1510は、移動体1の代表的な位置PMに関する軌跡を示す。実線の軌跡1511は、センサ2Aの位置PAに関する軌跡を示す。
例えば位置P1において、範囲1502は、センサ2A(位置PA)からのレーザ光の走査による出射範囲の例を示す。範囲1502は、図3と同様に、180度よりも大きい場合を示す。実線矢印はレーザ光を示す。例えばレーザ光1503は、物体1501に当たって反射されてセンサ2Aに戻って特徴点として検出される。例えばレーザ光1504は、工場の建物の壁等に当たって反射されてセンサ2Aに戻って特徴点として検出される。白抜き領域にも物体があるが、高さ位置ZAには無いため、センサ2Aでは検出されない。このようなセンサ2Aのセンサデータに基づいて、前述の位置同定および地図作成が可能であり、その詳細技術内容については限定しない。
図16は、図15と同じ環境1500に関して、センサ2Bによって検出される構成を示す。移動体1の軌跡1510は図15と同じである。図16で、実線の軌跡1512は、センサ2Bの位置PBの軌跡である。例えば位置P1において、範囲1602は、センサ2B(位置PB)からのレーザ光の走査による出射範囲の例を示す。例えばレーザ光1603は、物体1601に当たって反射されてセンサ2Bに戻って特徴点として検出される。この物体1601は、高さ位置ZBにあるため、センサ2Bで検出されている。
上記例のように、例えば工場の生産設備等の物体は、様々な形状があり得、部位毎に高さが異なる場合がある。実施の形態1のように、移動体1に高さ位置を含め位置が異なる複数(2個)のセンサ2を備える場合、各センサ2でカバーできる検出範囲が異なり、計測できる物体形状が異なる。その結果、この移動体システムでは、環境1500の形状をより詳細に計測し反映した地図を作成可能である。しかしながら、各センサ2の位置が異なることから、センサ2毎に異なる地図として複数の地図データ(42A,42B)が作成される。この移動体システムでは、その場合でも、センサ2間の相対位置関係のキャリブレーションに基づいて、それらの複数の地図データを関連付けることができる。
[地図データ]
図17および図18は、図15および図16の環境1500および計測に基づいて作成される地図データの構成例を示す。図17は、図15のセンサ2Aのセンサデータに基づいて作成される第1地図データ42Aに対応する地図1700を示す。例えば線1701は、図15の物体1501の輪郭(対応する特徴点群)に対応する線である。この地図1700の座標系(X,Y)は、例えば、移動体1による計測を開始した時点のセンサ2Aの最初の位置PAを原点とし、そのセンサ2Aのx軸方向をX軸とし、それに直交するy軸方向をY軸とした場合を示す。
図17および図18は、図15および図16の環境1500および計測に基づいて作成される地図データの構成例を示す。図17は、図15のセンサ2Aのセンサデータに基づいて作成される第1地図データ42Aに対応する地図1700を示す。例えば線1701は、図15の物体1501の輪郭(対応する特徴点群)に対応する線である。この地図1700の座標系(X,Y)は、例えば、移動体1による計測を開始した時点のセンサ2Aの最初の位置PAを原点とし、そのセンサ2Aのx軸方向をX軸とし、それに直交するy軸方向をY軸とした場合を示す。
図18は、図16のセンサ2Bのセンサデータに基づいて作成される第2地図データ42Bに対応する地図1800を示す。例えば線1801は、図16の物体1601の輪郭に対応する線である。この地図1800の座標系(X,Y)は、例えば、移動体1による計測を開始した時点のセンサ2Bの最初の位置PBを原点とし、そのセンサ2Bのx軸方向をX軸とし、それに直交するy軸方向をY軸とした場合を示す。
図19は、前述の計算で得た相対位置関係データ43を用いて、上記2つの地図データ(42A,42B)を1つに関連付けて、ユーザに対し出力する場合の例を示す。ここでは、センサ2Aの地図1700(その座標系)を基準とし、位置PAと位置PBとの相対位置関係105を用いて、センサ2Bの地図1800を回転させて地図1700上に重ね合わせている。ユーザは、このように2つの地図を1つの地図として関連付けた状態で参照できる。なお、地図データは、例えば画像データとして構成され、画素毎に位置や物体有無などの情報を有する。
[効果等]
上記のように、実施の形態1の移動体システムによれば、移動体1に複数のセンサ2が設置される場合やセンサ2間の設置位置等が変更される場合にも、センサ2間の相対位置関係を求めることができ、測位機能等の精度を高めることができる。特に、相対位置関係計算機能によって、センサ2間の相対位置関係を高精度かつ容易に求めることができる。特に、相対位置関係計算機能によって、移動体1の走行に伴い自動調整ができるので、センサ2の設定に関するユーザの手動操作による手間も少ない。
上記のように、実施の形態1の移動体システムによれば、移動体1に複数のセンサ2が設置される場合やセンサ2間の設置位置等が変更される場合にも、センサ2間の相対位置関係を求めることができ、測位機能等の精度を高めることができる。特に、相対位置関係計算機能によって、センサ2間の相対位置関係を高精度かつ容易に求めることができる。特に、相対位置関係計算機能によって、移動体1の走行に伴い自動調整ができるので、センサ2の設定に関するユーザの手動操作による手間も少ない。
(変形例)
実施の形態1の変形例として以下も可能である。移動体1に3個以上のセンサ2を備える形態も同様に可能である。この形態では、例えば、第1センサと第2センサとの相対関係と、第2センサと第3センサとの相対関係と、第3センサと第1センサとの相対関係とのうち少なくとも2つの相対関係を、それぞれ前述の相対位置関係計算機能によって同様に計算すればよい。
実施の形態1の変形例として以下も可能である。移動体1に3個以上のセンサ2を備える形態も同様に可能である。この形態では、例えば、第1センサと第2センサとの相対関係と、第2センサと第3センサとの相対関係と、第3センサと第1センサとの相対関係とのうち少なくとも2つの相対関係を、それぞれ前述の相対位置関係計算機能によって同様に計算すればよい。
実施の形態1では、センサ2の検出方向や検出範囲を水平面に設定したが、これに限らず可能であり、すなわちセンサ2の検出方向や検出範囲が水平面以外でも同様に適用可能である。また、センサ2は、高さ方向を含めた3次元の測位または測距等が可能な種類のセンサとしてもよい。
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。移動体として、AGVのような自律移動可能な移動体を説明したが、これに限らず、ユーザが操縦する方式の移動体にも適用可能である。移動体は、車両に限らず、船舶や、ドローン等の飛行体でもよい。
1…移動体、2,2A,2B…センサ、3…移動機構、4…搭載機構、5…位置同定装置、6…移動機構制御装置、10…筐体、10a…第1部分、10b…第2部分、100…制御装置、101…環境、102…生産設備、103…荷物、105…相対位置関係、110…PC、CS…空間座標系、CM…移動体座標系。
Claims (12)
- 移動体と、
前記移動体の移動体座標系における異なる位置に設置される第1センサおよび第2センサを含む複数のセンサと、
前記複数のセンサの複数のセンサデータに基づいて少なくとも前記移動体の空間座標系内での位置を測定する測位機能を実現する制御装置と、
を備え、
前記第1センサおよび前記第2センサは、前記空間座標系内での自己センサの位置を検出可能な種類のセンサであり、
前記制御装置は、
環境内での前記移動体の移動の際に、前記第1センサの第1センサデータおよび前記第2センサの第2センサデータに基づいて、前記空間座標系内での前記第1センサの位置および前記第2センサの位置を同定し、位置同定結果に基づいて、時系列上の前記第1センサの第1軌跡および前記第2センサの第2軌跡を取得し、
前記第1軌跡および前記第2軌跡を用いて、軌跡の形状の比較照合に基づいて、前記移動体の前記移動体座標系での前記第1センサの位置と前記第2センサの位置との相対位置関係を計算し、計算した相対位置関係を表す情報を前記移動体に設定する、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記制御装置は、
前記比較照合の際、前記移動体座標系での前記第1センサの位置を基準とした前記第2センサの位置に関する相対位置パラメータを用いて、前記第2センサの仮位置を複数の候補として生成し、
前記仮位置毎に、前記第1軌跡を用いて、仮軌跡を生成し、
前記仮位置毎に、前記仮軌跡と前記第2軌跡との間で、軌跡の形状を比較照合して、一致度を計算し、
前記一致度が最も大きい場合に対応する前記相対位置パラメータを、前記相対位置関係として決定する、
移動体システム。 - 請求項2記載の移動体システムにおいて、
前記制御装置は、前記比較照合の際、前記移動体座標系での前記第1センサの方向を基準とした前記第2センサの方向に関する相対方向パラメータを用いて、前記第2センサの仮方向を複数の候補として生成し、
前記仮位置および前記仮方向毎に、前記第1軌跡を用いて、前記仮軌跡を生成し、
前記一致度が最も大きい場合に対応する前記相対方向パラメータを、前記相対位置関係に含まれる情報として決定する、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記軌跡は、曲線部を含む、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記移動体は、旋回が可能な移動機構を備える、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記制御装置は、前記相対位置関係の計算のために、前記移動体の移動の特定の動作として、一定の時間以上の時間で、方向転換を含む動作を行わせるように制御する、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記制御装置は、前記計算した相対位置関係の情報を、表示画面に表示する、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記制御装置は、前記比較照合の際、回転パラメータを用いて前記第1軌跡に対する前記第2軌跡の向きの関係を様々に変えた対で前記比較照合を行う、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記第1センサのセンサデータと前記第2センサのセンサデータとで時刻が同期していない場合に、
前記制御装置は、前記比較照合の際に、前記第1軌跡の時点の位置に対する前記第2軌跡の時点の位置の対応関係を様々に変えた対で前記比較照合を行う、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記移動体は、無人搬送車であり、
前記センサは、測距センサであり、
前記制御装置は、前記センサデータである測距データに基づいて、前記移動体の周囲の物体の形状を表す形状データを作成し、前記形状データと、前記環境の地図データとに基づいて、前記空間座標系内での前記移動体の位置および姿勢を推定し、推定結果に基づいて前記環境内での前記移動体の移動を制御し、前記地図データを作成または更新する、
移動体システム。 - 請求項10記載の移動体システムにおいて、
前記制御装置は、前記計算した相対位置関係の情報を用いて、前記第1センサの位置同定結果に基づいて作成した第1地図データと、前記第2センサの位置同定結果に基づいて作成した第2地図データとの関連付けを行う、
移動体システム。 - 請求項1記載の移動体システムにおいて、
前記第1センサおよび前記第2センサは、前記移動体座標系における設置の高さ位置が異なり、設置方向が水平面内の方向である、
移動体システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/017937 WO2021220331A1 (ja) | 2020-04-27 | 2020-04-27 | 移動体システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2021220331A1 JPWO2021220331A1 (ja) | 2021-11-04 |
JP7338048B2 true JP7338048B2 (ja) | 2023-09-04 |
Family
ID=78332347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022518431A Active JP7338048B2 (ja) | 2020-04-27 | 2020-04-27 | 移動体システム |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7338048B2 (ja) |
CN (1) | CN115362423A (ja) |
WO (1) | WO2021220331A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012226675A (ja) | 2011-04-22 | 2012-11-15 | Hitachi Industrial Equipment Systems Co Ltd | 移動体 |
JP2015127664A (ja) | 2013-12-27 | 2015-07-09 | 株式会社国際電気通信基礎技術研究所 | キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム |
JP2015222541A (ja) | 2014-05-23 | 2015-12-10 | 株式会社日立産機システム | 台車搬送システム、搬送車、及び台車搬送方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6746050B2 (ja) * | 2015-11-25 | 2020-08-26 | 株式会社国際電気通信基礎技術研究所 | キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム |
JP2018022215A (ja) * | 2016-08-01 | 2018-02-08 | 村田機械株式会社 | 移動教示装置、及び、移動教示方法 |
-
2020
- 2020-04-27 JP JP2022518431A patent/JP7338048B2/ja active Active
- 2020-04-27 WO PCT/JP2020/017937 patent/WO2021220331A1/ja active Application Filing
- 2020-04-27 CN CN202080099292.2A patent/CN115362423A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012226675A (ja) | 2011-04-22 | 2012-11-15 | Hitachi Industrial Equipment Systems Co Ltd | 移動体 |
JP2015127664A (ja) | 2013-12-27 | 2015-07-09 | 株式会社国際電気通信基礎技術研究所 | キャリブレーション装置、キャリブレーション方法およびキャリブレーションプログラム |
JP2015222541A (ja) | 2014-05-23 | 2015-12-10 | 株式会社日立産機システム | 台車搬送システム、搬送車、及び台車搬送方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021220331A1 (ja) | 2021-11-04 |
JPWO2021220331A1 (ja) | 2021-11-04 |
CN115362423A (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Surmann et al. | An autonomous mobile robot with a 3D laser range finder for 3D exploration and digitalization of indoor environments | |
US11568559B2 (en) | Localization of a surveying instrument | |
EP2175337A2 (en) | Autonomous moving apparatus | |
JP6825712B2 (ja) | 移動体、位置推定装置、およびコンピュータプログラム | |
JP5800613B2 (ja) | 移動体の位置・姿勢推定システム | |
CN110998473A (zh) | 位置推断系统和具有该位置推断系统的移动体 | |
CN110789529B (zh) | 车辆的控制方法、装置及计算机可读存储介质 | |
JP6074205B2 (ja) | 自律移動体 | |
CN112840285A (zh) | 具有路径点匹配的自主地图遍历 | |
JPWO2019026761A1 (ja) | 移動体およびコンピュータプログラム | |
US20230064071A1 (en) | System for 3d surveying by an autonomous robotic vehicle using lidar-slam and an estimated point distribution map for path planning | |
US11537140B2 (en) | Mobile body, location estimation device, and computer program | |
JP2020064011A (ja) | レーザスキャナのキャリブレーション方法、運搬機械 | |
JP5212939B2 (ja) | 自律移動装置 | |
CN111971633B (zh) | 位置推断系统、具有该位置推断系统的移动体以及记录介质 | |
KR102564663B1 (ko) | 무인 반송 차량의 위치 인식 장치 및 방법 | |
WO2018179960A1 (ja) | 移動体および自己位置推定装置 | |
US20230333568A1 (en) | Transport vehicle system, transport vehicle, and control method | |
JP7338048B2 (ja) | 移動体システム | |
US20230316567A1 (en) | Localization of a surveying instrument | |
CN115494836A (zh) | 检测系统、处理装置、移动体、检测方法以及存储介质 | |
JP7300413B2 (ja) | 制御装置、移動体、移動制御システム、制御方法及びプログラム | |
Buck et al. | Multi-sensor payload detection and acquisition for truck-trailer AGVs | |
JP7396353B2 (ja) | 地図作成システム、信号処理回路、移動体および地図作成方法 | |
JP2018013860A (ja) | 自律移動体制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220913 |
|
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: 20230801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230823 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7338048 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |