JP2021114103A - Map processing device, map processing method, and mobile robot - Google Patents

Map processing device, map processing method, and mobile robot Download PDF

Info

Publication number
JP2021114103A
JP2021114103A JP2020006252A JP2020006252A JP2021114103A JP 2021114103 A JP2021114103 A JP 2021114103A JP 2020006252 A JP2020006252 A JP 2020006252A JP 2020006252 A JP2020006252 A JP 2020006252A JP 2021114103 A JP2021114103 A JP 2021114103A
Authority
JP
Japan
Prior art keywords
sub
map
mobile robot
areas
feature points
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.)
Pending
Application number
JP2020006252A
Other languages
Japanese (ja)
Inventor
リベラ ファビオ ダーラ
Dalla Libera Fabio
リベラ ファビオ ダーラ
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2020006252A priority Critical patent/JP2021114103A/en
Priority to PCT/JP2020/045590 priority patent/WO2021145098A1/en
Publication of JP2021114103A publication Critical patent/JP2021114103A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

To provide a map processing device and the others that are able to divide a task area included in a map so that an autonomously moving mobile robot can accurately estimate a self-position.SOLUTION: A map processing device 100 divides a task area corresponding to a predetermined area, included in a map 141 used by a mobile robot 200 autonomously moving in the predetermined area, into a plurality of sub-areas, comprises: an extraction unit 120 that extracts from the task area a plurality of feature points corresponding to a plurality of points respectively in the predetermined area where the mobile robot 200 can recognize a position and a division unit 130 that divides the task area into the plurality of sub-areas, based on the plurality of feature points.SELECTED DRAWING: Figure 3

Description

本発明は、地図処理装置、地図処理方法、及び、当該地図処理装置により処理された地図を用いて自律的に移動する移動ロボットに関する。 The present invention relates to a map processing device, a map processing method, and a mobile robot that autonomously moves using a map processed by the map processing device.

従来、所定の領域を自律的に移動する移動ロボットがある。この種の移動ロボットは、例えば、所定の領域に対応するタスクエリアを含む地図(地図情報)に基づいて移動経路を算出し、算出した移動経路に沿って自律的に移動する。 Conventionally, there are mobile robots that autonomously move in a predetermined area. This type of mobile robot calculates a movement route based on a map (map information) including a task area corresponding to a predetermined area, and autonomously moves along the calculated movement route.

例えば、移動ロボットは、所定の領域が広すぎる場合、当該所定の領域に対応する、地図に含まれるタスクエリアをいくつかのエリアに分割することで複数のサブエリアを生成し、生成したサブエリアごとに移動経路を算出する。移動ロボットは、サブエリアごとに移動経路に沿って移動する。特許文献1には、地図に含まれるタスクエリアを複数の矩形のサブエリアに分割する方法が開示されている。 For example, when a predetermined area is too wide, the mobile robot generates a plurality of sub-areas by dividing the task area included in the map corresponding to the predetermined area into several areas, and the generated sub-areas. The movement route is calculated for each. The mobile robot moves along the movement path for each sub-area. Patent Document 1 discloses a method of dividing a task area included in a map into a plurality of rectangular sub-areas.

中国特許出願公開第106175606号明細書Chinese Patent Application Publication No. 106175606

Spatial Tessellations:Concepts and Applications of Voronoi Diagrams, Second EditionSpatial Tesselations: Concepts and Applications of Voronoi Diagrams, Second Edition

移動ロボットは、移動経路に沿って移動するために、自己位置を推定しながら移動する。例えば、LIDAR(Light Detection and Ranging)等のセンサを用いて、移動ロボットの周囲に位置する壁及び対象物等の位置を示す情報を検出し、検出した情報を用いて自己位置を推定する。移動ロボットは、例えば、局地化アルゴリズムを用いて、地図とLIDARで検出した情報とを比較することで、自己位置を推定する。移動ロボットは、例えば、算出した移動経路に沿って移動しながら、掃除、掃海、又は、データ収集のようなタスクを実行する。このようなタスクを実行しながら自律的に移動する移動ロボットにおいては、所定の領域内をくまなく移動することが要求される。そのため、移動ロボットには、精度よく自己位置を推定できることが要求される。 The mobile robot moves while estimating its own position in order to move along the movement path. For example, a sensor such as LIDAR (Light Detection and Ringing) is used to detect information indicating the positions of walls and objects located around the mobile robot, and the self-position is estimated using the detected information. The mobile robot estimates its own position by, for example, using a localization algorithm to compare the map with the information detected by LIDAR. The mobile robot performs tasks such as cleaning, minesweeping, or data collection while moving along the calculated movement path, for example. In a mobile robot that moves autonomously while executing such a task, it is required to move all over a predetermined area. Therefore, the mobile robot is required to be able to estimate its own position with high accuracy.

本発明は、自律的に移動する移動ロボットが精度よく自己位置を推定できるようにタスクエリアを分割できる地図処理装置等を提供する。 The present invention provides a map processing device or the like that can divide a task area so that a mobile robot that moves autonomously can accurately estimate its own position.

本発明の一態様に係る地図処理装置は、所定の領域を自律的に移動する移動ロボットが用いる地図に含まれる、前記所定の領域に対応するタスクエリアを複数のサブエリアに分割する地図処理装置であって、前記移動ロボットが位置を認識可能な前記所定の領域における複数の点にそれぞれ対応する複数の特徴点を前記タスクエリアから抽出する抽出部と、前記複数の特徴点に基づいて前記タスクエリアを複数のサブエリアに分割する分割部と、を備える。 The map processing device according to one aspect of the present invention is a map processing device that divides a task area corresponding to the predetermined area into a plurality of sub-areas included in a map used by a mobile robot that autonomously moves in a predetermined area. An extraction unit that extracts a plurality of feature points corresponding to a plurality of points in the predetermined area where the mobile robot can recognize the position from the task area, and the task based on the plurality of feature points. It is provided with a division portion for dividing the area into a plurality of sub-areas.

また、本発明の一態様に係る地図処理方法は、所定の領域を自律的に移動する移動ロボットが用いる地図に含まれる、前記所定の領域に対応するタスクエリアを複数のサブエリアに分割する地図処理方法であって、前記移動ロボットが位置を認識可能な前記所定の領域における複数の点にそれぞれ対応する複数の特徴点を前記タスクエリアから抽出する抽出ステップと、前記複数の特徴点に基づいて前記タスクエリアを複数のサブエリアに分割する分割ステップと、を含む。 Further, the map processing method according to one aspect of the present invention includes a map included in a map used by a mobile robot that autonomously moves in a predetermined area, and divides a task area corresponding to the predetermined area into a plurality of sub-areas. It is a processing method based on an extraction step of extracting a plurality of feature points corresponding to a plurality of points in the predetermined area where the mobile robot can recognize a position from the task area, and the plurality of feature points. A division step for dividing the task area into a plurality of sub-areas is included.

また、本発明の一態様に係る移動ロボットは、所定の領域を自律的に移動する移動ロボットであって、上記に記載の地図処理装置と、前記複数のサブエリアごとに移動経路を算出する算出部と、前記複数のサブエリアのうちの一のサブエリアにおける移動経路に沿って前記移動ロボットを移動させた後に、前記複数のサブエリアのうちの他のサブエリアに対応する位置に前記移動ロボットを移動させて、前記他のサブエリアにおける移動経路に沿って前記移動ロボットを移動させる制御部と、を備える。 Further, the mobile robot according to one aspect of the present invention is a mobile robot that autonomously moves in a predetermined area, and is calculated by calculating the movement route for each of the map processing device described above and the plurality of sub-areas. After moving the mobile robot along the movement path of the unit and one of the plurality of sub-areas, the mobile robot is located at a position corresponding to the other sub-area of the plurality of sub-areas. The mobile robot is provided with a control unit for moving the mobile robot along a movement path in the other sub-area.

なお、本発明は、上記プログラムを記録したコンピュータによって読み取り可能なCD−ROM等の非一時的な記録媒体として実現されてもよい。また、本発明は、そのプログラムを示す情報、データ又は信号として実現されてもよい。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信されてもよい。 The present invention may be realized as a non-temporary recording medium such as a CD-ROM that can be read by a computer that records the above program. The present invention may also be realized as information, data or signals indicating the program. Then, those programs, information, data and signals may be distributed via a communication network such as the Internet.

本発明によれば、自律的に移動する移動ロボットが精度よく自己位置を推定できるようにタスクエリアを分割できる地図処理装置等を提供できる。 According to the present invention, it is possible to provide a map processing device or the like capable of dividing a task area so that a mobile robot that moves autonomously can estimate its own position with high accuracy.

図1は、実施の形態に係る移動ロボットの外観を示す斜視図である。FIG. 1 is a perspective view showing the appearance of the mobile robot according to the embodiment. 図2は、実施の形態に係る移動ロボットの外観を示す底面図である。FIG. 2 is a bottom view showing the appearance of the mobile robot according to the embodiment. 図3は、実施の形態に係る移動ロボットの特徴的な機能構成を示すブロック図である。FIG. 3 is a block diagram showing a characteristic functional configuration of the mobile robot according to the embodiment. 図4は、実施の形態に係る移動ロボットの処理手順を説明するためのフローチャートである。FIG. 4 is a flowchart for explaining a processing procedure of the mobile robot according to the embodiment. 図5は、地図の第1例を示す図である。FIG. 5 is a diagram showing a first example of a map. 図6は、図5に示す地図における複数の特徴点を示す図である。FIG. 6 is a diagram showing a plurality of feature points in the map shown in FIG. 図7は、図5に示す地図から生成されるボロノイ図である。FIG. 7 is a Voronoi diagram generated from the map shown in FIG. 図8は、図5に示す地図と図7に示すボロノイ図とを重ねた図である。FIG. 8 is a diagram in which the map shown in FIG. 5 and the Voronoi diagram shown in FIG. 7 are superimposed. 図9は、複数のサブエリアを示す図である。FIG. 9 is a diagram showing a plurality of sub-areas. 図10は、地図の第2例を示す図である。FIG. 10 is a diagram showing a second example of the map. 図11は、図10に示す地図における特徴点を示す図である。FIG. 11 is a diagram showing feature points in the map shown in FIG. 図12は、図10に示す地図から生成されるボロノイ図である。FIG. 12 is a Voronoi diagram generated from the map shown in FIG. 図13は、地図の第3例を示す図である。FIG. 13 is a diagram showing a third example of the map. 図14は、図13に示す地図から生成されるボロノイ図である。FIG. 14 is a Voronoi diagram generated from the map shown in FIG. 図15は、実施の形態に係る地図処理装置が実行する削除処理の詳細を示すフローチャートである。FIG. 15 is a flowchart showing details of the deletion process executed by the map processing device according to the embodiment. 図16は、分割部が生成する点集合の一例を示す図である。FIG. 16 is a diagram showing an example of a point set generated by the dividing portion. 図17は、地図の第4例を示す図である。FIG. 17 is a diagram showing a fourth example of the map. 図18は、実施の形態に係る地図処理装置が実行する分割処理の詳細を示すフローチャートである。FIG. 18 is a flowchart showing details of the division process executed by the map processing device according to the embodiment. 図19は、実施の形態に係る地図処理装置が実行する分割処理の詳細を示す図である。FIG. 19 is a diagram showing details of division processing executed by the map processing apparatus according to the embodiment. 図20は、実施の形態に係る地図処理装置が生成する複数のサブエリアを含む地図の具体例を説明するための図である。FIG. 20 is a diagram for explaining a specific example of a map including a plurality of sub-areas generated by the map processing device according to the embodiment. 図21は、実施の形態に係る地図処理装置が生成する複数のサブエリアを含む地図の具体例を説明するための図である。FIG. 21 is a diagram for explaining a specific example of a map including a plurality of sub-areas generated by the map processing device according to the embodiment. 図22は、実施の形態に係る地図処理装置が生成する複数のサブエリアを含む地図の具体例を説明するための図である。FIG. 22 is a diagram for explaining a specific example of a map including a plurality of sub-areas generated by the map processing device according to the embodiment. 図23は、実施の形態に係る地図処理装置が生成する複数のサブエリアを含む地図の具体例を説明するための図である。FIG. 23 is a diagram for explaining a specific example of a map including a plurality of subareas generated by the map processing device according to the embodiment. 図24は、実施の形態に係る地図処理装置が生成する複数のサブエリアを含む地図の具体例を説明するための図である。FIG. 24 is a diagram for explaining a specific example of a map including a plurality of subareas generated by the map processing device according to the embodiment. 図25は、実施の形態に係る地図処理装置が生成する複数のサブエリアを含む地図の具体例を説明するための図である。FIG. 25 is a diagram for explaining a specific example of a map including a plurality of sub-areas generated by the map processing device according to the embodiment.

以下では、本発明に係る地図処理装置等の実施の形態について、図面を用いて詳細に説明する。なお、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。 Hereinafter, embodiments of the map processing apparatus and the like according to the present invention will be described in detail with reference to the drawings. The numerical values, shapes, materials, components, arrangement and connection forms of the components, steps, the order of steps, etc. shown in the following embodiments are examples, and are not intended to limit the present invention.

また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。 Further, each figure is a schematic view and is not necessarily exactly illustrated. Further, in each figure, substantially the same configuration is designated by the same reference numerals, and duplicate description may be omitted or simplified.

また、以下の実施の形態においては、略三角形等の「略」を用いた表現を用いている。例えば、略三角形とは、完全に三角形であることを意味するだけでなく、実質的に三角形である、すなわち、例えば角丸な三角形等も含むことも意味する。他の「略」を用いた表現についても同様である。 Further, in the following embodiments, expressions using "abbreviations" such as substantially triangles are used. For example, a substantially triangle means not only that it is a perfect triangle, but also that it is substantially a triangle, that is, it also includes, for example, a triangle with rounded corners. The same applies to expressions using other "abbreviations".

また、以下の実施の形態においては、所定の領域を移動する移動ロボットを鉛直上方側から見た場合を上面視とし、鉛直下方側から見た場合を底面視として記載する場合がある。 Further, in the following embodiments, the case where the mobile robot moving in the predetermined region is viewed from the vertically upper side may be described as the top view, and the case where the mobile robot moving in the predetermined region is viewed from the vertically lower side may be described as the bottom view.

