JP2017167625A - 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 PDFInfo
- Publication number
- JP2017167625A JP2017167625A JP2016049544A JP2016049544A JP2017167625A JP 2017167625 A JP2017167625 A JP 2017167625A JP 2016049544 A JP2016049544 A JP 2016049544A JP 2016049544 A JP2016049544 A JP 2016049544A JP 2017167625 A JP2017167625 A JP 2017167625A
- Authority
- JP
- Japan
- Prior art keywords
- communication quality
- communication
- unit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 105
- 238000004891 communication Methods 0.000 claims abstract description 266
- 238000003384 imaging method Methods 0.000 claims abstract description 30
- 238000005259 measurement Methods 0.000 claims abstract description 17
- 230000033001 locomotion Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 description 74
- 238000003860 storage Methods 0.000 description 42
- 239000011159 matrix material Substances 0.000 description 25
- 230000036544 posture Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 25
- 238000013519 translation Methods 0.000 description 24
- 239000013598 vector Substances 0.000 description 24
- 230000006870 function Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 3
- 230000005684 electric field Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 241000271897 Viperidae Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
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次元位置(これが集まって地図の情報を構成する)とを交互または同時に推定する処理を行っている。
Autonomous mobile devices that move autonomously according to their use have become widespread. For example, an autonomous mobile device that moves autonomously for indoor cleaning is known. In general, such an autonomous mobile device needs to create a map of the real space and estimate its own position in the real space. As a technique for creating a map of the real space, for example, a SLAM (Multiple Localization And Mapping) method is known. The basic principle of SLAM technology using a monocular camera is described in Non-Patent
この自律移動装置の画像認識・音声認識等の計算処理を、ネットワーク接続した外部の計算装置で処理させると、ネットワーク通信機能が必要となる代わりに、自律移動装置側の計算パワーや記憶容量の節約(それらに付随して冷却機構の省略やバッテリ等の軽量化)、データベースの大規模化とリアルタイム共有化、アップデートの容易さ等、多くのメリットが得られる。 If computation processing such as image recognition and voice recognition of this autonomous mobile device is processed by an external computing device connected to the network, the network communication function is required instead of saving computation power and storage capacity on the autonomous mobile device side. There are many merits such as the omission of the cooling mechanism and the reduction in the weight of the battery etc., the enlargement of the database and the real-time sharing, and the ease of updating.
このような無線通信を行う移動ロボットの先行技術として、特許文献1には、無線通信が切断される場所に移動した場合であっても、自律的に無線通信を復旧できる場所に移動することが可能な移動ロボットが開示されている。
As a prior art of a mobile robot that performs such wireless communication,
しかし、特許文献1に開示された技術では、通信が切断されると、本来の目的地は無視して通信可能な場所に移動するため、通信が切断されないように目的地に移動することはできなかった。
However, in the technique disclosed in
本発明は、上記問題を解決するためになされたものであり、通信が切断されないように目的地に移動することができる自律移動装置等を提供することを目的する。 The present invention has been made to solve the above-described problem, and an object thereof is to provide an autonomous mobile device and 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 provides:
A map creation unit that creates a map using information of a plurality of images taken by the imaging unit;
A position estimation unit that estimates the position of the device using information of a plurality of images captured by the imaging unit;
A communication quality measurement unit for measuring communication quality when communicating with an external communication device;
A communication quality map creating unit that creates a communication quality map using the own device position estimated by the position estimating unit and the communication quality measured by the communication quality measuring unit;
A route search unit that searches for a route to a destination based on the communication quality map created by the communication quality map creation unit;
It is characterized by providing.
本発明によれば、通信が切断されないように目的地に移動することができる。 According to the present invention, it is possible to move to a destination so that communication is not disconnected.
以下、図1を参照しながら、本発明の実施形態に係る自律移動装置について説明する。自律移動装置100は、用途に応じて自律的に移動する。この用途とは、例えば、警備監視用、屋内掃除用、ペット用、玩具用などである。
Hereinafter, an autonomous mobile device according to an embodiment of the present invention will be described with reference to FIG. The autonomous
自律移動装置100は、外観上、撮像部41、駆動部42を備える。
The autonomous
撮像部41は、単眼の撮像装置(カメラ)を備える。撮像部41は、例えば、30fpsで画像(フレーム)を取得する。自律移動装置100は、撮像部41が逐次取得した画像に基づいて、自機位置と周囲環境とをリアルタイムに認識しながら、自律移動を行う。
The
駆動部42は、独立2輪駆動型であって、車輪とモータとを備える移動手段である。自律移動装置100は、2つの車輪の同一方向駆動により前後の平行移動(並進移動)を、2つの車輪の逆方向駆動によりその場での回転(向き変更)を、2つの車輪のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。また、各々の車輪にはロータリエンコーダが備えられており、ロータリエンコーダで車輪の回転数を計測し、車輪の直径や車輪間の距離等の幾何学的関係を利用することで並進移動量及び回転量を計算できる。
The
例えば、車輪の直径をD、回転数をR(ロータリエンコーダにより測定)とすると、その車輪の接地部分での並進移動量はπ・D・Rとなる。また、車輪の直径をD、車輪間の距離をI、右車輪の回転数をRR、左車輪の回転数をRLとすると、向き変更の回転量は(右回転を正とすると)360°×D×(RL−RR)/(2×I)となる。この並進移動量や回転量を逐次足し合わせていくことで、駆動部42は、いわゆるオドメトリとして機能し、自機位置(移動開始時の位置及び向きを基準とした位置及び向き)を計測することができる。
For example, if the wheel diameter is D and the rotation speed is R (measured by a rotary encoder), the translational movement amount at the ground contact portion of the wheel is π · D · R. Further, if the wheel diameter is D, the distance between the wheels is I, the rotation speed of the right wheel is R R , and the rotation speed of the left wheel is RL , the rotation amount of the direction change is 360 (when the right rotation is positive). ° × D × (R L −R R ) / (2 × I). By sequentially adding the translational movement amount and the rotation amount, the
なお、車輪の代わりにクローラを備えるようにしても良いし、複数(例えば二本)の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動きや、足の動きに基づいて、車輪の場合と同様に自機の位置や向きの計測が可能である。 In addition, you may make it provide a crawler instead of a wheel, and you may make it move by providing a plurality (for example, two) leg | foot and walking with a leg | foot. In these cases as well, the position and orientation of the subject aircraft can be measured based on the movements of the two crawlers and the movements of the feet as in the case of the wheels.
図2に示すように、自律移動装置100は、撮像部41、駆動部42に加えて、制御部10、記憶部20、センサ部30、入力部43、通信部44、電源45、を備える。
As shown in FIG. 2, the autonomous
制御部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 by executing a program stored in the storage unit 20, each unit described later (a map creation unit 11, a
記憶部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
画像記憶部21には、撮像部41が撮影した画像が記憶される。ただし、記憶容量の節約のために、撮影したすべての画像を記憶しなくてもよく、また画像自体ではなく、画像の特徴量を記憶するようにしても良い。
The
地図記憶部22には、後述するSLAM法や距離センサ31からの情報に基づいて地図作成部11が作成した地図(壁や障害物の情報)が記憶される。
The
通信品質地図記憶部23には、後述する通信品質地図作成部14が作成した通信品質地図が記憶される。
The communication quality
経路探索用地図記憶部24には、地図記憶部22と通信品質地図記憶部23の情報から作成した、通信品質を考慮した経路を探索するために用いる経路探索用地図が記憶される。
The route search
センサ部30として、距離センサ31を備える。距離センサ31は、周囲の壁や障害物までの距離を測定するセンサであって、例えば、赤外線や超音波を用いたセンサである。なお、独立した距離センサ31を搭載せずに、撮像部41を用いて壁や障害物までの距離を測定するようにしても良い。また、他の物体に衝突したことを検知するバンパーセンサー(図示せず)を備えても良い。
A
入力部43として、自律移動装置100を操作するための操作ボタンを備える。操作ボタンは、例えば、電源ボタン、モード切替ボタン(掃除モード、ペットモード等を切り替える)、初期化ボタン(地図の作成をやり直しさせる)等を含む。入力部43として、音の入力を行うマイク(図示せず)と、自律移動装置100への操作指示の音声を認識する音声認識部を備えても良い。
As the
通信部44は、外部の通信機200と無線通信するための無線モジュールである。一般的には電波を用いた無線LAN(Local Area Network)モジュールであるが、赤外線や可視光を用いたものであっても良い。なお、外部の通信機200との通信においては、図3(a)に示すように、ネットワーク経由で通信しても良いし、図3(b)に示すように直接通信しても良い。図3に示すように、自律移動装置100だけでなく通信機200も通信部44を備える。
The
電源45は、自律移動装置100を動作させる電源であり、一般的には内蔵された充電池であるが、太陽電池であっても良いし、床面から無線で電力供給されるシステムであっても良い。電源45が充電池の場合は、充電ステーション(ホームベース)に自律移動装置100がドッキングすることで充電される。
The
次に、制御部10の機能について説明する。制御部10は、地図作成部11、位置推定部12、通信品質測定部13、通信品質地図作成部14、経路探索部15を含み、後述する通信品質地図の作成や自律移動装置100の移動制御等を行う。また、制御部10は、マルチスレッド機能に対応しており、複数のスレッド(異なる処理の流れ)を並行して進めることができる。
Next, functions of the control unit 10 will be described. The control unit 10 includes a map creation unit 11, a
地図作成部11は、画像記憶部21に記憶されている画像の情報並びに該画像撮影時の自機の位置及び向きの情報に基づいてSLAM法を用いて推定された特徴点(Map点)の位置や、距離センサ31で壁や障害物を検知したときの自機の位置及び向きの情報に基づいて得られた壁や障害物の位置等を、地図の情報として地図記憶部22に記憶する。
The map creation unit 11 stores the feature points (Map points) estimated using the SLAM method based on the image information stored in the
位置推定部12は、後述するSLAM法に基づいて、ビジュアルオドメトリとして、自機の位置及び向きを推定する。
The
通信品質測定部13は、通信部44で外部の通信機200と通信する際の通信品質を測定する。
The communication
通信品質地図作成部14は、自律移動装置100の周囲の各地点において、通信品質測定部13で外部の通信機200と通信する際の通信品質を測定し、通信品質地図(各地点での通信品質が記録された地図)を作成する。
The communication quality map creating unit 14 measures the communication quality when communicating with the external communication device 200 by the communication
経路探索部15は、経路探索用地図記憶部24に記憶された地図の情報に基づいて経路を探索する。
The route search unit 15 searches for a route based on the map information stored in the route search
自律移動装置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
次に制御部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 (destination) indicating the destination (step S110), and a route plan to the destination is performed (step S111). Details of the route plan to the destination will be described later. Then, the control unit 10 issues an operation instruction to the
目的地への移動指示がなければ(ステップ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 is not set (step S108). If the destination is not set (step S108; Yes), free autonomous movement is performed (step S109), and the process returns to step S105. Free autonomous movement may be movement that moves randomly, or movement that moves around the room to create a map.
目的地が設定されている場合は(ステップS108;No)、経路計画により経路が設定されているので、その経路に沿って移動を行うために制御部10は駆動部42に動作指示を出し(ステップS112)、ステップS105に戻る。なお、目的地を示す変数(目的地)はスレッドをまたいで値を参照することができるように記憶部20に記憶されている。
When the destination is set (step S108; No), the route is set by the route plan, so the control unit 10 issues an operation instruction to the
このメインフローの処理により、地図を更新しながら自律的に移動を行いつつ、移動指示を受けた目的地に効率の良い移動経路を経て移動することができる。典型的な例としては、自律移動装置100は最初、充電ステーションに置いてある状態で電源を投入すると、距離センサ31を頼りとして、家の各部屋をくまなく移動し、距離センサ31によって壁等の障害物位置を特定し、障害物位置を含む地図の情報を作成することができる。地図がある程度作成されると、地図の情報がまだないが移動可能と考えられる領域を知ることができ、その領域に自律的に移動する等して、より広範囲の地図の作成を促すこともできるようになる。そして、移動可能なほぼ全域の地図の情報が作成されれば、地図の情報を利用した効率的な移動動作が可能になる。例えば部屋のどの位置からでも最短経路で充電ステーションに戻ったり、効率的に部屋の掃除をしたりすることが可能になる。
By this main flow process, it is possible to move to a destination that has received a movement instruction via an efficient movement route while autonomously moving while updating the map. As a typical example, when the autonomous
次に、自律移動装置100のメインフロー(図4)のステップS102で起動される自機位置推定スレッドについて、図5を参照して説明する。このスレッドは、位置推定部12が、最初に初期化処理を行い、その後自機位置推定(撮像部41で取得した画像を用いてビジュアルオドメトリにより自機位置を推定する)を続ける処理である。
Next, the own position estimation thread activated in step S102 of the main flow (FIG. 4) of the autonomous
位置推定部12は、まず、推定状態変数に「初期化中」をセットする(ステップS201)。推定状態変数は、その時点の自機位置推定処理の状態を示し、「初期化中」「追跡成功」「追跡失敗」の三つの値を取る。次に、動作終了か否かを判定する(ステップS202)。動作終了なら(ステップS202;Yes)終了し、動作終了でないなら(ステップS202;No)、推定状態変数が「初期化中」であるか否かを判定する(ステップS203)。初期化中でないなら(ステップS203;No)ステップS221以降の自機位置推定処理を行い、初期化中なら(ステップS203;Yes)ステップS204に進んで初期化処理を行う。まず初期化処理について説明する。
The
初期化処理では位置推定部12はまずフレームカウンタNに−1をセットし(ステップS204)、撮像部41で画像を取得する(ステップS205)。画像は例えば30fpsで取得することができる(取得した画像はフレームとも呼ばれる)。次に、位置推定部12は、撮像部41で取得した画像に含まれている2D特徴点を取得する(ステップS206)。
In the initialization process, the
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 can be acquired by 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, which will be described later, is impossible. Therefore, the
2D特徴点の取得数が基準値以上だった場合は(ステップS207;Yes)、位置推定部12はフレームカウンタNをインクリメントする(ステップS208)。そして、フレームカウンタNが0かどうかを判定する(ステップS209)。フレームカウンタNが0なら(ステップS209;Yes)画像をまだ一つしか取得していないということになるので、2枚目の画像を取得するためにステップS205に戻る。なお図5のフローチャートでは記載していないが、1枚目の画像を取得した時の自機の位置と2枚目の画像を取得する時の自機の位置とがある程度離れていた方が、これ以降の処理で推定する姿勢の精度が向上する。そこで、ステップS209からステップS205に戻る際に、メインフロー(図4)のステップS109での自由な自律移動により、オドメトリによる並進距離が所定の距離(例えば1m)以上となるまで待ってからステップS205に戻るようにしても良い。
If the number of 2D feature points acquired is equal to or greater than the reference value (step S207; Yes), the
フレームカウンタ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
この、Two−view Structure from Motion法による姿勢の推定は、具体的には、対応する特徴点から基礎行列Eを求め、基礎行列Eを並進ベクトルtと回転行列Rとに分解することによって行う(詳細は非特許文献2を参照)。なお、ここで得られる並進ベクトルt(3次元空間内で移動することを想定すると、最初の画像を取得した位置を原点として、X,Y,Zの3要素を持つ)の各要素の値は実環境上での値とは異なる(Two−view Structure from Motion法では実環境上の値自体を得ることはできず、実環境と相似する空間上での値を得ることになる。)ため、これらをSLAM空間上での値とみなし、以下ではSLAM空間上での座標(SLAM座標)を用いて説明する。
Specifically, the estimation of the posture by the Two-view Structure from Motion method is performed by obtaining a basic matrix E from corresponding feature points and decomposing the basic matrix E into a translation vector t and a rotation matrix R ( For details, see
二つの画像間の姿勢(並進ベクトルt及び回転行列R)が求まると、その値は、最初の画像を基準(最初の画像を取得した位置をSLAM座標の原点、並進ベクトルは0ベクトル、回転行列は単位行列Iとする。)にした場合の、二枚目の画像の姿勢(二つ目の画像を取得した時の自機の位置(並進ベクトルt)及び向き(回転行列R))となる。ここで、二つの画像それぞれの姿勢(該画像(フレーム)撮影時の自機の位置(並進ベクトルt)及び向き(回転行列R)で、フレーム姿勢とも言う。)が求まっている場合、その二つの画像間で対応が取れている2D特徴点(対応特徴点)のSLAM座標での3D位置を、以下の考え方に基づき、地図作成部11が求める(ステップS213)。 When the posture (translation vector t and rotation matrix R) between the two images is obtained, the values are based on the first image (the position where the first image was acquired is the origin of SLAM coordinates, the translation vector is the 0 vector, the rotation matrix) Is the unit matrix I.) The orientation of the second image (the position (translation vector t) and orientation (rotation matrix R) of the own machine when the second image is acquired)) . Here, when the postures of the two images (the position (translation vector t) and direction (rotation matrix R) of the own device at the time of photographing the image (frame) are also referred to as frame postures) are obtained. Based on the following concept, the map creation unit 11 obtains the 3D position in the SLAM coordinates of 2D feature points (corresponding feature points) that can be matched between 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 the SLAM coordinate of the 2D feature point is (X, Y, Z), these are the same. These relationships when expressed in the next coordinates are expressed by the following formula (1) using the perspective projection matrix P. Here, the symbol “˜” represents “equal except for a non-zero constant multiple” (that is, equal or is a constant (non-zero) multiple), and the “′” symbol represents “transpose”. .
(U v 1) ′ to P (XY Y 1) ′ (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 from the 3 × 3 matrix A indicating the internal parameters of the camera and the external parameters R and t indicating the posture (frame posture) of the image, the following equation 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 as described above. Further, since the internal parameter A of the camera is determined by the focal length and the image sensor size, it is a constant if the
二つの画像間で対応が取れている2D特徴点のうちの一つが、一つ目の画像のフレーム座標(u1,v1)と、二つ目の画像のフレーム座標(u2,v2)に写っているとすると、以下の式(3)及び式(4)ができる。ここで、Iは単位行列、0はゼロベクトル、(L|r)は、行列Lの右に列ベクトルrを並べた行列を表す。
(u1 v1 1)’〜A(I|0)(X Y Z 1)’…(3)
(u2 v2 1)’〜A(R|t)(X Y Z 1)’…(4)
One of the 2D feature points corresponding to the two images is 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) is a matrix in which a column vector r is arranged to the right of the matrix L.
(U 1 v 1 1) ′ to A (I | 0) (XY Z 1) ′ (3)
(U 2 v 2 1) ′ to A (R | t) (XY Z 1) ′ (4)
上記の式(3)及び式(4)において、u1,v1,u2,v2それぞれについての式ができるため、式は4つできるが、未知数はX,Y,Zの3つなので、X,Y,Zを求めることができ、これがその2D特徴点のSLAM座標における3D位置となる。なお、式の個数の方が未知数の個数よりも多いため、例えばu1,v1,u2で求めたX,Y,Zとu1,v1,v2で求めたX,Y,Zとが異なる場合がありうる。このような場合は、過剰条件の連立一次方程式となり、一般には解が存在しないが、地図作成部11は、最小二乗法を用いて、最も確からしいX,Y,Zを求める。 In the above formulas (3) and (4), because there are formulas for u 1 , v 1 , u 2 , and v 2, there are four formulas, 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 the SLAM coordinates. Since the number of equations is larger than the number of unknowns, for example, X, Y, Z obtained from u 1 , v 1 , u 2 and X, Y, Z obtained from u 1 , v 1 , v 2 are used. May be different. In such a case, it becomes a simultaneous linear equation with an excess condition, and there is generally no solution, but the map creation unit 11 finds the most probable X, Y, and Z using the least square method.
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) of the 2D feature point in the SLAM coordinate is obtained, it is used as a Map point, and the map creation unit 11 is also called a Map point database (Map point DB (Database), which is stored in the
そして、地図作成部11は、二つの画像間で対応が取れている2D特徴点(対応特徴点)の全てをMap点データベースに登録したかを判定し(ステップS215)、まだ全ての登録ができていなかったら(ステップS215;No)ステップS213に戻り、全て登録できたら(ステップS215;Yes)ステップS216に進む。 Then, the map creation unit 11 determines whether all 2D feature points (corresponding feature points) corresponding to each other between the two images are registered in the Map point database (step S215), and all the registrations are still possible. If not (Step S215; No), the process returns to Step S213, and if all of them are registered (Step S215; Yes), the process proceeds to Step S216.
そして、位置推定部12は、キーフレーム(後に続くスレッドでの処理対象となる画像を指す)のカウンタNKFを0に初期化し(ステップS216)、二つ目の画像をキーフレームとしてフレームデータベース(フレームDBとも言い、画像記憶部21に格納される)に登録する(ステップS217)。
Then, the
フレームデータベースに登録する要素は、「キーフレーム番号」(登録時点でのキーフレームカウンタNKFの値)、「姿勢」(その画像撮影時の自機のSLAM座標内での位置(並進ベクトルt)及び向き(回転行列R))、「抽出した全ての2D特徴点」、「全ての2D特徴点の中でMap点として3D位置が既知の点」、「キーフレーム自体の特徴」、であるが、これらに加えて「オドメトリで計測した実環境上での姿勢」(実環境での駆動部42による移動距離に基づいて求められる自機の位置及び向き)も登録しても良い。
Elements to be registered in the frame database are “key frame number” (value of the key frame counter NKF at the time of registration), “posture” (position (translation vector t) in the SLAM coordinates of the own device at the time of image capture) Direction (rotation matrix R)), “all extracted 2D feature points”, “a point where 3D position is known as a 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 machine determined based on the movement distance by the
上記中、「キーフレーム自体の特徴」とは、キーフレーム間の画像類似度を求める処理を効率化するためのデータであり、通常は画像中の2D特徴点のヒストグラム等を用いるのが良いが、画像自体を「キーフレーム自体の特徴」としても良い。また、「オドメトリで計測した実環境上での姿勢」は、並進ベクトルtと回転行列Rとで表すこともできるが、通常、本自律移動装置100は2次元平面上を動くので、2次元データに単純化して、移動開始時の位置(原点)及び向きを基準にした2次元座標(X,Y)及び向きφとして表しても良い。
Among the above, “features of the key frame itself” is data for improving the processing for obtaining the image similarity between the key frames, and it is usually preferable to use a histogram of 2D feature points in the image. The image itself may be a “characteristic of the key frame itself”. In addition, the “posture in the real environment measured by odometry” can be expressed by a translation vector t and a rotation matrix R. However, since the autonomous
次に、位置推定部12は、キーフレームが生成された事を地図作成スレッドに知らせるために、地図作成スレッドのキーフレームキュー(キュー(Queue)は、先入れ先出しのデータ構造になっている)に、キーフレームカウンタNKFをセットする(ステップS218)。
Next, in order to inform the map creation thread that the key frame has been generated, the
以上で自機位置推定スレッドの初期化処理が完了したので、位置推定部12は、推定状態変数に「追跡成功」をセットし(ステップS219)、SLAM座標と実環境座標とのスケール対応を得るために、オドメトリによる並進距離(実環境での座標で求められる)を、上記の処理で推定したSLAM座標での並進距離dで除することによって、スケールSを求める(ステップS220)。
Since the initialization processing of the own position estimation thread is completed as described above, the
そして、ステップS202、ステップS203を経由して、初期化済の場合の処理であるステップS221へ進む。 And it progresses to step S221 which is a process in the case of having completed initialization via step S202 and step S203.
初期化済の場合の処理を説明する。この処理が、自機位置推定スレッドの通常時の処理であり、位置推定部12が、逐次、現在の自機の位置及び向き(SLAM座標内での並進ベクトルtと回転行列R)を推定する処理である。
Processing in the case of initialization is described. This process is a normal process of the own machine position estimation thread, and the
まず、位置推定部12は、撮像部41で画像を撮影し(ステップS221)、フレームカウンタNをインクリメントする(ステップS222)。そして、特徴点取得部11は、撮像部41で撮影した画像に含まれている2D特徴点を取得する(ステップS223)。
First, the
次に、位置推定部12は、推定状態変数が「追跡成功」か否かを判定する(ステップS224)。「追跡成功」なら(ステップS224;Yes)、位置推定部12は、フレームデータベースに登録されている一つ前のキーフレーム(キーフレーム番号がNKFである画像)の情報から、その画像の情報に含まれている2D特徴点のうち、3D位置が既知である(Map点データベースに登録されているMap点になっている)2D特徴点を取得して、その中でステップS223で取得した特徴点と対応が取れる2D特徴点(対応特徴点)の個数(特徴点対応数)を取得する(ステップS225)。
Next, the
推定状態変数の値が「追跡成功」でないなら(ステップS224;No)、位置推定部12は、フレームデータベースに登録されている二つ以上前のキーフレーム(キーフレーム番号がNKF未満である画像)の中から、Map点とステップS223で取得した特徴点との対応数が最大となるキーフレームと、その特徴点対応数を取得する(ステップS226)。
If the value of the estimated state variable is not “tracking success” (step S224; No), the
そして、位置推定部12は、特徴点対応数が閾値(例えば30。以下「基準対応特徴点数」という。)より大きいか否かを判定し(ステップS227)、基準対応特徴点数以下の場合(ステップS227;No)はSLAM法で推定する姿勢の精度が悪くなるので、推定状態変数に「追跡失敗」をセットし(ステップS230)、位置の推定は行わずにステップS202に戻る。
Then, the
特徴点対応数が基準対応特徴点数より大きい場合は(ステップS227;Yes)、ステップS225又はステップS226において特徴点対応数を取得したキーフレームの近傍のキーフレーム(特徴点対応数を取得したキーフレームと、所定の割合以上(例えば30%以上)特徴点の重なりが存在するキーフレーム)に含まれるMap点と対応が取れるステップS223で取得した特徴点(対応特徴点)の個数(特徴点対応数)を位置推定部12が取得する(ステップS228)。 When the feature point correspondence number is larger than the reference correspondence feature point number (step S227; Yes), the key frame in the vicinity of the key frame for which the feature point correspondence number is obtained in step S225 or step S226 (the key frame for which the feature point correspondence number is obtained) And the number of feature points (corresponding feature points) acquired in step S223 that can correspond to the Map points included in key frames where there is an overlap of feature points over a predetermined ratio (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
ステップS231では、位置推定部12は、推定状態変数に追跡成功をセットする(ステップS231)。位置推定部12は、ステップS228で取得した対応特徴点それぞれの3D位置(Xi,Yi,Zi)をMap点データベースから取得し、ステップS221で取得した画像に含まれている対応特徴点との対応関係を用いて、現在の自機の姿勢(並進ベクトルt及び回転行列Rで表される自機の位置及び向き)を推定する(ステップS232)。
In step S231, the
この自機の姿勢の推定方法について、補足説明する。ステップS221で取得した画像に含まれている対応特徴点のフレーム座標を(ui,vi)とし、その対応特徴点の3D位置を(Xi,Yi,Zi)とする(iは1から特徴点対応数までの値を取る)と、各対応特徴点の3D位置(Xi,Yi,Zi)を以下の式(5)によってフレーム座標系に投影した値(uxi,vxi)とフレーム座標(ui,vi)とは理想的には一致するはずである。
(uxi vxi 1)’〜A(R|t)(Xi Yi Zi 1)’…(5)
A supplementary explanation will be given on the method for estimating the attitude of the aircraft. The frame coordinates of the corresponding feature points included in the image acquired in step S221 are (u i , v i ), and the 3D positions of the corresponding feature points are (X i , Y i , Z i ) (i is 1 to the number of corresponding feature points), and the value (ux i ,) of 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) vx i ) and the frame coordinates (u i , v i ) should ideally match.
(Ux i vx i 1) ′ to A (R | t) (X i Y i Z i 1) ′ (5)
しかし、実際には(Xi,Yi,Zi)にも(ui,vi)にも誤差が含まれているため、(uxi,vxi)と(ui,vi)とが一致することはめったにない。そして、未知数はRとt(3次元空間ではそれぞれ3次元となり、3+3=6が未知数の個数である)だけなのに、数式は対応特徴点の個数の2倍存在する(対応特徴点一つに対して、フレーム座標のu,vそれぞれに対する式が存在するため)ことになるため、過剰条件の連立一次方程式になり、上述したように最小二乗法で求めることになる。具体的には、位置推定部12は、以下の式(6)のコスト関数E1を最小化する姿勢(並進ベクトルt及び回転行列R)を求めることになる。これがSLAM法で求めたSLAM座標での自機の姿勢(並進ベクトルt及び回転行列Rで表される自機の位置及び向き)となる。このようにして、位置推定部12は自機の姿勢を推定する(ステップS232)。
SLAM座標での現在の自機の姿勢(並進ベクトルt及び回転行列R)が求められたので、位置推定部12は、これにスケールSを乗算することで、VO(ビジュアルオドメトリ)を求める(ステップS233)。VOは実環境での自機の位置及び向きとして利用できる。
Since the current attitude (translation vector t and rotation matrix R) in the SLAM coordinates is obtained, the
次に、位置推定部12は、フレームDBに登録されている直前のキーフレーム(キーフレーム番号がNKFである画像)を撮影した時の自機の位置から所定の距離(例えば1m。以下「基準並進距離」という。)以上移動しているかを判定し(ステップS234)、移動しているなら(ステップS234;Yes)キーフレームカウンタNKFをインクリメントしてから(ステップS235)、現フレームをキーフレームとしてフレームDBに登録する(ステップS236)。基準並進距離未満しか移動していないなら(ステップS234;No)ステップS202に戻る。
Next, the
ここで、基準並進距離と比較する自機の移動距離は、直前のキーフレームから現フレームまでの並進距離(両フレームの並進ベクトルの差のベクトルの絶対値(要素の二乗和の平方根))をオドメトリから取得しても良いし、上述したVOから求めても良い。フレームDBに登録する内容は上述したように、「キーフレーム番号」、「姿勢」、「抽出した全ての2D特徴点」、「全ての2D特徴点の中でMap点として3D位置が既知の点」、「キーフレーム自体の特徴」、である。 Here, the movement distance of the aircraft compared to the reference translation distance is the translation distance from the previous key frame to the current frame (the absolute value of the difference vector between the translation vectors of both frames (the square root of the sum of the squares of the elements)). It may be obtained from odometry or may be obtained from the 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”, “a point where 3D position is known as a 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
次に、自律移動装置100のメインフロー(図4)のステップS103で起動される地図作成スレッドについて、図6を参照して説明する。このスレッドは地図作成部11が、キーフレーム中の対応特徴点の3D位置を計算して取得するMap点の情報と、距離センサ31を用いて取得する壁や障害物までの距離の情報と、から地図の情報を作成し、地図記憶部22に記憶する。そして、通信品質地図作成部14が、通信品質測定部13から取得する通信品質の情報を用いて通信品質地図を作成し、通信品質地図記憶部23に記憶する。
Next, the map creation thread activated in step S103 of the main flow (FIG. 4) of the autonomous
まず、地図作成部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 finished (step S301). If the operation ends (step S301; Yes), the operation ends. If the operation does not end (step S301; No), it is determined whether 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 the key frame queue is not empty (step S302; No), data is extracted from the key frame queue and is processed by the MKF (key frame processed by the map creation thread). (A variable representing a number) (step S303). The map creation unit 11 determines whether MKF is greater than 0 (step S304). If MKF is 0 (step S304; No), the map creation unit 11 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, determines the 2D feature point of the previous key frame (key frame number MKF-1) and the 2D feature point of the current key frame (key frame number MKF). 2D feature points (corresponding feature points) that can be handled in step S305 are extracted. Since the posture (translation vector t and rotation matrix R) of each key frame is also registered in the frame DB, the 3D position of the corresponding feature point is processed in the same manner as in the process at the initialization of the own position estimation thread. Can be calculated. The map creation unit 11 registers the corresponding feature point for which the 3D position can be calculated as a Map point in the Map point DB (step S306). The map creation unit 11 registers the 3D position with respect to the 2D feature points for which the current 3D position can be calculated 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 processing for the next corresponding feature point (one not registered in the Map point DB) is performed. Alternatively, the 3D position may be calculated again, and the 3D position registered in the Map point DB or the 3D position for the corresponding feature point in the frame DB may be updated.
次に地図作成部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 “tracking success” (step S308). If it is not “tracking success” (step S308; No), it means that the position of the own device has not been estimated, so the measurement of an obstacle or 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 the obstacle with the
そして、通信品質地図作成部14は、通信品質測定部13により通信品質を測定し、測定して得られた通信品質の値を、VOで示される自機位置での通信品質の値として、通信品質地図記憶部23に登録する(ステップS310)。
Then, the communication quality map creating unit 14 measures the communication quality by the communication
通信品質は、通信部44で観測できる電界強度や受信電力を用いたり、実際に行っている通信のRTT(Round−Trip Time)や、実効速度、エラー率、遅延を用いたりして取得できる。これら様々な評価値を複合した評価値を用いても良い。また、赤外線や可視光の通信リンクを用いる場合などは、信号が到達したか否か(間に遮蔽物があるか否か)という二値の情報を用いても良い。既にその位置で通信品質を測定済みだった場合は、それまでの測定結果の平均値やメディアンを採用したり、最悪値を採用したりしても良い。また、平均値、メディアン、最良値、最悪値等を別々に保存しておき、自律移動装置100の移動目的に応じて使い分けても良い。
The communication quality can be acquired by using the electric field intensity and the received power that can be observed by the
通信品質地図記憶部23に登録する値は、通信品質の良いほど小さい正の数(コスト値)になるように変換してから登録する。例えば、電界強度や実効速度は通信品質が良いほど大きくなるので、逆数を登録する等する。
The value to be registered in the communication quality
次に、地図作成部11は、キーフレームキューが空かどうかを判定する(ステップS311)。空であれば(ステップS311;Yes)、全キーフレームの姿勢と全Map点の3D位置に対して、バンドルアジャストメント処理を行って、精度向上を図る(ステップS312)。そして、バンドルアジャストメント処理を行った結果、誤差が大きいMap点が見つかったら、それをMap点DBから削除し(ステップS313)、ステップS314に進む。キーフレームキューが空でなければ(ステップS311;No)、何もせずにステップS314に進む。 Next, the map creating unit 11 determines whether or not the key frame queue is empty (step S311). If it is empty (step S311; Yes), bundle adjustment processing is performed on the orientation of all key frames and the 3D positions of all Map points to improve accuracy (step S312). If a Map point with a large error is found as a result of the bundle adjustment process, it 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 and route cost map is “S (x, y) = ∞” if the coordinate (x, y) is an immovable area (wall or obstacle), and “S (x, y) = This is an array in which values are stored such that the smaller the shortest distance from the coordinate (x, y) to the immovable region, the smaller the positive number. For example, when the coordinate (x, y) is not an immovable region, the reciprocal of the shortest distance from the coordinate (x, y) to the immovable region can be stored in S (x, y). The array S is stored in the
地図兼経路コストマップの配列S(x,y)の具体例を図7に示す。図7で、黒の領域は移動不能領域(壁や障害物)を示しており、この領域内はS(x,y)=∞である。また白い領域は移動不能領域までの最短距離が大きい領域を示しており、この領域内のS(x,y)の値は小さい(例えば1未満)。そして、灰色の領域は移動不能領域までの最短距離が小さい領域を示しており、この領域内のS(x,y)の値は大きい(例えば1以上)。 A specific example of the map / route cost map array S (x, y) is shown in FIG. In FIG. 7, black areas indicate immovable areas (walls and obstacles), and S (x, y) = ∞ in this area. Moreover, the white area | region has shown the area | region where the shortest distance to an immovable area | region is large, and the value of S (x, y) in this area | region is small (for example, less than 1). And the gray area | region has shown the area | region where the shortest distance to an immovable area | region is small, and the value of S (x, y) in this area | region 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 positive numbers that are smaller as communication quality at coordinates (x, y) is better stored in C (x, y). For example, the electric field strength at the coordinates (x, y) and the reciprocal of the effective speed can be stored in C (x, y). The array C is stored in the communication quality
通信品質コストマップを配列C(x,y)の具体例を図8に示す。図8の左端に外部の通信機200(図示せず)が存在している。図8で、白の領域は通信品質が良好な領域を示しており、この領域内のC(x,y)は小さい(例えば1未満)。そして、薄い灰色の領域は通信品質が悪い領域を示しており、この領域内のC(x,y)の値は比較的大きい(例えば1以上3未満)。濃い灰色の領域は通信できないほど通信品質が悪い領域を示しており、この領域内のC(x,y)の値はとても大きい(例えば3以上)。 A specific example of the communication quality cost map of the array C (x, y) is shown in FIG. An external communication device 200 (not shown) exists 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). The 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 where the communication quality is so bad that communication is impossible, 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) through which the autonomous
次に、地図作成部11は、ループクロージングスレッドのキーフレームキューにMKFをセットして(ステップS316)、ステップS301に戻る。 Next, the map creating 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 stored so that the values can be referred to across the threads. Stored in the unit 20.
なお、バンドルアジャストメント処理とは、カメラ姿勢(キーフレーム姿勢)とMap点の3D位置とを同時に推定する非線形最適化法であり、Map点をキーフレーム上に投影させたときに発生する誤差が最小になるような最適化を行うものである。 The bundle adjustment process is a nonlinear optimization method that simultaneously estimates the camera posture (key frame posture) and the 3D position of the Map point, and an error that occurs when the Map point is projected onto the key frame. Optimization is performed so as to minimize it.
このバンドルアジャストメントの処理を行うことで、キーフレーム姿勢とMap点の3D位置の精度向上を図ることができる。しかし、この処理は計算量が多いことと、この処理を行わなくても精度向上が図れないだけで特別問題が発生するわけではない。したがって、ここでは、キーフレームが空の状態の時(他の処理が比較的軽い状態の時)のみバンドルアジャストメント処理を行うようにしている。通信品質が良い場合は、自律移動装置100自身でバンドルアジャストメント処理をするのではなく、画像記憶部21や地図記憶部22の情報を通信部44で外部の通信機200に送信し、外部の通信機200でバンドルアジャストメント処理した結果を自律移動装置100に送り返してもらうようにしても良い。
By performing the bundle adjustment process, it is possible to improve the accuracy of the 3D position of the key frame posture and the Map point. However, this processing has a large amount of calculation, and a special problem does not occur because the accuracy cannot be improved without performing this processing. Accordingly, here, the bundle adjustment process is performed only when the key frame is empty (when the other processes are relatively light). When the communication quality is good, the autonomous
また、バンドルアジャストメントの処理を行うと、キーフレーム上に投影させたときの誤差が所定の値よりも大きいMap点が見つかることがある。このような誤差の大きなMap点については、SLAM推定に悪影響を及ぼすため、ステップS313ではMap点DBから削除している。なお、Map点DBから削除するのではなく、Map点DBにおいて、誤差の大きな注意を要するMap点であることを識別するためのフラグを立てておいても良い。 Further, when bundle adjustment processing is performed, a Map point may be found in which an error when projected onto a key frame is larger than a predetermined value. Since such a Map point with a large error has an adverse effect on SLAM estimation, it is deleted from the Map point DB in step S313. Instead of deleting from the Map point DB, a flag may be set in the Map point DB for identifying the Map point that requires a large error and requires attention.
次に自律移動装置100のメインフロー(図4)のステップS104で起動されるループクロージングスレッドについて、図9を参照して説明する。このスレッドでは制御部10は、ループクロージング処理ができるかどうかをチェックし続け、ループクロージング処理ができる場合にはループクロージング処理を行っている。なお、ループクロージング処理とは、以前来たことのある同じ場所に戻ってきたことを認識した場合に、以前この同じ場所にいた時の姿勢の値と現在の姿勢の値とのずれを用いて、以前来た時から今までの軌跡中のキーフレームや、関連するMap点の3D位置を修正することをいう。
Next, the loop closing thread activated in step S104 of the main flow (FIG. 4) of the autonomous
まず、制御部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 finished (step S401). If the operation ends (step S401; Yes), the process ends. If the operation is not finished (step S401; No), it is determined whether or not the key frame queue is empty (step S402). If the key frame queue is empty (step S402; Yes), the process returns to step S401. If the key frame queue is not empty (step S402; No), data is extracted from the key frame queue and processed by the LKF (loop closing thread). It is set to a variable representing a key frame number (step S403). Next, the control unit 10 determines whether LKF is greater 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 “characteristic of the key frame itself” is a predetermined similarity (for example, 0.9, hereinafter “reference image”). (Referred to as “similarity”). The key DB is searched from the frame DB (step S405). Here, when the features of the images (key frames) are represented by feature vectors, this similarity is obtained by normalizing the absolute values of the feature vectors of the two images (the square root of the sum of squares of the elements) to 1. Can be the similarity between the two images. Also, the reciprocal of the distance (square root of the sum of squares of the differences between the elements) of the feature vectors of the two images (the absolute value normalized to 1) 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 having a similarity of “characteristic of the key frame itself” 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 (Yes in step S406), 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 posture of the current key frame as the same posture as the found key frame. Then, using the difference between the attitude of the found key frame and the attitude of the current key frame, linear correction is applied to the attitude of each key frame in the trajectory from the found key frame to the current key frame. Further, the 3D position of the Map point included in each key frame 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 has a large amount of calculation, when the communication quality is good, the autonomous
次に自律移動装置100のメインフロー(図4)のステップS111の処理である目的地への経路計画について説明する。従来の経路計画は、地図兼経路コストマップである配列S(x,y)、現在位置及び目的地位置を与えると、現在位置から目的地位置への最小累積コスト経路を選択するものである。具体的には、各座標をノード、隣接関係をエッジとし、ノード乃至エッジに配列S(x,y)に従った重みをつけたグラフを構成すれば、Dijkstraアルゴリズムなどグラフ理論の最短経路探索のアルゴリズムを用いて効率良く最小累積コスト経路を選択することができる。本発明では、配列S(x,y)だけでなく、通信品質マップである配列C(x,y)も用いることで、通信品質を保つような経路を選択できる。
Next, the route plan to the destination which is the process of step S111 of the main flow (FIG. 4) of the autonomous
(第1の実施形態)
では、目的地への経路計画の第1の実施形態について、図10を参照して説明する。まず経路探索部15は、閾値の値を通信品質が良好と考えられる場合の値に設定する(ステップS501)。次に、各配列の全ての座標について値を更新するために、xとyを0に初期化する(ステップS502)。
(First embodiment)
The first embodiment of the route plan to the destination will be described with reference to FIG. First, the route search unit 15 sets the threshold value to a value when communication quality is considered good (step S501). Next, x and y are initialized to 0 in order to update the values for all 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) in the array S that is a map and route cost map into the array T (x, y) that is a route search cost map (step S503). The array T is an array used instead of the conventional map and route cost map S when searching for a route, and is stored in the route search
次に経路探索部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 or not the value of (x, y) in the array C, which is a communication quality map, is larger than a threshold value (step S504). If it is larger than the threshold (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 not to pass through the place. Is set (step S505), and the process proceeds to step S506. If it is below the threshold (step S504; No), the communication quality at that location (x, y) is good, so the value of T (x, y) remains unchanged at S (x, y). The process 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 processing in steps S503 to S505 has 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 processing of step S503 to step S505 is completed for all x and y (step S506; Yes), the setting of the array T (x, y) that is the route search cost map is completed. The unit 15 performs a route search by applying a 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 a route has been found in step S507 (step S508). If a route is found (step S508; Yes), the process ends. When the route does not exist (step S508; No), the route search unit 15 increases the threshold (step S509), returns to step S502, and repeats the retry.
なお、ステップS509で閾値の値が、通信品質が「通信不可能」を示すほど大きな値になった場合は、経路探索をあきらめて終了する。フローチャートが煩雑になるため、図には示していないが、この場合は、メインフロー(図4)のステップS110での目的地の設定からやり直す必要がある。 In step S509, when the threshold value becomes so large that the communication quality indicates “communication impossible”, the route search is given up and the process is terminated. Although the flowchart is complicated, it is not shown in the figure, but in this case, it is necessary to redo the setting of the destination in step S110 of the main flow (FIG. 4).
なお、この処理を行う前に、通信品質マップである配列C(x,y)が示す通信品質が悪い領域(図8で薄い灰色や濃い灰色の領域)を膨張、収縮等させておいてもよい。より確実に通信を行いたい場合は通信品質が悪い領域を膨張させておく。また、移動中の通信の瞬断を許容して可動域を広く取りたい場合は通信品質が悪い領域を収縮させておく。 Note that before this processing is performed, an area with poor communication quality (light gray or dark gray area in FIG. 8) indicated by the array C (x, y), which is a communication quality map, may be expanded or contracted. Good. In order to perform communication more reliably, an area where the communication quality is bad is expanded. In addition, when it is desired to allow a wide range of motion while allowing instantaneous interruption of communication during movement, an area 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. For example, when the route from the current position to the target 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 to be shown is selected. On the other hand, when the communication quality cost map C (x, y) shown in FIG. 8 is applied to the first embodiment described above, the communication quality is bad except for the white portion in FIG. A route search cost map T (x, y) is obtained. If a route from the current position to the target position is searched in this figure, the route indicated by the dotted arrow in FIG. 11B is selected. In this way, by using the route search cost map in consideration of communication quality, it is possible to move to a destination by following a route in which communication is not disconnected.
(第2の実施形態)
次に、一定時間(許容されるレイテンシ(latency))通信ができない状態を許容する第2の実施形態について、説明する。例えば、自律移動装置100が、その実行するタスクとして、人間との自然言語会話を行っていて、自然言語会話を行うために必要な音声認識処理を外部の通信機200に処理させているとすると、許容されるレイテンシは、その自然言語会話中の沈黙期間の延長が許される時間である。例えば、この場合、レイテンシを2秒と設定することができる。また、自律移動装置100が実行するタスクの内容によって、外部の通信機200と通信するデータ量が変わるが、このデータ量の通信に必要な帯域を満たす通信品質を閾値に設定する。
(Second Embodiment)
Next, a description will be given of a second embodiment that allows a state in which communication cannot be performed for a certain period of time (allowable latency). For example, suppose that the autonomous
では、第2の実施形態について、図12を参照して説明する。まず、経路探索部15は、自律移動装置100が実行するタスクの内容に基づき、許容レイテンシを変数TLに設定する(ステップS601)。このステップにおいて、経路探索部15は許容レイテンシ設定部に相当する。次に、経路探索部15は、自律移動装置100が実行するタスクの内容に基づき、通信品質の閾値を設定する(ステップS602)。そして、経路探索部15は、地図兼経路コストマップである配列Sの(x,y)の値を、経路探索用コストマップである配列T(x,y)に代入する(ステップS603)。 The second embodiment will be described with reference to FIG. First, the route search unit 15 sets the allowable latency to 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 an 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) in the array S that is a map / route cost map into the array T (x, y) that is a route search cost map (step S603).
次に、経路探索部15は、経路探索用コストマップTに従来の経路計画のアルゴリズムを適用して経路探索を行い、得られた経路を仮経路Lとする(ステップS604)。この処理において、経路探索部15は経路候補探索部に相当する。もしここで経路が得られなかった場合は、経路探索をあきらめて終了する。フローチャートが煩雑になるため、図には示していないが、この場合は、メインフロー(図4)のステップS110での目的地の設定からやり直す必要がある。 Next, the route search unit 15 performs route search by applying a conventional route planning algorithm to the route search cost map T, 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 no route is obtained here, the route search is given up and the process is terminated. Although the flowchart is complicated, it is not shown in the figure, but in this case, it is necessary to redo 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 from the current position to the target position in order, and a section satisfying C (x, y)> threshold (a section where communication quality is insufficient when following the temporary route L). With respect to the length, a time required to pass through the length (hereinafter referred to as TT) is calculated, and it is determined whether or not TL <TT (step S605). The calculation of TT can be simply performed by adding a value obtained by dividing the length of one route by the moving speed of the autonomous
仮経路Lを現在位置からたどった際に、TL<TTとなるような区間無しに目的位置までたどり着けたら(ステップ605;No)、仮経路Lを本経路に採用し(ステップS607)、終了する。 When the temporary route L is reached from the current position to the target position without a section where TL <TT (step 605; No), the temporary 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 where TL <TT is found when following the temporary route L (step 605; Yes), the temporary route L cannot be adopted, so the temporary route L is determined as TL <TT from the current position. ∞ is substituted for T (x, y) around the point on the section traced to a certain point (a region obtained by expanding the section 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 next and subsequent route searches.
この第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 FIG. 7, FIG. 8, FIG. 13, and FIG. For example, if 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 an arrow 13 (a) is obtained. In step S605, if the time TT passing through the light gray portion of FIG. 13B along the arrow is equal to or shorter than the allowable latency TL, the temporary 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 in the middle of passing 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 (until the position where TT exceeds TL) is set to ∞ (black in the figure). Then, the process returns to step S604, and a new temporary route L is obtained again. This new temporary route L is represented 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 route of the dotted line arrow is traced, the time TT exceeds the allowable latency TL on the way, so that in step S606, as shown in FIG. The area around T (x, y) of TT (to a position where TT exceeds TL) is set to ∞ (black in the figure). Then, the process returns to step S604, and a new temporary route L is obtained again. This new temporary route L is represented by a dotted arrow in FIG.
この点線矢印の経路は、通信品質が良好な部分のみを通るので、この経路が本経路として採用される。 Since the route indicated by the dotted line passes only through a portion having good communication quality, this route is adopted as the main route.
以上、図12のような処理を行うことで、通信品質の悪い領域があっても、そこを通過する時間が許容レイテンシ以下であれば、そこを通過する経路をたどることができるようになる。目的地への移動に、通信品質の悪い領域を通らざるを得ない場合、第1の実施形態では目的地への移動が不可能だったが、第2の実施形態では許容レイテンシ以下の時間でその領域を通過できる場合は、目的地の移動が可能になる。 As described above, by performing the processing as shown in FIG. 12, even if there is an area with poor communication quality, if the time for passing therethrough is less than the allowable latency, the route passing there can be traced. When moving to the destination has to pass through an area with poor communication quality, it is impossible to move to the destination in the first embodiment, but in the second embodiment, the time is less than the allowable latency. If the area can be passed, the destination can be moved.
例えば、音声認識のもとになる音声データは、通信が途絶えている間はバッファしておき、通信品質が回復した後に外部機器に送信して処理を行うようにすれば、許容レイテンシを守って処理を継続できる。また、自律移動装置100のタスクが自然言語会話の場合、自然言語会話において沈黙期間の延長が許される時間(例えば2秒)を許容レイテンシとして設定しておけば、通信品質の悪い領域を通過せざるを得ない場合でも自然言語会話を継続できる。
For example, if voice data that is the basis of voice recognition is buffered while communication is interrupted, and communication quality is restored, it can be sent to an external device for processing. Processing can continue. Further, when the task of the autonomous
なお、自律移動装置100の速度を現在速度より上げることができる場合、ステップS605でTT<TLとなった場合でも、すぐにはステップS606に進まず、その環境での最大速度で移動した場合のTTを計算し直し、計算し直したTTならTL以下になる場合は(ステップS605;No)、経路探索部15は、仮経路Lを本経路とし(ステップS607)、制御部10は駆動部42に最大速度を設定して移動を指示するようにしても良い。この処理において、制御部10は、速度設定部に相当する。このような処理をすることにより、通常の速度では許容レイテンシ以下の時間で通信品質の悪い領域を通過できない場合でも、移動速度を上げて通過させることができる。したがって、通常速度では目的地に到達できない状況下でも、速度を上げることにより、許容レイテンシを守って目的地へ到達できるようになる。
In addition, when the speed of the autonomous
また、上述した実施形態では、目的地への経路計画を行う時のみ通信品質を考慮したが、メインフロー(図4)のステップS109での自由な自律移動の際も、制御部10が通信品質コストマップC(x,y)を参照して、通信品質が悪いところには長時間滞在しないように移動制御をしても良い。このようにすることによって、目的地の位置や目的地の設定の有無によらず、外部の通信機との通信を良好に保つことができる。 In the above-described embodiment, the communication quality is considered only when the route plan to the destination is performed. However, the control unit 10 also determines the communication quality during free autonomous movement in step S109 of the main flow (FIG. 4). With reference to the cost map C (x, y), movement control may be performed so as not to stay for a long time where communication quality is poor. By doing in this way, it is possible to maintain good communication with an external communication device regardless of the position of the destination and 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)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
It should be noted that each function of the autonomous
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。 As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to the specific embodiment which concerns, This invention includes the invention described in the claim, and its equivalent range It is. Hereinafter, the invention described in the scope of claims of the present application will be appended.
(付記1)
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成部と、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定部と、
外部の通信機と通信する際の通信品質を測定する通信品質測定部と、
前記位置推定部が推定した自機位置と前記通信品質測定部が測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成部と、
前記通信品質地図作成部が作成した通信品質地図を用いて、目的地までの経路を探索する経路探索部と、
を備える自律移動装置。
(Appendix 1)
A map creation unit that creates a map using information of a plurality of images taken by the imaging unit;
A position estimation unit that estimates the position of the device using information of a plurality of images captured by the imaging unit;
A communication quality measurement unit for measuring communication quality when communicating with an external communication device;
A communication quality map creating unit that creates a communication quality map using the own device position estimated by the position estimating unit and the communication quality measured by the communication quality measuring unit;
A route search unit that searches for a route to a destination using the communication quality map created by the communication quality map creation unit;
An autonomous mobile device comprising:
(付記2)
前記経路探索部は、前記通信品質地図作成部が作成した通信品質地図において、通信品質が所定の閾値より低い領域である通信不良領域を通らない経路を探索する、
付記1に記載の自律移動装置。
(Appendix 2)
The route search unit searches for a route that does not pass through a communication failure region that is a region where the communication quality is lower than a predetermined threshold in the communication quality map created by the communication quality map creation unit.
The autonomous mobile device according to
(付記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 region that is a region where communication quality is lower than a predetermined threshold 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 equal to or less than the allowable latency. Search for a route through the poor communication area,
The autonomous mobile device according to
(付記4)
さらに、自機のタスク内容に基づいて前記許容レイテンシを設定する許容レイテンシ設定部を備える、
付記3に記載の自律移動装置。
(Appendix 4)
In addition, an allowable latency setting unit that sets the allowable latency based on the task content of the own machine,
The autonomous mobile device according to
(付記5)
さらに、自機の速度を設定する速度設定部を備え、
前記通信不良時間取得部は、自律移動装置が最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が最大速度で移動した場合の前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索部は前記通信不良領域を通る経路を探索し、前記速度設定部は自機の速度を最大速度に設定する、
付記3又は4に記載の自律移動装置。
(Appendix 5)
In addition, it has 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 equal to or less than the allowable latency, the route search unit searches for a route passing through the communication failure region, and the speed setting unit Set the speed to the maximum speed,
The autonomous mobile device according to
(付記6)
前記経路探索部は、前記目的地が設定されていない場合でも、前記通信品質地図作成部が作成した通信品質地図において、通信品質が所定の閾値より低い領域である通信不良領域を避ける経路を設定する、
付記1に記載の自律移動装置。
(Appendix 6)
The route search unit sets a route that avoids a communication failure area in which the communication quality is lower than a predetermined threshold in the communication quality map created by the communication quality map creation unit even when the destination is not set. To
The autonomous mobile device according to
(付記7)
付記1から6のいずれか一つに記載の自律移動装置と、
前記自律移動装置と通信する外部の通信機と、
を備える自律移動システム。
(Appendix 7)
The autonomous mobile device according to any one of
An external communicator communicating with the autonomous mobile device;
An autonomous mobile system comprising:
(付記8)
外部の通信機と通信を行いながら自律的に移動するための自律移動方法であって、
前記通信機と通信する際の通信品質に応じて経路を探索する、
自律移動方法。
(Appendix 8)
An autonomous movement method for autonomously moving while communicating with an external communication device,
Search for a route 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 communication failure area that is an area where the communication quality when communicating with the communication device is lower than a predetermined threshold;
The autonomous movement method according to attachment 8.
(付記10)
前記通信機と通信する際の通信品質が所定の閾値より低い通信不良領域を許容レイテンシ以下の時間しか通らない経路を探索する、
付記8に記載の自律移動方法。
(Appendix 10)
Searching for a route through which a communication quality at the time of communicating with the communication device is lower than a predetermined threshold and only passes a time equal to or less than the allowable latency,
The autonomous movement method according to attachment 8.
(付記11)
目的地が設定されていない場合でも、前記通信機と通信する際の通信品質が所定の閾値より低い領域である通信不良領域を避ける経路を設定する、
付記8に記載の自律移動方法。
(Appendix 11)
Even when a destination is not set, a route that avoids a communication failure area that is an area where the communication quality when communicating with the communication device is lower than a predetermined threshold is set.
The autonomous movement method according to attachment 8.
(付記12)
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップと、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定ステップと、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップと、
前記位置推定ステップで推定した自機位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップと、
前記通信品質地図作成ステップで作成した通信品質地図を用いて、目的地までの経路を探索する経路探索ステップと、
を備える自律移動方法。
(Appendix 12)
A map creation step of creating a map using information of a plurality of images taken by the imaging unit;
A position estimation step of estimating the position of the device using information of a plurality of images captured by the imaging unit;
A 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 device position estimated in the position estimating step and the communication quality measured in the communication quality measuring step;
A route search step for searching for a route to the destination using the communication quality map created in the communication quality map creation step;
An autonomous movement method comprising:
(付記13)
コンピュータに、
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップ、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定ステップ、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップ、
前記位置推定ステップで推定した自機位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップ、
前記通信品質地図作成ステップで作成した通信品質地図を用いて、目的地までの経路を探索する経路探索ステップ、
を実行させるためのプログラム。
(Appendix 13)
On the computer,
A map creation step of creating a map using information of a plurality of images taken by the imaging unit;
A position estimation step of estimating the position of the own 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 for creating a communication quality map using the own device position estimated in the position estimating step and the communication quality measured in the communication quality measuring step;
A route search step for searching for a route to a destination using the communication quality map created in the communication quality map creation step,
A program for running
100…自律移動装置、10…制御部、11…地図作成部、12…位置推定部、13…通信品質測定部、14…通信品質地図作成部、15…経路探索部、20…記憶部、21…画像記憶部、22…地図記憶部、23…通信品質地図記憶部、24…経路探索用地図記憶部、30…センサ部、31…距離センサ、41…撮像部、42…駆動部、43…入力部、44…通信部、45…電源、200…通信機
DESCRIPTION OF
Claims (13)
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定部と、
外部の通信機と通信する際の通信品質を測定する通信品質測定部と、
前記位置推定部が推定した自機位置と前記通信品質測定部が測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成部と、
前記通信品質地図作成部が作成した通信品質地図を用いて、目的地までの経路を探索する経路探索部と、
を備える自律移動装置。 A map creation unit that creates a map using information of a plurality of images taken by the imaging unit;
A position estimation unit that estimates the position of the device using information of a plurality of images captured by the imaging unit;
A communication quality measurement unit for measuring communication quality when communicating with an external communication device;
A communication quality map creating unit that creates a communication quality map using the own device position estimated by the position estimating unit and the communication quality measured by the communication quality measuring unit;
A route search unit that searches for a route to a destination using the communication quality map created by the communication quality map creation unit;
An autonomous mobile device comprising:
請求項1に記載の自律移動装置。 The route search unit searches for a route that does not pass through a communication failure region that is a region where the communication quality is lower than a predetermined threshold in the communication quality map created by the communication quality map creation unit.
The autonomous mobile device according to claim 1.
前記経路探索部は、前記通信不良時間取得部が取得した通信不良時間が許容レイテンシを超える場合には前記通信不良領域を通らない経路を探索し、前記通信不良時間が前記許容レイテンシ以下の場合には前記通信不良領域を通る経路を探索する、
請求項1に記載の自律移動装置。 Furthermore, a communication failure time acquisition unit that acquires a communication failure time that is a time required to pass through a communication failure region that is a region where communication quality is lower than a predetermined threshold 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 equal to or less than the allowable latency. Search for a route through the poor communication area,
The autonomous mobile device according to claim 1.
請求項3に記載の自律移動装置。 In addition, an allowable latency setting unit that sets the allowable latency based on the task content of the own machine,
The autonomous mobile device according to claim 3.
前記通信不良時間取得部は、自律移動装置が最大速度で移動した場合の前記通信不良時間を取得し、
前記自律移動装置が最大速度で移動した場合の前記通信不良時間が前記許容レイテンシ以下の場合には、前記経路探索部は前記通信不良領域を通る経路を探索し、前記速度設定部は自機の速度を最大速度に設定する、
請求項3又は4に記載の自律移動装置。 In addition, it has 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 equal to or less than the allowable latency, the route search unit searches for a route passing through the communication failure region, and the speed setting unit Set the speed to the maximum speed,
The autonomous mobile device according to claim 3 or 4.
請求項1に記載の自律移動装置。 The route search unit sets a route that avoids a communication failure area in which the communication quality is lower than a predetermined threshold in the communication quality map created by the communication quality map creation unit even when the destination is not set. To
The autonomous mobile device according to claim 1.
前記自律移動装置と通信する外部の通信機と、
を備える自律移動システム。 The autonomous mobile device according to any one of claims 1 to 6,
An external communicator communicating with the autonomous mobile device;
An autonomous mobile system comprising:
前記通信機と通信する際の通信品質に応じて経路を探索する、
自律移動方法。 An autonomous movement method for autonomously moving while communicating with an external communication device,
Search for a route according to the communication quality when communicating with the communication device,
Autonomous movement method.
請求項8に記載の自律移動方法。 Search for a route that does not pass through a communication failure area that is an area where the communication quality when communicating with the communication device is lower than a predetermined threshold;
The autonomous movement method according to claim 8.
請求項8に記載の自律移動方法。 Searching for a route through which a communication quality at the time of communicating with the communication device is lower than a predetermined threshold and only passes a time equal to or less than the allowable latency,
The autonomous movement method according to claim 8.
請求項8に記載の自律移動方法。 Even when a destination is not set, a route that avoids a communication failure area that is an area where the communication quality when communicating with the communication device is lower than a predetermined threshold is set.
The autonomous movement method according to claim 8.
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定ステップと、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップと、
前記位置推定ステップで推定した自機位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップと、
前記通信品質地図作成ステップで作成した通信品質地図を用いて、目的地までの経路を探索する経路探索ステップと、
を備える自律移動方法。 A map creation step of creating a map using information of a plurality of images taken by the imaging unit;
A position estimation step of estimating the position of the device using information of a plurality of images captured by the imaging unit;
A 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 device position estimated in the position estimating step and the communication quality measured in the communication quality measuring step;
A route search step for searching for a route to the destination using the communication quality map created in the communication quality map creation step;
An autonomous movement method comprising:
撮像部が撮影した複数の画像の情報を用いて地図を作成する地図作成ステップ、
前記撮像部が撮影した複数の画像の情報を用いて自機位置を推定する位置推定ステップ、
外部の通信機と通信する際の通信品質を測定する通信品質測定ステップ、
前記位置推定ステップで推定した自機位置と前記通信品質測定ステップで測定した通信品質とを用いて通信品質地図を作成する通信品質地図作成ステップ、
前記通信品質地図作成ステップで作成した通信品質地図を用いて、目的地までの経路を探索する経路探索ステップ、
を実行させるためのプログラム。 On the computer,
A map creation step of creating a map using information of a plurality of images taken by the imaging unit;
A position estimation step of estimating the position of the own 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 for creating a communication quality map using the own device position estimated in the position estimating step and the communication quality measured in the communication quality measuring step;
A route search step for searching for a route to a destination using the communication quality map created in the communication quality map creation step,
A program for running
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 true JP2017167625A (en) | 2017-09-21 |
JP2017167625A5 JP2017167625A5 (en) | 2019-03-14 |
JP6724439B2 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) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019086102A1 (en) * | 2017-10-30 | 2019-05-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 |
WO2019225268A1 (en) * | 2018-05-24 | 2019-11-28 | 株式会社デンソー | Travel plan generation device, travel plan generation method, and control program |
JP2020021257A (en) * | 2018-07-31 | 2020-02-06 | カシオ計算機株式会社 | Autonomous mobile device, autonomous mobile method, and program |
JP2020058110A (en) * | 2018-09-28 | 2020-04-09 | 日本電産エレシス株式会社 | Method for controlling current detection circuit |
JP2020057187A (en) * | 2018-10-02 | 2020-04-09 | カシオ計算機株式会社 | Autonomous moving apparatus, autonomous moving method and program |
JP2020067439A (en) * | 2018-10-26 | 2020-04-30 | 富士通株式会社 | System and method for estimating position of moving body |
JP2020165832A (en) * | 2019-03-29 | 2020-10-08 | 本田技研工業株式会社 | Route setting device, route setting method, and program |
JP2020181572A (en) * | 2019-04-23 | 2020-11-05 | 炬星科技(深▲せん▼)有限公司Syrius Robotics Co., Ltd. | Route planning method, electronic device, robot, and computer-readable storage medium |
WO2021187264A1 (en) * | 2020-03-17 | 2021-09-23 | 日本電気株式会社 | Moving body control system, control device, control method, and recording medium |
JP2022055895A (en) * | 2020-09-29 | 2022-04-08 | Kddi株式会社 | Radio quality information providing device, navigation system, radio 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 |
JP7497769B2 (en) | 2020-03-11 | 2024-06-11 | 日本電気株式会社 | MOBILE BODY CONTROL SYSTEM, CONTROL DEVICE, CONTROL METHOD, AND COMPUTER PROGRAM |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11325941A (en) * | 1998-05-21 | 1999-11-26 | Sony Corp | Navigation method and system, and automobile |
JP2003005833A (en) * | 2001-06-25 | 2003-01-08 | Yaskawa Electric Corp | Radio controller for movable cart |
JP2008090576A (en) * | 2006-10-02 | 2008-04-17 | Honda Motor Co Ltd | Mobile robot, and controller of mobile robot |
JP2008087102A (en) * | 2006-10-02 | 2008-04-17 | Honda Motor Co Ltd | Moving robot, control device for moving robot, controlling method of moving robot, and controlling program of moving robot |
JP2009162413A (en) * | 2007-12-28 | 2009-07-23 | Ihi Corp | Sniper detecting device |
JP2012247290A (en) * | 2011-05-27 | 2012-12-13 | Kyocera Corp | Radio communication device, radio communication system and route search method |
US20150312774A1 (en) * | 2014-04-25 | 2015-10-29 | The Hong Kong University Of Science And Technology | Autonomous robot-assisted indoor wireless coverage characterization platform |
-
2016
- 2016-03-14 JP JP2016049544A patent/JP6724439B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11325941A (en) * | 1998-05-21 | 1999-11-26 | Sony Corp | Navigation method and system, and automobile |
JP2003005833A (en) * | 2001-06-25 | 2003-01-08 | Yaskawa Electric Corp | Radio controller for movable cart |
JP2008090576A (en) * | 2006-10-02 | 2008-04-17 | Honda Motor Co Ltd | Mobile robot, and controller of mobile robot |
JP2008087102A (en) * | 2006-10-02 | 2008-04-17 | Honda Motor Co Ltd | Moving robot, control device for moving robot, controlling method of moving robot, and controlling program of moving robot |
JP2009162413A (en) * | 2007-12-28 | 2009-07-23 | Ihi Corp | Sniper detecting device |
JP2012247290A (en) * | 2011-05-27 | 2012-12-13 | Kyocera Corp | Radio communication device, radio communication system and route search method |
US20150312774A1 (en) * | 2014-04-25 | 2015-10-29 | The Hong Kong University Of Science And Technology | Autonomous robot-assisted indoor wireless coverage characterization platform |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019086102A1 (en) * | 2017-10-30 | 2019-05-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Robotic method and system |
US11584007B2 (en) | 2017-10-30 | 2023-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Robotic method and system |
CN111263685A (en) * | 2017-10-30 | 2020-06-09 | 瑞典爱立信有限公司 | Robot method and system |
CN111263685B (en) * | 2017-10-30 | 2023-09-15 | 瑞典爱立信有限公司 | Robot method and system |
JP2019192030A (en) * | 2018-04-26 | 2019-10-31 | 株式会社日立ビルシステム | Apparatus and method for determining moving path of autonomously movable information processing apparatus |
JP2019203823A (en) * | 2018-05-24 | 2019-11-28 | 株式会社デンソー | Travel plan generator, travel plan generation method, and control program |
WO2019225268A1 (en) * | 2018-05-24 | 2019-11-28 | 株式会社デンソー | Travel plan generation device, travel plan generation method, and control program |
CN110850863A (en) * | 2018-07-31 | 2020-02-28 | 卡西欧计算机株式会社 | Autonomous moving apparatus, autonomous moving method, and storage medium |
JP2020021257A (en) * | 2018-07-31 | 2020-02-06 | カシオ計算機株式会社 | Autonomous mobile device, autonomous mobile method, and program |
JP7139762B2 (en) | 2018-07-31 | 2022-09-21 | カシオ計算機株式会社 | AUTONOMOUS MOBILE DEVICE, AUTONOMOUS MOVEMENT METHOD AND PROGRAM |
CN110850863B (en) * | 2018-07-31 | 2023-05-23 | 卡西欧计算机株式会社 | Autonomous moving apparatus, autonomous moving method, and storage medium |
JP2020058110A (en) * | 2018-09-28 | 2020-04-09 | 日本電産エレシス株式会社 | Method for controlling current detection circuit |
JP7267543B2 (en) | 2018-09-28 | 2023-05-02 | ニデックエレシス株式会社 | How to adjust the current detection circuit |
JP2020057187A (en) * | 2018-10-02 | 2020-04-09 | カシオ計算機株式会社 | Autonomous moving apparatus, autonomous moving method and program |
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 |
JP2020067439A (en) * | 2018-10-26 | 2020-04-30 | 富士通株式会社 | System and method for estimating position of moving body |
JP7236310B2 (en) | 2019-03-29 | 2023-03-09 | 本田技研工業株式会社 | Route setting device, route setting method and program |
JP2020165832A (en) * | 2019-03-29 | 2020-10-08 | 本田技研工業株式会社 | Route setting device, route setting method, and program |
US11754413B2 (en) | 2019-03-29 | 2023-09-12 | Honda Motor Co., Ltd. | Path setting apparatus, path setting method, and storage medium |
JP6978799B6 (en) | 2019-04-23 | 2022-01-17 | 炬星科技(深▲せん▼)有限公司 | Route planning methods, electronic devices, robots and computer readable storage media |
JP2020181572A (en) * | 2019-04-23 | 2020-11-05 | 炬星科技(深▲せん▼)有限公司Syrius Robotics Co., Ltd. | Route planning method, electronic device, robot, and computer-readable storage medium |
JP7497769B2 (en) | 2020-03-11 | 2024-06-11 | 日本電気株式会社 | MOBILE BODY CONTROL SYSTEM, CONTROL DEVICE, CONTROL METHOD, AND COMPUTER PROGRAM |
WO2021187264A1 (en) * | 2020-03-17 | 2021-09-23 | 日本電気株式会社 | Moving body control system, control device, control method, and recording medium |
JPWO2021187264A1 (en) * | 2020-03-17 | 2021-09-23 | ||
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 |
JP2022055895A (en) * | 2020-09-29 | 2022-04-08 | Kddi株式会社 | Radio quality information providing device, navigation system, radio 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 |
Also Published As
Publication number | Publication date |
---|---|
JP6724439B2 (en) | 2020-07-15 |
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 | |
JP6187623B1 (en) | Autonomous mobile device, autonomous mobile method and program | |
JP6311695B2 (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 | |
US9224043B2 (en) | Map generation apparatus, map generation method, moving method for moving body, and robot apparatus | |
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 | |
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 | |
JP4535096B2 (en) | Planar extraction method, apparatus thereof, program thereof, recording medium thereof, and imaging apparatus | |
JP6638753B2 (en) | Autonomous mobile device, autonomous mobile method and program | |
CN115218903A (en) | Object searching method and system for visually impaired people | |
JP2009178782A (en) | Mobile object, and apparatus and method for creating environmental map | |
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 | |
JP7327596B2 (en) | Autonomous mobile device, method and program for detecting dirt on lens of autonomous mobile device | |
CN111971149A (en) | Recording medium, information processing apparatus, and information processing method | |
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 | |
Hsieh et al. | Mobile robot localization and path planning using an omnidirectional camera and infrared sensors | |
Lee et al. | Terrain-based Place Recognition for Quadruped Robots with Limited Field-of-view LiDAR | |
JP2023146152A (en) | Map forming device, computer program for map forming device, and data structure for topological map | |
Baligh Jahromi et al. | a Preliminary Work on Layout Slam for Reconstruction of Indoor Corridor Environments |
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 |