JP6724439B2 - Autonomous mobile device, autonomous mobile system, autonomous mobile method and program - Google Patents

Autonomous mobile device, autonomous mobile system, autonomous mobile method and program Download PDF

Info

Publication number
JP6724439B2
JP6724439B2 JP2016049544A JP2016049544A JP6724439B2 JP 6724439 B2 JP6724439 B2 JP 6724439B2 JP 2016049544 A JP2016049544 A JP 2016049544A JP 2016049544 A JP2016049544 A JP 2016049544A JP 6724439 B2 JP6724439 B2 JP 6724439B2
Authority
JP
Japan
Prior art keywords
communication
autonomous mobile
mobile device
map
route
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.)
Active
Application number
JP2016049544A
Other languages
Japanese (ja)
Other versions
JP2017167625A5 (en
JP2017167625A (en
Inventor
玲 浜田
玲 浜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2016049544A priority Critical patent/JP6724439B2/en
Publication of JP2017167625A publication Critical patent/JP2017167625A/en
Publication of JP2017167625A5 publication Critical patent/JP2017167625A5/ja
Application granted granted Critical
Publication of JP6724439B2 publication Critical patent/JP6724439B2/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)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、自律移動装置、自律移動システム、自律移動方法及びプログラムに関する。 The present invention relates to an autonomous mobile device, an autonomous mobile system, an autonomous mobile method, and a program.

用途に応じて自律的に移動する自律移動装置が普及してきている。例えば、屋内の掃除のために自律的に移動する自律移動装置が知られている。一般的に、このような自律移動装置は、実空間の地図の作成と、実空間内での自機位置の推定を行う必要がある。実空間の地図を作成するための手法としては、例えばSLAM(Simultaneous Localization And Mapping)法が知られている。単眼カメラを用いたSLAM技術の基本的な原理は、非特許文献1及び非特許文献2に記載されており、カメラの撮影する動画像の複数フレームから、同一の特徴点を追跡することで、自機の3次元位置(カメラ位置)と特徴点の3次元位置(これが集まって地図の情報を構成する)とを交互または同時に推定する処理を行っている。 2. Description of the Related Art Autonomous mobile devices that move autonomously according to their use have become popular. For example, an autonomous mobile device that autonomously moves for indoor cleaning is known. Generally, such an autonomous mobile device needs to create a map of the real space and estimate its own position in the real space. A SLAM (Simultaneous Localization And Mapping) method is known as a method for creating a map of a real space. The basic principle of SLAM technology using a monocular camera is described in Non-Patent Document 1 and Non-Patent Document 2, and by tracking the same feature point from multiple frames of a moving image captured by the camera, A process of estimating the three-dimensional position of the own device (camera position) and the three-dimensional position of the feature point (collectively forming the information of the map) alternately or simultaneously is performed.

この自律移動装置の画像認識・音声認識等の計算処理を、ネットワーク接続した外部の計算装置で処理させると、ネットワーク通信機能が必要となる代わりに、自律移動装置側の計算パワーや記憶容量の節約(それらに付随して冷却機構の省略やバッテリ等の軽量化)、データベースの大規模化とリアルタイム共有化、アップデートの容易さ等、多くのメリットが得られる。 When the calculation processing such as image recognition and voice recognition of the autonomous mobile device is processed by an external computing device connected to the network, the network communication function is required, but the calculation power and storage capacity of the autonomous mobile device are saved. (Along with them, the omission of the cooling mechanism and the weight reduction of the battery etc.), the large scale of the database, the real time sharing, the ease of updating, and many other advantages can be obtained.

このような無線通信を行う移動ロボットの先行技術として、特許文献1には、無線通信が切断される場所に移動した場合であっても、自律的に無線通信を復旧できる場所に移動することが可能な移動ロボットが開示されている。 As a prior art of a mobile robot that performs such wireless communication, Patent Document 1 discloses that even when the wireless robot moves to a location where wireless communication is disconnected, it can autonomously move to a location where wireless communication can be restored. Possible mobile robots are disclosed.

特開2008−87102号公報JP, 2008-87102, A

Andrew J.Davison, “Real−Time Simultaneous Localization and Mapping with a Single Camera”, Proceedings of the 9th IEEE International Conference on Computer Vision Volume 2, 2003, pp.1403−1410Andrew J. Davison, "Real-Time Simultaneous Localization and Mapping with a Single Camera", Proceedings of the 9th IEEE International Conference on Computer Vs. 1403-1410 Richard Hartley, Andrew Zisserman, “Multiple View Geometry in Computer Vision”, Second Edition, Cambridge. University Press, March 2004, chapter 9Richard Hartley, Andrew Zisserman, "Multiple View Geometry in Computer Vision," Second Edition, Cambridge. University Press, March 2004, chapter 9

しかし、特許文献1に開示された技術では、通信が切断されると、本来の目的地は無視して通信可能な場所に移動するため、通信が切断されないように目的地に移動することはできなかった。 However, in the technique disclosed in Patent Document 1, when the communication is disconnected, the original destination is ignored and the device moves to a place where communication is possible. Therefore, it is possible to move to the destination without disconnecting the communication. There wasn't.

本発明は、上記問題を解決するためになされたものであり、通信が切断されないように目的地に移動することができる自律移動装置等を提供することを目的する。 The present invention has been made to solve the above problem, and an object of the present invention is to provide an autonomous mobile device or the like that can move to a destination so that communication is not disconnected.

上記目的を達成するため、本発明の自律移動装置は、
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成部と、
前記撮像部が撮影した複数の画像の情報を用いて前記自律移動装置の位置を推定する位置推定部と、
外部の通信機と通信する際の通信品質を測定する通信品質測定部と、
前記位置推定部が推定した前記自律移動装置の位置と前記通信品質測定部が測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成部と、
前記地図作成部が作成した地図と、前記通信品質地図作成部が作成した通信品質地図とを用いて、目的地までの経路を探索する経路探索部と、
前記経路探索部が探索した経路において通信品質が所定の閾値より低い領域である通信不良領域を通過するのに必要な時間である通信不良時間を取得する通信不良時間取得部と、を備え、
前記経路探索部は、前記通信不良時間が許容レイテンシ以下の場合には前記通信不良領域を通る経路を探索し、
さらに、前記自律移動装置の速度を設定する速度設定部を備え、
前記通信不良時間取得部は、前記自律移動装置が現在の速度よりも高い最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が前記現在の速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシを超え、かつ、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索部は前記通信不良領域を通る経路を探索し、前記速度設定部は前記自律移動装置の速度を前記最大速度に設定し、
前記通信不良時間取得部が取得した通信不良時間、及び、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間がいずれも前記許容レイテンシを超える場合には、前記経路探索部は、前記通信不良領域を通らない経路を探索する、
とを特徴とする。
In order to achieve the above object, the autonomous mobile device of the present invention,
A map creation unit that creates a map using information of a plurality of images captured by the imaging unit;
A position estimation unit that estimates the position of the autonomous mobile device using information of a plurality of images captured by the imaging unit;
A communication quality measurement unit that measures the communication quality when communicating with an external communication device,
A communication quality map creation unit that creates a communication quality map using the position of the autonomous mobile device estimated by the position estimation unit and the communication quality measured by the communication quality measurement unit,
A route search unit that searches for a route to a destination using the map created by the map creation unit and the communication quality map created by the communication quality map creation unit,
A communication failure time acquisition unit that acquires a communication failure time that is a time required to pass through a communication failure area that is an area in which communication quality is lower than a predetermined threshold value in the path searched by the path search unit,
The route search unit searches for a route through the communication failure area when the communication failure time is equal to or less than the allowable latency,
Furthermore, a speed setting unit for setting the speed of the autonomous mobile device is provided,
The communication failure time acquisition unit acquires the communication failure time when the autonomous mobile device moves at a maximum speed higher than the current speed,
The acquired communication failure time when the autonomous mobile device moves at the current speed exceeds the allowable latency, and the acquired communication when the autonomous mobile device moves at the maximum speed When the defective time is less than or equal to the allowable latency, the route search unit searches for a route passing through the defective communication area, the speed setting unit sets the speed of the autonomous mobile device to the maximum speed,
If the communication failure time acquired by the communication failure time acquisition unit, and the acquired communication failure time when the autonomous mobile device moves at the maximum speed, both exceed the allowable latency, the route The search unit searches for a route that does not pass through the poor communication area.
And wherein a call.

本発明によれば、通信が切断されないように目的地に移動することができる。 According to the present invention, it is possible to move to a destination without disconnecting communication.

実施形態に係る自律移動装置の外観を示す図である。It is a figure which shows the external appearance of the autonomous mobile device which concerns on embodiment. 実施形態に係る自律移動装置の構成を示す図である。It is a figure which shows the structure of the autonomous mobile device which concerns on embodiment. (a)実施形態に係るシステム構成のうちネットワーク経由の構成を示す図である。(b)実施形態に係るシステム構成のうち直接通信での構成を示す図である。(A) It is a figure which shows the structure via a network among the system structures which concern on embodiment. (B) It is a figure which shows the structure in direct communication among the system structures which concern on embodiment. 実施形態に係る自律移動制御処理全体のフローチャートを示す図である。It is a figure which shows the flowchart of the whole autonomous movement control process which concerns on embodiment. 実施形態に係る自律移動制御処理の中の自機位置推定スレッドの処理のフローチャートを示す図である。It is a figure which shows the flowchart of the process of the own machine position estimation thread in the autonomous movement control process which concerns on embodiment. 実施形態に係る自律移動制御処理の中の地図作成スレッドの処理のフローチャートを示す図である。It is a figure which shows the flowchart of the process of the map creation thread in the autonomous movement control process which concerns on embodiment. 地図兼経路コストマップS(x,y)の具体例を示す図である。It is a figure which shows the specific example of a map and route cost map S (x, y). 通信品質コストマップC(x,y)の具体例を示す図である。It is a figure which shows the specific example of communication quality cost map C (x, y). 実施形態に係る自律移動制御処理の中のループクロージングスレッドの処理のフローチャートを示す図である。It is a figure which shows the flowchart of the process of the loop closing thread in the autonomous movement control process which concerns on embodiment. 第1の実施形態に係る目的地への経路計画のフローチャートを示す図である。It is a figure which shows the flowchart of the route plan to the destination which concerns on 1st Embodiment. (a)第1の実施形態に係る目的地への経路計画の具体例を地図兼経路コストマップS(x,y)で説明する図である。(b)第1の実施形態に係る目的地への経路計画の具体例を経路探索用コストマップT(x,y)で説明する図である。(A) It is a figure explaining the specific example of the route plan to the destination which concerns on 1st Embodiment with the map and route cost map S (x, y). (B) It is a figure explaining the specific example of the route plan to the destination which concerns on 1st Embodiment with the route search cost map T(x, y). 第2の実施形態に係る目的地への経路計画のフローチャートを示す図である。It is a figure which shows the flowchart of the route planning to the destination which concerns on 2nd Embodiment. (a)第2の実施形態に係る目的地への経路計画の具体例を経路探索用コストマップT(x,y)で説明する図である。(b)第2の実施形態に係る目的地への経路計画の具体例を通信品質コストマップC(x,y)で説明する図である。(A) It is a figure explaining the specific example of the route plan to the destination which concerns on 2nd Embodiment with the route search cost map T (x, y). (B) It is a figure explaining the specific example of the route plan to the destination which concerns on 2nd Embodiment with the communication quality cost map C (x, y). (a)第2の実施形態に係る目的地への経路計画の別の具体例を経路探索用コストマップT(x,y)で説明する図である。(b)第2の実施形態に係る目的地への経路計画の別の具体例を更新された経路探索用コストマップT(x,y)で説明する図である。(A) It is a figure explaining another specific example of the route plan to the destination concerning a 2nd embodiment with route search cost map T (x, y). (B) It is a figure explaining another specific example of the route plan to the destination which concerns on 2nd Embodiment by the updated route search cost map T(x, y).

以下、図1を参照しながら、本発明の実施形態に係る自律移動装置について説明する。自律移動装置100は、用途に応じて自律的に移動する。この用途とは、例えば、警備監視用、屋内掃除用、ペット用、玩具用などである。 Hereinafter, an autonomous mobile device according to an embodiment of the present invention will be described with reference to FIG. The autonomous mobile device 100 autonomously moves according to the purpose. Examples of this application include security monitoring, indoor cleaning, pets, toys, and the like.

自律移動装置100は、外観上、撮像部41、駆動部42を備える。 The autonomous mobile device 100 is externally provided with an imaging unit 41 and a drive unit 42.

撮像部41は、単眼の撮像装置(カメラ)を備える。撮像部41は、例えば、30fpsで画像(フレーム)を取得する。自律移動装置100は、撮像部41が逐次取得した画像に基づいて、自機位置と周囲環境とをリアルタイムに認識しながら、自律移動を行う。 The imaging unit 41 includes a monocular imaging device (camera). The imaging unit 41 acquires an image (frame) at 30 fps, for example. The autonomous mobile device 100 performs autonomous movement while recognizing its own position and the surrounding environment in real time based on the images sequentially acquired by the imaging unit 41.

駆動部42は、独立2輪駆動型であって、車輪とモータとを備える移動手段である。自律移動装置100は、2つの車輪の同一方向駆動により前後の平行移動(並進移動)を、2つの車輪の逆方向駆動によりその場での回転(向き変更)を、2つの車輪のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。また、各々の車輪にはロータリエンコーダが備えられており、ロータリエンコーダで車輪の回転数を計測し、車輪の直径や車輪間の距離等の幾何学的関係を利用することで並進移動量及び回転量を計算できる。 The drive unit 42 is an independent two-wheel drive type, and is a moving unit including wheels and a motor. The autonomous mobile device 100 drives front and rear parallel movements (translational movements) by driving two wheels in the same direction, and performs rotation (direction change) on the spot by driving the two wheels in opposite directions to change speeds of the two wheels. By changing the drive, the turning movement (translation+rotation (direction change) movement) can be performed. In addition, each wheel is equipped with a rotary encoder.By measuring the number of rotations of the wheel with the rotary encoder and using geometrical relationships such as the diameter of the wheels and the distance between the wheels, the amount of translational movement and rotation You can calculate the quantity.

例えば、車輪の直径をD、回転数をR(ロータリエンコーダにより測定)とすると、その車輪の接地部分での並進移動量はπ・D・Rとなる。また、車輪の直径をD、車輪間の距離をI、右車輪の回転数をR、左車輪の回転数をRとすると、向き変更の回転量は(右回転を正とすると)360°×D×(R−R)/(2×I)となる。この並進移動量や回転量を逐次足し合わせていくことで、駆動部42は、いわゆるオドメトリとして機能し、自機位置(移動開始時の位置及び向きを基準とした位置及び向き)を計測することができる。 For example, if the diameter of the 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. Further, if the diameter of the wheels is D, the distance between the wheels is I, the rotation speed of the right wheel is RR , and the rotation speed of the left wheel is RL , the rotation amount of the direction change (when the right rotation is positive) is 360. It becomes (degree)*D*( RL- RR )/(2*I). By sequentially adding the translational movement amount and the rotation amount, the drive unit 42 functions as so-called odometry and measures the position of the own device (the position and the direction based on the position and the direction at the start of the movement). You can

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

図2に示すように、自律移動装置100は、撮像部41、駆動部42に加えて、制御部10、記憶部20、センサ部30、入力部43、通信部44、電源45、を備える。 As shown in FIG. 2, the autonomous mobile device 100 includes a control unit 10, a storage unit 20, a sensor unit 30, an input unit 43, a communication unit 44, and a power supply 45, in addition to the imaging unit 41 and the driving unit 42.

制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(地図作成部11、位置推定部12、通信品質測定部13、通信品質地図作成部14、経路探索部15)の機能を実現する。 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 so that each unit (a map creating unit 11, a position estimating unit 12, a communication quality measuring unit 13, which will be described later), The functions of the communication quality map creation unit 14 and the route search unit 15) are realized.

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

