JP5720292B2 - Estimated position evaluation system and program - Google Patents

Estimated position evaluation system and program Download PDF

Info

Publication number
JP5720292B2
JP5720292B2 JP2011032502A JP2011032502A JP5720292B2 JP 5720292 B2 JP5720292 B2 JP 5720292B2 JP 2011032502 A JP2011032502 A JP 2011032502A JP 2011032502 A JP2011032502 A JP 2011032502A JP 5720292 B2 JP5720292 B2 JP 5720292B2
Authority
JP
Japan
Prior art keywords
robot
self
feature point
estimated
map
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
JP2011032502A
Other languages
Japanese (ja)
Other versions
JP2012173013A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011032502A priority Critical patent/JP5720292B2/en
Publication of JP2012173013A publication Critical patent/JP2012173013A/en
Application granted granted Critical
Publication of JP5720292B2 publication Critical patent/JP5720292B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、自己位置推定により生成した推定環境地図上の位置の精度を実環境地図上の位置に対して評価する推定位置評価システム及びプログラムに関する。   The present invention relates to an estimated position evaluation system and program for evaluating the accuracy of a position on an estimated environment map generated by self-position estimation with respect to a position on an actual environment map.

SLAM(Simultaneous Localization And Mapping)は、自己位置推定と環境地図の作成を同時に行う手法である。しかし、SLAMによって生成された推定環境地図上の推定位置と実環境地図上の実位置とを対応付けることは、これら2つの環境地図が異なるため困難である。   SLAM (Simultaneous Localization And Mapping) is a method of simultaneously performing self-position estimation and creation of an environmental map. However, it is difficult to associate the estimated position on the estimated environment map generated by SLAM with the actual position on the actual environment map because these two environment maps are different.

図1は、実環境地図とSLAMにより生成される推定環境地図を説明する図である。図1中、(a)はロボット等が移動可能な領域2を含む実環境地図1を示し、(b)はロボット等が移動可能な領域12を含む推定環境地図11を示す。ロボット等が移動可能な領域2,12は、図1中ハッチングで示す。図1に示すように、SLAMによって生成された推定環境地図11には、ロボットの初期位置におけるロボットの姿勢のずれ、計測時における測定誤差等により実環境地図1との間に歪みが発生する。例えば、SLAM開始時のロボット位置を原点として図1中●印で示すと、このロボット位置はSLAMで生成された推定環境地図11上でも、実環境地図1上でも原点となる。しかし、原点からロボット正面方向に例えば1m移動した位置では、SLAMで生成された推定環境地図11上のロボット位置と実環境地図1上のロボット位置の間にずれが生じる。このずれは、ロボット位置が原点から遠ざかるにつれて大きくなる。このため、ロボットが推定環境地図11上の任意の地点で推定した自己位置が、実環境地図1上の実際の位置からどの程度ずれているかを評価することは困難である。   FIG. 1 is a diagram for explaining an actual environment map and an estimated environment map generated by SLAM. In FIG. 1, (a) shows a real environment map 1 including an area 2 where a robot or the like can move, and (b) shows an estimated environment map 11 including an area 12 where the robot or the like can move. Regions 2 and 12 to which the robot or the like can move are indicated by hatching in FIG. As shown in FIG. 1, in the estimated environment map 11 generated by SLAM, distortion occurs between the estimated environment map 11 and the actual environment map 1 due to a deviation in the posture of the robot at the initial position of the robot, a measurement error at the time of measurement, and the like. For example, if the robot position at the start of SLAM is the origin and is indicated by a mark ● in FIG. 1, this robot position is the origin on both the estimated environment map 11 generated by SLAM and the actual environment map 1. However, at a position moved, for example, 1 m from the origin to the front of the robot, there is a shift between the robot position on the estimated environment map 11 generated by SLAM and the robot position on the real environment map 1. This deviation increases as the robot position moves away from the origin. For this reason, it is difficult to evaluate how much the self-position estimated by the robot at an arbitrary point on the estimated environment map 11 is different from the actual position on the actual environment map 1.

そこで、例えばロボットの初期位置における正面方向をx軸(m)、左手方向をy軸(m)と定義して、例えば座標(1,0),(2,0),(2,1),(2,2)における実環境地図上のロボット位置とSLAMで生成された推定環境地図上のロボット位置とを比較して、図2に●印で示すように実環境地図上の位置から推定環境地図上の位置へのマッピングを行う手法も提案されている。図2は、実環境地図上の位置から推定環境地図上の位置へのマッピングを行う手法を説明する図である。図2中、(a)は実環境地図1を示し、(b)は推定環境地図11を示し、図1と同一部分には同一符号を付し、その説明は省略する。   Therefore, for example, the front direction at the initial position of the robot is defined as the x-axis (m) and the left-hand direction is defined as the y-axis (m), for example, coordinates (1,0), (2,0), (2,1), Compare the robot position on the actual environment map in (2, 2) with the robot position on the estimated environment map generated by SLAM. A method for mapping to a position on a map has also been proposed. FIG. 2 is a diagram for explaining a method for mapping from a position on the actual environment map to a position on the estimated environment map. In FIG. 2, (a) shows the actual environment map 1, (b) shows the estimated environment map 11, the same parts as those in FIG.

しかし、このようなマッピングを行う場合、マッピングする位置の数が少ないと、ロボットが推定環境地図11上の任意の地点で推定した自己位置が実環境地図1上の実際の位置からどの程度ずれているかの評価精度が低下する。一方、マッピングする位置の数が多いと、評価精度の低下は抑制できるものの、マッピングの処理が複雑となり処理時間が増大してしまう。   However, when performing such mapping, if the number of positions to be mapped is small, how much the self-position estimated by the robot at any point on the estimated environment map 11 deviates from the actual position on the actual environment map 1. The accuracy of evaluation is reduced. On the other hand, if the number of mapping positions is large, a decrease in evaluation accuracy can be suppressed, but the mapping process becomes complicated and the processing time increases.

特開2004−139265号公報JP 2004-139265 A 特開2004−294421号公報JP 2004-294421 A

従来、推定環境地図上の任意の地点で推定した自己位置が、実環境地図上の実際の位置からどの程度ずれているかを比較的簡単に、且つ、精度良く評価することは難しいという問題があった。   Conventionally, there has been a problem that it is relatively easy and accurate to evaluate how much the self-position estimated at an arbitrary point on the estimated environment map deviates from the actual position on the actual environment map. It was.

そこで、本発明は、推定環境地図上の任意の地点で推定した自己位置が、実環境地図上の実際の位置からどの程度ずれているかを比較的簡単に、且つ、精度良く評価することのできる推定位置評価システム及びプログラムを提供することを目的とする。   Therefore, the present invention can relatively easily and accurately evaluate how much the self-position estimated at an arbitrary point on the estimated environment map is deviated from the actual position on the actual environment map. An object is to provide an estimated position evaluation system and program.

本発明の一観点によれば、ロボットの自己位置推定を評価する推定位置評価システムであって、前記ロボットが移動経路を挟む特徴点ペアの間を通過する時の実環境地図上のロボット位置を表す自己位置推定結果を前記ロボットから受信して記憶部に格納する格納手段と、前記記憶部に格納されている前記特徴点ペアの推定環境地図上の座標値と、前記ロボットが前記特徴点ペアの間を通過する時の前記ロボットの前記推定環境地図上の座標値とに基づいて、前記推定環境地図上のロボット位置を計算する計算手段と、前記推定環境地図上の前記ロボット位置と、前記記憶部に格納された前記自己位置推定結果を比較し、前記自己位置推定結果が前記推定環境地図上の前記ロボット位置に近い程自己位置推定の精度が高いと評価する評価手段を備え推定位置評価システムが提供される。 According to an aspect of the present invention, there is provided an estimated position evaluation system for evaluating self-position estimation of a robot, wherein the robot position on a real environment map when the robot passes between feature point pairs sandwiching a movement path is determined. Storage means for receiving a self-position estimation result representing the result from the robot and storing it in a storage unit; coordinate values on the estimated environment map of the feature point pair stored in the storage unit; and Calculation means for calculating a robot position on the estimated environment map based on coordinate values on the estimated environment map of the robot when passing between the robot, the robot position on the estimated environment map, and Evaluation means for comparing the self-position estimation results stored in the storage unit and evaluating that the self-position estimation accuracy is higher as the self-position estimation results are closer to the robot position on the estimated environment map. Estimated position evaluation system with is provided.

本発明の一観点によれば、ロボットの自己位置推定をコンピュータに評価させるプログラムであって、前記ロボットが移動経路を挟む特徴点ペアの間を通過する時の実環境地図上のロボット位置を表す自己位置推定結果を前記ロボットから受信して記憶部に格納する格納手順と、前記記憶部に格納されている前記特徴点ペアの推定環境地図上の座標値と、前記ロボットが前記特徴点ペアの間を通過する時の前記ロボットの前記推定環境地図上の座標値とに基づいて、前記推定環境地図上のロボット位置を計算する計算手順と、前記推定環境地図上の前記ロボット位置と、前記記憶部に格納された前記自己位置推定結果を比較し、前記自己位置推定結果が前記推定環境地図上の前記ロボット位置に近い程自己位置推定の精度が高いと評価する評価手順を前記コンピュータ実行させプログラムが提供される。 According to one aspect of the present invention, there is provided a program for causing a computer to evaluate a self-position estimation of a robot, which represents a robot position on a real environment map when the robot passes between feature point pairs sandwiching a movement path. A storage procedure for receiving a self-position estimation result from the robot and storing it in the storage unit; a coordinate value on the estimated environment map of the feature point pair stored in the storage unit; and A calculation procedure for calculating the position of the robot on the estimated environment map based on the coordinate values on the estimated environment map of the robot when passing between, the position of the robot on the estimated environment map, and the storage The self-position estimation results stored in the unit are compared, and the self-position estimation results are evaluated to be more accurate as the self-position estimation results are closer to the robot position on the estimated environment map. Program instructions Ru said to the computer running is provided.

開示の推定位置評価システム及びプログラムによれば、推定環境地図上の任意の地点で推定した自己位置が、実環境地図上の実際の位置からどの程度ずれているかを比較的簡単に、且つ、精度良く評価することが可能となる。   According to the disclosed estimated position evaluation system and program, it is relatively easy and accurate how much the self-position estimated at an arbitrary point on the estimated environment map deviates from the actual position on the actual environment map. It becomes possible to evaluate well.

