Program Correction System

The program correction system automates parameter adjustment in drones, reducing designer workload and optimizing performance by using a subprogram, simulation, and measurement units to meet predefined conditions.

JP7737221B2Active Publication Date: 2025-09-10SUBARU CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2020032737
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-02-28
Publication Date
2025-09-10
Estimated Expiration
2040-02-28

AI Technical Summary

Technical Problem

The manual setting of various parameters for propeller drive control in drones increases the workload for designers.

Method used

A program correction system that includes a subprogram, simulation unit, measurement unit, and program correction unit to automatically adjust parameter settings in the main and subprograms to meet predetermined conditions, using simulation and measurement results to optimize drone performance.

Benefits of technology

Reduces the design burden by automating the parameter setting process, ensuring efficient and optimized drone performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007737221000001
    Figure 0007737221000001
  • Figure 0007737221000002
    Figure 0007737221000002
  • Figure 0007737221000003
    Figure 0007737221000003
Patent Text Reader

Abstract

To reduce burdens to a designer in a design task.SOLUTION: A program correction system 200 comprises: a subprogram 308 for generating flight instruction information to be provided to a main program 114 for performing drive control of a motor (motor 106a) of an unmanned flight device 100; a simulation part 304 which executes simulation of a motion of the unmanned flight device 100; a measurement part 404 which measures the motion of the unmanned flight device 100; and a program correction part 310 which executes correction of the main program 114 and the subprogram 308 on the basis of a measurement result by the measurement part 404, and an execution result of the simulation by the simulation part 304.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program modification system. [Background technology]

[0002] Patent Document 1 discloses a so-called drone that obtains lift by rotating a propeller with an engine or a motor. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 4-173497 Summary of the Invention [Problem to be solved by the invention]

[0004] In designing a drone such as that described in Patent Document 1, for example, various parameters related to propeller drive control must be set. If all of these parameters are set manually, there is a problem in that the workload increases.

[0005] An object of the present invention is to provide a program correction system that can reduce the burden on designers in design work. [Means for solving the problem]

[0006] In order to solve the above problem, the program correction system of the present invention comprises a subprogram that generates flight instruction information to be provided to a main program that drives and controls the power unit of an unmanned aerial vehicle, a simulation unit that executes a simulation of the movement of the unmanned aerial vehicle, a measurement unit that measures the movement of the unmanned aerial vehicle, and a program correction unit that executes corrections to the main program and the subprogram based on the measurement results by the measurement unit and the execution results of the simulation by the simulation unit, wherein the main program and the subprogram are provided with one or more target parameters with a predetermined modifiable range within which the parameter settings can be modified, and the program correction unit adjusts the program so that the difference between the measurement results by the measurement unit and the execution results of the simulation by the simulation unit satisfies a predetermined condition set in advance. a first modification process for changing the target parameter provided in the main program within the modifiable range a predetermined number of times; and if, after the first modification process has been performed the predetermined number of times, a difference between the measurement result by the measurement unit and the execution result of the simulation by the simulation unit does not satisfy the predetermined condition, a second modification process for changing the target parameter provided in the subprogram within the modifiable range so that the difference between the measurement result by the measurement unit and the execution result of the simulation by the simulation unit satisfies the predetermined condition. .

[0007] The program correction unit compares the measurement result by the measurement unit with the execution result of the simulation by the simulation unit, and the comparison result is The aforementioned If a predetermined condition is not met, the main program and the sub-program may be modified.

[0008] The system may also include a command unit that instructs the subprogram and the simulation unit to perform a real-life test of the unmanned flying device based on predetermined environmental information, and instructs the simulation unit to perform a simulation of the movement of the unmanned flying device based on the environmental information, wherein the subprogram transmits the flight instruction information generated based on the environmental information to the main program, and the simulation unit performs a simulation of the movement of the unmanned flying device or the real-life test of the unmanned flying device based on the environmental information, based on the environmental information.