画像記憶部21には、撮像部41が撮影した画像が記憶される。ただし、記憶容量の節約のために、撮影したすべての画像を記憶しなくてもよく、また画像自体ではなく、画像の特徴量を記憶するようにしても良い。 The image storage unit 21 stores the image captured by the image capturing unit 41. However, in order to save the storage capacity, not all captured images may be stored, and the feature amount of the image may be stored instead of the image itself.

地図記憶部22には、後述するSLAM法や距離センサ31からの情報に基づいて地図作成部11が作成した地図(壁や障害物の情報)が記憶される。 The map storage unit 22 stores a map (information on walls and obstacles) created by the map creation unit 11 based on information from the SLAM method and the distance sensor 31 described later.

通信品質地図記憶部23には、後述する通信品質地図作成部14が作成した通信品質地図が記憶される。 The communication quality map storage unit 23 stores the communication quality map created by the communication quality map creating unit 14 described later.

経路探索用地図記憶部24には、地図記憶部22と通信品質地図記憶部23の情報から作成した、通信品質を考慮した経路を探索するために用いる経路探索用地図が記憶される。 The route search map storage unit 24 stores a route search map created from the information in the map storage unit 22 and the communication quality map storage unit 23 and used for searching a route in consideration of communication quality.

センサ部30として、距離センサ31を備える。距離センサ31は、周囲の壁や障害物までの距離を測定するセンサであって、例えば、赤外線や超音波を用いたセンサである。なお、独立した距離センサ31を搭載せずに、撮像部41を用いて壁や障害物までの距離を測定するようにしても良い。また、他の物体に衝突したことを検知するバンパーセンサー(図示せず)を備えても良い。 A distance sensor 31 is provided as the sensor unit 30. The distance sensor 31 is a sensor that measures the distance to surrounding walls and obstacles, and is, for example, a sensor that uses infrared rays or ultrasonic waves. Note that the distance to a wall or an obstacle may be measured using the imaging unit 41 without mounting the independent distance sensor 31. Further, a bumper sensor (not shown) for detecting a collision with another object may be provided.

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

通信部44は、外部の通信機200と無線通信するための無線モジュールである。一般的には電波を用いた無線LAN(Local Area Network)モジュールであるが、赤外線や可視光を用いたものであっても良い。なお、外部の通信機200との通信においては、図3(a)に示すように、ネットワーク経由で通信しても良いし、図3(b)に示すように直接通信しても良い。図3に示すように、自律移動装置100だけでなく通信機200も通信部44を備える。 The communication unit 44 is a wireless module for wirelessly communicating with the external communication device 200. Generally, it is a wireless LAN (Local Area Network) module using radio waves, but infrared or visible light may be used. In communication with the external communication device 200, communication may be performed via a network as shown in FIG. 3A or may be directly performed as shown in FIG. 3B. As shown in FIG. 3, not only the autonomous mobile device 100 but also the communication device 200 includes the communication unit 44.

電源45は、自律移動装置100を動作させる電源であり、一般的には内蔵された充電池であるが、太陽電池であっても良いし、床面から無線で電力供給されるシステムであっても良い。電源45が充電池の場合は、充電ステーション(ホームベース)に自律移動装置100がドッキングすることで充電される。 The power source 45 is a power source for operating the autonomous mobile device 100 and is generally a built-in rechargeable battery, but may be a solar cell or a system in which power is wirelessly supplied from the floor. Is also good. When the power source 45 is a rechargeable battery, the autonomous mobile device 100 is docked at a charging station (home base) to be charged.

次に、制御部10の機能について説明する。制御部10は、地図作成部11、位置推定部12、通信品質測定部13、通信品質地図作成部14、経路探索部15を含み、後述する通信品質地図の作成や自律移動装置100の移動制御等を行う。また、制御部10は、マルチスレッド機能に対応しており、複数のスレッド(異なる処理の流れ)を並行して進めることができる。 Next, the function of the control unit 10 will be described. The control unit 10 includes a map creation unit 11, a position estimation unit 12, a communication quality measurement unit 13, a communication quality map creation unit 14, and a route search unit 15, and creates a communication quality map described later and controls movement of the autonomous mobile device 100. And so on. Further, the control unit 10 is compatible with the multi-thread function and can advance a plurality of threads (different processing flows) in parallel.

地図作成部11は、画像記憶部21に記憶されている画像の情報並びに該画像撮影時の自機の位置及び向きの情報に基づいてSLAM法を用いて推定された特徴点(Map点)の位置や、距離センサ31で壁や障害物を検知したときの自機の位置及び向きの情報に基づいて得られた壁や障害物の位置等を、地図の情報として地図記憶部22に記憶する。 The map creation unit 11 determines the characteristic points (Map points) estimated by using the SLAM method based on the information of the image stored in the image storage unit 21 and the information of the position and the direction of the own device at the time of capturing the image. The position, the position of the wall or the obstacle obtained based on the position and orientation information of the own device when the distance sensor 31 detects the wall or the obstacle, and the like are stored in the map storage unit 22 as map information. ..

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

通信品質測定部13は、通信部44で外部の通信機200と通信する際の通信品質を測定する。 The communication quality measuring unit 13 measures the communication quality when the communication unit 44 communicates with the external communication device 200.

通信品質地図作成部14は、自律移動装置100の周囲の各地点において、通信品質測定部13で外部の通信機200と通信する際の通信品質を測定し、通信品質地図(各地点での通信品質が記録された地図)を作成する。 The communication quality map creation unit 14 measures the communication quality when the communication quality measurement unit 13 communicates with the external communication device 200 at each point around the autonomous mobile device 100, and the communication quality map (communication at each point) is performed. Create a map with quality recorded).

経路探索部15は、経路探索用地図記憶部24に記憶された地図の情報に基づいて経路を探索する。 The route search unit 15 searches for a route based on the map information stored in the route search map storage unit 24.

自律移動装置100の自律移動制御処理のメインフローを図4を参照して説明する。制御部10は、まず、目的地を示す変数(目的地)に初期値である「未設定」をセットする(ステップS101)。次に、制御部10は、自機位置推定スレッドを起動する(ステップS102)。そして、地図作成スレッドを起動する(ステップS103)。次に、ループクロージングスレッドを起動する(ステップS104)。自機位置推定スレッドや地図作成スレッドが動作することで、SLAM法に基づいて、地図の情報及びビジュアルオドメトリ(地図と画像とを用いて推定した自機位置の情報)の生成が開始される。その後、制御部10は、動作終了かどうかを判定し(ステップS105)、動作終了なら(ステップS105;Yes)動作を終了し、動作終了でなければ(ステップS105;No)、距離センサ31とビジュアルオドメトリを利用して地図の更新を行う(ステップS106)。 The main flow of the autonomous movement control process of the autonomous mobile device 100 will be described with reference to FIG. The control unit 10 first sets an initial value “unset” to a variable indicating a destination (destination) (step S101). Next, the control unit 10 activates the own device position estimation thread (step S102). Then, the map creation thread is activated (step S103). Next, the loop closing thread is activated (step S104). The operation of the own-vehicle position estimation thread and the map creation thread starts generation of map information and visual odometry (information of own-vehicle position estimated using the map and the image) based on the SLAM method. After that, the control unit 10 determines whether the operation is completed (step S105), and if the operation is completed (step S105; Yes), the operation is completed, and if the operation is not completed (step S105; No), the distance sensor 31 and the visual sensor are detected. The map is updated using the odometry (step S106).

次に制御部10は、目的地への移動指示があるか否かを判定する(ステップS107)。移動指示があれば(ステップS107;Yes)、指示された目的地を目的地を示す変数(目的地)に設定し(ステップS110)、目的地への経路計画を行う(ステップS111)。目的地への経路計画の詳細は後述する。そして、制御部10は、経路計画により設定された経路に沿って移動を行うために駆動部42に動作指示を出し(ステップS112)、ステップS105に戻る。 Next, the control unit 10 determines whether or not there is an instruction to move to the destination (step S107). If there is a movement instruction (step S107; Yes), the instructed destination is set as a variable indicating the destination (destination) (step S110), and a route to the destination is planned (step S111). Details of route planning to the destination will be described later. Then, the control unit 10 issues an operation instruction to the drive unit 42 to move along the route set by the route plan (step S112), and returns to step S105.

目的地への移動指示がなければ(ステップS107;No)、制御部10は、目的地が未設定であるか否かを判定する(ステップS108)。目的地が未設定の場合は(ステップS108;Yes)、自由な自律移動を行い(ステップS109)、ステップS105に戻る。自由な自律移動とは、ランダムに動き回るような移動でも良いし、地図を作成するために部屋の中をくまなく動き回るような移動でも良い。 If there is no instruction to move to the destination (step S107; No), the control unit 10 determines whether the destination has not been set (step S108). When the destination is not set (step S108; Yes), free autonomous movement is performed (step S109), and the process returns to step S105. The free autonomous movement may be movement that randomly moves around, or movement that moves around the room to create a map.