実環境地図とSLAMにより生成される推定環境地図を説明する図である。It is a figure explaining the presumed environment map produced | generated by a real environment map and SLAM. 実環境地図上の位置から推定環境地図上の位置へのマッピングを行う手法を説明する図である。It is a figure explaining the method of mapping from the position on a real environment map to the position on an estimated environment map. 本発明の一実施例におけるサーバ装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the server apparatus in one Example of this invention. 本発明の一実施例におけるロボットの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the robot in one Example of this invention. SLAMにより生成される推定環境地図の一例を示す図である。It is a figure which shows an example of the presumed environment map produced | generated by SLAM. 位置精度評価処理の第1の例を説明するフローチャートである。It is a flowchart explaining the 1st example of a position accuracy evaluation process. 特徴点ペアを決定する処理を説明するフローチャートである。It is a flowchart explaining the process which determines a feature point pair. ステップS10の処理を説明する図である。It is a figure explaining the process of step S10. ステップS10の処理をより詳細に説明するフローチャートである。It is a flowchart explaining the process of step S10 in detail. 位置精度評価処理の第2の例を説明するフローチャートである。It is a flowchart explaining the 2nd example of a position accuracy evaluation process. 位置精度評価処理の第3の例を説明するフローチャートである。It is a flowchart explaining the 3rd example of a position accuracy evaluation process. ステップS25の処理を説明する図である。It is a figure explaining the process of step S25. ステップS25の処理をより詳細に説明するフローチャートである。It is a flowchart explaining the process of step S25 in detail. 位置精度評価処理の第4の例を説明するフローチャートである。It is a flowchart explaining the 4th example of a position accuracy evaluation process.

開示の推定位置評価システム及びプログラムは、ロボットの自己位置推定を評価する。ロボットが移動経路を挟む特徴点ペアの間を通過する時の自己位置推定結果を求め、特徴点ペアの推定環境地図上の座標値と、ロボットが特徴点ペアの間を通過する時のロボットの座標値を基準とした位置情報とに基づいて、推定環境地図上のロボット位置を計算する。推定環境地図上のロボット位置と自己位置推定結果を比較することで、自己位置推定の精度を評価する。   The disclosed estimated position evaluation system and program evaluate self-position estimation of a robot. Obtain the self-position estimation result when the robot passes between the feature point pairs across the movement path, and the coordinate value on the estimated environment map of the feature point pair and the robot's time when the robot passes between the feature point pairs The robot position on the estimated environment map is calculated based on the position information based on the coordinate values. The accuracy of self-position estimation is evaluated by comparing the robot position on the estimated environment map with the self-position estimation result.

以下に、開示の推定位置評価システム及びプログラムの各実施例を図面と共に説明する。   Embodiments of the disclosed estimated position evaluation system and program will be described below with reference to the drawings.

本発明の一実施例における推定位置評価システムは、ネットワークを介して互いに通信可能な1台のサーバ装置と少なくとも1台のロボットとで形成できる。   The estimated position evaluation system in an embodiment of the present invention can be formed by one server device and at least one robot that can communicate with each other via a network.

図3は、本発明の一実施例におけるサーバ装置の構成の一例を示すブロック図である。図3に示すサーバ装置20は、CPU(Central Processing Unit)21、記憶部22、入力部23、表示部24、及び通信部25がバス29で接続された構成を有する。尚、CPU21は、記憶部22、入力部23、表示部24、及び通信部25のうち少なくとも1つとバス29を用いることなく直接接続されていても良い。   FIG. 3 is a block diagram showing an example of the configuration of the server device in one embodiment of the present invention. The server device 20 shown in FIG. 3 has a configuration in which a CPU (Central Processing Unit) 21, a storage unit 22, an input unit 23, a display unit 24, and a communication unit 25 are connected by a bus 29. Note that the CPU 21 may be directly connected to at least one of the storage unit 22, the input unit 23, the display unit 24, and the communication unit 25 without using the bus 29.

CPU21は、サーバ装置20全体の制御を司るプロセッサを形成する。記憶部22は、半導体記憶装置、光記憶装置、光磁気記憶装置、磁気記憶装置等で形成されており、複数の記憶装置、或いは、複数種類の記憶装置で形成されていても良い。半導体記憶装置には、RAM(Random Access Memory)、ROM(Read Only Memory)、メモリカード等が含まれる。光、光磁気、及び磁気記憶装置には、ディスク装置等が含まれる。記憶部22は、可搬型の記憶装置を含んでも良い。記憶部22は、CPU21が実行するプログラム、CPU21が実行する演算の中間結果、各種データ等を格納する。入力部23は、キーボード、マウス等の入力装置で形成され、CPU21に各種指示はデータを入力するのに用いられる。表示部24は、操作画面、CPU21の処理結果等を表示するのに用いられる。通信部25は、無線ネットワーク(図示せず)を介して図4と共に後述するロボット30と通信可能であり、更に、有線ネットワーク及び無線ネットワークの少なくとも一方を介して距離センサ等の外部装置と通信可能であっても良い。   The CPU 21 forms a processor that controls the entire server device 20. The storage unit 22 is formed of a semiconductor storage device, an optical storage device, a magneto-optical storage device, a magnetic storage device, or the like, and may be formed of a plurality of storage devices or a plurality of types of storage devices. The semiconductor storage device includes a RAM (Random Access Memory), a ROM (Read Only Memory), a memory card, and the like. Optical, magneto-optical, and magnetic storage devices include disk devices and the like. The storage unit 22 may include a portable storage device. The storage unit 22 stores programs executed by the CPU 21, intermediate results of calculations executed by the CPU 21, various data, and the like. The input unit 23 is formed by an input device such as a keyboard and a mouse, and various instructions are used to input data to the CPU 21. The display unit 24 is used to display an operation screen, a processing result of the CPU 21, and the like. The communication unit 25 can communicate with a robot 30 described later with reference to FIG. 4 via a wireless network (not shown), and further can communicate with an external device such as a distance sensor via at least one of a wired network and a wireless network. It may be.

CPU21は、記憶部22に格納されているプログラムを実行することで、サーバ装置20の各種機能を実現する。つまり、記憶部22に格納されているプログラムには、CPU21に位置精度評価処理を含むサーバ装置20の各種処理を実行させる各手順が含まれる。プログラムには、後述する特徴点抽出処理、特徴点ペア決定処理、中間点決定処理等を含む各種処理を実行させる各手順が含まれても良い。プログラムを格納したコンピュータ読み取り可能な記憶媒体は、この例では記憶部22を形成する少なくとも1つの記憶装置で形成可能である。   The CPU 21 implements various functions of the server device 20 by executing a program stored in the storage unit 22. That is, the program stored in the storage unit 22 includes procedures for causing the CPU 21 to execute various processes of the server device 20 including the position accuracy evaluation process. The program may include procedures for executing various processes including a feature point extraction process, a feature point pair determination process, an intermediate point determination process, and the like, which will be described later. The computer-readable storage medium storing the program can be formed by at least one storage device forming the storage unit 22 in this example.

図4は、本発明の一実施例におけるロボットの構成の一例を示すブロック図である。ロボット30は、自律走行が可能(即ち、自律走行型)であり、周知の自己位置推定機能を有する。図4に示すロボット30は、CPU31、記憶部32、入力部33、表示部34、通信部35、駆動部36、及び測定部37がバス39で接続された構成を有する。尚、CPU31は、記憶部32、入力部33、表示部34、通信部35、駆動部36、及び測定部37のうち少なくとも1つとバス39を用いることなく直接接続されていても良い。   FIG. 4 is a block diagram showing an example of the configuration of the robot in one embodiment of the present invention. The robot 30 is capable of autonomous traveling (that is, autonomous traveling type) and has a known self-position estimation function. The robot 30 shown in FIG. 4 has a configuration in which a CPU 31, a storage unit 32, an input unit 33, a display unit 34, a communication unit 35, a drive unit 36, and a measurement unit 37 are connected by a bus 39. The CPU 31 may be directly connected to at least one of the storage unit 32, the input unit 33, the display unit 34, the communication unit 35, the drive unit 36, and the measurement unit 37 without using the bus 39.

CPU31は、ロボット30全体の制御を司るプロセッサを形成する。記憶部32は、半導体記憶装置、光記憶装置、光磁気記憶装置、磁気記憶装置等で形成されており、複数の記憶装置、或いは、複数種類の記憶装置で形成されていても良い。半導体記憶装置には、RAM(Random Access Memory)、ROM(Read Only Memory)、メモリカード等が含まれる。光、光磁気、及び磁気記憶装置には、ディスク装置等が含まれる。記憶部32は、可搬型の記憶装置を含んでも良い。記憶部32は、CPU31が実行するプログラム、CPU31が実行する演算の中間結果、各種データ等を格納する。入力部33は、キーボード等の入力装置で形成され、CPU31に各種指示はデータを入力するのに用いられる。表示部34は、操作画面、CPU31の処理結果、ユーザに対するメッセージ等を表示するのに用いられる。通信部55は、無線ネットワークを介して図3に示すサーバ装置20と通信可能であり、更に、有線ネットワーク及び無線ネットワークの少なくとも一方を介して距離センサ等の外部装置と通信可能であっても良い。駆動部36は、ロボット30の自律走行を可能とするモータ等を含む周知の構成を有する。測定部37は、ロボット30から壁等の対象物までの距離を測定するLRF(Laser Range Finder)、画像を撮像するカメラ、マーカ等を検出する光学的検出装置、GPS(Global Positioning System)等を含んでも良い。測定部37は、ロボット30が採用する自己位置推定機能を実現できる構成であれば特に限定されない。   The CPU 31 forms a processor that controls the entire robot 30. The storage unit 32 is formed of a semiconductor storage device, an optical storage device, a magneto-optical storage device, a magnetic storage device, or the like, and may be formed of a plurality of storage devices or a plurality of types of storage devices. The semiconductor storage device includes a RAM (Random Access Memory), a ROM (Read Only Memory), a memory card, and the like. Optical, magneto-optical, and magnetic storage devices include disk devices and the like. The storage unit 32 may include a portable storage device. The storage unit 32 stores programs executed by the CPU 31, intermediate results of operations executed by the CPU 31, various data, and the like. The input unit 33 is formed by an input device such as a keyboard, and various instructions are used to input data to the CPU 31. The display unit 34 is used to display an operation screen, a processing result of the CPU 31, a message for the user, and the like. The communication unit 55 can communicate with the server device 20 illustrated in FIG. 3 via a wireless network, and further can communicate with an external device such as a distance sensor via at least one of a wired network and a wireless network. . The drive unit 36 has a known configuration including a motor or the like that enables the robot 30 to autonomously travel. The measurement unit 37 includes an LRF (Laser Range Finder) that measures the distance from the robot 30 to an object such as a wall, a camera that captures an image, an optical detection device that detects a marker, a GPS (Global Positioning System), and the like. May be included. The measurement part 37 will not be specifically limited if it is the structure which can implement | achieve the self-position estimation function which the robot 30 employ | adopts.

