JP2023159484A - 情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム - Google Patents

情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム Download PDF

Info

Publication number
JP2023159484A
JP2023159484A JP2022069149A JP2022069149A JP2023159484A JP 2023159484 A JP2023159484 A JP 2023159484A JP 2022069149 A JP2022069149 A JP 2022069149A JP 2022069149 A JP2022069149 A JP 2022069149A JP 2023159484 A JP2023159484 A JP 2023159484A
Authority
JP
Japan
Prior art keywords
map
information processing
cad data
visual
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022069149A
Other languages
English (en)
Inventor
真司 大平
Shinji Ohira
真和 藤木
Masakazu Fujiki
誠 冨岡
Makoto Tomioka
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2022069149A priority Critical patent/JP2023159484A/ja
Priority to EP23165134.0A priority patent/EP4266005A1/en
Priority to US18/194,662 priority patent/US20230342956A1/en
Priority to CN202310425787.5A priority patent/CN116907536A/zh
Publication of JP2023159484A publication Critical patent/JP2023159484A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • 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/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • 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/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/344Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving models
    • 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • 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/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Figure 2023159484000001
【課題】移動体の位置姿勢計測に用いる地図の精度を向上させる。
【解決手段】情報処理装置100は、移動体の位置姿勢を計測するための地図を取得する地図取得部101と、前記地図に対応する前記移動体が移動する実空間または前記実空間内の物体に対応する図面情報から視覚的指標を検出する検出部104と、前記地図と前記図面情報の座標系の位置合わせを行う位置合わせ部103と、前記位置合わせ後の前記図面情報に含まれる前記視覚的指標と前記地図に含まれる構成要素の対応付けを行う対応付け部105と、前記対応付けの結果に基づいて前記地図を補正する補正部106と、を有する。
【選択図】図1

Description