目的地が設定されている場合は(ステップS108;No)、経路計画により経路が設定されているので、その経路に沿って移動を行うために制御部10は駆動部42に動作指示を出し(ステップS112)、ステップS105に戻る。なお、目的地を示す変数(目的地)はスレッドをまたいで値を参照することができるように記憶部20に記憶されている。 If the destination is set (step S108; No), the route is set according to the route plan, and therefore the control unit 10 issues an operation instruction to the drive unit 42 in order to move along the route ( (Step S112) and the process returns to step S105. The variable indicating the destination (destination) is stored in the storage unit 20 so that the value can be referred to across threads.

このメインフローの処理により、地図を更新しながら自律的に移動を行いつつ、移動指示を受けた目的地に効率の良い移動経路を経て移動することができる。典型的な例としては、自律移動装置100は最初、充電ステーションに置いてある状態で電源を投入すると、距離センサ31を頼りとして、家の各部屋をくまなく移動し、距離センサ31によって壁等の障害物位置を特定し、障害物位置を含む地図の情報を作成することができる。地図がある程度作成されると、地図の情報がまだないが移動可能と考えられる領域を知ることができ、その領域に自律的に移動する等して、より広範囲の地図の作成を促すこともできるようになる。そして、移動可能なほぼ全域の地図の情報が作成されれば、地図の情報を利用した効率的な移動動作が可能になる。例えば部屋のどの位置からでも最短経路で充電ステーションに戻ったり、効率的に部屋の掃除をしたりすることが可能になる。 By the processing of this main flow, it is possible to autonomously move while updating the map and move to the destination instructed to move through an efficient moving route. As a typical example, when the autonomous mobile device 100 is first turned on while being placed in a charging station, the autonomous mobile device 100 relies on the distance sensor 31 to move through each room of the house, and the distance sensor 31 causes a wall or the like to move. It is possible to specify the obstacle position of and to create map information including the obstacle position. Once the map has been created to some extent, it is possible to know the area where there is no map information yet, but it is considered to be movable, and it is possible to encourage the creation of a wider map by autonomously moving to that area. Like Then, if the map information of almost the entire movable area is created, the efficient movement operation using the map information becomes possible. For example, from any position in the room, it is possible to return to the charging station by the shortest route or efficiently clean the room.

次に、自律移動装置100のメインフロー(図4)のステップS102で起動される自機位置推定スレッドについて、図5を参照して説明する。このスレッドは、位置推定部12が、最初に初期化処理を行い、その後自機位置推定(撮像部41で取得した画像を用いてビジュアルオドメトリにより自機位置を推定する)を続ける処理である。 Next, the self-position estimation thread started in step S102 of the main flow of the autonomous mobile device 100 (FIG. 4) will be described with reference to FIG. This thread is a process in which the position estimation unit 12 first performs an initialization process and then continues the estimation of the position of the own device (the position of the own device is estimated by visual odometry using the image acquired by the imaging unit 41).

位置推定部12は、まず、推定状態変数に「初期化中」をセットする(ステップS201)。推定状態変数は、その時点の自機位置推定処理の状態を示し、「初期化中」「追跡成功」「追跡失敗」の三つの値を取る。次に、動作終了か否かを判定する(ステップS202)。動作終了なら(ステップS202;Yes)終了し、動作終了でないなら(ステップS202;No)、推定状態変数が「初期化中」であるか否かを判定する(ステップS203)。初期化中でないなら(ステップS203;No)ステップS221以降の自機位置推定処理を行い、初期化中なら(ステップS203;Yes)ステップS204に進んで初期化処理を行う。まず初期化処理について説明する。 The position estimation unit 12 first sets "initializing" in the estimated state variable (step S201). The estimated state variable indicates the state of the own device position estimation processing at that time, and takes three values of “initializing”, “tracking success”, and “tracking failure”. Next, it is determined whether the operation is completed (step S202). If the operation is ended (step S202; Yes), the operation is ended, and if the operation is not ended (step S202; No), it is determined whether or not the estimated state variable is "initializing" (step S203). If the initialization is not in progress (step S203; No), the own position estimation process after step S221 is performed, and if the initialization is in progress (step S203; Yes), the process proceeds to step S204 to perform the initialization process. First, the initialization process will be described.

初期化処理では位置推定部12はまずフレームカウンタNに−1をセットし(ステップS204)、撮像部41で画像を取得する(ステップS205)。画像は例えば30fpsで取得することができる(取得した画像はフレームとも呼ばれる)。次に、位置推定部12は、撮像部41で取得した画像に含まれている2D特徴点を取得する(ステップS206)。 In the initialization process, the position estimating unit 12 first sets -1 in the frame counter N (step S204), and the image capturing unit 41 acquires an image (step S205). The image can be acquired at, for example, 30 fps (the acquired image is also called a frame). Next, the position estimation unit 12 acquires 2D feature points included in the image acquired by the imaging unit 41 (step S206).

2D特徴点とは、画像中のエッジ部分など、画像内の特徴的な部分であり、SIFT(Scale−Invariant Future Transform)やSURF(Speed−Up Robust Features)等のアルゴリズムを用いて取得することができる。 A 2D feature point is a characteristic part in an image, such as an edge part in the image, and may be acquired using an algorithm such as SIFT (Scale-Invariant Future Transform) or SURF (Speed-Up Robust Features). it can.

取得した2D特徴点の個数が少ないと、後述するTwo−view Structure from Motion法での計算ができないため、位置推定部12は、2D特徴点の取得数と基準値(例えば10個)とを比較し(ステップS207)、基準値未満だった場合(ステップS207;No)はステップS205に戻り、基準値以上の2D特徴点数が得られるまで、画像の取得と2D特徴点の取得とを繰り返す。なお、この時点ではまだ地図の情報は作成できていないが、例えば上述した典型的な例では、距離センサ31を頼りとして、家の各部屋をくまなく移動し始めているため、この初期化処理で画像取得と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, and thus the position estimation unit 12 compares the acquired number of 2D feature points with a reference value (for example, 10). If it is less than the reference value (step S207; No), the process returns to step S205 and the image acquisition and the 2D feature point acquisition are repeated until the number of 2D feature points equal to or more than the reference value is obtained. At this point in time, map information has not been created, but in the above-described typical example, since the distance sensor 31 is used as a starting point, all the rooms of the house are starting to move. If image acquisition and 2D feature point acquisition are repeated, image acquisition will be repeated while moving. Therefore, it can be expected that various images can be acquired and eventually an image having a large number of 2D feature points can be acquired.

2D特徴点の取得数が基準値以上だった場合は(ステップS207;Yes)、位置推定部12はフレームカウンタNをインクリメントする(ステップS208)。そして、フレームカウンタNが0かどうかを判定する(ステップS209)。フレームカウンタNが0なら(ステップS209;Yes)画像をまだ一つしか取得していないということになるので、2枚目の画像を取得するためにステップS205に戻る。なお図5のフローチャートでは記載していないが、1枚目の画像を取得した時の自機の位置と2枚目の画像を取得する時の自機の位置とがある程度離れていた方が、これ以降の処理で推定する姿勢の精度が向上する。そこで、ステップS209からステップS205に戻る際に、メインフロー(図4)のステップS109での自由な自律移動により、オドメトリによる並進距離が所定の距離(例えば1m)以上となるまで待ってからステップS205に戻るようにしても良い。 When the number of acquired 2D feature points is equal to or greater than the reference value (step S207; Yes), the position estimation unit 12 increments the frame counter N (step S208). Then, it is determined whether the frame counter N is 0 (step S209). If the frame counter N is 0 (step S209; Yes), it means that only one image has been acquired yet, so the process returns to step S205 to acquire the second image. Although not shown in the flowchart of FIG. 5, it is preferable that the position of the self-apparatus when the first image is acquired and the position of the self-apparatus when the second image is acquired are apart from each other to some extent. The accuracy of the posture estimated in the subsequent processing is improved. Therefore, when returning from step S209 to step S205, wait until the translation distance by odometry becomes a predetermined distance (for example, 1 m) or more by the free autonomous movement in step S109 of the main flow (FIG. 4), and then step S205. You may return to.

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

この、Two−view Structure from Motion法による姿勢の推定は、具体的には、対応する特徴点から基礎行列Eを求め、基礎行列Eを並進ベクトルtと回転行列Rとに分解することによって行う(詳細は非特許文献2を参照)。なお、ここで得られる並進ベクトルt(3次元空間内で移動することを想定すると、最初の画像を取得した位置を原点として、X,Y,Zの3要素を持つ)の各要素の値は実環境上での値とは異なる(Two−view Structure from Motion法では実環境上の値自体を得ることはできず、実環境と相似する空間上での値を得ることになる。)ため、これらをSLAM空間上での値とみなし、以下ではSLAM空間上での座標(SLAM座標)を用いて説明する。 The pose estimation by the Two-view Structure from Motion method is specifically performed by obtaining a basic matrix E from the corresponding feature points and decomposing the basic matrix E into a translation vector t and a rotation matrix R ( See Non-Patent Document 2 for details). The value of each element of the translation vector t obtained here (assuming movement in a three-dimensional space has three elements of X, Y, and Z with the position where the first image is acquired as the origin) Since it is different from the value in the real environment (the Two-view Structure from Motion method cannot obtain the value itself in the real environment, but the value in the space similar to the real environment). These are regarded as values in the SLAM space, and will be described below using coordinates in the SLAM space (SLAM coordinates).

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

2D特徴点の画像中の座標(フレーム座標:既知)を(u,v)とし、その2D特徴点のSLAM座標での3D位置(未知)を(X,Y,Z)とすると、これらを同次座標で表したときのこれらの関係は、透視投影行列Pを用いて下記の式(1)で表される。ここで、「〜」記号は「非零の定数倍を除いて等しい」(つまり、等しいか又は定数(非零)倍になっている)ことを表し、「’」記号は「転置」を表す。
(u v 1)’〜P(X Y Z 1)’…(1)
If the coordinates (frame coordinates: known) of the 2D feature point in the image are (u, v) and the 3D position (unknown) in SLAM coordinates of the 2D feature point is (X, Y, Z), these are the same. These relationships when expressed by the secondary coordinates are expressed by the following equation (1) using the perspective projection matrix P. Here, the symbol "~" means "equal except constant multiples of non-zero" (that is, equal or multiplied by a constant (non-zero) times), and the symbol "'" represents "transposition". ..
(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 derived from the 3×3 matrix A indicating the internal parameters of the camera and the external parameters R and t indicating the orientation (frame orientation) of the image. It is represented by (2). Here, (R|t) represents a matrix in which the translation column vector t is arranged to the right of the rotation matrix R.
P=A(R|t)...(2)

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

二つの画像間で対応が取れている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 that are associated between the two images is one of the frame coordinates (u 1 , v 1 ) of the first image and the frame coordinates (u 2 , v 2 of the second image. ), the following equations (3) and (4) can be 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 on the right side of the matrix L.
(U 1 v 1 1)′ to A(I|0)(XYZ 1)′... (3)
(U 2 v 2 1) ' ~A (R | t) (X Y Z 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とが異なる場合がありうる。このような場合は、過剰条件の連立一次方程式となり、一般には解が存在しないが、地図作成部11は、最小二乗法を用いて、最も確からしいX,Y,Zを求める。 In the above equations (3) and (4), since there are equations for u 1 , v 1 , u 2 , and v 2, respectively, there are four equations, but there are three unknowns, X, Y, and Z. , X, Y, Z can be obtained, and this is the 3D position of the 2D feature point in SLAM coordinates. Since the number of equations is larger than the number of unknowns, for example, X, Y, Z obtained by u 1 , v 1 , u 2 and X, Y, Z obtained by u 1 , v 1 , v 2. Can be different from. In such a case, the simultaneous linear equations with excess conditions are present, and there is generally no solution, but the map creation unit 11 uses the least squares method to find the most probable X, Y, and Z.

2D特徴点のSLAM座標における3D位置(X,Y,Z)が求まったら、それをMap点として、地図作成部11がMap点データベース(Map点DB(Database)とも言い、地図記憶部22に格納される)に登録する(ステップS214)。Map点データベースに登録する要素としては、少なくとも、「2D特徴点のSLAM座標における3D位置であるX,Y,Z」と、「その2D特徴点の特徴量」(例えばSIFT等で得た特徴量)が必要である。 When the 3D position (X, Y, Z) in the SLAM coordinates of the 2D feature point is obtained, the map creation unit 11 stores it in the map storage unit 22 as a Map point, which is also called a Map point database (Map point DB (Database)). Registered) (step S214). As elements to be registered in the Map point database, at least "X, Y, Z which are 3D positions in SLAM coordinates of 2D feature points" and "feature amount of that 2D feature point" (for example, feature amount obtained by SIFT or the like). )is necessary.

そして、地図作成部11は、二つの画像間で対応が取れている2D特徴点(対応特徴点)の全てをMap点データベースに登録したかを判定し(ステップS215)、まだ全ての登録ができていなかったら(ステップS215;No)ステップS213に戻り、全て登録できたら(ステップS215;Yes)ステップS216に進む。 Then, the map creation unit 11 determines whether or not all of the 2D feature points (corresponding feature points) that are associated with each other between the two images are registered in the Map point database (step S215), and all can be registered. If not registered (step S215; No), the process returns to step S213, and if all are registered (step S215; Yes), the process proceeds to step S216.

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

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

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

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

以上で自機位置推定スレッドの初期化処理が完了したので、位置推定部12は、推定状態変数に「追跡成功」をセットし(ステップS219)、SLAM座標と実環境座標とのスケール対応を得るために、オドメトリによる並進距離(実環境での座標で求められる)を、上記の処理で推定したSLAM座標での並進距離dで除することによって、スケールSを求める(ステップS220)。 Since the initialization process of the own device position estimation thread is completed as described above, the position estimation unit 12 sets “successful tracking” in the estimated state variable (step S219) and obtains the scale correspondence between SLAM coordinates and actual environment coordinates. Therefore, the scale S is obtained by dividing the translational distance by odometry (obtained by the coordinates in the actual environment) by the translational distance d by the SLAM coordinates estimated by the above processing (step S220).

そして、ステップS202、ステップS203を経由して、初期化済の場合の処理であるステップS221へ進む。 Then, through steps S202 and S203, the process proceeds to step S221, which is the process in the case of initialization.

初期化済の場合の処理を説明する。この処理が、自機位置推定スレッドの通常時の処理であり、位置推定部12が、逐次、現在の自機の位置及び向き(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 the position estimation unit 12 sequentially estimates the current position and direction of the own device (translation vector t and rotation matrix R in SLAM coordinates). Processing.

まず、位置推定部12は、撮像部41で画像を撮影し(ステップS221)、フレームカウンタNをインクリメントする(ステップS222)。そして、特徴点取得部11は、撮像部41で撮影した画像に含まれている2D特徴点を取得する(ステップS223)。 First, the position estimation unit 12 captures an image with the imaging unit 41 (step S221) and increments the frame counter N (step S222). Then, the feature point acquisition unit 11 acquires the 2D feature points included in the image captured by the imaging unit 41 (step S223).

次に、位置推定部12は、推定状態変数が「追跡成功」か否かを判定する(ステップS224)。「追跡成功」なら(ステップS224;Yes)、位置推定部12は、フレームデータベースに登録されている一つ前のキーフレーム(キーフレーム番号がNKFである画像)の情報から、その画像の情報に含まれている2D特徴点のうち、3D位置が既知である(Map点データベースに登録されているMap点になっている)2D特徴点を取得して、その中でステップS223で取得した特徴点と対応が取れる2D特徴点(対応特徴点)の個数(特徴点対応数)を取得する(ステップS225)。 Next, the position estimation unit 12 determines whether or not the estimated state variable is “successful tracking” (step S224). If the tracking is successful (step S224; Yes), the position estimating unit 12 changes the information of the previous key frame (image whose key frame number is NKF) registered in the frame database from the information of the image. Of the included 2D feature points, the 2D feature point whose 3D position is known (being the Map point registered in the Map point database) is acquired, and the feature point acquired in step S223 among them is acquired. The number of 2D feature points (corresponding feature points) (corresponding number of feature points) that can be associated with is acquired (step S225).

推定状態変数の値が「追跡成功」でないなら(ステップS224;No)、位置推定部12は、フレームデータベースに登録されている二つ以上前のキーフレーム(キーフレーム番号がNKF未満である画像)の中から、Map点とステップS223で取得した特徴点との対応数が最大となるキーフレームと、その特徴点対応数を取得する(ステップS226)。 If the value of the estimated state variable is not “successful tracking” (step S224; No), the position estimation unit 12 determines that the key frame is two or more previous key frames registered in the frame database (images whose key frame number is less than NKF). From among these, the key frame having the maximum number of correspondences between the Map points and the feature points acquired in step S223 and the corresponding number of feature points are acquired (step S226).

そして、位置推定部12は、特徴点対応数が閾値(例えば30。以下「基準対応特徴点数」という。)より大きいか否かを判定し(ステップS227)、基準対応特徴点数以下の場合(ステップS227;No)はSLAM法で推定する姿勢の精度が悪くなるので、推定状態変数に「追跡失敗」をセットし(ステップS230)、位置の推定は行わずにステップS202に戻る。 Then, the position estimating unit 12 determines whether or not the number of corresponding feature points is larger than a threshold value (for example, 30. Hereafter, referred to as “reference corresponding feature point number”) (step S227), and if the number is less than or equal to the reference corresponding feature point (step S227). In S227; No), the accuracy of the posture estimated by the SLAM method becomes poor, so "tracking failure" is set in the estimated state variable (step S230), and the position is not estimated and the process returns to step S202.

特徴点対応数が基準対応特徴点数より大きい場合は(ステップS227;Yes)、ステップS225又はステップS226において特徴点対応数を取得したキーフレームの近傍のキーフレーム(特徴点対応数を取得したキーフレームと、所定の割合以上(例えば30%以上)特徴点の重なりが存在するキーフレーム)に含まれるMap点と対応が取れるステップS223で取得した特徴点(対応特徴点)の個数(特徴点対応数)を位置推定部12が取得する(ステップS228)。 If the number of corresponding feature points is larger than the number of corresponding corresponding feature points (step S227; Yes), a key frame in the vicinity of the key frame for which the corresponding number of corresponding feature points is acquired in step S225 or step S226 (key frame for which the corresponding number of corresponding feature points is acquired) And the number of feature points (corresponding feature points) acquired in step S223 (corresponding feature point correspondence number) that can be associated with Map points included in a key frame in which feature points overlap at a predetermined ratio or more (for example, 30% or more) ) Is acquired by the position estimation unit 12 (step S228).