CPU31は、記憶部32に格納されているプログラムを実行することで、ロボット30の各種機能を実現する。つまり、記憶部32に格納されているプログラムには、CPU31に自律走行処理、ロボット30の位置を推定する自己位置推定機能を実現させる自己位置推定処理を含むロボット30の各種処理を実行させる各手順が含まれる。プログラムには、特徴点抽出処理、特徴点ペア決定処理、中間点決定処理等を含む各種処理を実行させる各手順が含まれても良い。プログラムを格納したコンピュータ読み取り可能な記憶媒体は、この例では記憶部32を形成する少なくとも1つの記憶装置で形成可能である。   The CPU 31 implements various functions of the robot 30 by executing programs stored in the storage unit 32. That is, in the program stored in the storage unit 32, each procedure for causing the CPU 31 to execute various processes of the robot 30 including an autonomous running process and a self-position estimation process for realizing a self-position estimation function for estimating the position of the robot 30. Is included. The program may include procedures for executing various processes including a feature point extraction process, a feature point pair determination process, an intermediate point determination process, and the like. The computer-readable storage medium storing the program can be formed by at least one storage device forming the storage unit 32 in this example.

尚、ロボット30への入力を音声で行う場合には、入力部33に代えて、或いは、入力部33に加えて音声入力部(例えば、マイクロホン)を設け、CPU31に音声認識機能を持たせれば良い。又、ロボット30からユーザへの出力を音声で行う場合には、表示部34に代えて、或いは、表示部34に加えて音声出力部(例えば、スピーカ)を設け、CPU31に音声合成機能を持たせれば良い。   When inputting to the robot 30 by voice, a voice input unit (for example, a microphone) is provided instead of the input unit 33 or in addition to the input unit 33, and the CPU 31 has a voice recognition function. good. Further, in the case where the output from the robot 30 to the user is performed by voice, a voice output unit (for example, a speaker) is provided instead of the display unit 34 or in addition to the display unit 34, and the CPU 31 has a voice synthesis function. You can do it.

図5は、SLAMにより生成される推定環境地図の一例を示す図である。図5中、図2(b)と同一部分には同一符号を付し、その説明は省略する。この例では、図5に示すように、SLAMにより生成された推定環境地図、この例ではグリッド付きマップ(以下、単にグリッドマップと言う)上の特徴的な2点(以下、特徴点と言う)A,Bをペアとして着目する。特徴点A,Bのペアは、複数ペア選んでも良いが、図5では説明の便宜上1つのペアのみを示す。特徴点A,Bは、例えばロボット30が移動可能な領域12の境界を形成する実環境における壁の角(凸部又は凹部)、机の角、パーティションの端等(以下、単にコーナと言う)に相当する。図5の例では、特徴点Aは実環境における壁の角の凹部に相当し、特徴点Bは実環境における壁の角の凸部に相当する。特徴点A,Bは、例えば測定部37のLRFの測定結果から決定することもできる。上記の特徴点A,Bのグリッドマップ上における座標を求め、特徴点A,B間の点の位置(例えば、特徴点A,Bの中点)を求める。ロボット30の自己位置推定処理の精度を評価する際は、これら特徴点A,Bの間の点をロボット30が通過するようにする。ロボット30がこれら特徴点A,Bの間の点に位置する時、自己位置推定されたロボット位置とグリッドマップから算出された特徴点A,B間の点の位置との差を調べ、自己位置推定の精度を評価する。自己位置推定されたロボット位置とグリッドマップから算出された特徴点A,B間の点の位置との差が小さい程、自己位置推定の精度が高いと評価することができる。   FIG. 5 is a diagram illustrating an example of an estimated environment map generated by SLAM. In FIG. 5, the same parts as those in FIG. 2B are denoted by the same reference numerals, and the description thereof is omitted. In this example, as shown in FIG. 5, two characteristic points (hereinafter referred to as feature points) on the estimated environment map generated by SLAM, in this example, a map with a grid (hereinafter simply referred to as grid map). Focus on A and B as a pair. A plurality of pairs of feature points A and B may be selected, but FIG. 5 shows only one pair for convenience of explanation. The feature points A and B are, for example, wall corners (projections or recesses), desk corners, partition edges, and the like (hereinafter simply referred to as corners) that form the boundary of the region 12 where the robot 30 can move. It corresponds to. In the example of FIG. 5, the feature point A corresponds to the concave portion of the corner of the wall in the real environment, and the feature point B corresponds to the convex portion of the corner of the wall in the real environment. The feature points A and B can be determined from the LRF measurement result of the measurement unit 37, for example. The coordinates of the feature points A and B on the grid map are obtained, and the position of the point between the feature points A and B (for example, the midpoint of the feature points A and B) is obtained. When evaluating the accuracy of the self-position estimation process of the robot 30, the robot 30 is allowed to pass through the points between the feature points A and B. When the robot 30 is located at a point between these feature points A and B, the difference between the robot position estimated from the self-position and the point position between the feature points A and B calculated from the grid map is examined. Evaluate the accuracy of the estimation. It can be evaluated that the smaller the difference between the robot position estimated by the self-position and the position of the point between the feature points A and B calculated from the grid map, the higher the accuracy of the self-position estimation.

従って、SLAMにより生成された推定環境地図上の位置と実環境地図上の位置とを対応付けることができる。このため、ある地点においてロボット30が自己位置推定した位置が、SLAMにより生成された推定環境地図上の位置とどの程度ずれているかを評価することができる。   Therefore, the position on the estimated environment map generated by SLAM can be associated with the position on the real environment map. For this reason, it is possible to evaluate how much the position estimated by the robot 30 at a certain point is different from the position on the estimated environment map generated by SLAM.

尚、以下の説明では、例えば壁の角(凸部又は凹部)、机の角、パーティションの端等の特徴的な点が設けられた箇所を「コーナ」と言う。   In the following description, for example, a corner where a characteristic point such as a corner of a wall (convex portion or concave portion), a corner of a desk, or an edge of a partition is provided is referred to as a “corner”.

図6は、位置精度評価処理の第1の例を説明するフローチャートである。図6に示す位置精度評価処理は、例えばサーバ装置20のCPU21により実行される。   FIG. 6 is a flowchart for explaining a first example of the position accuracy evaluation process. The position accuracy evaluation process shown in FIG. 6 is executed by the CPU 21 of the server device 20, for example.

図6において、ステップS1は、通信部25がロボット30から受信したデータに基づいて、SLAMにより生成したグリッドマップデータを周知の方法で取得して記憶部22に格納する。ステップS2は、特徴点ペアを手動で決定するか否かを判定する。特徴点ペアを手動で決定するか否かは、入力部23により選択されても、デフォルトにより予め決定されていても良い。ステップS2の判定結果がYESであると処理は後述するステップS5へ進む。ステップS2の判定結果がNOであると、ステップS3は、グリッドマップデータからロボット30の移動可能な領域12の境界に存在するコーナを周知の方法で検出して記憶部22に格納する。グリッドマップデータは、例えば記憶部22に予め格納されていても、入力部23から入力されても、通信部25がロボット30から受信しても良い。ステップS4は、ステップS3で検出された複数のコーナの中から、ロボット30の移動経路を挟む隣接する特徴点ペアを決定して記憶部22に格納する。   In FIG. 6, in step S <b> 1, based on the data received from the robot 30 by the communication unit 25, grid map data generated by SLAM is acquired by a known method and stored in the storage unit 22. In step S2, it is determined whether or not the feature point pair is determined manually. Whether the feature point pair is determined manually may be selected by the input unit 23 or may be determined in advance by default. If the decision result in the step S2 is YES, the process advances to a step S5 described later. If the decision result in the step S2 is NO, a step S3 detects a corner existing at the boundary of the movable region 12 of the robot 30 from the grid map data by a known method and stores it in the storage unit 22. For example, the grid map data may be stored in advance in the storage unit 22, input from the input unit 23, or received from the robot 30 by the communication unit 25. In step S4, adjacent feature point pairs that sandwich the movement path of the robot 30 are determined from the plurality of corners detected in step S3 and stored in the storage unit 22.

図7は、特徴点ペアを決定するステップS4の処理を説明するフローチャートである。図7において、ステップS401は、グリッドマップデータから検出されたコーナを取得する。ステップS402は、グリッドマップデータに対してロボット30の移動経路を設定する。ロボット30の移動経路は、例えば入力部23から入力される。ステップS403は、設定された移動経路の例えば左側(或いは、右側)のコーナAを移動経路に沿って検出し、記憶部22に格納する。ステップS404は、検出されたコーナAに対し、ペアの候補となるコーナを検出し、記憶部22に格納する。ステップS405は、ペア候補となるコーナのうち、コーナAとの距離が最小となるコーナBを選択し、記憶部22に格納する。ステップS406は、コーナAとコーナBの距離が基準値以下であれば、コーナA,Bを特徴点ペアに決定し、記憶部22に格納する。ステップS407は、移動経路の左側に沿って検出した全てのコーナに対してステップS403〜S406の処理を実行したか否かを判定し、判定結果がNOであると処理はステップS403へ戻る。一方、ステップS407の判定結果がYESであると、処理は図6に示すステップS5へ進む。   FIG. 7 is a flowchart illustrating the process of step S4 for determining a feature point pair. In FIG. 7, step S401 obtains a corner detected from grid map data. In step S402, the movement path of the robot 30 is set for the grid map data. The movement path of the robot 30 is input from the input unit 23, for example. In step S 403, for example, the left side (or right side) corner A of the set travel route is detected along the travel route and stored in the storage unit 22. In step S <b> 404, a corner that is a candidate for a pair is detected for the detected corner A and stored in the storage unit 22. In step S <b> 405, the corner B that minimizes the distance to the corner A is selected from the corners that are pair candidates, and is stored in the storage unit 22. In step S406, if the distance between the corner A and the corner B is equal to or smaller than the reference value, the corners A and B are determined as a feature point pair and stored in the storage unit 22. In step S407, it is determined whether or not the processing in steps S403 to S406 has been executed for all corners detected along the left side of the movement route. If the determination result is NO, the processing returns to step S403. On the other hand, if the decision result in the step S407 is YES, the process advances to a step S5 shown in FIG.

