JP2014174275A - Geographical map preparation device, geographical map preparation program, and geographical map preparation method - Google Patents

Geographical map preparation device, geographical map preparation program, and geographical map preparation method Download PDF

Info

Publication number
JP2014174275A
JP2014174275A JP2013045673A JP2013045673A JP2014174275A JP 2014174275 A JP2014174275 A JP 2014174275A JP 2013045673 A JP2013045673 A JP 2013045673A JP 2013045673 A JP2013045673 A JP 2013045673A JP 2014174275 A JP2014174275 A JP 2014174275A
Authority
JP
Japan
Prior art keywords
data
distance
map
cluster
position data
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.)
Granted
Application number
JP2013045673A
Other languages
Japanese (ja)
Other versions
JP6202517B2 (en
Inventor
Saiki Luis Yoichi Morales
サイキ ルイス ヨウイチ モラレス
Takahiro Miyashita
敬宏 宮下
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.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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 ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2013045673A priority Critical patent/JP6202517B2/en
Publication of JP2014174275A publication Critical patent/JP2014174275A/en
Application granted granted Critical
Publication of JP6202517B2 publication Critical patent/JP6202517B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a new geographical map preparation device, program and method which can create a map simply, in order to solve the problem with the background technology in which two maps need to be created and thus the process load for creation is high and it is troublesome to integrate the information of two maps.SOLUTION: A geographical map preparation system 10 includes a movable body 12 which moves throughout the environment. Distance data is detected by distance sensors 22a, 22b provided in the movable body, and the number of rotations of the left and right wheels 16a, 16b each of the movable body is also detected. A computer (30) calculates a position and an azimuth of the movable body on the basis of rotation rate data, and converts distance data into position data corresponding to a position of a measured body. This position data is subjected to clustering by a predetermined rule, and clusters (position data) other than a static body such as a wall and a floor are eliminated on the basis of a feature quantity of each cluster. Consequently, the position of the movable body is estimated using position data on the static body, and the geographical map on the environment is prepared. Thus, a geographical map can be simply prepared by eliminating data unnecessary for preparing the geographical map from position data based on distance data.

Description

この発明は地図作成装置、地図作成プログラムおよび地図作成方法に関し、特にたとえば、距離センサを備える移動体を用いて或る環境についての地図を作成する、地図作成装置、地図作成プログラムおよび地図作成方法に関する。   The present invention relates to a map creation device, a map creation program, and a map creation method, and more particularly, to a map creation device, a map creation program, and a map creation method for creating a map for a certain environment using a moving body equipped with a distance sensor. .

この発明の背景技術の一例が非特許文献1に開示される。この非特許文献1では、壁など動くことの無い環境の静的な部分に関する情報を含む占有グリッド地図と、一度でも動いた動的物体に関する情報を含む占有グリッド地図を作成および更新し、これらの地図の情報を統合することにより、SLAM(Simultaneous Localization and Mapping)の技術を用いて、地図を作成するとともに、移動ロボットの位置を推定する。   An example of background art of the present invention is disclosed in Non-Patent Document 1. In this non-patent document 1, an occupancy grid map including information on a static part of an environment that does not move, such as a wall, and an occupancy grid map including information on a dynamic object that has moved even once are created and updated. By integrating map information, a map is created and the position of the mobile robot is estimated using SLAM (Simultaneous Localization and Mapping) technology.

Denis Wolf, et al.: “Online simultaneous localization and mapping in dynamic environments”, In Proc. of the Intl. Conf. on Robotics and Automation (ICRA), 2004.Denis Wolf, et al .: “Online simultaneous localization and mapping in dynamic environments”, In Proc. Of the Intl. Conf. On Robotics and Automation (ICRA), 2004.

しかし、この背景技術では、2つの地図を作成する必要があり、作成処理の負荷が大きい。また、2つの地図中の情報を統合するのにも手間がかかる。   However, in this background art, it is necessary to create two maps, and the load of creation processing is large. It also takes time to integrate the information in the two maps.

それゆえに、この発明の主たる目的は、新規な、地図作成装置、地図作成プログラムおよび地図作成方法を提供することである。   Therefore, the main object of the present invention is to provide a novel map creation device, map creation program, and map creation method.

この発明の他の目的は、地図を簡単に作成することができる、地図作成装置、地図作成プログラムおよび地図作成方法を提供することである。   Another object of the present invention is to provide a map creation device, a map creation program, and a map creation method capable of easily creating a map.

第1の発明は、移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成する地図作成装置であって、距離センサで検出された距離データを、当該距離データの計測時における移動体の位置および向きを基準とする位置データに変換するデータ変換手段、データ変換手段によって変換された位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリング手段、クラスタリング手段によってクラスタリングされた複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断手段、および条件判断手段によって所定の条件を満たさないことが判断されたクラスタを消去する消去手段を備える、地図作成装置である。   1st invention is the map creation apparatus which creates the map about the environment where the said mobile body moved while estimating the position of the said mobile body based on the detection result of the distance sensor installed in the mobile body, Data conversion means for converting the distance data detected by the sensor into position data based on the position and orientation of the moving body when measuring the distance data, and a plurality of position data converted by the data conversion means according to a predetermined rule Clustering means for clustering into clusters, condition judging means for judging whether each of a plurality of clusters clustered by the clustering means satisfies a predetermined condition, and condition judging means for judging that the predetermined condition is not satisfied It is a map creation apparatus provided with the erasure | elimination means which erase | eliminates a cluster.

第1の発明では、地図作成装置は、移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成する。データ変換手段は、距離センサで検出された距離データを、当該距離データの計測時における移動体の位置および向きを基準とする位置データに変換する。クラスタリング手段は、データ変換手段によって変換された位置データを所定のルールに従って複数のクラスタにクラスタリングする。条件判断手段は、クラスタリング手段によってクラスタリングされた複数のクラスタの各々が所定の条件を満たすかどうかを判断する。たとえば、所定の条件は、クラスタの特徴についての条件であり、より具体的には、人間のような動的物体であるか、壁や柱のような静的物体であるかを判別するための条件である。消去手段は、条件判断手段によって所定の条件を満たさないことが判断されたクラスタを消去する。つまり、不要な位置データが消去される。   In the first invention, the map creation device estimates the position of the mobile body based on the detection result of the distance sensor installed on the mobile body and creates a map of the environment in which the mobile body has moved. The data conversion means converts the distance data detected by the distance sensor into position data based on the position and orientation of the moving body when the distance data is measured. The clustering means clusters the position data converted by the data conversion means into a plurality of clusters according to a predetermined rule. The condition determining unit determines whether each of the plurality of clusters clustered by the clustering unit satisfies a predetermined condition. For example, the predetermined condition is a condition regarding the feature of the cluster, and more specifically, for determining whether the object is a dynamic object such as a human or a static object such as a wall or a column. It is a condition. The erasing unit erases the cluster that is determined not to satisfy the predetermined condition by the condition determining unit. That is, unnecessary position data is deleted.

第1の発明によれば、不要な位置データを消去するので、必要なデータのみに基づいて地図を作成することができる。したがって、地図を簡単に作成することができる。   According to the first invention, unnecessary position data is erased, so that a map can be created based only on necessary data. Therefore, a map can be easily created.

第2の発明は、第1の発明に従属し、所定のルールは、位置データが示す点同士の距離が所定距離以下または所定距離未満であることである。   A second invention is dependent on the first invention, and the predetermined rule is that a distance between points indicated by position data is equal to or less than a predetermined distance or less than a predetermined distance.

第2の発明では、所定のルールは、位置データが示す点同士の距離が所定距離以下または所定距離未満であることであり、近くに有る点が同じクラスタに分類される。   In the second invention, the predetermined rule is that the distance between the points indicated by the position data is equal to or less than the predetermined distance or less than the predetermined distance, and the nearby points are classified into the same cluster.

第2の発明によれば、点同士の距離を検出するだけなので、簡単にクラスタリングすることができる。   According to the second invention, since only the distance between points is detected, clustering can be easily performed.

第3の発明は、第1または第2の発明に従属し、所定の条件は、クラスタに含まれる位置データが示す点の数が所定数以下または所定数未満であることを含む。   A third invention is dependent on the first or second invention, and the predetermined condition includes that the number of points indicated by the position data included in the cluster is equal to or less than a predetermined number or less than a predetermined number.

第3の発明では、所定の条件は、クラスタに含まれる位置データが示す点の数が所定数以下または所定数未満であることを含み、クラスタに含まれる点が少ない場合には、当該クラスタは消去される。たとえば、クラスタに含まれる点の数が少ない場合には、動的物体であるか、静的物体であるかを判別することができないため、当該クラスタは消去されるのである。   In the third invention, the predetermined condition includes that the number of points indicated by the position data included in the cluster is equal to or less than the predetermined number or less than the predetermined number. Erased. For example, when the number of points included in the cluster is small, it cannot be determined whether the object is a dynamic object or a static object, and thus the cluster is deleted.

第3の発明によれば、動的物体であるか、静的物体であるかを判別できない不要なクラスタを消去することができる。   According to the third aspect of the invention, it is possible to delete an unnecessary cluster that cannot be determined whether it is a dynamic object or a static object.

第4の発明は、第1ないし第3の発明に従属し、クラスタリング手段によってクラスタリングされた複数のクラスタの各々の特徴を抽出する抽出手段をさらに備え、条件判断手段は、抽出手段によって抽出された特徴が所定の条件を満たすかどうかを判断する。   A fourth invention is dependent on the first to third inventions, and further comprises an extracting means for extracting each feature of the plurality of clusters clustered by the clustering means, and the condition judging means is extracted by the extracting means It is determined whether the feature satisfies a predetermined condition.

第4の発明では、抽出手段は、複数のクラスタの各々の特徴を抽出する。条件判断手段は、各クラスタの特徴が所定の条件を満たすかどうかを判断する。   In the fourth invention, the extraction means extracts each feature of the plurality of clusters. The condition determining means determines whether or not the feature of each cluster satisfies a predetermined condition.

第4の発明によれば、クラスタに含まれる点の個数以外の特徴によって所定の条件を満たすかどうかを判断することができる。   According to the fourth invention, it is possible to determine whether or not a predetermined condition is satisfied by a feature other than the number of points included in the cluster.

第5の発明は、第4の発明に従属し、抽出手段によって抽出された特徴は、クラスタに含まれる位置データが示す複数の点の分散についての特徴量である。   A fifth invention is according to the fourth invention, and the feature extracted by the extracting means is a feature quantity regarding a variance of a plurality of points indicated by position data included in the cluster.

第5の発明では、クラスタの特徴は、当該クラスタに含まれる位置データが示す複数の点の分散についての特徴量であり、たとえば、クラスタの形状に関する特徴である。   In the fifth invention, the feature of the cluster is a feature amount regarding the dispersion of a plurality of points indicated by the position data included in the cluster, for example, a feature related to the shape of the cluster.

第5の発明によれば、クラスタの形状に関する特徴が所定の条件を満たすかどうかで、動的物体であるか、静的物体であるかを判別することができる。   According to the fifth aspect, it is possible to determine whether the object is a dynamic object or a static object depending on whether or not the feature related to the shape of the cluster satisfies a predetermined condition.

第6の発明は、第5の発明に従属し、特徴量は、クラスタに含まれる位置データが示す複数の点の分散行列についての固有値であり、所定の条件は、固有値の最大値が第1所定値よりも大きいこと、または、2番目に大きい固有値が当該第1所定値よりも小さい第2所定値未満であることをさらに含む。   A sixth invention is according to the fifth invention, wherein the feature amount is an eigenvalue of a variance matrix of a plurality of points indicated by position data included in the cluster, and the predetermined condition is that the maximum eigenvalue is the first value. It further includes being larger than the predetermined value, or having the second largest eigenvalue less than the second predetermined value smaller than the first predetermined value.

第6の発明では、特徴量は、クラスタに含まれる位置データが示す複数の点の分散行列についての固有値である。たとえば、特徴量は、クラスタに含まれる複数の点の分散についての主成分であり、分散行列の固有値で表される。たとえば、所定の条件は、固有値の最大値が第1所定値よりも大きいこと、または、2番目に大きい固有値が当該第1所定値よりも小さい第2所定値未満であることをさらに含む。したがって、固有値の最大値が第1所定値以下である場合、または、2番目に大きい固有値が第2所定値以上である場合に、所定の条件を満たさないことが判断され、当該固有値を有するクラスタが消去される。   In the sixth invention, the feature amount is an eigenvalue for a variance matrix of a plurality of points indicated by position data included in the cluster. For example, the feature amount is a principal component for the variance of a plurality of points included in the cluster, and is represented by an eigenvalue of the variance matrix. For example, the predetermined condition further includes that the maximum eigenvalue is larger than the first predetermined value, or that the second largest eigenvalue is less than the second predetermined value smaller than the first predetermined value. Therefore, when the maximum eigenvalue is less than or equal to the first predetermined value, or when the second largest eigenvalue is greater than or equal to the second predetermined value, it is determined that the predetermined condition is not satisfied, and the cluster having the eigenvalue Is erased.

第6の発明によれば、クラスタに含まれる複数の点の分散行列についての固有値に基づいて不要なデータを消去することができる。   According to the sixth aspect, unnecessary data can be erased based on the eigenvalues of the dispersion matrix of a plurality of points included in the cluster.

第7の発明は、移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成するコンピュータの地図作成プログラムであって、コンピュータに、距離センサで検出された距離データを、当該距離データを計測時の移動体の位置および向きを基準とする位置データに変換するデータ変換ステップ、データ変換ステップにおいて変換した位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリングステップ、クラスタリングステップにおいてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断ステップ、および条件判断ステップにおいて所定の条件を満たさないことが判断されたクラスタを消去する消去ステップを実行させる、地図作成プログラムである。   A seventh aspect of the invention is a computer map creation program for estimating a position of a moving body based on a detection result of a distance sensor installed on the moving body and creating a map of an environment in which the moving body has moved. A data conversion step for converting the distance data detected by the distance sensor into position data based on the position and orientation of the moving body at the time of measurement; and the position data converted in the data conversion step A clustering step of clustering into a plurality of clusters according to the rules of the above, a condition determining step for determining whether each of the plurality of clusters clustered in the clustering step satisfies a predetermined condition, and a predetermined condition not being satisfied in the condition determining step Erase the determined cluster To perform the erase step that is a map creation program.

第8の発明は、移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成するコンピュータの地図作成方法であって、コンピュータは、(a)距離センサで検出された距離データを、当該距離データを計測時の移動体の位置および向きを基準とする位置データに変換し、(b)ステップ(a)において変換した位置データを所定のルールに従って複数のクラスタにクラスタリングし、(c)ステップ(b)においてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断し、そして(d)ステップ(c)において所定の条件を満たさないことが判断されたクラスタを消去する、地図作成方法である。   An eighth invention is a map creation method for a computer that estimates a position of the mobile body based on a detection result of a distance sensor installed on the mobile body and creates a map of an environment in which the mobile body has moved. The computer (a) converts the distance data detected by the distance sensor into position data based on the position and orientation of the moving body at the time of measurement, and (b) converted the data in step (a). The position data is clustered into a plurality of clusters according to a predetermined rule, (c) it is determined whether each of the plurality of clusters clustered in step (b) satisfies a predetermined condition, and (d) in step (c) This is a map creation method for deleting clusters that are determined not to satisfy a predetermined condition.

第7および第8の発明においても、第1の発明と同様に、地図を簡単に作成することができる。   In the seventh and eighth inventions, as in the first invention, a map can be easily created.

この発明によれば、移動体に設置した距離センサで距離を計測された位置を所定のルールに従って複数のクラスタにクラスタリングし、各クラスタが所定の条件を満たすかどうかを判別するだけで、静的物体についてのクラスタ以外を消去するので、地図を簡単に作成することができる。   According to the present invention, the positions measured by the distance sensor installed on the moving body are clustered into a plurality of clusters according to a predetermined rule, and it is determined whether or not each cluster satisfies a predetermined condition. Since a cluster other than an object is deleted, a map can be easily created.

この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   The above object, other objects, features and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.

図1はこの発明の地図作成システムの外観構成の一例を示す図解図である。FIG. 1 is an illustrative view showing one example of an external configuration of a map creation system of the present invention. 図2は図1に示す地図作成システムの電気的な構成の一例を示すブロック図である。FIG. 2 is a block diagram showing an example of an electrical configuration of the map creation system shown in FIG. 図3は図1および図2に示す距離センサの検出範囲を説明するための図解図である。FIG. 3 is an illustrative view for explaining a detection range of the distance sensor shown in FIGS. 1 and 2. 図4は移動体の位置および向きを算出するためのパラメータを説明するための図解図である。FIG. 4 is an illustrative view for explaining parameters for calculating the position and orientation of the moving body. 図5は動的物体と静的物体を判別する方法を説明するための図解図である。FIG. 5 is an illustrative view for explaining a method of discriminating between a dynamic object and a static object. 図6は動的物体と静的物体を判別する方法を説明するための他の図解図である。FIG. 6 is another illustrative view for explaining a method of discriminating between a dynamic object and a static object. 図7は動的物体と静的物体を判別する方法を説明するためのその他の図解図である。FIG. 7 is another illustrative view for explaining a method of discriminating between a dynamic object and a static object. 図8は動的物体と静的物体を判別する方法を説明するためのさらに他の図解図である。FIG. 8 is still another illustrative view for explaining a method of discriminating between a dynamic object and a static object. 図9は静的物体を判定する具体的な場合を説明するための図解図である。FIG. 9 is an illustrative view for explaining a specific case of determining a static object. 図10は静的物体と判定されたクラスタ以外のクラスタを消去した状態を説明するための図解図である。FIG. 10 is an illustrative view for explaining a state in which clusters other than those determined as static objects are deleted. 図11は作成された地図の一例を示す図解図である。FIG. 11 is an illustrative view showing one example of a created map. 図12は作成された地図に動的物体について距離を計測された点をさらに表示した一例を示す図解図である。FIG. 12 is an illustrative view showing an example in which points on which a distance is measured for a dynamic object are further displayed on a created map. 図13は図2に示すRAMのメモリマップの一例を示す図解図である。FIG. 13 is an illustrative view showing one example of a memory map of the RAM shown in FIG. 図14は図2に示すCPUの全体処理を示すフロー図である。FIG. 14 is a flowchart showing the overall processing of the CPU shown in FIG. 図15は図2に示すCPUの不要データの消去処理の一部を示すフロー図である。FIG. 15 is a flowchart showing a part of the unnecessary data erasing process of the CPU shown in FIG. 図16は図1に示すCPUの不要データの消去処理の他の一部であって、図15に後続するフロー図である。FIG. 16 is another part of the unnecessary data erasing process of the CPU shown in FIG. 1, and is a flowchart subsequent to FIG.

図1(A)を参照して、この実施例の地図作成システム10は、電気車椅子のような移動体12を含み、移動体12は、その下部に、左右の前輪(キャスター)14a、14bおよび左右の後輪16a、16bを備えている。また、移動体12の左側の枠の上部には操作レバー18が設けられる。さらに、移動体12の左側の枠であり、左足を置くステップ20aの左側に、距離センサ22aが取り付けられる。ただし、距離センサ22aは、移動体12の右側の枠であり、右足を置くステップ20bの右側に取り付けてもよい。また、移動体12を上方から見た模式図である図1(B)に示すように、移動体12の後方に、距離センサ22bが設けられる。   Referring to FIG. 1 (A), a mapping system 10 of this embodiment includes a moving body 12 such as an electric wheelchair, and the moving body 12 has left and right front wheels (casters) 14a, 14b and Left and right rear wheels 16a and 16b are provided. An operation lever 18 is provided on the upper part of the left frame of the moving body 12. Further, a distance sensor 22a is attached to the left frame of the moving body 12 on the left side of the step 20a where the left foot is placed. However, the distance sensor 22a is a right frame of the moving body 12, and may be attached to the right side of the step 20b where the right foot is placed. Further, as shown in FIG. 1B, which is a schematic view of the moving body 12 as viewed from above, a distance sensor 22 b is provided behind the moving body 12.

なお、この実施例では、距離センサ22aおよび22bを移動体12の前後に取り付けるようにしてあるが、移動体12の左右に取り付けるようにしてもよい。このように2つの距離センサ22a、22bを移動体12の前後または左右に設けるのは、移動体12の周りを全周(360°)に渡って、距離を検出(計測)するためである。ただし、これは単なる一例であり、距離センサは1つでもよく、または、3つ以上設けてもよい。   In this embodiment, the distance sensors 22a and 22b are attached to the front and rear of the moving body 12, but may be attached to the left and right of the moving body 12. The reason why the two distance sensors 22a and 22b are provided on the front and rear or the left and right sides of the moving body 12 is to detect (measure) the distance around the moving body 12 over the entire circumference (360 °). However, this is merely an example, and there may be one distance sensor or three or more distance sensors.

また、この実施例では、距離センサ22aおよび22bは、或る環境内の壁、柱のような固定物(静的物体)のみならず、人間のような移動物(動的物体)を検出(判別)する。このため、後述するように、距離センサ22a、22bを、その検出位置が地面ないし床面から所定の高さになるように設置してある。この実施例では、所定の高さは11cmである。これは、人間の脚(足首辺り)を検出するためである。   In this embodiment, the distance sensors 22a and 22b detect not only fixed objects (static objects) such as walls and pillars in a certain environment but also moving objects (dynamic objects) such as humans ( Discriminate). For this reason, as will be described later, the distance sensors 22a and 22b are installed such that their detection positions are at a predetermined height from the ground or floor. In this embodiment, the predetermined height is 11 cm. This is to detect a human leg (around the ankle).

図1(A)に戻って、移動体12の座席シートの下側であり、左の後輪16aと右の後輪16bの間には、ボックス24が設けられる。この中に、後述するコンピュータ30、入出力インターフェイス(以下、単に「インターフェイス」という。)32、モータドライバ34a、34b、モータ36a、36bおよびエンコーダ38a、38bが設けられる(図2参照)。ただし、コンピュータ30およびインターフェイス32は、ボックス24の外に設けるようにしてもよい。   Referring back to FIG. 1A, a box 24 is provided below the seat of the moving body 12 and between the left rear wheel 16a and the right rear wheel 16b. A computer 30, an input / output interface (hereinafter simply referred to as “interface”) 32, motor drivers 34a and 34b, motors 36a and 36b, and encoders 38a and 38b, which will be described later, are provided (see FIG. 2). However, the computer 30 and the interface 32 may be provided outside the box 24.

図2は図1(A)および(B)に示した地図作成システム10の電気的な構成を示すブロック図である。図2に示すように、地図作成システム10は、地図作成装置や移動体12の位置推定装置として機能するコンピュータ30を含む。コンピュータ30は、汎用のパーソナルコンピュータやワークステーションなどのコンピュータであり、CPU30a、RAM30bおよびHDD30cなどのコンポーネントを備える。   FIG. 2 is a block diagram showing an electrical configuration of the map creation system 10 shown in FIGS. 1 (A) and 1 (B). As shown in FIG. 2, the map creation system 10 includes a computer 30 that functions as a map creation device and a position estimation device for the moving body 12. The computer 30 is a computer such as a general-purpose personal computer or workstation, and includes components such as a CPU 30a, a RAM 30b, and an HDD 30c.

また、コンピュータ30には、上述した操作レバー18および距離センサ22a、22bが接続されるとともに、インターフェイス32が接続される。インターフェイス32には、モータドライバ34aを介してモータ36aが接続されるとともに、モータドライバ34bを介してモータ36bが接続される。また、インターフェイス32には、エンコーダ38aおよび38bが接続される。   Further, the operation lever 18 and the distance sensors 22a and 22b described above are connected to the computer 30 and an interface 32 is connected thereto. A motor 36a is connected to the interface 32 via a motor driver 34a, and a motor 36b is connected via a motor driver 34b. The interface 32 is connected to encoders 38a and 38b.

図示は省略するが、モータ36aの回転軸と左の後輪16aの回転軸がギアを用いて連結され、モータ36bの回転軸と右の後輪16bの回転軸がギアを用いて連結される。   Although not shown, the rotation shaft of the motor 36a and the rotation shaft of the left rear wheel 16a are connected using a gear, and the rotation shaft of the motor 36b and the rotation shaft of the right rear wheel 16b are connected using a gear. .

コンピュータ30は、この実施例の地図作成システム10の全体的な制御を司る。この実施例では、CPU30aは、操作レバー18からの操作入力に応じてモータ36a、36bの駆動を制御したり、つまり移動体12の移動を制御したり、距離センサ22a、22bおよびエンコーダ38a、38bで検出された距離データや回転数データを取得および記憶したりする。また、コンピュータ30は、SLAMの技術を用いて、検出したデータに基づいて、地図を作成したり、移動体12の位置を推定(決定)したりする。   The computer 30 governs overall control of the map creation system 10 of this embodiment. In this embodiment, the CPU 30a controls the driving of the motors 36a and 36b in accordance with the operation input from the operation lever 18, that is, controls the movement of the moving body 12, and the distance sensors 22a and 22b and the encoders 38a and 38b. The distance data and the rotation speed data detected in step 1 are acquired and stored. Further, the computer 30 creates a map or estimates (determines) the position of the moving body 12 based on the detected data using SLAM technology.

操作レバー18は、ユーザによって操作され、操作に応じた信号(操作入力)をコンピュータ30に与える。たとえば、前進、後退、停止、左折、右折および旋回などの操作を行うことができる。   The operation lever 18 is operated by a user and gives a signal (operation input) corresponding to the operation to the computer 30. For example, operations such as forward, backward, stop, left turn, right turn, and turn can be performed.

ただし、リモートコントローラ(図示せず)を用いて、遠隔操作により、操作入力をコンピュータ30に与えることもできる。   However, an operation input can also be given to the computer 30 by remote operation using a remote controller (not shown).

距離センサ22a、22bは、たとえば、汎用のレーザレンジファインダ(LRF)であり、レーザーを照射し、物体に反射して戻ってくるまでの時間から当該物体との距離を計測するものである。たとえば、トランスミッタ(図示せず)から照射したレーザーを回転ミラー(図示せず)で反射させて、扇状に一定角度(たとえば、0.25度)ずつスキャンする。また、この実施例では、検出範囲(図3参照)の全体をスキャンする周期は、25msecである。   The distance sensors 22a and 22b are, for example, general-purpose laser range finders (LRF), and measure the distance to the object from the time it takes to irradiate the laser and reflect it back to the object. For example, a laser beam emitted from a transmitter (not shown) is reflected by a rotating mirror (not shown), and scanned in a fan shape at a certain angle (for example, 0.25 degrees). In this embodiment, the period for scanning the entire detection range (see FIG. 3) is 25 msec.

図3は、距離センサ22a、22bの検出範囲(計測範囲)を説明するための図解図である。この実施例の距離センサ22a、22bの計測範囲は、半径R(R≒10〜15m)の扇形状で示される。扇の角度は、正面方向を中心として左側および右側のそれぞれに135°である。つまり、正面を中心とする270°の範囲について距離を検出することができる。   FIG. 3 is an illustrative view for explaining detection ranges (measurement ranges) of the distance sensors 22a and 22b. The measurement ranges of the distance sensors 22a and 22b in this embodiment are indicated by a fan shape having a radius R (R≈10 to 15 m). The angle of the fan is 135 ° on each of the left side and the right side with respect to the front direction. That is, the distance can be detected for a range of 270 ° centered on the front.

図2に戻って、モータドライバ34a、34bは、コンピュータ30からの指示に基づいて、モータ36a、36bを駆動する。エンコーダ38aは、モータ36aの回転数(rps)を検出し、回転数についてのデータ(回転数データ)を、インターフェイス32を介してコンピュータ30に入力する。同様に、エンコーダ38bは、モータ36bの回転数を検出し、回転数についての回転数データを、インターフェイスを介してコンピュータ30に入力する。   Returning to FIG. 2, the motor drivers 34 a and 34 b drive the motors 36 a and 36 b based on an instruction from the computer 30. The encoder 38 a detects the rotational speed (rps) of the motor 36 a and inputs data about the rotational speed (rotational speed data) to the computer 30 via the interface 32. Similarly, the encoder 38b detects the rotational speed of the motor 36b, and inputs rotational speed data regarding the rotational speed to the computer 30 via the interface.

コンピュータ30は、距離センサ22a、22bで検出される距離データと、エンコーダ38a、38bで検出される回転数データを取得して、RAM30b(HDD30cでもよい。)に記憶する。ただし、距離センサ22aで検出される距離データと距離センサ22bで検出される距離データは区別されるとともに、同じ時点において検出された距離データと回転数データは互いに関連付けられる。   The computer 30 acquires distance data detected by the distance sensors 22a and 22b and rotation speed data detected by the encoders 38a and 38b, and stores them in the RAM 30b (or the HDD 30c). However, the distance data detected by the distance sensor 22a and the distance data detected by the distance sensor 22b are distinguished, and the distance data detected at the same time point and the rotation speed data are associated with each other.

このような構成の地図作成システム10では、SLAMの技術を用いて、上述したように、地図を作成するとともに、移動体12の位置を推定する。ただし、SLAMの適用に先立って、距離データが回転数データに基づいて位置データに変換される。具体的には、移動体12に搭載された距離センサ22a、22bのそれぞれで計測された距離データが、当該距離データを検出したときの移動体12の位置および向きを基準とする2次元の座標系(移動体座標系)の位置(点)データに変換される。このとき、2つの距離センサ22a、22bの取り付け位置が考慮される。つまり、移動体12の位置と、距離センサ22a、22bの取り付け位置のずれが調整される。当然のことではあるが、距離データを検出したときの距離センサ22a、22bの計測範囲における角度も考慮される。さらに、この実施例では、移動体座標系における位置データが、2次元の世界座標系の位置データに変換される。つまり、移動体座標系では、環境についての距離データの計測(移動体12の移動)を開始したときの位置および向きを基準とするため、それを現実空間についての世界座標系に変換するようにしてある。   In the map creation system 10 having such a configuration, a map is created and the position of the moving body 12 is estimated using the SLAM technology as described above. However, prior to the application of SLAM, the distance data is converted into position data based on the rotational speed data. Specifically, the distance data measured by the distance sensors 22a and 22b mounted on the moving body 12 are two-dimensional coordinates based on the position and orientation of the moving body 12 when the distance data is detected. It is converted into position (point) data of the system (moving body coordinate system). At this time, the attachment positions of the two distance sensors 22a and 22b are considered. That is, the displacement between the position of the moving body 12 and the attachment positions of the distance sensors 22a and 22b is adjusted. Of course, the angle in the measurement range of the distance sensors 22a and 22b when the distance data is detected is also taken into consideration. Furthermore, in this embodiment, position data in the moving body coordinate system is converted into position data in a two-dimensional world coordinate system. That is, in the moving body coordinate system, since the position and orientation when the measurement of the distance data about the environment (movement of the moving body 12) is started as a reference, it is converted to the world coordinate system for the real space. It is.

この実施例では、パーティクルフィルタを用いたSLAMが適用される。簡単に説明すると、SLAMでは、移動体12の位置を推定することと地図を作成することを同時に行うため、先に観測した目印を用いて移動体12の位置を推定し、その移動体12の位置に従って新しい目印を配置して地図を成長(作成)する処理を繰り返し行う。   In this embodiment, SLAM using a particle filter is applied. In brief, in SLAM, since the position of the moving body 12 is estimated and the map is created at the same time, the position of the moving body 12 is estimated using the previously observed landmarks. The process of growing (creating) the map by arranging new landmarks according to the position is repeatedly performed.

また、SLAMではベイズフィルタが用いられる。したがって、SLAMでは、上述したように、距離センサ22a、22bで検出された距離データを世界座標系に変換した位置データz1:tと移動体12の動作a1:tに基づいて、移動体12の軌跡r1:tと地図mの同時確率密度の推定問題として定式化される。ただし、移動体12の動作aは、[v,ω]Tである。 In SLAM, a Bayes filter is used. Therefore, in SLAM, as described above, based on the position data z 1: t obtained by converting the distance data detected by the distance sensors 22a and 22b into the world coordinate system and the operation a 1: t of the moving body 12, the moving body It is formulated as an estimation problem of the simultaneous probability density of 12 trajectories r 1: t and map m. However, the operation a of the moving body 12 is [v, ω] T.

ここで、上述したように、この実施例では、計測された距離データを移動体12の位置および向きを基準として移動体座標系の位置データに変換するようにしてある。ここで、移動体12の位置および向きは、オドメトリによる計測値に基づいて求められる。具体的には、図4に示すように、移動体12の位置および向きは、左右の車輪(16a、16b)の移動速度VL、VRおよび車輪間距離Dを用いて算出される動作[v,ω]Tを追跡することにより、求められる。 Here, as described above, in this embodiment, the measured distance data is converted into position data of the moving object coordinate system based on the position and orientation of the moving object 12. Here, the position and orientation of the moving body 12 are obtained based on the measured values obtained by odometry. Specifically, as shown in FIG. 4, the position and orientation of the moving body 12 are calculated using the movement speeds V L and V R and the wheel-to-wheel distance D of the left and right wheels (16a and 16b) [ v, ω] T is obtained by tracking.

具体的には、移動体12の動作[v,ω]Tは数1に従って算出される。ただし、vは移動体12の速度であり、ωは車輪16aおよび16bの車軸の中心(図4参照)であり、車軸と垂直な軸周りの角度速である。 Specifically, the motion [v, ω] T of the moving body 12 is calculated according to Equation 1. However, v is the speed of the moving body 12, and ω is the center of the axle of the wheels 16a and 16b (see FIG. 4), and is the angular speed about the axis perpendicular to the axle.

[数1]

Figure 2014174275
[Equation 1]
Figure 2014174275

ただし、左右の車輪(16a、16b)の移動速度VL、VRは、左右の車輪(16a、16b)の回転数から算出することができ、また、車輪間隔Dは予め知ることができる。ただし、回転数に応じた移動速度VL、VRのテーブルを用意しておき、計算せずに、テーブルを参照することにより移動速度VL、VRを取得してもよい。 However, the moving speeds V L and V R of the left and right wheels (16a, 16b) can be calculated from the rotational speeds of the left and right wheels (16a, 16b), and the wheel interval D can be known in advance. However, the moving velocity V L corresponding to the rotational speed, is prepared a table of V R, without computing, it may acquire the moving speed V L, V R by referring to the table.

そして、算出された動作[v,ω]Tを積分することにより、前回算出した移動体12の位置および向きからの移動距離dと回転角度θを求めることができる。したがって、移動体12の初期位置および初期の向き(角度θ=0とする。)に、時系列に従って算出される移動距離dと回転角度θを累積的に加算することにより、時間毎の移動体12の位置および向きを知ることができる。 Then, by integrating the calculated operation [v, ω] T , the previously calculated movement distance d and rotation angle θ from the position and orientation of the moving body 12 can be obtained. Accordingly, the moving distance d and the rotation angle θ calculated according to the time series are cumulatively added to the initial position and the initial orientation (angle θ = 0) of the moving body 12, thereby moving the moving body every time. 12 positions and orientations can be known.

なお、上記の移動体12の軌跡r1:tと地図mの同時確率密度の推定問題については、「S. Thrun, W. Burgard and D. Fox: Probabilistic Robotics. MIT Press, 2005. (邦訳) 上田隆一訳:確率ロボティクス, 毎日コミュニケーションズ,2007.」(文献1)に開示されている。 Regarding the above problem of estimating the joint probability density of the trajectory r 1: t of the moving object 12 and the map m, see “S. Thrun, W. Burgard and D. Fox: Probabilistic Robotics. MIT Press, 2005.” Translated by Ryuichi Ueda: Stochastic Robotics, Mainichi Communications, 2007. "(Reference 1).

また、状態ベクトルは、移動体12の軌跡r1:tと目印の集合m1,…,mnからなる。このため、パーティクルフィルタをそのまま適用するのは困難である。そこで、Rao-Blackwellizationという操作により、パーティクルのサンプル空間を移動体12の軌跡に限定することにより、パーティクルの次元を減らし、目印の位置の分布については、パーティクル毎に解析的に計算するという方法が「K. Murphy and S. Russell: ‘Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks,’ A. Doucet ed.: Sequential Monte Carlo Methods in Practice. Springer, 2001.」(文献2)において提案されている。これは、Rao-Blackwellised Particle Filter(RBPF) SLAMと呼ばれている。その実用的な実装として、FastSLAMがある(文献1)。 The state vector locus r 1 of the moving body 12: set m 1 of t as a mark, ..., consisting of m n. For this reason, it is difficult to apply the particle filter as it is. Therefore, by limiting the sample space of the particles to the trajectory of the moving body 12 by an operation called Rao-Blackwellization, the dimension of the particles is reduced, and the distribution of the mark positions is calculated analytically for each particle. "K. Murphy and S. Russell: 'Rao-Blackwellised Particle Filtering for Dynamic Bayesian Networks,' A. Doucet ed .: Sequential Monte Carlo Methods in Practice. Springer, 2001." (Reference 2). This is called Rao-Blackwellised Particle Filter (RBPF) SLAM. As a practical implementation, there is FastSLAM (Reference 1).

このFastSLAMでは、移動体12の軌跡r1:tと地図mの同時確率密度を数2のように分解し、移動体の軌跡の分布p(r1:t,m|z1:t,a1:t)をパーティクルフィルタで計算し、目印の位置の分布p(mj|r1:t,z1:t)をカルマンフィルタで計算する。 In this FastSLAM, the simultaneous probability density of the trajectory r 1: t of the moving object 12 and the map m is decomposed as shown in Equation 2, and the trajectory distribution p (r 1: t , m | z 1: t , a of the moving object is obtained. 1: t ) is calculated by the particle filter, and the distribution p (m j | r 1: t , z 1: t ) of the mark position is calculated by the Kalman filter.

[数2]

Figure 2014174275
[Equation 2]
Figure 2014174275

また、制御データ(ここでは、車輪16a、16bの回転数データ)を用いて、時刻t−1のときに、時刻tにおける各パーティクルiの状態(状態ベクトル)が予想される。次に予測した状態と計測値に基づく実際の状態の類似度(尤度)が算出され、この類似度に基づいて重要度w(i)が計算される(リサンプリング)。たとえば、パーティクルi総数は固定であり、上記の類似度が低いパーティクルiは消去され、類似度が高いパーティクルiは分裂される。また、各パーティクルiの重要度w(i)は1で正規化される。 Further, the state (state vector) of each particle i at time t is predicted at time t−1 using control data (here, rotation speed data of wheels 16a and 16b). Next, the similarity (likelihood) between the predicted state and the actual state based on the measured value is calculated, and the importance w (i) is calculated based on this similarity (resampling). For example, the total number of particles i is fixed, the particles i having a low similarity are deleted, and the particles i having a high similarity are split. Further, the importance w (i) of each particle i is normalized by 1.

なお、この実施例では、パーティクルフィルタを用いたSLAMを適用するが、拡張カルマンフィルタを用いたSLAM(EKF-SLAM)を適用することもできる。このEKF-SLAMでは、移動体12の位置rtと地図mの同時確率密度を正規分布で表し、ベイズ推定とマルコフ性仮定を使うことにより、数3に示すような漸化式を構成する。 In this embodiment, SLAM using a particle filter is applied, but SLAM using an extended Kalman filter (EKF-SLAM) can also be applied. In the EKF-SLAM, it represents joint probability density of the position r t and the map m of the moving body 12 in a normal distribution, by using a Bayesian estimation and Markov assumption, constitute a recurrence formula as shown in Formula 3.

[数3]

Figure 2014174275
[Equation 3]
Figure 2014174275

ここで、ut=(rt,m1,…,mn)とすると、求める同時確率はp(ut|z1:t,a1:t)となり、拡張カルマンフィルタを実装することができる。ただし、動作モデルp(rt|rt-1,at)は位置rtに対して計算されるが、計測モデルはutに対して計算される。 Here, if u t = (r t , m 1 ,..., M n ), the desired joint probability is p (u t | z 1: t , a 1: t ), and an extended Kalman filter can be implemented. . However, the motion model p (r t | r t−1 , a t ) is calculated for the position r t, while the measurement model is calculated for u t .

しかし、このような地図作成システム10は、ショッピングモールやイベント会場など、人間、ショッピングカートや台車のような動的物体が存在する環境についての地図を作成するため、距離センサ22a、22bで検出された距離データを座標変換した位置データ(世界座標系の位置データ)のうち、人間などの動的物体についての位置データを消去する必要がある。   However, such a map creation system 10 is detected by the distance sensors 22a and 22b in order to create a map of an environment in which a dynamic object such as a human, a shopping cart, or a cart exists such as a shopping mall or an event venue. Among the position data obtained by coordinate conversion of the distance data (position data in the world coordinate system), it is necessary to delete the position data for a dynamic object such as a human.

そこで、この実施例では、世界座標系の位置データから、壁、柱などの静的物体(環境)以外の動的物体などを判別して、環境についての地図作成のために不要な位置データを消去するようにしてある。以下、人間または人間と思われる動的物体についての位置データを消去する場合について説明する。   Thus, in this embodiment, dynamic objects other than static objects (environments) such as walls and pillars are discriminated from position data in the world coordinate system, and unnecessary position data for creating a map of the environment is obtained. It is supposed to be erased. Hereinafter, a case where position data about a human or a dynamic object that seems to be a human is deleted will be described.

たとえば、図5には、壁の前に2人の人間が存在し、そのような状況において、移動体12が壁や人間に対面し、移動体12に設けられた距離センサ22aで距離を検出する様子が示される。ただし、図5では、壁、人間および移動体12を上方から見た図である。また、ここでは、簡単のため、距離センサ22aの計測範囲は、正面を中心とする約90°の範囲であり、その計測範囲を約3°ずつスキャンした場合について示してある。さらに、図5では、検出(計測)される距離は点線で示してある。また、上述したように、距離センサ22aは、床ないし地面から所定の高さに設置され、したがって、人間については、その脚(足首辺り)との距離を計測する。   For example, in FIG. 5, there are two people in front of the wall. In such a situation, the moving body 12 faces the wall or the person, and the distance is detected by the distance sensor 22 a provided on the moving body 12. It shows how to do. However, in FIG. 5, the wall, the person, and the moving body 12 are viewed from above. Further, here, for the sake of simplicity, the measurement range of the distance sensor 22a is a range of about 90 ° centered on the front surface, and the measurement range is shown as being scanned by about 3 °. Furthermore, in FIG. 5, the distance to be detected (measured) is indicated by a dotted line. Further, as described above, the distance sensor 22a is installed at a predetermined height from the floor or the ground. Therefore, for humans, the distance from the leg (around the ankle) is measured.

図5に示すような場合について、不要な位置データを消去する方法について説明する。簡単に説明すると、位置データに対応する位置(点)を所定のルールに従ってクラスタリングし、クラスタリングされた点群(クラスタ)の特徴から人間を判別し、人間であることが判別されたクラスタ(位置(点)データの集合)を消去する。ただし、クラスタに含まれる点の数が所定数NP(この実施例では、5)よりも少ない場合には、動的物体であるか静的物体であるかを判別するのが困難であるため、このようなクラスタについても消去するようにしてある。このクラスタに含まれる点の数もクラスタの特徴の1つである。   A method for erasing unnecessary position data in the case shown in FIG. 5 will be described. Briefly, the positions (points) corresponding to the position data are clustered according to a predetermined rule, a person is discriminated from the characteristics of the clustered point group (cluster), and the cluster (position (position ( Point) delete a set of data). However, when the number of points included in the cluster is less than a predetermined number NP (5 in this embodiment), it is difficult to determine whether the object is a dynamic object or a static object. Such clusters are also erased. The number of points included in this cluster is also one of the features of the cluster.

クラスタリングでは、距離が所定値TH(この実施例では、10cm)未満である位置(点)同士が同じクラスタに分類される。具体的には、着目する点との距離が最も近い(短い)点を検出し、その距離が所定値TH未満であるかどうかを判断する。そして、距離が所定値TH未満である場合には、検出した点を着目する点と同じクラスタに分類する。一方、距離が所定値TH以上である場合には、検出した点を着目する点とは異なる新しいクラスタに分類する。そして、新しいクラスタに分類した点を着目する点として、上記のようなクラスタリングを行う。このようにして、クラスタリングはすべての点について行われる。   In clustering, positions (points) whose distance is less than a predetermined value TH (10 cm in this embodiment) are classified into the same cluster. Specifically, a point having the shortest (short) distance to the point of interest is detected, and it is determined whether the distance is less than a predetermined value TH. If the distance is less than the predetermined value TH, the detected point is classified into the same cluster as the point of interest. On the other hand, when the distance is equal to or greater than the predetermined value TH, the detected point is classified into a new cluster different from the point of interest. Then, the clustering as described above is performed with the point classified as a new cluster as a point of interest. In this way, clustering is performed for all points.

図6は、図5において移動体12の距離センサ22aによって距離を計測された点(位置)を白丸印で示す。ただし、図6では、距離を計測された点(位置)を分かり易く示すために、壁と人間を省略してある。このような点が上述した方法により、クラスタリングされる。ただし、上述したように、実際には、世界座標系に座標変換された位置データについてクラスタリングが行われる。   FIG. 6 shows points (positions) whose distances are measured by the distance sensor 22a of the moving body 12 in FIG. However, in FIG. 6, a wall and a person are omitted for easy understanding of the point (position) from which the distance is measured. Such points are clustered by the method described above. However, as described above, actually, clustering is performed on the position data coordinate-converted to the world coordinate system.

図7は、図6に示す各点(位置)について、上述した方法により、クラスタリングを行った場合に生成されたクラスタを示す。図7から分かるように、たとえば、7つのクラスタが生成される。図7(図8および図9も同じ。)では、同じクラスタに分類されていることを示すために点を囲んである。   FIG. 7 shows clusters generated when clustering is performed on each point (position) shown in FIG. 6 by the method described above. As can be seen from FIG. 7, for example, seven clusters are generated. In FIG. 7 (FIGS. 8 and 9 are also the same), dots are enclosed to indicate that they are classified into the same cluster.

クラスタリングを終えると、各クラスタについての特徴を抽出(算出)する。この実施例では、クラスタの特徴は、当該クラスタに含まれる複数の点の分散についての主成分であり、分散行列についての固有値λ,λである。ただし、λは分散行列についての固有値の中で最も大きい固有値であり、λは固有値λの次に(2番目に)大きい固有値である。図8では、分かり易く示すために、クラスタの特徴(分散の主成分)を実線で示し、クラスタに含まれる点を省略してある。 When clustering is completed, the features for each cluster are extracted (calculated). In this embodiment, the feature of the cluster is a principal component for the dispersion of a plurality of points included in the cluster, and the eigenvalues λ 1 and λ 2 for the dispersion matrix. However, λ 1 is the largest eigenvalue among eigenvalues for the dispersion matrix, and λ 2 is the second (second) largest eigenvalue after eigenvalue λ 1 . In FIG. 8, for the sake of easy understanding, the features of clusters (principal components of dispersion) are indicated by solid lines, and points included in the clusters are omitted.

上述したように、クラスタに含まれる点の数が所定数NP未満であるクラスタについては、動的物体か静的物体かを判別することが困難であるため、固有値を算出するまでも無く、消去される。したがって、図7および図8に示すように、点の数が4つであるクラスタ4は消去される。図8(図10も同じ。)では、クラスタ4が消去されたことを、当該クラスタ4に含まれる点を囲む線を点線で記載することにより表現している。   As described above, since it is difficult to discriminate whether a cluster is a dynamic object or a static object with respect to a cluster in which the number of points included in the cluster is less than a predetermined number NP, it is not necessary to calculate an eigenvalue. Is done. Therefore, as shown in FIGS. 7 and 8, the cluster 4 having four points is erased. In FIG. 8 (the same applies to FIG. 10), the fact that the cluster 4 has been erased is expressed by describing a line surrounding a point included in the cluster 4 with a dotted line.

固有値λ,λを算出する場合には、まず、各クラスタでは、クラスタに含まれる複数の点についての重心(または平均)(μx,μy)が数4に従って算出される。ただし、クラスタにn個の点が含まれているものとする。 When calculating the eigenvalues λ 1 and λ 2 , first, in each cluster, the centroid (or average) (μ x , μ y ) for a plurality of points included in the cluster is calculated according to Equation 4. It is assumed that n points are included in the cluster.

[数4]

Figure 2014174275
[Equation 4]
Figure 2014174275

算出された重心(μx,μy)を基準とした場合についてのクラスタの分散行列Σは数5で示され、その固有値が数6に従って算出される。 The cluster dispersion matrix Σ for the case where the calculated center of gravity (μ x , μ y ) is used as a reference is expressed by Equation 5, and its eigenvalue is calculated according to Equation 6.

[数5]
Σij = E[(Xi −μi)(Xj −μj)]=E(XiXj)−E(Xi)E(Xj)
ただし、μi=E(Xi)であり、この実施例では、2つの固有値λ,λを算出するため、i=j=1,2である。
[Equation 5]
Σ ij = E [(X i −μ i ) (X j −μ j )] = E (X i X j ) −E (X i ) E (X j )
However, μ i = E (X i ), and in this embodiment, i = j = 1, 2 in order to calculate two eigenvalues λ 1 and λ 2 .

[数6]
Σx−λIx=(Σ−λI)x=0
det(Σ−λI)=0
ただし、この実施例では、2つの固有値λ,λを算出するため、Iは2行2列の単位行列である。
[Equation 6]
Σx−λIx = (Σ−λI) x = 0
det (Σ-λI) = 0
However, in this embodiment, since two eigenvalues λ 1 and λ 2 are calculated, I is a 2 × 2 unit matrix.

このようにして、固有値λ,λが算出されると、この固有値λ,λを用いて、動的物体であるか、静的物体であるかが判別される。具体的には、固有値λが第1閾値(たとえば、65cm)よりも大きい場合、または、固有値λが第2閾値(たとえば、3cm)よりも小さい場合には、このような固有値λ,λを有するクラスタを静的物体と判別する。ただし、第1閾値および第2閾値は、人間のような動的物体と壁や柱のような静的物体を判別するために実験等により経験的に得られた数値である。 When the eigenvalues λ 1 and λ 2 are calculated in this way, the eigenvalues λ 1 and λ 2 are used to determine whether the object is a dynamic object or a static object. Specifically, when the eigenvalue λ 1 is larger than a first threshold value (for example, 65 cm), or when the eigenvalue λ 2 is smaller than a second threshold value (for example, 3 cm), such eigenvalue λ 1 , A cluster having λ 2 is determined as a static object. However, the first threshold value and the second threshold value are numerical values obtained empirically in order to discriminate between a dynamic object such as a human and a static object such as a wall or a column.

このように、固有値λが第2閾値よりも小さい場合には、クラスタの形状が細長く、壁に対応するクラスタと考えられるからである。また、固有値λが第1閾値よりも大きい場合には、図9に示すように、通路の角に相当する部分の壁や柱に対応するクラスタと考えられるからである。したがって、固有値λが第1閾値以下である場合、または、固有値λが第2閾値以上である場合には、人間の脚(足首辺り)に相当する物体すなわち人間または人間のような物体に対応するクラスタであると考え、このような固有値λ,λを有するクラスタを動的物体と判別し、当該クラスタを消去する。 Thus, when the eigenvalue λ 2 is smaller than the second threshold value, the shape of the cluster is long and is considered to be a cluster corresponding to the wall. In addition, when the eigenvalue λ 1 is larger than the first threshold value, as shown in FIG. 9, it can be considered as a cluster corresponding to a wall or a column of a portion corresponding to the corner of the passage. Therefore, when the eigenvalue λ 1 is equal to or smaller than the first threshold value or when the eigenvalue λ 2 is equal to or larger than the second threshold value, an object corresponding to a human leg (around the ankle), that is, a human or an object like a human being is used. A cluster having such eigenvalues λ 1 and λ 2 is determined as a dynamic object, and the cluster is deleted.

ただし、この実施例では、固有値λ,λの両方が第2閾値(たとえば、3cm)よりも小さい場合には、物体が小さ過ぎると判断し、当該固有値λ,λを有するクラスタを消去する。 However, in this embodiment, when both the eigenvalues λ 1 and λ 2 are smaller than the second threshold value (for example, 3 cm), it is determined that the object is too small, and the cluster having the eigenvalues λ 1 and λ 2 is determined. to erase.

図10は、図8に示したクラスタ1−3、5−7について、それぞれの特徴に基づいて静的物体であるか動的物体であるかを判別し、動的物体であることが判別されたクラスタ(図10では、クラスタ2、3、5、6)を消去した図である。したがって、図5−図8および図10に示すように、壁や柱のような静的物体についてのクラスタのみが残され、人間のような動的物体についてのクラスタおよび動的物体または静的物体を判別できないクラスタのような不要なクラスタ(位置データの集合)は消去される。   FIG. 10 determines whether the cluster 1-3, 5-7 shown in FIG. 8 is a static object or a dynamic object based on the respective characteristics, and is determined to be a dynamic object. FIG. 11 is a diagram in which the clusters (clusters 2, 3, 5, and 6 in FIG. 10) are deleted. Accordingly, as shown in FIGS. 5-8 and 10, only clusters for static objects such as walls and pillars are left, clusters for dynamic objects such as humans and dynamic or static objects. Unnecessary clusters (a set of position data) such as clusters that cannot be discriminated are deleted.

図11は、上述したように、不要なクラスタを消去した後に、SLAMの技術を用いて作成した地図の一部を示す図解図である。ただし、図11(図12も同様である。)において、一本の実線で記載されているのが移動体12の移動経路であり、それ以外の複数の小さな黒点で示される領域が壁や柱などの静的物体である。   FIG. 11 is an illustrative view showing a part of a map created by using the SLAM technique after deleting unnecessary clusters as described above. However, in FIG. 11 (FIG. 12 is also the same), the movement path of the moving body 12 is indicated by a single solid line, and other areas indicated by small black dots are walls or pillars. Static objects such as

また、図12は、図11に示す地図において、人間のような動的物体と判別されたクラスタについても描画した地図である。図12において、複数の灰色の点で示される領域が人間などの動的物体である。図11に示す地図では、このような動的物体が無いため、たとえば、コミュニケーションロボットのような移動体12が道案内などのサービスを提供する場合に、移動体12自身の位置を推定するために用いる地図として使用することができる。   In addition, FIG. 12 is a map in which a cluster that is determined to be a dynamic object such as a human in the map shown in FIG. 11 is also drawn. In FIG. 12, a region indicated by a plurality of gray dots is a dynamic object such as a human. Since there is no such dynamic object in the map shown in FIG. 11, for example, when the mobile body 12 such as a communication robot provides services such as route guidance, in order to estimate the position of the mobile body 12 itself. It can be used as a map to use.

図13は、図2に示したコンピュータ30に内蔵されるRAM30bのメモリマップ300の一例を示す。図13に示すように、RAM30bは、プログラム記憶領域302およびデータ記憶領域304を含む。   FIG. 13 shows an example of the memory map 300 of the RAM 30b built in the computer 30 shown in FIG. As shown in FIG. 13, the RAM 30 b includes a program storage area 302 and a data storage area 304.

プログラム記憶領域302には、メイン処理プログラム302a、データ記憶プログラム302b、データ変換プログラム302c、不要データ消去プログラム302dおよび地図作成プログラム302eなどが記憶される。   The program storage area 302 stores a main processing program 302a, a data storage program 302b, a data conversion program 302c, an unnecessary data deletion program 302d, a map creation program 302e, and the like.

メイン処理プログラム302aは、地図作成システム10のメインルーチンを処理するためのプログラムである。データ記憶プログラム302bは、距離データおよび回転数データを取得して、RAM30bのデータ記憶領域304に記憶するためのプログラムである。ただし、移動体12を移動させている場合には、距離データおよび回転数データをHDD30cに記憶しておき、地図作成時に、HDD30cからRAM30bに読み込んでもよい。   The main processing program 302a is a program for processing the main routine of the map creation system 10. The data storage program 302b is a program for acquiring distance data and rotation speed data and storing it in the data storage area 304 of the RAM 30b. However, when the moving body 12 is moved, the distance data and the rotation speed data may be stored in the HDD 30c and read from the HDD 30c to the RAM 30b at the time of creating a map.

データ変換プログラム302cは、距離データを移動体12の位置および向きを基準として移動体座標系の位置データに座標変換し、さらに、世界座標系の位置データに座標変換するためのプログラムである。不要データ消去プログラム302dは、地図作成に先立って、動的物体と判別されたクラスタ(位置データの集合)と、動的物体または静的物体を判別できないクラスタを消去するためのプログラムである。地図作成プログラム302eは、SLAMを適用することにより、地図を作成するためのプログラムである。   The data conversion program 302c is a program for converting the distance data into the coordinate data of the moving object coordinate system based on the position and orientation of the moving object 12, and further converting the coordinate data into the position data of the world coordinate system. The unnecessary data erasing program 302d is a program for erasing a cluster (a set of position data) determined as a dynamic object and a cluster where a dynamic object or a static object cannot be determined prior to map creation. The map creation program 302e is a program for creating a map by applying SLAM.

図示は省略するが、地図作成に必要な他のプログラムもプログラム記憶領域302に記憶される。   Although illustration is omitted, other programs necessary for map creation are also stored in the program storage area 302.

また、データ記憶領域304には、距離データバッファ304aおよび回転数データバッファ304bが設けられる。距離データバッファ304aは、データ記憶プログラム302bに従って距離データを記憶する。同様に、回転数データバッファ304bは、データ記憶プログラム302bに従って回転数データを記憶する。   The data storage area 304 is provided with a distance data buffer 304a and a rotation speed data buffer 304b. The distance data buffer 304a stores distance data according to the data storage program 302b. Similarly, the rotation speed data buffer 304b stores the rotation speed data in accordance with the data storage program 302b.

また、データ記憶領域304には、位置データ304c、クラスタデータ304dおよび地図データ304eが記憶される。位置データ304cは、データ変換プログラム302cに従って世界座標系に座標変換された位置(点)データである。クラスタデータ304dは、不要データ消去プログラム302dに従って不要なクラスタ(位置データの集合)を消去するに際してクラスタリングされた位置データの集合(クラスタ)毎のデータである。地図データ304eは、地図作成プログラム302eに従って作成された地図データである。   The data storage area 304 stores location data 304c, cluster data 304d, and map data 304e. The position data 304c is position (point) data that has been coordinate-converted into the world coordinate system in accordance with the data conversion program 302c. The cluster data 304d is data for each set of position data (cluster) clustered when deleting unnecessary clusters (set of position data) according to the unnecessary data erasing program 302d. The map data 304e is map data created according to the map creation program 302e.

図示は省略するが、データ記憶領域304には、地図作成のために必要な他のデータが記憶されたり、地図作成のために必要なフラグやタイマ(カウンタ)などが設けられたりする。   Although illustration is omitted, in the data storage area 304, other data necessary for creating a map is stored, and a flag and a timer (counter) necessary for creating a map are provided.

図14は図2に示したCPU30aの全体処理を示すフロー図である。図14に示すように、CPU30aは、全体処理を開始すると、ステップS1で、距離センサ22a、22bを駆動する。そして、CPU30aは、距離センサ22a、22bからの距離データの取得および記憶を開始する。   FIG. 14 is a flowchart showing the overall processing of the CPU 30a shown in FIG. As shown in FIG. 14, when starting the entire process, the CPU 30a drives the distance sensors 22a and 22b in step S1. Then, the CPU 30a starts acquiring and storing distance data from the distance sensors 22a and 22b.

次のステップS3では、移動体12の移動制御を開始する。つまり、CPU30aは、全体処理とは並行して、移動体12の移動制御の処理を実行する。詳細な説明および図示は省略するが、移動制御の処理では、CPU30aは、操作レバー18から入力される操作入力に従ってモータドライバ34a、34bを制御し、モータ36a、36bを駆動する。   In the next step S3, movement control of the moving body 12 is started. That is, the CPU 30a executes the movement control process for the moving body 12 in parallel with the overall process. Although detailed description and illustration are omitted, in the movement control process, the CPU 30a controls the motor drivers 34a and 34b according to the operation input input from the operation lever 18 to drive the motors 36a and 36b.

続くステップS5では、距離データおよび回転数データを取得するとともに記憶する。つまり、CPU30aは、距離センサ22a、22bからの距離データを取得するとともに、エンコーダ38a、38bからの回転数データを取得し、互いに関連付けて、それぞれ時系列に従ってRAM30bに記憶する。   In the subsequent step S5, the distance data and the rotational speed data are acquired and stored. That is, the CPU 30a acquires distance data from the distance sensors 22a and 22b, acquires rotation speed data from the encoders 38a and 38b, and associates them with each other and stores them in the RAM 30b according to time series.

続いて、ステップS7では、環境の全範囲について移動したかどうかを判断する。ここでは、ユーザによって移動が終了されたかどうかが判断される。具体的には、CPU30aは、操作レバー18からの操作入力が無い状態が一定時間(たとえば、30秒)を経過したり、ユーザから移動終了の指示が入力されたりしたかどうかを判断する。   Subsequently, in step S7, it is determined whether or not the entire environment range has been moved. Here, it is determined whether or not the movement is finished by the user. Specifically, the CPU 30a determines whether there is no operation input from the operation lever 18 after a predetermined time (for example, 30 seconds) or a movement end instruction is input from the user.

ステップS7で“NO”であれば、つまり環境の全範囲の移動を終了していない場合には、そのままステップS3に戻る。一方、ステップS7で“YES”であれば、つまり環境の全範囲を移動すれば、ステップS9で、移動体12の位置および向きに応じて距離データを位置データに変換する。ここでは、上述したように、距離センサ22a、22bのそれぞれで検出された距離のデータが、移動体12の位置および向きを基準として移動体座標系の位置データに座標変換される。このとき、上述したように、2つの距離センサ22a、22bの取り付け位置が考慮される。   If “NO” in the step S7, that is, if the movement of the entire range of the environment is not completed, the process returns to the step S3 as it is. On the other hand, if “YES” in the step S7, that is, if the entire range of the environment is moved, the distance data is converted into position data in accordance with the position and orientation of the moving body 12 in a step S9. Here, as described above, the distance data detected by each of the distance sensors 22a and 22b is coordinate-converted into position data of the moving object coordinate system based on the position and orientation of the moving object 12. At this time, as described above, the attachment positions of the two distance sensors 22a and 22b are considered.

続くステップS11では、後述する不要データの消去処理(図15および図16参照)を実行し、ステップS13で、消去処理により残ったクラスタ(位置データ)にSLAMを適用して地図を作成する。そして、ステップS15で、作成した地図に対応する地図データ304eをRAM30bに記憶して、全体処理を終了する。   In the subsequent step S11, an unnecessary data erasure process (see FIGS. 15 and 16) described later is executed, and in step S13, a map is created by applying SLAM to the clusters (position data) remaining after the erasure process. In step S15, the map data 304e corresponding to the created map is stored in the RAM 30b, and the entire process is terminated.

なお、上述したように、距離センサ22a、22bの検出周期は、20msecであるため、ステップS5−S7のスキャンタイムは、20msecよりも短く設定される。   As described above, since the detection cycle of the distance sensors 22a and 22b is 20 msec, the scan time in steps S5 to S7 is set to be shorter than 20 msec.

図15および図16は、図14に示したステップS11の不要データの消去処理を示すフロー図である。図15に示すように、CPU30aは、不要データの消去処理を開始すると、ステップS31で、移動体座標系における位置データを世界座標系の位置データに変換する。   FIGS. 15 and 16 are flowcharts showing the unnecessary data erasing process in step S11 shown in FIG. As shown in FIG. 15, when the CPU 30a starts the unnecessary data erasing process, the position data in the moving object coordinate system is converted into position data in the world coordinate system in step S31.

次のステップS33では、着目する点(位置データに対応する位置)についての新しいクラスタを生成する。たとえば、ステップS33では、まだクラスタに分類されていない位置データが任意に選択され、新しいクラスタが生成される。このとき、着目する点についての位置データを含む新しいクラスタのデータが追加される。つまり、新しいクラスタのデータを追加することにより、クラスタデータ304dが更新される。   In the next step S33, a new cluster is generated for the point of interest (position corresponding to the position data). For example, in step S33, position data not yet classified into clusters is arbitrarily selected, and a new cluster is generated. At this time, new cluster data including position data for the point of interest is added. That is, the cluster data 304d is updated by adding new cluster data.

続くステップS35では、次の点への距離が所定値TH(この実施例では、10cm)未満であるかどうかを判断する。ここでは、CPU30aは、着目する点に最も近い点との距離が所定値TH未満であるかどうかを判断するのである。ステップS35で“NO”であれば、つまり次の点への距離が所定値TH以上であれば、新しいクラスタを生成するために、ステップS33に戻る。一方、ステップS35で“YES”であれば、つまり次の点への距離が所定値TH未満であれば、ステップS37で、当該次の点を既存のクラスタに追加する。つまり、当該次の点が着目する点と同じクラスタに分類される。   In a succeeding step S35, it is determined whether or not the distance to the next point is less than a predetermined value TH (10 cm in this embodiment). Here, the CPU 30a determines whether or not the distance from the point closest to the point of interest is less than the predetermined value TH. If “NO” in the step S35, that is, if the distance to the next point is equal to or greater than the predetermined value TH, the process returns to the step S33 in order to generate a new cluster. On the other hand, if “YES” in the step S35, that is, if the distance to the next point is less than the predetermined value TH, the next point is added to the existing cluster in a step S37. That is, the next point is classified into the same cluster as the point of interest.

続いて、ステップS39では、すべての点についてクラスタリングを行ったかどうかを判断する。ここでは、CPU30aは、クラスタに分類されていない位置データが残っていないかどうかを判断するのである。ステップS39で“NO”であれば、つまりクラスタリングを行っていない点が残っていれば、ステップS35に戻る。図示は省略するが、このとき、直前にクラスタに分類された点が着目する点に設定される。   In step S39, it is determined whether clustering has been performed for all points. Here, the CPU 30a determines whether or not position data that is not classified into clusters remains. If “NO” in the step S39, that is, if a point where clustering is not performed remains, the process returns to the step S35. Although illustration is omitted, at this time, the point that has been classified into the cluster immediately before is set as the point of interest.

一方、ステップS39で“YES”であれば、つまりすべての点についてクラスタリングを行えば、クラスタリングを終了したと判断し、ステップS41で、1番目のクラスタを読み出し、図16に示すステップS43で、当該クラスタに含まれる点の数が所定数NP(この実施例では、5)未満かどうかどうかを判断する。   On the other hand, if “YES” in the step S39, that is, if clustering is performed for all points, it is determined that the clustering is finished, the first cluster is read in a step S41, and in the step S43 illustrated in FIG. It is determined whether or not the number of points included in the cluster is less than a predetermined number NP (5 in this embodiment).

なお、ステップS41では、説明の便宜上、1番目のクラスタを読み出すように説明したが、ここでは、任意のクラスタが読み出される。後述するステップS57においても同様であるが、このステップS57では、静的物体であることが判別されていない任意のクラスタが読み出される。ただし、クラスタを生成した順番に従ってクラスタを読み出すようにしてもよい。   In step S41, the first cluster is described as being read for convenience of explanation, but an arbitrary cluster is read here. The same applies to step S57 described later, but in this step S57, an arbitrary cluster that has not been determined to be a static object is read. However, the clusters may be read in the order in which the clusters are generated.

ステップS43で“YES”であれば、つまり当該クラスタに含まれる点の数が所定数NP未満であれば、静的物体か動的物体かの判別が出来ないと判断して、ステップS53に進む。一方、ステップS43で“NO”であれば、つまり当該クラスタに含まれる点の数が所定数NP以上であれば、ステップS45で、数4−数6に従って、当該クラスタの固有値λ1、λ2を算出する。 If “YES” in the step S43, that is, if the number of points included in the cluster is less than the predetermined number NP, it is determined that it cannot be determined whether the object is a static object or a dynamic object, and the process proceeds to the step S53. . On the other hand, if “NO” in the step S43, that is, if the number of points included in the cluster is equal to or greater than the predetermined number NP, the eigenvalues λ 1 and λ 2 of the cluster are calculated in accordance with the equations 4 to 6 in a step S45. Is calculated.

次のステップS47では、固有値λ1およびλ2の両方が第2閾値Hmin(この実施例では、3cm)未満であるかどうかを判断する。上述したように、ここでは、静的物体または動的物体を判別することができるかどうかが判断されるのである。ステップS47で“YES”であれば、つまり固有値λ1およびλ2の両方が第2閾値Hmin未満であれば、そのままステップS53に進む。一方、ステップS47で“NO”であれば、つまり固有値λ1およびλ2の少なくとも一方が第2閾値Hmin以上であれば、ステップS49で、固有値λ1が第1閾値Hmaxよりも大きい、または、固有値λ2が第2閾値Hmin未満であるかどうかを判断する。上述したように、ここでは、人間のような動的物体であるか、壁や柱のような静的物体であるかが判断(判別)される。 In the next step S47, it is determined whether both eigenvalues λ 1 and λ 2 are less than the second threshold value H min (3 cm in this embodiment). As described above, it is determined here whether a static object or a dynamic object can be determined. If “YES” in the step S47, that is, if both the eigenvalues λ 1 and λ 2 are less than the second threshold H min , the process proceeds to a step S53 as it is. On the other hand, if "NO" in step S47, the that is, if at least one of the eigenvalues lambda 1 and lambda 2 is the second threshold value H min or more, in step S49, the eigenvalues lambda 1 is greater than the first threshold value H max, Alternatively, it is determined whether the eigenvalue λ 2 is less than the second threshold value H min . As described above, it is determined (discriminated) whether the object is a dynamic object such as a human or a static object such as a wall or a pillar.

ステップS49で“YES”であれば、つまり固有値λ1が第1閾値Hmaxよりも大きい、または、固有値λ2が第2閾値Hmin未満であれば、壁や柱のような静的物体であると判断し、ステップS51で、当該クラスタを静的物体に対応するクラスタに決定して、ステップS55に進む。 If “YES” in the step S49, that is, if the eigenvalue λ 1 is larger than the first threshold value H max , or if the eigenvalue λ 2 is less than the second threshold value H min , a static object such as a wall or a column is used. In step S51, the cluster is determined as a cluster corresponding to the static object, and the process proceeds to step S55.

一方、ステップS49で“NO”であれば、つまり固有値λ1が第1閾値Hmax以下である、または、固有値λ2が第2閾値Hmin以上である場合には、人間のような動的物体であると判断して、ステップS53で、当該クラスタを消去して、ステップS55に進む。つまり、ステップS53の処理を実行することにより、地図作成に不要な位置データが消去される。 On the other hand, if “NO” in the step S49, that is, the eigenvalue λ 1 is equal to or smaller than the first threshold value H max , or the eigenvalue λ 2 is equal to or larger than the second threshold value H min , a human-like dynamic In step S53, the cluster is erased and the process proceeds to step S55. That is, position data unnecessary for map creation is deleted by executing the processing of step S53.

ステップS55では、すべてのクラスタを判別したかどうかを判断する。ステップS55で“NO”であれば、つまりまだ判別していないクラスタが存在する場合には、ステップS57で、次のクラスタを読み出し、ステップS43に戻る。一方、ステップS55で“YES”であれば、つまりすべてのクラスタを判別すれば、図14に示した全体処理にリターンする。   In step S55, it is determined whether all clusters have been determined. If “NO” in the step S55, that is, if there is a cluster that has not yet been determined, the next cluster is read in a step S57, and the process returns to the step S43. On the other hand, if “YES” in the step S55, that is, if all the clusters are discriminated, the process returns to the entire processing shown in FIG.

この実施例によれば、距離センサの計測結果から静的物体および動的物体を判別し、静的物体についての計測結果を用いて地図を作成するので、動的物体の存在しない地図を簡単に作成することができる。   According to this embodiment, a static object and a dynamic object are discriminated from the measurement result of the distance sensor, and a map is created using the measurement result of the static object. Can be created.

また、この実施例では、距離センサで検出された距離データを位置データに変換して不要なデータを消去するので、カメラ等の他のセンサを設ける必要が無い。つまり、コストが高くなったり、画像処理などの負荷が大きくなったりすることもない。   In this embodiment, since distance data detected by the distance sensor is converted into position data and unnecessary data is deleted, it is not necessary to provide another sensor such as a camera. That is, the cost does not increase and the load such as image processing does not increase.

なお、この実施例では、移動体として電動車椅子を用いるようにしたが、これに限定される必要はない。たとえば、本件の出願人等が開発するとともに、製造販売するコミュニケーションロボット「Robovie(ロボビー)(登録商標)」を用いることができる。   In this embodiment, the electric wheelchair is used as the moving body, but it is not necessary to be limited to this. For example, a communication robot “Robovie (registered trademark)” developed by the applicant of the present application and manufactured and sold can be used.

また、この実施例では、距離センサで検出された距離データを移動体座標系の位置データに変換し、さらに、世界座標系の位置データに変換するようにしたが、環境についての距離データの計測(移動体の移動)を開始したときの現実空間における移動体の位置と向きを知ることができれば、移動体座標系の位置データを世界座標系の位置データに変換しなくてもよい。   In this embodiment, the distance data detected by the distance sensor is converted into position data in the moving body coordinate system, and further converted into position data in the world coordinate system. If it is possible to know the position and orientation of the moving object in the real space when the (moving object moving) is started, it is not necessary to convert the position data of the moving object coordinate system to the position data of the world coordinate system.

さらに、この実施例では、移動体座標系の位置データを世界座標系の位置データに変換してからクラスタリングするようにしたが、移動体座標系の位置データをクラスタリングした後に世界座標系に変換するようにしてもよい。   Furthermore, in this embodiment, the position data of the moving object coordinate system is converted into the position data of the world coordinate system and then clustered. However, the position data of the moving object coordinate system is converted into the world coordinate system after clustering. You may do it.

さらにまた、この実施例では、動的物体の例として人間ないし人間のような物体を判別する場合について詳細に説明したが、上述したように、ショッピングカートや台車などの他の動的物体を判別することもできる。ただし、ショッピングカートや台車などの他の動的物体を判別する場合には、クラスタに含まれる位置データ(点)の数やその分散についての主成分(分散行列の固有値)が満たす条件をそれぞれの場合について決定する必要がある。   Furthermore, in this embodiment, a case where a human or a human-like object is discriminated as an example of a dynamic object has been described in detail. However, as described above, other dynamic objects such as a shopping cart and a carriage are discriminated. You can also However, when discriminating other dynamic objects such as shopping carts and carts, the number of position data (points) included in the cluster and the conditions that the principal components (eigenvalues of the variance matrix) for the variance satisfy are satisfied. It is necessary to decide about the case.

また、この実施例で示した具体的な数値は単なる一例であり、限定されるべきではなく、実施される製品等に応じて適宜変更可能である。また、この実施例では、所定値や閾値を用いて大小を判断するステップにおいて、当該所定値や当該閾値を含まないようにしたが、当該所定値や当該閾値を含んで大小を判断するようにしてもよい。   In addition, the specific numerical values shown in this embodiment are merely examples, and should not be limited, and can be appropriately changed according to the product to be implemented. Further, in this embodiment, in the step of determining the magnitude using the predetermined value or threshold, the predetermined value or the threshold is not included, but the size is determined including the predetermined value or the threshold. May be.

10 …地図作成システム
12 …移動体
16a、16b …車輪
18 …操作レバー
22a、22b …距離センサ
30 …コンピュータ
34a、34b …モータドライバ
36a、36b …モータ
38a、38b …エンコーダ
DESCRIPTION OF SYMBOLS 10 ... Mapping system 12 ... Moving body 16a, 16b ... Wheel 18 ... Operation lever 22a, 22b ... Distance sensor 30 ... Computer 34a, 34b ... Motor driver 36a, 36b ... Motor 38a, 38b ... Encoder

Claims (8)

移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成する地図作成装置であって、
前記距離センサで検出された距離データを、当該距離データの計測時における前記移動体の位置および向きを基準とする位置データに変換するデータ変換手段、
前記データ変換手段によって変換された位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリング手段、
前記クラスタリング手段によってクラスタリングされた複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断手段、および
前記条件判断手段によって所定の条件を満たさないことが判断されたクラスタを消去する消去手段を備える、地図作成装置。
A map creation device that estimates a position of the mobile body based on a detection result of a distance sensor installed on the mobile body and creates a map of an environment in which the mobile body has moved,
Data conversion means for converting the distance data detected by the distance sensor into position data based on the position and orientation of the moving body when measuring the distance data;
Clustering means for clustering the position data converted by the data conversion means into a plurality of clusters according to a predetermined rule;
Condition determining means for determining whether each of a plurality of clusters clustered by the clustering means satisfies a predetermined condition, and an erasing means for erasing a cluster determined not to satisfy the predetermined condition by the condition determining means A cartography device comprising:
前記所定のルールは、位置データが示す点同士の距離が所定距離以下または所定距離未満であることである、請求項1記載の地図作成装置。   The map creating apparatus according to claim 1, wherein the predetermined rule is that a distance between points indicated by position data is equal to or less than a predetermined distance or less than a predetermined distance. 前記所定の条件は、前記クラスタに含まれる位置データが示す点の数が所定数以下または所定数未満であることを含む、請求項1または2記載の地図作成装置。   The map creation device according to claim 1, wherein the predetermined condition includes that the number of points indicated by the position data included in the cluster is equal to or less than a predetermined number or less than a predetermined number. 前記クラスタリング手段によってクラスタリングされた複数のクラスタの各々の特徴を抽出する抽出手段をさらに備え、
前記条件判断手段は、前記抽出手段によって抽出された特徴が前記所定の条件を満たすかどうかを判断する、請求項1ないし3のいずれかに記載の地図作成装置。
And further comprising an extracting means for extracting each feature of the plurality of clusters clustered by the clustering means,
The map creating apparatus according to claim 1, wherein the condition determining unit determines whether the feature extracted by the extracting unit satisfies the predetermined condition.
前記抽出手段によって抽出された特徴は、前記クラスタに含まれる位置データが示す複数の点の分散についての特徴量である、請求項4記載の地図作成装置。   The map creation apparatus according to claim 4, wherein the feature extracted by the extraction unit is a feature amount regarding a distribution of a plurality of points indicated by position data included in the cluster. 前記特徴量は、前記クラスタに含まれる位置データが示す複数の点の分散行列についての固有値であり、
前記所定の条件は、前記固有値の最大値が第1所定値よりも大きいこと、または、2番目に大きい前記固有値が当該第1所定値よりも小さい第2所定値未満であることをさらに含む、請求項5記載の地図作成装置。
The feature amount is an eigenvalue with respect to a variance matrix of a plurality of points indicated by position data included in the cluster,
The predetermined condition further includes that a maximum value of the eigenvalue is larger than a first predetermined value, or that the second largest eigenvalue is less than a second predetermined value smaller than the first predetermined value. The map creation device according to claim 5.
移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成するコンピュータの地図作成プログラムであって、
前記コンピュータに、
前記距離センサで検出された距離データを、当該距離データを計測時の前記移動体の位置および向きを基準とする位置データに変換するデータ変換ステップ、
前記データ変換ステップにおいて変換した位置データを所定のルールに従って複数のクラスタにクラスタリングするクラスタリングステップ、
前記クラスタリングステップにおいてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断する条件判断ステップ、および
前記条件判断ステップにおいて所定の条件を満たさないことが判断されたクラスタを消去する消去ステップを実行させる、地図作成プログラム。
A computer map creation program for estimating a position of the mobile body based on a detection result of a distance sensor installed on the mobile body and creating a map of an environment in which the mobile body has moved,
In the computer,
A data conversion step of converting the distance data detected by the distance sensor into position data based on the position and orientation of the moving body at the time of measurement of the distance data;
A clustering step of clustering the position data converted in the data conversion step into a plurality of clusters according to a predetermined rule;
A condition determining step for determining whether each of the plurality of clusters clustered in the clustering step satisfies a predetermined condition; and an erasing step for deleting a cluster determined not to satisfy the predetermined condition in the condition determining step. Map creation program to be executed.
移動体に設置した距離センサの検出結果に基づいて当該移動体の位置を推定するとともに、当該移動体が移動した環境についての地図を作成するコンピュータの地図作成方法であって、
前記コンピュータは、
(a)前記距離センサで検出された距離データを、当該距離データを計測時の前記移動体の位置および向きを基準とする位置データに変換し、
(b)前記ステップ(a)において変換した位置データを所定のルールに従って複数のクラスタにクラスタリングし、
(c)前記ステップ(b)においてクラスタリングした複数のクラスタの各々が所定の条件を満たすかどうかを判断し、そして
(d)前記ステップ(c)において所定の条件を満たさないことが判断されたクラスタを消去する、地図作成方法。
A computer map creation method for estimating a position of the mobile body based on a detection result of a distance sensor installed on the mobile body and creating a map of an environment in which the mobile body has moved,
The computer
(A) converting the distance data detected by the distance sensor into position data based on the position and orientation of the moving body at the time of measurement of the distance data;
(B) clustering the position data converted in step (a) into a plurality of clusters according to a predetermined rule;
(C) determining whether each of the plurality of clusters clustered in step (b) satisfies a predetermined condition; and (d) a cluster determined not to satisfy the predetermined condition in step (c). How to make a map to erase.
JP2013045673A 2013-03-07 2013-03-07 Map creation device, map creation program, and map creation method Active JP6202517B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013045673A JP6202517B2 (en) 2013-03-07 2013-03-07 Map creation device, map creation program, and map creation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013045673A JP6202517B2 (en) 2013-03-07 2013-03-07 Map creation device, map creation program, and map creation method

Publications (2)

Publication Number Publication Date
JP2014174275A true JP2014174275A (en) 2014-09-22
JP6202517B2 JP6202517B2 (en) 2017-09-27

Family

ID=51695558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013045673A Active JP6202517B2 (en) 2013-03-07 2013-03-07 Map creation device, map creation program, and map creation method

Country Status (1)

Country Link
JP (1) JP6202517B2 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017223461A (en) * 2016-06-13 2017-12-21 パナソニックIpマネジメント株式会社 Radar device and detection method
WO2017180868A3 (en) * 2016-04-14 2017-12-28 Deka Products Limited Partnership User control device for a transporter
US10220843B2 (en) 2016-02-23 2019-03-05 Deka Products Limited Partnership Mobility device control system
USD846452S1 (en) 2017-05-20 2019-04-23 Deka Products Limited Partnership Display housing
JP2019095290A (en) * 2017-11-22 2019-06-20 トヨタ自動車株式会社 Target discriminating device
KR102063534B1 (en) * 2017-11-30 2020-01-09 주식회사 모빌테크 Method for building map using LiDAR
JP2020154764A (en) * 2019-03-20 2020-09-24 東芝テック株式会社 Information processing apparatus and reading system
US10908045B2 (en) 2016-02-23 2021-02-02 Deka Products Limited Partnership Mobility device
US10926756B2 (en) 2016-02-23 2021-02-23 Deka Products Limited Partnership Mobility device
US20220206510A1 (en) * 2020-12-28 2022-06-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US11399995B2 (en) 2016-02-23 2022-08-02 Deka Products Limited Partnership Mobility device
US11681293B2 (en) 2018-06-07 2023-06-20 Deka Products Limited Partnership System and method for distributed utility service execution

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100161225A1 (en) * 2008-12-22 2010-06-24 Samsung Electronics Co., Ltd. Method of building map of mobile platform in dynamic environment
JP2010205042A (en) * 2009-03-04 2010-09-16 Daihatsu Motor Co Ltd Pedestrian detection device
JP2011505610A (en) * 2007-11-07 2011-02-24 テレ アトラス ベスローテン フエンノートシャップ Method and apparatus for mapping distance sensor data to image sensor data
JP2011059043A (en) * 2009-09-14 2011-03-24 Nara Institute Of Science & Technology Route searching device and moving system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011505610A (en) * 2007-11-07 2011-02-24 テレ アトラス ベスローテン フエンノートシャップ Method and apparatus for mapping distance sensor data to image sensor data
US20100161225A1 (en) * 2008-12-22 2010-06-24 Samsung Electronics Co., Ltd. Method of building map of mobile platform in dynamic environment
JP2010205042A (en) * 2009-03-04 2010-09-16 Daihatsu Motor Co Ltd Pedestrian detection device
JP2011059043A (en) * 2009-09-14 2011-03-24 Nara Institute Of Science & Technology Route searching device and moving system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田中 完爾 KANJI TANAKA: "非静的環境における確率的アプローチによる変化検出と自己位置推定 Probabilistic Localization with Dete", 電子情報通信学会論文誌 (J88−D−II) 第5号 THE IEICE TRANSACTIONS ON INFORMATION AND SYST, vol. 第J88-D-II巻, JPN6016046178, 26 May 2005 (2005-05-26), JP, pages 854 - 863, ISSN: 0003497096 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10752243B2 (en) 2016-02-23 2020-08-25 Deka Products Limited Partnership Mobility device control system
US12023285B2 (en) 2016-02-23 2024-07-02 Deka Products Limited Partnership Mobility device
US11794722B2 (en) 2016-02-23 2023-10-24 Deka Products Limited Partnership Mobility device
US10220843B2 (en) 2016-02-23 2019-03-05 Deka Products Limited Partnership Mobility device control system
US11679044B2 (en) 2016-02-23 2023-06-20 Deka Products Limited Partnership Mobility device
US11399995B2 (en) 2016-02-23 2022-08-02 Deka Products Limited Partnership Mobility device
US10926756B2 (en) 2016-02-23 2021-02-23 Deka Products Limited Partnership Mobility device
US10908045B2 (en) 2016-02-23 2021-02-02 Deka Products Limited Partnership Mobility device
JP2019521720A (en) * 2016-04-14 2019-08-08 デカ・プロダクツ・リミテッド・パートナーシップ User control device for transporter
WO2017180868A3 (en) * 2016-04-14 2017-12-28 Deka Products Limited Partnership User control device for a transporter
US10802495B2 (en) 2016-04-14 2020-10-13 Deka Products Limited Partnership User control device for a transporter
AU2017250598B2 (en) * 2016-04-14 2021-09-23 Deka Products Limited Partnership User control device for a transporter
IL262327A (en) * 2016-04-14 2018-11-29 Deka Products Lp User control device for a transporter
US11720115B2 (en) 2016-04-14 2023-08-08 Deka Products Limited Partnership User control device for a transporter
JP2017223461A (en) * 2016-06-13 2017-12-21 パナソニックIpマネジメント株式会社 Radar device and detection method
USD876994S1 (en) 2017-05-20 2020-03-03 Deka Products Limited Partnership Display housing
USD846452S1 (en) 2017-05-20 2019-04-23 Deka Products Limited Partnership Display housing
JP2019095290A (en) * 2017-11-22 2019-06-20 トヨタ自動車株式会社 Target discriminating device
KR102063534B1 (en) * 2017-11-30 2020-01-09 주식회사 모빌테크 Method for building map using LiDAR
US11681293B2 (en) 2018-06-07 2023-06-20 Deka Products Limited Partnership System and method for distributed utility service execution
JP2020154764A (en) * 2019-03-20 2020-09-24 東芝テック株式会社 Information processing apparatus and reading system
CN114756020A (en) * 2020-12-28 2022-07-15 熊机器人技术有限公司 Method, system and computer readable recording medium for generating robot map
EP4024338A1 (en) * 2020-12-28 2022-07-06 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
KR20220094089A (en) * 2020-12-28 2022-07-05 베어 로보틱스, 인크. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US20220206510A1 (en) * 2020-12-28 2022-06-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US11885638B2 (en) * 2020-12-28 2024-01-30 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
KR102671839B1 (en) * 2020-12-28 2024-06-04 베어 로보틱스, 인크. Method, system, and non-transitory computer-readable recording medium for generating a map for a robot

Also Published As

Publication number Publication date
JP6202517B2 (en) 2017-09-27

Similar Documents

Publication Publication Date Title
JP6202517B2 (en) Map creation device, map creation program, and map creation method
CN110023867B (en) System and method for robotic mapping
KR100772912B1 (en) Robot using absolute azimuth and method for mapping by the robot
JP6094279B2 (en) TRACKING DEVICE, TRACKING PROGRAM, AND TRACKING METHOD
CN111531549A (en) Robot system and positioning navigation method
CN108290294A (en) Mobile robot and its control method
CN108628318B (en) Congestion environment detection method and device, robot and storage medium
CN112840285A (en) Autonomous map traversal with waypoint matching
JP5902275B1 (en) Autonomous mobile device
CN109923490A (en) Method for running the robot automatically moved
JP2018206004A (en) Cruise control device of autonomous traveling carriage, and autonomous travelling carriage
JP4696088B2 (en) Autonomous moving body and moving method
EP4088884A1 (en) Method of acquiring sensor data on a construction site, construction robot system, computer program product, and training method
JP2009223757A (en) Autonomous mobile body, control system, and self-position estimation method
KR20200035930A (en) Robot for generating 3d indoor map using autonomous driving and method for controlling the robot
JP6156793B2 (en) POSITION ESTIMATION DEVICE, POSITION ESTIMATION PROGRAM, AND POSITION ESTIMATION METHOD
Caracciolo et al. Autonomous navigation system from simultaneous localization and mapping
Chikhalikar et al. An object-oriented navigation strategy for service robots leveraging semantic information
Pang et al. A Low-Cost 3D SLAM System Integration of Autonomous Exploration Based on Fast-ICP Enhanced LiDAR-Inertial Odometry
JP6299957B2 (en) MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL PROGRAM, AND MOBILE BODY CONTROL METHOD
JP2021163215A (en) Mobile object control device, mobile object control program and mobile object
JP2021196487A (en) Map conversion system and map conversion program
Clotet et al. Simulator for omnidirectional robots equipped with 2D and 3D LiDAR sensors
US20240264606A1 (en) Method and system for generating scan data of an area of interest
WO2023219058A1 (en) Information processing method, information processing device, and information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

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: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170822

R150 Certificate of patent or registration of utility model

Ref document number: 6202517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250