(実施の形態)
[構成]
図1は、実施の形態に係る移動ロボット200の外観を示す斜視図である。図2は、実施の形態に係る移動ロボット200の外観を示す底面図である。
(Embodiment)
[Constitution]
FIG. 1 is a perspective view showing the appearance of the mobile robot 200 according to the embodiment. FIG. 2 is a bottom view showing the appearance of the mobile robot 200 according to the embodiment.

移動ロボット200は、掃除、掃海、又は、データ収集のような所定のタスクを実行しながらフロア等の所定の領域を自律的に移動(言い換えると、自律走行)する移動ロボットである。本実施の形態では、移動ロボット200は、所定の領域を自律走行しながら掃除する自律走行掃除機である。移動ロボット200は、所定の領域に対応するタスクエリアを含む地図を用いて、所定の領域を移動する。 The mobile robot 200 is a mobile robot that autonomously moves (in other words, autonomously travels) in a predetermined area such as a floor while performing a predetermined task such as cleaning, minesweeping, or data collection. In the present embodiment, the mobile robot 200 is an autonomous traveling vacuum cleaner that cleans a predetermined area while autonomously traveling. The mobile robot 200 moves in a predetermined area by using a map including a task area corresponding to the predetermined area.

例えば、移動ロボット200は、まず、カメラ60等を用いて所定の領域(より具体的には、所定の領域内)を撮像しながら走り回ることで、所定の領域に対応するタスクエリアを含む地図(地図情報)を生成する。 For example, the mobile robot 200 first runs around while capturing an image of a predetermined area (more specifically, within the predetermined area) using a camera 60 or the like, thereby performing a map including a task area corresponding to the predetermined area (more specifically, within the predetermined area). Map information) is generated.

次に、移動ロボット200は、生成した地図に基づいて、所定の領域を掃除する際に移動(走行)する移動経路(走行経路)を算出する。次に、移動ロボット200は、算出した移動経路で、所定の領域を走行して掃除する。 Next, the mobile robot 200 calculates a movement route (travel route) to move (travel) when cleaning a predetermined area based on the generated map. Next, the mobile robot 200 travels in a predetermined area and cleans the calculated movement path.

なお、移動ロボット200は、所定の領域に対応する地図(タスクエリア)を完全に生成していなくても移動を開始してもよい。例えば、移動ロボット200は、所定の領域の一部しかカメラ60等を用いて認識していない場合、認識した部分の特徴点をから後述するようにタスクエリアを複数のサブエリアに分割し、サブエリアごとに移動経路を算出し、算出した移動経路に沿って移動してもよい。 The mobile robot 200 may start moving even if the map (task area) corresponding to the predetermined area is not completely generated. For example, when the mobile robot 200 recognizes only a part of a predetermined area by using the camera 60 or the like, the task area is divided into a plurality of sub-areas by dividing the feature points of the recognized part into a plurality of sub-areas as described later. A movement route may be calculated for each area, and the movement may be performed along the calculated movement route.

移動ロボット200は、例えば、SLAM(Simultaneous Localization and Mapping)により、掃除する所定の領域を示す地図の生成と、生成した地図における移動ロボット200の自己位置の推定とを行う。 For example, the mobile robot 200 uses SLAM (Simultaneus Localization and Mapping) to generate a map showing a predetermined area to be cleaned and estimate the self-position of the mobile robot 200 on the generated map.

移動ロボット200は、例えば、本体部10と、2つの車輪20と、2つのサイドブラシ30と、レーザ測距計40と、メインブラシ50と、カメラ60と、深度センサ70と、を備える。 The mobile robot 200 includes, for example, a main body 10, two wheels 20, two side brushes 30, a laser rangefinder 40, a main brush 50, a camera 60, and a depth sensor 70.

本体部10は、移動ロボット200が備える各構成要素を収容する筐体である。本実施の形態では、本体部10は、上面視において、略三角形状である。なお、本体部10の上面視における形状は、特に限定されない。本体部10の上面視形状は、例えば、略矩形状でもよいし、略円形状でもよい。図2に示すように、本体部10は、底面に吸込口11を有する。 The main body 10 is a housing for accommodating each component included in the mobile robot 200. In the present embodiment, the main body 10 has a substantially triangular shape when viewed from above. The shape of the main body 10 when viewed from above is not particularly limited. The top view shape of the main body 10 may be, for example, a substantially rectangular shape or a substantially circular shape. As shown in FIG. 2, the main body 10 has a suction port 11 on the bottom surface.

2つの車輪20は、移動ロボット200を走行させるための車輪である。 The two wheels 20 are wheels for running the mobile robot 200.

サイドブラシ30は、本体部10の下面に設けられ、所定の領域を掃除するためのブラシである。本実施の形態では、移動ロボット200は、2つのサイドブラシ30を備える。移動ロボット200が備えるサイドブラシ30の数は、1つでもよいし、3つ以上でもよく、特に限定されない。 The side brush 30 is provided on the lower surface of the main body 10 and is a brush for cleaning a predetermined area. In this embodiment, the mobile robot 200 includes two side brushes 30. The number of side brushes 30 included in the mobile robot 200 may be one or three or more, and is not particularly limited.

レーザ測距計40は、移動ロボット200と、所定の領域における物体、壁面等との距離を測定するためのセンサである。レーザ測距計40は、例えば、本体部10の上部に設けられている。レーザ測距計40は、例えば、いわゆるLIDARである。 The laser rangefinder 40 is a sensor for measuring the distance between the mobile robot 200 and an object, a wall surface, or the like in a predetermined area. The laser rangefinder 40 is provided, for example, on the upper part of the main body 10. The laser rangefinder 40 is, for example, a so-called lidar.

メインブラシ50は、本体部10の下面に設けられている開口である吸込口11に配置され、ゴミを吸引するためのブラシである。 The main brush 50 is a brush that is arranged in a suction port 11 that is an opening provided on the lower surface of the main body 10 to suck dust.

カメラ60は、本体部10に配置され、所定の領域を撮像することで画像を生成する撮像装置である。 The camera 60 is an imaging device that is arranged in the main body 10 and generates an image by imaging a predetermined area.

深度センサ70は、例えば、カメラ60により生成された画像に含まれる障害物等の被写体と移動ロボット200との距離を検出するセンサである。深度センサは、例えば、赤外線センサである。 The depth sensor 70 is, for example, a sensor that detects the distance between the moving robot 200 and a subject such as an obstacle included in the image generated by the camera 60. The depth sensor is, for example, an infrared sensor.

地図処理装置100は、例えば移動ロボット200がSLAM等によって生成した地図を、複数のサブエリアに分割する処理装置である。具体的には、地図処理装置100は、所定の領域を自律的に移動する移動ロボット200が用いる地図に含まれる、所定の領域に対応するタスクエリアを複数のサブエリアに分割する。地図処理装置100は、例えば、このような処理を実行するための制御プログラムと、当該制御プログラムを実行するCPU(Central Processing Unit)とから実現される。 The map processing device 100 is a processing device that divides, for example, a map generated by a mobile robot 200 by SLAM or the like into a plurality of sub-areas. Specifically, the map processing device 100 divides the task area corresponding to the predetermined area included in the map used by the mobile robot 200 that autonomously moves in the predetermined area into a plurality of sub-areas. The map processing device 100 is realized, for example, by a control program for executing such processing and a CPU (Central Processing Unit) that executes the control program.

図3は、実施の形態に係る移動ロボット200の特徴的な機能構成を示すブロック図である。 FIG. 3 is a block diagram showing a characteristic functional configuration of the mobile robot 200 according to the embodiment.

移動ロボット200は、例えば、地図141に基づいて所定の領域を移動する。図3に示すように、移動ロボット200は、地図処理装置100と、算出部210と、制御部220と、検出部230と、移動部240と、清掃部250と、を備える。 The mobile robot 200 moves in a predetermined area based on, for example, the map 141. As shown in FIG. 3, the mobile robot 200 includes a map processing device 100, a calculation unit 210, a control unit 220, a detection unit 230, a mobile unit 240, and a cleaning unit 250.

地図処理装置100は、例えば、SLAMにより、掃除する所定の領域を示す地図141を複数のサブエリアに分割する処理部である。例えば、制御部220は、カメラ60、車輪20等を有する移動部240を制御することで、所定の領域を移動ロボット200に走行させ、所定の領域を示すデータである地図141を生成し、生成した地図141を地図処理装置100が備える記憶部140に記憶させる。地図処理装置100は、地図141が示す所定の領域を複数のサブエリアに分割する。 The map processing device 100 is, for example, a processing unit that divides a map 141 showing a predetermined area to be cleaned into a plurality of sub-areas by SLAM. For example, the control unit 220 controls the moving unit 240 having the camera 60, the wheels 20, and the like to cause the mobile robot 200 to travel in a predetermined area, and generates and generates a map 141 which is data indicating the predetermined area. The created map 141 is stored in the storage unit 140 included in the map processing device 100. The map processing device 100 divides a predetermined area indicated by the map 141 into a plurality of sub-areas.

地図141には、例えば、所定の領域に対応するタスクエリアを示す情報と、タスクエリアに位置し、移動ロボット200が位置を認識可能な所定の領域における複数の点にそれぞれ対応する複数の特徴点を示す情報と、が含まれる。 The map 141 includes, for example, information indicating a task area corresponding to a predetermined area, and a plurality of feature points corresponding to a plurality of points in a predetermined area located in the task area and recognizable by the mobile robot 200. Information indicating that, and is included.

なお、移動ロボット200は、地図141を生成せず、移動ロボット200の外部のPC(Personal Computer)等の通信装置から地図141を受信してもよい。 The mobile robot 200 may not generate the map 141, but may receive the map 141 from a communication device such as a PC (Personal Computer) outside the mobile robot 200.

地図処理装置100は、取得部110と、抽出部120と、分割部130と、記憶部140と、を備える。 The map processing device 100 includes an acquisition unit 110, an extraction unit 120, a division unit 130, and a storage unit 140.

取得部110は、地図141を取得する処理部である。本実施の形態では、取得部110は、記憶部140に記憶されている地図141を取得する。取得部110は、移動ロボット200の外部のPC等の通信装置から地図141を受信することで取得する場合、通信するためのアンテナ及び無線通信回路等からなる通信インターフェースを備えてもよい。 The acquisition unit 110 is a processing unit that acquires the map 141. In the present embodiment, the acquisition unit 110 acquires the map 141 stored in the storage unit 140. When the acquisition unit 110 acquires the map 141 by receiving the map 141 from a communication device such as an external PC of the mobile robot 200, the acquisition unit 110 may include a communication interface including an antenna for communication, a wireless communication circuit, and the like.

抽出部120は、取得部110が取得した地図141に含まれる複数の特徴点を抽出する処理部である。具体的には、抽出部120は、移動ロボット200が位置を認識可能な所定の領域における複数の点にそれぞれ対応する複数の特徴点をタスクエリアから抽出する。つまり、特徴点とは、レーザ測距計40又はカメラ60等を有する検出部230によって移動ロボット200が認識(識別)可能な点に対応する地図141における点である。特徴点は、検出部230で検出可能な物体又は位置等であればよく、例えば、所定の領域に位置する壁と壁との間の角、テーブル等の物体、及び、目印として床面又は壁等に付されたマーカ等である。抽出部120は、地図141に含まれる複数の特徴点を抽出する。 The extraction unit 120 is a processing unit that extracts a plurality of feature points included in the map 141 acquired by the acquisition unit 110. Specifically, the extraction unit 120 extracts a plurality of feature points corresponding to a plurality of points in a predetermined area where the mobile robot 200 can recognize the position from the task area. That is, the feature points are points on the map 141 corresponding to points that can be recognized (identified) by the mobile robot 200 by the detection unit 230 having the laser rangefinder 40, the camera 60, or the like. The feature point may be an object or position that can be detected by the detection unit 230, for example, a corner between a wall located in a predetermined area, an object such as a table, and a floor surface or wall as a mark. Etc. are markers attached to the above. The extraction unit 120 extracts a plurality of feature points included in the map 141.

分割部130は、抽出部120が抽出した複数の特徴点に基づいて地図141に含まれるタスクエリアを複数のサブエリアに分割する処理部である。分割部130は、例えば、複数のサブエリアのそれぞれに特徴点が少なくとも1つ含まれるようにタスクエリアを分割する。 The division unit 130 is a processing unit that divides the task area included in the map 141 into a plurality of sub-areas based on the plurality of feature points extracted by the extraction unit 120. The division unit 130 divides the task area so that each of the plurality of sub-areas includes at least one feature point, for example.

分割部130は、例えば、複数のサブエリアのそれぞれに少なくとも1つの特徴点が含まれるように、タスクエリアを複数のサブエリアに分割する。本実施の形態では、分割部130は、複数の特徴点を母点としたボロノイ図を生成し、生成したボロノイ図に含まれるボロノイ境界を示す境界線を用いて地図141を複数のサブエリアに分割する。つまり、分割部130は、ボロノイ図を用いて、複数のサブエリアのそれぞれに少なくとも1つの特徴点が含まれるように、タスクエリアを複数のサブエリアに分割する。 The division unit 130 divides the task area into a plurality of sub-areas so that, for example, each of the plurality of sub-areas includes at least one feature point. In the present embodiment, the division unit 130 generates a Voronoi diagram having a plurality of feature points as mother points, and uses the boundary line indicating the Voronoi boundary included in the generated Voronoi diagram to divide the map 141 into a plurality of sub-areas. To divide. That is, the division unit 130 divides the task area into a plurality of sub-areas by using the Voronoi diagram so that each of the plurality of sub-areas includes at least one feature point.

また、分割部130は、例えば、生成した境界線のうち、所定の条件を満たす境界線の一部を削除して、残った境界線の部分に基づいて地図141を複数のサブエリアに分割する。 Further, for example, the dividing unit 130 deletes a part of the generated boundary line that satisfies a predetermined condition, and divides the map 141 into a plurality of sub-areas based on the remaining boundary line portion. ..