[0009] In addition, when the actual aircraft test of the unmanned flying device based on the environmental information is carried out, the simulation unit controls an environmental reproduction device that reproduces the surrounding environment of the unmanned flying device based on the environmental information, and the environmental reproduction device may be equipped with at least one of a rainmaking device, a blower device, a heat source device, a video device, an audio device, and a radio wave jamming device. [Effects of the Invention]

[0010] According to the present invention, it is possible to reduce the burden on designers in design work. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 2 is a schematic perspective view of the unmanned flying device and controller according to the present embodiment. [Figure 2] 1 is a block diagram showing a configuration of a program correction system according to an embodiment of the present invention. [Figure 3] FIG. 10 is a diagram illustrating a comparison process in the program correction unit. [Figure 4] 10 is a flowchart showing processing in a command unit. [Figure 5] 10 is a flowchart showing a process in a simulation unit. [Figure 6] 10 is a flowchart showing a process in a subprogram. [Figure 7] 10 is a flowchart showing the processing in the main program. [Figure 8] 10 is a flowchart showing a process in a program correction unit. DETAILED DESCRIPTION OF THE INVENTION

[0012] Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Dimensions, materials, and other specific values ​​shown in the embodiments are merely examples for facilitating understanding of the invention and, unless otherwise specified, do not limit the present invention. In this specification and drawings, elements having substantially the same functions and configurations are designated by the same reference numerals to avoid redundant explanation, and elements not directly related to the present invention are not shown.

[0013] 1 is a schematic perspective view of an unmanned flying device 100 and a controller 120 according to this embodiment. The unmanned flying device 100 is a multicopter that can obtain lift (thrust) by rotating wings, and is an unmanned aircraft known as a drone.

[0014] The unmanned flying device 100 includes a main body 102, an arm 104, and a rotor 106. The main body 102 includes a power source (battery) 108, a central control unit 110, and a receiving unit 112.

[0015] The power supply 108 supplies power to each part of the unmanned flying device 100 (for example, the rotor part 106 and the central control part 110).

[0016] As shown in FIG. 1, in this embodiment, four combinations of arm unit 104 and rotor unit 106 are arranged around main body unit 102. Arm unit 104 has a power supply path for supplying power to rotor unit 106. One end of arm unit 104 is connected to main body unit 102, and the other end is connected to rotor unit 106. Arm unit 104 connects main body unit 102 and rotor unit 106, and supports rotor unit 106. Rotor unit 106 also has a power unit (motor 106a) and rotor 106b connected to motor 106a.

[0017] The receiving unit 112 also receives flight instruction information transmitted from the transmitting unit 122 of the controller 120, which is a transmitter capable of wirelessly transmitting flight instruction information. The flight instruction information specifically includes, for example, control signals related to the ascent, descent, hovering, and horizontal movement of the unmanned flying device 100.

[0018] The central control unit 110 includes a main program 114 for controlling the rotor unit 106 and controlling the ascent, descent, hovering, horizontal movement, and the like of the unmanned flying device 100.

[0019] The main program 114 performs calculations based on the flight instruction information received by the receiving unit 112, controls each motor 106a of the rotor unit 106, and controls the ascent, descent, hovering, horizontal movement, etc. of the unmanned flying device 100.

[0020] Incidentally, in order for the main program 114 to perform calculations when controlling each motor 106a of the rotor section 106, it is necessary to set various parameters. Since the behavior characteristics differ depending on the arrangement of each component constituting the unmanned flying device 100 and the type of motor 106a, if all of these parameters were set manually, the workload would increase. Therefore, in this embodiment, the workload can be reduced by automatically setting the parameters in the main program 114 and the subprogram 308 described below.

[0021] 2 is a schematic block diagram showing the configuration of a program correction system 200 according to this embodiment. As shown in FIG. 2, the program correction system 200 includes an unmanned flying device 100 and an automatic test and correction device 300.