ステップS2の判定結果がYESであり特徴点ペアを手動で決定する場合には、オペレータ(又は、管理者)が目で見て、例えば表示部24に表示したグリッドマップ上のコーナ等の2つの特徴点で、且つ、ロボット30がこれらの2つの特徴点の間を通るような特徴点ペアを入力部23から選択して決定する。図6において、ステップS5は、ステップS2の判定結果がYESの場合は手動で決定された特徴点ペアについて、或いは、ステップS2の判定結果がNOの場合はステップS3,S4により自動的に決定された特徴点ペアについて、グリッドマップ上の座標値を求め、処理はステップS6へ進む。   When the determination result of step S2 is YES and the feature point pair is determined manually, the operator (or the administrator) visually sees two corners on the grid map displayed on the display unit 24, for example. A feature point pair that is a feature point and that the robot 30 passes between these two feature points is selected from the input unit 23 and determined. In FIG. 6, step S5 is automatically determined for the feature point pair determined manually if the determination result in step S2 is YES, or in steps S3 and S4 if the determination result in step S2 is NO. The coordinate values on the grid map are obtained for the feature point pairs, and the process proceeds to step S6.

ステップS6は、グリッドマップ上の特徴点ペアに対応する実環境地図上の位置(即ち、実環境のコーナ)に距離センサ900を取り付ける。例えば図5に○印で示す特徴点A,Bが選択された場合、特徴点Aから特徴点Bの方向への距離、或いは、特徴点Bから特徴点Aの方向への距離、或いは、図5に示すようにこれら両方の距離を測定するように測距センサ900を取り付ける。距離センサ900には、例えば超音波センサ、赤外線センサ、LRF等を用いても良い。従って、距離センサ900は、実環境の移動経路を移動してくるロボット30までの距離を検出し、検出した距離を示す距離データ(即ち、特徴点A及び/又はBの座標値を基準とした距離情報)をネットワークを介してサーバ装置20へ送信する。サーバ装置20は、通信部25がネットワークを介して受信した距離センサ900からの距離データを記憶部22に格納する。各特徴点A,Bに対して距離センサ900が設けられている場合には、サーバ装置20のCPU21は、2つの距離センサ900の出力を用いることで、距離センサ900が1つしか設けられていない場合に比べてロボット30の移動経路上の位置をより正確に検出することができる。尚、距離センサ900の出力は、ネットワークを介してロボット30に送信しても良い。この場合、ロボット30は、通信部35がネットワークを介して受信した距離センサ900からの距離データを記憶部32に格納し、必要に応じて通信部35からネットワークを介してサーバ装置20へ送信しても良い。   In step S6, the distance sensor 900 is attached to a position on the real environment map (that is, a corner of the real environment) corresponding to the feature point pair on the grid map. For example, when feature points A and B indicated by circles in FIG. 5 are selected, the distance from the feature point A to the feature point B, the distance from the feature point B to the feature point A, As shown in FIG. 5, the distance measuring sensor 900 is attached so as to measure both of these distances. For the distance sensor 900, for example, an ultrasonic sensor, an infrared sensor, an LRF, or the like may be used. Therefore, the distance sensor 900 detects the distance to the robot 30 that moves along the moving path in the real environment, and distance data indicating the detected distance (that is, based on the coordinate values of the feature points A and / or B). Distance information) is transmitted to the server device 20 via the network. The server device 20 stores the distance data from the distance sensor 900 received by the communication unit 25 via the network in the storage unit 22. When the distance sensor 900 is provided for each of the feature points A and B, the CPU 21 of the server device 20 uses the outputs of the two distance sensors 900 so that only one distance sensor 900 is provided. The position of the robot 30 on the moving path can be detected more accurately than in the case where there is not. The output of the distance sensor 900 may be transmitted to the robot 30 via a network. In this case, the robot 30 stores the distance data from the distance sensor 900 received by the communication unit 35 via the network in the storage unit 32 and transmits the data from the communication unit 35 to the server device 20 via the network as necessary. May be.

ステップS6の後、オペレータは、ロボット30をSLAMにより生成されたグリッドマップ上の所定位置に対応する位置に置き、ロボット30の自己位置推定プログラムを起動する。自己位置推定プログラムが起動されてロボット30の自己位置推定処理が開始した後、SLAMにより生成されたグリッドマップ上の対応する座標位置でロボット30の初期位置を設定する。ロボット30の自己位置推定プログラムの起動及び初期位置の設定は、オペレータがサーバ20の入力部23からロボット30への指示を入力して指示を通信部25からロボット30へ送信することで行っても、オペレータがロボット30の入力部33からロボット30への指示を直接入力することで行っても良い。その後、ステップS7は、ロボット30に自律走行(即ち、自律走行処理)を行わせる自律走行指示を通信部25を介して送信し、自律走行指示に基づいてロボット30の駆動部36が周知の方法で駆動されることで、ロボット30が上記移動経路に沿って移動する。ステップS8は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時のロボット30の自己位置推定結果をロボット30から受信して記憶部22に格納する。ロボット30の自己位置推定結果は、ロボット30内で求められてサーバ装置20に送信される。ステップS9は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時に距離センサ900から送信されてくる距離データを記憶部22に格納する。距離データは、サーバ装置20が距離センサ900から直接受信しても、ロボット30を介して受信しても良い。ステップS10は、記憶部22に格納されているグリッドマップ上の特徴点ペアの位置と、記憶部22に格納されている距離センサ900からの距離データとに基づいて計算されるグリッドマップ上のロボット30の位置を、記憶部22に格納されているロボット30の自己位置推定結果と比較することで自己位置推定の精度を評価し、処理は終了する。自己位置推定結果の精度は、グリッドマップ上のロボット30の位置に近い程精度が高いと評価できる。   After step S6, the operator places the robot 30 at a position corresponding to a predetermined position on the grid map generated by the SLAM, and starts the self-position estimation program for the robot 30. After the self-position estimation program is started and the self-position estimation process of the robot 30 is started, the initial position of the robot 30 is set at the corresponding coordinate position on the grid map generated by SLAM. The activation of the self-position estimation program of the robot 30 and the setting of the initial position may be performed by an operator inputting an instruction to the robot 30 from the input unit 23 of the server 20 and transmitting the instruction from the communication unit 25 to the robot 30. The operator may directly input an instruction to the robot 30 from the input unit 33 of the robot 30. Thereafter, in step S7, an autonomous traveling instruction for causing the robot 30 to perform autonomous traveling (that is, autonomous traveling processing) is transmitted via the communication unit 25, and the driving unit 36 of the robot 30 is a well-known method based on the autonomous traveling instruction. The robot 30 moves along the movement path. In step S <b> 8, the robot 30 receives the self-position estimation result of the robot 30 when the robot 30 passes between the feature point pairs determined as described above, and stores the result in the storage unit 22. The self-position estimation result of the robot 30 is obtained within the robot 30 and transmitted to the server device 20. In step S9, the distance data transmitted from the distance sensor 900 when the robot 30 passes between the feature point pairs determined as described above is stored in the storage unit 22. The distance data may be received directly by the server device 20 from the distance sensor 900 or via the robot 30. In step S10, the robot on the grid map calculated based on the position of the feature point pair on the grid map stored in the storage unit 22 and the distance data from the distance sensor 900 stored in the storage unit 22 The accuracy of self-position estimation is evaluated by comparing the position of 30 with the self-position estimation result of the robot 30 stored in the storage unit 22, and the process ends. It can be evaluated that the accuracy of the self-position estimation result is higher as it is closer to the position of the robot 30 on the grid map.

図8は、図6に示すステップS10の処理を説明する図である。図8中、図5と同一部分には同一符号を付し、その説明は省略する。図8に示す例では、特徴点ペアのうち、特徴点Aのグリッドマップ上の座標値(x1,y1)は例えば(2,2)であり、特徴点Bのグリッドマップ上の座標値(x2,y2)は例えば(3,3)である。又、図8中、Cはロボット30の通過位置を示す。グリッドマップ上の座標値(x,y)におけるx及びyは、この例ではいずれも任意単位であるが、メートル(m)等の単位を用いても良いことは言うまでもない。   FIG. 8 is a diagram for explaining the processing in step S10 shown in FIG. In FIG. 8, the same parts as those in FIG. In the example shown in FIG. 8, the coordinate value (x1, y1) of the feature point A on the grid map of the feature point pair is, for example, (2, 2), and the coordinate value (x2) of the feature point B on the grid map. , y2) is, for example, (3, 3). In FIG. 8, C indicates the passing position of the robot 30. Although x and y in the coordinate values (x, y) on the grid map are arbitrary units in this example, it goes without saying that units such as meters (m) may be used.

