JP2020027443A - Autonomous mobile apparatus, soil detection method for lens of autonomous mobile device and program - Google Patents

Autonomous mobile apparatus, soil detection method for lens of autonomous mobile device and program Download PDF

Info

Publication number
JP2020027443A
JP2020027443A JP2018152021A JP2018152021A JP2020027443A JP 2020027443 A JP2020027443 A JP 2020027443A JP 2018152021 A JP2018152021 A JP 2018152021A JP 2018152021 A JP2018152021 A JP 2018152021A JP 2020027443 A JP2020027443 A JP 2020027443A
Authority
JP
Japan
Prior art keywords
image
unit
autonomous mobile
lens
mobile device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018152021A
Other languages
Japanese (ja)
Other versions
JP7354528B2 (en
Inventor
中嶋 光康
Mitsuyasu Nakajima
光康 中嶋
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018152021A priority Critical patent/JP7354528B2/en
Publication of JP2020027443A publication Critical patent/JP2020027443A/en
Priority to JP2022110439A priority patent/JP7327596B2/en
Application granted granted Critical
Publication of JP7354528B2 publication Critical patent/JP7354528B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

To provide a method for appropriately detecting soil on a lens of an imaging unit.SOLUTION: An autonomous mobile apparatus 100 comprises: a drive unit 32 that moves and rotates an own machine to change the position and direction of the own machine; an imaging unit 33 that captures an image via a lens; an image storage unit 21 that stores the captured image; and a control unit 10 that calculates a degree of sharpness of an image, indicating the fineness of the image or a structure composing an object detection area of an object detected in the image. The control unit 10 calculates: a first image sharpness degree of a first image stored in the image storage unit 21; and a second image sharpness degree of a second image captured in the position and direction of the own machine within a predetermined range from the position and direction of the own machine when the first image is captured, or the second image sharpness degree of the second image including a second object detection area of an object in a reference area from the first object detection area of the object detected by the first image. If the second image sharpness degree is lower than the first image sharpness degree, it is determined that a lens is soiled.SELECTED DRAWING: Figure 4

Description

本発明は、自律移動装置、自律移動装置のレンズの汚れ検出方法及びプログラムに関する。   The present invention relates to an autonomous mobile device, a method for detecting dirt on a lens of the autonomous mobile device, and a program.

用途に応じて自律的に移動する自律移動装置が普及してきている。例えば、自律的に移動して人とコミュニケーションを行う自律移動装置が知られている。一般的に、このような自律移動装置は、実空間の地図の作成と、実空間内での自機位置の推定を行い、人の検出や認識を行う必要がある。   Autonomous mobile devices that move autonomously according to their use have become widespread. For example, an autonomous mobile device that moves autonomously and communicates with a person is known. Generally, such an autonomous mobile device needs to create a map in the real space and estimate its own position in the real space to detect and recognize a person.

実空間の地図を作成するための手法としては、例えばSLAM(Simultaneous Localization And Mapping)法が知られている。SLAM法では、カメラを用いて自機の周囲の画像を撮影して環境地図を作成しながら自己位置を推定し、移動制御を行う。また、人の検出や認識を行うためにもカメラを使用する。コミュニケーションを行う自律移動装置は、人と接触する可能性が少なくないため、搭載しているカメラのレンズをユーザに指等で触られてレンズが汚れることにより、自己位置推定、人の検出や認識に支障を来すおそれがある。さらに、このような装置では、カメラで取得する画像をユーザが確認することが無いので、ユーザがレンズの汚れに気付くことができない。   As a technique for creating a map of a real space, for example, a SLAM (Simultaneous Localization And Mapping) method is known. In the SLAM method, a self-position is estimated while taking an image around the own device using a camera to create an environment map, and movement control is performed. Cameras are also used to detect and recognize people. Since the autonomous mobile device that performs communication is likely to come into contact with people, if the user touches the lens of the camera with a finger or the like and the lens becomes dirty, self-position estimation, detection and recognition of people May cause trouble. Furthermore, in such an apparatus, since the user does not check the image acquired by the camera, the user cannot notice the dirt on the lens.

特許文献1では、撮像部により撮像された画像データの明るさの変化の急峻度のうち、検出した最大の急峻度が所定の急峻度未満である場合又は所定の値以上の急峻度が検出できない場合には、撮像部のレンズが汚れている可能性があると判定する装置が開示されている。   In Patent Literature 1, when the detected maximum steepness is less than a predetermined steepness or a steepness equal to or more than a predetermined value cannot be detected among the steepnesses of changes in brightness of image data captured by an imaging unit. In this case, an apparatus that determines that the lens of the imaging unit may be dirty is disclosed.

特開2001−119614号公報JP 2001-119614 A

しかしながら、上記の装置では、撮影位置や撮影方向は関係なくレンズの汚れを判断するものであって、レンズの一部に汚れがあったとしても、レンズの汚れの無い部分で検出された急峻度が所定の急峻度を満たしていれば、レンズに汚れがあると判定されないこととなる。   However, in the above-described apparatus, the dirt on the lens is determined regardless of the photographing position and the photographing direction. Even if a part of the lens is contaminated, the steepness detected in the part without the dirt on the lens is determined. Does not satisfy the predetermined steepness, it is not determined that the lens is dirty.

そこで、本発明は、上記問題を解決するためになされたものであり、撮像部のレンズの汚れを好適に検出する自律移動装置、撮像部のレンズの汚れを好適に検出する方法及びプログラムを提供することを目的とする。   In view of the above, the present invention has been made to solve the above problems, and provides an autonomous mobile device that preferably detects dirt on a lens of an imaging unit, a method and a program that preferably detects dirt on a lens of an imaging unit. The purpose is to do.

上記目的を達成するため、本発明の自律移動装置は、
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、
レンズを介して撮像する撮像部と、
撮像された画像を記憶する画像記憶部と、
前記駆動部、前記撮像部及び前記画像記憶部を制御し、前記画像又は前記画像に検出された物体の物体検出領域を構成する構造の細かさを示す画像先鋭度値を算定する制御部と、を備え、
前記制御部は、
前記画像記憶部に記憶された第1の画像の第1の画像先鋭度値と、
前記第1の画像が撮像された時の前記自機位置及び前記自機の向きから所定の範囲内の自機位置及び自機の向きで撮像された第2の画像の第2の画像先鋭度値とを、
又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像の第2の画像先鋭度値とを、算定し、前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記レンズが汚れていると判定する、
ことを特徴とする。
In order to achieve the above object, the autonomous mobile device of the present invention,
A drive unit that moves and rotates the own machine to change the own machine position and the own machine direction,
An imaging unit for imaging via a lens;
An image storage unit that stores a captured image;
A control unit that controls the driving unit, the imaging unit and the image storage unit, and calculates an image sharpness value indicating the fineness of a structure constituting an object detection area of the image or an object detected in the image, With
The control unit includes:
A first image sharpness value of a first image stored in the image storage unit;
The second image sharpness of the second image captured at the own position and the own direction within a predetermined range from the own device position and the own device direction when the first image was captured. Value and
Or a second image sharpness value of a second image including a second object detection region of the object within the reference region from the first object detection region of the object detected by the first image. Calculating, if the second image sharpness value is lower than the first image sharpness value, determining that the lens is dirty;
It is characterized by the following.

本発明によれば、撮像部のレンズの汚れを好適に検出することができる。   ADVANTAGE OF THE INVENTION According to this invention, the dirt of the lens of an imaging part can be detected suitably.

本実施形態に係る自律移動装置の外観を示す図である。It is a figure showing appearance of an autonomous mobile device concerning this embodiment. 本実施形態に係る充電器の外観を示す図である。It is a figure showing the appearance of the charger concerning this embodiment. 本実施形態に係る充電器が送信する帰還信号を説明する図である。It is a figure explaining the feedback signal which the charger concerning this embodiment transmits. 本実施形態に係る自律移動装置の機能構成を示す図である。It is a figure showing the functional composition of the autonomous mobile device concerning this embodiment. (a)〜(d)は、本実施形態に係る自律移動装置が生成する情報のデータ構造を示す図である。(A)-(d) is a figure which shows the data structure of the information which the autonomous mobile device which concerns on this embodiment produces | generates. 本実施形態に係る自律移動装置の起動時処理のフローチャートである。It is a flowchart of the process at the time of the start of the autonomous mobile device which concerns on this embodiment. 本実施形態に係る自律移動装置の自機位置推定、環境地図生成スレッドのフローチャートである。4 is a flowchart of a self-location estimation and environment map generation thread of the autonomous mobile device according to the embodiment. 本実施形態に係る自律移動装置の自機位置推定処理のフローチャートである。It is a flowchart of the self-position estimation processing of the autonomous mobile device according to the present embodiment. 本実施形態に係る自律移動制装置の環境地図生成処理のフローチャートである。It is a flowchart of the environment map generation processing of the autonomous mobility control device according to the present embodiment. 本実施形態に係る自律移動装置のDBを生成1の処理のフローチャートである。It is a flow chart of processing of generation 1 of an autonomous mobile device concerning this embodiment. 本実施形態に係る自律移動装置のレンズ汚れ判定1の処理のフローチャートである。5 is a flowchart of a process of lens dirt determination 1 of the autonomous mobile device according to the embodiment. 本実施形態に係る自律移動装置の移動指示アプリのフローチャートである。5 is a flowchart of a movement instruction application of the autonomous mobile device according to the embodiment. 本実施形態に係る自律移動装置のレンズ汚れ判定2の処理のフローチャートである。It is a flowchart of the process of the lens contamination determination 2 of the autonomous mobile device according to the present embodiment. 本実施形態に係る自律移動装置の移動スレッドのフローチャートである。5 is a flowchart of a moving thread of the autonomous mobile device according to the embodiment. 本実施形態に係る自律移動装置の顔検出スレッドのフローチャートである。5 is a flowchart of a face detection thread of the autonomous mobile device according to the embodiment. 本実施形態に係る自律移動装置のDBを生成3の処理のフローチャートである。It is a flowchart of the process of generation 3 of the DB of the autonomous mobile device according to the present embodiment. 本実施形態に係る自律移動装置のレンズ汚れ判定3の処理のフローチャートである。It is a flowchart of the processing of the lens contamination determination 3 of the autonomous mobile device according to the present embodiment.

以下、本発明の実施形態に係る自律移動装置について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。   Hereinafter, an autonomous mobile device according to an embodiment of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts have the same reference characters allotted.

本発明の実施形態に係る自律移動装置は、地図(環境地図)を作成しながら、用途に応じて自律的に移動する装置である。この用途とは、例えば、人とコミュニケーションを行う事、警備監視、屋内掃除等である。また、本実施形態に係る自律移動装置は、後述する動作モードに応じて移動する。   The autonomous mobile device according to the embodiment of the present invention is a device that autonomously moves according to a use while creating a map (environmental map). This use is, for example, communication with a person, security monitoring, indoor cleaning, and the like. The autonomous mobile device according to the present embodiment moves according to an operation mode described later.

自律移動装置100は、図1に示すように、外観上、帰還信号受信部31(31a,31b)、駆動部32(32a,32b)、撮像部33、充電接続部35、を備える。なお、図1には示されていないが、自律移動装置100は、周囲に存在する物体(障害物)を検出する障害物センサを備えている。また、自律移動装置100の電池を充電するための充電設備である充電器200は、図2に示すように、外観上、帰還信号送信部51(51a,51b)、電力供給部52を備える。   As shown in FIG. 1, the autonomous mobile device 100 includes a feedback signal receiving unit 31 (31a, 31b), a driving unit 32 (32a, 32b), an imaging unit 33, and a charging connection unit 35 in appearance. Although not shown in FIG. 1, the autonomous mobile device 100 includes an obstacle sensor that detects an object (obstacle) existing around. As shown in FIG. 2, the charger 200, which is a charging facility for charging the battery of the autonomous mobile device 100, includes a feedback signal transmitting unit 51 (51a, 51b) and a power supply unit 52 in appearance.

自律移動装置100の充電接続部35と充電器200の電力供給部52とが接続することにより、充電器200から電力の供給を受けて、自律移動装置100は内蔵している充電池を充電することができる。なお、充電接続部35及び電力供給部52は、それぞれがお互いと接続するための接続端子である。これらは、駆動部32により自律移動装置100が充電器200の上に移動することによって、接続される。この接続は、充電接続部35と電力供給部52とが接触することによって接続してもよいし、充電接続部35と電力供給部52とが近接することによって電磁誘導等により接続してもよい。   When the charging connection unit 35 of the autonomous mobile device 100 is connected to the power supply unit 52 of the charger 200, the autonomous mobile device 100 receives power from the charger 200 and charges the built-in rechargeable battery. be able to. The charging connection unit 35 and the power supply unit 52 are connection terminals for connecting to each other. These are connected by the drive unit 32 moving the autonomous mobile device 100 over the charger 200. This connection may be made by contact between the charging connection part 35 and the power supply part 52, or may be made by electromagnetic induction or the like when the charging connection part 35 and the power supply part 52 come close to each other. .

撮像部33は、自律移動装置100の前方から上部までの広範囲を撮像できる広角レンズを備える。このため、撮像部33は天井の電灯が点灯しているか否かを判定可能な画像を撮像することができる。そして、自律移動装置100は、撮像部33が撮像した画像を利用して単眼SLAM(Simultaneous Localization And Mapping)処理を行うことができる。   The imaging unit 33 includes a wide-angle lens that can capture a wide range from the front to the top of the autonomous mobile device 100. For this reason, the imaging unit 33 can capture an image capable of determining whether or not the ceiling lamp is lit. Then, the autonomous mobile device 100 can perform a monocular SLAM (Simultaneous Localization And Mapping) process using the image captured by the imaging unit 33.

自律移動装置100の帰還信号受信部31は、充電器200から送信される帰還信号(赤外線ビーコン)を受信するためのデバイスである。自律移動装置100の正面に向かって左に帰還信号受信部31a、右に帰還信号受信部31bと、合計2つの帰還信号受信部31が備えられている。また、充電器200の帰還信号送信部51は、自律移動装置100に帰還信号を送信するためのデバイスである。充電器200の正面に向かって右に帰還信号送信部51aが、左に帰還信号送信部51bが、それぞれ備えられている。そして、帰還信号送信部51aから送信される帰還信号と、帰還信号送信部51bから送信される帰還信号とは、異なる信号になっている。したがって、帰還信号受信部31は、各々左右どちらの帰還信号送信部51からの帰還信号を受信したのかを判別することができる。   The feedback signal receiving unit 31 of the autonomous mobile device 100 is a device for receiving a feedback signal (infrared beacon) transmitted from the charger 200. A feedback signal receiving unit 31a is provided on the left side of the front of the autonomous mobile device 100, and a feedback signal receiving unit 31b is provided on the right side, and a total of two feedback signal receiving units 31 are provided. The feedback signal transmission unit 51 of the charger 200 is a device for transmitting a feedback signal to the autonomous mobile device 100. A feedback signal transmission unit 51a is provided on the right side and a feedback signal transmission unit 51b is provided on the left side of the front of the charger 200. Then, the feedback signal transmitted from the feedback signal transmitting unit 51a and the feedback signal transmitted from the feedback signal transmitting unit 51b are different signals. Therefore, the feedback signal receiving section 31 can determine which of the left and right feedback signal transmitting sections 51 has received the feedback signal.

充電器200の帰還信号送信部51から送信される帰還信号の左右それぞれの受信可能範囲53(53a,53b)の一例を図3に示す。帰還信号送信部51aから送信される帰還信号は、受信可能範囲53aの内部に自律移動装置100の帰還信号受信部31が入ると受信できる。そして、帰還信号送信部51bから送信される帰還信号は、受信可能範囲53bの内部に自律移動装置100の帰還信号受信部31が入ると受信できる。したがって、自律移動装置100は、受信可能範囲53の内部に入ると充電器200の存在する方向を把握することができる。そして、自律移動装置100は、帰還信号送信部51aからの帰還信号を帰還信号受信部31aが受信し、帰還信号送信部51bからの帰還信号を帰還信号受信部31bが受信するように向きを調整しながら進むことによって、充電器200の上に移動することができる。自律移動装置100は、充電器200の上に移動すると、充電接続部35と電力供給部52とが接続し、自律移動装置100に内蔵されている電池を充電することができる。   FIG. 3 shows an example of the left and right receivable ranges 53 (53a, 53b) of the feedback signal transmitted from the feedback signal transmitting unit 51 of the charger 200. The feedback signal transmitted from the feedback signal transmitting unit 51a can be received when the feedback signal receiving unit 31 of the autonomous mobile device 100 enters the receivable range 53a. Then, the feedback signal transmitted from the feedback signal transmitting unit 51b can be received when the feedback signal receiving unit 31 of the autonomous mobile device 100 enters the receivable range 53b. Therefore, the autonomous mobile device 100 can grasp the direction in which the charger 200 exists when entering the inside of the receivable range 53. Then, the autonomous mobile device 100 adjusts the direction so that the feedback signal from the feedback signal transmitting unit 51a is received by the feedback signal receiving unit 31a, and the feedback signal from the feedback signal transmitting unit 51b is received by the feedback signal receiving unit 31b. By moving while traveling, it is possible to move above the charger 200. When the autonomous mobile device 100 moves on the charger 200, the charging connection unit 35 and the power supply unit 52 are connected, and the battery built in the autonomous mobile device 100 can be charged.

駆動部32は、独立2輪駆動型であって、車輪とモータとを備える移動手段である。自律移動装置100は、2つの車輪の同一方向駆動により前後の平行移動(並進移動)を、2つの車輪の逆方向駆動によりその場での回転(向き変更)を、2つの車輪のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。また、各々の車輪にはロータリエンコーダが備えられており、ロータリエンコーダで車輪の回転数を計測し、車輪の直径や車輪間の距離等の幾何学的関係を利用することで並進移動量及び回転量を計算できる。例えば、車輪の直径をD、回転数をR(ロータリエンコーダにより測定)とすると、その車輪の接地部分での並進移動量はπ・D・Rとなる。また、車輪の直径をD、車輪間の距離をI、右車輪の回転数をR、左車輪の回転数をRとすると、向き変更の回転量は(右回転を正とすると)360°×D×(R−R)/(2×I)となる。この並進移動量及び回転量を逐次足し合わせていくことで、駆動部32は、いわゆるオドメトリ(メカオドメトリ)として機能し、自機位置(移動開始時の位置及び向きを基準とした自律移動装置100の位置及び向き)を計測することができる。駆動部32は、撮像部33によって物体の境界等が写るように画像を撮像できる自機の位置及び向きに自律移動装置100を移動させる。 The drive unit 32 is an independent two-wheel drive type, and is a moving unit including wheels and a motor. The autonomous mobile device 100 controls the forward and backward parallel movement (translational movement) by driving the two wheels in the same direction, the rotation (direction change) on the spot by driving the two wheels in the opposite direction, and the speed of each of the two wheels. A turning movement (translation + rotation (direction change) movement) can be performed by the changed drive. In addition, each wheel is provided with a rotary encoder, which measures the number of rotations of the wheel with the rotary encoder, and utilizes the geometrical relationship such as the diameter of the wheel and the distance between the wheels to translate and translate the wheel. You can calculate the quantity. For example, assuming that the diameter of a wheel is D and the number of rotations is R (measured by a rotary encoder), the translational movement amount of the wheel at the ground contact portion is π · D · R. When the diameter of the wheels is D, the distance between the wheels is I, the rotation speed of the right wheel is R R , and the rotation speed of the left wheel is RL , the rotation amount of the direction change is 360 (assuming the right rotation is positive). ° × D × ( RL- RR ) / (2 × I). By sequentially adding the translation amount and the rotation amount, the drive unit 32 functions as a so-called odometry (mecha odometry), and determines the position of the own device (the autonomous mobile device 100 based on the position and orientation at the start of the movement). Position and orientation) can be measured. The driving unit 32 moves the autonomous mobile device 100 to a position and an orientation of the own device capable of capturing an image such that a boundary of an object is captured by the imaging unit 33.

オドメトリから得られる自機の位置及び向きの精度は、車輪の摩耗やスリップ等により、低い精度になってしまうことが多い。特に誤差が累積していく関係上、時間経過と共に精度が悪化する。ただし、オドメトリの回転成分(向きの情報)に関しては、後述する角速度センサ情報を用いることで精度を向上させることができる。また、地磁気を検出して方位を特定する方位センサ(図示せず)を用いることで、オドメトリからの取得値とは関係なく、地磁気を利用した絶対的な向きの情報を取得することもできる。   The accuracy of the position and orientation of the aircraft obtained from odometry is often low due to wear or slippage of wheels. In particular, due to the accumulation of errors, accuracy deteriorates with time. However, the accuracy of the rotational component (direction information) of the odometry can be improved by using angular velocity sensor information described later. Also, by using an orientation sensor (not shown) for detecting the geomagnetism and specifying the orientation, it is also possible to acquire information on the absolute orientation using the geomagnetism irrespective of the value obtained from odometry.