削除する境界線の部分を決定する所定の条件は、例えば、複数の特徴点のうちの2以上の特徴点間の距離が所定の距離未満であることである。言い換えると、例えば、分割部130は、複数の特徴点のうちの2つ以上の特徴点間の距離が所定の距離未満である場合、ボロノイ図を生成することで生成した境界線のうち、当該2つ以上の特徴点に基づいて生成された部分を削除する。 A predetermined condition for determining the portion of the boundary line to be deleted is, for example, that the distance between two or more feature points among the plurality of feature points is less than the predetermined distance. In other words, for example, when the distance between two or more feature points among the plurality of feature points is less than a predetermined distance, the division unit 130 corresponds to the boundary line generated by generating the Voronoi diagram. Delete the part generated based on two or more feature points.

所定の距離は、予め任意に定められてよい。 The predetermined distance may be arbitrarily determined in advance.

また、分割部130は、例えば、特徴点間の距離が所定の距離未満の特徴点同士の集合である点集合を生成し、境界線のうち、生成した点集合に含まれる2つ以上の特徴点に基づいて生成された部分を削除する。具体的には、分割部130は、例えば、タスクエリアから抽出される複数の特徴点のうち少なくとも2つの特徴点が属する点集合であって、当該点集合に属する特徴点の中に少なくとも1つ、特徴点間の距離が所定の距離未満の特徴点を含む特徴点の集合である点集合を生成し、ボロノイ図の境界線のうち、生成した点集合に含まれる2つ以上の特徴点に基づいて生成された部分を削除する。 Further, the dividing unit 130 generates, for example, a point set which is a set of feature points whose distance between the feature points is less than a predetermined distance, and among the boundary lines, two or more features included in the generated point set. Delete the part generated based on the point. Specifically, the division unit 130 is, for example, a point set to which at least two feature points belong among a plurality of feature points extracted from the task area, and at least one of the feature points belonging to the point set. , Generate a point set that is a set of feature points including feature points whose distance between feature points is less than a predetermined distance, and set two or more feature points included in the generated point set among the boundary lines of the Voronoi diagram. Delete the part generated based on it.

分割部130は、地図141に含まれるタスクエリアの範囲を規定する規定線、及び、ボロノイ図の境界線で囲まれた領域をサブエリアとして生成する。つまり、複数のサブエリアのうち少なくとも1つは、例えば、タスクエリアの範囲を規定する規定線、及び、境界線で囲まれた領域である。或いは、分割部130は、境界線のみで囲まれた領域をサブエリアとして生成してもよい。つまり、複数のサブエリアのうち少なくとも1つは、例えば、ボロノイ図の境界線のみで囲まれた領域である。 The division unit 130 generates a defined line that defines the range of the task area included in the map 141 and an area surrounded by the boundary line of the Voronoi diagram as a sub-area. That is, at least one of the plurality of sub-areas is, for example, a defining line that defines the range of the task area and an area surrounded by a boundary line. Alternatively, the division unit 130 may generate a region surrounded only by the boundary line as a sub-area. That is, at least one of the plurality of sub-areas is, for example, an area surrounded only by the boundary line of the Voronoi diagram.

算出部210は、地図処理装置100が地図141を分割することで生成した複数のサブエリアごとに移動経路を算出する処理部である。 The calculation unit 210 is a processing unit that calculates a movement route for each of a plurality of sub-areas generated by the map processing device 100 by dividing the map 141.

制御部220は、複数のサブエリアのうちの一のサブエリアにおける移動経路に沿って移動ロボット200を移動させた後に、複数のサブエリアのうちの他のサブエリアに移動ロボット200を移動させて、他のサブエリアにおける移動経路に沿って移動ロボット200を移動させる処理部である。つまり、制御部220は、移動ロボット200をサブエリアごとに算出した移動経路に沿って移動させる。制御部220は、例えば、車輪20及び車輪20を駆動するためのモータ等を備える移動部240を制御することで、移動ロボット200を移動させる。 The control unit 220 moves the mobile robot 200 along the movement path in one of the plurality of sub-areas, and then moves the mobile robot 200 to the other sub-area among the plurality of sub-areas. , A processing unit that moves the mobile robot 200 along a movement path in another sub-area. That is, the control unit 220 moves the mobile robot 200 along the movement path calculated for each sub-area. The control unit 220 moves the mobile robot 200 by controlling, for example, the wheel 20 and the moving unit 240 including a motor for driving the wheel 20.

検出部230は、移動ロボット200の周囲に位置する壁及び所定の領域に位置する物体等を検出する。検出部230は、例えば、レーザ測距計40、カメラ60、及び、深度センサ70等により実現される。検出部230は、レーザ測距計40、カメラ60、及び、深度センサ70等により、地図141に含まれる特徴点に対応する情報(特徴点情報)を検出する。また、検出部230は、例えば、車輪20の向き、回転角等を示す情報であるオドメトリ情報を検出する。制御部220は、例えば、特徴点情報又はオドメトリ情報を用いて、移動ロボット200の自己位置を推定し、推定した自己位置と、検出部230が検出した移動ロボット200の周囲の壁及び物体等の位置を示す情報と、算出部210が算出した移動経路とに基づいて、移動部240を制御して移動ロボット200を移動させる。 The detection unit 230 detects a wall located around the mobile robot 200, an object located in a predetermined area, and the like. The detection unit 230 is realized by, for example, a laser rangefinder 40, a camera 60, a depth sensor 70, and the like. The detection unit 230 detects information (feature point information) corresponding to the feature points included in the map 141 by the laser rangefinder 40, the camera 60, the depth sensor 70, and the like. Further, the detection unit 230 detects, for example, odometry information which is information indicating the direction, rotation angle, and the like of the wheel 20. The control unit 220 estimates the self-position of the mobile robot 200 using, for example, feature point information or odometry information, and the estimated self-position and the surrounding walls and objects of the mobile robot 200 detected by the detection unit 230. Based on the information indicating the position and the movement path calculated by the calculation unit 210, the movement unit 240 is controlled to move the mobile robot 200.

移動部240は、移動ロボット200を移動させるための機構である。移動部240は、例えば、車輪20及び車輪20を駆動するためのモータ等を備える。 The moving unit 240 is a mechanism for moving the mobile robot 200. The moving unit 240 includes, for example, a wheel 20 and a motor for driving the wheel 20.

清掃部250は、所定の領域を清掃するための機構である。清掃部250は、例えば、サイドブラシ30と、メインブラシ50と、メインブラシ50を回動させるためのモータ等とを備える。制御部220は、移動部240及び清掃部250を制御することで、移動ロボット200に所定の領域を移動させながら掃除させる。 The cleaning unit 250 is a mechanism for cleaning a predetermined area. The cleaning unit 250 includes, for example, a side brush 30, a main brush 50, a motor for rotating the main brush 50, and the like. The control unit 220 controls the moving unit 240 and the cleaning unit 250 to cause the mobile robot 200 to perform cleaning while moving a predetermined area.

[処理手順]
続いて、移動ロボット200の動作の処理手順の詳細について説明する。
[Processing procedure]
Subsequently, the details of the processing procedure for the operation of the mobile robot 200 will be described.

<概要>
図4は、実施の形態に係る移動ロボット200の処理手順を説明するためのフローチャートである。
<Overview>
FIG. 4 is a flowchart for explaining the processing procedure of the mobile robot 200 according to the embodiment.

まず、取得部110は、移動ロボット200が移動する所定の領域に対応するタスクエリアを示す情報を含む地図141を取得する(ステップS101)。 First, the acquisition unit 110 acquires a map 141 including information indicating a task area corresponding to a predetermined area to which the mobile robot 200 moves (step S101).

図5は、地図141の第1例を示す図である。図5においては、地図141に含まれるタスクエリア142を、ハッチングを付して示している。 FIG. 5 is a diagram showing a first example of the map 141. In FIG. 5, the task area 142 included in the map 141 is shown with hatching.

図5に示す地図141は、タスクエリア142と、規定線143とを含む。 Map 141 shown in FIG. 5 includes a task area 142 and a defined line 143.

タスクエリア142は、移動ロボット200が所定のタスクを実行しながら移動する領域(所定の領域)に対応する地図141上での範囲である。つまり、タスクエリア142は、例えば、実空間における所定の領域を示す、仮想空間における領域である。 The task area 142 is a range on the map 141 corresponding to an area (predetermined area) in which the mobile robot 200 moves while executing a predetermined task. That is, the task area 142 is, for example, an area in the virtual space indicating a predetermined area in the real space.

規定線143は、タスクエリア142の範囲を示す線である。規定線143は、例えば、実空間における壁等の移動ロボット200が通過できない壁等が存在する箇所に対する線である。 The definition line 143 is a line indicating the range of the task area 142. The regulation line 143 is a line for a place where there is a wall or the like that the mobile robot 200 cannot pass through, such as a wall in the real space.

次に、抽出部120は、地図141に含まれるタスクエリア142から複数の特徴点を抽出する(ステップS102)。ここで、特徴点を抽出するとは、移動ロボット200が検出して位置を認識な所定の空間における点(物体の角等)に対応する地図141における点の座標を抽出することを意味する。 Next, the extraction unit 120 extracts a plurality of feature points from the task area 142 included in the map 141 (step S102). Here, extracting the feature points means extracting the coordinates of the points on the map 141 corresponding to the points (corners of objects, etc.) in a predetermined space that the mobile robot 200 detects and recognizes the position.

図6は、図5に示す地図141における複数の特徴点144を示す図である。なお、図6においては、タスクエリア142の規定線143を説明のために示している。 FIG. 6 is a diagram showing a plurality of feature points 144 in the map 141 shown in FIG. In FIG. 6, the definition line 143 of the task area 142 is shown for explanation.

抽出部120は、例えば、地図141からタスクエリア142の角に対応する8つの点を特徴点144として抽出する。 For example, the extraction unit 120 extracts eight points corresponding to the corners of the task area 142 from the map 141 as feature points 144.

次に、分割部130は、抽出部120が抽出した複数の特徴点に基づいてボロノイ図を生成する(ステップS103)。具体的には、分割部130は、抽出部120が抽出した複数の特徴点を母点としたボロノイ図を生成する。 Next, the division unit 130 generates a Voronoi diagram based on the plurality of feature points extracted by the extraction unit 120 (step S103). Specifically, the division unit 130 generates a Voronoi diagram having a plurality of feature points extracted by the extraction unit 120 as a base point.

ボロノイ図は、ある距離空間上の任意の位置に配置された複数の点(母点)に対して、同一距離空間上の他の点がどの母点に近いかによって領域分けされた図である。具体的には、ボロノイ図とは、複数の母点と、当該複数の母点における2以上の母点から最も近く且つ等距離の位置をプロットした線(境界線)とからなる図である。言い換えると、ボロノイ図は、複数の母点と、最も近い母点が2つ以上となる位置をプロットすることで生成された線とからなる図である。例えば、ある平面における母点が2つの場合、境界線は、2つの母点を繋ぐ線分の当該平面における垂直二等分線である。 The Voronoi diagram is a diagram in which a plurality of points (mother points) arranged at arbitrary positions in a certain metric space are divided into regions according to which mother point the other points in the same metric space are close to. .. Specifically, the Voronoi diagram is a diagram composed of a plurality of mother points and a line (boundary line) in which positions closest to and equidistant from two or more mother points at the plurality of mother points are plotted. In other words, the Voronoi diagram is a diagram consisting of a plurality of mother points and a line generated by plotting the positions where the closest mother points are two or more. For example, when there are two mother points in a plane, the boundary line is a vertical bisector in the plane of the line segment connecting the two mother points.

ボロノイ図を算出する方法として、例えば、分割統治法(分割して処理する方法)等のO(nlogn)アルゴリズムがある(例えば、非特許文献1参照)。 As a method of calculating the Voronoi diagram, for example, there is an O (nlogn) algorithm such as a divide-and-conquer method (a method of dividing and processing) (see, for example, Non-Patent Document 1).

図7は、図5に示す地図141から生成されるボロノイ図147を示す図である。 FIG. 7 is a diagram showing Voronoi diagram 147 generated from the map 141 shown in FIG.

ボロノイ図147は、それぞれが母点である複数の特徴点144と、特徴点144に基づいて生成された境界線145と、を含む。なお、境界線145で囲まれた領域をボロノイセル146ともいう。境界線は、両端が無限遠に延びる直線、一端のみが無限遠に延びる半直線、及び、線分のいずれかであって、0、1又は2の頂点(端部)を有する直線の組み合わせである。 Voronoi diagram 147 includes a plurality of feature points 144, each of which is a mother point, and a boundary line 145 generated based on the feature points 144. The area surrounded by the boundary line 145 is also referred to as a boronoisel 146. The boundary line is a combination of a straight line extending to infinity at both ends, a half straight line extending to infinity only at one end, and a straight line having 0, 1 or 2 vertices (ends). be.

再び図4を参照し、ステップS103の次に、生成したボロノイ図147から所定の条件を満たす境界線145の部分を削除する(ステップS104)。境界線145の一部の削除に関する具体的な一例については、後述する。 With reference to FIG. 4 again, after step S103, the portion of the boundary line 145 satisfying a predetermined condition is deleted from the generated Voronoi diagram 147 (step S104). A specific example of deleting a part of the boundary line 145 will be described later.

次に、分割部130は、ステップS104で削除されずに残った境界線145の部分と、地図141に含まれるタスクエリア142の規定線143とに基づいて、タスクエリア142を複数のサブエリアに分割する(ステップS105)。 Next, the division unit 130 divides the task area 142 into a plurality of sub-areas based on the portion of the boundary line 145 that remains without being deleted in step S104 and the defined line 143 of the task area 142 included in the map 141. Divide (step S105).

図8は、図5に示す地図141と図7に示すボロノイ図147とを重ねた図である。例えば、図8に示すように、特徴点144の位置に基づいて、地図141と境界線145とを重ね合わせる。 FIG. 8 is a diagram in which the map 141 shown in FIG. 5 and the Voronoi diagram 147 shown in FIG. 7 are superimposed. For example, as shown in FIG. 8, the map 141 and the boundary line 145 are overlapped based on the position of the feature point 144.

図9は、複数のサブエリア148を示す図である。 FIG. 9 is a diagram showing a plurality of sub-areas 148.