図9は、ステップS10の処理をより詳細に説明するフローチャートである。図9において、ステップS1001は、ロボット30が特徴点ペアA,Bの間を通過した時、特徴点Aに取り付けられた距離センサ900により特徴点Aからロボット30の通過位置Cまでの距離データ(例えば0.8)を例えば距離センサ900から受信して記憶部22に格納する。ステップS1002は、ロボット30が特徴点ペアA,Bの間を通過した時、ロボット30の自己位置推定処理により得られた自己推定位置(例えば(2.7,2.8))をロボット30から受信して記憶部22に格納する。ステップS1003は、例えば距離センサ900から直接受信して記憶部22に格納された距離データ(例えば0.8)からロボット30の通過位置Cの座標を計算して記憶部22に格納する。ロボット30の通過位置Cの座標は、特徴点Aの座標値(例えば(2,2))に、ベクトルAB方向の単位ベクトル(例えば(0.707,0.707))と距離センサ900から受信した距離データ(例えば0.8)の積を加えることで計算可能である。図8に示す例の場合、計算の結果得られる通過位置Cの座標値は(2.6,2.6)である。ステップS1004は、記憶部22に格納されているロボット30の自己推定位置の座標(例えば(2.7,2.8))と計算されたロボットの通過位置Cの座標(例えば(2.6,2.6))の差を求めて自己位置推定の精度の評価値とし、処理は終了する。   FIG. 9 is a flowchart for explaining the process of step S10 in more detail. In FIG. 9, when the robot 30 passes between the feature point pairs A and B, the distance data (from the feature point A to the passing position C of the robot 30) is detected by the distance sensor 900 attached to the feature point A (step S1001). For example, 0.8) is received from the distance sensor 900 and stored in the storage unit 22. In step S1002, when the robot 30 passes between the feature point pairs A and B, the self-estimated position (for example, (2.7, 2.8)) obtained by the self-position estimation process of the robot 30 is received from the robot 30 and stored. Stored in the unit 22. In step S1003, for example, the coordinates of the passing position C of the robot 30 are calculated from the distance data (for example, 0.8) received directly from the distance sensor 900 and stored in the storage unit 22, and stored in the storage unit 22. The coordinates of the passing position C of the robot 30 are the coordinate value of the feature point A (for example, (2, 2)), the unit vector in the direction of the vector AB (for example, (0.707, 0.707)), and the distance data received from the distance sensor 900 ( For example, it can be calculated by adding the product of 0.8). In the example shown in FIG. 8, the coordinate value of the passing position C obtained as a result of the calculation is (2.6, 2.6). In step S1004, the difference between the coordinates of the self-estimated position of the robot 30 (for example, (2.7, 2.8)) stored in the storage unit 22 and the calculated coordinates of the passage position C of the robot (for example, (2.6, 2.6)) is calculated. The obtained value is used as an evaluation value for the accuracy of self-position estimation, and the process ends.

上記の例で用いた図5には、1つの特徴点ペアしか示されていないが、複数の特徴点ペアを決定して自己位置推定の精度を評価しても良いことは言うまでもない。   Although only one feature point pair is shown in FIG. 5 used in the above example, it goes without saying that the accuracy of self-position estimation may be evaluated by determining a plurality of feature point pairs.

図10は、位置精度評価処理の第2の例を説明するフローチャートである。図10に示す位置精度評価処理は、例えばサーバ装置20のCPU21により実行される。図10中、図6と同一ステップには同一符号を付し、その説明は省略する。   FIG. 10 is a flowchart illustrating a second example of the position accuracy evaluation process. The position accuracy evaluation process shown in FIG. 10 is executed by the CPU 21 of the server device 20, for example. 10, the same steps as those in FIG. 6 are denoted by the same reference numerals, and the description thereof is omitted.

上記位置精度評価処理の第1の例では、特徴点ペアの位置に距離センサ900を取り付けて自己位置推定の精度を評価するが、この第2の例では、ロボット30の測定部37に含まれるLRFを用いてロボット30と特徴点との間の距離を測定して自己位置推定の精度を評価する。このため、特徴点ペアの位置に距離センサ900を取り付ける必要は無い。   In the first example of the position accuracy evaluation process, the distance sensor 900 is attached to the position of the feature point pair to evaluate the accuracy of self-position estimation. In the second example, the distance is included in the measurement unit 37 of the robot 30. The distance between the robot 30 and the feature point is measured using the LRF to evaluate the accuracy of self-position estimation. For this reason, it is not necessary to attach the distance sensor 900 to the position of the feature point pair.

図10において、ステップS5の後、ステップS16は、ロボット30に自律走行を行わせる自律走行指示を通信部25を介して送信し、自律走行指示に基づいてロボット30の駆動部36が周知の方法で駆動されることで、ロボット30が上記移動経路に沿って移動する。ステップS17は、ロボットが自律走行中に実環境においてコーナ検出を行わせるコーナ検出指示を通信部25を介して送信し、ロボット30に搭載されたLRFにより実環境におけるコーナ検出を行わせる。又、コーナが検出されると、サーバ装置20は検出されたコーナの情報とロボット30の自己位置推定結果をロボット30から受信し、自己位置推定されたロボット30の位置(即ち、自己位置推定結果)を基準としてコーナのグリッドマップ上の位置を計算する。ステップS18は、検出されたコーナがステップS5で求めた特徴点ペアと一致するか否かを判定する。具体的には、計算されたコーナのグリッドマップ上の位置がステップS5で求めた特徴点ペアの座標値に十分近ければ、検出されたコーナが特徴点ペアと一致すると判定する。ステップS18の判定結果がNOであると、処理はステップS16へ戻る。   In FIG. 10, after step S5, step S16 transmits an autonomous traveling instruction for causing the robot 30 to autonomously travel via the communication unit 25, and the driving unit 36 of the robot 30 is a well-known method based on the autonomous traveling instruction. The robot 30 moves along the movement path. In step S17, a corner detection instruction for performing corner detection in the actual environment while the robot is autonomously traveling is transmitted via the communication unit 25, and corner detection in the actual environment is performed by the LRF mounted on the robot 30. When the corner is detected, the server device 20 receives the detected corner information and the self-position estimation result of the robot 30 from the robot 30, and the position of the robot 30 estimated by the self-position (that is, the self-position estimation result). ) To calculate the position of the corner on the grid map. In step S18, it is determined whether or not the detected corner matches the feature point pair obtained in step S5. Specifically, if the calculated position of the corner on the grid map is sufficiently close to the coordinate value of the feature point pair obtained in step S5, it is determined that the detected corner matches the feature point pair. If the decision result in the step S18 is NO, the process returns to the step S16.

一方、ステップS18の判定結果がYESであると、ステップS19は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時の自己位置推定結果をロボット30から受信して記憶部22に格納する。ステップS20は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時のロボット30と特徴点ペア間の距離Lの距離データ(即ち、特徴点A及び/又はBの座標値を基準とした距離情報)を、ロボット30に搭載されこの距離Lを測定するLRFから受信して記憶部22に格納する。ステップS21は、記憶部に格納されているグリッドマップ上の特徴点ペアの位置と、記憶部22に格納されている距離Lの距離データとに基づいて計算されるグリッドマップ上のロボット30の位置を、ロボット30から受信して記憶部22に格納されているロボット30の自己位置推定結果と比較することで自己位置推定の精度を評価し、処理は終了する。   On the other hand, if the decision result in the step S18 is YES, a step S19 receives the self-position estimation result when the robot 30 passes between the feature point pairs determined as described above from the robot 30, and stores the storage unit 22 To store. In step S20, the distance data of the distance L between the robot 30 and the feature point pair when the robot 30 passes between the feature point pairs determined as described above (that is, the coordinate values of the feature points A and / or B are obtained). Reference distance information) is received from the LRF mounted on the robot 30 and measuring the distance L, and stored in the storage unit 22. In step S21, the position of the robot 30 on the grid map calculated based on the position of the feature point pair on the grid map stored in the storage unit and the distance data of the distance L stored in the storage unit 22 Is compared with the self-position estimation result of the robot 30 received from the robot 30 and stored in the storage unit 22, the self-position estimation accuracy is evaluated, and the process ends.

この場合も、複数の特徴点ペアを決定して自己位置推定の精度を評価しても良いことは言うまでもない。   In this case as well, it goes without saying that the accuracy of self-position estimation may be evaluated by determining a plurality of feature point pairs.

図11は、位置精度評価処理の第3の例を説明するフローチャートである。図11に示す位置精度評価処理は、例えばサーバ装置20のCPU21により実行される。図11中、図6と同一ステップには同一符号を付し、その説明は省略する。   FIG. 11 is a flowchart for explaining a third example of the position accuracy evaluation process. The position accuracy evaluation process shown in FIG. 11 is executed by the CPU 21 of the server device 20, for example. In FIG. 11, the same steps as those in FIG. 6 are denoted by the same reference numerals, and the description thereof is omitted.

上記位置精度評価処理の第1の例では、ロボット30に自律走行を行わせるが、この第3の例では、ロボット30を手動で移動する。   In the first example of the position accuracy evaluation process, the robot 30 is caused to autonomously travel. In the third example, the robot 30 is manually moved.

図11において、ステップS4の後、ステップS25は、決定された特徴点ペアの間のどの点をロボット30に通過させるかを決定する。例えば、特徴点ペアの中点をロボット30に通過させる場合、特徴点ペアの中点を図12及び図13と共に説明するように計算し、記憶部22に格納する。   In FIG. 11, after step S <b> 4, step S <b> 25 determines which points between the determined feature point pairs are allowed to pass through the robot 30. For example, when passing the midpoint of the feature point pair to the robot 30, the midpoint of the feature point pair is calculated as described with reference to FIGS. 12 and 13 and stored in the storage unit 22.

図12は、ステップS25の処理を説明する図である。図12中、図8と同一部分には同一符号を付し、その説明は省略する。図12に示す例では、特徴点ペアのうち、特徴点Aのグリッドマップ上の座標値(x1,y1)は例えば(2,2)であり、特徴点Bのグリッドマップ上の座標値(x2,y2)は例えば(3,3)である。又、図12中、Dはロボット30の通過位置、即ち、特徴点ペアA,Bの中点を示し、この場合の中点Dのグリッドマップ上の座標値(x0,y0)は(2.5,2.5)である。   FIG. 12 is a diagram illustrating the process in step S25. In FIG. 12, the same parts as those in FIG. In the example shown in FIG. 12, the coordinate value (x1, y1) of the feature point A on the grid map of the feature point pair is, for example, (2, 2), and the coordinate value (x2) of the feature point B on the grid map. , y2) is, for example, (3, 3). In FIG. 12, D indicates the passing position of the robot 30, that is, the midpoint of the feature point pair A, B. In this case, the coordinate value (x0, y0) of the midpoint D on the grid map is (2.5, 2.5).

図13は、ステップS25の処理をより詳細に説明するフローチャートである。図13において、ステップS251は、特徴点Aのグリッドマップ上の座標値(x1,y1)、例えば(2,2)を取得し、ステップS252は、特徴点Bのグリッドマップ上の座標値(x2,y2)、例えば(3,3)を取得する。ステップS253は、特徴点ペアA,Bの座標値(x1,y1),(x2,y2)からロボット30の通過位置Dの座標値(x0,y0)を決定して記憶部22に格納する。   FIG. 13 is a flowchart for explaining the process of step S25 in more detail. In FIG. 13, step S251 obtains the coordinate value (x1, y1) of the feature point A on the grid map, for example, (2, 2), and step S252 obtains the coordinate value (x2) of the feature point B on the grid map. , y2), for example, (3, 3) is acquired. In step S253, the coordinate value (x0, y0) of the passing position D of the robot 30 is determined from the coordinate values (x1, y1), (x2, y2) of the feature point pair A, B and stored in the storage unit 22.

