JP2022011821A - 情報処理装置、情報処理方法、移動ロボット - Google Patents

情報処理装置、情報処理方法、移動ロボット Download PDF

Info

Publication number
JP2022011821A
JP2022011821A JP2020113197A JP2020113197A JP2022011821A JP 2022011821 A JP2022011821 A JP 2022011821A JP 2020113197 A JP2020113197 A JP 2020113197A JP 2020113197 A JP2020113197 A JP 2020113197A JP 2022011821 A JP2022011821 A JP 2022011821A
Authority
JP
Japan
Prior art keywords
information processing
progress state
sensor
processing apparatus
acquired
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
JP2020113197A
Other languages
English (en)
Other versions
JP2022011821A5 (ja
Inventor
久義 降籏
Hisayoshi Furihata
真司 大平
Shinji Ohira
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 JP2020113197A priority Critical patent/JP2022011821A/ja
Priority to US17/361,048 priority patent/US20210402616A1/en
Publication of JP2022011821A publication Critical patent/JP2022011821A/ja
Publication of JP2022011821A5 publication Critical patent/JP2022011821A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • G05D1/0044Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0219Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory ensuring the processing of the whole working surface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • 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
    • 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

Abstract

【課題】 精度の高い地図情報を取得するための技術を提供すること。【解決手段】 移動中のセンサによる実空間のセンシングの結果であるセンサ情報と、該センシングにおける該センサの位置姿勢と、を取得する。センサ情報および/または位置姿勢を指標とし、最近の指標と、該最近の指標と規定の関係にある過去の指標と、に基づいて、閉経路を含むセンサ情報群を取得する作業の進捗状態を推定し、推定した進捗状態を通知する。【選択図】 図3

Description

本発明は、地図情報の生成技術に関するものである。
カメラ等のセンサを移動させて該センサの位置姿勢や周辺環境の地図情報を推定する技術としてSLAM(Simultaneous Localization And Mapping)がある。非特許文献1では、精度の高い地図情報を推定する方法として、ループクローズと呼ばれる技術が開示されている。ループクローズでは、センサを移動させた経路上でループ状の区間(閉経路)を認識し、閉経路における地図の連続性を拘束条件に加えることで、精度の高い地図情報を推定する。
M. A. Raul, J. M. M. Montiel and J. D. Tardos., ORB-SLAM: A Versatile and Accurate Monocular SLAM System, Trans. Robotics vol. 31, 2015
センサの周囲環境の地図情報を推定するために、該センサを移動させながら撮影を行う作業者は、撮影中に閉経路を含む撮影データを取得できているかが分からないため、ループクローズの実行が不確実である。そのため、精度の高い地図情報を得ることが難しい。本発明では、精度の高い地図情報を取得するための技術を提供する。
本発明の一様態は、移動中のセンサによる実空間のセンシングの結果であるセンサ情報と、該センシングにおける該センサの位置姿勢と、を取得する取得手段と、前記取得手段が取得するセンサ情報および/または位置姿勢を指標とし、最近の指標と、該最近の指標と規定の関係にある過去の指標と、に基づいて、閉経路を含むセンサ情報群を取得する作業の進捗状態を推定する推定手段と、前記推定手段が推定した進捗状態を通知する通知手段とを備えることを特徴とする。
本発明の構成によれば、精度の高い地図情報を取得することができる。
システムの構成を示す図。 移動ロボットの構成例を示すブロック図。 情報処理装置500の機能構成例を示すブロック図。 情報処理装置500の動作を示すフローチャート。 コンピュータ装置のハードウェ構成例を示すブロック図。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
一般的にSLAMでは、センサから連続的に2次元の画像や3次元のデータを取得して該センサの位置姿勢と該センサの周辺環境の地図情報を推定する。SLAMの課題として、センサの移動量に応じて、地図情報に含まれる誤差が増大する現象(ドリフト)が知られている。
このドリフトの影響を抑えるために、ループクローズと呼ばれる機能がある。ループクローズでは、センサを移動させた経路上で閉経路を認識し、閉経路における地図の連続性を拘束条件に加えることで、精度の高い地図情報を推定する。上記の非特許文献1では、閉経路を含む撮影データからループクローズを実行する方法が記載されている。
ここで、高精度な地図情報を作成するためには、上記のドリフトの影響を抑えるループクローズを実行可能かどうかが重要になる。しかし、ユーザが撮影を行う時点で、閉経路を含む撮影データが取得できているかどうかを判断することは難しい。
そこで本実施形態では、閉経路を含む撮像画像群を取得する作業の進捗状態を推定し、該推定した進捗状態をユーザに通知する。作業の進捗状態は、作業の完了までどれぐらい到達しているかということを表し、以降、達成度と記載することもある。ユーザはこの通知された進捗状態を見て撮像終了の判断を行う。これにより、閉経路を含む撮像画像群を確実に取得してループクローズを実行できるため、精度の高い地図情報を得ることができる。以下に、その具体的な構成や手順を説明する。
先ず、本実施形態に係るシステムの構成について、図1を用いて説明する。図1に示す如く、本実施形態に係るシステムは、端末装置400と、該端末装置400に対するユーザ300の操作に応じて移動する移動ロボット200と、を有し、更に該移動ロボット200には連続的に撮像画像を撮像する撮像装置100が設けられている。本実施形態では、移動ロボット200が移動しながら撮像装置100が撮像した撮像画像群に基づいて、環境の地図情報を推定(生成)する。
次に、移動ロボットの構成例について、図2のブロック図を用いて説明する。撮像装置100は上記の如く、連続的に撮像を行うものであり、連続的に撮像されたそれぞれの撮像画像は情報処理装置500に入力される。
情報処理装置500は、撮像装置100から連続的に入力された撮像画像群に基づいて環境の地図情報を推定(生成)するとともに、閉経路を含む撮像画像群を取得する作業の進捗状態を推定する。
信号送受信部220は、端末装置400との間のデータ通信を行うものである。例えば、ユーザ300が端末装置400を操作して移動ロボット200を移動させる移動指示を入力すると、端末装置400は該移動指示を含む信号(移動指示信号)を無線通信でもって移動ロボット200に対して送信する。信号送受信部220は、端末装置400から無線通信でもって送信された該移動指示信号を受信し、該受信した移動指示信号をモータ制御部210に出力する。また、信号送受信部220は、情報処理装置500が推定した進捗状態を含む信号(通知信号)を端末装置400に対して送信する。端末装置400は、該通知信号を受信し、該通知信号に含まれる進捗状態に基づく画面を表示する。また、信号送受信部220は、情報処理装置500が生成した地図情報を含む信号(地図情報信号)を端末装置400に対して送信する。端末装置400は、該地図情報信号を受信し、該地図情報信号に含まれる地図情報に基づく画面を表示する。
モータ制御部210は、移動ロボット200が有する車輪250,251を制御するモータの駆動制御を、信号送受信部220から出力された移動指示信号に基づいて行うことで、移動ロボット200の移動速度や移動方向を制御する。
次に、上記の情報処理装置500の機能構成例について、図3のブロック図を用いて説明する。取得部510は、撮像装置100が連続的に撮像を行うことで該撮像装置100から出力されるそれぞれの撮像画像を取得する。位置姿勢推定部520は、取得部510が取得した撮像画像を用いて、該撮像画像の撮像時における撮像装置100の位置姿勢を推定する。
進捗状態推定部530は、取得部510が取得する撮像画像および/または位置姿勢推定部520が推定した位置姿勢を指標とし、最新の指標と、該最新の指標と規定の関係にある過去の指標と、に基づいて、閉経路を含む撮像画像群を取得する作業の進捗状態を推定する。
地図情報推定部550は、取得部510が取得した撮像画像と、該撮像画像に基づいて位置姿勢推定部520が推定した撮像装置100の位置姿勢と、に基づいて環境の地図情報を推定する。地図情報は、取得部510が取得済みの撮像画像から検出した特徴点と、該撮像画像の撮像時における撮像装置100の位置姿勢と、が対応付けられた状態で登録されている情報である。なお、地図情報を推定した後、新しく撮像された撮像画像から撮像装置100の位置姿勢を推定する場合、地図情報に含まれている特徴点のうち、該新しく撮像された撮像画像から検出した特徴点に対応する対応特徴点を特定する。そして、地図情報において該対応特徴点と対応付けられている撮像装置100の位置姿勢を基準にして、該新しく撮像された撮像画像の撮像時における撮像装置100の位置姿勢を推定する。
通知部540は、進捗状態推定部530が推定した進捗状態や地図情報推定部550が推定した地図情報を信号送受信部220に対して出力する。これにより信号送受信部220は、該進捗状態を含む信号や該地図情報を含む信号を生成して端末装置400に対して送信する。
制御部580は、情報処理装置500全体の動作制御を行う。記憶部590には、後述する各処理に係るコンピュータプログラムやデータが格納されている。記憶部590に格納されているコンピュータプログラムやデータは、他の機能部が以下に説明する各処理を実行するために用いられる。
次に、情報処理装置500の動作について、図4のフローチャートに従って説明する。なお、図4のフローチャートに従った処理は、移動ロボット200が移動中に実行されるものである。
ステップS700では、制御部580は初期化処理を行う。初期化処理では、記憶部590に格納されているコンピュータプログラムやデータを読みだす。記憶部590に格納されているデータには、撮像装置100のカメラパラメータなどが含まれる。
ステップS710では、取得部510は、撮像装置100から出力された撮像画像を取得し、該取得した撮像画像を記憶部590に格納する。
ステップS720では、位置姿勢推定部520は、ステップS710で取得部510が取得した撮像画像に基づいて、該撮像画像の撮像時における撮像装置100の位置姿勢を推定し、該推定した撮像装置100の位置姿勢を記憶部590に格納する。撮像画像から該撮像画像を撮像した撮像装置100の位置姿勢を推定する技術は周知であり、例えば、上記の非特許文献1に記載の方法が利用できる。非特許文献1では、画像から特徴点を検出し、画像間で対応付けを行うことでセンサ(本実施形態では撮像装置100)の位置姿勢を推定する。
ステップS730では、進捗状態推定部530は、記憶部590に格納されている「過去に位置姿勢推定部520が推定した撮像装置100の位置群」に基づいて、閉経路を含む撮像画像群を取得する作業の進捗状態を推定する。
例えば、進捗状態推定部530は、記憶部590に格納されている「過去に位置姿勢推定部520が推定した撮像装置100の位置群」のうち最近推定した位置をQsとする。また、進捗状態推定部530は、記憶部590に格納されている「過去に位置姿勢推定部520が推定した撮像装置100の位置群」のうち位置Qsとの距離が最小となる位置をQtとする。そして進捗状態推定部530は、位置Qsと位置Qtとの間の距離Dを求め、該求めた距離Dに基づいて「閉経路を含む撮像画像群を取得する作業の進捗状態(達成度)X」を推定する。進捗状態(達成度)Xは距離Dが大きいほど小さく、距離Dが小さいほど大きくなるように求めればよく、例えば、X=-DやX=1/Dなどの式に基づいて進捗状態Xを求める。つまり、距離Dが小さいほど「過去に移動ロボット200が通った経路上に近づいて閉経路を成した」とし、作業の進捗状態(達成度)Xが高いと推定する。
ステップS740では、通知部540は、ステップS730で推定した進捗状態(達成度)Xを信号送受信部220に対して出力する。上記の如く、信号送受信部220は、進捗状態(達成度)Xを含む通知信号を端末装置400に対して送信する。
端末装置400は、移動ロボット200から通知信号を受信すると、該通信信号に含まれている進捗状態(達成度)Xに基づく画面を表示する。進捗状態(達成度)Xに基づく画面では、例えば、進捗状態(達成度)X(数値)をそのまま文字列として表示してもよいし、該数値を表す棒グラフや円グラフなどのグラフを表示してもよい。また、進捗状態(達成度)Xが閾値以上であれば「GOOD」、進捗状態(達成度)Xが閾値未満であれば「NP_LOOP」、というように、進捗状態(達成度)Xを閾値処理して対応する評価結果を表示してもよい。
ステップS750では、制御部580は、撮像装置100による撮像を終了する終了条件が満たされたか否かを判断する。例えば、端末装置400に表示されている進捗状態を見たユーザ300が撮像終了指示を入力した場合、端末装置400は該撮像終了指示を含む信号(終了指示信号)を移動ロボット200に対して送信する。信号送受信部220は、該終了指示信号を受けると該終了指示信号を制御部580に出力するので、制御部580は終了条件が満たされたと判断し、撮像装置100を制御して撮像を停止させる。
上記の判断の結果、終了条件が満たされた場合には、処理はステップS760に進み、終了条件が満たされていない場合には、処理はステップS710に進み、撮像を継続させる。
ステップS760では、地図情報推定部550は、記憶部590に格納されている撮像画像群および撮像装置100の位置姿勢群に基づいて地図情報を推定する。地図情報の推定方法は公知であり、例えば、非特許文献1では、各時点で撮像した画像上の特徴点に基づいて地図情報を推定する方法が開示されている。
このように、本実施形態では、経路上の撮像装置100の位置に基づいて、閉経路を含む撮像画像を取得する作業の進捗状態を推定し、該推定した進捗状態をユーザに通知する。ユーザはこの通知された進捗状態を見て、撮像を終了するか否かを判断する。これにより、確実に閉経路を含む撮像画像を取得し、ループクローズを実行した精度の高い地図情報を得ることができる。
[第2の実施形態]
本実施形態を含む以下の各実施形態や変形例では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。第1の実施形態では、進捗状態推定部530で、経路上における撮像位置間の距離Dに基づいて進捗状態を推定していた。ただし、進捗状態を推定する方法は、撮像位置や撮像画像のどちらかを利用して、撮像装置100を移動させた経路が閉じている度合いを求め、該求めた度合いを作業完結の進捗状態としてユーザに通知できればどのような方法であっても良い。
本実施形態では、撮像画像に基づいて進捗状態を求める方法の一例として、経路上の撮像画像の類似度に基づいて進捗状態を求める方法を説明する。より具体的には、ステップS730では、進捗状態推定部530は、記憶部590に格納されている「過去に取得部510が取得した撮像画像群」に基づいて、閉経路を含む撮像画像群を取得する作業の進捗状態を推定する。
例えば、進捗状態推定部530は、記憶部590に格納されている「過去に取得部510が取得した撮像画像群」のうち最近撮像された撮像画像をPsとする。また、進捗状態推定部530は、記憶部590に格納されている「過去に取得部510が取得した撮像画像群」のうち撮像画像Psとの類似度が最も高い撮像画像をPtとする。この「類似度」は以下のSSDに基づいて定義してもよいし、以下のSADに基づいて定義してもよいし、画像間の類似度はどのようにして求めてもよい。そして進捗状態推定部530は、撮像画像Psと撮像画像PtとのSSD(Sum of Squared Difference)を求め、該求めたSSDに基づいて、撮像画像Psと撮像画像Ptとの類似度Mを求める。SSDは画像間の類似度が高いほど小さな値となるため、例えば、進捗状態推定部530は、類似度MをM=-SSDを計算することで求める。そして進捗状態推定部530は、進捗状態(達成度)Xを、類似度Mが高いほど大きく、類似度Mが低いほど小さくなるように求める。例えば、進捗状態推定部530は、進捗状態(達成度)XをX=Mとする。つまり、類似度Mが高いほど「過去に移動ロボット200が通った経路上に近づいて閉経路を成した」とし、作業の進捗の度合い(達成度)Xが高いと推定する。
なお、本実施形態では、撮像画像Psと撮像画像PtとのSSDに基づいて類似度Mを求めたが、撮像画像Psと撮像画像Ptとの類似度Mを求める方法は、このような方法に限らない。例えば、撮像画像Psと撮像画像PtとのSAD(Sum of Absolute Difference)に基づいて類似度Mを求めてもよい。また、類似する2枚の画像は、該2枚の画像間で対応する特徴点(特徴量が類似する特徴点)が検出される傾向がある。この傾向を利用し、撮像画像Psおよび撮像画像Ptから特徴点を検出し、撮像画像Psと撮像画像Ptとの間で対応する特徴点の数が多いほど類似度Mを高くするようにしても良い。この場合、例えば、対応する特徴点の数をNとしたとき、類似度M=Nとする。また、対応する特徴点の数以外にも、特徴点の配置等の類似度に基づいて撮像画像間の類似度を求めてもよい。そしていずれのケースにおいても、進捗状態(達成度)XをX=Mとする。
このように、本実施形態では、経路上の撮像画像に基づいて、閉経路を含む撮像画像を取得する作業の進捗状態を推定し、該推定した進捗状態をユーザに通知する。ユーザはこの通知された進捗状態を見て、撮像を終了するか否かを判断する。これにより、確実に閉経路を含む撮像画像を取得し、ループクローズを実行した精度の高い地図情報を得ることができる。
なお、進捗状態を、撮像画像と撮像装置100の位置の両方に基づいて求めてもよい。つまり、進捗状態(達成度)XをX=f(D,M)=(-D)+k×Mを計算することで求めてもよい。ここで、kはDとMの比率を決める係数であり、あらかじめ設定されている値とする。なお、進捗状態(達成度)Xと距離Dとの関係を表す式、進捗状態(達成度)Xと類似度Mとの関係を表す式、には上記の如く様々な式が考えられるため、関数fに適用可能な関数は上記の特定の関数に限らない。
[第3の実施形態]
移動ロボット200を以下のように構成することで、自律移動ロボットを構成することができる。地図情報推定部550が推定した地図情報を記憶部590に格納する。位置姿勢推定部520は、取得部510が取得した撮像画像と、記憶部590に格納されている地図情報と、に基づいて実空間中における移動ロボット200の位置姿勢を推定する。この推定の方法は公知であり、例えば、非特許文献1の方法が利用できる。そして、情報処理装置500に新たに経路計画部を加える。経路計画部は、予め設定した目標ルートに沿って移動できるように、位置姿勢推定部520で推定した位置姿勢に基づいて、次の制御値を計算し、該制御値をモータ制御部210に出力する。この制御値は、次の移動先へ移動するためのモータの制御量であり、モータ制御部210は該制御値に基づいてモータを制御することで移動ロボット200を移動させる。
ここで、推定する位置姿勢の精度は、地図情報の精度に依存する。本実施形態の通知方法によって撮像終了の判断を行う場合、ループクローズを実行可能な撮像画像を取得できるので、精度の高い地図情報を得ることができる。つまり、その地図情報を利用して撮像装置100の位置姿勢を推定する場合、精度を向上させることができる。そして、精度の高い位置姿勢を推定できれば、移動ロボットの自律走行も高い精度で行うことができる。
[第4の実施形態]
第1の実施形態では、ステップS730で進捗状態を推定し、ステップS740で進捗状態を通知し、ステップS750で撮像の終了条件が満たされたのかを判断し、撮像の終了後にステップS760で地図情報の推定を行っていた。しかし、地図情報の推定タイミングはこのような推定タイミングに限らず、例えば、進捗状態が表す値が基準値以上となり、閉経路を成した以降であればいずれのタイミングであってもよい。
例えば、ステップS730で進捗状態を推定した後、該進捗状態が表す値が基準値以上であればステップS760の地図情報の推定を行ってもよい。また、撮像の終了後に直ちに地図情報を生成するのではなく、図4のフローチャートに従った処理(ただしステップS760の処理は省く)の終了後、ユーザから地図情報の生成が指示された場合に地図情報を生成するようにしてもよい。
そして、これに応じて、進捗状態を通知するタイミングについては、第1の実施形態で述べたように、進捗状態を推定した後にすぐに通知しても良いし、地図情報を推定した後に通知しても良いし、そのタイミングについては特定のタイミングに限らない。
<第1の変形例>
移動ロボット200の移動によっては(例えば移動ロボット200の移動速度が遅い場合)、撮像装置100から続けて似たような撮像画像が出力される場合がある。このような場合、撮像画像間の類似度Mは高くなり、未だ移動ロボット200はループ状の閉経路を移動していないにも関わらず、高い進捗状態をユーザに通知してしまうことになる。
同様に、移動ロボット200の移動によっては(例えば移動ロボット200の移動速度が遅い場合)、位置姿勢推定部520は続けて似たような位置姿勢を推定することになる。このような場合、撮像位置間の距離は小さくなり、未だ移動ロボット200はループ状の閉経路を移動していないにも関わらず、高い進捗状態をユーザに通知してしまうことになる。
このよう事態を避けるために、移動ロボット200の移動距離が予め定められた基準値Bを超えた場合に限って進捗状態を求めるようにし、移動ロボット200の移動距離が基準値Bを超えない限りは、進捗状態は求めないようにする。移動ロボット200の移動距離は、記憶部590に格納されている撮像装置100の位置群から求めることができる。例えば、移動順に位置1、位置2、…位置i(iは3以上の整数)が記憶部590に格納されているとすると(位置iが最新の位置)、距離Lは、|位置x-位置(x-1)|をx=2~iのそれぞれについて求めた結果の総和として求めることができる。
<変形例2>
上記の実施形態や変形例では、撮像装置100は、実空間の撮像画像を撮像するセンサの一例として説明したが、実空間の2次元のセンシング結果を収集する装置であれば、どのようなセンサを用いてもよい。
また、上記の実施形態や変形例は、実空間の2次元のセンシング結果の代わりに実空間の3次元のセンシング結果(実空間の3次元点群)を用いても同様に実施可能である。実空間の2次元のセンシング結果の代わりに実空間の3次元センシング結果を用いる場合、撮像装置100はステレオカメラであってもよいし、実空間の3次元点群を収集するセンサであってもよい。実空間の3次元点群を収集するセンサには、例えば、距離センサやLiDARのようなセンサが適用可能である。3次元点群を利用した位置姿勢の推定方法や地図情報の推定方法は、例えば以下の文献に開示されているように周知である。
M.Keller, D.Lefloch, M.Lambers, S.Izadi, T.Weyrich, A.Kolb, "Real-time 3D Reconstruction in Dynamic Scenes using Point-based Fusion", International Conference on 3D Vision (3DV), 2013
この文献では、各時点で得られる3次元点群のマッチングによってセンサの位置姿勢を推定する。そして、各時点で得られる3次元点群を、センサの位置姿勢に応じて統合することで、環境の地図情報を推定する。前述したように、各時点のセンサの位置姿勢は、各時点で得られる3次元点群によって推定可能であるため、第1の実施形態で示すように撮像装置100の位置に基づいた進捗状態の推定が可能である。また、撮像画像の代わりに3次元点群の類似度に基づいて進捗状態を推定することもできる。3次元点群の類似度は、例えば、隣接するタイミングで収集した3次元点群間でマッチングし、一方の3次元点群と他方の3次元点群とで一致する3次元点の数の割合とすればよい。3次元点群間でマッチングする方法としては、例えば、ICP(Iterative Closest Point)がある。
つまり、情報処理装置500は、移動中のセンサによる実空間のセンシングの結果であるセンサ情報と、該センシングにおける該センサの位置姿勢と、を取得し、センサ情報および/または位置姿勢を指標とし、最近の指標と、該最近の指標と規定の関係にある過去の指標と、に基づいて、閉経路を含むセンサ情報群を取得する作業の進捗状態を推定する。
地図情報は、センサ情報から推定する周辺環境の幾何情報を含む情報である。具体的には、センサ情報が2次元画像の場合、地図情報は各時点の撮像画像から検出した物体の特徴点の位置情報を含む。センサ情報が3次元点群の場合、地図情報は各時点の3次元点群もしくは複数の3次元点群を統合した環境全体の3次元点群を含む。
第3の実施形態では、この地図情報を基にして、移動ロボット200に搭載された撮像装置100の位置姿勢を推定し、自律走行を行う。撮像装置100が2次元撮像画像を撮像するカメラであり、地図情報が2次元撮像画像の特徴点の情報である場合、地図情報と2次元撮像画像との間で特徴点の対応付けを行うことで、実空間中における移動ロボット200の位置姿勢を推定する。一方、撮像装置100が3次元センシング結果を収集するセンサであり、地図情報が環境の3次元点群である場合、3次元点群のマッチングを行うことで、実空間中における移動ロボット200の位置姿勢を推定する。
<変形例3>
撮像装置100の位置姿勢の推定方法は特定の推定方法に限らない。例えば、撮像画像から検出した特徴点から該撮像画像を撮像した撮像装置100の位置姿勢を推定しても良い。また、撮像装置100として実空間の3次元点群を収集するセンサを用いる場合には、3次元点群間のマッチングに基づいて該撮像装置100の位置姿勢を推定しても良い。また、撮像装置100にIMU(Inertial Measurement Unit)を備えさせて該IMUにより該撮像装置100の位置姿勢を推定しても良い。また、GPSに基づいて撮像装置100の位置姿勢を推定しても良い。また、環境にARマーカ等の形状が既知である指標を配置し、その指標の撮像画像に基づいて、該撮像画像を撮像した撮像装置100の位置姿勢を推定しても良い。
<変形例4>
上記の実施形態や変形例では、進捗状態を端末装置400に通知することで該進捗状態を該端末装置400のユーザ300に通知していたが、進捗状態の通知先は端末装置400に限らない。また、進捗状態の通知方法も特定の通知方法に限らない。
例えば、進捗の進み具合(達成度の大きさ)を視聴覚や触覚などの感覚で検知可能に刺激を発生することができる通知装置に進捗状態を通知してもよい。このような通知装置は、音声を出力するスピーカーでも良いし、文字や画像を出力するモニタでも良いし、LEDのON/OFFを切り替えて進捗状態を通知する装置でも良い。
また、進捗状態に応じて、通知の大きさなどの程度を変更して通知しても良い。例えば、出力する音声の大きさ、表示する文字の大きさ、文字の色、文字の種類、表示する光の強さ等を変更して通知しても良い。
<実施例5>
上記の実施形態や変形例では、特定の場所に限定せず進捗状態の推定を行ったが、進捗状態を推定する場所は予め決めておいても良い。例えば、移動ロボット200を、場所Fから移動させて再度場所Fに戻るような移動経路で移動させながら撮像装置100による撮像を行う場合を考える。ここで、場所Fを進捗状態推定の対象場所とする。
このような場合、進捗状態推定部530は、場所Fにおける撮像装置100の位置をQ0とし、記憶部590に格納されている「過去に位置姿勢推定部520が推定した撮像装置100の位置群」のうち最近推定した位置をQsとする。そして進捗状態推定部530は、位置Q0と位置Qsとの間の距離Dを求め、第1の実施形態と同様、該求めた距離Dに基づいて「閉経路を含む撮像画像群を取得する作業の進捗状態(達成度)X」を推定する。
なお、他の一例として、進捗状態推定部530は、場所Fにおいて撮像装置100が撮像した撮像画像をP0とし、記憶部590に格納されている「過去に取得部510が取得した撮像画像群」のうち最近撮像された撮像画像をPsとする。そして進捗状態推定部530は、撮像画像P0と撮像画像Psとの類似度を第1の実施形態と同様にして求め、該求めた類似度に基づいて進捗状態(達成度)Xを求める。
また、本実施形態においても、第2の実施形態と同様、進捗状態を、位置Q0と位置Qsとの間の距離D、撮像画像P0と撮像画像Psとの類似度、の両方に基づいて求めてもよい。
このような進捗状態(達成度)Xの取得方法は、経路上の撮像画像や位置のペア(距離Dや画像の類似度を求めるペア)を探索する必要がないため、進捗状態(達成度)Xを求めるための計算コストを抑えることができる。
[第5の実施形態]
図3に示した情報処理装置500の各機能部はハードウェアで実装してもよいが、記憶部590を除く各機能部はソフトウェア(コンピュータプログラム)で実装してもよい。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は情報処理装置500に適用可能である。情報処理装置500に適用可能なコンピュータ装置のハードウェ構成例について、図5のブロック図を用いて説明する。
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU501は情報処理装置500全体の動作制御を行うとともに、情報処理装置500が行うものとして説明した上記の各種の処理を実行もしくは制御する。
RAM502は、ROM503や不揮発性メモリ504からロードされたコンピュータプログラムやデータ、I/F505を介して撮像装置100や信号送受信部220から受信したデータ、などを格納するためのエリアを有する。さらにRAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM502は、各種のエリアを適宜提供することができる。
ROM503には、情報処理装置500の設定データ、情報処理装置500の基本動作に係るコンピュータプログラムやデータ、情報処理装置500の起動に係るコンピュータプログラムやデータ、などが格納されている。
不揮発性メモリ504には、OS(オペレーティングシステム)や、情報処理装置500が行うものとして上述した各処理をCPU501に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。不揮発性メモリ504に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜RAM502にロードされ、CPU501による処理対象となる。なお、上記の記憶部590は、RAM502や不揮発性メモリ504で実装可能である。
I/F505は、撮像装置100や信号送受信部220との間のデータ通信を行うための通信インターフェースとして機能する。CPU501、RAM502、ROM503、不揮発性メモリ504、I/F505は何れもバス506に接続されている。
また、上記の説明において使用した数値、処理タイミング、処理順などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順などに限定することを意図したものではない。
また、以上説明した各実施形態や各変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態や各変形例の一部若しくは全部を選択的に使用しても構わない。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
100:撮像装置 220:信号送受信部 500:情報処理装置 510:取得部 520:位置姿勢推定部 530:進捗状態推定部 540:通知部 550:地図情報推定部 580:制御部 590:記憶部

Claims (19)

  1. 移動中のセンサによる実空間のセンシングの結果であるセンサ情報と、該センシングにおける該センサの位置姿勢と、を取得する取得手段と、
    前記取得手段が取得するセンサ情報および/または位置姿勢を指標とし、最近の指標と、該最近の指標と規定の関係にある過去の指標と、に基づいて、閉経路を含むセンサ情報群を取得する作業の進捗状態を推定する推定手段と、
    前記推定手段が推定した進捗状態を通知する通知手段と
    を備えることを特徴とする情報処理装置。
  2. 前記取得手段は、前記センサ情報に基づいて前記位置姿勢を取得することを特徴とする請求項1に記載の情報処理装置。
  3. 前記推定手段は、前記取得手段が取得した最近の位置と、前記取得手段が過去に取得した位置群のうち該最近の位置に最も近い位置と、の間の距離に基づいて前記進捗状態を推定することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記進捗状態を表す値は、前記距離が大きいほど小さく、前記距離が小さいほど大きい、ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記進捗状態を表す値は、前記距離が閾値以上であれば第1進捗状態を示し、前記距離が閾値未満であれば第2進捗状態を示すことを特徴とする請求項3に記載の情報処理装置。
  6. 前記推定手段は、前記取得手段が取得した最近のセンサ情報と、前記取得手段が過去に取得したセンサ情報群のうち該最近のセンサ情報との類似度が最も高いセンサ情報と、の類似度に基づいて前記進捗状態を推定することを特徴とする請求項1または2に記載の情報処理装置。
  7. 前記推定手段は、前記取得手段が取得した最近の位置と前記取得手段が過去に取得した位置群のうち該最近の位置に最も近い位置との間の距離と、前記取得手段が取得した最近のセンサ情報と前記取得手段が過去に取得したセンサ情報群のうち該最近のセンサ情報との類似度が最も高いセンサ情報との類似度と、に基づいて前記進捗状態を推定することを特徴とする請求項1または2に記載の情報処理装置。
  8. 前記推定手段は、前記取得手段が取得した最近の位置と規定の位置との間の距離に基づいて前記進捗状態を推定することを特徴とする請求項1または2に記載の情報処理装置。
  9. 前記推定手段は、前記取得手段が取得した最近のセンサ情報と規定の位置に対応するセンサ情報との類似度に基づいて前記進捗状態を推定することを特徴とする請求項1または2に記載の情報処理装置。
  10. 前記推定手段は、前記取得手段が取得した最近の位置と規定の位置との間の距離と、前記取得手段が取得した最近のセンサ情報と規定の位置に対応するセンサ情報との類似度と、に基づいて前記進捗状態を推定することを特徴とする請求項1または2に記載の情報処理装置。
  11. 前記進捗状態を表す値は、前記類似度が高いほど大きく、前記類似度が低いほど小さい、ことを特徴とする請求項6,7,9,10の何れか1項に記載の情報処理装置。
  12. 前記センサは、実空間の撮像画像を撮像する撮像装置であり、
    前記類似度は、撮像画像間のSSD(Sum of Squared Difference)、撮像画像間のSAD(Sum of Absolute Difference)、撮像画像間で対応する特徴点の数、撮像画像間で対応する特徴点の配置の類似度、を含むことを特徴とする請求項6,7,9,10,11の何れか1項に記載の情報処理装置。
  13. 前記センサは、実空間の3次元点群を収集する装置であり、
    前記類似度は、3次元点群間のマッチングの結果であることを特徴とする請求項6,7,9,10,11の何れか1項に記載の情報処理装置。
  14. 前記推定手段は、前記取得手段が取得した位置に基づいて移動距離を求め、該移動距離が基準値を超えている場合に前記進捗状態を推定し、該移動距離が基準値を超えていない場合は前記進捗状態を推定しないことを特徴とする請求項1ないし13の何れか1項に記載の情報処理装置。
  15. 更に、
    前記取得手段が取得したセンサ情報および位置姿勢に基づいて、環境の地図情報を生成する生成手段を備えることを特徴とする請求項1ないし14の何れか1項に記載の情報処理装置。
  16. 前記生成手段は、前記進捗状態を表す値が基準値以上であれば前記地図情報を生成することを特徴とする請求項15に記載の情報処理装置。
  17. 請求項1ないし16の何れか1項に記載の情報処理装置と、前記センサと、を有することを特徴とする移動ロボット。
  18. 情報処理装置が行う情報処理方法であって、
    前記情報処理装置の取得手段が、移動中のセンサによる実空間のセンシングの結果であるセンサ情報と、該センシングにおける該センサの位置姿勢と、を取得する取得工程と、
    前記情報処理装置の推定手段が、前記取得工程で取得するセンサ情報および/または位置姿勢を指標とし、最近の指標と、該最近の指標と規定の関係にある過去の指標と、に基づいて、閉経路を含むセンサ情報群を取得する作業の進捗状態を推定する推定工程と、
    前記情報処理装置の通知手段が、前記推定工程で推定した進捗状態を通知する通知工程と
    を備えることを特徴とする情報処理方法。
  19. コンピュータを、請求項1ないし16の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
JP2020113197A 2020-06-30 2020-06-30 情報処理装置、情報処理方法、移動ロボット Pending JP2022011821A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020113197A JP2022011821A (ja) 2020-06-30 2020-06-30 情報処理装置、情報処理方法、移動ロボット
US17/361,048 US20210402616A1 (en) 2020-06-30 2021-06-28 Information processing apparatus, information processing method, mobile robot, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020113197A JP2022011821A (ja) 2020-06-30 2020-06-30 情報処理装置、情報処理方法、移動ロボット

Publications (2)

Publication Number Publication Date
JP2022011821A true JP2022011821A (ja) 2022-01-17
JP2022011821A5 JP2022011821A5 (ja) 2023-06-09

Family

ID=79032225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020113197A Pending JP2022011821A (ja) 2020-06-30 2020-06-30 情報処理装置、情報処理方法、移動ロボット

Country Status (2)

Country Link
US (1) US20210402616A1 (ja)
JP (1) JP2022011821A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022021544A (ja) * 2020-07-22 2022-02-03 キヤノン株式会社 投影装置、投影装置の制御方法、プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6323439B2 (ja) * 2015-12-17 2018-05-16 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
CA3028708A1 (en) * 2018-12-28 2020-06-28 Zih Corp. Method, system and apparatus for dynamic loop closure in mapping trajectories

Also Published As

Publication number Publication date
US20210402616A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
KR101776622B1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101725060B1 (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101776621B1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
US9386209B2 (en) Method and apparatus for estimating position
WO2020037492A1 (en) Distance measuring method and device
CN110702111A (zh) 使用双事件相机的同时定位与地图创建(slam)
KR101776620B1 (ko) 검색 기반 상관 매칭을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN112652016B (zh) 点云预测模型的生成方法、位姿估计方法及其装置
JP5803367B2 (ja) 自己位置推定装置、自己位置推定方法およびプログラム
JP6723061B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP5012615B2 (ja) 情報処理装置、および画像処理方法、並びにコンピュータ・プログラム
KR102455632B1 (ko) 스테레오 매칭 방법 및 장치
KR101423139B1 (ko) 3차원 직선을 이용하여 위치를 인식하고 지도를 생성하는 방법 및 그 방법에 따른 이동체
WO2015068470A1 (ja) 3次元形状計測装置、3次元形状計測方法及び3次元形状計測プログラム
KR20120065067A (ko) 다중센서 융합을 통한 3차원 환경 모델링 장치 및 그 방법
KR20180066618A (ko) 자율주행차량을 위한 거리 데이터와 3차원 스캔 데이터의 정합 방법 및 그 장치
CN111047634B (zh) 场景深度的确定方法、装置、设备及存储介质
WO2021195939A1 (zh) 一种双目拍摄装置的外参的标定方法、可移动平台及系统
EP3306529A1 (en) Machine control measurements device
WO2020195875A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5698815B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2022502791A (ja) ロボットの姿勢を推定するシステムおよび方法、ロボット、並びに記憶媒体
US20210156710A1 (en) Map processing method, device, and computer-readable storage medium
JP2022011821A (ja) 情報処理装置、情報処理方法、移動ロボット
JP6603993B2 (ja) 画像処理装置、画像処理方法、画像処理システム、及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230601