図9に示すように、タスクエリア142と重なる境界線145と、規定線143とで仕切られる領域がサブエリア148となる。これによれば、複数のサブエリア148のそれぞれに、特徴点144が含まれることとなる。 As shown in FIG. 9, the area partitioned by the boundary line 145 overlapping the task area 142 and the defined line 143 is the sub area 148. According to this, each of the plurality of sub-areas 148 includes the feature point 144.

次に、算出部210は、分割部130が生成したサブエリアごとに移動経路を算出する(ステップS106)。 Next, the calculation unit 210 calculates a movement route for each subarea generated by the division unit 130 (step S106).

次に、制御部220は、サブエリアごとに、算出部210が算出した移動経路に沿って移動ロボット200を移動させながらタスクを実行させる(ステップS107)。具体的には、制御部220は、複数のサブエリアのうちの一のサブエリアにおける移動経路に沿って移動ロボット200を移動させた後に、複数のサブエリアのうちの他のサブエリアに移動ロボットを移動させて、他のサブエリアにおける移動経路に沿って移動ロボット200を移動させる。本実施の形態では、制御部220は、移動部240を制御することでサブエリアごとに移動経路に沿って移動ロボット200を移動させながら、清掃部250を制御することで移動ロボット200に所定の領域を掃除させる。 Next, the control unit 220 executes the task while moving the mobile robot 200 along the movement path calculated by the calculation unit 210 for each sub-area (step S107). Specifically, the control unit 220 moves the mobile robot 200 along the movement path in one of the plurality of sub-areas, and then moves the mobile robot to the other sub-area among the plurality of sub-areas. To move the mobile robot 200 along the movement path in the other sub-area. In the present embodiment, the control unit 220 controls the moving unit 240 to move the moving robot 200 along the moving path for each sub-area, and controls the cleaning unit 250 to determine the mobile robot 200. Clean the area.

なお、特徴点となる位置は、壁等の角だけではなく、壁等に設けられたマーカでもよい。 The position of the feature point may be not only the corner of the wall or the like but also a marker provided on the wall or the like.

また、なお、エリア(タスクエリア及びサブエリア)の境界は、実際に面上(具体的には、実空間上)に描かれるものではないので、一般には視認されることがない。しかしながら、移動体(ロボット掃除機200)が掃除機であり、当該移動体がエリアごとに順次に、当該エリアをくまなく掃除する場合には、移動体の軌跡を観察することでエリアの境界が視認され得る。 Further, since the boundaries of the areas (task area and sub-area) are not actually drawn on the surface (specifically, in the real space), they are not generally visually recognized. However, when the moving body (robot vacuum cleaner 200) is a vacuum cleaner and the moving body cleans the entire area in sequence for each area, the boundary of the area is determined by observing the trajectory of the moving body. Can be seen.

図10は、地図の第2例を示す図である。 FIG. 10 is a diagram showing a second example of the map.

図10に示す地図141aには、規定線143上にマーカ部149を示す情報が含まれる。マーカ部149は、例えば、実空間において検出部230によって検出可能な壁に設けられた目印であり、高い光反射率(例えば、90%以上の光反射率)を有するストライプ模様の図柄である。抽出部120は、このような箇所も特徴点として抽出してもよい。 The map 141a shown in FIG. 10 includes information indicating the marker portion 149 on the defined line 143. The marker unit 149 is, for example, a mark provided on a wall that can be detected by the detection unit 230 in real space, and is a striped pattern having a high light reflectance (for example, a light reflectance of 90% or more). The extraction unit 120 may also extract such a portion as a feature point.

図11は、図10に示す地図141aにおける特徴点を示す図である。 FIG. 11 is a diagram showing feature points on the map 141a shown in FIG.

図11に示すように、抽出部120は、地図141と同様に8つの特徴点144だけではなく、マーカ部149に対応する点も特徴点144aとして抽出する。 As shown in FIG. 11, the extraction unit 120 extracts not only the eight feature points 144 but also the points corresponding to the marker unit 149 as the feature points 144a as in the map 141.

図12は、図10に示す地図141aから生成されるボロノイ図147aを示す図である。 FIG. 12 is a diagram showing Voronoi diagram 147a generated from the map 141a shown in FIG.

図12に示すように、ボロノイ図147aは、図7に示すボロノイ図147とは、特徴点144aの周囲の境界線145aの位置が部分的に異なる。 As shown in FIG. 12, the Voronoi diagram 147a is partially different from the Voronoi diagram 147 shown in FIG. 7 in the position of the boundary line 145a around the feature point 144a.

なお、特徴点となる位置は、壁等の角だけではなく、湾曲している壁面でもよい。 The position of the feature point may be a curved wall surface as well as a corner such as a wall surface.

図13は、地図の第3例を示す図である。 FIG. 13 is a diagram showing a third example of the map.

図13に示す地図141bは、タスクエリア142aの範囲を規制する規定線143aの一部が曲面部149aで湾曲している。曲面部149aは、例えば、検出部230によって検出可能な湾曲した壁である。抽出部120は、このような箇所も特徴点として抽出する。 In the map 141b shown in FIG. 13, a part of the regulation line 143a that regulates the range of the task area 142a is curved at the curved surface portion 149a. The curved surface portion 149a is, for example, a curved wall that can be detected by the detection unit 230. The extraction unit 120 also extracts such a portion as a feature point.

図14は、図13に示す地図141bから生成されるボロノイ図147bを示す図である。 FIG. 14 is a diagram showing Voronoi diagram 147b generated from the map 141b shown in FIG.

図14に示すように、ボロノイ図147bは、図7に示すボロノイ図147とは、曲面部149aに対応する特徴点である特徴点144bの周囲の境界線145bの位置が部分的に異なる。 As shown in FIG. 14, the Voronoi diagram 147b is partially different from the Voronoi diagram 147 shown in FIG. 7 in the position of the boundary line 145b around the feature point 144b, which is a feature point corresponding to the curved surface portion 149a.

<削除処理>
続いて、地図処理装置100が実行する境界線の削除処理(図4に示すステップS104)の詳細について説明する。
<Delete process>
Subsequently, the details of the boundary line deletion process (step S104 shown in FIG. 4) executed by the map processing device 100 will be described.

上記したように、特徴点を母点としてボロノイ図の境界線を生成した場合、特徴点が狭い範囲で密集している場合等には、境界線が多くなりすぎることがある。この場合、小さいサブエリアが多数存在することになる。サブエリアが極端に小さい場合、移動ロボット200が当該サブエリアをくまなく移動するために、Uターン又は90°ターン等の多くのターンをすることになる可能性が高まる。そのため、移動ロボット200がタスクを実行する時間は、増加する可能性が高まる。そこで、例えば、複数の特徴点が密集しているようなエリアにおいて、サブエリアが小さくなりすぎることを抑制するために、地図処理装置100は、所定の条件を満たす境界線を削除する。 As described above, when the boundary line of the Voronoi diagram is generated with the feature points as the base points, the boundary lines may become too large when the feature points are densely packed in a narrow range. In this case, there will be many small sub-areas. If the sub-area is extremely small, it is highly possible that the mobile robot 200 will make many turns such as a U-turn or a 90 ° turn in order to move all over the sub-area. Therefore, the time for the mobile robot 200 to execute the task is likely to increase. Therefore, for example, in an area where a plurality of feature points are densely packed, the map processing device 100 deletes a boundary line satisfying a predetermined condition in order to prevent the sub-area from becoming too small.

図15は、実施の形態に係る地図処理装置100が実行する削除処理(図4に示すステップS104)の詳細を示すフローチャートである。 FIG. 15 is a flowchart showing details of the deletion process (step S104 shown in FIG. 4) executed by the map processing device 100 according to the embodiment.

まず、分割部130は、抽出部120が抽出した複数の特徴点のうち、2つの特徴点が所定の距離未満である場合当該2つの特徴点を弧で接続することで、弧で接続された特徴点の集合である点集合を算出する(ステップS201)。 First, the dividing unit 130 is connected by an arc by connecting the two feature points by an arc when the two feature points are less than a predetermined distance among the plurality of feature points extracted by the extraction unit 120. A point set, which is a set of feature points, is calculated (step S201).

図16は、分割部130が生成する点集合の一例を示す図である。なお、図16では、タスクエリアに含まれる複数の特徴点のうちの8つの特徴点(特徴点F1、特徴点F2、特徴点F3、特徴点F4、特徴点F5、特徴点F6、特徴点F7、及び、特徴点F8)について例示している。 FIG. 16 is a diagram showing an example of a point set generated by the dividing unit 130. In FIG. 16, eight feature points (feature point F1, feature point F2, feature point F3, feature point F4, feature point F5, feature point F6, feature point F7) among the plurality of feature points included in the task area are shown. , And the feature point F8) are illustrated.

分割部130は、例えば、特徴点F1について、所定の距離未満の範囲に他の特徴点が存在するか否かを判定する。分割部130は、例えば、特徴点F2が特徴点F1と所定の距離未満であると判定した場合、特徴点F1と特徴点F2とを弧310で接続する。一方、分割部130は、例えば、特徴点F4が特徴点F1と所定の距離未満でないと判定した場合、特徴点F1と特徴点F4とを弧310で接続しない。 The dividing unit 130 determines, for example, whether or not another feature point exists in a range less than a predetermined distance with respect to the feature point F1. For example, when the dividing unit 130 determines that the feature point F2 is less than a predetermined distance from the feature point F1, the feature point F1 and the feature point F2 are connected by an arc 310. On the other hand, when the dividing unit 130 determines that the feature point F4 is not less than a predetermined distance from the feature point F1, for example, the feature point F1 and the feature point F4 are not connected by an arc 310.

分割部130は、上記の処理を他の特徴点(特徴点F2〜特徴点F8)においても実行する。 The dividing unit 130 also executes the above processing at other feature points (feature points F2 to feature points F8).

こうすることで、分割部130は、例えば、特徴点F1〜特徴点F8のうちの特徴点間の距離が所定の距離未満の特徴点同士の集合である点集合300、301を生成する。点集合300における特徴点F1と特徴点F4とは、弧310によって接続されてはいないが、特徴点F1からは、特徴点F2及び特徴点F3を介して弧310によって特徴点F4と接続されている。そのため、特徴点F1と特徴点F4とは、同じ点集合300に属する。また、点集合301は、弧310によって環状となっている。例えば、特徴点F1からは、どの特徴点及び弧310を経由しても特徴点F5〜特徴点F8には辿り着かない。そのため、特徴点F1は、特徴点F5〜特徴点F8と同じ点集合には属さない。また、特徴点F0は、いずれの点集合にも属さない。 By doing so, the dividing unit 130 generates, for example, point sets 300 and 301 which are a set of feature points whose distance between the feature points among the feature points F1 to F8 is less than a predetermined distance. The feature point F1 and the feature point F4 in the point set 300 are not connected by the arc 310, but from the feature point F1, they are connected to the feature point F4 by the arc 310 via the feature point F2 and the feature point F3. There is. Therefore, the feature point F1 and the feature point F4 belong to the same point set 300. Further, the point set 301 is circular due to the arc 310. For example, from the feature point F1, the feature points F5 to F8 cannot be reached through any feature point and arc 310. Therefore, the feature point F1 does not belong to the same point set as the feature points F5 to F8. Further, the feature point F0 does not belong to any point set.

このように、点集合(コネクテッドコンポーネントともいう)とは、パス(例えば、弧310)によって2つのノード(例えば、特徴点)が互いに接続している点群であって、他の点(例えば、他の点集合に属する特徴点)にパスによって接続されていない点群である。 As described above, a point set (also referred to as a connected component) is a point cloud in which two nodes (for example, feature points) are connected to each other by a path (for example, arc 310), and other points (for example, for example). It is a point cloud that is not connected by a path to a feature point that belongs to another set of points.

なお、弧310は、説明のために設けられた線であって、実際に生成されるものではない。 The arc 310 is a line provided for explanation and is not actually generated.

再び図15を参照し、ステップS201の次に、分割部130は、ボロノイ図の境界線の全て(言い換えると、境界線に含まれるすべての直線部分)について解析済みか否かを判定する(ステップS202)。つまり、分割部130は、後述するステップS203〜ステップS206までの処理を境界線の全ての部分について実行したか否かを判定する。例えば、分割部130は、境界線の直線部分ごとに1以上の直線部分に境界線を分類し、分類した直線部分ごとに解析済みか否かを判定する。 With reference to FIG. 15 again, after step S201, the division unit 130 determines whether or not all of the boundary lines of the Voronoi diagram (in other words, all the straight line portions included in the boundary lines) have been analyzed (step). S202). That is, the division unit 130 determines whether or not the processes from step S203 to step S206, which will be described later, have been executed for all the portions of the boundary line. For example, the dividing unit 130 classifies the boundary line into one or more straight line portions for each straight line portion of the boundary line, and determines whether or not the analysis has been completed for each of the classified straight line portions.

分割部130は、ボロノイ図の境界線の全てについて解析済みと判定した場合(ステップS202でYes)、処理を終了する。 When it is determined that all the boundary lines of the Voronoi diagram have been analyzed (Yes in step S202), the division unit 130 ends the process.

一方、分割部130は、ボロノイ図の境界線の全てについて解析済みではないと判定した場合(ステップS202でNo)、解析していない2つの特徴点(ここでは、特徴点Fi及び特徴点Fjと呼称する)であって、当該2つの特徴点に基づいて生成された境界線の部分を選択する(ステップS203)。 On the other hand, when the dividing unit 130 determines that all the boundary lines of the Voronoi diagram have not been analyzed (No in step S202), the two feature points that have not been analyzed (here, the feature point Fi and the feature point Fj). It is called), and the portion of the boundary line generated based on the two feature points is selected (step S203).

次に、分割部130は、特徴点Fi及び特徴点Fjが同じ点集合に属するか否かを判定する(ステップS204)。ステップS204では、まず、分割部130は、特徴点Fi及び特徴点Fjと同じ点集合に属する特徴点を抽出する。次に、分割部130は、当該点集合に属する複数の特徴点間の距離で、所定の距離未満の距離が存在するか否かを判定する。 Next, the division unit 130 determines whether or not the feature point Fi and the feature point Fj belong to the same point set (step S204). In step S204, first, the dividing unit 130 extracts the feature points Fi and the feature points belonging to the same point set as the feature points Fj. Next, the division unit 130 determines whether or not there is a distance between a plurality of feature points belonging to the point set, which is less than a predetermined distance.