そして、位置推定部12は、特徴点対応数が閾値(例えば50。以下「第2の基準対応特徴点数」という。)より大きいか否かを判定し(ステップS229)、第2の基準対応特徴点数以下なら(ステップS229;No)、推定状態変数に「追跡失敗」をセットし(ステップS230)、位置の推定は行わずにステップS202に戻る。特徴点対応数が第2の基準対応特徴点数よりも大きければ(ステップS229;Yes)、ステップS231に進む。 Then, the position estimation unit 12 determines whether or not the number of corresponding feature points is larger than a threshold value (for example, 50. Hereinafter, referred to as “second reference corresponding feature point number”) (step S229), and the second reference corresponding feature. If it is less than or equal to the score (step S229; No), "tracking failure" is set in the estimated state variable (step S230), and the position is not estimated and the process returns to step S202. If the number of corresponding feature points is larger than the number of second corresponding feature points (step S229; Yes), the process proceeds to step S231.

ステップS231では、位置推定部12は、推定状態変数に追跡成功をセットする(ステップS231)。位置推定部12は、ステップS228で取得した対応特徴点それぞれの3D位置(X,Y,Z)をMap点データベースから取得し、ステップS221で取得した画像に含まれている対応特徴点との対応関係を用いて、現在の自機の姿勢(並進ベクトルt及び回転行列Rで表される自機の位置及び向き)を推定する(ステップS232)。 In step S231, the position estimation unit 12 sets the tracking success to the estimated state variable (step S231). The position estimation unit 12 acquires the 3D positions (X i , Y i , Z i ) of the corresponding feature points acquired in step S228 from the Map point database, and the corresponding feature points included in the image acquired in step S221. The current attitude (the position and orientation of the own machine represented by the translation vector t and the rotation matrix R) is estimated using the correspondence relationship with (step S232).

この自機の姿勢の推定方法について、補足説明する。ステップS221で取得した画像に含まれている対応特徴点のフレーム座標を(u,v)とし、その対応特徴点の3D位置を(X,Y,Z)とする(iは1から特徴点対応数までの値を取る)と、各対応特徴点の3D位置(X,Y,Z)を以下の式(5)によってフレーム座標系に投影した値(ux,vx)とフレーム座標(u,v)とは理想的には一致するはずである。
(ux vx 1)’〜A(R|t)(X1)’…(5)
A supplementary description will be given of the method of estimating the attitude of the own device. Let (u i , v i ) be the frame coordinates of the corresponding feature points included in the image acquired in step S221, and let the 3D position of the corresponding feature points be (X i , Y i , Z i ) (where i is 1) to the number of corresponding feature points) and the 3D position (X i , Y i , Z i ) of each corresponding feature point projected onto the frame coordinate system by the following equation (5) (ux i , Ideally, vx i ) and the frame coordinates (u i , v i ) should match.
(Ux i vx i 1)' to 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それぞれに対する式が存在するため)ことになるため、過剰条件の連立一次方程式になり、上述したように最小二乗法で求めることになる。具体的には、位置推定部12は、以下の式(6)のコスト関数E1を最小化する姿勢(並進ベクトルt及び回転行列R)を求めることになる。これがSLAM法で求めたSLAM座標での自機の姿勢(並進ベクトルt及び回転行列Rで表される自機の位置及び向き)となる。このようにして、位置推定部12は自機の姿勢を推定する(ステップS232)。

Figure 0006724439
However, in reality, since (X i , Y i , Z i ) and (u i , v i ) include an error, (ux i , vx i ) and (u i , v i ) become Seldom match. Then, the unknowns are only R and t (three-dimensional in three-dimensional space, respectively, and 3+3=6 is the number of unknowns), but the mathematical expression exists twice as many as the number of corresponding feature points (for one corresponding feature point. Since there is an equation for each of u and v of the frame coordinates), a simultaneous linear equation with excessive conditions is obtained, and it is obtained by the least square method as described above. Specifically, the position estimation unit 12 obtains the posture (the translation vector t and the rotation matrix R) that minimizes the cost function E1 of the following Expression (6). This is the attitude of the ship itself in the SLAM coordinates obtained by the SLAM method (the position and orientation of the ship represented by the translation vector t and the rotation matrix R). In this way, the position estimation unit 12 estimates the attitude of the own device (step S232).
Figure 0006724439

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

次に、位置推定部12は、フレームDBに登録されている直前のキーフレーム(キーフレーム番号がNKFである画像)を撮影した時の自機の位置から所定の距離(例えば1m。以下「基準並進距離」という。)以上移動しているかを判定し(ステップS234)、移動しているなら(ステップS234;Yes)キーフレームカウンタNKFをインクリメントしてから(ステップS235)、現フレームをキーフレームとしてフレームDBに登録する(ステップS236)。基準並進距離未満しか移動していないなら(ステップS234;No)ステップS202に戻る。 Next, the position estimation unit 12 has a predetermined distance (for example, 1 m.) from the position of its own when the immediately preceding key frame (image whose key frame number is NKF) registered in the frame DB is photographed. It is determined whether or not it has moved (step S234), and if it has moved (step S234; Yes), the key frame counter NKF is incremented (step S235), and the current frame is set as a key frame. It is registered in the frame DB (step S236). If it has moved less than the reference translation distance (step S234; No), the process returns to step S202.

ここで、基準並進距離と比較する自機の移動距離は、直前のキーフレームから現フレームまでの並進距離(両フレームの並進ベクトルの差のベクトルの絶対値(要素の二乗和の平方根))をオドメトリから取得しても良いし、上述したVOから求めても良い。フレームDBに登録する内容は上述したように、「キーフレーム番号」、「姿勢」、「抽出した全ての2D特徴点」、「全ての2D特徴点の中でMap点として3D位置が既知の点」、「キーフレーム自体の特徴」、である。 Here, the movement distance of the own machine 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 vector of the difference between the translation vectors of both frames (the square root of the sum of squares of elements)). It may be obtained from odometry or may be obtained from VO described above. As described above, the contents to be registered in the frame DB are “key frame number”, “posture”, “all extracted 2D feature points”, and “point of which 3D position is known as Map point among all 2D feature points”. ", "Characteristics of the key frame itself".

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

次に、自律移動装置100のメインフロー(図4)のステップS103で起動される地図作成スレッドについて、図6を参照して説明する。このスレッドは地図作成部11が、キーフレーム中の対応特徴点の3D位置を計算して取得するMap点の情報と、距離センサ31を用いて取得する壁や障害物までの距離の情報と、から地図の情報を作成し、地図記憶部22に記憶する。そして、通信品質地図作成部14が、通信品質測定部13から取得する通信品質の情報を用いて通信品質地図を作成し、通信品質地図記憶部23に記憶する。 Next, the map creation thread started in step S103 of the main flow of the autonomous mobile device 100 (FIG. 4) will be described with reference to FIG. In this thread, the map creation unit 11 calculates the 3D position of the corresponding feature point in the key frame and acquires the information about the Map point, and the distance sensor 31 acquires the information about the distance to the wall or the obstacle. Map information is created from the map information and stored in the map storage unit 22. Then, the communication quality map creation unit 14 creates a communication quality map using the communication quality information acquired from the communication quality measurement unit 13, and stores it in the communication quality map storage unit 23.

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

地図作成部11は、フレームDBを参照し、前キーフレーム(キーフレーム番号がMKF−1のキーフレーム)の2D特徴点と現キーフレーム(キーフレーム番号がMKFのキーフレーム)の2D特徴点とで対応が取れる2D特徴点(対応特徴点)を抽出する(ステップS305)。フレームDBにはそれぞれのキーフレームの姿勢(並進ベクトルtと回転行列R)も登録されているので、自機位置推定スレッドの初期化時の処理の時と同様の方法で対応特徴点の3D位置を計算できる。地図作成部11は、3D位置が計算できた対応特徴点をMap点としてMap点DBに登録する(ステップS306)。地図作成部11は、フレームDB中の他のキーフレームに対しても今回3D位置を計算できた2D特徴点に対して3D位置を登録する(ステップS307)。 The map creation unit 11 refers to the frame DB and identifies 2D feature points of the previous key frame (key frame whose key frame number is MKF-1) and 2D feature points of the current key frame (key frame whose key frame number is MKF). A 2D feature point (corresponding feature point) that can be corresponded with is extracted (step S305). Since the attitudes (translation vector t and rotation matrix R) of each key frame are also registered in the frame DB, the 3D position of the corresponding feature point is processed in the same manner as in the processing at the time of initialization of the own position estimation thread. Can be calculated. The map creation unit 11 registers the corresponding feature points for which the 3D position has been calculated as Map points in the Map point DB (step S306). The map creation unit 11 also registers the 3D position for the 2D feature point for which the 3D position could be calculated this time for other key frames in the frame DB (step S307).

なお、地図作成部11が抽出した対応特徴点がすでにMap点DBに登録済だった場合は、3D位置計算をスキップして次の対応特徴点(Map点DBに未登録のもの)に対する処理に進んでも良いし、改めて3D位置計算を行って、Map点DBに登録済の3D位置や、フレームDB中の対応特徴点に対する3D位置を更新するようにしても良い。 If the corresponding feature point extracted by the map creation unit 11 has already been registered in the Map point DB, the 3D position calculation is skipped and the next corresponding feature point (not registered in the Map point DB) is processed. 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 for the corresponding feature point in the frame DB.

次に地図作成部11は、自機位置推定スレッドの推定状態変数が「追跡成功」か否かを判定する(ステップS308)。「追跡成功」でなければ(ステップS308;No)、自機位置を推定できていないということなので、障害物や通信品質の測定をスキップしてステップS311へ進む。 Next, the map creation unit 11 determines whether or not the estimated state variable of the own device position estimation thread is “successful tracking” (step S308). If it is not “successful tracking” (step S308; No), it means that the position of the own device has not been estimated, and therefore the measurement of obstacles and communication quality is skipped and the process proceeds to step S311.

推定状態変数が「追跡成功」であれば(ステップS308;Yes)、地図作成部11は、距離センサ31で壁や障害物までの距離を測定し、VOで示される自機の位置及び向きと測定した距離とに基づき、壁や障害物の位置や、自機位置から壁や障害物までの距離を地図記憶部22に登録する(ステップS309)。 If the estimated state variable is “successful tracking” (step S308; Yes), the map creation unit 11 measures the distance to the wall or obstacle with the distance sensor 31, and determines the position and orientation of the own device indicated by VO. Based on the measured distance, the position of the wall or the obstacle and the distance from the own position to the wall or the obstacle are registered in the map storage unit 22 (step S309).

そして、通信品質地図作成部14は、通信品質測定部13により通信品質を測定し、測定して得られた通信品質の値を、VOで示される自機位置での通信品質の値として、通信品質地図記憶部23に登録する(ステップS310)。 Then, the communication quality map creating unit 14 measures the communication quality by the communication quality measuring unit 13, and uses the value of the communication quality obtained by the measurement as the value of the communication quality at the own position indicated by VO to communicate. It registers in the quality map storage unit 23 (step S310).

通信品質は、通信部44で観測できる電界強度や受信電力を用いたり、実際に行っている通信のRTT(Round−Trip Time)や、実効速度、エラー率、遅延を用いたりして取得できる。これら様々な評価値を複合した評価値を用いても良い。また、赤外線や可視光の通信リンクを用いる場合などは、信号が到達したか否か(間に遮蔽物があるか否か)という二値の情報を用いても良い。既にその位置で通信品質を測定済みだった場合は、それまでの測定結果の平均値やメディアンを採用したり、最悪値を採用したりしても良い。また、平均値、メディアン、最良値、最悪値等を別々に保存しておき、自律移動装置100の移動目的に応じて使い分けても良い。 The communication quality can be acquired by using the electric field strength and the received power that can be observed by the communication unit 44, or by using the RTT (Round-Trip Time) of the actual communication, the effective speed, the error rate, and the delay. You may use the evaluation value which compounded these various evaluation values. Further, in the case of using an infrared or visible light communication link, binary information indicating whether or not a signal has arrived (whether or not there is a shield between them) may be used. If the communication quality has already been measured at that position, the average value or median of the measurement results up to that point may be adopted, or the worst value may be adopted. Further, the average value, the median, the best value, the worst value, and the like may be stored separately and used properly according to the moving purpose of the autonomous mobile device 100.

通信品質地図記憶部23に登録する値は、通信品質の良いほど小さい正の数(コスト値)になるように変換してから登録する。例えば、電界強度や実効速度は通信品質が良いほど大きくなるので、逆数を登録する等する。 The value registered in the communication quality map storage unit 23 is converted into a smaller positive number (cost value) as the communication quality is better, and then registered. For example, since the electric field strength and the effective speed increase as the communication quality becomes better, the reciprocal is registered.

次に、地図作成部11は、キーフレームキューが空かどうかを判定する(ステップS311)。空であれば(ステップS311;Yes)、全キーフレームの姿勢と全Map点の3D位置に対して、バンドルアジャストメント処理を行って、精度向上を図る(ステップS312)。そして、バンドルアジャストメント処理を行った結果、誤差が大きいMap点が見つかったら、それをMap点DBから削除し(ステップS313)、ステップS314に進む。キーフレームキューが空でなければ(ステップS311;No)、何もせずにステップS314に進む。 Next, the map creation unit 11 determines whether the key frame queue is empty (step S311). If it is empty (step S311; Yes), the bundle adjustment process is performed on the postures of all the key frames and the 3D positions of all the map points to improve the accuracy (step S312). When a Map point having a large error is found as a result of the bundle adjustment process, the Map point is deleted from the Map point DB (step S313), and the process proceeds to step S314. If the key frame queue is not empty (step S311; No), the process proceeds to step S314 without doing anything.