次に、実環境における準備作業について述べる。ステップS26は、グリッドマップ上の特徴点ペアA,Bに対応する実環境地図上のコーナ位置を結ぶ直線上のロボット通過位置を決定する。例えば、特徴点ペアA,Bの中点Dをロボット30の通過位置と定めた場合、ステップS27は、特徴点ペアA,Bに対応する実環境地図上のコーナ位置の中点を例えば測定器等で測定して確認し、実環境の床面の中点Dにマーカ950を付ける。ここで、マーカ950としては、シール等を床面に貼り付けても、RFID(Radio Frequency IDentification)タグ等を床面に貼り付けたり埋め込んだりしても、ミラー等の反射板を床面に貼り付けたり埋め込んだりしても良い。又、マーカ950は、実環境の天井に貼り付けたり埋め込んだりしても良い。これにより、実環境における準備作業が完了する。   Next, preparation work in a real environment is described. In step S26, the robot passing position on a straight line connecting the corner positions on the real environment map corresponding to the feature point pairs A and B on the grid map is determined. For example, when the midpoint D of the feature point pair A, B is determined as the passing position of the robot 30, the step S27 determines the midpoint of the corner position on the real environment map corresponding to the feature point pair A, B, for example, a measuring device. The marker 950 is attached to the midpoint D of the floor surface in the real environment. Here, as the marker 950, a reflective plate such as a mirror is pasted on the floor surface, even if a sticker is pasted on the floor surface, or an RFID (Radio Frequency IDentification) tag is pasted or embedded on the floor surface. It may be attached or embedded. Further, the marker 950 may be pasted or embedded in the ceiling of the real environment. Thereby, the preparation work in the real environment is completed.

次に、ステップS27の後、オペレータは、ロボット30をSLAMにより生成されたグリッドマップ上の所定位置に対応する位置に置き、ロボット30の自己位置推定プログラムを起動する。グリッドマップ上の所定位置は、この例では特徴点ペアA,Bの間の中点Dの近傍である。自己位置推定プログラムが起動されてロボット30の自己位置推定処理が開始した後、SLAMにより生成されたグリッドマップ上の対応する座標位置でロボット30の初期位置を設定する。ロボット30の自己位置推定プログラムの起動及び初期位置の設定は、上記位置精度評価処理の第1の例の場合と同様に行える。その後、ステップS28は、ロボット30に自律走行を行わせる自律走行指示を通信部25を介して送信し、自律走行指示に基づいてロボット30の駆動部36が周知の方法で駆動されることで、ロボット30が上記移動経路に沿って移動してマーカ950の上を通過する。ステップS29は、ロボット30がマーカ950上に位置する時のロボット30の自己位置推定結果をロボット30から受信して記憶部22に格納する。ステップS30は、ステップS25で決定して記憶部22に格納された中点Dの位置(即ち、特徴点A及び/又はBの座標値を基準とした距離情報)とステップS29で取得して記憶部22に格納されたロボット30の自己位置推定結果を比較することで自己位置推定の精度を評価し、処理は終了する。   Next, after step S27, the operator places the robot 30 at a position corresponding to a predetermined position on the grid map generated by the SLAM, and activates the self-position estimation program of the robot 30. The predetermined position on the grid map is in the vicinity of the midpoint D between the feature point pairs A and B in this example. After the self-position estimation program is started and the self-position estimation process of the robot 30 is started, the initial position of the robot 30 is set at the corresponding coordinate position on the grid map generated by SLAM. The activation of the self-position estimation program of the robot 30 and the setting of the initial position can be performed in the same manner as in the first example of the position accuracy evaluation process. Thereafter, in step S28, an autonomous traveling instruction for causing the robot 30 to perform autonomous traveling is transmitted via the communication unit 25, and the driving unit 36 of the robot 30 is driven by a known method based on the autonomous traveling instruction. The robot 30 moves along the movement path and passes over the marker 950. In step S <b> 29, the self-position estimation result of the robot 30 when the robot 30 is positioned on the marker 950 is received from the robot 30 and stored in the storage unit 22. In step S30, the position of the midpoint D determined in step S25 and stored in the storage unit 22 (that is, distance information based on the coordinate values of the feature points A and / or B) is acquired and stored in step S29. The accuracy of self-position estimation is evaluated by comparing the self-position estimation results of the robot 30 stored in the unit 22, and the process ends.

ステップS29において、ロボット30がマーカ950上を通過したことは、測定部37に設けられた検出装置により周知の方法で検出可能である。例えば、測定部37に設けられたカメラでマーカ950を撮像して検出したり、測定部37に設けられたタグリーダでマーカ950を形成するRFIDタグからの信号を受信してRFIDタグを検出したり、測定部37に設けられた光学的検出装置の発光素子から出射されマーカ950を形成する反射板で反射された光を光学的検出装置の受光素子で受信して反射板を検出したりすることができる。カメラ、タグリーダ、光学的検出装置は、検出装置の一例である。   In step S <b> 29, the fact that the robot 30 has passed over the marker 950 can be detected by a well-known method using a detection device provided in the measurement unit 37. For example, the marker 950 is imaged and detected by a camera provided in the measurement unit 37, or a signal from an RFID tag forming the marker 950 is received by a tag reader provided in the measurement unit 37 to detect the RFID tag. The light that is emitted from the light emitting element of the optical detection device provided in the measuring unit 37 and reflected by the reflection plate that forms the marker 950 is received by the light receiving element of the optical detection device, and the reflection plate is detected. Can do. A camera, a tag reader, and an optical detection device are examples of the detection device.

尚、ステップS28においてロボット30を自律走行させる代わりに、ロボット30を手動で移動しても良い。   Note that the robot 30 may be moved manually instead of causing the robot 30 to autonomously travel in step S28.

又、複数のマーカ950を設け、各マーカ950に位置に対して自己位置推定の精度を評価しても良いことは言うまでもない。   Needless to say, a plurality of markers 950 may be provided, and the accuracy of self-position estimation with respect to the position of each marker 950 may be evaluated.

図14は、位置精度評価処理の第4の例を説明するフローチャートである。図14に示す位置精度評価処理は、例えばサーバ装置20のCPU21により実行される。図14中、図6と同一ステップには同一符号を付し、その説明は省略する。   FIG. 14 is a flowchart illustrating a fourth example of the position accuracy evaluation process. The position accuracy evaluation process shown in FIG. 14 is executed by the CPU 21 of the server device 20, for example. In FIG. 14, the same steps as those in FIG. 6 are denoted by the same reference numerals, and the description thereof is omitted.

上記位置精度評価処理の第1の例、第2の例、及び第3の例では、自己位置推定結果の精度を評価する。これに対し、位置精度評価処理の第4の例では、位置精度の評価結果を自己位置推定結果に反映させることで自己位置推定結果を補正する。図14において、ステップS1〜S7までの処理は、上記位置精度評価処理の第1の例の場合と同様である。   In the first example, the second example, and the third example of the position accuracy evaluation process, the accuracy of the self-position estimation result is evaluated. On the other hand, in the fourth example of the position accuracy evaluation process, the self-position estimation result is corrected by reflecting the position accuracy evaluation result in the self-position estimation result. In FIG. 14, the processing from step S <b> 1 to S <b> 7 is the same as that in the first example of the position accuracy evaluation processing.

図14において、ステップS7の後、ステップS38は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時に距離センサ900から送信されてくる距離データを取得して記憶部22に格納する。距離データは、サーバ装置20が距離センサ900から直接受信しても、ロボット30を介して受信しても良い。ステップS39は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時の距離センサ900の計測結果、即ち、記憶部22に格納されている距離データに基づいて、グリッドマップ上のロボット30の位置を計算して記憶部22に格納する。又、ステップS39は、ロボット30が上記の如く決定された特徴点ペアの間を通過した時のロボット30の自己位置推定結果をロボット30から受信して記憶部22に格納する。ロボット30の自己位置推定結果は、ロボット30内で求められてサーバ装置20に送信される。ステップS40は、記憶部22に格納されているグリッドマップ上のロボット30の位置を、記憶部22に格納されているロボット30の自己位置推定結果と比較することで自己位置推定の精度を評価し、例えば評価結果が一定精度以下であるとグリッドマップ上のロボット30の位置で自己位置推定結果を補正して補正された自己位置推定結果をロボット30へ送信し、評価結果が一定精度を超えていれば自己位置推定結果を補正することなく処理は終了する。自己位置推定結果の補正は、ロボット30内で行っても良い。又、自己位置推定の精度の評価結果にかかわらず、グリッドマップ上のロボット30の位置で自己位置推定結果を補正しても良い。尚、特に自己位置推定結果の補正をロボット30内で行う構成の場合、評価結果が一定精度を超えていれば自己位置推定結果を補正しないようにすることで、ロボット30内のCPU31への負荷を軽減することができる。   In FIG. 14, after step S7, step S38 acquires the distance data transmitted from the distance sensor 900 when the robot 30 passes between the feature point pairs determined as described above, and stores it in the storage unit 22. To do. The distance data may be received directly by the server device 20 from the distance sensor 900 or via the robot 30. Step S39 is based on the measurement result of the distance sensor 900 when the robot 30 passes between the feature point pairs determined as described above, that is, based on the distance data stored in the storage unit 22, on the grid map. The position of the robot 30 is calculated and stored in the storage unit 22. In step S39, the self-position estimation result of the robot 30 when the robot 30 passes between the feature point pairs determined as described above is received from the robot 30 and stored in the storage unit 22. The self-position estimation result of the robot 30 is obtained within the robot 30 and transmitted to the server device 20. Step S40 evaluates the accuracy of self-position estimation by comparing the position of the robot 30 on the grid map stored in the storage unit 22 with the self-position estimation result of the robot 30 stored in the storage unit 22. For example, if the evaluation result is below a certain accuracy, the self-position estimation result corrected by correcting the self-position estimation result at the position of the robot 30 on the grid map is transmitted to the robot 30, and the evaluation result exceeds the certain accuracy. Then, the process ends without correcting the self-position estimation result. The correction of the self-position estimation result may be performed in the robot 30. Further, the self-position estimation result may be corrected by the position of the robot 30 on the grid map regardless of the evaluation result of the self-position estimation accuracy. In particular, in the configuration in which the self-position estimation result is corrected in the robot 30, if the evaluation result exceeds a certain accuracy, the self-position estimation result is not corrected so that the load on the CPU 31 in the robot 30 is reduced. Can be reduced.

