JPWO2020066549A1 - Control devices, control methods, and programs - Google Patents

Control devices, control methods, and programs Download PDF

Info

Publication number
JPWO2020066549A1
JPWO2020066549A1 JP2020548328A JP2020548328A JPWO2020066549A1 JP WO2020066549 A1 JPWO2020066549 A1 JP WO2020066549A1 JP 2020548328 A JP2020548328 A JP 2020548328A JP 2020548328 A JP2020548328 A JP 2020548328A JP WO2020066549 A1 JPWO2020066549 A1 JP WO2020066549A1
Authority
JP
Japan
Prior art keywords
control
flying object
mode
flight
magnitude
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020548328A
Other languages
Japanese (ja)
Other versions
JP7067629B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2020066549A1 publication Critical patent/JPWO2020066549A1/en
Application granted granted Critical
Publication of JP7067629B2 publication Critical patent/JP7067629B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C13/00Control systems or transmitting systems for actuating flying-control surfaces, lift-increasing flaps, air brakes, or spoilers
    • B64C13/02Initiating means
    • B64C13/16Initiating means actuated automatically, e.g. responsive to gust detectors
    • B64C13/20Initiating means actuated automatically, e.g. responsive to gust detectors using radiated signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • B64U10/14Flying platforms with four distinct rotor axes, e.g. quadcopters

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Aiming, Guidance, Guns With A Light Source, Armor, Camouflage, And Targets (AREA)

Abstract

制御装置(2000)では、飛翔体の制御に関する制御モードとして、第1モードと第2モードが存在する。第1モードは、アーム(20)の位置を正確に制御するための制御モードである。そのため、制御装置(2000)は、飛翔体(10)の制御モードが第1モードである場合、アーム(20)上の位置である第1位置(30)を優先して、飛翔(10)の飛行制御を行う。一方、第2モードは、第1モードとは異なるモードである。制御装置(2000)は、飛翔体(10)の制御モードが第2モードである場合、アーム(20)上の位置以外の基準位置である第2位置(40)を優先して、飛翔体(10)の飛行制御を行う。例えば第2位置は機体中心である。 In the control device (2000), there are a first mode and a second mode as control modes related to the control of the flying object. The first mode is a control mode for accurately controlling the position of the arm (20). Therefore, when the control mode of the flying object (10) is the first mode, the control device (2000) gives priority to the first position (30), which is the position on the arm (20), and gives priority to the flying (10). Perform flight control. On the other hand, the second mode is a mode different from the first mode. When the control mode of the flying object (10) is the second mode, the control device (2000) gives priority to the second position (40), which is a reference position other than the position on the arm (20), and gives priority to the flying object (2000). 10) Flight control is performed. For example, the second position is the center of the aircraft.

Description

本発明は、飛翔体の飛行の制御に関する。 The present invention relates to controlling the flight of a flying object.

アームを備える飛翔体を利用して、様々な作業が行われている。そのような作業の一例として、ハンマーを備えるアームを利用した打音検査がある。打音検査は、橋梁、トンネル、又は配管などの種々の構造物の安全点検などで取り入れられている。 Various tasks are being carried out using a flying object equipped with an arm. As an example of such work, there is a tapping sound inspection using an arm equipped with a hammer. The tapping sound inspection is incorporated in the safety inspection of various structures such as bridges, tunnels, and pipes.

このように飛翔体を活用する技術を開示する先行技術文献として、特許文献1がある。特許文献1の発明は、飛行装置(自律飛行式の無人ヘリコプタ:いわゆるドローン)、地上側装置、及び管制装置から構成される。飛行装置には打音検査装置が取り付けられており、地上側装置で飛行装置を計測しながら、管制装置による自律した打音検査が行われる。 Patent Document 1 is a prior art document that discloses a technique for utilizing a flying object in this way. The invention of Patent Document 1 is composed of a flight device (autonomous flight type unmanned helicopter: so-called drone), a ground side device, and a control device. A tapping sound inspection device is attached to the flight device, and while the flight device is measured by the ground-side device, an autonomous tapping sound inspection is performed by the control device.

国際公開第2017/204050号International Publication No. 2017/204050

特許文献1では、飛翔体の飛行制御を行う際、飛翔体の位置が特定の一点で表されており、その特定の一点を目標の位置へ移動させるようにして、飛翔体の飛行制御が行われている。すなわち、飛翔体の特定の一点を他の位置よりも優先して、飛翔体の飛行制御が行われている。しかしながら本発明者は、アームを備える飛翔体の飛行制御において、飛翔体の飛行制御における優先位置を特定の一点に固定し続けることが好ましくないことを見出した。 In Patent Document 1, when the flight control of a flying object is performed, the position of the flying object is represented by a specific point, and the flight control of the flying object is performed by moving the specific point to a target position. It has been. That is, the flight control of the flying object is performed by giving priority to a specific point of the flying object over the other positions. However, the present inventor has found that in the flight control of a flying object provided with an arm, it is not preferable to keep fixing the priority position in the flight control of the flying object to a specific point.

本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、アームを有する飛翔体の飛行制御を適切に行う技術を提供することである。 The present invention has been made in view of the above problems, and one of the objects thereof is to provide a technique for appropriately controlling the flight of a flying object having an arm.

本発明の制御装置は、アームを有する飛翔体の飛行を制御する制御装置である。当該制御装置は、1)飛翔体の飛行制御に関する制御モードを第1モードと第2モードのいずれか一方に切り替える切替部と、2)制御モードが第1モードである場合には飛翔体の第1位置を優先して飛翔体の飛行を制御し、制御モードが第2モードである場合には飛翔体の第2位置を優先して飛翔体の飛行を制御する制御部と、を有する。第1位置はアーム上の位置であり、第2位置はアーム上の位置ではない。 The control device of the present invention is a control device that controls the flight of a flying object having an arm. The control device includes 1) a switching unit that switches the control mode related to flight control of the flying object to either the first mode or the second mode, and 2) the first mode of the flying object when the control mode is the first mode. It has a control unit that gives priority to one position to control the flight of the flying object, and when the control mode is the second mode, gives priority to the second position of the flying object to control the flight of the flying object. The first position is the position on the arm and the second position is not the position on the arm.

本発明の制御方法は、アームを有する飛翔体の飛行を制御するコンピュータによって実行される制御方法である。当該制御方法は、1)飛翔体の飛行制御に関する制御モードを第1モードと第2モードのいずれか一方に切り替える切替ステップと、2)制御モードが第1モードである場合には飛翔体の第1位置を優先して飛翔体の飛行を制御し、制御モードが第2モードである場合には飛翔体の第2位置を優先して飛翔体の飛行を制御する制御ステップと、を有する。第1位置はアーム上の位置であり、第2位置はアーム上の位置ではない。 The control method of the present invention is a control method executed by a computer that controls the flight of a flying object having an arm. The control method consists of 1) a switching step for switching the control mode related to flight control of the flying object to either the first mode or the second mode, and 2) the first mode of the flying object when the control mode is the first mode. It has a control step of giving priority to one position to control the flight of the flying object, and when the control mode is the second mode, giving priority to the second position of the flying object to control the flight of the flying object. The first position is the position on the arm and the second position is not the position on the arm.

本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。 The program of the present invention causes a computer to execute each step of the control method of the present invention.

本発明によれば、アームを有する飛翔体の飛行制御を適切に行う技術が提供される。 According to the present invention, there is provided a technique for appropriately controlling the flight of a flying object having an arm.

実施形態1の制御装置の概要を例示する図である。It is a figure which illustrates the outline of the control device of Embodiment 1. 第1モードと第2モードで許容される制御誤差の違いを例示する図である。It is a figure which illustrates the difference of the control error permissible in the 1st mode and 2nd mode. 制御装置の機能構成を例示するブロック図である。It is a block diagram which illustrates the functional structure of a control device. 制御装置を実現するための計算機を例示する図である。It is a figure which illustrates the computer for realizing the control device. 実施形態1の制御装置によって実行される処理の流れを例示するフローチャートである。It is a flowchart which illustrates the flow of the process executed by the control device of Embodiment 1. FIG. 実施形態2の制御装置によって実行される処理の流れを例示する図である。It is a figure which illustrates the flow of the process executed by the control device of Embodiment 2. 実施形態2の制御装置によって実行される処理の流れを例示する図である。It is a figure which illustrates the flow of the process executed by the control device of Embodiment 2.

以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また各ブロック図において、特に説明がない限り、各ブロックは、ハードウエア単位の構成ではなく機能単位の構成を表している。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all drawings, similar components are designated by the same reference numerals, and description thereof will be omitted as appropriate. Further, in each block diagram, unless otherwise specified, each block represents a functional unit configuration rather than a hardware unit configuration.

[実施形態1]
<概要>
図1は、実施形態1の制御装置2000の概要を例示する図である。なお、図1は、制御装置2000の理解を容易にするためにその概要の一例を示しているにすぎず、制御装置2000の機能を何ら限定するものではない。
[Embodiment 1]
<Overview>
FIG. 1 is a diagram illustrating an outline of the control device 2000 of the first embodiment. Note that FIG. 1 is merely an example of an outline thereof in order to facilitate understanding of the control device 2000, and does not limit the functions of the control device 2000 at all.

制御装置2000は、飛翔体10の飛行を制御する。飛翔体10は、コンピュータによってその飛行が制御される任意の飛翔体である。例えば飛翔体10はドローンである。 The control device 2000 controls the flight of the projectile 10. The projectile 10 is an arbitrary projectile whose flight is controlled by a computer. For example, the projectile 10 is a drone.

飛翔体10はアーム20を有する。例えばアーム20は、打音検査で利用されるハンマーを有するアームや、所望の物体を把持するために利用される把持部材を有するアームなどである。 The projectile 10 has an arm 20. For example, the arm 20 is an arm having a hammer used in a tapping sound inspection, an arm having a gripping member used to grip a desired object, and the like.

一般に、飛翔体の飛行を制御する場合、その機体中心(重心)の位置を優先した飛行制御(すなわち、機体中心が所望の位置になるように行う飛行制御)が行われることが多い。なぜなら、飛翔体の機体設計や制御設計が、機体中心を基準として行われていることが多いため、機体中心の位置を優先した飛行制御により、エネルギー効率が高くなる、アクチュエータの耐久性が高くなる、及び制御アルゴリズムの汎用性が高くなるといった種々のメリットが生じるためである。 In general, when controlling the flight of a flying object, flight control that prioritizes the position of the center of gravity of the airframe (that is, flight control that is performed so that the center of the airframe is at a desired position) is often performed. This is because the airframe design and control design of the flying object is often based on the airframe center, so flight control that prioritizes the position of the airframe center increases energy efficiency and increases the durability of the actuator. This is because various merits such as high versatility of the control algorithm occur.