ステップS314では、地図作成部11は、地図記憶部22に記憶されている情報に基づき、地図兼経路コストマップを配列S(x,y)に格納する(ステップS314)。地図兼経路コストマップとは、座標(x,y)が移動不能領域(壁や障害物)なら「S(x,y)=∞」、移動不能領域でなければ「S(x,y)=座標(x,y)から移動不能領域までの最短距離が大きいほど小さい正数」となるように値が格納された配列である。例えば、座標(x,y)が移動不能領域でない場合、座標(x,y)から移動不能領域までの最短距離の逆数をS(x,y)に格納することができる。なお、配列Sは、地図記憶部22に記憶される。 In step S314, the map creation unit 11 stores the map/route cost map in the array S(x, y) based on the information stored in the map storage unit 22 (step S314). The map/route cost map is “S(x,y)=∞” if the coordinates (x,y) are immovable areas (walls or obstacles), and “S(x,y)=” if they are not immovable areas. It is an array in which values are stored such that the larger the shortest distance from the coordinates (x, y) to the immovable area, the smaller the positive number. For example, when the coordinate (x, y) is not the immovable area, the reciprocal of the shortest distance from the coordinate (x, y) to the immovable area can be stored in S(x, y). The array S is stored in the map storage unit 22.

地図兼経路コストマップの配列S(x,y)の具体例を図7に示す。図7で、黒の領域は移動不能領域(壁や障害物)を示しており、この領域内はS(x,y)=∞である。また白い領域は移動不能領域までの最短距離が大きい領域を示しており、この領域内のS(x,y)の値は小さい(例えば1未満)。そして、灰色の領域は移動不能領域までの最短距離が小さい領域を示しており、この領域内のS(x,y)の値は大きい(例えば1以上)。 FIG. 7 shows a specific example of the array S(x, y) of the map/route cost map. In FIG. 7, a black area indicates an immovable area (a wall or an obstacle), and S(x, y)=∞ in this area. The white area indicates an area where the shortest distance to the immovable area is large, and the value of S(x, y) in this area is small (for example, less than 1). The gray area indicates an area where the shortest distance to the immovable area is small, and the value of S(x, y) in this area is large (for example, 1 or more).

次に、通信品質地図作成部14は、通信品質地図記憶部23に記憶されている情報に基づき、通信品質コストマップを配列C(x,y)に格納する(ステップS315)。通信品質コストマップとは、座標(x,y)での通信品質が良いほど小さい正数がC(x,y)に格納された配列である。例えば、座標(x,y)での電界強度や実効速度の逆数をC(x,y)に格納することができる。なお、配列Cは通信品質地図記憶部23に記憶される。 Next, the communication quality map creation unit 14 stores the communication quality cost map in the array C(x, y) based on the information stored in the communication quality map storage unit 23 (step S315). The communication quality cost map is an array in which a smaller positive number is stored in C(x, y) as the communication quality at the coordinates (x, y) is better. For example, the electric field strength at the coordinates (x, y) and the reciprocal of the effective velocity can be stored in C(x, y). The array C is stored in the communication quality map storage unit 23.

通信品質コストマップを配列C(x,y)の具体例を図8に示す。図8の左端に外部の通信機200(図示せず)が存在している。図8で、白の領域は通信品質が良好な領域を示しており、この領域内のC(x,y)は小さい(例えば1未満)。そして、薄い灰色の領域は通信品質が悪い領域を示しており、この領域内のC(x,y)の値は比較的大きい(例えば1以上3未満)。濃い灰色の領域は通信できないほど通信品質が悪い領域を示しており、この領域内のC(x,y)の値はとても大きい(例えば3以上)。 A concrete example of the communication quality cost map of the array C(x, y) is shown in FIG. An external communication device 200 (not shown) is present at the left end of FIG. In FIG. 8, a white area indicates an area with good communication quality, and C(x, y) in this area is small (for example, less than 1). A light gray area indicates an area with poor communication quality, and the value of C(x, y) in this area is relatively large (for example, 1 or more and less than 3). The dark gray area indicates an area in which the communication quality is so bad that communication cannot be performed, and the value of C(x, y) in this area is very large (for example, 3 or more).

自律移動装置100が通過する座標(x,y)は一般に疎なので、S(x,y)もC(x,y)も、まばらにしか値が設定されていない状態になることが多い。そこで、内挿・外挿を行って、各座標(x,y)に密に値を設定する。 Since the coordinates (x, y) that the autonomous mobile device 100 passes through are generally sparse, the values of S(x, y) and C(x, y) are often sparsely set. Therefore, interpolation/extrapolation is performed to densely set a value for each coordinate (x, y).

次に、地図作成部11は、ループクロージングスレッドのキーフレームキューにMKFをセットして(ステップS316)、ステップS301に戻る。 Next, the map creation unit 11 sets MKF in the key frame queue of the loop closing thread (step S316), and returns to step S301.

以上の処理で作成した地図兼経路コストマップの配列S(x,y)及び通信品質コストマップの配列C(x,y)は、いずれもスレッドをまたいで値を参照することができるように記憶部20に記憶されている。 The map/route cost map array S(x, y) and the communication quality cost map array C(x, y) created by the above processing are both stored so that the values can be referred to across threads. It is stored in the unit 20.

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

このバンドルアジャストメントの処理を行うことで、キーフレーム姿勢とMap点の3D位置の精度向上を図ることができる。しかし、この処理は計算量が多いことと、この処理を行わなくても精度向上が図れないだけで特別問題が発生するわけではない。したがって、ここでは、キーフレームが空の状態の時(他の処理が比較的軽い状態の時)のみバンドルアジャストメント処理を行うようにしている。通信品質が良い場合は、自律移動装置100自身でバンドルアジャストメント処理をするのではなく、画像記憶部21や地図記憶部22の情報を通信部44で外部の通信機200に送信し、外部の通信機200でバンドルアジャストメント処理した結果を自律移動装置100に送り返してもらうようにしても良い。 By performing the process of the bundle adjustment, it is possible to improve the accuracy of the key frame posture and the 3D position of the Map point. However, this process does not cause a special problem because the amount of calculation is large and the accuracy cannot be improved without this process. Therefore, here, the bundle adjustment process is performed only when the key frame is empty (when other processes are relatively light). If the communication quality is good, the autonomous mobile device 100 itself does not perform the bundle adjustment process, but the information in the image storage unit 21 or the map storage unit 22 is transmitted to the external communication device 200 by the communication unit 44, and the external communication device 200 is transmitted. The result of the bundle adjustment process performed by the communication device 200 may be returned to the autonomous mobile device 100.

また、バンドルアジャストメントの処理を行うと、キーフレーム上に投影させたときの誤差が所定の値よりも大きいMap点が見つかることがある。このような誤差の大きなMap点については、SLAM推定に悪影響を及ぼすため、ステップS313ではMap点DBから削除している。なお、Map点DBから削除するのではなく、Map点DBにおいて、誤差の大きな注意を要するMap点であることを識別するためのフラグを立てておいても良い。 Further, when the bundle adjustment process is performed, a Map point having an error when projected on the key frame is larger than a predetermined value may be found. Map points having such a large error have an adverse effect on SLAM estimation, and are therefore deleted from the map point DB in step S313. It should be noted that instead of deleting from the Map point DB, a flag may be set in the Map point DB to identify a Map point requiring a great deal of error.

次に自律移動装置100のメインフロー(図4)のステップS104で起動されるループクロージングスレッドについて、図9を参照して説明する。このスレッドでは制御部10は、ループクロージング処理ができるかどうかをチェックし続け、ループクロージング処理ができる場合にはループクロージング処理を行っている。なお、ループクロージング処理とは、以前来たことのある同じ場所に戻ってきたことを認識した場合に、以前この同じ場所にいた時の姿勢の値と現在の姿勢の値とのずれを用いて、以前来た時から今までの軌跡中のキーフレームや、関連するMap点の3D位置を修正することをいう。 Next, the loop closing thread started in step S104 of the main flow of the autonomous mobile device 100 (FIG. 4) will be described with reference to FIG. In this thread, the control unit 10 continues to check whether the loop closing process can be performed, and when the loop closing process can be performed, the control unit 10 performs the loop closing process. Note that the loop closing process uses the deviation between the posture value when the user was at this same place before and the value of the current posture when he/she recognizes that he has returned to the same place where he has come before. , It means to correct the 3D position of the key frame and the related Map point in the locus from the time when it came before until now.

まず、制御部10は、動作終了かを判定する(ステップS401)。動作終了なら(ステップS401;Yes)終了する。動作終了でないなら(ステップS401;No)キーフレームキューが空かどうかを判定する(ステップS402)。キーフレームキューが空なら(ステップS402;Yes)ステップS401に戻り、キーフレームキューが空でないなら(ステップS402;No)、キーフレームキューからデータを取り出してLKF(ループクロージングスレッドで処理するキーフレームのキーフレーム番号を表す変数)にセットする(ステップS403)。次に制御部10は、LKFが1より大きいかを判定する(ステップS404)。LKFが0又は1である場合(ステップS404;No)はステップS401に戻ってキーフレームキューにデータが入るのを待つ。そして、LKFが2以上の場合(ステップS404;Yes)は、以下の処理を行う。 First, the control unit 10 determines whether the operation is completed (step S401). If the operation ends (step S401; Yes), the operation ends. 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 procedure returns to step S401. If the key frame queue is not empty (step S402; No), data is extracted from the key frame queue and the LKF (loop closing thread processes the key frame It is set to a variable representing the key frame number) (step S403). Next, the control unit 10 determines whether LKF is larger than 1 (step S404). If LKF is 0 or 1 (step S404; No), the process returns to step S401 and waits for data to enter the key frame queue. When LKF is 2 or more (step S404; Yes), the following processing is performed.

制御部10は、フレームDBを参照し、現キーフレーム(キーフレーム番号がLKFのキーフレーム)と「キーフレーム自体の特徴」の類似度が所定の類似度(例えば0.9。以下「基準画像類似度」という。)以上になるキーフレームをフレームDBから検索する(ステップS405)。ここで、この類似度は、画像(キーフレーム)の特徴を特徴ベクトルで表している場合は、二つの画像の特徴ベクトルの絶対値(要素の二乗和の平方根)を1に正規化したもの同士の内積を、その二つの画像の類似度とすることができる。また、二つの画像の特徴ベクトル(絶対値を1に正規化したもの)の距離(各要素の差の二乗和の平方根)の逆数を類似度としても良い。 The control unit 10 refers to the frame DB, and the similarity between the current key frame (key frame whose key frame number is LKF) and the “feature of the key frame itself” is a predetermined similarity (for example, 0.9. Hereinafter, “reference image”). A key frame having the above degree is searched from the frame DB (step S405). Here, when the feature of an image (key frame) is represented by a feature vector, this similarity is obtained by normalizing the absolute values of the feature vectors of two images (square root of sum of squares of elements) to 1. The inner product of can be the similarity of the two images. Alternatively, the reciprocal of the distance (square root of the sum of squares of the differences between the elements) between the feature vectors (absolute values normalized to 1) of the two images may be used as the similarity.

制御部10は、「キーフレーム自体の特徴」の類似度が基準画像類似度以上になるキーフレームが発見されたかどうかを判定し(ステップS406)、発見されなければ(ステップS406;No)ステップS401へ戻り、発見されたら(ステップS406;Yes)、発見されたキーフレームから現キーフレームまでの軌跡中のキーフレームの姿勢と、軌跡中のキーフレームに含まれるMap点の3D位置を修正する(ステップS407)。例えば、制御部10は、現キーフレームの姿勢を、発見されたキーフレームの姿勢と同じ姿勢として修正する。そして、発見されたキーフレームの姿勢と現キーフレームの姿勢との差分を用いて、発見されたキーフレームから現キーフレームまでの軌跡中の各キーフレームの姿勢に線形的に補正を加える。さらにこれらの各キーフレームに含まれるMap点の3D位置についても各キーフレームの姿勢の補正量に応じて修正する。そしてステップS401に戻る。 The control unit 10 determines whether or not a key frame in which the similarity of the “feature of the key frame itself” is equal to or higher than the reference image similarity is found (step S406), and if not found (step S406; No) step S401. Returning to step S406, if found (step S406; Yes), the posture of the key frame in the locus from the found key frame to the current key frame and the 3D position of the Map point included in the key frame in the locus are corrected ( Step S407). For example, the control unit 10 corrects the attitude of the current key frame to be the same as the attitude of the discovered key frame. Then, using the difference between the discovered attitude of the key frame and the attitude of the current key frame, the attitude of each key frame in the locus from the discovered key frame to the current key frame is linearly corrected. Furthermore, the 3D position of the Map point included in each of these key frames is also corrected according to the correction amount of the posture of each key frame. Then, the process returns to step S401.

以上のループクロージング処理は、計算量が多いため、通信品質が良い場合は、自律移動装置100自身でループクロージング処理をするのではなく、画像記憶部21や地図記憶部22の情報を通信部44で外部の通信機200に送信し、外部の通信機200でループクロージング処理した結果を自律移動装置100に送り返してもらうようにしても良い。 Since the above loop closing process requires a large amount of calculation, when the communication quality is good, the autonomous mobile device 100 itself does not perform the loop closing process, but the information in the image storage unit 21 or the map storage unit 22 is transferred to the communication unit 44. May be transmitted to the external communication device 200 and the result of the loop closing process performed by the external communication device 200 may be sent back to the autonomous mobile device 100.

次に自律移動装置100のメインフロー(図4)のステップS111の処理である目的地への経路計画について説明する。従来の経路計画は、地図兼経路コストマップである配列S(x,y)、現在位置及び目的地位置を与えると、現在位置から目的地位置への最小累積コスト経路を選択するものである。具体的には、各座標をノード、隣接関係をエッジとし、ノード乃至エッジに配列S(x,y)に従った重みをつけたグラフを構成すれば、Dijkstraアルゴリズムなどグラフ理論の最短経路探索のアルゴリズムを用いて効率良く最小累積コスト経路を選択することができる。本発明では、配列S(x,y)だけでなく、通信品質マップである配列C(x,y)も用いることで、通信品質を保つような経路を選択できる。 Next, the route planning to the destination, which is the process of step S111 of the main flow of the autonomous mobile device 100 (FIG. 4), will be described. In the conventional route planning, when an array S(x, y) which is a map and route cost map, a current position and a destination position are given, the minimum accumulated cost route from the current position to the destination position is selected. Specifically, if each graph is constructed by assigning each coordinate as a node, an adjacency relation as an edge, and weighting nodes or edges according to the array S(x, y), the shortest path search of the graph theory such as Dijkstra algorithm can be performed. An algorithm can be used to efficiently select the minimum cumulative cost path. In the present invention, not only the array S(x, y) but also the array C(x, y) which is a communication quality map is used, so that a route that maintains the communication quality can be selected.