分割部130は、特徴点Fi及び特徴点Fjが同じ点集合に属すると判定した場合(ステップS204でYes)、特徴点Fiと特徴点Fjとに基づいて生成された境界線を削除して(ステップS205)、処理をステップS202に戻す。このように、分割部130は、ボロノイ図の境界線のうち、いずれかの点集合に属する特徴点に基づいて生成された当該境界線の部分を削除する。 When the dividing unit 130 determines that the feature point Fi and the feature point Fj belong to the same point set (Yes in step S204), the dividing unit 130 deletes the boundary line generated based on the feature point Fi and the feature point Fj (Yes). Step S205), the process returns to step S202. In this way, the division unit 130 deletes the portion of the boundary line of the Voronoi diagram generated based on the feature points belonging to any of the point sets.

例えば、図16に示す点集合300について考える。 For example, consider the point set 300 shown in FIG.

例えば、分割部130は、特徴点F1及び特徴点F4と同じ点集合300に属するか否かを判定する(ステップS204)。ここで、特徴点F1と特徴点F4とは、同じ点集合300に属する(ステップS204でYes)。この場合、分割部130は、ボロノイ図に含まれる境界線のうち、特徴点F1と特徴点F4とに基づいて生成された境界線の部分を削除する(例えば、ステップS205)。 For example, the dividing unit 130 determines whether or not it belongs to the same point set 300 as the feature point F1 and the feature point F4 (step S204). Here, the feature point F1 and the feature point F4 belong to the same point set 300 (Yes in step S204). In this case, the division unit 130 deletes the portion of the boundary line generated based on the feature point F1 and the feature point F4 among the boundary lines included in the Voronoi diagram (for example, step S205).

また、例えば、図16の例では、特徴点F1と特徴点F6とに基づいて生成された境界線の部分は、特徴点F1と特徴点F6とが同じ点集合には属さない(ステップS204でNo)ため、削除されない(ステップS206)。 Further, for example, in the example of FIG. 16, the boundary line portion generated based on the feature point F1 and the feature point F6 does not belong to the same point set as the feature point F1 and the feature point F6 (in step S204). No), so it is not deleted (step S206).

再び図15を参照し、分割部130は、同じ点集合に属する特徴点間の距離で所定の距離未満を満たす特徴点が存在しないと判定した場合(ステップS204でNo)、特徴点Fiと特徴点Fjとに基づいて生成された境界線の部分を削除せずに保持する(ステップS206)。 With reference to FIG. 15 again, when the dividing unit 130 determines that there is no feature point that satisfies the distance between the feature points belonging to the same point set and is less than a predetermined distance (No in step S204), the feature point Fi and the feature The part of the boundary line generated based on the point Fj is retained without being deleted (step S206).

図17は、地図の第4例を示す図である。 FIG. 17 is a diagram showing a fourth example of the map.

なお、図17の(a)、(b)、及び(c)は、全て地図141cを示している。地図141cにおいては、特徴点を黒丸で示し、規定線を実線で示し、境界線を一点鎖線で示している。また、規定線で囲まれる領域が、タスクエリアである。また、規定線及び境界線で囲まれる領域(言い換えると、タスクエリアが境界線で仕切られた領域)が、サブエリアである。 In addition, (a), (b), and (c) of FIG. 17 all show the map 141c. In the map 141c, the feature points are indicated by black circles, the defined lines are indicated by solid lines, and the boundary lines are indicated by alternate long and short dash lines. The area surrounded by the regulation line is the task area. Further, the area surrounded by the specified line and the boundary line (in other words, the area where the task area is partitioned by the boundary line) is a sub-area.

図17の(a)に示すように、例えば、分割部130は、地図141cにおける複数の特徴点に基づいて境界線を生成する。言い換えると、分割部130は、地図141cにおける複数の特徴点をボロノイ図の母点としたボロノイ図の境界線を生成する。地図141cにおいては、部分的に特徴点が集中して存在している箇所がある。上記したように、当該箇所では、部分的に多くの境界線が生成されることとなり、小さいサブエリアが多数存在することになる。 As shown in FIG. 17 (a), for example, the division unit 130 generates a boundary line based on a plurality of feature points on the map 141c. In other words, the division unit 130 generates a boundary line of the Voronoi diagram with a plurality of feature points on the map 141c as the base points of the Voronoi diagram. In the map 141c, there are places where the feature points are partially concentrated. As described above, many boundary lines are partially generated at the relevant location, and many small sub-areas exist.

そこで、分割部130は、図15のステップS205で説明したように、2つの特徴点間の距離が所定の距離未満である場合(より具体的には、2つの特徴点が同じ点集合に属する場合)、2つの特徴点に基づいて生成された境界線を削除する。 Therefore, in the division unit 130, as described in step S205 of FIG. 15, when the distance between the two feature points is less than a predetermined distance (more specifically, the two feature points belong to the same point set). Case) Delete the boundary line generated based on the two feature points.

例えば、分割部130は、まず、図17の(a)に示す地図141cにおける複数の特徴点に基づいて境界線を生成する。次に、分割部130は、2つの特徴点間の距離が所定の距離L1未満である場合、2つの特徴点に基づいて生成された境界線を削除する。こうすることで、図17の(b)に示す境界線が生成される。 For example, the division unit 130 first generates a boundary line based on a plurality of feature points in the map 141c shown in FIG. 17A. Next, when the distance between the two feature points is less than the predetermined distance L1, the division unit 130 deletes the boundary line generated based on the two feature points. By doing so, the boundary line shown in FIG. 17 (b) is generated.

また、例えば、分割部130は、まず、図17の(a)に示す地図141cにおける複数の特徴点に基づいて境界線を生成する。次に、分割部130は、2つの特徴点間の距離が所定の距離L1よりも長い所定の距離L2未満である場合、2つの特徴点に基づいて生成された境界線を削除する。こうすることで、図17の(c)に示す境界線が生成される。 Further, for example, the division unit 130 first generates a boundary line based on a plurality of feature points in the map 141c shown in FIG. 17A. Next, when the distance between the two feature points is longer than the predetermined distance L1 and less than the predetermined distance L2, the division unit 130 deletes the boundary line generated based on the two feature points. By doing so, the boundary line shown in FIG. 17 (c) is generated.

このように、所定の距離が適切に設定されることで、1以上の特徴点を含み、且つ、所望の面積以上のサブエリアが複数生成され得る。また、上記したように、分割部130は、点集合に属する複数の特徴点のうちの特徴点間の距離で、所定の距離未満の距離が存在する場合、当該点集合に属する複数の特徴点のいずれかに基づいて生成された境界線を全て削除する。例えば、分割部130が所定の距離のみに依存して境界線を削除した場合、線分の一端が他の規定線及び他の境界線と接続されずにタスクエリア内に存在する境界線が発生する可能性がある。そこで、分割部130は、点集合に基づいても上記した条件で境界線を削除する。これによれば、線分の一端が他の規定線及び他の境界線と接続されずにタスクエリア内に存在する境界線もまた削除される。つまり、これによれば、サブエリアを形成するために不要な線分は、削除され得る。 By appropriately setting the predetermined distance in this way, a plurality of sub-areas including one or more feature points and having a desired area or more can be generated. Further, as described above, when the distance between the feature points among the plurality of feature points belonging to the point set and the distance is less than a predetermined distance, the division unit 130 includes the plurality of feature points belonging to the point set. Delete all borders generated based on any of. For example, when the dividing unit 130 deletes the boundary line depending only on a predetermined distance, a boundary line is generated in which one end of the line segment is not connected to another specified line and another boundary line and exists in the task area. there's a possibility that. Therefore, the dividing unit 130 deletes the boundary line under the above-mentioned conditions even based on the point set. According to this, the boundary line in which one end of the line segment is not connected to other regulation lines and other boundary lines and exists in the task area is also deleted. That is, according to this, line segments unnecessary for forming a subarea can be deleted.

<分割処理>
続いて、地図処理装置100が実行する境界線に基づくタスクエリアの分割処理(図4に示すステップS105)の詳細について説明する。
<Split processing>
Subsequently, the details of the task area division process (step S105 shown in FIG. 4) based on the boundary line executed by the map processing device 100 will be described.

例えば、図17等に示すように、分割部130は、複数の特徴点を母点としてボロノイ図の境界線を生成する。ここで、境界線は、規定線で囲まれた領域の外側にまで延在している。規定線で囲まれた領域の外側に位置する境界線は、タスクエリアを複数のサブエリアに分割する境界線としては不要である。そのため、分割部130は、このような不要な境界線を削除する。これにより、複数のサブエリアに分割された地図に含まれる情報量は、削減され得る。 For example, as shown in FIG. 17 and the like, the division unit 130 generates a boundary line of the Voronoi diagram with a plurality of feature points as mother points. Here, the boundary line extends to the outside of the area surrounded by the regulation line. The boundary line located outside the area surrounded by the specified line is not necessary as the boundary line for dividing the task area into a plurality of sub-areas. Therefore, the division unit 130 deletes such an unnecessary boundary line. As a result, the amount of information contained in the map divided into a plurality of sub-areas can be reduced.

図18は、実施の形態に係る地図処理装置100が実行する分割処理(図4に示すステップS105)の詳細を示すフローチャートである。図19は、実施の形態に係る地図処理装置100が実行する分割処理の詳細を示す図である。図19の(a)〜(e)では、図17の(b)に示す破線XIXで囲まれた領域における、2つの特徴点(図19の(a)に示す特徴点F9及び特徴点F10)に基づいて生成される、ボロノイ図の境界線のうちの線分Sについての処理を示している。 FIG. 18 is a flowchart showing details of the division process (step S105 shown in FIG. 4) executed by the map processing device 100 according to the embodiment. FIG. 19 is a diagram showing details of the division process executed by the map processing device 100 according to the embodiment. In FIGS. 19A to 19E, two feature points (feature points F9 and feature points F10 shown in FIG. 19A) in the region surrounded by the broken line XIX shown in FIG. 17B. The processing for the line segment S in the boundary line of the Voronoi diagram, which is generated based on the above, is shown.

まず、分割部130は、ボロノイ図の境界線の全ての部分について解析済みか否かを判定する(ステップS301)。つまり、分割部130は、後述するステップS301〜ステップS309までの処理を境界線の全ての部分について実行したか否かを判定する。例えば、分割部130は、境界線の直線部分ごとに1以上の直線部分に境界線を分類し、分類した直線部分ごとに解析済みか否かを判定する。 First, the division unit 130 determines whether or not all the portions of the boundary line of the Voronoi diagram have been analyzed (step S301). That is, the division unit 130 determines whether or not the processes from steps S301 to S309, which will be described later, have been executed for all the portions of the boundary line. For example, the dividing unit 130 classifies the boundary line into one or more straight line portions for each straight line portion of the boundary line, and determines whether or not the analysis has been completed for each of the classified straight line portions.

分割部130は、ボロノイ図の境界線の全ての部分について解析済みと判定した場合(ステップS301でYes)、後述するステップS302〜ステップS309で削除されずに残った境界線の部分に基づいて、タスクエリアを複数のサブエリアに分割する(ステップS310)。 When it is determined that all the parts of the boundary line of the Voronoi diagram have been analyzed (Yes in step S301), the division unit 130 is based on the part of the boundary line that remains without being deleted in steps S302 to S309 described later. The task area is divided into a plurality of sub-areas (step S310).

一方、分割部130は、ボロノイ図の境界線の全ての部分について解析済みではないと判定した場合(ステップS301でNo)、解析していない境界線の部分を抽出する(ステップS302)。ここでは、例えば、図19の(a)に示すように、分割部130は、線分Sを抽出したとする。 On the other hand, when it is determined that all the parts of the boundary line of the Voronoi diagram have not been analyzed (No in step S301), the division unit 130 extracts the part of the boundary line that has not been analyzed (step S302). Here, for example, as shown in FIG. 19A, it is assumed that the dividing portion 130 extracts the line segment S.

次に、分割部130は、抽出した線に端があるか否かを判定し、当該線に端がある場合、当該端を、例えば、点Pと設定する(ステップS303)。例えば、図19の(b)に示すように、分割部130は、線分Sの両端を点Pと設定する。 Next, the dividing unit 130 determines whether or not the extracted line has an end, and if the line has an end, sets the end as, for example, a point P (step S303). For example, as shown in FIG. 19B, the dividing portion 130 sets both ends of the line segment S as points P.

次に、分割部130は、当該線とタスクエリアの規定線とが交差するか否かを判定し、当該線とタスクエリアの規定線とが交差すると判定した場合、交点を、例えば、点Pとさらに設定する(ステップS304)。例えば、図19の(c)に示すように、分割部130は、線分Sと規定線との交点にさらに点Pを設定する。 Next, the dividing unit 130 determines whether or not the line intersects the defined line of the task area, and if it determines that the line intersects the defined line of the task area, the intersection is set to, for example, a point P. Further set (step S304). For example, as shown in FIG. 19C, the dividing portion 130 further sets a point P at the intersection of the line segment S and the specified line.

次に、分割部130は、設定した点Pに対して所定の方向に沿って順にP1、P2、・・・、Pn(nは点Pの数)と設定する(ステップS305)。所定の方向は、例えば、抽出した線の延在方向である。例えば、図19の(d)に示すように、分割部130は、所定の方向に沿って複数の点Pに対して順に点P1、点P2、及び、点P3と設定する。 Next, the dividing unit 130 sets P1, P2, ..., Pn (n is the number of points P) in order with respect to the set points P along a predetermined direction (step S305). The predetermined direction is, for example, the extending direction of the extracted line. For example, as shown in FIG. 19D, the dividing unit 130 sets the points P1, the points P2, and the points P3 in order with respect to the plurality of points P along a predetermined direction.