しかしながら本発明者は、アーム20を用いた作業のために飛翔体10の飛行を制御する際には、アーム20の位置を正確に制御することが重要であることを見いだした。アーム20の位置を正確に制御することが重要である理由は、アーム20の位置を正確に制御できないと、アーム20を利用した作業を意図通りに実現することが難しいためである。例えばアーム20を利用して打音検査をする場合、アーム20の位置を正確に制御して、検査対象の所定の位置をアーム20で正確に叩く必要がある。さもないと、点検したい箇所とは違う箇所を叩いてしまうことになり、意図した通りに打音検査を行うことができない。 However, the present inventor has found that it is important to accurately control the position of the arm 20 when controlling the flight of the projectile 10 for the work using the arm 20. The reason why it is important to accurately control the position of the arm 20 is that if the position of the arm 20 cannot be controlled accurately, it is difficult to realize the work using the arm 20 as intended. For example, when a tapping sound inspection is performed using the arm 20, it is necessary to accurately control the position of the arm 20 and accurately hit a predetermined position to be inspected with the arm 20. Otherwise, you will hit a part different from the part you want to inspect, and you will not be able to perform the tapping sound inspection as intended.

特に飛翔体10がマルチコプターである場合、飛翔体10を水平方向に前進させるためには、飛翔体10を前に傾ける必要がある。このように飛翔体10の姿勢が傾くと、アーム20の先端が大きく上下することになる。そのため、機体中心を優先して飛翔体10を制御すると、アーム20の位置が大きくぶれることになる。一方で、アーム20の位置を優先して飛翔体10の飛行制御を行うと、アーム20の位置を正確に制御できるため、アーム20を利用した作業を正確に行うことができる。 In particular, when the projectile 10 is a multicopter, it is necessary to tilt the projectile 10 forward in order to advance the projectile 10 in the horizontal direction. When the attitude of the flying object 10 is tilted in this way, the tip of the arm 20 is greatly moved up and down. Therefore, if the flying object 10 is controlled with priority given to the center of the airframe, the position of the arm 20 will be greatly deviated. On the other hand, if the flight control of the flying object 10 is performed with priority given to the position of the arm 20, the position of the arm 20 can be accurately controlled, so that the work using the arm 20 can be performed accurately.

ただし前述したように、エネルギー効率等の面では、機体中心などを優先した制御が好ましい。そのため、常にアーム20を優先して飛翔体10の飛行制御を行うことも、好ましくないと言える。 However, as described above, in terms of energy efficiency and the like, control that prioritizes the center of the airframe and the like is preferable. Therefore, it can be said that it is not preferable to always give priority to the arm 20 to control the flight of the projectile 10.

そこで制御装置2000は、アーム20の位置を正確に制御すべき状況とそれ以外の状況とで、飛翔体10の飛行制御における飛翔体10の優先制御位置を切り替える。具体的には、制御装置2000は、アーム20の位置を正確に制御すべき状況では、アーム20の位置を優先して飛翔体10の飛行制御を行い、それ以外の状況では、アーム20の位置以外の基準位置(例えば前述した機体中心)を優先して飛翔体10の飛行制御を行う。こうすることで、アーム20を用いた作業を正確に実現しつつ、できる限り飛翔体10を効率よく動作させることができる。 Therefore, the control device 2000 switches the priority control position of the flying object 10 in the flight control of the flying object 10 depending on the situation in which the position of the arm 20 should be accurately controlled and the other situations. Specifically, the control device 2000 gives priority to the position of the arm 20 to control the flight of the projectile 10 in a situation where the position of the arm 20 should be accurately controlled, and in other situations, the position of the arm 20 is controlled. Flight control of the projectile 10 is performed with priority given to a reference position other than the reference position (for example, the center of the aircraft described above). By doing so, the projectile 10 can be operated as efficiently as possible while accurately realizing the work using the arm 20.

より具体的には、制御装置2000では、以下のような制御が行われる。まず制御装置2000では、飛翔体の制御に関する制御モードが、少なくとも2つ存在する。以下、これら2つのモードを、第1モードと第2モードと呼ぶ。第1モードは、アーム20の位置を正確に制御するための制御モードである。そのため、制御装置2000は、飛翔体10の制御モードが第1モードである場合、アーム20上の位置である第1位置30を優先して、飛翔体10の飛行制御を行う。 More specifically, in the control device 2000, the following control is performed. First, in the control device 2000, there are at least two control modes related to the control of the flying object. Hereinafter, these two modes are referred to as a first mode and a second mode. The first mode is a control mode for accurately controlling the position of the arm 20. Therefore, when the control mode of the flying object 10 is the first mode, the control device 2000 gives priority to the first position 30 which is the position on the arm 20 to control the flight of the flying object 10.

一方、第2モードは、第1モードとは異なるモードである。制御装置2000は、飛翔体10の制御モードが第2モードである場合、アーム20上の位置以外の基準位置である第2位置40を優先して、飛翔体10の飛行制御を行う。例えば第2位置は機体中心である。 On the other hand, the second mode is a mode different from the first mode. When the control mode of the flying object 10 is the second mode, the control device 2000 gives priority to the second position 40, which is a reference position other than the position on the arm 20, and controls the flight of the flying object 10. For example, the second position is the center of the aircraft.

図1には、第1モードにおける飛翔体10の飛行制御と、第2モードにおける飛翔体10の飛行制御のそれぞれが例示されている。第1モードでは、アーム20上の第1位置30を優先して飛翔体10の飛行制御が行われている。具体的には、アーム20上の第1位置30が安定して目標位置に向かうように、飛翔体10の飛行が制御されている。例えば目標位置は、打音検査においてアーム20で叩くべき箇所である。アーム20が安定して目標位置に向かっているため、アーム20で正確に目標位置を叩くことができる。一方で第2位置40(この例では機体中心)については、上下に大きくぶれてしまっている。 FIG. 1 illustrates each of the flight control of the flying object 10 in the first mode and the flight control of the flying object 10 in the second mode. In the first mode, the flight control of the projectile 10 is performed with priority given to the first position 30 on the arm 20. Specifically, the flight of the projectile 10 is controlled so that the first position 30 on the arm 20 stably heads for the target position. For example, the target position is a position to be hit by the arm 20 in the tapping sound inspection. Since the arm 20 is stably heading toward the target position, the arm 20 can accurately hit the target position. On the other hand, the second position 40 (center of the aircraft in this example) is greatly shaken up and down.

これに対し、第2モードでは、第2位置40を優先して飛翔体10の飛行制御が行われている。図1の例において、第2位置40は機体中心である。よって、機体中心が安定して目標位置に向かって移動するように、飛翔体10の飛行が制御されている。一方で、第1位置30については、上下に大きくぶれてしまっている。 On the other hand, in the second mode, the flight control of the flying object 10 is performed with priority given to the second position 40. In the example of FIG. 1, the second position 40 is the center of the airframe. Therefore, the flight of the projectile 10 is controlled so that the center of the airframe stably moves toward the target position. On the other hand, the first position 30 is greatly shaken up and down.

図2は、第1モードと第2モードで許容される制御誤差の違いを例示する図である。第1モードでは、アーム20上の第1位置30について許容される制御誤差が小さい一方で、アーム20以外の基準位置である第2位置40について許容される制御誤差が大きくなっている。これは、第1位置30を優先した飛行制御が行われることを表している。これに対し、第2モードでは、第2位置40について許容される制御誤差が小さい一方で、第1位置30について許容される制御誤差が大きくなっている。これは、第2位置40を優先した飛行制御が行われることを表している。 FIG. 2 is a diagram illustrating the difference in control error allowed between the first mode and the second mode. In the first mode, the permissible control error for the first position 30 on the arm 20 is small, while the permissible control error for the second position 40, which is a reference position other than the arm 20, is large. This means that flight control is performed with priority given to the first position 30. On the other hand, in the second mode, the permissible control error for the second position 40 is small, while the permissible control error for the first position 30 is large. This means that flight control is performed with priority given to the second position 40.

<作用・効果>
本実施形態の制御装置2000によれば、アーム20の位置を正確に制御すべき状況とそれ以外の状況とで、飛翔体10の飛行制御における飛翔体10の優先制御位置が切り替わる。具体的には、アーム20の位置を正確に制御すべき状況に適した制御モードである第1モードでは、アーム20上の位置である第1位置30を優先した飛行制御が行われる。一方、それ以外の状況に適した制御モードである第2モードでは、アーム20上の位置以外の基準位置である第2位置40を優先した飛行制御が行われる。こうすることで、アーム20を用いた作業を正確に実現しつつ、「エネルギー効率が高くなる、アクチュエータの耐久性が高くなる、及び制御アルゴリズムの汎用性が高くなる」などといった機体中心等を優先した飛行制御のメリットも享受できる。
<Action / effect>
According to the control device 2000 of the present embodiment, the priority control position of the flying object 10 in the flight control of the flying object 10 is switched between the situation where the position of the arm 20 should be accurately controlled and the other situations. Specifically, in the first mode, which is a control mode suitable for a situation in which the position of the arm 20 should be accurately controlled, flight control is performed with priority given to the first position 30 which is the position on the arm 20. On the other hand, in the second mode, which is a control mode suitable for other situations, flight control is performed with priority given to the second position 40, which is a reference position other than the position on the arm 20. By doing so, while accurately realizing the work using the arm 20, priority is given to the center of the machine such as "high energy efficiency, high durability of the actuator, and high versatility of the control algorithm". You can also enjoy the benefits of flight control.

特に、劣駆動系に分類されるロボットでは、制御における制限が大きい。劣駆動系ロボットとは、そのロボットに搭載されたアクチュエータによって直接制御可能な運動自由度の数が、そのロボットの実際の運動自由度の数よりも少ないロボットのことである。例えば4つのローターを有するマルチコプター(クアッドコプター)は、制御可能な運動自由度の数が4である一方で、実際の運動自由度の数6(並進3自由度と回転3自由度)であるため、劣駆動系ロボットである。そのため、機体を傾けないと水平方向の推力を得られなかったり、傾いた状態では一点に滞空し続けることができないなどのように、制御における制限が大きい。そのため、飛翔体10の機体中心とアーム20の位置の双方を正確に制御することは難しいため、本実施形態の制御装置2000が行うような、飛翔体10の機体中心を優先した制御と、アーム20の位置を優先した制御との切り替えが重要となる。 In particular, robots classified as inferior drive systems have large restrictions on control. An underactuated manipulator robot is a robot in which the number of degrees of freedom of motion that can be directly controlled by an actuator mounted on the robot is less than the number of degrees of freedom of motion actually of the robot. For example, a multicopter with four rotors (quadcopter) has four controllable degrees of freedom of motion, while the actual number of motion degrees of freedom is six (three translational degrees of freedom and three rotational degrees of freedom). Therefore, it is an inferior drive system robot. Therefore, there are many restrictions on control, such as the fact that the thrust in the horizontal direction cannot be obtained unless the aircraft is tilted, and that the aircraft cannot continue to stay in the air at one point in the tilted state. Therefore, it is difficult to accurately control both the airframe center of the airframe 10 and the position of the arm 20, so that the control device 2000 of the present embodiment gives priority to the airframe center of the airframe 10 and the arm. It is important to switch to the control that gives priority to the position of 20.

以下、本実施形態についてさらに詳細を述べる。 Hereinafter, the present embodiment will be described in more detail.