(第1の実施形態)
では、目的地への経路計画の第1の実施形態について、図10を参照して説明する。まず経路探索部15は、閾値の値を通信品質が良好と考えられる場合の値に設定する(ステップS501)。次に、各配列の全ての座標について値を更新するために、xとyを0に初期化する(ステップS502)。
(First embodiment)
Now, a first embodiment of the route planning to the destination will be described with reference to FIG. First, the route search unit 15 sets the threshold value to a value when the communication quality is considered to be good (step S501). Next, x and y are initialized to 0 in order to update the values for all the coordinates of each array (step S502).

次に、経路探索部15は、地図兼経路コストマップである配列Sの(x,y)の値を、経路探索用コストマップである配列T(x,y)に代入する(ステップS503)。配列Tは、経路を探索する際に、従来の地図兼経路コストマップSの代わりに用いる配列で、経路探索用地図記憶部24に記憶される。 Next, the route search unit 15 substitutes the value of (x, y) of the array S which is the map/route cost map into the array T(x, y) which is the route search cost map (step S503). The array T is an array used in place of the conventional map/route cost map S when searching for a route, and is stored in the route search map storage unit 24.

次に経路探索部15は、通信品質マップである配列Cの(x,y)の値が閾値より大きいか否かを判定する(ステップS504)。閾値よりも大きければ(ステップS504;Yes)、座標(x,y)での通信品質が良好でないことを意味するので、その場所を通らないようにするために、T(x,y)に∞を設定し(ステップS505)、ステップS506に進む。閾値以下なら(ステップS504;No)、その場所(x,y)での通信品質は良好ということになるので、T(x,y)の値はS(x,y)のまま変更せずにステップS506へ進む。 Next, the route search unit 15 determines whether the value of (x, y) of the array C, which is the communication quality map, is larger than the threshold value (step S504). If it is larger than the threshold value (step S504; Yes), it means that the communication quality at the coordinates (x, y) is not good, so that T(x, y) is set to ∞ in order to prevent passing through the place. Is set (step S505), and the process proceeds to step S506. If it is less than or equal to the threshold value (step S504; No), it means that the communication quality at that location (x, y) is good, so the value of T(x, y) remains unchanged at S(x, y). It proceeds to step S506.

ステップS506では、経路探索部15は、全てのx,yについて、ステップS503〜ステップS505の処理が完了したか否かを判定する(ステップS506)。完了していなければ(ステップS506;No)、ステップS503に戻る。 In step S506, the route search unit 15 determines whether or not the processes of steps S503 to S505 have been completed for all x and y (step S506). If not completed (step S506; No), the process returns to step S503.

全てのx,yについて、ステップS503〜ステップS505の処理が完了したら(ステップS506;Yes)、経路探索用コストマップである配列T(x,y)の設定が完了したことになるので、経路探索部15は、Tに従来の経路計画のアルゴリズムを適用して、経路探索を行う(ステップS507)。 When the processes of steps S503 to S505 have been completed for all x and y (step S506; Yes), it means that the setting of the array T(x, y) which is the route search cost map has been completed. The unit 15 performs the route search by applying the conventional route planning algorithm to T (step S507).

そして、経路探索部15は、ステップS507で経路を見つけることができたか否かを判定する(ステップS508)。経路が見つかったら(ステップS508;Yes)、終了する。経路が存在しない場合は(ステップS508;No)、経路探索部15は閾値を上げて(ステップS509)、ステップS502に戻り、リトライを繰り返す。 Then, the route search unit 15 determines whether or not the route could be found in step S507 (step S508). When the route is found (step S508; Yes), the process ends. When the route does not exist (step S508; No), the route search unit 15 raises the threshold value (step S509), returns to step S502, and repeats the retry.

なお、ステップS509で閾値の値が、通信品質が「通信不可能」を示すほど大きな値になった場合は、経路探索をあきらめて終了する。フローチャートが煩雑になるため、図には示していないが、この場合は、メインフロー(図4)のステップS110での目的地の設定からやり直す必要がある。 In addition, when the value of the threshold value is so large as to indicate that the communication quality is “incommunicable” in step S509, the route search is abandoned and terminated. Although not shown in the figure because the flow chart becomes complicated, in this case, it is necessary to start over from the setting of the destination in step S110 of the main flow (FIG. 4).

なお、この処理を行う前に、通信品質マップである配列C(x,y)が示す通信品質が悪い領域(図8で薄い灰色や濃い灰色の領域)を膨張、収縮等させておいてもよい。より確実に通信を行いたい場合は通信品質が悪い領域を膨張させておく。また、移動中の通信の瞬断を許容して可動域を広く取りたい場合は通信品質が悪い領域を収縮させておく。 It should be noted that, before performing this processing, it is possible to expand, contract, etc. the area of poor communication quality (area of light gray or dark gray in FIG. 8) indicated by the array C(x, y) which is the communication quality map. Good. If you want to communicate more reliably, expand the area with poor communication quality. In addition, when it is desired to allow a wide range of motion by allowing momentary interruption of communication during movement, a region with poor communication quality is contracted.

経路探索の具体例を図7、図8及び図11を参照して説明する。例えば、図7で示される地図兼経路コストマップS(x,y)を用いて、図11に示す現在位置から目的位置までの経路を従来の方法で探索すると、図11(a)の矢印で示す経路が選択される。これに対し、図8で示される通信品質コストマップC(x,y)を上述の第1の実施形態に適用すると、図8の白い部分以外は通信品質が悪いので、図11(b)に示す経路探索用コストマップT(x,y)が得られ、この図で現在位置から目的位置までの経路を探索すれば、図11(b)の点線の矢印で示す経路が選択される。このように、通信品質を考慮した経路探索用コストマップを用いることで、通信が切断されない経路をたどって目的地に移動することができる。 A specific example of the route search will be described with reference to FIGS. 7, 8 and 11. For example, when the route from the current position to the destination position shown in FIG. 11 is searched by the conventional method using the map/route cost map S(x, y) shown in FIG. 7, the arrow in FIG. The route shown is selected. On the other hand, if the communication quality cost map C(x, y) shown in FIG. 8 is applied to the above-described first embodiment, the communication quality is poor except for the white part in FIG. The route search cost map T(x, y) shown is obtained, and if the route from the current position to the destination position is searched in this figure, the route shown by the dotted arrow in FIG. 11B is selected. As described above, by using the route search cost map in consideration of the communication quality, it is possible to follow the route in which the communication is not disconnected and move to the destination.

(第2の実施形態)
次に、一定時間(許容されるレイテンシ(latency))通信ができない状態を許容する第2の実施形態について、説明する。例えば、自律移動装置100が、その実行するタスクとして、人間との自然言語会話を行っていて、自然言語会話を行うために必要な音声認識処理を外部の通信機200に処理させているとすると、許容されるレイテンシは、その自然言語会話中の沈黙期間の延長が許される時間である。例えば、この場合、レイテンシを2秒と設定することができる。また、自律移動装置100が実行するタスクの内容によって、外部の通信機200と通信するデータ量が変わるが、このデータ量の通信に必要な帯域を満たす通信品質を閾値に設定する。
(Second embodiment)
Next, a second embodiment will be described in which a state in which communication cannot be performed for a fixed time (allowable latency) is allowed. For example, suppose that the autonomous mobile device 100 has a natural language conversation with a human as a task to be executed, and causes the external communication device 200 to perform a voice recognition process required for the natural language conversation. The allowed latency is the time allowed to extend the silence period during the natural language conversation. For example, in this case, the latency can be set to 2 seconds. Further, the amount of data communicated with the external communication device 200 changes depending on the content of the task executed by the autonomous mobile device 100, and the communication quality that satisfies the band required for communication of this data amount is set as the threshold value.

では、第2の実施形態について、図12を参照して説明する。まず、経路探索部15は、自律移動装置100が実行するタスクの内容に基づき、許容レイテンシを変数TLに設定する(ステップS601)。このステップにおいて、経路探索部15は許容レイテンシ設定部に相当する。次に、経路探索部15は、自律移動装置100が実行するタスクの内容に基づき、通信品質の閾値を設定する(ステップS602)。そして、経路探索部15は、地図兼経路コストマップである配列Sの(x,y)の値を、経路探索用コストマップである配列T(x,y)に代入する(ステップS603)。 Now, the second embodiment will be described with reference to FIG. First, the route search unit 15 sets the allowable latency in the variable TL based on the content of the task executed by the autonomous mobile device 100 (step S601). In this step, the route search unit 15 corresponds to the allowable latency setting unit. Next, the route search unit 15 sets a communication quality threshold based on the content of the task executed by the autonomous mobile device 100 (step S602). Then, the route search unit 15 substitutes the value of (x, y) of the array S which is the map/route cost map into the array T(x, y) which is the route search cost map (step S603).

次に、経路探索部15は、経路探索用コストマップTに従来の経路計画のアルゴリズムを適用して経路探索を行い、得られた経路を仮経路Lとする(ステップS604)。この処理において、経路探索部15は経路候補探索部に相当する。もしここで経路が得られなかった場合は、経路探索をあきらめて終了する。フローチャートが煩雑になるため、図には示していないが、この場合は、メインフロー(図4)のステップS110での目的地の設定からやり直す必要がある。 Next, the route search unit 15 applies a conventional route planning algorithm to the route search cost map T to perform a route search, and sets the obtained route as a temporary route L (step S604). In this process, the route search unit 15 corresponds to a route candidate search unit. If the route cannot be obtained here, the route search is given up and terminated. Although not shown in the figure because the flow chart becomes complicated, in this case, it is necessary to start over from the setting of the destination in step S110 of the main flow (FIG. 4).

次に、経路探索部15は、仮経路Lを現在位置から目的位置まで順にたどって、C(x,y)>閾値となる区間(仮経路Lをたどる際に通信品質が足りない区間)の長さに対して、その長さを通過するのに必要な通過所要時間(以下、TTで表す)を算出し、TL<TTか否かを判定する(ステップS605)。TTの算出は、簡単には、仮経路Lの経路を一つたどるたびに、その一つ分の経路の長さを自律移動装置100の移動速度で割った値を足していけば良い。ステップS605において、経路探索部15は通信不良時間取得部に相当する。 Next, the route search unit 15 traces the temporary route L in order from the current position to the target position, and in a section where C(x, y)>threshold (a section in which communication quality is insufficient when tracing the temporary route L). For the length, the required transit time (hereinafter, represented by TT) required to pass the length is calculated, and it is determined whether TL<TT (step S605). To calculate TT, each time one route of the provisional route L is traced, a value obtained by dividing the length of the one route by the moving speed of the autonomous mobile device 100 may be simply added. In step S605, the route search unit 15 corresponds to the communication failure time acquisition unit.

仮経路Lを現在位置からたどった際に、TL<TTとなるような区間無しに目的位置までたどり着けたら(ステップ605;No)、仮経路Lを本経路に採用し(ステップS607)、終了する。 When the provisional route L is reached from the current position to the target position without a section where TL<TT (step 605; No), the provisional route L is adopted as the main route (step S607), and the process ends. ..

仮経路Lをたどった際に、TL<TTとなるような区間が見つかったら(ステップ605;Yes)、仮経路Lは採用できないということになるので、仮経路Lを現在位置からTL<TTとなる地点までたどる区間上の点の周辺(当該区間を所定のマージン幅だけ拡大した領域)のT(x,y)に∞を代入し(ステップS606)、ステップS604に戻る。当該区間の周辺領域のT(x,y)に∞を代入することで、次回以降の経路探索において、その区間を経路に選択しないようにしている。 If a section that satisfies TL<TT is found when tracing the tentative route L (step 605; Yes), it means that the tentative route L cannot be adopted. Therefore, the tentative route L is set to TL<TT from the current position. ∞ is substituted for T(x, y) around the point on the section that traces to the point (area in which the section is enlarged by a predetermined margin width) (step S606), and the process returns to step S604. By substituting ∞ for T(x, y) in the peripheral region of the section, the section is not selected as a route in the route search from the next time onward.

この第2の実施形態での経路探索の具体例を図7、図8、図13及び図14を参照して説明する。例えば、図7で示される地図兼経路コストマップS(x,y)と、図8で示される通信品質コストマップを用いて図12で示される経路計画の処理を行うと、ステップS604において、図13(a)の矢印で示される仮経路Lが得られる。そして、ステップS605で、図13(b)の薄い灰色部分を矢印に沿って通過する時間TTが、許容レイテンシTL以下であったなら、仮経路Lが本経路として採用される。 A specific example of the route search in the second embodiment will be described with reference to FIGS. 7, 8, 13 and 14. For example, when the route planning process shown in FIG. 12 is performed using the map/route cost map S(x, y) shown in FIG. 7 and the communication quality cost map shown in FIG. A temporary route L indicated by the arrow 13(a) is obtained. Then, in step S605, if the time TT for passing through the light gray portion of FIG. 13B along the arrow is less than or equal to the allowable latency TL, the provisional route L is adopted as the main route.

図13(b)の薄い灰色部分を矢印に沿って通過する途中で時間TTが、許容レイテンシTLを超えてしまったら、ステップS606で、図14(a)に示されるように、仮経路Lの矢印の途中まで(TTがTLを超えた位置まで)のT(x,y)の周辺の領域が∞(図では黒塗り)に設定される。そして、ステップS604に戻って、再度新たな仮経路Lを求める。この新たな仮経路Lは、図14(a)の点線矢印で表している。 If the time TT exceeds the allowable latency TL while passing through the light gray portion of FIG. 13B along the arrow, in step S606, as shown in FIG. The area around T(x, y) up to the middle of the arrow (to the position where TT exceeds TL) is set to ∞ (black in the figure). Then, returning to step S604, a new temporary route L is obtained again. This new temporary route L is indicated by a dotted arrow in FIG.

この点線矢印の経路をたどっても、途中で時間TTが、許容レイテンシTLを超えてしまうので、ステップS606で、図14(b)に示されるように、仮経路Lの点線矢印の途中まで(TTがTLを超えた位置まで)のT(x,y)の周辺の領域が∞(図では黒塗り)に設定される。そして、ステップS604に戻って、再度新たな仮経路Lを求める。この新たな仮経路Lは、図14(b)の点線矢印で表している。 Even if the path of the dotted arrow is followed, the time TT exceeds the allowable latency TL on the way, so in step S606, as shown in FIG. The area around T(x, y) at the position where TT exceeds TL) is set to ∞ (painted black in the figure). Then, returning to step S604, a new temporary route L is obtained again. This new provisional route L is indicated by a dotted arrow in FIG.

この点線矢印の経路は、通信品質が良好な部分のみを通るので、この経路が本経路として採用される。 The route indicated by the dotted arrow passes only the portion with good communication quality, and thus this route is adopted as the main route.