なお、車輪の代わりにクローラを備えるようにしても良いし、複数(例えば二本)の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動きや、足の動きに基づいて、車輪の場合と同様に自機の位置や向きの計測が可能である。   Note that a crawler may be provided instead of the wheel, or a plurality of (for example, two) feet may be provided to move by walking with the feet. In these cases, the position and orientation of the own device can be measured based on the movement of the two crawlers and the movement of the foot, as in the case of the wheels.

図4に示すように、自律移動装置100は、帰還信号受信部31(31a,31b)、駆動部32(32a,32b)、撮像部33、充電接続部35、に加えて、制御部10、記憶部20、通信部34、センサ部40、を備える。   As shown in FIG. 4, the autonomous mobile device 100 includes, in addition to the feedback signal receiving unit 31 (31a, 31b), the driving unit 32 (32a, 32b), the imaging unit 33, and the charging connection unit 35, the control unit 10, It includes a storage unit 20, a communication unit 34, and a sensor unit 40.

制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(位置計測部11、地図作成部12、位置推定部13、判定部14、地図編集部15、画像情報取扱部16)の機能を実現する。   The control unit 10 is configured by a CPU (Central Processing Unit) or the like, and executes a program stored in the storage unit 20 to execute each unit (the position measurement unit 11, the map creation unit 12, the position estimation unit 13, The functions of the section 14, the map editing section 15, and the image information handling section 16) are realized.

記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、画像記憶部21や地図記憶部22を含む。ROMには制御部10のCPUが実行するプログラム(例えば、後述するSLAM法の演算や自律移動制御処理に係るプログラム)や、プログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。   The storage unit 20 is configured by a ROM (Read Only Memory), a RAM (Random Access Memory), or the like, and includes an image storage unit 21 and a map storage unit 22. The ROM stores a program executed by the CPU of the control unit 10 (for example, a program related to an operation of the SLAM method described later and an autonomous movement control process) and data necessary for executing the program in advance. The RAM stores data created or changed during the execution of the program.

画像記憶部21には、撮像部33が撮影した画像が記憶される。ただし、記憶容量の節約のために、撮影したすべての画像を記憶しなくても良く、また画像自体ではなく、画像の特徴量を記憶するようにしても良い。重要な画像(後述するキーフレーム)については、画像の情報と共に、上述したオドメトリで計測した自機位置(自機の位置及び向き)の情報並びに後述するSLAM法で推定した自機位置(自機の位置及び向き)の情報が記憶される。   The image storage unit 21 stores an image captured by the imaging unit 33. However, in order to save the storage capacity, it is not necessary to store all the captured images, and it is also possible to store not the images themselves but the feature amounts of the images. For important images (key frames to be described later), information on the position of the own device (position and orientation of the own device) measured by the above-described odometry and the position of the own device (own device) estimated by the SLAM method described later, together with the image information. (Position and orientation) are stored.

地図記憶部22には、後述するSLAM法や障害物センサ43からの情報に基づいて地図作成部12が作成した地図(特徴点や障害物の3次元位置の情報)が記憶される。   The map storage unit 22 stores a map (information of feature points and three-dimensional positions of obstacles) created by the map creation unit 12 based on information from the SLAM method and the obstacle sensor 43 described later.

情報記憶部23には、画像先鋭度値データベースDB,DB2、画像先鋭度フラグデータベースDBG、顔領域先鋭度値データベースDB3、顔領域先鋭度フラグデータベースDB3H、等があり、画像情報取扱部16が生成した後述する情報G(図5(a)),G1(図5(b)),H(図5(c)),H1(図5(d))等が記憶される。   The information storage unit 23 includes an image sharpness value database DB, DB2, an image sharpness flag database DBG, a face area sharpness value database DB3, a face area sharpness flag database DB3H, and the like. Information G (FIG. 5 (a)), G1 (FIG. 5 (b)), H (FIG. 5 (c)), H1 (FIG. 5 (d)), and the like described below are stored.

センサ部40として、加速度センサ41、角速度センサ42、障害物センサ43を備える。加速度センサ41は、XYZ方向(3軸)の加速度を測定するセンサである。角速度センサ42は角速度(単位時間あたりの角度移動量)を測定するセンサである。車輪の回転数に基づいて自機の向きを求めるよりも、角速度センサ42を用いて向きを求める方が精度が向上することが知られている。障害物センサ(距離測定素子)43は、走行中の障害物を検知するセンサであって、例えば、赤外線センサ、超音波センサである。なお、独立した障害物センサを搭載せずに、撮像部33を用いて障害物を検知するようにしても良い。また、他の物体に衝突したことを検知するバンパーセンサー(図示せず)を備えても良い。また、地磁気を検出して方位を特定する方位センサ(図示せず)を備えても良い。方位センサを用いることで、オドメトリからの取得値とは関係なく、地磁気を利用した絶対的な向きの情報を取得することができる。   The sensor unit 40 includes an acceleration sensor 41, an angular velocity sensor 42, and an obstacle sensor 43. The acceleration sensor 41 is a sensor that measures acceleration in XYZ directions (three axes). The angular velocity sensor 42 is a sensor that measures the angular velocity (the amount of angular movement per unit time). It is known that the accuracy is improved by using the angular velocity sensor 42 to obtain the direction, rather than by obtaining the direction of the own device based on the number of rotations of the wheels. The obstacle sensor (distance measuring element) 43 is a sensor that detects an obstacle while traveling, and is, for example, an infrared sensor or an ultrasonic sensor. Note that an obstacle may be detected using the imaging unit 33 without mounting an independent obstacle sensor. Further, a bumper sensor (not shown) for detecting collision with another object may be provided. Further, a direction sensor (not shown) for detecting the geomagnetism and specifying the direction may be provided. By using the azimuth sensor, it is possible to acquire information on the absolute orientation using geomagnetism regardless of the value obtained from odometry.

通信部34は、充電器200等の外部装置と通信するためのモジュールであり、外部装置と無線通信する場合にはアンテナを含む無線モジュールである。例えば、通信部34は、Bluetooth(登録商標)に基づく近距離無線通信を行うための無線モジュールである。通信部34を用いることにより、自律移動装置100は、外部装置とデータ受け渡し等を行うことができる。   The communication unit 34 is a module for communicating with an external device such as the charger 200, and is a wireless module including an antenna when performing wireless communication with the external device. For example, the communication unit 34 is a wireless module for performing short-range wireless communication based on Bluetooth (registered trademark). By using the communication unit 34, the autonomous mobile device 100 can exchange data with an external device.

次に、制御部10の機能について説明する。制御部10は、位置計測部11、地図作成部12、位置推定部13、判定部14、地図編集部15、画像情報取扱部16を含み、後述するSLAM法の演算、自律移動装置100の移動指示や画像先鋭度値の算定等を行う。また、制御部10は、マルチスレッド機能に対応しており、複数のスレッド(異なる処理の流れ)を並行して進めることができる。   Next, the function of the control unit 10 will be described. The control unit 10 includes a position measuring unit 11, a map creating unit 12, a position estimating unit 13, a judging unit 14, a map editing unit 15, and an image information handling unit 16, and calculates a SLAM method, which will be described later, and moves the autonomous mobile device 100. An instruction, calculation of an image sharpness value, and the like are performed. Further, the control unit 10 supports a multi-thread function and can advance a plurality of threads (different processing flows) in parallel.

位置計測部11は、駆動部32の車輪とモータの動きに基づき、自機位置を計測する。具体的には、地面に高低差がなく、車輪がスリップしないという前提のもとで、各車輪の直径(D)及び回転数(R:ロータリエンコーダにより測定)に基づき、その車輪の接地部分での移動距離はπ・D・Rとして求められるので、これらと車輪間の距離とから並進移動量及び並進方向並びに向きの変化量(回転角度)を求めることができる。これを逐次加算していくことで、オドメトリとして、自機の位置及び向きを計測できる。地面に高低差がある場合は高さ方向を考慮した並進移動量を求める必要があるが、これは、加速度センサ41により高度の変化量を把握することにより求められる。また車輪のスリップに関しては、駆動用の車輪以外に移動量計測用の車輪も搭載しておくことで誤差を小さくすることが可能である。   The position measuring unit 11 measures its own position based on the movement of the wheels and the motor of the driving unit 32. Specifically, on the assumption that there is no height difference on the ground and that the wheels do not slip, based on the diameter (D) and rotation speed (R: measured by a rotary encoder) of each wheel, Is obtained as π · D · R, the translation amount, the translation direction, and the change amount (rotation angle) of the direction can be obtained from these and the distance between the wheels. By sequentially adding these, the position and orientation of the own device can be measured as odometry. When there is a height difference on the ground, it is necessary to obtain the translation amount in consideration of the height direction. This is obtained by grasping the change amount of the altitude by the acceleration sensor 41. Regarding wheel slip, an error can be reduced by mounting a wheel for measuring a movement amount in addition to a wheel for driving.

地図作成部12は、画像記憶部21に記憶されている画像の情報並びに該画像撮影時の自機の位置及び向きの情報に基づいてSLAM法を用いて推定された特徴点の3次元位置(Map点)や、障害物センサ43で障害物を検知したときの自機の位置及び向きの情報に基づいて得られた該障害物の3次元位置等を、地図の情報として地図記憶部22に記憶する。   The map creator 12 uses the SLAM method to estimate the three-dimensional position of the feature point based on the image information stored in the image storage 21 and the information on the position and orientation of the own device at the time of capturing the image ( A map point) and the three-dimensional position of the obstacle obtained based on information on the position and orientation of the own device when the obstacle sensor 43 detects the obstacle are stored in the map storage unit 22 as map information. Remember.

位置推定部13は、後述するSLAM法に基づいて、ビジュアルオドメトリとして、自機の位置及び向きを推定する。   The position estimating unit 13 estimates the position and orientation of the own device as visual odometry based on the SLAM method described later.

判定部14は、位置計測部11で計測した位置及び向きと、位置推定部13で推定した位置及び向きとの差が所定誤差内か否かを判定する。オドメトリ(位置計測部11)で正しい位置及び向きが計測でき、しかも、SLAM法(ビジュアルオドメトリ:位置推定部13)で正しい位置及び向きを推定できているなら、これらはほぼ一致するので、その場合は地図記憶部22に記憶されている地図の情報も正しいと推測できる。しかし、位置及び向きの計測や推定に誤差が含まれていると、誤差の累積が生じ、計測値と推定値とは一致しなくなる。そのような場合は、地図記憶部22に記憶されている地図の情報にも誤差が累積されてしまっていると推測できる。したがって、これら両者の差が所定誤差内か否かを判定することで、地図の情報が正しいかどうかを判定することができる。   The determination unit 14 determines whether a difference between the position and the orientation measured by the position measurement unit 11 and the position and the orientation estimated by the position estimation unit 13 is within a predetermined error. If the correct position and direction can be measured by the odometry (position measuring unit 11) and the correct position and direction can be estimated by the SLAM method (visual odometry: position estimating unit 13), these are almost the same. Can be estimated that the map information stored in the map storage unit 22 is also correct. However, if an error is included in the measurement and estimation of the position and the orientation, the accumulation of the error occurs, and the measured value and the estimated value do not match. In such a case, it can be inferred that errors have been accumulated in the map information stored in the map storage unit 22 as well. Therefore, by determining whether or not the difference between the two is within a predetermined error, it is possible to determine whether or not the map information is correct.

地図編集部15は、判定部14によって地図記憶部22に記憶されている地図の情報が正しくないと判定された場合は、該地図を編集する。地図の編集の最も簡単な処理は、該地図を消去する処理である。   The map editing unit 15 edits the map when the determination unit 14 determines that the map information stored in the map storage unit 22 is incorrect. The simplest process of editing a map is a process of deleting the map.

画像情報取扱部16は、撮像部33によって撮像された画像(物体の境界等)に対してラプラシアンオペレータの畳み込み処理を行い、その後分散を取ることにより、画像(又は後述する画像内に検出された顔等の物体の検出領域)の画像先鋭度値(シャープネス)を算出する。画像先鋭度値は、画像全体又は画像内に検出された物体の物体検出領域全体に対して算出された1つの値(代表先鋭度値)である。画像先鋭度値は、画像又は物体検出領域を構成する構造の細かさを示す値である。ラプラシアンオペレータは、隣接する上下左右の4画素(4近傍)についての2次微分を行うものを使用するが、斜め方向に隣接する8画素(8近傍)について2次微分を行うものとしても良い。その他、画像から取得した後述の情報の各種算定等を行う。   The image information handling unit 16 performs a convolution process of a Laplacian operator on an image (a boundary of an object or the like) captured by the imaging unit 33, and then performs dispersion to thereby obtain an image (or an image detected in an image described later). An image sharpness value (sharpness) of a detection area of an object such as a face is calculated. The image sharpness value is one value (representative sharpness value) calculated for the entire image or the entire object detection area of the object detected in the image. The image sharpness value is a value indicating the fineness of the structure forming the image or the object detection area. As the Laplacian operator, one that performs second differentiation on four adjacent pixels (upper, lower, left, and right) (near four) is used, but it may be one that performs second differentiation on eight pixels (eight neighbors) adjacent diagonally. In addition, various calculations and the like of information described later acquired from the image are performed.

以上、自律移動装置100の機能構成について説明した。次に、自律移動装置100で起動される各種処理について説明する。自律移動装置100は、電源オフ時は充電器200に接続されて充電されており、電源が投入されると、充電器200に接続された位置で、後述する起動時処理が実行され、各種アプリ及び各種スレッドが並行して実行される。では、自律移動装置100の起動時の処理について、図6を参照して説明する。図6は、自律移動装置100が起動した時に実行される起動時処理のフローチャートである。   The functional configuration of the autonomous mobile device 100 has been described above. Next, various processes activated by the autonomous mobile device 100 will be described. When the power is turned off, the autonomous mobile device 100 is connected to the charger 200 to be charged. When the power is turned on, the autonomous mobile device 100 executes a startup process to be described later at a position connected to the charger 200, and executes various applications. And various threads are executed in parallel. Now, a process at the time of starting the autonomous mobile device 100 will be described with reference to FIG. FIG. 6 is a flowchart of a startup process executed when the autonomous mobile device 100 is started.

まず、自律移動装置100の制御部10は、SLAM処理用の各種スレッドを起動する(ステップS101)。SLAM処理用の各種スレッドとは、自律移動装置100の姿勢(位置及び向き)を推定する自機位置推定処理及び環境地図を生成する処理を行う自機位置推定、環境地図生成スレッド、ループクロージング処理を行うループクロージングスレッド等である。なお、ループクロージング処理とは、自律移動装置100が、以前来たことのある同じ場所に戻ってきたことを認識した場合に、以前この同じ場所にいた時の自律移動装置100の姿勢の値と現在の姿勢の値とのずれを用いて、以前来た時から今までの移動軌跡中のキーフレーム(の3D姿勢)や、関連するMapPoint(の3D座標)を修正する処理をいう。自機位置推定、環境地図作成スレッドの詳細については後述する。   First, the control unit 10 of the autonomous mobile device 100 activates various SLAM processing threads (step S101). The various threads for the SLAM process include a self-location estimation process for estimating the attitude (position and orientation) of the autonomous mobile device 100 and a self-location estimation process for generating an environment map, an environment map generation thread, and a loop closing process. Loop closing thread that performs Note that the loop closing process means that when the autonomous mobile device 100 recognizes that it has returned to the same place where it has been before, the value of the attitude of the autonomous mobile device 100 when it was previously at this same location is used. This refers to a process of correcting (a 3D posture of) a key frame in a movement trajectory from a previous time to the present and a related MapPoint (a 3D coordinate of the map point) using a deviation from a current posture value. The details of the self-location estimation thread and the environment map creation thread will be described later.

次に、制御部10は、移動指示アプリ及び行動計画アプリを起動する(ステップS102)。行動計画アプリ(図示せず)は、自律移動装置100の行動を制御するアプリである。行動計画アプリでは、自律移動装置100の動作モード(充電器帰還モード、お散歩モード、対話モード)の設定を行うことができる。また、行動計画アプリは、環境地図内での自律移動装置100の位置を理解し、自律移動装置100の移動先を移動スレッドに指示することができる。さらに、行動計画アプリは、撮像部33のレンズに汚れが有るとの通知を受けた際に、自律移動装置100にユーザに対して撮像部33のレンズの清掃を促す行動を指示する。移動指示アプリは、行動計画アプリの設定に応じた動作モード(例えば充電器帰還モード)に基づいて、次のステップで起動される自機位置推定、環境地図生成スレッドから自律移動装置100の現在の環境地図内における姿勢(位置及び向き)の情報を受けた行動計画アプリの指示する移動先への移動を実行するアプリである。なお、移動指示アプリの詳細については後述する。   Next, the control unit 10 activates the movement instruction application and the action plan application (Step S102). The behavior planning application (not shown) is an application that controls the behavior of the autonomous mobile device 100. In the action plan application, the operation mode (charger return mode, walk mode, interactive mode) of the autonomous mobile device 100 can be set. In addition, the action plan application can understand the position of the autonomous mobile device 100 in the environment map, and can instruct the moving thread of the destination of the autonomous mobile device 100. Further, when receiving the notification that the lens of the imaging unit 33 is dirty, the action planning application instructs the autonomous mobile device 100 to perform an action to prompt the user to clean the lens of the imaging unit 33. The movement instruction application, based on the operation mode (for example, the charger return mode) according to the setting of the action plan application, estimates the position of the own device started in the next step and the current map of the autonomous mobile device 100 from the environment map generation thread. This is an application that executes movement to a destination specified by the action plan application that has received information on the posture (position and orientation) in the environment map. The details of the movement instruction application will be described later.

次に、制御部10は、移動スレッド、顔検出スレッドを起動し(ステップS103)、起動時処理を終了する。移動スレッドは、移動指示アプリから移動命令を受けて、制御部10が駆動部32を制御して自律移動装置100を移動させる処理を行うスレッドである。そして、起動時処理を終了した後は、自律移動装置100は、この起動時処理によって起動された各アプリ及びスレッドにより制御される。なお、移動スレッド、顔検出スレッドの詳細については後述する。   Next, the control unit 10 activates the moving thread and the face detection thread (step S103), and ends the activation process. The moving thread is a thread that performs a process in which the control unit 10 controls the driving unit 32 to move the autonomous mobile device 100 in response to a movement command from the movement instruction application. After the startup process is completed, the autonomous mobile device 100 is controlled by each application and thread activated by the startup process. The details of the moving thread and the face detection thread will be described later.

SLAM処理用のスレッドのうち、自機位置推定、環境地図生成スレッドについて、図7を参照して説明する。自機位置推定、環境地図生成スレッドは、撮像部33により撮像して取得した画像を利用したVisual SLAM法による環境地図を用いて追跡処理(自機位置推定処理)を行うスレッドである。さらに、自機位置推定、環境地図生成のために取得した画像を利用して、撮像部33のレンズの汚れの有無を判定するスレッドでもある。   Among the threads for SLAM processing, the self-position estimation and environment map generation threads will be described with reference to FIG. The own device position estimation and environment map generation thread is a thread that performs a tracking process (own device position estimation process) using an environment map based on the Visual SLAM method using an image captured and acquired by the imaging unit 33. Further, the thread is a thread that determines whether or not the lens of the imaging unit 33 is dirty using an image acquired for estimating its own position and generating an environmental map.

まず、制御部10は、SLAM法に基づいて自機位置推定、環境地図の生成を行う(ステップS201)。これにより、地図の情報及びビジュアルオドメトリ(地図と画像とを用いて推定した自機位置の情報)が生成される。なお、自機位置推定処理及び環境地図作成処理の詳細については後述する。   First, the control unit 10 estimates its own position and generates an environment map based on the SLAM method (step S201). As a result, map information and visual odometry (information of the own device position estimated using the map and the image) are generated. The details of the own device position estimation processing and the environment map creation processing will be described later.

次に、制御部10は、生成した環境地図と推定した自機位置とを行動アプリに送信する(ステップS202)。これにより、行動計画アプリは、自律移動装置100の周囲の環境を理解し、自律移動装置100の移動先を指示することができる。   Next, the control unit 10 transmits the generated environment map and the estimated own device position to the behavior application (Step S202). Thereby, the action plan application can understand the environment around the autonomous mobile device 100 and can instruct the destination of the autonomous mobile device 100.

そして、制御部10は、画像情報取扱部16に、ステップS201で取得した画像の画像先鋭度値を算出させることにより、画像先鋭度データベースDBを生成(DBを生成1)する(ステップS203)。画像先鋭度データベースDBを生成する処理の詳細については後述する。   Then, the control unit 10 causes the image information handling unit 16 to calculate the image sharpness value of the image acquired in step S201, thereby generating the image sharpness database DB (generate DB 1) (step S203). Details of the process of generating the image sharpness database DB will be described later.

そして、制御部10は、画像の画像先鋭度値を用いて撮像部33のレンズの汚れを判定(レンズ汚れ判定1)する(ステップS204)。撮像部33のレンズの汚れを判定する処理については後述する。   Then, the control unit 10 determines the dirt on the lens of the imaging unit 33 using the image sharpness value of the image (lens dirt determination 1) (step S204). The process of determining whether the lens of the imaging unit 33 is dirty will be described later.