本発明は、移動体の移動制御に用いる3次元地図に関する。
無人搬送車(AGV(Automated Guided Vehicle))などの工場や物流倉庫といった環境内において自動で移動させる移動体が普及している。移動体は、実空間の地図作成と実空間内での自己位置姿勢計測を行いながら自動で移動(自律走行)する。地図作成および自己位置姿勢計測の方法としては、例えばSLAM(Simultaneous Localization And Mapping)法が知られている。
また、移動体を自律走行させるためには、事前に移動体が走行する経路を設定する必要がある。経路設定方法としては、現場の環境を示すCADデータを用いて、CADデータ上で移動体の走行経路の経由点を設定する方法がある。そして、CADデータ上の経由点をSLAMで作成した地図上の経由点へと座標変換し、移動体に走行経路の経由点としてSLAM地図上の座標を渡す。しかし、SLAMで作成する地図には地図作成時の蓄積誤差が含まれるため、SLAMで作成する地図とCADデータは完全には一致しない。位置ずれを修正するために、特許文献1は、図面から作成したSLAM地図とデプスセンサで作成した実環境データからスケール調整パラメータを推定し、該パラメータを用いてSLAM地図のスケールを調整することで実空間との整合をとる技術を開示している。
特許第6893200号公報
しかしながら、特許文献1に示されるスケール調整を行うだけでは実空間を示すCADデータと移動体の位置姿勢計測に用いるSLAM地図全体の整合を取ることは難しく、実空間との誤差が残ってしまう。
本発明は、移動体の位置姿勢計測に用いる地図の精度を向上させることを目的とする。
上記課題を解決するために、本発明の情報処理装置は、移動体の位置姿勢を計測するための地図を取得する地図取得手段と、前記地図に対応する前記移動体が移動する実空間または前記実空間内の物体に対応する図面情報から視覚的指標を検出する検出手段と、前記地図と前記図面情報の座標系の位置合わせを行う位置合わせ手段と、前記位置合わせ後の前記図面情報に含まれる前記視覚的指標と前記地図に含まれる構成要素の対応付けを行う対応付け手段と、前記対応付けの結果に基づいて前記地図を補正する補正手段と、を有する。
本発明によれば、移動体の位置姿勢計測に用いる地図の精度を向上させることができる。
情報処理装置の機能構成例を示す図である。 情報処理装置のハードウェア構成の一例を示す図である。 地図の補正処理を示すフローチャートである。 座標系の位置合わせを説明する図である。 視覚的指標の検出を説明する図である。 視覚的指標の検出を説明する図である。 CADデータの視覚的指標とSLAM地図の特徴点の対応付けを説明する図である。 地図の補正処理におけるGUIの一例を示す図である。 情報処理装置が実行する処理を示すフローチャートである。
(第1実施形態)
図1は、本実施形態における情報処理装置100を備える情報処理システム10の構成を示す図である。情報処理システム10は、AGVなどの移動体の走行を制御する移動体システムである。なお、移動体は車両に限られず、自動2輪車、電動カート、ロボット(自律移動ロボット(Autonomous Mobile Robot))、ドローンなどの移動をする機器であればどのようなものであっても良い。情報処理システム10は、不図示の位置姿勢計測用のカメラで撮影した周辺環境の撮影画像に基づいて位置姿勢計測のための地図を生成し、該地図に基づいて移動体の移動(自律走行)を制御する。本実施形態では、情報処理システム10がVisual SLAMで移動体の移動を制御する例を説明する。
情報処理システム10は、情報処理装置100、表示データ生成部107、表示部108を有する。情報処理装置100は、移動体の位置姿勢計測のための地図を生成する。本実施形態では、Visual SLAMで移動体の位置姿勢計測を行うために利用する地図のことをSLAM地図と呼ぶ。SLAM地図は、移動体の位置姿勢計測に用いられる3次元地図であり、移動体が備えるカメラなどのセンサにより計測された計測結果に基づいて生成される。SLAM地図には複数のキーフレーム情報が含まれる。キーフレームは地図作成時のカメラの撮影画像を含み、カメラの位置および姿勢が対応付けられている。さらに、SLAM地図はキーフレームの他に、撮影画像から検出した特徴点の3次元座標のデータも含まれる。
移動体の経路設定時には、移動体が移動する実空間である現場環境を示すCADデータ等の図面情報上で座標を指定する。そして、CADデータの座標をSLAM地図の座標へと変換して、走行経路の経由点を設定する。しかし、Visual SLAMで作成したSLAM地図は作成時のスケール誤差やループクローズ時の歪みなどによる蓄積誤差により局所的に歪む場合がある。そのため、CADデータとSLAM地図には誤差が生じ、CADデータ上の座標から相似変換のような単純な座標変換をしてもSLAM地図上の座標とは完全には一致しない。そこで、本実施形態ではCADデータから視覚的指標を検出し、SLAM地図に含まれる特徴点の3次元座標を視覚的指標の3次元座標に基づき修正する。視覚的指標となるのは、例えば、配管、ダクト、スプリンクラー、空調器具、照明器具などカメラで計測可能な構造である。本実施形態では図面情報として、現場環境において配管、ダクト、照明器具といった設備のレイアウト設計に用いられる3次元のCADデータを用いる例について説明する。
情報処理装置100は、地図取得部101、視覚的指標情報取得部102、位置合わせ部103、検出部104、対応付け部105、補正部106を有する。地図取得部101は、Visual SLAMで作成したSLAM地図を取得する。そして、地図取得部101は、取得したSLAM地図を位置合わせ部103、検出部104、対応付け部105および補正部106に出力する。視覚的指標情報取得部102は、視覚的指標の検出対象としてCADデータを取得し、位置合わせ部103に出力する。
位置合わせ部103は、視覚的指標情報取得部102が取得したCADデータ上の座標系と地図取得部101が取得したSLAM地図上の座標系との間の相対位置関係を算出する。また位置合わせ部103は、相対位置関係に基づきCADデータの基準とする座標系をSLAM地図の座標系へと変換して検出部104に出力する。なお、本実施形態においては、CADデータとSLAM地図の座標系をSLAM地図の座標系に統一しているが、CADデータの座標系に統一して以降の処理を行ってもよい。
検出部104は、地図取得部101が出力したSLAM地図に基づいて、位置合わせ部103が出力した座標系変換済みのCADデータから視覚的指標を検出し、検出結果を対応付け部105に出力する。対応付け部105は、検出部104が出力した視覚的指標を地図取得部101が取得したSLAM地図に含まれる特徴点と関連付け、3次元座標のペアを作成する。そして、対応付け部105は、3次元座標のペアを対応付け結果として補正部106に出力する。補正部106は、対応付け部105によってSLAM地図上の特徴点と関連付けられた視覚的指標の3次元座標に基づいて、地図取得部101が取得したSLAM地図に含まれる特徴点の3次元座標を補正する。そして、補正部106は、特徴点の3次元座標が補正されたSLAM地図を表示データ生成部107に出力する。
表示データ生成部107および表示部108は、地図を補正するための一連の処理(位置合わせ部103による位置合わせ、検出部104および対応付け部105による対応付け、補正部106による補正)の過程および結果の表示を制御する。表示データ生成部107は、位置合わせ部103および対応付け部105、補正部106の出力情報を可視化するためのデータを生成し、生成したデータを表示部108に出力する。表示部108は、表示データ生成部107により生成されたデータを受け取り、表示装置に出力する。
図2は、情報処理装置100のハードウェア構成を示す図である。情報処理装置100は、CPU211、ROM212、RAM213、外部メモリ214、入力部215、表示制御部216、通信I/F217と、これらを互いに接続するシステムバス220を有する。CPU(Central Processing Unit)211は、システムバス220に接続された各種デバイスの制御を行う。ROM(Read Only Memory)212は、BIOS(Basic Input/Output System)のプログラムやブートプログラムなど情報処理装置100を制御するためのプログラムを記憶する。外部メモリ214は、情報処理装置100が処理するアプリケーションやプログラム、各種データやファイル等を格納する。外部メモリ214は、例えば、ハードディスク(HD)やソリッドステートドライブ(SSD)等のメモリである。RAM(Random Access Memory)213は、CPU211の主記憶装置として使用される。また、RAM213は、ワークエリアとしても機能する。CPU211は、ROM212または外部メモリ214に記憶されたプログラムをRAM213にロードして実行し、システムバス220に接続された各ユニットを総括的に制御する。
入力部215は、キーボードやポインティングデバイス、ロボットコントローラ等の入力装置であり、ユーザからの入力を受け付ける。表示制御部216は、液晶ディスプレイ等の表示装置を有し、CPU211からの指令にしたがって情報処理装置100の処理結果を表示装置に出力する。なお、表示装置は液晶ディスプレイやプロジェクタ、LEDインジケーター、VR(仮想現実)表示が可能なヘッドマウントディスプレイなどであってもよい。また、入力部215および表示制御部216は、タッチパネルで構成されていてもよい。タッチパネルにおける入力座標と表示座標を対応付けることで、あたかもユーザがタッチパネルに表示された画面を直接的に操作可能であるかのようなGUIを構成することができる。通信I/F217は、ネットワークを介して外部装置と情報通信を行う。通信I/F217は、イーサネット、USB、シリアル通信、無線通信等種類は問わない。ネットワークは、例えば、LAN、WANなどの通信ネットワーク、セルラネットワーク(例えば、LTEや5Gなど)、無線ネットワークのいずれか、またはこれらの組み合わせで構成されてもよい。すなわち、ネットワークはデータの送受信が可能に構成されていればよく、物理レイヤの通信方式はいずれの方式を採用してもよい。
図3は、本実施形態における地図の補正処理を示すフローチャートである。図3のフローチャートに示される地図を補正するための各処理は、情報処理装置100のCPU211が、ROM212または外部メモリ214に格納されているプログラムをRAM213に読み出して実行することにより実現される。
ステップS301では、情報処理装置100の初期化を行う。情報処理装置100の初期化では、ROM212または外部メモリ214からプログラムを読み込み、情報処理装置100を動作可能な状態にする。また、SLAM地図作成時に用いたカメラと紐づいたカメラパラメータを外部メモリ214から読み込み、RAM203に記憶する。
ステップS302では、地図取得部101がVisual SLAMで作成したSLAM地図を取得する。そして、地図取得部101は取得したSLAM地図を、位置合わせ部103、検出部104、対応付け部105、補正部106に出力する。ステップS303では、視覚的指標情報取得部102が、ステップS301で取得したSLAM地図の領域に対応する視覚的指標情報を取得する。本実施形態では視覚的指標情報として、視覚的指標を検出する対象データとなるCADデータを取得する。すなわち、視覚的指標情報取得部102は、SLAM地図を作成した現場環境全体のレイアウトを示すCADデータを取得する。そして、視覚的指標情報取得部102は、取得したCADデータは位置合わせ部103に出力する。
ステップS304では、位置合わせ部103が、地図取得部101により取得されたSLAM地図の座標系と、視覚的指標情報取得部102により取得された視覚的指標情報であるCADデータの座標系との位置合わせを行う。位置合わせ部103は、位置合わせとして、CADデータの座標系をSLAM地図の座標系に変換する処理を行う。座標系の位置合わせの方法として、例えば、実空間に物理的に設置したマーカーを利用して相対位置関係を求め、座標変換する方法がある。ここでマーカーとは、点対称・線対象でない平面図形のような位置および姿勢を規定できるものである。
マーカーを利用して座標系の位置合わせをする方法について図4を用いて説明する。図4は、座標系の位置合わせを説明する図である。図4(A)は、マーカー400の配置をSLAM地図の座標空間上で示す図である。図4(A)において、(x1,y1,z1)がマーカー400の座標である。図4(B)は、マーカー400の配置をCADデータの座標空間上で示す図である。図4(B)において、(x2,y2,z2)がマーカー400の座標である。CADデータ上においては3次元座標が既知であるとし、マーカーの位置および姿勢が4×4行列であるMcで表される。また、SLAM地図上の3次元座標は、例えば特許第4522140号公報に開示されるマーカーの配置情報を推定する方法を利用することで求めることができ、SLAM地図上のマーカーの3次元の位置および姿勢を4×4行列であるMsとする。
CADデータの座標系およびSLAM地図の座標系におけるマーカーの位置および姿勢は実空間上では一致していると仮定できるため、CADデータ上の任意の座標をSLAM地図上の座標へと変換する変換行列をMscとすると、下記の式(1)で表される。
Msc=MsMc-1・・・(1)
ここで、Mc-1はMcの逆行列である。位置合わせ部103は、変換行列Mscを用いてCADデータの座標系をSLAM地図の座標系へと変換することで座標系の位置合わせを行う。図4(C)は、変換行列MscによりCADデータの座標系をSLAM地図の座標系に変換した図である。座標変換後のCADデータの座標軸は、図4(C)のX’Y’Z’となる。このように、2つの座標系上のマーカーの3次元座標に基づき変換行列Mscを求め、変換行列MscによりCADデータの座標系をSLAM地図の座標系に変換することができる。位置合わせ部103は、座標変換したCADデータを検出部104および表示データ生成部107に出力する。なお、SLAM地図とCADデータの座標系の位置合わせの方法はマーカーを利用した方法に限られるものではなく、他の座標変換の方法を用いてもよい。
ステップS305では、検出部104が位置合わせ部103により座標軸を変換済みのCADデータから視覚的指標を検出する。本実施形態においては、視覚的指標として特徴点を使用する例について説明する。ここで特徴点とは、画像上のエッジの交差やコーナー点のように輝度勾配が閾値よりも大きい画素のことである。CADデータから検出される特徴点は、地図取得部101が取得するSLAM地図の構成要素である特徴点と同じである。
検出部104は、例えば、SLAM地図に含まれる任意のキーフレームと同じ視点でCADデータをCG描画した画像を生成した後に、閾値よりも輝度勾配が大きい画素を検出するための画像処理を行うことで、CADデータから特徴点を検出する。具体的には、SLAM地図に含まれる任意のキーフレームを選択し、キーフレームを撮影したカメラの位置および姿勢に基づいてCADデータをCG描画する。ここで、ステップS304においてCADデータの座標系をSLAM地図の座標系に合わせているため、SLAM地図上の3次元座標はCADデータ上でも同一の座標として扱うことができる。そして、CG描画して得られた2次元画像に対して画像処理により視覚的指標となる特徴点を検出する。
図5および図6は、視覚的指標の検出を説明する図である。図5(A)は、CADデータを上から見た図である。CADデータ500には、視覚的指標となる照明器具501および配管502が配置されている。図5(B)は、キーフレームを撮影したカメラの位置および姿勢と特徴点をCADデータ上で説明する図である。カメラ503は、SLAM地図生成時にキーフレームを撮影したカメラの位置および姿勢を示している。カメラ503の位置および姿勢でCADデータをCG描画すると、図6(A)に示される2次元画像600が生成される。図6(A)は、視覚的指標の検出時のカメラ視点画像の一例を示す図である。検出部104は、2次元画像600から視覚的指標となる特徴点を検出する。2次元画像600では、例えば、黒点で示される位置で特徴点が検出される。図6(A)に示される特徴点601の位置は、図5(B)に示されるCADデータの点504の位置と対応している。図6(B)は、検出したすべての特徴点をCADデータの座標空間上に示す図である。検出部104は、SLAM地図に含まれるキーフレームの数だけ繰り返し特徴点の検出を行う。すべてのキーフレームに対する特徴点の検出が完了すると、検出部104は検出したすべての特徴点の3次元座標の配列を視覚的指標として対応付け部105に出力する。
ステップS306では、対応付け部105がCADデータ上の視覚的指標とSLAM地図上の構成要素とを対応(関連)付ける。本実施形態においてCADデータ上の視覚的指標はSLAM地図に含まれる構成要素の特徴点と同じであるため、SLAM地図の特徴点に対してCADデータ上の視覚的指標を関連付ける。具体的な関連付けの方法としては、例えば、CADデータ上の視覚的指標に対してSLAM地図上で最近傍の特徴点を選んで対応付ける。本実施形態では、ステップS304においてCADデータの座標系をSLAM地図の座標系に変換したため、CADデータ上の3次元座標をSLAM地図上の3次元座標と同じ座標空間上の座標として扱うことができる。そのため対応付け部105は、CADデータ上の視覚的指標とSLAM地図上の特徴点との2点間のユークリッド距離が最小となる特徴点を選んで対応付ければよい。対応付け部105は、対応付けをすべての視覚的指標に対して行う。
図7は、CADデータの視覚的指標とSLAM地図の特徴点の対応付けを説明する図である。図7では、CADデータの視覚的指標とSLAM地図上の特徴点が同じ座標空間上に重畳して示される。白色の点がCADデータの視覚的指標、灰色の点がSLAM地図の特徴点を示している。図7(A)は、対応付けを行う前の視覚的指標および特徴点を示す図である。図7(B)は、対応付けを行った後の視覚的指標および特徴点を示す図である。図7(B)では、視覚的指標および各視覚的指標の近傍にあり視覚的指標と対応付けられた特徴点だけが残り、視覚的指標に対応付けられなかったSLAM地図の特徴点が排除されている。CADデータの視覚的指標とSLAM地図の特徴点が一対一対応し、個数が一致した状態となる。対応付け部105は視覚的指標の特徴点の3次元座標と、対応付けたSLAM地図の特徴点の3次元座標のペアの配列を生成し、補正部106に出力する。
ステップS307では、補正部106がSLAM地図上の特徴点と対応付けられた視覚的指標の3次元座標に基づいて、地図取得部101が取得したSLAM地図に含まれる特徴点の3次元座標を補正する。補正部106は、まず、視覚的指標を真値とするために対応付け部105が出力した特徴点の3次元座標ペアに基づいて、SLAM地図の特徴点の3次元座標を視覚的指標の3次元座標に置き換える。次に、3次元座標を置き換えた特徴点群を固定してSLAM地図を最適化する。最適化する手法としては、例えば、バンドル調整を用いる。ただし、一般にバンドル調整は再投影誤差を最小化する方法である。そのため、再投影誤差とキーフレーム間の位置および姿勢の差分の和が最小となるように位置および姿勢を推定するSkrypnykらの方法(I. Skrypnyk and D. G. Lowe, “Scene modelling, recognition and tracking with invariant image features,” Proc. 3rd IEEE and ACM International Symposium on Mixed and Augmented Reality, pp.110-119, 2004.)と組み合わせて推定を行う。
以上説明したように、本実施形態によれば、Visual SLAMで自律走行する移動体のシステムにおいて移動体の位置姿勢計測に用いる3次元の地図(SLAM地図)と実空間を示す地図(CADデータ)との誤差を低減できる。これにより、移動体の位置姿勢計測に用いる地図(SLAM地図)に含まれる誤差が低減され、地図の精度を向上させることができる。
(変形例1-1)
第1実施形態において、移動体の位置姿勢計測手法としてVisual SLAMを利用する例について説明したが、これに限られるものでなく、移動体の位置姿勢を地図に基づいて計測可能な手法であればどんな手法であってもよい。例えば、LiDAR SLAMやデプスカメラなどのセンサを用いたSLAMにより移動体の位置姿勢を計測してもよい。2D LiDAR SLAMのように位置姿勢計測に用いる地図が物体までの距離値から生成した2次元地図である場合は、CADデータに含まれる頂点情報から推定したエッジを視覚的指標として用いてもよい。CADデータから取得したエッジをSLAM地図上のエッジとマッチングして、一致するエッジを固定して、SLAM地図上の他のエッジの位置や向きを調整して地図を補正することができる。また、3D LiDARやデプスカメラのように位置姿勢計測に用いる地図が3次元点群の集合体となるような場合は、視覚的指標として面の情報を用いてもよい。CADデータとSLAM地図のそれぞれからエッジで区分された面を抽出し、CADの面と3次元点群から抽出した面とをマッチングして、マッチした3次元点群の座標をCADの面に合わせて補正する。そして、補正後の面を示す点群の座標を固定して、SLAM地図に含まれるすべての特徴点を最適化処理により補正することができる。このように、移動体の位置姿勢計測の手法は、画像を撮影しなくても距離情報等から特徴点を抽出可能であればよい。また、視覚的指標は、照明や配管には限られず、エッジが検出しやすいものや、エッジで区分される面であってもよい。
(変形例1-2)
第1実施形態において、検出部104はSLAM地図に含まれるキーフレームと同じ視点でCADデータをCG描画した後に画像処理することで視覚的指標を検出していたが、これに限られるものでない。また、第1実施形態においては、視覚的指標として輝度勾配が閾値よりも大きい画素である特徴点を用いていたがこれに限られるものではない。視覚的指標の検出方法は、CADデータから視覚的指標と定義した対象物を検出できればどんな検出方法であってもよい。例えば、CADデータに含まれるオブジェクトの頂点情報から線の交点となる点を求めて視覚的指標としてもよい。また、CADデータの頂点情報から直線を求め、閾値以上の長さの直線をエッジとして検出し、そのエッジを視覚的指標とする、あるいはエッジの端点を視覚的指標としてもよい。さらに、CADデータからエッジで区分された面を抽出し、2つの面がなす角が閾値以内の場合の接合部分のエッジを視覚的指標としてもよい。その他にも、CADデータを正射影変換などにより2次元画像に変換した後に画像処理により特徴点やエッジ等を検出し、それらを視覚的指標としてもよい。
(変形例1-3)
第1実施形態において、ステップS304の位置合わせ部103によるCADデータとSLAM地図の座標系の位置合わせ方法として、CADデータ上の座標が既知であるマーカーを用いる方法を説明したが、これに限られるものではない。位置合わせ方法は、CADデータとSLAM地図の座標系の位置合わせを行うことができればどんな位置合わせ方法であってもよい。例えば、マーカーの代わりにカメラを搭載した移動体を用いて、移動体がCADデータ上で既知の座標に停止している時に、カメラの位置姿勢を推定して、その位置姿勢情報に基づきCADデータとSLAM地図の座標系間の相対位置関係を求めてもよい。また、位置姿勢計測に用いる地図が2D LiDAR SLAMのようなエッジ情報を持つ地図である場合は、CADデータの壁や柱とSLAM地図の壁や柱に相当する部分とをマッチングして相対位置関係を求めてもよい。
(変形例1-4)
第1実施形態において、ステップS306のCADデータの視覚的指標とSLAM地図に含まれる構成要素との対応付けでは、視覚的指標がSLAM地図に含まれる特徴点と同一であるため直接関連付けたが、これに限られるものではない。対応付けの方法は、CADデータの視覚的指標とSLAM地図に含まれる構成要素との対応付けが可能であればどんな方法であってもよい。例えば、対応付け部105は、CADデータから抽出したエッジの端点とSLAM地図に含まれる構成要素とを関連付けるなど異なる種類の特徴を対応付けしてもよい。
(変形例1-5)
第1実施形態において、情報処理装置100がSLAM地図を補正するまでの設定や実行について、表示部108に表示されるGUIを用いてユーザが指示を行えるようにしてもよい。図8は、地図の補正処理におけるGUIの一例を示す図である。地図の補正処理のGUIは、地図の補正処理を実行する際に表示データ生成部107により生成され、表示部108に表示される。
図8(A)は、ステップS304の位置合わせを行うためのGUIを示す図である。GUI810には、SLAM地図811とCADデータ812が表示される。図8に示される例では、上から見た(同じ方向から見た)SLAM地図811とCADデータ812が表示されている。ユーザは、例えば、CADデータ812上に重畳表示されるSLAM地図811を、並進、回転、拡大縮小させて座標系が一致するように調整し、位置決定ボタン820を押下する。情報処理装置100において位置決定ボタン820が押下されたことを検出すると、位置合わせ部103はユーザによる位置合わせの結果を入力部215を介して取得し、検出部104および表示データ生成部107に出力する。
図8(B)は、ステップS306のCADデータの視覚的指標とSLAM地図の特徴点との対応付けを行うためのGUIを示す図である。GUI830は、CADデータ上の視覚的指標を座標空間上にマッピングして示している。GUI840は、SLAM地図上の視覚的指標を座標空間上にマッピングして示している。GUI830のCADデータ上の座標系とGUI840のSLAM地図の座標系は統一されるようにステップS304で変換済みである。図8(B)では、CADデータおよびSLAM地図のXY平面をZ軸の正方向から見た例を示している。ユーザは、まずGUI830においてCADデータ上の視覚的指標を選択する。次にユーザは、GUI840のSLAM地図上で、GUI830で選択した視覚的指標に対応する視覚的指標を選択する。図8(B)の例では、GUI830において視覚的指標831が選択され、対応する視覚的指標としてGUI840において視覚的指標841が選択されている。GUI830に表示されるCADデータ上の全ての視覚的指標それぞれに、GUI840に表示されるSLAM地図上の視覚的指標を対応付けると、ユーザは完了ボタン850を押下する。情報処理装置100において完了ボタン850が押下されたことを検出すると、対応付け部105はユーザによる対応付けの結果を入力部215を介して取得し、補正部106および表示データ生成部107に出力する。
図8(C)は、ステップS307の補正処理で利用する視覚的指標を選択するためのGUIを示す図である。GUI860にはCADデータ上の視覚的指標と、対応付けられたSLAM地図上の視覚的指標が重畳表示されている。図8(C)の例では、GUI860を、XY平面をZ軸正方向から見た平面図で示している。ユーザは、GUI860に表示される各視覚的指標について、補正処理で利用するか否かをチェックボックス870により設定する。例えば、ユーザはGUI860においてCADデータ上の視覚的指標を選択し、選択中の視覚的指標を補正処理で利用する場合にはチェックボックス870にチェックを入れる。一方、選択中の視覚的指標を補正処理で利用しない場合にはチェックボックス870を空にする。GUI860に表示されるすべてのCADデータ上の視覚的指標について補正処理で利用するか否かの設定を完了すると、ユーザは補正実行ボタン880を押下する。情報処理装置100において補正実行ボタン880が押下されたことを検出すると、補正部106はユーザにより選択されたCADデータ上の視覚的指標とこれに対応するSLAM地図上の視覚的指標を用いて、ステップS307の補正処理を実行する。なお、ここではGUI860においてCADデータ上の視覚的指標を選択する例について説明したが、選択対象がSLAM地図上の視覚的指標であってもよい。また、選択中の視覚的指標を利用するか否かをチェックボックス870で設定するのではなく、補正処理に利用する視覚的指標のみをGUI860で選択して補正実行ボタン880を押下するようにしてもよい。また、視覚的指標の内、SLAM地図の補正に利用したくない視覚的指標を選択して除外するようにしてもよい。図8(A)~図8(C)に示したGUIによって、ユーザはSLAM地図の補正に至るまでの設定や途中結果を確認しながらSLAM地図を補正することができる。
(第2実施形態)
第1実施形態では移動体が移動する現場環境の実空間に対応するCADデータから検出した視覚的指標を用いてSLAM地図を補正した。第2実施形態では、環境内に後から設置した機械などを視覚的指標として用いて、SLAM地図を補正する例について説明する。第1実施形態では現場環境のCADデータから視覚的指標を検出したのに対し、第2実施形態では機械ごとのCADデータから視覚的指標を検出する。なお、増設された機械の位置および姿勢は現場環境のCADデータ上の位置および姿勢として既知であるとする。本実施形態における情報処理装置100の構成は、第1実施形態と同様のためその説明を省略する。
図9は、第2実施形態における地図の補正処理を示すフローチャートである。図9のフローチャートに示される地図を補正するための各処理は、情報処理装置100のCPU211が、ROM212または外部メモリ214に格納されているプログラムをRAM213に読み出して実行することにより実現される。以下では、第1実施形態との差異について説明し、第1実施形態と同様の処理については同じ符号を付すことでその説明を省略する。
ステップS304におけるCADデータとSLAM地図の座標系の位置合わせが完了すると、ステップS901の処理を行う。複数の実空間内に設置された機械のCADデータがある場合には、1つのCADデータについてステップS901~ステップS903の処理を行い、残りの機械のCADデータについて同様の処理を繰り返す。ステップS901で、検出部104は、設置された機械のCADデータから視覚的指標を検出する。検出対象が異なるが、視覚的指標の検出方法は第1実施形態と同じである。また、設置機械のCADデータと現場環境のCADデータとでは座標系が異なるため、検出部104は、現場環境のCADデータにおける設置機械の位置情報を用いて検出した視覚的指標の3次元座標を現場環境のCADデータ上の座標系に変換する。ステップS901の処理が完了すると、次にステップS306の処理が行われる。そして、ステップS306の処理が完了すると、次にステップS902の処理が行われる。
ステップS902で、補正部106は、SLAM地図の特徴点と対応付けられたCADデータの視覚的指標の3次元座標に基づいてSLAM地図上の特徴点の3次元座標を補正する。補正部106は、第1実施形態と同様のバンドル調整を行ってSLAM地図を最適化することで補正する。ただし、既に他の設置機械のCADデータに基づいてSLAM地図の補正処理を行っている場合は、補正済みの機械の設置位置の近傍に存在する特徴点は最適化済みであるとして固定し、最適化済みでない特徴点についてバンドル調整を行う。ステップS902の処理が完了すると、次にステップS903の処理が行われる。
ステップS903で、補正部106は、すべての機械のCADデータを用いてSLAM地図の補正処理を行ったか判定する。すべての設置機械に対してステップS901からステップS902の処理を完了した場合は、本処理を終了する。一方、すべての設置機械に対してステップS901からステップS902の処理を完了していない場合は、ステップS901に戻り、処理が完了していない設置機械に対してステップS901からステップS902の処理を継続する。なお、本実施形態では機械のCADデータを用いる例について説明したが機械に限られるものではなく、現場環境に設置された物体のCADデータであればよい。
本実施形態によれば、既に補正に使用済みの機械の周辺の特徴点を固定することで、すべての機械の周辺における位置姿勢計測の精度を確保することができる。また、環境内に設備の据付けの後に増設された複数の機械のCADデータを用いて、移動体が位置姿勢計測に用いる3次元地図に含まれる誤差を低減できる。これにより、現場環境のCADデータに基づいてSLAM地図の補正を行った後に、各機械のCADデータから検出した視覚的指標を利用してSLAM地図の補正を行うことで、SLAM地図の精度を向上させることができる。
本実施形態の開示は、以下の情報処理装置の構成を含む。
(構成1)移動体の位置姿勢を計測するための地図を取得する地図取得手段と、前記地図に対応する前記移動体が移動する実空間または前記実空間内の物体に対応する図面情報から視覚的指標を検出する検出手段と、前記地図と前記図面情報の座標系の位置合わせを行う位置合わせ手段と、前記位置合わせ後の前記図面情報に含まれる前記視覚的指標と前記地図に含まれる構成要素の対応付けを行う対応付け手段と、前記対応付けの結果に基づいて前記地図を補正する補正手段と、を有することを特徴とする情報処理装置。
(構成2)前記視覚的指標は、特徴点またはエッジであることを特徴とする構成1に記載の情報処理装置。
(構成3)前記検出手段は、前記図面情報に基づいて前記地図の任意のキーフレームに対応する画像を生成し、該画像から前記視覚的指標を検出することを特徴とする構成1または2に記載の情報処理装置。
(構成4)前記図面情報は、CADデータであることを特徴とする構成1乃至3のいずれか1構成に記載の情報処理装置。
(構成5)前記地図は、前記移動体が備えるセンサにより前記移動体の周辺環境を計測して生成されることを特徴とする構成1乃至4のいずれか1構成に記載の情報処理装置。
(構成6)前記地図は移動体の位置姿勢を計測するためのSLAMで用いる3次元の地図であることを特徴とする構成1乃至5のいずれか1構成に記載の情報処理装置。
(構成7)構成1から6のいずれか1構成に記載の情報処理装置と、前記位置合わせ、前記対応付け、前記地図の補正の過程および結果の表示を制御する表示手段と、を有することを特徴とする情報処理システム。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
100 情報処理装置
101 地図取得部
102 視覚的指標情報取得部
103 位置合わせ部
104 検出部
105 対応付け部
106 補正部