以上、図12のような処理を行うことで、通信品質の悪い領域があっても、そこを通過する時間が許容レイテンシ以下であれば、そこを通過する経路をたどることができるようになる。目的地への移動に、通信品質の悪い領域を通らざるを得ない場合、第1の実施形態では目的地への移動が不可能だったが、第2の実施形態では許容レイテンシ以下の時間でその領域を通過できる場合は、目的地の移動が可能になる。 As described above, by performing the processing shown in FIG. 12, even if there is an area with poor communication quality, it is possible to follow a path that passes therethrough if the time for passing therethrough is less than the allowable latency. In the case where there is no choice but to pass through a region with poor communication quality to move to the destination, the move to the destination was impossible in the first embodiment, but in the second embodiment it took less time than the allowable latency. If the area can be passed, the destination can be moved.

例えば、音声認識のもとになる音声データは、通信が途絶えている間はバッファしておき、通信品質が回復した後に外部機器に送信して処理を行うようにすれば、許容レイテンシを守って処理を継続できる。また、自律移動装置100のタスクが自然言語会話の場合、自然言語会話において沈黙期間の延長が許される時間(例えば2秒)を許容レイテンシとして設定しておけば、通信品質の悪い領域を通過せざるを得ない場合でも自然言語会話を継続できる。 For example, voice data, which is the basis of voice recognition, should be buffered while communication is interrupted and transmitted to an external device for processing after communication quality is restored, in order to protect the allowable latency. Processing can continue. Further, when the task of the autonomous mobile device 100 is a natural language conversation, if a time (for example, 2 seconds) during which the silent period can be extended in the natural language conversation is set as an allowable latency, the area where communication quality is poor can be passed. You can continue natural language conversation even if you have no choice.

なお、自律移動装置100の速度を現在速度より上げることができる場合、ステップS605でTT<TLとなった場合でも、すぐにはステップS606に進まず、その環境での最大速度で移動した場合のTTを計算し直し、計算し直したTTならTL以下になる場合は(ステップS605;No)、経路探索部15は、仮経路Lを本経路とし(ステップS607)、制御部10は駆動部42に最大速度を設定して移動を指示するようにしても良い。この処理において、制御部10は、速度設定部に相当する。このような処理をすることにより、通常の速度では許容レイテンシ以下の時間で通信品質の悪い領域を通過できない場合でも、移動速度を上げて通過させることができる。したがって、通常速度では目的地に到達できない状況下でも、速度を上げることにより、許容レイテンシを守って目的地へ到達できるようになる。 If the speed of the autonomous mobile device 100 can be increased from the current speed, even if TT<TL is satisfied in step S605, the process does not immediately proceed to step S606, and the autonomous mobile device 100 moves at the maximum speed in the environment. If the TT is recalculated and the recalculated TT is less than or equal to TL (step S605; No), the route searching unit 15 sets the temporary route L as the main route (step S607), and the control unit 10 drives the driving unit 42. It is also possible to set the maximum speed to and instruct the movement. In this process, the control unit 10 corresponds to a speed setting unit. By performing such a process, even when the normal speed cannot pass through the area with poor communication quality in a time less than the allowable latency, the moving speed can be increased. Therefore, even when the destination cannot be reached at the normal speed, increasing the speed allows the destination to be reached while keeping the allowable latency.

また、上述した実施形態では、目的地への経路計画を行う時のみ通信品質を考慮したが、メインフロー(図4)のステップS109での自由な自律移動の際も、制御部10が通信品質コストマップC(x,y)を参照して、通信品質が悪いところには長時間滞在しないように移動制御をしても良い。このようにすることによって、目的地の位置や目的地の設定の有無によらず、外部の通信機との通信を良好に保つことができる。 Further, in the above-described embodiment, the communication quality is considered only when the route planning to the destination is performed, but the control unit 10 controls the communication quality during the free autonomous movement in step S109 of the main flow (FIG. 4). By referring to the cost map C(x, y), movement control may be performed so as not to stay for a long time in a place where communication quality is poor. By doing so, it is possible to maintain good communication with an external communication device regardless of the position of the destination or whether or not the destination is set.

なお、この発明の自律移動装置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 also 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 is described as being stored in the ROM of the storage unit 20 in advance. However, the program is stored and distributed in a computer-readable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc), and an MO (Magneto-Optical Disc), and the program is distributed. You may comprise the computer which can implement|achieve each function mentioned above by reading and installing in a computer.

以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。 Although the preferred embodiment of the present invention has been described above, the present invention is not limited to the specific embodiment, and the present invention includes the invention described in the claims and an equivalent range thereof. Be done. The inventions described in the initial claims of the present application will be additionally described below.

(付記1)
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成部と、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定部と、
外部の通信機と通信する際の通信品質を測定する通信品質測定部と、
前記位置推定部が推定した自機位置と前記通信品質測定部が測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成部と、
前記通信品質地図作成部が作成した通信品質地図を用いて、目的地までの経路を探索する経路探索部と、
を備える自律移動装置。
(Appendix 1)
A map creation unit that creates a map using information of a plurality of images captured by the imaging unit;
A position estimation unit that estimates the position of the own device using information of a plurality of images captured by the imaging unit,
A communication quality measurement unit that measures the communication quality when communicating with an external communication device,
A communication quality map creation unit that creates a communication quality map using the own position estimated by the position estimation unit and the communication quality measured by the communication quality measurement unit,
Using the communication quality map created by the communication quality map creation unit, a route search unit that searches for a route to a destination,
An autonomous mobile device comprising.

(付記2)
前記経路探索部は、前記通信品質地図作成部が作成した通信品質地図において、通信品質が所定の閾値より低い領域である通信不良領域を通らない経路を探索する、
付記1に記載の自律移動装置。
(Appendix 2)
In the communication quality map created by the communication quality map creation unit, the route search unit searches for a route that does not pass through a poor communication area where the communication quality is lower than a predetermined threshold value.
The autonomous mobile device according to attachment 1.

(付記3)
さらに、前記経路探索部が探索した経路において通信品質が所定の閾値より低い領域である通信不良領域を通過するのに必要な時間である通信不良時間を取得する通信不良時間取得部を備え、
前記経路探索部は、前記通信不良時間取得部が取得した通信不良時間が許容レイテンシを超える場合には前記通信不良領域を通らない経路を探索し、前記通信不良時間が前記許容レイテンシ以下の場合には前記通信不良領域を通る経路を探索する、
付記1に記載の自律移動装置。
(Appendix 3)
Furthermore, a communication failure time acquisition unit that acquires a communication failure time that is a time required to pass through a communication failure area that is an area in which communication quality is lower than a predetermined threshold value in the route searched by the route search unit,
The route search unit searches for a route that does not pass through the communication failure area when the communication failure time acquired by the communication failure time acquisition unit exceeds the allowable latency, and when the communication failure time is less than or equal to the allowable latency. Searches for a route through the poor communication area,
The autonomous mobile device according to attachment 1.

(付記4)
さらに、自機のタスク内容に基づいて前記許容レイテンシを設定する許容レイテンシ設定部を備える、
付記3に記載の自律移動装置。
(Appendix 4)
Furthermore, an allowable latency setting unit that sets the allowable latency based on the task content of the own device is provided.
The autonomous mobile device according to attachment 3.

(付記5)
さらに、自機の速度を設定する速度設定部を備え、
前記通信不良時間取得部は、自律移動装置が最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が最大速度で移動した場合の前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索部は前記通信不良領域を通る経路を探索し、前記速度設定部は自機の速度を最大速度に設定する、
付記3又は4に記載の自律移動装置。
(Appendix 5)
Furthermore, it is equipped with a speed setting unit that sets the speed of its own machine,
The communication failure time acquisition unit acquires the communication failure time when the autonomous mobile device moves at the maximum speed,
When the communication failure time when the autonomous mobile device moves at the maximum speed is less than or equal to the allowable latency, the route search unit searches for a route passing through the communication failure region, and the speed setting unit Set speed to maximum speed,
The autonomous mobile device according to appendix 3 or 4.

(付記6)
前記経路探索部は、前記目的地が設定されていない場合でも、前記通信品質地図作成部が作成した通信品質地図において、通信品質が所定の閾値より低い領域である通信不良領域を避ける経路を設定する、
付記1に記載の自律移動装置。
(Appendix 6)
Even if the destination is not set, the route search unit sets a route that avoids a poor communication area where the communication quality is lower than a predetermined threshold value in the communication quality map created by the communication quality map creation unit. To do
The autonomous mobile device according to attachment 1.

(付記7)
付記1から6のいずれか一つに記載の自律移動装置と、
前記自律移動装置と通信する外部の通信機と、
を備える自律移動システム。
(Appendix 7)
The autonomous mobile device according to any one of appendices 1 to 6,
An external communication device that communicates with the autonomous mobile device;
An autonomous mobile system equipped with.

(付記8)
外部の通信機と通信を行いながら自律的に移動するための自律移動方法であって、
前記通信機と通信する際の通信品質に応じて経路を探索する、
自律移動方法。
(Appendix 8)
An autonomous moving method for moving autonomously while communicating with an external communication device,
A route is searched according to the communication quality when communicating with the communication device,
Autonomous movement method.

(付記9)
前記通信機と通信する際の通信品質が所定の閾値より低い領域である通信不良領域を通らない経路を探索する、
付記8に記載の自律移動方法。
(Appendix 9)
Search for a route that does not pass through a poor communication area, which is an area in which communication quality when communicating with the communication device is lower than a predetermined threshold value,
The autonomous moving method according to attachment 8.

(付記10)
前記通信機と通信する際の通信品質が所定の閾値より低い通信不良領域を許容レイテンシ以下の時間しか通らない経路を探索する、
付記8に記載の自律移動方法。
(Appendix 10)
Searching for a route in which the communication quality when communicating with the communication device passes through a communication failure area lower than a predetermined threshold value only for a time equal to or less than the allowable latency,
The autonomous moving method according to attachment 8.

(付記11)
目的地が設定されていない場合でも、前記通信機と通信する際の通信品質が所定の閾値より低い領域である通信不良領域を避ける経路を設定する、
付記8に記載の自律移動方法。
(Appendix 11)
Even if the destination is not set, set a route to avoid a poor communication area, which is an area where the communication quality when communicating with the communication device is lower than a predetermined threshold value,
The autonomous moving method according to attachment 8.

(付記12)
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップと、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定ステップと、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップと、
前記位置推定ステップで推定した自機位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップと、
前記通信品質地図作成ステップで作成した通信品質地図を用いて、目的地までの経路を探索する経路探索ステップと、
を備える自律移動方法。
(Appendix 12)
A map creation step of creating a map using information of a plurality of images captured by the imaging unit,
A position estimating step of estimating the own position using information of a plurality of images captured by the image capturing unit;
A communication quality measuring step for measuring communication quality when communicating with an external communication device,
A communication quality map creating step of creating a communication quality map using the own position estimated in the position estimating step and the communication quality measured in the communication quality measuring step,
Using the communication quality map created in the communication quality map creating step, a route searching step of searching for a route to a destination,
An autonomous moving method comprising.

(付記13)
コンピュータに、
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップ、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定ステップ、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップ、
前記位置推定ステップで推定した自機位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップ、
前記通信品質地図作成ステップで作成した通信品質地図を用いて、目的地までの経路を探索する経路探索ステップ、
を実行させるためのプログラム。
(Appendix 13)
On the computer,
A map creation step of creating a map using information of a plurality of images captured by the imaging unit,
A position estimation step of estimating the own position using information of a plurality of images captured by the imaging unit,
Communication quality measurement step for measuring communication quality when communicating with an external communication device,
A communication quality map creating step of creating a communication quality map using the own position estimated in the position estimating step and the communication quality measured in the communication quality measuring step,
Using the communication quality map created in the communication quality map creating step, a route searching step for searching for a route to a destination,
A program to execute.

100…自律移動装置、10…制御部、11…地図作成部、12…位置推定部、13…通信品質測定部、14…通信品質地図作成部、15…経路探索部、20…記憶部、21…画像記憶部、22…地図記憶部、23…通信品質地図記憶部、24…経路探索用地図記憶部、30…センサ部、31…距離センサ、41…撮像部、42…駆動部、43…入力部、44…通信部、45…電源、200…通信機 100... Autonomous mobile device, 10... Control part, 11... Map creation part, 12... Position estimation part, 13... Communication quality measurement part, 14... Communication quality map creation part, 15... Route search part, 20... Storage part, 21 ... image storage unit, 22... map storage unit, 23... communication quality map storage unit, 24... route search map storage unit, 30... sensor unit, 31... distance sensor, 41... imaging unit, 42... drive unit, 43... Input unit, 44... Communication unit, 45... Power supply, 200... Communication device

Claims (6)