<機能構成の例>
図3は、制御装置2000の機能構成を例示するブロック図である。制御装置2000は、アーム20を有する飛翔体10の飛行を制御する。そのために、制御装置2000は、切替部2020及び制御部2040を有する。切替部2020は、飛翔体10の飛行制御に関する制御モードを、第1モードと第2モードのいずれか一方に切り替える。制御部2040は、制御モードが第1モードである場合、飛翔体10の第1位置30を優先して、飛翔体10の飛行制御を行う。一方、制御モードが第2モードである場合、制御部2040は、飛翔体10の第2位置40を優先して、飛翔体10の飛行制御を行う。第1位置30は、アーム20上の位置である。一方、第2位置40は、アーム20上の位置以外の位置である。
<Example of functional configuration>
FIG. 3 is a block diagram illustrating the functional configuration of the control device 2000. The control device 2000 controls the flight of the projectile 10 having the arm 20. Therefore, the control device 2000 has a switching unit 2020 and a control unit 2040. The switching unit 2020 switches the control mode related to the flight control of the flying object 10 to either the first mode or the second mode. When the control mode is the first mode, the control unit 2040 gives priority to the first position 30 of the flying object 10 and controls the flight of the flying object 10. On the other hand, when the control mode is the second mode, the control unit 2040 gives priority to the second position 40 of the flying object 10 and controls the flight of the flying object 10. The first position 30 is a position on the arm 20. On the other hand, the second position 40 is a position other than the position on the arm 20.

<制御装置2000のハードウエア構成の例>
制御装置2000の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、制御装置2000の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
<Example of hardware configuration of control device 2000>
Each functional component of the control device 2000 may be realized by hardware (eg, a hard-wired electronic circuit) that realizes each functional component, or a combination of hardware and software (eg, electronic). It may be realized by a combination of a circuit and a program that controls it). Hereinafter, a case where each functional component of the control device 2000 is realized by a combination of hardware and software will be further described.

図4は、制御装置2000を実現するための計算機1000を例示する図である。計算機1000は、任意の種類の計算機である。例えば計算機1000は、飛翔体10に内蔵される SoC(System on a Chip)などの制御チップとして実現される。ただし、制御装置2000は、飛翔体10を外部から制御する装置であってもよい。この場合、制御装置2000は、PC(Personal Computer)などの据え置き型のコンピュータや、スマートフォンなどの可搬型のコンピュータとして実現されてもよい。計算機1000は、制御装置2000を実現するために設計された専用の計算機であってもよいし、汎用の計算機であってもよい。 FIG. 4 is a diagram illustrating a computer 1000 for realizing the control device 2000. The computer 1000 is any kind of computer. For example, the computer 1000 is realized as a control chip such as an SoC (System on a Chip) built in the flying object 10. However, the control device 2000 may be a device that controls the flying object 10 from the outside. In this case, the control device 2000 may be realized as a stationary computer such as a PC (Personal Computer) or a portable computer such as a smartphone. The computer 1000 may be a dedicated computer designed to realize the control device 2000, or may be a general-purpose computer.

計算機1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1040などを互いに接続する方法は、バス接続に限定されない。 The computer 1000 includes a bus 1020, a processor 1040, a memory 1060, a storage device 1080, an input / output interface 1100, and a network interface 1120. The bus 1020 is a data transmission line for the processor 1040, the memory 1060, the storage device 1080, the input / output interface 1100, and the network interface 1120 to transmit and receive data to and from each other. However, the method of connecting the processors 1040 and the like to each other is not limited to the bus connection.

プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、FPGA(Field−Programmable Gate Array)などの種々のプロセッサである。メモリ1060は、RAM(Random Access Memory)などを用いて実現される主記憶装置である。ストレージデバイス1080は、RAM や ROM(Read Only Memory)などを用いて実現される補助記憶装置である。 The processor 1040 is various processors such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and an FPGA (Field-Programmable Gate Array). The memory 1060 is a main storage device realized by using RAM (Random Access Memory) or the like. The storage device 1080 is an auxiliary storage device realized by using RAM, ROM (Read Only Memory), or the like.

入出力インタフェース1100は、計算機1000と入出力デバイスとを接続するためのインタフェースである。例えば入出力インタフェース1100には、キーボードなどの入力装置や、ディスプレイ装置などの出力装置が接続される。 The input / output interface 1100 is an interface for connecting the computer 1000 and the input / output device. For example, an input device such as a keyboard and an output device such as a display device are connected to the input / output interface 1100.

また、計算機1000が飛翔体10に内蔵される制御チップである場合、入出力インタフェース1100には、飛翔体10のアクチュエータが接続される。計算機1000は、入出力インタフェース1100を介してアクチュエータへ制御信号を送信することにより、飛翔体10の飛行を制御する。また、入出力インタフェースには、飛翔体10の状態を把握するための種々のセンサ(GPS(Global Positioning System)センサや加速度センサなど)が接続される。計算機1000は、入出力インタフェースを介してセンサから検出値を得ることにより、飛翔体10に関する観測値を得る。 When the computer 1000 is a control chip built in the flying object 10, the actuator of the flying object 10 is connected to the input / output interface 1100. The computer 1000 controls the flight of the projectile 10 by transmitting a control signal to the actuator via the input / output interface 1100. Further, various sensors (GPS (Global Positioning System) sensor, acceleration sensor, etc.) for grasping the state of the flying object 10 are connected to the input / output interface. The computer 1000 obtains the observed value for the projectile 10 by obtaining the detected value from the sensor via the input / output interface.

ネットワークインタフェース1120は、計算機1000を通信網に接続するためのインタフェースである。この通信網は、例えば LAN(Local Area Network)や WAN(Wide Area Network)である。ネットワークインタフェース1120が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。 The network interface 1120 is an interface for connecting the computer 1000 to the communication network. This communication network is, for example, LAN (Local Area Network) or WAN (Wide Area Network). The method of connecting the network interface 1120 to the communication network may be a wireless connection or a wired connection.

また、計算機1000が飛翔体10の外部に設けられているコンピュータである場合、ネットワークインタフェース1120には、飛翔体10に内蔵されている制御チップが接続される。計算機1000は、ネットワークを介して、飛翔体10内の制御チップに対し、飛翔体10の飛行を制御する指示を送信する。制御チップは、計算機1000から受信した指示に従ってアクチュエータに制御信号を送信することにより、飛翔体10の飛行を制御する。また、計算機1000は、ネットワークを介して、飛翔体10に設けられている種々のセンサから、飛翔体10の状態を把握するための検出値を取得する。これらの検出値は、例えば、制御チップを介して送信される。 When the computer 1000 is a computer provided outside the flying object 10, a control chip built in the flying object 10 is connected to the network interface 1120. The computer 1000 transmits an instruction to control the flight of the flying object 10 to the control chip in the flying object 10 via the network. The control chip controls the flight of the projectile 10 by transmitting a control signal to the actuator according to an instruction received from the computer 1000. In addition, the computer 1000 acquires detected values for grasping the state of the flying object 10 from various sensors provided on the flying object 10 via a network. These detected values are transmitted, for example, via a control chip.

ストレージデバイス1080は、制御装置2000の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ1040は、これら各プログラムモジュールをメモリ1060に読み出して実行することで、各プログラムモジュールに対応する機能を実現する。 The storage device 1080 stores a program module that realizes each functional component of the control device 2000. The processor 1040 realizes the function corresponding to each program module by reading each of these program modules into the memory 1060 and executing the program module.

<処理の流れ>
図5は、実施形態1の制御装置2000によって実行される処理の流れを例示するフローチャートである。制御部2040は、制御モードが第1モードと第2モードのどちらであるかを判定する(S102)。制御モードが第1モードである場合(S102:第1モード)、制御部2040は、第1位置30を優先して飛翔体10の飛行を制御する(S104)。制御モードが第2モードである場合(S102:第2モード)、制御部2040は、第2位置40を優先して飛翔体10の飛行を制御する(S106)。なお、図5に示す一連の処理は、例えば所定の周期(0.1sec に1回など)で実行される。
<Processing flow>
FIG. 5 is a flowchart illustrating a flow of processing executed by the control device 2000 of the first embodiment. The control unit 2040 determines whether the control mode is the first mode or the second mode (S102). When the control mode is the first mode (S102: first mode), the control unit 2040 gives priority to the first position 30 and controls the flight of the projectile 10 (S104). When the control mode is the second mode (S102: second mode), the control unit 2040 gives priority to the second position 40 and controls the flight of the projectile 10 (S106). The series of processes shown in FIG. 5 is executed, for example, at a predetermined cycle (once every 0.1 sec, etc.).

<第1モードと第2モードの切り替え>
切替部2020は、飛翔体10の制御モードを、第1モード又は第2モードに設定する。飛翔体10の制御モードは、例えば、ユーザの入力操作に基づいて設定される。具体的には、切替部2020は、第1モードを指定するユーザ入力を受け付けたら、飛翔体10の制御モードを第1モードに設定し、第2モードを指定するユーザ入力を受け付けたら、飛翔体10の制御モードを第2モードに設定する。
<Switching between 1st mode and 2nd mode>
The switching unit 2020 sets the control mode of the flying object 10 to the first mode or the second mode. The control mode of the projectile 10 is set based on, for example, a user input operation. Specifically, when the switching unit 2020 receives the user input for designating the first mode, the control mode of the projectile 10 is set to the first mode, and when the user input for designating the second mode is received, the projectile body 10 is set. The control mode of 10 is set to the second mode.

その他にも例えば、第1モードと第2モードの切り替えは、切替部2020によって自動的に行われてもよい。例えば、飛翔体10が所定の作業位置で作業を行うために、その作業位置へ向かっているとする。この場合、切替部2020は、飛翔体10の現在位置と作業位置との距離に基づいて、モードの切り替えを行う。より具体的には、切替部2020は、飛翔体10の現在位置と作業所定との距離が閾値以上である場合には、飛翔体10の制御モードを第2モードに設定し、その距離が閾値未満である場合には、飛翔体10の制御モードを第1モードに設定する。こうすることで、作業位置から或る程度離れている段階では、飛翔体10の機体中心などを優先した制御によってエネルギー効率等を重視することができる。また、作業位置に或る程度近づいた場合には、アーム20を優先した制御によって、正確な作業を行うための準備をすることができる。なお、モードの切り替えに利用する上記閾値は、切替部2020に予め設定しておいてもよいし、切替部2020からアクセス可能な記憶装置に記憶させておいてもよい。 In addition, for example, switching between the first mode and the second mode may be automatically performed by the switching unit 2020. For example, it is assumed that the flying object 10 is heading to the working position in order to perform the work at the predetermined working position. In this case, the switching unit 2020 switches the mode based on the distance between the current position of the flying object 10 and the working position. More specifically, when the distance between the current position of the flying object 10 and the predetermined work is equal to or greater than the threshold value, the switching unit 2020 sets the control mode of the flying object 10 to the second mode, and the distance is the threshold value. If it is less than, the control mode of the flying object 10 is set to the first mode. By doing so, at a stage of being away from the working position to some extent, energy efficiency and the like can be emphasized by controlling the flying object 10 with priority given to the center of the airframe and the like. Further, when the work position is approached to some extent, the arm 20 can be controlled with priority to prepare for accurate work. The threshold value used for mode switching may be set in advance in the switching unit 2020, or may be stored in a storage device accessible from the switching unit 2020.

