JP2018200732A - 移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 - Google Patents
移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2018200732A JP2018200732A JP2018186526A JP2018186526A JP2018200732A JP 2018200732 A JP2018200732 A JP 2018200732A JP 2018186526 A JP2018186526 A JP 2018186526A JP 2018186526 A JP2018186526 A JP 2018186526A JP 2018200732 A JP2018200732 A JP 2018200732A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- information
- target
- target movement
- movement vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title description 36
- 238000012545 processing Methods 0.000 abstract description 60
- 238000004891 communication Methods 0.000 abstract description 4
- 239000013598 vector Substances 0.000 description 144
- 230000001186 cumulative effect Effects 0.000 description 27
- 230000005540 biological transmission Effects 0.000 description 23
- 239000013256 coordination polymer Substances 0.000 description 18
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 15
- 238000001514 detection method Methods 0.000 description 11
- 230000007613 environmental effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004886 process control Methods 0.000 description 3
- 238000005401 electroluminescence Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】移動体の移動速度が高速であっても、適切な移動体の移動制御を行う。【解決手段】無人飛行体500に搭載された飛行体搭載装置300が備える周囲情報取得部330により取得された周囲情報に基づいて、無人飛行体500の外部に設置され、飛行体搭載装置300との間で無線通信が可能な処理制御装置が、第2周期で移動体の自己位置に関する精度の高い自己位置情報を第2周期で推定する。また、飛行体搭載装置300が備える移動量取得部340により、第2周期よりも短い第1周期で、第1周期の期間ごとの移動量に関する移動量情報を自己位置情報の精度よりも低い精度で取得する。そして、飛行体搭載装置300が備える制御情報出力部350が、自己位置情報及び移動量情報に基づいて、飛行制御情報を算出して出力することにより、無人飛行体500の移動を制御する。【選択図】 図3
Description
本発明は、移動体制御装置、移動体制御方法及び移動体制御プログラム、並びに、当該移動体制御プログラムが記録された記録媒体に関する。
従来から、ロボット等の移動体の自律移動に際して適用可能な技術として、移動体の自己位置推定と、移動体の周囲の環境地図作成とを同時に行うSLAM(Simultaneous Localization And Mapping)技術が注目されている。かかるSLAM技術では、作成された環境地図内における移動***置が高精度で推定できるようになっている。
なお、SLAM技術の実装に際しては、一般的に、移動体の周囲情報を取得するためのLiDAR(Light Detection and Ranging)装置等の周囲情報取得用センサと、所定周期期間ごとの移動体の移動量を取得するための加速度センサ等の移動量取得用センサとを用意するようになっている。ここで、周囲情報取得用センサによる検出結果のデータ量は多く、データ処理にも時間がかかるようになっている。
こうしたSLAM機能を利用しつつ、現在位置から目標位置までの移動のための経路に沿った移動体の移動を制御する技術が提案されている(特許文献1参照:以下、「従来例」と呼ぶ)。この従来例の技術では、周囲情報取得用センサによる検出結果データの処理が終了するたびに、移動体の移動を制御するための制御情報を導出するようになっている。
上述した従来例の技術では、周囲情報取得用センサによる検出結果データに関する処理が終了するたびに、移動体の移動を制御するための制御情報を導出するので、制御情報を導出周期が長くなっている。このため、移動体の移動速度が遅い場合には、移動体の現在位置に基づいた適切な移動制御を実質的に行うことができるといえるが、移動体の移動速度が速くなると、移動体の現在位置に基づいた適切な移動制御を実質的に行うことができるとはいい難い。
ところで、従来例の技術は、路面上又は床面上を走行する移動体に適用される技術となっており、SLAM処理を行う演算資源が移動体に搭載されている。しかしながら、SLAM処理を行う演算資源は、大きさ、重さ又は電力消費の点から、小型の移動体(特に、小型の飛行体)に搭載するには不向きである。
そこで、移動体の外部にSLAM処理を行う演算資源を設置することが考えられるが、上述した周囲情報取得用センサ及び移動量取得用センサは移動体に搭載される必要がある。したがって、これらのセンサの検出データは、無線通信によりSLAM処理を行う演算資源へ送信することになる。しかしながら、上述したように、周囲情報取得用センサによる検出結果データの量が多いことから、周囲情報取得用センサによる検出結果データの送信に時間を要してしまう。
したがって、移動体の外部にSLAM処理を行う演算資源を設置したうえで、従来例の技術を適用して移動体の移動制御を行うようにすると、上述した無線通信によるデータ転送時間が、更なる制御遅延要素となってしまう。この結果、適切な移動制御を行いつつ、移動体の移動速度を速くすることが益々困難となる。
このため、移動体の移動速度が高速であっても、適切な移動体制御を行うことができる技術が望まれている。かかる要請に応えることが、本発明が解決すべき課題の一つとして挙げられる。
請求項1に記載の発明は、移動体に搭載され、前記移動体の周囲情報を取得する周囲情報取得部と;前記移動体に搭載され、第1周期で前記移動体の前記第1周期の期間ごとの移動量に関する移動量情報を取得する移動量取得部と;前記周囲情報に基づき、前記第1周期より長い第2周期で前記移動体の自己位置に関する自己位置情報を推定する自己位置推定部と;前記自己位置情報と、前記移動量情報とに基づいて、前記移動体の移動制御に関する制御情報を出力する出力部と;を備えることを特徴とする移動体制御装置である。
請求項10に記載の発明は、移動体に搭載され、前記移動体の周囲情報を取得する周囲情報取得部と;前記移動体に搭載され、第1周期で前記移動体の前記第1周期の期間ごとの移動量に関する移動量情報を取得する移動量取得部と;を備え、前記移動体の移動を制御する移動体制御装置において使用される移動体制御方法であって、前記周囲情報に基づき、前記第1周期より長い第2周期で前記移動体の自己位置に関する自己位置情報を推定する自己位置推定工程と;前記自己位置情報と、前記移動量情報とに基づいて、前記移動体の移動制御に関する制御情報を出力する出力工程と;を備えることを特徴とする移動体制御方法である。
請求項11に記載の発明は、移動体の移動を制御する移動体制御装置が有するコンピュータに、請求項10に記載の移動体制御方法を実行させる、ことを特徴とする移動体制御プログラムである。
請求項12に記載の発明は、移動体の移動を制御する移動体制御装置が有するコンピュータにより読み取り可能に、請求項11に記載の移動体制御プログラムが記録されている、ことを特徴とする記録媒体である。
以下、本発明の一実施形態を、図1〜図7を参照して説明する。なお、以下の説明及び図面においては、同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
[構成]
図1に示されるように、一実施形態に係る移動体制御装置100は、処理制御装置200と、飛行体搭載装置300とを備えている。ここで、飛行体搭載装置300は、移動体である無人飛行体500に搭載され、無人飛行体500とともに移動する。一方、処理制御装置200は、無人飛行体500の外部の固定位置に配設される。そして、処理制御装置200と飛行体搭載装置300との間では、無線通信による情報の授受が行われるようになっている。
図1に示されるように、一実施形態に係る移動体制御装置100は、処理制御装置200と、飛行体搭載装置300とを備えている。ここで、飛行体搭載装置300は、移動体である無人飛行体500に搭載され、無人飛行体500とともに移動する。一方、処理制御装置200は、無人飛行体500の外部の固定位置に配設される。そして、処理制御装置200と飛行体搭載装置300との間では、無線通信による情報の授受が行われるようになっている。
なお、本実施形態では、無人飛行体500は、複数のロータを備えており、これらのロータの回転を制御することにより、飛行制御(移動方向及び移動速度の制御)が可能となっている。
<処理制御装置200の構成>
上記の処理制御装置200は、図1に示されるように、無線送受信部220と、記憶部230と、SLAM処理部240と、目標移動ベクトル決定部250とを備えている。また、処理制御装置200は、入力部260と、表示部270とを備えている。
上記の処理制御装置200は、図1に示されるように、無線送受信部220と、記憶部230と、SLAM処理部240と、目標移動ベクトル決定部250とを備えている。また、処理制御装置200は、入力部260と、表示部270とを備えている。
上記の無線送受信部220は、アンテナ210を備えて構成されている。この無線送受信部220は、アンテナ210を利用して、飛行体搭載装置300との間で情報の送受信を行う。
無線送受信部220は、アンテナ210を介して、飛行体搭載装置300から送信された情報を受信する。そして、無線送受信部220は、当該受信した情報をSLAM処理部240へ送る。なお、飛行体搭載装置300から送信される情報には、後述する周囲情報及び移動量情報が含まれている。
また、無線送受信部220は、目標移動ベクトル決定部250から送られた後述する目標移動ベクトル情報を受ける。そして、無線送受信部220は、当該目標移動ベクトル情報を、アンテナ210を介して、飛行体搭載装置300へ送信する。
上記の記憶部230は、処理制御装置200で利用される様々な情報を記憶する。こうして記憶部230に記憶される情報としては、SLAM処理部240により生成された地図情報が含まれている。この記憶部230に対しては、SLAM処理部240がアクセス可能となっている。
上記のSLAM処理部240は、飛行体搭載装置300から送信された周囲情報及び移動量情報を、無線送受信部220を介して受ける。SLAM処理部240は、当該周囲情報及び移動量情報に基づいて、無人飛行体500の自己位置推定処理と、無人飛行体500の周囲の環境地図作成処理とを同時に行うSLAM処理を実行する。そして、SLAM処理部240は、自己位置推定処理により推定された自己位置情報を目標移動ベクトル決定部250へ送るとともに、環境地図作成処理により作成された環境地図情報を記憶部230に格納する。
なお、SLAM処理部240の自己位置情報の出力周期は周期時間長TP2(例えば、200ms)の第2周期であり、出力される自己位置情報は、出力時点から時間長TP2だけ前の時刻の無人飛行体500の位置を高精度で反映した情報となっている。
また、SLAM処理部240は、入力部260から送られた地図表示態様指定に応答して、作成された最新の環境地図、及び、最新に推定された環境地図中における無人飛行体500の自己位置を表示部270に表示させるための表示データを生成する。そして、SLAM処理部240は、生成された表示データを表示部270へ送る。この結果、地図表示態様指定に応じた環境地図、及び、無人飛行体500の環境地図中における自己位置が、表示部270に表示される。
上記の目標移動ベクトル決定部250は、入力部260から送られた目標位置指定に含まれる環境地図上における目標位置及び当該目標位置までの目標移動時間を受けるとともに、第2周期でSLAM処理部240から送られてくる自己位置情報を受ける。ここで、目標移動時間は、時間長TP2の整数倍が指定されるようになっている。
引き続き、目標移動ベクトル決定部250は、当該目標位置、当該目標移動時間及び当該自己位置情報に基づいて、現在位置を推定するとともに、目標移動ベクトル及び目標移動速度を決定する。そして、目標移動ベクトル決定部250は、決定された目標移動ベクトル及び目標移動速度を新たな目標移動ベクトル情報として、無線送受信部220を介して、飛行体搭載装置300へ送信する。
なお、目標移動ベクトル決定部250の構成の詳細については、後述する。
上記の入力部260は、本実施形態では、キーボード等のストロークデバイスと、マウス等のポインティングデバイスを備えて構成されている。この入力部260に対する入力操作を行うことにより、利用者は、上述した地図表示態様指定及び目標位置指定を入力できるようになっている。
なお、入力部260は、地図表示態様指定が入力されると、入力結果をSLAM処理部240へ送る。また、入力部260は、目標位置指定が入力されると、入力結果を目標移動ベクトル決定部250へ送る。
上記の表示部270は、例えば、液晶パネル、有機EL(Electro Luminescence)パネル、PDP(Plasma Display Panel)等の表示デバイスを備えて構成されている。この表示部270は、SLAM処理部240から送られた表示データを受けると、当該表示データに対応する画像を表示する。
《目標移動ベクトル決定部250の構成》
ここで、上述した目標移動ベクトル決定部250の構成について説明する。
ここで、上述した目標移動ベクトル決定部250の構成について説明する。
目標移動ベクトル決定部250は、図2に示されるように、目標位置保持部251と、現在位置推定部252とを備えている。また、目標移動ベクトル決定部250は、目標移動ベクトル算出部253を備えている。
上記の目標位置保持部251は、入力部260から送られた目標位置指定を受ける。そして、目標位置保持部251は、当該目標位置指定に含まれる目標位置及び目標移動時間を保持する。こうして入力部260から送られた目標位置指定の内容を保持すると、目標位置保持部251は、新たな目標位置及び目標移動時間を保持した旨を現在位置推定部252へ送る。
また、目標位置保持部251は、目標移動ベクトル算出部253から送られた新たな目標移動時間を受けた場合には、保持する目標移動時間を当該新たな目標移動時間に更新する。こうして保持された目標位置及び目標移動時間は、目標移動ベクトル算出部253により読み取り可能となっている。
上記の現在位置推定部252は、SLAM処理部240から送られた自己位置情報、並びに、目標移動ベクトル算出部253から送られた目標移動ベクトル及び目標移動速度を受ける。そして、現在位置推定部252は、当該自己位置情報、当該目標移動ベクトル及び当該目標移動速度に基づいて、新たな現在位置を推定する。こうして推定された新たな現在位置は、目標移動ベクトル算出部253へ送られる。
なお、現在位置推定部252が実行する処理については、後述する。
上記の目標移動ベクトル算出部253は、目標位置保持部251から読み取られた目標位置及び目標移動時間、並びに、現在位置推定部252から送られた現在位置を受ける。引き続き、目標移動ベクトル算出部253は、当該目標位置、当該目標移動時間及び当該現在位置に基づいて、新たな目標移動ベクトル及び新たな目標移動速度を算出する。そして、目標移動ベクトル算出部253は、算出された新たな目標移動ベクトル及び新たな目標移動速度を新たな目標移動ベクトル情報に決定する。こうして決定された目標移動ベクトル情報は、無線送受信部220を介して飛行体搭載装置300へ送信されるとともに、現在位置推定部252へ送られる。
なお、目標移動ベクトル算出部253が実行する処理については、後述する。
<飛行体搭載装置300の構成>
次に、上記の飛行体搭載装置300の構成について説明する。
次に、上記の飛行体搭載装置300の構成について説明する。
飛行体搭載装置300は、図3に示されるように、無線送受信部320と、周囲情報取得部330と、移動量取得部340とを備えている。また、飛行体搭載装置300は、制御情報出力部350と、ロータ駆動部360とを備えている。
上記の無線送受信部320は、アンテナ310を備えて構成されている。この無線送受信部320は、アンテナ310を利用して、処理制御装置200との間で情報の送受信を行う。
無線送受信部320は、アンテナ310を介して、処理制御装置200から送信された目標移動ベクトル情報を受信する。そして、無線送受信部320は、当該受信した目標移動ベクトル情報を制御情報出力部350へ送る。
また、無線送受信部320は、周囲情報取得部330から送られた周囲情報、及び、移動量取得部340から送られた移動量情報を受ける。そして、無線送受信部320は、当該周囲情報及び移動量情報を、アンテナ310を介して、処理制御装置200へ送信する。
上記の周囲情報取得部330は、本実施形態では、LiDAR機能を有している。この周囲情報取得部330は、無人飛行体500の現在位置から全方位に関し、無人飛行体500の現在位置から移動の障害物(例えば、無人飛行体500が屋内を飛行する場合には、壁、柱、梁、天井、床等)までの距離を取得する。そして、周囲情報取得部330は、取得結果を、周囲情報として、無線送受信部320を介して処理制御装置200(より詳細には、SLAM処理部240)へ送信する。
なお、周囲情報取得部330は、上述した第2周期で、新たな周囲情報を、処理制御装置200へ向けて順次出力するようになっている。
上記の移動量取得部340は、本実施形態では、オプティカルフローセンサを備えて構成されている。この移動量取得部340は、オプティカルフローセンサによる検出結果に基づいて、周期時間長TP1(例えば、10ms)の第1周期で、周期期間中における移動量情報を取得する。そして、移動量取得部340は、取得された移動量情報を、制御情報出力部350へ送るとともに、無線送受信部320を介して処理制御装置200(より詳細には、SLAM処理部240)へ送信する。
なお、移動量取得部340は、制御情報出力部350から送られた、地図座標系におけるベクトル成分表現が行われている補正目標移動ベクトルを受ける。そして、移動量取得部340は、補正目標移動ベクトルの方向となっている無人飛行体500の飛行方向の状態で得られるオプティカルフローセンサによる検出結果から得られる移動量を、補正目標移動ベクトルに基づいて、地図座標系におけるベクトル成分表現に変換する。かかる変換の結果が、移動量情報として、制御情報出力部350へ送られるとともに、無線送受信部320を介して処理制御装置200へ送信されるようになっている。
また、上述した時間長TP2は、ほぼ正確に、時間長TP1の整数M(例えば、「20」)倍となっている。さらに、移動量取得部340により取得される移動量情報には、いわゆるオフセット誤差、ランダム誤差等の誤差が含まれており、上述したSLAM処理部240により取得される自己位置情報よりも精度が低い情報となっている。
上記の制御情報出力部350は、処理制御装置200(より詳細には、目標移動ベクトル決定部250)から送られた目標移動ベクトル情報を、無線送受信部320を介して受信するとともに、移動量取得部340から送られた移動量情報を受ける。そして、制御情報出力部350は、当該目標移動ベクトル情報及び当該移動量情報に基づいて飛行制御情報を算出し、算出された飛行制御情報を出力する。こうして出力された飛行制御情報は、ロータ駆動部360へ送られる。
本実施形態では、制御情報出力部350が新たな目標移動ベクトル情報を受信するタイミングと、制御情報出力部350が新たな移動量情報を受けるタイミングとが同期するようになっている。すなわち、制御情報出力部350は、上述したように第2周期の周期時間長PT2(=M・PT1:Mは2以上の整数)ごとに、M個の移動量情報を受ける。そして、当該M個の移動量情報のうちの一つの移動量情報を受けた後、時間長PT1よりも十分に短い時間の経過後に目標移動ベクトル情報を受信するように、タイミング同期が図られるようになっている。
なお、制御情報出力部350の構成の詳細については、後述する。
上記のロータ駆動部360は、制御情報出力部350から送られた飛行制御情報を受ける。そして、ロータ駆動部360は、当該飛行制御情報に従って、無人飛行体500が備える複数のロータを回転駆動する。このため、無人飛行体500は、制御情報出力部350で算出された飛行制御情報に従った飛行を行うようになっている。
《制御情報出力部350の構成》
ここで、上述した制御情報出力部350の構成について説明する。
ここで、上述した制御情報出力部350の構成について説明する。
制御情報出力部350は、図4に示されるように、累積移動量推定部351を備えている。また、制御情報出力部350は、目標移動ベクトル保持部356と、制御情報算出部357とを備えている。
上記の累積移動量推定部351は、処理制御装置200から送信された目標移動ベクトル情報を、無線送受信部320を介して受信するとともに、移動量取得部340から送られた移動量情報を受ける。そして、累積移動量推定部351は、目標移動ベクトル情報の受信後、次の目標移動ベクトル情報を受信する期間において、移動量情報を受けるたびに、移動量情報により示された移動量を、順次、累積加算する。この累積加算により算出された累積移動量は、累積移動ベクトルとして、制御情報算出部357へ送られる。かかる機能を有する累積移動量推定部351は、累積移動量保持部352と、加算部353とを備えている。
上記の累積移動量保持部352は、目標移動ベクトル情報を受信する。そして、累積移動量保持部352は、目標移動ベクトル情報を受信すると、保持内容を「0」にリセットする。
また、累積移動量保持部352は、加算部353から送られた新たな加算結果を受けるたびに、保持内容を当該新たな加算結果に更新する。こうして更新された保持内容が、累積移動ベクトルとして、加算部353及び制御情報算出部357へ送られる。
上記の加算部353は、累積移動量保持部352から送られた保持内容、及び、移動量取得部340から送られた移動量情報を受ける。そして、加算部353は、移動量情報を受けるたびに、当該保持内容(その時点での累積移動量)と、当該移動量情報として示されている移動量とを加算する。かかる加算の結果は、累積移動量保持部352へ送られる。
上記の目標移動ベクトル保持部356は、処理制御装置200から送られた目標移動ベクトル情報を、無線送受信部320を介して受信する。そして、目標移動ベクトル保持部356は、当該目標移動ベクトル情報、すなわち、目標移動ベクトル及び目標移動速度を保持する。こうして目標移動ベクトル保持部356に保持された目標移動ベクトル及び目標移動速度は、制御情報算出部357へ送られる。
上記の制御情報算出部357は、目標移動ベクトル保持部356に保持された目標移動ベクトル及び目標移動速度を読み取るとともに、累積移動量推定部351から送られた累積移動ベクトルを受ける。そして、制御情報算出部357は、当該目標移動ベクトルから累積移動ベクトルを差し引いて補正目標移動ベクトルを算出し、当該算出された補正目標移動ベクトルの方向へ、当該目標移動速度で移動するためのロータ駆動の制御情報を飛行制御情報として算出する。こうして算出された飛行制御情報は、ロータ駆動部360へ送られる。また、算出された補正目標移動ベクトルは、移動量取得部340へ送られる。
[動作]
次に、上記のように構成された移動体制御装置100の動作について、上述した目標移動ベクトル決定部250による目標移動ベクトル決定処理、及び、上述した制御情報出力部350による制御情報出力処理に主に着目して説明する。
次に、上記のように構成された移動体制御装置100の動作について、上述した目標移動ベクトル決定部250による目標移動ベクトル決定処理、及び、上述した制御情報出力部350による制御情報出力処理に主に着目して説明する。
なお、以下の説明においては、目標移動ベクトル決定部250が新たに目標位置指定を受けた後に最初に自己位置情報を受けた時刻を、時刻T0と記す。さらに、時刻(T0+j×PT0)を、時刻Tjと記す。
また、SLAM処理部240から時刻Tjに出力される自己位置情報で示される時刻Tj-1における自己位置を、自己位置Qj-1と記す。さらに、時刻Tjにおける予定位置を、予定位置Rjと記す。ここで、「予定位置」とは、移動量情報に誤差がない状態で、制御情報出力部350から出力された制御情報に従って目標移動ベクトルに沿って移動した場合における無人飛行体500の位置をいう。
また、時刻Tjにおける推定現在位置を、推定現在位置CPjと記す。さらに、推定現在位置CPjから自己位置Qjまでの誤差を、誤差Ejと記す。
また、推定現在位置CPjを始点とし、時刻T0において指定された目標位置PNを終点とするベクトルを目標移動ベクトルVCTjと記す。また、目標移動時間(TM0−j×PT2)を、目標移動時間TMjと記す。さらに、目標移動ベクトルVCTjに沿った移動制御が行われている期間における目標移動速度を目標移動速度Vjと記す。
前提として、無人飛行体500は、時刻T0において位置P0に位置しており、時刻T0より前の時間PT2の2倍以上の期間にわたって位置P0から移動していないものとする。この結果、自己位置Q-2,Q-1,Q0は、いずれも位置P0に精度良く一致することになるとともに、目標移動速度V-2,V-1が「0」となるようになっている。このため、後述する予定位置R-2,R-1,R0及び推定現在位置CP-2,CP-1,CP0、いずれも位置P0に精度良く一致することになる。
また、時刻T0において目標移動ベクトル決定部250が新たな目標位置指定を受ける前に、目標位置保持部251に保持されている目標位置は位置P0であるものとする。この結果、目標移動ベクトルVCT-2,VCT-1は実質的な「0」ベクトルとなる。
また、移動量取得部340は、動作を開始しており、移動量情報を、第1周期で目標移動ベクトル決定部250へ送信するとともに、制御情報算出部357へ送っているものとする。また、周囲情報取得部330は、動作を開始しており、周囲情報を、第2周期でSLAM処理部240へ送信しているものとする。さらに、SLAM処理部240は、動作を開始しており、自己位置情報を、第2周期で目標移動ベクトル決定部250へ送っているものとする。
<目標移動ベクトル決定処理>
まず、目標移動ベクトル決定部250により実行される目標移動ベクトル決定処理について説明する。
まず、目標移動ベクトル決定部250により実行される目標移動ベクトル決定処理について説明する。
目標移動ベクトル決定処理に際しては、図5に示されるように、まず、ステップS11において、目標位置保持部251が、新たに目標位置情報を受けたか否かを判定する。ステップS11における判定の結果が否定的であった場合(ステップS11:N)には、ステップS11の処理が繰り返される。
新たに目標位置情報を受け、ステップS11における判定の結果が肯定的となると(ステップS11:Y)、目標位置保持部251は、新たに受けた目標位置情報に含まれる新たな目標位置PN及び新たな目標移動時間(N×PT2)を内部に保持する。こうして目標位置PN及び目標移動時間(N×PT2)が内部に保持されると、目標位置保持部251は、その旨を現在位置推定部252へ送る。そして、処理はステップS12へ進む。
ステップS12では、現在位置推定部252が、SLAM処理部240から自己位置R-1を示す自己位置情報を受けたか否かを判定する。ステップS12における判定の結果が否定的であった場合(ステップS12:N)には、ステップS12の処理が繰り返される。
時刻T0となり、SLAM処理部240から新たな自己位置情報を受け、ステップS12における判定の結果が肯定的となると(ステップS12:Y)、パラメータjを「0」に設定する。そして、処理はステップS13へ進む。このステップS13では、現在位置推定部252が、無人飛行体500の現在位置の推定を、推定現在位置CPjを算出することにより行う。
かかる推定現在位置CPjの算出に際して、現在位置推定部252は、まず、予定位置Rj-1から自己位置Rj-1までの誤差Ej-1を算出する。ここで、予定位置Rj-1は、予定位置Rj-2から目標移動ベクトルVCTj-2に沿って目標移動速度Vj-2(=0)で移動した場合における時刻Tj-1での位置として算出される。
なお、「j=0」の場合には、予定位置R-1(=位置P0)は、推定現在位置CP-2(=位置P0)から目標移動ベクトルVCT-2(=「0」ベクトル)に沿って目標移動速度V-2(=0)で移動した場合における時刻T-1での位置として算出される。この結果、誤差E-1は「0」となる。
また、「j=1」の場合には、予定位置R0(=位置P0)は、推定現在位置CP-1(=位置P0)から目標移動ベクトルVCT-1(=「0」ベクトル)に沿って目標移動速度V-1(=0)で移動した場合における時刻T0での位置として算出される。この結果、誤差E0も「0」となる。
引き続き、ステップS14において、現在位置推定部252が、時刻Tjにおける推定現在位置CPjを算出する。かかる推定現在位置CPjの推定に際して、現在位置推定部252は、まず、推定現在位置CPj-1から目標移動ベクトルVCTj-1に沿って目標移動速度Vj-1で移動した場合における時刻Tjでの予定位置Rjを算出する。引き続き、現在位置推定部252は、予定位置Rjに誤差Ej-1を加算して推定現在位置CPjとを算出する。そして、現在位置推定部252は、推定現在位置CPjを現在位置情報として目標移動ベクトル算出部253へ送る。
次に、ステップS15において、現在位置情報を受けた目標移動ベクトル算出部253が、目標移動ベクトル情報を算出する。かかる目標移動ベクトル情報の算出に際して、目標移動ベクトル算出部253は、まず、目標位置保持部251から目標位置PN及び目標移動時間TMjを読み取る。引き続き、目標移動ベクトル算出部253は、推定現在位置CPjを始点とし、目標位置PNを終点とする目標移動ベクトルVCTjを算出する。
次に、目標移動ベクトル算出部253は、目標移動ベクトルVCTjの長さを算出する。引き続き、算出された長さから推定現在位置CPjが目標位置PNの近傍であるいえるか否かを判定する。この判定の結果が肯定的であった場合には、目標移動ベクトル算出部253は、目標移動速度を「0」とする。そして、目標移動ベクトル算出部253は、目標移動ベクトル及び目標移動速度を、目標移動ベクトルとして、飛行体搭載装置300の制御情報出力部350へ送信するとともに、現在位置推定部252へ送る。なお、本実施形態では、時刻TNにおいて、推定現在位置CPNが目標位置PNの近傍となるようになっている。
この後、ステップS15の処理が終了し、処理はステップS11へ戻る。
一方、当該判定が否定的であった場合には、目標移動ベクトル算出部253は、算出された新たな目標移動ベクトルの長さを、読み取られた目標移動時間TMjで除算することにより、目標移動速度Vjを算出する。引き続き、目標移動ベクトル算出部253は、目標移動ベクトルVCTj及び目標移動速度Vjを、目標移動ベクトルとして、飛行体搭載装置300の制御情報出力部350へ送信するとともに、現在位置推定部252へ送る。
次に、目標移動ベクトル算出部253は、新たな目標移動時間TMj+1(=TMj−PT2)を算出する。引き続き、目標移動ベクトル算出部253は、目標移動時間TMj+1を目標位置保持部251へ送る。この結果、目標位置保持部251に保持される目標移動時間が、目標移動時間TMj+1に更新される。
次いで、目標移動ベクトル算出部253は、パラメータjをインクリメントする。
この後、ステップS15の処理が終了し、処理はステップS12へ戻る。
この後、ステップS15の処理が終了し、処理はステップS12へ戻る。
以後、ステップS11〜S15の処理が繰り返される。この結果、目標移動ベクトル情報が逐次決定され、決定された目標移動ベクトル情報が、制御情報出力部350へ送信される。
上記の目標移動ベクトル決定処理により決定される目標移動ベクトルの例が、図6に示されている。なお、図6においては、目標位置PN(N=4)の例が示されている。
<制御情報出力処理>
次いで、制御情報出力部350により実行される目標移動ベクトル決定処理について説明する。
次いで、制御情報出力部350により実行される目標移動ベクトル決定処理について説明する。
制御情報出力部350では、目標移動ベクトル保持部356が、処理制御装置200から送られた目標移動ベクトル情報を受信すると、当該目標移動ベクトル情報、すなわち、目標移動ベクトル及び目標移動速度を保持する。また、制御情報出力部350では、累積移動量推定部351における累積移動量保持部352と加算部353とが、上述したようにして協働して、最新に目標移動ベクトル情報を受信した後における無人飛行体500の累積移動量を推定する。そして、累積移動量推定部351は、累積移動量の推定結果を、累積移動ベクトルの表現態様で、第1周期で制御情報算出部357へ送る。この制御情報算出部357では、制御情報算出処理が実行される。
かかる制御情報算出処理では、図7に示されるように、ステップS21において、制御情報算出部357が、累積移動量推定部351から送られた新たな累積移動量ベクトルを受けたか否かを判定する。ステップS21における判定の結果が否定的であった場合(ステップS21:N)には、ステップS21の処理が繰り返される。
新たな累積移動量ベクトルを受け、ステップS21における判定の結果が肯定的となると(ステップS21:N)、処理はステップS22へ進む。このステップS22では、制御情報算出部357が、まず、目標移動ベクトル保持部356に保持されている目標移動ベクトル及び目標移動速度を読み取る。引き続き、制御情報算出部357は、読み取られた目標移動ベクトルから当該新たな累積移動量ベクトルを減算することにより、新たな補正目標移動ベクトルを算出する。
次に、ステップS23において、制御情報算出部357が、PID制御演算等を行って、新たな補正目標移動ベクトルの方向に沿って、読み取られた目標移動速度で移動させるための飛行制御情報を算出する。そして、制御情報算出部357は、算出された飛行制御情報をロータ駆動部360へ出力する。
こうしてステップS23の処理が終了すると、処理はステップS21へ戻る。以後、ステップS21〜S23の処理が繰り返される。この結果、自己位置情報の推定周期である第2周期の周期時間長PT2よりも短い周期時間長PT1の第1周期で、飛行制御情報が算出されて、無人飛行体500の移動が制御される。
以上説明したように、本実施形態では、無人飛行体500に搭載された周囲情報取得部330により取得された周囲情報に基づいて、SLAM処理部240が、第2周期で移動体の自己位置に関する精度の高い自己位置情報を第2周期で推定する。また、無人飛行体500に搭載された移動量取得部340により、第2周期よりも短い第1周期で、第1周期の期間ごとの移動量に関する移動量情報を自己位置情報の精度よりも低い精度で取得する。そして、目標移動ベクトル決定部250が、第2周期の周期時間前の自己位置情報に基づいて現時点での目標移動ベクトルを第2周期で修正する。また、目標移動ベクトルについての次の修正が行われるまでの間は、制御情報出力部350が、移動量情報に基づく第1周期での目標移動ベクトルの補正を行いつつ、補正された目標移動ベクトルに基づいて、飛行制御情報を算出して出力することにより、無人飛行体500の移動を制御する。
したがって、本実施形態によれば、無人飛行体500の移動速度が高速であっても、適切な飛行制御を行うことができる。
また、本実施形態では、制御情報出力部350から出力された飛行制御情報に従った移動における第2周期の周期時間前の前回予定位置から、第2周期の周期時間前の自己位置までの誤差を、今回予定位置に加算することにより、現在位置を推定する。このため、移動量情報における誤差を適切に評価して、現時点における目標移動ベクトルを第2周期で決定でき、ひいては、無人飛行体500の移動速度が高速であっても、適切な飛行制御を行うことができる。
[実施形態の変形]
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
本発明は、上記の実施形態に限定されるものではなく、様々な変形が可能である。
例えば、上記の実施形態では、第2周期の周期時間前の前回予定位置から第2周期の周期時間前の自己位置までの誤差を今回予定位置に加算して、現在位置を推定するようにした。これに対し、前回予定位置から第2周期の周期時間前の自己位置までの誤差分の2倍を今回予定位置に加算することにより、現在位置情報を推定するようにしてもよい。この場合には、移動量情報における誤差においてオフセット誤差が支配的である場合には、上記の実施形態の場合よりも、高精度で現在位置を推定することができ、より適切な目標移動ベクトルを決定することができる。
また、上記の実施形態では、飛行体搭載装置が制御情報出力部を備えるようにしたが、制御情報出力部の機能を処理制御装置に実装するようにしてもよい。この場合には、飛行体搭載装置の軽量化及び省電力化を更に図ることができる。
また、上記の実施形態では、移動量取得部がオプティカルフローセンサを備える構成とした。これに対し、オプティカルフローセンサに代えて、ジャイロセンサを備え、飛行体のピッチ角とロール角とから飛行体の速度を推定し、推定された速度の時間積分に基づいて移動量情報を取得するようにしてもよい。また、オプティカルフローセンサに代えて、ジャイロセンサ及び加速度センサを備え、ジャイロセンサによる検出結果から移動方向を推定するとともに、加速度センサによる検出結果から速度を推定し、推定された移動方向及び推定された速度の時間積分に基づいて移動量情報を取得するようにしてもよい。
また、上記の実施形態では、移動体が無人飛行体である場合に本発明を適用したが、無人飛行体以外の移動体(例えば、路面上又は床面上を走行する車両等)に本発明を適用してもよい。この場合、移動体搭載装置の重量や消費電力に余裕がある場合には、上記の実施形態における処理制御装置の機能の一部又は全部を、移動体搭載装置に実装するようにすることができる。
また、上記の実施形態では、無人飛行体の移動が2次元移動であるか、又は、3次元移動であるかを明示しなかったが、本発明は、2次元移動及び3次元移動のいずれであっても適用することができる。
なお、上記の実施形態の処理制御装置を、中央処理装置(CPU:Central Processing Unit)等の演算手段としてのコンピュータを備えた構成とし、予め用意されたプログラムを当該コンピュータで実行することにより、上記の実施形態における処理制御装置の機能を実現するようにしてもよい。また、上記の実施形態の飛行体搭載装置を、中央処理装置等の演算手段としてのコンピュータを備えた構成とし、予め用意されたプログラムを当該コンピュータで実行することにより、上記の実施形態における飛行体搭載装置の機能を実現するようにしてもよい。これらのプログラムはハードディスク、CD−ROM、DVD等のコンピュータで読み取り可能な記録媒体に記録され、当該コンピュータによって記録媒体から読み出されて実行される。また、このプログラムは、CD−ROM、DVD等の可搬型記録媒体に記録された形態で取得されるようにしてもよいし、インターネットなどのネットワークを介した配信の形態で取得されるようにしてもよい。
100 … 移動体制御装置
252 … 現在位置推定部
253 … 目標移動ベクトル算出部
330 … 周囲情報取得部
340 … 移動量取得部
350 … 制御情報出力部(出力部)
351 … 累積移動量推定部
356 … 目標移動ベクトル保持部(保持部)
357 … 制御情報算出部
252 … 現在位置推定部
253 … 目標移動ベクトル算出部
330 … 周囲情報取得部
340 … 移動量取得部
350 … 制御情報出力部(出力部)
351 … 累積移動量推定部
356 … 目標移動ベクトル保持部(保持部)
357 … 制御情報算出部
Claims (1)
- 移動体に搭載され、前記移動体の周囲情報を取得する周囲情報取得部と;
前記移動体に搭載され、第1周期で前記移動体の前記第1周期の期間ごとの移動量に関する移動量情報を取得する移動量取得部と;
前記周囲情報に基づき、前記第1周期より長い第2周期で前記移動体の自己位置に関する自己位置情報を推定する自己位置推定部と;
前記自己位置情報と、前記移動量情報とに基づいて、前記移動体の移動制御に関する制御情報を出力する出力部と;
を備えることを特徴とする移動体制御装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014140977 | 2014-07-09 | ||
JP2014140977 | 2014-07-09 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016532935A Division JPWO2016006588A1 (ja) | 2014-07-09 | 2015-07-07 | 移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018200732A true JP2018200732A (ja) | 2018-12-20 |
Family
ID=55064219
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016532935A Pending JPWO2016006588A1 (ja) | 2014-07-09 | 2015-07-07 | 移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 |
JP2018186526A Pending JP2018200732A (ja) | 2014-07-09 | 2018-10-01 | 移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016532935A Pending JPWO2016006588A1 (ja) | 2014-07-09 | 2015-07-07 | 移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 |
Country Status (2)
Country | Link |
---|---|
JP (2) | JPWO2016006588A1 (ja) |
WO (1) | WO2016006588A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021173577A (ja) * | 2020-04-22 | 2021-11-01 | 株式会社FADrone | 位置姿勢計測方法及び位置姿勢計測プログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108227724A (zh) * | 2016-12-13 | 2018-06-29 | 中国科学院沈阳自动化研究所 | 一种基于智能移动设备的探测及制导一体化*** |
JP2019086419A (ja) * | 2017-11-08 | 2019-06-06 | 川崎重工業株式会社 | 環境取得システム |
JP7107757B2 (ja) * | 2018-06-06 | 2022-07-27 | 株式会社日立製作所 | 自律移動装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086416A (ja) * | 2008-10-01 | 2010-04-15 | Murata Machinery Ltd | 自律移動装置 |
JP2011209203A (ja) * | 2010-03-30 | 2011-10-20 | Sony Corp | 自己位置推定装置および自己位置推定方法 |
-
2015
- 2015-07-07 JP JP2016532935A patent/JPWO2016006588A1/ja active Pending
- 2015-07-07 WO PCT/JP2015/069473 patent/WO2016006588A1/ja active Application Filing
-
2018
- 2018-10-01 JP JP2018186526A patent/JP2018200732A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010086416A (ja) * | 2008-10-01 | 2010-04-15 | Murata Machinery Ltd | 自律移動装置 |
JP2011209203A (ja) * | 2010-03-30 | 2011-10-20 | Sony Corp | 自己位置推定装置および自己位置推定方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021173577A (ja) * | 2020-04-22 | 2021-11-01 | 株式会社FADrone | 位置姿勢計測方法及び位置姿勢計測プログラム |
JP7405416B2 (ja) | 2020-04-22 | 2023-12-26 | 株式会社FADrone | 位置姿勢計測方法及び位置姿勢計測プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2016006588A1 (ja) | 2017-04-27 |
WO2016006588A1 (ja) | 2016-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2018200732A (ja) | 移動体制御装置、移動体制御方法、移動体制御プログラム及び記録媒体 | |
US10683012B2 (en) | System delay estimation method for autonomous vehicle control | |
Loianno et al. | Estimation, control, and planning for aggressive flight with a small quadrotor with a single camera and IMU | |
US10435015B2 (en) | System delay corrected control method for autonomous vehicles | |
AU2018252237C1 (en) | Co-localisation | |
EP3344479B1 (en) | A vehicle position point forwarding method for autonomous vehicles | |
JP2010202178A5 (ja) | ||
Loianno et al. | Smartphones power flying robots | |
JP2014123348A (ja) | 自律的ナビゲーション方法 | |
JP2017130027A (ja) | 移動体システム、及びサーバ | |
EP2927771A1 (en) | Flying drone trajectory synchronization | |
Chen et al. | Designing a spatially aware and autonomous quadcopter | |
US10836486B2 (en) | Controlling a drone through user movement | |
JP2021117502A (ja) | 着陸制御装置、着陸制御方法およびプログラム。 | |
JP2017100698A (ja) | 飛行装置、方法、及びプログラム | |
CN114521248A (zh) | 信息处理设备、信息处理方法和程序 | |
JP2021118364A (ja) | 通信制御装置、通信制御方法およびプログラム。 | |
JP6778067B2 (ja) | 雲位置推定装置、雲位置推定方法及び雲位置推定プログラム | |
JP2020012774A (ja) | 建造物の測定方法 | |
WO2020021954A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
WO2021064982A1 (ja) | 情報処理装置および情報処理方法 | |
WO2021087724A1 (zh) | 一种控制方法、控制设备、可移动平台及控制*** | |
CN112445242A (zh) | 航线的跟踪方法、装置、设备及存储介质 | |
WO2022158387A1 (ja) | 移動体、情報処理方法及びコンピュータプログラム | |
JP7400801B2 (ja) | 制御装置、制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181001 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190828 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200304 |