図14では、上記位置精度評価処理の第1の例の方法で求めた自己位置推定結果を補正しているが、同様にして、上記位置精度評価処理の第2の例の方法で求めた自己位置推定結果を図10に示すステップS19〜S21の処理を適切に変更することで補正したり、上記位置精度評価処理の第3の例の方法で求めた自己位置推定結果を図11に示すステップS29,S30の処理を適切に変更することで補正しても良い。   In FIG. 14, the self-position estimation result obtained by the method of the first example of the position accuracy evaluation process is corrected. Similarly, the self-position obtained by the method of the second example of the position accuracy evaluation process is corrected. The position estimation result is corrected by appropriately changing the processing of steps S19 to S21 shown in FIG. 10, or the self-position estimation result obtained by the method of the third example of the position accuracy evaluation process is shown in FIG. You may correct | amend by changing suitably the process of S29 and S30.

ところで、上記実施例では、自己位置推定の評価及び関連する処理を基本的にはサーバ装置20側で行っているが、少なくとも一部の処理をロボット30側で行うようにしても良い。ロボット30側で実行可能な処理には、ロボット30の位置を推定する自己位置推定機能を実現させる自己位置推定処理の他に、例えば特徴点抽出処理、特徴点ペア決定処理、中間点決定処理等が含まれる。CPUへの負荷が比較的大きい処理をサーバ装置20側で行えば、ロボット30内のCPU31への負荷を軽減できる。例えば、上記実施例のように自己位置推定処理をロボット30内のCPU31で実行し、他の処理はサーバ装置20内のCPU21で実行することで、ロボット30内のCPU31への負荷が増大することを抑制可能となる。   In the above embodiment, the self-position estimation evaluation and related processing are basically performed on the server device 20 side. However, at least a part of the processing may be performed on the robot 30 side. The processing that can be executed on the robot 30 side includes, for example, feature point extraction processing, feature point pair determination processing, intermediate point determination processing, etc. in addition to self-position estimation processing that realizes a self-position estimation function for estimating the position of the robot 30. Is included. If processing with a relatively large load on the CPU is performed on the server device 20 side, the load on the CPU 31 in the robot 30 can be reduced. For example, as shown in the above embodiment, the self-position estimation process is executed by the CPU 31 in the robot 30 and the other processes are executed by the CPU 21 in the server device 20, thereby increasing the load on the CPU 31 in the robot 30. Can be suppressed.

以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ロボットの自己位置推定を評価する推定位置評価システムであって、
前記ロボットが移動経路を挟む特徴点ペアの間を通過する時の自己位置推定結果を前記ロボットから受信して記憶部に格納する格納手段と、
前記記憶部に格納されている前記特徴点ペアの推定環境地図上の座標値と、前記ロボットが前記特徴点ペアの間を通過する時の前記ロボットの前記座標値を基準とした位置情報とに基づいて、前記推定環境地図上のロボット位置を計算する計算手段と、
前記推定環境地図上の前記ロボット位置と、前記記憶部に格納された前記自己位置推定結果を比較し、前記自己位置推定結果が前記推定環境地図上の前記ロボット位置に近い程自己位置推定の精度が高いと評価する評価手段を備えたことを特徴とする、推定位置評価システム。
(付記2)
前記特徴点ペアの少なくとも一方から前記ロボットまでの距離を測定する距離センサから前記位置情報を受信する手段を更に備えたことを特徴とする、付記1記載の推定位置評価システム。
(付記3)
前記ロボットに設けられ前記特徴点ペアの少なくとも一方までの距離を測定する測定部から前記位置情報を受信する手段を更に備えたことを特徴とする、付記1記載の推定位置評価システム。
(付記4)
前記位置情報を決定して前記記憶部に格納する決定手段を更に備え、
前記格納手段は、前記ロボットに設けられた検出装置が前記ロボットの移動中に前記特徴点の間に設けられたマーカを検出すると前記自己位置推定結果を前記ロボットから受信することを特徴とする、付記1記載の推定位置評価システム。
(付記5)
前記評価の結果に基づいて前記推定環境地図上の前記ロボット位置で前記自己位置推定結果を補正する補正手段を更に備えたことを特徴とする、付記1乃至4のいずれか1項記載の推定位置評価システム。
(付記6)
前記補正手段は、前記評価の結果が一定精度以下の場合に前記推定環境地図上の前記ロボット位置で前記自己位置推定結果を補正することを特徴とする、付記5記載の推定位置評価システム。
(付記7)
前記格納手段、前記計算手段、及び前記評価手段は、前記ロボットと通信可能なサーバ装置内のプロセッサにより形成され、
前記記憶部は前記サーバ装置内に設けられていることを特徴とする、付記1乃至6のいずれか1項記載の推定位置評価システム。
(付記8)
ロボットの自己位置推定をコンピュータに評価させるプログラムであって、
前記ロボットが移動経路を挟む特徴点ペアの間を通過する時の自己位置推定結果を前記ロボットから受信して記憶部に格納する格納手順と、
前記記憶部に格納されている前記特徴点ペアの推定環境地図上の座標値と、前記ロボットが前記特徴点ペアの間を通過する時の前記ロボットの前記座標値を基準とした位置情報とに基づいて、前記推定環境地図上のロボット位置を計算する計算手順と、
前記推定環境地図上の前記ロボット位置と、前記記憶部に格納された前記自己位置推定結果を比較し、前記自己位置推定結果が前記推定環境地図上の前記ロボット位置に近い程自己位置推定の精度が高いと評価する評価手順
を前記コンピュータ実行させることを特徴とする、プログラム。
(付記9)
前記特徴点ペアの少なくとも一方から前記ロボットまでの距離を測定する距離センサから前記位置情報を受信する手順
を前記コンピュータに更に実行させることを特徴とする、付記8記載のプログラム。
(付記10)
前記ロボットに設けられ前記特徴点ペアの少なくとも一方までの距離を測定する測定部から前記位置情報を受信する手順
を前記コンピュータに更に実行させることを特徴とする、付記8記載のプログラム。
(付記11)
前記位置情報を決定して前記記憶部に格納する決定手順
を前記コンピュータに更に実行させ、
前記格納手順は、前記ロボットに設けられた検出装置が前記ロボットの移動中に前記特徴点の間に設けられたマーカを検出すると前記自己位置推定結果を前記ロボットから受信することを特徴とする、付記8記載のプログラム。
(付記12)
前記評価の結果に基づいて前記推定環境地図上の前記ロボット位置で前記自己位置推定結果を補正する補正手順
を前記コンピュータに更に実行させることを特徴とする、付記8乃至11のいずれか1項記載のプログラム。
(付記13)
前記補正手順は、前記評価の結果が一定精度以下の場合に前記推定環境地図上の前記ロボット位置で前記自己位置推定結果を補正することを特徴とする、付記12記載の推定位置評価システム。
(付記14)
付記8乃至13のいずれか1項記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
The following additional notes are further disclosed with respect to the embodiment including the above examples.
(Appendix 1)
An estimated position evaluation system for evaluating self-position estimation of a robot,
Storage means for receiving a self-position estimation result when the robot passes between feature point pairs sandwiching a movement path from the robot and storing it in a storage unit;
The coordinate value on the estimated environment map of the feature point pair stored in the storage unit and the position information based on the coordinate value of the robot when the robot passes between the feature point pair. Calculation means for calculating a robot position on the estimated environment map based on
The robot position on the estimated environment map is compared with the self-position estimation result stored in the storage unit, and the self-position estimation accuracy is closer to the robot position on the estimated environment map. An estimated position evaluation system characterized by comprising evaluation means for evaluating that is high.
(Appendix 2)
The estimated position evaluation system according to claim 1, further comprising means for receiving the position information from a distance sensor that measures a distance from at least one of the feature point pairs to the robot.
(Appendix 3)
The estimated position evaluation system according to appendix 1, further comprising means for receiving the position information from a measurement unit that is provided in the robot and measures a distance to at least one of the feature point pairs.
(Appendix 4)
A determination unit for determining the position information and storing the position information in the storage unit;
The storage means receives the self-position estimation result from the robot when a detection device provided in the robot detects a marker provided between the feature points during the movement of the robot. The estimated position evaluation system according to attachment 1.
(Appendix 5)
The estimated position according to any one of claims 1 to 4, further comprising correction means for correcting the self-position estimation result at the robot position on the estimated environment map based on the evaluation result. Evaluation system.
(Appendix 6)
The estimated position evaluation system according to appendix 5, wherein the correction means corrects the self-position estimation result at the robot position on the estimated environment map when the evaluation result is below a certain accuracy.
(Appendix 7)
The storage means, the calculation means, and the evaluation means are formed by a processor in a server device capable of communicating with the robot,
The estimated position evaluation system according to any one of appendices 1 to 6, wherein the storage unit is provided in the server device.
(Appendix 8)
A program that causes a computer to evaluate the robot's self-position estimation,
A storage procedure for receiving a self-position estimation result when the robot passes between feature point pairs sandwiching a movement path from the robot and storing it in a storage unit;
The coordinate value on the estimated environment map of the feature point pair stored in the storage unit and the position information based on the coordinate value of the robot when the robot passes between the feature point pair. And a calculation procedure for calculating a robot position on the estimated environment map,
The robot position on the estimated environment map is compared with the self-position estimation result stored in the storage unit, and the self-position estimation accuracy is closer to the robot position on the estimated environment map. A program for causing the computer to execute an evaluation procedure for evaluating that the value is high.
(Appendix 9)
The program according to claim 8, further causing the computer to further execute a procedure of receiving the position information from a distance sensor that measures a distance from at least one of the feature point pairs to the robot.
(Appendix 10)
The program according to appendix 8, further comprising causing the computer to further execute a procedure of receiving the position information from a measurement unit that is provided in the robot and measures a distance to at least one of the feature point pairs.
(Appendix 11)
Further causing the computer to execute a determination procedure for determining the location information and storing it in the storage unit;
The storing procedure is characterized in that when the detection device provided in the robot detects a marker provided between the feature points during the movement of the robot, the self-position estimation result is received from the robot. The program according to appendix 8.
(Appendix 12)
The supplementary procedure according to any one of appendices 8 to 11, further comprising: causing the computer to further execute a correction procedure for correcting the self-position estimation result at the robot position on the estimated environment map based on the evaluation result. Program.
(Appendix 13)
13. The estimated position evaluation system according to appendix 12, wherein the correction procedure corrects the self-position estimation result at the robot position on the estimated environment map when the evaluation result is below a certain accuracy.
(Appendix 14)
A computer-readable storage medium storing the program according to any one of appendices 8 to 13.

