[go: up one dir, main page]

JP7769346B1 - MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY - Google Patents

MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY

Info

Publication number
JP7769346B1
JP7769346B1 JP2024085613A JP2024085613A JP7769346B1 JP 7769346 B1 JP7769346 B1 JP 7769346B1 JP 2024085613 A JP2024085613 A JP 2024085613A JP 2024085613 A JP2024085613 A JP 2024085613A JP 7769346 B1 JP7769346 B1 JP 7769346B1
Authority
JP
Japan
Prior art keywords
collision
unit
movement
dynamic
moving body
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024085613A
Other languages
Japanese (ja)
Other versions
JP2025178799A (en
Inventor
卓己 渡邉
憲司 嶋田
シュウ ゼファン
ザン シャオヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Carnegie Mellon University
Original Assignee
Carnegie Mellon University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Carnegie Mellon University filed Critical Carnegie Mellon University
Priority to JP2024085613A priority Critical patent/JP7769346B1/en
Application granted granted Critical
Publication of JP7769346B1 publication Critical patent/JP7769346B1/en
Publication of JP2025178799A publication Critical patent/JP2025178799A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

【課題】自律移動が困難な環境下であっても、周辺の障害物を回避しながら自律移動を行い、目的の計測作業を実施できること。
【解決手段】
移動体は、周辺に位置する物体を検出する。移動体は、移動方向に広がる空間を三次元空間にモデル化した地図データを生成し更新する。このとき移動体は、検出物体の位置、大きき、移動速度を含む三次元空間地図データを生成し、移動している間、当該地図データを継続して更新する。また、移動体は、更新された三次元空間地図データに基づき、静的物体及び動的物体を識別し、動的物体の動きの予測結果に基づき、複数の多項式曲線を連結して1つの曲線とした移動経路を計算し、移動している間、静的物体及び動的物体を回避する移動経路を継続して決定する。移動体は、決定された移動経路に従って、計測開始位置に向かって自律移動し、所定の計測装置により計測を行い、計測結果を解析し解析結果を出力する。
【選択図】図13

[Problem] To enable autonomous movement while avoiding surrounding obstacles and carrying out the intended measurement task even in an environment where autonomous movement is difficult.
[Solution]
A mobile body detects objects located in its vicinity. The mobile body generates and updates map data that models the space extending in the direction of movement into a three-dimensional space. The mobile body generates three-dimensional spatial map data including the position, size, and movement speed of the detected objects and continuously updates the map data while moving. The mobile body also identifies static and dynamic objects based on the updated three-dimensional spatial map data, calculates a movement path by connecting multiple polynomial curves into a single curve based on the predicted movement of the dynamic objects, and continuously determines a movement path that avoids static and dynamic objects while moving. The mobile body autonomously moves toward a measurement start position according to the determined movement path, takes measurements using a predetermined measurement device, analyzes the measurement results, and outputs analysis results.
[Selected Figure] Figure 13

Description

特許法第30条第2項適用 2023年5月29日から6月2日の5日間の日程で(ロンドン;イギリス)において開催された「2023 IEEE International Conference on Robotics and Automation(ICRA)」で発表 [刊行物等] 2023年9月11日から9月15日の5日間の日程で(広島県)において開催された「公益社団法人土木学会 令和5年度全国大会 第78回年次学術講演会」で発表Article 30, Paragraph 2 of the Patent Act applies. Presented at the 2023 IEEE International Conference on Robotics and Automation (ICRA), held in London, UK, for five days from May 29 to June 2, 2023. [Publications, etc.] Presented at the 78th Annual Academic Conference of the Japan Society of Civil Engineers, Reiwa 5 National Convention, held in Hiroshima, Japan, for five days from September 11 to September 15, 2023.

本発明は、移動体を用いた計測技術に関する。 The present invention relates to measurement technology using moving objects.

移動体の1つである無人航空機(UAV:Unmanned Aerial Vehicle)は、姿勢制御や飛行制御等に関する技術が改良され、操作性が向上した。またこのような無人航空機は、小型で低価格帯の機種も増えている。このような背景から、近年では、様々な産業分野での活用が試行されている。例えば、建築・土木分野において、橋やビル等の構造物の点検に無人航空機が用いられる場合がある(特許文献1参照)。 Unmanned aerial vehicles (UAVs), a type of mobile object, have become easier to operate thanks to improvements in attitude control, flight control, and other technologies. Small, low-cost models of these unmanned aircraft are also on the rise. Against this backdrop, in recent years, attempts have been made to utilize them in a variety of industrial fields. For example, in the construction and civil engineering fields, unmanned aircraft are sometimes used to inspect structures such as bridges and buildings (see Patent Document 1).

特開2019-127245号公報Japanese Patent Application Laid-Open No. 2019-127245

建築・土木分野において無人航空機を用いる場面として、トンネル坑内の作業現場が挙げられる。例えばトンネル坑内の確認作業では、無人航空機による作業箇所の計測が行えれば、作業員が危険区域に立ち入ることなく確認が行えるという利点がある。しかしながら、トンネル坑内は外部(例えば全地球航法衛星システム)との通信環境が著しく悪い。また、無人航空機は、目的の計測位置に移動する際に、複雑な構造の静的障害物や、作業員や重機などの移動予測の難しい動的障害物等を回避する必要がある。そのため、トンネル坑内は、無人航空機の自律移動が困難な環境であると言える。このように、無人航空機を用いてトンネル坑内の計測作業を行う場合、無人航空機では、周辺の障害物を回避しながら自律移動を行い、目的の計測を実施できることが望まれる。 In the fields of construction and civil engineering, unmanned aerial vehicles are often used at work sites inside tunnels. For example, when inspecting the interior of a tunnel, if unmanned aerial vehicles can measure the work area, there is an advantage in that the inspection can be carried out without workers having to enter dangerous areas. However, the communication environment with the outside world (e.g., global navigation satellite systems) inside tunnels is extremely poor. Furthermore, when moving to the desired measurement location, unmanned aerial vehicles must avoid static obstacles with complex structures and dynamic obstacles such as workers and heavy machinery, whose movement is difficult to predict. For this reason, the interior of a tunnel can be considered a difficult environment for unmanned aerial vehicles to navigate autonomously. Thus, when using unmanned aerial vehicles to perform measurement work inside a tunnel, it is desirable for the unmanned aerial vehicle to be able to move autonomously while avoiding surrounding obstacles and perform the desired measurements.

本発明の態様は、自律移動が困難な環境下であっても、周辺の障害物を回避しながら自律移動を行い、目的の計測作業を実施可能な技術を提供することを目的とする。 An aspect of the present invention aims to provide technology that enables autonomous movement while avoiding surrounding obstacles and performing the desired measurement task, even in environments where autonomous movement is difficult.

本発明の一態様である移動体は、外部との通信によって自己位置を推定できない環境下において、自律移動を行い所定の計測作業を実施する移動体である。移動体は、検出部と、駆動制御部と、自律移動制御部と、計測解析部と、を有している。検出部は、移動体の周辺に位置する物体を検出する。駆動制御部は、移動体の機体制御を行うために駆動部を制御する。自律移動制御部は、決定された移動経路に従って、計測開始位置に向かって自律移動するために駆動制御部を制御する。計測解析部は、所定の計測装置による計測結果を解析し解析結果を出力する。さらに、自律移動制御部は、地図データ生成部と、移動経路決定部と、を有している。地図データ生成部は、移動体の移動方向に広がる空間を三次元空間にモデル化した地図データを生成し更新する。地図データ生成部は、検出された物体の位置と、物体の大ききと、物体の移動速度を示す単位時間の位置の変化量と、を含む、三次元空間地図データを生成する。また、地図データ生成部は、移動体が移動している間、三次元空間地図データを継続して更新する。移動経路決定部は、更新された三次元空間地図データに基づき、検出された物体のうち、静的物体及び動的物体を識別する。移動経路決定部は、動的物体の動きを予測した結果に基づき、複数の多項式曲線を連結して1つの曲線とした移動経路を計算して、自律移動の移動経路として決定する。移動経路決定部は、移動体が移動している間、静的物体及び動的物体を回避する移動経路を継続して計算する。 One aspect of the present invention is a mobile body that moves autonomously and performs predetermined measurement tasks in an environment where its own position cannot be estimated through external communication. The mobile body has a detection unit, a drive control unit, an autonomous movement control unit, and a measurement and analysis unit. The detection unit detects objects located around the mobile body. The drive control unit controls the drive unit to perform body control of the mobile body. The autonomous movement control unit controls the drive control unit to autonomously move toward a measurement start position according to a determined movement path. The measurement and analysis unit analyzes measurement results obtained by a predetermined measurement device and outputs the analysis results. The autonomous movement control unit further has a map data generation unit and a movement path determination unit. The map data generation unit generates and updates map data that models the space extending in the direction of movement of the mobile body in three-dimensional space. The map data generation unit generates three-dimensional spatial map data that includes the position of detected objects, the size of the objects, and the amount of change in position per unit time that indicates the object's movement speed. The map data generation unit also continuously updates the three-dimensional spatial map data while the mobile body is moving. The movement path determination unit distinguishes between static and dynamic objects among the detected objects based on the updated three-dimensional spatial map data. Based on the results of predicting the movement of dynamic objects, the movement path determination unit calculates a movement path by connecting multiple polynomial curves into a single curve and determines this as the movement path for autonomous movement. The movement path determination unit continuously calculates a movement path that avoids static and dynamic objects while the moving body is moving.

本発明の一態様によれば、移動体は、自律移動が困難な環境下であっても、周辺の障害物を回避しながら自律移動を行い、目的の計測作業を実施できる。 According to one aspect of the present invention, a mobile object can move autonomously while avoiding surrounding obstacles, even in environments where autonomous movement is difficult, and perform the intended measurement task.

図1は、第1実施形態に係る計測システムの一例を示す図である。FIG. 1 is a diagram illustrating an example of a measurement system according to the first embodiment. 図2は、無人航空機の外観の一例を示す図である。FIG. 2 is a diagram showing an example of the appearance of an unmanned aerial vehicle. 図3は、コンピュータシステムの一例を示す図である。FIG. 3 is a diagram illustrating an example of a computer system. 図4は、第1実施形態に係るトンネル坑内の掘削作業の流れを示す模式図である。FIG. 4 is a schematic diagram showing the flow of excavation work inside a tunnel according to the first embodiment. 図5は、第1実施形態に係る計測システムの処理を示すフローチャートである。FIG. 5 is a flowchart showing the processing of the measurement system according to the first embodiment. 図6は、第1実施形態に係る無人航空機の移動例を示す図である。FIG. 6 is a diagram showing an example of movement of the unmanned aerial vehicle according to the first embodiment. 図7は、第1実施形態に係る無人航空機による掘削形状の計測処理を示すフローチャートである。FIG. 7 is a flowchart showing the process of measuring an excavation shape by the unmanned aerial vehicle according to the first embodiment. 図8は、第1実施形態に係る無人航空機による計測結果の解析処理を示すフローチャートである。FIG. 8 is a flowchart showing the process of analyzing the measurement results obtained by the unmanned aerial vehicle according to the first embodiment. 図9は、第1実施形態に係る掘削不足箇所の可視化処理を示すフローチャートである。FIG. 9 is a flowchart showing the process of visualizing an insufficient excavation area according to the first embodiment. 図10は、第1実施形態に係る掘削不足箇所の可視化の様子を示す図である。FIG. 10 is a diagram showing how an insufficient excavation area is visualized according to the first embodiment. 図11は、第1実施形態に係る障害物を回避する自律移動機能の概要を示す図である。FIG. 11 is a diagram showing an overview of an autonomous movement function that avoids obstacles according to the first embodiment. 図12は、第1実施形態に係る計測システム(端末装置及び無人航空機)の機能ブロック図である。FIG. 12 is a functional block diagram of the measurement system (terminal device and unmanned aerial vehicle) according to the first embodiment. 図13は、第1実施形態に係る自律移動制御部の機能ブロック図である。FIG. 13 is a functional block diagram of the autonomous movement control unit according to the first embodiment. 図14は、第1実施形態に係る視覚支援空間地図データの生成処理を示すフローチャートである。FIG. 14 is a flowchart showing the process of generating visual support spatial map data according to the first embodiment. 図15は、第1実施形態に係る障害物領域の提案処理を示すフローチャートである。FIG. 15 is a flowchart showing the obstacle region suggestion process according to the first embodiment. 図16は、第1実施形態に係る障害物検出(提案候補検出)の一例を示す図である。FIG. 16 is a diagram illustrating an example of obstacle detection (proposal candidate detection) according to the first embodiment. 図17は、第1実施形態に係る地図データの精密化手法の一例を示す図である。FIG. 17 is a diagram showing an example of a map data refinement method according to the first embodiment. 図18は、第1実施形態に係る障害物の追跡と識別処理を示すフローチャートである。FIG. 18 is a flowchart showing the obstacle tracking and identification process according to the first embodiment. 図19は、第1実施形態に係る動的障害物の識別手法の一例を示す図である。FIG. 19 is a diagram illustrating an example of a method for identifying a moving obstacle according to the first embodiment. 図20は、第1実施形態に係る動的障害物の移動予測処理を示すフローチャートである。FIG. 20 is a flowchart showing the movement prediction process for a moving obstacle according to the first embodiment. 図21は、第1実施形態に係る動的障害物の移動予測手法の一例を示す図である。FIG. 21 is a diagram illustrating an example of a method for predicting the movement of a moving obstacle according to the first embodiment. 図22は、第1実施形態に係る移動経路の最適化処理を示すフローチャートである。FIG. 22 is a flowchart showing the process of optimizing a travel route according to the first embodiment. 図23は、第1実施形態に係る最適化パラメータの計算処理を示すフローチャートである。FIG. 23 is a flowchart showing the optimization parameter calculation process according to the first embodiment. 図24は、第1実施形態に係る静的障害物のパラメータの計算処理を示すフローチャートである。FIG. 24 is a flowchart showing the process of calculating the parameters of a static obstacle according to the first embodiment. 図25は、第1実施形態に係る静的障害物に対する衝突コストと勾配の計算手法の一例を示す図である。FIG. 25 is a diagram illustrating an example of a method for calculating a collision cost and a gradient for a static obstacle according to the first embodiment. 図26は、第1実施形態に係る動的障害物のパラメータの計算処理を示すフローチャートである。FIG. 26 is a flowchart showing the process of calculating the parameters of a moving obstacle according to the first embodiment. 図27は、第1実施形態に係る動的障害物に対する衝突コストと勾配の計算手法の一例を示す図である。FIG. 27 is a diagram illustrating an example of a method for calculating a collision cost and a gradient for a moving obstacle according to the first embodiment. 図28は、第1実施形態に係る移動経路の繰り返し最適化処理を示すフローチャートである。FIG. 28 is a flowchart showing the iterative optimization process of a travel route according to the first embodiment.

まず、本発明に係る実地形態では、適用する作業現場として、無人航空機(UAV)を用いた計測システムを「トンネル坑内の切羽近傍(トンネル掘削の最先端付近)の確認作業(掘削形状の計測作業)」に活用する場合を例に説明を行う。トンネル坑内の掘削現場では、掘削形状は目視確認している。具体的には、作業員が切羽直下(危険区域)に立ち入り、目視確認により発見した掘削不足の箇所を、例えばレーザポインタを用いて指し示す。これを受けて、掘削機の操作者は、再度、掘削を行う。作業員は、掘削後に、掘削不足が解消されているかを確認する。このように、掘削現場では、肌落ちや切羽の崩壊が想定され、作業員の安全確保が望まれている。そこで、作業員の安全確保を目的とし、無人航空機を用いた掘削形状の計測作業は、人的な計測作業の代替手段として有効である。このような産業上の利用効果の観点から、本実施形態では、トンネル坑内の掘削形状の計測作業に適用する例を挙げる。 First, in the practical embodiment of the present invention, an example of a work site where a measurement system using an unmanned aerial vehicle (UAV) is used for "inspection work (excavation shape measurement work) near the tunnel face (near the very tip of the tunnel excavation)" will be described. At the tunnel excavation site, the excavation shape is visually confirmed. Specifically, a worker enters the area directly below the face (danger zone) and visually checks to identify any insufficient excavation areas, using, for example, a laser pointer. In response, the excavator operator excavates again. After excavation, the worker checks to see if the insufficient excavation has been resolved. As such, at excavation sites, skin collapse and face collapse are anticipated, and ensuring worker safety is desirable. Therefore, with the aim of ensuring worker safety, measuring excavation shape using an unmanned aerial vehicle is an effective alternative to manual measurement work. From the perspective of such industrial utility, this embodiment cites an example of application to measuring the excavation shape inside a tunnel.

以降に、本発明に係る実施形態について図面を参照しながら説明する。なお、本発明は、実施形態の内容に限定されない。本発明の構成は、本発明の技術思想を逸脱しない範囲で適宜変更可能である。 Embodiments of the present invention will be described below with reference to the drawings. Note that the present invention is not limited to the contents of the embodiments. The configuration of the present invention can be modified as appropriate without departing from the technical concept of the present invention.

<第1実施形態>
[システム構成]
図1は、本実施形態に係る移動体の計測システム1の一例を示す図である。図1に示すように、計測現場では、少なくとも1つの移動体を用いる。具体的には、無人航空機3である。
First Embodiment
[System configuration]
1 is a diagram showing an example of a mobile object measurement system 1 according to this embodiment. As shown in FIG. 1, at least one mobile object is used at a measurement site. Specifically, it is an unmanned aerial vehicle 3.

重機Mは、操作者Opの操作により駆動部が稼働し掘削を行う重機である。重機Mは、無人航空機3による掘削形状の計測結果に基づき、掘削不足を解消するための再掘削を行う。なお、重機Mは、操作者Opが乗車する形式の重機に限らず、操作者Opの遠隔操作により稼働する無人重機であってもよい。以降の説明では、重機Mは、便宜上、作業車両Mと称す。無人航空機3は、無人で飛行する移動体である。無人航空機3は、掘削形状を計測可能な切羽近傍に向かって、トンネル坑内を飛行し、掘削形状を計測し、計測後に離陸した元の位置に戻る。無人航空機3は、後述する自律移動制御により、離陸してから元の位置に戻るまでの間に存在する障害物(静的障害物及び動的障害物)との衝突を回避しながら自律移動し、目的の計測作業を実施する。以降の説明では、無人航空機3は、便宜上、UAV3と称す。 The heavy equipment M is a heavy equipment whose drive unit is operated by the operator Op to perform excavation. The heavy equipment M performs re-excavation to resolve insufficient excavation based on the results of measurement of the excavation shape by the unmanned aerial vehicle 3. Note that the heavy equipment M is not limited to heavy equipment that the operator Op rides on, but may also be unmanned heavy equipment operated by remote control from the operator Op. In the following description, the heavy equipment M will be referred to as a work vehicle M for convenience. The unmanned aerial vehicle 3 is an unmanned flying vehicle. The unmanned aerial vehicle 3 flies inside the tunnel toward the vicinity of the face where the excavation shape can be measured, measures the excavation shape, and returns to its original position from which it took off after measurement. The unmanned aerial vehicle 3 moves autonomously, avoiding collisions with obstacles (static and dynamic obstacles) that exist between takeoff and return to its original position, using autonomous movement control described below, to perform the intended measurement work. In the following description, the unmanned aerial vehicle 3 will be referred to as a UAV3 for convenience.

計測システム1は、端末装置2を備える。端末装置2は、例えば作業車両Mの操作者Opが携帯して使用する。端末装置2は、作業車両Mに設置されていてもよい。端末装置2は、制御装置20、入力装置21、及び出力装置22を備える。制御装置20は、後述するコンピュータシステム100と、通信装置23と、を備える。制御装置20は、入力装置21及び出力装置22と通信可能に接続されており、端末装置2の各種処理を実行する。通信装置23は、端末装置2とUAV3との間で通信を行う。通信装置23は、例えば無線通信機である。よって、端末装置2とUAV3とは、通信装置23を介して無線通信する。通信装置23は、例えばIPアドレスのルーティング機能を用いて、端末装置2とUAV3の間で通信を行う。 The measurement system 1 includes a terminal device 2. The terminal device 2 is carried and used, for example, by an operator Op of a work vehicle M. The terminal device 2 may be installed on the work vehicle M. The terminal device 2 includes a control device 20, an input device 21, and an output device 22. The control device 20 includes a computer system 100 (described below) and a communication device 23. The control device 20 is communicatively connected to the input device 21 and the output device 22, and executes various processes of the terminal device 2. The communication device 23 communicates between the terminal device 2 and the UAV 3. The communication device 23 is, for example, a wireless communication device. Therefore, the terminal device 2 and the UAV 3 communicate wirelessly via the communication device 23. The communication device 23 communicates between the terminal device 2 and the UAV 3, for example, using an IP address routing function.

入力装置21は、例えば作業車両Mの操作者Opからの入力操作を受け付け、入力データを生成する。入力装置21により生成された入力データは、端末装置2に出力される。入力装置21は、コンピュータ用キーボード、ボタン、スイッチ、及びタッチパネル等の少なくとも1つである。 The input device 21 receives input operations from, for example, the operator Op of the work vehicle M, and generates input data. The input data generated by the input device 21 is output to the terminal device 2. The input device 21 is at least one of a computer keyboard, a button, a switch, a touch panel, etc.

出力装置22は、端末装置2からの出力信号を受信しデータを出力することにより、例えば操作者Opに情報を提供する。出力装置22は、表示データを表示可能な表示装置、音声を出力可能な音声出力装置、及び印刷物を出力可能な印刷装置等の少なくとも1つである。なお、表示装置は、液晶ディスプレイ(LCD:Liquid Crystal Display)又は有機ELディスプレイ(OELD:Organic Electroluminescence Display)のようなフラットパネルディスプレイ等を含む。 The output device 22 receives output signals from the terminal device 2 and outputs data, thereby providing information to, for example, the operator Op. The output device 22 is at least one of a display device capable of displaying display data, an audio output device capable of outputting audio, and a printing device capable of outputting printed material. The display device may be a flat panel display such as a liquid crystal display (LCD) or an organic electroluminescence display (OELD).

UAV3は、飛行制御装置30と、飛行装置31と、本体32と、位置センサ33と、通信装置34と、電源35と、計測装置36と、を備える。 The UAV3 includes a flight control device 30, a flight device 31, a main body 32, a position sensor 33, a communication device 34, a power source 35, and a measurement device 36.

UAV3は、プロペラ31Pが回転することにより飛行する。よって、飛行装置31は、プロペラ31P及び駆動装置31D等を含む。駆動装置31Dは、プロペラ31Pを回転させるための駆動力を発生する。駆動装置31Dは、電動機(モータ)等を含む。飛行制御装置30は、フライトコントローラと呼ばれ、後述する計測装置36からの計測データに基づき所定の演算を行い、機体の姿勢制御や飛行制御を行う。飛行制御装置30は、演算結果に基づき駆動装置31Dに制御信号を送信することにより機体を制御する。本体32は、飛行装置31に支持される。 The UAV3 flies by rotating the propeller 31P. Therefore, the flight device 31 includes the propeller 31P and a drive unit 31D. The drive unit 31D generates a driving force to rotate the propeller 31P. The drive unit 31D includes an electric motor. The flight control device 30 is called a flight controller, and performs predetermined calculations based on measurement data from the measurement device 36 (described below), to control the attitude and flight of the aircraft. The flight control device 30 controls the aircraft by sending control signals to the drive unit 31D based on the calculation results. The main body 32 is supported by the flight device 31.

位置センサ33は、UAV3の位置を検出する。位置センサ33は、全地球航法衛星システム(GNSS:Global Navigation Satellite System)を利用して、UAV3の位置を検出する。全地球航法衛星システムは、全地球測位システム(GPS:Global Positioning System)等を含む。全地球航法衛星システムは、例えば緯度、経度、及び高度の座標データで規定されるUAV3の絶対位置を検出する。全地球航法衛星システムにより、グローバル座標系において規定されるUAV3の位置が検出される。グローバル座標系とは、地球に固定された座標系をいう。位置センサ33は、GPS受信機等を含み、UAV3の絶対位置(座標)を検出する。なお、本実施形態で想定する適用環境はトンネル坑内であり、外部との通信が行えない環境、すなわち、自己位置(現在位置)を推定できない環境である。よって、本実施形態では、位置センサ33は機能しないものとする。通信装置34は、端末装置2とUAV3との間で通信を行う。通信装置34は、例えば無線通信機である。よって、端末装置2とUAV3とは、通信装置34を介して無線通信する。 The position sensor 33 detects the position of the UAV 3. The position sensor 33 detects the position of the UAV 3 using a Global Navigation Satellite System (GNSS). The Global Navigation Satellite System includes the Global Positioning System (GPS), etc. The Global Navigation Satellite System detects the absolute position of the UAV 3, which is defined by coordinate data such as latitude, longitude, and altitude. The Global Navigation Satellite System detects the position of the UAV 3, which is defined in a global coordinate system. The global coordinate system is a coordinate system fixed to the Earth. The position sensor 33 includes a GPS receiver, etc., and detects the absolute position (coordinates) of the UAV 3. Note that the application environment assumed in this embodiment is inside a tunnel, an environment in which communication with the outside is not possible, i.e., an environment in which the UAV's own position (current location) cannot be estimated. Therefore, in this embodiment, the position sensor 33 is not functional. The communication device 34 communicates between the terminal device 2 and the UAV 3. The communication device 34 is, for example, a wireless communication device. Therefore, the terminal device 2 and the UAV 3 communicate wirelessly via the communication device 34.

電源35は、電動機に電力を供給する。電源35は、充電池(バッテリ)等を含む。以降の説明では、電源35は、便宜上、バッテリ35と称す。 The power source 35 supplies power to the electric motor. The power source 35 includes a rechargeable battery, etc. In the following description, the power source 35 will be referred to as the battery 35 for convenience.

計測装置36は、撮像装置37及び慣性計測装置(IMU:Inertial Measurement Unit)等を含み、UAV3の周辺及び機体自身をセンシングし、飛行環境及び飛行状態を計測する。撮像装置37は、被写体を撮像し画像データを取得する。撮像装置37は、光学デバイスとイメージセンサとを有する。光学デバイスは、光学レンズ等を含む。イメージセンサは、CCD(Couple Charged Device)イメージセンサ又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等を含む。慣性計測装置(非図示)は、移動体の角速度(回転運動)を検出する角速度計(ジャイロ)、加速度(直線運動)を検出する加速度計等を備え、移動体の動きを計測する。慣性計測装置は、加速度計及び角速度計以外にも、磁力計(3軸)、温度センサ、及びプロセッサ等を含んでいてもよい。 The measurement device 36 includes an imaging device 37 and an inertial measurement unit (IMU), etc., and senses the surroundings of the UAV3 and the aircraft itself to measure the flight environment and flight status. The imaging device 37 captures images of a subject and acquires image data. The imaging device 37 has an optical device and an image sensor. The optical device includes an optical lens, etc. The image sensor includes a CCD (Couple Charged Device) image sensor or a CMOS (Complementary Metal Oxide Semiconductor) image sensor, etc. The inertial measurement unit (not shown) includes an angular velocity meter (gyro) that detects the angular velocity (rotational motion) of the moving body, an accelerometer that detects acceleration (linear motion), etc., and measures the movement of the moving body. In addition to the accelerometer and angular velocity meter, the inertial measurement unit may also include a magnetometer (3-axis), a temperature sensor, a processor, etc.

UAV3は、後述する自律移動制御を行う拡張装置(拡張ボード)4を備える。拡張装置4は、自律飛行制御装置40と、検出装置41と、計測装置42と、を備える。自律飛行制御装置40は、後述するコンピュータシステム100を備える。自律飛行制御装置40は、検出装置41、計測装置42、及び飛行制御装置30と通信可能に接続されており、障害物を回避しながら自律移動し、掘削形状の計測作業を行うための各種処理を実行する。具体的には、自律飛行制御装置40は、検出装置41からの入力信号(検出結果)に基づき、障害物を回避する移動経路をリアルタイムに計算し決定する。自律飛行制御装置40は、計算結果(決定した移動経路)に従って、飛行制御装置30に制御信号(駆動命令)を出力する。自律飛行制御装置40は、計測開始位置に到着後に、所定の計測経路に従って、飛行制御装置30に制御信号(駆動命令)を出力する。その結果、計測装置42は、計測経路を飛行している間に、掘削形状の計測を行う。 The UAV 3 is equipped with an expansion device (expansion board) 4 that performs autonomous movement control, as described below. The expansion device 4 includes an autonomous flight control device 40, a detection device 41, and a measurement device 42. The autonomous flight control device 40 includes a computer system 100, as described below. The autonomous flight control device 40 is communicatively connected to the detection device 41, the measurement device 42, and the flight control device 30, and performs various processes to autonomously move while avoiding obstacles and measure the excavation shape. Specifically, the autonomous flight control device 40 calculates and determines a movement path that avoids obstacles in real time based on input signals (detection results) from the detection device 41. The autonomous flight control device 40 outputs control signals (drive commands) to the flight control device 30 according to the calculation results (determined movement path). After arriving at the measurement start position, the autonomous flight control device 40 outputs control signals (drive commands) to the flight control device 30 according to the specified measurement path. As a result, the measurement device 42 measures the excavation shape while flying along the measurement path.

検出装置41は、物体を検出するセンサであり、本実施形態では深度センサ(例えば深度センシングカメラ)である。深度センサは、例えば、ステレオビジョン、Time on Flight、ストラクチャードライトなどの測定技術を用いて、近くに存在する物体を自動的に検出し、当該物体の検出データ(検出空間の深さ:検出物体までの距離)をリアルタイムに取得する。そこで、本実施形態では、自律飛行制御装置40が、深度センサの技術的特徴を用いて、後述する視覚支援空間地図データ(三次元空間地図データ)を生成・更新するように構成されている。視覚支援空間地図データは、静的障害物や動的障害物を識別し、動的障害物の動きを追跡・予測することを可能にする三次元空間をモデル化した地図データである。これにより、UAV3は、外部との通信が行えない環境であっても、自己位置から障害物の動きを予測し、障害物を回避する移動経路をリアルタイムに計算して、目的位置まで自律移動できる。以降の説明では、検出装置41は、便宜上、深度カメラ41と称す。 The detection device 41 is a sensor that detects objects, and in this embodiment, it is a depth sensor (e.g., a depth-sensing camera). The depth sensor automatically detects nearby objects using measurement technologies such as stereo vision, time-on-flight, and structured light, and acquires detection data for the object (depth of the detection space: distance to the detected object) in real time. Therefore, in this embodiment, the autonomous flight control device 40 is configured to use the technical features of the depth sensor to generate and update visually supported spatial map data (three-dimensional spatial map data) described below. The visually supported spatial map data is map data that models three-dimensional space, enabling the identification of static and dynamic obstacles and the tracking and prediction of the movement of dynamic obstacles. This allows the UAV 3 to predict the movement of obstacles from its own position, calculate a travel path that avoids the obstacles in real time, and autonomously travel to its destination, even in an environment where external communication is not possible. In the following description, the detection device 41 is referred to as a depth camera 41 for convenience.

計測装置42は、計測対象の形状を検出するセンサであり、本実施形態では画像センサ(例えばRGBカメラ)である。RGBカメラは、RGBデータとして撮像画像を取得する。本実施形態では、RGBカメラが掘削箇所を撮像することにより、掘削形状を計測する。以降の説明では、計測装置42は、便宜上、RGBカメラ42と称す。 The measuring device 42 is a sensor that detects the shape of the measurement target, and in this embodiment is an image sensor (e.g., an RGB camera). The RGB camera captures images as RGB data. In this embodiment, the RGB camera captures images of the excavation site to measure the excavation shape. In the following description, the measuring device 42 will be referred to as the RGB camera 42 for convenience.

図2は、本実施形態に係るUAV3の外観の一例を示す図である。本実施形態では、拡張装置4が、UAV3の本体32の上部に設置されている。よって、UAV3の本体32の上部には、深度カメラ41及びRBGカメラ42が備えられている。なお、深度カメラ41及びRBGカメラ42は、それぞれ異なる構成のカメラであってもよいし、一体構成のカメラであってもよい。一体構成のカメラとしては、例えばRGB-Dカメラが一例として挙げられる。RGB-Dカメラは、色(RGB)と深度(D)との両方のデータをリアルタイムに取得可能なカメラである。RGB-Dカメラは、RGBデータと深度データとを1つの画像フレームデータ(RGBDデータ)として出力できる。 Figure 2 is a diagram showing an example of the appearance of a UAV 3 according to this embodiment. In this embodiment, the extension device 4 is installed on top of the main body 32 of the UAV 3. Therefore, a depth camera 41 and an RGB camera 42 are provided on the top of the main body 32 of the UAV 3. Note that the depth camera 41 and the RGB camera 42 may be cameras with different configurations, or may be an integrated camera. An example of an integrated camera is an RGB-D camera. An RGB-D camera is a camera that can acquire both color (RGB) and depth (D) data in real time. An RGB-D camera can output RGB data and depth data as a single image frame data (RGBD data).

[コンピュータシステムの基本構成]
図3は、本実施形態に係るコンピュータシステム100の一例を示す図である。上述の端末装置2の制御装置20と、UAV3の飛行制御装置30及び自律飛行制御装置40と、は、コンピュータシステム100等を含む。コンピュータシステム100は、プロセッサ101と、メモリ102と、ストレージ103と、インタフェース(I/F)104と、を有する。プロセッサ101は、例えばCPU(Central Processing Unit)である。メモリ102は、ROM(Read Only Memory)のような不揮発性メモリ及びRAM(Random Access Memory)のような揮発性メモリ等を含む。ストレージ103は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等を含む。インタフェース104は、入出力回路等を含む。上述の各装置20,30,40が提供する各機能は、プログラムとしてストレージ103に記憶されている。プロセッサ101は、プログラムをストレージ103から読み出してメモリ102に展開し情報処理を実行することにより、各機能を提供する。なお、プログラムは、公衆回線を介してコンピュータシステム100に配信されてもよい。なお、図3には、シングルプロセッサによるコンピュータシステム100の一例を示したが、本実施形態はこれに限定されない。端末装置2の制御装置20と、UAV3の飛行制御装置30及び自律飛行制御装置40と、は、例えば、2つ以上のプロセッサ(マルチプロセッサ)によるコンピュータシステムにより構成されてもよい。
[Basic configuration of computer system]
FIG. 3 is a diagram illustrating an example of a computer system 100 according to this embodiment. The control device 20 of the terminal device 2, the flight control device 30 of the UAV 3, and the autonomous flight control device 40 constitute the computer system 100. The computer system 100 includes a processor 101, a memory 102, a storage 103, and an interface (I/F) 104. The processor 101 is, for example, a central processing unit (CPU). The memory 102 includes a non-volatile memory such as a read-only memory (ROM) and a volatile memory such as a random access memory (RAM). The storage 103 includes a hard disk drive (HDD) and a solid state drive (SSD). The interface 104 includes an input/output circuit, etc. Each function provided by each of the above-described devices 20, 30, and 40 is stored as a program in the storage 103. The processor 101 provides each function by reading the program from the storage 103, loading it into the memory 102, and executing information processing. The program may be distributed to the computer system 100 via a public line. While Fig. 3 shows an example of the computer system 100 using a single processor, the present embodiment is not limited to this. The control device 20 of the terminal device 2 and the flight control device 30 and autonomous flight control device 40 of the UAV 3 may be configured, for example, by a computer system using two or more processors (multiprocessor).

[トンネル坑内の掘削作業]
図4は、本実施形態に係るトンネル坑内の掘削作業の流れを示す模式図である。トンネル坑内の掘削作業は、いくつかの作業工程に分けられる。まずは、少なくとも現場を管理する現場監督と作業車両Mの操作する操作者Opを含む数人の担当者は、掘削作業の作業計画を確認する(ステップS1)。操作者Opは、確認した作業計画に従って作業車両Mを操作し、掘削作業を実施する(ステップS2)。このとき操作者Opは、端末装置2を携帯し、確認した作業計画などを確認しながら作業車両Mを操作する。その後、操作者Opは、所定の作業を終えると、作業車両Mの操作を停止する。UAV3は、作業車両Mの操作を停止したことを受けて、掘削形状の確認作業を実施する(ステップS3)。UAV3は、所定の位置から切羽近傍の計測開始位置まで障害物を回避しながら自律移動する。その後、UAV3は、切羽近傍を継続して飛行しながら掘削形状を計測し、計測終了位置まで到着すると、再び、障害物を回避しながら所定の位置まで自律移動する。
[Tunnel excavation work]
FIG. 4 is a schematic diagram showing the flow of tunnel excavation work according to this embodiment. Tunnel excavation work is divided into several work processes. First, several personnel, including at least the site supervisor who manages the site and the operator Op who operates the work vehicle M, confirm the work plan for the excavation work (Step S1). The operator Op operates the work vehicle M according to the confirmed work plan and performs the excavation work (Step S2). The operator Op carries the terminal device 2 and operates the work vehicle M while checking the confirmed work plan, etc. After the operator Op completes the predetermined work, he stops operating the work vehicle M. After stopping the operation of the work vehicle M, the UAV 3 performs the work of confirming the excavation shape (Step S3). The UAV 3 autonomously moves from a predetermined position to a measurement start position near the face while avoiding obstacles. The UAV 3 then continues flying near the face, measuring the excavation shape, and when it arrives at the measurement end position, it again autonomously moves to the predetermined position while avoiding obstacles.

図5は、本実施形態に係る計測システム1の処理を示すフローチャートである。図6は、本実施形態に係るUAV3の移動例を示す図である。図5に示す処理は、上述したステップS3の工程で実行される処理の詳細である。計測システム1では、現地作業において、端末装置2とUAV3との間で図5に示す処理が実行される。さらに、計測システム1で処理実行されている間、UAV3は、図6に示す動きをする。 Figure 5 is a flowchart showing the processing of the measurement system 1 according to this embodiment. Figure 6 is a diagram showing an example of the movement of the UAV 3 according to this embodiment. The processing shown in Figure 5 is a detailed description of the processing executed in step S3 described above. In the measurement system 1, the processing shown in Figure 5 is executed between the terminal device 2 and the UAV 3 during on-site work. Furthermore, while processing is being executed in the measurement system 1, the UAV 3 moves as shown in Figure 6.

UAV3は、所定の位置から離陸する(ステップS11)。UAV3は、飛行開始とともに、深度カメラ41により深度データを含む周辺画像を取得し、図6に示すような、UAV3の自己位置(現在位置)を基準とする視覚支援空間地図データMapの生成を開始する(ステップS2)。視覚支援空間地図データMapの生成処理(更新処理)は、UAV3が飛行している間、継続して実行される。これにより、視覚支援空間地図データMapは、障害物を回避しながら自律移動するために必要な最新データに更新される。UAV3は、生成した視覚支援空間地図データMapに基づき、静的障害物So及び動的障害物Doを識別し、動的障害物Doの動きを追跡・予測し、静的障害物So及び動的障害物Doを回避する移動経路Rtを計算する。その結果、UAV3は、計算した移動経路Rtに従って、静的障害物So及び動的障害物Doを回避しながら自律移動する(ステップS13)。 The UAV3 takes off from a predetermined position (step S11). Upon starting flight, the UAV3 acquires surrounding images including depth data using the depth camera 41 and begins generating visual support spatial map data Map based on the UAV3's own position (current position) as shown in FIG. 6 (step S2). The process of generating (updating) the visual support spatial map data Map is continuously executed while the UAV3 is flying. As a result, the visual support spatial map data Map is updated to the latest data necessary for autonomous movement while avoiding obstacles. Based on the generated visual support spatial map data Map, the UAV3 identifies static obstacles So and dynamic obstacles Do, tracks and predicts the movement of the dynamic obstacles Do, and calculates a movement route Rt that avoids the static obstacles So and dynamic obstacles Do. As a result, the UAV3 autonomously moves while avoiding the static obstacles So and dynamic obstacles Do according to the calculated movement route Rt (step S13).

UAV3は、切羽近傍の計測開始位置に到着すると、掘削形状の計測を開始する(ステップS14)。計測結果は、UAV3に記憶される。なお、掘削形状の計測処理については、図7を用いて後述する。UAV3は、切羽近傍の計測終了位置に到着すると、計算した移動経路Rtに従って、静的障害物So及び動的障害物Doを回避しながら自律移動する(ステップS15)。その後、UAV3は、所定の位置に着陸する(ステップS16)。このとき、視覚支援空間地図データMapの生成・更新処理も終了する。 When UAV3 arrives at the measurement start position near the face, it begins measuring the excavation shape (step S14). The measurement results are stored in UAV3. The excavation shape measurement process will be described later using Figure 7. When UAV3 arrives at the measurement end position near the face, it moves autonomously along the calculated movement path Rt while avoiding static obstacles So and dynamic obstacles Do (step S15). Then, UAV3 lands at a predetermined position (step S16). At this time, the generation and update process of the visual support spatial map data Map also ends.

UAV3は、記憶しておいた計測結果を解析する(ステップS17)。なお、計測結果の解析処理については、図8を用いて後述する。その後、UAV3は、通信装置34を介して解析結果を端末装置2に出力する。端末装置2は、入力された解析結果に基づき、出力装置22を介して掘削不足箇所を可視化する(ステップS18)。なお、掘削不足箇所の可視化処理については、図9を用いて後述する。 The UAV 3 analyzes the stored measurement results (step S17). The process of analyzing the measurement results will be described later using Figure 8. The UAV 3 then outputs the analysis results to the terminal device 2 via the communication device 34. Based on the input analysis results, the terminal device 2 visualizes areas where excavation is insufficient via the output device 22 (step S18). The process of visualizing areas where excavation is insufficient will be described later using Figure 9.

図7は、本実施形態に係るUAV3による掘削形状の計測処理(ステップS14の処理)を示すフローチャートである。図7に示すように、UAV3は、例えば切羽近傍をジグザグの経路で飛行しながら計測移動する(ステップS21)。UAV3は、移動しながら、RGBカメラ42を用いて掘削箇所を撮像し、取得した撮像画像(RGBデータ)を計測結果として記憶する(ステップS22)。UAV3は、計測終了位置に到着したか否かを判定する(ステップS23)。UAV3は、計測終了位置に到着していないと判定した場合(ステップS23:NO)、計測移動を継続する。一方、UAV3は、計測終了位置に到着したと判定した場合(ステップS23:YES)、計測処理を終了する。このように、UAV3は、所定の計測経路に従って飛行し、自己位置を移動させながら掘削箇所を撮像することにより、切羽全体を満遍なく計測する。その結果、UAV3は、計測結果として掘削箇所を連続して撮像した複数画像を取得し記憶する。 Figure 7 is a flowchart showing the excavation shape measurement process (step S14) by the UAV 3 according to this embodiment. As shown in Figure 7, the UAV 3 performs measurement while flying, for example, a zigzag path near the excavation face (step S21). As it moves, the UAV 3 captures images of the excavation site using the RGB camera 42 and stores the captured images (RGB data) as measurement results (step S22). The UAV 3 determines whether it has arrived at the measurement end position (step S23). If the UAV 3 determines that it has not arrived at the measurement end position (step S23: NO), it continues its measurement movement. On the other hand, if the UAV 3 determines that it has arrived at the measurement end position (step S23: YES), it terminates the measurement process. In this way, the UAV 3 flies along a predetermined measurement path and captures images of the excavation site while moving its own position, thereby measuring the entire excavation face evenly. As a result, the UAV 3 acquires and stores multiple consecutive images of the excavation site as measurement results.

図8は、本実施形態に係るUAV3による計測結果の分析処理(ステップS17の処理)を示すフローチャートである。図8に示すように、UAV3は、計測結果の複数画像(複数のRGBデータ)を所定の記憶領域から取得する(ステップS31)。UAV3は、取得した複数画像に対してSfM(Structure from Motion)解析処理を行う(ステップS32)。SfMは、複数画像それぞれの撮像位置を推定し、画像同士の位置関係を解析することにより、対象物の三次元モデルを生成する解析技術である。生成される三次元モデルは、多くの点群データで構成される。本実施形態では、当該解析技術を用いることにより、掘削箇所の複数画像から掘削形状の三次元モデルを取得する。UAV3は、このようにして得られた点群データを解析結果として端末装置2に出力する。 Figure 8 is a flowchart showing the analysis process (processing of step S17) of measurement results by the UAV 3 according to this embodiment. As shown in Figure 8, the UAV 3 acquires multiple images (multiple RGB data) of the measurement results from a predetermined storage area (step S31). The UAV 3 then performs SfM (Structure from Motion) analysis on the acquired multiple images (step S32). SfM is an analysis technique that generates a three-dimensional model of an object by estimating the capture position of each of the multiple images and analyzing the positional relationship between the images. The generated three-dimensional model is composed of many point cloud data. In this embodiment, this analysis technique is used to acquire a three-dimensional model of the excavation shape from multiple images of the excavation site. The UAV 3 outputs the point cloud data acquired in this manner as the analysis results to the terminal device 2.

図9は、本実施形態に係る掘削不足箇所の可視化処理(ステップS18の処理)を示すフローチャートである。図10は、本実施形態に係る掘削不足箇所の可視化の様子を示す図である。図9に示すように、端末装置2は、UAV3から解析結果を取得する(ステップS41)。端末装置2は、解析結果として点群データで構成される掘削形状の三次元モデルのデータを取得する。端末装置2は、取得した解析結果から、掘削不足箇所を可視化するヒートマップを生成し表示する(ステップS42)。端末装置2は、掘削形状の三次元モデルのデータと、設計モデルのデータと、を最小二乗法により特定関数に近似させて重畳し、設計上の基準形状に対する実際の掘削形状の差分(掘削不足)を可視化するヒートマップを生成する。図10には、掘削不足箇所が領域Cとしてヒートマップ表示されている。これにより、操作者Opは、掘削不足箇所を把握できる。 Figure 9 is a flowchart showing the process for visualizing areas of insufficient excavation (the process of step S18) according to this embodiment. Figure 10 is a diagram showing the visualization of areas of insufficient excavation according to this embodiment. As shown in Figure 9, the terminal device 2 acquires analysis results from the UAV 3 (step S41). The terminal device 2 acquires three-dimensional model data of the excavation shape composed of point cloud data as the analysis result. The terminal device 2 generates and displays a heat map that visualizes areas of insufficient excavation from the acquired analysis results (step S42). The terminal device 2 approximates the three-dimensional model data of the excavation shape and the design model data to a specific function using the least squares method, and overlays them to generate a heat map that visualizes the difference (insufficient excavation) between the actual excavation shape and the reference shape in the design. In Figure 10, the areas of insufficient excavation are displayed as area C in the heat map. This allows the operator Op to identify areas of insufficient excavation.

[機能概要]
トンネル坑内は、外部との通信が不可能な環境下において、複雑な構造の静的障害物や移動予測の難しい動的障害物を回避する必要がある。よって、UAV3は、このような環境下において自律移動が困難な複雑な空間を自律移動するために、リアルタイムに移動空間を認識し、静的障害物So及び動的障害物Doを回避する移動経路Rtを生成する必要がある。リアルタイムに移動空間を認識するための技術として、視覚ベースのアルゴリズムを用いて障害物を検出する手法が一例として挙げられる。例えば、画像からの幾何学的情報を用いて障害物のバウンディングボックスを抽出している。しかしながら、当該手法によれば、静的障害物Soと動的障害物Doとを区別できない。また、静的障害物So及び動的障害物Doを回避する移動経路Rtを生成する技術として、幾何学マップ、占有マップ、又はユークリッド符号距離場マップ(ESDF:Euclidean Signed Distance Field Map)のような単一のマップ表現に基づく経路計画手法が一例として挙げられる。しかしながら、当該手法は静的な環境では有効である一方、地図表現の限界により、静的障害物Soと動的障害物Doとを同時に表現し取り扱うことはできない。さらに、移動予測が難しい動的障害物Doを回避するためには、リアルタイムで高頻度の経路生成(リアルタイムの経路計画)が必要である。しかしながら、拡張装置4を搭載し当該装置でリアルタイムの経路計画を行うUAV3の環境では、計算リソースが限られており、計算コストの高い処理の実現には困難性がある。
[Function Overview]
In tunnels, where communication with the outside is impossible, UAVs must avoid static obstacles with complex structures and dynamic obstacles whose movements are difficult to predict. Therefore, in order to autonomously navigate through such complex spaces, UAVs must recognize the travel space in real time and generate a travel path Rt that avoids static obstacles So and dynamic obstacles Do. One example of a technology for recognizing the travel space in real time is a method for detecting obstacles using a vision-based algorithm. For example, a bounding box of an obstacle is extracted using geometric information from an image. However, this method cannot distinguish between static obstacles So and dynamic obstacles Do. Another example of a technology for generating a travel path Rt that avoids static obstacles So and dynamic obstacles Do is a path planning method based on a single map representation, such as a geometric map, an occupancy map, or a Euclidean signed distance field map (ESDF). However, while this method is effective in static environments, it cannot simultaneously represent and handle static obstacles So and dynamic obstacles Do due to limitations in map representation. Furthermore, in order to avoid dynamic obstacles Do, whose movement is difficult to predict, high-frequency real-time route generation (real-time route planning) is required. However, in the environment of a UAV 3 equipped with an expansion device 4 and performing real-time route planning using this device, computational resources are limited, making it difficult to realize processing with high computational costs.

図11は、本実施形態に係る障害物を回避する自律移動機能の概要を示す図である。そこで、本実施形態に係る計測システム1では、UAV3が、図11に示すような自律移動を実現する。UAV3は、図11(A)に示す視覚支援空間地図データMapを生成する。視覚支援空間地図データMapは、自己位置Cpから静的障害物Soや動的障害物Doを識別し、動的障害物Doの動きを追跡・予測することが可能な三次元の動的地図データ(ダイナミックマップ)である。UAV3は、深度カメラ41の深度画像(深度マップ)を用いて、静的障害物Soをボクセル単位でモデル化して表現し、動的障害物Doをバウンディングボックスでモデル化して表現し、これらを占有マップのグリッド上にマッピングする。これにより、UAV3は、自己位置Cpに対する静的障害物So及び動的障害物Doの位置(相対位置)を占有ボクセルとして認識可能な当該地図データを生成する。UAV3は、特定のフィルタリングにより、動的障害物Doの移動を追跡する。UAV3は、移動しながら自己位置Cpにおける深度カメラ41で撮像した最新の深度画像に基づき、当該地図データを更新する。これにより、UAV3は、外部との通信が不可能な環境下であっても、複雑な構造の静的障害物Soや移動予測の難しい動的障害物Doを識別し、動的障害物Doの動きの追跡・予測が行える。 Figure 11 is a diagram showing an overview of the autonomous movement function for obstacle avoidance according to this embodiment. Therefore, in the measurement system 1 according to this embodiment, the UAV 3 realizes autonomous movement as shown in Figure 11. The UAV 3 generates visual support spatial map data Map shown in Figure 11 (A). The visual support spatial map data Map is three-dimensional dynamic map data (dynamic map) that can identify static obstacles So and dynamic obstacles Do from the vehicle's own position Cp and track and predict the movement of the dynamic obstacles Do. The UAV 3 uses the depth image (depth map) from the depth camera 41 to model and represent static obstacles So in voxel units and dynamic obstacles Do using bounding boxes, and maps these onto the grid of the occupancy map. As a result, the UAV 3 generates map data that can recognize the positions (relative positions) of the static obstacles So and dynamic obstacles Do relative to the vehicle's own position Cp as occupied voxels. The UAV3 tracks the movement of the dynamic obstacle Do using specific filtering. While the UAV3 is moving, it updates the map data based on the latest depth image captured by the depth camera 41 at its own position Cp. This allows the UAV3 to identify static obstacles So with complex structures and dynamic obstacles Do whose movement is difficult to predict, and track and predict the movement of the dynamic obstacles Do, even in an environment where communication with the outside world is not possible.

UAV3は、図11(B)に示すように、視覚支援空間地図データMapに従って、前方に位置する静的障害物So及び動的障害物Doを回避し目的位置に向かう最適な移動経路Rtをリアルタイムに計算する。UAV3は、移動予測が難しい動的障害物Doを回避するために、本願特有の最適化アルゴリズム(B-スプライン曲線最適化アルゴリズム)を採用し、移動経路Rtの最適化にかかる計算コストを低減する(計算速度を向上する)。さらに、UAV3は、時間経過とともに周辺環境が変化する動的環境に適用するため、最適化を繰り返す。これにより、UAV3は、経路計画を決定するリアルタイム計算を適切な計算時間で実行する。よって、UAV3は、リソースが限られた計算環境であっても、移動予測が難しい動的障害物Doを回避できる。 As shown in Figure 11 (B), the UAV3 calculates in real time an optimal travel route Rt toward the destination location, avoiding static obstacles So and dynamic obstacles Do located ahead, according to the visual support spatial map data Map. To avoid dynamic obstacles Do, whose movement is difficult to predict, the UAV3 employs an optimization algorithm (B-spline curve optimization algorithm) unique to the present application, reducing the calculation cost (improving calculation speed) required to optimize the travel route Rt. Furthermore, the UAV3 repeats optimization to adapt to dynamic environments in which the surrounding environment changes over time. This allows the UAV3 to perform real-time calculations to determine the route plan within an appropriate calculation time. Therefore, the UAV3 can avoid dynamic obstacles Do, whose movement is difficult to predict, even in a computational environment with limited resources.

図12は、本実施形態に係る計測システム1の機能ブロック図である。本実施形態に係る計測システム1が有する端末装置2及びUAV3は、図12に示すような各機能を有する。 Figure 12 is a functional block diagram of the measurement system 1 according to this embodiment. The terminal device 2 and UAV 3 included in the measurement system 1 according to this embodiment have the functions shown in Figure 12.

[端末装置]
端末装置2は、送受信部200、可視化部201、及び指示部202等を有し、各機能部が連携して動作することにより所定の機能を提供する。
[Terminal Device]
The terminal device 2 has a transmitting/receiving unit 200, a visualization unit 201, an instruction unit 202, etc., and provides predetermined functions by the respective functional units operating in cooperation with each other.

送受信部200は、UAV3等の端末装置2以外の他の機器との間でデータの送受信を行う。なお、送受信部200は、図1に示す通信装置23が有する機能である。 The transmitter/receiver unit 200 transmits and receives data to and from other devices other than the terminal device 2, such as the UAV 3. The transmitter/receiver unit 200 is a function of the communication device 23 shown in Figure 1.

可視化部201は、操作者Opに所定の情報を伝えるために当該情報を可視化する。可視化部201は、UAV3から取得した解析結果に基づき、解析結果の三次元モデルと設計モデルとを重畳しヒートマップ表示により掘削形状の差分(掘削不足)を可視化する。これにより、操作者Opは、掘削不足箇所を把握できる。なお、可視化部201は、図1に示す制御装置20及び出力装置22が有する機能である。 The visualization unit 201 visualizes predetermined information to convey that information to the operator Op. Based on the analysis results obtained from the UAV 3, the visualization unit 201 superimposes a three-dimensional model of the analysis results on the design model and visualizes the difference in the excavation shape (insufficient excavation) using a heat map display. This allows the operator Op to understand the areas where excavation is insufficient. The visualization unit 201 is a function possessed by the control device 20 and output device 22 shown in Figure 1.

指示部202は、可視化された情報に基づき、操作者Opに指示する。指示部202は、掘削形状の差分が所定値以上の場合、作業車両(掘削機)Mによる再掘削の実施を操作者Opに指示する。指示部202は、例えば、切羽のどの箇所が再掘削対象なのか、どの程度の掘削が必要なのか、などを操作者Opが理解しやすいように補足情報を追加表示してもよく、音声ガイダンスしてもよい。なお、指示部202は、図1に示す出力装置22が有する機能である。 The instruction unit 202 instructs the operator Op based on the visualized information. If the difference in the excavation shape is equal to or greater than a predetermined value, the instruction unit 202 instructs the operator Op to re-excavate using the work vehicle (excavator) M. The instruction unit 202 may additionally display supplementary information or provide audio guidance to help the operator Op understand, for example, which part of the face needs to be re-excavated and how much excavation is required. The instruction unit 202 is a function of the output device 22 shown in Figure 1.

[UAV]
UAV3は、送受信部300、駆動制御部301、駆動部302、第1検出部303等を有し、各機能部が連携して動作することにより所定の機能を提供する。さらに、UAV3は、拡張機能として、自律移動制御部401、第2検出部402、及び計測解析処理部403等を有し、各機能部が連携して動作することにより所定の機能を提供する。
[UAV]
The UAV 3 has a transceiver unit 300, a drive control unit 301, a drive unit 302, a first detection unit 303, etc., and the functional units work in cooperation to provide predetermined functions. Furthermore, the UAV 3 has an autonomous movement control unit 401, a second detection unit 402, a measurement analysis processing unit 403, etc. as extended functions, and the functional units work in cooperation to provide predetermined functions.

送受信部300は、端末装置2等のUAV3以外の他の機器との間でデータの送受信を行う。なお、送受信部300は、図1に示す通信装置34が有する機能である。 The transmitter/receiver unit 300 transmits and receives data to and from other devices other than the UAV 3, such as the terminal device 2. The transmitter/receiver unit 300 is a function of the communication device 34 shown in Figure 1.

[移動制御機能]
駆動制御部301は、駆動部302への制御信号の送信、第1検出部303からの検出データの受信、自律移動制御部401からの制御信号の受信等により、飛行に関するUAV3の機体制御を行う。なお、駆動制御部301は、飛行制御装置30が有する機能である。例えば駆動制御部301は、電源35の投入後、所定の制御信号を受け取ると、所定の位置からの離陸等を制御する。駆動制御部301は、自律移動制御部401から受信した移動経路データに基づき、経路に従ったUAV3の飛行及び所定の位置への着陸等を制御する。
[Movement control function]
The drive control unit 301 performs airframe control of the UAV 3 regarding flight by transmitting control signals to the drive unit 302, receiving detection data from the first detection unit 303, receiving control signals from the autonomous movement control unit 401, etc. The drive control unit 301 is a function of the flight control device 30. For example, when the drive control unit 301 receives a predetermined control signal after turning on the power supply 35, it controls takeoff from a predetermined position, etc. Based on the movement route data received from the autonomous movement control unit 401, the drive control unit 301 controls the flight of the UAV 3 along the route and landing at a predetermined position, etc.

駆動部302は、例えば駆動制御部301からの制御信号に従って、指示された挙動となるように駆動装置31Dを制御し、プロペラ31Pを回転駆動する。なお、駆動部302は、飛行装置31が有する機能である。 The drive unit 302 controls the drive device 31D to perform the specified behavior in accordance with, for example, a control signal from the drive control unit 301, and drives the propeller 31P to rotate. Note that the drive unit 302 is a function possessed by the flight device 31.

第1検出部303は、各種センサによるセンシング結果を検出結果として取得し、取得した検出結果を検出データとして駆動制御部301に転送する。なお、第1検出部303は、計測装置36が有する機能である。 The first detection unit 303 acquires the sensing results from the various sensors as detection results and transfers the acquired detection results to the drive control unit 301 as detection data. The first detection unit 303 is a function possessed by the measurement device 36.

[自律移動制御機能]
自律移動制御機能は、UAV3に搭載された拡張装置4が有する機能である。自律移動制御部401は、第2検出部402の検出データ及び視覚支援空間地図データMapに基づき、静的障害物So及び動的障害物Doを回避する自律飛行制御を行う。自律移動制御部401は、第2検出部402の検出データに基づき、自己位置Cpから静的障害物Soや動的障害物Doを識別し、動的障害物Doの動きを追跡・予測することが可能な視覚支援空間地図データMapを生成する。また、自律移動制御部401は、移動しながら自己位置Cpにおける第2検出部402の最新の検出データに基づき、当該地図データを更新する。自律移動制御部401は、最新の視覚支援空間地図データMapを用いて、前方に位置する静的障害物So及び動的障害物Doを回避し目的位置に向かう最適な移動経路Rtをリアルタイムに計算する。自律移動制御部401は、本願特有の最適化アルゴリズムを用いて移動経路Rtを最適化する。自律移動制御部401が有する各機能については、図12を参照し後述する。なお、自律移動制御部401は、自律飛行制御装置40が有する機能である。
[Autonomous movement control function]
The autonomous movement control function is a function possessed by the expansion device 4 mounted on the UAV 3. The autonomous movement control unit 401 performs autonomous flight control to avoid static obstacles So and dynamic obstacles Do based on the detection data of the second detection unit 402 and the visual support spatial map data Map. The autonomous movement control unit 401 identifies static obstacles So and dynamic obstacles Do from the self-position Cp based on the detection data of the second detection unit 402 and generates visual support spatial map data Map that can track and predict the movement of the dynamic obstacles Do. Furthermore, the autonomous movement control unit 401 updates the map data while moving based on the latest detection data of the second detection unit 402 at the self-position Cp. The autonomous movement control unit 401 uses the latest visual support spatial map data Map to calculate in real time an optimal movement route Rt toward the destination position while avoiding static obstacles So and dynamic obstacles Do located ahead. The autonomous movement control unit 401 optimizes the movement route Rt using an optimization algorithm unique to the present application. The functions of the autonomous movement control unit 401 will be described later with reference to Fig. 12. The autonomous movement control unit 401 is a function of the autonomous flight control device 40.

第2検出部402は、各種センサによるセンシング結果を検出結果として取得し、取得した検出結果を検出データとして自律移動制御部401に転送する。なお、第2検出部402は、深度カメラ41及びRGBカメラ42(又はRGB-Dカメラ)が有する機能である。第2検出部402は、深度カメラ41とRGBカメラ42のそれぞれから深度データとRGBデータとを取得し、1つの画像フレームデータとして自律移動制御部401に転送する。 The second detection unit 402 acquires the sensing results from the various sensors as detection results and transfers the acquired detection results to the autonomous movement control unit 401 as detection data. The second detection unit 402 is a function of the depth camera 41 and the RGB camera 42 (or the RGB-D camera). The second detection unit 402 acquires depth data and RGB data from the depth camera 41 and the RGB camera 42, respectively, and transfers them to the autonomous movement control unit 401 as a single image frame data.

[計測解析機能]
計測解析処理部403は、第2検出部402から入力された検出結果、すなわち画像データに対して所定の解析処理を行い、送受信部300を介して解析結果データを端末装置2に送信する。なお、計測解析処理部403は、自律飛行制御装置40が有する機能である。本実施形態では、掘削箇所の複数画像が検出結果の一例として挙げられる。計測解析処理部403は、複数画像に対して所定の解析処理(例えばSfM解析処理等)を行う。これにより、点群データで構成された、掘削形状の三次元モデルが取得できる。なお、計測解析処理部403は、計算コストを軽減する観点から、画像解析処理用の集積回路(ASIC:Application Specific Integrated Circuit)によって実現してもよい。
[Measurement and analysis function]
The measurement and analysis processing unit 403 performs a predetermined analysis process on the detection results, i.e., image data, input from the second detection unit 402, and transmits the analysis result data to the terminal device 2 via the transmission and reception unit 300. The measurement and analysis processing unit 403 is a function of the autonomous flight control device 40. In this embodiment, multiple images of the excavation site are given as an example of the detection results. The measurement and analysis processing unit 403 performs a predetermined analysis process (e.g., SfM analysis process, etc.) on the multiple images. This makes it possible to acquire a three-dimensional model of the excavation shape composed of point cloud data. In order to reduce calculation costs, the measurement and analysis processing unit 403 may be realized by an integrated circuit for image analysis processing (ASIC: Application Specific Integrated Circuit).

図13は、本実施形態に係る自律移動制御部401の機能ブロック図である。自律移動制御部401は、図13に示すような各機能を有する。自律移動制御部401は、記憶部410、地図データ生成部420、及び移動経路決定部430等を有し、各機能部が連携して動作することにより自律移動に関する所定の機能を提供する。 Figure 13 is a functional block diagram of the autonomous movement control unit 401 according to this embodiment. The autonomous movement control unit 401 has the functions shown in Figure 13. The autonomous movement control unit 401 has a memory unit 410, a map data generation unit 420, a movement route determination unit 430, etc., and these functional units work in conjunction with each other to provide predetermined functions related to autonomous movement.

本実施形態に係る各種データは、履歴データ411、地図データ412、及びパラメータデータ413等を含む。記憶部410は、これらのデータを所定の記憶領域に記憶する。なお、記憶部410は、図3に示すメモリ102及びストレージ103が有する機能である。 The various data according to this embodiment include history data 411, map data 412, parameter data 413, etc. The memory unit 410 stores these data in a predetermined storage area. The memory unit 410 is a function of the memory 102 and storage 103 shown in Figure 3.

履歴データ411は、動的障害物Doの動きを追跡・予測する際に用いる、動的障害物Doの移動履歴に関するデータである。履歴データ411は、例えば、視覚支援空間地図データMap(三次元の動的地図データ)における動的障害物Doの位置データや移動速度データ等である。位置データは、占有マップのグリッド上の移動位置を示す時系列データであり、移動速度データは、所定時間における移動位置の変化量から計算された移動速度を示す時系列データである。これらのデータは、撮像された複数画像の各フレームデータに対応付けられて記憶されている。 The history data 411 is data related to the movement history of the moving obstacle Do, and is used when tracking and predicting the movement of the moving obstacle Do. The history data 411 is, for example, position data and movement speed data of the moving obstacle Do in the visual support spatial map data Map (three-dimensional dynamic map data). The position data is time-series data indicating the movement position on the grid of the occupancy map, and the movement speed data is time-series data indicating the movement speed calculated from the amount of change in the movement position over a specified period of time. These data are stored in association with each frame data of the multiple captured images.

地図データ412は、視覚支援空間地図データMapであり、後述する地図データ生成部420によって生成され記憶される。また、記憶された地図データは、地図データ生成部420によって更新される。視覚支援空間地図データMapは、図11(A)に示す三次元の動的地図データである。静的障害物Soはボクセル単位でモデル化し三次元オブジェクトとして表現されており、動的障害物Doはバウンディングボックスでモデル化し三次元オブジェクトとして表現されている。視覚支援空間地図データMapは、検出結果として取得した位置情報に基づき、これらの三次元オブジェクトが占有マップのグリッド上にマッピングされた仮想空間の地図データである。また、視覚支援空間地図データMapは、三次元オブジェクトデータとして物体に関するデータを有しているため、障害物の位置、大きき(縦・横・高さ)、移動速度(単位時間の位置の変化量)を含むデータである。このように、視覚支援空間地図データMapは、UAV3の自己位置Cpからの見た方向(視線方向又は移動方向)に広がる空間を三次元空間にモデル化した地図データである。 The map data 412 is visual support space map data Map, which is generated and stored by the map data generation unit 420 (described later). The stored map data is updated by the map data generation unit 420. The visual support space map data Map is three-dimensional dynamic map data shown in FIG. 11(A). Static obstacles So are modeled in voxel units and represented as three-dimensional objects, while dynamic obstacles Do are modeled using bounding boxes and represented as three-dimensional objects. The visual support space map data Map is map data of a virtual space in which these three-dimensional objects are mapped onto the grid of an occupancy map based on position information acquired as detection results. Furthermore, the visual support space map data Map contains data related to objects as three-dimensional object data, and therefore includes the position, size (length, width, and height) and movement speed (amount of change in position per unit time) of the obstacles. In this way, the visual support spatial map data Map is map data that models the space extending in the direction seen from the UAV3's own position Cp (line of sight or direction of movement) in three-dimensional space.

パラメータデータ413は、移動経路の最適化を行う際に用いる最適化の重み係数や正規化係数等の各種パラメータである。また、記憶された各種パラメータは、後述する移動経路決定部430によって更新される。なお、各パラメータの初期値は、目的に応じてユーザにより予め設定されている。 The parameter data 413 is various parameters such as optimization weighting coefficients and normalization coefficients used when optimizing a travel route. The various stored parameters are updated by the travel route determination unit 430, which will be described later. The initial values of each parameter are set in advance by the user depending on the purpose.

[視覚支援空間地図データ生成機能(更新機能)]
地図データ生成部420は、自己位置Cpから静的障害物Soや動的障害物Doを識別し、動的障害物Doの動きを追跡・予測することが可能な視覚支援空間地図データMapを生成・更新する。地図データ生成部420は、領域提案部421、障害物識別部422、及び障害物移動予測部423等を有する。地図データ生成部420は、図14に示す処理を実行し、上記各機能モジュールを連携動作させることにより、視覚支援空間地図データMapを生成・更新する。
[Visual support spatial map data generation function (update function)]
The map data generation unit 420 generates and updates visual support spatial map data Map that can identify static obstacles So and moving obstacles Do from the vehicle's own position Cp and track and predict the movement of the moving obstacles Do. The map data generation unit 420 includes an area proposal unit 421, an obstacle identification unit 422, and an obstacle movement prediction unit 423. The map data generation unit 420 executes the process shown in FIG. 14 and causes the above-mentioned functional modules to operate in conjunction with each other, thereby generating and updating the visual support spatial map data Map.

図14は、本実施形態に係る視覚支援空間地図データMapの生成処理を示すフローチャートである。図14に示すように、領域提案部421は、静的障害物So及び動的障害物Doを検出し、検出障害物を静的地図データ(占有マップデータ)と融合し、障害物が存在する領域を提案する(ステップS51)。領域提案部421による当該処理については、図15、図16、及び図17を用いて後述する。 Figure 14 is a flowchart showing the process of generating visual support space map data Map according to this embodiment. As shown in Figure 14, the area proposal unit 421 detects static obstacles So and dynamic obstacles Do, merges the detected obstacles with static map data (occupancy map data), and proposes an area where the obstacles exist (step S51). This process by the area proposal unit 421 will be described later using Figures 15, 16, and 17.

次に、障害物識別部422は、検出障害物の時系列位置の履歴を参照し(履歴を追跡し)、所定のフィルタリング処理により、検出障害物のうち動的障害物Doを識別する(ステップS52)。これにより、動的障害物Doと識別されなかった検出障害物は静的障害物Soと識別できる。障害物識別部422による当該処理については、図18及び図19を用いて後述する。 Next, the obstacle identification unit 422 references the history of the time-series positions of the detected obstacles (tracks the history) and identifies moving obstacles Do from among the detected obstacles through a predetermined filtering process (step S52). As a result, detected obstacles that have not been identified as moving obstacles Do can be identified as static obstacles So. This process by the obstacle identification unit 422 will be described later using Figures 18 and 19.

次に、障害物識別部422は、動的障害物Doの時系列位置を静的地図データに入力し、動的障害物Doの移動による前回位置の占有ボクセル(マッピングオブジェクト)を静的地図データから削除する(ステップS53)。動的障害物Doは、提案領域のうち、静的障害物Soの存在領域、すなわち静的領域には含まれないはずである。そのため、静的領域における障害物の移動履歴、すなわち動的障害物Doは除去(クリーニング)されるべきである。 Next, the obstacle identification unit 422 inputs the time-series positions of the dynamic obstacle Do into the static map data and deletes the occupied voxels (mapping objects) at the previous position due to the movement of the dynamic obstacle Do from the static map data (step S53). The dynamic obstacle Do should not be included in the area of the proposed area where the static obstacle So exists, i.e., the static area. Therefore, the movement history of the obstacle in the static area, i.e., the dynamic obstacle Do, should be removed (cleaned).

除去手法としては、動的障害物Doの前回位置の占有ボクセルを静的領域から削除する処理が挙げられる。しかしながら、時間経過とともに変化する動的環境を地図データに反映させる場合には、動きの追跡・予測のために、動的障害物Doの過去のバウンディングボックスのデータ(移動の履歴データ411)が必要となる。よって、上述したように、単に占有ボクセルの削除処理を行なった場合には、移動の履歴データを削除することとなり、動きの追跡・予測の際の動的障害物Doの探索に失敗することになる。そこで、本実施形態では、障害物識別部422は、占有ボクセルの削除履歴を記録する。具体的には、障害物識別部422は、時系列画像である画像フレームごとの動的障害物Doの位置(過去の位置)に基づき、対応する占有ボクセルを削除する。そして、障害物識別部422は、削除した占有ボクセルに関するデータを、削除時に削除履歴データとしてハッシュテーブルに記録する。これにより、削除履歴データのボクセルは、次の更新時(動きの追跡・予測時)に行う地図データの精密化処理において、過去の占有ボクセルとして認識される(移動の履歴データとして有効活用される)。なお、削除履歴データは、履歴データ411に含まれ、障害物識別部422によって、記憶部410に記憶され更新される。 One removal method is to delete the occupied voxels at the previous position of the dynamic obstacle Do from the static region. However, when reflecting a dynamic environment that changes over time in map data, data on the dynamic obstacle Do's past bounding box (movement history data 411) is required for tracking and predicting its movement. Therefore, as described above, simply deleting the occupied voxels would result in deleting the movement history data, resulting in a failure to search for the dynamic obstacle Do when tracking and predicting its movement. Therefore, in this embodiment, the obstacle identification unit 422 records the deletion history of the occupied voxels. Specifically, the obstacle identification unit 422 deletes the corresponding occupied voxels based on the position (past position) of the dynamic obstacle Do for each image frame in the time-series image. The obstacle identification unit 422 then records data related to the deleted occupied voxels in a hash table as deletion history data at the time of deletion. As a result, the voxels in the deletion history data are recognized as previously occupied voxels (effectively utilized as movement history data) during the refinement process of the map data that is performed during the next update (when tracking and predicting movement). Note that the deletion history data is included in the history data 411, and is stored and updated in the memory unit 410 by the obstacle identification unit 422.

障害物移動予測部423は、マルコフ連鎖(Markov Chain)に基づく移動経路の予測のための環境確率を計算する(ステップS54)。障害物移動予測部423による当該処理については、図20及び図21を用いて後述する。 The obstacle movement prediction unit 423 calculates environmental probabilities for predicting the movement path based on a Markov chain (step S54). This processing by the obstacle movement prediction unit 423 will be described later using Figures 20 and 21.

[障害物の領域提案]
図15は、本実施形態に係る障害物領域の提案処理を示すフローチャートである。図16は、本実施形態に係る障害物検出(提案候補検出)の一例を示す図である。図17は、本実施形態に係る地図データの精密化手法の一例を示す図である。
[Obstacle area proposal]
Fig. 15 is a flowchart showing the obstacle area suggestion process according to this embodiment. Fig. 16 is a diagram showing an example of obstacle detection (suggestion candidate detection) according to this embodiment. Fig. 17 is a diagram showing an example of a map data refinement method according to this embodiment.

図15に示すように、領域提案部421は、第2検出部402(深度カメラ41)から深度画像を取得する(ステップS61)。次に、領域提案部421は、取得した深度画像に基づき、静的障害物So及び動的障害物Doの大まかな位置と大きさ(縦・横・高さ)を含む、障害物の三次元バウンディングボックスBbを生成する(ステップS62)。このとき、領域提案部421は、深度画像(深度マップ)の列深度値のヒストグラムを用いてUマップデータを計算する。深度画像は、各ピクセルに対する深さ(奥行き)の距離(物体までの距離)が認識可能なデータである。三次元バウンディングボックスBbの利点は、次の通りである。第1の利点として、三次元バウンディングボックスBbは、様々な形が想定される物体をシンプルな形状でモデル化できる。そのため、生成にかかる計算コストが少なく処理が速い。よって、三次元バウンディングボックスBbは、動的環境を認識するための視覚支援空間地図データMapのリアルタイムの生成・更新処理に適している。第2の利点として、三次元バウンディングボックスBbは、物体の中心位置、縦、横の長さ等のデータを含むことができる。そのため、三次元バウンディングボックスBbは、自己位置Cpから見た物体の位置、大きさ、方向性(物体の移動)等を三次元で認識できる。 As shown in FIG. 15, the region proposal unit 421 acquires a depth image from the second detection unit 402 (depth camera 41) (step S61). Next, based on the acquired depth image, the region proposal unit 421 generates a three-dimensional bounding box Bb of the obstacle, including the approximate position and size (length, width, and height) of the static obstacle So and the dynamic obstacle Do (step S62). At this time, the region proposal unit 421 calculates U map data using a histogram of column depth values in the depth image (depth map). The depth image is data that enables the recognition of the depth distance (distance to the object) for each pixel. The advantages of the three-dimensional bounding box Bb are as follows: First, the three-dimensional bounding box Bb can model objects with a simple shape, which can take on a variety of possible shapes. Therefore, the computational cost required for generation is low and processing is fast. Therefore, the three-dimensional bounding box Bb is suitable for real-time generation and update of visual support spatial map data Map for recognizing dynamic environments. A second advantage is that the three-dimensional bounding box Bb can contain data such as the object's center position, vertical and horizontal lengths. Therefore, the three-dimensional bounding box Bb can recognize the object's position, size, directionality (object movement), etc. in three dimensions as seen from the self-position Cp.

以降に、障害物の三次元バウンディングボックスBbの生成処理について、検出障害物が動的障害物Doの場合を例に説明する。動的障害物Doが図16(A)に示すようなRGBデータであると仮定する。動的障害物Doは、深度画像において連続的に変化する深度値を有する。このとき、動的障害物Doの色調が背景の色調と大きく異なると仮定した場合、領域提案部421は、閾値より大きい深度値を有するピクセルの領域をグループ化することによりUマップデータを生成し、動的障害物Doを認識できる。これにより、動的障害物Doは、Uマップデータにおいて、図16(D)に示すような第1の二次元バウンディングボックスBbaとして認識される。領域提案部421は、当該処理により、動的障害物Doの大まかな長さと幅に関するデータ(縦・横のデータ)を得ることができる。 The process of generating a three-dimensional bounding box Bb for an obstacle will be described below, taking the case where the detected obstacle is a moving obstacle Do as an example. Assume that the moving obstacle Do is represented by RGB data as shown in Figure 16(A). The moving obstacle Do has depth values that change continuously in the depth image. In this case, if it is assumed that the color tone of the moving obstacle Do is significantly different from the color tone of the background, the region proposal unit 421 generates U map data by grouping regions of pixels with depth values greater than a threshold, and can recognize the moving obstacle Do. As a result, the moving obstacle Do is recognized in the U map data as a first two-dimensional bounding box Bba as shown in Figure 16(D). Through this process, the region proposal unit 421 can obtain data regarding the approximate length and width (vertical and horizontal data) of the moving obstacle Do.

また、動的障害物Doは、深度画像において、図16(B)に示すような第2の二次元バウンディングボックスBbbとして認識される。領域提案部421は、図16(B),(D)の波線で示すように、領域提案部421は、深度画像の各列に対応するUマップデータ上の第1の二次元バウンディングボックス近傍の深度値を有するピクセルを探索する。これにより、領域提案部421は、動的障害物Doの大まかな高さに関するデータ(高さのデータ)を得ることができる。 Moreover, the moving obstacle Do is recognized in the depth image as a second two-dimensional bounding box Bbb as shown in Figure 16(B). As indicated by the dotted lines in Figures 16(B) and (D), the region proposal unit 421 searches for pixels having depth values near the first two-dimensional bounding box in the U map data corresponding to each column of the depth image. This allows the region proposal unit 421 to obtain data regarding the approximate height of the moving obstacle Do (height data).

Iを画像フレーム番号、oを障害物番号、Tを時刻とした場合、動的障害物Doは、当該物体の中心座標:P =[x ,y と、深さdを有する大きさ:S =[w ,h のバウンディングボックスとして表現できる。さらに、当該ボックスは、図16(C)に示すように、画像フレーム上に投影され、地図フレームに変換できる。具体的には、Mを地図フレーム番号とした場合、バウンディングボックスBbは、中心座標:P =[x ,y ,d ]と、大きさ:S=[w ,h ,l ]を有する地図フレームに変換できる。このように、領域提案部421は、深度画像から、検出障害物の三次元バウンディングボックスBbの生成し、当該ボックスを地図フレームに変換する。 If I is the image frame number, o is the obstacle number, and T is the time, the moving obstacle Do can be expressed as a bounding box with the object's center coordinates: PoI = [ xoI , yoI ] T and a size: SoI = [ woI , hoI ] T with a depth d. Furthermore, as shown in FIG . 16(C), this box can be projected onto the image frame and converted into a map frame . Specifically, if M is the map frame number, the bounding box Bb can be converted into a map frame with the center coordinates: PoM = [ xoM , yoM , d0M ] and a size: S = [ woM , hoM , l0M ]. In this way, the region proposal unit 421 generates a three-dimensional bounding box Bb of the detected obstacle from the depth image and converts this box into a map frame.

図15の説明に戻り、領域提案部421は、地図データの精密化処理を行う(ステップS63)。ステップS62の処理により生成された検出障害物の三次元バウンディングボックスBbの精度は、深度画像からのノイズの影響を受ける。そのため、静的地図上(占有マップのグリッド上)において、複数の三次元バウンディングボックスBbの各大きさは、それぞれで異なる可能性がある(地図上で様々な大きさのボックスが存在する可能性がある)。よって、当該ボックスの精度は十分な精度ではない。そこで、本実施形態では、ロバスト性と精度を向上させるために、領域提案部421が、深度画像から生成された検出障害物のバウンディングボックスBbの正規化を行う。本実施形態では、本処理を精密化処理と称す。 Returning to the explanation of Figure 15, the area proposal unit 421 performs a refinement process on the map data (step S63). The accuracy of the three-dimensional bounding box Bb of the detected obstacle generated by the process of step S62 is affected by noise from the depth image. As a result, the sizes of multiple three-dimensional bounding boxes Bb on the static map (on the grid of the occupancy map) may differ from one another (boxes of various sizes may exist on the map). Therefore, the accuracy of the boxes is not sufficient. Therefore, in this embodiment, to improve robustness and accuracy, the area proposal unit 421 normalizes the bounding box Bb of the detected obstacle generated from the depth image. In this embodiment, this process is referred to as a refinement process.

図17(A)に示すように、領域提案部421は、深度画像から生成された検出障害物のバウンディングボックスBb1の大きさ(w,h,l)に対して、予め設定しておいた拡張係数(正規化係数)Cinflateを乗算する。これにより、バウンディングボックスBb1は、x方向,y方向,z方向に拡張され、その結果、拡張バウンディングボックスBb2が生成される。なお、図17に示す点群の1つは静的地図データの1つのボクセルを示す。次に、領域提案部421は、静的地図上(占有マップのグリッド上)の障害物の位置に対応する占有ボクセルを探索する。その結果、領域提案部421は、図17(B)に示すように、データ内に存在する全ての占有ボクセルのうち、大きさが相対的に最も小さい拡張バウンディングボックスBb3を、障害物が存在する領域として決定し提案する。このように、領域提案部421は、深度画像から生成された検出障害物の複数のバウンディングボックスBbの大きさを正規化する。その結果、深度画像からのノイズが除去され、三次元バウンディングボックスBbの精度が向上する。 As shown in FIG. 17A, the region proposal unit 421 multiplies the size (w, h, l) of the bounding box Bb1 of the detected obstacle generated from the depth image by a preset expansion coefficient (normalization coefficient) C inflate . This expands the bounding box Bb1 in the x, y, and z directions, resulting in the generation of an expanded bounding box Bb2. Note that each point cloud shown in FIG. 17 represents a voxel in the static map data. Next, the region proposal unit 421 searches for an occupied voxel corresponding to the position of the obstacle on the static map (on the grid of the occupancy map). As a result, as shown in FIG. 17B, the region proposal unit 421 determines and proposes the expanded bounding box Bb3, which has the smallest size among all the occupied voxels present in the data, as the region where the obstacle exists. In this way, the region proposal unit 421 normalizes the sizes of the multiple bounding boxes Bb of the detected obstacle generated from the depth image. As a result, noise is removed from the depth image and the accuracy of the three-dimensional bounding box Bb is improved.

以上のように、領域提案部421は、三次元バウンディングボックスBbの生成により、検出障害物をモデル化する。さらに、領域提案部421は、大きさの正規化により、三次元バウンディングボックスBbからノイズを除去し、モデル化の精度を向上させる。領域提案部421は、このようにして生成した三次元バウンディングボックスBbを、静的地図上(占有マップのグリッド上)における障害物が存在する領域(UAV3が回避すべき空間地図上の領域)として提案する。 As described above, the area proposal unit 421 models the detected obstacle by generating a three-dimensional bounding box Bb. Furthermore, the area proposal unit 421 removes noise from the three-dimensional bounding box Bb by normalizing the size, improving the accuracy of the modeling. The area proposal unit 421 proposes the three-dimensional bounding box Bb generated in this way as an area on the static map (on the grid of the occupancy map) where an obstacle exists (an area on the spatial map that UAV3 should avoid).

[障害物の識別・追跡]
図18は、本実施形態に係る障害物の追跡と識別処理を示すフローチャートである。図19は、本実施形態に係る動的障害物Doの識別手法の一例を示す図である。
[Obstacle identification and tracking]
Fig. 18 is a flowchart showing the obstacle tracking and identification process according to this embodiment, and Fig. 19 is a diagram showing an example of a method for identifying a moving obstacle Do according to this embodiment.

図18に示すように、障害物識別部422は、動きの追跡・予測のために、全ての検出障害物に対して、障害物と当該障害物の位置とを関連付けて、履歴データ411として記録する(ステップS71)。具体的には、障害物識別部422は、時刻tの画像フレーム内において検出された複数の障害物の一群を1つのデータセット={ ,・・・ }として関連付ける。また、障害物識別部422は、各三次元バウンディングボックスBbのデータ と、前回の時刻t-1のt-1 のうち、データ に最も近いデータt-1 と、を関連付ける。なお、最も近いデータの判断基準は、三次元バウンディングボックスBb同士の中心距離に基づいている。三次元バウンディングボックスBb同士の重複率:ri,jは下記式で定義できる。
18 , the obstacle identifying unit 422 associates the obstacle with its position for all detected obstacles and records the associated data as history data 411 for tracking and predicting movement (step S71). Specifically, the obstacle identifying unit 422 associates a group of obstacles detected in an image frame at time t as one data set t O C = { t o 0 C , t o 1 C , ... t on C }. The obstacle identifying unit 422 also associates data t o 0 C of each three-dimensional bounding box Bb with data t - 1 o i C that is closest to data t o i C among data t - 1 O n C at the previous time t-1. The criterion for determining which data is closest is based on the center distance between the three-dimensional bounding boxes Bb. The overlap rate r i,j between three-dimensional bounding boxes Bb can be defined by the following equation:

ここで、Ai,jは、時刻tのデータ とデータのt-1 と、の間の、三次元バウンディングボックスBb同士の上面の重複領域であり、Aは、データ の上面の領域である。障害物識別部422は、重複率に基づき時間kの経過に応じた各障害物の移動履歴:i,k ={ t-1 ,・・・t-k }を取得する。なお、部分的に検出された障害物の三次元バウンディングボックスBbの影響を軽減するために、障害物識別部422は、経過時間kの画像フレームにおいて、障害物全体がカメラの撮像領域(FOV:Field of View)に含まれているか否かを判断する。その結果、障害物識別部422は、検出障害物の三次元バウンディングボックスBbの全体が撮像領域に含まれていると判断した場合、三次元バウンディングボックスBbの大きさを決定する。当該決定処理は、撮像領域が小さい撮像装置に対して有効な処理である。 Here, A i,j is the overlapping area of the upper surfaces of the three-dimensional bounding boxes Bb between data t o i C and data t-1 o i C at time t, and A i is the area of the upper surface of data t o i C. The obstacle identification unit 422 acquires the movement history of each obstacle over time k based on the overlap rate: t H i,k C = { t o i C , t-1 o i C , ... t-k o i C }. Note that, in order to reduce the influence of the three-dimensional bounding box Bb of a partially detected obstacle, the obstacle identification unit 422 determines whether the entire obstacle is included in the camera's imaging area (FOV: Field of View) in the image frame at elapsed time k. As a result, if the obstacle identification unit 422 determines that the entire three-dimensional bounding box Bb of the detected obstacle is included in the imaging area, it determines the size of the three-dimensional bounding box Bb. This determination process is effective for an imaging device with a small imaging area.

以上のように、障害物識別部422は、同一時刻の画像フレーム内において検出された複数の障害物の一群を1つのデータセットを生成する。さらに、障害物識別部422は、経過時間ごとの複数のデータセットに基づき、同じ三次元バウンディングボックスBbの時系列データセットi,k として移動の履歴データ411を生成する。 As described above, the obstacle identifying unit 422 generates a group of multiple obstacles detected in image frames at the same time as one data set t O C. Furthermore, the obstacle identifying unit 422 generates movement history data 411 as time-series data sets t H i,k C of the same three-dimensional bounding box Bb based on the multiple data sets t O C for each elapsed time.

次に、障害物識別部422は、障害物の移動速度を推定する(ステップS72)。障害物識別部422は、地図フレーム(空間地図における時系列の表現領域)に対してカルマンフィルタ(Kalman Filter)を適用し、検出障害物を追跡し移動速度を推定する。以降の説明を分かりやすくするために、後述する全てのパラメータが地図フレーム内に存在すると仮定する。障害物の状態ベクトルはX=[x,y,・・・]として表現でき、測定ベクトルはZ=[o,o,v,vとして表現できる。ここで、v,vは、障害物の単位時間あたりの状態変化(単位時間あたりの二次元の位置変化)によって計算されたx方向及びy方向の速度である。さらに、Aは状態遷移モデル、Qはモデルノイズの共分散、Hは測定モデル、Rは測定ノイズの共分散、tは時刻であるとした場合、状態ベクトルXと測定ベクトルZとのモデルと測定値は下記式で定義できる。
Next, the obstacle identifier 422 estimates the moving speed of the obstacle (step S72). The obstacle identifier 422 applies a Kalman filter to the map frame (a time-series representation area on a spatial map) to track the detected obstacle and estimate its moving speed. For ease of understanding the following explanation, it is assumed that all parameters described below exist within the map frame. The state vector of the obstacle can be expressed as X = [x, y, ...] T , and the measurement vector can be expressed as Z = [ ox , oy , vx , vy ] T . Here, vx and vy are the x- and y-directional velocities calculated based on the state change per unit time (two-dimensional position change per unit time) of the obstacle. Furthermore, assuming that A is a state transition model, Q is the covariance of the model noise, H is a measurement model, R is the covariance of the measurement noise, and t is time, the model and measurement value of the state vector X and the measurement vector Z can be defined by the following equations.

次に、障害物識別部422は、検出障害物の推定速度が所定値以上か否かを判定する(ステップS73)。なお、当該判定の所定値はユーザにより設定されている。障害物識別部422は、障害物の推定速度が所定値以上の場合(ステップS73:YES)、連続係数Cconが所定値Tcon未満か否かを判定する(ステップS74)。障害物識別部422は、連続係数Cconが所定値Tcon未満の場合(ステップS74:YES)、検出障害物を動的障害物Doとして識別する(ステップS75)。一方、障害物識別部422は、障害物の推定速度が所定値未満の場合(ステップS73:NO)、又は、連続係数Cconが所定値Tcon以上の場合(ステップS74:NO)、検出障害物を静的障害物Soとして識別する(ステップS76)。 Next, the obstacle identifying unit 422 determines whether the estimated speed of the detected obstacle is equal to or greater than a predetermined value (step S73). The predetermined value is set by the user. If the estimated speed of the obstacle is equal to or greater than the predetermined value (step S73: YES), the obstacle identifying unit 422 determines whether the continuity coefficient C con is less than a predetermined value T con (step S74). If the continuity coefficient C con is less than the predetermined value T con (step S74: YES), the obstacle identifying unit 422 identifies the detected obstacle as a moving obstacle Do (step S75). On the other hand, if the estimated speed of the obstacle is less than the predetermined value (step S73: NO) or if the continuity coefficient C con is equal to or greater than the predetermined value T con (step S74: NO), the obstacle identifying unit 422 identifies the detected obstacle as a stationary obstacle So (step S76).

例えば、検出障害物の推定速度がユーザ定義の閾値(所定値)を超えた場合、当該障害物を動的障害物Doとして識別する障害物の識別処理を行うとする。しかしながら、上記識別処理では、静的障害物Soの中には、検出装置41の測定ノイズにより、動的障害物Doとして識別されてしまう可能性がある。そこで、本実施形態では、障害物識別部422は、動的障害物Doとして誤って識別された静的障害物Soをフィルタリングする構成(連続係数Cconに基づく動的障害物Doの識別処理:ステップS74)を有している。 For example, if the estimated speed of a detected obstacle exceeds a user-defined threshold (predetermined value), an obstacle identification process is performed to identify the obstacle as a moving obstacle Do. However, in the above identification process, some static obstacles So may be identified as moving obstacles Do due to measurement noise of the detection device 41. Therefore, in this embodiment, the obstacle identification unit 422 has a configuration for filtering out static obstacles So that have been erroneously identified as moving obstacles Do (identification process of moving obstacles Do based on the continuity coefficient C con : step S74).

図19(A)は、6つの時間帯の動的障害物Doの移動の履歴データ411を示す。白色の点:P-Pと波線矢印は、移動履歴として記録された障害物の位置と軌跡である。黒色の点:P GT-P GTは真実の位置である。図19(B)は、6つの時間帯の静的障害物Soの移動の履歴データ411を示す。白色の点:P-Pと波線矢印は、移動履歴として記録された障害物の位置と軌跡である。黒色の点:PGTは真実の位置である。 Figure 19(A) shows history data 411 of the movement of a dynamic obstacle Do over six time periods. White dots: P 1 -P 6 and wavy arrows are the positions and trajectories of the obstacles recorded as movement history. Black dots: P 1 GT -P 6 GT are the true positions. Figure 19(B) shows history data 411 of the movement of a static obstacle So over six time periods. White dots: P 1 -P 6 and wavy arrows are the positions and trajectories of the obstacles recorded as movement history. Black dots: P GT are the true positions.

障害物識別部422は、下記式に定義された移動履歴Paから、障害物の1組の位置データ(例えば第1時刻のPと第2時刻のP等)を用いて変位ベクトル(実線の矢印)を計算する。
次に、各点間の変位ベクトルDは下記式で定義できる。
The obstacle identification unit 422 calculates a displacement vector (solid arrow) using a set of obstacle position data (e.g., P1 at the first time and P4 at the second time) from the movement history Pa defined by the following equation:
Next, the displacement vector D between each point can be defined by the following equation.

その後、障害物識別部422は、連続するインデックスを持つ各変位ベクトルDのペア間の角度θの余弦値を求める。
Thereafter, the obstacle identifying unit 422 calculates the cosine value of the angle θ between each pair of displacement vectors D having successive indices.

障害物が短時間に一定の速度で移動すると仮定すると、図19(A)に示すように、動的障害物Doの場合には、変位ベクトル間の角度θは鋭角となる(0°に近くなる)はずである。一方、図19(B)に示すように、静的障害物Soの場合には、変位ベクトル間の角度θが鈍角となる(180°に近くなる)。そこで、本実施形態では、このような性質を利用し、連続係数Cconを下記式で定義する。
Assuming that an obstacle moves at a constant speed in a short period of time, the angle θ between the displacement vectors of a moving obstacle Do should be an acute angle (close to 0°) as shown in Fig. 19(A). On the other hand, as shown in Fig. 19(B), the angle θ between the displacement vectors of a static obstacle So should be an obtuse angle (close to 180°). Therefore, in this embodiment, this property is utilized and the continuity coefficient C con is defined by the following equation:

障害物識別部422は、検出障害物のうち、連続係数Cconが閾値(所定値)Tconより小さい検出障害物を、一時的に動的障害物Doとして仮識別結果を記録する。障害物識別部422は、過去の各障害物の複数の仮識別結果を識別履歴データとして所定のフレーム数分記録する。その結果、障害物識別部422は、識別記録から、過去の仮識別結果においても同様の認識結果が所定数以上あった場合、該当する検出障害物を動的障害物Doとして最終識別する。 The obstacle identifying unit 422 temporarily records a provisional identification result of a detected obstacle whose continuity coefficient C con is smaller than a threshold value (predetermined value) T con as a moving obstacle Do. The obstacle identifying unit 422 records a plurality of past provisional identification results of each obstacle for a predetermined number of frames as identification history data. As a result, if the obstacle identifying unit 422 finds from the identification record that a predetermined number or more of similar recognition results exist in the past provisional identification results, it finally identifies the corresponding detected obstacle as a moving obstacle Do.

以上のように、障害物識別部422は、カルマンフィルタを用いて、検出障害物の移動速度を推定し、推定速度が所定値未満の場合、検出障害物を静的障害物Soとして識別する。一方、障害物識別部422は、推定速度が所定値以上の場合、検出障害物を動的障害物Doとして仮識別する。障害物識別部422は、静的障害物Soが誤って動的障害物Doと識別された可能性を考慮して、誤って識別された静的障害物Soをフィルタリングする処理を行う。 As described above, the obstacle identification unit 422 uses a Kalman filter to estimate the movement speed of the detected obstacle, and if the estimated speed is less than a predetermined value, identifies the detected obstacle as a static obstacle So. On the other hand, if the estimated speed is equal to or greater than a predetermined value, the obstacle identification unit 422 provisionally identifies the detected obstacle as a moving obstacle Do. The obstacle identification unit 422 performs processing to filter out erroneously identified static obstacles So, taking into account the possibility that a static obstacle So may have been erroneously identified as a moving obstacle Do.

[動的障害物の移動経路の予測]
図20は、本実施形態に係る動的障害物Doの移動予測処理を示すフローチャートである。図21は、本実施形態に係る動的障害物Doの移動予測手法の一例を示す図である。
[Prediction of moving obstacle paths]
Fig. 20 is a flowchart showing a process for predicting the movement of a moving obstacle Do according to this embodiment. Fig. 21 is a diagram showing an example of a method for predicting the movement of a moving obstacle Do according to this embodiment.

図20に示すように、障害物移動予測部423は、予め実験により生成しておいた、複数の経路候補を含む経路ライブラリを取得する(ステップS81)。障害物移動予測部423は、経路ライブラリから経路候補の確率分布を計算する(ステップS82)。 As shown in FIG. 20, the obstacle movement prediction unit 423 acquires a route library containing multiple route candidates that has been generated in advance through experiments (step S81). The obstacle movement prediction unit 423 calculates the probability distribution of the route candidates from the route library (step S82).

図21に示すように、実験における人の歩行データPpathを収集し、収集した歩行データを多項式でフィッティングすることにより、経路ライブラリを生成する。経路ライブラリの各ベクトルは、左折経路(図20に示す1のパス)から、直進経路を中心とした右折経路(図20に示す5のパス)までを含む。障害物移動予測部423は、このようにして生成された経路ライブラリを取得する。そして、障害物移動予測部423は、経路ライブラリに含まれる複数の経路候補のうち、各経路の確率分布Ppathを計算することにより、最も可能性の高い経路を選択する。経路の確率分布Ppathを計算するために、マルコフ連鎖の初期状態Pinitは各経路の確率値として下記式で定義できる。
As shown in FIG. 21 , a path library is generated by collecting walking data P path of a person in an experiment and fitting the collected walking data with a polynomial. Each vector in the path library ranges from a left-turn path (path 1 shown in FIG. 20 ) to a right-turn path (path 5 shown in FIG. 20 ) centered on a straight path. The obstacle movement prediction unit 423 acquires the path library generated in this manner. The obstacle movement prediction unit 423 then selects the most likely route by calculating the probability distribution P path of each of the multiple route candidates included in the path library. To calculate the probability distribution P path of the route, the initial state P init of the Markov chain can be defined as the probability value of each route using the following equation:

ここで、すべての値は離散確率分布(離散ガウス分布)となっている。確率値は、P1/2 initを平均とするガウスカーネルから取得される。これは、P1/2 initが、左折経路から右折経路までの複数の経路候補のうち、直進経路に該当し、人は可能であれば直線に近い経路を選択する傾向があると想定されるためである。さらに、マルコフ連鎖の状態遷移行列は下記式で定義できる。
Here, all values are discrete probability distributions (discrete Gaussian distributions). The probability values are obtained from a Gaussian kernel with P 1/2 init as the mean. This is because it is assumed that P 1/2 init corresponds to a straight route among multiple route candidates from a left turn route to a right turn route, and people tend to choose a route that is as close to a straight line as possible. Furthermore, the state transition matrix of the Markov chain can be defined by the following equation.

人間は可能な限り移動方向を保つ傾向がある。そのため、状態遷移行列の各行は、Pi,j transを平均とするガウスカーネルから取得される離散ガウス分布となる。環境と障害物との相互作用を考慮するために、障害物移動予測部423は、経路ライブラリ内の経路ごとに、静的地図データ(占有マップデータ)を基準(Dist)とし、基準の開始点(自己位置Cp)から障害物との衝突点までの距離を計算する。次に、障害物移動予測部423は、計算した距離を下記SoftMax関数に入力して環境確率Penvを計算する。環境確率Penvは、環境と障害物との相互作用を考慮したときに特定の経路を選択する確率を示す。
Humans tend to maintain their direction of movement as long as possible. Therefore, each row of the state transition matrix is a discrete Gaussian distribution obtained from a Gaussian kernel with P i,j trans as the mean. To consider the interaction between the environment and obstacles, the obstacle movement prediction unit 423 uses static map data (occupancy map data) as a reference (Dist i ) for each route in the route library and calculates the distance from the reference starting point (self-position Cp) to the collision point with the obstacle. Next, the obstacle movement prediction unit 423 inputs the calculated distance into the SoftMax function below to calculate the environmental probability P env . The environmental probability P env indicates the probability of selecting a specific route when considering the interaction between the environment and obstacles.

最後に、遷移状態は下記式により予測できる。
ここで、*は要素ごとの乗算を示す。
Finally, the transition state can be predicted by the following equation:
where * denotes element-wise multiplication.

以上のように、障害物移動予測部423は、人の歩行データから、複数の経路候補を含む経路ライブラリを生成する。障害物移動予測部423は、経路ライブラリに含まれる複数の経路候補のうち、各経路の確率分布Ppathを計算することにより、最も可能性の高い経路を選択する。このとき、障害物移動予測部423は、マルコフ連鎖の状態遷移行列に基づき、経路ライブラリ内の経路ごとに、静的地図データを基準(Dist)とし、基準の開始点から障害物との衝突点までの距離を計算する。障害物移動予測部423は、経路ごとの計算距離に基づき、環境と障害物との相互作用を考慮したときに特定の経路を選択する環境確率Penvを計算する。障害物移動予測部423は、このようにして計算した環境確率Penvに基づき、複数の経路候補から、動的障害物Doの今後の移動経路を選択し予測経路とする。 As described above, the obstacle movement prediction unit 423 generates a route library containing multiple route candidates from the person's walking data. The obstacle movement prediction unit 423 selects the most likely route by calculating the probability distribution P path of each route from the multiple route candidates included in the route library. At this time, the obstacle movement prediction unit 423 uses static map data as a reference (Dist i ) and calculates the distance from the reference starting point to the collision point with the obstacle for each route in the route library based on the state transition matrix of the Markov chain. Based on the calculated distance for each route, the obstacle movement prediction unit 423 calculates an environmental probability P env of selecting a specific route when considering the interaction between the environment and the obstacle. Based on the environmental probability P env calculated in this way, the obstacle movement prediction unit 423 selects a future movement route of the dynamic obstacle Do from the multiple route candidates and sets it as a predicted route.

上述したように、地図データ生成部420は、領域提案部421、障害物識別部422、及び障害物移動予測部423を有する。領域提案部421は、深度画像に基づき、検出障害物を位置、大きさを表現可能な三次元バウンディングボックスBbを生成し、静的地図上(占有マップのグリッド上)にマッピングする。これにより、領域提案部421は、静的障害物So及び動的障害物Doのいずれかが存在する領域を提案する。 As described above, the map data generation unit 420 has an area proposal unit 421, an obstacle identification unit 422, and an obstacle movement prediction unit 423. The area proposal unit 421 generates a three-dimensional bounding box Bb that can represent the position and size of a detected obstacle based on the depth image, and maps it on a static map (on the grid of the occupancy map). In this way, the area proposal unit 421 proposes an area where either a static obstacle So or a dynamic obstacle Do exists.

障害物識別部422は、検出障害物の時系列位置を記録し検出障害物の移動の履歴データ411を生成し、移動履歴に対してカルマンフィルタを用いて、検出障害物の移動速度を計算する。障害物識別部422は、計算速度に基づき、検出障害物のうち動的障害物Doを識別する。このとき、障害物識別部422は、本来、静的障害物Soとして識別されるべき動的障害物Doをフィルタリングするために、変位ベクトル間の角度θに基づき計算された連続係数Cconによって動的障害物Doの識別処理を行う。これにより、障害物識別部422は、動的障害物Doの追跡を可能とし、さらに、障害物の誤った識別を低減する(動的障害物Doの識別精度を向上させられる)。 The obstacle identification unit 422 records the time-series positions of the detected obstacles to generate history data 411 of the movement of the detected obstacles, and calculates the movement speed of the detected obstacles using a Kalman filter on the movement history. The obstacle identification unit 422 identifies a moving obstacle Do from the detected obstacles based on the calculated speed. At this time, the obstacle identification unit 422 performs identification processing of the moving obstacle Do using a continuity coefficient C con calculated based on the angle θ between the displacement vectors, in order to filter out moving obstacles Do that should originally be identified as static obstacles So. This enables the obstacle identification unit 422 to track the moving obstacle Do and further reduces erroneous identification of obstacles (improving the identification accuracy of moving obstacles Do).

障害物移動予測部423は、経路ライブラリから経路候補の確率分布Ppathを計算する。このとき、障害物移動予測部423は、マルコフ連鎖の初期状態Pinitを各経路の確率値とし、状態遷移行列を用いて、環境と障害物との相互作用を考慮した、経路ライブラリ内の経路(経路候補)ごとの障害物までの距離を計算する。障害物移動予測部423は、計算距離に基づき移動経路の予測のための環境確率Penvを計算する。その結果、障害物移動予測部423は、計算した環境確率Penvに基づき、複数の経路候補から、動的障害物Doの今後の移動経路を選択する。これにより、障害物移動予測部423は、動的障害物Doの移動経路を予測する。 The obstacle movement prediction unit 423 calculates a probability distribution P path of route candidates from the route library. At this time, the obstacle movement prediction unit 423 sets the initial state P init of the Markov chain as the probability value of each route, and calculates the distance to the obstacle for each route (route candidate) in the route library, taking into account the interaction between the environment and the obstacle, using a state transition matrix. The obstacle movement prediction unit 423 calculates an environmental probability P env for predicting the movement route based on the calculated distance. As a result, the obstacle movement prediction unit 423 selects a future movement route of the moving obstacle Do from multiple route candidates based on the calculated environmental probability P env . In this way, the obstacle movement prediction unit 423 predicts the movement route of the moving obstacle Do.

以上のように、地図データ生成部420は、検出障害物の位置や大きさをモデル化し、ボクセル形式やバウンディングボックス形式の三次元オブジェクトを、静的地図データ(占有マップデータ)に対応付けることにより、視覚支援空間地図データMapを生成できる。さらに、地図データ生成部420は、静的障害物So及び動的障害物Doの各識別結果と、識別された動的障害物Doの移動履歴と、当該動的障害物Doの移動予測結果と、を静的地図データ(占有マップデータ)に対応付ける。地図データ生成部420は、視覚支援空間地図データMapを動的環境に応じた最新データに更新する。よって、地図データ生成部420は、自己位置Cpから静的障害物Soや動的障害物Doを識別し、動的障害物Doの動きを追跡・予測することが可能な視覚支援空間地図データMapを、リアルタイムに生成・更新できる。つまり、地図データ生成部420は、計測現場の三次元空間地図データをリアルタイムに生成・更新できる。よって、UAV3は、外部との通信環境が著しく悪い環境下であっても、視覚支援空間地図データMapを用いることにより、周辺環境の最新状態をリアルタイムに認識することができる。よって、UAV3は、周辺環境の今後の状態変化(動的障害物Doの動き)を考慮して移動経路Rtを最適化することができる。 As described above, the map data generation unit 420 can generate visual support spatial map data Map by modeling the position and size of detected obstacles and associating three-dimensional objects in voxel or bounding box format with static map data (occupancy map data). Furthermore, the map data generation unit 420 associates the identification results of static obstacles So and dynamic obstacles Do, the movement history of the identified dynamic obstacles Do, and the predicted movement results of the dynamic obstacles Do with the static map data (occupancy map data). The map data generation unit 420 updates the visual support spatial map data Map to the latest data according to the dynamic environment. Therefore, the map data generation unit 420 can identify static obstacles So and dynamic obstacles Do from the self-position Cp and generate and update visual support spatial map data Map in real time, which can track and predict the movement of the dynamic obstacles Do. In other words, the map data generation unit 420 can generate and update three-dimensional spatial map data of the measurement site in real time. Therefore, even in an environment with extremely poor external communication, the UAV3 can recognize the latest state of the surrounding environment in real time by using the visual support spatial map data Map. As a result, the UAV3 can optimize its travel route Rt by taking into account future changes in the state of the surrounding environment (movement of the dynamic obstacle Do).

[移動経路決定機能(生成機能)]
移動経路決定部430は、UAV3が計測開始位置に向かう際に、静的障害物So及び動的障害物Doを回避するための最適な移動経路Rtを計算し決定する。移動経路Rtの決定処理は、UAV3が飛行している間、継続して実行される。移動経路決定部430は、移動経路Rtを最適化するために2つの最適化部を有している。具体的には、移動経路決定部430は、第1最適化部431と第2最適化部432とを有している。移動経路決定部430は、上記各機能モジュールを連携動作させることにより、UAV3の最適な移動経路Rtを計算し決定する。第1最適化部431は、図22に示す処理を実行し、最適な移動経路RtをB-スプライン曲線(B-spline curve)により生成し、目的コスト関数の最小化問題を解く最適化を行う。第2最適化部432は、時間経過とともに周辺環境が変化する動的環境に適用するため、上記最小化問題の解を導き出した後であっても繰り返し最適化を行う。
[Route determination function (generation function)]
The movement path determination unit 430 calculates and determines an optimal movement path Rt for avoiding static obstacles So and dynamic obstacles Do when the UAV 3 heads toward the measurement start position. The process of determining the movement path Rt is continuously executed while the UAV 3 is flying. The movement path determination unit 430 has two optimization units for optimizing the movement path Rt. Specifically, the movement path determination unit 430 has a first optimization unit 431 and a second optimization unit 432. The movement path determination unit 430 calculates and determines the optimal movement path Rt for the UAV 3 by operating the above-mentioned functional modules in cooperation with each other. The first optimization unit 431 executes the process shown in FIG. 22 to generate the optimal movement path Rt using a B-spline curve and perform optimization to solve the minimization problem of the objective cost function. The second optimization unit 432 performs repeated optimization even after deriving a solution to the minimization problem, in order to be applicable to a dynamic environment in which the surrounding environment changes over time.

[B-スプライン曲線の最適化]
図22は、本実施形態に係る移動経路Rtの最適化処理を示すフローチャートである。図22に示すように、第1最適化部431は、1つ以上の曲線の制御点に基づき、B-スプライン曲線を生成する(ステップS91)。第1最適化部431は、B-スプライン曲線で描画した移動経路Rt上に障害物が存在するか否かを判定する(ステップS92)。このとき、第1最適化部431は、記憶部410が記憶している地図データ412、すなわち、視覚支援空間地図データMapを参照する。第1最適化部431は、静的障害物So及び動的障害物Doの位置、大きさ、動的障害物Doの移動予測等に基づき、移動経路Rt上に障害物が存在するか否かを判定する。第1最適化部431は、移動経路Rt上に障害物が存在する場合(ステップS92:YES)、最適化パラメータを計算する(ステップS93)。第1最適化部431は、計算した最適化パラメータに基づき、制約なし最適化問題(目的コスト関数の最小化問題を定義した数式(数理モデル))を解き、移動経路Rtを決定する(ステップS94)。なお、「制約なし」とは、パラメータの範囲に制約がないものを言う。
[Optimization of B-spline curves]
FIG. 22 is a flowchart showing the optimization process for the travel route Rt according to this embodiment. As shown in FIG. 22, the first optimization unit 431 generates a B-spline curve based on the control points of one or more curves (step S91). The first optimization unit 431 determines whether an obstacle exists on the travel route Rt drawn using the B-spline curve (step S92). At this time, the first optimization unit 431 references the map data 412 stored in the storage unit 410, i.e., the visual support space map data Map. The first optimization unit 431 determines whether an obstacle exists on the travel route Rt based on the positions and sizes of static obstacles So and dynamic obstacles Do, the predicted movements of the dynamic obstacles Do, and the like. If an obstacle exists on the travel route Rt (step S92: YES), the first optimization unit 431 calculates optimization parameters (step S93). The first optimization unit 431 solves an unconstrained optimization problem (a mathematical formula (mathematical model) that defines a minimization problem of an objective cost function) based on the calculated optimization parameters, and determines the travel route Rt (step S94). Note that "unconstrained" means that there are no restrictions on the range of the parameters.

次数kのB-スプライン曲線は、ノットベクトル(Knot Vector)上に定義された制御点を用いて、複数のk-1次多項式曲線を連結し1つの曲線としたものである。基底関数はノット値により定義でき、再帰的に求めることができる。第1最適化部431は、大まかな経路又は目標位置が与えられたとき、下記式に示すように、移動経路Rtを制御点の集合としてパラメータ化する。なお、最初の制御点と最後の制御点は、UAV3の移動開始位置と移動終了位置に相当する。
A B-spline curve of degree k is a single curve formed by connecting multiple k-1 degree polynomial curves using control points defined on a knot vector. Basis functions can be defined by knot values and can be calculated recursively. When a rough route or target position is given, the first optimization unit 431 parameterizes the travel route Rt as a set of control points as shown in the following equation. The first control point and the last control point correspond to the start and end positions of the UAV3's travel.

最適化パラメータは、中間のN-2(k-1)個の制御点Pの集合Sとなる。第1最適化部431は、勾配ベースの制約のない定式化に従ってB-スプライン曲線の最適化を行う(制約なし非線形最適化を行う)。よって、最適化パラメータとして集合Sを用いる場合、目的コスト関数は下記式で定義できる。第1最適化部431は、当該目的コスト関数の最小化問題を解き、移動経路Rtを決定する。
ここで、αは、最適化用の重み付け係数である。このように、目的コスト関数Ctotal(S)は、経路の制御限界コストCcontrol、経路の滑らかさコストCsmooth、静的障害物Soに対する衝突コストCstatic、及び動的障害物Doに対する衝突コストCdynamicが、最適化のために重み付けされた組み合わせである。
The optimization parameter is a set S of the intermediate N-2(k-1) control points P i . The first optimization unit 431 optimizes the B-spline curve according to a gradient-based formulation without constraints (performing unconstrained nonlinear optimization). Therefore, when the set S is used as the optimization parameter, the objective cost function can be defined by the following equation. The first optimization unit 431 solves the minimization problem of the objective cost function and determines the movement route Rt.
where α is a weighting coefficient for optimization. Thus, the objective cost function C total (S) is a weighted combination for optimization of the path control limit cost C control , the path smoothness cost C smooth , the collision cost C static with static obstacles So, and the collision cost C dynamic with dynamic obstacles Do.

図23は、本実施形態に係る最適化パラメータ(コスト)の計算処理を示すフローチャートである。図23に示すように、第1最適化部431は、制御限界コストCcontrolに関するパラメータを計算する(ステップS101)。UAV3が移動経路Rtに従って移動する場合には、UAV3を、自己の制御限界(安定した移動を行うための制御限界値)を超えない範囲で移動させる必要がある。制御限界コストCcontrolは、移動可能な速度と加速度とを、制御限界を超えない範囲に制限するものである。B-スプライン曲線の導関数は、別のB-スプライン曲線で表せる。そのため、速度と加速度との各制御点VとAは下記式で定義できる。
FIG. 23 is a flowchart showing the calculation process of optimization parameters (costs) according to this embodiment. As shown in FIG. 23, the first optimization unit 431 calculates parameters related to the control limit cost C control (step S101). When the UAV 3 moves along the movement route Rt, the UAV 3 must move within a range that does not exceed its own control limit (a control limit value for stable movement). The control limit cost C control limits the possible speed and acceleration to a range that does not exceed the control limit. The derivative of a B-spline curve can be expressed by another B-spline curve. Therefore, the control points V i and A i for the speed and acceleration can be defined by the following equations.

ここで、δtは経過時間である。したがって、最大速度:vmaxと加速度:amaxが与えられると、制御限界コスト関数は下記式で定義できる。
なお、速度と加速度が制御限界を超えたときに、単位正規化係数λを用いて制御限界ペナルティにL2ノルムが適用される。
Here, δt is the elapsed time. Therefore, when the maximum speed: v max and the acceleration: a max are given, the control limit cost function can be defined by the following equation.
Note that when the velocity and acceleration exceed the control limits, an L2 norm is applied to the control limit penalty using a unit normalization factor λ.

次に、第1最適化部431は、滑らかさコストCsmoothに関するパラメータを計算する(ステップS102)。滑らかさコストCsmoothは、ぎくしゃくした移動経路Rtの生成を防ぐために適用される。加速度の制御点Aと、加速度の導関数である加加速度(jerk)の制御点Jと、が与えられると、滑らかさコスト関数は下記式で定義できる。
Next, the first optimization unit 431 calculates parameters related to the smoothness cost Csmooth (step S102). The smoothness cost Csmooth is applied to prevent the generation of a jerky movement path Rt. When an acceleration control point Ai and a jerk control point Ji , which is a derivative of acceleration, are given, the smoothness cost function can be defined by the following equation:

第1最適化部431は、静的障害物Soに対する衝突コストCstatic(静的障害物Soに衝突する可能性)に関するパラメータを計算する(ステップS103)。第1最適化部431による当該処理については、図24及び図25を用いて後述する。 The first optimization unit 431 calculates a parameter related to the collision cost C static with the static obstacle So (the possibility of colliding with the static obstacle So) (step S103). This processing by the first optimization unit 431 will be described later with reference to FIGS. 24 and 25.

第1最適化部431は、動的障害物Doに対する衝突コストCdynamic(動的障害物Doに衝突する可能性)に関するパラメータを計算する(ステップS104)。第1最適化部431による当該処理については、図26及び図27を用いて後述する。 The first optimization unit 431 calculates a parameter related to the collision cost C dynamic with the moving obstacle Do (the possibility of colliding with the moving obstacle Do) (step S104). This processing by the first optimization unit 431 will be described later with reference to FIGS. 26 and 27.

[静的障害物に対する衝突コスト計算]
図24は、本実施形態に係る静的障害物Soのパラメータの計算処理を示すフローチャートである。図25は、本実施形態に係る静的障害物Soに対する衝突コストCstaticと勾配の計算手法の一例を示す図である。
[Collision Cost Calculation for Static Obstacles]
Fig. 24 is a flowchart showing a process for calculating parameters of a static obstacle So according to this embodiment. Fig. 25 is a diagram showing an example of a method for calculating a collision cost C static and a gradient for a static obstacle So according to this embodiment.

静的障害物Soは、静的地図上(占有マップのグリッド上)の占有ボクセルによってモデル化し表現されている。そのため、最適化のための衝突コストと勾配を直接取得することができない。そこで、本実施形態では、第1最適化部431は、円ベースのガイド点アルゴリズムを用いて、静的障害物Soに対する衝突コストCstaticと勾配を推定する。最適化パラメータである制御点の衝突コストと勾配は、ガイド点によって推定できる。なお、ガイド点とは、障害物を回避するために探索して決定した衝突回避経路Rts上に、B-スプライン曲線の制御点を再設定した点(衝突回避ガイド点)である。 The static obstacle So is modeled and represented by occupied voxels on a static map (on the grid of the occupancy map). Therefore, it is not possible to directly obtain the collision cost and gradient for optimization. Therefore, in this embodiment, the first optimization unit 431 uses a circle-based guide point algorithm to estimate the collision cost C static and gradient for the static obstacle So. The collision cost and gradient of the control point, which are optimization parameters, can be estimated using the guide point. Note that the guide point is a point (collision avoidance guide point) where the control point of the B-spline curve is reset on the collision avoidance path Rts that has been searched and determined to avoid the obstacle.

図24に示すように、第1最適化部431は、静的障害物Soに衝突する移動経路Rtpが与えられた場合、衝突制御点P ccpを特定する(ステップS111)。このとき、第1最適化部431は、例えば移動経路(衝突経路)Rtpを入力すると衝突制御点Pccpを特定する関数を用いる。その結果、第1最適化部431は、特定した複数の衝突制御点Pccpを関数の出力値として1つの衝突データセットScol={P ccp,P ccp,・・・P ccp}を取得する。 24 , when a travel path Rtp that collides with a static obstacle So is given, the first optimization unit 431 identifies collision control points P i ccp (step S111). At this time, the first optimization unit 431 uses, for example, a function that identifies collision control points P ccp when the travel path (collision path) Rtp is input. As a result, the first optimization unit 431 acquires one collision data set S col = {P 0 ccp , P 1 ccp , ... P n ccp } using the identified multiple collision control points P ccp as output values of the function.

次に、第1最適化部431は、衝突回避の経路探索を行う(ステップS112)。第1最適化部431は、A*やDijkstra等の所定の経路探索アルゴリズムを用いて、衝突しない移動経路(衝突回避経路)Rtsを探索する。 Next, the first optimization unit 431 performs a collision-avoidance route search (step S112). The first optimization unit 431 uses a predetermined route search algorithm such as A* or Dijkstra to search for a collision-free travel route (collision-avoidance route) Rts.

次に、第1最適化部431は、探索経路Rts上に新しい制御点の設定(衝突回避ガイド点の設定)を行う(ステップS113)。第1最適化部431は、衝突データセットScol内の各衝突制御点P ccpを、探索して決定した衝突回避経路Rtsの始点P swpと終点P swpとの接線(線分)LS上に投影する。 Next, the first optimization unit 431 sets new control points (sets collision avoidance guide points) on the searched route Rts (step S113). The first optimization unit 431 projects each collision control point P i ccp in the collision dataset S col onto a tangent (line segment) LS between the start point P S swp and end point P E swp of the collision avoidance route Rts determined by the search.

第1最適化部431は、投影された点を用いて、(0,π)からの方向角度θdirectを計算し、投影点と角度の組を用いて、探索して決定した衝突回避経路Rts上に光線を投射する。この光線と探索して決定した衝突回避経路Rtsとの交点が、図25に示す交点P guideである。当該点は、衝突制御点P ccpのガイド点(制御点を衝突回避するために再設定した点)Pgpである。なお、図25に示すように、方向角度θdirectが半円を描くため、このアルゴリズムは円ベースである。 The first optimization unit 431 uses the projected point to calculate the direction angle θ direct from (0,π), and uses the pair of the projection point and angle to project a ray onto the collision avoidance path Rts determined by the search. The intersection of this ray and the collision avoidance path Rts determined by the search is the intersection point P i guide shown in FIG. 25. This point is the guide point P gp (a point reset to avoid collision of the control point) of the collision control point P i ccp . Note that, as shown in FIG. 25, the direction angle θ direct describes a semicircle, so this algorithm is circle-based.

次に、第1最適化部431は、静的障害物Soに対する衝突コストCstaticと勾配を計算する(ステップS114)。衝突制御点P ccpの衝突コストCstaticは、取得したガイド点P guideと、予め設定しておいた安全距離dsafeと、を用いて下記式で定義できる。
Next, the first optimization unit 431 calculates the collision cost C static and gradient for the static obstacle So (step S114). The collision cost C static of the collision control point P i ccp can be defined by the following formula using the acquired guide point P i guide and a preset safety distance d safe .

ここで、符号付き距離(signDist関数の出力値)は、障害物の外側と内側との制御点として、正の距離と負の距離とを定義する。上記式は、3次関数を使用しており、符号付き距離(ガイド点と障害物との第1距離)が安全距離(衝突回避のために必要なUAV3と障害物との第2距離)dsafeより小さい制御点にペナルティを与える。第1最適化部431は、このようにして、各衝突制御点P ccpの勾配を、下記式に基づき連鎖規則に従って計算できる。
Here, the signed distance (output value of the signDist function) defines positive and negative distances as control points on the outside and inside of the obstacle. The above formula uses a cubic function, and penalizes control points whose signed distance (first distance between the guide point and the obstacle) is smaller than the safe distance d safe (second distance between the UAV 3 and the obstacle required to avoid collision). In this way, the first optimization unit 431 can calculate the gradient of each collision control point P i ccp according to the chain rule based on the following formula.

ここで、P^は、初期の衝突制御点P ccpである。負の勾配の方向は、衝突制御点P ccpを、障害物の存在領域から衝突回避領域へ押し出す方向である。 Here, P^ i is the initial collision control point P i ccp . The direction of the negative gradient is the direction in which the collision control point P i ccp is pushed out from the obstacle existence region into the collision avoidance region.

図25は、第1最適化部431が円ベースの上記ガイド点アルゴリズムを用いることにより、静止障害物Soを回避するために滑らかに旋回する最適化された移動経路Rtoを示している。このように、第1最適化部431は、B-スプライン曲線の最適化により、静的障害物Soを回避する移動経路Rtoを決定する。
また、第1最適化部431は、最適化処理の計算コストを低減するために(計算速度を向上させるために)、円ベースの上記ガイド点アルゴリズムを用いて、静的障害物Soに対する衝突コストCstaticと勾配を近似する。
25 shows an optimized movement path Rto that smoothly turns to avoid the stationary obstacle So by using the circle-based guide point algorithm described above by the first optimization unit 431. In this way, the first optimization unit 431 determines the movement path Rto that avoids the stationary obstacle So by optimizing the B-spline curve.
In addition, in order to reduce the calculation cost of the optimization process (to improve the calculation speed), the first optimization unit 431 uses the above-mentioned circle-based guide point algorithm to approximate the collision cost C static and gradient for the static obstacle So.

[動的障害物に対する衝突コスト計算]
図26は、本実施形態に係る動的障害物Doのパラメータの計算処理を示すフローチャートである。図27は、本実施形態に係る動的障害物Doに対する衝突コストCdynamicと勾配の計算手法の一例を示す図である。
[Collision Cost Calculation for Dynamic Obstacles]
Fig. 26 is a flowchart showing a process for calculating parameters of a moving obstacle Do according to this embodiment. Fig. 27 is a diagram showing an example of a method for calculating a collision cost C dynamic and a gradient for a moving obstacle Do according to this embodiment.

動的障害物Doは、静的障害物Soとは異なり、物体移動の観点から状態が変化し不確実である。そのため、現在取得されている動的障害物Doに関する検出・追跡・予測データのみを用いて移動経路Rtの最適化を行うことは、信頼性に欠ける。そこで、本実施形態では、第1最適化部431は、水平距離場を適用して、動的障害物Doに対する衝突コストと勾配を推定する。これは、将来の予測位置に基づき、移動位置の安全領域までの距離を評価する手法である。 Unlike static obstacles So, dynamic obstacles Do change state and are uncertain from the perspective of object movement. Therefore, optimizing the travel path Rt using only currently acquired detection, tracking, and prediction data for dynamic obstacles Do lacks reliability. Therefore, in this embodiment, the first optimization unit 431 applies a horizontal distance field to estimate the collision cost and gradient for dynamic obstacles Do. This is a method of evaluating the distance to the safe zone of the travel position based on the predicted future position.

図26に示すように、第1最適化部431は、動的障害物Doの予測位置を特定する(ステップS121)。図27には、水平距離場が示されている。より具体的には、図27には、動的障害物Doの現在位置Oから予測位置Oまで、安全距離rを線形に減少させている様子(r>r’)が示されている。第1最適化部431は、動的障害物Doの現在位置Oと速度Vとを考慮して、線形予測を用いて予測時間kの将来位置:{O,O,・・・O}を取得する。 As shown in Fig. 26, the first optimization unit 431 identifies the predicted position of the moving obstacle Do (step S121). Fig. 27 shows a horizontal distance field. More specifically, Fig. 27 shows the safe distance r being linearly reduced (r>r') from the current position O0 of the moving obstacle Do to the predicted position Ok . The first optimization unit 431 obtains the future position { O1 , O2 , ... Ok } at the predicted time k using linear prediction, taking into account the current position O0 and velocity V0 of the moving obstacle Do.

次に、第1最適化部431は、動的障害物Doの現在位置Oから予測位置Oまでの衝突領域R(衝突領域Rと衝突領域R)を設定する(ステップS122)。第1最適化部431は、水平距離場を構築するために、まず、現在位置Oを中心とする安全半径(安全距離)rの円を描く。これにより、第1最適化部431は、図27に波線で示す円形状の第1衝突領域Rを設定する。 Next, the first optimization unit 431 sets a collision region R (collision region RA and collision region RB ) from the current position O0 of the moving obstacle Do to the predicted position Ok (step S122). To construct a horizontal distance field, the first optimization unit 431 first draws a circle with a safety radius (safety distance) r centered at the current position O0 . In this way, the first optimization unit 431 sets a circular first collision region RA shown by a dotted line in FIG.

将来予測の信頼性は、予測位置Oに向かって現在位置Oから遠ざかるにつれて低くなる。そこで、第1最適化部431は、将来予測の信頼性の低さを考慮して、予測時間kとともに安全距離rがゼロになるように、現在位置Oから予測位置Oまで当該距離の値を線形に減少させる。これにより、第1最適化部431は、図27に波線で示す略円錐形の第2衝突領域Rを設定する。第1最適化部431は、円形の第1衝突領域Rと略円錐形の第2衝突領域Rとの異なる形状の2つの衝突領域Rを設定することにより、円筒形状の衝突領域(信頼性が低い予測位置であっても安全距離rを維持して導出した衝突領域)に比べて過度な回避行動の発生を防げる。第1最適化部431は、将来予測を考慮した移動経路Rtoを生成できる。 The reliability of future prediction decreases as the distance from the current position O0 to the predicted position Ok increases. Therefore, taking into account the low reliability of future prediction, the first optimization unit 431 linearly decreases the value of the distance from the current position O0 to the predicted position Ok so that the safe distance r becomes zero over the prediction time k. As a result, the first optimization unit 431 sets a substantially conical second collision region R1B , as indicated by the dotted line in FIG. 27 . By setting two collision regions R with different shapes, a circular first collision region R1A and a substantially conical second collision region R1B , the first optimization unit 431 can prevent excessive avoidance behavior compared to a cylindrical collision region (a collision region derived by maintaining the safe distance r even for a predicted position with low reliability). The first optimization unit 431 can generate a travel route Rto that takes future prediction into account.

第1最適化部431は、動的障害物Doに対する衝突コストを推定するために、上記異なる形状の2つの衝突領域Rそれぞれに応じて、移動位置の安全領域までの距離を計算する。 The first optimization unit 431 calculates the distance to the safe area of the moving position for each of the two differently shaped collision areas R to estimate the collision cost with the moving obstacle Do.

第1最適化部431は、円形の第1衝突領域R及び略円錐形の第2衝突領域Rにおける移動位置の安全領域までの距離を計算する(ステップS123)。図27に示すように、動的障害物Doの衝突制御点P ccp(Pi,c)は、円弧ACB,線分(第1及び第2線分)AO,BOで囲まれた円形の第1衝突領域R内に存在する。よって、安全領域までの距離(衝突制御点から安全領域までの第3距離)Δdは下記式で定義できる。
また、図27に示すように、動的障害物Doの衝突制御点P ccp(Pi,p)は、線分(第1及び第2線分)AO,BOと、線分(第3及び第4線分)AO,BOと、で囲まれた略円錐形の第2衝突領域R内に存在する。線分BOに対して垂直方向の直線であって、線分O上の交点O’を通る直線は、制御点Pi,pを通る直線である。よって、安全領域までの距離Δdは下記式で定義できる。
The first optimization unit 431 calculates the distance to the safety area of the moving position in the circular first collision area RA and the approximately conical second collision area RB (step S123). As shown in Fig. 27, the collision control point P1ccp (Pi ,c ) of the moving obstacle Do is located within the circular first collision area RA surrounded by the arc ACB and the line segments (first and second line segments) AO0 and BO0 . Therefore, the distance to the safety area (third distance from the collision control point to the safety area) Δd i can be defined by the following equation.
27, the collision control point P 7 ccp (P i,p ) of the moving obstacle Do exists within the second collision area R B , which is a substantially conical area surrounded by the line segments (first and second line segments) AO 0 and BO 0 and the line segments (third and fourth line segments) AO k and BO k . A straight line perpendicular to the line segment BO k and passing through the intersection O' on the line segment O 0 O k is a straight line passing through the control point P i,p . Therefore, the distance Δd i to the safety area can be defined by the following equation.

次に、第1最適化部431は、動的障害物Doに対する衝突コストCdynamicと勾配を計算する(ステップS124)。衝突制御点P ccpの衝突コストCdynamicは、安全領域までの距離Δdを用いて下記式で定義できる。
そして、各衝突制御点P ccpの勾配は、上記(19),(20)に示す式とともに連鎖規則に従って計算できる。
Next, the first optimization unit 431 calculates the collision cost C dynamic and gradient for the dynamic obstacle Do (step S124). The collision cost C dynamic of the collision control point P i ccp can be defined by the following equation using the distance Δd i to the safety area.
Then, the gradient of each collision control point P i ccp can be calculated according to the chain rule together with the equations (19) and (20) above.

このように、第1最適化部431は、動的障害物Doの現在位置Oを中心とする安全半径rを安全距離とする円形状の第1衝突領域Rを設定する。また、第1最適化部431は、将来予測の信頼性の低さを考慮して、予測時間kとともに安全距離rがゼロになるように、現在位置Oから予測位置Oまで当該距離の値を線形に減少させる。第1最適化部431は、このような水平距離場を適用して、動的障害物Doに対する衝突コストと勾配を推定し、B-スプライン曲線の最適化により、動的障害物Doを回避する移動経路Rtoを決定する。 In this way, the first optimization unit 431 sets a circular first collision area RA with a safety radius r as the safety distance centered on the current position O0 of the moving obstacle Do. Furthermore, taking into account the low reliability of future predictions, the first optimization unit 431 linearly decreases the value of the distance from the current position O0 to the predicted position Ok so that the safety distance r becomes zero with the prediction time k. The first optimization unit 431 applies such a horizontal distance field to estimate the collision cost and gradient for the moving obstacle Do, and determines a travel route Rto that avoids the moving obstacle Do by optimizing a B-spline curve.

[繰り返しの最適化]
目的コスト関数Ctotal(S)の最小化問題には制約がなく、複数の目的が含まれている。そのため、本問題を一度解いただけでは、UAV3の移動経路Rtの安全性は保証されない可能性がある。そこで、本実施形態では、第2最適化部432は、移動経路Rtの全体が検出障害物と衝突しなくなるまで、障害物を回避するために探索して決定した衝突回避経路Rts上に、B-スプライン曲線の制御点Pを再設定し、本問題を繰り返し解く。
[Iterative optimization]
The minimization problem of the objective cost function C total (S) is unconstrained and includes multiple objectives. Therefore, solving this problem only once may not guarantee the safety of the movement route Rt of the UAV 3. Therefore, in this embodiment, the second optimization unit 432 repeatedly solves this problem by resetting the control points P i of the B-spline curve on the collision avoidance route Rts that was searched and determined to avoid the obstacle, until the entire movement route Rt no longer collides with the detected obstacle.

静的障害物Soに対する衝突コストCstaticと、動的障害物Doに対する衝突コストCdynamicと、は、第1最適化部431が衝突回避経路Rtoを決定するのに役立つ。しかしながら、発明者等の鋭意検討によれば、下記理由によりUAV3の移動経路Rtの安全性に影響することが分かった。 The collision cost C static with the static obstacle So and the collision cost C dynamic with the dynamic obstacle Do are useful for the first optimization unit 431 to determine the collision avoidance route R to. However, through careful study by the inventors, it has been found that this affects the safety of the movement route R to of the UAV 3 for the following reasons.

第1の理由は、上記(13)に示す各衝突コストCstatic,Cdynamicの重みαstatic,αdynamicの値が十分に大きくない場合、移動経路Rtの安全性に影響することが分かった。この場合、第2最適化部432は、予め設定しておいた膨張係数λを用いて、重みαstatic,αdynamicの値を増加する。 The first reason is that it has been found that if the values of the weights α static and α dynamic of the collision costs C static and C dynamic shown in (13) above are not sufficiently large, it affects the safety of the travel route Rt. In this case, the second optimization unit 432 increases the values of the weights α static and α dynamic using a preset expansion coefficient λ.

第2の理由は、目的コスト関数Ctotal(S)の最小化問題を解くにあたり、最適化後に制御点Pが、新しい障害物に向かって押し出される可能性があり、これまでに計算した衝突コストと勾配が無効となる。この場合、移動経路Rtの安全性に影響することが分かった。そのため、最適化後の制御点Pを、再び障害物を回避するように再設定する必要がある。そのため、第2最適化部432は、新しい制御点を設定する処理を行う。よって、第2最適化部432は、繰り返し処理を行い、その都度、再設定を必要とする制御点Pが存在するか否かを確認し、該当制御点Pを新しい制御点に再設定する。第2最適化部432は、移動経路Rtの全体が検出障害物と衝突しなくなるまで上記処理を繰り返し実行する。 The second reason is that when solving the minimization problem of the objective cost function C total (S), there is a possibility that the control point P i may be pushed toward a new obstacle after optimization, invalidating the collision cost and gradient calculated up to that point. It has been found that this affects the safety of the travel path Rt. Therefore, the control point P i after optimization must be reset to avoid the obstacle again. Therefore, the second optimization unit 432 performs a process of setting a new control point. Therefore, the second optimization unit 432 repeatedly performs the process, checking each time whether there is a control point P i that needs to be reset, and resetting the corresponding control point P i to a new control point. The second optimization unit 432 repeatedly performs the above process until the entire travel path Rt no longer collides with detected obstacles.

図28は、本実施形態に係る移動経路Rtの繰り返し最適化処理を示すフローチャートである。図28に示すように、第2最適化部432は、最適化後の制御点Pを設定し直す必要があるか否かを判定する(ステップS131)。第2最適化部432は、制御点Pの再設定が必要と判定した場合(ステップS131:YES)、新たな制御点を設定する(ステップS132)。このとき、第2最適化部432は、衝突しない移動経路(衝突回避経路)Rtsを再び探索し、探索経路Rts上に新しい制御点の設定(衝突回避ガイド点の設定)を行う。次に、第2最適化部432は、目的コスト関数Ctotal(S)を更新する(ステップS133)。このとき、第2最適化部432は、再設定された制御点Pに基づき、経路の制御限界コストCcontrol、経路の滑らかさコストCsmooth、静的障害物Soに対する衝突コストCstatic、及び動的障害物Doに対する衝突コストCdynamicを計算する。次に、第2最適化部432は、移動経路Rtを更新する(ステップS134)。このとき、第2最適化部432は、目的コスト関数Ctotal(S)の最小化問題を再び解き、移動経路Rtを最適化した移動経路Rtoに更新する。次に、第2最適化部432は、障害物パラメータを検証する(ステップS135)。このとき、第2最適化部432は、静的障害物Soに対する衝突コストCstatic及び動的障害物Doに対する衝突コストCdynamicが最小化されているかを検証する。 FIG. 28 is a flowchart showing the iterative optimization process for the travel path Rt according to this embodiment. As shown in FIG. 28 , the second optimization unit 432 determines whether or not it is necessary to reset the control point P i after optimization (step S131). If the second optimization unit 432 determines that it is necessary to reset the control point P i (step S131: YES), it sets a new control point (step S132). At this time, the second optimization unit 432 again searches for a collision-free travel path (collision avoidance path) Rts and sets a new control point (sets a collision avoidance guide point) on the searched path Rts. Next, the second optimization unit 432 updates the objective cost function C total (S) (step S133). At this time, the second optimization unit 432 calculates the control limit cost C control of the path, the smoothness cost C smooth of the path, the collision cost C static with the static obstacle So, and the collision cost C dynamic with the dynamic obstacle Do based on the reset control point Pi. Next, the second optimization unit 432 updates the movement path Rt (step S134). At this time, the second optimization unit 432 again solves the minimization problem of the objective cost function C total (S) and updates the movement path Rt to the optimized movement path Rto. Next, the second optimization unit 432 verifies the obstacle parameters (step S135). At this time, the second optimization unit 432 verifies whether the collision cost C static with the static obstacle So and the collision cost C dynamic with the dynamic obstacle Do are minimized.

一方、第2最適化部432は、制御点Pの再設定が必要ないと判定した場合(ステップS131:NO)、各衝突コストCstatic,Cdynamicの重みαstatic,αdynamicの値が所定値以下か否かを判定する(ステップS136)。第2最適化部432は、各衝突コストCstatic,Cdynamicの重みαstatic,αdynamicの値が所定値以下と判定した場合(ステップS136:YES)、重みαstatic,αdynamicの値を更新する(ステップS137)。このとき、第2最適化部432は、予め設定しておいた膨張係数λを重みαstatic,αdynamicの値に乗算することにより、重みαstatic,αdynamicの値を増加する。その後、第2最適化部432は、ステップS133の処理に進む。 On the other hand, if the second optimization unit 432 determines that resetting of the control point P i is not necessary (step S131: NO), it determines whether the values of the weights α static and α dynamic of each collision cost C static and C dynamic are equal to or less than a predetermined value (step S136). If the second optimization unit 432 determines that the values of the weights α static and α dynamic of each collision cost C static and C dynamic are equal to or less than a predetermined value (step S136: YES), it updates the values of the weights α static and α dynamic (step S137). At this time, the second optimization unit 432 increases the values of the weights α static and α dynamic by multiplying the values of the weights α static and α dynamic by a preset expansion coefficient λ. Thereafter, the second optimization unit 432 proceeds to the process of step S133.

上述したように、第2最適化部432は、最適化後の制御点Pを設定し直す必要がある場合、移動経路Rtの全体が検出障害物と衝突しなくなるまで、次の処理を行う。第2最適化部432は、障害物を回避するために探索して決定した衝突回避経路Rts上に、B-スプライン曲線の制御点Pを再設定し、目的コスト関数Ctotal(S)の最小化問題を繰り返し解く。これにより、第2最適化部432は、時間経過とともに周辺環境が変化する動的環境に応じた最適な移動経路Rtoをリアルタイムに決定する。よって、UAV3は、移動予測が難しい動的障害物Doを回避する。 As described above, if it is necessary to reset the optimized control points P i , the second optimization unit 432 performs the following processing until the entire travel route Rt does not collide with the detected obstacle. The second optimization unit 432 resets the control points P i of the B-spline curve on the collision avoidance route Rts determined by searching for obstacle avoidance, and iteratively solves the minimization problem of the objective cost function C total (S). In this way, the second optimization unit 432 determines in real time the optimal travel route Rto according to the dynamic environment in which the surrounding environment changes over time. Therefore, the UAV3 avoids the dynamic obstacle Do, whose movement is difficult to predict.

以上のように、移動経路決定部430は、B-スプライン曲線で描画した移動経路Rt上に障害物が存在すると、最適化パラメータを計算する。このとき、移動経路決定部430は、大まかな経路又は目標位置が与えられたとき、移動経路RtをB-スプライン曲線の制御点Pの集合Sとしてパラメータ化する。移動経路決定部430は、最適化パラメータとして集合Sを用いる。そのため、移動経路決定部430は、経路の制御限界コストCcontrol、経路の滑らかさコストCsmooth、静的障害物Soに対する衝突コストCstatic、及び動的障害物Doに対する衝突コストCdynamicが最適化のために重み付けされて組み合わせられた目的コスト関数Ctotal(S)の最小化問題を解く。これにより、移動経路決定部430は、静的障害物So及び動的障害物Doを回避する最適な移動経路(衝突回避経路)Rtoを決定する。さらに、移動経路決定部430は、移動経路Rtの全体が検出障害物と衝突しなくなるまで、障害物を回避するために探索して決定した衝突回避経路Rts上に、B-スプライン曲線の制御点Pを再設定する。移動経路決定部430は、目的コスト関数Ctotal(S)の最小化問題を繰り返し解く。これにより、UAV3は、前方に位置する静的障害物So及び動的障害物Doを回避し目的位置に向かう最適な移動経路Rtをリアルタイムに計算する。このとき、UAV3は、移動予測が難しい動的障害物Doを回避するために、上記Bスプライン曲線最適化アルゴリズムを用いることにより、移動経路Rtの最適化にかかる計算コストを低減できる(計算速度が向上する)。さらに、UAV3は、最適化を繰り返すことにより、時間経過とともに周辺環境が変化する動的環境であっても、静的障害物So及び動的障害物Doを回避しながら、安全性の高い移動経路Rtに従って自律移動できる。また、UAV3は、最適化を繰り返し実行することにより、経路計画を決定するリアルタイム計算を適切な計算時間で実行する。よって、UAV3は、リソースが限られた計算環境であっても、移動予測が難しい動的障害物Doを回避できる。 As described above, when an obstacle is present on the movement path Rt drawn using a B-spline curve, the movement path determination unit 430 calculates optimization parameters. At this time, when a rough path or a target position is given, the movement path determination unit 430 parameterizes the movement path Rt as a set S of control points P i of the B-spline curve. The movement path determination unit 430 uses the set S as the optimization parameters. Therefore, the movement path determination unit 430 solves the minimization problem of the objective cost function C total (S), which is a combination of the control limit cost C control of the path, the smoothness cost C smooth of the path, the collision cost C static with the static obstacle So, and the collision cost C dynamic with the dynamic obstacle Do, all weighted for optimization. As a result, the movement path determination unit 430 determines an optimal movement path (collision avoidance path) Rto that avoids the static obstacle So and the dynamic obstacle Do. Furthermore, the travel path determination unit 430 resets the control points P i of the B-spline curve on the collision avoidance path Rts determined by searching for obstacle avoidance until the entire travel path Rt does not collide with the detected obstacle. The travel path determination unit 430 repeatedly solves the minimization problem of the objective cost function C total (S). As a result, the UAV 3 calculates in real time an optimal travel path Rt that avoids static obstacles So and dynamic obstacles Do located ahead and heads toward the destination position. At this time, the UAV 3 uses the above-mentioned B-spline curve optimization algorithm to avoid dynamic obstacles Do, whose movement is difficult to predict, thereby reducing the calculation cost required for optimizing the travel path Rt (improving calculation speed). Furthermore, by repeating the optimization, the UAV 3 can autonomously travel along a highly safe travel path Rt while avoiding static obstacles So and dynamic obstacles Do, even in a dynamic environment where the surrounding environment changes over time. Furthermore, the UAV 3 performs real-time calculations to determine a path plan in an appropriate calculation time by repeatedly performing optimization, so that the UAV 3 can avoid a dynamic obstacle Do whose movement is difficult to predict, even in a resource-limited calculation environment.

[効果]
以上詳述したように、本実施形態に係る計測システム1では、以下の効果が得られる。当該システム1に含まれるUAV3は、自律移動制御を行う拡張装置4を備える。拡張装置4は、自律飛行制御装置40と、検出装置41と、計測装置42と、を備える。検出装置41は、検出物体までの距離をリアルタイムに検出する深度カメラである。自律飛行制御装置40は、検出装置41からの入力信号(検出結果)に基づき、障害物を回避する移動経路Rtをリアルタイムに計算し決定する。自律飛行制御装置40は、計算結果(決定した移動経路Rt)に従って、飛行制御装置30に制御信号(駆動命令)を出力する。自律飛行制御装置40は、計測位置に到着後に、所定の計測経路に従って、飛行制御装置30に制御信号(駆動命令)を出力する。その結果、計測装置42は、計測経路を飛行している間に、掘削形状の計測を行う。
[effect]
As described above in detail, the measurement system 1 according to this embodiment provides the following advantages. The UAV 3 included in the system 1 includes an expansion device 4 that performs autonomous movement control. The expansion device 4 includes an autonomous flight control device 40, a detection device 41, and a measurement device 42. The detection device 41 is a depth camera that detects the distance to a detected object in real time. The autonomous flight control device 40 calculates and determines a movement path Rt that avoids obstacles in real time based on an input signal (detection result) from the detection device 41. The autonomous flight control device 40 outputs a control signal (drive command) to the flight control device 30 according to the calculation result (determined movement path Rt). After arriving at the measurement position, the autonomous flight control device 40 outputs a control signal (drive command) to the flight control device 30 according to the predetermined measurement path. As a result, the measurement device 42 measures the excavation shape while flying along the measurement path.

本実施形態に係る計測システム1によれば、UAV3は、自律移動が困難な環境下であっても、周辺の障害物を回避しながら自律移動を行い、目的の計測作業を実施できる。よって、本実施形態に係る計測システム1では、トンネル坑内の切羽近傍の確認作業において、作業員による掘削形状の計測作業の代替手段としてUAV3を有効利用できる。そのため、作業員は危険区域である切羽近傍に立ち入らなくてもよい。よって、作業員の安全を確保でき、掘削現場の災害を防げる(切羽近傍の確認作業の安全性を向上させられる)。さらに、UAV3は、端末装置2を介して、操作者Opに対し掘削不足箇所を認知させる。よって、本実施形態に係る計測システム1では、作業の安全性の向上だけでなく、生産性、施工精度も向上させられる。 According to the measurement system 1 of this embodiment, the UAV 3 can autonomously move while avoiding surrounding obstacles, even in environments where autonomous movement is difficult, and perform the intended measurement work. Therefore, with the measurement system 1 of this embodiment, the UAV 3 can be effectively used as an alternative to workers measuring the excavation shape during inspection work near the tunnel face inside the tunnel. This means that workers do not need to enter the dangerous area near the face. This ensures the safety of workers and prevents accidents at the excavation site (improving the safety of inspection work near the face). Furthermore, the UAV 3 notifies the operator Op of areas where excavation is insufficient via the terminal device 2. Therefore, the measurement system 1 of this embodiment not only improves work safety, but also productivity and construction accuracy.

また、自律飛行制御装置40は、深度カメラ41の深度画像を用いて、計測現場の三次元空間地図データをリアルタイムに生成・更新する。具体的には、自律飛行制御装置40は、計測現場における静的障害物Soや動的障害物Doを識別し、動的障害物Doの動きを追跡・予測することが可能な視覚支援空間地図データMapを生成する。さらに、自律飛行制御装置40は、UAV3の周辺環境の変化に応じて視覚支援空間地図データMapをリアルタイムで更新する。 The autonomous flight control device 40 also generates and updates three-dimensional spatial map data of the measurement site in real time using depth images from the depth camera 41. Specifically, the autonomous flight control device 40 generates visual support spatial map data Map that can identify static obstacles So and dynamic obstacles Do at the measurement site and track and predict the movement of the dynamic obstacles Do. Furthermore, the autonomous flight control device 40 updates the visual support spatial map data Map in real time in response to changes in the surrounding environment of the UAV 3.

このように、自律飛行制御装置40は、計測現場の三次元空間地図データをリアルタイムに生成・更新できる。よって、UAV3は、外部との通信環境が著しく悪く空間内における自己位置Cpを認識しづらい環境下であっても、視覚支援空間地図データMapを用いることにより、周辺環境の最新状態をリアルタイムに認識することができる。そのため、UAV3は、周辺環境の今後の状態変化(動的障害物Doの動き)を考慮して移動経路Rtを最適化することができる。 In this way, the autonomous flight control device 40 can generate and update three-dimensional spatial map data of the measurement site in real time. Therefore, even in an environment where the communication environment with the outside world is extremely poor and it is difficult to recognize the UAV3's own position Cp within space, the UAV3 can recognize the latest state of the surrounding environment in real time by using the visual support spatial map data Map. As a result, the UAV3 can optimize its travel route Rt by taking into account future changes in the state of the surrounding environment (movement of dynamic obstacles Do).

また、自律飛行制御装置40は、最新の視覚支援空間地図データMapを用いて、前方に位置する静的障害物So及び動的障害物Doを回避し目的位置に向かう最適な移動経路Rtをリアルタイムに計算する。具体的には、自律飛行制御装置40は、Bスプライン曲線最適化アルゴリズムを用いて、B-スプライン曲線の制御点Pの集合Sを最適化パラメータとする、少なくとも障害物に対する衝突コストCを含む目的コスト関数をCtotal(S)の最小化問題を解く。これにより、自律飛行制御装置40は、静的障害物So及び動的障害物Doを回避する最適な移動経路(衝突回避経路)Rtoを決定する。さらに、自律飛行制御装置40は、移動経路Rtの全体が検出障害物と衝突しなくなるまで、障害物を回避するために探索して決定した衝突回避経路Rts上に、B-スプライン曲線の制御点Pを再設定する。自律飛行制御装置40は、目的コスト関数Ctotal(S)の最小化問題を繰り返し解く。これにより、UAV3は、前方に位置する静的障害物So及び動的障害物Doを回避し目的位置に向かう最適な移動経路Rtをリアルタイムに計算する。 Furthermore, the autonomous flight control device 40 uses the latest visual support spatial map data Map to calculate in real time an optimal movement path Rt that avoids static obstacles So and dynamic obstacles Do located ahead and heads toward the destination position. Specifically, the autonomous flight control device 40 uses a B-spline curve optimization algorithm to solve the minimization problem of an objective cost function C total (S) that includes at least a collision cost C with the obstacles, with a set S of control points Pi of the B-spline curve as an optimization parameter. In this way, the autonomous flight control device 40 determines an optimal movement path (collision avoidance path) Rto that avoids the static obstacles So and dynamic obstacles Do. Furthermore, the autonomous flight control device 40 resets the control points Pi of the B-spline curve on the collision avoidance path Rts that has been searched and determined to avoid the obstacles, until the entire movement path Rt no longer collides with the detected obstacles. The autonomous flight control device 40 iteratively solves the minimization problem of the objective cost function C total (S). As a result, the UAV 3 calculates in real time the optimal movement route Rt to the destination position while avoiding the static obstacles So and dynamic obstacles Do located ahead.

UAV3は、移動予測が難しい動的障害物Doを回避するために、上記Bスプライン曲線最適化アルゴリズムを用いることにより、移動経路Rtの最適化にかかる計算コストを低減できる(計算速度が向上する)。さらに、UAV3は、最適化を繰り返すことにより、時間経過とともに周辺環境が変化する動的環境であっても、静的障害物So及び動的障害物Doを回避しながら、安全性の高い移動経路Rtに従って自律移動できる。また、UAV3は、最適化を繰り返し実行することにより、経路計画を決定するリアルタイム計算を適切な計算時間で実行する。よって、UAV3は、リソースが限られた計算環境であっても、移動予測が難しい動的障害物Doを回避できる。 By using the above-mentioned B-spline curve optimization algorithm to avoid dynamic obstacles Do, whose movements are difficult to predict, the UAV3 can reduce the calculation cost required to optimize the movement route Rt (improving calculation speed). Furthermore, by repeating optimization, the UAV3 can autonomously move along a highly safe movement route Rt while avoiding static obstacles So and dynamic obstacles Do, even in a dynamic environment where the surrounding environment changes over time. Furthermore, by repeatedly performing optimization, the UAV3 can perform real-time calculations to determine the path plan within an appropriate calculation time. Therefore, the UAV3 can avoid dynamic obstacles Do, whose movements are difficult to predict, even in a computational environment with limited resources.

[変形例]
上記実施形態では、目的コスト関数Ctotal(S)の最小化問題を制約なし最適化問題として数理モデル化している。この数理モデルについては、問題の定義に応じて適切な解決手法を特定することによって決定されればよく、本発明の技術は特定の数理モデルに限定されない。
[Modification]
In the above embodiment, the minimization problem of the objective cost function C total (S) is mathematically modeled as an unconstrained optimization problem. This mathematical model can be determined by specifying an appropriate solution method according to the definition of the problem, and the technology of the present invention is not limited to a specific mathematical model.

上記実施形態では、UAV3は、周辺環境の最新状態をリアルタイムに認識し、周辺環境の今後の状態変化(動的障害物Doの動き)を考慮して移動経路Rtを最適化するように構成されている。さらに、UAV3は、移動経路Rtの全体が検出障害物と衝突しなくなるまで上記最適化処理を繰り返し実行するように構成されている。しかしながら、上記構成であっても、拡張装置4の計算リソースの制限もあり、UAV3は、障害物を回避するための最適な移動経路Rtoを計算できない場合が考えられる。このような場合には、次のような変形実施例が考えられる。UAV3の周辺状況は時間とともに変化する。よって、周辺状況が変化すれば、障害物を回避するための最適な移動経路Rtoの計算条件も変化する。この点に鑑みて、例えばUAV3は、最適化の計算に失敗した場合、その場での着陸を試みる。UAV3は、所定の時間が経過した後に再び離陸し、検出装置41の検出結果に基づいて視覚支援空間地図データMapを更新し、さらに、移動経路Rtの最適化を実行する。これにより、UAV3は、計算に失敗した場合であっても、再度、最適な移動経路Rtoを計算する。よって、UAV3は、目的の計測作業の実施率を向上させられる。 In the above embodiment, the UAV 3 is configured to recognize the latest state of the surrounding environment in real time and optimize the travel route Rt taking into account future changes in the surrounding environment (movement of the dynamic obstacle Do). Furthermore, the UAV 3 is configured to repeatedly execute the optimization process until the entire travel route Rt is free of collisions with detected obstacles. However, even with the above configuration, there are limitations on the computational resources of the expansion device 4, and the UAV 3 may not be able to calculate the optimal travel route Rt for obstacle avoidance. In such cases, the following modified embodiment is possible. The surrounding conditions of the UAV 3 change over time. Therefore, as the surrounding conditions change, the calculation conditions for the optimal travel route Rt for obstacle avoidance also change. In light of this, for example, if the optimization calculation fails, the UAV 3 attempts to land on the spot. The UAV 3 takes off again after a predetermined time has elapsed, updates the visual support spatial map data Map based on the detection results of the detection device 41, and further optimizes the travel route Rt. As a result, even if the calculation fails, the UAV3 will recalculate the optimal movement route Rto. This allows the UAV3 to improve the rate at which the intended measurement work is carried out.

上記実施形態では、作業車両Mは操作者Opの直接操作により駆動する例を示したが、本発明の技術は、これに限定されない。例えば作業車両Mは、車両周辺のセンシングデータ、作業計画データ、及び設計モデルデータ等に基づき、自律駆動する構成であってもよい。この場合、UAV3は、作業車両Mとデータ通信を行えるため、計測に基づく解析データを作業車両Mに送信する。その結果、作業車両Mは、受信した解析データと設計モデルデータとに基づいて、設計上の基準形状に対する実際の掘削形状の差分(掘削不足)を認識する。その結果、作業車両Mは、認識した掘削不足箇所に対して、再び、掘削を行う。その後、作業車両Mは、UAV3に対して掘削作業の終了通知を送信する。UAV3は、掘削作業の終了通知を受信すると、再び、計測作業を実施する。このように、作業車両Mが自律駆動する重機である場合、UAV3と当該車両とが無人環境で協働作業を実施することができる。このとき、管理者は、リモートカメラにより無人環境におけるUAV3と作業車両Mとを監視し、かつ、作業工程を管理すればよい。 While the above embodiment illustrates an example in which the work vehicle M is driven by direct operation of the operator Op, the technology of the present invention is not limited to this. For example, the work vehicle M may be configured to drive autonomously based on sensing data from around the vehicle, work plan data, design model data, etc. In this case, the UAV3 can communicate with the work vehicle M and transmit analysis data based on measurements to the work vehicle M. As a result, the work vehicle M recognizes the difference (insufficient excavation) between the actual excavation shape and the design reference shape based on the received analysis data and design model data. As a result, the work vehicle M excavates again in the identified insufficient excavation area. The work vehicle M then transmits a notification of the completion of excavation work to the UAV3. Upon receiving the notification of the completion of excavation work, the UAV3 performs measurement work again. In this way, when the work vehicle M is an autonomously driven heavy machinery, the UAV3 and the work vehicle M can work together in an unmanned environment. In this case, the manager can monitor the UAV3 and work vehicle M in the unmanned environment using a remote camera and manage the work process.

上記実施形態では、マルチコプター(回転翼機)を一例にUAV3の説明を行ったが、本発明の技術はこれに限定されない。UAV3には、固定翼機や飛行船型の飛行体等が含まれる。また、移動体としては、地上領域や上空領域を移動可能な車両や航空機等だけでなく、水上領域や水中領域を移動可能な船舶や潜水艦等も一例として挙げられる。なお、これらの移動体については、適用する作業目的や環境に応じて適切に選択することが望ましい。例えば、水中におけるトンネル掘削作業では、無人航空機に代わり無人潜水艦を用いればよい。 In the above embodiment, a UAV3 was described using a multicopter (rotor-based aircraft) as an example, but the technology of the present invention is not limited to this. UAV3 includes fixed-wing aircraft and airship-type aircraft. Examples of mobile objects include not only vehicles and aircraft capable of moving on land or in the air, but also ships and submarines capable of moving on water or underwater. It is desirable to select these mobile objects appropriately depending on the work purpose and environment to which they are applied. For example, when performing underwater tunnel excavation work, an unmanned submarine can be used instead of an unmanned aircraft.

上記実施形態では、移動体を用いた計測システム1をトンネル坑内の切羽近傍の確認作業に適用する例を挙げたが、本発明の技術は、これに限定されない。本発明の技術は、少なくとも1つの移動体を用いて実施可能な作業であれば適用できる。さらに、本発明の技術は、作業現場の安全確保、生産性向上、及び/又は施工精度向上を目的とし、人的作業の代替手段として有効である。 In the above embodiment, an example was given in which the measurement system 1 using a mobile object was applied to inspection work near the tunnel face inside the tunnel, but the technology of the present invention is not limited to this. The technology of the present invention can be applied to any work that can be performed using at least one mobile object. Furthermore, the technology of the present invention aims to ensure safety at the work site, improve productivity, and/or improve construction accuracy, and is effective as an alternative to manual work.

1:計測システム,2:端末装置,3:UAV(無人航空機),4:拡張装置;
301:駆動制御部;
401:自律移動制御部;
410:記憶部,411:履歴データ,412:地図データ,413:パラメータデータ;
420:地図データ生成部,421:領域提案部,422:障害物識別部;
430:移動経路決定部,431:第1最適化部(B-スプライン曲線最適化部),432:第2最適化部(繰り返し最適化部);
100:コンピュータシステム,101:プロセッサ,102:メモリ,103:ストレージ,104:インタフェース。
Map:視覚支援空間地図データ,So;静的障害物,Do:動的障害物,Rt:移動経路。
1: Measurement system, 2: Terminal device, 3: UAV (unmanned aerial vehicle), 4: Expansion device;
301: Drive control unit;
401: Autonomous movement control unit;
410: Storage unit, 411: History data, 412: Map data, 413: Parameter data;
420: map data generation unit, 421: area proposal unit, 422: obstacle identification unit;
430: movement path determination unit, 431: first optimization unit (B-spline curve optimization unit), 432: second optimization unit (iterative optimization unit);
100: Computer system, 101: Processor, 102: Memory, 103: Storage, 104: Interface.
Map: visual support spatial map data, So: static obstacles, Do: dynamic obstacles, Rt: travel route.

Claims (13)

外部との通信によって自己位置を推定できない環境下において、自律移動を行い所定の計測作業を実施する移動体であって、
周辺に位置する物体を検出する検出部と、
機体制御を行うために駆動部を制御する駆動制御部と、
決定された移動経路に従って、計測開始位置に向かって前記自律移動するために前記駆動制御部を制御する自律移動制御部と、
所定の計測装置による計測結果を解析し解析結果を出力する計測解析部と、を有し、
前記自律移動制御部は、
前記移動体の移動方向に広がる空間を三次元空間にモデル化した三次元空間地図データであって、検出された前記物体の位置と、前記物体の大ききと、前記物体の移動速度を示す単位時間の前記位置の変化量と、を含む、前記三次元空間地図データを生成し、前記移動体が移動している間、前記三次元空間地図データを継続して更新する地図データ生成部と、
更新された前記三次元空間地図データに基づき、検出された前記物体のうち、静的物体及び動的物体を識別し、前記動的物体の動きを予測した結果に基づき、複数の多項式曲線を連結して1つの曲線とした移動経路を計算して、前記自律移動の前記移動経路として決定し、前記移動体が移動している間、前記静的物体及び前記動的物体を回避する前記移動経路を継続して計算する移動経路決定部と、を有し、
前記移動経路決定部は、
前記曲線の最適化により、前記静的物体及び前記動的物体を回避する前記移動経路を決定する最適化部を有し、
前記最適化部は、
前記多項式曲線の複数の制御点の集合を最適化パラメータとし、
少なくとも、前記移動体が前記静的物体に衝突する可能性を示す第1衝突コストと、前記移動体が前記動的物体に衝突する可能性を示す第2衝突コストと、に基づく目的コスト関数の最小化問題を定義した数理モデルを有し、
前記第1及び第2の各衝突コストを計算して前記数理モデルを解くことにより前記曲線を最適化し、前記移動経路を決定し、
前記最適化部は、
前記動的物体の現在位置から移動予測位置までの水平方向における一定距離の範囲に衝突領域を設定し、
前記衝突領域において、前記動的物体に対する前記移動経路の複数の前記制御点のうち衝突制御点を特定し、
前記衝突制御点から、前記動的物体に衝突しない安全領域までの第3距離を計算し、前記第3距離に基づき、前記第2衝突コストを計算し、
前記衝突領域は、
第1半径は、前記移動体と前記動的物体とが衝突しない安全距離であり、
前記動的物体の前記現在位置を中心とする前記第1半径の円弧と、前記円弧の2つの端点と前記中心とを結ぶ第1及び第2線分と、により定義される第1衝突領域と、
前記円弧の2つの端点と前記移動予測位置とを結ぶ第3及び第4線分と、前記第1及び第2線分と、により定義されており、前記現在位置から前記移動予測位置まで前記安全距離の値が減少するように設定されている第2衝突領域と、を含み、
前記最適化部は、
前記第1及び第2の各衝突領域において前記衝突制御点を特定し前記第3距離を計算する、移動体。
A mobile body that moves autonomously and performs a predetermined measurement task in an environment where its own position cannot be estimated by communication with the outside,
a detection unit that detects objects located in the vicinity;
a drive control unit that controls the drive unit to perform aircraft control;
an autonomous movement control unit that controls the drive control unit to autonomously move toward a measurement start position according to the determined movement path;
a measurement analysis unit that analyzes the measurement results obtained by a predetermined measurement device and outputs the analysis results;
The autonomous movement control unit
a map data generation unit that generates three-dimensional spatial map data that is a three-dimensional model of a space extending in the moving direction of the moving body, the three-dimensional spatial map data including the position of the detected object, the size of the object, and an amount of change in the position per unit time that indicates the moving speed of the object, and that continuously updates the three-dimensional spatial map data while the moving body is moving;
a movement path determination unit that identifies static objects and dynamic objects from among the detected objects based on the updated three-dimensional spatial map data, calculates a movement path by connecting a plurality of polynomial curves into one curve based on a result of predicting the movement of the dynamic objects, and determines the movement path as the movement path for the autonomous movement, and continuously calculates the movement path that avoids the static objects and the dynamic objects while the moving body is moving,
The travel route determination unit
an optimization unit that determines the movement path that avoids the static object and the dynamic object by optimizing the curve,
The optimization unit
a set of control points of the polynomial curve as optimization parameters;
a mathematical model that defines a minimization problem of an objective cost function based on at least a first collision cost indicating a possibility that the moving body will collide with the stationary object and a second collision cost indicating a possibility that the moving body will collide with the dynamic object;
calculating the first and second collision costs and solving the mathematical model to optimize the curve and determine the travel path;
The optimization unit
a collision area is set within a range of a certain distance in the horizontal direction from the current position of the dynamic object to the predicted movement position;
identifying a collision control point among the plurality of control points of the movement path for the dynamic object in the collision region;
Calculating a third distance from the collision control point to a safe area where the dynamic object does not collide with the collision control point, and calculating the second collision cost based on the third distance;
The collision area is
the first radius is a safe distance at which the moving body and the dynamic object do not collide with each other,
a first collision area defined by an arc of the first radius centered at the current position of the dynamic object, and first and second line segments connecting two end points of the arc to the center;
a second collision area defined by third and fourth line segments connecting two end points of the arc and the predicted movement position, and the first and second line segments, the second collision area being set so that the value of the safety distance decreases from the current position to the predicted movement position;
The optimization unit
A moving body that identifies the collision control point in each of the first and second collision regions and calculates the third distance.
前記三次元空間地図データは、
検出された前記物体のうち、前記静的物体がボクセル単位でモデル化された1又は複数の第1三次元オブジェクトのデータと、前記動的物体がバウンディングボックスでモデル化された1又は複数の第2三次元オブジェクトのデータと、を含み、前記第1及び第2の各三次元オブジェクトが、対応する前記物体の位置データに基づき、静的地図データである占有マップのグリッド上にマッピングされており、マッピングされた前記三次元オブジェクトが、前記移動体の移動方向に広がる前記空間における前記物体の存在領域を示しており、
前記検出部は、深度センサを含み、
前記地図データ生成部は、
前記深度センサから取得した深度値のヒストグラムに基づき、前記静的物体及び前記動的物体の前記位置及び大きさを特定し、前記第1及び第2の各三次元オブジェクトを生成する、請求項1に記載の移動体。
The three-dimensional spatial map data is
Among the detected objects, the static objects include data of one or more first three-dimensional objects modeled in voxel units, and the dynamic objects include data of one or more second three-dimensional objects modeled in bounding boxes, each of the first and second three-dimensional objects is mapped onto a grid of an occupancy map, which is static map data, based on position data of the corresponding object, and the mapped three-dimensional objects indicate the existence area of the object in the space extending in the direction of movement of the moving body,
the detection unit includes a depth sensor,
The map data generation unit
The moving body according to claim 1 , wherein the positions and sizes of the static object and the dynamic object are identified based on a histogram of depth values acquired from the depth sensor, and the first and second three-dimensional objects are generated.
前記地図データ生成部は、検出された前記物体の存在領域を示す領域提案部を有し、
前記領域提案部は、
前記三次元オブジェクトの大きさに所定の係数を乗算して前記三次元オブジェクトの前記大きさを三次元方向に拡張し、
拡張した前記三次元オブジェクトのうち、前記大きさが他の前記三次元オブジェクトの大きさよりも相対的に最も小さい前記三次元オブジェクトを、前記物体の前記存在領域として決定する、請求項2に記載の移動体。
the map data generation unit has an area proposal unit that indicates an area where the detected object exists,
The region proposal unit
multiplying the size of the three-dimensional object by a predetermined coefficient to expand the size of the three-dimensional object in a three-dimensional direction;
The moving body according to claim 2 , wherein the three-dimensional object whose size is relatively small compared to the sizes of the other three-dimensional objects among the expanded three-dimensional objects is determined as the existence region of the object.
前記地図データ生成部は、検出された前記物体が前記静的物体か前記動的物体かを識別する物体識別部を有し、
前記物体識別部は、
前記三次元空間地図データ内の時系列データに相当する地図フレームデータに対して、カルマンフィルタ処理を実行し、
検出された前記物体の前記移動速度を推定し、
推定した前記移動速度が所定値以上か否かを判定し、前記移動速度が前記所定値以上と判定された場合に、検出された前記物体を前記動的物体として識別する、請求項1に記載の移動体。
the map data generation unit has an object identification unit that identifies whether the detected object is a static object or a dynamic object,
The object identification unit
performing a Kalman filter process on map frame data corresponding to time-series data in the three-dimensional spatial map data;
Estimating the speed of movement of the detected object;
The moving body according to claim 1 , further comprising: determining whether the estimated moving speed is equal to or greater than a predetermined value; and identifying the detected object as the dynamic object when it is determined that the moving speed is equal to or greater than the predetermined value.
前記地図データ生成部は、検出された前記物体が前記静的物体か前記動的物体かを識別 する物体識別部を有し、
前記物体識別部は、
検出された前記物体の時系列の位置データを記録した移動履歴から、同一の前記物体における第1時刻の第1位置と、第2時刻の第2位置と、を特定し、特定した前記第1位置から前記第2位置までの間の第1変位ベクトルを計算し、
同一の前記物体における第3時刻の第3位置と、第4時刻の第4位置と、を特定し、前記第3位置から前記第4位置までの間の、前記第1変位ベクトルと交わる第2変位ベクトルを計算し、
前記第1変位ベクトルと前記第2変位ベクトルとの角度に基づき、前記物体が前記動的物体か否かを判定する、請求項1に記載の移動体。
the map data generating unit has an object identifying unit that identifies whether the detected object is the static object or the dynamic object,
The object identification unit
Identifying a first position at a first time and a second position at a second time of the same object from a movement history that records time-series position data of the detected object, and calculating a first displacement vector between the identified first position and the identified second position;
a third position at a third time and a fourth position at a fourth time for the same object are identified, and a second displacement vector that intersects with the first displacement vector between the third position and the fourth position is calculated;
The moving body according to claim 1 , wherein whether or not the object is a dynamic object is determined based on an angle between the first displacement vector and the second displacement vector.
前記地図データ生成部は、
前記三次元空間地図データの更新時に、前記占有マップの前記グリッド上にマッピングされた複数の前記第2三次元オブジェクトのうち、前記動的物体の過去の位置に基づき、対応する前記第2三次元オブジェクトを前記グリッド上から削除し、
削除した前記第2三次元オブジェクトのデータをハッシュテーブルに記録する、請求項2に記載の移動体。
The map data generation unit
When updating the three-dimensional spatial map data, among the plurality of second three-dimensional objects mapped on the grid of the occupancy map, delete the corresponding second three-dimensional object from the grid based on a past position of the dynamic object;
The moving body according to claim 2 , wherein data of the deleted second three-dimensional object is recorded in a hash table.
前記地図データ生成部は、前記動的物体の予測経路を決定する物体移動予測部を有し、
前記物体移動予測部は、
少なくとも左折経路、直進経路、及び右折経路の複数の経路候補のデータを含む経路ライブラリを取得し、
取得した前記経路ライブラリに含まれる前記複数の経路候補のうち、マルコフ連鎖に基づく各経路の確率分布を計算し、計算した前記確率分布から、最も可能性の高い経路を、前記動的物体の前記予測経路として決定する、請求項1に記載の移動体。
the map data generation unit includes an object movement prediction unit that determines a predicted path of the dynamic object;
The object movement prediction unit
Acquire a route library including data on a plurality of route candidates, including at least a left-turn route, a straight route, and a right-turn route;
The moving body according to claim 1, wherein a probability distribution based on a Markov chain is calculated for each of the plurality of route candidates included in the acquired route library, and the most likely route from the calculated probability distribution is determined as the predicted route of the dynamic object.
前記最適化部は、
前記静的物体に対する前記移動経路の複数の前記制御点のうち衝突制御点を特定し、
前記衝突制御点の始点と終点に基づき、前記静的物体に衝突しない衝突回避経路を探索し、
探索して決定した前記衝突回避経路上に、前記始点と前記終点以外の前記衝突制御点を再設定し、
再設定後の前記制御点と前記静的物体との第1距離と、衝突を回避するための前記移動体と前記静的物体との第2距離と、に基づき、前記第1衝突コストを計算する、請求項1に記載の移動体。
The optimization unit
identifying a collision control point among the plurality of control points of the movement path relative to the stationary object;
Searching for a collision avoidance path that does not collide with the stationary object based on the start point and end point of the collision control point;
resetting the collision control points other than the start point and the end point on the collision avoidance path determined by searching;
The moving body according to claim 1 , wherein the first collision cost is calculated based on a first distance between the control point and the static object after resetting and a second distance between the moving body and the static object for avoiding a collision.
前記最適化部は、
前回最適化後の前記制御点を再設定するか否かを判定し、再設定すると判定した場合に、前記制御点を再設定し、
再設定した前記制御点に基づき、前記曲線を最適化し、前記移動経路を再び決定し、
前記移動経路の全体が前記静的物体及び前記動的物体と衝突しなくなるまで、前記曲線の最適化を繰り返し行う、請求項1に記載の移動体。
The optimization unit
determining whether or not to reset the control points after the previous optimization, and resetting the control points if it is determined that the control points should be reset;
Optimizing the curve based on the reset control points and determining the movement path again;
The moving body according to claim 1 , wherein the optimization of the curve is repeated until the entire moving path does not collide with the static object and the dynamic object.
前記最適化部は、
前回最適化後の前記制御点を再設定するか否かを判定し、再設定しないと判定した場合に、前記第1及び第2の各衝突コストの重み係数が所定値以下か否かを判定し、前記重み係数が所定値以下と判定した場合に、前記重み係数に所定の係数を乗算して前記重み係数の値を増加し、増加した前記重み係数を用いて、前記第1及び第2の各衝突コストに基づく前記目的コスト関数を更新する、請求項1に記載の移動体。
The optimization unit
2. The moving body according to claim 1, further comprising: a determining unit that determines whether or not to reset the control points after a previous optimization; if it determines not to reset the control points; a determining unit that determines whether or not the weighting coefficients of the first and second collision costs are equal to or less than a predetermined value; if it determines that the weighting coefficients are equal to or less than the predetermined value, multiplying the weighting coefficients by a predetermined coefficient to increase the values of the weighting coefficients; and updating the objective cost function based on the first and second collision costs using the increased weighting coefficients.
前記移動体は、少なくとも1つのプロセッサを有する拡張装置を備え、
前記拡張装置は、少なくとも前記自律移動制御部を有する、請求項1に記載の移動体。
the mobile body comprises an extension device having at least one processor;
The moving body according to claim 1 , wherein the extension device includes at least the autonomous movement control unit.
外部との通信によって自己位置を推定できない環境下において、自律移動を行い所定の計測作業を実施する移動体を用いた計測システムであって、
前記移動体の周辺に位置する物体を検出する検出部と、
前記移動体の機体制御を行うために駆動部を制御する駆動制御部と、
決定された移動経路に従って、前記移動体を計測開始位置に向かって前記自律移動するために前記駆動制御部を制御する自律移動制御部と、
所定の計測装置による計測結果を解析し解析結果を出力する計測解析部と、を有し、
前記自律移動制御部は、
前記移動体の移動方向に広がる空間を三次元空間にモデル化した三次元空間地図データであって、検出された前記物体の位置と、前記物体の大ききと、前記物体の移動速度を示す単位時間の前記位置の変化量と、を含む、前記三次元空間地図データを生成し、前記移動体が移動している間、前記三次元空間地図データを継続して更新する地図データ生成部と、
更新された前記三次元空間地図データに基づき、検出された前記物体のうち、静的物体及び動的物体を識別し、前記動的物体の動きを予測した結果に基づき、複数の多項式曲線を連結して1つの曲線とした移動経路を計算して、前記自律移動の前記移動経路として決定し、前記移動体が移動している間、前記静的物体及び前記動的物体を回避する前記移動経路を継続して計算する移動経路決定部と、を有し、
前記移動経路決定部は、
前記曲線の最適化により、前記静的物体及び前記動的物体を回避する前記移動経路を決定する最適化部を有し、
前記最適化部は、
前記多項式曲線の複数の制御点の集合を最適化パラメータとし、
少なくとも、前記移動体が前記静的物体に衝突する可能性を示す第1衝突コストと、前記移動体が前記動的物体に衝突する可能性を示す第2衝突コストと、に基づく目的コスト関数の最小化問題を定義した数理モデルを有し、
前記第1及び第2の各衝突コストを計算して前記数理モデルを解くことにより前記曲線を最適化し、前記移動経路を決定し、
前記最適化部は、
前記動的物体の現在位置から移動予測位置までの水平方向における一定距離の範囲に衝突領域を設定し、
前記衝突領域において、前記動的物体に対する前記移動経路の複数の前記制御点のうち衝突制御点を特定し、
前記衝突制御点から、前記動的物体に衝突しない安全領域までの第3距離を計算し、前記第3距離に基づき、前記第2衝突コストを計算し、
前記衝突領域は、
第1半径は、前記移動体と前記動的物体とが衝突しない安全距離であり、
前記動的物体の前記現在位置を中心とする前記第1半径の円弧と、前記円弧の2つの端点と前記中心とを結ぶ第1及び第2線分と、により定義される第1衝突領域と、
前記円弧の2つの端点と前記移動予測位置とを結ぶ第3及び第4線分と、前記第1及び第2線分と、により定義されており、前記現在位置から前記移動予測位置まで前記安全距離の値が減少するように設定されている第2衝突領域と、を含み、
前記最適化部は、
前記第1及び第2の各衝突領域において前記衝突制御点を特定し前記第3距離を計算する、移動体と、
前記移動体から出力された前記解析結果を可視化する端末装置と、を備える、移動体を用いた計測システム。
A measurement system using a mobile object that moves autonomously and performs a predetermined measurement task in an environment where its own position cannot be estimated by communication with the outside,
a detection unit that detects an object located around the moving body;
a drive control unit that controls a drive unit to perform body control of the moving body;
an autonomous movement control unit that controls the drive control unit to autonomously move the moving body toward a measurement start position according to the determined movement path;
a measurement analysis unit that analyzes the measurement results obtained by a predetermined measurement device and outputs the analysis results;
The autonomous movement control unit
a map data generation unit that generates three-dimensional spatial map data that is a three-dimensional model of a space extending in the moving direction of the moving body, the three-dimensional spatial map data including the position of the detected object, the size of the object, and an amount of change in the position per unit time that indicates the moving speed of the object, and that continuously updates the three-dimensional spatial map data while the moving body is moving;
a movement path determination unit that identifies static objects and dynamic objects from among the detected objects based on the updated three-dimensional spatial map data, calculates a movement path by connecting a plurality of polynomial curves into one curve based on a result of predicting the movement of the dynamic objects, and determines the movement path as the movement path for the autonomous movement, and continuously calculates the movement path that avoids the static objects and the dynamic objects while the moving body is moving,
The travel route determination unit
an optimization unit that determines the movement path that avoids the static object and the dynamic object by optimizing the curve,
The optimization unit
a set of control points of the polynomial curve as optimization parameters;
a mathematical model defining a minimization problem of an objective cost function based on at least a first collision cost indicating a possibility that the moving body will collide with the stationary object and a second collision cost indicating a possibility that the moving body will collide with the dynamic object;
calculating the first and second collision costs and solving the mathematical model to optimize the curve and determine the travel path;
The optimization unit
a collision area is set within a range of a certain distance in the horizontal direction from the current position of the dynamic object to the predicted movement position;
identifying a collision control point among the plurality of control points of the movement path for the dynamic object in the collision region;
calculating a third distance from the collision control point to a safe area where the dynamic object does not collide with the collision control point; and calculating the second collision cost based on the third distance;
The collision area is
the first radius is a safe distance at which the moving body and the dynamic object do not collide with each other,
a first collision area defined by an arc of the first radius centered at the current position of the dynamic object, and first and second line segments connecting two end points of the arc to the center;
a second collision area defined by third and fourth line segments connecting two end points of the arc and the predicted movement position, and the first and second line segments, the second collision area being set so that the value of the safety distance decreases from the current position to the predicted movement position;
The optimization unit
a moving body that identifies the collision control point in each of the first and second collision regions and calculates the third distance;
A measurement system using a moving body, comprising: a terminal device that visualizes the analysis results output from the moving body.
外部との通信によって自己位置を推定できない環境下において、自律移動を行い所定の計測作業を実施する移動体を用いた計測方法であって、
前記移動体の周辺に位置する物体を検出するステップと、
前記移動体の移動方向に広がる空間を三次元空間にモデル化した三次元空間地図データであって、検出された前記物体の位置と、前記物体の大ききと、前記物体の移動速度を示す単位時間 の前記位置の変化量と、を含む、前記三次元空間地図データを生成し、前記移動体が移動している間、前記三次元空間地図データを継続して更新するステップと、
更新された前記三次元空間地図データに基づき、検出された前記物体のうち、静的物体 及び動的物体を識別し、前記動的物体の動きを予測した結果に基づき、複数の多項式曲線 を連結して1つの曲線とした移動経路を計算して、前記自律移動の前記移動経路として決定し、前記移動体が移動している間、前記静的物体及び前記動的物体を回避する前記移動経路を継続して計算するステップと、
決定された前記移動経路に従って、前記移動体を計測開始位置に向かって前記自律移動するステップと、
前記計測開始位置から計測終了位置まで移動しながら所定の計測装置により計測を行うステップと、
計測結果を解析し解析結果を出力するステップと、含み、
前記計算するステップは、
前記曲線の最適化により、前記静的物体及び前記動的物体を回避する前記移動経路を決定するステップを有し、
前記決定するステップは、
記多項式曲線の複数の制御点の集合を最適化パラメータとし、少なくとも、前記移動体が前記静的物体に衝突する可能性を示す第1衝突コストと、前記移動体が前記動的物体に衝突する可能性を示す第2衝突コストと、に基づく目的コスト関数の最小化問題を定義した数理モデルを、前記第1及び第2の各衝突コストを計算して解くことにより、前記曲線を最適化し、前記移動経路を決定し、
前記決定するステップは、
前記動的物体の現在位置から移動予測位置までの水平方向における一定距離の範囲に衝突領域を設定し、
前記衝突領域において、前記動的物体に対する前記移動経路の複数の前記制御点のうち衝突制御点を特定し、
前記衝突制御点から、前記動的物体に衝突しない安全領域までの第3距離を計算し、前記第3距離に基づき、前記第2衝突コストを計算し、
前記衝突領域は、
第1半径は、前記移動体と前記動的物体とが衝突しない安全距離であり、
前記動的物体の前記現在位置を中心とする前記第1半径の円弧と、前記円弧の2つの端点と前記中心とを結ぶ第1及び第2線分と、により定義される第1衝突領域と、
前記円弧の2つの端点と前記移動予測位置とを結ぶ第3及び第4線分と、前記第1及び第2線分と、により定義されており、前記現在位置から前記移動予測位置まで前記安全距離の値が減少するように設定されている第2衝突領域と、を含み、
前記決定するステップは、
前記第1及び第2の各衝突領域において前記衝突制御点を特定し前記第3距離を計算する、移動体を用いた計測方法。
A measurement method using a mobile object that moves autonomously and performs a predetermined measurement task in an environment where its own position cannot be estimated by communication with the outside,
detecting an object located in the vicinity of the moving body;
generating three-dimensional spatial map data that is a three-dimensional model of a space extending in the moving direction of the moving body, the three-dimensional spatial map data including the position of the detected object, the size of the object, and an amount of change in the position per unit time that indicates the moving speed of the object, and continuously updating the three-dimensional spatial map data while the moving body is moving;
a step of identifying static objects and dynamic objects among the detected objects based on the updated three-dimensional spatial map data, calculating a movement path by connecting a plurality of polynomial curves to form a single curve based on the result of predicting the movement of the dynamic objects, and determining the movement path as the movement path of the autonomous movement, and continuously calculating the movement path that avoids the static objects and the dynamic objects while the moving body is moving;
autonomously moving the moving body toward a measurement start position according to the determined movement path;
a step of measuring with a predetermined measuring device while moving from the measurement start position to the measurement end position;
analyzing the measurement results and outputting the analysis results;
The calculating step
determining the movement path that avoids the static object and the dynamic object by optimizing the curve;
The determining step includes:
a set of a plurality of control points of the polynomial curve is used as an optimization parameter, and a mathematical model is defined that defines a minimization problem of an objective cost function based on at least a first collision cost indicating the possibility that the moving body will collide with the static object and a second collision cost indicating the possibility that the moving body will collide with the dynamic object , by calculating and solving the first and second collision costs , thereby optimizing the curve and determining the movement path;
The determining step includes:
a collision area is set within a range of a certain distance in the horizontal direction from the current position of the dynamic object to the predicted movement position;
identifying a collision control point among the plurality of control points of the movement path for the dynamic object in the collision region;
calculating a third distance from the collision control point to a safe area where the dynamic object does not collide with the collision control point; and calculating the second collision cost based on the third distance;
The collision area is
the first radius is a safe distance at which the moving body and the dynamic object do not collide with each other,
a first collision area defined by an arc of the first radius centered at the current position of the dynamic object, and first and second line segments connecting two end points of the arc to the center;
a second collision area defined by third and fourth line segments connecting two end points of the arc and the predicted movement position, and the first and second line segments, the second collision area being set so that the value of the safety distance decreases from the current position to the predicted movement position;
The determining step includes:
a measurement method using a moving object, the method including identifying the collision control point in each of the first and second collision regions and calculating the third distance;
JP2024085613A 2024-05-27 2024-05-27 MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY Active JP7769346B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024085613A JP7769346B1 (en) 2024-05-27 2024-05-27 MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2024085613A JP7769346B1 (en) 2024-05-27 2024-05-27 MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY

Publications (2)

Publication Number Publication Date
JP7769346B1 true JP7769346B1 (en) 2025-11-13
JP2025178799A JP2025178799A (en) 2025-12-09

Family

ID=97635720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024085613A Active JP7769346B1 (en) 2024-05-27 2024-05-27 MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY

Country Status (1)

Country Link
JP (1) JP7769346B1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010096752A (en) 2008-09-16 2010-04-30 Adoin Kenkyusho:Kk Tree information measuring method, tree information measuring device, and program
JP2014122019A (en) 2012-12-12 2014-07-03 Boeing Co Tree metrology system
JP2018535487A (en) 2015-09-15 2018-11-29 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd System and method for planning and controlling UAV paths
CN111679678A (en) 2020-06-30 2020-09-18 安徽海博智能科技有限责任公司 Track planning method and system for transverse and longitudinal separation and computer equipment
CN112034887A (en) 2020-09-10 2020-12-04 南京大学 Optimal path training method for unmanned aerial vehicle to avoid cylindrical barrier to reach target point
CN114815834A (en) 2022-04-29 2022-07-29 浙江工业大学 A dynamic path planning method for mobile agents in a stage environment
JP2022536263A (en) 2019-06-03 2022-08-15 リアルタイム ロボティクス, インコーポレーテッド Apparatus, methods and articles for facilitating motion planning in environments with dynamic obstacles
JP2023535175A (en) 2020-07-20 2023-08-16 華為技術有限公司 Method and apparatus for planning obstacle avoidance paths for mobile devices
JP2023130034A (en) 2022-03-07 2023-09-20 株式会社日立製作所 Remote control system and remote control method
CN117055560A (en) 2023-08-30 2023-11-14 吉林大学 An AGV local path planning method based on obstacle motion prediction

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010096752A (en) 2008-09-16 2010-04-30 Adoin Kenkyusho:Kk Tree information measuring method, tree information measuring device, and program
JP2014122019A (en) 2012-12-12 2014-07-03 Boeing Co Tree metrology system
JP2018535487A (en) 2015-09-15 2018-11-29 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd System and method for planning and controlling UAV paths
JP2022536263A (en) 2019-06-03 2022-08-15 リアルタイム ロボティクス, インコーポレーテッド Apparatus, methods and articles for facilitating motion planning in environments with dynamic obstacles
CN111679678A (en) 2020-06-30 2020-09-18 安徽海博智能科技有限责任公司 Track planning method and system for transverse and longitudinal separation and computer equipment
JP2023535175A (en) 2020-07-20 2023-08-16 華為技術有限公司 Method and apparatus for planning obstacle avoidance paths for mobile devices
CN112034887A (en) 2020-09-10 2020-12-04 南京大学 Optimal path training method for unmanned aerial vehicle to avoid cylindrical barrier to reach target point
JP2023130034A (en) 2022-03-07 2023-09-20 株式会社日立製作所 Remote control system and remote control method
CN114815834A (en) 2022-04-29 2022-07-29 浙江工业大学 A dynamic path planning method for mobile agents in a stage environment
CN117055560A (en) 2023-08-30 2023-11-14 吉林大学 An AGV local path planning method based on obstacle motion prediction

Also Published As

Publication number Publication date
JP2025178799A (en) 2025-12-09

Similar Documents

Publication Publication Date Title
CN112840285B (en) Autonomous map traversal with waypoint matching
US12164030B2 (en) Local sensing based autonomous navigation, and associated systems and methods
US20250333164A1 (en) Image Space Motion Planning Of An Autonomous Vehicle
TWI827649B (en) Apparatuses, systems and methods for vslam scale estimation
EP3799618B1 (en) Method of navigating a vehicle and system thereof
JP2025536061A (en) Automatic mapping by mobile robots
Singh et al. Comparative analysis of range sensors for the robust autonomous navigation–a review
CN105759829A (en) Laser radar-based mini-sized unmanned plane control method and system
US12292742B2 (en) Information processing method and information processor
Bojja et al. Indoor localization methods using dead reckoning and 3D map matching
Teixeira et al. Autonomous aerial inspection using visual-inertial robust localization and mapping
JP7769346B1 (en) MOBILE BODY, MEASUREMENT SYSTEM USING MOBILE BODY, AND MEASUREMENT METHOD USING MOBILE BODY
Priyasad et al. Point cloud based autonomous area exploration algorithm
Tolt et al. The max drone for autonomous indoor exploration
Santoro Design and implementation of a Sensory System for an Autonomous Mobile Robot in a Connected Industrial Environment
US20250199537A1 (en) System and method for determining a return-to-home map
Mitka et al. Autonomous mobile platform with simultaneous localisation and mapping system for patrolling purposes
Karam et al. Microdrone-Based Indoor Mapping with Graph SLAM. Drones 2022, 6, 352
Wang et al. Adaptive autonomous navigation system for coal mine inspection robots: overcoming intersection challenges
NT et al. Optimized Real-Time Path Planning and Obstacle Avoidance for Dynamic Objects Using a Velocity-Based Approach
Perez-Imaz Terrain-aware autonomous exploration of unstructured confined spaces
CN114872051A (en) System and method for acquiring traffic map, robot and computer-readable storage medium
Zulkefle et al. MAP DRAWING ROBOT (MADBOT)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240611

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20240603

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20240701

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20240701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20240701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20240701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251023

R150 Certificate of patent or registration of utility model

Ref document number: 7769346

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150