JP2009163156A - Moving robot system and control method therefor - Google Patents

Moving robot system and control method therefor Download PDF

Info

Publication number
JP2009163156A
JP2009163156A JP2008002716A JP2008002716A JP2009163156A JP 2009163156 A JP2009163156 A JP 2009163156A JP 2008002716 A JP2008002716 A JP 2008002716A JP 2008002716 A JP2008002716 A JP 2008002716A JP 2009163156 A JP2009163156 A JP 2009163156A
Authority
JP
Japan
Prior art keywords
map
partial map
mobile robot
partial
robot system
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
JP2008002716A
Other languages
Japanese (ja)
Other versions
JP5349804B2 (en
Inventor
Toshio Moriya
俊夫 守屋
Kosai Matsumoto
高斉 松本
Ryozo Masaki
良三 正木
Shuichi Maki
修一 槙
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.)
Hitachi Industrial Equipment Systems Co Ltd
Original Assignee
Hitachi Industrial Equipment Systems Co 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 Hitachi Industrial Equipment Systems Co Ltd filed Critical Hitachi Industrial Equipment Systems Co Ltd
Priority to JP2008002716A priority Critical patent/JP5349804B2/en
Publication of JP2009163156A publication Critical patent/JP2009163156A/en
Application granted granted Critical
Publication of JP5349804B2 publication Critical patent/JP5349804B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Instructional Devices (AREA)
  • Navigation (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a storage volume of a map, to quickly access to a map database in estimation, and to reduce a processing time for data preparation in accompaniment to moving of a robot, compatibly at the same time, in a moving robot system moving while estimating own positional posture by collating a sensing data with the map. <P>SOLUTION: This moving robot system is provided with an entire map storage means 160 for managing an entire map, a partial map storage means 170 for managing continuously map areas required for estimating the positional posture as partial maps, and a partial map updating means 150 for updating a content of the partial map storage means 170. The partial map updating means 150 selects and extends only a block not written yet on the partial map storage means, out of the map areas required for estimating the positional posture of the robot, based on a positional posture estimation initial value of the robot, and updates the stored content to make the spatially continuous areas get to continuous areas on a memory. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、目的地まで人の操作なしに自動的に到達することができる自律移動型移動ロボットに関する。より詳しくは、移動ロボットに搭載された距離センサで測定されたセンシングデータと環境の幾何状況を示した二次元の環境地図とを用いて自己の位置姿勢を推定し、その結果に基づいて自律移動制御を行うロボットシステムに関する。   The present invention relates to an autonomous mobile robot that can automatically reach a destination without human operation. More specifically, it estimates the position and orientation of itself using sensing data measured by a distance sensor mounted on the mobile robot and a two-dimensional environment map showing the geometric state of the environment, and autonomous movement based on the result The present invention relates to a robot system that performs control.

まず、距離センサと二次元の環境地図を用いて移動ロボットの位置姿勢を推定する方法について説明する。   First, a method for estimating the position and orientation of a mobile robot using a distance sensor and a two-dimensional environment map will be described.

ここで距離センサとは、距離センサの周辺の複数の方向について、障害物までの距離を計測できるものである。具体的な仕様としてさまざまなものが考えられるが、ここでは図2に示すように、ある高さの水平面上を距離センサ210の正面に対して-90°から+90°の方向に、1°毎の合計181通りの異なる方向について、障害物230までの距離データが瞬時に計測できるものを想定する。また、この距離センサ210は、移動ロボット220に搭載されているものとする。   Here, the distance sensor can measure the distance to an obstacle in a plurality of directions around the distance sensor. Various specific specifications can be considered, but here, as shown in FIG. 2, 1 ° in a direction from −90 ° to + 90 ° with respect to the front of the distance sensor 210 on a horizontal plane at a certain height. Assume that the distance data to the obstacle 230 can be instantaneously measured for a total of 181 different directions for each. The distance sensor 210 is assumed to be mounted on the mobile robot 220.

図3に、この距離センサ210を用いて測定されたセンシングデータの例を示す。各センシングデータは、角度φと距離dの組み合わせとして(d00),(d11),...,(d180180)としてあらわされる。ここで各変数の数字の添え字iはデータ番号で、φiはi番目の測定方向、またdiはφi方向における障害物までの距離をを示す。測定方向は時計回りを正方向とし、距離センサの主方向となす角度を示すものとし、主方向とのなす角度が小さい順にデータ番号が割り当てられる。すなわちφ0=-90°,φ1=-89°,...,φ180=+90.0°を示す。
なお、ここでは距離センサの測定能力を考慮し、測定可能距離を0.0mより大きく16.0m以下と想定し、diの値の範囲を、0.0m<di≦16.0mに制限することとする。また、この181個の距離データを1まとまりとして、1フレーム分のセンシングデータ300と呼ぶこととする。
FIG. 3 shows an example of sensing data measured using the distance sensor 210. Each sensing data is represented as (d 0 , φ 0 ), (d 1 , φ 1 ),..., (D 180 , φ 180 ) as a combination of the angle φ and the distance d. Here, the numerical suffix i of each variable is a data number, φ i indicates the i-th measurement direction, and d i indicates the distance to the obstacle in the φ i direction. The measurement direction is a clockwise direction, indicating the angle formed with the main direction of the distance sensor, and data numbers are assigned in ascending order of the angle formed with the main direction. That is, φ 0 = −90 °, φ 1 = −89 °,..., Φ 180 = + 90.0 °.
Here, considering the ability to measure the distance sensor, the measurable distance assumes greater 16.0m follows from 0.0 m, the range of values of d i, and be limited to 0.0 m <d i ≦ 16.0m . In addition, the 181 distance data are collectively referred to as sensing data 300 for one frame.

一方、二次元の環境地図とは、距離センサ210による測定高さ断面での障害物の存在を、図4に示すようなディジタル画像としてあらわしたものである。ここでは図4に示すように、障害物が存在しない場所410を白を示す画素値、障害物が存在する場所420を黒を示す画素値としてあらわすことにする。   On the other hand, the two-dimensional environment map is a digital image as shown in FIG. 4 showing the presence of an obstacle on the cross section measured by the distance sensor 210. Here, as shown in FIG. 4, a place 410 where no obstacle is present is represented as a pixel value indicating white, and a place 420 where the obstacle is present is represented as a pixel value indicating black.

移動ロボット220は、平らな地面上を移動するものと仮定する。よってその移動によって変化する位置姿勢に関する自由度は、位置について(x,y)の2パラメータ、姿勢については移動ロボットが向く方向角度に関するθの1パラメータの、合計3パラメータである。なお、これらのパラメータをあらわす座標系は、図4に示すような環境地図510をあらわす座標系と一致させるものとする。   It is assumed that the mobile robot 220 moves on a flat ground. Therefore, the degree of freedom relating to the position and orientation that changes due to the movement is a total of three parameters, that is, two parameters (x, y) for the position and one parameter θ for the orientation angle that the mobile robot faces. It is assumed that the coordinate system representing these parameters matches the coordinate system representing the environment map 510 as shown in FIG.

移動ロボットの位置姿勢を推定することとは、任意の位置姿勢にある移動ロボットのセンシングデータから、上記(x,y,θ)の3パラメータを求めることを意味する。よって、本発明が対象とする機能は、任意の位置姿勢にある移動ロボットの位置姿勢パラメータ(x,y,θ)を、移動ロボットに搭載された距離センサによるセンシングデータと、あらかじめ用意された環境地図を用いて求めることとなる。   Estimating the position and orientation of the mobile robot means obtaining the three parameters (x, y, θ) from the sensing data of the mobile robot in an arbitrary position and orientation. Therefore, the functions targeted by the present invention are the position and orientation parameters (x, y, θ) of a mobile robot in an arbitrary position and orientation, sensing data from a distance sensor mounted on the mobile robot, and an environment prepared in advance. It will be obtained using a map.

本機能を実現する手段として、いくつかの方法が考えられるが、ここではその最も基本的な方法となるマッチング処理による方法を説明する。   Several methods are conceivable as means for realizing this function. Here, a method based on matching processing, which is the most basic method, will be described.

マッチング処理による方法とは、あるフレームにおいて計測されたセンシングデータ全体の位置および姿勢(方向)を変えながら、当該センシングデータを環境地図に重ね合わせ、センシングデータと環境地図とが最もマッチする位置および姿勢を探し出し、これをもって移動ロボットの位置姿勢パラメータの推定値とするというものである。その原理は、移動ロボットがその位置および姿勢にあるときに、計測されたデータと同じデータが最も高い確率で得られるであろうという考え方に基づいている。   The matching method is a method of superimposing the sensing data on the environment map while changing the position and orientation (direction) of the entire sensing data measured in a certain frame, and the position and orientation that best matches the sensing data and the environment map. This is used as an estimated value of the position and orientation parameter of the mobile robot. The principle is based on the idea that when the mobile robot is in its position and posture, the same data as the measured data will be obtained with the highest probability.

このようなマッチング処理による方法は、具体的には以下に述べるような処理によって実施される。   Specifically, such a method by matching processing is performed by processing as described below.

(1)あるフレームにおけるすべてのセンシングデータ(前述した距離センサの例では181個)に対して、これを地図上でθだけ回転させ、(x,y)だけ平行移動させた位置を求める。   (1) For all the sensing data in a certain frame (181 in the example of the distance sensor described above), this is rotated by θ on the map, and the position translated by (x, y) is obtained.

(2)それらの位置の環境地図上の画素値を参照し、障害物があるものの数を数え、これをそのパラメータ (x,y,θ)における評価値とする。   (2) Refer to the pixel values on the environmental map at those positions, count the number of obstacles, and use this as the evaluation value for the parameter (x, y, θ).

(3)上記(1)および(2)の処理を、考えられうるすべての値をもつ(x,y,θ)の組み合わせについて、評価値が最も大きい(x,y,θ)を解とする。   (3) For the combination of (x, y, θ) with all possible values, the solution (1) and (2) above is the solution with the highest evaluation value (x, y, θ). .

図5に、この考え方に基づくマッチング処理の概要を示す。環境地図510と、センシングデータ300とが与えられたときに、この方法によって最もマッチすると判断された状況が図5右に示した状況であり、このときの平行移動成分(x,y)と回転成分θが、移動ロボットの位置姿勢推定値となる。   FIG. 5 shows an outline of matching processing based on this concept. When the environment map 510 and the sensing data 300 are given, the situation determined to be the best match by this method is the situation shown on the right side of FIG. 5, and the translation component (x, y) and rotation at this time The component θ is the estimated position and orientation of the mobile robot.

移動ロボット220は、このようにして逐次自分の位置姿勢を求め、その値と自分がすすむべき経路とを比較することで移動方向や移動速度などを決定し、これに基づき移動ロボット220の移動機構部を制御することで目的の移動が実現される。なおここで移動を正確に行うためには移動制御をなるべく短い周期で行う必要があるため、位置姿勢推定処理も高速に行うことが要求される。具体的には数10msecから100msec程度、すなわち1秒間に数10回程度の処理が逐次行えるような高速性が望まれる。   The mobile robot 220 sequentially obtains its own position and orientation in this way, determines the moving direction, moving speed, and the like by comparing the value with the route that it should take, and based on this, the moving mechanism of the mobile robot 220 The target movement is realized by controlling the unit. Here, in order to perform the movement accurately, it is necessary to perform the movement control in a cycle as short as possible, so that the position / orientation estimation process is also required to be performed at high speed. Specifically, it is desired to have a high speed capable of sequentially performing several tens of milliseconds to 100 milliseconds, that is, several tens of times per second.

上記位置姿勢推定処理は、CPUに代表される中央演算装置と、メモリに代表される主記憶装置、ならびにハードディスクに代表される補助記憶装置の組み合わせで実現されることが一般に考えられる。ここで位置姿勢推定処理を高速に行うためには、そこで頻繁にアクセスするデータ、すなわち環境地図510を、メモリ等の主記憶上に記憶しておく必要がある。しかしながらここで用いる環境地図について、これが実環境の長さ1cmの距離を1pixelであらわしたものと仮定すると、例えば300m×300mの領域で 900MBのデータサイズとなるなど、実環境の対象とする領域が大きくなると現在一般的に用いられているメモリには記憶しきれない大きなサイズとなってしまう可能性がある。またこれをハードディスク等の補助記憶装置に記憶する場合も、その読み書きの処理時間やこれを複数管理する場合などを考慮すると、できるだけサイズを削減して記憶することが望まれる。
そこで、環境地図を圧縮して補助記憶に記憶しておき、位置姿勢推定時にはそこで必要な領域のみ主記憶に伸長、展開して利用する方法を適用することが考えられる。なおここで伸長、展開のための処理時間が新たに必要となるが、上に述べたように位置姿勢推定の全体処理を数10msecから100msec程度で行おうとするとこの処理は数msecから長くても20msec程度で行う必要がある。
It is generally considered that the position / orientation estimation process is realized by a combination of a central processing unit typified by a CPU, a main storage unit typified by a memory, and an auxiliary storage unit typified by a hard disk. Here, in order to perform the position and orientation estimation processing at high speed, it is necessary to store frequently accessed data, that is, the environment map 510 on a main memory such as a memory. However, assuming that the environment map used here represents the distance of 1 cm in the real environment as 1 pixel, the area that is the target of the real environment is, for example, a 300 m x 300 m area with a data size of 900 MB. If it becomes large, there is a possibility that the memory will not be able to be stored in a memory generally used at present. Also, when this is stored in an auxiliary storage device such as a hard disk, it is desirable to reduce the size as much as possible in consideration of the read / write processing time and the case of managing a plurality of these.
Therefore, it is conceivable to apply a method in which the environment map is compressed and stored in the auxiliary memory, and only the necessary area is expanded and expanded in the main memory for use when estimating the position and orientation. Note that processing time for decompression and expansion is newly required here. However, as described above, if the overall position / orientation estimation process is performed from several tens of milliseconds to 100 milliseconds, this process may take a long time from several milliseconds. It needs to be done in about 20msec.

一方、主記憶に読み込むべきデータの量は、例えばセンサのセンシング可能範囲が16mであることから、位置推定に必要な地図領域は(16m×2)×(16m×2)程度の大きさとなり、これは非圧縮のデータとして10MB程度のサイズとなる。現在の一般的なCPU等の性能を考慮すると、伸長後にこの程度の大きさになる圧縮データに対し、外部記憶装置からの読み込み、伸長処理、主記憶装置への書き込み等のすべての処理を上記時間内で行うことは極めて困難であり、仮に可能だとしても他の処理に計算資源を割り当てる目的からこの処理は少なけれ少ないほど望ましい。   On the other hand, the amount of data to be read into the main memory, for example, because the sensor sensing range is 16m, the map area required for position estimation is about (16m × 2) × (16m × 2), This is about 10MB in size as uncompressed data. Considering the performance of current general CPUs, etc., all processing such as reading from the external storage device, decompression processing, writing to the main storage device, etc. is performed on the compressed data that becomes this size after decompression. It is extremely difficult to perform in time, and even if possible, this process is preferably as small as possible for the purpose of allocating computing resources to other processes.

そこで本発明では、補助記憶装置と主記憶装置を併用して地図の管理を行う際に、位置姿勢推定時に必要となる処理量を少なくする方法を提供する。   Therefore, the present invention provides a method for reducing the amount of processing required for position and orientation estimation when map management is performed using an auxiliary storage device and a main storage device together.

上記課題に関連する公知技術として、「特開2006-39486 地図情報処理装置」では、ユーザの経路に沿って形成される地図画像を小地図として簡易に抜き出し、ユーザ経路に沿い且つ途切れることがなくユーザが携帯する携帯機器に表示させることができる地図情報処理装置を提示している。しかしながら、本方法は地図データを画面上に表示することを目的としており、単一のメモリ上に効率的に展開する機能を提示しているわけではない。   As a publicly known technique related to the above-mentioned problem, in “JP-A-2006-39486 Map Information Processing Device”, a map image formed along a user's route is simply extracted as a small map, and is not interrupted along the user's route. A map information processing apparatus that can be displayed on a portable device carried by a user is presented. However, the present method is intended to display map data on a screen, and does not present a function for efficiently developing on a single memory.

「特開平9-160482 ナビゲーション装置」では、地面を鳥瞰撮影した画像を分割圧縮し、車両の現在位置に基づき適切な領域の画像を伸長して表示する。この方法において、画像を分割圧縮し、車両の位置移動にともなって、この分割圧縮された画像から適切なものを選び、バッファメモリに効率的に蓄え、表示する方法を提示している。しかしながらこの方法では、バッファメモリが連続したものではないため、これを地図として連続としたものとして表示するためには、バッファメモリから表示メモリに適切な順番になるように転送する別の処理が新たに必要となり、ここで処理時間が余計にかかってしまう問題が発生する。すなわち、このようなキャッシュメモリやバッファメモリを用いる方法では、地図として空間上連続する領域が、メモリ空間上では必ずしも連続したものとはならないため、本発明が述べるような位置姿勢推定を目的とした場合、推定時に大量に行われるメモリアクセスのためのアドレス計算が複雑になり、結果として処理時間が長くなる問題がある。
すなわち本発明では、記憶装置が記憶すべき容量を削減し、さらにマッチングに基づく位置姿勢推定処理を行う際の地図データへの高速なアクセスを可能とし、さらに補助記憶装置と主記憶装置を併用した地図データ処理を高速に行うことを同時に実現しなければならないという課題を解決する。
In the "Japanese Patent Laid-Open No. 9-160482 navigation apparatus", an image obtained by bird's-eye photography of the ground is divided and compressed, and an image of an appropriate area is expanded and displayed based on the current position of the vehicle. In this method, a method is presented in which an image is divided and compressed, an appropriate one is selected from the divided and compressed images as the vehicle moves, and the image is efficiently stored and displayed in a buffer memory. However, with this method, since the buffer memory is not continuous, in order to display this as a continuous map, a separate process for transferring the buffer memory from the buffer memory to the display memory in an appropriate order is newly performed. This causes a problem that the processing time is excessive. That is, in such a method using a cache memory or a buffer memory, a continuous area as a map is not necessarily a continuous area in the memory space. In this case, there is a problem that the address calculation for memory access which is performed in large quantities at the time of estimation becomes complicated, resulting in a long processing time.
That is, in the present invention, the capacity to be stored in the storage device is reduced, and further, high-speed access to the map data when performing the position / orientation estimation processing based on matching is enabled, and the auxiliary storage device and the main storage device are used in combination. To solve the problem that map data processing must be performed at the same time.

特開2006-39486号JP 2006-39486 A 特開平9-160482号JP-A-9-160482

周囲の状況を距離センサで計測したセンシングデータと、地図との照合により、自己の位置姿勢を認識し、その認識結果に基づく移動制御によって移動する移動ロボットシステムにおいて、上記課題を解決するため本発明では、全体地図を管理する全体地図記憶手段と、位置姿勢推定に必要な地図領域を部分地図として連続的に管理する部分地図記憶手段と、全体地図管理手段から地図データを選択的に読み込み、これを用いて部分地図記憶手段の内容を更新する部分地図更新手段を備える。   In order to solve the above-mentioned problem, the present invention solves the above problems in a mobile robot system that recognizes its position and orientation by comparing sensing data obtained by measuring a surrounding situation with a distance sensor and a map, and moves by movement control based on the recognition result. Then, the entire map storage means for managing the entire map, the partial map storage means for continuously managing the map area necessary for position and orientation estimation as a partial map, and the map data are selectively read from the entire map management means. And a partial map update means for updating the contents of the partial map storage means.

地図を主記憶と補助記憶に分けて管理することで、地図が拡大しても、限られた容量の主記憶だけを用いて高速な位置姿勢推定処理を行うことができる。補助記憶には全体地図を圧縮して保存することで、記憶すべきデータ量ならびにその読み込み処理時間を削減することができる。また補助記憶には全体地図を複数のブロックに分割して記憶し、必要となるブロックのみを選択的に伸長して主記憶上に書き込むことで、主記憶上のデータを高速に準備することができる。   By managing the map separately into the main memory and the auxiliary memory, even if the map is enlarged, it is possible to perform high-speed position and orientation estimation processing using only the limited main memory. By compressing and saving the entire map in the auxiliary memory, it is possible to reduce the amount of data to be stored and the reading processing time. In addition, the entire map is divided into a plurality of blocks and stored in the auxiliary memory, and only necessary blocks are selectively expanded and written on the main memory, so that data on the main memory can be prepared at high speed. it can.

以下、本発明の実施の形態について説明する。   Embodiments of the present invention will be described below.

図1は、本発明の一実施形態に係る移動ロボットシステムの全体構成を示す機能ブロック構成図である。
移動ロボットシステムは、車輪などによって平らな床を持つ実環境を任意の方向に移動可能な移動機構部130、経路やロボットの位置姿勢パラメータから移動すべき方向や距離、速度などを算出し、その結果に基づき移動機構130の制御を行う移動制御部120、ロボット周辺の環境幾何状況を計測する距離センサ210、ロボットが現在いる位置と方向を、背景技術の項で説明した地図とセンサデータのマッチングによって求める位置姿勢推定部110、その位置姿勢推定を行う際に利用する部分地図190を記憶する部分地図記憶部170、環境の全体地図180を複数のブロックに分割し、なおかつそれぞれを圧縮して記憶する全体地図記憶部160、全体地図180の中から、部分地図190を構成するのに必要なブロック領域を選択して読み込み、部分地図190の内容を更新する部分地図更新部150から構成される。なおこの部分地図更新部150は、読み込むべきブロックを選択指示する読み込みブロック選択指示部152と、選択されて読み込まれた圧縮ブロック地図183を伸長しこれを更新用ブロック地図186として部分地図記憶部170に書き込む部分地図データ伸長部154から構成される。
FIG. 1 is a functional block configuration diagram showing the overall configuration of a mobile robot system according to an embodiment of the present invention.
The mobile robot system calculates a moving mechanism unit 130 that can move in an arbitrary direction in a real environment having a flat floor by wheels and the like, a direction, a distance, a speed, and the like to be moved from a route and a position and orientation parameter of the robot. Based on the result, the movement control unit 120 that controls the movement mechanism 130, the distance sensor 210 that measures the environmental geometrical situation around the robot, and the matching of the position and direction of the robot with the map and sensor data described in the background section The position / orientation estimation unit 110 obtained by the above, the partial map storage unit 170 that stores the partial map 190 used when performing the position / orientation estimation, and the entire environment map 180 are divided into a plurality of blocks, and each is compressed and stored. Block area required to construct a partial map 190 from the entire map storage unit 160 and the entire map 180 Read by selecting, consisting of partial map update unit 150 to update the contents of the partial map 190. The partial map update unit 150 decompresses a read block selection instruction unit 152 that selects and instructs a block to be read, and a compressed block map 183 that has been selected and read, and uses this as an update block map 186 as a partial map storage unit 170. Is composed of a partial map data decompression unit 154 to be written in

また、上記の全体地図記憶部160、膨大な量のデータを管理するという観点からハードディスク等の外部記憶装置によって実装されることを想定し、また上記の部分地図記憶部170は、位置姿勢推定の演算時にデータへのアクセスを高速化させる目的からメモリ等の主記憶装置によって実装されることを想定する。また、上述の選択的な読み込み処理や伸長処理、位置姿勢推定処理等の各処理は、CPU等の中央演算装置を動作させるプログラムによって行われることを想定する。   Further, it is assumed that the entire map storage unit 160 is implemented by an external storage device such as a hard disk from the viewpoint of managing a huge amount of data, and the partial map storage unit 170 is used for position and orientation estimation. It is assumed that it is mounted by a main storage device such as a memory for the purpose of speeding up access to data during calculation. Further, it is assumed that each process such as the selective reading process, the expansion process, and the position / orientation estimation process described above is performed by a program that operates a central processing unit such as a CPU.

以上のシステム構成において、全体地図ならびに部分地図を管理する方法について説明する。ここでは説明をわかりやすくするため、以下1例となる具体的な数値を用いて説明をすすめることにする。ただしこの数値は本発明の適用をこの値に限定するものではない。
まず全体地図180に関して説明する。ここではこれを400cm×400cmの矩形領域を1ブロック画像とし、このブロック画像の集合として全体をあらわすものとする。なお実環境における1cmを画像上では1pixelであらわすものとする。これらのブロック画像ごとに圧縮がかけられ、ハードディスク上に記憶されるものとする。ここでの圧縮方法は、圧縮・伸長を繰り返しても内容がかわらない可逆圧縮方法を用いる。その具体的方法としてはランレングス法をはじめとして様々な方法が考えられるが、その方法の内容に関しては本発明の本質とは無関係なのでここでの詳細説明は省き、現在一般的に利用可能な圧縮プログラムを利用するものと仮定する。またこの圧縮方法に対する伸長プログラムも本システム内で利用可能であるものと仮定する。これらのブロック画像は、それぞれ異なるファイルとして保存するなどの方法によって、プログラムが任意に指定するブロック画像に対するランダムなアクセスを可能にしておく。
A method for managing the entire map and the partial map in the above system configuration will be described. Here, in order to make the explanation easy to understand, the following explanation will be made using specific numerical values as an example. However, this numerical value does not limit the application of the present invention to this value.
First, the overall map 180 will be described. Here, a rectangular area of 400 cm × 400 cm is defined as one block image, and the whole is represented as a set of block images. Note that 1 cm in the actual environment is represented by 1 pixel on the image. It is assumed that each block image is compressed and stored on the hard disk. The compression method here uses a reversible compression method that does not change the contents even if compression and decompression are repeated. As the specific method, various methods such as a run length method can be considered. However, since the content of the method is irrelevant to the essence of the present invention, a detailed description thereof is omitted, and compression currently available generally. Assume that you use a program. It is also assumed that a decompression program for this compression method is also available in this system. These block images are allowed to be randomly accessed with respect to the block images arbitrarily designated by the program, for example, by storing them as different files.

次に部分地図190に関して説明する。位置姿勢推定におけるマッチング処理では、メモリ上にある非圧縮の地図データにアクセスする。このメモリ上に展開されている地図データが、本発明における部分地図190である。この部分地図190はロボットが位置姿勢の推定を行うのに必要な範囲分だけあればよく上記の全体地図180をすべて含んでいる必要は無い。すなわち上記全体地図の一部分であることから、部分地図という名称をつけている。   Next, the partial map 190 will be described. In the matching process in position and orientation estimation, uncompressed map data on the memory is accessed. The map data developed on this memory is the partial map 190 in the present invention. The partial map 190 only needs to be within a range necessary for the robot to estimate the position and orientation, and does not need to include the entire map 180 described above. That is, since it is a part of the entire map, the name “partial map” is used.

この部分地図190が、全体地図180のどの部分をあらわしたものであるかを図6を用いて説明するのにあたって、必要部分地図620という考え方を導入することにする。移動ロボット220に搭載された距離センサ210が計測できる領域は、移動ロボットが現在存在しているであろう候補位置610を中心として、ある一定の領域内に限られる。すなわち、この領域の地図があれば移動ロボットの位置姿勢推定には十分であり、逆にいうとそれ以上の範囲の地図データがあっても無駄になってしまうことになる。   In explaining which part of the entire map 180 the partial map 190 represents with reference to FIG. 6, the concept of a necessary partial map 620 will be introduced. The area that can be measured by the distance sensor 210 mounted on the mobile robot 220 is limited to a certain area around the candidate position 610 where the mobile robot will currently exist. That is, if there is a map in this area, it is sufficient for estimating the position and orientation of the mobile robot, and conversely, even if there is map data in a larger range, it will be wasted.

この領域を決定するにあたって、まず移動ロボット220の存在可能範囲を考える。移動ロボットの移動速度を例えば7.2km/hとし、前述の位置姿勢推定のフレーム周期を100msごととすると、周期ごとに移動する距離は 720000cm/60/60/1000*100 = 20cm である。よって、前回のフレームの移動ロボット220の位置に対して、現在のフレームの移動ロボット220の位置は縦横ともに±20cmの範囲におさまっている。そこで、前回のフレームの位置としてそのフレームの位置推定値を用い、またその推定値の誤差を最大で5cm程度あるものと仮定し、現在のフレームの移動ロボット220の位置はその±25cmの範囲に収まっているものと仮定する。これから、移動ロボット220の存在可能範囲は、前回のフレームの位置推定値に対し、±25cmの矩形の範囲にあるものと定義する。なお、前回のフレームの位置推定値を、図6における移動ロボット220の候補位置610と呼ぶことにする。なおこの値を決める方法としては、この前フレームの位置推定値を用いることに限られるものではなく、ロボットの移動速度からこれを計算・予測する方法、車輪の回転情報からこれを推定する方法なども考えられる。
必要部分地図620の領域を決定するにあたって、次に距離センサ210の測定可能距離を考える。距離センサ210が測定可能な距離の最大値が1600cmなので、位置姿勢推定に用いることができる地図の領域は、移動ロボット220の位置に対して±1600cmの範囲に限られる。
In determining this area, first, the possible range of the mobile robot 220 is considered. For example, assuming that the moving speed of the mobile robot is 7.2 km / h and the frame period of the position and orientation estimation described above is every 100 ms, the moving distance per period is 720000 cm / 60/60/1000 * 100 = 20 cm. Therefore, the position of the mobile robot 220 in the current frame is within a range of ± 20 cm both vertically and horizontally with respect to the position of the mobile robot 220 in the previous frame. Therefore, using the estimated position value of the frame as the position of the previous frame, and assuming that the error of the estimated value is about 5 cm at the maximum, the position of the mobile robot 220 of the current frame is within the range of ± 25 cm. Assuming that From this, it is defined that the possible range of the mobile robot 220 is within a rectangular range of ± 25 cm with respect to the position estimate value of the previous frame. The previous frame position estimation value is referred to as the candidate position 610 of the mobile robot 220 in FIG. The method of determining this value is not limited to using the position estimation value of the previous frame, but a method of calculating / predicting this from the moving speed of the robot, a method of estimating this from the wheel rotation information, etc. Is also possible.
In determining the area of the necessary partial map 620, the measurable distance of the distance sensor 210 is considered next. Since the maximum distance measurable by the distance sensor 210 is 1600 cm, the map area that can be used for position and orientation estimation is limited to a range of ± 1600 cm with respect to the position of the mobile robot 220.

以上述べたように、移動ロボット220の存在可能範囲、ならびに距離センサ210の測定可能距離によって、位置姿勢推定に用いる地図の領域が限定されるが、この2つの要素を合わせると、移動ロボットの候補位置610を中心に、(1600cm×2 + 25cm × 2) × (1600cm×2 + 25cm × 2) = 3300cm×3300cmの範囲の地図があれば、位置姿勢推定に十分であることがわかる。   As described above, the area of the map used for position and orientation estimation is limited depending on the possible range of the mobile robot 220 and the measurable distance of the distance sensor 210. A map in the range of (1600 cm × 2 + 25 cm × 2) × (1600 cm × 2 + 25 cm × 2) = 3300 cm × 3300 cm centering on the position 610 is sufficient for position and orientation estimation.

以上を考慮し、図6に示すように、本実施の形態では移動ロボットの候補位置610を含むブロックを中心とし、その左右上下にそれぞれ4ブロックの幅を持つ領域を必要部分地図620と定義することにする。具体的には9×9のブロックとなり、ここで1ブロックの大きさが400cm×400cmなので全体として3600cm×3600cmの領域となるものである。上で説明した 3300cm×3300cmの大きさにたいして若干余裕をもたせた値になっているが、これについては適宜調整可能である。この必要部分地図620が準備されていれば、移動ロボット220がどの方向を向こうとも、位置推定に必要な地図の領域は必ず含んでいることになる。   Considering the above, as shown in FIG. 6, in this embodiment, an area having a width of 4 blocks is defined as a necessary partial map 620 around the block including the candidate position 610 of the mobile robot. I will decide. Specifically, it is a 9 × 9 block, and since the size of one block is 400 cm × 400 cm, the entire area is 3600 cm × 3600 cm. Although it is a value with a slight allowance for the size of 3300 cm × 3300 cm described above, this can be adjusted as appropriate. If the necessary partial map 620 is prepared, the map area necessary for position estimation is always included regardless of which direction the mobile robot 220 faces.

以上述べた、必要部分地図620の考え方を用い、まず図1における部分地図190が、上記必要部分地図620と同じものとして構成される場合において、部分地図190を準備する方法を図6、図7、図8を用いて説明する。このときの基本的な考え方は、部分地図190に必要部分地図620が過不足なく常に書き込まれるようにするということである。すなわち図6における必要部分地図620の領域の地図のデータが、非圧縮データとして図1あるいは図7における部分地図190としてメモリ上に記憶されている状態にする。   A method of preparing the partial map 190 using the concept of the necessary partial map 620 described above and first preparing the partial map 190 in FIG. 1 as the same as the necessary partial map 620 will be described with reference to FIGS. This will be described with reference to FIG. The basic idea at this time is that the necessary partial map 620 is always written in the partial map 190 without excess or deficiency. That is, the map data of the area of the necessary partial map 620 in FIG. 6 is stored in the memory as the partial map 190 in FIG. 1 or 7 as uncompressed data.

この処理は、図1における部分地図更新部150によって行われるが、その処理内容を図8を用いて説明する。なおここで点線の枠で囲まれた部分860の処理が、部分地図更新部150で行う処理である。   This processing is performed by the partial map update unit 150 in FIG. 1, and the processing content will be described with reference to FIG. Here, the processing of the portion 860 surrounded by the dotted frame is processing performed by the partial map update unit 150.

まず、移動ロボットの候補位置610を、前フレームの位置推定値として設定する(820)。最初の動き始めで前フレームの推定値が無いときには、これを人が指定したり、あらかじめ決められた場所から動き始めるといった条件を設けることにより、これが一意に決められるものとする。   First, the candidate position 610 of the mobile robot is set as a position estimation value of the previous frame (820). When there is no estimated value of the previous frame at the beginning of the first movement, this is uniquely determined by setting a condition such that a person designates this or starts moving from a predetermined location.

次に、この候補位置610から必要部分地図620の領域を算出する(825)。その算出方法は、上に述べた必要部分地図の定義で説明したとおりである。
次に、部分地図記憶部170すなわちメモリ上の部分地図190に書き込まれている内容と、必要部分地図620の示す領域が等しいものとなるように、全体地図記憶部160すなわちハードディスクに記憶されている全体地図180から足りない領域のブロックを選択する(830)。
Next, an area of the necessary partial map 620 is calculated from the candidate position 610 (825). The calculation method is as described in the definition of the necessary partial map described above.
Next, the entire map storage unit 160, that is, the hard disk is stored so that the content written in the partial map storage unit 170, that is, the partial map 190 on the memory, and the area indicated by the necessary partial map 620 are equal. A block of an insufficient area is selected from the entire map 180 (830).

以上の処理を行うのが、部分地図更新部150における読み込みブロック選択指示部152である。   The read block selection instruction unit 152 in the partial map update unit 150 performs the above processing.

次に、選択されたブロックのデータを読み込み(835)、その伸長処理を行ない(840)、部分地図190にこれを書き込む(845)。この際に、部分地図を記憶する実体となるメモリ上のどの部分に書き込むかが問題となるが、これについては後述することにする。   Next, the data of the selected block is read (835), the expansion process is performed (840), and this is written in the partial map 190 (845). At this time, there is a problem in which part on the memory as an entity for storing the partial map, which will be described later.

以上の処理を行うのが、部分地図更新部150における読み込みデータ伸長部154である。   The read data decompression unit 154 in the partial map update unit 150 performs the above processing.

この書き込みが終わると、図1において位置姿勢推定部110が位置姿勢推定を行うのに必要となる部分地図190がメモリ上に準備されたことになるので、これを用いた位置姿勢処理や移動ロボット220の移動制御などが行われる(850)。
これら一連の処理を1周期の処理(1フレームの処理)とし、これを繰り返すことで移動ロボット220の移動制御が行われる。
When this writing is completed, the partial map 190 necessary for the position / orientation estimation unit 110 to perform position / orientation estimation in FIG. 1 is prepared in the memory. Therefore, position / orientation processing and mobile robots using the partial map 190 are prepared. 220 movement control is performed (850).
A series of these processes is set as one cycle process (one frame process), and the movement control of the mobile robot 220 is performed by repeating this process.

すなわち、部分地図更新手段は、ロボットの位置姿勢推定初期値に基づき、ロボットの位置姿勢推定に必要となる地図領域の中で、まだ部分地図記憶手段上に書き込まれていないブロックのみを選択して伸長し、空間上連続する領域がメモリ上でも連続する領域となるように記憶されている内容を更新する。これによって位置姿勢推定処理を行う際の必要な地図データへのアクセスが高速に行われる。次に、移動ロボット220の移動にともない、全体地図180のどの領域が、部分地図190としてメモリ上に展開されていくかを、図9を用いて説明する。   That is, the partial map update means selects only the blocks that have not yet been written on the partial map storage means from the map area necessary for the robot position and orientation estimation based on the initial position and orientation estimation values of the robot. It expands and updates the stored contents so that the space continuous area becomes a continuous area on the memory. Thus, access to necessary map data when performing the position / orientation estimation process is performed at high speed. Next, with reference to FIG. 9, a description will be given of which region of the entire map 180 is expanded as a partial map 190 on the memory as the mobile robot 220 moves.

まず移動ロボット220の候補位置610が図9に示した位置のとき、全体地図180の中で必要部分地図620としてメモリ上に読み込まれる領域は、図9上図に示したとおりである。この領域が上述の必要部分地図の定義に従ったものとなっていることが確認される。ロボットの移動にともない、このロボットの候補位置610が移動したとしても、それが図におけるブロック900の内部にある限りにおいては、この必要部分地図の領域は変わらず、よってメモリ上に展開されている部分地図も変えなくてよいことになる。しかし図9に示すように、ロボットの移動にともない、このロボットの候補位置610がブロックをまたいでブロック903の内部の点611に移動したときは、必要部分地図620の領域が図9下図に示すものに変化する。このときには、図9下図で斜線で示した領域980がメモリ上から不要になり、斜線で示した領域970が、新たにメモリ上に必要となるので、領域980が領域970に置き換わるようにメモリの内容が更新されることになる。   First, when the candidate position 610 of the mobile robot 220 is the position shown in FIG. 9, the area read in the memory as the necessary partial map 620 in the entire map 180 is as shown in the upper diagram of FIG. 9. It is confirmed that this area conforms to the definition of the necessary partial map described above. Even if this robot candidate position 610 moves with the movement of the robot, as long as it is within the block 900 in the figure, the area of the necessary partial map does not change and is thus expanded in the memory. There is no need to change the partial map. However, as shown in FIG. 9, when the robot's candidate position 610 moves across the block to a point 611 inside the block 903 as shown in FIG. 9, the area of the necessary partial map 620 is shown in the lower diagram of FIG. Changes to things. At this time, the area 980 indicated by hatching in the lower diagram of FIG. 9 is unnecessary from the memory, and the area 970 indicated by hatching is newly required on the memory, so that the area 980 is replaced with the area 970 in the memory. The contents will be updated.

以上述べてきたように必要部分地図620の内容と同じになるように部分地図190の内容を更新していくことにより、限られた大きさのメモリだけを用いて位置姿勢推定処理が行えるようになる。   As described above, by updating the contents of the partial map 190 so as to be the same as the contents of the necessary partial map 620, the position / orientation estimation process can be performed using only a limited amount of memory. Become.

しかしながらこの方法だと、ロボットがブロックの境い目付近を動く場合、次のような問題が発生する。それは、ロボットがブロックをまたいで移動する頻度が多くなったとき、そのたびことに必要部分地図620の領域が変わり、部分地図190の内容を更新してメモリの書き換え処理が頻繁に発生し、全体地図の読み込み、データの圧縮展開、およびメモリへの書き込みの処理量が多くなってしまう、という問題である。   However, with this method, the following problems occur when the robot moves near the block boundary. That is, when the frequency that the robot moves across blocks increases, the area of the necessary partial map 620 changes each time, the contents of the partial map 190 are updated, and the memory rewriting process frequently occurs. The problem is that the amount of processing for map reading, data compression / decompression, and memory writing increases.

そこで本発明では、上記部分地図190は、必要部分地図620の示す領域のみから構成されるのではなく、これに拡張領域と呼ばれる付属的な領域を含んだ形で構成されるようにする。これを拡張領域を含む手法と呼ぶことにし、これについて図10を用いて詳述する。   Therefore, in the present invention, the partial map 190 is configured not to include only the area indicated by the necessary partial map 620 but to include an additional area called an extended area. This will be referred to as a technique including an extended region, and will be described in detail with reference to FIG.

拡張領域を含む手法では、図10に示すように、全体地図180における点線で囲んだ部分770を、図11に示すような部分地図190としてメモリ上に展開する。このときの内容は、図6で説明した必要部分地図620に加えて、縦1列、横1列のブロック分の領域767を加えたものであり、メモリはこの領域分のデータが保存されるサイズを準備しておく。   In the method including the extended region, as shown in FIG. 10, a portion 770 surrounded by a dotted line in the entire map 180 is expanded on a memory as a partial map 190 as shown in FIG. The contents at this time are obtained by adding a region 767 for one vertical column and one horizontal column in addition to the necessary partial map 620 described in FIG. 6, and the memory stores data for this region. Prepare the size.

このときに、図11に示す部分地図190には、必要部分地図620の領域が不足なく常に書き込まれるようにする。これは、図1における部分地図更新部150によって行われるが、その処理内容は、基本的に図8で説明したものと同等である。
しかしながら、拡張領域を含む手法ではこの拡張領域767が付加されたことによって、ロボットがブロックをまたいで移動する頻度が多くなった場合でも、部分地図190の内容を更新する頻度は増えず、結果として全体地図の読み込みやデータの圧縮展開およびメモリへの書き込みの処理量が多くなってしまう問題を解決することができる。その原理を図12を用いて説明する。
At this time, the area of the necessary partial map 620 is always written in the partial map 190 shown in FIG. This is performed by the partial map update unit 150 in FIG. 1, but the processing content is basically the same as that described in FIG.
However, in the method including the extended area, the frequency of updating the contents of the partial map 190 does not increase even when the robot moves more frequently across the blocks due to the addition of the extended area 767. It is possible to solve the problem that the processing amount of reading the entire map, compressing / decompressing data, and writing to the memory increases. The principle will be described with reference to FIG.

まず移動ロボット220の候補位置610が図12に示した位置のとき、全体地図180の中で必要部分地図620に拡張領域767を加えた部分地図メモリ上に読み込まれる領域は、図12上図に点線で示した領域770のとおりである。移動ロボット220の移動にともない、図12下図に示すように、このロボットの候補位置610がブロックをまたいで点611に移動したときは、必要部分地図620の領域が図12下図に示すものに変化する。このときには、図12下図で斜線で示した領域912がメモリ上から不要になり、斜線で示した領域915が、新たにメモリ上に必要となるので、領域915が領域912に置き換わるようにメモリの内容が更新されることになる。ここでの処理は、図6、図7で説明した方法とほぼ同等である。   First, when the candidate position 610 of the mobile robot 220 is the position shown in FIG. 12, the area read in the partial map memory in the entire map 180 including the expansion area 767 added to the necessary partial map 620 is shown in the upper diagram of FIG. 12. It is as the area | region 770 shown with the dotted line. As the mobile robot 220 moves, as shown in the lower diagram of FIG. 12, when the candidate position 610 of this robot moves to a point 611 across the block, the area of the necessary partial map 620 changes to that shown in the lower diagram of FIG. To do. At this time, the area 912 indicated by hatching in the lower diagram of FIG. 12 is unnecessary from the memory, and the area 915 indicated by hatching is newly required on the memory, so that the area 915 is replaced with the area 912. The contents will be updated. The processing here is almost the same as the method described in FIGS.

しかしその後に図13で示すように、移動ロボット220の移動にともない、ロボットの候補位置611が、ブロックをまたいだ位置612に変化したときに、この拡張領域を加えた手法が効果をあらわす。この移動により、必要部分地図620の領域は、図13の上図に示したものから、図13の下図に示したものに変化する。しかしながら、拡張領域767が存在していることにより、変化した後の必要部分地図620の領域は、すべて点線部分770すなわち部分地図190としてメモリ上にすでに書き込まれている。すなわち、部分地図を更新する必要は一切ない、ということになる。これが、体地図の読み込みやデータの圧縮展開およびメモリへの書き込みの処理量が多くなってしまう問題を解決することになっている。この効果は、図13の数に示した位置611を含むブロックと、位置612を含むブロックの間を繰り返し移動ロボット220が行き来してもあらわれることは明白である。なお以上述べた効果は、図13で説明した2つのブロック間を上下にまたいだときだけでなく、左右にまたいだときにも全くおなじようにあらわれることも容易に理解される。   However, as shown in FIG. 13, when the candidate position 611 of the robot changes to a position 612 across the blocks as the mobile robot 220 moves, the method of adding this extended area shows an effect. By this movement, the area of the necessary partial map 620 changes from that shown in the upper diagram of FIG. 13 to that shown in the lower diagram of FIG. However, due to the presence of the extended area 767, all areas of the necessary partial map 620 after the change have already been written in the memory as the dotted line part 770, that is, the partial map 190. That is, there is no need to update the partial map. This is to solve the problem of increasing the amount of processing of body map reading, data compression / decompression, and memory writing. It is obvious that this effect appears even when the mobile robot 220 repeatedly moves between the block including the position 611 and the block including the position 612 shown in the number of FIG. Note that it can be easily understood that the above-described effects appear not only when the two blocks described in FIG. 13 are straddled up and down, but also when they are straddled left and right.

次に、上で説明した部分地図190を、メモリ上でどのように管理するかについて詳しく述べることする。メモリはそのアドレス番号と、そのアドレスに書き込まれるデータの組み合わせで管理されるものとする。   Next, how to manage the partial map 190 described above on the memory will be described in detail. It is assumed that the memory is managed by a combination of the address number and data written to the address.

メモリは、10×10ブロック分のピクセル数、すなわち(40×10)×(40×10) = 4000×4000ピクセル分の記憶容量を持つ連続メモリとして準備する。メモリ番号は、左上を始点とし右にむかって番号が増えていき、右端に到達したら次にその1つ下の行の左端からまた右にむかって番号が増えていき、これを繰り返すことで右下を終点とする画像データの一般的なもち方と同様である。   The memory is prepared as a continuous memory having a storage capacity of 10 × 10 blocks of pixels, that is, (40 × 10) × (40 × 10) = 4000 × 4000 pixels. The memory number starts from the top left and increases to the right.When the right end is reached, the number increases from the left end of the next lower row to the right again. This is the same as the general method of holding image data with the bottom end.

すなわち、部分地図記憶手段は、メモリ等の主記憶装置によって実現され、このメモリは(M×W)×(N×H)ピクセルあるいは((M+1)×W)×((N+1)×H)ピクセルの画素データを格納できるサイズをもち、部分地図はそのメモリ上において、矩形領域の右端が左端に連続するように、また下端が上端に連続するように割り当てられるようにする。これによって移動ロボットが必要となるブロックを変更する境目付近を移動し、この境目を連続して行き来する場合にも、主記憶の内容の更新は繰り返し行う必要が無くなり、推定に利用する地図準備のための処理量を大幅に削減することができる。   That is, the partial map storage means is realized by a main storage device such as a memory, and this memory is (M × W) × (N × H) pixels or ((M + 1) × W) × ((N + 1) XH) The pixel has a size capable of storing pixel data, and the partial map is allocated on the memory so that the right end of the rectangular area is continuous with the left end and the lower end is continuous with the upper end. As a result, even if the mobile robot moves near the boundary where the necessary blocks are changed and this boundary is moved back and forth continuously, it is not necessary to repeatedly update the contents of the main memory, and the preparation of the map used for estimation is eliminated. Therefore, the processing amount can be significantly reduced.

図14は上で述べた拡張領域を含む手法における部分地図190である。図15は、この部分地図が示す各ブロックのデータが、上で述べたメモリ776上のどの位置に書き込まれるかを対応づけて示したものである。その原則は、もとの部分地図190の左右上下方向のブロックの並びの連続性が、メモリ776上の並びにおいても、右端が左端に連続し、下端が上端に連続するとの条件のもと、保たれるようにすることである。
また移動ロボット220の移動にともない、部分地図190の内容を図14に示すものから図16に示すものに変更する必要が生じた場合は、なくなった行(あるいは列)に、あらたに加わった行(あるいは列)の内容が上書きされるものとする。この様子を示したものが図17である。
FIG. 14 is a partial map 190 in the method including the extended region described above. FIG. 15 shows in correspondence with which position on the memory 776 the data of each block indicated by this partial map is written. The principle is that the continuity of the arrangement of blocks in the left and right vertical directions of the original partial map 190 is such that the right end is continuous to the left end and the lower end is continuous to the upper end in the arrangement on the memory 776, Is to be kept.
When the mobile robot 220 moves, it is necessary to change the contents of the partial map 190 from the one shown in FIG. 14 to the one shown in FIG. 16, and the newly added row (or column) The contents of (or column) shall be overwritten. This is shown in FIG.

このようなルールにもとづき部分地図190の内容をメモリ上に書き込むことで、部分地図190の左上のブロックの内容が書き込まれたメモリ番号から、右方向に走査していき、右端に到達したら、左端から再び走査すること、またさらに下方向に走査していき、下端に到達したら、上端から再び走査することで、部分地図190の任意の点にアクセスできることになる。   By writing the contents of the partial map 190 on the memory based on such a rule, the memory is scanned in the right direction from the memory number in which the contents of the upper left block of the partial map 190 are written. From this point, it is possible to access any point of the partial map 190 by scanning again from the top, further scanning downward, and when reaching the lower end, by scanning again from the upper end.

次に、以上述べた方法により部分地図190をメモリ上で管理することの効果を説明する。   Next, the effect of managing the partial map 190 on the memory by the method described above will be described.

まず第1に、地図上の位置とメモリ番地を対応づける対応表を準備する必要が無くなるということがあげられる。一般的なバッファメモリの考え方に基づき内容の更新を行うと、同じメモリ番地上にさまざまな位置の地図の内容が書き込まれるため、これをすべて管理しておく必要があるが、本手法によれば上に述べたルールに基づき地図上の位置とメモリ番地が対応付けられるのでその必要が無くなる。これによって、位置姿勢推定時にメモリ上の地図データにアクセスする際に、対応表を参照する処理が必要なくなることを意味し、結果として位置姿勢推定処理の高速化を図ることができる。   First of all, there is no need to prepare a correspondence table for associating positions on the map with memory addresses. If the contents are updated based on the general idea of buffer memory, the contents of the map at various locations are written to the same memory address, so it is necessary to manage all of this, but according to this method, Since the map position and the memory address are associated with each other based on the rules described above, the necessity is eliminated. This means that it is not necessary to refer to the correspondence table when accessing the map data in the memory at the time of position / orientation estimation, and as a result, the position / orientation estimation process can be speeded up.

第2の効果として、地図上で連続する位置の地図データが、メモリ上でも連続して記録されるということが上げられる。背景技術の項で説明した位置姿勢推定のためのマッチング処理では、移動ロボットが候補位置にいたときにそのセンサデータが示す位置を中心として、その周辺の地図の値を参照する。すなわち、アクセスする地図上のデータは空間上連続していることが多いため、メモリ上でもこれが連続する番地に書き込まれていれば、ランダムアクセスに比べてメモリアクセスのための時間を短縮することが可能となる。   As a second effect, map data at consecutive positions on the map can be recorded continuously on the memory. In the matching process for position and orientation estimation described in the background art section, when the mobile robot is at the candidate position, the position indicated by the sensor data is used as a center, and the values of the surrounding map are referred to. In other words, since the data on the map to be accessed is often continuous in space, the time for memory access can be shortened compared to random access if it is written in a continuous address even in memory. It becomes possible.

しかしながら一方、上に述べたようなメモリ配列によると、右端に到達したときに左端に戻るための、右端に到達したかどうかを確認する処理、ならびに、下端に到達したときに上端に戻るための、下端に到達したかどうかを確認する処理が、地図上の1点にアクセスするたびに必要となる。これを説明するのが図18である。図の1500の領域にアクセスする場合はすべてを連続しているメモリとして扱うことができるが、図の1600の領域にアクセスする場合は、全体領域の右端を超えるかどうかをその都度確認し、そのときには左端の領域1630をアクセスする必要が生じている。これは具体的に言うと、プログラムにおいて、メモリ番地が図の右端を越えるかどうかを確認するためのif文に相当する確認分岐処理が必要となる。一般にこの処理は単体としては無視できるほど極めて短時間におこなわれるものであるが、背景技術の項で説明した位置姿勢推定のためのマッチング処理では、評価関数を算出するために最も多く繰り返し行われ、なおかつここで同様に最も多く繰り返し行われるその他の処理はもともと非常に単純なものであるため、この確認分岐処理を行うか行わないかが全体処理時間に与える影響は結果として無視できない大きなものになる。例えば、マッチング処理で最も多く行われる処理ループの最内部分の演算がもともと3の処理量であり、この確認分岐の処理量が単体として1の処理量であったときに、全体の処理量は理論上は4/3程度に増加されることになる。   However, on the other hand, according to the memory array as described above, when the right end is reached, the process returns to the left end, the process for checking whether the right end is reached, and the process for returning to the upper end when the lower end is reached. The process of confirming whether or not the lower end has been reached is required every time a point on the map is accessed. This is illustrated in FIG. When accessing the area of 1500 in the figure, everything can be handled as a continuous memory, but when accessing the area of 1600 in the figure, it is confirmed whether or not the right end of the entire area is exceeded, and Sometimes it is necessary to access the leftmost region 1630. More specifically, in the program, a confirmation branch process corresponding to an if statement for confirming whether the memory address exceeds the right end of the figure is required. In general, this process is performed in an extremely short time so that it can be ignored as a single unit, but in the matching process for position and orientation estimation described in the background art section, it is repeated most frequently to calculate an evaluation function. In addition, since the other processes that are repeatedly performed in the same manner are very simple in nature, the effect on whether the confirmation branch process is performed or not is large on the overall processing time as a result. . For example, when the operation in the innermost part of the processing loop that is performed most frequently in the matching process is originally processing amount 3, and the processing amount of this confirmation branch is 1 processing amount as a single unit, the total processing amount is Theoretically, it will be increased to about 4/3.

この問題を解決するため、上で述べた部分地図190のメモリ上での管理方法を、以下のように改良することもできる。これを部分地図のメモリ管理に関する改良方法と呼ぶことにし、これについて詳しく述べる。   In order to solve this problem, the management method on the memory of the partial map 190 described above can be improved as follows. This will be referred to as an improved method for memory management of partial maps, and will be described in detail.

部分地図のメモリ管理に関する改良方法では、図19に示すように、メモリは、11×11ブロック分のピクセル数、すなわち(40×11)×(40×11) = 4400×4400ピクセル分の記憶容量を持つ連続メモリとして準備する。メモリ番号のつけかたは、図15を用いて述べた方法と同じである。この改良方法では、メモリ領域の最上1列および最左1列に新たな領域1300を設けている。ここで最上1列には、メモリ領域の最下1列の内容と同等の内容が書き込まれ、最左1列には、メモリ領域の最右1列同等の内容が書き込まれるようにする。このような領域を設け、図20に示すようにエリア1600およびエリア1620の内容を参照するかわりにエリア1670を参照することで、同じ内容を連続するメモリ領域として参照することが可能となる。これによりマッチング処理を行う際に、ある限定された領域の連続メモリの参照時に、メモリの端に到達したかどうかの確認処理を行う必要が無くなり、マッチング処理で最も多く行われる処理ループの最内部分の演算量を削減するができ、結果としてマッチング全体処理量を削減することができる。例えば上で述べた理論上の値によれば、処理量を3/4に削減することが可能となる。   In the improved method regarding the memory management of the partial map, as shown in FIG. 19, the memory has the number of pixels of 11 × 11 blocks, that is, the storage capacity of (40 × 11) × (40 × 11) = 4400 × 4400 pixels. Prepare as a continuous memory with. The method of assigning memory numbers is the same as that described with reference to FIG. In this improved method, new areas 1300 are provided in the uppermost column and the leftmost column of the memory area. Here, contents equivalent to the contents of the bottommost column in the memory area are written in the topmost column, and contents equivalent to the rightmost one column of the memory area are written in the leftmost column. By providing such an area and referring to the area 1670 instead of referring to the contents of the area 1600 and the area 1620 as shown in FIG. 20, the same contents can be referred to as a continuous memory area. As a result, when performing matching processing, it is not necessary to check whether the end of the memory has been reached when referring to continuous memory in a limited area, and the innermost processing loop that is most frequently performed in matching processing. The calculation amount of the part can be reduced, and as a result, the entire matching processing amount can be reduced. For example, according to the theoretical value described above, the processing amount can be reduced to 3/4.

なお、上の説明では、新たな領域1430の幅が地図のブロックのサイズの幅と等しいものとしたが、この領域の幅はマッチング時にアクセスする領域の幅と等しいように決定するのが合理的でありこのように設定することもできる。   In the above description, the width of the new area 1430 is assumed to be equal to the width of the map block size, but it is reasonable to determine that the width of this area is equal to the width of the area accessed during matching. And it can be set like this.

また、以上の説明では移動ロボット220の回転方向の制約は考慮しなかったが、実際には上で述べた1周期の間に回転できる角度は限定されるので、この角度に含まれない部分は必要部分地図620の領域外とすることで、部分地図190の記憶に必要なメモリの大きさを削減したり、その更新に必要となるデータの読み書きの量を削減することもできる。   In the above description, the restriction on the rotation direction of the mobile robot 220 is not taken into consideration. However, the angle that can be rotated during one cycle described above is actually limited. By setting the area outside the necessary partial map 620, the size of the memory required for storing the partial map 190 can be reduced, and the amount of data read / write required for the update can also be reduced.

図21は、いままで説明した本発明の機能を実現するハードウェア構成の1例を示すハードウェア構成図である。CPU20、メモリ30、ハードディスク40、距離センサ用インタフェース(IF)50、移動機構用インタフェース(IF)60、ネットワークインタフェース(IF)70からなるコンピュータ95、および距離センサ80、移動機構90を備える。   FIG. 21 is a hardware configuration diagram showing an example of a hardware configuration for realizing the functions of the present invention described so far. The computer includes a CPU 20, a memory 30, a hard disk 40, a distance sensor interface (IF) 50, a moving mechanism interface (IF) 60, a network interface (IF) 70, a distance sensor 80, and a moving mechanism 90.

CPU20は、ハードディスク40あるいはメモリ30に記憶されたプログラムに基づいて動作し、各部の制御を行う。ハードディスク40は、CPU20によって実行されるプログラムを記憶し、また全体地図を記憶する。メモリ30は、CPU20によって実行されるプログラムを記憶し、また部分地図を格納する。距離センサ用IF50は、CPU20による制御に基づき距離センサ210を動作させ、センシングデータを入力する。移動機構用IF60は、CPU20による制御に基づき移動機構90を動作させる。ネットワークIF70は無線あるいは有線の通信回線とのインタフェースを行い、プログラムの入出力、データの入出力、外部コマンドの入出力などを行う。   The CPU 20 operates based on a program stored in the hard disk 40 or the memory 30 and controls each part. The hard disk 40 stores a program executed by the CPU 20 and stores an entire map. The memory 30 stores a program executed by the CPU 20 and stores a partial map. The distance sensor IF 50 operates the distance sensor 210 based on control by the CPU 20 and inputs sensing data. The moving mechanism IF 60 operates the moving mechanism 90 based on control by the CPU 20. The network IF 70 interfaces with a wireless or wired communication line, and performs program input / output, data input / output, external command input / output, and the like.

これらの機器と図1の各ブロックとの対応を説明する。全体地図記憶部160を実現すものがハードディスク40である。なおこのハードディスクは、コンパクトフラッシュ(登録商標)のようなメモリ型外部記憶媒体や、ネットワークを介して接続される外部のコンピュータやサーバシステムなどに置き換えることも可能である。部分地図更新部150を実現するものはCPU20で動作するプログラムである。部分地図記憶部170を実現するものはメモリ30である。位置姿勢推定部110を実現するものはCPU20で動作するプログラムと距離センサ用IF50である。移動制御部120を実現するものはCPU20で動作するプログラムと移動機構用IF60である。移動機構部130は移動機構90によって実現される。   The correspondence between these devices and each block in FIG. 1 will be described. The hard disk 40 realizes the entire map storage unit 160. The hard disk can be replaced with a memory-type external storage medium such as a compact flash (registered trademark), an external computer or a server system connected via a network. What implement | achieves the partial map update part 150 is a program which operate | moves by CPU20. The memory 30 implements the partial map storage unit 170. What implements the position / orientation estimation unit 110 is a program operating on the CPU 20 and a distance sensor IF 50. What implement | achieves the movement control part 120 is the program which operate | moves with CPU20, and IF60 for movement mechanisms. The moving mechanism unit 130 is realized by the moving mechanism 90.

本発明の一実施形態に係る移動ロボットシステムの全体構成を示す機能ブロック構成図である。It is a functional block block diagram which shows the whole structure of the mobile robot system which concerns on one Embodiment of this invention. 本発明の一実施形態に係る移動ロボットシステムにおけるセンシング方法を説明する図である。It is a figure explaining the sensing method in the mobile robot system which concerns on one Embodiment of this invention. 距離センサで計測したセンシングデータの一例を説明する図である。It is a figure explaining an example of the sensing data measured with the distance sensor. 位置姿勢推定に用いる地図の一例である。It is an example of the map used for position and orientation estimation. 地図とセンシングデータのマッチングにより位置姿勢を推定するしくみを説明する図である。It is a figure explaining the structure which estimates a position and orientation by matching with a map and sensing data. 全体地図と移動ロボットの候補位置ならびに必要部分地図の関係を説明する図である。It is a figure explaining the relationship between a whole map, the candidate position of a mobile robot, and a required partial map. 部分地図と移動ロボットの候補位置との関係を説明する図である。It is a figure explaining the relationship between a partial map and the candidate position of a mobile robot. 部分地図更新部によって行われる処理の流れを説明するフローチャートである。It is a flowchart explaining the flow of the process performed by the partial map update part. 移動ロボットの候補位置がブロックをまたがって移動したときに、必要部分地図の領域が変化する様子を説明する図である。It is a figure explaining a mode that the area | region of a required partial map changes, when the candidate position of a mobile robot moves across a block. 拡張領域を含む手法において、部分地図の領域を説明する図である。It is a figure explaining the area | region of a partial map in the method containing an extended area. 拡張領域を含む手法において、部分地図と移動ロボットの候補位置との関係を説明する図である。It is a figure explaining the relationship between a partial map and the candidate position of a mobile robot in the method including an extended area. 拡張領域を含む手法において、移動ロボットの候補位置がブロックをまたがって移動したときに、部分地図の領域が変化する様子を説明する図である。It is a figure explaining a mode that the area | region of a partial map changes, when the candidate position of a mobile robot moves across a block in the method containing an extended area. 拡張領域を含む手法において、移動ロボットの候補位置がブロックをまたがって移動したときに、部分地図の内容を更新する必要がないことを説明する図である。It is a figure explaining that it is not necessary to update the content of a partial map, when the candidate position of a mobile robot moves across blocks in the method including an extended area. 部分地図のブロックの並びを説明する図である。It is a figure explaining the arrangement | sequence of the block of a partial map. 図14の部分地図のブロックとメモリ上の位置との関係を説明する図である。It is a figure explaining the relationship between the block of the partial map of FIG. 14, and the position on memory. 部分地図の領域が変化したときに、部分地図のブロックの並びを説明する図である。It is a figure explaining the arrangement | sequence of the block of a partial map when the area | region of a partial map changes. 図16の部分地図のブロックとメモリ上の位置との関係を説明する図である。It is a figure explaining the relationship between the block of the partial map of FIG. 16, and the position on memory. マッチング処理時に2つのセンサデータの値に基づいてそれぞれがアクセスするメモリの領域を説明する図である。It is a figure explaining the area | region of the memory which each accesses based on the value of two sensor data at the time of a matching process. 部分地図のメモリ管理に関する改良方法における、メモリ上のブロックの並びかたを説明する図である。It is a figure explaining how to arrange the block on a memory in the improvement method about memory management of a partial map. 部分地図のメモリ管理に関する改良方法における、マッチング処理時にあるセンサデータの値に基づいてアクセスするメモリの領域を説明する図である。It is a figure explaining the area | region of the memory accessed based on the value of the sensor data in the matching process in the improvement method regarding the memory management of a partial map. 本発明の一実施の形態におけるハードウェア構成を説明する図である。It is a figure explaining the hardware constitutions in one embodiment of this invention.

符号の説明Explanation of symbols

181 読み込みブロック選択指示部によって選択された圧縮ブロック地図、186 部分地図記憶部の更新用ブロック地図 181 Compressed block map selected by read block selection instruction unit, 186 Block map for update in partial map storage unit

Claims (17)

周囲の状況を距離センサで計測したセンシングデータと、地図との照合により、自己の位置姿勢を認識し、その認識結果に基づく移動制御によって移動する、移動ロボットシステムにおいて、
該移動ロボットシステムは、
全体地図を、複数に分割したブロック地図として管理する全体地図記憶部と、
位置姿勢推定に必要な地図領域を、部分地図として連続する領域で管理する部分地図記憶部と、
該部分地図と該センシングデータから該位置姿勢を求める位置姿勢推定部と、
該全体地図管理手段から該ブロック地図を選択して読み込み、該読み込んだブロック地図を用いて該部分地図記憶部の内容を更新する部分地図更新部とを備えることを特徴とする移動ロボットシステム。
In a mobile robot system that recognizes its position and orientation by comparing sensing data measured by a distance sensor with a map and the surroundings, and moves by movement control based on the recognition result,
The mobile robot system
An overall map storage unit for managing the entire map as a block map divided into a plurality of blocks,
A partial map storage unit for managing a map area necessary for position and orientation estimation in a continuous area as a partial map;
A position and orientation estimation unit for obtaining the position and orientation from the partial map and the sensing data;
A mobile robot system comprising: a partial map update unit that selects and reads the block map from the overall map management unit, and updates the content of the partial map storage unit using the read block map.
請求項1記載の移動ロボットシステムにおいて、
該部分地図として管理すべき領域を、ロボットの位置姿勢推定初期値に基づき決定することを特徴とする移動ロボットシステム。
The mobile robot system according to claim 1,
A mobile robot system characterized in that an area to be managed as the partial map is determined based on an initial position and orientation estimation value of the robot.
請求項1または2記載の移動ロボットシステムにおいて、
該全体地図記憶部は該ブロック地図を圧縮データとして記憶し、
該部分地図更新部は読み込んだ圧縮データを伸長する手段を備えることを特徴とする移動ロボットシステム。
The mobile robot system according to claim 1 or 2,
The entire map storage unit stores the block map as compressed data,
The mobile robot system, wherein the partial map update unit includes means for decompressing the read compressed data.
請求項1から3記載のいずれかの移動ロボットシステムにおいて、
該部分地図は、位置姿勢推定に必要な必要部分地図と、その周辺部分の地図からなる拡張部分地図からなることを特徴とする移動ロボットシステム。
The mobile robot system according to any one of claims 1 to 3,
2. The mobile robot system according to claim 1, wherein the partial map includes an extended partial map including a necessary partial map necessary for position and orientation estimation and a map of a peripheral portion thereof.
請求項1から4記載のいずれかの移動ロボットシステムにおいて、
該全体地図は、W×Hピクセルの矩形領域となる複数のブロック領域から構成され、
該必要部分地図は、M×N個の該ブロック領域から構成される矩形領域であり、
該必要部分地図と該拡張部分地図をあわせた該部分地図は、(M+1)×(N+1)個の該ブロック領域から構成される矩形領域であり、
ロボットが移動しロボットの位置姿勢推定初期値が変化したときは、該部分地図に必要部分地図が必ず含まれるようにするために足りないブロック領域を該全体地図から読み込み、該部分地図を更新することを特徴とする移動ロボットシステム。
The mobile robot system according to any one of claims 1 to 4,
The entire map is composed of a plurality of block areas that are rectangular areas of W × H pixels,
The necessary partial map is a rectangular area composed of M × N block areas,
The partial map obtained by combining the necessary partial map and the extended partial map is a rectangular area composed of (M + 1) × (N + 1) block areas,
When the robot moves and the initial position and orientation estimation value of the robot changes, the block map is read from the entire map so that the necessary partial map is always included in the partial map, and the partial map is updated. A mobile robot system characterized by that.
請求項1から4記載のいずれかの移動ロボットシステムにおいて、
該部分地図記憶領域は連続する物理メモリから構成され、
該物理メモリは(M×W)×(N×H)ピクセルの画素データを格納できるサイズをもち、
該部分地図記憶領域は、該物理メモリ上において、矩形領域の右端が左端に連続するように、また下端が上端に連続するように割り当てられることを特徴とする移動ロボットシステム。
The mobile robot system according to any one of claims 1 to 4,
The partial map storage area is composed of continuous physical memory,
The physical memory has a size capable of storing pixel data of (M × W) × (N × H) pixels,
The mobile robot system characterized in that the partial map storage area is allocated on the physical memory so that the right end of the rectangular area is continuous with the left end and the lower end is continuous with the upper end.
請求項5記載の移動ロボットシステムにおいて、
該部分地図記憶領域は連続する物理メモリから構成され、
該物理メモリは((M+1)×W)×((N+1)×H)ピクセルの画素データを格納できるサイズをもち、
該部分地図記憶領域は、該物理メモリ上において、矩形領域の右端が左端に連続するように、また下端が上端に連続するように割り当てられることを特徴とする移動ロボットシステム。
The mobile robot system according to claim 5, wherein
The partial map storage area is composed of continuous physical memory,
The physical memory has a size capable of storing pixel data of ((M + 1) × W) × ((N + 1) × H) pixels,
The mobile robot system characterized in that the partial map storage area is allocated on the physical memory so that the right end of the rectangular area is continuous with the left end and the lower end is continuous with the upper end.
請求項1から4記載のいずれかの移動ロボットシステムにおいて、
該部分地図記憶領域は連続する物理メモリから構成され、
該物理メモリはあらかじめ定められた幅パラメータUを用いて、(U+M×W)×(U+N×H)ピクセルの画素データを格納できるサイズをもち、
該部分地図記憶領域は、該物理メモリ上において、矩形領域の右端が左端に連続するように、また下端が上端に連続するように割り当てられ、
該物理メモリの左端の幅Uの部分には右端の幅Uの内容が複写され、また上端の幅Uの部分には下端の幅Uの内容が複写されることを特徴とする移動ロボットシステム。
The mobile robot system according to any one of claims 1 to 4,
The partial map storage area is composed of continuous physical memory,
The physical memory has a size capable of storing pixel data of (U + M × W) × (U + N × H) pixels using a predetermined width parameter U,
The partial map storage area is allocated on the physical memory so that the right end of the rectangular area is continuous with the left end and the lower end is continuous with the upper end.
A mobile robot system, wherein the content of the right end width U is copied to the left end width U portion of the physical memory, and the lower end width U content is copied to the upper end width U portion.
請求項5記載の移動ロボットシステムにおいて、
該部分地図記憶領域は連続する物理メモリから構成され、
該物理メモリはあらかじめ定められた幅パラメータUを用いて、(U+(M+1)×W)×(U+(N+1)×H)ピクセルの画素データを格納できるサイズをもち、
該部分地図記憶領域は、該物理メモリ上において、矩形領域の右端が左端に連続するように、また下端が上端に連続するように割り当てられ、
該物理メモリの左端の幅Uの部分には右端の幅Uの内容が複写され、また上端の幅Uの部分には下端の幅Uの内容が複写されることを特徴とする移動ロボットシステム。
The mobile robot system according to claim 5, wherein
The partial map storage area is composed of continuous physical memory,
The physical memory has a size capable of storing pixel data of (U + (M + 1) × W) × (U + (N + 1) × H) pixels, using a predetermined width parameter U,
The partial map storage area is allocated on the physical memory so that the right end of the rectangular area is continuous with the left end and the lower end is continuous with the upper end.
A mobile robot system, wherein the content of the right end width U is copied to the left end width U portion of the physical memory, and the lower end width U content is copied to the upper end width U portion.
移動ロボットシステムの周囲の状況を計測し、センシングデータを生成する距離センサと、
複数のブロック地図を記憶する全体地図記憶部と、
前記全体地図記憶部に記憶された複数のブロック地図のうちいくつかを伸張した部分地図を管理する部分地図管理部と、
前記部分地図管理部が管理する部分地図に含まれる前記ブロック地図を全体地図記憶部が記憶する前記ブロック地図から選択するとともに、該選択したブロック地図を伸張して前記部分地図管理部の管理する部分地図を更新する部分地図更新部と、
前記センシングデータと前記部分地図とを照合して前記移動ロボットシステムの位置姿勢を求める位置姿勢推定部と、
求めた前記位置姿勢に応じて、前記移動ロボットシステムを移動させる移動機構部を制御する移動制御部とを備え、
前記部分地図更新部は、前記位置姿勢に基づいて必要部分地図の範囲を算出し、当該必要部分地図の全体を含むように前記部分地図管理部が管理する部分地図が有するブロック地図を選択することを特徴とする移動ロボットシステム。
A distance sensor that measures the situation around the mobile robot system and generates sensing data;
An overall map storage unit for storing a plurality of block maps;
A partial map management unit for managing a partial map obtained by expanding some of the plurality of block maps stored in the overall map storage unit;
The block map included in the partial map managed by the partial map management unit is selected from the block map stored in the entire map storage unit, and the selected block map is expanded and managed by the partial map management unit A partial map updater for updating the map;
A position and orientation estimation unit that obtains a position and orientation of the mobile robot system by collating the sensing data with the partial map;
A movement control unit that controls a moving mechanism unit that moves the mobile robot system according to the obtained position and orientation;
The partial map update unit calculates a range of the necessary partial map based on the position and orientation, and selects a block map included in the partial map managed by the partial map management unit so as to include the entire necessary partial map. Mobile robot system characterized by
請求項10において、
前記全体地図記憶部は、前記ブロック地図を圧縮して記憶していることを特徴とする移動ロボットシステム。
In claim 10,
The mobile robot system, wherein the entire map storage unit stores the compressed block map.
請求項10において、
前記必要部分地図は、前記位置姿勢から求めた前記移動ロボットシステムの位置に対応するブロック地図が中心となるように選択させることを特徴とする移動ロボットシステム。
In claim 10,
The mobile robot system, wherein the necessary partial map is selected so that a block map corresponding to the position of the mobile robot system obtained from the position and orientation is centered.
請求項10において、
前記部分地図は、前記必要部分地図よりも多くの前記ブロック地図を有し、
前記必要部分地図の範囲は、前記位置姿勢から求めた前記移動ロボットシステムの位置の変化に応じて変更され、
当該必要部分地図の範囲が前記部分地図に含まれないブロック地図を含むように変更されたときに、前記部分地図更新部は前記全体記憶地図記憶部から当該ブロック地図を伸張して前記部分地図管理部の管理する部分地図に加えることを特徴とする移動ロボットシステム。
In claim 10,
The partial map has more block maps than the necessary partial map;
The range of the necessary partial map is changed according to a change in the position of the mobile robot system obtained from the position and orientation,
When the range of the necessary partial map is changed to include a block map that is not included in the partial map, the partial map update unit expands the block map from the overall storage map storage unit and manages the partial map A mobile robot system characterized by being added to a partial map managed by the department.
請求項13において、
前記ブロック地図を前記部分地図に加えたときに、前記必要部分地図に含まれないブロック地図を前記部分地図管理部から削除することを特徴とする移動ロボットシステム。
In claim 13,
A mobile robot system, wherein a block map not included in the necessary partial map is deleted from the partial map management unit when the block map is added to the partial map.
請求項14において、前記部分地図に加えるブロック地図は、前記削除されるブロック地図を記憶している前記部分地図管理部の記憶領域に記憶されることを特徴とする移動ロボットシステム   15. The mobile robot system according to claim 14, wherein the block map to be added to the partial map is stored in a storage area of the partial map management unit storing the block map to be deleted. 周囲の状況を距離センサで計測したセンシングデータと、地図との照合により、自己の位置姿勢を認識し、その認識結果に基づく移動制御によって移動する、移動ロボットシステムの制御方法において、
前記移動ロボットシステムは、
全体地図を、複数に分割したブロック地図として管理する全体地図記憶部と、
位置姿勢推定に必要な地図領域を、部分地図として連続する領域で管理する部分地図記憶部とを備え、
移動ロボットシステムの位置姿勢推定部が、該部分地図と該センシングデータから該位置姿勢を求める位置姿勢推定ステップと、
移動ロボットシステムの部分地図更新部が、該全体地図管理手段から該ブロック地図を選択して読み込み、該読み込んだブロック地図を用いて該部分地図記憶部の内容を更新するステップとを備えることを特徴とする移動ロボットシステムの制御方法。
In a control method for a mobile robot system, which recognizes its position and orientation by comparing sensing data obtained by measuring a surrounding situation with a distance sensor and a map, and moves by movement control based on the recognition result,
The mobile robot system includes:
An overall map storage unit for managing the entire map as a block map divided into a plurality of blocks,
A partial map storage unit for managing a map area necessary for position and orientation estimation in a continuous area as a partial map;
A position and orientation estimation step in which a position and orientation estimation unit of the mobile robot system obtains the position and orientation from the partial map and the sensing data;
A partial map update unit of the mobile robot system comprising: selecting and reading the block map from the overall map management means, and updating the content of the partial map storage unit using the read block map. A mobile robot system control method.
距離センサが、移動ロボットシステムの周囲の状況を計測し、センシングデータを生成する距離計測ステップと、
部分地図更新部が、複数のブロック地図を記憶する全体地図記憶部から前記部分地図管理部が管理する部分地図に含まれる前記ブロック地図から選択するブロック地図選択ステップと、
前記部分地図更新部が、前記選択したブロック地図を伸張して前記部分地図管理部の管理する部分地図を更新する部分地図更新ステップと、
位置姿勢推定部が、前記センシングデータと前記部分地図とを照合して前記移動ロボットシステムの位置姿勢を求める位置姿勢推定ステップと、
移動制御部が、前記求めた位置姿勢に応じて、前記移動ロボットシステムを移動させる移動機構部を制御する移動ステップとを備え、
前記地図選択ステップでは、前記部分地図更新部が、前記位置姿勢に基づいて必要部分地図の範囲を算出し、当該必要部分地図の全体を含むように前記部分地図管理部が管理する部分地図が有するブロック地図を選択することを特徴とする移動ロボットシステムの制御方法。
A distance measurement step in which the distance sensor measures the surrounding situation of the mobile robot system and generates sensing data;
A block map selection step in which the partial map update unit selects from the block map included in the partial map managed by the partial map management unit from an entire map storage unit that stores a plurality of block maps;
A partial map update step in which the partial map update unit extends the selected block map to update a partial map managed by the partial map management unit;
A position and orientation estimation unit, wherein the position and orientation estimation unit obtains the position and orientation of the mobile robot system by comparing the sensing data and the partial map;
A movement control unit comprising a movement step of controlling a movement mechanism unit that moves the mobile robot system according to the obtained position and orientation;
In the map selection step, the partial map update unit calculates a range of the necessary partial map based on the position and orientation, and the partial map managed by the partial map management unit includes the entire necessary partial map. A control method of a mobile robot system, characterized by selecting a block map.
JP2008002716A 2008-01-10 2008-01-10 Mobile robot system and control method thereof Active JP5349804B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008002716A JP5349804B2 (en) 2008-01-10 2008-01-10 Mobile robot system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008002716A JP5349804B2 (en) 2008-01-10 2008-01-10 Mobile robot system and control method thereof

Publications (2)

Publication Number Publication Date
JP2009163156A true JP2009163156A (en) 2009-07-23
JP5349804B2 JP5349804B2 (en) 2013-11-20

Family

ID=40965802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008002716A Active JP5349804B2 (en) 2008-01-10 2008-01-10 Mobile robot system and control method thereof

Country Status (1)

Country Link
JP (1) JP5349804B2 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178272A1 (en) * 2013-05-01 2014-11-06 村田機械株式会社 Autonomous moving body
JP2016015628A (en) * 2014-07-02 2016-01-28 三菱重工業株式会社 Indoor monitoring system and mode of structure
JP2018090147A (en) * 2016-12-06 2018-06-14 東日本旅客鉄道株式会社 Maintenance vehicle for railway line
CN110319832A (en) * 2019-07-05 2019-10-11 北京海益同展信息科技有限公司 Robot localization method, apparatus, electronic equipment and medium
JP2020042726A (en) * 2018-09-13 2020-03-19 株式会社東芝 Ogm compression circuit, ogm compression extension system, and moving body system
JP2020091810A (en) * 2018-12-07 2020-06-11 株式会社日立産機システム Mobile body control system and method for controlling the same
KR102292733B1 (en) * 2020-06-08 2021-08-20 롯데정보통신 주식회사 System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner
WO2022130886A1 (en) * 2020-12-17 2022-06-23 株式会社日立産機システム Position detection device and position detection method for moving object
US11493359B2 (en) 2018-01-24 2022-11-08 Sony Corporation Control device, control method, and mobile object

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211398A (en) * 2014-10-02 2017-11-30 株式会社日立産機システム Map information generator and map information generation method

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61189214U (en) * 1985-05-17 1986-11-26
JPS63213005A (en) * 1987-03-02 1988-09-05 Hitachi Ltd Guiding method for mobile object
JPH05296776A (en) * 1992-04-24 1993-11-09 Fujitsu Ten Ltd Route guidance system
JPH09160482A (en) * 1995-12-01 1997-06-20 Aqueous Res:Kk Navigation device
JPH09174471A (en) * 1995-12-01 1997-07-08 Samsung Electronics Co Ltd Environment recognizing device for robot and control method thereof
JP2002048513A (en) * 2000-05-26 2002-02-15 Honda Motor Co Ltd Position detector, method of detecting position, and program for detecting position
JP2005147982A (en) * 2003-11-19 2005-06-09 Matsushita Electric Ind Co Ltd Map-matching method and system for conducting the same
JP2005326944A (en) * 2004-05-12 2005-11-24 Hitachi Ltd Device and method for generating map image by laser measurement
JP2006039486A (en) * 2004-07-30 2006-02-09 Victor Co Of Japan Ltd Map information processor
JP2008076252A (en) * 2006-09-21 2008-04-03 Matsushita Electric Works Ltd Own position recognition system
JP2008250906A (en) * 2007-03-30 2008-10-16 Sogo Keibi Hosho Co Ltd Mobile robot, and self-location correction method and program
JP2009093308A (en) * 2007-10-05 2009-04-30 Hitachi Industrial Equipment Systems Co Ltd Robot system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61189214U (en) * 1985-05-17 1986-11-26
JPS63213005A (en) * 1987-03-02 1988-09-05 Hitachi Ltd Guiding method for mobile object
JPH05296776A (en) * 1992-04-24 1993-11-09 Fujitsu Ten Ltd Route guidance system
JPH09160482A (en) * 1995-12-01 1997-06-20 Aqueous Res:Kk Navigation device
JPH09174471A (en) * 1995-12-01 1997-07-08 Samsung Electronics Co Ltd Environment recognizing device for robot and control method thereof
JP2002048513A (en) * 2000-05-26 2002-02-15 Honda Motor Co Ltd Position detector, method of detecting position, and program for detecting position
JP2005147982A (en) * 2003-11-19 2005-06-09 Matsushita Electric Ind Co Ltd Map-matching method and system for conducting the same
JP2005326944A (en) * 2004-05-12 2005-11-24 Hitachi Ltd Device and method for generating map image by laser measurement
JP2006039486A (en) * 2004-07-30 2006-02-09 Victor Co Of Japan Ltd Map information processor
JP2008076252A (en) * 2006-09-21 2008-04-03 Matsushita Electric Works Ltd Own position recognition system
JP2008250906A (en) * 2007-03-30 2008-10-16 Sogo Keibi Hosho Co Ltd Mobile robot, and self-location correction method and program
JP2009093308A (en) * 2007-10-05 2009-04-30 Hitachi Industrial Equipment Systems Co Ltd Robot system

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178272A1 (en) * 2013-05-01 2014-11-06 村田機械株式会社 Autonomous moving body
JP2014219721A (en) * 2013-05-01 2014-11-20 村田機械株式会社 Autonomous mobile body
US9740209B2 (en) 2013-05-01 2017-08-22 Murata Machinery, Ltd. Autonomous moving body
JP2016015628A (en) * 2014-07-02 2016-01-28 三菱重工業株式会社 Indoor monitoring system and mode of structure
US10359778B2 (en) 2014-07-02 2019-07-23 Mitsubishi Heavy Industries, Ltd. Indoor monitoring system and method for structure
JP2018090147A (en) * 2016-12-06 2018-06-14 東日本旅客鉄道株式会社 Maintenance vehicle for railway line
US11493359B2 (en) 2018-01-24 2022-11-08 Sony Corporation Control device, control method, and mobile object
JP2020042726A (en) * 2018-09-13 2020-03-19 株式会社東芝 Ogm compression circuit, ogm compression extension system, and moving body system
JP2020091810A (en) * 2018-12-07 2020-06-11 株式会社日立産機システム Mobile body control system and method for controlling the same
JP7041047B2 (en) 2018-12-07 2022-03-23 株式会社日立産機システム Mobile object control system and its control method
CN110319832A (en) * 2019-07-05 2019-10-11 北京海益同展信息科技有限公司 Robot localization method, apparatus, electronic equipment and medium
CN110319832B (en) * 2019-07-05 2024-05-17 京东科技信息技术有限公司 Robot positioning method, device, electronic equipment and medium
KR102292733B1 (en) * 2020-06-08 2021-08-20 롯데정보통신 주식회사 System and method for allocating artificial intelligence model for autonomous driving of a plurality of mobile robots in an asynchronous distributed manner
WO2022130886A1 (en) * 2020-12-17 2022-06-23 株式会社日立産機システム Position detection device and position detection method for moving object
JP2022096155A (en) * 2020-12-17 2022-06-29 株式会社日立産機システム Moving object position detecting device and moving object position detecting method
JP7336430B2 (en) 2020-12-17 2023-08-31 株式会社日立産機システム Mobile body position detection device and position detection method

Also Published As

Publication number Publication date
JP5349804B2 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
JP5349804B2 (en) Mobile robot system and control method thereof
US10593110B2 (en) Method and device for computing a path in a game scene
US6873329B2 (en) System and method for caching and rendering images
CN105164500B (en) For indicating user location on the digital map and in face of the system and method in direction
US20120268465A1 (en) Image file generation device, image processing device, image file generation method, image processing method, and data structure for image files
US20130057550A1 (en) Three-dimensional map drawing system
JP6223976B2 (en) Display control program, display control method, and display control apparatus
KR20210116576A (en) How to use a visual robot-based map of the past
KR101956098B1 (en) Virtual exhibition space system and providing method using 2.5 dimensional image
KR20120122957A (en) Navigation device, method of determining a height coordinate and method of generating a database
EP3996042A1 (en) Three-dimensional model texture obtaining method and related device
US9679349B2 (en) Method for visualizing three-dimensional data
ES2297449T3 (en) TRIANGLE REPRESENTATION USING A DIRECT EVALUATION.
JP4606898B2 (en) Information generation device and search device
US20150199825A1 (en) Method and system for expediting bilinear filtering
JP5109868B2 (en) Symbol display method and symbol display program
JP6210953B2 (en) Image processing apparatus and image processing method
CN115761119A (en) Neighborhood voxel storage method and device, computer equipment and storage medium
CN112529984B (en) Method, device, electronic equipment and storage medium for drawing polygon
CN107038176B (en) Method, device and equipment for rendering web graph page
JP2013186705A (en) Data transfer device and data transfer method
CN117744187B (en) CAD drawing method, device, computer equipment and storage medium
JP6143871B2 (en) Map display system, map display method and program
CN115601512B (en) Interactive three-dimensional reconstruction method and device, computer equipment and storage medium
WO2021075317A1 (en) Ar system and terminal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130821

R150 Certificate of patent or registration of utility model

Ref document number: 5349804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150