JP5477167B2 - Moving body - Google Patents

Moving body Download PDF

Info

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
Application number
JP2010121452A
Other languages
Japanese (ja)
Other versions
JP2011248648A (en
Inventor
和也 下岡
竜介 但馬
誠悟 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Original Assignee
Toyota Central R&D Labs Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP2010121452A priority Critical patent/JP5477167B2/en
Publication of JP2011248648A publication Critical patent/JP2011248648A/en
Application granted granted Critical
Publication of JP5477167B2 publication Critical patent/JP5477167B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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という)によって自己の位置情報を修正する。具体的には、移動体は、移動しながら以下の処理を繰り返す。まず、オドメトリにより床面上における自己の位置情報(グローバル座標系における位置情報)を算出する。次に、レーザレンジファインダにより光線を走査して、走査面上に存在する障害物の床面と平行な方向における表面形状を検出する。レーザレンジファインダによれば、障害物の表面形状が移動体に対する相対座標系上の座標点群として検出される。次に、移動体は、座標点群を直線近似した障害物の表面形状を算出する。次に、記憶している表面形状データの中から、検出した表面形状(直線近似した表面形状)に対応する表面形状データを特定する。この特定は、表面形状の検出誤差(すなわち、レーザレンジファインダによる検出誤差)を考慮して行われる。次に、特定した表面形状データと検出した表面形状とのずれを算出し、そのずれから自己の位置情報を修正する。このように、障害物の表面形状データを移動体に予め記憶させておくとともに、移動しながらレーザレンジファインダ等により障害物の表面形状を検出し、検出した表面形状とそれに対応する表面形状データのずれに基づいて自己の位置情報を修正することで、より正確に自己の位置情報を特定することができる。   Patent Document 1 discloses a moving body that moves on the floor surface while detecting its own position and angle (orientation) (hereinafter, the position and angle are collectively referred to as position information). This moving body stores a plurality of data indicating the surface shape of an obstacle (for example, a wall or the like) extending linearly in a direction parallel to the floor surface. The surface shape data is represented by a global coordinate system based on the floor surface. The moving body calculates its own position information while moving on the floor surface, and corrects its own position information by an extended Kalman filter (hereinafter referred to as EKF). Specifically, the moving body repeats the following process while moving. First, self position information on the floor surface (position information in the global coordinate system) is calculated by odometry. Next, the light beam is scanned by the laser range finder, and the surface shape in the direction parallel to the floor surface of the obstacle present on the scanning surface is detected. According to the laser range finder, the surface shape of the obstacle is detected as a coordinate point group on a relative coordinate system with respect to the moving body. Next, the moving body calculates the surface shape of the obstacle by linearly approximating the coordinate point group. Next, surface shape data corresponding to the detected surface shape (surface shape approximated by a straight line) is specified from the stored surface shape data. This specification is performed in consideration of a surface shape detection error (that is, a detection error by a laser range finder). Next, a deviation between the specified surface shape data and the detected surface shape is calculated, and the position information of itself is corrected from the deviation. In this way, the surface shape data of the obstacle is stored in the moving body in advance, and the surface shape of the obstacle is detected by a laser range finder while moving, and the detected surface shape and the corresponding surface shape data are detected. By correcting the position information of the self based on the deviation, the position information of the self can be specified more accurately.

A. Garulli, A. Giannitrapani, A. Rossi, A. Vicino, "Mobile robot SLAM for line-based environment representation," Tech. Rep. 2005-3, Dipartimento di Ingegneria dell'Informazone, Universita di Siena, 2005A. Garulli, A. Giannitrapani, A. Rossi, A. Vicino, "Mobile robot SLAM for line-based environment representation," Tech. Rep. 2005-3, Dipartimento di Ingegneria dell'Informazone, Universita di Siena, 2005

障害物の表面形状を検出する際には、誤差が生じる。このため、検出した表面形状に対応する表面形状データを複数の表面形状データの中から正確に特定するためには、誤差を考慮する必要がある。上述した非特許文献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 Document 1 described above, the corresponding surface shape data is specified in consideration of the error of the detected surface shape (that is, the detection error by the laser range finder). The surface shape data may not be accurately identified. For this reason, there is a case where the position information of the self cannot be corrected accurately.

本明細書では、上述した実情を鑑み、検出した表面形状に対応する表面形状データをより正確に特定し、自己の位置情報をより正確に修正することができる移動体を提供する。   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.