次に、分割部130は、点Pkと点Pk+1(k=1〜n−1)との中間点に中間点Mkを設定する。例えば、図19の(e)に示すように、分割部130は、点P1と点P2との中間点に中間点M1を設定し、点P2と点P3との中間点に中間点M2を設定する。 Next, the dividing unit 130 sets the intermediate point Mk at the intermediate point between the point Pk and the point Pk + 1 (k = 1 to n-1). For example, as shown in FIG. 19 (e), the dividing unit 130 sets the intermediate point M1 at the intermediate point between the points P1 and P2, and sets the intermediate point M2 at the intermediate point between the points P2 and P3. do.

次に、分割部130は、中間点Mkがタスクエリアに位置するか否かを判定する(ステップS307)。 Next, the division unit 130 determines whether or not the intermediate point Mk is located in the task area (step S307).

分割部130は、中間点Mkがタスクエリアに位置すると判定した場合(ステップS307でYes)、点Pkと点Pk+1とを結ぶ線分を保持し(ステップS308)、処理をステップS301に戻す。 When the dividing unit 130 determines that the intermediate point Mk is located in the task area (Yes in step S307), the dividing unit 130 holds a line segment connecting the point Pk and the point Pk + 1 (step S308), and returns the process to step S301.

一方、分割部130は、中間点Mkがタスクエリアに位置しないと判定した場合(ステップS307でNo)、点Pkと点Pk+1とを結ぶ線分を削除し(ステップS309)、処理をステップS301に戻す。 On the other hand, when the dividing unit 130 determines that the intermediate point Mk is not located in the task area (No in step S307), the division unit 130 deletes the line segment connecting the point Pk and the point Pk + 1 (step S309), and processes the process in step S301. return.

例えば、図19の(f)に示すように、分割部130は、線分Sにおける点P1と点P2とを結ぶ線分を保持し(残し)、線分Sにおける点P2と点P3とを結ぶ線分を削除する。これによれば、分割部130は、タスクエリアに存在しない不要な境界線を削除できる。 For example, as shown in FIG. 19 (f), the dividing portion 130 holds (remains) a line segment connecting the point P1 and the point P2 in the line segment S, and holds the point P2 and the point P3 in the line segment S. Delete the connecting line segment. According to this, the division unit 130 can delete an unnecessary boundary line that does not exist in the task area.

なお、ステップS306では、中間点Mkは、点Pkと点Pk+1との中間点に設定されたが、点Pkと点Pk+1とを結ぶ線分上であれば、任意の位置に設定されてよい。 In step S306, the intermediate point Mk is set at the intermediate point between the point Pk and the point Pk + 1, but it may be set at an arbitrary position as long as it is on the line segment connecting the point Pk and the point Pk + 1.

<具体例>
続いて、タスクエリアの分割についての具体例について説明する。
<Specific example>
Subsequently, a specific example of the division of the task area will be described.

図20〜図25は、実施の形態に係る地図処理装置100が生成する複数のサブエリアを含む地図の具体例を説明するための図である。なお、図20〜図25においては、それぞれ、(a)には地図と当該地図に基づいて生成されるボロノイ図とを重ねた図を示し、(b)には(a)に示す地図と(a)に示すボロノイ図における図15に示す削除処理後の境界線とを示し、(c)には(a)に示す地図と(b)に示す境界線における図18に示す分割処理後の境界線とを示している。つまり、図20〜図25に示す(c)は、地図処理装置100が出力する、複数のサブエリアを含む地図(分割地図)を示す図である。また、各図において、タスクエリア(及びサブエリア)には、ハッチングを付している。 20 to 25 are diagrams for explaining a specific example of a map including a plurality of sub-areas generated by the map processing device 100 according to the embodiment. In FIGS. 20 to 25, (a) shows a map in which a map and a Voronoi diagram generated based on the map are superimposed, and (b) shows a map shown in (a) and (a). The boundary line after the deletion process shown in FIG. 15 in the Voronoi diagram shown in a) is shown, and the map shown in (a) and the boundary line after the division process shown in FIG. 18 in the boundary line shown in (b) are shown in (c). Shows a line. That is, (c) shown in FIGS. 20 to 25 is a diagram showing a map (divided map) including a plurality of sub-areas output by the map processing device 100. Further, in each figure, hatching is attached to the task area (and sub-area).

図20の(a)に示す地図400は、正方形状のタスクエリア142aと、タスクエリア142aの四隅に対応する4つの特徴点と、を含む。この場合、4つの特徴点を母点としたボロノイ図410は、2つの直線からなる境界線を含む。また、この場合、図20の(b)に示すように、図15に示す削除処理では、境界線は削除されない。つまり、この場合、隣り合う(言い換えると、最も近い)特徴点間の距離が所定の距離以上であることを示す。また、この場合、図20の(c)に示すように、地図処理装置100が出力する複数のサブエリアを含む地図(分割地図)400aは、4つのサブエリア148aを含む。 The map 400 shown in FIG. 20A includes a square task area 142a and four feature points corresponding to the four corners of the task area 142a. In this case, Voronoi diagram 410 having four feature points as mother points includes a boundary line consisting of two straight lines. Further, in this case, as shown in FIG. 20B, the boundary line is not deleted by the deletion process shown in FIG. That is, in this case, it indicates that the distance between adjacent (in other words, the closest) feature points is a predetermined distance or more. Further, in this case, as shown in FIG. 20 (c), the map (divided map) 400a including a plurality of sub-areas output by the map processing device 100 includes four sub-areas 148a.

図21の(a)に示す地図401は、環状のタスクエリア142bと、タスクエリア142bの隅に対応する8つの特徴点と、を含む。この場合、8つの特徴点を母点としたボロノイ図411は、6つの直線からなる境界線を含む。また、この場合、図21の(b)に示すように、図15に示す削除処理では、境界線は削除されない。つまり、この場合、隣り合う特徴点間の距離が所定の距離以上であることを示す。また、この場合、図21の(c)に示すように、地図処理装置100が出力する複数のサブエリアを含む地図(分割地図)401aは、8つのサブエリア148bを含む。 The map 401 shown in FIG. 21 (a) includes an annular task area 142b and eight feature points corresponding to the corners of the task area 142b. In this case, Voronoi diagram 411 with eight feature points as the mother points includes a boundary line consisting of six straight lines. Further, in this case, as shown in FIG. 21B, the boundary line is not deleted by the deletion process shown in FIG. That is, in this case, it indicates that the distance between adjacent feature points is equal to or greater than a predetermined distance. Further, in this case, as shown in FIG. 21 (c), the map (divided map) 401a including a plurality of sub-areas output by the map processing device 100 includes eight sub-areas 148b.

図22の(a)に示す地図402は、L字状のタスクエリア142cと、タスクエリア142cの隅に対応する6つの特徴点と、を含む。この場合、6つの特徴点を母点としたボロノイ図412は、10つの直線からなる境界線を含む。また、この場合、図22の(b)に示すように、図15に示す削除処理では、境界線は削除されない。つまり、この場合、隣り合う特徴点間の距離が所定の距離以上であることを示す。また、この場合、図22の(c)に示すように、地図処理装置100が出力する複数のサブエリアを含む地図(分割地図)402aは、6つのサブエリア148cを含む。 The map 402 shown in FIG. 22A includes an L-shaped task area 142c and six feature points corresponding to the corners of the task area 142c. In this case, the Voronoi diagram 412 with the six feature points as the base points includes a boundary line consisting of ten straight lines. Further, in this case, as shown in FIG. 22B, the boundary line is not deleted by the deletion process shown in FIG. That is, in this case, it indicates that the distance between adjacent feature points is equal to or greater than a predetermined distance. Further, in this case, as shown in FIG. 22 (c), the map (divided map) 402a including a plurality of sub-areas output by the map processing device 100 includes six sub-areas 148c.

図23の(a)に示す地図403は、L字状の一部が切り欠かれた形状のタスクエリア142dと、タスクエリア142dの隅に対応する30つの特徴点と、を含む。この場合、30つの特徴点を母点としたボロノイ図413は、多くの直線からなる境界線を含む。また、この場合、図23の(b)に示すように、図15に示す削除処理では、一部の境界線が削除されている。つまり、この場合、隣り合う一部の特徴点間の距離が所定の距離未満であることを示す。これによれば、例えば、密集している複数の特徴点に基づいて生成される境界線が削除される。また、この場合、図23の(c)に示すように、地図処理装置100が出力する複数のサブエリアを含む地図(分割地図)403aは、12つのサブエリア148dを含む。 The map 403 shown in FIG. 23 (a) includes a task area 142d having an L-shaped portion cut out, and 30 feature points corresponding to the corners of the task area 142d. In this case, the Voronoi diagram 413 having 30 feature points as a mother point includes a boundary line consisting of many straight lines. Further, in this case, as shown in FIG. 23 (b), a part of the boundary line is deleted in the deletion process shown in FIG. That is, in this case, it indicates that the distance between some adjacent feature points is less than a predetermined distance. According to this, for example, the boundary line generated based on a plurality of dense feature points is deleted. Further, in this case, as shown in FIG. 23 (c), the map (divided map) 403a including a plurality of sub-areas output by the map processing device 100 includes 12 sub-areas 148d.

図24の(a)に示す地図404は、L字状の一部が切り欠かれた形状のタスクエリア142eと、タスクエリア142eの隅に対応する30つの特徴点と、を含む。つまり、地図404と、地図403とは、同じ地図である。そのため、地図404に基づいて生成されるボロノイ図414は、ボロノイ図413と同じである。また、図24の(b)に示すように、図15に示す削除処理では、一部の境界線が削除されている。ここで、図24の(b)に示す図においては、図23の(b)に示す図よりも、多くの境界線が削除されている。つまり、図24に示す例では、図23に示す例よりも所定の距離が長く設定されていることを示す。また、この場合、図24の(c)に示すように、地図処理装置100が出力する複数のサブエリアを含む地図(分割地図)404aは、3つのサブエリア148eを含む。このように、所定の距離が適切に設定されることで所望の数(又は所望の面積)のサブエリアが生成される。 The map 404 shown in FIG. 24A includes a task area 142e having an L-shaped portion cut out, and 30 feature points corresponding to the corners of the task area 142e. That is, the map 404 and the map 403 are the same map. Therefore, the Voronoi diagram 414 generated based on the map 404 is the same as the Voronoi diagram 413. Further, as shown in FIG. 24 (b), a part of the boundary line is deleted in the deletion process shown in FIG. Here, in the figure shown in FIG. 24 (b), more boundary lines are deleted than in the figure shown in FIG. 23 (b). That is, in the example shown in FIG. 24, it is shown that the predetermined distance is set longer than the example shown in FIG. 23. Further, in this case, as shown in FIG. 24 (c), the map (divided map) 404a including a plurality of sub-areas output by the map processing device 100 includes three sub-areas 148e. In this way, a desired number (or desired area) of sub-areas is generated by appropriately setting a predetermined distance.

図25の(a)に示す地図405は、多角形状のタスクエリア142fと、タスクエリア142fの隅に対応する12つの特徴点と、を含む。この場合、12つの特徴点を母点としたボロノイ図415は、多くの直線からなる境界線を含む。また、この場合、図25の(b)に示すように、図15に示す削除処理では、一部の境界線が削除されている。つまり、この場合、隣り合う一部の特徴点間の距離が所定の距離未満であることを示す。 The map 405 shown in FIG. 25 (a) includes a polygonal task area 142f and 12 feature points corresponding to the corners of the task area 142f. In this case, Voronoi diagram 415 with 12 feature points as the mother points includes a boundary line consisting of many straight lines. Further, in this case, as shown in FIG. 25 (b), a part of the boundary line is deleted in the deletion process shown in FIG. That is, in this case, it indicates that the distance between some adjacent feature points is less than a predetermined distance.

図25に示す具体例では、(i)特徴点F11と特徴点F12との間の距離は、所定の距離未満であり、(ii)特徴点F12と特徴点F13との間の距離は、所定の距離未満であり、(iii)特徴点F11と特徴点F13との間の距離は、所定の距離以上である。また、直線B1は、特徴点F11と特徴点F12とに基づいて生成された境界線の一部の線である。また、直線B2は、特徴点F12と特徴点F13とに基づいて生成された境界線の一部の線である。また、直線B3は、特徴点F11と特徴点F13とに基づいて生成された境界線の一部の線である。 In the specific example shown in FIG. 25, (i) the distance between the feature point F11 and the feature point F12 is less than a predetermined distance, and (ii) the distance between the feature point F12 and the feature point F13 is predetermined. The distance between (iii) feature point F11 and feature point F13 is greater than or equal to a predetermined distance. Further, the straight line B1 is a part of the boundary line generated based on the feature point F11 and the feature point F12. Further, the straight line B2 is a part of the boundary line generated based on the feature point F12 and the feature point F13. Further, the straight line B3 is a part of the boundary line generated based on the feature point F11 and the feature point F13.

図25に示す具体例では、直線B1及び直線B2は、特徴点間の距離に基づいて削除される。一方、直線B3は、特徴点間の距離に基づいては削除されない。しかしながら、特徴点F11と特徴点F13とは、同じ点集合に属することになるため、直線B3もまた、削除される。 In the specific example shown in FIG. 25, the straight line B1 and the straight line B2 are deleted based on the distance between the feature points. On the other hand, the straight line B3 is not deleted based on the distance between the feature points. However, since the feature point F11 and the feature point F13 belong to the same set of points, the straight line B3 is also deleted.

また、この場合、図25の(c)に示すように、地図処理装置100が出力する複数のサブエリアを含む地図(分割地図)405aは、8つのサブエリア148fを含む。 Further, in this case, as shown in FIG. 25 (c), the map (divided map) 405a including a plurality of sub-areas output by the map processing device 100 includes eight sub-areas 148f.

上記したように、いずれの地図においても、地図処理装置100は、1つ以上の特徴点を含むサブエリアを含む地図を生成できる。 As described above, in any map, the map processing device 100 can generate a map including a sub-area including one or more feature points.

[効果等]
以上説明したように、実施の形態に係る地図処理装置100は、所定の領域を自律的に移動する移動ロボット200が用いる地図に含まれる、所定の領域に対応するタスクエリアを複数のサブエリアに分割する地図処理装置である。地図処理装置100は、移動ロボット200が位置を認識可能な所定の領域における複数の点にそれぞれ対応する複数の特徴点をタスクエリアから抽出する抽出部120と、複数の特徴点に基づいてタスクエリアを複数のサブエリアに分割する分割部130と、を備える。
[Effects, etc.]
As described above, the map processing device 100 according to the embodiment divides the task area corresponding to the predetermined area into a plurality of sub-areas included in the map used by the mobile robot 200 that autonomously moves in the predetermined area. It is a map processing device that divides. The map processing device 100 includes an extraction unit 120 that extracts a plurality of feature points corresponding to a plurality of points in a predetermined area where the mobile robot 200 can recognize the position from the task area, and a task area based on the plurality of feature points. Is provided with a division unit 130 for dividing the above into a plurality of sub-areas.

移動ロボット200は、算出した移動経路に沿って移動するために、自己位置を推定しながら移動する。例えば、レーザ測距計40を用いて、移動ロボット200の周囲に位置する壁及び対象物等の位置を示す情報を検出し、検出した情報を用いて自己位置を推定する。移動ロボット200は、例えば、局地化アルゴリズムを用いて、地図141とレーザ測距計40で検出した情報とを比較することで、自己位置を推定する。 The mobile robot 200 moves while estimating its own position in order to move along the calculated movement path. For example, the laser rangefinder 40 is used to detect information indicating the positions of walls and objects located around the mobile robot 200, and the self-position is estimated using the detected information. The mobile robot 200 estimates its own position by, for example, using a localization algorithm to compare the map 141 with the information detected by the laser rangefinder 40.

ここで、例えば、移動ロボット200の周囲の環境が直線の通路のような、位置を特定するための角を有する壁又は対象物等が存在しない場合、移動ロボット200が位置する場所では、レーザ測距計40等のセンサから得られる情報が変化しないため、自己位置を推定できない。そこで、移動ロボット200は、例えば、このような通路に沿って移動している場合においても、自己位置を推定するために、オドメトリ情報を取得するための推測航法システムを備える。これによれば、移動ロボット200は、オドメトリ情報を用いて自己位置を推定できる。しかしながら、移動ロボット200がオドメトリ情報を用いて自己位置を推定する場合、レーザ測距計40等のセンサから得られる情報を用いて自己位置を推定する場と比較して、実際の位置と推定した位置とのずれが大きくなる。つまり、移動ロボット200がオドメトリ情報を用いて自己位置を推定し続けると、実際の位置と推定した位置とのずれが大きくなり続ける。このずれは、新たにレーザ測距計40から情報が得られた場合に、移動ロボット200が当該情報に基づいて自己位置を推定することで小さくなる。移動ロボット200は、例えば、算出した移動経路に沿って移動しながら、掃除、掃海、又は、データ収集のようなタスクを実行する。このようなタスクを実行しながら自律的に移動する移動ロボット200においては、所定の領域内をくまなく移動することが要求される。しかしながら、所定の領域を任意に複数のサブエリアに分割すると、レーザ測距計40等で検出可能な点、言い換えると、移動ロボット200が位置を認識可能な点に対応する地図141における点(特徴点)を含まないサブエリアが生成される虞がある。このようなサブエリアでは、移動ロボット200が推定する自己位置が実際の位置と大きくずれる可能性が高くなる。そこで、地図処理装置100は、移動ロボット200が位置を認識可能な所定の領域における複数の点にそれぞれ対応する複数の特徴点に基づいて、地図141に含まれるタスクエリアを複数のサブエリアに分割する。これによれば、地図処理装置100は、例えば、複数のサブエリアのそれぞれに特徴点が含まれるようにタスクエリアを分割できる。そのため、移動ロボット200が複数のサブエリアに対応する所定の空間を移動する際には、移動ロボット200が位置を認識可能な点が存在することになる。そのため、移動ロボット200は、複数のサブエリアのいずれを走行する場合においても、自己位置を精度よく推定できる。つまり、地図処理装置100によれば、自律的に移動する移動ロボット200が精度よく自己位置を推定できるように地図141に含まれるタスクエリアを分割できる。 Here, for example, when the environment around the mobile robot 200 does not have a wall or an object having an angle for specifying a position such as a straight passage, the laser measurement is performed at the place where the mobile robot 200 is located. Since the information obtained from the sensor such as the distance meter 40 does not change, the self-position cannot be estimated. Therefore, the mobile robot 200 is provided with a dead reckoning navigation system for acquiring odometry information in order to estimate its own position even when moving along such a passage, for example. According to this, the mobile robot 200 can estimate its own position using the odometry information. However, when the mobile robot 200 estimates the self-position using the odometry information, it is estimated to be the actual position as compared with the field where the self-position is estimated using the information obtained from the sensor such as the laser rangefinder 40. The deviation from the position becomes large. That is, when the mobile robot 200 continues to estimate its own position using the odometry information, the deviation between the actual position and the estimated position continues to increase. When information is newly obtained from the laser rangefinder 40, this deviation is reduced by the mobile robot 200 estimating its own position based on the information. The mobile robot 200 performs tasks such as cleaning, minesweeping, or data collection while moving along a calculated movement path, for example. In the mobile robot 200 that moves autonomously while executing such a task, it is required to move all over a predetermined area. However, if the predetermined area is arbitrarily divided into a plurality of sub-areas, the points (features) on the map 141 corresponding to the points that can be detected by the laser rangefinder 40 or the like, in other words, the points that the mobile robot 200 can recognize the position. There is a risk that a sub-area that does not include the point) will be generated. In such a sub-area, there is a high possibility that the self-position estimated by the mobile robot 200 deviates significantly from the actual position. Therefore, the map processing device 100 divides the task area included in the map 141 into a plurality of sub-areas based on a plurality of feature points corresponding to a plurality of points in a predetermined area where the mobile robot 200 can recognize the position. do. According to this, the map processing device 100 can divide the task area so that the feature points are included in each of the plurality of sub-areas, for example. Therefore, when the mobile robot 200 moves in a predetermined space corresponding to a plurality of sub-areas, there is a point where the mobile robot 200 can recognize the position. Therefore, the mobile robot 200 can accurately estimate its own position regardless of whether it travels in any of the plurality of sub-areas. That is, according to the map processing device 100, the task area included in the map 141 can be divided so that the mobile robot 200 that moves autonomously can estimate its own position with high accuracy.

また、例えば、分割部130は、複数のサブエリアのそれぞれに少なくとも1つの特徴点が含まれるように、タスクエリアを複数のサブエリアに分割する。 Further, for example, the division unit 130 divides the task area into a plurality of sub-areas so that each of the plurality of sub-areas includes at least one feature point.

これによれば、移動ロボット200が複数のサブエリアに対応する所定の空間を移動する際には、移動ロボット200が位置を認識可能な点が少なくとも1つ存在することになる。そのため、地図処理装置100によれば、自律的に移動する移動ロボット200が精度よく自己位置を推定できるように例えば地図141に含まれるタスクエリアを分割できる。 According to this, when the mobile robot 200 moves in a predetermined space corresponding to a plurality of sub-areas, there is at least one point at which the mobile robot 200 can recognize the position. Therefore, according to the map processing device 100, for example, the task area included in the map 141 can be divided so that the mobile robot 200 that moves autonomously can estimate its own position with high accuracy.

また、例えば、分割部130は、複数の特徴点を母点としたボロノイ図を生成し、生成したボロノイ図に含まれるボロノイ境界を示す境界線を用いてタスクエリアを複数のサブエリアに分割する。 Further, for example, the division unit 130 generates a Voronoi diagram having a plurality of feature points as a base point, and divides the task area into a plurality of sub-areas by using the boundary line indicating the Voronoi boundary included in the generated Voronoi diagram. ..

これによれば、分割部130は、複数のサブエリアのそれぞれに少なくとも1つ特徴点が含まれるようにタスクエリアを分割できる。 According to this, the division unit 130 can divide the task area so that at least one feature point is included in each of the plurality of sub-areas.

また、例えば、分割部130は、複数の特徴点のうち少なくとも2つの特徴点が属する点集合であって、当該点集合に属する特徴点の中に少なくとも1つ、特徴点間の距離が所定の距離未満の特徴点を含む特徴点の集合である点集合を生成し、境界線のうち、生成した点集合に含まれる2つ以上の特徴点に基づいて生成された部分を削除する。 Further, for example, the division unit 130 is a point set to which at least two feature points among a plurality of feature points belong, and at least one of the feature points belonging to the point set has a predetermined distance between the feature points. A point set, which is a set of feature points including feature points less than a distance, is generated, and a part of the boundary line generated based on two or more feature points included in the generated point set is deleted.

所定の距離のみに基づいて境界線の一部が削除された場合、当該境界線において、他の境界線とも規定線とも接続されない直線部分が存在してしまうことがある。このような直線部分は、タスクエリアを複数のサブエリアに分割するための境界線として用いられないため、不要である。そこで、分割部130は、点集合を生成し、生成した点集合に基づいて境界線を削除するか否かを判定する。これによれば、所定の距離に基づいて境界線の一部が削除された場合に、サブエリアに分割するための不要な境界線も同様に削除され得る。 When a part of the boundary line is deleted based only on a predetermined distance, there may be a straight line portion in the boundary line that is not connected to another boundary line or the specified line. Such a straight line portion is unnecessary because it is not used as a boundary line for dividing the task area into a plurality of sub-areas. Therefore, the division unit 130 generates a point set and determines whether or not to delete the boundary line based on the generated point set. According to this, when a part of the boundary line is deleted based on a predetermined distance, an unnecessary boundary line for dividing into sub-areas can be deleted as well.

また、例えば、複数のサブエリアのうち少なくとも1つは、タスクエリアの範囲を規定する規定線、及び、境界線で囲まれた領域である。 Further, for example, at least one of the plurality of sub-areas is a defining line that defines the range of the task area and an area surrounded by a boundary line.

また、例えば、複数のサブエリアのうち少なくとも1つは、境界線のみで囲まれた領域である。 Further, for example, at least one of the plurality of sub-areas is an area surrounded only by a boundary line.

これらによれば、タスクエリアは複数のサブエリアに適切に分割され得る。 According to these, the task area can be appropriately divided into a plurality of sub-areas.

また、実施の形態に係る地図処理方法は、所定の領域を自律的に移動する移動ロボット200が用いる地図に含まれる、所定の領域に対応するタスクエリアを複数のサブエリアに分割する地図処理方法であって、移動ロボット200が位置を認識可能な所定の領域における複数の点にそれぞれ対応する複数の特徴点をタスクエリアから抽出する抽出ステップ(ステップS102)と、複数の特徴点に基づいてタスクエリアを複数のサブエリアに分割する分割ステップ(ステップS103〜ステップS105)と、を含む。 Further, the map processing method according to the embodiment is a map processing method for dividing a task area corresponding to a predetermined area into a plurality of sub-areas included in a map used by a mobile robot 200 that autonomously moves in a predetermined area. An extraction step (step S102) of extracting a plurality of feature points corresponding to a plurality of points in a predetermined area where the mobile robot 200 can recognize the position from the task area, and a task based on the plurality of feature points. A division step (step S103 to step S105) for dividing the area into a plurality of sub-areas is included.

これによれば、例えば、複数のサブエリアのそれぞれに特徴点が含まれるようにタスクエリアを分割できる。そのため、移動ロボット200が複数のサブエリアに対応する所定の空間を移動する際には、移動ロボット200が位置を認識可能な点が存在することになる。そのため、移動ロボット200は、複数のサブエリアのいずれを走行する場合においても、自己位置を精度よく推定できる。つまり、本開示に係る地図処理方法によれば、自律的に移動する移動ロボット200が精度よく自己位置を推定できるように例えば地図141に含まれるタスクエリアを分割できる。 According to this, for example, the task area can be divided so that the feature points are included in each of the plurality of subareas. Therefore, when the mobile robot 200 moves in a predetermined space corresponding to a plurality of sub-areas, there is a point where the mobile robot 200 can recognize the position. Therefore, the mobile robot 200 can accurately estimate its own position regardless of whether it travels in any of the plurality of sub-areas. That is, according to the map processing method according to the present disclosure, the task area included in the map 141 can be divided, for example, so that the autonomously moving mobile robot 200 can estimate its own position with high accuracy.

また、実施の形態に係る移動ロボット200は、所定の領域を自律的に移動する移動ロボットであって、地図処理装置100と、複数のサブエリアごとに移動経路を算出する算出部210と、複数のサブエリアのうちの一のサブエリアにおける移動経路に沿って移動ロボット200を移動させた後に、複数のサブエリアのうちの他のサブエリアに対応する位置に移動ロボット200を移動させて、当該他のサブエリアにおける移動経路に沿って移動ロボット200を移動させる制御部220と、を備える。 Further, the mobile robot 200 according to the embodiment is a mobile robot that autonomously moves in a predetermined area, and includes a map processing device 100, a calculation unit 210 that calculates a movement route for each of a plurality of sub-areas, and a plurality of mobile robots 200. After moving the mobile robot 200 along the movement path in one of the sub-areas of the above, the mobile robot 200 is moved to a position corresponding to the other sub-area among the plurality of sub-areas. A control unit 220 for moving the mobile robot 200 along a movement path in another sub-area is provided.

これによれば、移動ロボット200は、精度よく自己位置を推定しながら所定の領域を移動できる。 According to this, the mobile robot 200 can move in a predetermined area while accurately estimating the self-position.

なお、本発明は、上記地図処理装置100及び移動ロボット200の処理手順に含まれるステップをコンピュータに実行させるプログラムとして実現されてもよい。また、本発明は、上記プログラムを記録したコンピュータによって読み取り可能なCD−ROM等の非一時的な記録媒体として実現されてもよい。また、本発明は、そのプログラムを示す情報、データ又は信号として実現されてもよい。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信されてもよい。 The present invention may be realized as a program for causing a computer to execute the steps included in the processing procedures of the map processing device 100 and the mobile robot 200. Further, the present invention may be realized as a non-temporary recording medium such as a CD-ROM that can be read by a computer that records the above program. The present invention may also be realized as information, data or signals indicating the program. Then, those programs, information, data and signals may be distributed via a communication network such as the Internet.

(その他の実施の形態)
以上、本発明に係る地図処理装置等について、上記実施の形態に基づいて説明したが、本発明は、上記実施の形態に限定されるものではない。
(Other embodiments)
Although the map processing apparatus and the like according to the present invention have been described above based on the above-described embodiment, the present invention is not limited to the above-described embodiment.