自律移動装置であって、
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成部と、
前記撮像部が撮影した複数の画像の情報を用いて前記自律移動装置の位置を推定する位置推定部と、
外部の通信機と通信する際の通信品質を測定する通信品質測定部と、
前記位置推定部が推定した前記自律移動装置の位置と前記通信品質測定部が測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成部と、
前記地図作成部が作成した地図と、前記通信品質地図作成部が作成した通信品質地図とを用いて、目的地までの経路を探索する経路探索部と、
前記経路探索部が探索した経路において通信品質が所定の閾値より低い領域である通信不良領域を通過するのに必要な時間である通信不良時間を取得する通信不良時間取得部と、を備え、
前記経路探索部は、前記通信不良時間が許容レイテンシ以下の場合には前記通信不良領域を通る経路を探索し、
さらに、前記自律移動装置の速度を設定する速度設定部を備え、
前記通信不良時間取得部は、前記自律移動装置が現在の速度よりも高い最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が前記現在の速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシを超え、かつ、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索部は前記通信不良領域を通る経路を探索し、前記速度設定部は前記自律移動装置の速度を前記最大速度に設定し、
前記通信不良時間取得部が取得した通信不良時間、及び、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間がいずれも前記許容レイテンシを超える場合には、前記経路探索部は、前記通信不良領域を通らない経路を探索する、
律移動装置。
An autonomous mobile device,
A map creation unit that creates a map using information of a plurality of images captured by the imaging unit;
A position estimation unit that estimates the position of the autonomous mobile device using information of a plurality of images captured by the imaging unit;
A communication quality measurement unit that measures the communication quality when communicating with an external communication device,
A communication quality map creation unit that creates a communication quality map using the position of the autonomous mobile device estimated by the position estimation unit and the communication quality measured by the communication quality measurement unit,
A route search unit that searches for a route to a destination using the map created by the map creation unit and the communication quality map created by the communication quality map creation unit,
A communication failure time acquisition unit that acquires a communication failure time that is a time required to pass through a communication failure area that is an area in which communication quality is lower than a predetermined threshold value in the path searched by the path search unit,
The route search unit searches for a route through the communication failure area when the communication failure time is equal to or less than the allowable latency,
Furthermore, a speed setting unit for setting the speed of the autonomous mobile device is provided,
The communication failure time acquisition unit acquires the communication failure time when the autonomous mobile device moves at a maximum speed higher than the current speed,
The acquired communication failure time when the autonomous mobile device moves at the current speed exceeds the allowable latency, and the acquired communication when the autonomous mobile device moves at the maximum speed When the defective time is less than or equal to the allowable latency, the route search unit searches for a route passing through the defective communication area, the speed setting unit sets the speed of the autonomous mobile device to the maximum speed,
If the communication failure time acquired by the communication failure time acquisition unit, and the acquired communication failure time when the autonomous mobile device moves at the maximum speed, both exceed the allowable latency, the route The search unit searches for a route that does not pass through the poor communication area.
Autonomous mobile device.
さらに、前記自律移動装置のタスク内容に基づいて前記許容レイテンシを設定する許容レイテンシ設定部を備える、
請求項に記載の自律移動装置。
Furthermore, an allowable latency setting unit that sets the allowable latency based on the task content of the autonomous mobile device is provided.
The autonomous mobile device according to claim 1 .
前記経路探索部は、前記目的地が設定されていない場合でも、前記通信品質地図作成部が作成した通信品質地図において、前記通信不良領域を避ける経路を設定する、
請求項1又は2に記載の自律移動装置。
The route search unit, even if the destination has not been set, the communication quality map the communication quality mapping unit created, it sets the path to avoid the communication failure region,
Autonomous mobile apparatus according to claim 1 or 2.
請求項1からのいずれか1項に記載の自律移動装置と、
前記自律移動装置と通信する外部の通信機と、
を備える自律移動システム。
The autonomous mobile device according to any one of claims 1 to 3 ,
An external communication device that communicates with the autonomous mobile device;
An autonomous mobile system equipped with.
自律移動装置の自律移動方法であって、
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップと、
前記撮像部が撮影した複数の画像の情報を用いて前記自律移動装置の位置を推定する位置推定ステップと、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップと、
前記位置推定ステップで推定した前記自律移動装置の位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップと、
前記地図作成ステップで作成した地図と、前記通信品質地図作成ステップで作成した通信品質地図とを用いて、目的地までの経路を探索する経路探索ステップと、
前記経路探索ステップで探索した経路において通信品質が所定の閾値より低い領域である通信不良領域を通過するのに必要な時間である通信不良時間を取得する通信不良時間取得ステップと、を備え、
前記経路探索ステップは、前記通信不良時間が許容レイテンシ以下の場合には前記通信不良領域を通る経路を探索し、
さらに、前記自律移動装置の速度を設定する速度設定ステップを備え、
前記通信不良時間取得ステップは、前記自律移動装置が現在の速度よりも高い最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が前記現在の速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシを超え、かつ、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索ステップは前記通信不良領域を通る経路を探索し、前記速度設定ステップは前記自律移動装置の速度を前記最大速度に設定し、
前記通信不良時間取得ステップが取得した通信不良時間、及び、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間がいずれも前記許容レイテンシを超える場合には、前記経路探索ステップは、前記通信不良領域を通らない経路を探索する、
律移動方法。
An autonomous moving method of an autonomous moving device, comprising:
A map creation step of creating a map using information of a plurality of images captured by the imaging unit,
A position estimation step of estimating the position of the autonomous mobile device using information of a plurality of images captured by the imaging unit,
A communication quality measuring step for measuring communication quality when communicating with an external communication device,
A communication quality map creating step of creating a communication quality map using the position of the autonomous mobile device estimated in the position estimating step and the communication quality measured in the communication quality measuring step,
A route search step for searching a route to a destination using the map created in the map creating step and the communication quality map created in the communication quality map creating step;
A communication failure time acquisition step of acquiring a communication failure time which is a time required to pass through a communication failure area which is an area in which communication quality is lower than a predetermined threshold in the path searched in the path searching step,
The route search step searches for a route passing through the communication failure area when the communication failure time is equal to or less than an allowable latency,
Furthermore, a speed setting step for setting the speed of the autonomous mobile device is provided,
The communication failure time acquisition step acquires the communication failure time when the autonomous mobile device moves at a maximum speed higher than the current speed,
The acquired communication failure time when the autonomous mobile device moves at the current speed exceeds the allowable latency, and the acquired communication when the autonomous mobile device moves at the maximum speed When the defective time is less than or equal to the allowable latency, the route searching step searches for a route passing through the communication defective area, the speed setting step sets the speed of the autonomous mobile device to the maximum speed,
If the communication failure time acquired by the communication failure time acquisition step, and the acquired communication failure time when the autonomous mobile device moves at the maximum speed, both exceed the allowable latency, the route The searching step searches for a route that does not pass through the poor communication area.
Autonomous movement method.
自律移動装置のコンピュータに、
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップ、
前記撮像部が撮影した複数の画像の情報を用いて前記自律移動装置の位置を推定する位置推定ステップ、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップ、
前記位置推定ステップで推定した前記自律移動装置の位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップ、
前記地図作成ステップで作成した地図と、前記通信品質地図作成ステップで作成した通信品質地図とを用いて、目的地までの経路を探索する経路探索ステップ、
前記経路探索ステップで探索した経路において通信品質が所定の閾値より低い領域である通信不良領域を通過するのに必要な時間である通信不良時間を取得する通信不良時間取得ステップ、を実行させ、
前記経路探索ステップは、前記通信不良時間が許容レイテンシ以下の場合には前記通信不良領域を通る経路を探索し、
さらに、前記自律移動装置の速度を設定する速度設定ステップを前記コンピュータに実行させ、
前記通信不良時間取得ステップは、前記自律移動装置が現在の速度よりも高い最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が前記現在の速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシを超え、かつ、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索ステップは前記通信不良領域を通る経路を探索し、前記速度設定ステップは前記自律移動装置の速度を前記最大速度に設定し、
前記通信不良時間取得ステップが取得した通信不良時間、及び、前記自律移動装置が前記最大速度で移動した場合の前記取得された前記通信不良時間がいずれも前記許容レイテンシを超える場合には、前記経路探索ステップは、前記通信不良領域を通らない経路を探索する、
ログラム。
In the computer of the autonomous mobile device ,
A map creation step of creating a map using information of a plurality of images captured by the imaging unit,
A position estimation step of estimating the position of the autonomous mobile device using information of a plurality of images captured by the imaging unit,
Communication quality measurement step for measuring communication quality when communicating with an external communication device,
A communication quality map creating step of creating a communication quality map using the position of the autonomous mobile device estimated in the position estimating step and the communication quality measured in the communication quality measuring step,
A route search step of searching for a route to a destination using the map created in the map creation step and the communication quality map created in the communication quality map creation step;
A communication failure time acquisition step of acquiring a communication failure time that is a time required to pass through a communication failure area that is an area in which communication quality is lower than a predetermined threshold value in the path searched in the path search step,
The route searching step searches for a route passing through the communication failure area when the communication failure time is equal to or less than an allowable latency,
Further, causing the computer to execute a speed setting step for setting the speed of the autonomous mobile device,
The communication failure time acquisition step acquires the communication failure time when the autonomous mobile device moves at a maximum speed higher than the current speed,
The acquired communication failure time when the autonomous mobile device moves at the current speed exceeds the allowable latency, and the acquired communication when the autonomous mobile device moves at the maximum speed When the defective time is less than or equal to the allowable latency, the route searching step searches for a route passing through the communication defective area, the speed setting step sets the speed of the autonomous mobile device to the maximum speed,
If the communication failure time acquired by the communication failure time acquisition step, and the acquired communication failure time when the autonomous mobile device moves at the maximum speed, both exceed the allowable latency, the route The searching step searches for a route that does not pass through the poor communication area.
Program.
JP2016049544A 2016-03-14 2016-03-14 Autonomous mobile device, autonomous mobile system, autonomous mobile method and program Active JP6724439B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016049544A JP6724439B2 (en) 2016-03-14 2016-03-14 Autonomous mobile device, autonomous mobile system, autonomous mobile method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016049544A JP6724439B2 (en) 2016-03-14 2016-03-14 Autonomous mobile device, autonomous mobile system, autonomous mobile method and program

Publications (3)

Publication Number Publication Date
JP2017167625A JP2017167625A (en) 2017-09-21
JP2017167625A5 JP2017167625A5 (en) 2019-03-14
JP6724439B2 true JP6724439B2 (en) 2020-07-15

Family

ID=59913826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016049544A Active JP6724439B2 (en) 2016-03-14 2016-03-14 Autonomous mobile device, autonomous mobile system, autonomous mobile method and program

Country Status (1)

Country Link
JP (1) JP6724439B2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3703913A1 (en) 2017-10-30 2020-09-09 Telefonaktiebolaget LM Ericsson (publ) Robotic method and system
JP2019192030A (en) * 2018-04-26 2019-10-31 株式会社日立ビルシステム Apparatus and method for determining moving path of autonomously movable information processing apparatus
JP6841263B2 (en) * 2018-05-24 2021-03-10 株式会社デンソー Travel plan generator, travel plan generation method, and control program
JP7139762B2 (en) * 2018-07-31 2022-09-21 カシオ計算機株式会社 AUTONOMOUS MOBILE DEVICE, AUTONOMOUS MOVEMENT METHOD AND PROGRAM
JP7267543B2 (en) * 2018-09-28 2023-05-02 ニデックエレシス株式会社 How to adjust the current detection circuit
JP7225647B2 (en) * 2018-10-02 2023-02-21 カシオ計算機株式会社 AUTONOMOUS MOBILE DEVICE, AUTONOMOUS MOVEMENT METHOD AND PROGRAM
JP7326720B2 (en) * 2018-10-26 2023-08-16 富士通株式会社 Mobile position estimation system and mobile position estimation method
JP7236310B2 (en) 2019-03-29 2023-03-09 本田技研工業株式会社 Route setting device, route setting method and program
CN110220524A (en) * 2019-04-23 2019-09-10 炬星科技(深圳)有限公司 Paths planning method, electronic equipment, robot and computer readable storage medium
JP7276596B2 (en) 2020-03-11 2023-05-18 日本電気株式会社 Mobile object control system, control device, control method and recording medium
JP7435736B2 (en) * 2020-03-17 2024-02-21 日本電気株式会社 Mobile control system, control device, control method and recording medium
JP7288888B2 (en) * 2020-09-29 2023-06-08 Kddi株式会社 Wireless quality information providing device, navigation system, wireless quality information providing method and computer program
WO2023146443A1 (en) * 2022-01-27 2023-08-03 Telefonaktiebolaget Lm Ericsson (Publ) Optimization of planned movement of industrial devices

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3972461B2 (en) * 1998-05-21 2007-09-05 ソニー株式会社 Navigation method, navigation device, and automobile
JP2003005833A (en) * 2001-06-25 2003-01-08 Yaskawa Electric Corp Radio controller for movable cart
JP4658892B2 (en) * 2006-10-02 2011-03-23 本田技研工業株式会社 Mobile robot, mobile robot control device, mobile robot control method, and mobile robot control program
JP4608472B2 (en) * 2006-10-02 2011-01-12 本田技研工業株式会社 Mobile robot and mobile robot controller
JP4996453B2 (en) * 2007-12-28 2012-08-08 株式会社Ihi Sniper detection device
JP2012247290A (en) * 2011-05-27 2012-12-13 Kyocera Corp Radio communication device, radio communication system and route search method
US9668146B2 (en) * 2014-04-25 2017-05-30 The Hong Kong University Of Science And Technology Autonomous robot-assisted indoor wireless coverage characterization platform

Also Published As

Publication number Publication date
JP2017167625A (en) 2017-09-21

Similar Documents

Publication Publication Date Title
JP6724439B2 (en) Autonomous mobile device, autonomous mobile system, autonomous mobile method and program
JP6288060B2 (en) Autonomous mobile device, autonomous mobile method and program
JP6323439B2 (en) Autonomous mobile device, autonomous mobile method and program
US20210109537A1 (en) Autonomous exploration framework for indoor mobile robotics using reduced approximated generalized voronoi graph
JP6187623B1 (en) Autonomous mobile device, autonomous mobile method and program
Zhang et al. An indoor wayfinding system based on geometric features aided graph SLAM for the visually impaired
US10424320B2 (en) Voice detection, apparatus, voice detection method, and non-transitory computer-readable storage medium
US20180161986A1 (en) System and method for semantic simultaneous localization and mapping of static and dynamic objects
US10296009B2 (en) Autonomous movement device, autonomous movement method and non-transitory recording medium
US9224043B2 (en) Map generation apparatus, map generation method, moving method for moving body, and robot apparatus
Westman et al. Feature-based SLAM for imaging sonar with under-constrained landmarks
JP2002048513A (en) Position detector, method of detecting position, and program for detecting position
Zhang et al. An indoor navigation aid for the visually impaired
JP2003271975A (en) Method of extracting plane, extractor therefor, program therefor, recording medium therefor, and robot system mounted with plane extractor
Mattamala et al. Learning camera performance models for active multi-camera visual teach and repeat
Karrer et al. Real-time dense surface reconstruction for aerial manipulation
JP2009178782A (en) Mobile object, and apparatus and method for creating environmental map
JP6638753B2 (en) Autonomous mobile device, autonomous mobile method and program
JP2018156538A (en) Autonomous mobile device, image processing method and program
JP7354528B2 (en) Autonomous mobile device, method and program for detecting dirt on lenses of autonomous mobile device
JP2022138037A (en) Information processor, information processing method, and program
CN111971149A (en) Recording medium, information processing apparatus, and information processing method
JP7327596B2 (en) Autonomous mobile device, method and program for detecting dirt on lens of autonomous mobile device
JP2019159354A (en) Autonomous mobile device, memory defragmentation method and program
Spournias et al. Enchancing slam method for mapping and tracking using a low cost laser scanner

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200123

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200608

R150 Certificate of patent or registration of utility model

Ref document number: 6724439

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150