自律移動体10の概略斜視図。1 is a schematic perspective view of an autonomous mobile body 10. FIG. 自律移動体10のブロック図。The block diagram of the autonomous mobile body 10. FIG. 環境マップの説明図。Explanatory drawing of environmental map. レーザレンジファインダ30の測定方法の説明図。Explanatory drawing of the measuring method of the laser range finder 30. FIG. 自律移動体10の角度の説明図。Explanatory drawing of the angle of the autonomous mobile body 10. FIG. 制御装置50が実行する処理を示すフローチャート。The flowchart which shows the process which the control apparatus 50 performs. 対象線分120の算出方法を示す説明図。Explanatory drawing which shows the calculation method of the target line segment 120. FIG. ステップS10の詳細な処理を示すフローチャート。The flowchart which shows the detailed process of step S10. 線分上の点P及び領域Qについての説明図。Explanatory drawing about the point P and area | region Q on a line segment. 対象線分120に対応する線分に関する説明図。Explanatory drawing regarding the line segment corresponding to the target line segment 120. FIG. 対象線分120と対応する線分100fの位置情報の説明図。Explanatory drawing of the positional information on the line segment 100f corresponding to the target line segment 120. FIG. 2つの線分が検出された場合を示す説明図。Explanatory drawing which shows the case where two line segments are detected.

以下に説明する実施例の好ましい特徴を整理する。
(特徴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 mobile body 10 which concerns on an Example. The autonomous mobile body 10 has two driving wheels 12a and 12b and a driven wheel 12c, and moves on a horizontal floor by driving the driving wheels 12a and 12b. The driven wheel 12c rotates as the autonomous mobile body 10 moves. When the drive wheel 12a and the drive wheel 12b are driven at the same rotational speed, the autonomous mobile body 10 translates in the direction of the arrow F1 in FIG. Further, when the driving wheel 12a and the driving wheel 12b are driven at different rotational speeds, the autonomous moving body 10 moves while curving on the floor surface. The autonomous mobile body 10 autonomously moves to the destination while calculating its own position on the floor surface.

図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 mobile body 10. The autonomous mobile body 10 includes a storage device 20, a laser range finder 30, servomotors 40a and 40b, and a control device 50. As shown in FIG. 1, the laser range finder 30 is installed on the upper part of the autonomous mobile body 10. The storage device 20, the servo motors 40 a and 40 b, and the control device 50 are incorporated in the autonomous mobile body 10.

記憶装置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 storage device 20 stores an environment map indicating the surface shape of an obstacle (such as a wall) existing on the floor surface on which the autonomous mobile body 10 moves. The environment map is data representing the surface shape of an obstacle in a horizontal plane by a line segment. FIG. 3 shows an example of a line group represented by the environment map. In FIG. 3, line segments 100a to 100j are shown. In the environment map, the line segments 100a to 100h are defined by the coordinates of the start point and the end point. The coordinates of the start point and the end point are determined by an orthogonal coordinate system (hereinafter referred to as a global coordinate system) using an x-axis and a y-axis set in the horizontal direction with reference to the floor surface. For example, the line segment 100a in FIG. 3 is represented by a start point coordinate (x a1 , y a1 ) and an end point coordinate (x a2 , y a2 ). The line segment 100b is represented by a start point coordinate ( xb1 , yb1 ) and an end point coordinate ( xb2 , yb2 ). In the example of FIG. 3, the end point coordinates (x a2 , y a2 ) of the line segment 100a and the start point coordinates (x b1 , y b1 ) of the line segment 100b are equal. As for the start point and end point of each line segment, the right side of the vector from the start point to the end point is the obstacle side (the area where the autonomous mobile body 10 cannot enter), and the left side of the vector is the area where the autonomous mobile body 10 can move. Show. In FIG. 3, an area surrounded by line segments 100 a to 100 j is an area where the autonomous mobile body 10 can move, and an outer area is an obstacle (an area where the autonomous mobile body 10 cannot enter).

レーザレンジファインダ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 laser range finder 30 scans light rays in a horizontal plane and detects the surface shape of an obstacle existing in the scanning plane. FIG. 4 is a plan view showing the laser range finder 30 from above. First, the laser range finder 30 irradiates laser light to the right side by an angle w1 (angle when viewed in a horizontal plane) from the traveling direction F1 of the autonomous mobile body 10. And the reflected light of the irradiated laser beam is detected, and the distance r1 (distance in the horizontal plane) to the obstacle existing in the direction of the angle w1 is detected. That is, the relative position coordinate (r1, w1) with respect to the autonomous mobile body 10 of the location irradiated with the laser beam is detected. Next, the laser beam is irradiated in the direction of the angle w2 that is slightly shifted to the left side from the start angle w1, and the distance r2 to the portion irradiated with the laser beam is detected. That is, the relative position coordinates (r2, w2) with respect to the autonomous mobile body 10 at the location irradiated with the laser light are detected. The laser range finder 30 repeats the same processing at a constant angular interval from the start angle w1 to the end angle wn (angle on the left side of the traveling direction F1 of the autonomous mobile body 10), and the autonomous mobile body 10 at the location irradiated with the laser. Relative position coordinates (r1, w1), (r2, w2), (r3, w3)... (Rn, wn) are detected. The coordinate point groups (r1, w1) to (rn, wn) detected by the laser range finder 30 represent the surface shape of the obstacle. The surface shape of the obstacle detected by the laser range finder 30 is input to the control device 50.

サーボモータ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 servo motor 40a has a servo control circuit 42a, a motor 44a, and an encoder 46a. The motor 44a rotates the drive wheel 12a. A control command value is input from the control device 50 to the servo control circuit 42a. The servo control circuit 42a drives the motor 44a according to the input control command value. Therefore, the drive wheel 12a rotates according to the control command value. The encoder 46a detects the rotation speed of the motor 44a (that is, the drive wheel 12a). The rotation speed detected by the encoder 46 a is input to the control device 50.
The servo motor 40b has a servo control circuit 42b, a motor 44b, and an encoder 46b. The motor 44b rotates the drive wheel 12b. A control command value is input from the control device 50 to the servo control circuit 42b. The servo control circuit 42b drives the motor 44b according to the input control command value. Therefore, the drive wheel 12b rotates according to the control command value. The encoder 46b detects the rotation speed of the motor 44b (that is, the drive wheel 12b). The rotation speed detected by the encoder 46b is input to the control device 50.

制御装置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 control device 50 is electrically connected to the storage device 20, the laser range finder 30, and the servo motors 40a and 40b. The control device 50 can read data from the storage device 20 and can store data in the storage device 20. The control device 50 calculates the position of the autonomous mobile body 10 (position of the autonomous mobile body 10 in the horizontal plane) and the angle (direction of the traveling direction F1 of the autonomous mobile body 10 in the horizontal plane) by calculating the position and angle described later. calculate. Note that the position of the autonomous mobile body 10 is represented by the xy coordinates of the global coordinate system described above, and the angle of the autonomous mobile body 10 is the progression of the autonomous mobile body 10 with respect to the x axis of the global coordinate system, as shown in FIG. It is represented by an angle φ in the direction F1. Hereinafter, the position and angle of the autonomous mobile body 10 may be referred to as position information. The control device 50 inputs a control command value to the servo motors 40a and 40b based on the calculated position information of the autonomous mobile body 10. The control device 50 calculates the position information of the autonomous mobile body 10 and repeats the process of inputting the control command value to the servo motors 40a and 40b based on the position information, so that the autonomous mobile body 10 moves toward the target point. Move autonomously.

次に、制御装置50が実行する処理について詳細に説明する。図6のフローチャートは、制御装置50が実行する処理を示している。図6の処理の開始時点において、制御装置50に、自律移動体10の初期位置情報(x,y,φ)(処理の開示時点における自律移動体10の位置と角度)と、目標地点の位置が入力される。制御装置50は、図6に示すステップS2〜S16を一定の周期で繰り返して、自律移動体10の位置情報を算出しながら移動する。 Next, processing executed by the control device 50 will be described in detail. The flowchart in FIG. 6 illustrates processing executed by the control device 50. At the start of the process of FIG. 6, the initial position information (x 0 , y 0 , φ 0 ) of the autonomous mobile body 10 (position and angle of the autonomous mobile body 10 at the time of disclosure of the process) The location of the point is entered. The control device 50 moves while calculating the position information of the autonomous mobile body 10 by repeating steps S2 to S16 shown in FIG.

ステップS2では、制御装置50は、現在の自律移動体10の位置情報と、目標地点の位置と、環境マップ(障害物の位置)に基づいて、自律移動体10の今後の経路を算出する。なお、最初のステップS2では、制御装置50は、開始時に入力された初期位置情報(x,y,φ)を現在の位置情報として経路を算出する。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 control device 50 calculates the future route of the autonomous mobile body 10 based on the current position information of the autonomous mobile body 10, the position of the target point, and the environment map (the position of the obstacle). In the first step S2, the control device 50 calculates a route using the initial position information (x 0 , y 0 , φ 0 ) input at the start as current position information. In step S2 after the second time, the control device 50 determines the position information X k−1 | k−1 (= x k−1 | k−1 , y) of the autonomous mobile body 10 corrected in step S16 of the immediately preceding cycle. k−1 | k−1 , φ k−1 | k−1 ) is used as the current position information to calculate a route. After calculating the route, the control device 50 inputs a control command value to the servo motors 40a and 40b so that the autonomous mobile body 10 moves along the calculated route. The servo motors 40a and 40b drive the drive wheels 12a and 12b according to the control command value input in the immediately preceding step S2 until the next step S2 is executed. Thereby, the autonomous mobile body 10 moves. When the drive wheels 12a and 12b are driven, the rotation speeds of the drive wheels 12a and 12b are detected by the encoders 46a and 46b.