以上、開示の推定位置評価システム及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。   The estimated position evaluation system and program disclosed above have been described by way of examples. However, it goes without saying that the present invention is not limited to the above examples, and that various modifications and improvements can be made within the scope of the present invention. Yes.

20 サーバ装置
21,31 CPU
22,32 記憶部
23,33 入力部
24,34 表示部
25,35 通信部
29,38 バス
30 ロボット
36 駆動部
37 測定部
20 Server device 21, 31 CPU
22, 32 Storage unit 23, 33 Input unit 24, 34 Display unit 25, 35 Communication unit 29, 38 Bus 30 Robot 36 Drive unit 37 Measurement unit

Claims (5)

ロボットの自己位置推定をコンピュータに評価させるプログラムであって、
前記ロボットが移動経路を挟む特徴点ペアの間を通過する時の実環境地図上のロボット位置を表す自己位置推定結果を前記ロボットから受信して記憶部に格納する格納手順と、
前記記憶部に格納されている前記特徴点ペアの推定環境地図上の座標値と、前記ロボットが前記特徴点ペアの間を通過する時の前記ロボットの前記推定環境地図上の座標値とに基づいて、前記推定環境地図上のロボット位置を計算する計算手順と、
前記推定環境地図上の前記ロボット位置と、前記記憶部に格納された前記自己位置推定結果を比較し、前記自己位置推定結果が前記推定環境地図上の前記ロボット位置に近い程自己位置推定の精度が高いと評価する評価手順
を前記コンピュータ実行させることを特徴とする、プログラム。
A program that causes a computer to evaluate the robot's self-position estimation,
A storage procedure for receiving a self-position estimation result representing a robot position on a real environment map when the robot passes between a pair of feature points sandwiching a movement path from the robot and storing it in a storage unit;
The basis of the coordinate values of the putative environmental map of the feature point pairs stored in the storage unit, on the coordinate values on the estimated environmental map of the robot when the robot passes between the feature point pairs A calculation procedure for calculating a robot position on the estimated environment map;
The robot position on the estimated environment map is compared with the self-position estimation result stored in the storage unit, and the self-position estimation accuracy is closer to the robot position on the estimated environment map. A program for causing the computer to execute an evaluation procedure for evaluating that the value is high.
前記ロボットが前記特徴点ペアの間を通過した時、前記特徴点ペアの少なくとも一方から前記ロボットまでの距離を測定する距離センサからの距離データを受信する手順
を前記コンピュータに更に実行させ
前記計算手順は、前記特徴点ペアの推定環境地図上の座標値と前記距離データとに基づき前記ロボットの前記推定環境地図上の前記座標値を計算することを特徴とする、請求項1記載のプログラム。
When the robot passes between the feature point pairs, the computer further executes a procedure of receiving distance data from a distance sensor that measures a distance from at least one of the feature point pairs to the robot ,
The calculation procedure, and the estimated environmental features that you calculate the coordinate values on the map of the robot coordinate values putative environmental map and on the basis of said distance data of said feature point pairs claim 1, wherein Program.
前記ロボットが前記特徴点ペアの間を通過した時、前記ロボットに設けられ前記特徴点ペアの少なくとも一方までの距離を測定する測定部からの距離データを受信する手順
を前記コンピュータに更に実行させ
前記計算手順は、前記特徴点ペアの推定環境地図上の座標値と前記距離データとに基づき前記ロボットの前記推定環境地図上の前記座標値を計算することを特徴とする、請求項記載のプログラム。
When the robot passes between the feature point pairs, the computer further executes a procedure of receiving distance data from a measurement unit that is provided in the robot and measures a distance to at least one of the feature point pairs ;
The calculation procedure, and the estimated environmental features that you calculate the coordinates on a map of the robot coordinate values putative environmental map and on the basis of said distance data of said feature point pairs, claim 1, wherein Program.
前記評価の結果に基づいて前記推定環境地図上の前記ロボット位置で前記自己位置推定結果を補正する補正手順
を前記コンピュータに更に実行させることを特徴とする、請求項1乃至3のいずれか1項記載のプログラム。
4. The computer according to claim 1, further causing the computer to execute a correction procedure for correcting the self-position estimation result at the robot position on the estimated environment map based on the evaluation result. 5. The listed program.
ロボットの自己位置推定を評価する推定位置評価システムであって、
前記ロボットが移動経路を挟む特徴点ペアの間を通過する時の実環境地図上のロボット位置を表す自己位置推定結果を前記ロボットから受信して記憶部に格納する格納手段と、
前記記憶部に格納されている前記特徴点ペアの推定環境地図上の座標値と、前記ロボットが前記特徴点ペアの間を通過する時の前記ロボットの前記推定環境地図上の座標値とに基づいて、前記推定環境地図上のロボット位置を計算する計算手段と、
前記推定環境地図上の前記ロボット位置と、前記記憶部に格納された前記自己位置推定結果を比較し、前記自己位置推定結果が前記推定環境地図上の前記ロボット位置に近い程自己位置推定の精度が高いと評価する評価手段を備えたことを特徴とする、推定位置評価システム。
An estimated position evaluation system for evaluating self-position estimation of a robot,
Storage means for receiving a self-position estimation result representing a robot position on a real environment map when the robot passes between feature point pairs sandwiching a movement path from the robot and storing it in a storage unit;
The basis of the coordinate values of the putative environmental map of the feature point pairs stored in the storage unit, on the coordinate values on the estimated environmental map of the robot when the robot passes between the feature point pairs Calculating means for calculating a robot position on the estimated environment map;
The robot position on the estimated environment map is compared with the self-position estimation result stored in the storage unit, and the self-position estimation accuracy is closer to the robot position on the estimated environment map. An estimated position evaluation system characterized by comprising evaluation means for evaluating that is high.
JP2011032502A 2011-02-17 2011-02-17 Estimated position evaluation system and program Expired - Fee Related JP5720292B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011032502A JP5720292B2 (en) 2011-02-17 2011-02-17 Estimated position evaluation system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011032502A JP5720292B2 (en) 2011-02-17 2011-02-17 Estimated position evaluation system and program

Publications (2)

Publication Number Publication Date
JP2012173013A JP2012173013A (en) 2012-09-10
JP5720292B2 true JP5720292B2 (en) 2015-05-20

Family

ID=46976072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011032502A Expired - Fee Related JP5720292B2 (en) 2011-02-17 2011-02-17 Estimated position evaluation system and program

Country Status (1)

Country Link
JP (1) JP5720292B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077599A (en) * 2016-11-08 2018-05-17 富士ゼロックス株式会社 Information processing device
JP7056591B2 (en) * 2019-01-16 2022-04-19 株式会社豊田自動織機 Driving control system
CN113454487A (en) * 2019-03-13 2021-09-28 千叶工业大学 Information processing device and mobile robot
CN111551184B (en) * 2020-03-27 2021-11-26 上海大学 Map optimization method and system for SLAM of mobile robot
CN114993328B (en) * 2022-05-18 2023-03-10 禾多科技(北京)有限公司 Vehicle positioning evaluation method, device, equipment and computer readable medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4175165B2 (en) * 2002-04-17 2008-11-05 松下電工株式会社 Autonomous mobile device
JP4852753B2 (en) * 2006-05-24 2012-01-11 国立大学法人鳥取大学 Autonomous mobile robot with learning function
JP4788722B2 (en) * 2008-02-26 2011-10-05 トヨタ自動車株式会社 Autonomous mobile robot, self-position estimation method, environmental map generation method, environmental map generation device, and environmental map data structure

Also Published As

Publication number Publication date
JP2012173013A (en) 2012-09-10

Similar Documents

Publication Publication Date Title
KR101976241B1 (en) Map building system and its method based on multi-robot localization
JP4650752B2 (en) Self-position identification method and apparatus and three-dimensional shape measurement method and apparatus
US7627447B2 (en) Method and apparatus for localizing and mapping the position of a set of points on a digital model
JP4788722B2 (en) Autonomous mobile robot, self-position estimation method, environmental map generation method, environmental map generation device, and environmental map data structure
US9163940B2 (en) Position/orientation measurement apparatus, measurement processing method thereof, and non-transitory computer-readable storage medium
US9485628B2 (en) User-location-in-building estimating apparatus and method thereof
KR101591471B1 (en) apparatus and method for extracting feature information of object and apparatus and method for generating feature map
CN108016497A (en) Apparatus and method for scanning parking stall
JP5720292B2 (en) Estimated position evaluation system and program
CN105486311A (en) Indoor robot positioning navigation method and device
JP5586967B2 (en) Robot and robot system
CN105283775A (en) Mobile robot and sound source position estimation system
JP5380792B2 (en) Object recognition method and apparatus
US11143511B2 (en) On-vehicle processing device
KR102075844B1 (en) Localization system merging results of multi-modal sensor based positioning and method thereof
JPWO2020041817A5 (en)
JP2019101694A (en) Apparatus, program and method for specifying location, and apparatus, program and method for registering photographic image
KR101822183B1 (en) Apparatus and method for integrated positioning
RU2740229C1 (en) Method of localizing and constructing navigation maps of mobile service robot
WO2012077662A1 (en) Cad information generating system, cad information generating program, and cad information generating method
KR20120043446A (en) Apparatus and method for detecting a location of vehicle and obstacle
KR20190081334A (en) Method for tracking moving trajectory based on complex positioning and apparatus thereof
JP6698430B2 (en) Measuring device, measuring method and program
JP6523196B2 (en) Estimation apparatus, method and program
JP2015141580A (en) mobile device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150309

R150 Certificate of patent or registration of utility model

Ref document number: 5720292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees