JP2009109200A - Position attitude estimation system, position attitude estimation device, and position attitude estimation method - Google Patents
Position attitude estimation system, position attitude estimation device, and position attitude estimation method Download PDFInfo
- Publication number
- JP2009109200A JP2009109200A JP2007278496A JP2007278496A JP2009109200A JP 2009109200 A JP2009109200 A JP 2009109200A JP 2007278496 A JP2007278496 A JP 2007278496A JP 2007278496 A JP2007278496 A JP 2007278496A JP 2009109200 A JP2009109200 A JP 2009109200A
- Authority
- JP
- Japan
- Prior art keywords
- map
- evaluation
- pixel
- distance
- image
- 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
Links
Images
Landscapes
- Navigation (AREA)
Abstract
Description
本発明は、移動ロボットの自律移動制御等において利用される、実環境内における自己の位置姿勢を認識する技術に関する。特に、移動ロボットが目的地まで人の操作なしに自動的に到達することを目的とし、移動ロボットの位置姿勢を、移動ロボットに搭載された距離センサからのセンシングデータと、環境の幾何状況を示した二次元の環境地図とを用いて算出する技術に関する。 The present invention relates to a technique for recognizing a position and orientation of a self in an actual environment, which is used in autonomous movement control of a mobile robot. In particular, for the purpose of the mobile robot reaching the destination automatically without human operation, the position and orientation of the mobile robot are shown by sensing data from the distance sensor mounted on the mobile robot and the geometric state of the environment. The present invention relates to a technique for calculating using a two-dimensional environmental map.
まず、距離センサと二次元の環境地図を用いて移動ロボットの位置姿勢を推定する従来の方法について説明する。 First, a conventional method for estimating the position and orientation of a mobile robot using a distance sensor and a two-dimensional environment map will be described.
ここで距離センサとは、距離センサの周辺の複数の方向について、障害物までの距離を計測できるものである。仕様としてさまざまなものが考えられるが、ここでは図13および図14に示すように、ある高さの水平面上を距離センサ421の正面に対して-90°から+90°の方向に、1°毎の合計181通りの異なる方向について、障害物422までの距離データが瞬時に計測できるものを想定する。よって各センシングデータ431は、角度φと距離dの組み合わせとして(d0,φ0),(d1,φ1),...,(d180,φ180)としてあらわされる。
Here, the distance sensor can measure the distance to an obstacle in a plurality of directions around the distance sensor. Various specifications can be considered, but here, as shown in FIGS. 13 and 14, 1 ° in a direction from −90 ° to + 90 ° with respect to the front of the
ここで各変数の数字の添え字はデータ番号で、φiはi番目の測定方向を示す。測定方向とは、反時計回りを正方向とし、距離センサの主方向となす角度であり、主方向とのなす角度が小さい順にデータ番号が割り当てられる。すなわちφ0=-90°,φ1=-89°,...,φ180=+90.0°を示す。また、diは、それぞれの方向における障害物までの距離を示す。 Here, the numerical subscript of each variable is a data number, and φ i indicates the i-th measurement direction. The measurement direction is an angle made counterclockwise as the positive direction and the main direction of the distance sensor, and data numbers are assigned in ascending order of the angle made with the main direction. That is, φ 0 = −90 °, φ 1 = −89 °,..., Φ 180 = + 90.0 °. D i indicates the distance to the obstacle in each direction.
なお、ここでは距離センサの測定能力を考慮し、測定可能距離を0.0mより大きく4.0m以下と想定し、diの値の範囲を、0.0m<di≦4.0mに制限することとする。また、この181個の距離データを1まとまりとして、1フレーム分のセンシングデータ群430と呼ぶこととする。また、(di,φi)であらわされたパラメータは、センシングデータの位置、すなわち障害物の位置を、距離センサの原点位置を原点とした極座標で表現したものと等価になるが、これをxi=di・cos(φi)、yi=di・sin(φi)とすることで、(xi,yi)の形の直交座標表現に変換することもできる。
Here, considering the ability to measure the distance sensor, the measurable distance assumes greater 4.0m follows from 0.0 m, the range of values of d i, and be limited to 0.0 m <d i ≦ 4.0m . Further, the 181 distance data are grouped as one group and referred to as a
一方、二次元の環境地図とは、距離センサ421による測定高さ断面での障害物422の存在を、図15に示すようなディジタル画像としてあらわしたものである。ここでは図15に示すように、障害物が存在しない場所を白を示す画素値441、障害物が存在する場所を黒を示す画素値442としてあらわすことにする。
On the other hand, the two-dimensional environment map represents the presence of the
移動ロボット420は、図13に示すように平らな地面上を移動するものと仮定する。よってその移動によって変化する位置姿勢に関する自由度は、位置について(x,y)の2パラメータ、姿勢については移動ロボットが向く方向角度に関するθの1パラメータの、合計3パラメータである。なお、これらのパラメータをあらわす座標系は、図15に示すような環境地図があらわわれる座標系と一致させるものとする。
It is assumed that the
移動ロボットの位置姿勢を推定することとは、任意の位置姿勢にある移動ロボットのセンシングデータから、上記(x,y,θ)の3パラメータを求めることを意味する。よって、本発明が対象とする機能は、任意の位置姿勢にある移動ロボットの位置姿勢パラメータ(x,y,θ)を、移動ロボットに搭載された距離センサによるセンシングデータと、あらかじめ用意された環境地図を用いて求めることとなる。 Estimating the position and orientation of the mobile robot means obtaining the three parameters (x, y, θ) from the sensing data of the mobile robot in an arbitrary position and orientation. Therefore, the functions targeted by the present invention are the position and orientation parameters (x, y, θ) of a mobile robot in an arbitrary position and orientation, sensing data from a distance sensor mounted on the mobile robot, and an environment prepared in advance. It will be obtained using a map.
本機能を実現する手段として、いくつかの方法が考えられるが、ここではその最も基本的な方法となるマッチング方法を説明する。 Several methods can be considered as means for realizing this function. Here, a matching method which is the most basic method will be described.
マッチング方法とは、あるフレームにおいて計測されたセンシングデータ全体の位置および姿勢(方向)を変えながら、当該センシングデータを環境地図に重ね合わせ、センシングデータと環境地図とが最もマッチする位置および姿勢を探し出し、これをもって移動ロボットの位置姿勢パラメータの推定値とするというものである。その原理は、移動ロボットがその位置および姿勢にあるときに、計測されたデータと同じデータが最も高い確率で得られるであろうという考え方に基づいている。 The matching method is to superimpose the sensing data on the environment map while changing the position and orientation (direction) of the entire sensing data measured in a certain frame, and find the position and orientation where the sensing data and the environment map best match. This is the estimated value of the position and orientation parameter of the mobile robot. The principle is based on the idea that when the mobile robot is in its position and posture, the same data as the measured data will be obtained with the highest probability.
このようなマッチング方法は、具体的には以下に述べるような処理によって実施される。
(1) あるフレームにおけるすべてのセンシングデータ(前述した距離センサの例では181個)に対して、これを地図上でθだけ回転させ、(x,y)だけ平行移動させた位置を求める。
(2) それらの位置の環境地図上の画素値を参照し、1の値をもつもの(障害物があるもの)の数を数え、これをそのパラメータ (x,y,θ)における評価値とする。
(3) 上記(1)および(2)の処理を、考えられうるすべての値をもつ(x,y,θ)の組み合わせについて、評価値が最も大きい(x,y,θ)を解とする。
Such a matching method is specifically implemented by the processing described below.
(1) For all the sensing data in a certain frame (181 in the example of the distance sensor described above), this is rotated by θ on the map, and the position translated by (x, y) is obtained.
(2) Referring to the pixel values on the environment map at those positions, count the number of objects with a value of 1 (there is an obstacle), and use this as the evaluation value for that parameter (x, y, θ). To do.
(3) For the combinations of (x, y, θ) that have all possible values, the solution of (1) and (2) above is the solution with the highest evaluation value (x, y, θ) .
上記の手法を、基本手法によるマッチング方法と呼ぶことにする。図16に基本手法によるマッチング方法の概要を示す。図15に示した環境地図440と、図16(a)に示したセンシングデータ群430とが与えられたときに、この方法によって最もマッチすると判断された状況が図16(b)の位置450および方向451となる。このときの平行移動成分(x,y)と、回転成分θが、移動ロボット位置姿勢パラメータの推定値となる。
The above method will be referred to as a matching method based on the basic method. FIG. 16 shows an outline of the matching method based on the basic method. When the
さて、基本手法によるマッチング方法は、処理量が膨大になるという問題がある。具体的には、環境地図のサイズ、すなわち対象とする部屋等移動ロボットが移動可能なエリアのサイズを例えば10m×10mとし、マッチングの粒度、すなわちどの程度の細かさでマッチングの際のパラメータを変化させていくかについて、その最小単位を、位置すなわち(x,y)パラメータに関して例えば10cm、姿勢すなわちθパラメータに関して例えば1°とすると、上述した基本手法によるマッチング方法では、181×360×101×101 = 664,697,160回の画素値の参照演算が必要となる。 The matching method based on the basic method has a problem that the processing amount is enormous. Specifically, the size of the environment map, that is, the size of the area where the mobile robot can move, such as the target room, is 10 m × 10 m, for example, and the matching granularity, that is, how fine the parameters are changed Assuming that the minimum unit is 10 cm for the position, ie, (x, y) parameter, and 1 °, for example, the orientation, ie, the θ parameter, the matching method based on the basic method described above is 181 × 360 × 101 × 101. = 664,697,160 pixel value reference operations are required.
ここで、「181」はデータ数、「360」は回転角度θがとりうる値の数(0°,1°,2°,...,359°の360通り)、「101」はx方向の移動量がとりうる値の数(-5.0m,-4.9m,...,+5.0mの101通り、次の「101」は同じようにy方向の移動量がとりうる値の数(-5.0m,-4.9m,...,+5.0mの101通り)である。
Here, “181” is the number of data, “360” is the number of values that the rotation angle θ can take (360 degrees of 0 °, 1 °, 2 °,..., 359 °), and “101” is the x direction. The number of values that the movement amount of can take (101 of -5.0m, -4.9m, ..., + 5.0m, the next "101" is the number of values that the movement amount in the y direction can take ( -5.0m, -4.9m, ..., + 5.0
マッチング方法は、一般にコンピュータ等の計算機で行うことが想定される。上述した基本手法によるマッチング方法で行われる画素値の参照演算は、1つ1つはそれほど大きな計算負荷にならないが、その量が膨大であれば、その量にほぼ比例して計算負荷が増大することになる。上述した参照演算回数の具体例は、一般的に流通している現在の計算機の能力を考慮すると、一般的に、実用上また実装上無視できないオーダの計算量となっている。 It is assumed that the matching method is generally performed by a computer or the like. Each of the pixel value reference calculations performed by the matching method based on the basic method described above is not so much computational load, but if the amount is enormous, the computational load increases in proportion to the amount. It will be. The above-described specific example of the number of reference computations generally has an order calculation amount that cannot be ignored in practical use or implementation in consideration of the ability of currently distributed computers.
このような、処理量が膨大になるという基本手法によるマッチング方法の問題点を解決する方法として、例えば非特許文献1には、センシングデータリストセンシングデータリストに基づくマッチング方法が提案されている。この考えに基づく処理について説明する。なお以降本処理を、センシングデータリストに基づくマッチング方法と呼ぶことにする。
As a method for solving such a problem of the matching method based on the basic method that the processing amount becomes enormous, for example, Non-Patent
ここで説明を簡単にするため、移動ロボットの移動は並進運動だけで、回転運動は行われないものと仮定する。すなわち、推定するパラメータは(x,y)の2つで、θについてはここでは0に固定するものとする。 In order to simplify the explanation here, it is assumed that the movement of the mobile robot is only a translational motion and no rotational motion is performed. That is, two parameters to be estimated are (x, y), and θ is fixed to 0 here.
まず、上述した基本手法によるマッチング方法を考える。ここでは、図17に示すようなセンシングデータ群460と環境地図463とが与えられることを想定する。なお以降用いる図では説明を簡単にするため、画素の詳細度を荒くし、センシングデータの数を少なくして解説するものとする。ここで、図17において、461はセンサ原点、462はセンシングデータであり、図17に示した(0)から(3)の数字の順に、第0番目のセンシングデータ、第1番目のセンシングデータ、第2番目のセンシングデータ、第3番目のセンシングデータと呼ぶこととする。
First, consider the matching method based on the basic method described above. Here, it is assumed that a
基本手法によるマッチング方法では、図18に示すように、センシングデータ全体を平行移動させながら環境地図に重ね合わせ、各センシングデータが指し示す、すなわちセンシングデータが重なる画素の値が1であるものの数を、評価値として数えていくことになる。例えば、図18の(x,y)=(-3,-3)では評価値が0、(x,y)=(-1,-3)では評価値が1である。(x,y)=(-1,-1)では評価値が4となり、評価値として最大値となる。この場合、推定値は、(x,y)=(-1,-1)となる。 In the matching method based on the basic method, as shown in FIG. 18, the entire sensing data is overlapped on the environment map while being translated, and the number of pixels where each sensing data points, that is, the pixel value where the sensing data overlaps is 1, It will be counted as an evaluation value. For example, the evaluation value is 0 at (x, y) = (− 3, −3) in FIG. 18, and the evaluation value is 1 at (x, y) = (− 1, −3). When (x, y) = (− 1, −1), the evaluation value is 4, which is the maximum evaluation value. In this case, the estimated value is (x, y) = (− 1, −1).
次に、センシングデータリストに基づくマッチング方法を説明する。 Next, a matching method based on the sensing data list will be described.
いま、図17のセンシングデータ群460における第0番目のセンシングデータに着目すると共に、この第0番目のセンシングデータが指し示す環境地図上の画素値が1になるのは、センシングデータ群全体をどこに移動させた場合であるかを考える。図18からそのような移動は、図19に示した10通りであることがわかる。なお、図19に示す470が、第0番目のセンシングデータである。本例では、環境地図上に画素値が1となる点が10個あるので、移動方法も10通りあることになる。
Now, paying attention to the 0th sensing data in the
次に、このときのセンシングデータの原点位置471を、白紙の地図上にプロットすると、その結果は図20に示すようになる。このように作成されたパターンを参照地図、より詳しくは、第0番目のセンシングデータに関する参照地図480と呼ぶこととする。
Next, when the
ところで、この第0番目のセンシングデータに関する参照地図480をよく見ると、色のついた画素パターンは、図17(b)に示した環境地図の画素パターンを図21(d)に示すベクトル成分495だけ平行移動させたものであることがわかる。また、このベクトル成分495は、センシングデータ群における第0番目のセンシングデータ494とセンサ原点493から決まるベクトルの逆方向であることがわかる。
By the way, if the
よって、第0番目のセンシングデータを(d0,φ0)とすると、x0=d0・cos(φ0)、y0=d0・sin(φ0)の計算を行うことで、上記ベクトル成分を(x0,y0)の形の直交座標系で表現することができる。これを算出した後に、もとの環境地図をこのベクトル分だけ逆方向に平行移動させてやれば、この第0番目のセンシングデータに関する参照地図480が作成されることになる。
Therefore, if the 0th sensing data is (d 0 , φ 0 ), the calculation of x 0 = d 0 · cos (φ 0 ), y 0 = d 0 · sin (φ 0 ) The vector component can be expressed by an orthogonal coordinate system of the form (x 0 , y 0 ). After calculating this, if the original environmental map is translated in the opposite direction by this vector, the
このようにして作成された参照地図480(第0番目のデータに関する参照地図)における、センサ原点481がプロットされた画素の意味は次のようになる。それは、「この位置に原点位置がくるようにセンシングデータを平行移動させてやれば、第0番目のセンシングデータが、環境地図データの1の値を持つ画素に一致する」ということである。
In the
これは、第0番目のセンシングデータについて考えたときであるが、これを別のセンシングデータについても同様に考えることができる。すなわち、第n番目のセンシングデータについて、それとセンサ原点とがなすベクトルを考え、そのベクトル成分だけ環境地図を反対方向に平行移動させることにより、第n番目のセンシングデータに関する参照地図を作成することができる。 This is the case when the 0th sensing data is considered, but this can be similarly considered for other sensing data. That is, with respect to the nth sensing data, a vector formed by the sensor origin can be considered, and a reference map for the nth sensing data can be created by translating the environment map in the opposite direction by the vector component. it can.
具体的には、第0番目のセンシングデータのときと同様に第n番目のセンシングデータが(dn,φn)と得られたときに、まずこの直交座標表現の値(xn,yn)をxn=dn・cos(φn)、yn=dn・sin(φn)の計算を行うことにより求める。次に、この値(xn,yn)の分だけ地図画像を平行移動させる。このようにして作成される第n番目のセンシングデータに関する参照地図は、この中の斜線のついた画素にセンシングデータの原点を平行移動させれば、第n番目のセンシングデータが、環境地図の1の値を持つ画素に一致することを意味することになる。 Specifically, when the n-th sensing data is obtained as (d n , φ n ) as in the case of the 0-th sensing data, first, the value (x n , y n ) of this Cartesian coordinate expression is used. ) Is obtained by calculating x n = d n · cos (φ n ) and y n = d n · sin (φ n ). Next, the map image is translated by this value (x n , y n ). The reference map for the n-th sensing data created in this way is obtained by translating the origin of the sensing data to the hatched pixels in the reference map. It means that it matches the pixel having the value of.
上の例ではセンシングデータが4つあるので、それぞれについて参照地図、すなわち図22に示すように、第0番目のセンシングデータに関する参照地図500、第1番目のセンシングデータに関する参照地図501、第2番目のセンシングデータに関する参照地図502、第3番目のセンシングデータに関する参照地図503の合計4つを準備する。
Since there are four sensing data in the above example, as shown in FIG. 22, there are a
次に、図23に示すように、この4つの参照地図を重ね合わせ、それぞれの画素についていくつ色のついた画素が重なるかを足し合わせて数えることを考える。それぞれの参照地図の意味が上に述べたとおりなので、この数字は、それぞれの画素の位置にセンシングデータの原点が移動したときに、4つのセンシングデータの中で、環境地図の1の値を持つ画素と一致するものの数をあらわすことになる。 Next, as shown in FIG. 23, it is considered that these four reference maps are overlapped and the number of colored pixels overlapped for each pixel is added and counted. Since the meaning of each reference map is as described above, this number has a value of 1 in the environmental map among the four sensing data when the origin of the sensing data moves to the position of each pixel. It represents the number of objects that match the pixel.
この足し合わせた値を画素値とした画像データは、例えば図24に示すようになり、これを評価画像510と呼ぶことにする。すなわちこの評価画像510における(x,y)の位置の画素値が、上で述べた基本手法によるマッチング方法において、センサを(x,y)だけ移動させたときに算出される評価値をあらわすことになる。よって基本手法によるマッチング方法と同様に、この評価画像510の中で最も大きな画素値をもつものを見つけ、その点の画像上での座標位置を調べてやれば、これが求めるべき移動ロボット位置の推定値となることになる。
Image data in which the added value is a pixel value is as shown in FIG. 24, for example, and is referred to as an
なお、ここで各参照地図を重ね合わせる処理は、各画像の画素値を調べていくのではなく、予め各参照地図の中で、1の値を持つ画素の位置を (x0,y0),(x1,y1), ... ,(xn,yn)の形で記録しておき、この記録された座標値が示す評価画像の画素の値を、1つずつ増やしていく、すなわちその画素に対して投票していく、という方法で行うものとする。これは後に述べる、参照地図の各画素に対する参照回数を少なくする、すなわち参照地図の中で0の値を持つ画素については参照する必要がなくなる、という効果をもたらすことになる。 Here, the process of superimposing each reference map does not check the pixel value of each image, but the position of a pixel having a value of 1 in each reference map in advance (x 0 , y 0 ) , (x 1 , y 1 ), ..., (x n , y n ) are recorded, and the pixel values of the evaluation image indicated by the recorded coordinate values are incremented one by one. That is, it is performed by a method of voting for the pixel. This has the effect of reducing the number of references to each pixel of the reference map, which will be described later, that is, it is not necessary to refer to a pixel having a value of 0 in the reference map.
この原理に基づき、センシングデータリストに基づくマッチング方法は、以下の手順で処理が行われる。
(1) 考えうるすべてのセンシングデータ位置について、それぞれ参照地図を作成しておく。これはすなわち上の説明で述べたとおり、考えうるすべてのセンシングデータ位置とセンサ原点がなすベクトル毎に、参照地図を作成することになる。なお、参照地図は、実際には画像データの形で記録するのではなく、上に述べたとおり、1の値を持つ画素の位置を順に(x0,y0),(x1,y1), ... ,(xn,yn)のように並べたものとして記録するものとする。
(2) 1フレーム分のセンシングデータ群が与えられたときに、各センシングデータ(合計181個)それぞれの位置と、センサ原点がなすベクトルを算出し、そのベクトルに関する参照地図を選んでくる(合計181枚)。
(3) 選ばれたすべての参照地図を重ね合わせ、画素毎に画素値を足し合わせた画像を、評価画像として作成する。これは、それぞれの画素について色のついているものの数を求めることになる。
(4) 作成された評価画像の中で、最大の画素値をもつ画素の位置(x,y)を探し、このときの(x,y)をマッチングの解とする。
Based on this principle, the matching method based on the sensing data list is processed in the following procedure.
(1) Create reference maps for all possible sensing data locations. That is, as described in the above description, a reference map is created for each vector formed by all possible sensing data positions and the sensor origin. Note that the reference map is not actually recorded in the form of image data, but as described above, the positions of the pixels having a value of 1 are sequentially (x 0 , y 0 ), (x 1 , y 1 ), ..., (x n , y n ) shall be recorded.
(2) When a group of sensing data for one frame is given, the position of each sensing data (total 181) and the vector made by the sensor origin are calculated, and the reference map for that vector is selected (total) 181).
(3) Superimpose all the selected reference maps, and create an image that adds pixel values for each pixel as an evaluation image. This will determine the number of colored ones for each pixel.
(4) Find the position (x, y) of the pixel having the maximum pixel value in the created evaluation image, and use (x, y) at this time as the matching solution.
ここで、上記の説明で述べた、考えうるすべてのセンシングデータという部分を補足する。冒頭でも述べたように、距離センサによるセンシングデータは、(d0,φ0),(d1,φ1), ... ,(d180,φ180)の形であらわされる。ここで、角度φiについては、センシング方向が1°ずつに固定されているので、φ0=-90°,φ1=-89°, ... ,φ180=+90°の決まった値になる。 Here, the part of all the possible sensing data described in the above description will be supplemented. As described at the beginning, sensing data by the distance sensor is expressed in the form of (d 0 , φ 0 ), (d 1 , φ 1 ),..., (D 180 , φ 180 ). Here, with respect to the angle φ i , the sensing direction is fixed by 1 °, so that φ 0 = −90 °, φ 1 = −89 °,..., Φ 180 = + 90 ° become.
しかし、距離diについては、測定範囲内(0.0m<di≦4.0m)においてさまざまな値をとりうるので、これは無限に考えられることになる。そこでこれを、予め定められた離散的な値に代表させることを考える。すなわち、代表値として例えば0.1m,0.2m, ... ,4.0mの40通りを考え、di≦0.15mであれば、di=0.1m、0.15m<di≦0.25mであれば、di=0.2mのような規則で値を割り当てていく。このようにすれば、センシングデータ(di,φi)のとりうる値の組み合わせは、diについて40通り、φiについて180通りあることになるので、考えうるすべてのセンシングデータは、合計40×180通りの有限個になる。
However, since the distance d i can take various values within the measurement range (0.0 m <d i ≦ 4.0 m), this can be considered infinitely. Therefore, it is considered that this is represented by a predetermined discrete value. In other words, for example, 40 values of 0.1 m, 0.2 m,..., 4.0 m are considered as representative values, and if d i ≦ 0.15 m, then d i = 0.1 m and 0.15 m <d i ≦ 0.25 m. , Assign values with rules such as d i = 0.2m. In this way, the sensing data (d i, φ i) combinations of possible values of the 40 types for d i, it means that there 180 types for phi i, all the sensing data may think,
これは、いわゆるディジタル処理における量子化の操作を行ったことにほかならないが、このような10cm程度の単位で行う量子化に伴う精度の劣化は、例えば位置姿勢推定における初期値の算出といった用途においてはほとんど問題がない。なお、センシングデータの量子化と同様に、参照地図についても、以下の説明では同様に10cm単位での量子化を行うことにする。すなわち画像上の1ピクセルが、実環境における10cm×10cmの領域を示すことになる。 This is nothing but the operation of quantization in so-called digital processing, but such deterioration in accuracy due to quantization performed in units of about 10 cm is used in applications such as initial value calculation in position and orientation estimation, for example. There is almost no problem. Similar to the quantization of the sensing data, the reference map is also quantized in units of 10 cm in the following description. That is, one pixel on the image indicates a 10 cm × 10 cm area in the real environment.
さて、以上の説明においては移動ロボットの移動が平行移動のみ行われることを仮定し、マッチングについては(x,y)の2パラメータのみで行われることとしたが、実際にはこれに加えて回転(姿勢)θに関するパラメータも求める必要がある。これについては、予め考えうるすべての回転θ、すなわちこれについても上に述べた量子化の考え方を導入し離散値としてθ=0°, 1°, 2°, ..., 359°の360通りの値を持つものとすると、これらの角度それぞれについて、予めセンシングデータ群全体を回転させ、これをもとに上述の評価画像をそれぞれ作成し(合計360枚)、この全ての評価画像の中で、最も値の大きな画素を見つけ、その画像が属するθ値およびその画素の位置(x,y)をもって求める解(x,y,θ)とすることになる。 In the above explanation, it is assumed that the mobile robot moves only in parallel, and the matching is performed with only two parameters (x, y). It is also necessary to obtain a parameter related to (attitude) θ. In this regard, all possible rotations θ, that is, the quantization concept described above is also introduced and 360 values of θ = 0 °, 1 °, 2 °,..., 359 ° as discrete values are introduced. For each of these angles, the entire sensing data group is rotated in advance, and the above-described evaluation images are created based on this (total of 360 images). The pixel having the largest value is found, and the solution (x, y, θ) obtained from the θ value to which the image belongs and the position (x, y) of the pixel is obtained.
以上の方法では、181×360×101×101×1/2=約5億回以下の画素値の参照演算が行われる。ここで、「181」、「360」、「101」、「101」の各数字の持つ意味は、基本手法によるマッチング方法のときと同様である。ここで新たに加わる「1/2」は、環境地図の画像内において全体の画素数に対する障害物が存在する画素数のおおよその割合である。すなわち、センシングデータリストに基づくマッチング方法は、基本手法によるマッチング方法に比べて、この数字の分、言い換えると環境地図画像中の障害物が存在しない画素の割合分、参照演算回数が削減されることになる。これがセンシングデータリストによる効果である。 In the above method, reference calculation of pixel values of 181 × 360 × 101 × 101 × 1/2 = about 500 million times or less is performed. Here, the meanings of the numbers “181”, “360”, “101”, and “101” are the same as in the matching method based on the basic method. Here, “1/2” newly added is an approximate ratio of the number of pixels with obstacles to the total number of pixels in the environment map image. In other words, the matching method based on the sensing data list reduces the number of reference computations by this number, in other words, the proportion of pixels in the environmental map image where there are no obstacles, compared to the matching method based on the basic method. become. This is the effect of the sensing data list.
ただし、一方で、予め参照地図を作成しておき、これを1の値を持つ画素の位置情報として(x0,y0),(x1,y1), ..., (xn,yn)のように記録しておかなければならないので、(1)参照地図を作る処理が必要になる、(2)メモリ使用量が膨大になる、という2つの問題が新たに発生する。(1)については、移動ロボットの駆動前に参照地図を予め作成しておけばよいので、実用上の問題は少ないものと考えられる。(2)については、おおよその見積もりで、上の例では必要なメモリ量は数ギガバイト程度と見込まれ、現在の主記憶あるいは補助記憶装置の性能から、実現可能なオーダとなっている。 However, on the other hand, a reference map is prepared in advance, and this is used as position information of pixels having a value of 1 as (x 0 , y 0 ), (x 1 , y 1 ), ..., (x n , Since it must be recorded as y n ), two new problems arise: (1) processing for creating a reference map is required, and (2) the memory usage is enormous. Regarding (1), since it is sufficient to create a reference map in advance before the mobile robot is driven, it is considered that there are few practical problems. As for (2), an approximate estimate. In the above example, the required amount of memory is expected to be several gigabytes, which is an order that can be realized based on the performance of the current main memory or auxiliary memory.
距離センサによって測定されたセンシングデータと環境地図とを用いて移動ロボットの位置姿勢を推定する方法に関し、上述した基本手法によるマッチング方法では、処理量が膨大になり計算時間が長くなる問題がある。また、センシングデータリストに基づくマッチング方法では、これに比べ処理量がある程度削減されるものの、移動ロボットの軽量化・低コスト化等の観点から、さらなる計算処理の削減が望まれる。 Regarding the method for estimating the position and orientation of the mobile robot using the sensing data measured by the distance sensor and the environment map, the matching method based on the basic method described above has a problem that the processing amount becomes enormous and the calculation time becomes long. Further, in the matching method based on the sensing data list, although the processing amount is reduced to some extent, it is desired to further reduce the calculation processing from the viewpoint of reducing the weight and cost of the mobile robot.
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、センシングデータリストに基づくマッチング方法において、さらなる計算量の削減を実現することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to realize a further reduction in calculation amount in a matching method based on a sensing data list.
上記課題を解決するために本発明では、例えば図1に示すような構成により、以下の特徴を有する位置姿勢推定方法を提供する。 In order to solve the above-described problems, the present invention provides a position / orientation estimation method having the following features, for example, with the configuration shown in FIG.
すなわち、予め準備された環境地図101と、距離センサ106によって測定されたセンシングデータ107とに基づいて、マッチングにより距離センサ106の位置姿勢値124を推定する位置姿勢推定方法において、当該位置推定方法は、環境地図101からマッチングのための第1の参照データ群103および第2の参照データ群105を作成する手段150と、測定されたセンシングデータ107、第1の参照データ群103、および第2の参照データ群105に基づいて位置姿勢値124を推定する手段170とを有する位置姿勢推定システムにおいて、参照データ群を作成する手段150では、第1の参照データ群103を環境地図101から作成する処理102と、第2の参照データ群105を第1の参照データ群103の差分処理により作成する処理104とを行い、位置姿勢を推定する手段170では、センシングデータ107に基づいて、第1の参照データ群103および第2の参照データ群105の中から必要なデータを選択する処理120と、選択された複数の参照データと前回作成した評価のためのデータ122とを加算することで新たな評価のためのデータ122を作成する処理121と、評価のためのデータ122から位置姿勢推定値124を求める処理123とを行う。
That is, in the position / orientation estimation method for estimating the position /
本発明によれば、センシングデータリストに基づくマッチング方法に比べて、さらなる計算量の削減を実現することができる。 According to the present invention, it is possible to further reduce the amount of calculation compared to the matching method based on the sensing data list.
以下、本発明の実施の形態について説明する。 Embodiments of the present invention will be described below.
図2は、本発明の一実施形態に係る位置姿勢推定システム10の構成を示すシステム構成図である。位置姿勢推定システム10は、参照データ作成サーバ20および移動ロボット30を備える。参照データ作成サーバ20は、LAN等の通信回線11に接続されている。移動ロボット30は、通信回線11に接続された基地局12と、無線LAN等の通信方式により無線通信を行い、当該基地局12を介して参照データ作成サーバ20と通信する。
FIG. 2 is a system configuration diagram showing the configuration of the position /
参照データ作成サーバ20は、二次元の環境地図から参照地図および後述する差分画像を作成し、作成した参照地図および差分画像を、通信回線11を介して移動ロボット30へ送る。
The reference
移動ロボット30は、無線通信装置31、位置姿勢推定装置32、距離センサ33、および移動装置34を有する。無線通信装置31は、基地局12と無線通信を行い、基地局12を介して、参照データ作成サーバ20から参照地図および差分画像を受信して位置姿勢推定装置32に供給する。位置姿勢推定装置32は、無線通信装置31から供給された参照地図および差分画像と、距離センサ33によって測定されたセンシングデータとを用いて、環境地図内における移動ロボット30の位置および向き(姿勢)を推定する。移動装置34は、位置姿勢推定装置32によって算出された、環境地図内における移動ロボット30の位置および向きに基づき、予め設定された移動プランに従って、移動ロボット30を移動させる。
The
図3は、参照データ作成サーバ20の機能構成の一例を示すブロック図である。参照データ作成サーバ20は、環境地図格納部21、参照地図作成部22、参照地図格納部23、差分画像作成部24、差分画像格納部25、およびデータ送信部26を備える。
FIG. 3 is a block diagram illustrating an example of a functional configuration of the reference
ここで、「背景技術」の欄で述べたセンシングデータリストに基づくマッチング方法において、平行移動だけでなく回転についての推定も同時に行う方法について述べる。すなわち移動ロボットは平行移動に関する自由度(x, y)に加え、回転(姿勢)に関する自由度θについてのパラメータ推定を同時に行うものとする。 Here, in the matching method based on the sensing data list described in the “Background Art” section, a method of performing not only translation but also estimation of rotation at the same time will be described. That is, it is assumed that the mobile robot simultaneously estimates the parameter for the degree of freedom θ related to rotation (posture) in addition to the degree of freedom (x, y) related to parallel movement.
本実施形態においても、「背景技術」の欄のセンシングデータリストに基づくマッチング方法の説明で述べた参照地図を用いる。すなわち、センシングデータとして考えられるすべての値(d,φ)毎に、参照地図を予め用意しておくものとする。なお以下の説明では、それぞれの値(d,φ)に関する参照地図を、クラス(d,φ)の参照地図と呼ぶこととする。 Also in the present embodiment, the reference map described in the description of the matching method based on the sensing data list in the “background art” column is used. That is, a reference map is prepared in advance for every value (d, φ) considered as sensing data. In the following description, the reference map for each value (d, φ) is referred to as a reference map of class (d, φ).
ここで、図4(a)に示すように、クラス(d,-φ)の参照地図400が与えられたときに、これがどのような意味を持つかについて説明する。
Here, as shown in FIG. 4 (a), the meaning of the
移動ロボットの回転方向θが0°のときにクラス(d,-φ)の参照地図400を用いるのは、距離d、方向−φのセンシングデータ401(図4(b)参照)を対象にしたときであるが、移動ロボットの回転方向θを考えると、これを次のように解釈することもできる。それは、距離d、方向(-φ-θ)のセンシングデータ402(図4(c)参照)が得られたときに、移動ロボットの方向と環境地図の主方向(本実施形態ではx軸方向)とのなす角度がθ、すなわち、センシングデータ全体が環境地図に対してθだけ回転した場合である(図4(d)参照)。
The
このような場合、回転していない(すなわちθ=0°)状態の距離センサにおいて、距離d、方向-φのセンシングデータが得られたときと全く等価なセンシングが行われることになるので、距離d、方向-φであり、且つ、距離センサ(移動ロボット)の回転方向がθ=0°のセンシングデータと、距離d、方向(-φ-θ)であり、且つ、距離センサ(移動ロボット)の回転θのセンシングデータとは、計算上は同様に扱うことができる。 In such a case, in the distance sensor in a non-rotating state (that is, θ = 0 °), sensing equivalent to that when the sensing data of the distance d and the direction −φ is obtained is performed. d, direction -φ, and the distance sensor (mobile robot) rotation direction θ = 0 ° sensing data, distance d, direction (-φ-θ), and distance sensor (mobile robot) In the calculation, the sensing data of the rotation θ can be handled in the same manner.
一方、「背景技術」の欄で説明したとおり、クラス(d,-φ)の参照地図400上で色がついた部分(1の値を持つ部分)は、センシングデータとして(d,-φ)の値が観測されたときに、センサ原点がこの位置にあればそのセンシングデータに関する評価値が1になることを示している。これは、環境地図と移動ロボットとの方向の差θが0°の場合であった。しかし上で述べた通り、移動ロボットが回転することも考慮に入れると、この状況はセンシングデータとして(d,-φ-θ)の値が観測されたときに、移動ロボットが環境地図に対してθだけ回転したときと等価になる。
On the other hand, as described in the “Background Art” column, a colored portion (a portion having a value of 1) on the
よって、上記参照地図400上で1の値を持つ部分の意味は、下記のように360通りに解釈することができる。
(0) 移動ロボットの方向θがθ=0°で、なおかつセンシングデータとして(d,-φ)の値が観測されたときに、センサ原点がこの位置にあればそのセンシングデータに関する評価値が1になる。
(1) 移動ロボットの方向θがθ=1°で、なおかつセンシングデータとして(d,-φ-1°)の値が観測されたときに、センサ原点がこの位置にあればそのセンシングデータに関する評価値が1になる。
(2) 移動ロボットの方向θがθ=2°で、なおかつセンシングデータとして(d,-φ-2°)の値が観測されたときに、センサ原点がこの位置にあればそのセンシングデータに関する評価値が1になる。
・
・
・
(359) 移動ロボットの方向θがθ=359°で、なおかつセンシングデータとして(d,-φ-359°)の値が観測されたときに、センサ原点がこの位置にあればそのセンシングデータに関する評価値が1になる。
Therefore, the meaning of the portion having a value of 1 on the
(0) When the direction θ of the mobile robot is θ = 0 ° and the value of (d, -φ) is observed as sensing data, if the sensor origin is at this position, the evaluation value for the sensing data is 1. become.
(1) When the direction θ of the mobile robot is θ = 1 ° and the value of (d, -φ-1 °) is observed as sensing data, if the sensor origin is at this position, evaluation of the sensing data The value becomes 1.
(2) When the direction θ of the mobile robot is θ = 2 ° and the value of (d, -φ-2 °) is observed as sensing data, if the sensor origin is at this position, evaluation of the sensing data The value becomes 1.
・
・
・
(359) When the direction θ of the mobile robot is θ = 359 ° and the value of (d, -φ-359 °) is observed as sensing data, if the sensor origin is at this position, evaluation of the sensing data The value becomes 1.
このような原理に基づき、以下の手順で評価値画像を作成すれば、位置(x,y)に加え回転方向θについても同時に推定できるマッチングが実施できることになる。 If an evaluation value image is created according to the following procedure based on such a principle, matching that can simultaneously estimate the rotation direction θ in addition to the position (x, y) can be performed.
まず、参照地図を、図5に示すような(r,φ)の形の極座標表現であらわされる各クラス毎に予め作成しておく。ここでrおよびφはそれぞれr = 0.1m, 0.2m, ..., 4.0m、φ = 0°, 1°, ..., 359°の値をとりうるので、この全ての組み合わせについて並べている。これらの参照地図は、移動ロボットが移動する前で、なおかつ、移動ロボットが移動する部屋の環境地図画像が与えられた後に作成しておくものである。またその作成方法は、「背景技術」の項のセンシングデータリストに基づくマッチング方法の説明で述べた通りである。 First, a reference map is created in advance for each class represented by a polar coordinate expression in the form of (r, φ) as shown in FIG. Here, r and φ can take values of r = 0.1m, 0.2m, ..., 4.0m, φ = 0 °, 1 °, ..., 359 °, respectively, so all these combinations are arranged. . These reference maps are created before the mobile robot moves and after the environment map image of the room where the mobile robot moves is given. The creation method is as described in the description of the matching method based on the sensing data list in the section “Background Technology”.
次に移動ロボットが移動して、図14に示したセンシングデータ群430が、(d0, -90°),(d1, -89°), ... ,(d180, +90°)の181個のセンシングデータとして得られたときに、このセンシングデータと図5に示した参照地図230から、移動ロボットの位置姿勢を推定する方法を説明する。
(1) まず、移動ロボットの方向θを、θ=0°と仮定する。
(2) (d0, -90°),(d1, -89°),... ,(d180, +90°)の各クラスの参照地図(合計181枚)を図5における一連の参照地図群の中から選び出す。なお、選び出す際に、(di,ψ)におけるψの値が0より小さい場合は、これに360°を加えてψ+360°とすることで、0°≦ψ<360°の範囲にψの値が収まるようにする。このようにしても指し示す角度の意味は変わらない。この考え方は、以下の説明における、全ての角度を扱う処理においても同様に用いるものとする。
(3) 選び出された181枚の参照地図全てについて、これを各画素毎に足し合わせた評価値画像を作成する。この評価値画像の(x,y)の位置にある画素値が、(x,y,θ)(ただしθ=0°)のパラメータにおける評価値となる。
(4) 次にθ=1°と仮定する。
(5) (d0, -90°-θ),(d1, -89°-θ), ... ,(d180, +90°-θ)の各クラスの参照地図(合計181枚)を(2)と同様に図5における一連の参照地図群の中から選び出す。
(6) (3)と同様にこれを各画素毎に足し合わせた評価値画像を作成する。この評価値画像の(x,y)の位置にある画素値が、(x,y,θ)のパラメータにおける評価値となる。
(7) θの値を1°増やし、(5)、(6)の処理を行う。これをθ=359°になるまで繰り返す。
(8) 以上の処理により、θ=0°,1°,・・・,359°の合計360枚の評価値画像が作成されるが、この中で最も評価値が大きい画素を見つけ、この画素の環境地図上の位置(x,y)と、その評価値が属するθの値の組み合わせ(x,y,θ)が推定値となる。
Next, the mobile robot moves, and the
(1) First, it is assumed that the direction θ of the mobile robot is θ = 0 °.
(2) (d 0 , -90 °), (d 1 , -89 °), ..., (d 180 , + 90 °) reference maps (181 total) in the series of Fig. 5 Select from the reference map group. When selecting, if the value of ψ in (d i , ψ) is smaller than 0, 360 ° is added to ψ + 360 ° so that ψ is within the range of 0 ° ≦ ψ <360 °. To fit the value of. Even in this way, the meaning of the pointing angle does not change. This concept is used in the same way in the processing that handles all angles in the following description.
(3) An evaluation value image is created by adding all the selected 181 reference maps for each pixel. The pixel value at the position (x, y) in this evaluation value image becomes the evaluation value in the parameter (x, y, θ) (where θ = 0 °).
(4) Next, it is assumed that θ = 1 °.
(5) (d0, -90 ° -θ), (d1, -89 ° -θ), ..., (d180, + 90 ° -θ) reference maps (total 181) for each class (2 In the same manner as in (), a selection is made from the series of reference map groups in FIG.
(6) As in (3), an evaluation value image is created by adding these together for each pixel. The pixel value at the position (x, y) of this evaluation value image becomes the evaluation value in the parameter (x, y, θ).
(7) The value of θ is increased by 1 °, and the processes (5) and (6) are performed. This is repeated until θ = 359 °.
(8) Through the above processing, a total of 360 evaluation value images of θ = 0 °, 1 °,..., 359 ° are created. The combination (x, y, θ) of the position (x, y) on the environment map and the value of θ to which the evaluation value belongs is an estimated value.
以上述べた方法は、本発明において、「背景技術」の欄で述べたセンシングデータリストに基づく方法を用いて、移動ロボットの回転方向θを移動ロボットの平行移動量(x,y)と同時に求める方法である。本方法を用いるだけでは、「背景技術」の欄で述べたセンシングデータリストに基づく方法に比べて特に効果は見出せないが、以下に述べる差分処理を用いる方法の説明をわかりやすくするためにここで詳しく述べた。なおこの方法を、センシングデータリストに基づく回転を含めたマッチング方法、と呼ぶことにする。 In the present invention, the method described above uses the method based on the sensing data list described in the “Background Art” section in the present invention to obtain the rotational direction θ of the mobile robot simultaneously with the parallel movement amount (x, y) of the mobile robot. Is the method. Using this method alone is not particularly effective compared to the method based on the sensing data list described in the “Background Art” section. However, in order to make the explanation of the method using the difference processing described below easier to understand, Detailed. This method is called a matching method including rotation based on the sensing data list.
次に、本発明において、差分処理を用いる方法について述べる。これは一言で言うと、上に述べたセンシングデータリストに基づく回転を含めたマッチング方法の考え方を基本にして、これに、参照地図に関する差分処理を加えるものである。 Next, a method using differential processing in the present invention will be described. In short, based on the concept of the matching method including the rotation based on the sensing data list described above, a difference process related to the reference map is added thereto.
まず、図6に示すように、2つの参照地図410および参照地図411から、差分画像412を作成することを考える。
First, as shown in FIG. 6, consider creating a
ここで、差分画像412は、距離パラメータrが同じ値を持ち、角度パラメータφが隣り合う値を持つ組みを選んで作成するものとする。すなわち、クラス(r,ψ)の参照地図と、クラス(r,ψ+1°)の参照地図を選ぶことになる(ここでr = 0.1, 0.2, ..., 4.0m、ψ = 0°, 1°, ..., 359°である)。これによって作成される差分画像を、クラス (r,ψ+1°)の差分画像と呼ぶこととする。
Here, the
クラス(r,ψ)の差分画像G(r,ψ)は、クラス(r,ψ)の参照地図F(r,ψ)を用いて、下記の数式1により算出することができる。
The difference image G (r, ψ) of the class (r, ψ) can be calculated by the following
G(r,ψ+1°)(x, y) = F(r,ψ+1°)(x, y) - F(r,ψ)(x, y) ・・・数式1
なお、(x,y)は、それぞれの画像における座標を示している。
G (r, ψ + 1 °) (x, y) = F (r, ψ + 1 °) (x, y) −F (r, ψ) (x, y)
Note that (x, y) indicates coordinates in each image.
上に述べた通り、rの値としてはr = 0.1m, 0.2m, ..., 4.0mの40通り、ψの値としては、ψ= 0°, 1°, ..., 359°の360通りあるので、この差分画像Gは全部で 40×359枚作成されることになる。 As described above, r has a value of r = 0.1 m, 0.2 m, ..., 4.0 m, and ψ has a value of ψ = 0 °, 1 °, ..., 359 °. Since there are 360 patterns, a total of 40 × 359 difference images G are created.
ところで、差分画像Gを作るときに用いられる隣り合う角度、すなわちψとψ+1°のそれぞれの角度からなる2つのクラス(r,ψ+1°)と(r,ψ)の参照地図を考えたときに、前者の画像は、後者の画像を1°だけ微小に回転させたものであるので、画像の形状が非常に似たようなものになるという性質をもっている。このため上の式に基づいて差分画像Gを作成すると、2つの画像において各画素値が同一であるものが多いため、画像中の各画素の多くの部分の差分値は0になることになる。 By the way, consider the reference maps of two classes (r, ψ + 1 °) and (r, ψ) composed of adjacent angles, ie, ψ and ψ + 1 ° angles, used when creating the difference image G. Since the former image is obtained by rotating the latter image slightly by 1 °, it has the property that the shape of the image is very similar. For this reason, when the difference image G is created based on the above equation, since the pixel values in the two images are often the same, the difference values of many parts of the pixels in the image are zero. .
本発明では、差分画像Gについて、全ての画素の画素値を差分画像Gとして保持するのではなく、0以外の画素値を持つ画素について、その画素の位置と画素値を差分画像として保持する。具体的には、対応する画素の画素値をvkとして、(x0, y0, v0), (x1, y1, v1), ..., (xn, yn, vn) の形で記録しておくものとする。これにより、差分画像Gの各画素に対する参照回数を少なくする、すなわち差分画像Gの中で0の値を持つ画素については参照する必要がなくなる、という効果をもたらすことになる。従って、データ量の削減および演算量の削減を実現することができる。 In the present invention, for the difference image G, the pixel values of all the pixels are not held as the difference image G, but the pixel positions and pixel values are held as the difference image for pixels having pixel values other than 0. Specifically, assuming that the pixel value of the corresponding pixel is v k , (x 0 , y 0 , v 0 ), (x 1 , y 1 , v 1 ), ..., (x n , y n , v n ) shall be recorded. This brings about an effect that the number of times of reference to each pixel of the difference image G is reduced, that is, it is not necessary to refer to a pixel having a value of 0 in the difference image G. Therefore, it is possible to reduce the amount of data and the amount of calculation.
図3に戻り、説明を続ける。環境地図格納部21には、例えば図15を用いて説明した二次元の環境地図が格納される。参照地図作成部22は、環境地図格納部21に格納されている環境地図から、r(本実施形態では、r = 0.1m, 0.2m, ..., 4.0m)およびφ(本実施形態では、φ = 0°, 1°, ..., 359°)のそれぞれのクラスに対応する参照地図を、合計40×360枚作成し、作成した参照地図を参照地図格納部23に格納する。参照地図格納部23には、図5で説明した参照地図230が格納される。
Returning to FIG. 3, the description will be continued. The environmental
差分画像作成部24は、上述した数式1に基づいて、参照地図格納部23に格納されている参照地図を用いて、各クラスの差分画像を作成し、作成した差分画像を差分画像格納部25に格納する。差分画像格納部25には、例えば図7に示すように、クラス250毎に、当該クラスに対応する差分画像中で画素値が0でない画素の位置を示す画素位置251、および、当該画素位置251にある画素の画素値252が格納される。
The difference
データ送信部26は、環境地図格納部21に格納されている環境地図、参照地図格納部23に格納されている参照地図、および差分画像格納部25に格納されている差分画像を、通信回線11を介して移動ロボット30へ送信する。
The
図8は、位置姿勢推定装置32の機能構成の一例を示すブロック図である。位置姿勢推定装置32は、データ取得部320、データ格納部321、第一の評価画像作成部322、統合差分画像作成部323、第一の評価値算出部324、第二の評価画像作成部325、位置姿勢推定部326、評価値格納部327、および第二の評価値算出部328を備える。
FIG. 8 is a block diagram illustrating an example of a functional configuration of the position /
ここで、本発明において差分画像を用いてマッチングを行う方法を述べる。ここでは、各クラス(rj,ψk)(rj = 0.1m, 0.2m, 0.3m, ..., 4.0m、ψk = 0°, 1°, ..., 359°)の参照地図、ならびにクラス(rj,ψk)(rj = 0.1m, 0.2m, 0.3m, ..., 4.0m、ψk = 1°, 2°, ..., 359°)の差分画像が予め作成されており、センシングデータとして(d0 ,-90°),(d1 ,-89°), ..., (d180 ,+90°)の181個のデータが得られていることを想定する。
(1) まず、移動ロボットの方向θを、θ=0°と仮定する。
(2) (d0 ,-90°), (d1 ,-89°), ..., (d180 ,+90°)の各クラスの参照地図(合計181枚)を一連の参照地図群の中から選び出す。なお、角度は適宜360°を加えることで、0°以上360°未満の範囲に収まるようにするのは、上で述べた通りである。
(3) 選び出された181枚全ての参照地図について、これを各画素毎に足し合わせた評価値画像を作成する。この評価値画像の(x,y)の位置にある画素値が、(x,y,θ)(ただしθ=0°)のパラメータにおける評価値となる。
(4) 次にθ=1°と仮定する。
(5) (d0 ,-90°-θ),(d1 ,-89°-θ),...,(d180 ,+90°-θ)の各クラスの参照地図(合計181枚)を、今度は参照地図ではなく、差分画像群の中から選び出す。
(6) 選びだされた全ての差分画像について、これを各画素毎に足し合わせた画像データを作成する。このように作成された画像データを、統合差分画像と呼ぶ。
(7) 作成された統合差分画像と、前回、すなわち(3)で作成されたθ=0°のときの評価値画像を、各画素毎に足し合わせた画像データを作成する。これが移動ロボットの回転角度がθのときの評価値画像となる。すなわち、この評価値画像の(x,y)の位置にある画素値が、(x,y,θ)のパラメータにおける評価値となる。
(8) θの値を1° 増やし、(5), (6), (7) の処理を行う。これをθ=359°になるまで繰り返す。
(9) 以上の処理により、θ= 0°, 1°, ..., 359°の合計360枚の評価値画像が作成されるが、この中で最も値が大きい画素を見つけ、この画素の画像上の位置(x,y)と、その画像が属するθの値の組み合わせ(x,y,θ)が、パラメータの推定値となる。
Here, a method for performing matching using a difference image in the present invention will be described. Here, reference to each class (r j , ψ k ) (r j = 0.1m, 0.2m, 0.3m, ..., 4.0m, ψ k = 0 °, 1 °, ..., 359 °) Map and difference image of class (r j , ψ k ) (r j = 0.1m, 0.2m, 0.3m, ..., 4.0m, ψ k = 1 °, 2 °, ..., 359 °) Are created in advance, and 181 data of (d 0 , -90 °), (d 1 , -89 °), ..., (d 180 , + 90 °) are obtained as sensing data. Assume that.
(1) First, it is assumed that the direction θ of the mobile robot is θ = 0 °.
(2) A series of reference maps of (d 0 , -90 °), (d 1 , -89 °), ..., (d 180 , + 90 °) reference maps (total of 181) Choose from. As described above, the angle is set within the range of 0 ° to less than 360 ° by appropriately adding 360 °.
(3) With respect to all the selected 181 reference maps, an evaluation value image is created by adding the reference maps for each pixel. The pixel value at the position (x, y) in this evaluation value image becomes the evaluation value in the parameter (x, y, θ) (where θ = 0 °).
(4) Next, it is assumed that θ = 1 °.
(5) Reference maps for each class of (d 0 , -90 ° -θ), (d 1 , -89 ° -θ), ..., (d 180 , + 90 ° -θ) (181 in total) Are selected from the difference image group instead of the reference map.
(6) For all the selected difference images, image data is created by adding the difference images for each pixel. The image data created in this way is called an integrated difference image.
(7) Image data is created by adding the created integrated difference image and the evaluation value image created at the previous time, ie, (3) when θ = 0 °, for each pixel. This is an evaluation value image when the rotation angle of the mobile robot is θ. That is, the pixel value at the position (x, y) of the evaluation value image becomes the evaluation value in the parameter (x, y, θ).
(8) Increase the value of θ by 1 ° and perform the processing of (5), (6), and (7). This is repeated until θ = 359 °.
(9) Through the above processing, a total of 360 evaluation value images of θ = 0 °, 1 °, ..., 359 ° are created. Among these, the pixel with the largest value is found, and A combination (x, y, θ) of the position (x, y) on the image and the value of θ to which the image belongs becomes an estimated value of the parameter.
本発明による差分画像を用いる方法では、センシングデータリストに基づく回転を含めたマッチング方法に比べ、計算時に用いる画像データの枚数は変わらない。具体的には、センシングデータリストに基づく回転を含めたマッチング方法では、θ= 0°, 1°, ..., 359°のときにそれぞれ(d0 ,-90°-θ), (d1 ,-89°-θ), ..., (d180 ,+90°-θ) の合計181の異なるクラスの参照地図を用いることとなり、扱う総画像枚数は181×360枚となる。 In the method using the difference image according to the present invention, the number of image data used at the time of calculation does not change compared to the matching method including rotation based on the sensing data list. Specifically, in the matching method including rotation based on the sensing data list, (d 0 , -90 ° -θ), (d 1 ) when θ = 0 °, 1 °, ..., 359 ° respectively. , -89 ° -θ),..., (D 180 , + 90 ° -θ), a total of 181 different class reference maps are used, and the total number of images handled is 181 × 360.
これに対して、本発明による差分画像を用いる方法では、θ=0°ときの(d0 ,-90°), (d1 ,-89°), ..., (d180 ,+90°)の合計181枚の異なるクラスの参照地図と、θ= 1°, 2°, ..., 359°のそれぞれのときに(d0 ,-90°-θ), (d1 ,-89°-θ), ..., (d180 ,+90°-θ) の合計181枚の異なる差分画像を用いるので、扱う総画像枚数は181×(1+359)枚となる。 On the other hand, in the method using the differential image according to the present invention, (d 0 , −90 °), (d 1 , −89 °), ..., (d 180 , + 90 ° when θ = 0 °. ) For a total of 181 different class reference maps and (d 0 , -90 ° -θ), (d 1 , -89 ° for θ = 1 °, 2 °, ..., 359 ° Since a total of 181 different difference images (−θ),..., (d 180 , + 90 ° −θ) are used, the total number of images handled is 181 × (1 + 359).
このように、計算に利用する画像の枚数は、センシングデータリストに基づく回転を含めたマッチング方法も、本発明による差分画像を用いる方法も変わらないことになる。しかし、それぞれの画像データに着目したとき、0以外の値を持つ画素の数、すなわち計算に用いられる画素の数という点において、参照地図に比べて、差分画像は大幅に削減されることになる。そのため、計算に用いられる画素の数はこの削減分と同じだけ削減されることになり、計算処理量もこれに比例して削減されることになる。 As described above, the number of images used for the calculation is the same as the matching method including rotation based on the sensing data list and the method using the difference image according to the present invention. However, when attention is paid to each image data, the difference image is greatly reduced compared to the reference map in terms of the number of pixels having a value other than 0, that is, the number of pixels used in the calculation. . Therefore, the number of pixels used for calculation is reduced by the same amount as the reduction, and the calculation processing amount is also reduced in proportion thereto.
これは、差分画像を作成するときに用いられる隣り合う角度の2つのクラスの参照地図が非常に似ているために、差分画像における大部分の画素値が0になる、という性質によってもたらされるものである。もし、この差分画像における0以外の値を持つ画素の数が、もとの参照地図の0以外の値を持つ画素の数の例えば1/3になれば、マッチング方法における画素値の参照演算の回数は以下のとおりとなる。
181×360×101×101×1/2×1/3 (回)
ここで、「181」、「360」、「101」、「101」、「1/2」の各数値の持つ意味は、センシングデータリストに基づくマッチング方法のときと同様である。これに新たに加わる「1/3」の数値が、上に述べた0以外の値を持つ画素の数の削減割合である。すなわち、本発明における差分処理を用いた方法は、この数字の分、参照演算数が処理が削減されることになる。これが本発明における差分処理の効果である。
This is due to the property that most of the pixel values in the difference image are zero because the two-level reference maps of adjacent angles used when creating the difference image are very similar It is. If the number of pixels having a non-zero value in the difference image is, for example, 1/3 of the number of pixels having a non-zero value in the original reference map, the pixel value reference calculation in the matching method is performed. The number of times is as follows.
181 × 360 × 101 × 101 × 1/2 × 1/3 (times)
Here, the meanings of the numerical values “181”, “360”, “101”, “101”, and “1/2” are the same as in the matching method based on the sensing data list. The newly added value “1/3” is the reduction ratio of the number of pixels having a value other than 0 as described above. That is, in the method using the difference processing in the present invention, the number of reference operations is reduced by the number. This is the effect of the difference processing in the present invention.
図8に戻って、位置姿勢推定装置32の機能構成の説明を続ける。データ取得部320は、無線通信装置31を介して参照データ作成サーバ20から、環境地図、各クラスの参照地図、および各クラスの差分画像を取得し、取得した環境地図、参照地図、および差分画像をデータ格納部321に格納する。
Returning to FIG. 8, the description of the functional configuration of the position /
第一の評価画像作成部322は、181個のセンシングデータ(di,φi)(i=0,1,・・・,180)を距離センサ33から取得する。そして、第一の評価画像作成部322は、取得したそれぞれのセンシングデータ(di,φi)について、当該センシングデータ(di,φi)に示される距離diおよび方向φiと同一の距離および方向に対応する参照地図(di,φi)をデータ格納部321から抽出する。そして、第一の評価画像作成部322は、抽出した181個の参照地図(di,φi)の画素値を画素毎に加算することにより、加算された画素値から構成される評価画像(θ0)を作成する。評価画像(θ0)は、移動ロボット30の向きと環境地図において予め定められた方向(本実施形態では図16におけるx軸方向)とのなす角がθ0(本実施形態ではθ0=0°)であると仮定した場合の評価画像を意味する。
The first evaluation
第一の評価値算出部324は、第一の評価画像作成部322によって作成された評価画像(θ0)内の(x,y)の位置にある画素値を、(x,y,θ0)における評価値として評価値格納部327に格納する。評価値格納部327には、例えば図9に示すように、環境地図内の画素の位置を示すx座標3270およびy座標3271に対応付けて、当該位置にある画素の評価値3273、および、当該評価値3273が算出される際に仮定された、環境地図における所定の方向に対する移動ロボット30の向きを示す方向3272が格納される。
The first evaluation
統合差分画像作成部323は、距離センサ33によって測定された181個のセンシングデータ(di,φi-θj)のそれぞれについて、当該センシングデータ(di,φi-θj)に示される距離diおよび方向φi-θjと同一の距離および方向に対応する差分画像(di,φi-θj)を、データ格納部321から抽出する。そして、統合差分画像作成部323は、抽出した181個の差分画像(di,φi-θj)の画素値を画素毎に加算することにより、加算された画素値から構成される統合差分画像(θj)を作成する。統合差分画像(θj)は、移動ロボット30の向きと環境地図において予め定められた方向とのなす角がθjであると仮定した場合の統合差分画像を意味する。
Integrated differential
第二の評価画像作成部325は、評価画像(θj-1)と、統合差分画像(θj)とを、画素毎に加算することにより、評価画像(θj)を作成する。第二の評価値算出部328は、第二の評価画像作成部325によって作成された評価画像(θj)内の(x,y)の位置にある画素値を、(x,y,θj)における評価値として評価値格納部327に格納する。
The second evaluation
なお、統合差分画像作成部323、第一の評価値算出部324、および第二の評価画像作成部325は、第一の評価画像作成部322によって評価画像(θ0)が作成された後に、j=1からj=m-1まで、統合差分画像(θj)を作成する処理、評価画像(θj)を作成する処理、および評価画像(θj)内の(x,y)の位置にある画素の評価値を格納する処理を、それぞれ実行する。
Note that the integrated difference
位置姿勢推定部326は、評価値格納部327を参照して、最大の評価値が対応付けられている(x,y,θ)を特定し、環境地図の所定方向とのなす角度がθの向きで、環境地図内の(x,y)の位置に、移動ロボット30の向きおよび位置を推定し、推定した向きおよび位置を移動装置34に通知する。
The position /
図10は、参照データ作成サーバ20の動作の一例を示すフローチャートである。例えば環境地図が環境地図格納部21に格納される等の所定のタイミングで、参照データ作成サーバ20は、本フローチャートに示す動作を開始する。
FIG. 10 is a flowchart showing an example of the operation of the reference
まず、参照地図作成部22は、jの値を1に、kの値を0に、それぞれ初期化し(S100)、環境地図格納部21を参照して、環境地図からクラス(rj,ψk)の参照地図を作成し、作成した参照地図を参照地図格納部23に格納する(S101)。そして、参照地図作成部22は、jの値が40か否かを判定し、jの値が40未満の場合(S102:No)、jの値を1増やし(S103)、再びステップS101に示した処理を実行する。
First, the reference
jの値が40の場合(S102:Yes)、参照地図作成部22は、jの値を0に初期化すると共に、kの値を1増やし(S104)、kの値が181よりも大きいか否かを判定する(S105)。kの値が181以下の場合(S105:No)、参照地図作成部22は、再びステップS101に示した処理を実行する。
When the value of j is 40 (S102: Yes), the reference
kの値が181よりも大きい場合(S105:Yes)、差分画像作成部24は、jおよびkの値を1に初期化し(S106)、参照地図格納部23を参照して、下記の数式2を用いて、クラス(rj,ψk)における差分画像を算出し、算出した差分画像(rj,ψk)を差分画像格納部25に格納する(S107)。
When the value of k is larger than 181 (S105: Yes), the difference
差分画像(rj,ψk)=参照地図(rj,ψk)−参照地図(rj,ψk-1) ・・・数式2
次に、差分画像作成部24は、kの値が181であるか否かを判定し、kの値が181未満の場合(S108:No)、kの値を1増やし(S109)、再びステップS107に示した処理を実行する。kの値が181の場合(S108:Yes)、差分画像作成部24は、jの値を1増やすと共に、kの値を1に初期化し(S110)、jの値が40よりも大きいか否かを判定する(S111)。
Difference image (r j , ψ k ) = reference map (r j , ψ k ) −reference map (r j , ψ k−1 )
Next, the difference
jの値が40以下の場合(S111:No)、差分画像作成部24は、再びステップS107に示した処理を実行する。jの値が40より大きい場合(S111:Yes)、データ送信部26は、環境地図格納部21に格納されている環境地図、参照地図格納部23に格納されている参照地図、および差分画像格納部25に格納されている差分画像を、通信回線11を介して移動ロボット30へ送信し(S112)、参照データ作成サーバ20は、本フローチャートに示した動作を終了する。
When the value of j is 40 or less (S111: No), the difference
図11は、位置姿勢推定装置32の動作の一例を示すフローチャートである。移動ロボット30は、環境地図、参照地図、および差分画像を、参照データ作成サーバ20から受信した後に、所定のタイミングで本フローチャートに示す動作を開始する。
FIG. 11 is a flowchart showing an example of the operation of the position /
まず、第一の評価画像作成部322は、iの値を0に初期化し(S200)、距離センサ33によって測定されたセンシングデータ(di,φi)に対応する参照地図(di,φi)をデータ格納部321から抽出する(S201)。そして、第一の評価画像作成部322は、iの値が180であるか否かを判定し、iの値が180未満である場合には(S202:No)、iの値を1増やし(S203)、再びステップS201に示した処理を実行する。
First, the first evaluation
iの値が180である場合(S202:Yes)、第一の評価画像作成部322は、抽出した参照地図(di,φi)を画素毎に加算することにより、評価画像(θ0)を作成する(S204)。そして、第一の評価値算出部324は、第一の評価画像作成部322によって作成された評価画像(θ0)内の(x,y)の位置にある画素値を、(x,y,θ0)における評価値として評価値格納部327に格納する(S205)。
When the value of i is 180 (S202: Yes), the first evaluation
次に、統合差分画像作成部323、第二の評価画像作成部325、および第二の評価値算出部328は、iの値を0に、jの値を1に、それぞれ初期化する(S206)。そして、統合差分画像作成部323は、距離センサ33によって測定されたセンシングデータ(di,φi-θj)に対応する差分画像(di,φi-θj)をデータ格納部321から抽出し(S207)、iの値が180であるか否かを判定する(S208)。iの値が180未満である場合(S208:No)、統合差分画像作成部323は、iの値を1増やし(S203)、再びステップS207に示した処理を実行する。
Next, the integrated difference
iの値が180である場合(S208:Yes)、統合差分画像作成部323は、抽出した181個の差分画像(di,φi-θj)の画素値を画素毎に加算することにより、加算された画素値から構成される統合差分画像(θj)を作成する(S210)。そして、第二の評価画像作成部325は、評価画像(θj-1)と、統合差分画像(θj)とを、画素毎に加算することにより、評価画像(θj)を作成する(S211)。
When the value of i is 180 (S208: Yes), the integrated difference
次に、第二の評価値算出部328は、第二の評価画像作成部325によって作成された評価画像(θj)内の(x,y)の位置にある画素値を、(x,y,θj)における評価値として評価値格納部327に格納し(S212)、jの値が359であるか否かを判定する(S213)。jの値が359未満である場合(S213:No)、統合差分画像作成部323は、jの値を1増やし(S214)、再びステップS207に示した処理を実行する。
Next, the second evaluation
jの値が359である場合(S213:Yes)、位置姿勢推定部326は、評価値格納部327を参照して、最大の評価値が対応付けられている(x,y,θ)を特定し、環境地図の所定方向とのなす角度がθの向きで、環境地図内の(x,y)の位置に、移動ロボット30の向きおよび位置を推定し(S215)、位置姿勢推定装置32は、本フローチャートに示した動作を終了する。
When the value of j is 359 (S213: Yes), the position /
図12は、参照データ作成サーバ20または位置姿勢推定装置32の機能を実現するコンピュータ40のハードウェア構成の一例を示すハードウェア構成図である。コンピュータ40は、CPU(Central Processing Unit)41、RAM(Random Access Memory)42、ROM(Read Only Memory)43、HDD(Hard Disk Drive)44、通信インターフェイス(I/F)45、入出力インターフェイス(I/F)46、およびメディアインターフェイス(I/F)47を備える。
FIG. 12 is a hardware configuration diagram illustrating an example of a hardware configuration of the
CPU41は、ROM43またはHDD44に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM43は、コンピュータ40の起動時にCPU41が実行するブートプログラムや、コンピュータ40のハードウェアに依存するプログラム等を格納する。HDD44は、CPU41によって実行されるプログラムを格納する。通信インターフェイス45は、通信回線を介して他の機器からデータを受信してCPU41へ送ると共に、CPU41が生成したデータを、通信回線を介して他の機器へ送信する。
The
CPU41は、入出力インターフェイス46を介して、モニタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU41は、入出力インターフェイス46を介して、入力装置からデータを取得する。また、CPU41は、生成したデータを、入出力インターフェイス46を介して出力装置へ出力する。なお、コンピュータ40が位置姿勢推定装置32として機能する場合、コンピュータ40には通信インターフェイス45が設けられず、コンピュータ40は、入出力インターフェイス46に接続された無線通信装置31を介して通信を行う。また、コンピュータ40が位置姿勢推定装置32として機能する場合、距離センサ33および移動装置34とのデータやり取りは、入出力インターフェイス46を介して行われる。
The
メディアインターフェイス47は、記録媒体48に格納されたプログラムまたはデータを読み取り、RAM42に提供する。RAM42を介してCPU41に提供されるプログラムは、記録媒体48に格納されている。当該プログラムは、記録媒体48から読み出されて、RAM42を介してコンピュータ40にインストールされ、CPU41によって実行される。記録媒体48は、例えばDVD(Digital Versatile Disk)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
The
コンピュータ40が参照データ作成サーバ20として機能する場合、コンピュータ40にインストールされて実行されるプログラムは、コンピュータ40を、環境地図格納部21、参照地図作成部22、参照地図格納部23、差分画像作成部24、差分画像格納部25、およびデータ送信部26として機能させる。
When the
また、コンピュータ40が位置姿勢推定装置32として機能する場合、コンピュータ40にインストールされて実行されるプログラムは、コンピュータ40を、データ取得部320、データ格納部321、第一の評価画像作成部322、統合差分画像作成部323、第一の評価値算出部324、第二の評価画像作成部325、位置姿勢推定部326、評価値格納部327、および第二の評価値算出部328として機能させる。
Further, when the
コンピュータ40は、これらのプログラムを、記録媒体48から読み取って実行するが、他の例として、他の装置から、通信媒体を介してこれらのプログラムを取得してもよい。通信媒体とは、有線もしくは無線の通信回線、または、当該通信回線を伝搬するディジタル信号もしくは搬送波を指す。
The
以上、本発明の実施の形態について説明した。 The embodiment of the present invention has been described above.
上記説明から明らかなように、本実施形態の位置姿勢推定システム10によれば、センシングデータリストに基づくマッチング方法に比べて、さらなる計算量の削減を実現することができる。
As is clear from the above description, according to the position /
ここで、今まで述べた説明をもとに、「課題を解決するための手段」の欄で図1を参照して述べた本発明の構成と、上記した実施形態との対応関係を補足する。 Here, based on the description given so far, the correspondence between the configuration of the present invention described with reference to FIG. 1 in the column of “Means for Solving the Problems” and the above-described embodiment will be supplemented. .
図1において、環境地図101は、「背景技術」の項で説明したように、距離センサ106による測定高さ断面での障害物の存在を、ディジタル画像としてあらわしたものである。ここでは、障害物が存在しない場所を画素値0(白色)、障害物が存在する場所を画素値1(黒色)としてあらわすことにする。
In FIG. 1, the
距離センサ106は、「背景技術」の項で説明したように、自分の周辺の予め決められた複数の方向について、障害物までの距離を計測できるものである。ここでは、測定は正面に対して-90°から+90°に1°毎の合計181の異なる方向について行われるものとする。
As described in the “Background Art” section, the
センシングデータ107は、「背景技術」の項で説明したように、上記距離センサ106によって障害物の位置が、角度と距離の組み合わせとして(d0 ,-90°),(d1 ,-89°), ...,,(d180 ,+90°)の合計181個の極座標表現によるデータとしてあらわされるものである。また、d0, d1, ..., d180 は、0.1m, 0.2m, 0.3m, ..., 4.0mのいずれかの値として量子化されているものである。
As described in the “Background Art” section, the
位置姿勢推定値124とは、「背景技術」の欄で説明したように、移動ロボットが平面運動を行うことを想定するので、位置と方向に関する合計3パラメータ(x, y,θ)としてあらわされるものである。
The position / orientation estimated
まず、図1における参照データ群を作成する手段150において、環境地図からマッチングのための第1の参照データ群103を作成する方法について説明する。ここで第1の参照データ群とは、「背景技術」の項で説明した一連の参照地図を示す。具体的には、(rj,ψk)(ただし、rj = 0.1m, 0.2m, 0.3m, ..., 4.0mの40通り、ψk = 0°, 1°, ..., 359°の360通り)のクラスとして作成するので、合計40×360枚になる。このデータは、環境地図を(x,y)の方向に移動させることで作成される。なお、x = rj・cos(ψk), y = rj・sin(ψk) である。
First, a method for creating the first
また、各画素は実環境における10cm×10cmの大きさの領域を示すように量子化されるものとする。さらに、この参照地図は、画像そのものではなく、画像上において、1の値を持つ画素の座標値を列挙したデータとして、(x0, y0), (x1, y1), ..., (xn, yn) のように記録されるものとする。 Each pixel is quantized so as to indicate a region of 10 cm × 10 cm in the actual environment. Furthermore, this reference map is not the image itself, but the data that enumerates the coordinate values of pixels having a value of 1 on the image as (x 0 , y 0 ), (x 1 , y 1 ), ... , (x n, y n ).
次に、図1における参照データ群を作成する手段150において、第1の参照データ群から第2の参照データ群105を作成する方法について説明する。ここで、第2の参照データ群とは、第1の実施例で説明した一連の差分画像を示す。具体的には、(rj,ψk)(ただし、rj = 0.1m, 0.2m, 0.3m, ..., 4.0mの40通り、ψk = 1°, 2°, ..., 359°の359通りのクラスとして作成するので、合計40×359枚になる。このデータは、上に述べた参照地図の中で角度パラメータについて隣り合うクラスのものを2つ組み合わせ、この画像の画素毎の差分処理を行うことで作成される。
Next, a method of creating the second
すなわち、クラス(rj,ψ+1°)と、クラス(rj,ψ)の参照地図から、クラス(rj,ψ+1°)の差分画像が作成されることになる。その具体的な作成方法は、発明を実施するための最良の形態の前半部分で説明した通りである。この差分画像は、画像そのものではなく、画像上において、0以外の値をもつ画素の座標値と、その値を列挙したデータとして、(x0, y0 v0), (x1, y1, v1), ..., (xn, yn, vn) のように記録されるものとする。 That is, a difference image of class (r j , ψ + 1 °) is created from the reference map of class (r j , ψ + 1 °) and class (r j , ψ). The specific production method is as described in the first half of the best mode for carrying out the invention. This difference image is not the image itself but the coordinate values of pixels having values other than 0 on the image and the data enumerating the values as (x 0 , y 0 v 0 ), (x 1 , y 1 , v 1 ), ..., (x n , y n , v n ).
次に、図1における位置姿勢を推定する手段170における、センシングデータに基づいて、第1の参照データ群と第2の参照データ群の中から必要なデータを選択する処理について説明する。ここでは、移動ロボットの回転をθと仮定し、この値とセンシングデータとから算出される値に基づき、第1の参照データ群、すなわち各クラスの参照地図と、第2の参照データ群、すなわち各クラスの差分画像から、適切なクラスのものを選択する。選択されるものは複数枚になる。その具体的な選択方法は、発明を実施するための最良の形態の前半部分で説明したとおりである。
Next, processing for selecting necessary data from the first reference data group and the second reference data group based on the sensing data in the
次に、図1の位置姿勢を推定する手段170における、選択されたデータを加算することで評価のためのデータ122を作成する処理121について説明する。ここでは、仮定した移動ロボットの回転θの値毎に、上で選択した各クラスの参照地図と差分画像を画素毎に足し合わせ、さらにこれに、移動ロボットの回転(θ-1°)として作成した評価値画像を足し合わせ、これを移動ロボットの回転θの評価値画像とする。その具体的な方法は、発明を実施するための最良の形態の前半部分で説明したとおりである。なお、この評価値画像が、図1における評価のためのデータとなる。
Next, processing 121 for creating
次に、図1の位置姿勢を推定する手段170における、評価のためのデータから位置姿勢推定値を求める処理123について説明する。これは、上で求められた各移動ロボットの回転θ毎に算出された評価値画像の中から、最大の値をもつ画素を見つけ出し、これが属する回転角度θと、その画素の画像上の位置(x,y)から、位置姿勢推定値を(x,y,θ)として求めるものである。その具体的な方法は、発明を実施するための最良の形態の前半部分で説明した通りである。
Next, processing 123 for obtaining a position / orientation estimation value from data for evaluation in the
また、本発明は、上記した実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。 Further, the present invention is not limited to the above-described embodiment, and various modifications can be made within the scope of the gist thereof.
例えば、上記した実施形態において、位置姿勢推定装置32は、パラメータ推定時には、参照データ作成サーバ20によって予め作成された参照地図および差分画像の両方を利用するが、本発明はこれに限られない。他の形態として、位置姿勢推定装置32は、参照データ作成サーバ20によって予め作成された差分画像と一部の参照地図とを用いて各パラメータを推定するようにしてもよい。
For example, in the above-described embodiment, the position /
例えば、参照データ作成サーバ20は、参照地図としてψ=0°のクラス、すなわちクラス(0.1m, 0°), クラス(0.2m, 0°), ..., クラス(4.0m, 0°)の参照地図を作成し、位置姿勢推定装置32は、参照データ作成サーバ20によって作成されたクラスの参照地図をデータ格納部321に保存する。これは、上記した実施形態においてψ= 0°, 1°, ..., 359°の全てのクラスの参照地図を記録しておくのに比べて1/360のメモリ量となる。なお、差分画像については、参照データ作成サーバ20は、上記した実施形態と同様に全てのクラスについて差分画像を作成し、位置姿勢推定装置32は、参照データ作成サーバ20によって作成された全てのクラスの差分画像をデータ格納部321に保存する。
For example, the reference
このような準備のもと、第一の評価画像作成部322は、以下のステップに従い、方向θをθ=0°と仮定したときの評価値画像を作成する。
(1) θ=0°とする。
(2) センシングデータ(d0 ,-90°), (d1,-89°), ..., (d180 ,+90°)について、距離パラメータはそれぞれの値とし、角度パラメータは0°に置き換えたクラスの参照地図を選び出す。すなわち(d0 ,0°), (d1 ,0°), ..., (d180 ,0°)のクラスの参照地図を選び出すことになる。
(3) これらのデータについて、角度パラメータがセンシングデータのものになるまで、差分画像を足し合わせていく。この足し合わせた画像データが、そのクラスの参照地図となる。例えば、(d0 ,-90°)のセンシングデータについては、-90° → -90°+ 360° = +270°の変換処理を行ったのちに、以下の計算を行うことで、目的となる (d0 ,+270°)のクラスの参照地図を作成する。
Based on this preparation, the first evaluation
(1) Set θ = 0 °.
(2) For the sensing data (d 0 , -90 °), (d 1 , -89 °), ..., (d 180 , + 90 °), the distance parameter is the respective value and the angle parameter is 0 ° Select the reference map of the class replaced with. That is, a reference map of a class of (d 0 , 0 °), (d 1 , 0 °), ..., (d 180 , 0 °) is selected.
(3) For these data, add the difference images until the angle parameter is that of the sensing data. The added image data becomes a reference map of the class. For example, for the sensing data of (d 0 , -90 °), after converting from -90 ° to -90 ° + 360 ° = + 270 °, the following calculation is performed, which is the purpose. Create a reference map of class (d 0 , + 270 °).
F(d0 ,270°) = F(d0 ,0°) + G(d0 ,1°) + G(d0 ,2°) + ... + G(d0 ,270°)
・・・数式3 ここで、F(d,ψ)およびG(d,ψ) は、それぞれ、クラス(d,ψ)の参照地図およびクラス(d,ψ)の差分画像である。
F (d 0 , 270 °) = F (d 0 , 0 °) + G (d 0 , 1 °) + G (d 0 , 2 °) + ... + G (d 0 , 270 °)
以上の処理により、θ=0°のときの各クラスの参照地図が求められるので、それ以降は、この参照地図に、それぞれの角度における統合差分画像を加算していくことにより、目的となる推定値が求められることになる。このようにすることにより、センシングデータに対応する各クラスの参照地図を作成する処理が新たに必要になるものの、データ格納部321内に参照地図の大部分を記憶する必要がないため、メモリ量を削減することができる。
The reference map of each class when θ = 0 ° is obtained by the above processing, and thereafter, the target estimation is performed by adding the integrated difference image at each angle to the reference map. A value will be required. By doing so, a process for creating a reference map of each class corresponding to the sensing data is newly required, but it is not necessary to store most of the reference map in the
また、上記した実施形態において、移動ロボット30は、有線または無線通信により、環境地図、参照地図、および差分画像を参照データ作成サーバ20から取得するが、他の形態として、移動ロボット30は、可搬性の記録媒体を介して、これらのデータを参照データ作成サーバ20から取得するようにしてもよい。
In the above-described embodiment, the
また、上記した実施形態において、位置姿勢推定システム10は、参照データ作成サーバ20と移動ロボット30とを備えるが、他の形態として、参照データ作成サーバ20の機能を移動ロボット30内に設けることにより、移動ロボット30単体で位置姿勢推定システム10の機能を実現するように構成されていてもよい。
In the above-described embodiment, the position /
また、上記した実施形態において用いられている様々な具体的な数値は、説明に対する理解を助けるために仮に設定したものであり、本発明の実施時にその値が使われることを限定するものではない。例えば、上記した実施形態では、角度の分解能が1°であったが、本発明を適用するシステムの仕様や要求される精度等に応じて、0.5°や0.1°等であってもよい。 In addition, various specific numerical values used in the above-described embodiments are provisionally set to help understanding of the description, and do not limit the use of the values when the present invention is implemented. . For example, in the above-described embodiment, the angular resolution is 1 °. However, depending on the specifications of the system to which the present invention is applied and the required accuracy, the angle resolution is 0.5 °, 0.1 °, etc. Also good.
10・・・位置姿勢推定システム、101・・・環境地図、102・・・第1の参照データ群の作成処理、103・・・第1の参照データ群、104・・・第2の参照データ群の作成処理、105・・・第2の参照データ群、106・・・距離センサ、107・・・センシングデータ、120・・・参照データ選択処理、121・・・加算処理、122・・・評価のためのデータ、123・・・位置姿勢推定値を求めるための処理、124・・・位置姿勢推定値、150・・・参照データ群を作成する手段、170・・・位置姿勢を推定する手段、11・・・通信回線、12・・・基地局、20・・・参照データ作成サーバ、21・・・環境地図格納部、22・・・参照地図作成部、23・・・参照地図格納部、24・・・差分画像作成部、25・・・差分画像格納部、26・・・データ送信部、30・・・移動ロボット、31・・・無線通信装置、32・・・位置姿勢推定装置、320・・・データ取得部、321・・・データ格納部、322・・・第一の評価画像作成部、323・・・統合差分画像作成部、324・・・第一の評価値算出部、325・・・第二の評価画像作成部、326・・・位置姿勢推定部、327・・・評価値格納部、328・・・第二の評価値算出部、33・・・距離センサ、34・・・移動装置
DESCRIPTION OF
Claims (4)
それぞれのベクトルA(r,ψk)毎に、複数の画素から構成される二次元の環境地図を、当該ベクトルA(r,ψk)で示される方向と逆方向へ、当該ベクトルA(r,ψk)で示される距離分平行移動することにより、参照地図(r,ψk)を作成し、
作成した参照地図(r,ψk)と、前記距離センサによって測定されたセンシングデータであって、前記距離センサの主方向とのなす角度が異なるn個の方向φi(i=0,1,・・・n-1)、および、それぞれの方向φiにおける前記距離センサから物体までの距離di(i=0,1,・・・n-1)を示すセンシングデータ(di,φi)とから、前記距離センサが搭載された装置の位置および向きを前記環境地図内で推定する位置姿勢推定システムにおける位置姿勢推定方法であって、
前記位置姿勢推定システムは、
参照データ作成サーバと、
前記距離センサが搭載された装置に搭載される位置姿勢推定装置と
を備え、
前記参照データ作成サーバが、
前記環境地図から参照地図(r,ψk)(k=0,1,・・・m-1)を作成する参照地図作成ステップと、
作成した参照地図(r,ψk)を参照して、同一の距離r毎に、参照地図(r,ψk)−参照地図(r,ψk-1)により、隣り合う方向における参照地図の差分を画素毎に算出し、算出した画素毎の差分において、0以外の画素値を有する画素を集めた差分画像(r,ψk)(k=1,2,・・・m-1)を作成する差分画像作成ステップと
を実行し、
前記位置姿勢推定装置が、
前記距離センサによって測定されたn個のセンシングデータ(di,φi)(i=0,1,・・・n-1)のそれぞれについて、当該センシングデータ(di,φi)に示される距離diおよび方向φiと同一の距離および方向に対応する参照地図(di,φi)を、前記参照データ作成サーバによって算出された参照地図の中から抽出し、抽出したn個の参照地図(di,φi)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθ0とする評価画像(θ0)を作成する第一の評価画像作成ステップと、
前記評価画像(θ0)内の(x,y)の位置にある画素値を、(x,y,θ0)における評価値として算出する第一の評価値算出ステップと、
j=1からj=m-1まで、前記距離センサによって測定されたn個のセンシングデータ(di,φi-θj)のそれぞれについて、当該センシングデータ(di,φi-θj)に示される距離diおよび方向φi-θjと同一の距離および方向に対応する差分画像(di,φi-θj)を、前記参照データ作成サーバによって作成された差分画像の中から抽出し、抽出したn個の差分画像G(di,φi-θj)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθjとする統合差分画像(θj)を作成し、評価画像(θj-1)と、統合差分画像(θψj)とを、画素毎に加算することにより、評価画像(θj)を作成し、作成した評価画像(θj)内の(x,y)の位置にある画素値を、(x,y,θj)における評価値として算出する第二の評価値算出ステップと、
前記第一の評価値算出ステップにおいて算出した評価値、および、前記第二の評価値算出ステップにおいて算出した評価値の中で、最大の評価値に対応する(x,y,θ)を特定し、前記環境地図の主方向とのなす角度がθの向きで、前記環境地図内の(x,y)の位置に前記距離センサが搭載された装置の向きおよび位置を推定する位置姿勢推定ステップと
を実行することを特徴とする位置姿勢推定方法。 Different angle between the main direction of the distance sensor, the order in [psi 0 angle is smaller with the main direction, ψ 1, ··· ψ m- 1 to m-number of directions ψ k (k = 0,1, · A vector A (r, ψ k ) is defined for each combination of direction ψ k and distance r at m-1) and a different distance r from the distance sensor;
For each vector A (r, ψ k ), a two-dimensional environment map composed of a plurality of pixels is set in a direction opposite to the direction indicated by the vector A (r, ψ k ). , ψ k ) to create a reference map (r, ψ k ) by translating by the distance indicated by
Sensing data measured by the reference sensor (r, ψ k ) and the distance sensor, and n directions φ i (i = 0, 1, ··· n-1), and the distance from the distance sensor in each direction phi i to the object d i (i = 0,1, sensing indicating the ··· n-1) data (d i, phi i ) And a position and orientation estimation method in a position and orientation estimation system for estimating the position and orientation of the device in which the distance sensor is mounted in the environment map,
The position and orientation estimation system includes:
A reference data creation server;
A position and orientation estimation device mounted on a device on which the distance sensor is mounted;
The reference data creation server is
A reference map creating step for creating a reference map (r, ψ k ) (k = 0, 1, ... m-1) from the environmental map;
With reference to the created reference map (r, ψ k ), the reference map in the adjacent direction is referred to by the reference map (r, ψ k ) −reference map (r, ψ k−1 ) at the same distance r. A difference is calculated for each pixel, and a difference image (r, ψ k ) (k = 1, 2,..., M−1) that collects pixels having pixel values other than 0 in the calculated difference for each pixel. Execute the difference image creation step to be created,
The position / orientation estimation device comprises:
For each of n pieces of sensing data (d i , φ i ) (i = 0, 1,... N-1) measured by the distance sensor, the sensing data (d i , φ i ) is indicated. A reference map (d i , φ i ) corresponding to the same distance and direction as the distance d i and direction φ i is extracted from the reference map calculated by the reference data creation server, and extracted n references By adding the pixel values of the map (d i , φ i ) for each pixel, the orientation of the device in which the distance sensor is mounted and the main direction of the environmental map, which is composed of the added pixel values, is formed. A first evaluation image creating step for creating an evaluation image (θ 0 ) having an angle of θ 0 ;
A first evaluation value calculating step of calculating a pixel value at a position of (x, y) in the evaluation image (θ 0 ) as an evaluation value in (x, y, θ 0 );
For each of the n sensing data (d i , φ i −θ j ) measured by the distance sensor from j = 1 to j = m−1, the sensing data (d i , φ i −θ j ) The difference image (d i , φ i -θ j ) corresponding to the same distance and direction as the distance d i and the direction φ i -θ j shown in FIG. The distance sensor configured to extract and add the pixel values of the extracted n difference images G (d i , φ i −θ j ) for each pixel is mounted. Create an integrated difference image (θ j ) with the angle between the orientation of the device and the main direction of the environment map as θ j, and evaluate image (θ j-1 ) and integrated difference image (θψ j ), By adding for each pixel, an evaluation image (θ j ) is created, and the pixel value at the position of (x, y) in the created evaluation image (θ j ) is set to (x, y, θ j ) As an evaluation value A second evaluation value calculation step of leaving,
Among the evaluation values calculated in the first evaluation value calculation step and the evaluation values calculated in the second evaluation value calculation step, (x, y, θ) corresponding to the maximum evaluation value is specified. A position and orientation estimation step for estimating an orientation and a position of a device in which the distance sensor is mounted at a position (x, y) in the environment map, with an angle formed with the main direction of the environment map being a direction θ; A position / orientation estimation method comprising:
それぞれのベクトルA(r,ψk)毎に、複数の画素から構成される二次元の環境地図を、当該ベクトルA(r,ψk)で示される方向と逆方向へ、当該ベクトルA(r,ψk)で示される距離分平行移動することにより、参照地図(r,ψk)を作成し、
作成した参照地図(r,ψk)と、前記距離センサによって測定されたセンシングデータであって、前記距離センサの主方向とのなす角度が異なるn個の方向φi(i=0,1,・・・n-1)、および、それぞれの方向φiにおける前記距離センサから物体までの距離di(i=0,1,・・・n-1)を示すセンシングデータ(di,φi)とから、前記距離センサが搭載された装置の位置および向きを前記環境地図内で推定する位置姿勢推定システムであって、
参照データ作成サーバと、
前記距離センサが搭載された装置に搭載される位置姿勢推定装置と
を備え、
前記参照データ作成サーバは、
前記環境地図から参照地図(r,ψk)(k=0,1,・・・m-1)を作成する参照地図作成手段と、
前記参照地図作成手段によって作成された参照地図(r,ψk)を参照して、同一の距離r毎に、参照地図(r,ψk)−参照地図(r,ψk-1)により、隣り合う方向における参照地図の差分を画素毎に算出し、算出した画素毎の差分において、0以外の画素値を有する画素を集めた差分画像(r,ψk)(k=1,2,・・・m-1)を作成する差分画像作成手段と
を有し、
前記位置姿勢推定装置は、
前記距離センサによって測定されたn個のセンシングデータ(di,φi)(i=0,1,・・・n-1)のそれぞれについて、当該センシングデータ(di,φi)に示される距離diおよび方向φiと同一の距離および方向に対応する参照地図(di,φi)を、前記参照データ作成サーバによって算出された参照地図の中から抽出し、抽出したn個の参照地図(di,φi)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθ0とする評価画像(θ0)を作成する第一の評価画像作成手段と、
前記評価画像(θ0)内の(x,y)の位置にある画素値を、(x,y,θ0)における評価値として算出する第一の評価値算出手段と、
j=1からj=m-1まで、前記距離センサによって測定されたn個のセンシングデータ(di,φi-θj)のそれぞれについて、当該センシングデータ(di,φi-θj)に示される距離diおよび方向φi-θjと同一の距離および方向に対応する差分画像(di,φi-θj)を、前記参照データ作成サーバによって作成された差分画像の中から抽出し、抽出したn個の差分画像(di,φi-θj)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθjとする統合差分画像(θj)を作成する統合差分画像作成手段と、
j=1からj=m-1まで、評価画像(θj-1)と、統合差分画像(θj)とを、画素毎に加算することにより、評価画像(θj)を作成する第二の評価画像作成手段と、
j=1からj=m-1まで、前記評価画像(θj)内の(x,y)の位置にある画素値を、(x,y,θj)における評価値として算出する第二の評価値算出手段と、
前記第一の評価値算出手段によって算出された評価値、および、前記第二の評価値算出手段によって算出された評価値の中で、最大の評価値に対応する(x,y,θ)を特定し、前記環境地図の主方向とのなす角度がθの向きで、前記環境地図内の(x,y)の位置に前記距離センサが搭載された装置の向きおよび位置を推定する位置姿勢推定手段と
を有することを特徴とする位置姿勢推定システム。 Different angle between the main direction of the distance sensor, the order in [psi 0 angle is smaller with the main direction, ψ 1, ··· ψ m- 1 to m-number of directions ψ k (k = 0,1, · A vector A (r, ψ k ) is defined for each combination of direction ψ k and distance r at m-1) and a different distance r from the distance sensor;
For each vector A (r, ψ k ), a two-dimensional environment map composed of a plurality of pixels is set in a direction opposite to the direction indicated by the vector A (r, ψ k ). , ψ k ) to create a reference map (r, ψ k ) by translating by the distance indicated by
Sensing data measured by the reference sensor (r, ψ k ) and the distance sensor, and n directions φ i (i = 0, 1, ··· n-1), and the distance from the distance sensor in each direction phi i to the object d i (i = 0,1, sensing indicating the ··· n-1) data (d i, phi i ) And a position and orientation estimation system for estimating the position and orientation of the device on which the distance sensor is mounted in the environmental map,
A reference data creation server;
A position and orientation estimation device mounted on a device on which the distance sensor is mounted;
The reference data creation server is
A reference map creating means for creating a reference map (r, ψ k ) (k = 0, 1, ... m-1) from the environmental map;
With reference to the reference map (r, ψ k ) created by the reference map creating means, the reference map (r, ψ k ) −reference map (r, ψ k−1 ) for the same distance r, A difference between reference maps in adjacent directions is calculated for each pixel, and a difference image (r, ψ k ) (k = 1, 2,...) That collects pixels having pixel values other than 0 in the calculated difference for each pixel. ..M-1) and a differential image creating means for creating
The position / orientation estimation apparatus includes:
For each of n pieces of sensing data (d i , φ i ) (i = 0, 1,... N-1) measured by the distance sensor, the sensing data (d i , φ i ) is indicated. A reference map (d i , φ i ) corresponding to the same distance and direction as the distance d i and direction φ i is extracted from the reference map calculated by the reference data creation server, and extracted n references By adding the pixel values of the map (d i , φ i ) for each pixel, the orientation of the device in which the distance sensor is mounted and the main direction of the environmental map, which is composed of the added pixel values, is formed. A first evaluation image creating means for creating an evaluation image (θ 0 ) having an angle of θ 0 ;
A first evaluation value calculating means for calculating a pixel value at a position of (x, y) in the evaluation image (θ 0 ) as an evaluation value in (x, y, θ 0 );
For each of the n sensing data (d i , φ i −θ j ) measured by the distance sensor from j = 1 to j = m−1, the sensing data (d i , φ i −θ j ) The difference image (d i , φ i -θ j ) corresponding to the same distance and direction as the distance d i and the direction φ i -θ j shown in FIG. An apparatus on which the distance sensor is mounted, which is configured by adding the pixel values of the extracted n extracted difference images (d i , φ i -θ j ) for each pixel. An integrated difference image creating means for creating an integrated difference image (θ j ) with θ j as an angle formed between the orientation of the environment map and the main direction of the environment map;
From j = 1 to j = m−1, an evaluation image (θ j ) is created by adding the evaluation image (θ j-1 ) and the integrated difference image (θ j ) for each pixel. Evaluation image creation means,
A second pixel value is calculated as an evaluation value at (x, y, θ j ) from j = 1 to j = m−1 at the position (x, y) in the evaluation image (θ j ). An evaluation value calculating means;
Among the evaluation values calculated by the first evaluation value calculation means and the evaluation values calculated by the second evaluation value calculation means, (x, y, θ) corresponding to the maximum evaluation value is A position and orientation estimation that identifies and estimates the orientation and position of the device in which the distance sensor is mounted at the position (x, y) in the environment map with an angle of θ with the main direction of the environment map And a position and orientation estimation system.
それぞれのベクトルA(r,ψk)毎に、複数の画素から構成される二次元の環境地図を、当該ベクトルA(r,ψk)で示される方向と逆方向へ、当該ベクトルA(r,ψk)で示される距離分平行移動することにより、参照地図(r,ψk)を作成し、
作成した参照地図(r,ψk)と、前記距離センサによって測定されたセンシングデータであって、前記距離センサの主方向とのなす角度が異なるn個の方向φi(i=0,1,・・・n-1)、および、それぞれの方向φiにおける前記距離センサから物体までの距離di(i=0,1,・・・n-1)を示すセンシングデータ(di,φi)とから、前記距離センサが搭載された装置の位置および向きを前記環境地図内で推定する位置姿勢推定装置における位置姿勢推定方法であって、
前記位置姿勢推定装置は、
前記環境地図から参照地図(r,ψk)(k=0,1,・・・m-1)を作成する参照地図作成ステップと、
前記参照地図作成ステップにおいて作成した参照地図(r,ψk)を参照して、同一の距離r毎に、参照地図(r,ψk)−参照地図(r,ψk-1)により、隣り合う方向における参照地図の差分を画素毎に算出し、算出した画素毎の差分において、0以外の画素値を有する画素を集めた差分画像(r,ψk)(k=1,2,・・・m-1)を作成する差分画像作成ステップと、
前記距離センサによって測定されたn個のセンシングデータ(di,φi)(i=0,1,・・・n-1)のそれぞれについて、当該センシングデータ(di,φi)に示される距離diおよび方向φiと同一の距離および方向に対応する参照地図(di,φi)を参照地図の中から抽出し、抽出したn個の参照地図(di,φi)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθ0とする評価画像(θ0)を作成する第一の評価画像作成ステップと、
前記評価画像(θ0)内の(x,y)の位置にある画素値を、(x,y,θ0)における評価値として算出する第一の評価値算出ステップと、
j=1からj=m-1まで、前記距離センサによって測定されたn個のセンシングデータ(di,φi-θj)のそれぞれについて、当該センシングデータ(di,φi-θj)に示される距離diおよび方向φi-θjと同一の距離および方向に対応する差分画像(di,φi-θj)を差分画像の中から抽出し、抽出したn個の差分画像(di,φi-θj)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθjとする統合差分画像(θj)を作成し、評価画像(θj-1)と、統合差分画像(θj)とを、画素毎に加算することにより、評価画像(θj)を作成し、前記評価画像(θj)内の(x,y)の位置にある画素値を、(x,y,θj)における評価値として算出する第二の評価値算出ステップと、
前記第一の評価値算出ステップにおいて算出した評価値、および、前記第二の評価値算出ステップにおいて算出した評価値の中で、最大の評価値に対応する(x,y,θ)を特定し、前記環境地図の主方向とのなす角度がθの向きで、前記環境地図内の(x,y)の位置に前記距離センサが搭載された装置の向きおよび位置を推定する位置姿勢推定ステップと
を実行することを特徴とする位置姿勢推定方法。 Different angle between the main direction of the distance sensor, the order in [psi 0 angle is smaller with the main direction, ψ 1, ··· ψ m- 1 to m-number of directions ψ k (k = 0,1, · A vector A (r, ψ k ) is defined for each combination of direction ψ k and distance r at m-1) and a different distance r from the distance sensor;
For each vector A (r, ψ k ), a two-dimensional environment map composed of a plurality of pixels is set in a direction opposite to the direction indicated by the vector A (r, ψ k ). , ψ k ) to create a reference map (r, ψ k ) by translating by the distance indicated by
Sensing data measured by the reference sensor (r, ψ k ) and the distance sensor, and n directions φ i (i = 0, 1, ··· n-1), and the distance from the distance sensor in each direction phi i to the object d i (i = 0,1, sensing indicating the ··· n-1) data (d i, phi i ) And a position and orientation estimation method in a position and orientation estimation device for estimating the position and orientation of the device in which the distance sensor is mounted in the environment map,
The position / orientation estimation apparatus includes:
A reference map creating step for creating a reference map (r, ψ k ) (k = 0, 1, ... m-1) from the environmental map;
Referring to reference maps created in the reference map creation step (r, ψ k), for each same distance r, the reference map (r, ψ k) - by reference map (r, ψ k-1) , next The difference between the reference maps in the matching direction is calculated for each pixel, and the difference image (r, ψ k ) (k = 1, 2,...) That collects pixels having pixel values other than 0 in the calculated difference for each pixel. A difference image creation step for creating m-1),
For each of n pieces of sensing data (d i , φ i ) (i = 0, 1,... N-1) measured by the distance sensor, the sensing data (d i , φ i ) is indicated. A reference map (d i , φ i ) corresponding to the same distance and direction as the distance d i and the direction φ i is extracted from the reference map, and the extracted n reference maps (d i , φ i ) pixels by adding the value for each pixel, and an adding pixel values, the evaluation image to the angle of theta 0 and direction as the main direction of the environmental map of the distance sensor is mounted device (theta 0 ) a first evaluation image creation step,
A first evaluation value calculating step of calculating a pixel value at a position of (x, y) in the evaluation image (θ 0 ) as an evaluation value in (x, y, θ 0 );
For each of the n sensing data (d i , φ i −θ j ) measured by the distance sensor from j = 1 to j = m−1, the sensing data (d i , φ i −θ j ) The difference image (d i , φ i -θ j ) corresponding to the same distance and direction as the distance d i and direction φ i -θ j shown in FIG. By adding the pixel values of (d i , φ i −θ j ) for each pixel, the orientation of the device in which the distance sensor is mounted and the main direction of the environment map, which are configured from the added pixel values, An integrated difference image (θ j ) with an angle formed by θ j is created, and the evaluation image (θ j-1 ) and the integrated difference image (θ j ) are added for each pixel to obtain an evaluation image ( The second evaluation value calculation step of creating θ j ) and calculating the pixel value at the position (x, y) in the evaluation image (θ j ) as the evaluation value in (x, y, θ j ) When,
Among the evaluation values calculated in the first evaluation value calculation step and the evaluation values calculated in the second evaluation value calculation step, (x, y, θ) corresponding to the maximum evaluation value is specified. A position and orientation estimation step for estimating an orientation and a position of a device in which the distance sensor is mounted at a position (x, y) in the environment map, with an angle formed with the main direction of the environment map being a direction θ; A position / orientation estimation method comprising:
それぞれのベクトルA(r,ψk)毎に、複数の画素から構成される二次元の環境地図を、当該ベクトルA(r,ψk)で示される方向と逆方向へ、当該ベクトルA(r,ψk)で示される距離分平行移動することにより、参照地図(r,ψk)を作成し、
作成した参照地図(r,ψk)と、前記距離センサによって測定されたセンシングデータであって、前記距離センサの主方向とのなす角度が異なるn個の方向φi(i=0,1,・・・n-1)、および、それぞれの方向φiにおける前記距離センサから物体までの距離di(i=0,1,・・・n-1)を示すセンシングデータ(di,φi)とから、前記距離センサが搭載された装置の位置および向きを前記環境地図内で推定する位置姿勢推定装置であって、
前記環境地図から参照地図(r,ψk)(k=0,1,・・・m-1)を作成する参照地図作成手段と、
前記参照地図作成手段によって作成された参照地図(r,ψk)を参照して、同一の距離r毎に、参照地図(r,ψk)−参照地図(r,ψk-1)により、隣り合う方向における参照地図の差分を画素毎に算出し、算出した画素毎の差分において、0以外の画素値を有する画素を集めた差分画像(r,ψk)(k=1,2,・・・m-1)を作成する差分画像作成手段と、
前記距離センサによって測定されたn個のセンシングデータ(di,φi)(i=0,1,・・・n-1)のそれぞれについて、当該センシングデータ(di,φi)に示される距離diおよび方向φiと同一の距離および方向に対応する参照地図(di,φi)を参照地図の中から抽出し、抽出したn個の参照地図(di,φi)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθ0とする評価画像(θ0)を作成する第一の評価画像作成手段と、
前記評価画像(θ0)内の(x,y)の位置にある画素値を、(x,y,θ0)における評価値として算出する第一の評価値算出手段と、
j=1からj=m-1まで、前記距離センサによって測定されたn個のセンシングデータ(di,φi-θj)のそれぞれについて、当該センシングデータ(di,φi-θj)に示される距離diおよび方向φi-θjと同一の距離および方向に対応する差分画像(di,φi-θj)を差分画像の中から抽出し、抽出したn個の差分画像(di,φi-θj)の画素値を画素毎に加算することにより、加算された画素値から構成される、前記距離センサが搭載された装置の向きと前記環境地図の主方向とのなす角をθjとする統合差分画像(θj)を作成する統合差分画像作成手段と、
j=1からj=m-1まで、評価画像(θj-1)と、統合差分画像(θj)とを、画素毎に加算することにより、評価画像(θj)を作成する第二の評価画像作成手段と、
j=1からj=m-1まで、前記評価画像(θj)内の(x,y)の位置にある画素値を、(x,y,θj)における評価値として算出する第二の評価値算出手段と、
前記第一の評価値算出手段によって算出された評価値、および、前記第二の評価値算出手段によって算出された評価値の中で、最大の評価値に対応する(x,y,θ)を特定し、前記環境地図の主方向とのなす角度がθの向きで、前記環境地図内の(x,y)の位置に前記距離センサが搭載された装置の向きおよび位置を推定する位置姿勢推定手段と
を有することを特徴とする位置姿勢推定装置。 Different angle between the main direction of the distance sensor, the order in [psi 0 angle is smaller with the main direction, ψ 1, ··· ψ m- 1 to m-number of directions ψ k (k = 0,1, · A vector A (r, ψ k ) is defined for each combination of direction ψ k and distance r at m-1) and a different distance r from the distance sensor;
For each vector A (r, ψ k ), a two-dimensional environment map composed of a plurality of pixels is set in a direction opposite to the direction indicated by the vector A (r, ψ k ). , ψ k ) to create a reference map (r, ψ k ) by translating by the distance indicated by
Sensing data measured by the reference sensor (r, ψ k ) and the distance sensor, and n directions φ i (i = 0, 1, ··· n-1), and the distance from the distance sensor in each direction phi i to the object d i (i = 0,1, sensing indicating the ··· n-1) data (d i, phi i ) To estimate the position and orientation of the device in which the distance sensor is mounted in the environmental map,
A reference map creating means for creating a reference map (r, ψ k ) (k = 0, 1, ... m-1) from the environmental map;
With reference to the reference map (r, ψ k ) created by the reference map creating means, the reference map (r, ψ k ) −reference map (r, ψ k−1 ) for the same distance r, A difference between reference maps in adjacent directions is calculated for each pixel, and a difference image (r, ψ k ) (k = 1, 2,...) That collects pixels having pixel values other than 0 in the calculated difference for each pixel. ..M-1) difference image creation means,
For each of n pieces of sensing data (d i , φ i ) (i = 0, 1,... N-1) measured by the distance sensor, the sensing data (d i , φ i ) is indicated. A reference map (d i , φ i ) corresponding to the same distance and direction as the distance d i and the direction φ i is extracted from the reference map, and the extracted n reference maps (d i , φ i ) pixels by adding the value for each pixel, and an adding pixel values, the evaluation image to the angle of theta 0 and direction as the main direction of the environmental map of the distance sensor is mounted device (theta 0 ) a first evaluation image creating means for creating
A first evaluation value calculating means for calculating a pixel value at a position of (x, y) in the evaluation image (θ 0 ) as an evaluation value in (x, y, θ 0 );
For each of the n sensing data (d i , φ i −θ j ) measured by the distance sensor from j = 1 to j = m−1, the sensing data (d i , φ i −θ j ) The difference image (d i , φ i -θ j ) corresponding to the same distance and direction as the distance d i and direction φ i -θ j shown in FIG. By adding the pixel values of (d i , φ i −θ j ) for each pixel, the orientation of the device in which the distance sensor is mounted and the main direction of the environment map, which are configured from the added pixel values, Integrated difference image creating means for creating an integrated difference image (θ j ) with an angle formed by θ j ,
From j = 1 to j = m−1, an evaluation image (θ j ) is created by adding the evaluation image (θ j-1 ) and the integrated difference image (θ j ) for each pixel. Evaluation image creation means,
A second pixel value is calculated as an evaluation value at (x, y, θ j ) from j = 1 to j = m−1 at the position (x, y) in the evaluation image (θ j ). An evaluation value calculating means;
Among the evaluation values calculated by the first evaluation value calculation means and the evaluation values calculated by the second evaluation value calculation means, (x, y, θ) corresponding to the maximum evaluation value is A position and orientation estimation that identifies and estimates the orientation and position of the device in which the distance sensor is mounted at the position (x, y) in the environment map with an angle of θ with the main direction of the environment map A position and orientation estimation device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007278496A JP2009109200A (en) | 2007-10-26 | 2007-10-26 | Position attitude estimation system, position attitude estimation device, and position attitude estimation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007278496A JP2009109200A (en) | 2007-10-26 | 2007-10-26 | Position attitude estimation system, position attitude estimation device, and position attitude estimation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009109200A true JP2009109200A (en) | 2009-05-21 |
Family
ID=40777846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007278496A Pending JP2009109200A (en) | 2007-10-26 | 2007-10-26 | Position attitude estimation system, position attitude estimation device, and position attitude estimation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009109200A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106153043A (en) * | 2015-04-13 | 2016-11-23 | Tcl集团股份有限公司 | A kind of robot chamber inner position method and system based on infrared distance sensor |
WO2016199338A1 (en) * | 2015-06-12 | 2016-12-15 | 株式会社デンソー | Moving body position and orientation estimation device and autonomous driving system for moving body |
JP2017003561A (en) * | 2015-06-12 | 2017-01-05 | 株式会社デンソー | Device for estimating position and posture of mobile entity, and autonomous traveling system of mobile entity |
US9804605B2 (en) | 2013-03-29 | 2017-10-31 | Hitachi Industrial Equipment Systems, Co., Ltd. | Position identification device and mobile robot provided with same |
KR20180039202A (en) * | 2016-10-07 | 2018-04-18 | 전자부품연구원 | 3-dimensional remote control system and method, control device thereof |
CN112824994A (en) * | 2019-11-15 | 2021-05-21 | 株式会社东芝 | Position estimation device, position estimation method, and program |
CN113625296A (en) * | 2021-07-30 | 2021-11-09 | 深圳市优必选科技股份有限公司 | Robot positioning method and device based on reflector and robot |
-
2007
- 2007-10-26 JP JP2007278496A patent/JP2009109200A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9804605B2 (en) | 2013-03-29 | 2017-10-31 | Hitachi Industrial Equipment Systems, Co., Ltd. | Position identification device and mobile robot provided with same |
CN106153043A (en) * | 2015-04-13 | 2016-11-23 | Tcl集团股份有限公司 | A kind of robot chamber inner position method and system based on infrared distance sensor |
WO2016199338A1 (en) * | 2015-06-12 | 2016-12-15 | 株式会社デンソー | Moving body position and orientation estimation device and autonomous driving system for moving body |
JP2017003561A (en) * | 2015-06-12 | 2017-01-05 | 株式会社デンソー | Device for estimating position and posture of mobile entity, and autonomous traveling system of mobile entity |
KR20180039202A (en) * | 2016-10-07 | 2018-04-18 | 전자부품연구원 | 3-dimensional remote control system and method, control device thereof |
CN112824994A (en) * | 2019-11-15 | 2021-05-21 | 株式会社东芝 | Position estimation device, position estimation method, and program |
CN113625296A (en) * | 2021-07-30 | 2021-11-09 | 深圳市优必选科技股份有限公司 | Robot positioning method and device based on reflector and robot |
CN113625296B (en) * | 2021-07-30 | 2023-11-21 | 深圳市优必选科技股份有限公司 | Robot positioning method and device based on reflector and robot |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7308597B2 (en) | Resolution-adaptive mesh for performing 3-D measurements of objects | |
JP7278263B2 (en) | Method and system for use in performing localization | |
Liu | Robotic online path planning on point cloud | |
EP3401815B1 (en) | Determining an architectural layout | |
Westman et al. | Feature-based SLAM for imaging sonar with under-constrained landmarks | |
JP6349418B2 (en) | Object positioning by high-precision monocular movement | |
JP7131994B2 (en) | Self-position estimation device, self-position estimation method, self-position estimation program, learning device, learning method and learning program | |
JP5181704B2 (en) | Data processing apparatus, posture estimation system, posture estimation method and program | |
CN113228114A (en) | Computer vision system | |
JP2009109200A (en) | Position attitude estimation system, position attitude estimation device, and position attitude estimation method | |
US20200320738A1 (en) | Method and system for updating map for pose estimation based on images | |
JP2022547288A (en) | Scene display using image processing | |
WO2016042779A1 (en) | Triangulation device, triangulation method, and recording medium recording program therefor | |
JP7033859B2 (en) | Identifying the two-dimensional position of the vehicle using geoarc | |
Raza et al. | Comparing and evaluating indoor positioning techniques | |
JPWO2018168255A1 (en) | Camera parameter estimation device, camera parameter estimation method, and program | |
KR102387797B1 (en) | Method and Apparatus for localization in real space using 3D virtual space model | |
JP5365969B2 (en) | Image processing apparatus and program | |
WO2008032375A1 (en) | Image correcting device and method, and computer program | |
CN117136383A (en) | Modeling an environment using image data | |
US11915449B2 (en) | Method and apparatus for estimating user pose using three-dimensional virtual space model | |
JP2020041950A (en) | Surveying device, surveying method, and program | |
Emaduddin et al. | Accurate floor detection and segmentation for indoor navigation using RGB+ D and stereo cameras | |
WO2022009602A1 (en) | Information processing device, information processing method, and program | |
Linåker et al. | Real-time appearance-based Monte Carlo localization |