<飛翔体10の飛行制御:S104とS106>
飛翔体10の飛行制御は、飛翔体10の現在の状態と飛翔体10の目標の状態とに基づいて飛翔体10に対する制御入力を決定し、その制御入力を制御対象(飛翔体10のアクチュエータなど)に出力することで実現される。ここで、決定した制御入力を制御対象へ出力する技術には、既存の技術を利用することができる。そこで、ここでは、飛翔体10の現在の状態と飛翔体10の目標の状態とを把握する方法、及びそれらに基づいて飛翔体10に対する制御入力を決定する方法について説明する。
<Flight control of projectile 10: S104 and S106>
The flight control of the flying object 10 determines the control input for the flying object 10 based on the current state of the flying object 10 and the target state of the flying object 10, and controls the control input (actuator of the flying object 10 or the like). It is realized by outputting to). Here, an existing technique can be used as a technique for outputting the determined control input to the control target. Therefore, here, a method of grasping the current state of the flying object 10 and the target state of the flying object 10 and a method of determining the control input for the flying object 10 based on them will be described.

<<現在の状態を把握する方法>>
飛翔体10の現在の状態を表す状態モデルと、飛翔体10の観測を表す観測モデルは、例えば以下の様に表される。

Figure 2020066549
ここで、X(t) は時刻 t における飛翔体10の状態を表す。X'(t) は、時刻 t における状態の変化を表す。U(t) は飛翔体10に対する制御入力を表す。D は外乱を表す。A と B は状態モデルの係数である。Y(t) は、時刻 t における飛翔体10の観測を表す。<< How to grasp the current state >>
The state model representing the current state of the projectile 10 and the observation model representing the observation of the projectile 10 are represented as follows, for example.
Figure 2020066549
Here, X (t) represents the state of the projectile 10 at time t. X'(t) represents the change in state at time t. U (t) represents the control input for the projectile 10. D represents a disturbance. A and B are the coefficients of the state model. Y (t) represents the observation of the projectile 10 at time t.

なおここでは、状態を線形変換することで観測が得られるものとしてモデル化されている。しかしながら、観測と状態の関係は、必ずしもこの関係に限定されない。例えば、観測誤差(ガウス分布に従う確率的な誤差など)を表す誤差項を観測モデルに導入してもよい。 Here, it is modeled as an observation can be obtained by linearly transforming the state. However, the relationship between observation and state is not necessarily limited to this relationship. For example, an error term representing an observation error (such as a stochastic error following a Gaussian distribution) may be introduced into the observation model.