Claims (9)

  1. 移動体の位置姿勢を計測するための地図を取得する地図取得手段と、
    前記地図に対応する前記移動体が移動する実空間または前記実空間内の物体に対応する図面情報から視覚的指標を検出する検出手段と、
    前記地図と前記図面情報の座標系の位置合わせを行う位置合わせ手段と、
    前記位置合わせ後の前記図面情報に含まれる前記視覚的指標と前記地図に含まれる構成要素の対応付けを行う対応付け手段と、
    前記対応付けの結果に基づいて前記地図を補正する補正手段と、を有することを特徴とする情報処理装置。
  2. 前記視覚的指標は、特徴点またはエッジであることを特徴とする請求項1に記載の情報処理装置。
  3. 前記検出手段は、前記図面情報に基づいて前記地図の任意のキーフレームに対応する画像を生成し、該画像から前記視覚的指標を検出することを特徴とする請求項1に記載の情報処理装置。
  4. 前記図面情報は、CADデータであることを特徴とする請求項1に記載の情報処理装置。
  5. 前記地図は、前記移動体が備えるセンサにより前記移動体の周辺環境を計測して生成されることを特徴とする請求項1に記載の情報処理装置。
  6. 前記地図は移動体の位置姿勢を計測するためのSLAMで用いる3次元の地図であることを特徴とする請求項1に記載の情報処理装置。
  7. 請求項1から6のいずれか1項に記載の情報処理装置と、
    前記位置合わせ、前記対応付け、前記地図の補正の過程および結果の表示を制御する表示手段と、を有することを特徴とする情報処理システム。
  8. 移動体の位置姿勢を計測するための地図を補正する情報処理装置の制御方法であって、
    前記地図を取得する工程と、
    前記地図に対応する前記移動体が移動する実空間または前記実空間内の物体に対応する図面情報から視覚的指標を検出する工程と、
    前記地図と前記図面情報の座標系の位置合わせを行う工程と、
    前記位置合わせ後の前記図面情報に含まれる前記視覚的指標と前記地図に含まれる構成要素の対応付けを行う工程と、
    前記対応付けの結果に基づいて前記地図を補正する工程と、を有することを特徴とする情報処理装置の制御方法。
  9. 請求項8に記載の各工程を情報処理装置のコンピュータに実行させるプログラム。