[0022] The automatic test and correction device 300 includes a command unit 302, a simulation unit 304, a storage unit 306, a subprogram 308, and a program correction unit 310. The automatic test and correction device 300 is, for example, a personal computer.

[0023] The automatic test and automatic correction device 300 receives as input environmental information 400 indicating prerequisites for performing simulations and actual aircraft tests of the unmanned aerial device 100, and target specification information 402 indicating the output mode of the motor 106a for the unmanned aerial device 100 to achieve the desired performance. The environmental information 400 includes, for example, the flight route (course) of the unmanned aerial device 100 when flying, and weather information around the unmanned aerial device 100. The target specification information 402 also includes, for example, information for the output of the motor 106a of the unmanned aerial device 100 to meet a predetermined standard.

[0024] The storage unit 306 stores the environment information 400 and the target specification information 402 input to the automatic test and automatic correction system 300 .

[0025] In the actual aircraft test, the motor 106a of the unmanned aircraft device 100 is actually driven to measure the movement of the unmanned aircraft device 100. The actual aircraft test may be performed by actually flying the unmanned aircraft device 100, or the actual aircraft test may be performed with the unmanned aircraft device 100 attached to a device that can measure the movement of the unmanned aircraft device 100. In either case, the motor 106a of the unmanned aircraft device 100 may actually be driven to measure the movement of the unmanned aircraft device 100.

[0026] The automatic test and correction device 300 is also connected to a controller 120, a measurement unit 404, and an environment reproduction device 406. The controller 120 is, for example, a transmitter capable of wirelessly transmitting flight instruction information. The measurement unit 404 includes, for example, at least one of various sensors and a camera. The environment reproduction device 406 includes, for example, at least one of a rainmaking device, a blower, a heat source device, a video device, an audio device, and a radio wave jamming device, and is capable of reproducing the surrounding environment of the unmanned flying device 100.

[0027] For example, when performing a real-life test with the unmanned aerial vehicle 100 attached to a device capable of measuring the motion of the unmanned aerial vehicle 100, the simulation unit 304 can control the air blower of the environment reproduction device 406 to create conditions that are substantially equivalent to those when the motor 106a of the unmanned aerial vehicle 100 is actually driven and the motion of the unmanned aerial vehicle 100 is measured. Alternatively, if the environmental information 400 stores information that the environment around the unmanned aerial vehicle 100 is raining, the simulation unit 304 controls the air blower and rain making device to reproduce the ambient environment around the unmanned aerial vehicle 100 during the real-life test.

[0028] The command unit 302 transmits real aircraft test instruction information to the subprogram 308 and the simulation unit 304 to instruct (command) the execution of a real aircraft test in which the unmanned flying device 100 is actually driven.

[0029] When the subprogram 308 receives the actual aircraft test instruction information from the command unit 302, it generates flight instruction information for driving the motor 106a of the unmanned flying device 100 based on the environmental information 400 stored in the memory unit 306, and outputs the flight instruction information to the controller 120. Then, the transmission unit 122 of the controller 120 transmits the flight instruction information output from the subprogram 308 of the automatic test and automatic correction device 300 to the reception unit 112 of the unmanned flying device 100.

[0030] When the flight instruction information is received by the receiving unit 112, the main program 114 executes drive control of the motor 106a based on the received flight instruction information. While the main program 114 is controlling the drive of the motor 106a, the simulation unit 304 controls the environment reproduction device 406 to reproduce the ambient environment around the unmanned flying device 100 during the actual aircraft test.

[0031] In this embodiment, the transmission unit 122 and the reception unit 112 transmit and receive flight instruction information wirelessly, but the transmission and reception of flight instruction information may also be performed via wires.

[0032] As described above, while the drive control of the motor 106a by the main program 114 and the control of the environment reproduction device 406 by the simulation unit 304 are being executed simultaneously (while a real aircraft test is being carried out), the measurement unit 404 measures the movement data of the unmanned flying device 100, and the measurement results of this real aircraft test are stored in the memory unit 306.