制御部2040は、飛翔体10の現在の状態を推定する。具体的には、制御部2040は、センサ等を利用して得られた現在時刻 t における飛翔体10に関する観測値と、前述した状態モデル及び観測モデルとを用いて、飛翔体10の現在の(時刻 t の)状態を推定する。なお、観測値、状態モデル、及び観測モデルを用いて状態を推定する技術には、例えばカルマンフィルタなどの既存のアルゴリズムを利用することができる。また、これらのアルゴリズムを利用して、前述した観測モデルや状態モデルにおけるパラメータが、観測値を利用して更新されていく。 The control unit 2040 estimates the current state of the projectile 10. Specifically, the control unit 2040 uses the observed value of the flying object 10 at the current time t obtained by using a sensor or the like, and the above-mentioned state model and the observation model, and uses the current (state model) and the observation model of the flying object 10 ( Estimate the state (at time t). An existing algorithm such as a Kalman filter can be used for the technique of estimating the state using the observed value, the state model, and the observed model. In addition, using these algorithms, the parameters in the above-mentioned observation model and state model are updated using the observed values.

飛翔体10の状態を定める要素、すなわち、ベクトル X の要素には、飛翔体10の種類ごとに、様々なものを採用することができる。飛翔体10がマルチコプターである場合、例えば状態ベクトル X は、以下の様に定められる。

Figure 2020066549
As the element that determines the state of the projectile 10, that is, the element of the vector X, various elements can be adopted for each type of the projectile 10. When the projectile 10 is a multicopter, for example, the state vector X is defined as follows.
Figure 2020066549

ここで、x、y、及び z は、飛翔体10の第2位置40(例えば、飛翔体10の機体中心)の x 座標、y 座標、及び z 座標を表す。xarm、yarm、及び zarm は、第1位置30(例えば、アーム20の先端位置)の x 座標、y 座標、及び z 座標を表す。記号 ' は、時刻 t における変化(すなわち微分)を意味する。例えば x' は、時刻 t における飛翔体10の第2位置40の x 座標の変化を表す。状態ベクトル X には、飛翔体10に関するその他の状態(例えば、飛翔体10の姿勢を表すロール角、ピッチ角、及びヨー角など)が含まれてもよい。 Here, x, y, and z represent the x-coordinate, y-coordinate, and z-coordinate of the second position 40 of the flying object 10 (for example, the center of the flying object 10). xarm, yarm, and zarm represent the x-coordinate, y-coordinate, and z-coordinate of the first position 30 (for example, the tip position of the arm 20). The symbol'means the change (ie, derivative) at time t. For example, x'represents the change in the x-coordinate of the second position 40 of the projectile 10 at time t. The state vector X may include other states relating to the projectile 10, such as a roll angle, a pitch angle, and a yaw angle that represent the attitude of the projectile 10.

これら飛翔体10の状態を定める種々の要素の値は、例えば、種々のセンサの検出値で定まる観測モデルの出力から推定することができる。ここで、センサを利用して、飛翔体の位置などの状態を定めるための観測を行う技術には、既存の様々な技術を利用することができる。 The values of the various elements that determine the state of the projectile 10 can be estimated from, for example, the output of the observation model determined by the detection values of the various sensors. Here, various existing techniques can be used as a technique for observing to determine a state such as a position of a flying object by using a sensor.

例えば、飛翔体10に IMU(inertial measurement unit)センサなどの内界センサを設けておく。IMU センサを利用することにより、飛翔体10の位置を定める x, y, z それぞれの加速度 x'', y'', 及び z'' を観測することができる。そして、観測された加速度 x'', y'', z'' を用いて拡張カルマンフィルタなどのアルゴリズムを実行することにより、飛翔体10の位置 (x,y,z) を推定することができる。 For example, the flying object 10 is provided with an internal sensor such as an IMU (inertial measurement unit) sensor. By using the IMU sensor, it is possible to observe the accelerations x'', y'', and z'' of x, y, and z that determine the position of the projectile 10. Then, the position (x, y, z) of the projectile 10 can be estimated by executing an algorithm such as an extended Kalman filter using the observed accelerations x'', y'', z''.

また、観測の精度を高めるために、内界センサと併用して、外界センサが用いられてもよい。外界センサとしては、例えば、トータルステーションを利用することができる。その他にも例えば、レーダ、ライダ、又はカメラなどを用いてもよい。 Further, in order to improve the accuracy of observation, an external sensor may be used in combination with the internal sensor. As the outside world sensor, for example, a total station can be used. In addition, for example, a radar, a rider, a camera, or the like may be used.

アームの位置 (xarm, yarm, zarm) については、飛翔体10の位置 (x,y,z) との相対位置を予め定めておく。こうすることで、センサの検出値を利用して算出した飛翔体10の位置から、アームの位置を算出することができる。 Regarding the position of the arm (xarm, yarm, zarm), the position relative to the position (x, y, z) of the projectile 10 is determined in advance. By doing so, the position of the arm can be calculated from the position of the flying object 10 calculated by using the detection value of the sensor.

<<制御入力を決定する方法>>
制御部2040は、飛翔体10の現在の状態を目標状態へ変化させるように、飛翔体10を制御する。具体的には、制御部2040は、飛翔体10の現在の状態を目標状態に変化させるために必要な、飛翔体10に対する制御入力 U を決定する。なお、目標状態の定め方については後述する。
<< How to determine control input >>
The control unit 2040 controls the flying object 10 so as to change the current state of the flying object 10 to the target state. Specifically, the control unit 2040 determines the control input U for the flying object 10, which is necessary for changing the current state of the flying object 10 to the target state. The method of setting the target state will be described later.

制御入力 U は、例えば、評価関数 J(X, Xref, U) に基づく以下の目的関数を満たすように決定される。

Figure 2020066549
The control input U is determined to satisfy, for example, the following objective function based on the evaluation function J (X, Xref, U).
Figure 2020066549

評価関数 J は、現実の状態 X と目標状態 Xref の誤差、及び制御入力 U を評価している。i はステップ番号を表す。ステップ番号とは、離散時間に割り当てた番号である。H は予測ホライズン長を表す。すなわち、評価関数 J は、H ステップ先までの予測について評価を行う。Q は、時点 i における現実の状態と目標状態の誤差の重みを表す行列である。R は、制御入力の重みを表す行列である。ここでは、飛翔体10がクアッドコプターであり、飛翔体10に対し、各プロペラの回転速度を制御する制御入力を与えることができることを仮定している。そして、重み行列 R の各要素は、各プロペラについて与える制御入力の重みを表している。 The evaluation function J evaluates the error between the real state X and the target state Xref, and the control input U. i represents the step number. The step number is a number assigned to the discrete time. H represents the predicted horizon length. That is, the evaluation function J evaluates the prediction up to the H step ahead. Q is a matrix that represents the weight of the error between the real state and the target state at time i. R is a matrix that represents the weights of the control inputs. Here, it is assumed that the flying object 10 is a quadcopter and can give the flying object 10 a control input for controlling the rotation speed of each propeller. Then, each element of the weight matrix R represents the weight of the control input given for each propeller.

ここで、上述した目的関数を満たす制御入力 U の具体的な算出方法、すなわち、評価関数 J を最小化する制御入力 U の具体的な算出方法には、既存の手法を利用することができる。 Here, an existing method can be used for a specific calculation method of the control input U that satisfies the above-mentioned objective function, that is, a specific calculation method of the control input U that minimizes the evaluation function J.

ここで、第1モードでは第1位置30の制御を優先する一方で、第2モードでは第2位置40の制御を優先する。このような制御の違いは、上述した評価関数における重み行列 Q の内容を変化させることで実現できる。具体的には、第1モードでは、第1位置30を表す要素である xarm、yarm、及び zarm に対する重み(q7、q8、及び q9)を、第2位置40を表す要素である x、y、及び z に対する重み(q1、q3、及び q5)よりも大きくする。こうすることで、第1位置30の誤差が評価関数に与える影響が、第2位置40の誤差が評価関数に与える影響よりも大きくなるため、第1位置30の制御が優先されることになる。 Here, in the first mode, the control of the first position 30 is prioritized, while in the second mode, the control of the second position 40 is prioritized. Such a difference in control can be realized by changing the contents of the weight matrix Q in the evaluation function described above. Specifically, in the first mode, the weights (q7, q8, and q9) for the elements xarm, yarm, and zarm representing the first position 30, and the elements x, y, representing the second position 40. And greater than the weights for z (q1, q3, and q5). By doing so, the influence of the error of the first position 30 on the evaluation function becomes larger than the influence of the error of the second position 40 on the evaluation function, so that the control of the first position 30 is prioritized. ..

一方、第2モードでは、第2位置40を表す要素である x、y、及び z に対する重み(q1、q3、及び q5)を、第1位置30を表す要素である xarm、yarm、及び zarm に対する重み(q7、q8、及び q9)よりも大きくする。こうすることで、第2位置40の誤差が評価関数に与える影響が、第1位置30の誤差が評価関数に与える影響よりも大きくなるため、第2位置40の制御が優先されることになる。 On the other hand, in the second mode, the weights (q1, q3, and q5) for the elements x, y, and z representing the second position 40 are given to the elements xarm, yarm, and zarm representing the first position 30. Greater than the weights (q7, q8, and q9). By doing so, the influence of the error of the second position 40 on the evaluation function becomes larger than the influence of the error of the first position 30 on the evaluation function, so that the control of the second position 40 is prioritized. ..

なお、重み行列 R の設定については、実施形態2で説明する。第1モードと第2モードの切り替えのみを考慮する場合には、R の値は固定でよい。 The setting of the weight matrix R will be described in the second embodiment. When only the switching between the first mode and the second mode is considered, the value of R may be fixed.

第1モードと第2モードにおける制御の切り替えを実現するためには、前述したように、重み行列 Q を変更する必要がある。そこで例えば、第1モード用の重み行列 Q1 と、第2モード用の重み行列 Q2 を、予め制御部2040からアクセス可能な記憶装置に記憶させておく。制御モードが第1モードであると判定した場合(S102:第1モード)、制御部2040は、上記記憶装置から Q1 を読み出して上述の目的関数に設定し、その目的関数を満たす制御入力 U を決定する。こうすることで、第1位置30を優先した制御を実現する。一方、制御モードが第2モードであると判定した場合(S102:第2モード)、制御部2040は、上記記憶装置から Q2 を読み出して上述の目的関数に設定し、その目的関数を満たす制御入力 U を決定する。こうすることで、第2位置40を優先した制御を実現する。 In order to switch the control between the first mode and the second mode, it is necessary to change the weight matrix Q as described above. Therefore, for example, the weight matrix Q1 for the first mode and the weight matrix Q2 for the second mode are stored in advance in a storage device accessible from the control unit 2040. When it is determined that the control mode is the first mode (S102: first mode), the control unit 2040 reads Q1 from the storage device, sets it as the objective function, and sets the control input U satisfying the objective function. decide. By doing so, the control in which the first position 30 is prioritized is realized. On the other hand, when it is determined that the control mode is the second mode (S102: second mode), the control unit 2040 reads Q2 from the storage device, sets it as the objective function, and satisfies the objective function. Determine U. By doing so, the control in which the second position 40 is prioritized is realized.

<<目標状態を設定する方法>>
制御部2040は、飛翔体10の現在の状態 X を目標状態 Xref に近づけるように、制御入力を決定する。ここで、制御対象の目標状態を定める方法には、既存の技術を利用することができる。ここでは、その方法の一例を記載する。
<< How to set the target state >>
The control unit 2040 determines the control input so that the current state X of the projectile 10 approaches the target state Xref. Here, existing technology can be used as a method for determining the target state of the controlled object. Here, an example of the method will be described.

例えば、飛翔体10について、予め飛行計画を定めておく。飛行計画は、飛翔体10の理想状態の時系列データとして定められる。ここで、外乱の影響などにより、飛翔体10の実際の状態は理想状態とは異なるものになりうる。そして、飛翔体10の実際の状態と理想状態との差異が大きくなると、飛翔体10の状態を一度の制御で理想状態に戻すことは難しい。そこで制御部2040は、飛翔体10の状態を理想状態に戻すための飛行計画を動的に生成する。この飛行計画が、飛翔体10の参照状態の時系列データを表す。 For example, a flight plan is determined in advance for the projectile 10. The flight plan is defined as time-series data of the ideal state of the projectile 10. Here, the actual state of the projectile 10 may be different from the ideal state due to the influence of disturbance or the like. Then, when the difference between the actual state and the ideal state of the flying object 10 becomes large, it is difficult to return the state of the flying object 10 to the ideal state by one control. Therefore, the control unit 2040 dynamically generates a flight plan for returning the state of the flying object 10 to the ideal state. This flight plan represents the time-series data of the reference state of the projectile 10.

<結果の出力>
制御装置2000は、制御部2040によって決定された制御入力を表す制御信号を、飛翔体10に対して出力する。こうすることで、飛翔体10の飛行の制御を実現する。なお、モデル予測制御によって決定した制御信号に基づいて制御対象を制御する技術には、既存の技術を利用することができる。
<Result output>
The control device 2000 outputs a control signal representing the control input determined by the control unit 2040 to the flying object 10. By doing so, the flight control of the projectile 10 is realized. An existing technique can be used as a technique for controlling the control target based on the control signal determined by the model predictive control.

[実施形態2]
<概要>
実施形態2の制御装置2000では、飛翔体10の制御モードとして、第3制御モードが設けられている。第3制御モードは、飛翔体10において外乱の影響が大きい場合に利用され、外乱の抑制を優先して、飛翔体10の制御が行われる。
[Embodiment 2]
<Overview>
In the control device 2000 of the second embodiment, a third control mode is provided as a control mode of the flying object 10. The third control mode is used when the influence of the disturbance is large on the flying object 10, and the flying object 10 is controlled with priority given to the suppression of the disturbance.

<作用効果>
風などの外乱の影響が大きい場合、衝突や墜落などの事態を避けるため、外乱を抑制することが重要となる。本実施形態の制御装置2000によれば、外乱の影響が大きい場合に、外乱の抑制を優先して飛翔体10の飛行制御を行うことにより、飛翔体10の安全な飛行を実現することができる。
<Effect>
When the influence of a disturbance such as wind is large, it is important to suppress the disturbance in order to avoid a situation such as a collision or a crash. According to the control device 2000 of the present embodiment, when the influence of the disturbance is large, the flight control of the flying object 10 is performed with priority given to the suppression of the disturbance, so that the flying object 10 can fly safely. ..

なお、外乱の大きさを把握する技術には、既存の技術を利用することができる。例えば外乱の大きさは、外乱センサを用いて把握することができる。その他にも例えば、外乱の大きさは、数式(1)における D のノルムとして推定することができる。 The existing technology can be used as the technology for grasping the magnitude of the disturbance. For example, the magnitude of the disturbance can be grasped by using the disturbance sensor. In addition, for example, the magnitude of the disturbance can be estimated as the norm of D in the equation (1).

<機能構成の例>
実施形態2の制御装置2000の機能構成は、実施形態1の制御装置2000と同様に、例えば図3で表される。ただし、実施形態2の制御部2040は、飛翔体10に対する外乱の大きさが所定の大きさ以上である場合に、外乱の抑制を優先して飛翔体10の飛行制御を行う。
<Example of functional configuration>
The functional configuration of the control device 2000 of the second embodiment is represented by, for example, FIG. 3 as in the control device 2000 of the first embodiment. However, when the magnitude of the disturbance with respect to the flying object 10 is equal to or larger than a predetermined magnitude, the control unit 2040 of the second embodiment gives priority to suppressing the disturbance and controls the flight of the flying object 10.

<ハードウエア構成の例>
実施形態2の制御装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の制御装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の制御装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<Example of hardware configuration>
The hardware configuration of the computer that realizes the control device 2000 of the second embodiment is represented by, for example, FIG. 4 as in the first embodiment. However, the storage device 1080 of the computer 1000 that realizes the control device 2000 of the present embodiment further stores a program module that realizes the function of the control device 2000 of the present embodiment.

<処理の流れ>
図6は、実施形態2の制御装置2000によって実行される処理の流れを例示する図である。制御部2040は、飛翔体10の状態を推定する(S202)。制御部2040は、飛翔体10に対する外乱の大きさが閾値以上であるか否かを判定する(S204)。外乱の大きさが閾値以上である場合(S204:YES)、制御部2040は、外乱の抑制を優先して飛翔体10の飛行を制御する(S206)。外乱の大きさが閾値未満である場合(S206:NO)、制御部2040は、制御モードが第1モードと第2モードのどちらであるかを判定する(S208)。ここで、S208以降の処理は、図5で説明した処理と同様である。なお、図6に示す一連の処理は、図5の処理と同様、例えば所定の周期(0.1sec に1回など)で実行される。
<Processing flow>
FIG. 6 is a diagram illustrating a flow of processing executed by the control device 2000 of the second embodiment. The control unit 2040 estimates the state of the projectile 10 (S202). The control unit 2040 determines whether or not the magnitude of the disturbance with respect to the projectile 10 is equal to or greater than the threshold value (S204). When the magnitude of the disturbance is equal to or greater than the threshold value (S204: YES), the control unit 2040 controls the flight of the projectile 10 with priority given to the suppression of the disturbance (S206). When the magnitude of the disturbance is less than the threshold value (S206: NO), the control unit 2040 determines whether the control mode is the first mode or the second mode (S208). Here, the processing after S208 is the same as the processing described with reference to FIG. The series of processes shown in FIG. 6 is executed at a predetermined cycle (once every 0.1 sec, etc.), as in the process of FIG.

<外乱を抑制する方法>
外乱の抑制は、飛翔体10の飛行を制御する評価関数において、制御入力に対する評価の重みを小さくすることで実現することができる。こうすることで、外乱に対する抗力を増すことができる。
<How to suppress disturbance>
The suppression of disturbance can be realized by reducing the evaluation weight for the control input in the evaluation function that controls the flight of the flying object 10. By doing so, the resistance to disturbance can be increased.

例えば数式(3)の評価関数 J を利用する場合において、外乱の抑制を優先するとき、制御部2040は、重み行列 R の各要素の値を基準値より小さくする。一方、外乱の抑制を優先しないとき、制御部2040は、重み行列 R の各要素の値を基準値以上にする。基準値は、重み行列 R の要素ごとに異なる値であってもよいし、全ての要素で共通の値であってもよい。 For example, when the evaluation function J of the mathematical formula (3) is used and the suppression of disturbance is prioritized, the control unit 2040 sets the value of each element of the weight matrix R to be smaller than the reference value. On the other hand, when the suppression of disturbance is not prioritized, the control unit 2040 sets the value of each element of the weight matrix R to the reference value or more. The reference value may be a different value for each element of the weight matrix R, or may be a value common to all the elements.

より具体的な方法の例としては、外乱の抑制を優先するときに利用する重み行列 R1 と、外乱の抑制を優先しないときに利用する重み行列 R2 を予め定めておく。そして制御部2040は、飛翔体10に対する外乱の大きさが閾値以上である場合、評価関数 J における重み行列 R として R1 を利用する。一方、飛翔体10に対する外乱の大きさが閾値未満である場合、制御部2040は、評価関数 J における重み行列 R として R2 を利用する。なお、R1 と R2 は、制御部2040からアクセス可能な記憶装置に記憶させておく。 As an example of a more specific method, the weight matrix R1 used when the suppression of disturbance is prioritized and the weight matrix R2 used when the suppression of disturbance is not prioritized are predetermined. Then, when the magnitude of the disturbance with respect to the projectile 10 is equal to or greater than the threshold value, the control unit 2040 uses R1 as the weight matrix R in the evaluation function J. On the other hand, when the magnitude of the disturbance with respect to the projectile 10 is less than the threshold value, the control unit 2040 uses R2 as the weight matrix R in the evaluation function J. Note that R1 and R2 are stored in a storage device accessible from the control unit 2040.

[実施形態3]
<概要>
実施形態3の制御装置2000は、実施形態2の制御装置2000と同様に、飛翔体10において外乱の影響が大きい場合に外乱の抑制を行う。ただし、実施形態3の制御装置2000は、外乱の影響が大きい場合、外乱の抑制を行いつつ、第1制御モード又は第2制御モードのいずれか一方で動作する。こうすることで、飛翔体10を用いた正確な作業を実現するための制御と、エネルギー効率等を重視するための制御とを適切に切り替えつつ、外乱の抑制による飛翔体10の安全な飛行を実現することができる。
[Embodiment 3]
<Overview>
Similar to the control device 2000 of the second embodiment, the control device 2000 of the third embodiment suppresses the disturbance when the influence of the disturbance is large on the flying object 10. However, when the influence of the disturbance is large, the control device 2000 of the third embodiment operates in either the first control mode or the second control mode while suppressing the disturbance. By doing so, while appropriately switching between control for realizing accurate work using the projectile 10 and control for emphasizing energy efficiency and the like, safe flight of the projectile 10 by suppressing disturbance can be achieved. It can be realized.

<機能構成の例>
実施形態2の制御装置2000の機能構成は、実施形態1の制御装置2000と同様に、例えば図3で表される。ただし、実施形態3の制御部2040は、飛翔体10に対する外乱の大きさが所定の大きさ以上である場合に、外乱の抑制を優先した制御行う。さらに、外乱の抑制を行うか否かにかかわらず、第1モードと第2モードのいずれか一方における制御を行う。
<Example of functional configuration>
The functional configuration of the control device 2000 of the second embodiment is represented by, for example, FIG. 3 as in the control device 2000 of the first embodiment. However, when the magnitude of the disturbance with respect to the flying object 10 is equal to or larger than a predetermined magnitude, the control unit 2040 of the third embodiment gives priority to the suppression of the disturbance. Further, regardless of whether or not disturbance is suppressed, control is performed in either the first mode or the second mode.

<ハードウエア構成の例>
実施形態2の制御装置2000を実現する計算機のハードウエア構成は、実施形態1と同様に、例えば図4によって表される。ただし、本実施形態の制御装置2000を実現する計算機1000のストレージデバイス1080には、本実施形態の制御装置2000の機能を実現するプログラムモジュールがさらに記憶される。
<Example of hardware configuration>
The hardware configuration of the computer that realizes the control device 2000 of the second embodiment is represented by, for example, FIG. 4 as in the first embodiment. However, the storage device 1080 of the computer 1000 that realizes the control device 2000 of the present embodiment further stores a program module that realizes the function of the control device 2000 of the present embodiment.

<処理の流れ>
図7は、実施形態2の制御装置2000によって実行される処理の流れを例示する図である。制御部2040は、飛翔体10の状態を推定する(S302)。制御部2040は、飛翔体10に対する外乱の大きさが閾値以上であるか否かを判定する(S304)。さらに制御部2040は、外乱の大きさが閾値以上である場合(S304:YES)と外乱の大きさが閾値未満である場合(S304:NO)の双方で、飛翔体10の制御モードが第1モードと第2モードのどちらであるかを判定する(S306、S308)。
<Processing flow>
FIG. 7 is a diagram illustrating a flow of processing executed by the control device 2000 of the second embodiment. The control unit 2040 estimates the state of the projectile 10 (S302). The control unit 2040 determines whether or not the magnitude of the disturbance with respect to the projectile 10 is equal to or greater than the threshold value (S304). Further, in the control unit 2040, the control mode of the projectile 10 is first in both the case where the magnitude of the disturbance is equal to or greater than the threshold value (S304: YES) and the case where the magnitude of the disturbance is less than the threshold value (S304: NO). It is determined whether it is a mode or a second mode (S306, S308).

外乱の大きさが閾値以上であり、なおかつ飛翔体10の制御モードが第1モードである場合(S306:第1モード)、制御部2040は、外乱を抑制しつつ第1位置30を優先した飛翔体10の制御を行う(S310)。一方、外乱の大きさが閾値以上であり、なおかつ飛翔体10の制御モードが第2モードである場合(S306:第2モード)、制御部2040は、外乱を抑制しつつ第2位置40を優先した飛翔体10の制御を行う(S312)。 When the magnitude of the disturbance is equal to or greater than the threshold value and the control mode of the flying object 10 is the first mode (S306: first mode), the control unit 2040 gives priority to the first position 30 while suppressing the disturbance. The body 10 is controlled (S310). On the other hand, when the magnitude of the disturbance is equal to or greater than the threshold value and the control mode of the flying object 10 is the second mode (S306: second mode), the control unit 2040 gives priority to the second position 40 while suppressing the disturbance. The flying object 10 is controlled (S312).

外乱の大きさが閾値未満であり、なおかつ飛翔体10の制御モードが第1モードである場合(S308:第1モード)、制御部2040は、外乱の抑制は行わずに、第1位置30を優先した飛翔体10の制御を行う(S314)。一方、外乱の大きさが閾値未満であり、なおかつ飛翔体10の制御モードが第2モードである場合(S308:第2モード)、制御部2040は、外乱の抑制は行わずに、第2位置40を優先した飛翔体10の制御を行う(S316)。 When the magnitude of the disturbance is less than the threshold value and the control mode of the projectile 10 is the first mode (S308: first mode), the control unit 2040 moves the first position 30 without suppressing the disturbance. The priority projectile 10 is controlled (S314). On the other hand, when the magnitude of the disturbance is less than the threshold value and the control mode of the flying object 10 is the second mode (S308: second mode), the control unit 2040 does not suppress the disturbance and performs the second position. The flying object 10 giving priority to 40 is controlled (S316).

<外乱を抑制しつつ第1位置30を優先して制御する方法:S310>
外乱の大きさが閾値以上であり、なおかつ飛翔体10の制御モードが第1モードである場合(S306:第1モード)、制御部2040は、外乱を抑制しつつ第1位置30を優先した飛翔体10の制御を行う(S310)。実施形態2で説明したように、外乱の抑制は、飛翔体10の飛行を制御する評価関数において、制御入力に対する評価の重み(数式(4)における重み行列 R)を小さくすることで実現することができる。また、第1位置30を第2位置40よりも優先する制御は、評価関数において、第1位置30を表す要素に対する重みを、第2位置40を表す要素に対する重みよりも大きくすることで実現できる。例えば数式(4)において、第1位置30を表す要素は xarm、yarm、及び zarm であり、これらに対する重みは q7、q8、及び q9 である。また、第2位置40を表す要素は x、y、及び z であり、これらに対する重みは q1、q3、及び q5 である。
<Method of preferentially controlling the first position 30 while suppressing disturbance: S310>
When the magnitude of the disturbance is equal to or greater than the threshold value and the control mode of the flying object 10 is the first mode (S306: first mode), the control unit 2040 gives priority to the first position 30 while suppressing the disturbance. The body 10 is controlled (S310). As described in the second embodiment, the suppression of the disturbance is realized by reducing the evaluation weight for the control input (weight matrix R in the mathematical formula (4)) in the evaluation function for controlling the flight of the flying object 10. Can be done. Further, the control in which the first position 30 is prioritized over the second position 40 can be realized by making the weight for the element representing the first position 30 larger than the weight for the element representing the second position 40 in the evaluation function. .. For example, in equation (4), the elements representing the first position 30 are xarm, yarm, and zarm, and the weights for these are q7, q8, and q9. The elements representing the second position 40 are x, y, and z, and the weights for these are q1, q3, and q5.

そこで、外乱を抑制しつつ第1位置30を優先した飛翔体10の制御を行う場合、制御部2040は、飛翔体10の飛行を制御する評価関数において、1)制御入力に対する評価の重みを小さくし、なおかつ2)第1位置30を表す要素に対する重みを、第2位置40を表す要素に対する重みよりも大きくする。例えば数式(4)の評価関数を用いる場合、制御部2040は、重み行列 R として前述した重み行列 R1 を利用し、なおかつ重み行列 Q として前述した重み行列 Q1 を利用する。 Therefore, when controlling the flying object 10 in which the first position 30 is prioritized while suppressing disturbance, the control unit 2040 reduces the evaluation weight for the control input in the evaluation function for controlling the flight of the flying object 10. However, 2) the weight for the element representing the first position 30 is made larger than the weight for the element representing the second position 40. For example, when the evaluation function of the equation (4) is used, the control unit 2040 uses the above-mentioned weight matrix R1 as the weight matrix R, and also uses the above-mentioned weight matrix Q1 as the weight matrix Q.