撮像部33のレンズに汚れがあると判定された場合(ステップS205;Yes)、制御部10は、その旨を行動計画アプリに通知する(ステップS206)。行動アプリは、自律移動装置100に対して、ユーザに自律移動装置100の撮像部33のレンズの清掃を促す行動、例えば、レンズの清掃を促す音声又は警告音を発する、を実行するように指示し、ステップS207に進む。撮像部33のレンズに汚れが有ると判定されなかった場合(ステップS205;No)、レンズの汚れは不明であると判定し、ステップS207に進む。   When it is determined that the lens of the imaging unit 33 is dirty (Step S205; Yes), the control unit 10 notifies the action plan application of that (Step S206). The action app instructs the autonomous mobile device 100 to execute an action that prompts the user to clean the lens of the imaging unit 33 of the autonomous mobile device 100, for example, emits a sound or a warning sound that prompts the user to clean the lens. Then, the process proceeds to step S207. If it is not determined that the lens of the imaging unit 33 is dirty (Step S205; No), it is determined that the lens is unclear, and the process proceeds to Step S207.

ステップS207では、制御部10は、各種アプリやユーザから終了指示があるか否かを判定する。終了指示があるなら(ステップS207;Yes)、自機位置推定、環境地図生成スレッドを終了する。終了指示がないなら(ステップS207;No)、ステップS201に戻る。   In step S207, the control unit 10 determines whether or not there is a termination instruction from various applications or a user. If there is a termination instruction (step S207; Yes), the self-location estimation and environment map generation thread is terminated. If there is no end instruction (step S207; No), the process returns to step S201.

以上、自機位置推定、環境地図生成スレッドの処理について説明した。次に、自機位置推定、環境地図生成スレッド(図7)のステップS201で実行される自機位置推定処理について、図8を参照して説明する。この処理は、位置推定部13が、最初に初期化処理を行い、その後自機位置推定(撮像部33で取得した画像を用いてビジュアルオドメトリにより自機位置を推定する)を続ける処理である。   The processing of the own device position estimation and the environment map generation thread has been described above. Next, the self-location estimation process executed in step S201 of the self-location estimation and environment map generation thread (FIG. 7) will be described with reference to FIG. This process is a process in which the position estimating unit 13 first performs an initialization process, and thereafter continues the own device position estimation (estimating the own device position by visual odometry using the image acquired by the imaging unit 33).

これにより、地図の情報に基づいて自律的に移動を行いつつ、適宜地図の情報を更新することができる。   This makes it possible to appropriately update the map information while moving autonomously based on the map information.

典型的な例としては、自律移動装置100は最初、充電器200に置いてある状態で電源を投入すると、障害物センサ43を頼りとして、家の各部屋をくまなく移動し、障害物センサ43によって壁等の障害物位置を特定し、障害物位置を含む地図の情報を作成することができる。地図がある程度作成されると、地図の情報がまだないが移動可能と考えられる領域を知ることができ、その領域に自律的に移動する等して、より広範囲の地図の作成を促すこともできるようになる。そして、移動可能なほぼ全域の地図の情報が作成されれば、地図の情報を利用した効率的な移動動作が可能になる。例えば部屋のどの位置からでも最短経路で充電器200に戻ったり、効率的に部屋の掃除をしたりすることが可能になる。   As a typical example, when the autonomous mobile device 100 is first turned on while being placed on the charger 200, the autonomous mobile device 100 moves through the rooms of the house, relying on the obstacle sensor 43, By doing so, it is possible to specify the position of an obstacle such as a wall and create map information including the position of the obstacle. When a map is created to some extent, it is possible to know an area where map information is not yet available but it is considered to be movable, and it is possible to autonomously move to that area and encourage creation of a wider map Become like Then, if map information of almost the entire movable area is created, an efficient movement operation using the map information becomes possible. For example, it is possible to return to the charger 200 via the shortest route from any position in the room, and to efficiently clean the room.

位置推定部13は、まず、動作終了かを判定する(ステップS301)。動作終了なら(ステップS301;Yes)終了し、動作終了でないなら(ステップS301;No)、初期化済であるか判定する(ステップS302)。初期化済なら(ステップS302;Yes)ステップS321以降の自機位置推定処理を行い、初期化済でないなら(ステップS302;No)ステップS303に進んで初期化処理を行う。まず初期化処理について説明する。   First, the position estimating unit 13 determines whether the operation has been completed (step S301). If the operation is completed (Step S301; Yes), the operation is completed. If the operation is not completed (Step S301; No), it is determined whether the operation has been initialized (Step S302). If the initialization has been completed (Step S302; Yes), the own position estimation processing after Step S321 is performed. If the initialization has not been completed (Step S302; No), the process proceeds to Step S303 to perform the initialization processing. First, the initialization process will be described.

初期化処理では位置推定部13はまずフレームカウンタNに−1をセットし(ステップS303)、撮像部33で画像を取得する(ステップS304)。画像は例えば30fpsで取得することができる(取得した画像はフレームとも呼ばれる)。次に、取得した画像内から2D特徴点を取得する(ステップS305)。2D特徴点とは画像中のエッジ部分など、画像内の特徴的な部分であり、SIFT(Scale−Invariant Future Transform)やSURF(Speed−Up Robust Features)等のアルゴリズムを用いて取得することができる。なお、2D特徴点を取得するのに他のアルゴリズムを使っても良い。   In the initialization process, the position estimating unit 13 first sets -1 to the frame counter N (step S303), and acquires an image with the imaging unit 33 (step S304). The image can be acquired, for example, at 30 fps (the acquired image is also called a frame). Next, 2D feature points are acquired from the acquired image (step S305). A 2D feature point is a characteristic portion in an image, such as an edge portion in the image, and can be acquired using an algorithm such as SIFT (Scale-Invariant Future Transform) or SURF (Speed-Up Robust Features). . Note that another algorithm may be used to obtain the 2D feature points.

取得した2D特徴点の個数が少ないと、後述するTwo−view Structure from Motion法での計算ができないため、位置推定部13はステップS306において、2D特徴点の取得数と基準値(例えば10個)とを比較し、基準値未満だった場合(ステップS306;No)はステップS304に戻り、基準値以上の2D特徴点数が得られるまで、画像の取得と2D特徴点の取得とを繰り返す。なお、この時点ではまだ地図の情報は作成できていないが、例えば上述した典型的な例では、障害物センサ43を頼りとして、家の各部屋をくまなく移動し始めているため、この初期化処理で画像取得と2D特徴点取得を繰り返していれば、移動しながら画像取得を繰り返すことになるので、様々な画像が取得でき、いずれは2D特徴点数が多い画像を取得できることが期待できる。   If the number of acquired 2D feature points is small, calculation by the Two-view Structure from Motion method described later cannot be performed, so the position estimating unit 13 determines in step S306 the number of acquired 2D feature points and a reference value (for example, 10). If it is less than the reference value (step S306; No), the process returns to step S304, and the acquisition of the image and the acquisition of the 2D feature point are repeated until the number of 2D feature points equal to or greater than the reference value is obtained. At this point, the map information has not been created yet. However, in the above-described typical example, the initialization process is started because all the rooms in the house have begun to be moved by relying on the obstacle sensor 43. If the image acquisition and the 2D feature point acquisition are repeated, the image acquisition is repeated while moving, so that various images can be acquired, and it can be expected that an image having a large number of 2D feature points can be acquired eventually.

2D特徴点の取得数が基準値以上だった場合は(ステップS306;Yes)、位置推定部13はフレームカウンタNをインクリメントする(ステップS307)。そして、フレームカウンタNが0かどうかを判定する(ステップS308)。フレームカウンタNが0なら(ステップS308;Yes)画像をまだ一つしか取得していないということになるので、2枚目の画像を取得するためにステップS304に戻る。なお図8のフローチャートでは記載していないが、1枚目の画像を取得した時の自律移動装置100の位置と2枚目の画像を取得する時の自律移動装置100の位置とがある程度離れていた方が、これ以降の処理で推定する姿勢の精度が向上する。そこで、ここでステップS308からステップS304に戻る際に、オドメトリによる並進距離が所定の距離(例えば1m)以上となるまで待つ処理を追加しても良い。   If the number of acquired 2D feature points is equal to or greater than the reference value (step S306; Yes), the position estimating unit 13 increments the frame counter N (step S307). Then, it is determined whether or not the frame counter N is 0 (step S308). If the frame counter N is 0 (step S308; Yes), it means that only one image has been acquired, and the process returns to step S304 to acquire the second image. Although not described in the flowchart of FIG. 8, the position of the autonomous mobile device 100 when the first image is obtained and the position of the autonomous mobile device 100 when the second image is obtained are separated to some extent. This improves the accuracy of the posture estimated in the subsequent processing. Therefore, when returning from step S308 to step S304, a process of waiting until the translation distance by odometry becomes a predetermined distance (for example, 1 m) or more may be added.

フレームカウンタNが0でないなら(ステップS308;No)二つの画像を取得したということがわかるので、位置推定部13は、これら二つの画像間で2D特徴点の対応(実環境上の同一の点がそれぞれの画像中に存在し、その対応が取れるもの)を取得する(ステップS309)。ここで特徴点の対応数が5未満であれば、後述する二つの画像間の姿勢の推定ができないため、位置推定部13は特徴点の対応数が5未満かどうかを判定する(ステップS310)。5未満であれば(ステップS310;Yes)初期画像を取得し直すために、ステップS303に戻る。特徴点の対応数が5点以上であれば(ステップS310;No)、Two−view Structure from Motion法を用いることで、二つの画像間の姿勢(それぞれの画像を取得した位置の差分(並進ベクトルt)及び向きの差分(回転行列R))を推定することができる(ステップS311)。   If the frame counter N is not 0 (step S308; No), it is known that two images have been acquired, and the position estimating unit 13 determines the correspondence of the 2D feature points between these two images (the same point in the real environment). Exist in each image, and the correspondence can be obtained) (step S309). Here, if the number of corresponding feature points is less than 5, the orientation between two images described later cannot be estimated, so the position estimating unit 13 determines whether the number of corresponding feature points is less than 5 (step S310). . If it is less than 5 (Step S310; Yes), the process returns to Step S303 to reacquire the initial image. If the number of corresponding feature points is 5 or more (Step S310; No), the posture between the two images (the difference between the positions at which each image was obtained (translation vector) is determined by using the two-view structure from motion method. t) and the difference in orientation (rotation matrix R)) can be estimated (step S311).

この推定は具体的には、対応する特徴点から基礎行列Eを求め、基礎行列Eを並進ベクトルtと回転行列Rとに分解することによって得られるが、詳細はここでは割愛する。なお、ここで得られる並進ベクトルt(3次元空間内で移動することを想定すると、最初の画像を取得した位置を原点として、X,Y,Zの3要素を持つ)の各要素の値は実環境上での値とは異なる(Two−view Structure from Motion法では実環境上のスケール自体を得ることはできず、実環境と相似する空間上での値を得ることになる。)ため、これらをSLAM空間上での値とみなし、以下ではSLAM空間上での座標(SLAM座標)を用いて説明する。   Specifically, this estimation is obtained by obtaining a fundamental matrix E from corresponding feature points and decomposing the fundamental matrix E into a translation vector t and a rotation matrix R, but details are omitted here. Note that the value of each element of the translation vector t obtained here (assuming that it moves in a three-dimensional space, having three elements of X, Y, and Z with the origin at the position where the first image was obtained) is Since the value is different from the value in the real environment (the two-view structure from motion method cannot obtain the scale itself in the real environment, but obtains the value in a space similar to the real environment). These are regarded as values on the SLAM space, and the following description will be made using the coordinates on the SLAM space (SLAM coordinates).

二つの画像間の姿勢(並進ベクトルt及び回転行列R)が求まると、その値は、最初の画像を基準(最初の画像を取得した位置をSLAM座標の原点、並進ベクトルは0ベクトル、回転行列は単位行列Iとする。)にした場合の、二枚目の画像の姿勢(二つ目の画像を取得した時の自機の位置(並進ベクトルt)及び向き(回転行列R))となる。ここで、二つの画像それぞれの姿勢(該画像(フレーム)撮影時の自機の位置(並進ベクトルt)及び向き(回転行列R)で、フレーム姿勢とも言う。)が求まっている場合、その二つの画像間で対応が取れている2D特徴点(対応特徴点)のSLAM座標での3D位置を、以下の考え方に基づき、地図作成部12が求める(ステップS312)。   Once the orientation between the two images (translation vector t and rotation matrix R) is determined, the values are based on the first image (the position where the first image was obtained is the origin of the SLAM coordinates, the translation vector is the zero vector, the rotation matrix Is the unit matrix I), the attitude of the second image (the position (translation vector t) and orientation (rotation matrix R) of the own device when the second image is obtained). . Here, when the posture of each of the two images (the position (translation vector t) and direction (rotation matrix R) of the own device at the time of photographing the image (frame) is also referred to as the frame posture) is obtained. The 3D position of the 2D feature point (corresponding feature point) corresponding to the two images in the SLAM coordinates is obtained by the map creating unit 12 based on the following concept (step S312).

2D特徴点の画像中の座標(フレーム座標:既知)を(u,v)とし、その2D特徴点のSLAM座標での3D位置(未知)を(X,Y,Z)とすると、これらを同次座標で表したときのこれらの関係は、透視投影行列Pを用いて下記の式(1)で表される。ここで、「〜」記号は「非零の定数倍を除いて等しい」(つまり、等しいか又は定数(非零)倍になっている)ことを表し、「’」記号は「転置」を表す。
(u v 1)’〜P(X Y Z 1)’…(1)
Assuming that the coordinates (frame coordinates: known) of the 2D feature point in the image are (u, v) and the 3D position (unknown) of the 2D feature point in SLAM coordinates is (X, Y, Z), these are the same. These relationships when expressed by the next coordinate are expressed by the following equation (1) using the perspective projection matrix P. Here, the symbol "~" means "equal except for a non-constant multiple" (that is, it is equal or has been multiplied by a constant (non-zero)), and the "'" symbol means "transpose". .
(Uv1) '-P (XYZ1)' ... (1)

上記の式(1)において、Pは3×4の行列で、カメラの内部パラメータを示す3×3の行列Aと、その画像の姿勢(フレーム姿勢)を示す外部パラメータR及びtから以下の式(2)で表される。ここで、(R|t)は、回転行列Rの右に並進列ベクトルtを並べた行列を表す。
P=A(R|t)…(2)
In the above equation (1), P is a 3 × 4 matrix, and the following equation is obtained from a 3 × 3 matrix A indicating internal parameters of the camera and external parameters R and t indicating the attitude (frame attitude) of the image. It is represented by (2). Here, (R | t) represents a matrix in which the translation column vector t is arranged on the right of the rotation matrix R.
P = A (R | t) (2)

上記の式(2)において、R及びtは上述したようにそのフレーム姿勢として求められている。また、カメラの内部パラメータAは、焦点距離と撮像素子サイズにより決まるので、撮像部33を決めておけば定数となる。   In the above equation (2), R and t are obtained as the frame attitude as described above. Further, since the internal parameter A of the camera is determined by the focal length and the size of the imaging element, it is a constant if the imaging unit 33 is determined.

二つの画像間で対応が取れている2D特徴点のうちの一つが、一つ目の画像のフレーム座標(u,v)と、二つ目の画像のフレーム座標(u,v)に写っているとすると、以下の式(3)及び式(4)ができる。ここで、Iは単位行列、0はゼロベクトル、(L|r)は、行列Lの右に列ベクトルrを並べた行列を表す。
(u 1)’〜A(I|0)(X Y Z 1)’…(3)
(u 1)’〜A(R|t)(X Y Z 1)’…(4)
One of the 2D feature points corresponding between the two images is a frame coordinate (u 1 , v 1 ) of the first image and a frame coordinate (u 2 , v 2 ) of the second image. ), The following equations (3) and (4) are obtained. Here, I is a unit matrix, 0 is a zero vector, and (L | r) represents a matrix in which a column vector r is arranged to the right of the matrix L.
(U 1 v 11 1) ′ to A (I | 0) (XYZ 1) ′ (3)
(U 2 v 2 1) ′ to A (R | t) (XYZ 1) ′ (4)

上記の式(3)及び式(4)において、u,v,u,vそれぞれについての式ができるため、式は4つできるが、未知数はX,Y,Zの3つなので、X,Y,Zを求めることができ、これがその2D特徴点のSLAM座標における3D位置となる。なお、式の個数の方が未知数の個数よりも多いため、例えばu,v,uで求めたX,Y,Zとu,v,vで求めたX,Y,Zとが異なる場合がありうる。このような場合は、過剰条件の連立一次方程式となり、一般には解が存在しないが、地図作成部12は、最小二乗法を用いて、最も確からしいX,Y,Zを求める。 In the above equations (3) and (4), equations can be formed for each of u 1 , v 1 , u 2 , and v 2, so that four equations can be obtained. However, since there are three unknowns, X, Y, and Z, , X, Y, and Z, which are the 3D positions of the 2D feature points in the SLAM coordinates. Since the number of equations is larger than the number of unknowns, for example, X, Y, Z determined by u 1 , v 1 , u 2 and X, Y, Z determined by u 1 , v 1 , v 2 May be different. In such a case, the system becomes a simultaneous linear equation with an excess condition, and generally there is no solution. However, the mapping unit 12 obtains the most probable X, Y, and Z using the least squares method.

2D特徴点のSLAM座標における3D位置(X,Y,Z)が求まったら、それをMap点として、地図作成部12がMap点データベース(Map点DBとも言い、地図記憶部22に格納される)に登録する(ステップS313)。Map点データベースに登録する要素としては、少なくとも、「2D特徴点のSLAM座標における3D位置であるX,Y,Z」と、「その2D特徴点の特徴量」(例えばSIFT等で得た特徴量)が必要である。「タイムスタンプ」(後述するキーフレームカウンタNKF(現在のキーフレーム番号を表す変数)のMap点データベースへの登録時点での値等)をMap点データベースへの登録要素に追加しておくと、Map点データベースを編集(過去の状態に戻す等)する際に便利である。   When the 3D position (X, Y, Z) of the 2D feature point in the SLAM coordinates is determined, the map creating unit 12 sets the 3D position (X, Y, Z) as a map point, and stores the map point database (also referred to as a map point DB and stored in the map storage unit 22). (Step S313). As elements to be registered in the Map point database, at least “X, Y, and Z, which are 3D positions of SLAM coordinates of 2D feature points” and “feature amounts of the 2D feature points” (for example, feature amounts obtained by SIFT or the like) )is necessary. If a “time stamp” (such as the value of a key frame counter NKF (variable representing the current key frame number) described later at the time of registration in the Map point database) is added to the elements registered in the Map point database, Map This is convenient when editing the point database (for example, returning to a past state).

そして、地図作成部12は、二つの画像間で対応が取れている2D特徴点(対応特徴点)の全てをMap点データベースに登録したかを判定し(ステップS314)、まだ全ての登録ができていなかったら(ステップS314;No)ステップS312に戻り、全て登録できたら(ステップS314;Yes)ステップS315に進む。   Then, the map creating unit 12 determines whether all the 2D feature points (corresponding feature points) corresponding between the two images have been registered in the Map point database (step S314), and all the registrations are still possible. If not (step S314; No), the process returns to step S312, and if all registrations have been completed (step S314; Yes), the process proceeds to step S315.

