JP5477167B2 - Moving body - Google Patents
Moving body Download PDFInfo
- Publication number
- JP5477167B2 JP5477167B2 JP2010121452A JP2010121452A JP5477167B2 JP 5477167 B2 JP5477167 B2 JP 5477167B2 JP 2010121452 A JP2010121452 A JP 2010121452A JP 2010121452 A JP2010121452 A JP 2010121452A JP 5477167 B2 JP5477167 B2 JP 5477167B2
- Authority
- JP
- Japan
- Prior art keywords
- surface shape
- angle
- line segment
- detected
- obstacle
- 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.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 claims description 50
- 238000004364 calculation method Methods 0.000 claims description 31
- 238000012937 correction Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 description 21
- 239000011159 matrix material Substances 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Description
本発明は、床面上を移動する移動体の位置を測定する技術に関する。 The present invention relates to a technique for measuring the position of a moving body that moves on a floor surface.
特許文献1には、自己の位置と角度(向き)(以下では、位置と角度をまとめて位置情報という)を検出しながら床面上を移動する移動体が開示されている。この移動体は、床面と平行な方向に直線状に伸びる障害物(例えば、壁等)の表面形状を示すデータを複数個記憶している。表面形状データは、床面を基準とするグローバル座標系により表されている。この移動体は、床面上を移動しながら、自己の位置情報を算出するとともに、拡張カルマンフィルタ(以下、EKFという)によって自己の位置情報を修正する。具体的には、移動体は、移動しながら以下の処理を繰り返す。まず、オドメトリにより床面上における自己の位置情報(グローバル座標系における位置情報)を算出する。次に、レーザレンジファインダにより光線を走査して、走査面上に存在する障害物の床面と平行な方向における表面形状を検出する。レーザレンジファインダによれば、障害物の表面形状が移動体に対する相対座標系上の座標点群として検出される。次に、移動体は、座標点群を直線近似した障害物の表面形状を算出する。次に、記憶している表面形状データの中から、検出した表面形状(直線近似した表面形状)に対応する表面形状データを特定する。この特定は、表面形状の検出誤差(すなわち、レーザレンジファインダによる検出誤差)を考慮して行われる。次に、特定した表面形状データと検出した表面形状とのずれを算出し、そのずれから自己の位置情報を修正する。このように、障害物の表面形状データを移動体に予め記憶させておくとともに、移動しながらレーザレンジファインダ等により障害物の表面形状を検出し、検出した表面形状とそれに対応する表面形状データのずれに基づいて自己の位置情報を修正することで、より正確に自己の位置情報を特定することができる。
障害物の表面形状を検出する際には、誤差が生じる。このため、検出した表面形状に対応する表面形状データを複数の表面形状データの中から正確に特定するためには、誤差を考慮する必要がある。上述した非特許文献1の技術では、検出された表面形状の誤差(すなわち、レーザレンジファインダによる検出誤差)を考慮して対応する表面形状データの特定を行っているが、この技術によっても対応する表面形状データを正確に特定できない場合がある。このため、自己の位置情報を正確に修正できない場合があった。
When detecting the surface shape of an obstacle, an error occurs. For this reason, in order to accurately specify the surface shape data corresponding to the detected surface shape from the plurality of surface shape data, it is necessary to consider an error. In the technique of Non-Patent
本明細書では、上述した実情を鑑み、検出した表面形状に対応する表面形状データをより正確に特定し、自己の位置情報をより正確に修正することができる移動体を提供する。 In the present specification, in view of the above-described situation, a moving body capable of more accurately specifying surface shape data corresponding to a detected surface shape and correcting its own position information more accurately is provided.
移動体により検出される障害物の表面形状は、移動体に対する相対座標系により表される。一方、移動体に記憶されている表面形状データは、グローバル座標系により表される。したがって、検出された表面形状に対応する表面形状データは、検出された表面形状と、記憶されている表面形状データと、移動体の位置情報に基づいて特定される。このため、この特定には、検出された表面形状の誤差だけでなく、移動体の位置情報の誤差も影響する。本発明者らは、この点に着目し、移動体の位置情報の誤差も考慮して、検出された表面形状に対応する表面形状データを特定することを提案する。 The surface shape of the obstacle detected by the moving body is represented by a relative coordinate system with respect to the moving body. On the other hand, the surface shape data stored in the moving body is represented by a global coordinate system. Therefore, the surface shape data corresponding to the detected surface shape is specified based on the detected surface shape, the stored surface shape data, and the position information of the moving body. For this reason, not only the detected surface shape error but also the positional information error of the moving body affects this specification. The present inventors pay attention to this point and propose to specify surface shape data corresponding to the detected surface shape in consideration of errors in position information of the moving body.
本願明細書が開示する移動体は、障害物が存在する床面上を移動する。この移動体は、記憶部と、自己位置・角度算出部と、障害物検出部と、マッチング部と、自己位置・角度修正部を有している。記憶部は、床面と平行な方向に直線状に伸びる障害物の床面と平行な方向における表面形状をグローバル座標系により表す表面形状データを複数個記憶する。自己位置・角度算出部は、移動体の位置及び角度をグローバル座標系により算出する。障害物検出部は、光線を走査して、その走査面上に存在する障害物の床面と平行な方向における表面形状を移動体に対する相対座標系により検出する。マッチング部は、自己位置・角度算出部で算出された移動体の位置及び角度並びにこれらの誤差と、障害物検出部で検出された表面形状及びその誤差に基づいて、記憶部に記憶されている複数の表面形状データの中から障害物検出部で検出された表面形状に対応する表面形状データを特定する。自己位置・角度修正部は、障害物検出部で検出された表面形状とマッチング部で特定された表面形状データとのずれから、自己位置・角度算出部によって算出された位置及び角度を修正する。 The moving body disclosed in the specification of the present application moves on a floor surface on which an obstacle exists. The moving body includes a storage unit, a self-position / angle calculation unit, an obstacle detection unit, a matching unit, and a self-position / angle correction unit. The storage unit stores a plurality of pieces of surface shape data representing, by a global coordinate system, a surface shape of an obstacle extending linearly in a direction parallel to the floor surface in a direction parallel to the floor surface. The self-position / angle calculation unit calculates the position and angle of the moving body using the global coordinate system. The obstacle detection unit scans the light beam and detects the surface shape of the obstacle existing on the scanning plane in a direction parallel to the floor surface by using a relative coordinate system with respect to the moving object. The matching unit is stored in the storage unit based on the position and angle of the moving body calculated by the self-position / angle calculation unit and their errors, the surface shape detected by the obstacle detection unit, and the error. Surface shape data corresponding to the surface shape detected by the obstacle detection unit is specified from the plurality of surface shape data. The self-position / angle correction unit corrects the position and angle calculated by the self-position / angle calculation unit from the deviation between the surface shape detected by the obstacle detection unit and the surface shape data specified by the matching unit.
なお、上記の「グローバル座標系」及び「相対座標系」は、3次元座標系としてもよいし、2次元座標系としてもよい。「グローバル座標系」及び「相対座標系」を2次元座標系とすると、移動体で行う計算量を少なくすることができる。2次元座標系を採用する場合、床面と平行な2つの座標軸により規定される座標系(例えば、直交座標系)であってもよいし、床面と平行な平面内における距離と角度により規定される極座標系であってもよい。また、表面形状データの座標系と移動体の位置及び角度の座標系が異なっていてもよい。例えば、表面形状データが極座標系により表され、移動体の位置が直交座標系により表されてもよい。また、表面形状データ、移動体の位置及び角度、並びに、障害物検出部が検出する障害物の表面形状は、少なくとも床面と平行な方向における形状(座標成分)により規定されていればよく、床面と垂直な方向の座標成分を含んでいてもよい。例えば、表面形状データは、床面と垂直な方向の座標成分を含めた障害物の表面の3次元形状を示すデータであってもよい。
また、「障害物検出部で検出された表面形状とマッチング部で特定された表面形状データのずれ」は、相対座標系で示される「障害物検出部で検出された表面形状」とグローバル座標系で示される「マッチング部で特定された表面形状データ」とを同一座標系で比較したときのずれを意味する。したがって、「障害物検出部で検出された表面形状」をグローバル座標系に座標変換し、グローバル座標系でこれらのずれを算出してもよい。また、「マッチング部で特定された表面形状データ」を相対座標系に座標変換し、相対座標系でこれらのずれを算出してもよい。
また、上記の「誤差」とは、ある特性値を検出(または算出等)するときに、現実の特性値と検出値との間に生じ得るずれの大きさを示す値を意味する。
また、障害物検出部が検出する障害物の表面形状は、光線の走査面上に存在する障害物の表面形状を複数の座標点により表すものであってもよいし、2つの座標点により規定される直線(または線分)により表面形状を表すものであってもよい。直線(または線分)により障害物の表面形状を表す場合には、例えば、光線の走査面上に存在する障害物の表面形状を複数の座標点により検出するレーザレンジファインダと、レーザレンジファインダが検出した複数の座標点を直線近似した直線(または線分)を算出する演算部により障害物検出部を構成することができる。
また、自己位置・角度算出部は、オドメトリによって移動体の位置と角度を算出してもよいし、GPSによって移動体の位置と角度を算出してもよいし、その他の技術によって算出してもよい。
The “global coordinate system” and the “relative coordinate system” may be a three-dimensional coordinate system or a two-dimensional coordinate system. If the “global coordinate system” and the “relative coordinate system” are two-dimensional coordinate systems, the amount of calculation performed by the moving object can be reduced. When a two-dimensional coordinate system is adopted, it may be a coordinate system defined by two coordinate axes parallel to the floor surface (for example, an orthogonal coordinate system), or specified by a distance and an angle in a plane parallel to the floor surface. It may be a polar coordinate system. The coordinate system of the surface shape data may be different from the coordinate system of the position and angle of the moving body. For example, the surface shape data may be represented by a polar coordinate system, and the position of the moving body may be represented by an orthogonal coordinate system. Further, the surface shape data, the position and angle of the moving body, and the surface shape of the obstacle detected by the obstacle detection unit may be defined by at least a shape (coordinate component) in a direction parallel to the floor surface, A coordinate component in a direction perpendicular to the floor surface may be included. For example, the surface shape data may be data indicating a three-dimensional shape of the surface of the obstacle including a coordinate component in a direction perpendicular to the floor surface.
In addition, the “deviation between the surface shape detected by the obstacle detection unit and the surface shape data specified by the matching unit” is the “surface shape detected by the obstacle detection unit” indicated in the relative coordinate system and the global coordinate system. This means a deviation when comparing the “surface shape data specified by the matching unit” in the same coordinate system. Therefore, the “surface shape detected by the obstacle detection unit” may be coordinate-transformed into the global coordinate system, and these deviations may be calculated in the global coordinate system. Alternatively, the “surface shape data specified by the matching unit” may be coordinate-converted into a relative coordinate system, and these deviations may be calculated in the relative coordinate system.
In addition, the above “error” means a value indicating the magnitude of a deviation that may occur between an actual characteristic value and a detected value when a certain characteristic value is detected (or calculated).
Further, the surface shape of the obstacle detected by the obstacle detection unit may represent the surface shape of the obstacle existing on the scanning plane of the light beam by a plurality of coordinate points, and is defined by two coordinate points. The surface shape may be represented by a straight line (or line segment). When the surface shape of the obstacle is represented by a straight line (or line segment), for example, a laser range finder that detects the surface shape of the obstacle existing on the scanning plane of the light beam by a plurality of coordinate points, and a laser range finder The obstacle detection unit can be configured by a calculation unit that calculates a straight line (or line segment) obtained by linearly approximating a plurality of detected coordinate points.
The self-position / angle calculation unit may calculate the position and angle of the moving body by odometry, may calculate the position and angle of the moving body by GPS, or may be calculated by other techniques. Good.
この移動体では、移動中に、自己位置・角度算出部が移動体の位置と角度を算出する。また、移動中に、障害物検出部が、障害物の表面形状を検出する。そして、マッチング部が、記憶部に記憶されている複数の表面形状データの中から障害物検出部で検出された表面形状に対応する表面形状データを特定する。このとき、マッチング部は、障害物検出部で検出された表面形状の誤差のみならず、移動体の位置及び角度の誤差も考慮して、検出された表面形状に対応する表面形状データを特定する。したがって、検出された表面形状に対応する表面形状データを正確に特定することができる。自己位置・角度修正部は、特定された表面形状データと検出された表面形状とのずれに基づいて、移動体の位置と角度を修正する。対応する表面形状データが正確に特定されているので、自己位置・角度修正部は正確に移動体の位置と角度を修正することができる。 In this moving body, the self-position / angle calculation unit calculates the position and angle of the moving body during movement. In addition, during the movement, the obstacle detection unit detects the surface shape of the obstacle. Then, the matching unit specifies surface shape data corresponding to the surface shape detected by the obstacle detection unit from the plurality of surface shape data stored in the storage unit. At this time, the matching unit specifies surface shape data corresponding to the detected surface shape in consideration of not only the surface shape error detected by the obstacle detection unit but also the position and angle error of the moving object. . Therefore, the surface shape data corresponding to the detected surface shape can be accurately specified. The self-position / angle correcting unit corrects the position and angle of the moving body based on the deviation between the specified surface shape data and the detected surface shape. Since the corresponding surface shape data is accurately specified, the self-position / angle correction unit can correct the position and angle of the moving body accurately.
上述した移動体は、障害物検出部が、障害物の床面と平行な方向における表面形状を相対座標系における線分として検出することが好ましい。また、移動体は、検出された線分の両端のみの位置の誤差に基づいて、障害物検出部で検出された表面形状とマッチング部で特定された表面形状データとのずれの誤差を算出するずれ誤差算出部をさらに有していることが好ましい。そして、自己位置・角度修正部は、ずれ誤差算出部によって算出された誤差に基づいて、移動体の位置及び角度を修正することが好ましい。 In the moving body described above, it is preferable that the obstacle detection unit detects a surface shape in a direction parallel to the floor surface of the obstacle as a line segment in the relative coordinate system. In addition, the moving body calculates an error of deviation between the surface shape detected by the obstacle detection unit and the surface shape data specified by the matching unit based on the position error of only the both ends of the detected line segment. It is preferable to further include a deviation error calculation unit. The self-position / angle correcting unit preferably corrects the position and angle of the moving body based on the error calculated by the deviation error calculating unit.
このような構成によれば、検出された線分の両端の位置の誤差のみからずれの誤差が算出されるので、表面形状全体の座標点の誤差からずれの誤差を算出する場合に比べて、移動体で行う計算量を低減することができる。これにより、より高速に移動体の位置と角度を特定することが可能となる。 According to such a configuration, since the error of the deviation is calculated only from the error of the position of both ends of the detected line segment, compared to the case of calculating the error of the deviation from the error of the coordinate point of the entire surface shape, It is possible to reduce the amount of calculation performed by the mobile object. This makes it possible to specify the position and angle of the moving body at a higher speed.
上述した移動体では、障害物検出部が、障害物の床面と平行な方向における表面形状を相対座標系における線分として検出することが好ましい。また、マッチング部は、検出された線分の両端の位置の誤差に基づいて、その両端の両方が同一の表面形状データ上に存在する確率を複数の表面形状データについて算出し、算出された確率が最も高い表面形状データを特定することが好ましい。 In the moving body described above, it is preferable that the obstacle detection unit detects a surface shape in a direction parallel to the floor surface of the obstacle as a line segment in the relative coordinate system. In addition, the matching unit calculates the probability that both ends of the line segment exist on the same surface shape data based on the error of the position of both ends of the detected line segment, and the calculated probability It is preferable to specify the surface shape data having the highest value.
このような構成によれば、検出された線分の両端の表面形状データ上への存在確率に基づいて対応する表面形状データが特定されるので、表面形状全体の座標点の存在確率を算出する場合に比べて、移動体で行う計算量を低減することができる。これにより、より高速に移動体の位置と角度を特定することが可能となる。 According to such a configuration, since the corresponding surface shape data is specified based on the existence probabilities on the surface shape data of both ends of the detected line segment, the existence probabilities of the coordinate points of the entire surface shape are calculated. Compared to the case, it is possible to reduce the amount of calculation performed by the moving object. This makes it possible to specify the position and angle of the moving body at a higher speed.
また、本明細書は、以下の移動体も提供する。この移動体は、障害物が存在する床面上を移動する。この移動体は、記憶部と、自己位置・角度算出部と、障害物検出部と、マッチング部と、自己位置・角度修正部を有する。記憶部は、床面と平行な方向に直線状に伸びる障害物の床面と平行な方向における表面形状をグローバル座標系により表す表面形状データを記憶する。自己位置・角度算出部は、移動体の位置及び角度をグローバル座標系により算出する。障害物検出部は、光線を走査して、その走査面上に存在する障害物の床面と平行な方向における表面形状を移動体に対する相対座標系により検出する。マッチング部は、障害物検出部で複数の表面形状が検出されたときに、自己位置・角度算出部で算出された移動体の位置及び角度並びにこれらの誤差と、障害物検出部で検出された複数の表面形状及びそれらの誤差に基づいて、障害物検出部で検出された複数の表面形状の中から記憶部に記憶されている表面形状データに対応する表面形状を特定する。自己位置・角度修正部は、マッチング部で特定された表面形状と記憶部に記憶されている表面形状データとのずれから、自己位置・角度算出部によって算出された位置及び角度を修正する自己位置・角度修正部を有する。 The present specification also provides the following moving objects. This moving body moves on the floor surface where the obstacle exists. The moving body includes a storage unit, a self-position / angle calculation unit, an obstacle detection unit, a matching unit, and a self-position / angle correction unit. A memory | storage part memorize | stores the surface shape data which represents the surface shape in the direction parallel to the floor surface of the obstruction which extends linearly in the direction parallel to a floor surface by a global coordinate system. The self-position / angle calculation unit calculates the position and angle of the moving body using the global coordinate system. The obstacle detection unit scans the light beam and detects the surface shape of the obstacle existing on the scanning plane in a direction parallel to the floor surface by using a relative coordinate system with respect to the moving object. When a plurality of surface shapes are detected by the obstacle detection unit, the matching unit detects the position and angle of the moving body calculated by the self-position / angle calculation unit and their errors, and is detected by the obstacle detection unit. Based on the plurality of surface shapes and their errors, the surface shape corresponding to the surface shape data stored in the storage unit is specified from among the plurality of surface shapes detected by the obstacle detection unit. The self-position / angle correction unit corrects the position and angle calculated by the self-position / angle calculation unit from the deviation between the surface shape specified by the matching unit and the surface shape data stored in the storage unit. -It has an angle correction part.
この移動体によれば、障害物検出部で複数の表面形状が検出されたときに、これらの表面形状の中から記憶部に記憶されている表面形状データに対応する表面形状を正確に特定することができる。したがって、正確に移動体の位置及び角度を修正することができる。 According to this moving body, when a plurality of surface shapes are detected by the obstacle detection unit, the surface shape corresponding to the surface shape data stored in the storage unit is accurately specified from these surface shapes. be able to. Therefore, the position and angle of the moving body can be corrected accurately.
以下に説明する実施例の好ましい特徴を整理する。
(特徴1)記憶部は、障害物の表面形状を表す複数の線分を示すデータを記憶している。
(特徴2)移動体は、障害物検出部で検出された表面形状を直線近似した線分を算出する線分算出部を有している。
(特徴3)マッチング部は、記憶部が記憶している複数の線分の中から、線分算出部で算出した線分(対象線分)に対応する線分を特定する。
(特徴4)自己位置・角度修正部は、対象線分とこれに対応する線分とのずれ、及び、当該ずれの誤差を算出し、当該ずれ及び当該ずれの誤差に基づいて、移動体の位置及び角度を修正する。
The preferred features of the embodiments described below are summarized.
(Feature 1) The storage unit stores data indicating a plurality of line segments representing the surface shape of the obstacle.
(Feature 2) The moving body includes a line segment calculation unit that calculates a line segment obtained by linear approximation of the surface shape detected by the obstacle detection unit.
(Feature 3) The matching unit identifies a line segment corresponding to the line segment (target line segment) calculated by the line segment calculation unit from among the plurality of line segments stored in the storage unit.
(Feature 4) The self-position / angle correction unit calculates a deviation between the target line segment and the corresponding line segment and the error of the deviation, and based on the deviation and the error of the deviation, Correct position and angle.
図1は、実施例に係る自律移動体10の概略斜視図を示している。自律移動体10は、2つの駆動輪12a、12bと従動輪12cを有しており、駆動輪12a、12bを駆動することで水平な床面上を移動する。従動輪12cは、自律移動体10の移動に伴って回転する。駆動輪12aと駆動輪12bを同じ回転数で駆動すると、自律移動体10は図1の矢印F1の向きに並進する。また、駆動輪12aと駆動輪12bを異なる回転数で駆動すると、自律移動体10は床面上をカーブしながら移動する。自律移動体10は、床面上における自己の位置を算出しながら、目的地まで自律的に移動する。
FIG. 1: has shown the schematic perspective view of the autonomous
図2は、自律移動体10の各部の機能ブロック図を示している。自律移動体10は、記憶装置20と、レーザレンジファインダ30と、サーボモータ40a、40bと、制御装置50を備えている。図1に示すように、レーザレンジファインダ30は、自律移動体10の上部に設置されている。記憶装置20、サーボモータ40a、40b、及び、制御装置50は、自律移動体10内に組み込まれている。
FIG. 2 shows a functional block diagram of each part of the autonomous
記憶装置20は、自律移動体10が移動する床面上に存在する障害物(壁等)の表面形状を示す環境マップを記憶している。環境マップは、水平面内における障害物の表面形状を線分により表したデータである。図3は、環境マップが表す線分群の一例を示している。図3では、線分100a〜100jが示されている。環境マップは、始点と終点の座標により各線分100a〜100hを規定している。始点と終点の座標は、床面を基準して水平方向に設定されたx軸とy軸による直交座標系(以下、グローバル座標系という)により定められている。例えば、図3の線分100aは、始点座標(xa1,ya1)と終点座標(xa2,ya2)により表される。線分100bは、始点座標(xb1,yb1)と終点座標(xb2,yb2)により表される。図3の例では、線分100aの終点座標(xa2,ya2)と線分100bの始点座標(xb1,yb1)は等しい。各線分の始点及び終点は、始点から終点に向かうベクトルの右側が障害物側(自律移動体10が進入できない領域)であり、ベクトルの左側が自律移動体10が移動可能な領域であることを示している。図3においては、線分100a〜100jに囲まれた領域が自律移動体10が移動可能な領域であり、その外側の領域が障害物(自律移動体10が進入できない領域)である。
The
レーザレンジファインダ30は、水平面内に光線を走査して、その走査面内に存在する障害物の表面形状を検出する。図4は、レーザレンジファインダ30を上側から示した平面図である。レーザレンジファインダ30は、最初に、自律移動体10の進行方向F1より角度w1(水平面内で見た時における角度)だけ右側にレーザ光を照射する。そして、照射したレーザ光の反射光を検出して角度w1の方向に存在する障害物までの距離r1(水平面内における距離)を検出する。すなわち、レーザ光が照射された箇所の自律移動体10に対する相対位置座標(r1,w1)を検出する。次に、開始角度w1よりも左側に微小角度ずれた角度w2の方向にレーザ光を照射し、レーザ光が照射された箇所までの距離r2を検出する。すなわち、レーザ光が照射された箇所の自律移動体10に対する相対位置座標(r2,w2)を検出する。レーザレンジファインダ30は、開始角度w1から終了角度wn(自律移動体10の進行方向F1より左側の角度)まで一定の角度間隔で同様の処理を繰り返し、レーザが照射された箇所の自律移動体10に対する相対位置座標(r1,w1),(r2,w2),(r3,w3)・・・(rn,wn)を検出する。レーザレンジファインダ30により検出される座標点群(r1,w1)〜(rn,wn)は、障害物の表面形状を表す。レーザレンジファインダ30が検出した障害物の表面形状は、制御装置50に入力される。
The
サーボモータ40aは、サーボ制御回路42a、モータ44a、エンコーダ46aを有している。モータ44aは、駆動輪12aを回転させる。サーボ制御回路42aには、制御装置50から制御指令値が入力される。サーボ制御回路42aは、入力された制御指令値にしたがってモータ44aを駆動させる。したがって、駆動輪12aが、制御指令値に従って回転する。エンコーダ46aは、モータ44a(すなわち、駆動輪12a)の回転数を検出する。エンコーダ46aが検出する回転数は、制御装置50に入力される。
サーボモータ40bは、サーボ制御回路42b、モータ44b、エンコーダ46bを有している。モータ44bは、駆動輪12bを回転させる。サーボ制御回路42bには、制御装置50から制御指令値が入力される。サーボ制御回路42bは、入力された制御指令値にしたがってモータ44bを駆動させる。したがって、駆動輪12bが、制御指令値に従って回転する。エンコーダ46bは、モータ44b(すなわち、駆動輪12b)の回転数を検出する。エンコーダ46bが検出する回転数は、制御装置50に入力される。
The
The
制御装置50は、記憶装置20、レーザレンジファインダ30、及び、サーボモータ40a、40bと電気的に接続されている。制御装置50は、記憶装置20からデータを読み出すことができ、また、記憶装置20にデータを記憶させることができる。制御装置50は、後述する位置と角度の算出処理によって、自律移動体10の位置(水平面内における自律移動体10の位置)と角度(水平面内における自律移動体10の進行方向F1の向き)を算出する。なお、自律移動体10の位置は、上述したグローバル座標系のxy座標によって表され、自律移動体10の角度は、図5に示すように、グローバル座標系のx軸に対する自律移動体10の進行方向F1の角度φにより表される。以下では、自律移動体10の位置と角度を合わせて、位置情報という場合がある。制御装置50は、算出した自律移動体10の位置情報に基づいて、サーボモータ40a、40bに制御指令値を入力する。制御装置50が、自律移動体10の位置情報を算出し、その位置情報に基づいてサーボモータ40a、40bに制御指令値を入力する処理を繰り返すことで、自律移動体10が目標地点に向かって自律的に移動する。
The
次に、制御装置50が実行する処理について詳細に説明する。図6のフローチャートは、制御装置50が実行する処理を示している。図6の処理の開始時点において、制御装置50に、自律移動体10の初期位置情報(x0,y0,φ0)(処理の開示時点における自律移動体10の位置と角度)と、目標地点の位置が入力される。制御装置50は、図6に示すステップS2〜S16を一定の周期で繰り返して、自律移動体10の位置情報を算出しながら移動する。
Next, processing executed by the
ステップS2では、制御装置50は、現在の自律移動体10の位置情報と、目標地点の位置と、環境マップ(障害物の位置)に基づいて、自律移動体10の今後の経路を算出する。なお、最初のステップS2では、制御装置50は、開始時に入力された初期位置情報(x0,y0,φ0)を現在の位置情報として経路を算出する。2回目以降のステップS2では、制御装置50は、直前の周期のステップS16で修正された自律移動体10の位置情報Xk−1|k−1(=xk−1|k−1,yk−1|k−1,φk−1|k−1)を現在の位置情報として経路を算出する。経路を算出したら、制御装置50は、算出した経路に沿って自律移動体10が移動するように、サーボモータ40a、40bに制御指令値を入力する。サーボモータ40a、40bは、次のステップS2が実行されるまで、直前のステップS2で入力された制御指令値にしたがって駆動輪12a、12bを駆動する。これによって、自律移動体10が移動する。また、駆動輪12a、12bが駆動すると、エンコーダ46a、46bによって駆動輪12a、12bの回転数が検出される。
In step S <b> 2, the
ステップS2を実行してから所定時間経過後に、ステップS4〜S16の処理が実行される。これによって、現在の自律移動体10の位置情報が算出される。ステップS4〜S16の処理は、拡張カルマンフィルタに基づいて行われる。
Steps S4 to S16 are executed after a predetermined time has elapsed since step S2. Thereby, the current position information of the autonomous
ステップS4では、制御装置50は、オドメトリによって自律移動体10の現在の位置情報Xk|k−1(=(xk|k−1,yk|k−1,φk|k−1))を算出する。具体的には、制御装置50は、エンコーダ46a、46bが検出する駆動輪12a、12bの回転数と、直前の周期のステップS16で修正された自律移動体10の位置情報Xk−1|k−1(過去の位置情報)に基づいて、自律移動体10の現在の位置情報Xk|k−1を算出する。
また、ステップS4では、位置情報Xk|k−1の算出と同時に、位置情報Xk|k−1の誤差ΣRを算出する。なお、誤差ΣRは、位置(xk|k−1,yk|k−1)と角度φk|k−1に生じうる誤差を分散(vxk|k−1,vyk|k−1,vφk|k−1)により表したものである。誤差ΣRは、文献「S. Thrun, W.burgard, D. Fox, "Probabilistic robotics", The MIT Press, 2005」に記載の技術に従って算出することができる。すなわち、誤差ΣRは、過去に自律移動体10が移動した経路に基づいて算出される。x方向への移動距離(各周期におけるx方向の移動距離の絶対値を積算した値)が大きいほど誤差vxk|k−1が大きく算出され、y方向への移動距離が大きいほど誤差vyk|k−1が大きく算出され、角度φの変化量(各周期における角度φの変化量の絶対値を積算した値)が大きいほど誤差vφk|k−1が大きく算出される。なお、誤差ΣRは、上述した他の方法により算出してもよい。また、誤差ΣRが経時的に変化しない場合には、誤差ΣRが記憶装置20に記憶されていてもよい。
In step S4, the
In step S4, the position information X k | k-1 calculated at the same time, the position information X k | calculating an error sigma R of k-1. Incidentally, the error sigma R is located (x k | k-1, y k | k-1) and the angle phi k | dispersing errors that may occur k-1 (vx k | k -1, vy k | k- 1 , vφ k | k−1 ). Error sigma R can be calculated according to the techniques described in the literature "S. Thrun, W.burgard, D. Fox, " Probabilistic robotics ", The MIT Press, 2005 ". That is, the error sigma R is calculated based on the route of the autonomous moving
ステップS6では、制御装置50は、レーザレンジファインダ30により空間内に光線を走査して、走査範囲内に存在する障害物の表面形状を検出する。上述したように、レーザレンジファインダ30は、障害物の表面形状を、自律移動体10に対する相対座標系による座標点群(r1,w1),(r2,w2),(r3,w3)・・・(rn,wn)として検出する。
In step S <b> 6, the
ステップS8では、制御装置50は、ステップS6でレーザレンジファインダ30により検出された座標点群を直線近似することによって線分を算出する。ステップS8の線分の算出処理は、例えば、文献「J. Xavier, "Rast Line, Arc/Circle and Leg Detection from Laser Scan Data in Player Driver", ICRA, 2005」に従って実行することができる。具体的には、座標点群(r1,w1)〜(rn,wn)を直線近似することで、図7に示すように、線分120を算出する。この線分は、自律移動体10を基準として水平方向に設定されたs軸とt軸による直交座標系(以下では、ローカル座標系という)により始点の座標(ss,ts)と終点の座標(se,te)を規定することにより表される。なお、始点(ss,ts)は、レーザレンジファインダ30が光線の走査を開始する側(座標点(r1,w1)側)の線分の端部を示しており、終点(se,te)はその反対側(座標点(rn,wn)側)の線分の端部を示している。次に、制御装置50は、相対座標系で表されている線分の始点の座標(ss,ts)と終点の座標(se,te)の座標を、グローバル座標系上の座標(xs,ys),(xe,ye)に座標変換する。この座標変換は、ステップS4で算出された自律移動体10の位置情報Xk|k−1に基づいて行われる。以下では、ステップS8で算出した線分を対象線分という。
In step S8, the
ステップS10では、制御装置50は、記憶装置20が記憶する環境マップにより規定されている線分の中から、対象線分に対応する線分を特定する。対象線分に対応する線分の特定処理は、図8に示すフローチャートに従って実行される。
In step S <b> 10, the
ステップS40では、制御装置50は、対象線分の始点の位置の誤差Σ1と終点の位置の誤差Σ2を算出する。誤差Σ1は、対象線分の始点の位置(xs,ys)に生じうる誤差を分散(vxs,vys)で表したものであり、誤差Σ2は、対象線分の終点の位置(xe,ye)に生じうる誤差を分散(vxe,vye)で表したものである。上述したように、対象線分は、レーザレンジファインダ30により検出される座標点群と、自律移動体10の位置情報Xk|k−1に基づいて算出される。このため、レーザレンジファインダ30の測定誤差と、自律移動体10の位置情報Xk|k−1の誤差ΣRとの影響によって、対象線分の始点と終点の位置に誤差が生じる。このため、制御装置50は、レーザレンジファインダ30の測定誤差と、位置情報Xk|k−1の誤差ΣRに基づいて、対象線分の始点の誤差Σ1と終点の誤差Σ2を算出する。具体的には、制御装置50は、以下の数式によって、これらの誤差を算出する。
Σ1=J1×ΣR×J1 T+ΣO
Σ2=J2×ΣR×J2 T+ΣO
ここで、ΣOは、レーザレンジファインダ30の測定誤差に基づいて生じる始点及び終点の位置の誤差を、x座標及びy座標の分散で表したものである。本実施例では、誤差ΣOは固定値とみなせるため、誤差ΣOが予め記憶装置20に記憶されている。J1は、自律移動体10の位置情報(x,y,φ)に関する線分の始点のヤコビ行列であり、J1 Tはヤコビ行列J1の転置行列である。J2は、自律移動体10の位置情報(x,y,φ)に関する線分の終点のヤコビ行列であり、J2 Tはヤコビ行列J2の転置行列である。ヤコビ行列J1,J2は以下の数1により表される。
Σ 1 = J 1 × Σ R × J 1 T + Σ O
Σ 2 = J 2 × Σ R × J 2 T + Σ O
Here, sigma O is for the starting point and the error of the position of the end point that occurs based on the measurement error of the
ステップS42では、始点の位置(xs,ys)とその誤差Σ1に基づいて、始点の位置に関する確率密度関数を算出する。また、終点の位置(xe,ye)とその誤差Σ2に基づいて、終点の位置に関する確率密度関数を算出する。始点の位置の確率密度関数は、始点が存在している確率をx座標とy座標の関数として表したものである。xy座標の範囲で確率密度関数を積分することで、その座標範囲内に始点が存在する確率を算出することができる。終点の確率密度関数も、始点の確率密度関数と同様に、終点が存在している確率をx座標とy座標の関数として表したものである。 In step S42, the position of the start point (xs, ys) and on the basis of the error sigma 1, calculates the probability density function for the position of the starting point. The position of the end point (xe, ye) and on the basis of the error sigma 2, calculates the probability density function for the position of the end point. The probability density function at the position of the starting point represents the probability that the starting point exists as a function of the x coordinate and the y coordinate. By integrating the probability density function in the xy coordinate range, the probability that the start point exists in the coordinate range can be calculated. The probability density function at the end point also represents the probability that the end point exists as a function of the x coordinate and the y coordinate, like the probability density function at the start point.
ステップS44〜S50では、ステップS42で算出した確率密度関数に基づいて、環境マップ中の複数の線分の中から、対象線分に対応する線分を特定する。 In steps S44 to S50, a line segment corresponding to the target line segment is specified from a plurality of line segments in the environment map based on the probability density function calculated in step S42.
ステップS44では、制御装置50は、対象線分の向き(始点から終点に向かう向き)と同じ向きを有する線分を環境マップから抽出する。向きが等しいか否かは、対象線分を示すベクトル(始点から終点に向かうベクトル)と環境マップ中の各線分を示すベクトル(始点から終点に向かうベクトル)との内積がゼロより大きいか否かにより判定することで行う。すなわち、対象線分のベクトルに対する角度が90度未満のベクトルを有する線分が、同じ向きを有する線分として特定される。上述したように、環境マップ中の線分の向きに対して右側の領域は障害物を示している。また、対象線分の向きはレーザレンジファインダ30によるスキャン方向を示している。したがって、対象線分の向きとこれに対応する環境マップ中の線分の向きが逆となることは、レーザレンジファインダ30が障害物の内部に存在することとなり、ありえない。したがって、ステップS44で対象線分と向きが等しい線分を抽出し、ステップS46の処理を抽出した線分に対してのみ行う。このように、向きが同じとなる線分のみを抽出してステップS46を実行することで、制御装置50の負荷が軽減される。
In step S44, the
ステップS46では、制御装置50は、ステップS44で抽出した線分のそれぞれに対して、その線分上に対象線分の始点と終点の両方が存在する確率を算出する。具体的には、抽出された線分の夫々に対して、以下の処理が実行される。
最初に、抽出された線分上の点を一定間隔で抽出する。なお、抽出された線分の始点と終点については、隣の点との間隔にかかわらず抽出する。次に、図9に示すように、抽出した各点(図9では点Pとして示されている)を中心としてその周囲に対角線の長さが前記間隔と等しい正方形の領域Qを設定する。次に、抽出した各点Pの座標をステップS42で算出した始点についての確率密度関数に代入することで、点P毎に始点が点P上に存在する確立を算出する。次に、点P上に始点が存在する確率に、点Pに対応する正方形の領域Qの面積を乗算して、領域Q毎に領域Q内に始点が存在する確率を算出する。次に、線分に対して設定された全ての領域Qについての始点の存在確率の総和を算出する。算出された総和は、その線分上に始点が存在する確率として近似することができる。
次に、抽出した各点Pの座標をステップS42で算出した終点についての確率密度関数に代入することで、抽出した点P毎に終点が点P上に存在する確立を算出する。次に、点P上に終点が存在する確率に、点Pに対応する正方形の領域Qの面積を乗算して、領域Q内に終点が存在する確率を算出する。次に、線分に対して設定された全ての領域Qについての終点の存在確率の総和を算出する。算出された総和は、その線分上に終点が存在する確率として近似することができる。
最後に、始点の存在確率と終点の存在確率とを乗算する。これによって、その線分上(より具体的には、その線分から所定の範囲内)に対象線分の始点と終端の両方が存在する確率が算出される。
In step S46, the
First, the points on the extracted line segment are extracted at regular intervals. Note that the extracted start point and end point of the line segment are extracted regardless of the interval between adjacent points. Next, as shown in FIG. 9, a square area Q having a diagonal length equal to the interval is set around each extracted point (shown as a point P in FIG. 9). Next, the probability that the starting point exists on the point P is calculated for each point P by substituting the coordinates of each extracted point P into the probability density function for the starting point calculated in step S42. Next, the probability that the start point exists on the point P is multiplied by the area of the square region Q corresponding to the point P to calculate the probability that the start point exists in the region Q for each region Q. Next, the sum of the existence probabilities of the start points for all the regions Q set for the line segment is calculated. The calculated sum can be approximated as the probability that the starting point exists on the line segment.
Next, the probability that the end point exists on the point P is calculated for each extracted point P by substituting the coordinates of each extracted point P into the probability density function for the end point calculated in step S42. Next, the probability that an end point exists in the region Q is calculated by multiplying the probability that the end point exists on the point P by the area of the square region Q corresponding to the point P. Next, the total sum of the existence probabilities of the end points for all the regions Q set for the line segment is calculated. The calculated sum can be approximated as a probability that an end point exists on the line segment.
Finally, the start point existence probability and the end point existence probability are multiplied. Accordingly, the probability that both the start point and the end point of the target line segment exist on the line segment (more specifically, within a predetermined range from the line segment) is calculated.
ステップS48では、制御装置50は、ステップS46で算出した確率の中で最大値を特定する。そして、特定した最大値が、閾値を超えているか否かを判定する。特定した最大値が閾値を超えていない場合には、制御装置50はNULLデータを報告し、図8の処理を中止する。NULLデータを報告した場合には、図6のステップS12、14は実行されず、次のステップS2は、修正されていない位置情報Xk|k−1(ステップS4で算出された位置情報)に基づいて実行される。特定した最大値が閾値を超えている場合には、ステップS50において、その最大値を有する線分を、対象線分に対応する線分として特定する。以上により、図8の処理(すなわち、図6のステップS10)が終了する。
In step S48, the
以上に説明したように、ステップS42では、レーザレンジファインダ30の測定誤差ΣOだけでなく、自律移動体10の位置情報Xk|k−1の誤差ΣRも考慮して、確率分布関数を算出する。そして、その確率分布関数に基づいて、対象線分に対応する線分を環境マップ中から特定する。このように、時々刻々と変化する誤差ΣRを考慮することで、より正確に対象線分に対応する線分を特定することができる。例えば、環境マップ中の線分100d〜100fと対象線分120が図10に示す位置関係になった場合を考えると、自律移動体10の位置情報の誤差がx方向に大きければ、対応する線分として線分100fが特定される。自律移動体10の位置情報の誤差がy方向に大きければ、対応する線分として線分100dが特定される。このように、自律移動体10の位置情報の誤差を考慮することで、正確な対応付けを行うことが可能となる。
As described above, in step S42, not only the measurement error sigma O of the
図6のステップS12では、制御装置50は、対象線分と、対応する線分の夫々に対して、自律移動体10に対する相対位置情報を算出する。これらの線分の相対位置情報は、自律移動体10までの距離と自律移動体10の進行方向F1に対する角度により表される。例えば、図11に示すように、対象線分120とこれに対応する線分100fが特定されている場合には、対象線分120の相対位置情報は、自律移動体10までの距離ra(対象線分の垂線方向における距離)と、自律移動体10の進行方向F1に対する角度wa(対象線分の垂線と進行方向F1の間の角度)により算出される。また、対応する線分100fの相対位置情報は、自律移動体10までの距離rb(対応する線分の垂線方向における距離)と、自律移動体10の進行方向F1に対する角度wb(対応する線分の垂線と進行方向F1の間の角度)により算出される。次に、制御装置50は、対象線分と対応する線分との相対位置情報のずれ(dr,dw)を算出する。長さのずれdrは、距離raから距離rbを減算した値であり、角度のずれdwは、角度waから角度wbを減算した値である。
In step S <b> 12 of FIG. 6, the
ステップS14では、制御装置50は、上述したずれ(dr,dw)の誤差Σ3(=(vdr,vdw))を算出する。なお、誤差vdrは距離のずれdrを算出する際に生じうる誤差を表す分散であり、誤差vdwは角度のずれdwを算出する際に生じうる誤差を表す分散である。対応する線分の位置情報は環境マップで規定されたものであるので、上述したずれの誤差Σ3は、対象線分の相対位置情報(ra,wa)の検出誤差と等しい。
したがって、距離の誤差vdrは、対象線分の始点及び終点の誤差ΣOを以下の計算式により座標変換することで算出される。
vdr=J3×ΣO×J3 T
ここで、J3は、対象線分の始点と終点の位置に関する距離raのヤコビ行列であり、J3 Tはヤコビ行列J3の転置行列である。ヤコビ行列J3は以下の数2により表される。
vdw=J4×ΣO×J4 T
ここで、J4は、対象線分の始点と終点の位置に関する角度waのヤコビ行列であり、J4 Tはヤコビ行列J4の転置行列である。ヤコビ行列J4は以下の数3により表される。
Therefore, the error vdr distances are calculated by coordinate transformation by the following equation error sigma O of start and end points of the target segment.
vdr = J 3 × Σ O × J 3 T
Here, J 3 is a Jacobian matrix of the distance ra regarding the position of the start point and the end point of the target line segment, and J 3 T is a transposed matrix of the Jacobian matrix J 3 . The Jacobian matrix J 3 is represented by the following formula 2.
vdw = J 4 × Σ O × J 4 T
Here, J 4 is a Jacobian matrix of the angle wa regarding the position of the start point and the end point of the target line segment, and J 4 T is a transposed matrix of the Jacobian matrix J 4 . The Jacobian matrix J 4 is expressed by the following Equation 3.
ステップS16では、制御装置50は、ステップS12で算出した相対位置のずれ(dr,dw)と、ステップS14で算出したずれの誤差Σ3(=(vdr,vdw))に基づいて、ステップS4で算出した自律移動体10の位置情報Xk|k−1(=(xk|k−1,yk|k−1,φk|k−1)を修正し、修正後の位置情報Xk|k(=(xk|k,yk|k,φk|k)を算出する。自律移動体10の位置情報の修正は、一般的なEKFの手法により行われる。例えば、文献「S. Thrun, W.burgard, D. Fox, "Probabilistic robotics", The MIT Press, 2005」の手法により自律移動体10の位置情報を修正することができる。このように位置を修正することで、より正確に自律移動体10の位置情報を特定することができる。
In step S16, the
その後、制御装置50は、再度ステップS2からの処理を実行する。ステップS2では、修正後の正確な位置情報に基づいて経路が算出される。このように、位置情報の算出(ステップS4)、レーザレンジファインダ30の検出値に基づく位置情報の修正(ステップS6〜S16)、修正後の位置情報に基づく制御(ステップS2)が繰り返し行われることで、自律移動体10が目標値まで正確に移動することができる。
Then, the
以上に説明したように、実施例の自律移動体10では、レーザレンジファインダ30の検出誤差だけでなく、自律移動体10の位置情報の誤差をも考慮して、対象線分に対応する線分を環境マップ中から特定する。このため、対象線分に対して誤った線分が対応付けられることが防止される。これにより、より正確に位置情報を修正することができる。
As described above, in the autonomous
また、上述した自律移動体10では、ステップS14において対象線分とこれに対応する線分との相対位置のずれの誤差を算出するときに、対象線分の始点と終点の位置の誤差のみを考慮した。このように、レーザレンジファインダ30が検出する各座標点の全ての検出誤差を考慮するのではなく、対象線分の両端点の位置の検出誤差のみを考慮することで、相対位置のずれの誤差の算出に要する演算量を低減することができる。これにより、より短い周期で図6のフローチャートを実行可能となり、より正確に自律移動体10を移動させることが可能となる。
Further, in the autonomous
また、上述した自律移動体10では、ステップS10で対象線分に対応する線分を特定するときに、対象線分の両端点の存在確率のみを考慮した。このように、レーザレンジファインダ30が検出する各座標点の全ての存在確率を考慮するのではなく、対象線分の両端点の存在確率のみを考慮することで、対象線分に対応する線分の特定処理に要する演算量を低減することができる。これにより、より短い周期で図6のフローチャートを実行可能となり、より正確に自律移動体10を移動させることが可能となる。
In the autonomous
なお、上述した実施例では自律移動体10について説明したが、本発明は自律的に移動しない移動体に適用してもよい。例えば、移動体を遠隔操縦するときに、本発明により移動体の位置を特定してもよい。
In addition, although the autonomous
上述した実施例では、移動領域内に他の移動体が存在しなかったが、移動領域内に他の移動体が存在してもよい。この場合は、レーザレンジファインダによって壁の表面形状と他の移動体の表面形状が検出される。このため、レーザレンジファインダによって検出された座標点群から、壁の表面形状に相当する座標点群を特定し、その座標点群に対して上述した処理を実行すればよい。 In the above-described embodiment, there is no other moving body in the moving area, but another moving body may exist in the moving area. In this case, the surface shape of the wall and the surface shape of another moving body are detected by the laser range finder. For this reason, a coordinate point group corresponding to the surface shape of the wall is specified from the coordinate point group detected by the laser range finder, and the above-described processing may be executed on the coordinate point group.
また、上述した実施例では、自律移動体の位置と角度の誤差を文献「S. Thrun, W.burgard, D. Fox, "Probabilistic robotics", The MIT Press, 2005」に記載の技術によって算出したが、位置と角度の誤差の算出には種々の方法を用いることができる。例えば、自律移動体の位置と角度の誤差を、自律移動体の運動状態を考慮して算出することができる。例えば、自律移動体の位置をGPSセンサで検出する場合において、自律移動体の速度がx方向に大きく、y方向に小さい場合は、GPSセンサの検出誤差を、x方向の誤差が大きく、y方向の誤差が小さくなるように算出する。自律移動体の運動状態を考慮することで、自律移動体の位置と角度の誤差を適切に算出することができる。 In the above-described embodiment, the position and angle error of the autonomous mobile body was calculated by the technique described in the document “S. Thrun, W. burgard, D. Fox,“ Probabilistic robotics ”, The MIT Press, 2005”. However, various methods can be used to calculate the position and angle errors. For example, the error of the position and angle of the autonomous mobile body can be calculated in consideration of the motion state of the autonomous mobile body. For example, when the position of the autonomous mobile body is detected by a GPS sensor, if the speed of the autonomous mobile body is large in the x direction and small in the y direction, the detection error of the GPS sensor is large and the error in the x direction is large. Is calculated so as to reduce the error. By considering the motion state of the autonomous mobile body, the position and angle errors of the autonomous mobile body can be appropriately calculated.
また、上述した実施例では、レーザレンジファインダ30の検出結果から得られる線分が1つであり、この線分に対応する線分を環境マップの複数の線分の中から特定した。しかしながら、レーザレンジファインダ30の検出結果から得られる線分が複数となる場合もある。また、環境マップ中の線分のうちの一部のみが自己位置・角度の修正の基準(すなわち、ランドマーク)として使用される場合がある。例えば、図12に示すようにレーザレンジファインダ30の検出結果から2つの線分130、132が得られており、線分100xだけが自己位置・角度の修正の基準とされている場合を考える。例えば、線分100xが示す壁面の前に別の障害物が置かれていたり、線分100xが示す壁面に設けられた扉が開放されている場合等に、図12に示すように1つの線分が検出されるはずの位置で2つの線分が検出される場合がある。この場合にも、レーザレンジファインダ30の検出誤差だけでなく、自律移動体10の位置情報の誤差をも考慮して、検出された線分130、132の中から線分100xに対応する線分を特定することができる。対応する線分の特定は、上述した実施例と同様の演算により行うことができる。このように、検出される線分が1つでありランドマークとなる線分が複数である場合だけでなく、検出される線分が複数でありランドマークとなる線分が1つである場合にも、誤差を考慮して線分の対応関係を特定することができる。また、検出される線分が複数でありランドマークとなる線分が複数である場合にも、同様にした誤差を考慮して線分の対応関係を特定することができる。
Further, in the above-described embodiment, there is one line segment obtained from the detection result of the
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above.
The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.
10:自律移動体
20:記憶装置
30:レーザレンジファインダ
40a:サーボモータ
40b:サーボモータ
42a:サーボ制御回路
42b:サーボ制御回路
44a:モータ
44b:モータ
46a:エンコーダ
46b:エンコーダ
50:制御装置
10: Autonomous moving body 20: Storage device 30:
Claims (4)
床面と平行な方向に直線状に伸びる障害物の床面と平行な方向における表面形状をグローバル座標系により表す表面形状データを複数個記憶する記憶部と、
移動体の位置及び角度をグローバル座標系により算出する自己位置・角度算出部と、
光線を走査して、その走査面上に存在する障害物の床面と平行な方向における表面形状を移動体に対する相対座標系により検出する障害物検出部と、
自己位置・角度算出部で算出された移動体の位置及び角度並びにこれらの誤差と、障害物検出部で検出された表面形状及びその誤差に基づいて、記憶部に記憶されている複数の表面形状データの中から障害物検出部で検出された表面形状に対応する表面形状データを特定するマッチング部と、
障害物検出部で検出された表面形状とマッチング部で特定された表面形状データとのずれから、自己位置・角度算出部によって算出された位置及び角度を修正する自己位置・角度修正部、
を有することを特徴とする移動体。 A moving object that moves on the floor where an obstacle exists,
A storage unit for storing a plurality of surface shape data representing a surface shape in a direction parallel to the floor surface of the obstacle extending linearly in a direction parallel to the floor surface by a global coordinate system;
A self-position / angle calculation unit that calculates the position and angle of the moving object using a global coordinate system;
An obstacle detection unit that scans the light beam and detects a surface shape in a direction parallel to the floor surface of the obstacle present on the scanning surface by a relative coordinate system with respect to the moving body;
A plurality of surface shapes stored in the storage unit based on the position and angle of the moving body calculated by the self-position / angle calculation unit and their errors, the surface shape detected by the obstacle detection unit, and the errors. A matching unit for identifying surface shape data corresponding to the surface shape detected by the obstacle detection unit from the data;
A self-position / angle correction unit that corrects the position and angle calculated by the self-position / angle calculation unit from the deviation between the surface shape data detected by the obstacle detection unit and the surface shape data specified by the matching unit,
A moving object comprising:
検出された線分の両端の位置の誤差のみに基づいて、障害物検出部で検出された表面形状とマッチング部で特定された表面形状データとのずれの誤差を算出するずれ誤差算出部をさらに有しており、
自己位置・角度修正部は、ずれ誤差算出部によって算出された誤差に基づいて、移動体の位置及び角度を修正する、
ことを特徴とする請求項1に記載の移動体。 The obstacle detection unit detects the surface shape in the direction parallel to the floor surface of the obstacle as a line segment in the relative coordinate system,
A deviation error calculation unit that calculates an error in deviation between the surface shape detected by the obstacle detection unit and the surface shape data specified by the matching unit based only on the position error of both ends of the detected line segment; Have
The self-position / angle correction unit corrects the position and angle of the moving body based on the error calculated by the deviation error calculation unit.
The moving body according to claim 1.
マッチング部は、障害物検出部で検出された線分の両端の位置の誤差に基づいて、その両端の両方が同一の表面形状データ上に存在する確率を複数の表面形状データについて算出し、算出された確率が最も高い表面形状データを特定することを特徴とする請求項1または2に記載の移動体。 The obstacle detection unit detects the surface shape in the direction parallel to the floor surface of the obstacle as a line segment in the relative coordinate system,
The matching unit calculates the probability that both ends of the line segment exist on the same surface shape data based on the error in the position of both ends of the line segment detected by the obstacle detection unit, and calculates the plurality of surface shape data. The moving body according to claim 1 or 2, wherein surface shape data having the highest probability of being detected is specified.
床面と平行な方向に直線状に伸びる障害物の床面と平行な方向における表面形状をグローバル座標系により表す表面形状データを記憶する記憶部と、
移動体の位置及び角度をグローバル座標系により算出する自己位置・角度算出部と、
光線を走査して、その走査面上に存在する障害物の床面と平行な方向における表面形状を移動体に対する相対座標系により検出する障害物検出部と、
障害物検出部で複数の表面形状が検出されたときに、自己位置・角度算出部で算出された移動体の位置及び角度並びにこれらの誤差と、障害物検出部で検出された複数の表面形状及びそれらの誤差に基づいて、障害物検出部で検出された複数の表面形状の中から記憶部に記憶されている表面形状データに対応する表面形状を特定するマッチング部と、
マッチング部で特定された表面形状と記憶部に記憶されている表面形状データとのずれから、自己位置・角度算出部によって算出された位置及び角度を修正する自己位置・角度修正部、
を有することを特徴とする移動体。 A moving object that moves on the floor where an obstacle exists,
A storage unit for storing surface shape data representing, by a global coordinate system, a surface shape in a direction parallel to the floor surface of an obstacle extending linearly in a direction parallel to the floor surface;
A self-position / angle calculation unit that calculates the position and angle of the moving object using a global coordinate system;
An obstacle detection unit that scans the light beam and detects a surface shape in a direction parallel to the floor surface of the obstacle present on the scanning surface by a relative coordinate system with respect to the moving body;
When a plurality of surface shapes are detected by the obstacle detection unit, the position and angle of the moving object calculated by the self-position / angle calculation unit and their errors, and the plurality of surface shapes detected by the obstacle detection unit And a matching unit for identifying a surface shape corresponding to the surface shape data stored in the storage unit from the plurality of surface shapes detected by the obstacle detection unit based on the error, and
A self-position / angle correction unit that corrects the position and angle calculated by the self-position / angle calculation unit from the deviation between the surface shape specified by the matching unit and the surface shape data stored in the storage unit,
A moving object comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010121452A JP5477167B2 (en) | 2010-05-27 | 2010-05-27 | Moving body |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010121452A JP5477167B2 (en) | 2010-05-27 | 2010-05-27 | Moving body |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011248648A JP2011248648A (en) | 2011-12-08 |
JP5477167B2 true JP5477167B2 (en) | 2014-04-23 |
Family
ID=45413827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010121452A Expired - Fee Related JP5477167B2 (en) | 2010-05-27 | 2010-05-27 | Moving body |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5477167B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014191689A (en) * | 2013-03-28 | 2014-10-06 | Hitachi Industrial Equipment Systems Co Ltd | Traveling object attached with position detection device for outputting control command to travel control means of traveling object and position detection device |
JP6233706B2 (en) | 2013-04-02 | 2017-11-22 | パナソニックIpマネジメント株式会社 | Autonomous mobile device and self-position estimation method of autonomous mobile device |
JP6745111B2 (en) * | 2016-01-27 | 2020-08-26 | 株式会社ダイヘン | Moving body |
JP2017152051A (en) * | 2017-06-07 | 2017-08-31 | 株式会社日立産機システム | Traveling object attached with position detection device for outputting control command to travel control means of traveling object, and position detection device of the same |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63213005A (en) * | 1987-03-02 | 1988-09-05 | Hitachi Ltd | Guiding method for mobile object |
JP3968429B2 (en) * | 2003-01-16 | 2007-08-29 | 独立行政法人産業技術総合研究所 | Position information processing device |
JP4148276B2 (en) * | 2006-05-09 | 2008-09-10 | ソニー株式会社 | POSITION ESTIMATION DEVICE, POSITION ESTIMATION METHOD, AND PROGRAM RECORDING MEDIUM |
JP2008250906A (en) * | 2007-03-30 | 2008-10-16 | Sogo Keibi Hosho Co Ltd | Mobile robot, and self-location correction method and program |
JP5032953B2 (en) * | 2007-11-26 | 2012-09-26 | パナソニック株式会社 | Self-position recognition system |
-
2010
- 2010-05-27 JP JP2010121452A patent/JP5477167B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011248648A (en) | 2011-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vasiljević et al. | High-accuracy vehicle localization for autonomous warehousing | |
JP6492024B2 (en) | Moving body | |
US9244463B2 (en) | Automated guided vehicle and method of operating an automated guided vehicle | |
JP5018458B2 (en) | Coordinate correction method, coordinate correction program, and autonomous mobile robot | |
EP2821875A2 (en) | Route planning method, route planning unit, and autonomous mobile device | |
Sprunk et al. | Lidar-based teach-and-repeat of mobile robot trajectories | |
Rusdinar et al. | Implementation of real-time positioning system using extended Kalman filter and artificial landmark on ceiling | |
JP5477167B2 (en) | Moving body | |
Hoang et al. | Multi-sensor perceptual system for mobile robot and sensor fusion-based localization | |
Seelinger et al. | Automatic pallet engagment by a vision guided forklift | |
Lee et al. | A reliable position estimation method of the service robot by map matching | |
Behrje et al. | An autonomous forklift with 3d time-of-flight camera-based localization and navigation | |
Hasegawa et al. | Experimental verification of path planning with SLAM | |
Saeedi et al. | An autonomous excavator with vision-based track-slippage control | |
Rasmussen et al. | Perception and control strategies for driving utility vehicles with a humanoid robot | |
JP2010112836A (en) | Self-position identification device and mobile robot provided with same | |
Faisal et al. | Robot localization using extended kalman filter with infrared sensor | |
Hoang et al. | Development of an EKF-based localization algorithm using compass sensor and LRF | |
Piccinelli et al. | Hybrid motion planner integrating global voronoi diagrams and local velocity obstacle method | |
Jae-Bok | Mobile robot localization using range sensors: Consecutive scanning and cooperative scanning | |
Shioya et al. | Minimal Autonomous Mover-MG-11 for Tsukuba Challenge– | |
Salas et al. | Collaborative object search using heterogeneous mobile robots | |
Yap et al. | Landmark-based automated guided vehicle localization algorithm for warehouse application | |
KR102564663B1 (en) | Coordinates recognition apparatus of automatic guided vehicle and method thereof | |
Schueftan et al. | Indoor mapping using SLAM for applications in Flexible Manufacturing Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130211 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131218 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140127 |
|
LAPS | Cancellation because of no payment of annual fees |