JP2022069149A 2022-04-20 2022-04-20 情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム Pending JP2023159484A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022069149A JP2023159484A (ja) 2022-04-20 2022-04-20 情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム
EP23165134.0A EP4266005A1 (en) 2022-04-20 2023-03-29 Information processing device, information processing system, method of controlling information processing device, and storage medium
US18/194,662 US20230342956A1 (en) 2022-04-20 2023-04-03 Information processing device, information processing system, method of controlling information processing device, and storage medium
CN202310425787.5A CN116907536A (zh) 2022-04-20 2023-04-20 信息处理装置及其控制方法、信息处理系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022069149A JP2023159484A (ja) 2022-04-20 2022-04-20 情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2023159484A true JP2023159484A (ja) 2023-11-01

Family

ID=85781741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022069149A Pending JP2023159484A (ja) 2022-04-20 2022-04-20 情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム

Country Status (4)

Country Link
US (1) US20230342956A1 (ja)
EP (1) EP4266005A1 (ja)
JP (1) JP2023159484A (ja)
CN (1) CN116907536A (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4522140B2 (ja) 2004-05-14 2010-08-11 キヤノン株式会社 指標配置情報推定方法および情報処理装置
US11761790B2 (en) * 2016-12-09 2023-09-19 Tomtom Global Content B.V. Method and system for image-based positioning and mapping for a road network utilizing object detection
JP6893200B2 (ja) 2018-10-16 2021-06-23 株式会社きんでん 自走制御プログラム、および、自走式作業装置
JP7501305B2 (ja) 2020-10-23 2024-06-18 沖電気工業株式会社 現像剤収容器及び画像形成装置

Also Published As

Publication number Publication date
CN116907536A (zh) 2023-10-20
EP4266005A1 (en) 2023-10-25
US20230342956A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
KR102399630B1 (ko) 굴착기의 버킷의 포즈 결정 방법 및 장치
CN111665842B (zh) 一种基于语义信息融合的室内slam建图方法及系统
Scaramuzza et al. Extrinsic self calibration of a camera and a 3d laser range finder from natural scenes
US10086955B2 (en) Pattern-based camera pose estimation system
JP5248806B2 (ja) 情報処理装置、情報処理方法
CN111735439B (zh) 地图构建方法、装置和计算机可读存储介质
EP3547260B1 (en) System and method for automatic calibration of image devices
JP2004213332A (ja) キャリブレーション装置、キャリブレーション方法、キャリブレーション用プログラム、及び、キャリブレーション治具
US20170116776A1 (en) Structure-based camera pose estimation system
CN113048980B (zh) 位姿优化方法、装置、电子设备及存储介质
US11488354B2 (en) Information processing apparatus and information processing method
CN108362205B (zh) 基于条纹投影的空间测距方法
US20170116735A1 (en) Optimized camera pose estimation system
JP4132068B2 (ja) 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム
CN110260866A (zh) 一种基于视觉传感器的机器人定位与避障方法
CN114310901B (zh) 用于机器人的坐标系标定方法、装置、系统以及介质
CN113361365B (zh) 定位方法和装置、设备及存储介质
Chen et al. Low cost and efficient 3D indoor mapping using multiple consumer RGB-D cameras
JP2023159484A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法およびプログラム
WO2020208974A1 (ja) 基準位置設定方法及び操作検出装置
Kurka et al. Automatic estimation of camera parameters from a solid calibration box
CN114926542A (zh) 基于光学定位系统的混合现实固定参考系校准方法
CN115063489A (zh) 一种外参标定方法、装置、设备和存储介质
CN116136408A (zh) 室内导航方法、服务器、装置和终端
Boutteau et al. Circular laser/camera-based attitude and altitude estimation: minimal and robust solutions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240620