<外乱の抑制をしつつ第2位置40を優先して制御する方法:S312>
外乱の大きさが閾値以上であり、なおかつ飛翔体10の制御モードが第2モードである場合(S306:第2モード)、制御部2040は、外乱を抑制しつつ第2位置40を優先した飛翔体10の制御を行う(S312)。第2位置40を第1位置30よりも優先する制御は、評価関数において、第2位置40を表す要素に対する重みを、第1位置30を表す要素に対する重みよりも大きくすることで実現できる。
<Method of preferentially controlling the second position 40 while suppressing disturbance: S312>
When the magnitude of the disturbance is equal to or greater than the threshold value and the control mode of the projectile 10 is the second mode (S306: second mode), the control unit 2040 gives priority to the second position 40 while suppressing the disturbance. The body 10 is controlled (S312). The control in which the second position 40 is prioritized over the first position 30 can be realized by making the weight for the element representing the second position 40 larger than the weight for the element representing the first position 30 in the evaluation function.

そこで、外乱を抑制しつつ第2位置40を優先した飛翔体10の制御を行う場合、制御部2040は、飛翔体10の飛行を制御する評価関数において、1)制御入力に対する評価の重みを小さくし、なおかつ2)第2位置40を表す要素に対する重みを、第1位置30を表す要素に対する重みよりも大きくする。例えば数式(4)の評価関数を用いる場合、制御部2040は、重み行列 R として前述した重み行列 R1 を利用し、なおかつ重み行列 Q として前述した重み行列 Q2 を利用する。 Therefore, when controlling the flying object 10 in which the second position 40 is prioritized while suppressing disturbance, the control unit 2040 reduces the evaluation weight for the control input in the evaluation function for controlling the flight of the flying object 10. However, 2) the weight for the element representing the second position 40 is made larger than the weight for the element representing the first position 30. For example, when the evaluation function of the equation (4) is used, the control unit 2040 uses the above-mentioned weight matrix R1 as the weight matrix R, and also uses the above-mentioned weight matrix Q2 as the weight matrix Q.