ステップ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 mobile body 10 is calculated. The processes in steps S4 to S16 are performed based on the extended Kalman filter.

ステップ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の誤差Σを算出する。なお、誤差Σは、位置(xk|k−1,yk|k−1)と角度φk|k−1に生じうる誤差を分散(vxk|k−1,vyk|k−1,vφk|k−1)により表したものである。誤差Σは、文献「S. Thrun, W.burgard, D. Fox, "Probabilistic robotics", The MIT Press, 2005」に記載の技術に従って算出することができる。すなわち、誤差Σは、過去に自律移動体10が移動した経路に基づいて算出される。x方向への移動距離(各周期におけるx方向の移動距離の絶対値を積算した値)が大きいほど誤差vxk|k−1が大きく算出され、y方向への移動距離が大きいほど誤差vyk|k−1が大きく算出され、角度φの変化量(各周期における角度φの変化量の絶対値を積算した値)が大きいほど誤差vφk|k−1が大きく算出される。なお、誤差Σは、上述した他の方法により算出してもよい。また、誤差Σが経時的に変化しない場合には、誤差Σが記憶装置20に記憶されていてもよい。
In step S4, the control device 50 uses the odometry to determine the current position information X k | k−1 (= (x k | k−1 , y k | k−1 , φ k | k−1 )) of the autonomous mobile body 10. ) Is calculated. Specifically, the control device 50 detects the rotational speeds of the drive wheels 12a and 12b detected by the encoders 46a and 46b, and the position information X k−1 | k of the autonomous mobile body 10 corrected in step S16 of the immediately preceding cycle. −1 (past position information), current position information X k | k−1 of the autonomous mobile body 10 is calculated.
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 body 10 has moved in the past. The larger the moving distance in the x direction (the value obtained by integrating the absolute values of the moving distances in the x direction in each period) is, the larger the error vx k | k−1 is calculated. The larger the moving distance in the y direction is, the larger the error vy k is. | K−1 is calculated to be larger, and the error vφ k | k−1 is calculated to be larger as the change amount of the angle φ (a value obtained by integrating the absolute value of the change amount of the angle φ in each period) is larger. Incidentally, the error sigma R may be calculated by other methods described above. Further, when the error sigma R does not change over time, the error sigma R may be stored in the storage device 20.

ステップS6では、制御装置50は、レーザレンジファインダ30により空間内に光線を走査して、走査範囲内に存在する障害物の表面形状を検出する。上述したように、レーザレンジファインダ30は、障害物の表面形状を、自律移動体10に対する相対座標系による座標点群(r1,w1),(r2,w2),(r3,w3)・・・(rn,wn)として検出する。   In step S <b> 6, the control device 50 scans the light beam in the space with the laser range finder 30 and detects the surface shape of the obstacle existing in the scanning range. As described above, the laser range finder 30 uses the coordinate point group (r1, w1), (r2, w2), (r3, w3),. It is detected as (rn, wn).