例えば、上記実施の形態では、移動ロボットが備える本体部(筐体)の内部に地図処理装置が配置されている。地図処理装置は、移動ロボットの外部に配置されていてもよい。 For example, in the above embodiment, the map processing device is arranged inside the main body (housing) of the mobile robot. The map processing device may be arranged outside the mobile robot.

また、例えば、上記実施の形態では地図処理装置が備える抽出部及び分割部等の処理部は、それぞれCPUと制御プログラムとによって実現されると説明した。例えば、それぞれの当該処理部の構成要素は、それぞれ1つ又は複数の電子回路で構成されてもよい。1つ又は複数の電子回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。1つ又は複数の電子回路には、例えば、半導体装置、IC(Integrated Circuit)、又は、LSI(Large Scale Integration)等が含まれてもよい。IC又はLSIは、1つのチップに集積されてもよく、複数のチップに集積されてもよい。ここでは、IC又はLSIと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(Very Large Scale Integration)、又は、ULSI(Ultra Large Scale Integration)と呼ばれるかもしれない。また、LSIの製造後にプログラムされるFPGA(Field Programmable Gate Array)も同じ目的で使うことができる。 Further, for example, it has been explained that in the above-described embodiment, the processing units such as the extraction unit and the division unit included in the map processing device are realized by the CPU and the control program, respectively. For example, each component of the processing unit may be composed of one or a plurality of electronic circuits. The one or more electronic circuits may be general-purpose circuits or dedicated circuits, respectively. The one or more electronic circuits may include, for example, a semiconductor device, an IC (Integrated Circuit), an LSI (Large Scale Integration), or the like. The IC or LSI may be integrated on one chip or may be integrated on a plurality of chips. Although it is called an IC or LSI here, the name changes depending on the degree of integration, and it may be called a system LSI, a VLSI (Very Large Scale Integration), or a ULSI (Ultra Large Scale Integration). Further, an FPGA (Field Programmable Gate Array) programmed after manufacturing the LSI can also be used for the same purpose.

また、本発明の全般的又は具体的な態様は、システム、装置、方法、集積回路又はコンピュータプログラムで実現されてもよい。或いは、当該コンピュータプログラムが記憶された光学ディスク、HDD(Hard Disk Drive)若しくは半導体メモリ等のコンピュータ読み取り可能な非一時的記録媒体で実現されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 In addition, general or specific aspects of the present invention may be realized by a system, an apparatus, a method, an integrated circuit or a computer program. Alternatively, it may be realized by a computer-readable non-temporary recording medium such as an optical disk, HDD (Hard Disk Drive) or semiconductor memory in which the computer program is stored. Further, it may be realized by any combination of a system, a device, a method, an integrated circuit, a computer program and a recording medium.

その他、実施の形態及び変形例に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。 In addition, it is realized by arbitrarily combining the components and functions in the embodiment and the modification obtained by applying various modifications that a person skilled in the art can think of, and within the range that does not deviate from the gist of the present invention. Also included in the present invention.

本発明は、自律的に移動する移動ロボットが用いる地図を複数のサブエリアに分割する装置、及び、当該複数のサブエリアごとに移動経路を算出して、算出した移動経路に沿って移動する移動ロボットに適用可能である。 The present invention is a device that divides a map used by an autonomously moving mobile robot into a plurality of sub-areas, and a movement that calculates a movement route for each of the plurality of sub-areas and moves along the calculated movement route. Applicable to robots.

10 本体部
11 吸込口
20 車輪
30 サイドブラシ
40 レーザ測距計
50 メインブラシ
60 カメラ
70 深度センサ
100 地図処理装置
110 取得部
120 抽出部
130 分割部
140 記憶部
141、141a、141b、141c、400、401、402、403、404、405 地図
142、142a、142b、142c、142d、142e、142f タスクエリア
143、143a 規定線
144、144a、144b、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10、F11、F12、F13 特徴点
145、145a、145b 境界線
146 ボロノイセル
147、147a、147b、410、411、412、413、414、415 ボロノイ図
148、148a、148b、148c、148d、148e、148f サブエリア
149 マーカ部
149a 曲面部
200 移動ロボット
210 算出部
220 制御部
230 検出部
240 移動部
250 清掃部
300、301 点集合
310 弧
400a、401a、402a、403a、404a、405a 地図(分割地図)
B1、B2、B3 直線
L1、L2 所定の距離
M1、M2 中間点
S 線分
P、P1、P2、P3 点
10 Main body 11 Suction port 20 Wheels 30 Side brush 40 Laser rangefinder 50 Main brush 60 Camera 70 Depth sensor 100 Map processing device 110 Acquisition unit 120 Extraction unit 130 Dividing unit 140 Storage unit 141, 141a, 141b, 141c, 400, 401, 402, 403, 404, 405 Map 142, 142a, 142b, 142c, 142d, 142e, 142f Task area 143, 143a Default line 144, 144a, 144b, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13 Feature points 145, 145a, 145b Boundary line 146 Voronoi cell 147, 147a, 147b, 410, 411, 421, 413, 414, 415 Voronoi diagram 148, 148a, 148b, 148c, 148d , 148e, 148f Subarea 149 Marker part 149a Curved part 200 Mobile robot 210 Calculation part 220 Control part 230 Detection part 240 Moving part 250 Cleaning part 300, 301 Point set 310 Arc 400a, 401a, 402a, 403a, 404a, 405a Map ( Divided map)
B1, B2, B3 straight line L1, L2 Predetermined distance M1, M2 Midpoint S line segment P, P1, P2, P3 point

Claims (8)

所定の領域を自律的に移動する移動ロボットが用いる地図に含まれる、前記所定の領域に対応するタスクエリアを複数のサブエリアに分割する地図処理装置であって、
前記移動ロボットが位置を認識可能な前記所定の領域における複数の点にそれぞれ対応する複数の特徴点を前記タスクエリアから抽出する抽出部と、
前記複数の特徴点に基づいて前記タスクエリアを複数のサブエリアに分割する分割部と、を備える
地図処理装置。
A map processing device that divides a task area corresponding to a predetermined area into a plurality of sub-areas, which is included in a map used by a mobile robot that autonomously moves in a predetermined area.
An extraction unit that extracts a plurality of feature points corresponding to a plurality of points in the predetermined area where the mobile robot can recognize the position from the task area.
A map processing device including a division unit that divides the task area into a plurality of sub-areas based on the plurality of feature points.
前記分割部は、前記複数のサブエリアのそれぞれに少なくとも1つの前記特徴点が含まれるように、前記タスクエリアを前記複数のサブエリアに分割する
請求項1に記載の地図処理装置。
The map processing device according to claim 1, wherein the division unit divides the task area into the plurality of sub-areas so that each of the plurality of sub-areas includes at least one feature point.
前記分割部は、前記複数の特徴点を母点としたボロノイ図を生成し、生成したボロノイ図に含まれるボロノイ境界を示す境界線を用いて前記タスクエリアを前記複数のサブエリアに分割する
請求項1又は2に記載の地図処理装置。
The division unit generates a Voronoi diagram having the plurality of feature points as a base point, and divides the task area into the plurality of sub-areas by using a boundary line indicating a Voronoi boundary included in the generated Voronoi diagram. Item 2. The map processing apparatus according to item 1 or 2.
前記分割部は、前記複数の特徴点のうち少なくとも2つの特徴点が属する点集合であって、当該点集合に属する特徴点の中に少なくとも1つ、特徴点間の距離が所定の距離未満の特徴点を含む特徴点の集合である点集合を生成し、前記境界線のうち、生成した前記点集合に含まれる2つ以上の特徴点に基づいて生成された部分を削除する
請求項3に記載の地図処理装置。
The divided portion is a point set to which at least two feature points among the plurality of feature points belong, and at least one of the feature points belonging to the point set, the distance between the feature points is less than a predetermined distance. According to claim 3, a point set that is a set of feature points including feature points is generated, and a portion of the boundary line generated based on two or more feature points included in the generated point set is deleted. The map processing device described.
前記複数のサブエリアのうち少なくとも1つは、前記タスクエリアの範囲を規定する規定線、及び、前記境界線で囲まれた領域である
請求項3又は4に記載の地図処理装置。
The map processing device according to claim 3 or 4, wherein at least one of the plurality of sub-areas is a defined line defining the range of the task area and an area surrounded by the boundary line.
前記複数のサブエリアのうち少なくとも1つは、前記境界線のみで囲まれた領域である
請求項3〜5のいずれか1項に記載の地図処理装置。
The map processing apparatus according to any one of claims 3 to 5, wherein at least one of the plurality of sub-areas is an area surrounded only by the boundary line.
所定の領域を自律的に移動する移動ロボットが用いる地図に含まれる、前記所定の領域に対応するタスクエリアを複数のサブエリアに分割する地図処理方法であって、
前記移動ロボットが位置を認識可能な前記所定の領域における複数の点にそれぞれ対応する複数の特徴点を前記タスクエリアから抽出する抽出ステップと、
前記複数の特徴点に基づいて前記タスクエリアを複数のサブエリアに分割する分割ステップと、を含む
地図処理方法。
A map processing method for dividing a task area corresponding to a predetermined area into a plurality of sub-areas, which is included in a map used by a mobile robot that autonomously moves in a predetermined area.
An extraction step of extracting a plurality of feature points corresponding to a plurality of points in the predetermined area where the mobile robot can recognize the position from the task area.
A map processing method including a division step of dividing the task area into a plurality of sub-areas based on the plurality of feature points.
所定の領域を自律的に移動する移動ロボットであって、
請求項1〜6のいずれか1項に記載の地図処理装置と、
前記複数のサブエリアごとに移動経路を算出する算出部と、
前記複数のサブエリアのうちの一のサブエリアにおける移動経路に沿って前記移動ロボットを移動させた後に、前記複数のサブエリアのうちの他のサブエリアに対応する位置に前記移動ロボットを移動させて、前記他のサブエリアにおける移動経路に沿って前記移動ロボットを移動させる制御部と、を備える
移動ロボット。
A mobile robot that autonomously moves in a predetermined area.
The map processing device according to any one of claims 1 to 6.
A calculation unit that calculates a movement route for each of the plurality of sub-areas,
After moving the mobile robot along the movement path in one of the plurality of sub-areas, the mobile robot is moved to a position corresponding to the other sub-areas in the plurality of sub-areas. A mobile robot including a control unit for moving the mobile robot along a movement path in the other sub-area.
JP2020006252A 2020-01-17 2020-01-17 Map processing device, map processing method, and mobile robot Pending JP2021114103A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020006252A JP2021114103A (en) 2020-01-17 2020-01-17 Map processing device, map processing method, and mobile robot
PCT/JP2020/045590 WO2021145098A1 (en) 2020-01-17 2020-12-08 Map processing device, map processing method, and mobile robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006252A JP2021114103A (en) 2020-01-17 2020-01-17 Map processing device, map processing method, and mobile robot

Publications (1)

Publication Number Publication Date
JP2021114103A true JP2021114103A (en) 2021-08-05

Family

ID=76864147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006252A Pending JP2021114103A (en) 2020-01-17 2020-01-17 Map processing device, map processing method, and mobile robot

Country Status (2)

Country Link
JP (1) JP2021114103A (en)
WO (1) WO2021145098A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827651B2 (en) * 1987-05-19 1996-03-21 三洋電機株式会社 Work route determination device for work vehicles
JP4197606B2 (en) * 2002-10-16 2008-12-17 株式会社東芝 Autonomous robot
JP4012161B2 (en) * 2004-03-02 2007-11-21 株式会社東芝 Article management apparatus, article management system, purchase support system, and purchase support method
KR100791384B1 (en) * 2006-07-05 2008-01-07 삼성전자주식회사 Method for dividing regions by feature points and apparatus thereof and mobile cleaning robot
KR101263233B1 (en) * 2011-03-09 2013-05-13 포항공과대학교 산학협력단 Cleaning method of cleaning robots by detecting a feature point
JP2017102705A (en) * 2015-12-02 2017-06-08 株式会社リコー Autonomous mobile device and autonomous mobile device system

Also Published As

Publication number Publication date
WO2021145098A1 (en) 2021-07-22

Similar Documents

Publication Publication Date Title
US11175670B2 (en) Robot-assisted processing of a surface using a robot
CN110974091B (en) Cleaning robot, control method thereof, and storage medium
JP7502409B2 (en) Intermediate Waypoint Generator
US20210041871A1 (en) Along-edge Walking Control Method for Autonomous Mobile Robot
KR20220075410A (en) How to plan area cleaning with robots running along edges, chips and robots
JP7262076B2 (en) Mobile robot and control method
EP2888603B1 (en) Robot positioning system
US11747825B2 (en) Autonomous map traversal with waypoint matching
CA2862213A1 (en) Discovery and monitoring of an environment using a plurality of robots
EP2713232A1 (en) Autonomous mobile robot and method for operating the same
CN112526993A (en) Grid map updating method and device, robot and storage medium
CN112539749A (en) Robot navigation method, robot, terminal device and storage medium
CN112180924B (en) Mobile control method for navigating to dense obstacle
Chan et al. Lidar-based 3d slam for indoor mapping
CN111609853A (en) Three-dimensional map construction method, sweeping robot and electronic equipment
JP6594008B2 (en) Mobile control device, landmark, and program
WO2021145098A1 (en) Map processing device, map processing method, and mobile robot
JP7144491B2 (en) FORKLIFT, POSITION ESTIMATION METHOD, AND PROGRAM
CN112462768B (en) Mobile robot navigation map creation method and device and mobile robot
JP2021144594A (en) Autonomous mobile vacuum cleaner, control method of autonomous mobile vacuum cleaner, and program
KR101297608B1 (en) Method and system for robot coverage of unknown environment
JP7349624B2 (en) Autonomous vacuum cleaner, autonomous vacuum cleaner control method, and program
Yu et al. UGV obstacle detection of sensor fusion based on point cloud data segmentation
Chatterjee et al. Vision-based mobile robot navigation using subgoals
CN117419733A (en) Method for identifying a map of the surroundings with errors