<外乱を抑制せずに第1位置30を優先して制御する方法:S314>
外乱の大きさが閾値未満であり、なおかつ飛翔体10の制御モードが第1モードである場合、制御部2040は、外乱の抑制は行わずに、第1位置30を優先した飛翔体10の制御を行う(S314)。実施形態2で説明したように、外乱の抑制を行わない場合には、外乱の抑制を行う場合と比較し、飛翔体10の飛行を制御する評価関数において、制御入力に対する評価の重みを大きくする。
<Method of preferentially controlling the first position 30 without suppressing disturbance: S314>
When the magnitude of the disturbance is less than the threshold value and the control mode of the projectile 10 is the first mode, the control unit 2040 controls the projectile 10 by giving priority to the first position 30 without suppressing the disturbance. (S314). As described in the second embodiment, when the disturbance is not suppressed, the evaluation weight for the control input is increased in the evaluation function for controlling the flight of the flying object 10 as compared with the case where the disturbance is suppressed. ..

そこで、外乱を抑制せずに第1位置30を優先した飛翔体10の制御を行う場合、制御部2040は、飛翔体10の飛行を制御する評価関数において、1)制御入力に対する評価の重みを大きくし、なおかつ2)第1位置30を表す要素に対する重みを、第2位置40を表す要素に対する重みよりも大きくする。例えば数式(4)の評価関数を用いる場合、制御部2040は、重み行列 R として前述した重み行列 R2 を利用し、なおかつ重み行列 Q として前述した重み行列 Q1 を利用する。 Therefore, when controlling the flying object 10 in which the first position 30 is prioritized without suppressing the disturbance, the control unit 2040 sets the evaluation weight for the control input in the evaluation function for controlling the flight of the flying object 10. In addition, 2) the weight for the element representing the first position 30 is made larger than the weight for the element representing the second position 40. For example, when the evaluation function of the equation (4) is used, the control unit 2040 uses the above-mentioned weight matrix R2 as the weight matrix R, and also uses the above-mentioned weight matrix Q1 as the weight matrix Q.

<外乱を抑制せずに第2位置40を優先して制御する方法:S316>
外乱の大きさが閾値未満であり、なおかつ飛翔体10の制御モードが第2モードである場合、制御部2040は、外乱の抑制は行わずに、第2位置40を優先した飛翔体10の制御を行う(S316)。具体的には、制御部2040は、飛翔体10の飛行を制御する評価関数において、1)制御入力に対する評価の重みを大きくし、なおかつ2)第2位置40を表す要素に対する重みを、第1位置30を表す要素に対する重みよりも大きくする。より具体的には、数式(4)の評価関数を用いる場合、制御部2040は、重み行列 R として前述した重み行列 R2 を利用し、なおかつ重み行列 Q として前述した重み行列 Q2 を利用する。
<Method of preferentially controlling the second position 40 without suppressing disturbance: S316>
When the magnitude of the disturbance is less than the threshold value and the control mode of the projectile 10 is the second mode, the control unit 2040 controls the projectile 10 by giving priority to the second position 40 without suppressing the disturbance. (S316). Specifically, in the evaluation function that controls the flight of the flying object 10, the control unit 2040 first increases the weight of the evaluation for the control input and 2) the weight for the element representing the second position 40. It is made larger than the weight for the element representing the position 30. More specifically, when the evaluation function of the equation (4) is used, the control unit 2040 uses the above-mentioned weight matrix R2 as the weight matrix R, and also uses the above-mentioned weight matrix Q2 as the weight matrix Q.

以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。 Although the embodiments of the present invention have been described above with reference to the drawings, these are examples of the present invention, and a combination of the above embodiments or various configurations other than the above can be adopted.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
1. アームを有する飛翔体の飛行を制御する制御装置であって、
前記飛翔体の飛行制御に関する制御モードを第1モードと第2モードのいずれか一方に切り替える切替部と、
前記制御モードが前記第1モードである場合には前記飛翔体の第1位置を優先して前記飛翔体の飛行を制御し、前記制御モードが前記第2モードである場合には前記飛翔体の第2位置を優先して前記飛翔体の飛行を制御する制御部と、を有し、
前記第1位置は前記アーム上の位置であり、
前記第2位置は前記アーム上の位置ではない、制御装置。
2. 前記制御部は、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御部は、
前記制御モードが前記第1モードである場合、前記評価関数において、前記飛翔体の第1位置が前記評価値に与える影響の大きさを表す第1の重みを、前記評価関数において前記飛翔体の第2位置が前記評価値に与える影響の大きさを表す第2の重みよりも大きくし、
前記制御モードが前記第2モードである場合、前記第2の重みを前記第1の重みよりも大きくする、1.に記載の制御装置。
3. 前記制御部は、前記飛翔体に対する外乱の大きさが閾値以上であるか否かを判定し、その大きさが閾値以上である場合、前記外乱の抑制を優先した前記飛翔体の飛行制御を行う、1.又は2.に記載の制御装置。
4. 前記制御部は、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御部は、前記外乱の大きさが閾値以上である場合、前記外乱の大きさが閾値未満である場合と比較し、前記評価関数において前記制御入力が前記評価値に与える影響の大きさを表す重みを小さくする、3.に記載の制御装置。
5. 前記第1位置は前記アームの先端位置であり、
前記第2位置は前記飛翔体の中心位置である、1.乃至4.いずれか一つに記載の制御装置。
Some or all of the above embodiments may also be described, but not limited to:
1. 1. A control device that controls the flight of a flying object with an arm.
A switching unit that switches the control mode related to the flight control of the flying object to either the first mode or the second mode, and
When the control mode is the first mode, the flight of the flying object is controlled by giving priority to the first position of the flying object, and when the control mode is the second mode, the flying object of the flying object is controlled. It has a control unit that gives priority to the second position and controls the flight of the flying object.
The first position is a position on the arm.
A control device in which the second position is not a position on the arm.
2. The control unit determines the control input so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input. Is output to the flying object to control the flight of the flying object.
The control unit
When the control mode is the first mode, in the evaluation function, the first weight indicating the magnitude of the influence of the first position of the flying object on the evaluation value is given to the evaluation function of the flying object. Make it larger than the second weight, which indicates the magnitude of the effect of the second position on the evaluation value.
When the control mode is the second mode, the second weight is made larger than the first weight. The control device described in.
3. 3. The control unit determines whether or not the magnitude of the disturbance with respect to the flying object is equal to or greater than the threshold value, and if the magnitude is equal to or greater than the threshold value, performs flight control of the flying object with priority given to suppressing the disturbance. 1. Or 2. The control device described in.
4. The control unit determines the control input so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input. Is output to the flying object to control the flight of the flying object.
When the magnitude of the disturbance is equal to or greater than the threshold value, the control unit determines the magnitude of the influence of the control input on the evaluation value in the evaluation function as compared with the case where the magnitude of the disturbance is less than the threshold value. 2. Reduce the weight to be represented. The control device described in.
5. The first position is the tip position of the arm.
The second position is the central position of the flying object. To 4. The control device according to any one.

6. アームを有する飛翔体の飛行を制御するコンピュータによって実行される制御方法であって、
前記飛翔体の飛行制御に関する制御モードを第1モードと第2モードのいずれか一方に切り替える切替ステップと、
前記制御モードが前記第1モードである場合には前記飛翔体の第1位置を優先して前記飛翔体の飛行を制御し、前記制御モードが前記第2モードである場合には前記飛翔体の第2位置を優先して前記飛翔体の飛行を制御する制御ステップと、を有し、
前記第1位置は前記アーム上の位置であり、
前記第2位置は前記アーム上の位置ではない、制御方法。
7. 前記制御ステップにおいて、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御ステップにおいて、
前記制御モードが前記第1モードである場合、前記評価関数において、前記飛翔体の第1位置が前記評価値に与える影響の大きさを表す第1の重みを、前記評価関数において前記飛翔体の第2位置が前記評価値に与える影響の大きさを表す第2の重みよりも大きくし、
前記制御モードが前記第2モードである場合、前記第2の重みを前記第1の重みよりも大きくする、6.に記載の制御方法。
8. 前記制御ステップにおいて、前記飛翔体に対する外乱の大きさが閾値以上であるか否かを判定し、その大きさが閾値以上である場合、前記外乱の抑制を優先した前記飛翔体の飛行制御を行う、6.又は7.に記載の制御方法。
9. 前記制御ステップにおいて、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御ステップにおいて、前記外乱の大きさが閾値以上である場合、前記外乱の大きさが閾値未満である場合と比較し、前記評価関数において前記制御入力が前記評価値に与える影響の大きさを表す重みを小さくする、8.に記載の制御方法。
10. 前記第1位置は前記アームの先端位置であり、
前記第2位置は前記飛翔体の中心位置である、6.乃至9.いずれか一つに記載の制御方法。
6. A control method performed by a computer that controls the flight of a projectile with an arm.
A switching step for switching the control mode related to the flight control of the flying object to either the first mode or the second mode, and
When the control mode is the first mode, the flight of the flying object is controlled by giving priority to the first position of the flying object, and when the control mode is the second mode, the flying object of the flying object is controlled. It has a control step that gives priority to the second position and controls the flight of the flying object.
The first position is a position on the arm.
A control method in which the second position is not a position on the arm.
7. In the control step, the control input is determined so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input is determined. Is output to the flying object to control the flight of the flying object.
In the control step
When the control mode is the first mode, in the evaluation function, the first weight indicating the magnitude of the influence of the first position of the flying object on the evaluation value is given to the evaluation function of the flying object. Make it larger than the second weight, which indicates the magnitude of the effect of the second position on the evaluation value.
When the control mode is the second mode, the second weight is made larger than the first weight. The control method described in.
8. In the control step, it is determined whether or not the magnitude of the disturbance with respect to the flying object is equal to or greater than the threshold value, and if the magnitude is equal to or greater than the threshold value, the flight control of the flying object is performed with priority given to the suppression of the disturbance. , 6. Or 7. The control method described in.
9. In the control step, the control input is determined so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input is determined. Is output to the flying object to control the flight of the flying object.
In the control step, when the magnitude of the disturbance is equal to or greater than the threshold value, the magnitude of the influence of the control input on the evaluation value in the evaluation function is determined as compared with the case where the magnitude of the disturbance is less than the threshold value. Decrease the weight to be represented, 8. The control method described in.
10. The first position is the tip position of the arm.
The second position is the central position of the projectile, 6. ~ 9. The control method according to any one.

11. 6.乃至10.いずれか一つに記載の制御方法の各ステップをコンピュータに実行させるプログラム。 11. 6. To 10. A program that causes a computer to execute each step of the control method described in any one of them.

この出願は、2018年9月26日に出願された日本出願特願2018−180552号を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority on the basis of Japanese application Japanese Patent Application No. 2018-180552 filed on September 26, 2018, the entire disclosure of which is incorporated herein by reference.

10 飛翔体
20 アーム
30 第1位置
40 第2位置
1000 計算機
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 制御装置
2020 切替部
2040 制御部
10 Flying object 20 Arm 30 1st position 40 2nd position 1000 Computer 1020 Bus 1040 Processor 1060 Memory 1080 Storage device 1100 Input / output interface 1120 Network interface 2000 Control device 2020 Switching unit 2040 Control unit

Claims (11)