[0033] In addition, the command unit 302 transmits simulation test instruction information indicating a flight plan for instructing the execution of a simulation (simulation test) of the unmanned flying device 100 to the simulation unit 304.

[0034] When the simulation unit 304 receives the simulation test instruction information from the command unit 302, it acquires the environmental information 400 and the target specification information 402 stored in the memory unit 306. Then, based on the environmental information 400 and the target specification information 402, it executes a simulation of the unmanned flying device 100 under the same conditions as the above-mentioned actual aircraft test, and saves the results of the simulation in the memory unit 306. The method of executing the simulation can be based on existing technology, so a detailed description thereof will be omitted here.

[0035] Then, the program correction unit 310 executes a comparison process that compares the execution results of the simulation of the unmanned flying device 100 stored in the memory unit 306 with the measurement results of the actual aircraft test stored in the memory unit 306. If the result of executing the comparison process shows that the predetermined conditions set in advance are not satisfied, the program correction unit 310 executes correction of the parameter settings of the main program 114 and the subprogram 308 based on the comparison result. Note that the correction of the parameter settings of the main program 114 by the program correction unit 310 may be performed wirelessly or via a wired connection, for example.

[0036] FIG. 3 is a diagram illustrating the comparison process performed by the program correction unit 310. For example, when the rotation speed of the motor 106a is controlled as shown in FIG. 3(a), the simulation execution results shown by the dashed line in FIG. 3(b) are stored, and the measurement results of the actual machine test are stored as shown by the solid line in FIG. 3(b). In this case, the program correction unit 310 determines that, for example, the difference between the simulation execution results and the measurement results of the actual machine test in section A in FIG. 3(b) is large (does not satisfy a predetermined condition), and corrects (changes) the settings of the parameters of the main program 114, the subprogram 308, or both. For example, target parameters having a predetermined modifiable range within which the settings can be modified are set in advance, and the program correction unit 310 changes the target parameters within the modifiable range so that the difference between the simulation execution results and the measurement results of the actual machine test satisfies the predetermined condition. Note that the target parameters may be singular or plural. When there are multiple target parameters, the settings of multiple target parameters may be corrected in one correction, or the setting of one target parameter may be corrected in one correction.

[0037] The comparison between the simulation results and the measurement results of the actual test may be made by comparing the difference in their absolute values, or by comparing the ratio of the measurement results of the actual test to the simulation results.

[0038] Then, parameter setting correction and comparison processing are alternately performed until the difference between the simulation execution results and the measurement results of the actual machine test satisfies a predetermined condition and the parameter settings become optimal. In this embodiment, parameter setting correction for the main program 114 is performed in priority over parameter setting correction for the sub-program 308. Specifically, for example, if the parameter settings are not optimal even after correcting the parameter settings for the main program 114 within a predetermined number of times, parameter setting correction for the sub-program 308 may be performed. In this manner, it is possible to efficiently optimize the parameter settings of the main program 114 and the sub-program 308.

[0039] Next, the flow of control operations in the program correction system 200 will be described with reference to Fig. 4 to Fig. 8. Fig. 4 is a flowchart showing the processing in the command unit 302. The command unit 302 determines whether a real machine test can be performed (S100-1) and whether a simulation can be performed (S100-3).

[0040] If a real machine test is being performed or if a simulation is being performed, the command unit 302 determines that the real machine test cannot be performed (NO in S100-1). Similarly, if a real machine test is being performed or if a simulation is being performed, the command unit 302 determines that the simulation cannot be performed (NO in S100-3). Also, if the optimization of the parameter settings of the main program 114 and the subprogram 308 has already been completed, NO is selected in the above steps S100-1 and S100-3.

[0041] If a real machine test is to be performed (YES in S100-1), the command unit 302 transmits real machine test instruction information to the subprogram 308 and the simulation unit 304 (S100-5). If a simulation is to be performed (YES in S100-3), the command unit 302 transmits simulation test instruction information to the simulation unit 304 (S100-7).

