JP7336753B2 - 測位装置及び移動体 - Google Patents

測位装置及び移動体 Download PDF

Info

Publication number
JP7336753B2
JP7336753B2 JP2020562958A JP2020562958A JP7336753B2 JP 7336753 B2 JP7336753 B2 JP 7336753B2 JP 2020562958 A JP2020562958 A JP 2020562958A JP 2020562958 A JP2020562958 A JP 2020562958A JP 7336753 B2 JP7336753 B2 JP 7336753B2
Authority
JP
Japan
Prior art keywords
vehicle
orientation
attitude
positioning device
marker
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
JP2020562958A
Other languages
English (en)
Other versions
JPWO2020137315A1 (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2020137315A1 publication Critical patent/JPWO2020137315A1/ja
Application granted granted Critical
Publication of JP7336753B2 publication Critical patent/JP7336753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Electromagnetism (AREA)
  • Multimedia (AREA)
  • Navigation (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Mechanical Engineering (AREA)
  • Image Processing (AREA)

Description

本開示は、車両などの移動体の位置を測定する測位装置と、そのような測位装置を備えた移動体とに関する。
荷物運搬用の車両を用いて予め決められた領域内又は予め決められた地点間で荷物を移動させるとき、車両の位置を測定して追跡することが求められる場合がある。例えば、特許文献1は、GPS、無線LAN測位、赤外線測位などの測位技術を用いて車両の位置を測位する荷物所在管理装置を開示している。
屋外で移動する車両を測位する場合、一般的には、GPSを用いた測位方法が使用される。一方、倉庫又は工場などの屋内では、GPS衛星からの電波を受信できないので、GPSを用いた測位方法は使用できない。屋内の測位方法として、例えば、UWB(ultra wide band)、Wi-Fi、又はBLE(Bluetooth(登録商標) Low Energy)などの無線信号を用いたものがある。しかしながら、無線信号を用いた測位方法は、無線信号を送信するための多数の無線送信機を車両の移動範囲に設置する必要があるので、初期導入コストが高い。また、屋内の測位方法として、PDR(Pedestrian Dead Reckoning:歩行者自律航法)と呼ばれるものがある。しかしながら、PDRは位置を高精度に測定することが困難である。
無線信号を送信するための多数の無線送信機を必要とすることなく、車両などの移動体の位置を高精度に測定して追跡するために、例えば、非特許文献1に開示されるように、Visual-SLAM(Visual Simultaneous Localization and Mapping)と呼ばれる技術がある。Visual-SLAMによれば、撮影装置を備えた移動体がその周囲を撮影しながら移動し、撮影された複数の画像における特徴点の移動量に基づいて移動体の移動量が計算される。これにより、移動体の現在の位置を推定したり、移動体の軌跡に基づいて地図を生成したりすることができる。
特開2011-219229号公報
R. Mur-Artal, et al., "ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras", IEEE Transactions on Robotics, Volume: 33, Issue: 5, Oct. 2017
工場及び倉庫等など、日々背景が変化するシーンにおいては、事前に作成した地図を用いて現在の位置を特定することは困難である。この場合、Visual-SLAMによって得られる移動体の位置は、ある基準位置(例えば、移動体が移動を開始した位置)に対する相対位置として計算されるので、時間の経過に従って誤差が累積的に増大する。従って、撮影装置を用いて、従来よりも小さな誤差で移動体の位置を測定することができる測位装置が求められる。
本開示の目的は、撮影装置を用いて移動体の位置を測定する測位装置であって、従来よりも小さな誤差で移動体の位置を測定することができる測位装置を提供することにある。
本開示の一態様によれば、
移動体に搭載された撮影装置によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する前記移動体の相対位置及び相対姿勢を示す前記移動体の第1の位置及び第1の姿勢を計算する第1の計算器と、
予め決められた位置に配置されて視覚的に識別可能な複数のマーカーの識別子、位置、及び姿勢の情報と、前記移動体のための通路を含むマップの情報とを格納する記憶装置と、
前記撮影装置によって撮影された画像から前記複数のマーカーのうちの1つを抽出し、抽出された前記1つのマーカーの位置及び姿勢に基づいて、前記マップにおける前記移動体の位置及び姿勢を示す前記移動体の第2の位置及び第2の姿勢を計算する第2の計算器と、
前記第2の位置及び前記第2の姿勢に基づいて前記第1の位置及び前記第1の姿勢を補正し、前記移動体の補正された位置及び補正された姿勢を生成する補正器とを備え、
前記補正器は、抽出された前記1つのマーカーが通路に沿って配置され、かつ、前記補正された位置及び前記補正された姿勢を有する前記移動体の進行方向と、前記通路の向きとの角度差が予め決められた第1の閾値よりも小さいとき、前記第2の姿勢に代えて前記通路の向きに基づいて前記第1の姿勢を補正する。
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
本開示の一態様によれば、第2の位置及び第2の姿勢に基づいて第1の位置及び第1の姿勢を補正することにより、移動体の位置及び姿勢を高精度に測定することができる。また、本開示の一態様によれば、第2の位置及び第2の姿勢に基づいて第1の位置及び第1の姿勢を補正するとき、通路の向きに基づいて移動体の第1の姿勢を補正することにより、第2の姿勢の誤差による影響を低減し、移動体の位置及び姿勢をより高精度に測定することができる。
第1の実施形態に係る車両1の構成を示す概略図である。 図1の車両1を含む測位システムの構成を示すブロック図である。 図2の測位装置12の構成を示すブロック図である。 図1の車両1が移動する通路101を含む倉庫100のマップである。 図4のマーカー4の例を示す図である。 図3の記憶装置35に格納されたマーカー情報の例を示すテーブルである。 図1の撮影装置11によって撮影された画像40の例を示す図である。 図2の測位装置12によって実行される測位処理を示すフローチャートである。 図8のステップS2(相対位置計算処理)のサブルーチンを示すフローチャートである。 図3の画像処理器31によって抽出される特徴点であって、(a)は時刻nにおける画像40(n)から抽出される特徴点F1,F2を示し、(b)は時刻n’における画像40(n’)から抽出される特徴点F1’,F2’を示す図である。 図8のステップS3(絶対位置計算処理)のサブルーチンを示すフローチャートである。 マーカー座標系におけるマーカー4の頂点の座標を示す図である。 図1の撮影装置11によって撮影された画像40におけるマーカー4の頂点の座標を示す図である。 図8のステップS4(補正処理)のサブルーチンを示すフローチャートである。 図14のステップS31において計算される補正移動量を説明する図である。 図14のステップS33において計算される補正回転量を説明する図である。 図4のマーカー4を設置するときに生じるマーカー4の姿勢の誤差(設置誤差)を説明する図である。 図8のステップS3(絶対位置計算処理)においてマーカー4の姿勢を計算するときに生じる撮影装置11の姿勢の誤差(計算誤差)を説明する図である。 図14のステップS34において、車両1の進行方向と通路101の向きとの差が閾値よりも小さいときの補正処理を説明する図である。 図14のステップS34において、車両1の進行方向と通路101の向きとの差が閾値以上であるときの補正処理を説明する図である。 第1の実施形態の比較例に係る補正処理を実行することによって計算された車両1の軌跡103を示す図である。 図14の補正処理を実行することによって計算された車両1の軌跡104を示す図である。 図21の破線で囲まれた領域の拡大図である。 図22の破線で囲まれた領域の拡大図である。 第2の実施形態に係る測位装置12によって実行される補正処理を示すフローチャートである。 第2の実施形態に係る測位装置12を備えた車両1が移動する通路111を含む倉庫110のマップである。 第2の実施形態に係る測位装置12を備えた車両1の直進を説明する図である。 第2の実施形態に係る測位装置12を備えた車両1の旋回を説明する図である。 図26の倉庫110において車両1が移動するときのヨー軸の周りの回転角の標準偏差を示すグラフである。 第2の実施形態に係る測位装置12を備えた車両1が通路111のコーナーを通過するときに計算される車両1の軌跡を示す図である。 第2の実施形態の比較例に係る補正処理を実行することによって計算された車両1の軌跡115を示す図である。 図25の補正処理を実行することによって計算された車両1の軌跡116を示す図である。 第2の実施形態の変形例に係る測位装置12Aの構成を示すブロック図である。 第3の実施形態に係る測位装置12Bの構成を示すブロック図である。
以下、本開示に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
[第1の実施形態]
図1~図24を参照して、第1の実施形態に係る測位装置及びそれを備えた移動体について説明する。
[第1の実施形態の構成]
[全体構成]
図1は、第1の実施形態に係る車両1の構成を示す概略図である。車両1は、例えばフォークリフト又はトラックなど、有人の乗物であってもよい。また、車両1は、荷物3を搭載する荷台1aを備える。車両1は、荷物3を荷台1aに積み卸しするための昇降機構1bをさらに備えてもよい。また、車両1は、前進、後進、操舵、及び停止などのユーザ操作を受けるコンソール1cを備える。また、車両1の車体には、車両1に対して予め決められた向き(前方、後方、側方、上方、及び/又は下方)を撮影するように、撮影装置11が設置されている。
図2は、図1の車両1を含む測位システムの構成を示すブロック図である。図2の測位システムは、少なくとも1つの車両1と、サーバ装置2とを含む。各車両1は、撮影装置11によって撮影された画像に基づいて、その位置を測定する測位装置12を備える。サーバ装置2は、各車両1からそれらの位置を取得し、各車両1の位置を記録する。
[車両1の構成]
車両1は、撮影装置11、測位装置12、通信装置13、表示装置14、及び駆動機構15を備える。
撮影装置11は、車両1の移動中に、所定時間ごとに、車両1に対して予め決められた向きにおける被写体の画像を生成する。撮影装置11は、例えば、少なくとも1つのカメラを含む。撮影装置11は、所定時間ごとに静止画像を撮影してもよく、動画像の一連のフレームから所定時間ごとにフレームを抽出してもよい。撮影装置11は、撮影した画像を測位装置12に送る。撮影装置11は、各画像に、当該画像を撮影した時刻のタイムスタンプを付与する。
測位装置12は、撮影装置11によって撮影された画像に基づいて、車両1の位置を測定する。測位装置12は、撮影装置11によって撮影された複数の画像から特徴点を抽出し、抽出された特徴点を画像間で対応付けし、画像間の特徴点の変化量に基づいて、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を計算する。また、測位装置12は、撮影装置11によって撮影された画像から、予め決められた位置に配置されて視覚的に識別可能な複数のマーカーのうちの1つを抽出し、抽出された1つのマーカーに基づいて、予め与えられたマップにおける車両1の絶対位置及び絶対姿勢を計算する。測位装置12はさらに、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正する。
本明細書において、車両1の「姿勢」は、例えば、所定の座標系(後述する「世界座標系」又は「マーカー座標系」)の座標軸に対する車両1の進行方向の角度を示す。
通信装置13は、Wi-Fi又はBluetoothなどのモジュール及びその制御プログラムを備え、サーバ装置2と無線で通信する。通信装置13は、測位装置12によって計算された車両1の位置及び姿勢をサーバ装置2に送信する。
表示装置14は、車両1の位置をマップの上に表示してもよい。また、表示装置14は、車両1の動作に関する警報などを表示してもよい。
駆動機構15は、車両1のエンジン又はモータ、操舵装置、制動装置、及びそれらの制御装置などを含む。駆動機構15は、例えば、コンソール1cを介してユーザによって制御される。
[サーバ装置2の構成]
図2のサーバ装置2は、処理装置21、通信装置22、入力装置23、記憶装置24、及び表示装置25を備える。処理装置21は、例えば、プロセッサ及びメモリなどを含む汎用のコンピュータである。通信装置22は、車両1の通信装置13と通信可能に接続される。入力装置23は、キーボード及びポインティングデバイスなどを含む。記憶装置24は、車両1から受信した車両1の位置及び姿勢を記録する。表示装置25は、車両1から受信した車両1の位置及び姿勢を表示する。処理装置21は、通信装置22を介して各車両1からそれらの位置を取得し、各車両1の位置を記憶装置24に記録し、また、各車両1の位置を表示装置25に表示する。
表示装置25は、車両1の測位装置12によって計算された車両1の位置及び姿勢を表示する。処理装置21は、車両1の移動範囲(倉庫又は工場など)のマップを予め取得し、測位装置12によって計算された車両1の位置及び姿勢をこのマップ上に重畳して表示装置25に表示してもよい。それに代わって、処理装置21は、車両1の移動経路に基づいて処理装置21自体によりマップを生成し、このマップを表示装置25に表示してもよい。
[測位装置12の構成]
図3は、図2の測位装置12の構成を示すブロック図である。測位装置12は、画像処理器31、相対位置計算器32、画像認識器33、絶対位置計算器34、記憶装置35、及び補正器36を備える。
記憶装置35は、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4の識別子、位置、及び姿勢の情報と、車両1のための通路を含むマップ(例えば、図4を参照して説明する倉庫100のマップ)の情報とを格納する。マーカー4の位置は、所定の基準位置に対する相対位置として表されてもよく、及び/又は、マップに関連付けて表されてもよい。
図4は、図1の車両1が移動する通路101を含む倉庫100のマップである。倉庫100は、複数の通路101及び複数の棚102などの構造物を含む。倉庫100における予め決められた複数の位置に、複数のマーカー4が予め配置される。図1の車両1は、通路101を移動して、ある棚102から他の棚102に荷物3を搬送する。車両1及び各マーカー4の位置は、倉庫100の全体に対して決められた世界座標系(Xw,Yw,Zw)によって表される。
図5は、図4のマーカー4の例を示す図である。図5の例では、マーカー4は正方形の平板として形成される。マーカー4は、その1つの面において、マーカー4自体の識別子を符号化した視覚的に識別可能なパターンを有する。図5の例では、マーカー4は、縦横に7×7個の白又は黒の正方形のセルからなるパターンを有する。マーカー4のパターンはさらに、例えば拡張現実の分野で使用されるマーカー(「ARマーカー」ともいう)のように、マーカー4を撮影した画像からマーカー4自体の姿勢を検出可能であるように形成される。各マーカー4は、その任意の点(例えば、中心、又は1つの頂点)を原点とするマーカー座標系(Xm,Ym,Zm)を有する。図5の下段及び他の図面では、Xm-Ym面に沿った面の中央における矢印によってマーカー4の正面(Zm軸の正の向き)を示す。
図6は、図3の記憶装置35に格納されたマーカー情報の例を示すテーブルである。図6の例では、図4に示す2つのマーカー4の情報を示す。各マーカー4は、識別子001、002を有する。この識別子は、マーカー4のパターンに符号化されている。また、各マーカー4は、世界座標系(Xw,Yw,Zw)において所定の座標を有する。また、各マーカー4は、その正面(Zm軸の正の向き)がXw-Yw面内においてXw軸を基準として角度θ(すなわち方位角)を有するような姿勢で配置される。各マーカー4の姿勢は、方位角及び仰角によって表されてもよい。また、各マーカー4は、30cm×30cmのサイズを有する。
記憶装置35は、すべてのマーカー4について、例えば、図6に示すような項目を含むマーカー情報を格納する。また、記憶装置35は、すべての通路101について、その向き、寸法、及び配置を含むマップ情報を格納する。
図7は、図1の撮影装置11によって撮影された画像40の例を示す図である。画像40は複数の特徴点41を含む。特徴点41は、輝度値あるいは色が周囲の画素と区別でき、その位置を正確に決定することができる点である。特徴点41は、例えば、車両1が移動する通路101又は棚102などの構造物の頂点又はエッジ、床、壁、又は天井の模様から検出される。また、車両1がマーカー4の近傍を通過するとき、画像40はマーカー4を含む。画像40における特徴点41及びマーカー4の位置は、例えば、画像40の任意の点(例えば、左上のコーナー)を原点とする画像座標系(Xi,Yi)によって表される。
再び図3を参照すると、画像処理器31は、所定時間だけ離れた複数の時刻において撮影装置11によってそれぞれ撮影された複数の画像から、対応する特徴点の座標を抽出する。相対位置計算器32は、時間的に隣接した2つの画像における特徴点の移動量に基づいて、車両1の移動量を計算する。これにより、相対位置計算器32は、複数の画像の特徴点の座標に基づいて、所定の基準位置及び基準姿勢(例えば、車両1が移動を開始したときの位置及び姿勢)に対する車両1の相対位置及び相対姿勢を計算する。相対位置計算器32は、例えば、Visual-SLAM又はVisual-Odometryなど、公知の画像処理及び測位の技術を用いて、車両1の相対位置及び相対姿勢を計算してもよい。基準位置及び基準姿勢は、記憶装置35に格納されたマップの情報に関連付けられる。また、相対位置計算器32は、相対位置及び相対姿勢に、それらの計算に関連付けられた画像(時間的に隣接した2つの画像のうちの後者)のタイムスタンプを付与する。
相対位置計算器32は、計算した車両1の位置を、例えば、直交座標(XYZ座標)により表してもよい。相対位置計算器32は、計算した車両1の位置及び時刻に基づいて、車両1の速度及び/又は加速度を計算してもよい。相対位置計算器32は、計算した車両1の姿勢を、ロール(左右の傾き)、ピッチ(前後の傾き)、及びヨー(床面に垂直な軸(すなわち、図4のZw軸)の周りの回転)により表してもよい。これにより、地面に平行な水平面内における車両1の向きだけでなく、車両1の車体の傾斜を表したり、車両1の高さ方向の移動を表したりすることができる。
本明細書では、画像処理器31及び相対位置計算器32を合わせて、「第1の計算器」ともいう。また、本明細書では、相対位置及び相対姿勢を「第1の位置」及び「第1の姿勢」ともいう。
画像認識器33は、撮影装置11によって撮影された画像から、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4のうちの1つを抽出する。絶対位置計算器34は、抽出された1つのマーカー4の位置及び姿勢に基づいて、記憶装置35に格納されたマーカー4の情報及びマップの情報を参照することにより、マップ(すなわち世界座標系)における車両1の位置及び姿勢を示す車両1の絶対位置及び絶対姿勢を計算する。また、絶対位置計算器34は、絶対位置及び絶対姿勢に、それらの計算に関連付けられた画像のタイムスタンプを付与する。
本明細書では、画像認識器33及び絶対位置計算器34を合わせて、「第2の計算器」ともいう。また、本明細書では、絶対位置及び絶対姿勢を「第2の位置」及び「第2の姿勢」ともいう。
補正器36は、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正し、車両1の補正された位置及び補正された姿勢を生成する。補正器36は、相対位置及び相対姿勢のタイムスタンプと、絶対位置及び絶対姿勢のタイムスタンプとに基づいて、絶対位置及び絶対姿勢を相対位置及び相対姿勢と同期させる。補正器36は、例えば、予め決められた閾値より小さい時間差を有し、最も近接したタイムスタンプを有する相対位置及び相対姿勢と絶対位置及び絶対姿勢とを、同じ画像から計算されたものとみなしてもよい。
測位装置12の各構成要素31~36のうちの少なくとも一部が一体化されてもよい。例えば、画像処理器31及び画像認識器33を一体化してもよい。また、測位装置12の各構成要素31~36は、専用回路として実装されてもよく、汎用のプロセッサによって実行されるプログラムとして実装されてもよい。
[第1の実施形態の動作]
所定時間にわたって相対位置及び相対姿勢を計算し続けると、時間の経過に従って位置及び姿勢の誤差が累積的に増大する。補正器36は、前述のように、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正する。絶対位置及び絶対姿勢を正確に計算することができれば、相対位置及び相対姿勢を計算する過程で発生する累積誤差を解消し、従って、車両1の位置及び姿勢を正しく計算することができる。しかしながら、マーカー4を設置するときにマーカー4自体の姿勢に誤差(「設置誤差」ともいう)が生じることがある。これにより、記憶装置35に格納されたマーカー4の角度θ(図6を参照)と、実際に設置されたマーカー4の角度とが不一致する。また、絶対位置及び絶対姿勢を計算するときに誤差、例えば、撮影装置11から見たマーカー4の位置又は姿勢の誤差、マーカー4から見た撮影装置11の位置又は姿勢の誤差(これらを「計算誤差」ともいう)が生じることがある。これらの誤差に起因して、車両1の位置及び/又は姿勢の精度が低下するおそれがある。
このため、第1の実施形態に係る測位装置12では、補正器36は、車両1が通路101に沿って移動していると判断されるとき、車両1の絶対姿勢に代えて、通路101の向きに基づいて車両1の相対姿勢を補正する。詳しくは、補正器36は、抽出された1つのマーカー4が通路101に沿って配置され、かつ、補正された位置及び補正された姿勢を有する車両1の進行方向と、通路101の向きとの角度差が予め決められた閾値よりも小さいとき、絶対姿勢に代えて通路101の向きに基づいて相対姿勢を補正する。これにより、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正するとき、絶対姿勢の誤差による影響を低減し、車両1の位置及び姿勢を高精度に測定することができる。
以下、測位装置12の動作について詳細に説明する。
[測位処理の全体]
図8は、図2の測位装置12によって実行される測位処理を示すフローチャートである。
ステップS1において、測位装置12は、撮影装置11によって撮影された画像を取得する。ステップS2において、画像処理器31及び相対位置計算器32は、相対位置計算処理を実行し、車両1の相対位置及び相対姿勢を計算する。ステップS3において、画像認識器33及び絶対位置計算器34は、絶対位置計算処理を実行し、車両1の絶対位置及び絶対姿勢を計算する。ステップS2及びS3は、図8に示すように並列に実行されてもよく、逐次に実行されてもよい。ステップS4において、補正器36は、補正処理を実行し、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正し、車両1の補正された位置及び補正された姿勢を生成する。ステップS5において、補正器36は、車両1の補正された位置及び補正された姿勢を、通信装置13及び表示装置14に出力する。
[相対位置計算処理]
図9は、図8のステップS2(相対位置計算処理)のサブルーチンを示すフローチャートである。
ステップS11において、画像処理器31は、所定時間だけ離れた第1及び第2の時刻にそれぞれ撮影された(例えば、時間的に隣接したフレームの)第1及び第2の画像を取得する。
ステップS12において、画像処理器31は、第1の画像から特徴点を検出する。画像から特徴点を検出するために、例えば、FAST(Features from Accelerated Segment Test)のような画像処理技術を使用してもよい。
ステップS13において、画像処理器31は、第2の画像から、第1の画像の特徴点に対応する特徴点を検出する。画像間で対応する特徴点を検出するために、例えば、KLT(Kanade-Lucas-Tomasi)トラッカーのような公知の画像処理技術を使用してもよい。
図10は、図3の画像処理器31によって抽出される特徴点を示す図である。図10(a)は時刻nにおける画像40(n)から抽出される特徴点F1,F2を示す。図10(b)は時刻n’における画像40(n’)から抽出される特徴点F1’,F2’を示す。図10(a)の画像40(n)の画像座標系において、特徴点F1は座標(xi1,yi1)を有し、特徴点F2は座標(xi2,yi2)を有する。図10(b)の画像40(n’)の画像座標系において、特徴点F1’は座標(xi1’,yi1’)を有し、特徴点F2’は座標(xi2’,yi2’)を有する。図10(b)の特徴点F1’,F2’は、図10(a)の特徴点F1,F2にそれぞれ対応する。
図9のステップS14において、画像処理器31は、第1及び第2の画像における対応する特徴点の座標の組を取得する。画像処理器31は、例えば、特徴点F1,F1’の座標の組(xi1,yi1,xi1’,yi1’)を取得し、特徴点F2,F2’の座標の組(xi2,yi2,xi2’,yi2’)を取得する。
ステップS15において、相対位置計算器32は、ステップS14において取得された特徴点の座標に基づいて、例えば5点アルゴリズムを用いて、3×3個の要素からなる基礎行列Eを計算する。
ステップS16において、相対位置計算器32は、基礎行列Eに対して特異値分解を行うことにより、第1及び第2の画像を撮影した時刻の間における車両1の移動を表す回転行列R及び並進ベクトルtを計算する。回転行列Rは、第1及び第2の画像を撮影した時刻の間における車両1の姿勢の変化を示す。並進ベクトルtは、第1及び第2の画像を撮影した時刻の間における車両1の位置の変化を示す。
回転行列R及び並進ベクトルtの計算は、例えば、以下のように定式化される。
基礎行列Eは、特異値分解を行うことにより、E=UΣVとして表される。ここで、Σは、3×3個の要素からなる対角行列Σであり、U,Vは、3×3個の要素からなる直交行列である。
回転行列Rは、3×3個の要素からなる次式の行列Wを用いて、R=UW-1により計算される。
Figure 0007336753000001
また、並進ベクトルtを計算するために、3×3個の要素からなる行列T=VWΣVが計算される。行列Tは、E=TRを満たし、次式で表される。
Figure 0007336753000002
並進ベクトルtは、行列Tの成分により、t=(t,t,tとして表される。
ステップS17において、相対位置計算器32は、車両1の相対位置及び相対姿勢を計算して出力する。直前の時刻n-1において車両1が相対位置t(n-1)及び相対姿勢R(n-1)を有するとき、現在の時刻nにおいて、車両1の相対位置t(n)は、ステップS16において計算された並進ベクトルtを用いて、t(n)=t(n-1)+tR(n-1)により表される。また、現在の時刻nにおいて、車両1の相対姿勢R(n)は、ステップS16において計算された回転行列Rを用いて、R(n)=RR(n-1)で表される。このように、相対位置計算器32は、複数の並進ベクトルを累積的に加算し、複数の回転行列を累積的に乗算することにより、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を計算する。
[絶対位置計算処理]
図11は、図8のステップS3(絶対位置計算処理)のサブルーチンを示すフローチャートである。
ステップS21において、画像認識器33は、画像からマーカー4を検出する。ここで、画像認識器33は、画像座標系において四角形のマーカー4の4つの頂点(コーナー)の座標を検出し、また、マーカー4のパターンを復号してマーカー4の識別子を取得する。なお、画像認識器33は、マーカー4の4つの頂点に代えて、予め決められたいくつかの点の座標を検出してもよい。
図12は、マーカー座標系におけるマーカー4の頂点の座標を示す図である。マーカー座標系(Xm,Ym,Zm)において、マーカー4の4つの頂点は、座標(xm0,ym0,zm0)、(xm1,ym1,zm1)、(xm2,ym2,zm2)、及び(xm3,ym3,zm3)をそれぞれ有する。マーカー4の寸法は既知であるので、マーカー座標系におけるマーカー4の4つの頂点の座標もまた既知である。例えば、図12のマーカー4の左上の頂点がマーカー座標系(Xm,Ym,Zm)の原点であり、かつ、マーカー4が30cm×30cmのサイズを有する場合、マーカー4の頂点は、例えば、座標(xm0,ym0,zm0)=(0,0,0)、(xm1,ym1,zm1)=(0.3,0,0)、(xm2,ym2,zm2)=(0,0.3,0)、及び(xm3,ym3,zm3)=(0.3,0.3,0)を有する。
図13は、図1の撮影装置11によって撮影された画像40におけるマーカー4の頂点の座標を示す図である。画像座標系(Xi,Yi)において、マーカー4の4つの頂点は、座標(xi0,yi0)、(xi1,yi1)、(xi2,yi2)、及び(xi3,yi3)をそれぞれ有する。
図11のステップS22において、絶対位置計算器34は、ステップS21において検出されたマーカー4の座標に基づいて、撮影装置11を原点とする3次元座標系(カメラ座標系)におけるマーカー4の位置及び姿勢(すなわち、撮影装置11から見たマーカー4の位置及び姿勢)を計算する。例えば、絶対位置計算器34は、2次元の画像座標系におけるマーカー4の4つの頂点の座標と、3次元のマーカー座標系におけるマーカー4の4つの頂点の座標とに基づいて、PnP(perspective n point)問題を解くことにより、撮影装置11から見たマーカー4の位置及び姿勢を計算する。
ステップS23において、絶対位置計算器34は、マーカー座標系における撮影装置11の位置及び姿勢(すなわち、マーカー4から見た撮影装置11の位置及び姿勢)を計算する。ここで、撮影装置11から見たマーカー4の位置を並進ベクトルtにより示し、撮影装置11から見たマーカー4の姿勢を回転行列Rにより示す。この場合、マーカー4から見た撮影装置11の姿勢は、R-1により表され、マーカー4から見た撮影装置11の位置は、-R-1tにより表される。
ステップS24において、絶対位置計算器34は、ステップS21において検出されたマーカー4の識別子に基づいて、記憶装置35から、世界座標系におけるマーカー4の位置及び姿勢(すなわち、マーカー4の絶対位置及び絶対姿勢)を読み出す。絶対位置計算器34は、ステップS24をステップ22の前に実行してもよく、ステップS24をステップS22と並列に実行してもよい。
ステップS25において、絶対位置計算器34は、ステップS23において計算されたマーカー座標系における撮影装置11の位置及び姿勢と、ステップS24において読み出された世界座標系におけるマーカー4の位置及び姿勢とに基づいて、世界座標系における車両1の位置及び姿勢(すなわち、車両1の絶対位置及び絶対姿勢)を計算する。マーカー座標系における撮影装置11の位置及び姿勢に対して、世界座標系におけるマーカー4の位置及び姿勢をオフセット値として加算することにより、世界座標系における車両1の位置及び姿勢が得られる。
[補正処理]
図14は、図8のステップS4(補正処理)のサブルーチンを示すフローチャートである。
ステップS31において、補正器36は、車両1の相対位置及び絶対位置に基づいて、車両1の補正移動量を計算する。
図15は、図14のステップS31において計算される補正移動量を説明する図である。図15は、測位装置12によって計算される車両1の位置を示す。時刻n-2~n+2において、車両1は相対位置P(n-2)~P(n+2)を有する。車両1が相対位置P(n)に到来したとき、測位装置12はマーカー4を検出する。このとき、マップ上では相対位置P(n)がマーカー4から遠隔していても、実際には、車両1はマーカー4の近傍に位置していると考えられる。従って、測位装置12は、相対位置P(n)とマーカー4の位置との差を補正移動量τとして計算する。測位装置12は、相対位置P(n)に補正移動量τを加算して、補正された位置P’(n)を得る。その後も同様に、測位装置12は、相対位置P(n+1),P(n+2),…に補正移動量τを加算して、補正された位置P’(n+1),P’(n+2),…を得る。
図14のステップS32において、補正器36は、車両1の補正移動量を車両1の相対位置に加算する。
ステップS33において、補正器36は、車両1の相対姿勢及び絶対姿勢に基づいて、車両1の補正回転量を計算する。
図16は、図14のステップS33において計算される補正回転量を説明する図である。図16は、測位装置12によって計算された車両1の位置P,P’及び姿勢A,A’を示す。時刻n-2~n+2において、車両1は相対位置P(n-2)~P(n+2)及び相対姿勢A(n-2)~A(n+2)を有する。図16において、太矢印は車両1の姿勢を示す。車両1が相対位置P(n)に到来したとき、測位装置12はマーカー4を検出し、車両1の絶対姿勢を計算する。測位装置12は、相対位置P(n)を回転の中心として、相対姿勢A(n)と絶対姿勢との差を補正回転量ρとして計算する。測位装置12は、相対姿勢A(n)に補正回転量ρを加算して、補正された姿勢A’(n)を得る。その後も同様に、測位装置12は、相対姿勢A(n+1),A(n+2),…に補正回転量ρを加算して、補正された姿勢A’(n+1),A’(n+2),…を得る。
ステップS33において、補正器36は、予め決められた時間長にわたって計算された(又は、予め決められた個数の連続した画像に対応する)複数の相対姿勢の平均値と、絶対姿勢との差を、車両1の補正回転量として計算してもよい。車両1の相対姿勢の瞬時値だけでは、車両1の実際の進行方向(例えば、車両1が通路101に沿って移動しているのか否か)を判断することができない。また、車両1の相対姿勢は誤差を含む可能性がある。従って、複数の相対姿勢の平均値を用いることにより、車両1の実際の進行方向を正確に判断することができる。
絶対位置及び絶対姿勢を正確に計算することができれば、車両1の位置及び姿勢を正しく計算することができる。しかしながら、前述のように、マーカー4自体の姿勢に設置誤差が生じることがあり、また、絶対位置及び絶対姿勢を計算するときに計算誤差が生じることがある。
図17は、図4のマーカー4を設置するときに生じるマーカー4の姿勢の誤差(設置誤差)を説明する図である。図17に示すように、マーカー4を設置するときにマーカー4自体の姿勢に設置誤差が生じることがある。例えば、3mの幅を有する通路101の壁にα=5度の設置誤差を有してマーカー4を設置した場合、車両1が通路101に沿って35m進むと、車両1の相対位置は、35m×sin(5度)=3.05mにわたって変化し、通路101の幅からはみ出してしまう。
図18は、図8のステップS3(絶対位置計算処理)においてマーカー4の姿勢を計算するときに生じる撮影装置11の姿勢の誤差(計算誤差)を説明する図である。図18に示すように、絶対位置及び絶対姿勢を計算するとき、マーカー4から見た撮影装置11の位置又は姿勢に計算誤差が生じることがある。同様に、絶対位置及び絶対姿勢を計算するとき、撮影装置11から見たマーカー4の位置又は姿勢に計算誤差が生じることがある。
前述のように、通路101の向き、寸法、及び配置は、マップ情報の一部として記憶装置35に格納されている。従って、測位装置12は、車両1が通路101に沿って移動していると判断されるとき、車両1の絶対姿勢に代えて、通路101の向きに基づいて車両1の相対姿勢を補正する。これにより、マーカー4自体の姿勢に設置誤差があっても、また、絶対位置及び絶対姿勢を計算するときに計算誤差が生じても、それらの誤差の影響を低減することができる。
図14のステップS34において、補正器36は、絶対位置及び絶対姿勢の計算に使用したマーカー4が通路101に沿って配置され、かつ、補正された位置及び補正された姿勢を有する車両1の進行方向と、通路101の向きとの角度差が予め決められた閾値より小さいか否かを判断し、YESのときはステップS35に進み、NOのときはステップS36に進む。言い換えると、ステップS34において、補正器36は、車両1の絶対姿勢の向きと通路101の向きとの角度差が閾値よりも小さいか否かを判断する。
ステップS34の閾値は、例えば、設置誤差及び計算誤差の両方を考慮して設定されてもよい。例えば、倉庫100に配置された複数のマーカー4が平均で5度の設置誤差を有し、また、各マーカー4を10m以下の距離でさまざまな位置から撮影して車両1の姿勢を計算したときに、平均で6度の計算誤差が生じる場合を想定する。この場合、閾値は、例えば、5+6=11度に設定されてもよい。
図14のステップS34において、車両1の進行方向は、上述のように、マーカー4に基づいて計算された絶対姿勢によって表されてもよい。それに代わって、車両1の進行方向は、補正された位置を有する車両1の直近の移動を示すベクトルの向きによって表されてもよい。ここで、「直近の移動」とは、予め決められた時間長にわたって先行する時刻から現在時刻までの移動、又は、予め決められた個数だけ先行する画像から現在の画像までの移動を示す。例えば、図16に示すように、時刻n~n+1において車両1が補正された位置P’(n)~P’(n+1)を有する場合、時刻n+1における車両1の進行方向は、位置P’(n)から位置P’(n+1)へのベクトルの向きによって表される。この場合、図14のステップS33は、ステップS34の前に代えて、ステップS34がNOのときに実行されてもよい。これにより、補正器36の計算量を低減することができる。
また、ステップS34において、補正器36は、予め決められた時間長にわたって、又は、予め決められた個数の連続した画像に対応して、補正された位置を有する車両1の直近の移動を示すベクトルの向きを計算してもよい。この場合、車両1の進行方向は、複数のベクトルの向きの平均値によって表されてもよい。複数のベクトルの平均値を用いることにより、車両1の実際の進行方向を正確に判断することができる。
ステップS35において、補正器36は、絶対姿勢に代えて、通路101の向きに基づいて車両1の補正回転量を計算する。
図19は、図14のステップS34において、車両1の進行方向と通路101の向きとの差が閾値よりも小さいときの補正処理を説明する図である。図19は、測位装置12によって計算された車両1の位置P,P’,P”及び姿勢A,A’,A”を示す。時刻n-1~n+1において、車両1は相対位置P(n-1)~P(n+1)及び相対姿勢A(n-1)~A(n+1)を有する。車両1が相対位置P(n)に到来したとき、測位装置12はマーカー4を検出し、車両1の絶対姿勢を計算する。補正器36は、相対位置P(n)を回転の中心として、相対姿勢A(n)と絶対姿勢との差を補正回転量ρ1として計算する。相対姿勢A(n)に補正回転量ρ1を加算したとき、絶対姿勢(マーカー4)に基づいて補正された姿勢A’(n)が得られる。ここで、補正された姿勢A’(n)を有する車両1の進行方向と、通路101の向き101aとの角度差φ1が予め決められた閾値より小さい場合、実際には、車両1が通路101に沿って移動していると考えられる。従って、この場合、補正器36は、通路101の向き101aに基づいて車両1の補正回転量ρ2を計算する。補正器36は、相対姿勢A(n)に補正回転量ρ2を加算して、通路101の向きに基づいて補正された姿勢A”(n)を得る。
図20は、図14のステップS34において、車両1の進行方向と通路101の向きとの差が閾値以上であるときの補正処理を説明する図である。車両1が相対位置P(n)に到来したとき、測位装置12はマーカー4を検出し、車両1の絶対姿勢を計算する。補正器36は、相対位置P(n)を回転の中心として、相対姿勢A(n)と絶対姿勢との差を補正回転量ρ3として計算する。相対姿勢A(n)に補正回転量ρ3を加算したとき、絶対姿勢(マーカー4)に基づいて補正された姿勢A’(n)が得られる。ここで、補正された姿勢A’(n)を有する車両1の進行方向と、通路101の向き101aとの角度差φ2が予め決められた閾値以上である場合、車両1が通路101の向き101aに沿って移動していないと考えられる。従って、この場合、補正器36は、通路101の向き101aに基づく補正回転量を計算しない。
図14のステップS36において、補正器36は、車両1の補正回転量を車両1の相対姿勢に加算する。ここで、補正器36は、ステップS34がYESであった場合、ステップS35において通路101の向き101aに基づいて計算された補正回転量を用いて、通路101の向きに基づいて補正された姿勢を計算する。一方、補正器36は、ステップS34がNOであった場合、ステップS33において絶対姿勢(マーカー4)に基づいて計算された補正回転量を用いて、絶対姿勢(マーカー4)に基づいて補正された姿勢を計算する。
図21は、第1の実施形態の比較例に係る補正処理を実行することによって計算された車両1の軌跡103を示す図である。図22は、図14の補正処理を実行することによって計算された車両1の軌跡104を示す図である。図23は、図21の破線で囲まれた領域の拡大図である。図24は、図22の破線で囲まれた領域の拡大図である。図21~図24では、説明のため、各マーカー4の一辺に設けた突起によりマーカー4の正面(図5のZm軸)を示すが、実際には、このような突起はない。図21は、図14のステップS34~S35を実行しない場合を示す。図21によれば、マーカー4自体の姿勢の誤差、及び/又は、絶対位置及び絶対姿勢を計算するときの誤差に起因して、計算された車両1の軌跡103は蛇行し、また、通路101からはみ出している。一方、図22によれば、通路101の向きに基づいて車両1の相対姿勢を補正することにより、誤差の影響を低減することができ、計算された車両1の軌跡104において、蛇行及びはみ出しは小さくなっていることがわかる。
図23及び図24を参照すると、軌跡104は軌跡103よりも通路101に沿って直進するので、例えばマーカー4-4を省略してもよいと考えられる。このようにマーカー4の個数を減少させることにより、測位システムのコストを低減することができる。
第1の実施形態によれば、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正することにより、車両1の位置及び姿勢を高精度に測定することができる。また、第1の実施形態によれば、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正するとき、通路101の向きに基づいて車両1の相対姿勢を補正することにより、絶対姿勢の誤差による影響を低減し、車両1の位置及び姿勢をより高精度に測定することができる。
第1の実施形態によれば、撮影装置11を用いることにより、倉庫又は工場など、GPS衛星からの電波を受信できない屋内であっても、車両1の位置を安価に測定することができる。無線信号を送信するための多数の無線送信機を設置する必要がないので、初期導入コストを低減できる。
第1の実施形態によれば、測位結果から得られる車両1の移動経路に基づいて、業務改善を行うことができる。
第1の実施形態によれば、車両1の移動距離に基づいて、保守の要否、リース契約の更改の要否、などに活用することができる。
第1の実施形態によれば、車両1の移動のヒートマップに基づいて、倉庫又は工場における通路又は棚などの配置を最適化することができる。
第1の実施形態によれば、各車両1の軌跡の違いに基づいて、各車両1が移動中に互いにすれ違う場所を可視化することができ、経路及び通路幅を見直して安全性を向上させることができる。
[第1の実施形態の変形例]
図14の例では、補正回転量の計算(ステップS33)を常に実行する場合について説明した。しかしながら、複数の画像にわたってマーカー4が連続的に検出され、車両1の絶対位置を連続的に計算できる場合には、これらの絶対位置に基づいて車両1の進行方向(すなわち姿勢)がわかるので、補正回転量の計算は不要である。従って、複数の画像にわたってマーカー4が連続的に検出されている場合、補正器36は、図14のステップS33~S35をスキップしてもよい。この場合、ステップS36において、補正器36は、以前に計算されて内部に保持された最新の補正回転量を、車両1の相対姿勢に加算する。ここで、「連続的に検出する」とは、例えば、ある時刻nにおいて、ある識別子(例えば、ID:010)を有するマーカー4を検出したとき、予め決められた閾値時間(例えば1秒間)内に、同じ識別子を有するマーカー4を検出することを意味する。補正器36は、絶対位置計算器34から絶対位置及び絶対姿勢が連続的に入力されているとき、マーカー4が連続的に検出されていると判断する。
一方、車両1の移動中において、撮影装置11の視野に常にマーカー4が存在するとは限らず、従って、常にマーカー4を検出できるとは限らない。ある識別子を有するマーカー4を検出してから、閾値時間内に同じ識別子を有するマーカー4を検出しなかったとき、補正器36は、最後に検出されたマーカー4に対応する絶対位置及び絶対姿勢を内部に保持する。以後、補正器36は、マーカー4が検出されない間には、相対位置計算器32から連続的に入力される相対位置及び相対姿勢と、内部に保持した最新の絶対位置及び絶対姿勢(最後に検出されたマーカー4に対応する)とに基づいて、車両1の補正移動量及び補正回転量を計算する。
上述した例では、補正器36が、相対位置及び相対姿勢を絶対位置及び絶対姿勢によって上書きせず、絶対位置及び絶対姿勢を相対位置及び相対姿勢と別個に管理する場合について説明した。それに代わって、補正器36が相対位置及び相対姿勢を絶対位置及び絶対姿勢によって上書きし、その後、この絶対位置及び絶対姿勢を新たな基準位置及び基準姿勢として、相対位置及び相対姿勢を計算してもよい。
撮影装置11は、被写体の画像を生成するとともに、撮影装置11から被写体の各点までの距離を検出するように構成されてもよい。撮影装置11は、被写体までの距離を検出するため、例えば、RGB-Dカメラなどのデプスセンサ、又はToF(Time of Flight)センサを含んでもよい。それに代わって、撮影装置11は、被写体までの距離を検出するため、所定距離だけ互いに離れた配置された2つのカメラを含むステレオカメラであってもよい。
撮影装置11が距離を検出する場合、相対位置計算器32は、公知のICP(iterative closest point)アルゴリズムなどを用いて、車両1の相対位置及び相対姿勢を計算してもよい。
図9の相対位置計算処理では、FAST及びKLTトラッカーを用いる例を説明したが、他の方法を用いてもよい。例えば、画像処理で一般的であるSIFT(Scale Invariant Feature Transform)又はORB(Oriented FAST and Rotated BRIEF)を用いた特徴点検出処理及び特徴点マッチング処理などを用いてもよい。
図4他では、通路101が直線区間のみを含む場合を示したが、通路101は、少なくとも一部において、曲線区間を含んでもよい。測位装置12は、通路101の曲線区間に設けられたマーカー4を検出したとき、このマーカー4の近傍における通路101の向きに基づいて、図19及び図20などを参照して説明した例と同様に、車両1の相対姿勢を補正することができる。
マーカー4が通路101の直線区間の中間に配置されている場合、絶対位置及び絶対姿勢を高精度に計算できると期待される。一方、マーカー4が通路101の交差点又は出入口の付近に配置されている場合、車両1はマーカー4の近傍を直進するとは限らず、計算された絶対位置及び絶対姿勢の誤差が大きくなる可能性がある。従って、複数のマーカー4のうちの一部は、絶対位置及び絶対姿勢を計算するために(すなわち、位置及び姿勢を補正するために)使用されない補助マーカーであってもよい。補助マーカーは、例えば、車両1の出発地、目的地、又は他のチェックポイントとなりうる何らかの構造物(倉庫100の出入口、通路101の交差点、特定の棚102、など)の近傍に配置される。補助マーカーは、車両1から撮影可能であるならば、通路101に沿って配置されなくてもよい。測位装置12は、補助マーカーを検出することにより、車両1が特定のチェックポイントに到達したことを認識することができる。この場合、記憶装置35に格納されたマーカー情報のテーブルは、各マーカー4が補助マーカーであるか否かを示す項目をさらに含む。また、この場合、マーカー情報のテーブルは、補助マーカーについては、その位置及び姿勢の情報をもたなくてもよい。また、マーカー情報のテーブルは、各マーカー4が補助マーカーであるか否かを示す項目に代えて、当該マーカー4に基づいて計算される絶対位置及び絶対姿勢の信頼度を示す項目を含んでもよい。
車両1及びサーバ装置2は、通信装置13、22に代えて、SDカードなど、着脱可能な記憶媒体を用いてもよい。車両において計算した当該車両の位置及び姿勢を記憶媒体に書き込み、サーバ装置2において、この記憶媒体から車両の位置及び姿勢を読み出してもよい。
車両1は、例えば無人搬送車(AGV)又はパレット搬送ロボットなど、無人の荷物運搬装置であってもよい。この場合、車両1は、サーバ装置2の制御下で駆動機構15を制御して移動する。
[第1の実施形態の効果等]
第1の実施形態によれば、測位装置12は、第1の計算器、記憶装置35、第2の計算器、及び補正器36を備える。第1の計算器は、車両1に搭載された撮影装置11によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を示す車両1の第1の位置及び第1の姿勢を計算する。記憶装置35は、予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4の識別子、位置、及び姿勢の情報と、車両1のための通路101を含むマップの情報とを格納する。第2の計算器は、撮影装置11によって撮影された画像から複数のマーカー4のうちの1つを抽出し、抽出された1つのマーカー4の位置及び姿勢に基づいて、マップにおける車両1の位置及び姿勢を示す車両1の第2の位置及び第2の姿勢を計算する。補正器36は、第2の位置及び第2の姿勢に基づいて第1の位置及び第1の姿勢を補正し、車両1の補正された位置及び補正された姿勢を生成する。補正器36は、抽出された1つのマーカー4が通路101に沿って配置され、かつ、補正された位置及び補正された姿勢を有する車両1の進行方向と、通路101の向きとの角度差が予め決められた閾値よりも小さいとき、第2の姿勢に代えて通路101の向きに基づいて第1の姿勢を補正する。
これにより、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正することにより、車両1の位置及び姿勢を高精度に測定することができる。また、絶対位置及び絶対姿勢に基づいて相対位置及び相対姿勢を補正するとき、通路101の向きに基づいて車両1の相対姿勢を補正することにより、絶対姿勢の誤差による影響を低減し、車両1の位置及び姿勢をより高精度に測定することができる。
第1の実施形態によれば、補正器36は、第2の姿勢の向きと通路101の向きとの角度差が閾値よりも小さいとき、第2の姿勢に代えて通路101の向きに基づいて第1の姿勢を補正してもよい。
これにより、補正器36は、車両1の進行方向として車両1の絶対姿勢を参照し、車両1の絶対姿勢に基づいて、車両1が通路101に沿って移動しているか否かを判断することができる。
第1の実施形態によれば、補正器36は、補正された位置を有する車両1の直近の移動を示すベクトルの向きと、通路101の向きとの角度差が閾値よりも小さいとき、第2の姿勢に代えて通路101の向きに基づいて第1の姿勢を補正してもよい。
これにより、補正器36は、車両1の進行方向として、車両1の姿勢を参照するのではなく、車両1の位置から計算されたベクトルを参照することができる。このようなベクトルを用いることで、例えばトラックなど、車両1が短時間に急速に旋回できない場合に、車両1の進行方向を高精度に表現することができる。補正器36は、このようなベクトルに基づいて、車両1が通路101に沿って移動しているか否かを高精度に判断することができる。
第1の実施形態によれば、補正器36は、予め決められた時間長にわたって、又は、予め決められた個数の連続した画像に対応して、補正された位置を有する車両1の直近の移動を示すベクトルの向きを計算してもよい。この場合、補正器36は、複数のベクトルの向きの平均値と、通路101の向きとの角度差が閾値よりも小さいとき、第2の姿勢に代えて通路101の向きに基づいて第1の姿勢を補正してもよい。
これにより、補正器36は、車両1の進行方向として、車両1の位置から計算された複数のベクトルの平均値を参照することができる。このようなベクトルの平均値を用いることで、個別のベクトルの誤差の影響を受けにくくすることができる。補正器36は、このようなベクトルの平均値に基づいて、車両1が通路101に沿って移動しているか否かを高精度かつ安定的に判断することができる。
第1の実施形態によれば、補正器36は、予め決められた時間長にわたって、又は、予め決められた個数の連続した画像に対応してそれぞれ計算された複数の相対姿勢の平均値を、絶対姿勢又は通路101の向きに基づいて補正してもよい。
これにより、補正器36は、このような相対姿勢の平均値を用いることで、個別の相対姿勢の誤差の影響を受けにくくすることができ、従って、車両1の位置及び姿勢をより高精度かつ安定的に測定することができる。
第1の実施形態によれば、撮影装置11と、測位装置12とを備えた車両1が提供されてもよい。
[第2の実施形態]
図25~図33を参照して、第2の実施形態に係る測位装置及びそれを備えた移動体について説明する。
補正器36は、前述のように、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正する。しかしながら、車両1に搭載された撮影装置11によって撮影される画像の内容が急速に変化しているとき、相対位置及び相対姿勢の誤差が増大し、また、絶対位置及び絶対姿勢の誤差も増大すると考えられる。例えば、車両1が通路のコーナーを通過しているとき、車両1が通路の直線区間を移動しているときと比較して、これらの誤差が増大すると考えられる。また、測位装置12によって計算される車両1の位置及び姿勢、特に、相対姿勢及び絶対姿勢の誤差の影響を受けやすいと考えられる。
このため、第2の実施形態に係る測位装置12では、補正器36は、車両1が旋回中であるか否かを判断し、車両1が旋回中である期間に計算された絶対姿勢を使用せず、車両1が旋回中ではない期間に計算された絶対姿勢のみを使用して、補正された姿勢を生成する。誤差を含む可能性がある絶対姿勢に基づいて、誤差を含む可能性がある相対姿勢を補正すると、補正された姿勢の信頼性がさらに悪化する。第2の実施形態によれば、車両1が旋回中である期間に計算された絶対姿勢を補正に使用しないことにより、車両1の位置及び姿勢の精度を悪化させにくくすることができる。
本開示において、「車両1が旋回中である」とは、車両1のヨー軸の周りの回転角(もしくはその分散)又は角速度が、予め決められた閾値よりも大きいことを意味する。ここで、ヨー軸とは、前述のように、床面に垂直な軸(すなわち、図4のZw軸)を示す。車両1のヨー軸の周りの回転角は、車両1の長手方向と車両1の進行方向との間の角度として定義される(すなわち、車両1の座標系において定義される)。また、車両1のヨー軸の周りの角速度は、床面に対する車両1の角速度として定義される(すなわち、静止座標系において定義される)。補正器36は、補正された姿勢を生成するために、車両1が直進している期間に計算された絶対姿勢を使用するだけでなく、閾値よりも小さな回転角又は角速度で車両1が旋回中である期間に計算された絶対姿勢を使用してもよい。
[第2の実施形態の構成]
第2の実施形態に係る測位装置12は、第1の実施形態に係る測位装置12と同様に構成される。第2の実施形態では、測位装置12によって実行される補正処理が、第1の実施形態のものとは異なる。
[第2の実施形態の動作]
図25は、第2の実施形態に係る測位装置12によって実行される補正処理を示すフローチャートである。図25の補正処理のステップS4Aは、図8の補正処理のステップS4に代えて実行される。
図25の補正処理を行うとき、補正器36は、初期状態では、以前に計算された最新の補正移動量及び補正回転量を内部に保持している。
ステップS41において、補正器36は、車両1の相対位置及び絶対位置に基づいて、車両1の補正移動量を計算する。ステップS42において、補正器36は、車両1の補正移動量を車両1の相対位置に加算する。図25のステップS41~S42は、第1の実施形態に係る図14のステップS31~S32と同様である。
ステップS43において、補正器36は、車両1が旋回中であるか否かを判断し、YESのときはステップS45に進み、NOのときはステップS44に進む。
図26は、第2の実施形態に係る測位装置12を備えた車両1が移動する通路111を含む倉庫110のマップである。倉庫110は、複数の通路111及び複数の棚112などの構造物を含む。図26では、図示の簡単化のために、マーカー4を省略している。図26は、車両1が点Aから点Bまで実際に移動した軌跡113を示す。例えば、車両1が通路111のコーナーを通過しているとき、車両1の向きが急速に変化、すなわち旋回中になる。また、例えば、車両1が棚112に対して荷物3を出し入れしているとき、車両1が右折、左折、前進、及び後退を繰り返し、車両1の向きが急速に変化、すなわち旋回中になる。
補正器36は、例えば、相対姿勢の変化に基づいて、車両1が旋回中であるか否かを判断してもよい。補正器36は、相対姿勢の変化に基づいて、車両1のヨー軸の周りの回転角又はその分散を計算し、回転角又はその分散の計算値が予め決められた閾値よりも大きいとき、車両1が旋回中であると判断してもよい。車両1のヨー軸の周りの回転角は、例えば、撮影装置11によって撮影された複数の画像から特徴点を抽出し、抽出された特徴点を画像間で対応付けし、画像間の特徴点の変化量に基づいて、所定の基準姿勢に対する車両1の相対姿勢で計算することにより得られる。
図27は、第2の実施形態に係る測位装置12を備えた車両1の直進を説明する図である。図28は、第2の実施形態に係る測位装置12を備えた車両1の旋回を説明する図である。車両1が直進しているとき、ヨー軸の周りの回転角はほぼ一定であり、その分散は小さい。一方、車両1が旋回しているとき、ヨー軸の周りの回転角が変動し、その分散は大きくなる。従って、車両1のヨー軸の周りの回転角の分散を計算することにより、車両1が旋回中であるか否かを判断することができる。
図29は、図26の倉庫110において車両1が移動するときのヨー軸の周りの回転角の標準偏差を示すグラフである。図29の領域114a~114cは、図26の対応する区間114a~114cを示す。図26の区間114a,114bは通路111のコーナーを含み、ここで、車両1は旋回する。一方、図26の区間114cでは、倉庫220の床面は凹凸を有し、これにより、車両1が旋回しなくても、ヨー軸の周りの回転角の分散が増大する。従って、車両1の旋回による分散の増大と、他の原因による分散の増大とを区別する必要がある。図29の例では、例えば閾値0.04を用いて、回転角[rad]の標準偏差が0.04より大きいとき、車両1が旋回中であると判断し、回転角の標準偏差が0.04以下であるとき、車両1が旋回中ではないと判断することができる。
また、補正器36は、車両1のヨー軸の周りの回転角に基づいて、例えば、所定時間だけ離れた第1及び第2の時刻にそれぞれ計算された回転角の差分に基づいて、車両1が旋回中であるか否かを判断してもよい。
また、補正器36は、撮影装置11の視野にマーカー4が含まれ、マーカー4に基づいて車両1の絶対姿勢が計算されているとき、絶対姿勢の変化に基づいて、車両1が旋回中であるか否かを判断してもよい。補正器36は、絶対姿勢の変化に基づいて、車両1のヨー軸の周りの回転角又はその分散を計算し、回転角又はその分散の計算値が予め決められた閾値よりも大きいとき、車両1が旋回中であると判断してもよい。
さらに、補正器36は、相対姿勢の変化及び絶対姿勢の変化の組み合わせに基づいて、車両1が旋回中であるか否かを判断してもよい。
また、補正器36は、所定時間だけ離れた第1及び第2の時刻に撮影装置11によってそれぞれ撮影された第1及び第2の画像の差分に基づいて、車両1が旋回中であるか否かを判断してもよい。この場合、補正器36は、予め決められたランドマークを撮影し、ランドマークの画像に基づいて、車両1が旋回中であるか否かを判断してもよい。例えば、車両1が直進しているときと、車両1が旋回中であるときでは、所定時間だけ離れた時刻におけるランドマークの画像の変化(例えば、オプティカルフロー等の変化)は異なる。従って、ランドマークの画像に対して機械学習を行い、補正器36は、学習結果のデータに基づいて車両の直進及び旋回を区別してもよい。
また、補正器36は、記憶装置35に格納されたマップ情報に含まれる通路101の形状と、車両1の現在の位置とに基づいて、車両1が旋回中であるか否かを判断してもよい。言い換えると、補正器36は、マップ情報に基づいて、確実に旋回すると考えられる通路101の場所(例えばコーナー)を車両1が移動しているか、それとも、確実に旋回しないと考えられる通路101の場所(例えば直線区間)を判断し、これにより、車両1が旋回中であるか否かを判断してもよい。車両1の現在の位置は、計算された相対位置又は絶対位置からわかる。
図25のステップS44において、補正器36は、車両1の相対姿勢及び絶対姿勢に基づいて、車両1の補正回転量を計算する。図25のステップS44は、第1の実施形態に係る図14のステップS33と同様である。
ステップS45において、補正器36は、車両1の補正回転量を車両1の相対姿勢に加算する。ここで、補正器36は、ステップS43がNOであった場合、ステップS44において計算された補正回転量を用いて、補正された姿勢を計算する。一方、補正器36は、ステップS43がYESであった場合、補正回転量の計算を行わずに補正処理(S4A)を終了する。これにより、補正器36は、車両1が旋回中である期間に計算された絶対姿勢を使用せず、車両1が旋回中ではない期間に計算された絶対姿勢のみを使用して、補正された姿勢を生成する。なお、ステップS43がYESであった場合、旋回中でないときに計算されて保存された補正回転量を相対姿勢に加算(ステップS45)してもよい。
図30は、第2の実施形態に係る測位装置12を備えた車両1が通路111のコーナーを通過するときに計算される車両1の軌跡を示す図である。図30の例では、車両1が通路111のコーナーを通過しているときに、測位装置12は、マーカー4を検出し、マーカー4に基づいて絶対姿勢を計算する。車両1が旋回中である期間に計算された絶対姿勢は誤差を含む。従って、車両1が旋回中である期間に計算された絶対姿勢を用いて補正された姿勢を計算すると(旋回中の姿勢補正:あり)、車両1の位置及び軌跡は、実際の位置及び軌跡から大きくずれてしまう。一方、車両1が旋回中である期間に計算された絶対姿勢を使用しないことにより(旋回中の姿勢補正:なし)、車両1の位置及び軌跡は、実際の位置及び軌跡により近くなる。
図31は、第2の実施形態の比較例に係る補正処理を実行することによって計算された車両1の軌跡115を示す図である。図32は、図25の補正処理を実行することによって計算された車両1の軌跡116を示す図である。また、図31及び図32は、車両1が点Cを起点かつ終点として移動したときに計算された車両1の軌跡を示す。また、図31及び図32では、図示の簡単化のために、マーカー4を省略している。図31は、図25のステップS43を実行せず、車両1が旋回中であるか否かにかかわらず、常に、絶対姿勢に基づいて相対姿勢を補正する場合を示す。図31によれば、車両1が旋回中である期間に計算された絶対姿勢を用いて補正された姿勢を計算した結果、計算された車両1の軌跡103は蛇行し、また、通路101から大きくはみ出している。一方、図32によれば、車両1が旋回中である期間に計算された絶対姿勢を使用しないことにより、誤差の影響を低減することができ、計算された車両1の軌跡104において、蛇行及びはみ出しは小さくなっていることがわかる。
車両1が旋回中であるとき、絶対位置及び絶対姿勢に比べて、相対位置及び相対姿勢の誤差が大きくなり、特に相対位置の誤差が大きくなる。本願の発明者が行った実験によれば、車両1の旋回中にマーカー4を検出できなくなった場合、旋回中に計算された相対姿勢を、「最後」に検出されたマーカー4に基づいて計算された絶対姿勢で補正しても、低精度の相対姿勢に起因して、車両1の位置及び姿勢の精度が悪化することがわかった。これにより、補正された姿勢を有する車両1の軌跡が通路101をはみ出てしまう。
第2の実施形態によれば、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正することにより、車両1の位置及び姿勢を高精度に測定することができる。また、第2の実施形態によれば、補正された姿勢を生成するとき、車両1が旋回中である期間に計算された絶対姿勢を使用しないことにより、絶対姿勢の誤差による影響を低減し、車両1の位置及び姿勢をより高精度に測定することができる。
また、本願の発明者が行った実験によれば、測位装置12によって計算される車両1の位置及び姿勢は、相対姿勢及び絶対姿勢の誤差に比べて、相対位置及び絶対位置の誤差の影響を受けにくいことがわかった。従って、図25の例では、補正器36は、車両1が旋回中である期間及び車両1が旋回中ではない期間に計算された絶対位置を使用して、補正された位置を生成する(ステップS41~S42)。しかしながら、相対位置及び絶対位置の誤差の影響を受けにくくするために、補正器36は、車両1が旋回中である期間に計算された絶対位置を使用せず、車両1が旋回中ではない期間に計算された絶対位置のみを使用して、補正された位置を生成してもよい。
[第2の実施形態の変形例]
図33は、第2の実施形態の変形例に係る測位装置12Aの構成を示すブロック図である。測位装置12Aは、図3の補正器36に代えて、補正器36Aを備える。補正器36Aは、車両1に搭載された角速度センサ16によって生成された車両1の角速度を含むセンサデータを取得する。角速度センサ16は、例えばジャイロセンサである。角速度センサ16は、撮影装置11の筐体の内部又は外部に一体的に固定されてもよく、撮影装置11の付近に固定されてもよい。補正器36Aは、車両1の角速度に基づいて、車両1が旋回中であるか否かを判断する。補正器36Aは、車両1の角速度が予め決められた閾値(例えば、0.1ラジアン/秒)よりも大きいとき、車両1が旋回中であると判断してもよい。
前述のように、相対姿勢又は絶対姿勢の変化に基づいて(すなわち、撮影装置11によって撮影された画像に基づいて)車両1が旋回中であるか否かを判断しようとする場合、例えば照明又は背景の変動などに起因して画像が変動し、相対姿勢又は絶対姿勢の計算に誤差が生じることがある。この誤差に起因して、車両1が旋回中であるか否かの判断に誤りが生じることがある。この場合、補正器36Aは、相対姿勢又は絶対姿勢の変化に代えて、車両1の角速度に基づいて、車両1が旋回中であるか否かを判断してもよい。これにより、補正器36Aは、照明又は背景の変動などに起因する画像の変動の影響を受けることなく、車両1が旋回中であるか否かを高精度かつ安定的に判断することができる。
また、補正器36Aは、相対姿勢又は絶対姿勢の変化を参照することに加えて、車両1の角速度を参照することで、車両1が旋回中であるか否かを判断してもよい。相対姿勢又は絶対姿勢の変化と、車両1の角速度とのうち、いずれか一方の精度が低いと考えられる場合、他方に基づいて、車両1が旋回中であるか否かを判断してもよい。例えば、車両1が凹凸のある路面を移動するとき、角速度センサ16によって検出される車両1の角速度は、路面の凹凸に敏感に応答して変動することがある。この場合、車両1の角速度ではなく、相対姿勢又は絶対姿勢の変化に基づいて、車両1が旋回中であるか否かを判断してもよい。これにより、補正器36Aは、路面の凹凸の影響を受けることなく、車両1が旋回中であるか否かを高精度かつ安定的に判断することができる。
このように、相対姿勢又は絶対姿勢の変化を参照することに代えて、又は、相対姿勢又は絶対姿勢の変化を参照することに加えて、車両1の角速度を参照することにより、車両1が旋回中であるか否かを高精度かつ安定的に判断することができる。
また、補正器36Aは、車両1の駆動機構15の状態に基づいて、車両1が旋回中であるか否かを判断してもよい。補正器36は、駆動機構15に含まれる操舵装置の状態を参照してもよい。車両1が有人の乗物である場合、補正器36は、コンソール1c(例えばハンドル)の状態を参照してもよい。
[第2の実施形態の効果等]
第2の実施形態によれば、測位装置12,12Aは、第1の計算器、記憶装置35、第2の計算器、及び補正器36,36Aを備える。車両1に搭載された撮影装置11によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する車両1の相対位置及び相対姿勢を示す車両1の第1の位置及び第1の姿勢を計算する。予め決められた位置に配置されて視覚的に識別可能な複数のマーカー4の識別子、位置、及び姿勢の情報と、車両1のための通路101を含むマップの情報とを格納する。撮影装置11によって撮影された画像から複数のマーカー4のうちの1つを抽出し、抽出された1つのマーカー4の位置及び姿勢に基づいて、マップにおける車両1の位置及び姿勢を示す車両1の第2の位置及び第2の姿勢を計算する。第2の位置及び第2の姿勢に基づいて第1の位置及び第1の姿勢を補正し、車両1の補正された位置及び補正された姿勢を生成する。補正器36,36Aは、車両1が旋回中であるか否かを判断し、車両1が旋回中である期間に計算された第2の姿勢を使用せず、車両1が旋回中ではない期間に計算された第2の姿勢のみを使用して、補正された姿勢を生成する。
これにより、Visual-SLAMなどを用いて特徴点41に基づいて計算された相対位置及び相対姿勢を、マーカー4に基づいて計算された絶対位置及び絶対姿勢に基づいて補正することにより、車両1の位置及び姿勢を高精度に測定することができる。また、補正された姿勢を生成するとき、車両1が旋回中である期間に計算された絶対姿勢を使用しないことにより、絶対姿勢の誤差による影響を低減し、車両1の位置及び姿勢をより高精度に測定することができる。
第2の実施形態によれば、補正器36,36Aは、車両1が旋回中である期間及び車両1が旋回中ではない期間に計算された第2の位置を使用して、補正された位置を生成してもよい。
これにより、補正器36,36Aは、車両1の絶対位置を継続的に計算し、従って、車両1の位置を継続的に補正することができる。
第2の実施形態によれば、補正器36は、第1の姿勢又は第2の姿勢の変化に基づいて、車両1が旋回中であるか否かを判断してもよい。
これにより、補正器36は、撮影装置11によって撮影された画像に基づいて、車両1が旋回中であるか否かを判断することができる。
第2の実施形態によれば、補正器36は、第1の姿勢又は第2の姿勢の変化に基づいて車両1のヨー軸の周りの回転角又はその分散を計算し、回転角又はその分散の計算値が予め決められた閾値よりも大きいとき、車両1が旋回中であると判断してもよい。
これにより、補正器36は、閾値よりも大きな回転角又はその分散で車両1が旋回中である期間に計算された絶対姿勢を使用せず、閾値よりも小さな回転角又はその分散で車両1が旋回中である期間に計算された絶対姿勢のみを使用して、補正された姿勢を生成することができる。
第2の実施形態によれば、補正器36Aは、車両1に搭載された角速度センサ16によって生成された車両1の角速度を含むセンサデータを取得し、車両1の角速度に基づいて、車両1が旋回中であるか否かを判断してもよい。
これにより、補正器36Aは、角速度センサ16によって生成された車両1の角速度に基づいて、車両1が旋回中であるか否かを判断することができる。
第2の実施形態によれば、補正器36Aは、車両1の角速度が予め決められた閾値よりも大きいとき、車両1が旋回中であると判断してもよい。
これにより、補正器36Aは、閾値よりも大きな回転角又はその分散で車両1が旋回中である期間に計算された絶対姿勢を使用せず、閾値よりも小さな回転角又はその分散で車両1が旋回中である期間に計算された絶対姿勢のみを使用して、補正された姿勢を生成することができる。
第2の実施形態によれば、補正器36は、マップに含まれた通路101の形状と、車両1の現在の位置とに基づいて、車両1が旋回中であるか否かを判断してもよい。
第2の実施形態によれば、補正器36は、車両1の操舵装置の状態に基づいて、車両1が旋回中であるか否かを判断してもよい。
第2の実施形態によれば、撮影装置11と、測位装置12とを備えた車両1が提供されてもよい。
また、第1の実施形態(通路101の向きに基づいて車両1の相対姿勢を補正すること)と、第2の実施形態(車両1が旋回中である期間に計算された絶対姿勢を使用しないこと)とを組み合わせてもよい。
[第3の実施形態]
図34を参照して、第3の実施形態に係る測位装置及びそれを備えた移動体について説明する。
[第3の実施形態の構成]
図34は、第3の実施形態に係る測位装置12Bの構成を示すブロック図である。第1又は第2の実施形態に係る車両1は、図3の測位装置12に代えて、測位装置12Bを備えてもよい。測位装置12Bは、図3の測位装置12の各構成要素に加えて、画像認識器37及びデータ合成器38を備える。
画像認識器37は、撮影装置11によって撮影された画像から予め決められた対象物を認識する。画像認識器37は人物(例えば、車両1の運転手、車両1の周りの人物)を認識してもよい。画像認識器37は、予め学習された特定の荷物3を認識してもよい。画像処理器31、画像認識器33、及び画像認識器37は、同一の撮影装置11から画像を取得してもよい。それに代わって、画像認識器37は、画像処理器31及び画像認識器33に供給される画像(すなわち、車両1の位置及び姿勢を測定するための画像)を撮影する撮影装置11とは異なる撮影装置を用いて、人物及び/又は荷物3を含む画像を撮影してもよい。この場合、撮影装置11は、例えば、車両1の前方の通路101を撮影するように設けられ、他の撮影装置は、例えば、車両1の運転席手又は荷台を撮影するように設けられてもよい。撮影装置11と他の撮影装置とは、予め互いに同期される。
データ合成器38は、補正器36から、車両1の補正された位置及び補正された姿勢のデータを、当該位置及び姿勢に対応する画像を撮影装置11により撮影した時刻(又は、当該位置及び姿勢を計算した時刻)のタイムスタンプとともに取得する。データ合成器38は、画像認識器37によって認識された対象物の画像認識データを、車両1の位置及び姿勢のデータに合成する。また、データ合成器38は、車両1に搭載された1つ又は複数のセンサを含むセンサ群16Bによって生成されたセンサデータを取得し、センサデータを、車両1の位置及び姿勢のデータに合成する。データ合成器38は、車両1の加速度及び角速度の少なくとも一方を含むセンサデータを取得してもよい。また、データ合成器38は、車両1によって搬送される荷物3の重さを含むセンサデータを取得してもよい。センサ群16Bの各センサは、センサデータに、当該センサデータを取得した時刻のタイムスタンプを付与する。データ合成器38は、車両1の位置及び姿勢のデータのタイムスタンプと、画像認識データのタイムスタンプと、センサデータのタイムスタンプとに基づいて、これらのデータを互いに同期させて合成する。
データ合成器38は、これらのデータのタイムスタンプが互いに不一致しているとき、画像認識データ又はセンサデータを、それに最も近接したタイムスタンプを有する車両1の位置及び姿勢のデータに関連付けてもよい。また、データ合成器38は、これらのデータのタイムスタンプが互いに不一致しているとき、線形補間又は内分などを用いて車両1の位置及び姿勢のデータを補間し、画像認識データ又はセンサデータを、それに対応するタイムスタンプを有する補間された車両1の位置及び姿勢のデータに関連付けてもよい。
データ合成器38を備えたことにより、車両1の作業に関連するさまざまなデータを、車両1の位置及び軌跡に関連付けて記録することができる。例えば、画像認識された人物を記録することにより、車両1の作業に関連する人物を追跡することができる。画像認識された荷物3を記録することにより、車両1によって搬送される荷物3を追跡することができる。車両1の加速度及び角速度を記録することにより、倉庫の路面の凹凸などを検出することができる。荷物3の重さを記録することにより、車両1の仕事量をモニタリングすることができる。
[第3の実施形態の効果等]
第3の実施形態によれば、車両1に搭載された1つ又は複数のセンサによって生成されたセンサデータを取得し、センサデータを、補正された位置及び補正された姿勢のデータに合成するデータ合成器38をさらに備えてもよい。
第3の実施形態によれば、データ合成器38は、車両1の加速度及び角速度の少なくとも一方を含むセンサデータを取得してもよい。
第3の実施形態によれば、データ合成器38は、車両1によって搬送される荷物3の重さを含むセンサデータを取得してもよい。
第3の実施形態によれば、測位装置12Bは、撮影装置11によって撮影された画像から予め決められた対象物を認識する画像認識器37をさらに備えてもよい。この場合、データ合成器38は、画像認識器37によって認識された対象物の情報を、補正された位置及び補正された姿勢のデータに合成する。
第3の実施形態によれば、画像認識器37は人物を認識してもよい。
第3の実施形態によれば、画像認識器37は、予め学習された特定の荷物3を認識してもよい。
第3の実施形態によれば、車両1の作業に関連するさまざまなデータを、車両1の位置及び軌跡に関連付けて記録することができる。
第3の実施形態によれば、車両1は、車両1の位置及び姿勢を測定するための画像を撮影する撮影装置11と、他の対象物を撮影する他の撮影装置とを備えてもよい。この場合、データ合成器38は、撮影装置11によって撮影された画像に基づいて生成された車両1の位置及び姿勢のデータと、他の撮影装置によって撮影された画像に基づいて生成された画像認識データとを、互いに関連付けることができる。車両1の位置及び姿勢のデータと、車両1の移動中に撮影された他の対象物の画像認識データとが関連付けられていると、マップにおける車両1の位置及び軌跡に基づいて業務分析を行う際に非常に有用である。例えば、ある人物の不審な行動を目視等で検出したとき、その人物の位置をマップにおいて参照することで、その位置の近傍において、及び/又は、その人物に関連して、過去に撮影された画像又は映像を検索して読み出すことができる。
[他の実施形態]
なお、第1~第3の実施形態において、測位装置は、フォークリフト又はトラックなどの四輪の車両に設けられてもよく、1~3輪、5輪以上の車両に設けられてもよい。また、第1~第3の実施形態において、測位装置は、車輪の個数及び/又は車輪の有無と関係なく、飛行機、ヘリコプタ、ドローン、ホバークラフトなど、車輪のない移動体に設けられてもよい。本実施形態に係る測位装置は、車輪の回転数から移動体の位置を推定するのでなく、撮影装置によって撮影された画像に基づいて移動体の位置を推定することができる。
本開示の各態様に係る測位装置によれば、倉庫又は工場などにおいて移動体の位置を測定することができる。これにより、移動体の軌跡(動線)を追跡すること、移動体をルーティングすること、倉庫又は工場における荷物などの配置を最適化すること、稼働率をモニタリングすること、作業効率を改善すること、などが可能である。
1…車両、
1a…荷台、
1b…昇降機構、
1c…コンソール、
2…サーバ装置、
3…荷物、
4…マーカー、
11…撮影装置、
12,12A,12B…測位装置、
13…通信装置、
14…表示装置、
15…駆動機構、
16…角速度センサ、
16B…センサ群、
21…処理装置、
22…通信装置、
23…入力装置、
24…記憶装置、
25…表示装置、
31…画像処理器(特徴点)、
32…相対位置計算器、
33…画像認識器(マーカー)、
34…絶対位置計算器、
35…記憶装置、
36,36A…補正器、
37…画像認識器(人物、荷物)、
38…データ合成器、
40…画像、
41…特徴点、
100,110…倉庫、
101,111…通路、
102,112…棚、
103,104,115,116…軌跡。

Claims (17)

  1. 移動体に搭載された撮影装置によって撮影された複数の画像に基づいて、所定の基準位置及び基準姿勢に対する前記移動体の相対位置及び相対姿勢を示す前記移動体の第1の位置及び第1の姿勢を計算する第1の計算器と、
    予め決められた位置に配置されて視覚的に識別可能な複数のマーカーの識別子、位置、及び姿勢の情報と、前記移動体のための通路を含むマップの情報とを格納する記憶装置と、
    前記撮影装置によって撮影された画像から前記複数のマーカーのうちの1つを抽出し、抽出された前記1つのマーカーの位置及び姿勢に基づいて、前記マップにおける前記移動体の位置及び姿勢を示す前記移動体の第2の位置及び第2の姿勢を計算する第2の計算器と、
    前記第2の位置及び前記第2の姿勢に基づいて前記第1の位置及び前記第1の姿勢を補正し、前記移動体の補正された位置及び補正された姿勢を生成する補正器とを備え、
    前記補正器は、抽出された前記1つのマーカーが通路に沿って配置され、かつ、前記補正された位置及び前記補正された姿勢を有する前記移動体の進行方向と、前記通路の向きとの角度差が予め決められた第1の閾値よりも小さいとき、前記第2の姿勢に代えて前記通路の向きに基づいて前記第1の姿勢を補正する、
    測位装置。
  2. 前記補正器は、前記第2の姿勢の向きと前記通路の向きとの角度差が前記第1の閾値よりも小さいとき、前記第2の姿勢に代えて前記通路の向きに基づいて前記第1の姿勢を補正する、
    請求項1記載の測位装置。
  3. 前記補正器は、前記補正された位置を有する移動体の直近の移動を示すベクトルの向きと、前記通路の向きとの角度差が前記第1の閾値よりも小さいとき、前記第2の姿勢に代えて前記通路の向きに基づいて前記第1の姿勢を補正する、
    請求項1記載の測位装置。
  4. 前記補正器は、
    予め決められた時間長にわたって、又は、予め決められた個数の連続した画像に対応して、前記補正された位置を有する移動体の直近の移動を示すベクトルの向きを計算し、
    複数の前記ベクトルの向きの平均値と、前記通路の向きとの角度差が前記第1の閾値よりも小さいとき、前記第2の姿勢に代えて前記通路の向きに基づいて前記第1の姿勢を補正する、
    請求項3記載の測位装置。
  5. 前記補正器は、予め決められた時間長にわたって、又は、予め決められた個数の連続した画像に対応してそれぞれ計算された複数の前記第1の姿勢の平均値を、前記第2の姿勢又は前記通路の向きに基づいて補正する、
    請求項1~4のうちの1つに記載の測位装置。
  6. 前記補正器は、前記移動体が旋回中であるか否かを判断し、前記移動体が旋回中である期間に計算された前記第2の姿勢を使用せず、前記移動体が旋回中ではない期間に計算された前記第2の姿勢のみを使用して、前記補正された姿勢を生成する、
    請求項1~5のうちの1つに記載の測位装置。
  7. 前記補正器は、前記第1の姿勢又は前記第2の姿勢の変化に基づいて、前記移動体が旋回中であるか否かを判断する、
    請求項6に記載の測位装置。
  8. 前記補正器は、前記第1の姿勢又は前記第2の姿勢の変化に基づいて前記移動体のヨー軸の周りの回転角又はその分散を計算し、前記回転角又はその分散の計算値が予め決められた第2の閾値よりも大きいとき、前記移動体が旋回中であると判断する、
    請求項7記載の測位装置。
  9. 前記補正器は、前記移動体に搭載された角速度センサによって生成された前記移動体の角速度を含むセンサデータを取得し、前記移動体の角速度に基づいて、前記移動体が旋回中であるか否かを判断する、
    請求項6に記載の測位装置。
  10. 前記補正器は、前記移動体の角速度が予め決められた第3の閾値よりも大きいとき、前記移動体が旋回中であると判断する、
    請求項9に記載の測位装置。
  11. 前記移動体に搭載された1つ又は複数のセンサによって生成されたセンサデータを取得し、前記センサデータを、前記補正された位置及び前記補正された姿勢のデータに合成するデータ合成器をさらに備えた、
    請求項1~10のうちの1つに記載の測位装置。
  12. 前記データ合成器は、前記移動体の加速度及び角速度の少なくとも一方を含むセンサデータを取得する、
    請求項11記載の測位装置。
  13. 前記データ合成器は、前記移動体によって搬送される荷物の重さを含むセンサデータを取得する、
    請求項11又は12記載の測位装置。
  14. 前記測位装置は、前記撮影装置によって撮影された画像から予め決められた対象物を認識する画像認識器をさらに備え、
    前記データ合成器は、前記画像認識器によって認識された対象物の情報を、前記補正された位置及び前記補正された姿勢のデータに合成する、
    請求項11~13のうちの1つに記載の測位装置。
  15. 前記画像認識器は人物を認識する、
    請求項14記載の測位装置。
  16. 前記画像認識器は、予め学習された特定の荷物を認識する、
    請求項14記載の測位装置。
  17. 撮影装置と、
    請求項1~16のうちの1つに記載の測位装置とを備えた、
    移動体。
JP2020562958A 2018-12-28 2019-11-26 測位装置及び移動体 Active JP7336753B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018247827 2018-12-28
JP2018247827 2018-12-28
PCT/JP2019/046207 WO2020137315A1 (ja) 2018-12-28 2019-11-26 測位装置及び移動体

Publications (2)

Publication Number Publication Date
JPWO2020137315A1 JPWO2020137315A1 (ja) 2021-11-11
JP7336753B2 true JP7336753B2 (ja) 2023-09-01

Family

ID=71127054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020562958A Active JP7336753B2 (ja) 2018-12-28 2019-11-26 測位装置及び移動体

Country Status (4)

Country Link
US (1) US20210101747A1 (ja)
EP (1) EP3905213B1 (ja)
JP (1) JP7336753B2 (ja)
WO (1) WO2020137315A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2019392447A1 (en) 2018-12-03 2021-06-24 Sharkninja Operating Llc Optical indicium for communicating information to autonomous devices
JP7523284B2 (ja) 2020-08-26 2024-07-26 日鉄ソリューションズ株式会社 情報処理装置、情報処理方法、及びプログラム
JP2022150929A (ja) * 2021-03-26 2022-10-07 本田技研工業株式会社 軸ずれ推定装置
CN113688965B (zh) * 2021-08-11 2023-10-20 深圳市佳康捷科技有限公司 一种自动仓储扫码检测的方法和货物管理系统
WO2023030559A1 (en) * 2021-09-03 2023-03-09 Technicka Univerzita V Liberci Method of navigating an automated guided vehicle for internal logistics and a system for its implementation
JP2023043631A (ja) * 2021-09-16 2023-03-29 カシオ計算機株式会社 情報処理装置、プログラム、測位方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184013A1 (en) 2004-12-14 2006-08-17 Sky-Trax Incorporated Method and apparatus for determining position and rotational orientation of an object
JP2010140246A (ja) 2008-12-11 2010-06-24 Yaskawa Electric Corp 移動体
JP2012159367A (ja) 2011-01-31 2012-08-23 Navitime Japan Co Ltd 位置履歴管理装置、位置履歴管理システム、サーバ装置、位置履歴管理方法、および、プログラム
JP2012242262A (ja) 2011-05-20 2012-12-10 Mazda Motor Corp 移動体位置検出装置
JP2017122960A (ja) 2016-01-05 2017-07-13 マツダ株式会社 車両位置推定装置
EP3308911A1 (en) 2015-06-12 2018-04-18 LG Electronics Inc. Mobile robot and method of controlling same
WO2018179960A1 (ja) 2017-03-27 2018-10-04 日本電産株式会社 移動体および自己位置推定装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386372B2 (en) * 1995-06-07 2008-06-10 Automotive Technologies International, Inc. Apparatus and method for determining presence of objects in a vehicle
JP2011219229A (ja) 2010-04-12 2011-11-04 Hitachi Ltd 荷物所在管理装置
US9341720B2 (en) * 2011-01-11 2016-05-17 Qualcomm Incorporated Camera-based position location and navigation based on image processing
JP6129981B2 (ja) * 2013-10-01 2017-05-17 株式会社日立製作所 移動体位置推定装置および移動体位置推定方法
BR112016019548B1 (pt) * 2014-02-24 2022-01-11 Nissan Motor Co. Ltd Dispositivo de cálculo de auto-localização e metodo de cálculo de auto-localização
JP6139722B1 (ja) * 2016-02-19 2017-05-31 ヤフー株式会社 推定装置、推定方法及び推定プログラム
JP6211157B1 (ja) * 2016-09-01 2017-10-11 三菱電機株式会社 キャリブレーション装置およびキャリブレーション方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060184013A1 (en) 2004-12-14 2006-08-17 Sky-Trax Incorporated Method and apparatus for determining position and rotational orientation of an object
JP2010140246A (ja) 2008-12-11 2010-06-24 Yaskawa Electric Corp 移動体
JP2012159367A (ja) 2011-01-31 2012-08-23 Navitime Japan Co Ltd 位置履歴管理装置、位置履歴管理システム、サーバ装置、位置履歴管理方法、および、プログラム
JP2012242262A (ja) 2011-05-20 2012-12-10 Mazda Motor Corp 移動体位置検出装置
EP3308911A1 (en) 2015-06-12 2018-04-18 LG Electronics Inc. Mobile robot and method of controlling same
JP2017122960A (ja) 2016-01-05 2017-07-13 マツダ株式会社 車両位置推定装置
WO2018179960A1 (ja) 2017-03-27 2018-10-04 日本電産株式会社 移動体および自己位置推定装置

Also Published As

Publication number Publication date
EP3905213A1 (en) 2021-11-03
US20210101747A1 (en) 2021-04-08
EP3905213B1 (en) 2023-04-26
WO2020137315A1 (ja) 2020-07-02
EP3905213A4 (en) 2022-03-09
JPWO2020137315A1 (ja) 2021-11-11

Similar Documents

Publication Publication Date Title
JP7336752B2 (ja) 測位装置及び移動体
JP7336753B2 (ja) 測位装置及び移動体
US20210012520A1 (en) Distance measuring method and device
US11393350B2 (en) Systems and methods for vehicle guidance using depth map generation
US20220036574A1 (en) System and method for obstacle avoidance
WO2021157136A1 (ja) 測位システム
US11906983B2 (en) System and method for tracking targets
US8682504B2 (en) System and method for developing dynamic positional database for air vehicles and terrain features
US20220366599A1 (en) Positioning system and moving body for measuring position of moving body using image capturing apparatus
JP7482453B2 (ja) 測位装置及び移動体
US20100265327A1 (en) System for recording Surroundings
US20220377261A1 (en) Real-time thermal camera based odometry and navigation systems and methods
Caballero et al. Improving vision-based planar motion estimation for unmanned aerial vehicles through online mosaicing
JP7486095B2 (ja) 車両監視方法、車両監視装置、車両、及び車両監視システム
WO2019130931A1 (ja) 測位装置及び車両
US20200125111A1 (en) Moving body control apparatus
WO2022075083A1 (ja) 自律移動装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230808

R151 Written notification of patent or utility model registration

Ref document number: 7336753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151