次に位置推定部13は、キーフレーム(後に続くスレッドでの処理対象となる画像を指す)のカウンタNKFを0に初期化し(ステップS315)、二つ目の画像をキーフレームとしてフレームデータベース(フレームDBとも言い、画像記憶部21に格納される)に登録する(ステップS316)。   Next, the position estimating unit 13 initializes a counter NKF of a key frame (indicating an image to be processed in a subsequent thread) to 0 (step S315), and sets the second image as a key frame in a frame database (frame DB (also stored in the image storage unit 21) (step S316).

フレームデータベースに登録する要素は、「キーフレーム番号」(登録時点でのキーフレームカウンタNKFの値)、「姿勢」(その画像撮影時の自機のSLAM座標内での位置(並進ベクトルt)及び向き(回転行列R))、「オドメトリで計測した実環境上での姿勢」(実環境での駆動部32による移動距離に基づいて求められる自機の位置及び向き)、「抽出した全ての2D特徴点」、「全ての2D特徴点の中でMap点として3D位置が既知の点」、「キーフレーム自体の特徴」、である。   The elements to be registered in the frame database are “key frame number” (the value of the key frame counter NKF at the time of registration), “posture” (position in the SLAM coordinates (translation vector t) of the own device at the time of capturing the image, and Orientation (rotation matrix R)), "posture in the real environment measured by odometry" (position and orientation of the own device obtained based on the moving distance by the drive unit 32 in the real environment), "all extracted 2D A feature point, a point whose 3D position is known as a Map point among all 2D feature points, and a feature of the key frame itself.

上記中、「オドメトリで計測した実環境上での姿勢」は、並進ベクトルtと回転行列Rとで表すこともできるが、通常、本自律移動装置100は2次元平面上を動くので、2次元データに単純化して、移動開始時の位置(原点)及び向きを基準にした2次元座標(X,Y)及び向きφとして表しても良い。また、「キーフレーム自体の特徴」とは、キーフレーム間の画像類似度を求める処理を効率化するためのデータであり、通常は画像中の2D特徴点のヒストグラム等を用いるのが良いが、画像自体を「キーフレーム自体の特徴」としても良い。   In the above, the “posture in the real environment measured by odometry” can be expressed by a translation vector t and a rotation matrix R. However, since the autonomous mobile device 100 normally moves on a two-dimensional plane, The data may be simplified and expressed as two-dimensional coordinates (X, Y) and a direction φ based on the position (origin) and the direction at the start of the movement. The “feature of the key frame itself” is data for increasing the efficiency of the process of obtaining the image similarity between key frames, and it is usually preferable to use a histogram of 2D feature points in an image, The image itself may be used as “the characteristic of the key frame itself”.

次に、位置推定部13は、キーフレームが生成された事を地図作成スレッドに知らせるために、地図作成スレッドのキーフレームキュー(キュー(Queue)は、先入れ先出しのデータ構造になっている)に、キーフレームカウンタNKFをセットする(ステップS317)。   Next, the position estimating unit 13 stores a key frame queue (Queue has a first-in first-out data structure) in a key frame queue of the map creation thread in order to notify the map creation thread that the key frame has been generated. The key frame counter NKF is set (step S317).

以上で自機位置推定スレッドの初期化処理が完了したので、位置推定部13は、初期化済フラグをセットする(ステップS318)。   Since the initialization process of the own-device position estimation thread has been completed, the position estimation unit 13 sets the initialization completed flag (step S318).

そして、位置推定部13は、SLAM座標と実環境座標とのスケール対応を得るために、オドメトリによる並進距離(実環境での座標で求められる)を、上記の処理で推定したSLAM座標での並進距離dで除することによって、スケールSを求める(ステップS319)。   Then, the position estimating unit 13 calculates the translation distance by the odometry (determined by the coordinates in the real environment) in the SLAM coordinates estimated by the above processing in order to obtain the scale correspondence between the SLAM coordinates and the real environment coordinates. The scale S is obtained by dividing by the distance d (step S319).

次に、位置推定部13は、ステップS301、ステップS302を経由して、初期化済の場合の処理であるステップS321へ進む。   Next, the position estimating unit 13 proceeds to step S321 via step S301 and step S302, which is processing when initialization has been completed.

初期化済の場合の処理を説明する。この処理が、自機位置推定スレッドの通常時の処理であり、逐次現在の自律移動装置100の位置及び向き(SLAM座標内での並進ベクトルtと回転行列R)を推定する処理である。   The processing when the initialization has been completed will be described. This process is a normal process of the own device position estimation thread, and is a process of sequentially estimating the current position and orientation of the autonomous mobile device 100 (the translation vector t and the rotation matrix R in the SLAM coordinates).

位置推定部13は、撮像部33で画像を撮影し(ステップS321)、フレームカウンタNをインクリメントする(ステップS322)。そして、撮影した画像に含まれている2D特徴点を取得する(ステップS323)。次に、フレームデータベースに登録されている以前のキーフレーム(例えばキーフレーム番号がNKFである画像)の情報から、その画像の情報に含まれている2D特徴点のうち、3D位置が既知である(Map点データベースに登録されているMap点になっている)2D特徴点を取得し、今撮影した画像との間で対応が取れる2D特徴点(対応特徴点)を抽出する(ステップS324)。   The position estimating unit 13 captures an image with the image capturing unit 33 (Step S321), and increments the frame counter N (Step S322). Then, 2D feature points included in the captured image are obtained (step S323). Next, from information of a previous key frame (for example, an image whose key frame number is NKF) registered in the frame database, a 3D position of a 2D feature point included in the information of the image is known. A 2D feature point (which is a Map point registered in the Map point database) is acquired, and a 2D feature point (corresponding feature point) that can be associated with the currently captured image is extracted (step S324).

そして、位置推定部13は、対応特徴点の個数が基準対応特徴点数(例えば10)未満かどうかを判定し(ステップS325)、基準対応特徴点数未満の場合(ステップS325;Yes)はSLAM法で推定する姿勢の精度が悪くなる(Visual SLAM制御の失敗となる)ので、位置の推定は行わずにステップS321での画像の取得に戻る。ここで、すぐにステップS321に戻るのではなく、ステップS324に戻って、フレームデータベースに登録されているキーフレームの中から対応特徴点の個数が基準対応特徴点数以上のものを検索するようにしても良い。この場合は、フレームデータベースに登録されているキーフレームの中に対応特徴点の個数が基準対応特徴点数以上のものが見つからなかった場合にステップS321に戻る。   Then, the position estimating unit 13 determines whether the number of corresponding feature points is less than the number of reference corresponding feature points (for example, 10) (step S325). If the number is less than the number of corresponding reference feature points (step S325; Yes), the SLAM method is used. Since the accuracy of the estimated posture deteriorates (visual SLAM control fails), the process returns to step S321 without acquiring the position. Here, instead of immediately returning to step S321, the process returns to step S324 to search for a key frame registered in the frame database for a key frame whose number of corresponding feature points is equal to or greater than the reference corresponding feature point. Is also good. In this case, the process returns to step S321 if no key frame registered in the frame database has a corresponding feature point number equal to or greater than the reference corresponding feature point number.

位置推定部13は、基準対応特徴点数以上の対応特徴点が抽出できたら(ステップS325;No)、対応特徴点それぞれの3D位置(X,Y,Z)をMap点データベースから取得する(ステップS326)。今撮影した画像に含まれている対応特徴点のフレーム座標を(u,v)とし、その対応特徴点の3D位置を(X,Y,Z)とする(iは1から対応特徴点数までの値を取る)と、各対応特徴点の3D位置(X,Y,Z)を以下の式(5)によってフレーム座標系に投影した値(ux,vx)とフレーム座標(u,v)とは理想的には一致するはずである。
(ux vx 1)’〜A(R|t)(X 1)’…(5)
Position estimating unit 13, When you extracted reference corresponding feature points or more corresponding feature points (step S325; No), and acquires the respective 3D positions corresponding feature point (X i, Y i, Z i) from the Map point database (Step S326). Now captured frame coordinates (u i, v i) of the corresponding feature point included in the image and then, its 3D position of the corresponding feature point (X i, Y i, Z i) to (i is from 1 corresponds characterized takes a value up to the number), 3D position (X i of each corresponding feature point, Y i, the value obtained by projecting the frame coordinate system by Z i) the following equation (5) (ux i, vx i) And the frame coordinates (u i , v i ) should ideally match.
(Ux i vx i 1) ′-A (R | t) (X i Y i Z i 1) ′ (5)

実際には(X,Y,Z)にも(u,v)にも誤差が含まれているため、(ux,vx)と(u,v)とが一致することはめったにない。そして、未知数はRとt(3次元空間ではそれぞれ3次元となり、3+3=6が未知数の個数である)だけなのに、数式は対応特徴点の個数の2倍存在する(対応特徴点一つに対して、フレーム座標のu,vそれぞれに対する式が存在するため)ことになるため、過剰条件の連立一次方程式になり、上述したように最小二乗法で求めることになる。具体的には、位置推定部13は、以下の式(6)のコスト関数E1を最小化する姿勢(並進ベクトルt及び回転行列R)を求めることになる。これがSLAM法で求めたSLAM座標での自律移動装置100の姿勢(並進ベクトルt及び回転行列Rで表される自律移動装置100の位置及び向き)となる。このようにして、位置推定部13は自律移動装置100の姿勢を推定する(ステップS327)。 In practice (X i, Y i, Z i) because they also contain error in (u i, v i), (ux i, vx i) and (u i, v i) and are consistent I rarely do. Although the unknowns are only R and t (three-dimensional in a three-dimensional space, and 3 + 3 = 6 is the number of unknowns), the mathematical expression is twice as many as the number of corresponding feature points (for one corresponding feature point). Therefore, since there is an equation for each of u and v of the frame coordinates), it becomes a simultaneous linear equation with excess conditions, and is obtained by the least square method as described above. Specifically, the position estimating unit 13 obtains an orientation (translation vector t and rotation matrix R) that minimizes the cost function E1 of the following equation (6). This is the attitude of the autonomous mobile device 100 at the SLAM coordinates obtained by the SLAM method (the position and orientation of the autonomous mobile device 100 represented by the translation vector t and the rotation matrix R). Thus, the position estimating unit 13 estimates the attitude of the autonomous mobile device 100 (Step S327).

Figure 2020027443
Figure 2020027443

SLAM座標での現在の自律移動装置100の姿勢(並進ベクトルt及び回転行列R)が求められたので、位置推定部13は、これにスケールSを乗算することで、VO(ビジュアルオドメトリ)を求める(ステップS328)。VOは実環境での自律移動装置100の位置及び向きとして利用できる。   Since the current attitude (translation vector t and rotation matrix R) of the autonomous mobile device 100 in the SLAM coordinates has been obtained, the position estimating unit 13 multiplies this by the scale S to obtain VO (visual odometry). (Step S328). The VO can be used as the position and orientation of the autonomous mobile device 100 in a real environment.

次に、位置推定部13は、フレームDBに登録されている直前のキーフレーム(キーフレーム番号がNKFである画像)を撮影した時の自律移動装置100の位置から基準並進距離(例えば1m)以上移動しているかを判定し(ステップS329)、移動しているなら(ステップS329;Yes)キーフレームカウンタNKFをインクリメントしてから(ステップS330)、現フレームをキーフレームとしてフレームDBに登録する(ステップS331)。基準並進距離未満しか移動していないなら(ステップS329;No)ステップS301に戻る。   Next, the position estimating unit 13 is at least a reference translation distance (for example, 1 m) from the position of the autonomous mobile device 100 when the immediately preceding key frame (image whose key frame number is NKF) registered in the frame DB is captured. It is determined whether it is moving (step S329), and if it is moving (step S329; Yes), the key frame counter NKF is incremented (step S330), and the current frame is registered as a key frame in the frame DB (step S329). S331). If it has moved less than the reference translation distance (Step S329; No), the process returns to Step S301.

ここで、基準並進距離と比較する自律移動装置100の移動距離は、直前のキーフレームから現フレームまでの並進距離(両フレームの並進ベクトルの差のベクトルの絶対値(要素の二乗和の平方根))をオドメトリから取得しても良いし、上述したVO(ビジュアルオドメトリ)から求めても良い。フレームDBに登録する内容は上述したように、「キーフレーム番号」、「姿勢」、「オドメトリで計測した実環境上での姿勢」、「抽出した全ての2D特徴点」、「全ての2D特徴点の中でMap点として3D位置が既知の点」、「キーフレーム自体の特徴」、である。   Here, the movement distance of the autonomous mobile device 100 to be compared with the reference translation distance is the translation distance from the immediately preceding key frame to the current frame (the absolute value of the difference vector between the translation vectors of both frames (the square root of the sum of squares of elements)). ) May be obtained from odometry, or may be obtained from VO (visual odometry) described above. As described above, the contents to be registered in the frame DB are “key frame number”, “posture”, “posture in the real environment measured by odometry”, “all extracted 2D feature points”, “all 2D feature points”. Among the points, a point whose 3D position is known as a Map point "and" a characteristic of the key frame itself ".

そして、位置推定部13は、新たなキーフレームが発生したことを地図作成スレッドに知らせるために、地図作成スレッドのキーフレームキューにキーフレームカウンタNKFをセットする(ステップS332)。そして、ステップS301に戻る。なお、キーフレームカウンタNKF、スケールS、Map点DB、フレームDBはスレッドをまたいで値を参照することができるように記憶部20に記憶されている。   Then, the position estimating unit 13 sets the key frame counter NKF in the key frame queue of the map creating thread to notify the map creating thread that a new key frame has occurred (step S332). Then, the process returns to step S301. The key frame counter NKF, scale S, Map point DB, and frame DB are stored in the storage unit 20 so that values can be referred to across threads.

なお、基準並進距離を自律移動装置100が並進する間に、ステップS325のVisual SLAM制御の失敗回数を、ステップS325に到達した回数で割ることによりVisual SLAM制御の失敗率を算定し、この失敗率が基準失敗率(例えば50パーセント)より高い場合、後述する撮像部33のレンズが汚れている、と判定しても良い。レンズが汚れていることにより、対応特徴点を正しく取得できていないと考えられるからである。   While the autonomous mobile device 100 translates the reference translation distance, the failure rate of the Visual SLAM control is calculated by dividing the number of failures of the Visual SLAM control in step S325 by the number of times the step S325 is reached. Is higher than the reference failure rate (for example, 50%), it may be determined that a lens of the imaging unit 33 described later is dirty. This is because it is considered that the corresponding feature point cannot be correctly acquired because the lens is dirty.

以上、自機位置推定処理について説明した。次に、自機位置推定、環境地図生成スレッド(図7)のステップS201で実行される環境地図生成処理について、図9を用いて説明する。この処理では地図作成部12が、キーフレーム中の対応特徴点の3D位置を計算して、地図の情報(Map点DB)を作成している。   The self-position estimation process has been described above. Next, the environment map generation process executed in step S201 of the own device position estimation and environment map generation thread (FIG. 7) will be described with reference to FIG. In this process, the map creator 12 calculates the 3D position of the corresponding feature point in the key frame and creates map information (Map point DB).

まず、地図作成部12は、動作終了かを判定する(ステップS401)。動作終了なら(ステップS401;Yes)終了し、動作終了でないなら(ステップS401;No)、キーフレームキューが空かどうかを判定する(ステップS402)。キーフレームキューが空だったら(ステップS402;Yes)ステップS401に戻り、空でなければ(ステップS402;No)、キーフレームキューからデータを取り出してMKF(地図作成スレッドで処理するキーフレームのキーフレーム番号を表す変数)にセットする(ステップS403)。地図作成部12は、MKFが0より大きいか判定し(ステップS404)、MKFが0である場合は(ステップS404;No)ステップS401に戻ってキーフレームキューにデータが入るのを待つ。MKFが1以上の場合は(ステップS404;Yes)、以下の処理に進む。   First, the map creating unit 12 determines whether the operation has been completed (step S401). If the operation is completed (Step S401; Yes), the operation is completed. If the operation is not completed (Step S401; No), it is determined whether the key frame queue is empty (Step S402). If the key frame queue is empty (step S402; Yes), the process returns to step S401. If the key frame queue is not empty (step S402; No), the data is taken out from the key frame queue and the key frame of the key frame processed by the MKF (map creation thread). (A variable representing a number) (step S403). The map creation unit 12 determines whether MKF is greater than 0 (step S404), and if MKF is 0 (step S404; No), returns to step S401 and waits for data to enter the key frame queue. If the MKF is 1 or more (step S404; Yes), the process proceeds to the following process.

地図作成部12は、フレームDBを参照し、前キーフレーム(キーフレーム番号がMKF−1のキーフレーム)の2D特徴点と現キーフレーム(キーフレーム番号がMKFのキーフレーム)の2D特徴点とで対応が取れる2D特徴点(対応特徴点)を抽出する(ステップS405)。フレームDBにはそれぞれのキーフレームの姿勢(並進ベクトルtと回転行列R)も登録されているので、自己位置推定処理の初期化時の処理の時と同様の方法で対応特徴点の3D位置を計算できる。地図作成部12は、3D位置が計算できた対応特徴点をMap点としてMap点DBに登録する(ステップS406)。地図作成部12は、フレームDBに対しても今回3D位置を計算できた2D特徴点に対して3D位置を登録する(ステップS407)。   The map creating unit 12 refers to the frame DB, and determines the 2D feature point of the previous key frame (key frame number of which is MKF-1) and the 2D feature point of the current key frame (key frame number of which is MKF). Then, 2D feature points (corresponding feature points) that can be corresponded are extracted (step S405). Since the orientation (translation vector t and rotation matrix R) of each key frame is also registered in the frame DB, the 3D position of the corresponding feature point can be determined in the same manner as in the initialization process of the self-position estimation process. Can be calculated. The map creating unit 12 registers the corresponding feature point for which the 3D position has been calculated as a Map point in the Map point DB (Step S406). The map creating unit 12 registers the 3D position for the 2D feature point for which the 3D position was calculated this time also for the frame DB (step S407).

なお、地図作成部12が抽出した対応特徴点がすでにMap点DBに登録済だった場合は、3D位置計算をスキップして次の対応特徴点(Map点DBに未登録のもの)に対する処理に進んでも良いし、改めて3D位置計算を行って、Map点DBに登録済の3D位置や、フレームDB中の対応特徴点に対する3D位置を更新するようにしても良い。   If the corresponding feature point extracted by the map creation unit 12 has already been registered in the Map point DB, the 3D position calculation is skipped and the processing for the next corresponding feature point (one not registered in the Map point DB) is performed. The process may proceed, or the 3D position calculation may be performed again to update the 3D position registered in the Map point DB or the 3D position with respect to the corresponding feature point in the frame DB.

次に、地図作成部12は、キーフレームキューが空かどうかを判定する(ステップS408)。空であれば(ステップS408;Yes)、全キーフレームの姿勢と全Map点の3D位置に対して、バンドルアジャストメント処理を行って、精度向上を図ってから(ステップS409)ステップS401に戻る。キーフレームキューが空でなければ(ステップS408;No)ステップS401に戻る。   Next, the map creation unit 12 determines whether the key frame queue is empty (Step S408). If it is empty (Step S408; Yes), the bundle adjustment process is performed on the postures of all key frames and the 3D positions of all Map points to improve the accuracy (Step S409), and the process returns to Step S401. If the key frame queue is not empty (step S408; No), the process returns to step S401.

なお、バンドルアジャストメント処理とは、カメラ姿勢(キーフレーム姿勢)とMap点の3D位置とを同時に推定する非線形最適化法であり、Map点をキーフレーム上に投影させたときに発生する誤差が最小になるような最適化を行うものである。   Note that the bundle adjustment process is a nonlinear optimization method for simultaneously estimating the camera posture (key frame posture) and the 3D position of the Map point, and an error generated when the Map point is projected on the key frame. This is to perform optimization so as to minimize it.

このバンドルアジャストメントの処理を行うことで、キーフレーム姿勢とMap点の3D位置の精度向上を図ることができる。しかし、この処理を行わなくても精度向上が図れないだけで特別問題が発生するわけではない。したがって、他の処理がない状態のとき(例えば、キーフレームキューが空の状態)であっても、この処理を毎回行う必要はない。   By performing the bundle adjustment process, it is possible to improve the accuracy of the key frame posture and the 3D position of the Map point. However, even if this process is not performed, the accuracy cannot be improved, but no special problem occurs. Therefore, even when there is no other processing (for example, the key frame queue is empty), it is not necessary to perform this processing every time.

また、バンドルアジャストメントの処理を行うと、キーフレーム上に投影させたときの誤差が所定の値よりも大きいMap点が見つかることがある。このような誤差の大きなMap点については、SLAM推定に悪影響を及ぼすため、Map点DB及びフレームDBから削除したり、誤差の大きな注意を要するMap点であることを識別するためのフラグを立てておいたりしても良い。なお、バンドルアジャストメントの処理は本実施形態においてはオプション的な扱いになるため、ここでは処理の詳細については省略する。   In addition, when the bundle adjustment process is performed, a Map point where an error when projected onto a key frame is larger than a predetermined value may be found. Since such a Map point having a large error has a bad influence on the SLAM estimation, it is deleted from the Map point DB and the frame DB, or a flag is set for identifying a Map point that requires a great deal of attention. You may leave it. Note that the processing of the bundle adjustment is optional in the present embodiment, and thus the details of the processing are omitted here.

次に、自機位置推定、環境地図生成スレッド(図7)のステップS203で実行されるDBを生成1の処理について、図10を用いて説明する。この処理では撮像部33で撮像した物体の境界等が写る画像から、画像情報取扱部16が、画像先鋭度値を計算して、画像を撮像した時の自律移動装置100の姿勢(3次元の位置及び3次元の回転)と、画像を撮像した時刻とともに1つの情報Gとして生成し、情報記憶部23に保存されている情報Gの姿勢に近い姿勢で撮像された画像から得られた情報G0の画像先鋭度値と情報Gの画像先鋭度値とを比較し、画像先鋭度値が高い情報を情報記憶部23に保存する。   Next, the process of generating the DB 1 executed in step S203 of the self-location estimation and environment map generation thread (FIG. 7) will be described with reference to FIG. In this process, the image information handling unit 16 calculates an image sharpness value from an image in which the boundary of the object captured by the image capturing unit 33 is captured, and sets the attitude of the autonomous mobile device 100 when capturing the image (three-dimensional image). Information G0, which is generated together with the position and three-dimensional rotation) and the time at which the image was captured, as one piece of information G, and is obtained from an image captured in an attitude close to the attitude of the information G stored in the information storage unit 23. The information sharpness value is compared with the image sharpness value of the information G, and information having a high image sharpness value is stored in the information storage unit 23.