[0042] 5 is a flowchart showing the processing in the simulation unit 304. The simulation unit 304 determines whether or not it has received simulation test instruction information from the command unit 302 (S200-1) and whether or not it has received real machine test instruction information from the command unit 302 (S200-3). As a result, if it has received simulation test instruction information (YES in S200-1), the simulation unit 304 acquires the environment information 400 stored in the storage unit 306 (S200-5) and acquires the target specification information 402 stored in the storage unit 306 (S200-7). Then, the simulation unit 304 starts executing a simulation based on the acquired environment information 400 and target specification information 402 (S200-9) and stores the execution results of the simulation in the storage unit 306 (S200-11).

[0043] On the other hand, when real aircraft test instruction information is received from the command unit 302 (YES in S200-3), the simulation unit 304 acquires the environmental information 400 stored in the memory unit 306 (S200-13) and controls the environmental reproduction device 406 based on the acquired environmental information 400 (S200-15). At this time, for example, the environmental reproduction device 406 can be controlled at any time in accordance with the control of the unmanned flying device 100 by the subprogram 308 based on the course information stored in the acquired environmental information 400.

[0044] FIG. 6 is a flowchart showing the processing in the subprogram 308. The subprogram 308 determines whether it has received real-aircraft test instruction information from the command unit 302 (S300-1). As a result, if it has received real-aircraft test instruction information (YES in S300-1), the subprogram 308 acquires environmental information 400 (S300-3) and starts outputting flight instruction information to the controller 120 based on the acquired environmental information 400 (S300-5). Here, the flight instruction information stored in the acquired environmental information 400 is output to the controller 120 as needed (continuously) until the course information is completed. Note that, when the flight instruction information is input, the controller 120 wirelessly transmits the flight instruction information from the transmitter 122 to the receiver 112. Note that the flight instruction information may be output, for example, at predetermined intervals.

[0045] 7 is a flowchart showing the processing in the main program 114. The main program 114 determines (S400-1) whether or not flight instruction information has been received by the receiving unit 112. As a result, if flight instruction information has been received (YES in S400-1), the main program 114 executes drive control of the motor 106a (S400-3).

[0046] 8 is a flowchart showing the processing in the program correction unit 310. The program correction unit 310 determines whether to start the execution of the comparison process (S500-1). Specifically, for example, it is determined not to start the execution of the comparison process while a simulation or an actual machine test is being executed. Also, it is determined not to start the execution of the comparison process when the optimization of the parameter settings of the main program 114 and the subprogram 308 has already been completed.

[0047] When starting the comparison process (YES in S500-1), the program correction unit 310 acquires the simulation execution results stored in the storage unit 306 (S500-3), and acquires the measurement results of the real-machine test stored in the storage unit 306 (S500-5).The program correction unit 310 then compares the simulation execution results with the measurement results of the real-machine test, and executes a comparison process to determine whether the difference between the simulation execution results and the measurement results of the real-machine test satisfies a predetermined condition (S500-7).

[0048] As a result, if the preset condition is not satisfied (NO in S500-7), the program correction unit 310 determines whether to correct the parameter settings of the main program 114 (YES in S500-9) or to correct the parameter settings of the subprogram 308 (NO in S500-9). In this embodiment, as described above, if the parameter settings of the main program 114 are not optimized even after the parameter settings have been corrected within a preset range of a predetermined number of times, it is determined to correct the parameter settings of the subprogram 308.

[0049] As a result, if the parameter settings of the main program 114 are to be corrected (YES in S500-9), the program correction unit 310 corrects the parameter settings of the main program 114 (S500-11), and if the parameter settings of the subprogram 308 are to be corrected (NO in S500-9), the program correction unit 310 corrects the settings of the subprogram 308 (S500-13).

[0050] While the preferred embodiments of the present invention have been described above with reference to the accompanying drawings, it goes without saying that the present invention is not limited to such embodiments. It is clear that those skilled in the art can conceive of various modifications and alterations within the scope of the claims, and it is understood that such modifications and alterations also fall within the technical scope of the present invention.

