(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024006391
(43)【公開日】2024-01-17
(54)【発明の名称】移動ロボット及び移動距離推定方法並びに移動ロボット制御プログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240110BHJP
【FI】
G05D1/02 H
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022107214
(22)【出願日】2022-07-01
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504193837
【氏名又は名称】国立大学法人室蘭工業大学
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【弁理士】
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】望月 章志
(72)【発明者】
【氏名】杉山 聡
(72)【発明者】
【氏名】水上 雅人
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA03
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301GG08
5H301GG09
5H301GG10
(57)【要約】
【課題】屋外を走行する場合でも移動距離を高精度に推定することが可能な移動ロボット及び移動距離推定方法並びに移動ロボット制御プログラムを提供する。
【解決手段】走行路面4の動画像を撮像するカメラ12と、カメラ12の撮像面から走行路面4までの撮像距離を測定する距離センサ13と、撮像距離に基づいて、動画像に含まれる単位ピクセルに対応する走行路面4上の距離を示す単位距離を算出する単位距離計算部102を備える。また、走行路面4の動画像に基づき、移動ロボット1の移動に伴う動画像に含まれる特徴点の変位を時系列的に測定する変位測定部101と、動画像の1フレーム間における特徴点が変位したピクセル数と単位距離に基づき、移動ロボット1の移動距離を算出する移動距離計算部103とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
走行路面を移動する移動ロボットであって、
前記走行路面の動画像を撮像する撮像部と、
前記撮像部の撮像面から前記走行路面までの撮像距離を測定する距離測定部と、
前記撮像距離に基づいて、前記動画像に含まれる単位ピクセルに対応する前記走行路面上の距離を示す単位距離を算出する単位距離計算部と、
前記走行路面の動画像に基づき、前記移動ロボットの移動に伴う前記動画像に含まれる特徴点の変位を時系列的に測定する変位測定部と、
前記動画像の所定時間における前記特徴点が変位したピクセル数と前記単位距離に基づいて、前記移動ロボットの移動距離を算出する移動距離計算部と、
を備えた移動ロボット。
【請求項2】
前記撮像部及び前記距離測定部として、前記走行路面の動画像を撮像し、且つ、前記撮像距離を測定可能な三次元カメラを用いる
請求項1に記載の移動ロボット。
【請求項3】
前記移動距離計算部は、前記特徴点が変位したピクセル数と、この特徴点の変位を検出した時刻と同一時刻に検出した撮像距離を用いて算出した前記単位距離と、に基づいて前記移動距離を算出する
請求項1または2に記載の移動ロボット。
【請求項4】
移動ロボットの測位情報を取得するGPS受信部と、
前記測位情報、及び前記移動距離計算部で算出された前記移動距離に基づいて、前記移動ロボットが移動した経路のマップを生成するマップ生成部と、
を更に備えた請求項1または2に記載の移動ロボット。
【請求項5】
前記撮像部及び前記距離測定部の周囲を遮光する遮光部、及び、前記遮光部内を明灯する照明機器
を更に備えた請求項1または2に記載の移動ロボット。
【請求項6】
前記照明機器は、照度が可変である
請求項5に記載の移動ロボット。
【請求項7】
走行路面を移動する移動ロボットの移動距離推定方法であって、
撮像部が前記走行路面の動画像を撮像するステップと、
前記撮像部の撮像面から前記走行路面までの撮像距離を測定するステップと、
前記撮像距離に基づいて、前記動画像に含まれる単位ピクセルに対応する前記走行路面上の距離を示す単位距離を算出するステップと、
前記走行路面の動画像に基づき、前記移動ロボットの移動に伴う前記動画像に含まれる特徴点の変位を時系列的に測定するステップと、
前記動画像の所定時間における前記特徴点が変位したピクセル数と前記単位距離に基づいて、前記移動ロボットの移動距離を算出するステップと、
を備えた移動距離推定方法。
【請求項8】
請求項1または2に記載の移動ロボットとしてコンピュータを機能させる移動ロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動ロボット及び移動距離推定方法並びに移動ロボット制御プログラムに関する。
【背景技術】
【0002】
インフラ設備を点検する場合などに、センサを搭載した遠隔操作で移動可能な移動ロボットが用いられている。非特許文献1には、任意の方向に移動可能なホロノミック全方向移動機構を備えたロボットが開示されている。このような移動ロボットは、二次元平面上の位置を高精度に測定することが要求される。
【0003】
非特許文献2には、屋内を移動する移動ロボットを天井に設置したカメラを用いて上面から撮像し、撮像した画像に基づいて移動ロボットの位置を推定することが開示されている。
【0004】
非特許文献3には、屋内通信用に用いられるWi-Fi電波を用いて、送信機から移動ロボットまでの距離を算出することにより、移動ロボットの位置を推定することが開示されている。
【0005】
非特許文献4には、移動ロボットが走行する地面の画像を撮像し、撮像した画像及び車軸エンコーダの検出値に基づいて移動ロボットの自己位置を推定することが開示されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】K.Tadakuma,R.Tadakuma and J.Berengeres,”Development of Holonomic Omnidirectional Vehicle wiith“Omini-Ball”:Spherical Wheels,Proceedings of the 2007 IEEE/RSJInternational Conference on Intelligent Robotsand Systems, San Diego, CA, USA 2007 ).
【非特許文献2】Jae Hong Shim and Young Im Cho, ”A MobileRobot Localization via Indoor FixedRemote Surveillance Cameras” Sensors. 16. 195. 2016.
【非特許文献3】Joydeep Biswasand Manuela Veloso”WiFi localization and navigation for autonomous indoormobile robots”, Proc. of 2010 IEEE International Conference on Robotics and Automation
【非特許文献4】Linguang Zhang,Adam Finkelstein and Szymon Rusinkiewicz, High-Precision Localization UsingGround Texture, ICRA2019
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、上述した非特許文献2に開示された方法は、屋内を走行する移動ロボットの位置を推定することを想定している。これを屋外を移動する移動ロボットに適用する場合には、移動ロボットが移動するフィールド全体を上空から撮像するためにクレーンなどの大規模な装置が必要になる。
【0008】
非特許文献3に開示された方法では、屋外に電磁遮蔽物が存在する場合にWi-Fiの電波が届かなくなることがあり、移動ロボットの移動距離を高精度に推定することができない。
【0009】
非特許文献4に開示された方法では、予め地面画像情報を取得しておく必要があることや、より大規模なシステムになった場合、地図データベースの容量が大きくなるので探索に時間がかかるといった問題がある。
【0010】
また、移動ロボットの車輪にエンコーダを設置して移動ロボットの移動距離を推定する方法では、走行路面が平坦でない屋外を走行する移動ロボットに適用することが難しい。即ち、屋外の走行路は凹凸を有していることが多く、走行路の凹凸に起因して車輪にすべりが発生し、移動距離の推定精度が低下するという問題がある。
【0011】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、屋外を走行する場合でも移動距離を高精度に推定することが可能な移動ロボット及び移動距離推定方法並びに移動ロボット制御プログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明の一態様の移動ロボットは、走行路面を移動する移動ロボットであって、前記走行路面の動画像を撮像する撮像部と、前記撮像部の撮像面から前記走行路面までの撮像距離を測定する距離測定部と、前記撮像距離に基づいて、前記動画像に含まれる単位ピクセルに対応する前記走行路面上の距離を示す単位距離を算出する単位距離計算部と、前記走行路面の動画像に基づいて、前記移動ロボットの移動に伴う前記動画像に含まれる特徴点の変位を時系列的に測定する変位測定部と、前記動画像の所定時間における前記特徴点が変位したピクセル数と前記単位距離に基づき、前記移動ロボットの移動距離を算出する移動距離計算部とを備える。
【0013】
本発明の一態様の移動距離推定方法は、走行路面を移動する移動ロボットの移動距離推定方法であって、撮像部が前記走行路面の動画像を撮像するステップと、前記撮像部の撮像面から前記走行路面までの撮像距離を測定するステップと、前記撮像距離に基づいて、前記動画像に含まれる単位ピクセルに対応する前記走行路面上の距離を示す単位距離を算出するステップと、前記走行路面の動画像に基づいて、前記移動ロボットの移動に伴う前記動画像に含まれる特徴点の変位を時系列的に測定するステップと、前記動画像の所定時間における前記特徴点が変位したピクセル数と前記単位距離に基づき、前記移動ロボットの移動距離を算出するステップとを備える。
【0014】
本発明の一態様は、上記移動ロボットの制御をコンピュータに実行させるための移動ロボット制御プログラムである。
【発明の効果】
【0015】
本発明によれば、屋外を走行する場合でも移動距離を高精度に推定することが可能になる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、実施形態に係る移動ロボットの構成を示す斜視図である。
【
図2】
図2は、移動ロボットに搭載される測定装置及びその周辺に搭載される機器の構成を示すブロック図である。
【
図3A】
図3Aは、カメラの撮像面と走行路面までの撮像距離が変化する様子を示す説明図である。
【
図3B】
図3Bは、カメラによる撮像範囲と撮像距離との関係を示す説明図である。
【
図4】
図4は、1ピクセル当たりの実距離を算出する原理を示す説明図である。
【
図5】
図5は、移動ロボットの移動距離を算出する処理手順を示すフローチャートである。
【
図6】
図6は、
図5に示したS13~S15の詳細な処理手順を示すフローチャートである。
【
図7】
図7は、撮像部及び距離測定部としてRGB-Dカメラを用いた例を示すブロック図である。
【
図8】
図8は、実施形態に係る移動ロボットを移動させたときの、推定された移動距離と基準距離との平均誤差と標準偏差を示す説明図である。
【
図9】
図9は、実施形態に係る距離推定方法を採用した場合、及び採用しない場合の、移動距離の誤差の変化を示すグラフである。
【
図10】
図10は、移動台車の底部に取り付ける遮光ボックスの構成を示す説明図である。
【
図11】
図11は、カメラで撮像した画像に含まれる各領域における輝度の標準偏差及び平均値を示す説明図であり、(a)は遮光ボックスを使用しない場合、(b)は遮光ボックスを使用した場合を示している。
【
図12】
図12は、本実施形態のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して説明する。
図1は実施形態に係る移動ロボット1の構成を示す斜視図である。
図1に示すように、移動ロボット1は、平面視で六角形をなす柱体構造を成す移動台車11と、3つの車輪(オムニホイール)R1、R2、R3と、測定装置10を備えている。
【0018】
移動ロボット1は、走行路面4上を走行する。移動ロボット1は、各車輪R1~R3の駆動を制御することにより、走行路面4上を移動可能である。移動ロボット1は、任意の方向に移動、回転可能であってもよい。走行路面4は、屋内、屋外のいずれであってもよい。走行路面4は平坦であるとは限らず、凹凸が存在することもある。
【0019】
図2は、移動ロボット1に搭載される測定装置10及びその周辺に搭載される機器の構成を示すブロック図である。
【0020】
図2に示すように、移動台車11の底面11Aには、カメラ12(撮像部)と、距離センサ13(距離測定部)が設置されている。
【0021】
カメラ12は、撮像面が走行路面4側(即ち、下方)を向くように設置されており、走行路面4の画像を撮像する。カメラ12は、走行路面4の動画像を撮像する撮像部としての機能を備えている。
【0022】
距離センサ13は、カメラ12の撮像面(レンズの取付面)から走行路面4までの距離(以下、「撮像距離」という)を測定する。距離センサ13は、例えばレーザセンサ、超音波センサを用いることができる。距離センサ13は、カメラ12の撮像面から走行路面4までの撮像距離を測定する距離測定部としての機能を備えている。
【0023】
測定装置10は、移動台車11に設置されており、変位測定部101と、単位距離計算部102と、移動距離計算部103と、GPS受信部104と、マップ生成部105と、記録部106を備えている。
【0024】
変位測定部101は、カメラ12で撮像された走行路面4の動画像を取得する。変位測定部101は、走行路面4の動画像に含まれる特徴点を所定の時間間隔で時系列的に抽出する。例えば、フレームレートが30[fps]である場合には、所定の時間間隔は1フレーム(0.03秒)である。特徴点は、例えば画像に含まれる走行路面4にペイントされた文字、記号、模様、汚れ、突起物の影などである。なお、特徴点を検出する時間間隔は、1フレームに限らず所定のフレーム数(単位フレーム)としてもよい。また、特徴点を検出する時間間隔は所定の時間間隔に限らず、任意の時間間隔であってもよい。
【0025】
変位測定部101は、カメラ12で撮像される動画像の1フレームごとに特徴点を抽出し、抽出される特徴点の変位量を測定する。変位測定部101は、各フレーム間における特徴点の移動量(例えば、移動したピクセル数)をオプティカルフローを用いて算出する。オプティカルフローによる移動距離の算出方法については、後述する。
【0026】
変位測定部101は、特徴点の移動量を移動距離計算部103に出力する。即ち、変位測定部101は、走行路面4の動画像に基づき、移動台車11の移動に伴う動画像に含まれる特徴点の変位を時系列的に測定する。
【0027】
単位距離計算部102は、カメラ12で撮像される動画の、単位ピクセル(例えば、1ピクセル)当たりの実距離を算出する。即ち、移動台車11が凹凸を有する走行路面4を走行する場合において、カメラ12で撮像される動画に含まれる1ピクセル当たりの実距離は、カメラ12の撮像面と走行路面4との間の撮像距離に応じて変化する。以下、
図3A、
図3Bを参照して詳細に説明する。
【0028】
図3Aは、移動ロボット1の走行に伴ってカメラ12と走行路面4との距離が変化する様子を示す説明図である。
図3Aに示すように走行路面4に凹凸が存在すると、カメラ12の撮像面から走行路面4までの距離(撮像距離)が変化する。なお、
図3Aでは走行路面4に存在する凹凸を誇張して記載している。
【0029】
図3Bは、カメラ12による撮像範囲を示す説明図である。カメラ12の画角θwは決まっているので、カメラ12の撮像範囲D1は撮像距離L1により決定される。従って、カメラ12で撮像される画像の1ピクセル当たりの実距離は、撮像距離L1により変化する。
【0030】
図2に示す単位距離計算部102は、撮像距離に応じて1ピクセル当たりの実距離を算出する。以下では、1ピクセル当たりの実距離を「単位距離」という。単位距離計算部102は、算出した単位距離を移動距離計算部103に出力する。即ち単位距離計算部102は、撮像距離に基づいて、動画像に含まれる単位ピクセル(例えば、1ピクセル)に対応する走行路面4上の距離を示す単位距離を算出する。
【0031】
図4は、単位距離の算出方法を示す説明図である。カメラ12の撮像面から走行路面4に垂線を設定する。垂線の距離Z[mm]は、距離センサ13により測定することができる。また、カメラ12による画角をθwとすると、カメラ12による走行路面4上の撮像範囲の一辺の長さd[mm]を算出できる。この長さdをカメラ12のピクセル数Wで除算することにより、1ピクセル当たりの実距離を算出することができる。
【0032】
図2に戻って、移動距離計算部103は、特徴点の移動量(移動したピクセル数)と、単位距離に基づいて、移動台車11の移動距離を算出する。即ち、移動距離計算部103は、動画像の所定時間(例えば、1フレーム間)における特徴点が変位したピクセル数と上述した単位距離に基づき、移動台車11の移動距離を算出する。
【0033】
この際、特徴点が移動したピクセル数を取得した時刻と、単位距離の算出に用いた撮像距離を取得した時刻が一致するのがよい。即ち、移動距離計算部103は、特徴点が変位したピクセル数と、この特徴点の変位を検出した時刻と同一時刻に検出した撮像距離を用いて算出した単位距離と、に基づいて移動距離を算出するとよい。
【0034】
GPS受信部104は、GPS衛星(図示省略)から送信される測位情報を受信する。即ち、GPS受信部104は、移動台車11の測位情報を取得する。
【0035】
マップ生成部105は、GPS受信部104で受信された測位情報、及び移動距離計算部103で算出された移動台車11の移動距離に基づいて、移動台車11が移動した経路のマップを生成する。
【0036】
記録部106は、マップ生成部105にて作成されたマップを記録する。記録部106に記録されているマップは、必要に応じてディスプレイ(図示省略)などの表示部にて表示してもよい。
【0037】
[本実施形態の動作の説明]
次に、本実施形態に係る移動ロボット1の動作を、
図5、
図6に示すフローチャートを参照して説明する。
図5は、移動距離を算出する処理手順を示すフローチャート、
図6は、
図5に示すS13~S15の詳細な処理を示すフローチャートである。
【0038】
図5に示す処理は、移動台車11が走行路面4上において走行を開始するときに実行される。初めにステップS11において、移動台車11の底面11Aに設置されたカメラ12は、走行路面4の動画像を撮像する。
【0039】
ステップS12において、距離センサ13は、カメラ12の撮像面と走行路面4との間の距離(撮像距離)を測定する。距離センサ13にて撮像距離を測定するタイミングと、カメラ12で撮像される動画像に含まれる各フレームのタイミングは同期している。
【0040】
ステップS13において、変位測定部101は、カメラ12で撮像された動画像に含まれる特徴量の、フレーム間における変位量に基づいて、移動台車11の移動方向、及び移動ピクセル数を算出する。
【0041】
ステップS14において、単位距離計算部102は、動画像の撮像範囲を算出し、1ピクセル当たりの実距離である単位距離を算出する。具体的には、前述した
図4に示したように、撮像距離Z、及び撮像範囲の一辺の距離dに基づいて、単位距離を算出する。
【0042】
ステップS15において、移動距離計算部103は、ステップS13の処理で算出された移動ピクセル数、及びステップS14の処理で算出された単位距離に基づいて、移動台車11の移動距離を算出する。こうして、移動台車11の移動距離を高精度に算出できる。
【0043】
更に、マップ生成部105はGPS受信部104で取得される移動台車11の測位情報と移動距離に基づいて、移動台車11が移動した経路を示すマップを生成する。マップ生成部105は、生成したマップを記録部106に記憶する。
【0044】
次に、
図6に示すフローチャートを参照して、移動ピクセル数に基づいて移動台車11の移動距離を算出する処理の詳細な手順について説明する。この処理では、動画像中の特徴点をフレームごとに抽出し、各フレーム間での特徴点の移動をオプティカルフローを用いて算出する。以下、詳細に説明する。
【0045】
初めにステップS31において、変位測定部101は、カメラ12で撮像された動画像の各フレームに対して先鋭化処理を実施する。先鋭化処理は、画像に含まれる輪郭を強調する処理であり、後述するコーナー検出を実施し易くすることができる。先鋭化処理は、下記(1)式で実施することができる。
【0046】
【0047】
(1)式において、aは先鋭化後の画素値、bは先鋭化前の画素値、Ai(i=1,2,・・,8)は隣接する8個の画素の先鋭化前の画素値である。
【0048】
ステップS32において変位測定部101は、ステップS31の処理で先鋭化された画像に対して、コーナー検出処理を実施する。「コーナー」とは比較的大きい画素値の変化が全方向で観測される領域であり、特徴点として使用する。
【0049】
本実施形態では、一例としてShi-Tomasiのコーナー検出を用いてコーナー検出を行う。以下に、Shi-Tomasiのコーナー検出の具体的な手順について示す。まず、下記(2)式に示す行列Mを定義する。
【0050】
【0051】
(2)式において、w(x,y)は窓関数であり、特定の画素に対してコーナー検出を行う際の近傍の範囲の大きさを示す関数である。Ix、Iyは、それぞれw(x、y)で表される範囲内での画素値のX方向とY方向の勾配を示す。
【0052】
次に、下記(3)式に示す評価関数Rを定義する。
【0053】
【0054】
(3)式においてλ1、λ2は、行列Mの固有値である。評価関数Rが予め設定した閾値よりも大きければコーナー(特徴点)であるとみなす。
【0055】
ステップS33において変位測定部101は、移動ベクトルを算出する。従来における移動ベクトルの算出方法では、画像中の複数の点に対する移動ベクトルが算出される。このため、各移動ベクトルから一つの移動ベクトルに代表させる。以下の手順で代表する移動ベクトルを算出する。まず、下記(4)式に示すベクトルAを算出する。
【0056】
【0057】
(4)式において、ui(i=1,2,・・・,n)は画像中の画素の移動ベクトルである。つまり、Aはベクトルuiと同一方向の単位ベクトルの和である。
【0058】
そして、下記(5)式に示すベクトルRを算出する。
【0059】
【0060】
(5)式に示す「A/|A|」は、ベクトルAと同一方向の単位ベクトルである。また、その他の記号は、画像中の移動ベクトルの長さの平均を示している。(5)式で算出したベクトルRを、各フレームにおける代表の移動ベクトルとする。
【0061】
図6のステップS34において変位測定部101は、オプティカルフローを算出する。この処理では、今回のフレームで検出されたコーナーの点が、次回のフレームでどこに移動しているかを計算する。動画像中の連続するフレーム間での各画素の動きをオプティカルフローと称する。以下に、オプティカルフローの計算に用いられる演算式について説明する。
【0062】
初めに画像中の画素値をI(x,y,t)とする。x、yは、画素の位置座標であり、tは時間の次元を表している。動画中の隣り合うフレームの時刻の間隔がΔtで、注目する画素が次回のフレームで画像中を(Δx,Δy)だけ移動したとする。注目する画素の明るさが二つのフレーム内で変化しないと仮定すると、下記(6)式が成立する。
【0063】
【0064】
(6)式の右辺をテイラー展開し、次数が2以上の項を0とすると、下記(7)式が得られる。
【0065】
【0066】
(7)式において、左辺と右辺で共通する項を消去し、Δtで除すると下記(8a)、(8b)式が得られる。
【0067】
【0068】
Ix、Iyは、画素値の勾配であるため計算することが可能である。同様に、Itは画素値の時間的な勾配であるため計算することができる。しかし、vx,vyは未知数であり、(8a)式にて解くことができない。
【0069】
本実施形態では、上記の未知数を計算する手法として、Lucas-Kanade法を採用する。Lucas-Kanade法では、注目画素と隣接する8個の画素も同じように動くと仮定することで未知数を求める。注目画素を含めた3×3の領域にある画素の座標をPi(i=1,2,・・・,9)とすると、上記(8a)、(8b)式から下記(9)式が得られる。
【0070】
【0071】
従って、(9)式に示す9個の式(i=1~9とした式)を連立方程式として解くことによりvx,vyの解が得られる。
【0072】
ステップS35において変位測定部101は、カメラ12の位置座標を算出する。この処理では、最初のフレームを取得したときのカメラ12の位置を原点とする。上述した移動ベクトルRを各フレームごとに算出し、算出したベクトルRを足し合わせていくことで各フレームにおけるカメラの位置座標を求めることができる。
【0073】
例えば、カメラ12が一直線に移動する場合(即ち、移動台車11が直線的に移動した場合)、理想的には各フレームにおけるカメラの位置座標は一直線上に並ぶことになる。しかし、実際には誤差があるためそのようにはならない。そこで、以下に示す手順で位置座標の補正を行う。まず、カメラ12の位置座標の点群に対して、最小二乗法を用いて近似直線を求める。近似直線を下記(10)式で定義する。
【0074】
【0075】
(10)式において、tは直線の傾き、kは直線の切片である。補正前の位置座標を(xi,yi),補正後の位置座標を(x’i,y’i)として、下記(11)式で各点が近似直線上に並ぶように補正を行う。
【0076】
【0077】
ステップS36において変位測定部101は、ピクセルの変位を算出する。この処理では、一直線上に並ぶように補正した位置座標の各点に対して、原点(x’0,y’0) からの変位を求める。動画から求めた変位は画像上での変位(ピクセル変位)である。
【0078】
ステップS37において移動距離計算部103は、距離情報に基づいて、実寸変位を算出する処理を実行する。1ピクセルサイズに相当する画像分解能を変換係数Kとし、この変換係数Kを乗算して、実際の移動量に変換する。
【0079】
その際、
図4に示した方法により画像分解能の補正を行う。変換係数Kは、下記(12)式で算出することができる。
【0080】
【0081】
(12)式に示すように、変換係数Kは実際の幅d[mm]をピクセル数W[pixcel]で除した数値となる。
【0082】
実際の幅dは、カメラ画角をθ、カメラ12と撮影面との距離をhとしたとき、下記(13)式で示すことができる。
【0083】
【0084】
(13)式において、θはカメラ固有の値であるため「2tan(θ/2)」は定数として予め計測した値を用いる。
【0085】
上記したステップS31~S37の処理を実行することにより、移動台車11の移動距離を算出することができる。
【0086】
また、上述した実施形態では、
図1に示したように、カメラ12(撮像部)と距離センサ13をそれぞれ個別に搭載する例について説明したが、
図7に示すように、RGB-Dカメラ14(三次元カメラ)を用いる構成としてもよい。RGB-Dカメラ14は、走行路面4の画像を撮像し、且つ、撮像面から走行路面4までの撮像距離を測定する機能を有している。即ち、RGB-Dカメラ14は、撮像部及び距離測定部を兼用している。RGB-Dカメラ14は、走行路面4の動画像を撮像し、且つ、撮像距離を測定可能な三次元カメラの一例である。
【0087】
図8は、本実施形態に係る測定装置10にて、位置推定の実験を行った結果を示す説明図である。動画像の撮像及び撮像距離の測定には、
図7に示したRGB-Dカメラ14を使用している。実験では移動台車11を、移動速度80[mm/s]で走行路面4上の任意の点P1から距離1200[mm]離れた点P2へ移動させ、その後点P2から再度点P1(P3)まで移動させた。ここでは、動画像の取得タイミングに同期して距離画像を取得し、フレーム間のピクセル変位量とそのフレームにおける撮像距離に基づいて単位距離を逐次補正して、移動台車11の移動距離を補正した。
【0088】
なお、移動量の測定を評価するために、0.1[mm]の分解能を有するレーザセンサを用いて移動台車11の位置を推定し、これを基準値とした。基準値と、本実施形態に係る測定装置10による自己位置推定値と比較した結果、数cm程度の誤差で推定できていることが理解される。
【0089】
図9は、0.1[mm]分解能で移動可能な1軸自動ステージを用いて、1ピクセル当たりの実距離を補正した場合(距離情報あり)、及び補正しない場合(距離情報なし)における自己位置推定結果を示すグラフである。ステージの送り速度と真値との誤差を100[mm]往復時、200[mm]往復時をパラメータとして、測定した結果を示している。
図9のグラフから理解されるように、本実施形態に係る移動距離推定方法を採用することにより、自己位置を推定する際の誤差が小さくなっていることが理解される。
【0090】
このように、本実施形態に係る移動ロボット1は、走行路面4を移動する移動ロボット1であって、走行路面4の動画像を撮像する撮像部(カメラ12)と、撮像部の撮像面から走行路面4までの撮像距離を測定する距離測定部(距離センサ13)と、撮像距離に基づいて、動画像に含まれる単位ピクセルに対応する走行路面4上の距離を示す単位距離を算出する単位距離計算部102と、走行路面4の動画像に基づいて、移動ロボット1の移動に伴う動画像に含まれる特徴点の変位を時系列的に測定する変位測定部101と、動画像の所定時間(例えば、1フレーム間)における特徴点が変位したピクセル数と単位距離に基づき、移動ロボット1の移動距離を算出する移動距離計算部103とを備える。
【0091】
本実施形態では、走行路面4に凹凸が存在する場合であっても、カメラ12の撮像面から走行路面4までの撮像距離に応じて、1ピクセル当たりの実距離である単位距離を変更するので、走行路面4に存在する凹凸の影響を軽減して移動台車11の移動距離を推定することが可能になる。このため、移動台車11が屋外を走行する場合でも移動距離を高精度に推定することが可能になる。
【0092】
また、
図7に示したようにカメラ12と距離センサ13を兼用したRGB-Dカメラ14(三次元カメラ)を使用することにより、装置構成を簡素化することが可能になる。また、RGB-Dカメラ14を用いることにより、動画像を取得する時刻と撮影距離を取得する時刻を容易に対応させることができるので、演算負荷を軽減することができる。
【0093】
移動距離計算部103は、特徴点が変位したピクセル数と、この特徴点の変位を検出した時刻と同一時刻に検出した撮像距離を用いて算出した単位距離と、に基づいて移動距離を算出するので、高精度な移動距離の測定が可能になる。
【0094】
本実施形態に係る移動ロボット1では、走行路面4の動画像を用いて移動台車11の自己位置を推定するので、オムニホイールなどの車輪R1~R3の設置状況に依存しない。また特殊な車輪を用意する必要もないため、車輪のすべりに起因する誤差は発生しない。
【0095】
本実施形態では、マップや周辺環境情報を利用しないので、周囲環境の制約を受けること無く移動距離を推定することが可能である。
【0096】
カメラ12で撮影した動画像のフレームの取得時刻と、距離センサ13で測定した撮像距離の取得時刻は対応付けられているので、リアルタイムに補正が可能となり、検出精度を向上させることができる。
【0097】
本実施形態では、GPS受信部104で受信される測位情報と連携することで、移動ロボット1が移動した経路を高精度に測定し、マップとして保存することが可能になる。
【0098】
[変形例の説明]
次に、上述した実施形態の変形例について説明する。変形例に係る移動ロボットは、移動台車11の底面11Aに設置する撮像部及び距離測定部として、
図7に示したRGB-Dカメラ14を用い、更に、RGB-Dカメラ14の周囲を覆って外部からの光を遮光する遮光ボックス(遮光部)を用いる。
【0099】
図10は、遮光ボックスの側面方向の断面図である。
図10に示すように、遮光ボックス30は、上部筐体32と、下部筐体36と、LEDライト31(照明機器)と、開閉板34を備えている。遮光ボックス30は、撮像部及び距離測定部の周囲を遮光する遮光部の一例である。LEDライト31は、照明機器の一例である。
【0100】
上部筐体32は、下面が開口された中空の直方体形状を有している。上部筐体32の外側には、面ファスナ33が設けられている。
【0101】
下部筐体36は、筒体形状を有しており、上部筐体32の内部に収容可能とされている。即ち、下部筐体36を上下方向に移動させることにより、遮光ボックス30の高さを任意に変化させることができる。
【0102】
LEDライト31は、上部筐体32内の頂部に設けられている。LEDライト31を点灯させることにより、遮光ボックス30の内部を明灯させることができる。LEDライト31は、図示省略の調光装置により照度を変化させることができる。即ち、照明機器は、照度が可変である。
【0103】
上部筐体32内の頂部にはRGB-Dカメラ14が設置されている。開閉板34は、下部筐体36の外側の底部に、ヒンジ37により開閉可能に取り付けられている。開閉板34の内側には面ファスナ35が設けられている。即ち、ヒンジ37を回転軸として開閉板34を図中の矢印Y1の方向に回動させることにより、開閉板34に設けられた面ファスナ35と上部筐体32に設けられた面ファスナ33とを着脱することが可能である。
【0104】
なお、上部筐体32、下部筐体36、及び開閉板34は、プラスチックで形成するとよい。プラスチックで形成することにより、加工性が良く、且つ軽量とすることができる。
【0105】
変形例に係る移動ロボットでは、移動台車11の底面11Aから走行路面4までの距離に応じて遮光ボックス30の高さを調節することができる。具体的には、
図10に示す開閉板34を開いて、2つの面ファスナ33、35を離間させる。この状態で下部筐体36を上下方向に移動させて高さを調整し、所望の高さになった位置で開閉板34を閉じて2つの面ファスナ33、35を接合させる。その結果、下部筐体36を所望の位置に固定することができ、ひいては遮光ボックス30を所望の高さに調整することができる。
【0106】
図11は、アスファルト風の模様を有するフロアマットをRGB-Dカメラ14にて撮像し、撮影した画像にグレースケール変換を行って輝度を算出した結果を示す説明図である。
図11は、撮像したフロアマットの領域Z1を16分割した場合の、各分割領域における輝度の標準偏差(上段の数値)、及び平均値(下段の数値)を示している。また、
図11(a)は、遮光ボックス30を使用しない場合、
図11(b)は遮光ボックス30を使用した場合を示している。
【0107】
輝度は0~255の整数で示される数値であり、数値が大きいほど白に近づき、数値が小さいほど黒に近づく。即ち、輝度が大きいほど明るいことを示している。
【0108】
図11(b)では、
図11(a)と対比して輝度の標準偏差が低く、また輝度の平均の変動が少ないことから、明るさの均一性が保たれていることが理解される。また、遮光ボックス30内を採用することにより、特徴点の算出をロバスト化できることが理解される。
【0109】
このように、変形例に係る移動ロボットでは、移動台車11の底面11Aに遮光ボックス30を設置している。該遮光ボックス30内にRGB-Dカメラ14を設置し、且つLEDライト31を点灯させた状態で、走行路面4の画像を撮像し、且つ走行路面4までの撮像距離を測定する。このため、外部環境の影響を受けず、均一な明るさで走行路面4の画像を取得することができ、移動台車11が走行して周囲の明るさが変化した場合でも、高精度に移動台車11の移動距離を推定することが可能になる。
【0110】
また、走行路面4の色、模様などの状態に応じてLEDライト31の照度を調整することにより、オプティカルフローの検出精度を高めることができ、ひいては移動距離の推定精度を向上させることが可能になる。
【0111】
上記説明した本実施形態の移動ロボット1に搭載される測定装置10には、
図12に示すように例えば、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid StateDrive)と、通信装置904と、入力装置905と、出力装置906とを備える汎用的なコンピュータシステムを用いることができる。メモリ902およびストレージ903は、記憶装置である。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、測定装置10の各機能が実現される。
【0112】
なお、測定装置10は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また、測定装置10は、コンピュータに実装される仮想マシンであっても良い。
【0113】
なお、測定装置10用のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0114】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【0115】
1 移動ロボット
4 走行路面
10 測定装置
11 移動台車
11A 底面
12 カメラ(撮像部)
13 距離センサ(距離測定部)
14 RGB-Dカメラ(三次元カメラ)
30 遮光ボックス
31 LEDライト
32 上部筐体
33 面ファスナ
34 開閉板
35 面ファスナ
36 下部筐体
37 ヒンジ
101 変位測定部
102 単位距離計算部
103 移動距離計算部
104 GPS受信部
105 マップ生成部
106 記録部