ステップ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 control device 50 calculates a line segment by linearly approximating the coordinate point group detected by the laser range finder 30 in step S6. The line segment calculation process in step S8 can be executed in accordance with, for example, the document “J. Xavier,“ Rast Line, Arc / Circle and Leg Detection from Laser Scan Data in Player Driver ”, ICRA, 2005”. Specifically, the line segment 120 is calculated by linearly approximating the coordinate point groups (r1, w1) to (rn, wn) as shown in FIG. This line segment is defined by the coordinates (ss, ts) of the start point and the coordinates of the end point (ss, ts) by an orthogonal coordinate system (hereinafter referred to as a local coordinate system) based on the s axis and the t axis set in the horizontal direction with respect to the autonomous mobile body 10. se, te). The start point (ss, ts) indicates the end of the line segment on the side (coordinate point (r1, w1) side) where the laser range finder 30 starts scanning the light beam, and the end point (se, te) is the end point (se, te). The end of the line segment on the opposite side (coordinate point (rn, wn) side) is shown. Next, the control device 50 converts the coordinates of the start point (ss, ts) and end point coordinates (se, te) of the line segment expressed in the relative coordinate system into coordinates (xs, ys) on the global coordinate system. ), (Xe, ye). This coordinate conversion is performed based on the position information X k | k−1 of the autonomous mobile body 10 calculated in step S4. Hereinafter, the line segment calculated in step S8 is referred to as a target line segment.

ステップS10では、制御装置50は、記憶装置20が記憶する環境マップにより規定されている線分の中から、対象線分に対応する線分を特定する。対象線分に対応する線分の特定処理は、図8に示すフローチャートに従って実行される。   In step S <b> 10, the control device 50 identifies a line segment corresponding to the target line segment from the line segments defined by the environment map stored in the storage device 20. The line segment identification process corresponding to the target line segment is executed according to the flowchart shown in FIG.

ステップS40では、制御装置50は、対象線分の始点の位置の誤差Σと終点の位置の誤差Σを算出する。誤差Σは、対象線分の始点の位置(xs,ys)に生じうる誤差を分散(vxs,vys)で表したものであり、誤差Σは、対象線分の終点の位置(xe,ye)に生じうる誤差を分散(vxe,vye)で表したものである。上述したように、対象線分は、レーザレンジファインダ30により検出される座標点群と、自律移動体10の位置情報Xk|k−1に基づいて算出される。このため、レーザレンジファインダ30の測定誤差と、自律移動体10の位置情報Xk|k−1の誤差Σとの影響によって、対象線分の始点と終点の位置に誤差が生じる。このため、制御装置50は、レーザレンジファインダ30の測定誤差と、位置情報Xk|k−1の誤差Σに基づいて、対象線分の始点の誤差Σと終点の誤差Σを算出する。具体的には、制御装置50は、以下の数式によって、これらの誤差を算出する。
Σ=J×Σ×J +Σ
Σ=J×Σ×J +Σ
ここで、Σは、レーザレンジファインダ30の測定誤差に基づいて生じる始点及び終点の位置の誤差を、x座標及びy座標の分散で表したものである。本実施例では、誤差Σは固定値とみなせるため、誤差Σが予め記憶装置20に記憶されている。Jは、自律移動体10の位置情報(x,y,φ)に関する線分の始点のヤコビ行列であり、J はヤコビ行列Jの転置行列である。Jは、自律移動体10の位置情報(x,y,φ)に関する線分の終点のヤコビ行列であり、J はヤコビ行列Jの転置行列である。ヤコビ行列J,Jは以下の数1により表される。