アームを有する飛翔体の飛行を制御する制御装置であって、
前記飛翔体の飛行制御に関する制御モードを第1モードと第2モードのいずれか一方に切り替える切替部と、
前記制御モードが前記第1モードである場合には前記飛翔体の第1位置を優先して前記飛翔体の飛行を制御し、前記制御モードが前記第2モードである場合には前記飛翔体の第2位置を優先して前記飛翔体の飛行を制御する制御部と、を有し、
前記第1位置は前記アーム上の位置であり、
前記第2位置は前記アーム上の位置ではない、制御装置。
A control device that controls the flight of a flying object with an arm.
A switching unit that switches the control mode related to the flight control of the flying object to either the first mode or the second mode, and
When the control mode is the first mode, the flight of the flying object is controlled by giving priority to the first position of the flying object, and when the control mode is the second mode, the flying object of the flying object is controlled. It has a control unit that gives priority to the second position and controls the flight of the flying object.
The first position is a position on the arm.
A control device in which the second position is not a position on the arm.
前記制御部は、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御部は、
前記制御モードが前記第1モードである場合、前記評価関数において、前記飛翔体の第1位置が前記評価値に与える影響の大きさを表す第1の重みを、前記評価関数において前記飛翔体の第2位置が前記評価値に与える影響の大きさを表す第2の重みよりも大きくし、
前記制御モードが前記第2モードである場合、前記第2の重みを前記第1の重みよりも大きくする、請求項1に記載の制御装置。
The control unit determines the control input so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input. Is output to the flying object to control the flight of the flying object.
The control unit
When the control mode is the first mode, in the evaluation function, the first weight indicating the magnitude of the influence of the first position of the flying object on the evaluation value is given to the evaluation function of the flying object. Make it larger than the second weight, which indicates the magnitude of the effect of the second position on the evaluation value.
The control device according to claim 1, wherein when the control mode is the second mode, the second weight is made larger than the first weight.
前記制御部は、前記飛翔体に対する外乱の大きさが閾値以上であるか否かを判定し、その大きさが閾値以上である場合、前記外乱の抑制を優先した前記飛翔体の飛行制御を行う、請求項1又は2に記載の制御装置。 The control unit determines whether or not the magnitude of the disturbance with respect to the flying object is equal to or greater than the threshold value, and if the magnitude is equal to or greater than the threshold value, the control unit performs flight control of the flying object with priority given to suppressing the disturbance. , The control device according to claim 1 or 2. 前記制御部は、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御部は、前記外乱の大きさが閾値以上である場合、前記外乱の大きさが閾値未満である場合と比較し、前記評価関数において前記制御入力が前記評価値に与える影響の大きさを表す重みを小さくする、請求項3に記載の制御装置。
The control unit determines the control input so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input. Is output to the flying object to control the flight of the flying object.
When the magnitude of the disturbance is equal to or greater than the threshold value, the control unit determines the magnitude of the influence of the control input on the evaluation value in the evaluation function as compared with the case where the magnitude of the disturbance is less than the threshold value. The control device according to claim 3, wherein the weight represented is reduced.
前記第1位置は前記アームの先端位置であり、
前記第2位置は前記飛翔体の中心位置である、請求項1乃至4いずれか一項に記載の制御装置。
The first position is the tip position of the arm.
The control device according to any one of claims 1 to 4, wherein the second position is a central position of the flying object.
アームを有する飛翔体の飛行を制御するコンピュータによって実行される制御方法であって、
前記飛翔体の飛行制御に関する制御モードを第1モードと第2モードのいずれか一方に切り替える切替ステップと、
前記制御モードが前記第1モードである場合には前記飛翔体の第1位置を優先して前記飛翔体の飛行を制御し、前記制御モードが前記第2モードである場合には前記飛翔体の第2位置を優先して前記飛翔体の飛行を制御する制御ステップと、を有し、
前記第1位置は前記アーム上の位置であり、
前記第2位置は前記アーム上の位置ではない、制御方法。
A control method performed by a computer that controls the flight of a projectile with an arm.
A switching step for switching the control mode related to the flight control of the flying object to either the first mode or the second mode, and
When the control mode is the first mode, the flight of the flying object is controlled by giving priority to the first position of the flying object, and when the control mode is the second mode, the flying object of the flying object is controlled. It has a control step that gives priority to the second position and controls the flight of the flying object.
The first position is a position on the arm.
A control method in which the second position is not a position on the arm.
前記制御ステップにおいて、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御ステップにおいて、
前記制御モードが前記第1モードである場合、前記評価関数において、前記飛翔体の第1位置が前記評価値に与える影響の大きさを表す第1の重みを、前記評価関数において前記飛翔体の第2位置が前記評価値に与える影響の大きさを表す第2の重みよりも大きくし、
前記制御モードが前記第2モードである場合、前記第2の重みを前記第1の重みよりも大きくする、請求項6に記載の制御方法。
In the control step, the control input is determined so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input is determined. Is output to the flying object to control the flight of the flying object.
In the control step
When the control mode is the first mode, in the evaluation function, the first weight indicating the magnitude of the influence of the first position of the flying object on the evaluation value is given to the evaluation function of the flying object. Make it larger than the second weight, which indicates the magnitude of the effect of the second position on the evaluation value.
The control method according to claim 6, wherein when the control mode is the second mode, the second weight is made larger than the first weight.
前記制御ステップにおいて、前記飛翔体に対する外乱の大きさが閾値以上であるか否かを判定し、その大きさが閾値以上である場合、前記外乱の抑制を優先した前記飛翔体の飛行制御を行う、請求項6又は7に記載の制御方法。 In the control step, it is determined whether or not the magnitude of the disturbance with respect to the flying object is equal to or greater than the threshold value, and if the magnitude is equal to or greater than the threshold value, the flight control of the flying object is performed with priority given to the suppression of the disturbance. , The control method according to claim 6 or 7. 前記制御ステップにおいて、前記飛翔体の現在の状態と目標の状態との誤差及び制御入力に基づいて評価値を算出する評価関数を小さくするように、前記制御入力を決定し、前記決定した制御入力を前記飛翔体に出力することで、前記飛翔体の飛行を制御し、
前記制御ステップにおいて、前記外乱の大きさが閾値以上である場合、前記外乱の大きさが閾値未満である場合と比較し、前記評価関数において前記制御入力が前記評価値に与える影響の大きさを表す重みを小さくする、請求項8に記載の制御方法。
In the control step, the control input is determined so as to reduce the evaluation function for calculating the evaluation value based on the error between the current state of the flying object and the target state and the control input, and the determined control input is determined. Is output to the flying object to control the flight of the flying object.
In the control step, when the magnitude of the disturbance is equal to or greater than the threshold value, the magnitude of the influence of the control input on the evaluation value in the evaluation function is determined as compared with the case where the magnitude of the disturbance is less than the threshold value. The control method according to claim 8, wherein the weight to be represented is reduced.
前記第1位置は前記アームの先端位置であり、
前記第2位置は前記飛翔体の中心位置である、請求項6乃至9いずれか一項に記載の制御方法。
The first position is the tip position of the arm.
The control method according to any one of claims 6 to 9, wherein the second position is the central position of the flying object.
請求項6乃至10いずれか一項に記載の制御方法の各ステップをコンピュータに実行させるプログラム。 A program that causes a computer to execute each step of the control method according to any one of claims 6 to 10.
JP2020548328A 2018-09-26 2019-09-06 Controls, control methods, and programs Active JP7067629B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018180552 2018-09-26
JP2018180552 2018-09-26
PCT/JP2019/035144 WO2020066549A1 (en) 2018-09-26 2019-09-06 Control device, control method, and program

Publications (2)

Publication Number Publication Date
JPWO2020066549A1 true JPWO2020066549A1 (en) 2021-08-30
JP7067629B2 JP7067629B2 (en) 2022-05-16

Family

ID=69953437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020548328A Active JP7067629B2 (en) 2018-09-26 2019-09-06 Controls, control methods, and programs

Country Status (2)

Country Link
JP (1) JP7067629B2 (en)
WO (1) WO2020066549A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062529A (en) * 2015-09-24 2017-03-30 キヤノン株式会社 Direction control method
CN107656536A (en) * 2016-07-26 2018-02-02 上海俏动智能化科技有限公司 A kind of automatic spraying method for plant protection unmanned plane
JP2019085040A (en) * 2017-11-09 2019-06-06 株式会社Soken Flight device
JP2019113992A (en) * 2017-12-22 2019-07-11 カシオ計算機株式会社 Flight device, and method and program for controlling flight device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017062529A (en) * 2015-09-24 2017-03-30 キヤノン株式会社 Direction control method
CN107656536A (en) * 2016-07-26 2018-02-02 上海俏动智能化科技有限公司 A kind of automatic spraying method for plant protection unmanned plane
JP2019085040A (en) * 2017-11-09 2019-06-06 株式会社Soken Flight device
JP2019113992A (en) * 2017-12-22 2019-07-11 カシオ計算機株式会社 Flight device, and method and program for controlling flight device

Also Published As

Publication number Publication date
WO2020066549A1 (en) 2020-04-02
JP7067629B2 (en) 2022-05-16

Similar Documents

Publication Publication Date Title
Yang et al. Modeling of a complex-shaped underwater vehicle for robust control scheme
Herissé et al. Landing a VTOL unmanned aerial vehicle on a moving platform using optical flow
de Angelis et al. Two-time-scale control of a multirotor aircraft for suspended load transportation
Sarabakha et al. Novel Levenberg–Marquardt based learning algorithm for unmanned aerial vehicles
EP2781314A1 (en) Robot picking system, control device, and method of manufacturing a workpiece
Khalifa et al. Modeling and control of a new quadrotor manipulation system
CN106094606A (en) A kind of unmanned surface vehicle navigation and control remote-controlled operation platform
JP4640760B2 (en) Waveform prediction method of incoming waves and driving control method of navigation body in waves
Li et al. PCMPC: Perception-constrained model predictive control for quadrotors with suspended loads using a single camera and IMU
JP2019113992A (en) Flight device, and method and program for controlling flight device
Pêtrès et al. Reactive path planning for autonomous sailboat
JP6882243B2 (en) Avoidance support device
Miyazaki et al. Long-reach aerial manipulation employing wire-suspended hand with swing-suppression device
Júnior et al. N-boat: An autonomous robotic sailboat
Hancer et al. Designing 3-DOF hardware-in-the-loop test platform controlling multirotor vehicles
Jacquet et al. Perception-constrained and Motor-level Nonlinear MPC for both Underactuated and Tilted-propeller UAVS
Hassanein et al. Fuzzy modeling and control for autonomous underwater vehicle
Miyazaki et al. Wire-suspended device control based on wireless communication with multirotor for long reach-aerial manipulation
Hamaza et al. 2d contour following with an unmanned aerial manipulator: Towards tactile-based aerial navigation
Danko et al. Evaluation of visual servoing control of aerial manipulators using test gantry emulation
JP7067629B2 (en) Controls, control methods, and programs
Mišković et al. Unmanned marsupial sea-air system for object recovery
Bryson et al. An information-theoretic approach to autonomous navigation and guidance of an uninhabited aerial vehicle in unknown environments
WO2020149020A1 (en) Robot control device, robot control method, and robot control program
Arifin et al. Experimental modeling of a quadrotor uav using an indoor local positioning system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R151 Written notification of patent or utility model registration

Ref document number: 7067629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151