まず、画像情報取扱部16は、行動計画アプリ等から情報記憶部23内にある画像先鋭度値データベースDBをクリアするように指示があるか否かを判定する(ステップS501)。クリアするように指示があるなら(ステップS501;Yes)画像先鋭度値データベースDBをクリアし(ステップS502)、クリアするように指示がないなら(ステップS501;No)、ステップS503に進む。画像先鋭度値データベースDBをクリアするのは、撮像部33のレンズが清掃されたと推定される時である。画像先鋭度値データベースDBをクリアする指示は、例えば、自律移動装置100に備えられたスイッチ(図示せず)をレンズ清掃後にユーザが押すことであっても良いし、自律移動装置100がユーザと音声対話等によってレンズ清掃の確認ができたことであっても良い。   First, the image information handling unit 16 determines whether there is an instruction from the action plan application or the like to clear the image sharpness value database DB in the information storage unit 23 (Step S501). If there is an instruction to clear (step S501; Yes), the image sharpness value database DB is cleared (step S502). If there is no instruction to clear (step S501; No), the process proceeds to step S503. The image sharpness value database DB is cleared when it is estimated that the lens of the imaging unit 33 has been cleaned. The instruction to clear the image sharpness value database DB may be, for example, that the user presses a switch (not shown) provided on the autonomous mobile device 100 after cleaning the lens, or the autonomous mobile device 100 may communicate with the user. It may be that the lens cleaning has been confirmed by voice conversation or the like.

ステップS503では、画像情報取扱部16は、ステップS202で自機位置推定処理時等に取得した画像に対して以下の式(7)に示す4近傍のラプラシアンオペレータの畳み込み処理を行った後、分散を取り、画像先鋭度値とする。   In step S503, the image information handling unit 16 performs the convolution process of the Laplacian operator of four neighbors shown in the following equation (7) on the image acquired in the local position estimation process in step S202 and the like, Is taken as an image sharpness value.

Figure 2020027443
Figure 2020027443

次に、画像情報取扱部16は、ステップS202で自機位置推定処理時に計算した自律移動装置100の姿勢を、画像先鋭度値が算出された画像が撮像された時の姿勢とし、この姿勢と、この画像が撮像された時刻と、画像先鋭度値とをひとまとめにして、情報Gとする(ステップS504)。   Next, the image information handling unit 16 sets the attitude of the autonomous mobile device 100 calculated at the time of the own device position estimation processing in step S202 as the attitude when the image for which the image sharpness value was calculated was captured, and Then, the time at which this image was captured and the image sharpness value are combined into information G (step S504).

画像情報取扱部16は、画像先鋭度値データベースDB内に、情報Gの姿勢と所定の誤差TH0の範囲内の姿勢である情報があるかどうかを検索する(ステップS505)。所定の誤差TH0の範囲内の姿勢である情報があった場合(ステップS505;Yes)、その情報を情報G0として取り出し、無かった場合(ステップS505;No)、ステップS508へ進む。なお、所定の誤差TH0の範囲内の姿勢の情報が複数ある場合には、1番画像先鋭度値が大きいものを選ぶ。姿勢間の距離は、ユークリッド距離を用いる。回転の3次元は、Exponential Map Quaternionを用いることによって、ユークリッド空間で扱うことができる。   The image information handling unit 16 searches whether or not there is information in the image sharpness value database DB that has the attitude of the information G and the attitude within a predetermined error TH0 (step S505). If there is information indicating a posture within the predetermined error TH0 (step S505; Yes), the information is extracted as information G0, and if there is no information (step S505; No), the process proceeds to step S508. If there is a plurality of pieces of posture information within the range of the predetermined error TH0, the one with the largest image sharpness value is selected. The Euclidean distance is used as the distance between the postures. The three-dimensional rotation can be handled in Euclidean space by using the Exponential Map Quaternion.

次に、画像情報取扱部16は、情報Gの画像先鋭度値と情報G0の画像先鋭度値を比較する(ステップS506)。情報Gの画像先鋭度値が情報G0の画像先鋭度値よりも大きい場合(ステップS506;Yes)、画像先鋭度値データベースDB内の情報G0を削除する(ステップS507)。情報Gの画像先鋭度値が情報G0の画像先鋭度値よりも大きくない場合(ステップS506;No)、そのまま終了する。   Next, the image information handling unit 16 compares the image sharpness value of the information G with the image sharpness value of the information G0 (step S506). When the image sharpness value of the information G is larger than the image sharpness value of the information G0 (step S506; Yes), the information G0 in the image sharpness value database DB is deleted (step S507). If the image sharpness value of the information G is not larger than the image sharpness value of the information G0 (step S506; No), the process ends.

ステップS508では、画像情報取扱部16は、画像先鋭度値データベースDBに情報Gを登録し、終了する。   In step S508, the image information handling unit 16 registers the information G in the image sharpness value database DB, and ends.

次に、自機位置推定、環境地図生成スレッド(図7)のステップS204で実行されるレンズ汚れ判定1の処理について、図11を用いて説明する。この処理では、DBを生成1の処理で算定した情報Gの画像先鋭度値と、現時刻から所定の時間T0以前に撮像された過去の画像であって情報Gが撮像された姿勢から所定の誤差TH1内で情報Gの姿勢に1番近い姿勢である情報G1の画像先鋭度値に所定の係数を掛けたものと、を比較することにより、自律移動装置100の撮像部33のレンズの汚れを判定する。   Next, the process of lens dirt determination 1 executed in step S204 of the self-location estimation and environment map generation thread (FIG. 7) will be described with reference to FIG. In this process, a predetermined value is calculated from the image sharpness value of the information G calculated in the process of generating the DB 1 and the posture in which the information G was captured before the predetermined time T0 from the current time. The dirt on the lens of the imaging unit 33 of the autonomous mobile device 100 is compared by multiplying the image sharpness value of the information G1 that is the attitude closest to the information G within the error TH1 by a predetermined coefficient. Is determined.

まず、画像情報取扱部16は、画像先鋭度値データベースDB内に、現時刻より所定の時間T0以前に撮像された物体の境界等が写る画像の情報であって、情報Gの画像が撮像された姿勢からの姿勢距離が所定の誤差(範囲)TH1以下で1番近い姿勢である画像の情報(以下、この情報を情報G1とする)を検索する(ステップS601)。画像先鋭度値データベースDB内に、情報G1が存在する場合(ステップS601;Yes)、ステップS602に進む。画像先鋭度値データベースDB内に、情報G1が存在しない場合(ステップS601;No)、ステップS610に進む。   First, the image information handling unit 16 stores information G in the image sharpness value database DB, which is information of an image in which a boundary or the like of an object captured before a predetermined time T0 from the current time is captured. The information of the image having the closest posture with a posture distance from the posture that is not more than a predetermined error (range) TH1 (hereinafter, this information is referred to as information G1) is searched (step S601). When the information G1 exists in the image sharpness value database DB (Step S601; Yes), the process proceeds to Step S602. When the information G1 does not exist in the image sharpness value database DB (Step S601; No), the process proceeds to Step S610.

ステップS602では、情報G1の画像先鋭度値に1未満の係数THG(先鋭度値が落ちたとみなすためのマージン)を掛けたものと情報Gの画像先鋭度値とを比較する。情報G1の画像先鋭度値に係数THGを掛けたものより情報Gの画像先鋭度値が大きい場合(ステップS602;Yes)、画像先鋭度フラグを1とし、現時刻、情報Gの姿勢とともに画像先鋭度フラグデータベースDBG内に保存し(ステップS603)、ステップS604に進む。情報G1の画像先鋭度値に係数THGを掛けたものより情報Gの画像先鋭度値が大きくない場合(ステップS602;No)、画像先鋭度フラグを0とし、現時刻、情報Gの姿勢とともに画像先鋭度フラグデータベースDBG内に保存し(ステップS609)、ステップS604に進む。   In step S602, the image sharpness value of the information G is compared with a value obtained by multiplying the image sharpness value of the information G1 by a coefficient THG (a margin for considering that the sharpness value has dropped). When the image sharpness value of the information G is larger than the value obtained by multiplying the image sharpness value of the information G1 by the coefficient THG (step S602; Yes), the image sharpness flag is set to 1, and the image sharpness is set together with the current time and the attitude of the information G. It is stored in the degree flag database DBG (step S603), and proceeds to step S604. If the image sharpness value of the information G is not greater than the value obtained by multiplying the image sharpness value of the information G1 by the coefficient THG (step S602; No), the image sharpness flag is set to 0, and the image is displayed together with the current time and the attitude of the information G. It is stored in the sharpness flag database DBG (step S609), and the process proceeds to step S604.

次に、画像情報取扱部16は、画像先鋭度フラグデータベースDBG内の、現時刻より所定の時間T1以上古い情報を削除する(ステップS604)。   Next, the image information handling unit 16 deletes information in the image sharpness flag database DBG that is older than the current time by a predetermined time T1 or more (step S604).

画像情報取扱部16は、画像先鋭度フラグデータベースDBG内に保存されている情報の全回転姿勢がTH3方向をカバーしているかを判定する(ステップS605)。ここで、全回転姿勢がTH3方向をカバーしている、について説明する。例えば、TH3=6であるとする。本来、回転姿勢は3次元で持っているが、通常、自律移動装置100は水平な床面上を移動するので、回転姿勢の移動はYaw角だけの1次元とみなす。TH3=6としているので、360度/6=60度となる。従って、画像先鋭度フラグデータベースDBG内に保存されている情報の回転方向が、60度毎に異なる6方向をカバーしている必要がある。これにより、太陽光や照明の方向によるレンズ汚れの検出精度への影響を小さくすることができる。画像先鋭度フラグデータベースDBG内に保存されている情報の全回転姿勢がTH3方向をカバーしている場合(ステップS605;Yes)、ステップS606に進む。画像先鋭度フラグデータベースDBG内に保存されている情報の全回転姿勢がTH3方向をカバーしてない場合(ステップS605;No)、ステップS610に進む。   The image information handling unit 16 determines whether or not all the rotation postures of the information stored in the image sharpness flag database DBG cover the TH3 direction (step S605). Here, a description will be given of the case where the full rotation posture covers the TH3 direction. For example, assume that TH3 = 6. Although the rotation posture is originally three-dimensional, the autonomous mobile device 100 normally moves on a horizontal floor, so that the movement of the rotation posture is regarded as one-dimensional only for the Yaw angle. Since TH3 = 6, 360 degrees / 6 = 60 degrees. Therefore, it is necessary that the rotation directions of the information stored in the image sharpness flag database DBG cover six different directions every 60 degrees. As a result, it is possible to reduce the influence of the direction of sunlight or illumination on the detection accuracy of lens contamination. When all the rotation postures of the information stored in the image sharpness flag database DBG cover the TH3 direction (Step S605; Yes), the process proceeds to Step S606. If all the rotation postures of the information stored in the image sharpness flag database DBG do not cover the TH3 direction (Step S605; No), the process proceeds to Step S610.

ステップS606では、画像情報取扱部16は、画像先鋭度フラグデータベースDBG内の、画像先鋭度フラグが0である情報の割合Xを算出する。   In step S606, the image information handling unit 16 calculates a ratio X of information in which the image sharpness flag is 0 in the image sharpness flag database DBG.

算出した割合Xが所定の割合TH2より大きい場合(ステップS607;Yes)、自律移動装置100の撮像部33のレンズの汚れがあると判定する(ステップS608)。算出した割合Xが所定の割合TH2より大きくない場合(ステップS607;No)、自律移動装置100の撮像部33のレンズの汚れが不明であると判定する(ステップS610)。なお、ステップS601でNoの場合、ステップS605でNoの場合も、自律移動装置100の撮像部33のレンズの汚れが不明であると判定する(ステップS610)。   If the calculated ratio X is larger than the predetermined ratio TH2 (Step S607; Yes), it is determined that the lens of the imaging unit 33 of the autonomous mobile device 100 is dirty (Step S608). If the calculated ratio X is not greater than the predetermined ratio TH2 (Step S607; No), it is determined that the dirt on the lens of the imaging unit 33 of the autonomous mobile device 100 is unknown (Step S610). It should be noted that also in the case of No in step S601 and in the case of No in step S605, it is determined that the dirt on the lens of the imaging unit 33 of the autonomous mobile device 100 is unknown (step S610).

次に自律移動装置100の起動時処理(図6)のステップS102で起動される移動指示アプリについて、図12を用いて説明する。移動指示アプリは、行動計画アプリに設定された動作モードに応じて、自律移動装置100の移動先を移動スレッドに通知する。動作モードには、自律移動装置100を充電器200に移動させる充電器帰還モード、自律移動装置100をランダムに移動させるお散歩モード及び人とコミュニケーションを取る対話モードがある。他の動作モードを設定しても良い。   Next, the movement instruction application started in step S102 of the startup processing (FIG. 6) of the autonomous mobile device 100 will be described with reference to FIG. The movement instruction application notifies the movement thread of the destination of the autonomous mobile device 100 according to the operation mode set in the action plan application. The operation modes include a charger return mode in which the autonomous mobile device 100 is moved to the charger 200, a walk mode in which the autonomous mobile device 100 is moved at random, and an interactive mode for communicating with a person. Other operation modes may be set.

まず、制御部10は、動作終了かを判定する(ステップS701)。動作終了なら(ステップS701;Yes)終了する。動作終了でないなら(ステップS701;No)動作モードを確認する(ステップS702)。行動計画アプリによって設定された動作モードが、充電器帰還モードならステップS703に進み、お散歩モードならステップS706に進み、対話モードならステップS708に進む。   First, the control unit 10 determines whether the operation is completed (Step S701). If the operation ends (step S701; Yes), the operation ends. If the operation is not completed (Step S701; No), the operation mode is confirmed (Step S702). If the operation mode set by the action plan application is the charger return mode, the process proceeds to step S703. If the operation mode is the walk mode, the process proceeds to step S706. If the operation mode is the interactive mode, the process proceeds to step S708.

動作モードが充電器帰還モードの場合、制御部10は、充電器200を自律移動装置100の目的地に設定するように移動スレッドに通知する(ステップS703)。充電器帰還モードでは、充電器200からの赤外線ビーコンである帰還信号を頼りに自律移動装置100を充電器200に移動させる。ステップS704に進み、制御部10は、レンズ汚れ判定2を行う。レンズ汚れ判定2の詳細については後述する。   When the operation mode is the charger return mode, the control unit 10 notifies the traveling thread to set the charger 200 to the destination of the autonomous mobile device 100 (Step S703). In the charger return mode, the autonomous mobile device 100 is moved to the charger 200 depending on a feedback signal that is an infrared beacon from the charger 200. Proceeding to step S704, the control unit 10 performs lens stain determination 2. The details of the lens dirt determination 2 will be described later.

その後、制御部10は、自律移動装置100が目的地である充電器200に到着したかどうかを判定する(ステップS705)。自律移動装置100が充電器200に到着していれば(ステップS705;Yes)、ステップS701に戻る。自律移動装置100が充電器200に到着していなければ(ステップS705;No)、ステップS704に戻る。   Thereafter, the control unit 10 determines whether the autonomous mobile device 100 has arrived at the charger 200 as the destination (Step S705). If the autonomous mobile device 100 has arrived at the charger 200 (Step S705; Yes), the process returns to Step S701. If the autonomous mobile device 100 has not arrived at the charger 200 (Step S705; No), the process returns to Step S704.

動作モードがお散歩モードの場合、制御部10は、ランダムに目的地を移動スレッドに通知する。なお、目的地は、環境地図内の空いている空間や他のスレッドからの移動要求(例えば、スマホからのマニュアル動作等)等から決定しても良い(ステップS706)。   When the operation mode is the stroll mode, the control unit 10 randomly notifies the travel thread of the destination. The destination may be determined from an empty space in the environment map or a movement request from another thread (for example, a manual operation from a smartphone) or the like (step S706).

所定の時間t経過後、ステップS707に進み、後述する移動スレッドが終了していれば(ステップS707;Yes)、ステップS701に戻る。移動スレッドが終了していなければ(ステップS707;No)、所定の時間t経過後、ステップS707に戻る。   After the elapse of the predetermined time t, the process proceeds to step S707. If the moving thread described below has been completed (step S707; Yes), the process returns to step S701. If the moving thread has not ended (step S707; No), the process returns to step S707 after a predetermined time t has elapsed.

動作モードが対話モードの場合、制御部10は、最新の画像内に顔領域を検出したかどうかを判定する(ステップS708)。画像内に顔領域を検出できれば(ステップS708;Yes)、制御部10は、顔(検出)領域が撮像画像全体に行き渡るような方向に自律移動装置100を移動させるように移動指示を移動スレッドに通知する(ステップS709)。画像内に顔領域を検出できない場合(ステップS708;No)、制御部10は、ランダムに目的地を移動スレッドに通知する、或いは、環境地図内の空いている空間や他のスレッドからの移動要求(例えば、スマホからのマニュアル動作等)等から目的地を決定しても良い(ステップS711)。   If the operation mode is the interactive mode, the control unit 10 determines whether or not a face area has been detected in the latest image (step S708). If the face area can be detected in the image (Step S708; Yes), the control unit 10 sends a movement instruction to the movement thread to move the autonomous mobile device 100 in a direction such that the face (detection) area extends over the entire captured image. Notify (step S709). When the face area cannot be detected in the image (Step S708; No), the control unit 10 notifies the moving thread at random of the destination, or requests the moving from an empty space in the environment map or another thread. The destination may be determined based on, for example, a manual operation from a smartphone or the like (step S711).

ステップS709では、所定の時間t経過後、ステップS710に進み、移動スレッドが終了していれば(ステップS710;Yes)、ステップS701に戻る。移動スレッドが終了していなければ(ステップS710;No)、所定の時間t経過後、ステップS710に戻る。   In step S709, after a predetermined time t has elapsed, the process proceeds to step S710. If the moving thread has ended (step S710; Yes), the process returns to step S701. If the moving thread has not ended (step S710; No), the process returns to step S710 after a predetermined time t has elapsed.

ステップS711では、所定の時間t経過後、ステップS712に進み、移動スレッドが終了していれば(ステップS712;Yes)、ステップS701に戻る。移動スレッドが終了していなければ(ステップS712;No)、所定の時間t経過後、ステップS712に戻る。   In step S711, after a predetermined time t has elapsed, the process proceeds to step S712, and if the moving thread has ended (step S712; Yes), the process returns to step S701. If the moving thread has not ended (step S712; No), the process returns to step S712 after a predetermined time t has elapsed.

次にステップS704で実行されるレンズ汚れ判定処理2について図13を用いて説明する。この処理では、充電器200に戻る途中、充電器200まで所定の距離DISTの地点付近で撮像した画像の画像先鋭度値と、画像先鋭度値データベースDB2に保存されている充電器200まで所定の距離DISTの地点付近で撮像した画像の画像先鋭度値とを比較することにより撮像部33の汚れがあるかを判定する。   Next, the lens dirt determination process 2 executed in step S704 will be described with reference to FIG. In this process, while returning to the charger 200, the image sharpness value of the image captured near the point of the predetermined distance DIST to the charger 200 and the predetermined value to the charger 200 stored in the image sharpness value database DB2. It is determined whether the imaging unit 33 is dirty by comparing the image sharpness value of the image captured near the point of the distance DIST.

まず、画像情報取扱部16は、行動計画アプリ等から情報記憶部23内にある画像先鋭度値データベースDB2をクリアするように指示があるか否かを判定する(ステップS801)。クリアするように指示がある場合(ステップS801;Yes)、画像先鋭度値データベースDB2をクリアし(ステップS802)、クリアするように指示がない場合(ステップS801;No)、ステップS803に進む。画像先鋭度値データベースDB2をクリアするのは、撮像部33のレンズが清掃されたと推定される時である。画像先鋭度値データベースDB2をクリアする指示は、例えば、自律移動装置100に備えられたスイッチをレンズ清掃後にユーザが押すことであっても良いし、自律移動装置100がユーザと音声対話してレンズ清掃の確認ができたことであっても良い。   First, the image information handling unit 16 determines whether there is an instruction from the action plan application or the like to clear the image sharpness value database DB2 in the information storage unit 23 (Step S801). When there is an instruction to clear (step S801; Yes), the image sharpness value database DB2 is cleared (step S802), and when there is no instruction to clear (step S801; No), the process proceeds to step S803. The image sharpness value database DB2 is cleared when it is estimated that the lens of the imaging unit 33 has been cleaned. The instruction to clear the image sharpness value database DB2 may be, for example, that the user presses a switch provided on the autonomous mobile device 100 after cleaning the lens, or that the autonomous mobile device 100 performs voice communication with the user and performs lens communication. It may be that cleaning has been confirmed.