Figure 0005477167
At step S40, the control unit 50 calculates the error sigma 2 position error sigma 1 and end positions of the start point of the target segment. The error Σ 1 represents an error that may occur at the position (xs, ys) of the start point of the target line segment by the variance (vxs, vys), and the error Σ 2 represents the position (xe, The error that can occur in (ye) is represented by the variance (vxe, vye). As described above, the target line segment is calculated based on the coordinate point group detected by the laser range finder 30 and the position information X k | k−1 of the autonomous mobile body 10. Therefore, a measurement error of the laser range finder 30, the position information X k of the autonomous moving body 10 | by the influence of the k-1 error sigma R, an error occurs in the position of the start point and the end point of the target segment. Therefore, the control unit 50, a measurement error of the laser range finder 30, the position information X k | calculated based on the k-1 error sigma R, the error sigma 1 and the end point of the start point of the target segment error sigma 2 To do. Specifically, the control device 50 calculates these errors by the following mathematical formula.
Σ 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 laser range finder 30, expressed in the variance of x and y coordinates. In this embodiment, the error sigma O is can be considered a fixed value, error sigma O is stored in advance in the storage device 20. J 1 is the Jacobian matrix of the start point of the line segment related to the position information (x, y, φ) of the autonomous mobile body 10, and J 1 T is the transposed matrix of the Jacobian matrix J 1 . J 2 is the Jacobian matrix at the end of the line segment related to the position information (x, y, φ) of the autonomous mobile body 10, and J 2 T is the transposed matrix of the Jacobian matrix J 2 . The Jacobian matrices J 1 and J 2 are represented by the following formula 1.
Figure 0005477167

ステップS42では、始点の位置(xs,ys)とその誤差Σに基づいて、始点の位置に関する確率密度関数を算出する。また、終点の位置(xe,ye)とその誤差Σに基づいて、終点の位置に関する確率密度関数を算出する。始点の位置の確率密度関数は、始点が存在している確率を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 control device 50 extracts a line segment having the same direction as the direction of the target line segment (direction from the start point toward the end point) from the environment map. Whether the directions are equal is whether the inner product of the vector indicating the target line segment (vector from the start point to the end point) and the vector indicating each line segment in the environment map (vector from the start point to the end point) is greater than zero. It is done by judging by. That is, a line segment having a vector whose angle with respect to the vector of the target line segment is less than 90 degrees is specified as a line segment having the same direction. As described above, the area on the right side of the line segment in the environment map indicates an obstacle. The direction of the target line segment indicates the scanning direction by the laser range finder 30. Therefore, it is impossible that the direction of the target line segment and the direction of the corresponding line segment in the environment map are reversed because the laser range finder 30 exists inside the obstacle. Therefore, a line segment having the same direction as the target line segment is extracted in step S44, and the process of step S46 is performed only for the extracted line segment. In this way, by extracting only line segments having the same direction and executing step S46, the load on the control device 50 is reduced.

ステップ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 control device 50 calculates, for each line segment extracted in step S44, a probability that both the start point and the end point of the target line segment exist on the line segment. Specifically, the following processing is executed for each of the extracted line segments.
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 control device 50 specifies the maximum value among the probabilities calculated in step S46. Then, it is determined whether or not the specified maximum value exceeds a threshold value. If the specified maximum value does not exceed the threshold value, the control device 50 reports NULL data and stops the process of FIG. When NULL data is reported, steps S12 and S14 in FIG. 6 are not executed, and the next step S2 is the position information X k | k−1 that has not been corrected (position information calculated in step S4). Based on. If the specified maximum value exceeds the threshold value, the line segment having the maximum value is specified as a line segment corresponding to the target line segment in step S50. Thus, the process of FIG. 8 (that is, step S10 of FIG. 6) ends.

以上に説明したように、ステップS42では、レーザレンジファインダ30の測定誤差Σだけでなく、自律移動体10の位置情報Xk|k−1の誤差Σも考慮して、確率分布関数を算出する。そして、その確率分布関数に基づいて、対象線分に対応する線分を環境マップ中から特定する。このように、時々刻々と変化する誤差Σを考慮することで、より正確に対象線分に対応する線分を特定することができる。例えば、環境マップ中の線分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 laser range finder 30, the position information X k of the autonomous moving body 10 | also contemplates error sigma R of k-1, a probability distribution function calculate. Then, based on the probability distribution function, a line segment corresponding to the target line segment is specified from the environment map. In this way, by taking into account the error sigma R which changes from moment to moment, it is possible to specify the line segments corresponding to more accurately target segment. For example, considering the case where the line segments 100d to 100f in the environment map and the target line segment 120 have the positional relationship shown in FIG. 10, if the error in the position information of the autonomous mobile body 10 is large in the x direction, the corresponding line A line segment 100f is specified as the minute. If the error of the position information of the autonomous mobile body 10 is large in the y direction, the line segment 100d is specified as the corresponding line segment. In this way, it is possible to perform accurate association by considering the error of the position information of the autonomous mobile body 10.

図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 control device 50 calculates relative position information with respect to the autonomous mobile body 10 for each of the target line segment and the corresponding line segment. The relative position information of these line segments is represented by a distance to the autonomous mobile body 10 and an angle with respect to the traveling direction F1 of the autonomous mobile body 10. For example, as shown in FIG. 11, when the target line segment 120 and the corresponding line segment 100f are specified, the relative position information of the target line segment 120 is the distance ra (target The distance in the perpendicular direction of the line segment) and the angle wa (the angle between the vertical line of the target line segment and the travel direction F1) with respect to the travel direction F1 of the autonomous mobile body 10. The relative position information of the corresponding line segment 100f includes the distance rb to the autonomous mobile body 10 (distance in the perpendicular direction of the corresponding line segment) and the angle wb (corresponding line segment) with respect to the traveling direction F1 of the autonomous mobile body 10. The angle between the vertical line and the traveling direction F1). Next, the control device 50 calculates a shift (dr, dw) in relative position information between the target line segment and the corresponding line segment. The length deviation dr is a value obtained by subtracting the distance rb from the distance ra, and the angle deviation dw is a value obtained by subtracting the angle wb from the angle wa.