[0051] For example, in the above embodiment, one automatic test and correction device 300 includes the command unit 302, the simulation unit 304, the subprogram 308, and the program correction unit 310, but the present invention is not limited to this. For example, the command unit 302, the simulation unit 304, the subprogram 308, and the program correction unit 310 may be provided in separate devices (for example, personal computers).

[0052] Furthermore, in the above embodiment, the motor 106a is driven by the power source 108, but an engine may be used as the power source for the rotor portion 106.

[0053] In addition, in the above embodiment, the unmanned flying device 100 is shown to have four rotating wing units 106, but the present invention is not limited to this, and the unmanned flying device 100 may have only one rotating wing unit 106 or multiple rotating wing units 106. [Industrial Applicability]

[0054] The present invention can be used in a program correction system. [Explanation of symbols]

[0055] 100 Unmanned flying device 106a Motor (power unit) 114 Main Program 200 Program Correction System 300 Automatic Test and Correction Device 302 Command Department 304 Simulation Department 306 Storage section 308 Subprograms 310 Program Modification Department 400 Environmental information 402 Target specification information (target numerical value) 404 Measuring part 406 Environment reproduction device

Claims

1. a subprogram for generating flight instruction information to be provided to a main program that drives and controls the power unit of the unmanned flying device; a simulation unit that executes a simulation of the movement of the unmanned flying device; a measurement unit that measures the movement of the unmanned flying device; a program correction unit that corrects the main program and the subprogram based on the measurement result by the measurement unit and the execution result of the simulation by the simulation unit; Equipped with the main program and the sub-program are provided with one or more target parameters, the range of which is predetermined for modifying the parameter settings; The program correction unit executing a first modification process a predetermined number of times to change the target parameter provided in the main program within the modifiable range so that a difference between the measurement result by the measurement unit and the execution result of the simulation by the simulation unit satisfies a predetermined condition; a program modification system that, if, after executing the first modification process a predetermined number of times, the difference between the measurement result by the measurement unit and the execution result of the simulation by the simulation unit does not satisfy the predetermined condition, executes a second modification process that changes the target parameter set in the subprogram within the modifiable range so that the difference between the measurement result by the measurement unit and the execution result of the simulation by the simulation unit satisfies the predetermined condition.

2. The program correction unit 2. The program correction system according to claim 1, wherein correction of the main program and the subprogram can be executed when the comparison result between the measurement result by the measurement unit and the execution result of the simulation by the simulation unit does not satisfy the predetermined condition.

3. A command unit commands the subprogram and the simulation unit to execute an actual aircraft test of the unmanned aerial vehicle based on preset environmental information, and commands the simulation unit to execute a simulation of the movement of the unmanned aerial vehicle based on the environmental information, The subprogram transmitting the flight instruction information generated based on the environmental information to the main program; The simulation unit A program correction system as described in any one of claims 1 or 2, which performs a simulation of the movement of the unmanned flying device based on the environmental information, or performs an actual test of the unmanned flying device based on the environmental information.

4. The simulation unit When the actual aircraft test of the unmanned flying device based on the environmental information is performed, an environmental reproduction device that reproduces the surrounding environment of the unmanned flying device is controlled based on the environmental information; The environment reproducing device is 4. The program correction system according to claim 3, further comprising at least one of a rain making device, a blower, a heat source device, a video device, an audio device, and a radio wave jamming device.

Citation Information

Patent Citations

  • Flying body

    JP1992173497A

  • Motion editing device and motion editing method for the robotic device, robotic device and control method therefor, and computer program

    JP2004148492A

  • Device for adjusting impedance control parameter and method for adjusting the same

    JP2011088225A

  • Wind generating means and wind test facility equipped with the same

    JP2019518221A

  • Information processing device and information processing method, computer program, and program production method

    WO2019097793A1