ステップS803では、制御部10は、自律移動装置100が充電器200から帰還信号を受信中であるか及び、自律移動装置100が充電器200からの距離(或いは自律移動装置100の走行距離)が所定の距離DISTから所定の誤差E0の範囲内であるかを障害物センサ43よって判断する。自律移動装置100が充電器200から帰還信号を受信中であり、かつ、自律移動装置100が充電器200からの距離が所定の距離DISTから所定の誤差E0の範囲内である場合(ステップS803;Yes)、制御部10は、撮像部33に物体の境界等が写る画像を撮像させ、画像情報取扱部16に、撮像により取得した画像に対して4近傍のラプラシアンオペレータの畳み込み処理を行わせた後、分散を取らせ、画像先鋭度値を算定させる(ステップS804)。自律移動装置100が充電器200から帰還信号を受信中ではない場合、或いは、自律移動装置100が充電器200からの距離が所定の距離DISTから所定の誤差E0の範囲内でない場合(ステップS803;No)、戻る。   In step S803, the control unit 10 determines whether the autonomous mobile device 100 is receiving a feedback signal from the charger 200, and determines whether the autonomous mobile device 100 is at a distance from the charger 200 (or the travel distance of the autonomous mobile device 100). The obstacle sensor 43 determines whether the distance is within a predetermined error E0 from a predetermined distance DIST. When the autonomous mobile device 100 is receiving a feedback signal from the charger 200 and the distance from the autonomous mobile device 100 to the charger 200 is within a predetermined error E0 from a predetermined distance DIST (step S803; Yes), the control unit 10 causes the image capturing unit 33 to capture an image in which the boundary of the object or the like is captured, and causes the image information handling unit 16 to perform the convolution process of the Laplacian operator in the vicinity of 4 on the image acquired by the image capturing. Thereafter, the variance is calculated, and the image sharpness value is calculated (step S804). If the autonomous mobile device 100 is not receiving a feedback signal from the charger 200, or if the distance from the autonomous mobile device 100 to the charger 200 is not within a range of a predetermined error E0 from a predetermined distance DIST (step S803; No), return.

ステップS805では、画像情報取扱部16は、画像先鋭度値データベースDB2に、過去にステップS804で算出された画像先鋭度値が保存されているかどうかを判定する。画像先鋭度値データベースDB2に、過去にステップS804で算定された画像先鋭度値が保存されている場合(ステップS805;Yes)、画像情報取扱部16は、保存されている画像先鋭度値に1未満の所定の係数THH3を掛けたものとステップS804で算出された画像先鋭度値とを比較する(ステップS806)。画像先鋭度値データベースDB2に、過去にステップS804で算定された画像先鋭度値が保存されていない場合(ステップS805;No)、画像情報取扱部16は、ステップS804で算出された画像先鋭度値を画像先鋭度値データベースDB2に保存し(ステップS809)、戻る。   In step S805, the image information handling unit 16 determines whether or not the image sharpness value calculated in step S804 in the past is stored in the image sharpness value database DB2. If the image sharpness value previously calculated in step S804 is stored in the image sharpness value database DB2 (step S805; Yes), the image information handling unit 16 sets the stored image sharpness value to 1 The image sharpness value calculated in step S804 is compared with a value obtained by multiplying the predetermined value THH3 by less than (step S806). If the image sharpness value calculated in step S804 in the past is not stored in the image sharpness value database DB2 (step S805; No), the image information handling unit 16 sets the image sharpness value calculated in step S804. Is stored in the image sharpness value database DB2 (step S809), and the process returns.

保存されている画像先鋭度値に所定の係数THH3を掛けたものよりステップS804で算出された画像先鋭度値が大きくない場合(ステップS806;No)、画像情報取扱部16は、レンズの汚れがあると判定する。このとき、制御部10は、レンズの汚れがあると行動計画アプリに通知する(ステップS810)。行動計画アプリは、自律移動装置100に対して、ユーザに自律移動装置100の撮像部33のレンズの清掃を促す行動、例えば、レンズの清掃を促す音声又は警告音を発する、を実行するように指示し、戻る。保存されている画像先鋭度値に所定の係数THH3を掛けたものよりステップS804で算出された画像先鋭度値が大きい場合(ステップS806;Yes)、画像情報取扱部16は、保存されている画像先鋭度値よりステップS804で算出された画像先鋭度値が大きいか否かを判定する(ステップS807)。   If the image sharpness value calculated in step S804 is not larger than the value obtained by multiplying the stored image sharpness value by a predetermined coefficient THH3 (step S806; No), the image information handling unit 16 determines that the lens is clean. It is determined that there is. At this time, the control unit 10 notifies the action plan application that the lens is dirty (step S810). The action planning app executes an action for the autonomous mobile device 100 to prompt the user to clean the lens of the imaging unit 33 of the autonomous mobile device 100, for example, to emit a sound or a warning sound to prompt the user to clean the lens. Instruct and return. If the image sharpness value calculated in step S804 is larger than the value obtained by multiplying the stored image sharpness value by a predetermined coefficient THH3 (step S806; Yes), the image information handling unit 16 sets the stored image sharpness value to It is determined whether or not the image sharpness value calculated in step S804 is greater than the sharpness value (step S807).

保存されている画像先鋭度値よりステップS804で算出された画像先鋭度値が大きい場合(ステップS807;Yes)、画像情報取扱部16は、保存されている画像先鋭度値をステップS804で算出された画像先鋭度値に入れ替えて画像先鋭度値データベースDB2に保存し(ステップS808)、戻る。保存されている画像先鋭度値よりステップS804で算出された画像先鋭度値が大きくない場合(ステップS807;No)、戻る。   If the image sharpness value calculated in step S804 is larger than the stored image sharpness value (step S807; Yes), the image information handling unit 16 calculates the stored image sharpness value in step S804. The image sharpness value is replaced with the image sharpness value stored in the image sharpness value database DB2 (step S808), and the process returns. If the image sharpness value calculated in step S804 is not larger than the stored image sharpness value (step S807; No), the process returns.

以上、レンズ汚れ判定2の処理について説明した。次に、自律移動装置100の起動時処理(図6)のステップS103で起動される移動スレッドについて、図14を用いて説明する。このスレッドでは、移動指示アプリ等による移動指示に従って、自律移動装置100を移動指示のあった方向や目的地まで移動させる。   The processing of the lens stain determination 2 has been described above. Next, the moving thread started in step S103 of the startup process (FIG. 6) of the autonomous mobile device 100 will be described with reference to FIG. In this thread, the autonomous mobile device 100 is moved to the direction or destination where the movement instruction was given, according to a movement instruction from a movement instruction application or the like.

制御部10は、まず動作終了かどうかを判定し(ステップS901)、移動指示アプリ等から指示された方向や目的地に自律移動装置100が移動済み等で動作終了なら(ステップS901;Yes)終了し、動作終了でないなら(ステップS901;No)、移動指示アプリ等から移動指示があるかを判定する(ステップS902)。   The control unit 10 first determines whether or not the operation has ended (step S901), and ends the operation if the autonomous mobile device 100 has moved to the direction or destination specified by the movement instruction application or the like (step S901; Yes), and ends the operation. If the operation is not completed (step S901; No), it is determined whether or not there is a movement instruction from the movement instruction application or the like (step S902).

移動指示アプリ等から移動指示がある場合(ステップS902;Yes)、制御部10は、移動指示アプリ等から指示された方向や目的地に自律移動装置100を移動させた後(ステップS903)、ステップS901に戻る。移動指示アプリ等から移動指示が無い場合(ステップS902;No)、ステップS901に戻る。   If there is a movement instruction from the movement instruction application or the like (Step S902; Yes), the control unit 10 moves the autonomous mobile device 100 to the direction or destination specified by the movement instruction application or the like (Step S903). The process returns to S901. When there is no movement instruction from the movement instruction application or the like (Step S902; No), the process returns to Step S901.

以上、移動スレッドについて説明した。次に、自律移動装置100の起動時処理(図6)のステップS103で起動される顔検出スレッドについて、図15を用いて説明する。このスレッドでは、取得した画像に顔領域を検出した場合、移動指示アプリに通知し、撮像部33のレンズの汚れ判定を行う。   The moving thread has been described above. Next, the face detection thread that is started in step S103 of the startup process (FIG. 6) of the autonomous mobile device 100 will be described with reference to FIG. In this thread, when a face area is detected in the acquired image, the movement instruction application is notified, and the lens of the imaging unit 33 is determined to be dirty.

制御部10は、まず動作終了かどうかを判定し(ステップS1001)、動作終了なら(ステップS1001;Yes)終了し、動作終了でないなら(ステップS1001;No)、撮像部33に自律移動装置100の前方を撮像させ、画像を取得する(ステップS1002)。   The control unit 10 first determines whether or not the operation is completed (step S1001). If the operation is completed (step S1001; Yes), the control unit 10 ends the operation. An image of the front is captured to obtain an image (step S1002).

ステップS1003では、制御部10は、画像内に人の顔の輪郭、目、鼻及び口等の形状に類似する形状を有する顔領域を検出したかを判定する。画像内に顔領域を検出した場合(ステップS1003;Yes)、顔検出領域を移動指示アプリに通知する(ステップS1004)。画像内に顔領域を検出しなかった場合(ステップS1003;No)、ステップS1001に戻る。   In step S1003, the control unit 10 determines whether a face region having a shape similar to the shape of the human face, such as the outline, eyes, nose, and mouth, of the person has been detected in the image. When a face area is detected in the image (step S1003; Yes), the face detection area is notified to the movement instruction application (step S1004). If no face area is detected in the image (step S1003; No), the process returns to step S1001.

ステップS1005では、制御部10は、画像情報取扱部16に、ステップS1002で取得した画像の顔(検出)領域について画像先鋭度値を算出させることにより、顔領域先鋭度値データベースDB3を生成(DBを生成3)する。顔領域先鋭度値データベースDB3の生成する処理の詳細については後述する。   In step S1005, the control unit 10 causes the image information handling unit 16 to calculate an image sharpness value for the face (detection) region of the image acquired in step S1002, thereby generating a face area sharpness value database DB3 (DB Is generated 3). Details of the processing generated by the face area sharpness value database DB3 will be described later.

そして、制御部10は、画像先鋭度値を用いて撮像部33のレンズの汚れを判定(レンズ汚れ判定3)する(ステップS1006)。撮像部33のレンズの汚れを判定する処理については後述する。   Then, the control unit 10 determines the dirt on the lens of the imaging unit 33 using the image sharpness value (lens dirt determination 3) (step S1006). The process of determining whether the lens of the imaging unit 33 is dirty will be described later.

撮像部33のレンズに汚れが有ると判定された場合(ステップS1007;Yes)、制御部10は、その旨を行動計画アプリに通知する(ステップS1008)。行動計画アプリは、自律移動装置100に対して、ユーザに自律移動装置100の撮像部33のレンズの清掃を促す行動、例えば、レンズの清掃を促す音声又は警告音を発する、を実行するように指示し、ステップS1001に戻る。撮像部33に汚れが有ると判定されなかった場合(ステップS1007;No)、ステップS1001に戻る。   When it is determined that the lens of the imaging unit 33 is dirty (Step S1007; Yes), the control unit 10 notifies the action plan application of that (Step S1008). The action planning app executes an action for the autonomous mobile device 100 to prompt the user to clean the lens of the imaging unit 33 of the autonomous mobile device 100, for example, to emit a sound or a warning sound to prompt the user to clean the lens. Then, the process returns to step S1001. If it is not determined that the imaging unit 33 is dirty (step S1007; No), the process returns to step S1001.

次に、顔検出スレッド(図15)のステップS1005で実行されるDBを生成3の処理について、図16を用いて説明する。この処理では撮像部33で撮像した顔領域が検出された顔検出画像から、画像情報取扱部16が、画像先鋭度値を計算して、顔検出領域と、画像を撮像した時刻とともに1つの情報Hとして生成し、情報記憶部23に保存されている情報Hの顔検出領域に近い顔検出領域である画像から得られた情報H0の画像先鋭度値と情報Hの画像先鋭度値とを比較し、画像先鋭度値が高い情報を情報記憶部23に保存する。   Next, the process of generating a DB 3 executed in step S1005 of the face detection thread (FIG. 15) will be described with reference to FIG. In this process, the image information handling unit 16 calculates an image sharpness value from the face detection image in which the face area captured by the imaging unit 33 is detected, and outputs one information together with the face detection area and the time when the image was captured. H, and compares the image sharpness value of the information H with the image sharpness value of the information H obtained from an image that is a face detection area close to the face detection area of the information H stored in the information storage unit 23. Then, information having a high image sharpness value is stored in the information storage unit 23.

まず、画像情報取扱部16は、行動計画アプリ等から情報記憶部23内にある顔領域先鋭度値データベースDB3をクリアするように指示があるか否かを判定する(ステップS1101)。クリアするように指示があるなら(ステップS1101;Yes)顔領域先鋭度値データベースDB3をクリアし(ステップS1102)、クリアするように指示がないなら(ステップS1101;No)、ステップS1103に進む。顔領域先鋭度値データベースDB3をクリアするのは、撮像部33のレンズが清掃されたと推定される時である。顔領域先鋭度値データベースDB3をクリアする指示は、画像先鋭度値データベースDBをクリアするときと同様に、自律移動装置100に備えられたスイッチをレンズ清掃後にユーザが押すことであっても良いし、自律移動装置100がユーザと音声対話してレンズ清掃の確認ができたことであっても良い。   First, the image information handling unit 16 determines whether there is an instruction from the action plan application or the like to clear the face area sharpness value database DB3 in the information storage unit 23 (step S1101). If there is an instruction to clear (step S1101; Yes), the face area sharpness value database DB3 is cleared (step S1102). If there is no instruction to clear (step S1101; No), the process proceeds to step S1103. The face area sharpness value database DB3 is cleared when it is estimated that the lens of the imaging unit 33 has been cleaned. The instruction to clear the face area sharpness value database DB3 may be, similarly to when clearing the image sharpness value database DB, a user pressing a switch provided on the autonomous mobile device 100 after cleaning the lens. Alternatively, the autonomous mobile device 100 may perform voice communication with the user to confirm lens cleaning.

ステップS1103では、画像情報取扱部16は、顔検出スレッドのステップS1002で取得した画像に対して4近傍のラプラシアンオペレータの畳み込み処理を行った後、分散を取り、画像先鋭度値とする。   In step S1103, the image information handling unit 16 performs the convolution process of the Laplacian operator in the vicinity of 4 on the image acquired in step S1002 of the face detection thread, and then takes the variance to obtain an image sharpness value.

次に、画像情報取扱部16は、ステップS1002で取得した顔検出領域と、この画像が撮像された時刻と、画像先鋭度値とをひとまとめにして、情報Hとする(ステップS1104)。   Next, the image information handling unit 16 collects the face detection area acquired in step S1002, the time at which this image was captured, and the image sharpness value as information H (step S1104).

画像情報取扱部16は、顔領域先鋭度値データベースDB3内に情報Hの顔検出領域と所定の誤差TH20の範囲内(基準領域内)の顔検出領域である過去の情報があるかどうかを検索する(ステップS1105)。所定の誤差TH20の範囲内の顔検出領域である情報があった場合(ステップS1105;Yes)、その情報を情報H0として取り出し、無かった場合(ステップS1105;No)、ステップS1108へ進む。なお、所定の誤差TH20の範囲内の顔検出領域の情報が複数ある場合には、1番顔検出領域が近いものを選ぶ。領域間の距離は、ユークリッド距離を用いる。領域の開始点(x、y)と、領域の大きさ(w、h)の4次元空間のユークリッド距離とすることができる。   The image information handling unit 16 searches the face area sharpness value database DB3 to determine whether there is past information that is a face detection area within a predetermined error TH20 (within a reference area) from the face detection area of the information H. (Step S1105). If there is information that is a face detection area within the predetermined error TH20 (step S1105; Yes), the information is extracted as information H0, and if there is no information (step S1105; No), the process proceeds to step S1108. If there is a plurality of pieces of information on the face detection areas within the range of the predetermined error TH20, the one with the closest face detection area is selected. The Euclidean distance is used as the distance between the regions. The Euclidean distance in the four-dimensional space between the start point (x, y) of the area and the size (w, h) of the area can be used.

次に、画像情報取扱部16は、情報Hの画像先鋭度値と情報H0の画像先鋭度値を比較する(ステップS1106)。情報Hの画像先鋭度値が情報H0の画像先鋭度値よりも大きい場合(ステップS1106;Yes)、顔領域先鋭度値データベースDB3内の情報H0を削除する(ステップS1107)。情報Hの画像先鋭度値が情報H0の画像先鋭度値よりも大きくない場合(ステップS1106;No)、そのまま終了する。   Next, the image information handling unit 16 compares the image sharpness value of the information H with the image sharpness value of the information H0 (step S1106). When the image sharpness value of the information H is larger than the image sharpness value of the information H0 (Step S1106; Yes), the information H0 in the face area sharpness value database DB3 is deleted (Step S1107). If the image sharpness value of the information H is not larger than the image sharpness value of the information H0 (step S1106; No), the process ends.

ステップS1108では、画像情報取扱部16は、顔領域先鋭度値データベースDB3に情報Hを登録し、終了する。   In step S1108, the image information handling unit 16 registers the information H in the face area sharpness value database DB3, and ends.

次に、顔検出スレッド(図15)のステップS1006で実行されるレンズ汚れ判定3の処理について、図17を用いて説明する。この処理では、DBを生成3の処理で算定した情報Hの先鋭度値と、顔領域先鋭度値データベースDB3内の情報の画像先鋭度値の平均値HM等を使用することにより、自律移動装置100の撮像部33のレンズの汚れを判定する。   Next, the process of lens stain determination 3 executed in step S1006 of the face detection thread (FIG. 15) will be described with reference to FIG. In this process, the autonomous mobile device is used by using the sharpness value of the information H calculated in the process of generating the DB 3 and the average value HM of the image sharpness values of the information in the face region sharpness value database DB3. The dirt on the lenses of the 100 imaging units 33 is determined.

まず、画像情報取扱部16は、顔領域先鋭度値データベースDB3内に保存されている情報の数が所定の値N以上であるかを判定する(ステップS1201)。顔領域先鋭度値データベースDB3内に保存されている情報の数がN以上である場合(ステップS1201;Yes)、ステップS1202に進む。顔領域先鋭度値データベースDB3内に保存されている情報の数がN以上でない場合(ステップS1201;No)、ステップS1211に進む。   First, the image information handling unit 16 determines whether the number of pieces of information stored in the face area sharpness value database DB3 is equal to or larger than a predetermined value N (step S1201). If the number of pieces of information stored in the face area sharpness value database DB3 is N or more (step S1201; Yes), the process proceeds to step S1202. If the number of pieces of information stored in the face area sharpness value database DB3 is not N or more (Step S1201; No), the process proceeds to Step S1211.

ステップS1202では、画像情報取扱部16は、顔領域先鋭度値データベースDB3内に保存されている情報の画像先鋭度値の平均値HMを算出する。   In step S1202, the image information handling unit 16 calculates the average value HM of the image sharpness values of the information stored in the face area sharpness value database DB3.

画像情報取扱部16は、顔領域先鋭度値データベースDB3内に保存されている情報の画像先鋭度値の平均値HMに1未満の所定の係数THH2を掛けたものより情報Hの画像先鋭度値が大きいかを判定する(ステップS1203)。平均値HMにTHH2を掛けたものより情報Hの画像先鋭度値が大きい場合(ステップS1203;Yes)、画像先鋭度フラグを1とし、現時刻、顔検出領域とともに顔領域先鋭度フラグデータベースDB3H内に保存し(ステップS1204)、ステップS1206に進む。平均値HMにTHH2を掛けたものより情報Hの先鋭度値が大きくない場合(ステップS1203;No)、画像先鋭度フラグを0とし、現時刻、顔検出領域とともに顔領域先鋭度フラグデータベースDB3H内に保存し(ステップS1205)、ステップS1206に進む。   The image information handling unit 16 calculates the image sharpness value of the information H by multiplying the average value HM of the image sharpness values of the information stored in the face area sharpness value database DB3 by a predetermined coefficient THH2 less than 1. It is determined whether is larger (step S1203). When the image sharpness value of the information H is larger than the average value HM multiplied by THH2 (step S1203; Yes), the image sharpness flag is set to 1, and the current time and the face detection area are included in the face area sharpness flag database DB3H. (Step S1204), and the process proceeds to step S1206. If the sharpness value of the information H is not larger than the average value HM multiplied by THH2 (step S1203; No), the image sharpness flag is set to 0, and the current time and the face detection area are stored in the face area sharpness flag database DB3H. (Step S1205), and the process proceeds to step S1206.

次に、画像情報取扱部16は、顔領域先鋭度フラグデータベースDB3H内の、現時刻より所定の時間T11以上古い情報を削除する(ステップS1206)。   Next, the image information handling unit 16 deletes information in the face area sharpness flag database DB3H that is older than the current time by a predetermined time T11 or more (step S1206).