ステップS14では、制御装置50は、上述したずれ(dr,dw)の誤差Σ(=(vdr,vdw))を算出する。なお、誤差vdrは距離のずれdrを算出する際に生じうる誤差を表す分散であり、誤差vdwは角度のずれdwを算出する際に生じうる誤差を表す分散である。対応する線分の位置情報は環境マップで規定されたものであるので、上述したずれの誤差Σは、対象線分の相対位置情報(ra,wa)の検出誤差と等しい。
したがって、距離の誤差vdrは、対象線分の始点及び終点の誤差Σを以下の計算式により座標変換することで算出される。
vdr=J×Σ×J
ここで、Jは、対象線分の始点と終点の位置に関する距離raのヤコビ行列であり、J はヤコビ行列Jの転置行列である。ヤコビ行列Jは以下の数2により表される。

Figure 0005477167
また、角度の誤差vdwは、対象線分の始点及び終点の誤差Σを以下の計算式により座標変換することで得られる。
vdw=J×Σ×J
ここで、Jは、対象線分の始点と終点の位置に関する角度waのヤコビ行列であり、J はヤコビ行列Jの転置行列である。ヤコビ行列Jは以下の数3により表される。
Figure 0005477167
In step S <b> 14, the control device 50 calculates the error Σ 3 (= (vdr, vdw)) of the deviation (dr, dw) described above. The error vdr is a variance representing an error that can occur when calculating the distance deviation dr, and the error vdw is a variance representing an error that can occur when calculating the angle deviation dw. Since the position information of the corresponding segments are those defined in the environment map, the error sigma 3 of the above-mentioned deviation is equal to the detection error of the target segment relative position information (ra, wa).
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.
Figure 0005477167
The error vdw angles are obtained by coordinate conversion by the following equation error sigma O of start and end points of the target segment.
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.
Figure 0005477167

ステップS16では、制御装置50は、ステップS12で算出した相対位置のずれ(dr,dw)と、ステップS14で算出したずれの誤差Σ(=(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 control device 50 determines in step S4 based on the deviation (dr, dw) of the relative position calculated in step S12 and the deviation error Σ 3 (= (vdr, vdw)) calculated in step S14. The calculated position information X k | k−1 (= (x k | k−1 , y k | k−1 , φ k | k−1 )) of the autonomous mobile body 10 is corrected, and the corrected position information X k | K (= (x k | k , y k | k , φ k | k )) The position information of the autonomous mobile body 10 is corrected by a general EKF technique. Thrun, W. burgard, D. Fox, “Probabilistic robotics”, The MIT Press, 2005 ”can correct the position information of the autonomous mobile body 10. By correcting the position in this way, The position information of the autonomous mobile body 10 can be specified accurately.

その後、制御装置50は、再度ステップS2からの処理を実行する。ステップS2では、修正後の正確な位置情報に基づいて経路が算出される。このように、位置情報の算出(ステップS4)、レーザレンジファインダ30の検出値に基づく位置情報の修正(ステップS6〜S16)、修正後の位置情報に基づく制御(ステップS2)が繰り返し行われることで、自律移動体10が目標値まで正確に移動することができる。   Then, the control apparatus 50 performs the process from step S2 again. In step S2, a route is calculated based on the corrected accurate position information. In this way, calculation of position information (step S4), correction of position information based on the detection value of the laser range finder 30 (steps S6 to S16), and control based on the corrected position information (step S2) are repeatedly performed. Thus, the autonomous mobile body 10 can accurately move to the target value.

以上に説明したように、実施例の自律移動体10では、レーザレンジファインダ30の検出誤差だけでなく、自律移動体10の位置情報の誤差をも考慮して、対象線分に対応する線分を環境マップ中から特定する。このため、対象線分に対して誤った線分が対応付けられることが防止される。これにより、より正確に位置情報を修正することができる。   As described above, in the autonomous mobile body 10 of the embodiment, not only the detection error of the laser range finder 30 but also the error of the position information of the autonomous mobile body 10 is taken into consideration, and the line segment corresponding to the target line segment. Is identified from the environment map. For this reason, an incorrect line segment is prevented from being associated with the target line segment. Thereby, position information can be corrected more accurately.

また、上述した自律移動体10では、ステップS14において対象線分とこれに対応する線分との相対位置のずれの誤差を算出するときに、対象線分の始点と終点の位置の誤差のみを考慮した。このように、レーザレンジファインダ30が検出する各座標点の全ての検出誤差を考慮するのではなく、対象線分の両端点の位置の検出誤差のみを考慮することで、相対位置のずれの誤差の算出に要する演算量を低減することができる。これにより、より短い周期で図6のフローチャートを実行可能となり、より正確に自律移動体10を移動させることが可能となる。   Further, in the autonomous mobile body 10 described above, when calculating the error of the relative position shift between the target line segment and the corresponding line segment in step S14, only the error of the start point and end point position of the target line segment is calculated. Considering. In this way, the relative position deviation error is not considered by considering only the detection errors of the positions of both end points of the target line segment, instead of considering all the detection errors of each coordinate point detected by the laser range finder 30. It is possible to reduce the amount of calculation required to calculate Thereby, the flowchart of FIG. 6 can be executed in a shorter cycle, and the autonomous mobile body 10 can be moved more accurately.

また、上述した自律移動体10では、ステップS10で対象線分に対応する線分を特定するときに、対象線分の両端点の存在確率のみを考慮した。このように、レーザレンジファインダ30が検出する各座標点の全ての存在確率を考慮するのではなく、対象線分の両端点の存在確率のみを考慮することで、対象線分に対応する線分の特定処理に要する演算量を低減することができる。これにより、より短い周期で図6のフローチャートを実行可能となり、より正確に自律移動体10を移動させることが可能となる。   In the autonomous mobile body 10 described above, only the existence probabilities of both end points of the target line segment are considered when the line segment corresponding to the target line segment is specified in step S10. As described above, the line segment corresponding to the target line segment is not considered by considering only the existence probabilities of both end points of the target line segment, instead of considering all the existence probabilities of each coordinate point detected by the laser range finder 30. The amount of calculation required for the specific processing can be reduced. Thereby, the flowchart of FIG. 6 can be executed in a shorter cycle, and the autonomous mobile body 10 can be moved more accurately.

なお、上述した実施例では自律移動体10について説明したが、本発明は自律的に移動しない移動体に適用してもよい。例えば、移動体を遠隔操縦するときに、本発明により移動体の位置を特定してもよい。   In addition, although the autonomous mobile body 10 was demonstrated in the Example mentioned above, you may apply this invention to the mobile body which does not move autonomously. For example, when the mobile body is remotely controlled, the position of the mobile body may be specified by the present invention.

上述した実施例では、移動領域内に他の移動体が存在しなかったが、移動領域内に他の移動体が存在してもよい。この場合は、レーザレンジファインダによって壁の表面形状と他の移動体の表面形状が検出される。このため、レーザレンジファインダによって検出された座標点群から、壁の表面形状に相当する座標点群を特定し、その座標点群に対して上述した処理を実行すればよい。   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 laser range finder 30, and the line segment corresponding to this line segment is specified from the plurality of line segments of the environment map. However, there may be a plurality of line segments obtained from the detection result of the laser range finder 30. In addition, only a part of the line segments in the environment map may be used as a reference (that is, a landmark) for correcting the self position / angle. For example, consider a case where two line segments 130 and 132 are obtained from the detection result of the laser range finder 30 as shown in FIG. 12, and only the line segment 100x is used as a reference for correcting the self-position and angle. For example, when another obstacle is placed in front of the wall surface indicated by the line segment 100x, or when a door provided on the wall surface indicated by the line segment 100x is opened, one line as shown in FIG. There are cases where two line segments are detected at a position where a minute is to be detected. Also in this case, not only the detection error of the laser range finder 30 but also the error of the position information of the autonomous mobile body 10 is taken into consideration, and the line segment corresponding to the line segment 100x from the detected line segments 130 and 132 is considered. Can be specified. The corresponding line segment can be specified by the same calculation as in the above-described embodiment. In this way, not only when one line segment is detected and there are a plurality of line segments serving as landmarks, but also when a plurality of line segments are detected and one line segment serving as a landmark is present. In addition, the correspondence relationship of the line segment can be specified in consideration of the error. Also, when there are a plurality of detected line segments and a plurality of landmark line segments, the correspondence relationship between the line segments can be specified in consideration of similar errors.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
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: Laser range finder 40a: Servo motor 40b: Servo motor 42a: Servo control circuit 42b: Servo control circuit 44a: Motor 44b: Motor 46a: Encoder 46b: Encoder 50: Control device

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:
JP2010121452A 2010-05-27 2010-05-27 Moving body Expired - Fee Related JP5477167B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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