画像情報取扱部16は、顔領域先鋭度フラグデータベースDB3H内に保存されている情報の数が所定の値N2以上であり、かつ、顔領域先鋭度フラグデータベースDB3H内の全情報で顔検出領域全体のうちの所定の領域TH13以上をカバーしているかを判定する(ステップS1207)。顔領域先鋭度フラグデータベースDB3H内に保存されている情報の数がN2以上であり、かつ、顔領域先鋭度フラグデータベースDB3H内の全情報で顔検出領域全体のうちの所定の領域TH13以上をカバーしている場合(ステップS1207;Yes)、ステップS1208に進む。顔領域先鋭度フラグデータベースDB2H内に保存されている情報の数が所定の値N2以上でない、又は、顔領域先鋭度フラグデータベースDB3H内の全情報で顔検出領域全体のうちの所定の領域TH13以上をカバーしていない場合(ステップS1207;No)、ステップS1211に進む。   The image information handling unit 16 determines that the number of pieces of information stored in the face area sharpness flag database DB3H is equal to or greater than a predetermined value N2, and that the entire face detection area is stored in the face area sharpness flag database DB3H. It is determined whether or not a predetermined area TH13 or more is covered (step S1207). The number of pieces of information stored in the face area sharpness flag database DB3H is N2 or more, and all information in the face area sharpness flag database DB3H covers a predetermined area TH13 or more of the entire face detection area. If yes (step S1207; Yes), the process proceeds to step S1208. The number of pieces of information stored in the face area sharpness flag database DB2H is not equal to or more than the predetermined value N2, or all information in the face area sharpness flag database DB3H is equal to or more than a predetermined area TH13 of the entire face detection area. Is not covered (step S1207; No), the process proceeds to step S1211.

ステップS1208では、画像情報取扱部16は、顔領域先鋭度フラグデータベースDB3H内の、先鋭度フラグが0である情報の割合X2を算出する。   In step S1208, the image information handling unit 16 calculates a ratio X2 of information in which the sharpness flag is 0 in the face area sharpness flag database DB3H.

算出した割合X2が所定の割合TH12より大きい場合(ステップS1209;Yes)、自律移動装置100の撮像部33のレンズの汚れがあると判定し(ステップS1210)、終了する。算出した割合X2が所定の割合TH12より大きくない場合(ステップS1209;Yes)、自律移動装置100の撮像部33のレンズの汚れが不明であると判定し(ステップS1211)、終了する。また、ステップS1201でNoの場合、ステップS1207でNoの場合も、自律移動装置100の撮像部33のレンズの汚れが不明であると判定し(ステップS1211)、終了する。   If the calculated ratio X2 is larger than the predetermined ratio TH12 (step S1209; Yes), it is determined that the lens of the imaging unit 33 of the autonomous mobile device 100 is dirty (step S1210), and the process ends. If the calculated ratio X2 is not larger than the predetermined ratio TH12 (step S1209; Yes), it is determined that the dirt on the lens of the imaging unit 33 of the autonomous mobile device 100 is unknown (step S1211), and the process ends. Also, in the case of No in step S1201, and in the case of No in step S1207, it is determined that the dirt on the lens of the imaging unit 33 of the autonomous mobile device 100 is unknown (step S1211), and the process ends.

以上説明したように、自律移動装置100は、DBを生成1・3の処理及びレンズ汚れ判定1〜3の処理において、画像先鋭度値をラプラシアンオペレータの畳み込み処理を行った後、分散を取るので、画像全体又は顔画像領域内のエッジ及び濃度を算定でき、撮像部のレンズの一部に汚れがあった場合でもレンズの汚れを好適に検出することができる。   As described above, the autonomous mobile device 100 obtains the variance after performing the convolution processing of the Laplacian operator on the image sharpness value in the processing of generating DBs 1 and 3 and the processing of lens dirt determinations 1 to 3. In addition, the edge and density in the entire image or the face image area can be calculated, and even if a part of the lens of the imaging unit is dirty, the dirt on the lens can be suitably detected.

そして、検出したレンズの汚れをユーザに知らせることにより、好ましいタイミングで、ユーザが汚れたレンズを清掃することができ、画像処理による自機位置推定及び環境地図生成のロバスト性と精度を維持することができる。   By notifying the user of the detected lens dirt, the user can clean the dirty lens at a preferable timing, and maintain robustness and accuracy in estimating the position of the own device by image processing and generating an environmental map. Can be.

上記実施形態では、画像先鋭度値の算出にラプラシアンオペレータと分散を使用したが、離散フーリエ変換(Discrete Fourier Transform)や高速フーリエ変換(Fast Fourier Transform)をはじめとするフーリエ変換等の周波数解析(法)を用いても良い。フーリエ変換を用いた場合、例えばフーリエ変換後のパワースペクトルのうち最もパワー(周波数成分の振幅の2乗)が大きい周波数を画像先鋭度値(代表先鋭度値)とする。ラプラシアンオペレータの代わりに、ロバーツ、プリビットやソーベル等のエッジ検出オペレータでエッジ検出しても良い。   In the above embodiment, the Laplacian operator and the variance are used to calculate the image sharpness value. ) May be used. When the Fourier transform is used, for example, a frequency having the largest power (square of the amplitude of the frequency component) in the power spectrum after the Fourier transform is set as an image sharpness value (representative sharpness value). Instead of the Laplacian operator, edge detection may be performed by an edge detection operator such as Roberts, Prebit or Sobel.

自律移動装置100は、入力部として、自律移動装置100を操作するための操作ボタンを備えていても良い。操作ボタンは、例えば、電源ボタン、モード切替ボタン(掃除モード、ペットモード等を切り替える)、初期化ボタン(地図の作成をやり直しさせる)などを含む。入力部として、音の入力を行うマイク(図示せず)と、自律移動装置100への操作指示の音声を認識する音声認識部を備えても良い。   The autonomous mobile device 100 may include an operation button for operating the autonomous mobile device 100 as an input unit. The operation buttons include, for example, a power button, a mode switching button (switching between a cleaning mode, a pet mode, and the like), an initialization button (re-create a map), and the like. As the input unit, a microphone (not shown) for inputting sound and a voice recognition unit for recognizing a voice of an operation instruction to the autonomous mobile device 100 may be provided.

DBを生成1及びレンズ汚れ判定1の処理では、撮像画像全体を使用して画像の判定を行っているが、自律移動装置100の下方(床近辺)は物の配置の変化が起こりやすく画像が変わりやすいので、物の配置の変化等が起こりにくい一定の高さ以上の部分の画像を使用して、判定を行っても良い。   In the processing of DB generation 1 and lens dirt determination 1, image determination is performed using the entire captured image. However, the position of an object is likely to change below the autonomous mobile device 100 (near the floor), and the image is not displayed. Since it is easy to change, the determination may be made by using an image of a portion having a certain height or higher in which the change of the arrangement of the object does not easily occur.

レンズ汚れ判定1の処理では、回転姿勢を条件に用いたが、位置を用いても良い。或いは、環境地図をQ個のブロックに分け、そのうちのいくつかのブロック内の画像を有していることを条件としても良いし、位置及び回転の両方を条件としても良い。条件を満たしていない場合、条件を満たすような移動指示を発するようにしても良い。   In the processing of the lens dirt determination 1, the rotation posture is used as a condition, but the position may be used. Alternatively, the environment map may be divided into Q blocks, and the condition may be that the images have images in some of the blocks, or both the position and the rotation may be the conditions. If the condition is not satisfied, a movement instruction that satisfies the condition may be issued.

顔検出スレッド、DBを生成3及びレンズ汚れ判定3では、顔を検出対象としていたが、顔以外の物体、例えば、衣服や眼鏡、ペット等を検出対象としても良く、特定の個人の顔のみを検出対象としても良く、TV検出としても良い。   In the face detection thread, the DB generation 3 and the lens dirt determination 3, the face is detected, but an object other than the face, for example, clothes, glasses, pets, etc. may be detected, and only the face of a specific individual is detected. It may be a detection target or a TV detection.

上記実施形態では、カメラを用いるVisual SLAMを用いたが、カメラの代わりにLRF(Laser Range Finder)を用いたSLAMであっても良い。この場合、物体認識用のカメラについての汚れ検出を行う。   In the above embodiment, a Visual SLAM using a camera is used, but a SLAM using an LRF (Laser Range Finder) instead of the camera may be used. In this case, dirt detection is performed on the camera for object recognition.

行動計画アプリの動作モードは、ユーザからのマニュアル操作で選択しても良く、所定のアルゴリズム、例えば、時間や人を認識した数などにより自動でモード選択をしても良い。   The operation mode of the action plan application may be selected by a manual operation from the user, or may be automatically selected according to a predetermined algorithm, for example, time or the number of recognized persons.

1つの画像先鋭度値は、1回の撮像により得られた画像又は物体検出領域から算定されるが、2回以上の撮像により得られた画像から1つの画像先鋭度値を算定しても良い。また、画像先鋭度値は、1つの画像又は物体検出領域から代表先鋭度値が1つ算定されるが、1つの画像又は物体検出領域のうちの一定の範囲毎に1つづつ算定されるようにしても良い。   One image sharpness value is calculated from an image or an object detection area obtained by one imaging, but one image sharpness value may be calculated from an image obtained by two or more imagings. . As for the image sharpness value, one representative sharpness value is calculated from one image or object detection area, but one representative sharpness value is calculated for each predetermined range in one image or object detection area. You may do it.

汚れ検査用のマーカーシートを撮像することにより得られる画像から画像先鋭度値を算定しても良い。マーカーシートは、自律移動装置100の移動範囲内に、必要な時に配置すれば良い。マーカーシートは、汚れ検出が容易な模様、例えば市松模様等がデザインされていると良い。   The image sharpness value may be calculated from an image obtained by imaging the stain inspection marker sheet. The marker sheet may be arranged within the movement range of the autonomous mobile device 100 when necessary. The marker sheet is preferably designed with a pattern that makes it easy to detect dirt, such as a checkered pattern.

上記実施形態では、撮像部33が単眼である単眼SLAMの例を示したが、複数の撮像部を用いた複眼SLAMでも同様の構成を採ることができる。例えば自律移動装置100が二台の撮像部33を備えている場合は、移動しなくても同じ位置から二つの画像を取得できるため、自機位置推定処理の初期化においてはステップS304の一回の動作で二つの画像が取得できる。それら二つの画像それぞれに基準値以上の特徴点が含まれていれば(ステップS306で判定する)、ステップS307では「N=N+2」を行い、ステップS308は常に「No」に進むことになる。そして、二つの画像の一方を前フレーム、もう一方を現フレームとして処理を行う場合は、ステップS319でスケールSを計算する際の「オドメトリ並進距離」は、二つの撮像部間の距離を用いれば良い。これによりオドメトリからの取得する位置の精度が低い場合でも安定して初期化を行うことができる。   In the above-described embodiment, an example in which the imaging unit 33 is a monocular SLAM in which the imaging unit 33 is a single eye has been described. However, a similar configuration can be adopted in a compound eye SLAM using a plurality of imaging units. For example, when the autonomous mobile device 100 includes two imaging units 33, two images can be acquired from the same position without moving, and therefore, in the initialization of the own device position estimation process, once in step S304, With the operation described above, two images can be acquired. If each of these two images contains a feature point equal to or larger than the reference value (determined in step S306), “N = N + 2” is performed in step S307, and step S308 always proceeds to “No”. If one of the two images is to be processed as the previous frame and the other as the current frame, the “odometry translation distance” when calculating the scale S in step S319 is obtained by using the distance between the two imaging units. good. Thus, even when the accuracy of the position obtained from the odometry is low, the initialization can be performed stably.

ただし、この場合の二つの撮像部間の距離は、通常用いられる基準並進距離(例えば1m)よりも短い距離になってしまうことが多く、オドメトリから得られる並進距離の精度が高い場合は、むしろ単眼SLAMと同様の初期化処理(例えば複数ある撮像部のうちの第一撮像部のみを使った初期化処理)を行った方が高い精度が得られることもある。そこで、単眼SLAMと同様の初期化処理と、前段落で記載した二つの撮像部による初期化処理とを両方とも行って、誤差の小さいと思われる情報を採用するようにしても良い。   However, in this case, the distance between the two imaging units is often shorter than a standard translation distance (for example, 1 m) that is usually used, and when the accuracy of the translation distance obtained from odometry is high, A higher accuracy may be obtained by performing the same initialization processing as that of the monocular SLAM (for example, the initialization processing using only the first imaging unit of the plurality of imaging units). Therefore, both the initialization processing similar to the monocular SLAM and the initialization processing by the two imaging units described in the preceding paragraph may be performed to adopt information considered to have a small error.

この発明の自律移動装置100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、自律移動装置100が行う自律移動制御処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)及びMO(Magneto−Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。   Each function of the autonomous mobile device 100 of the present invention can be implemented by a computer such as a normal PC (Personal Computer). Specifically, in the above embodiment, the program of the autonomous movement control process performed by the autonomous mobile device 100 has been described as being stored in the ROM of the storage unit 20 in advance. However, the program is stored in a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Only Memory), a DVD (Digital Versatile Disc), and an MO (Magneto-Optical Disc), and distributed. May be implemented by reading and installing on a computer to realize the above-described functions.

以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。   As described above, the preferred embodiments of the present invention have been described, but the present invention is not limited to the specific embodiments, and the present invention includes the inventions described in the claims and equivalents thereof. It is. Hereinafter, the invention described in the claims of the present application is additionally described.

(付記1)
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、
レンズを介して撮像する撮像部と、
撮像された画像を記憶する画像記憶部と、
前記駆動部、前記撮像部及び前記画像記憶部を制御し、前記画像又は前記画像に検出された物体の物体検出領域を構成する構造の細かさを示す画像先鋭度値を算定する制御部と、を備え、
前記制御部は、
前記画像記憶部に記憶された第1の画像の第1の画像先鋭度値と、
前記第1の画像が撮像された時の前記自機位置及び前記自機の向きから所定の範囲内の自機位置及び自機の向きで撮像された第2の画像の第2の画像先鋭度値とを、
又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像の第2の画像先鋭度値とを、算定し、前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記レンズが汚れていると判定する、
自律移動装置。
(Appendix 1)
A drive unit that moves and rotates the own machine to change the own machine position and the own machine direction,
An imaging unit for imaging via a lens;
An image storage unit that stores a captured image;
A control unit that controls the driving unit, the imaging unit and the image storage unit, and calculates an image sharpness value indicating the fineness of a structure constituting an object detection area of the image or an object detected in the image, With
The control unit includes:
A first image sharpness value of a first image stored in the image storage unit;
The second image sharpness of the second image captured at the own position and the own direction within a predetermined range from the own device position and the own device direction when the first image was captured. Value and
Or a second image sharpness value of a second image including a second object detection region of the object within the reference region from the first object detection region of the object detected by the first image. Calculating, if the second image sharpness value is lower than the first image sharpness value, determining that the lens is dirty;
Autonomous mobile device.

(付記2)
前記画像先鋭度値は、前記画像全体又は前記物体検出領域全体に対して算出された代表先鋭度値である、
付記1に記載の自律移動装置。
(Appendix 2)
The image sharpness value is a representative sharpness value calculated for the entire image or the entire object detection area,
The autonomous mobile device according to supplementary note 1.

(付記3)
前記制御部は、前記画像又は前記検出領域をエッジ検出オペレータで処理し分散を取る、又は前記画像又は前記検出領域に対して周波数解析を行うことで得たパワースペクトルから最大のパワーの周波数を取得する、ことにより前記代表先鋭度値を算定する、
付記2に記載の自律移動装置。
(Appendix 3)
The control unit processes the image or the detection area with an edge detection operator and takes variance, or obtains the frequency of the maximum power from a power spectrum obtained by performing frequency analysis on the image or the detection area. Calculating the representative sharpness value by doing
An autonomous mobile device according to attachment 2.

(付記4)
前記撮像部は、物体の境界が写るように前記画像を撮像し、
前記制御部は、前記画像に写る前記物体の境界を前記エッジ検出オペレータで処理し分散を取る、又は前記周波数解析を行うことで得たパワースペクトルから最大のパワーの周波数を取得する、
付記3に記載の自律移動装置。
(Appendix 4)
The imaging unit captures the image so that a boundary of the object is captured,
The control unit acquires the frequency of the maximum power from the power spectrum obtained by processing the boundary of the object shown in the image by the edge detection operator and taking a variance, or by performing the frequency analysis.
An autonomous mobile device according to attachment 3.

(付記5)
前記制御部は、前記撮像部によって前記物体の境界が写るように前記画像を撮像できる自機位置及び自機の向きに移動するように前記駆動部を制御する、
付記4に記載の自律移動装置。
(Appendix 5)
The control unit controls the drive unit to move to its own position and the direction of its own device capable of capturing the image so that the boundary of the object is captured by the imaging unit,
An autonomous mobile device according to attachment 4.

(付記6)
前記物体は、顔である、
付記1から5のいずれか1つに記載の自律移動装置。
(Appendix 6)
The object is a face;
6. The autonomous mobile device according to any one of supplementary notes 1 to 5.

(付記7)
前記第1の画像及び前記第2の画像は、それぞれ2回以上の撮像により取得される、
付記1から6のいずれか1つに記載の自律移動装置。
(Appendix 7)
The first image and the second image are each obtained by imaging two or more times,
7. The autonomous mobile device according to any one of supplementary notes 1 to 6.

(付記8)
前記第2の画像は、充電設備に向かう際に撮像されることにより取得される、
付記1から7のいずれか1つに記載の自律移動装置。
(Appendix 8)
The second image is acquired by being imaged when heading to the charging facility,
8. The autonomous mobile device according to any one of supplementary notes 1 to 7.

(付記9)
距離測定素子をさらに備え、
前記自機の走行距離が所定の距離に達したと前記距離測定素子によって測定された時に前記第2の画像を撮像する、
付記1から8のいずれか1つに記載の自律移動装置。
(Appendix 9)
Further comprising a distance measuring element,
Capturing the second image when the travel distance of the own device reaches a predetermined distance and is measured by the distance measuring element;
The autonomous mobile device according to any one of supplementary notes 1 to 8.

(付記10)
前記充電設備に向かう時に前記レンズの汚れを確認する、
付記8に記載の自律移動装置。
(Appendix 10)
Checking for dirt on the lens when heading to the charging facility,
An autonomous mobile device according to attachment 8.

(付記11)
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、レンズを介して撮像する撮像部と、前記撮像された画像を記憶する画像記憶部と、を備えた自律移動装置のレンズの汚れ検出方法であって、
第1の画像が撮像された時の自機位置及び自機の向きを記憶しておき、自機を移動及び回転させて前記第1の画像を撮影した時の自機位置及び自機の向きと所定の範囲内にある時に、第2の画像を撮像させ、前記画像記憶部に記憶された過去の画像である第1の画像と、現在の画像である前記第2の画像とを比較して、前記レンズの汚れを検出する、自律移動装置のレンズの汚れ検出方法。
(Appendix 11)
An autonomous device including: a driving unit that moves and rotates the own device to change the position of the own device and the direction of the own device; an imaging unit that captures an image via a lens; and an image storage unit that stores the captured image. A method for detecting contamination of a lens of a moving device,
The position of the own device and the direction of the own device when the first image is captured are stored, and the position and the direction of the own device when the first image is captured by moving and rotating the own device. And when it is within a predetermined range, a second image is captured, and a first image, which is a past image, stored in the image storage unit is compared with the second image, which is a current image. Detecting the dirt on the lens of the autonomous mobile device.

(付記12)
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、レンズを介して撮像する撮像部と、撮像された画像を記憶する画像記憶部と、を備えた自律移動装置のレンズの汚れ検出方法であって、
自機を移動及び回転させて、前記画像記憶部に記憶されている第1の画像により検出された物体の物体検出領域から基準領域内にある前記物体の物体検出領域を含んだ第2の画像を撮像させ、前記画像記憶部に記憶された過去の画像である前記第1の画像と、現在の画像である前記第2の画像とを比較して、前記レンズの汚れを検出する、自律移動装置のレンズの汚れ検出方法。
(Appendix 12)
An autonomous movement including a driving unit that moves and rotates the own device to change the position of the own device and the direction of the own device, an imaging unit that captures an image via a lens, and an image storage unit that stores the captured image. A method for detecting contamination of a lens of an apparatus, comprising:
A second image including the object detection area of the object located within the reference area from the object detection area of the object detected by the first image stored in the image storage unit by moving and rotating the own device; Autonomous movement to compare the first image, which is a past image, stored in the image storage unit, with the second image, which is a current image, to detect dirt on the lens. A method for detecting contamination of the lens of the apparatus.

(付記13)
画像記憶部に記憶された第1の画像が撮像された時の自機位置及び自機の向きから所定の範囲内の自機位置及び自機の向き、又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像を撮像する自機位置及び自機の向きに駆動部によって自機を移動及び回転させることにより、撮像部に第2の画像を撮像させる撮像ステップと、
前記駆動部、前記撮像部及び前記画像記憶部を制御する制御部が、前記第1の画像の第1の画像先鋭度値と前記第2の画像の第2の画像先鋭度値とを算定する算定ステップと、
前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記制御部は、前記撮像部のレンズが汚れていると判定する判定ステップと、
を備える自律移動装置のレンズの汚れ検出方法。
(Appendix 13)
The position of the own device and the direction of the own device within a predetermined range from the position of the own device and the direction of the own device when the first image stored in the image storage unit is captured, or the first image is detected by the first image. The drive unit moves and moves the own device to the own device position and the own device direction that captures a second image including the second object detection region of the object that is within the reference region from the first object detection region of the object. An image capturing step of causing the image capturing unit to capture a second image by rotating the image capturing unit;
A control unit that controls the driving unit, the imaging unit, and the image storage unit calculates a first image sharpness value of the first image and a second image sharpness value of the second image. Calculation step;
When the second image sharpness value is lower than the first image sharpness value, the control unit determines that the lens of the imaging unit is dirty,
A method for detecting contamination of a lens of an autonomous mobile device, comprising:

(付記14)
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、
レンズを介して画像を撮像する撮像部と、
撮像された前記画像を記憶する画像記憶部と、
前記駆動部、前記撮像部及び前記画像記憶部を制御してVisual SLAM制御を行なう制御部と、
を備えた自律移動装置のレンズの汚れ検出方法であって、
前記画像記憶部に記憶された第1の画像の特徴点と対応する前記撮像部で撮像した第2の画像の対応特徴点の数が、基準対応特徴点数未満である場合をVisual SLAM制御の失敗とし、
基準並進距離を並進する間における前記Visual SLAM制御の失敗率が基準失敗率より高い場合、レンズが汚れていると判定する、自律移動装置のレンズの汚れ検出方法。
(Appendix 14)
A drive unit that moves and rotates the own machine to change the own machine position and the own machine direction,
An imaging unit that captures an image via a lens;
An image storage unit that stores the captured image,
A control unit that controls the driving unit, the imaging unit, and the image storage unit to perform Visual SLAM control;
A method for detecting dirt on a lens of an autonomous mobile device comprising:
If the number of corresponding feature points of the second image captured by the imaging unit corresponding to the feature points of the first image stored in the image storage unit is less than the number of reference corresponding feature points, the visual SLAM control fails. age,
If the failure rate of the Visual SLAM control during the translation of the reference translation distance is higher than the reference failure rate, it is determined that the lens is dirty.

(付記15)
コンピュータに、
画像記憶部に記憶された第1の画像が撮像された時の自機位置及び自機の向きから所定の範囲内の自機位置及び自機の向き、又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像を撮像する自機位置及び自機の向きに駆動部によって自機を移動及び回転させることにより、撮像部に第2の画像を撮像させる撮像ステップと、
前記駆動部、前記撮像部及び前記画像記憶部を制御する制御部が、前記第1の画像の第1の画像先鋭度値と前記第2の画像の第2の画像先鋭度値とを算定する算定ステップと、
前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記制御部は、前記撮像部のレンズが汚れていると判定する判定ステップと、
を実行させるためのプログラム。
(Appendix 15)
On the computer,
The position of the own device and the direction of the own device within a predetermined range from the position of the own device and the direction of the own device when the first image stored in the image storage unit is captured, or the first image is detected by the first image. The drive unit moves and moves the own device to the own device position and the own device direction that captures a second image including the second object detection region of the object that is within the reference region from the first object detection region of the object. An image capturing step of causing the image capturing unit to capture a second image by rotating the image capturing unit;
A control unit that controls the driving unit, the imaging unit, and the image storage unit calculates a first image sharpness value of the first image and a second image sharpness value of the second image. Calculation step;
When the second image sharpness value is lower than the first image sharpness value, the control unit determines that the lens of the imaging unit is dirty,
A program for executing

10…制御部、11…位置計測部、12…地図作成部、13…位置推定部、14…判定部、15…地図編集部、16…画像情報取扱部、20…記憶部、21…画像記憶部、22…地図記憶部、23…情報記憶部、31,31a,31b…帰還信号受信部、32,32a,32b…駆動部、33…撮像部、34…通信部、35…充電接続部、40…センサ部、41…加速度センサ、42…角速度センサ、43…障害物センサ、51,51a,51b…帰還信号送信部、52…電力供給部、53,53a,53b…受信可能範囲、100…自律移動装置、200…充電器 DESCRIPTION OF SYMBOLS 10 ... Control part, 11 ... Position measuring part, 12 ... Map making part, 13 ... Position estimating part, 14 ... Determining part, 15 ... Map editing part, 16 ... Image information handling part, 20 ... Storage part, 21 ... Image storage Unit, 22: map storage unit, 23: information storage unit, 31, 31a, 31b: feedback signal receiving unit, 32, 32a, 32b: driving unit, 33: imaging unit, 34: communication unit, 35: charging connection unit, 40 sensor unit, 41 acceleration sensor, 42 angular velocity sensor, 43 obstacle sensor, 51, 51a, 51b feedback signal transmitting unit, 52 power supply unit, 53, 53a, 53b receivable range, 100 Autonomous mobile device, 200 ... Charger

Claims (15)

自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、
レンズを介して撮像する撮像部と、
撮像された画像を記憶する画像記憶部と、
前記駆動部、前記撮像部及び前記画像記憶部を制御し、前記画像又は前記画像に検出された物体の物体検出領域を構成する構造の細かさを示す画像先鋭度値を算定する制御部と、を備え、
前記制御部は、
前記画像記憶部に記憶された第1の画像の第1の画像先鋭度値と、
前記第1の画像が撮像された時の前記自機位置及び前記自機の向きから所定の範囲内の自機位置及び自機の向きで撮像された第2の画像の第2の画像先鋭度値とを、
又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像の第2の画像先鋭度値とを、算定し、前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記レンズが汚れていると判定する、
自律移動装置。
A drive unit that moves and rotates the own machine to change the own machine position and the own machine direction,
An imaging unit for imaging via a lens;
An image storage unit that stores a captured image;
A control unit that controls the driving unit, the imaging unit and the image storage unit, and calculates an image sharpness value indicating the fineness of a structure constituting an object detection area of the image or an object detected in the image, With
The control unit includes:
A first image sharpness value of a first image stored in the image storage unit;
The second image sharpness of the second image captured at the own position and the own direction within a predetermined range from the own device position and the own device direction when the first image was captured. Value and
Or a second image sharpness value of a second image including a second object detection region of the object within the reference region from the first object detection region of the object detected by the first image. Calculating, if the second image sharpness value is lower than the first image sharpness value, determining that the lens is dirty;
Autonomous mobile device.
前記画像先鋭度値は、前記画像全体又は前記物体検出領域全体に対して算出された代表先鋭度値である、
請求項1に記載の自律移動装置。
The image sharpness value is a representative sharpness value calculated for the entire image or the entire object detection area,
The autonomous mobile device according to claim 1.
前記制御部は、前記画像又は前記検出領域をエッジ検出オペレータで処理し分散を取る、又は前記画像又は前記検出領域に対して周波数解析を行うことで得たパワースペクトルから最大のパワーの周波数を取得する、ことにより前記代表先鋭度値を算定する、
請求項2に記載の自律移動装置。
The control unit processes the image or the detection area with an edge detection operator and takes variance, or obtains the frequency of the maximum power from a power spectrum obtained by performing frequency analysis on the image or the detection area. Calculating the representative sharpness value by doing
The autonomous mobile device according to claim 2.
前記撮像部は、物体の境界が写るように前記画像を撮像し、
前記制御部は、前記画像に写る前記物体の境界を前記エッジ検出オペレータで処理し分散を取る、又は前記周波数解析を行うことで得たパワースペクトルから最大のパワーの周波数を取得する、
請求項3に記載の自律移動装置。
The imaging unit captures the image so that a boundary of the object is captured,
The control unit acquires the frequency of the maximum power from the power spectrum obtained by processing the boundary of the object shown in the image by the edge detection operator and taking a variance, or by performing the frequency analysis.
The autonomous mobile device according to claim 3.
前記制御部は、前記撮像部によって前記物体の境界が写るように前記画像を撮像できる自機位置及び自機の向きに移動するように前記駆動部を制御する、
請求項4に記載の自律移動装置。
The control unit controls the drive unit to move to its own position and the direction of its own device capable of capturing the image so that the boundary of the object is captured by the imaging unit,
The autonomous mobile device according to claim 4.
前記物体は、顔である、
請求項1から5のいずれか1項に記載の自律移動装置。
The object is a face;
The autonomous mobile device according to any one of claims 1 to 5.
前記第1の画像及び前記第2の画像は、それぞれ2回以上の撮像により取得される、
請求項1から6のいずれか1項に記載の自律移動装置。
The first image and the second image are each obtained by imaging two or more times,
The autonomous mobile device according to any one of claims 1 to 6.
前記第2の画像は、充電設備に向かう際に撮像されることにより取得される、
請求項1から7のいずれか1項に記載の自律移動装置。
The second image is acquired by being imaged when heading to the charging facility,
The autonomous mobile device according to any one of claims 1 to 7.
距離測定素子をさらに備え、
前記自機の走行距離が所定の距離に達したと前記距離測定素子によって測定された時に前記第2の画像を撮像する、
請求項1から8のいずれか1項に記載の自律移動装置。
Further comprising a distance measuring element,
Capturing the second image when the travel distance of the own device reaches a predetermined distance and is measured by the distance measuring element;
The autonomous mobile device according to claim 1.
前記充電設備に向かう時に前記レンズの汚れを確認する、
請求項8に記載の自律移動装置。
Checking for dirt on the lens when heading to the charging facility,
An autonomous mobile device according to claim 8.
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、レンズを介して撮像する撮像部と、前記撮像された画像を記憶する画像記憶部と、を備えた自律移動装置のレンズの汚れ検出方法であって、
第1の画像が撮像された時の自機位置及び自機の向きを記憶しておき、自機を移動及び回転させて前記第1の画像を撮影した時の自機位置及び自機の向きと所定の範囲内にある時に、第2の画像を撮像させ、前記画像記憶部に記憶された過去の画像である第1の画像と、現在の画像である前記第2の画像とを比較して、前記レンズの汚れを検出する、自律移動装置のレンズの汚れ検出方法。
An autonomous device including: a driving unit that moves and rotates the own device to change the position of the own device and the direction of the own device; an imaging unit that captures an image via a lens; and an image storage unit that stores the captured image. A method for detecting contamination of a lens of a moving device,
The position of the own device and the direction of the own device when the first image is captured are stored, and the position and the direction of the own device when the first image is captured by moving and rotating the own device. And when it is within a predetermined range, a second image is captured, and a first image, which is a past image, stored in the image storage unit is compared with the second image, which is a current image. Detecting the dirt on the lens of the autonomous mobile device.
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、レンズを介して撮像する撮像部と、撮像された画像を記憶する画像記憶部と、を備えた自律移動装置のレンズの汚れ検出方法であって、
自機を移動及び回転させて、前記画像記憶部に記憶されている第1の画像により検出された物体の物体検出領域から基準領域内にある前記物体の物体検出領域を含んだ第2の画像を撮像させ、前記画像記憶部に記憶された過去の画像である前記第1の画像と、現在の画像である前記第2の画像とを比較して、前記レンズの汚れを検出する、自律移動装置のレンズの汚れ検出方法。
An autonomous movement including a driving unit that moves and rotates the own device to change the position of the own device and the direction of the own device, an imaging unit that captures an image via a lens, and an image storage unit that stores the captured image. A method for detecting contamination of a lens of an apparatus, comprising:
A second image including the object detection area of the object located within the reference area from the object detection area of the object detected by the first image stored in the image storage unit by moving and rotating the own device; Autonomous movement to compare the first image, which is a past image, stored in the image storage unit, with the second image, which is a current image, to detect dirt on the lens. A method for detecting contamination of the lens of the apparatus.
画像記憶部に記憶された第1の画像が撮像された時の自機位置及び自機の向きから所定の範囲内の自機位置及び自機の向き、又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像を撮像する自機位置及び自機の向きに駆動部によって自機を移動及び回転させることにより、撮像部に第2の画像を撮像させる撮像ステップと、
前記駆動部、前記撮像部及び前記画像記憶部を制御する制御部が、前記第1の画像の第1の画像先鋭度値と前記第2の画像の第2の画像先鋭度値とを算定する算定ステップと、
前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記制御部は、前記撮像部のレンズが汚れていると判定する判定ステップと、
を備える自律移動装置のレンズの汚れ検出方法。
The position of the own device and the direction of the own device within a predetermined range from the position of the own device and the direction of the own device when the first image stored in the image storage unit is captured, or the first image is detected by the first image. The drive unit moves and moves the own device to the own device position and the own device direction that captures a second image including the second object detection region of the object that is within the reference region from the first object detection region of the object. An image capturing step of causing the image capturing unit to capture a second image by rotating the image capturing unit;
A control unit that controls the driving unit, the imaging unit, and the image storage unit calculates a first image sharpness value of the first image and a second image sharpness value of the second image. Calculation step;
When the second image sharpness value is lower than the first image sharpness value, the control unit determines that the lens of the imaging unit is dirty,
A method for detecting contamination of a lens of an autonomous mobile device, comprising:
自機を移動及び回転させて自機位置及び自機の向きを変化させる駆動部と、
レンズを介して画像を撮像する撮像部と、
撮像された前記画像を記憶する画像記憶部と、
前記駆動部、前記撮像部及び前記画像記憶部を制御してVisual SLAM制御を行なう制御部と、
を備えた自律移動装置のレンズの汚れ検出方法であって、
前記画像記憶部に記憶された第1の画像の特徴点と対応する前記撮像部で撮像した第2の画像の対応特徴点の数が、基準対応特徴点数未満である場合をVisual SLAM制御の失敗とし、
基準並進距離を並進する間における前記Visual SLAM制御の失敗率が基準失敗率より高い場合、レンズが汚れていると判定する、自律移動装置のレンズの汚れ検出方法。
A drive unit that moves and rotates the own machine to change the own machine position and the own machine direction,
An imaging unit that captures an image via a lens;
An image storage unit that stores the captured image,
A control unit that controls the driving unit, the imaging unit, and the image storage unit to perform Visual SLAM control;
A method for detecting dirt on a lens of an autonomous mobile device comprising:
If the number of corresponding feature points of the second image captured by the imaging unit corresponding to the feature points of the first image stored in the image storage unit is less than the number of reference corresponding feature points, the visual SLAM control fails. age,
If the failure rate of the Visual SLAM control during the translation of the reference translation distance is higher than the reference failure rate, it is determined that the lens is dirty.
コンピュータに、
画像記憶部に記憶された第1の画像が撮像された時の自機位置及び自機の向きから所定の範囲内の自機位置及び自機の向き、又は前記第1の画像により検出された物体の第1の物体検出領域から基準領域内にある前記物体の第2の物体検出領域を含んだ第2の画像を撮像する自機位置及び自機の向きに駆動部によって自機を移動及び回転させることにより、撮像部に第2の画像を撮像させる撮像ステップと、
前記駆動部、前記撮像部及び前記画像記憶部を制御する制御部が、前記第1の画像の第1の画像先鋭度値と前記第2の画像の第2の画像先鋭度値とを算定する算定ステップと、
前記第2の画像先鋭度値が前記第1の画像先鋭度値より低い場合、前記制御部は、前記撮像部のレンズが汚れていると判定する判定ステップと、
を実行させるためのプログラム。
On the computer,
The position of the own device and the direction of the own device within a predetermined range from the position of the own device and the direction of the own device when the first image stored in the image storage unit is captured, or the first image is detected by the first image. The drive unit moves and moves the own device to the own device position and the own device direction that captures a second image including the second object detection region of the object that is within the reference region from the first object detection region of the object. An image capturing step of causing the image capturing unit to capture a second image by rotating the image capturing unit;
A control unit that controls the driving unit, the imaging unit, and the image storage unit calculates a first image sharpness value of the first image and a second image sharpness value of the second image. Calculation step;
When the second image sharpness value is lower than the first image sharpness value, the control unit determines that the lens of the imaging unit is dirty,
A program for executing
JP2018152021A 2018-08-10 2018-08-10 Autonomous mobile device, method and program for detecting dirt on lenses of autonomous mobile device Active JP7354528B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018152021A JP7354528B2 (en) 2018-08-10 2018-08-10 Autonomous mobile device, method and program for detecting dirt on lenses of autonomous mobile device
JP2022110439A JP7327596B2 (en) 2018-08-10 2022-07-08 Autonomous mobile device, method and program for detecting dirt on lens of autonomous mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018152021A JP7354528B2 (en) 2018-08-10 2018-08-10 Autonomous mobile device, method and program for detecting dirt on lenses of autonomous mobile device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022110439A Division JP7327596B2 (en) 2018-08-10 2022-07-08 Autonomous mobile device, method and program for detecting dirt on lens of autonomous mobile device

Publications (2)

Publication Number Publication Date
JP2020027443A true JP2020027443A (en) 2020-02-20
JP7354528B2 JP7354528B2 (en) 2023-10-03

Family

ID=69622190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018152021A Active JP7354528B2 (en) 2018-08-10 2018-08-10 Autonomous mobile device, method and program for detecting dirt on lenses of autonomous mobile device

Country Status (1)

Country Link
JP (1) JP7354528B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022125319A (en) * 2018-08-10 2022-08-26 カシオ計算機株式会社 Autonomous mobile device, and dirt detection method and program for lens of autonomous mobile device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006230954A (en) * 2005-02-28 2006-09-07 Sharp Corp Self-propelled type robot system
JP2011223181A (en) * 2010-04-07 2011-11-04 Sanyo Electric Co Ltd Electronic camera
WO2012160901A1 (en) * 2011-05-25 2012-11-29 ソニー株式会社 Robot device, control method for robot device, computer program, and program storage medium
US20130211659A1 (en) * 2010-08-25 2013-08-15 University Of Sydney Sensor data processing
WO2013129361A1 (en) * 2012-03-02 2013-09-06 日産自動車株式会社 Three-dimensional object detection device
JP2015184903A (en) * 2014-03-24 2015-10-22 日立建機株式会社 Image processor of self-traveling industrial machine
JP2017538208A (en) * 2014-11-26 2017-12-21 アイロボット コーポレイション System and method for performing simultaneous location mapping using a machine vision system
JP2019168938A (en) * 2018-03-23 2019-10-03 東芝ライフスタイル株式会社 Autonomous electric vacuum cleaner

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006230954A (en) * 2005-02-28 2006-09-07 Sharp Corp Self-propelled type robot system
JP2011223181A (en) * 2010-04-07 2011-11-04 Sanyo Electric Co Ltd Electronic camera
US20130211659A1 (en) * 2010-08-25 2013-08-15 University Of Sydney Sensor data processing
WO2012160901A1 (en) * 2011-05-25 2012-11-29 ソニー株式会社 Robot device, control method for robot device, computer program, and program storage medium
WO2013129361A1 (en) * 2012-03-02 2013-09-06 日産自動車株式会社 Three-dimensional object detection device
JP2015184903A (en) * 2014-03-24 2015-10-22 日立建機株式会社 Image processor of self-traveling industrial machine
JP2017538208A (en) * 2014-11-26 2017-12-21 アイロボット コーポレイション System and method for performing simultaneous location mapping using a machine vision system
JP2019168938A (en) * 2018-03-23 2019-10-03 東芝ライフスタイル株式会社 Autonomous electric vacuum cleaner

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022125319A (en) * 2018-08-10 2022-08-26 カシオ計算機株式会社 Autonomous mobile device, and dirt detection method and program for lens of autonomous mobile device
JP7327596B2 (en) 2018-08-10 2023-08-16 カシオ計算機株式会社 Autonomous mobile device, method and program for detecting dirt on lens of autonomous mobile device

Also Published As

Publication number Publication date
JP7354528B2 (en) 2023-10-03

Similar Documents

Publication Publication Date Title
JP6759307B2 (en) Adaptive mapping using spatial aggregation of sensor data
KR101776622B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
KR101776621B1 (en) Apparatus for recognizing location mobile robot using edge based refinement and method thereof
KR101725060B1 (en) Apparatus for recognizing location mobile robot using key point based on gradient and method thereof
KR101366860B1 (en) Mobile robot and controlling method of the same
Pradeep et al. Robot vision for the visually impaired
KR101784183B1 (en) APPARATUS FOR RECOGNIZING LOCATION MOBILE ROBOT USING KEY POINT BASED ON ADoG AND METHOD THEREOF
CN110968083B (en) Method for constructing grid map, method, device and medium for avoiding obstacles
JP6323439B2 (en) Autonomous mobile device, autonomous mobile method and program
JP6724439B2 (en) Autonomous mobile device, autonomous mobile system, autonomous mobile method and program
JP6187623B1 (en) Autonomous mobile device, autonomous mobile method and program
JP6311695B2 (en) Autonomous mobile device, autonomous mobile method and program
US11960297B2 (en) Robot generating map based on multi sensors and artificial intelligence and moving based on map
CN207488823U (en) A kind of mobile electronic device
JP2017107425A (en) Autonomous mobile device, autonomous moving method and program
Zhang et al. An indoor navigation aid for the visually impaired
CN108481327A (en) A kind of positioning device, localization method and the robot of enhancing vision
JP7354528B2 (en) Autonomous mobile device, method and program for detecting dirt on lenses of autonomous mobile device
US11774983B1 (en) Autonomous platform guidance systems with unknown environment mapping
JP7327596B2 (en) Autonomous mobile device, method and program for detecting dirt on lens of autonomous mobile device
JP2018156538A (en) Autonomous mobile device, image processing method and program
JP6638753B2 (en) Autonomous mobile device, autonomous mobile method and program
CN111971149A (en) Recording medium, information processing apparatus, and information processing method
Cumani et al. Robot localisation and mapping with stereo vision.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230525

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7354528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150