Aircraft and flight control method
The aircraft and flight control method addresses the limitations of conventional UAV obstacle avoidance by dynamically evaluating environmental and aircraft conditions, facilitating optimal evasive actions through a multi-cost function framework for reliable and efficient flight operations.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SCSK CORP
- Filing Date
- 2025-08-29
- Publication Date
- 2026-05-12
AI Technical Summary
Conventional unmanned aerial vehicle (UAV) obstacle avoidance technologies are limited by fixed decision-making criteria, failing to account for diverse conditions such as mission objectives, aircraft conditions, and flight environments, leading to suboptimal evasive actions.
An aircraft and flight control method that integrates environmental and aircraft information to dynamically evaluate multiple factors like time delay, energy consumption, and flight stability, enabling rational action selection through a multi-cost function framework.
Enables highly reliable and autonomous mission execution by deriving the most rational action based on current situational factors, ensuring efficient and safe flight operations.
Smart Images

Figure 0007857482000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an aircraft and a flight control method. [Background technology]
[0002] Patent Document 1 describes a method for storing flight position information, captured images, the direction in which the captured images were taken, and the second flight route when flying an alternative flight route generated based on flight position information and captured images in order to avoid obstacles detected in a predetermined area including the flight route. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Patent No. 6737751 [Overview of the project] [Problems that the invention aims to solve]
[0004] As described in Patent Document 1, while autonomous obstacle avoidance technology in conventional unmanned aerial vehicles (drones) is generally known, many of these technologies are designed primarily for the single purpose of collision avoidance, and their decision-making criteria are fixed. Therefore, the following challenges existed in actual operation.
[0005] In other words, it was not possible to apply the plan in real time to the aircraft's condition. For example, conventional technology focused only on flight plans for a single condition, such as wind direction or weather, but could not take into account diverse conditions such as the mission objective (e.g., emergency transport or precision photography), the aircraft's condition (e.g., battery level, presence or absence of cargo), or the flight environment (e.g., strong winds). As a result, it could only select uniform and not-so-optimal evasive actions.
[0006] Therefore, this disclosure aims to provide an aircraft and flight control method that perform comprehensive situational judgment during flight. [Means for solving the problem]
[0007] The aircraft disclosed herein is This includes environmental information relating to the environment in which the aircraft is flying and aircraft information relating to the aircraft itself. A status acquisition unit that acquires status information, A mission plan information acquisition unit acquires mission plan information indicating the flight purpose of the aircraft; a calculation unit calculates the importance of multiple evaluation items, including time delay, energy consumption, and flight stability, based on the status information and the mission plan information; and an overall evaluation of the multiple evaluation items based on each of the calculated importance levels. The evaluation department that conducts the evaluation, The aforementioned overall evaluation The system comprises a selection unit that selects an action based on the above, and an execution unit that performs the action.
[0008] Furthermore, the flight control method disclosed herein is A flight control method for an aircraft includes environmental information relating to the environment in which the aircraft is flying and aircraft information relating to the aircraft itself. A state acquisition step to obtain state information, A mission plan information acquisition step to acquire mission plan information indicating the flight purpose of the aircraft; a calculation step to calculate the importance of multiple evaluation items, including time delay, energy consumption, and flight stability, based on the status information and the mission plan information; and an overall evaluation of the multiple evaluation items based on each of the calculated importance levels. The evaluation steps involved in the evaluation process, The aforementioned overall evaluation The system comprises a selection step of selecting an action based on the above, and an execution step of performing the action.
[0009] This configuration allows for the calculation of the importance of flight evaluation items based on status information, enabling evaluations that take this importance into account and allowing for the selection of actions. This makes it possible to derive the most rational action according to the current situation, enabling highly reliable autonomous mission execution. [Effects of the Invention]
[0010] According to this disclosure, it becomes possible to derive the most rational action according to the circumstances at any given time, enabling highly reliable and autonomous mission execution. [Brief explanation of the drawing]
[0011] [Figure 1] Figure 1 is a functional block diagram showing the functional configuration of the aircraft 100 of this disclosure. [Figure 2] Figure 2 shows a specific example of the parameter profile DB104. [Figure 3] Figure 3 shows a diagram of possible avoidance actions (avoidance routes). [Figure 4] Figure 4 shows the cost derivation results and weighting coefficients based on the cost function according to Scenario 1. [Figure 5]FIG. 5 is a diagram showing the cost derivation result and weight coefficients based on the cost function according to Scenario 2. [Figure 6] FIG. 6 is a diagram showing the cost derivation result and weight coefficients based on the cost function according to Scenario 3. [Figure 7] FIG. 7 is a flowchart showing the operation of the aircraft 100. [Figure 8] FIG. 8 is a sequence diagram showing the operation of the aircraft 100.
Mode for Carrying Out the Invention
[0012] Embodiments of the present disclosure will be described with reference to the accompanying drawings. Where possible, the same parts are denoted by the same reference numerals and redundant descriptions are omitted.
[0013] FIG. 1 is a functional block diagram showing the functional configuration of the aircraft 100 of the present disclosure. As shown in the figure, the aircraft 100 includes a behavior decision-making device, and this behavior decision-making device includes an FCU (Flight Control Unit) 101, a state acquisition unit 102, a parameter adjustment unit 103, a parameter profile DB 104, an avoidance behavior candidate generation unit 105, a behavior calculation unit 106, a behavior selection unit 107, and a behavior command unit 108. The aircraft 100 has a hardware configuration such as a propeller, a motor, an ESC (Electronic Speed Controller), and various sensors, and can fly according to the situation by controlling these. The various sensors are sensors for attitude control and obstacle avoidance, such as a gyro sensor, an altitude sensor, a vision sensor, and an ultrasonic sensor. In the present disclosure, the aircraft 100 is described assuming an unmanned aircraft such as a drone, but of course, it is not limited thereto and can also be applied to manned aircraft.
[0014] Furthermore, the aircraft 100 of this disclosure is not dependent on any specific hardware. Input information such as acceleration, angular velocity, and battery level are state variables that can be obtained from standard FCUs such as ArduPilot or PX4. Therefore, this disclosure can be implemented as software on a companion computer that works in conjunction with an existing FCU, or on a high-performance FCU, and has high industrial applicability.
[0015] FCU101 is the part that uses sensors to detect obstacles that may hinder the flight of aircraft 100, determines the threat they pose, and acquires basic aircraft information (position, speed, attitude, etc.) and environmental information (coordinates of obstacles, velocity vectors, etc.) of aircraft 100, which it provides to the action decision device. FCU101 also receives a mission plan, including the flight purpose and urgency level of aircraft 100, from the operator or pilot of aircraft 100. In other words, FCU101 receives the mission plan from the operator in advance and performs flight control based on it. The operator sets the mission plan using a computer that is communicated to aircraft 100 (FCU101) via wired or wireless connection. Then, when aircraft 100 is flying and detects an obstacle in its flight path, FCU101 passes the environmental information and aircraft information to the status acquisition unit 102. FCU101 also performs flight control in response to commands from the action command unit 108.
[0016] The status acquisition unit 102 is responsible for acquiring mission plans, aircraft information, and environmental information from the FCU 101.
[0017] The parameter adjustment unit 103 reads the parameter profile stored in the parameter profile DB 104 and calculates the weight coefficients of the subcost function. The detailed processing will be described later.
[0018] The parameter profile DB104 is the part that stores the parameter profile. The parameter profile defines contextual information such as the flight purpose of the aircraft 100. For example, conditions are set to determine the purpose (one of the contexts), such as high-speed / emergency transport, advertising / demonstration flight, or precision photography. Each may be defined in text or represented by flagged numerical information. In this disclosure, the conditions for determining the context are shown as text information indicating the urgency, such as "Express". In addition to the flight purpose, the context also includes aircraft information such as low battery and high payload.
[0019] Figure 2 shows a specific example of the parameter profile DB104. As shown in the figure, the parameter profile DB104 stores the weight coefficients (w_t, w_e, w_s) for the time cost function, energy cost function, and stability cost function, as well as the context conditions, for each category and context (situation). Note that the items and values listed here are examples, and not all items are required, and there may be items not listed here. Also, a "-" indicates that no weight has been set.
[0020] This disclosure provides a decision-making "framework," not a specific avoidance algorithm. This allows a single aircraft to be adapted to diverse missions while minimizing software changes. Therefore, adding new profiles to parameter profile DB104 facilitates application to various missions.
[0021] The items and numerical values listed in the parameter profile DB104 of this disclosure are examples to illustrate the technical concept of this disclosure, and this disclosure is not limited to these. Dynamic usage is also possible.
[0022] For example, in the mission context (situation) column, if the time cost function is defined as high-speed / urgent transport, a weighting coefficient of +15 to +25 is defined for the time cost function, there is no definition for the energy cost function, and a stability cost function is defined as +1. The conditions indicate mission definition: Express, Urgent, and if these terms are included in the flight objective entered by the operator as a mission plan beforehand, the weighting coefficients defined here will be used.
[0023] For example, if the mission plan is: long-duration / wide-area survey, aircraft status: potential aircraft malfunction, high payload, and environment: bad weather (rain / fog), then the only item set in the w_t column of the time cost function is long-duration / wide-area survey, and the w_t weight coefficient is set to 1.
[0024] Similarly, the items set in the w_e column are: no setting for high-speed / emergency transport, +3 for high payload, and +1 for potential aircraft malfunction. Additionally, +1 is set for bad weather. By summing these up, the weight coefficient w_e of the energy cost function is calculated to be 5 and is set accordingly.
[0025] Similarly, for w_s, the weight coefficients of the respective items are added together.
[0026] Furthermore, the weighting coefficient w_t for high-speed / emergency transport has a range. This is to accommodate use cases where the weighting coefficient is linearly interpolated or gradually changed depending on the level of context. The following explains this with examples.
[0027] Example 1: High-speed / emergency transport: Gradual change (+15 to +25) This weighting coefficient is changed according to the urgency of the mission. As a parameter, the "lv value: urgency level" is set in the mission plan, ranging from 0 to 1.
[0028] The formula for calculating the weight coefficient is given as follows: weight coefficient = x1 + (x2 - x1) * lv value. x1 and x2 indicate the range of the weight coefficient, with x1 being the lower limit and x2 being the upper limit. The lv value is an adjustment value set in the mission plan, such as the urgency level.
[0029] Using this, the value 15 + (25 - 15) * lv value is calculated. For example, in the case of normal fast transport (urgency level lv value = 0.5), 15 + 10 * 0.5 = 20 is calculated. Then, the calculated +20 is added to w_t.
[0030] Similarly, in the case of a top-priority mission involving saving lives (urgency level = 1.0), 15 + 10 * 1.0 = 25 is calculated and added to w_t.
[0031] In this way, weight coefficients are calculated for all items of w_t, and these are cumulatively added together to obtain the final weight coefficient w_t for the time cost function.
[0032] Example 2: Low battery linear interpolation (+5 to +15) This weight changes depending on the degree of battery depletion. The parameter is set to the battery percentage.
[0033] Then, we prepare a formula that linearly increases the weight coefficient when the battery level is between 25% and 0%, as follows. Weight coefficient = x1 + (x2 - x1) * (X3 - battery level / X3) x1 is the lower limit of the range, x2 is the upper limit of the range, and x3 is the threshold remaining battery level for determining low battery. Here, the threshold remaining battery level is set to 25%, but it is not limited to this value. It can be a pre-set value. The calculation is as follows: Weight coefficient w_e = 5 + (15 - 5) * ( (25 - battery level) / 25 ) If the battery level is 20%: 5 + 10 * ((25-20) / 25) = 5 + 10 * 0.2 = 7. 7 is added to w_e. Also, if the battery level is 5%: 5 + 10 * ((25-5) / 25) = 5 + 10 * 0.8 = 13. 13 is added to w_e.
[0034] It should be noted that while we consider that there are continuous "degrees" or "levels" within a single large category (context) such as "high-speed / emergency transport," this does not exclude the possibility of simply defining high-speed transport as a fixed value like XX.
[0035] Furthermore, in actual use cases, it is necessary to determine the quantitative values of the weight coefficients, which can be done through simulation-based optimization or tuning using AI learning. This disclosure does not limit the method for determining these weight coefficients.
[0036] The evasion action candidate generation unit 105 is the part that generates multiple evasion action candidates (e.g., wait, evade to the right, evade to the left, etc.) based on the FCU information (aircraft information and environmental information) and obstacle information of the FCU 101.
[0037] More specifically, the avoidance action candidate generation unit 105 acquires obstacle information (position, velocity) from the FCU 101 and the self-position of the aircraft 100 as input. The avoidance action candidate generation unit 105 then generates multiple avoidance actions using existing path generation algorithms (e.g., geometric methods, RRT (Rapidly-exploring Random Tree), potential method, etc.). This algorithm mechanically calculates multiple "physically possible movement paths that do not collide," considering only the physical positional relationships of obstacles. At this point, no value judgment is made as to which path is "good."
[0038] For example, the avoidance action candidate generation unit 105 first measures the distance between the obstacle and the drone as a step in avoiding the obstacle. The measurement method is, for example, a range sensor (stereo camera, LIDAR, etc.), and the unit has a mechanism to convert the obstacle from the measurement information into a relative coordinate system (x, y, z) based on the aircraft 100. An avoidance path can be generated based on the obstacle information in the relative coordinate system. Furthermore, this disclosure can also handle moving obstacles. For example, a tracking ID can be assigned to a moving obstacle, a velocity vector can be calculated from the movement trajectory of the target with the assigned tracking ID, and an avoidance path incorporating the obstacle information after t seconds can be generated. Motion models or AI-based learning models can also be incorporated to identify moving obstacles.
[0039] For each candidate path, its physical characteristics (such as total trajectory length, duration, and maximum acceleration) are calculated and attached as data. The avoidance action candidate generation unit 105 then outputs a list of multiple physical action plans (profiles) that are candidates for avoidance actions. Note that the profile, including duration and acceleration, is calculated using a control simulator or the like.
[0040] Figure 3 shows the candidate evasive actions (evasive paths). As shown in the figure, candidate evasive actions A through C can be determined. The maximum load G and the required time for each action are values obtained using a control simulator or similar method. In addition, information indicating the situation in which the aircraft 100 takes evasive action, such as acceleration and velocity, may also be obtained.
[0041] The behavior calculation unit 106 is the part that uses the weight coefficients received from the parameter adjustment unit 103 to calculate the derived result for each avoidance action candidate using a multi-cost function. In this disclosure, the behavior calculation unit 106 defines the following basic multi-cost function J(S). Details will be described later. J(S) = w_c * J_collision(S) + w_t *J_time(S) + w_e * J_energy(S) + w_s * J_stability(S) As described above, a multi-cost function consists of multiple sub-cost functions. These multiple sub-cost functions represent evaluation items for avoidance behavior, and a weight coefficient is set for each of them. As described above, these weight coefficients are set by the parameter adjustment unit 103 according to the context (situation).
[0042] The action calculation unit 106 obtains the following information from the avoidance action candidate generation unit 105 and performs calculations using its internally stored multi-cost function. Evasive maneuver candidate A: { Trajectory data, required time = 3 seconds, maximum G = 3.0, ...} Evasive maneuver candidate B: { Trajectory data, duration = 12 seconds, maximum G = 0.5, ...} Evasive action candidate C: { Trajectory data, required time = 8 seconds, maximum G = 1.5, ...} Then, the action calculation unit 106 calculates the cost functions J(A), J(B), and J(C) respectively using the weight coefficients obtained by the parameter adjustment unit 103.
[0043] The action selection unit 107 is responsible for selecting the most appropriate avoidance action based on a multi-cost function to which weights have been set for each of the multiple avoidance action candidates obtained from the avoidance action candidate generation unit 105. In other words, the action selection unit 107 derives the result of the multi-cost function for each of the multiple avoidance action candidates. Then, based on this derivation result, the action selection unit 107 selects one of the avoidance action candidates as the optimal avoidance action.
[0044] The Action Command Unit 108 is the part that transmits the optimal evasive action determined by the Action Selection Unit 107 as a command to the FCU 101.
[0045] With this configuration, the aircraft can appropriately avoid obstacles according to its flight mode.
[0046] Next, the multi-cost function of the action calculation unit 106 will be described. The multi-cost function J(S), which forms the core of the decision-making in this disclosure, is a function for quantitatively evaluating the overall cost (degree of inappropriateness) that is predicted when each avoidance action candidate S (e.g., "waiting," "side avoidance," etc.) is performed. The multi-cost function J(S) is defined as a weighted linear sum of multiple independent evaluation items (sub-cost functions). The avoidance action candidate with the lowest total cost is selected as a single action (e.g., the optimal action).
[0047] As mentioned above, an example of a multi-cost function is the following: J(S) = w_c * J_collision(S) + w_t *J_time(S) + w_e * J_energy(S) + w_s * J_stability(S) S: Candidate avoidance behaviors to be evaluated J(S): Total cost of action S (smaller value is more desirable) w_collision, w_t, w_e, w_s: Weight coefficients for each sub-cost function The weight coefficients are dynamically adjusted by the parameter adjustment unit 103 according to the current aircraft information and environmental information (context). An example of this adjustment method will be described later. For example, the weight coefficients can be optimized using methods such as simulation or reinforcement learning by AI. For example, the subcost function can be improved by integrating the battery model and the wind direction model to enhance energy cost calculation, or by introducing frequency response analysis to enhance stability cost.
[0048] Examples of subcost functions are shown below. Note that the specific numerical values used in this disclosure are examples to illustrate the technical concept of this disclosure, and this disclosure is not limited to these values. J_collision(S) is a collision risk item that aims to assess the risk that the selected action S will cause a collision with a future obstacle. This cost is evaluated as a binary value (0 or 1) based on conditions defined, for example, by equation (1) below.
number
[0049] The weighting coefficient w_c corresponding to this collision risk item is always set by the parameter adjustment unit 103 as a sufficiently large fixed value (e.g., 10000), taking into account the sum of the other weighting coefficients (w_t, w_e, w_s) and the maximum value that each sub-cost can take. As a result, the total cost of the action candidate for which J_collision(S) returns 1 will always be higher than that of other safer candidates. Consequently, this collision risk item functions as a de facto veto power to prioritize safety and prevents the action selection unit 107 from selecting actions that have the potential to cause collisions.
[0050] Next, let's explain J_time(S). This subcost function is a function (time cost function) that evaluates the delay in arriving at the destination caused by the selected action S. An example is the following:
number
[0051] In its simplest form, the cost is simply the total time T_s required from the start to the end of action S. ∫ dt means integrating time, and the result is the elapsed time T_s. For example, if evasion option A takes 3 seconds and evasion option B takes 10 seconds, then J_time(A)=3 and J_time(B)=10, directly showing that actions that take longer have a higher cost. For example, in time-prioritizing states such as high-speed transport mode, the weight coefficient w_t is set to a large value, and options with long waiting times or options that take a long detour are treated unfavorably.
[0052] In this disclosure, the action calculation unit 106 first calculates the physical delay time T_delay(S) when each avoidance action candidate S is performed. This delay time is defined as the difference between the total required time T_total(S) obtained from the motion plan of the avoidance action candidates and the standard required time T_base when proceeding straight along the shortest route in the absence of obstacles.
[0053] As an example, consider the case where the following input values are given. Figure 3 shows one example. Standard required time T_base=2 seconds Total time required for evasion action candidates S_A: T_total(S_A) = 3 seconds Total time required for evasive action candidates S_B: T_total(S_B) = 12 seconds Total time required for evasion action candidates S_C: T_total(S_C) = 8 seconds In this case, the physical delay time for each candidate is calculated as follows: T_delay(S_A)= 3 seconds -2 seconds = 1 second T_delay(S_B)= 12 seconds -2 seconds = 10 seconds T_delay(S_C)= 8 seconds -2 seconds = 6 seconds As shown in the diagram, the required time varies depending on the avoidance action generated by the avoidance action candidate generation unit 105.
[0054] Next, the action calculation unit 106 converts the calculated physical delay time T_delay into a dimensionless relative cost value J_time(S) to enable comparison with other subcosts.
[0055] This conversion is performed by predefining the range of delay time expected in the operation of the unmanned aerial vehicle. In this disclosure, this range is set with a minimum value of min = 0 seconds and a maximum value of max = 20 seconds. This maximum value max corresponds to the upper limit of the time allowed for evasive action and is set by the designer. Normalization (0-1): Normalized value = (physical cost - min) / (max - min) Normalized value (A) = (1 - 0) / (20 - 0) = 0.05 Normalized value (B) = (10 - 0) / (20 - 0) = 0.5 Normalized value (C) = (6 - 0) / (20 - 0) = 0.3 Final scaling (0-100): Final cost = Normalized value * 100 J_time(S_A) = 0.05 * 100 = 5 J_time(S_B) = 0.5 * 100 = 50 J_time(S_C) = 0.3 * 100 = 30 Through the above series of processes, the time cost of each evasion action candidate is determined and used in the multi-cost evaluation in the action selection unit 107.
[0056] Next, let's explain J_energy(S). This subcost function is an energy cost function that evaluates the amount of energy consumed to perform the selected action S. An example is given below.
number
[0057] This section illustrates how energy-inefficient it is to generate large thrusts. ∫...dt means accumulating this instantaneous energy consumption rate from the start to the end of the action. This allows us to calculate the total amount of energy consumed throughout the entire action.
[0058] Here, we will explain the process for calculating energy costs. Below, we will explain the specific calculation process for the energy cost J_energy(S) in one embodiment of this disclosure, using a specific avoidance action candidate S as an example.
[0059] As a prerequisite, this disclosure assumes that an autonomous mobile unmanned aerial vehicle has the following physical model. Aircraft mass m = 2.0 kg Air resistance coefficient k_d = 0.1 Power conversion coefficient C_p = 0.5 These coefficients are determined experimentally or theoretically in advance according to the specifications of the unmanned aerial vehicle in question and are set in the system. For example, calculations can be performed using k_d=0.1 and C_p=0.5, but this disclosure is not limited to these specific values. Furthermore, the avoidance action candidate A generated by the avoidance action candidate generation unit 105 has a maximum horizontal speed of 6.0 m / s 2Let's define it as a motion profile that generates acceleration over a period of 3 seconds.
[0060] The action calculation unit 106 (energy cost calculation unit) first calculates the instantaneous thrust vector F_thrust(t) required by the aircraft at each time t of the motion profile of the evasion action candidate A. The specific formula is as follows: The thrust vector consists of a thrust component F_g=m·g to counteract gravity, a thrust component F_a=m·a(t) to accelerate the aircraft, and a thrust component F_d=k_d*v to counteract air resistance. 2 It is calculated as a vector sum.
number
[0061] Then, the action calculation unit 106 (energy cost calculation unit) calculates the physical energy cost E_phys(S_A) required to carry out the avoidance action candidate A based on the following formula.
number
[0062] Finally, the action calculation unit 106 normalizes the obtained physical energy cost E_phys based on a predetermined cost range and converts it into a relative cost value J_energy(S) that can be compared with other subcost functions.
[0063] This normalization process is performed to make each subcost, which has different physical units, comparable on a common dimensionless scale. To this end, this disclosure defines realistic upper and lower bounds for each subcost whose physical quantity can take. Regarding energy costs, the expected range of energy consumed in a single evasive maneuver is defined based on the performance of the unmanned aerial vehicle and the anticipated operational scenarios. This range can be set by the designer as a reasonable value through, for example, simulations or flight tests with actual aircraft.
[0064] This disclosure explains, as an example, the case where the assumed range of energy costs is set with a minimum value of min=0 and a maximum value of max=20,000, but this disclosure is not limited to this specific numerical range. In this case, the relative cost value is calculated as follows. Normalization cost = (E_phys - min) / (max - min) = (8000 - 0) / (20000 - 0) = 0.4 Final cost J_energy(S) = Normalized cost * 100 = 0.4 * 100 = 40 Through the above series of processes, a value of 40 is determined as the energy cost of evasion action candidate A, and this value is used in the multi-cost evaluation in the subsequent action selection unit 107.
[0065] In this disclosure, by dynamically adjusting the energy cost function J_energy(S) and the context-dependent energy weight coefficient w_e, it becomes possible to autonomously select a more rational action that takes energy efficiency into consideration from among multiple avoidance action candidates each time an obstacle is encountered.
[0066] Next, the specific calculation process for the stability cost J_stability(S) in one embodiment of this disclosure will be explained using a specific avoidance behavior candidate A as an example. The stability cost J_stability(S) is an index that quantifies the "intensity" and "smoothness" of an avoidance behavior, and in this disclosure, it is calculated by weighting and summing the evaluation values of multiple physical quantities based on the following formula.
number
[0067] Next, using the current aircraft attitude (rotation matrix R) estimated by EKF (Extended Kalman Filter), etc., we calculate how the gravity vector is observed in the aircraft coordinate system (g_body). Then, we remove this gravity component from the raw measured values to calculate the pure kinetic acceleration vector a(t)_body. (a(t)_body = Acc_body - g_body) Finally, calculate the norm (magnitude) ||a(t)|| of the obtained motion acceleration vector. As an example, if the aircraft is not tilted and moves horizontally at 6.0 m / s² 2Assume the case when it is accelerated. The sensor measures Acc_body = [6.0, 0.0, 9.8], but by removing the gravity component g_body = [0.0, 0.0, 9.8], a(t)_body = [6.0, 0.0, 0.0] is obtained. The norm of this is ||a(t)|| = sqrt(6.0 2 ) = 6.0 m / s 2 .
[0068] max ||a(t)|| is the maximum value of ||a(t)|| over the entire time interval of avoidance action candidate A, which is 6.0 in this example.
[0069] Also, the second term part, max ||ω(t)||, is the part that evaluates the maximum rotational speed of the aircraft during the avoidance action. <Then, the action calculation unit 106 (stability cost calculation unit) calculates the physical stability cost Stab_phys(S_A) using the physical features obtained above. The internal weight coefficients k_a and k_ω for each feature can be arbitrarily set according to the system's design philosophy and the characteristics of the target unmanned aerial vehicle.
[0074] This disclosure describes the case where k_a=3 and k_ω=2 as an example. In this case, the physical cost is calculated as follows. Stab_phys(S_A) = (k_a * max||a(t)||) + (k_ω * max||ω(t)||) Stab_phys(S_A) = (3 * 6.0) + (2 * 2.0) =18.0 + 4.0 = 22.0 Finally, the calculated physical stability cost Stab_phys is normalized based on a predetermined cost range and converted into a relative cost value J_stability(S_A).
[0075] The assumed range for this normalization (minimum value min, maximum value max) can be set by the designer as appropriate, depending on the performance of the unmanned aerial vehicle and the characteristics of the mission in which it is operated. In this disclosure, as an example, we will describe the case where the assumed range for stability cost is set to a minimum value min=0 and a maximum value max=73.3. In this case, the relative cost value is calculated as follows. Normalization cost = (22.0 - 0) / (73.3 - 0) ≈ 0.3 Final cost J_stability(S_A) = 0.3 * 100 = 30 Through the above series of processes, a value of 30 is determined as the stability cost of avoidance action candidate A, and this value is used in the multi-cost evaluation in the subsequent action selection unit 107.
[0076] By using this multi-cost function, this disclosure can comprehensively address multiple performance requirements that cannot be evaluated by a single criterion, and autonomously derive the most rational and balanced action in all situations. For example, in this disclosure, always evaluating the stability cost function J_stability(S) (especially the jerk term) and the energy cost function J_energy(S) promotes "aircraft-friendly" flight that avoids placing excessive loads on the aircraft (high G-forces, sudden torque fluctuations, high-load motor operation). Reducing physical stress suppresses the degradation of expensive components such as motors, batteries, ESCs, and airframes.
[0077] The numerical values in this disclosure are examples to illustrate the operating principle. In actual application, these coefficients can be optimally tuned based on the physical model of the target aircraft using simulations, actual aircraft testing, or machine learning methods such as reinforcement learning. The core of this disclosure is to provide a framework for setting these coefficients, and is not limited to specific numerical values.
[0078] The use cases of such multi-cost functions will be explained using Figures 4 to 6. Figure 4 shows the cost derivation results and weighting coefficients based on the cost function according to Scenario 1. Scenario 1 describes a scenario in which aircraft 100, performing precision photography, encounters strong winds and low battery during its return journey.
[0079] Figure 4(a) shows the derivation results for each sub-cost function (time cost function, energy cost function, stability cost function), and Figure 4(b) is a correspondence table for determining the weight coefficients for each sub-cost function. In Figure 4(a), three evasive action candidates, A, B, and C, are listed as possible actions. Evasive action candidate A is a short-distance / sharp turn action, characterized by "avoiding the obstacle by making a sharp turn over a short distance. It is fast, but it generates G (load) and is fuel-inefficient." Evasive action candidate B is a long-distance / gradual turn action, characterized by "making a wide, gradual turn over a long distance. It is slow, but it is smooth and energy-efficient." Evasive action candidate C is an upward evasive action, characterized by "gaining altitude to jump over the obstacle. Rapid ascent consumes a lot of energy."
[0080] The avoidance action candidate generation unit 105 generates avoidance action candidates A through C. This avoidance action candidate generation process is performed using known techniques such as RRT, as described above.
[0081] In Figure 4(a), the derivations of the time cost function, the energy cost function, and the stability cost function are obtained.
[0082] Furthermore, as shown in Figure 4(b), the final weighting coefficient is determined for each of the avoidance action candidates A through C. For example, the time weighting coefficient w_t is set to a base value of 2. Then, weighting coefficients are determined for each of the mission plan, aircraft information, and environmental information, and the final weighting coefficient is obtained by adding them together. In Scenario 1, the flight objective is precision photography, which means that more weight is placed on stable flight. The aircraft information indicates a low battery state, in which case the energy weighting coefficient is given more importance. The environmental information indicates strong winds, which means that the energy weighting coefficient and the stability weighting coefficient are each given slightly more importance. Note that in Figure 4(b), only some items are shown as examples, but the weighting coefficients are set according to the situation described in the parameter profile.
[0083] By summing up the weights derived in this way for each item, the final weight coefficient can be obtained.
[0084] In this Scenario 1, the aircraft 100 has a time cost weight of 2, an energy cost of 9, and a stability cost of 10.
[0085] Then, the action calculation unit 106 performs the following calculations for each action candidate. J(A) = (2 * 5) + (9 * 40) + (10 * 30) = 10+ 360 + 300 = 670 J(B) = (2 * 20) + (9 * 10) + (10 * 5) = 40+ 90 + 50 = 180 J(C) = (2 * 15) + (9 * 50) + (10 * 15) = 30+ 450 + 150 = 630 Here, the action selection unit 107 selects evasion action candidate B, which has the minimum total cost.
[0086] Figure 5 shows the cost derivation results and weighting coefficients based on the cost function according to Scenario 2. The process is the same as in Figure 4, and as a result, the weighting coefficients for this aircraft are set as follows: Time cost = 2, Energy cost = 9, Stability cost = 14. This indicates that the aircraft will prioritize safety during flight in the event of an aircraft malfunction.
[0087] Then, the action calculation unit 106 performs the following calculations for each action candidate. J(A) = (2 * 5) + (9 * 40) + (14 * 30) = 10 + 360+ 420 = 780 J(B) = (2 * 20) + (9 * 10) + (14 * 5) = 40 + 90+ 70 = 200 J(C) = (2 * 15) + (9 * 50) + (14 * 15) = 30 + 450+ 210 = 690 Here, the action selection unit 107 selects evasion action candidate B, which has the lowest cost.
[0088] Figure 6 shows the cost derivation results and weighting coefficients based on the cost function according to Scenario 3. Here, the weighting coefficients for this aircraft are set as follows: time cost = 22, energy cost = 1, stability cost = 1. This indicates that the flight prioritizes speed above all else.
[0089] Then, the action calculation unit 106 performs the following calculations for each action candidate. J(A) = (22 * 5) + (1 * 40) + (1 * 30) = 110+ 40 + 30 = 180 J(B) = (22 * 20) + (1 * 10) + (1 * 5) = 440+ 10 + 5 = 455 J(C) = (22 * 15) + (1 * 50) + (1 * 15) =330 + 50 + 15 = 395 Here, the action selection unit 107 selects evasion action candidate A, which has the lowest cost.
[0090] The operation of the aircraft 100 configured in this way will now be explained. Figure 7 is a flowchart showing the operation of the aircraft 100.
[0091] The FCU 101 performs obstacle detection and threat determination (S101). In this disclosure, when an obstacle is detected, the FCU 101 determines the position vector of the obstacle and makes a threat determination (possibility of collision) based on that position vector and the position vector of the aircraft 100. If the FCU 101 determines that there is an obstacle to be avoided (S102: YES), the state acquisition unit 102 acquires aircraft information and environmental information from the FCU 101 (S103). The parameter adjustment unit 103 then acquires a parameter profile from the parameter profile DB 104 and obtains weight coefficients for each item based on it (S104).
[0092] The evasion action candidate generation unit 105 obtains obstacle information (obstacle coordinates, velocity vector) from the FCU 101 and generates evasion action candidates (S105). These evasion action candidates include waiting, evasion, and moving to a specified coordinate.
[0093] The action calculation unit 106 calculates the total cost based on the multi-cost function of each evasion action candidate (S106). The action selection unit 107 selects the action with the minimum total cost (S107). The action command unit 108 sends a final command to the FCU 101 (S108).
[0094] Next, the operation of the aircraft 100 will be explained using a sequence that shows the overall operation of the aircraft 100. Figure 8 is a sequence diagram showing the operation of the aircraft 100. The mission plan (e.g., high-speed transport) is transmitted from the pilot / GCS (Ground Control System) to the FCU 101 (S201). The FCU 101 sends the mission plan to the status acquisition unit 102 (S202).
[0095] Then, in processes S203 to S208, periodic monitoring and decision-making are performed. Specifically, periodic aircraft information and environmental information are sent from various sensors to the FCU 101, and the state acquisition unit 102 acquires this information (S203). The parameter adjustment unit 103 receives the aircraft information and environmental information from the state acquisition unit 102 (S204) and calculates weight coefficients based on them. The parameter adjustment unit 103 transmits the calculated weight coefficients to the action calculation unit 106 (S205).
[0096] Meanwhile, the FCU 101 receives information about obstacles detected by the sensor, and this information is sent to the avoidance action candidate generation unit 105 (S206). The avoidance action candidate generation unit 105 generates multiple avoidance action candidates (S207). The action calculation unit 106 calculates the total cost of each avoidance action candidate using a multi-cost function with adjusted weight coefficients obtained in process S205 (S208).
[0097] The action selection unit 107 selects an action from a number of evasion action candidates based on the total cost, and the action command unit 108 returns the optimal action command to the FCU 101 (S209).
[0098] The FCU101 controls the aircraft 100 to perform actions based on action commands. For example, the aircraft 100 has propellers, motors, ESCs, etc., and by controlling these, it can fly properly.
[0099] Next, the effects of the aircraft 100 of this disclosure will be explained. In the aircraft 100 of this disclosure, the FCU 101 acquires state information including the mission plan, aircraft information, and environmental information, and the state acquisition unit 102 acquires this information from the FCU 101. The parameter adjustment unit 103 then calculates the importance of the evaluation items for flight based on the state information (mission plan, aircraft information, and environmental information). This importance indicates how important the evaluation item is considered to be, and in this disclosure, it is a weighting coefficient for the evaluation item. The evaluation items are the risk of collision with obstacles, delay in arrival at the destination, energy consumption, and stability against the magnitude of impacts on the aircraft and cargo. These are given as examples in this disclosure, but there may be at least one, or other items may be included. It is also possible to evaluate the evaluation items based only on the state information without using importance such as a weighting coefficient. In this case, the weighting coefficient is a fixed value or 1.
[0100] The behavior calculation unit 106 functions as an evaluation unit and performs evaluations of evaluation items taking into account weighting coefficients that represent importance. For example, the behavior calculation unit 106 multiplies the evaluation items, such as collision risk, arrival delay risk, energy consumption, and stability, by their respective weighting coefficients to perform an overall evaluation.
[0101] The action selection unit 107 then selects one action (for example, the optimal action) based on an overall evaluation. The action command unit 108 functions as an execution unit, instructing the FCU 101 to carry out the selected action and having it perform that action.
[0102] This configuration allows for the calculation of weighting coefficients, which represent the importance of flight evaluation items (time delay, energy consumption, flight stability), based on status information such as mission plans, environmental information, or aircraft information. An evaluation considering these weighting coefficients can then be performed to select an action. This enables the deriving of the most rational action according to the current conditions, resulting in highly reliable autonomous mission execution. For example, it can reduce the possibility of a significant decrease in the time and energy efficiency of the mission, or a compromise in flight safety.
[0103] Furthermore, conventionally, there have been limitations to the autonomy of aircraft, such as the risk of communication delays or interruptions. As a result, many systems have relied on real-time intervention from the ground, and a highly reliable, self-contained architecture capable of completing such complex decision-making on its own has not been established. In this disclosure, we have succeeded in establishing such a self-contained architecture.
[0104] Furthermore, this disclosure provides a decision-making "framework" rather than a specific avoidance algorithm. This allows a single aircraft to be adapted to diverse missions while minimizing software changes. In other words, if a new mission (e.g., "reconnaissance mission in a quiet environment") is added, it is not necessary to redesign the entire avoidance algorithm. In this disclosure, it is sufficient to simply add a new profile to the parameter profile DB104. For example, in reconnaissance mode, one could set w_stability to high and w_energy to high to ensure quietness.
[0105] Furthermore, in the aircraft 100 of this disclosure, the parameter adjustment unit 103 functions as a calculation unit and calculates weighting coefficients for multiple evaluation items (time delay, energy consumption, and flight stability). The action calculation unit 106 then multiplies each of the weighting coefficients by the evaluation result (derived result) for each evaluation item to calculate an overall evaluation value.
[0106] This configuration allows for the setting and evaluation of multiple evaluation items and their importance, enabling highly reliable control even in complex environments that previously required sophisticated pilot judgment or were high-risk and difficult for autonomous flight.
[0107] As described above, in this disclosure, state information includes at least one of environmental information relating to the environment in which the aircraft is flying or aircraft information relating to the aircraft itself.
[0108] This configuration enables control that mimics the state judgments made by a human pilot by utilizing at least one of the aircraft information and environmental information.
[0109] Furthermore, in the aircraft 100 of this disclosure, the state acquisition unit 102 functions as a mission plan information acquisition unit that acquires the aircraft's mission plan information in addition to acquiring aircraft information and environmental information. The parameter adjustment unit 103 then calculates the importance of evaluation items (time delay, energy consumption, flight stability) based on the mission plan information.
[0110] This configuration enables flight control that is appropriate to mission plan information such as flight objectives, and allows for the deriving of the most rational action in any given situation.
[0111] Furthermore, the aircraft 100 of this disclosure is further provided with an avoidance action candidate generation unit 105 that functions as an action derivation unit that derives multiple action patterns (e.g., avoidance actions) under predetermined conditions (e.g., collision avoidance: obstacle detection). The action selection unit 107 then selects one action from the multiple action patterns (avoidance actions). The action selection unit 107 selects one action based on an evaluation value calculated by the action calculation unit 106.
[0112] This configuration allows for the deriving of multiple behavioral patterns (avoidance behaviors) under predetermined conditions, from which one behavior can be selected. This enables the deriving of the most rational behavior according to the situation at that time.
[0113] In this disclosure, a time delay item is defined as an evaluation item, which is the delay in arriving at a specified location at a specified time. This time delay item is determined based on a time cost function that is determined based on the time it takes to complete the action shown in each behavior pattern (avoidance behavior). The behavior calculation unit 106 then calculates an evaluation value by multiplying the derivation result for the action (avoidance behavior) using the time cost function by a weight coefficient.
[0114] According to this configuration, the time delay items defined as evaluation items are determined based on a time cost function defined based on the time it takes for each behavior pattern (avoidance behavior) to be completed. Using this, the evaluation value can be calculated by multiplying the derived result for the behavior by a weight coefficient. This makes it possible to perform evaluations that take time delays into account, and to derive the most rational behavior according to the situation at any given time.
[0115] Furthermore, in this disclosure, energy consumption items that reduce energy consumption efficiency are defined as evaluation items. These energy consumption items are determined based on an energy cost function for determining the amount of energy required for each behavior pattern (avoidance behavior), and the behavior calculation unit 106 calculates an evaluation value by multiplying the derivation result for the behavior (avoidance behavior) using the energy cost function by a weight coefficient.
[0116] In this configuration, the energy consumption items defined as evaluation criteria are determined based on an energy cost function that calculates the amount of energy required for each action shown in the behavioral pattern (avoidance behavior). Using this, the evaluation value can be calculated by multiplying the derived result for the action (avoidance behavior) by a weighting coefficient. This enables evaluation that takes energy consumption into account, and allows for the derivation of the most rational action according to the situation at any given time. Furthermore, by dynamically adjusting the energy cost function J_energy(S) and the context-dependent energy weighting coefficient w_e, it becomes possible to autonomously select a more rational action that takes energy efficiency into account from among multiple avoidance action candidates each time an obstacle is encountered.
[0117] Furthermore, in this disclosure, a stability item indicating flight stability is defined as an evaluation item. This stability item is determined based on a stability cost function that indicates the stability of the behavior shown in each behavior pattern (avoidance behavior). The behavior calculation unit 106 calculates an evaluation value by multiplying the derived result for the behavior (avoidance behavior) by a weight coefficient using the stability cost function.
[0118] According to this configuration, the stability items defined as evaluation criteria are determined based on a stability cost function that indicates the stability of the behavior shown in each behavior pattern. Using this, the evaluation value can be calculated by multiplying the derived result for the behavior by a weight coefficient. This enables evaluation that takes flight stability into account, and allows for the derivation of the most rational behavior according to the conditions at any given time.
[0119] Furthermore, in this disclosure, the evaluation items include a collision item indicating the risk of collision with an obstacle, and at least one of the time cost of being late to a specified location at a specified time, an energy cost indicating energy consumption, and a stability cost indicating flight stability.
[0120] According to this configuration, the evaluation items include a collision item for the risk of collision with obstacles, and further include at least one of the time delay item and energy consumption item. This makes it possible to perform evaluations that include items that must be absolutely avoided, such as collision items, enabling highly reliable autonomous mission execution.
[0121] The aircraft of this disclosure has the following configuration. Note 1 A status acquisition unit that acquires status information, An evaluation unit that performs an evaluation of the evaluation items based on the aforementioned status information, A selection unit that selects an action based on the aforementioned evaluation items, An execution unit that performs the aforementioned actions, An aircraft equipped with [the following features]. Note 2 The system further includes a calculation unit that calculates the importance of the evaluation items for flight based on the aforementioned status information. The evaluation unit performs the evaluation of the evaluation items according to their importance. The flying object described in Appendix 1. Note 3 The calculation unit calculates the importance of each of the multiple evaluation items, The evaluation unit performs an evaluation of the evaluation items taking into account each of the importance levels. The flying object described in Appendix 2. Note 4 The aforementioned state information is, This includes at least one of environmental information relating to the environment in which the aircraft is flying or aircraft information relating to the aircraft itself. An aircraft described in any of the appendices 1 to 3. Note 5 The aircraft further comprises a mission plan information acquisition unit that acquires mission plan information of the aforementioned aircraft, The calculation unit calculates the importance of the evaluation items based on the mission plan information in addition to the status information. The aircraft described in Appendix 2 or 3. Note 6 The system further includes a behavioral derivation unit that derives multiple behavioral patterns under predetermined conditions. The selection unit selects one action from the plurality of action patterns. An aircraft described in any of the appendices 1 through 5. Appendix 7 As part of the aforementioned evaluation criteria, a time delay criterion is defined, which is being late to a designated location at a designated time. The time delay item is determined based on a time cost function defined based on the time it takes for each of the actions shown in the aforementioned action patterns to be completed. As the aforementioned importance, a weighting coefficient is calculated, The evaluation unit calculates an evaluation value by multiplying the derived result for the action and the weight coefficient using the time cost function. The flying object described in Appendix 6. Note 8 As evaluation items, energy consumption items that reduce energy consumption efficiency are defined. The energy consumption item in question is determined based on an energy cost function used to determine the amount of energy required for each of the behavioral patterns described above. As the aforementioned importance, a weighting coefficient is calculated, The evaluation unit calculates an evaluation value by multiplying the derived result for the action and the weight coefficient using the energy cost function. The aircraft described in Appendix 6 or 7. Note 9 As part of the aforementioned evaluation items, a stability item indicating flight stability has been established. The stability item is determined based on a stability cost function that indicates the stability of the behavior shown in each of the aforementioned behavior patterns. As the aforementioned importance, a weighting coefficient is calculated, The evaluation unit calculates an evaluation value by multiplying the derivation result for the action using the stability cost function by the weight coefficient. An aircraft described in any of the appendices 6 to 8. Note 10 The aforementioned evaluation items include collision items that indicate the risk of collision with obstacles, and further, This includes at least one of the time cost of being late to a specified location at a specified time, the energy cost indicating energy consumption, and the stability cost indicating flight stability. An aircraft described in any of the appendices 1 through 9. Note 11 In flight control methods for aircraft, A state acquisition step to obtain state information, An evaluation step in which evaluation items are performed based on the aforementioned status information, A selection step in which an action is chosen based on the aforementioned evaluation items, An execution step to carry out the aforementioned action, A flight control method comprising the following: [Explanation of Symbols]
[0122] 100...Flight Unit, 101...FCU, 102...Status Acquisition Unit, 103...Parameter Adjustment Unit, 104...Parameter Profile DB, 105...Evasion Action Candidate Generation Unit, 106...Action Calculation Unit, 107...Action Selection Unit, 108...Action Command Unit.
Claims
1. A state acquisition unit that acquires state information including environmental information relating to the environment in which the aircraft is flying and aircraft information relating to the aircraft, A mission plan information acquisition unit that acquires mission plan information indicating the flight purpose of the aforementioned aircraft, A calculation unit calculates the importance of multiple evaluation items, including time delay, energy consumption, and flight stability, based on the status information and the mission plan information. An evaluation unit that performs an overall evaluation of the multiple evaluation items based on each of the multiple importance levels calculated above, Based on the aforementioned comprehensive evaluation, a selection unit selects an action, An execution unit that performs the aforementioned actions, An aircraft equipped with [the following features].
2. The system further includes a behavioral derivation unit that derives multiple behavioral patterns under predetermined conditions. The selection unit selects one action from the plurality of action patterns. The flying object according to claim 1.
3. As part of the aforementioned evaluation criteria, a time delay criterion is defined, which is being late to a designated location at a designated time. The time delay item is determined based on a time cost function defined based on the time it takes for each of the actions shown in the aforementioned action patterns to be completed. As an indicator of importance, a weighting coefficient is calculated. The evaluation unit calculates an evaluation value by multiplying the derived result for the action and the weight coefficient using the time cost function. The flying object according to claim 2.
4. As evaluation items, energy consumption items that reduce energy consumption efficiency are defined. The energy consumption item in question is determined based on an energy cost function used to determine the amount of energy required for each of the behavioral patterns described above. As an indicator of importance, a weighting coefficient is calculated. The evaluation unit calculates an evaluation value by multiplying the derived result for the action and the weight coefficient using the energy cost function. The flying object according to claim 2.
5. As part of the aforementioned evaluation items, a stability item indicating flight stability has been established. The stability item is determined based on a stability cost function that indicates the stability of the behavior shown in each of the aforementioned behavior patterns. As an indicator of importance, a weighting coefficient is calculated. The evaluation unit calculates an evaluation value by multiplying the derivation result for the action using the stability cost function by the weight coefficient. The flying object according to claim 2.
6. The aforementioned evaluation items include collision items that indicate the risk of collision with an obstacle. The flying object according to claim 1.
7. The device further comprises a storage unit for storing a parameter profile that stores a plurality of situations, including mission plan information, aircraft status, and environment, in association with the importance of the plurality of evaluation items, The calculation unit described above, Based on the status information and mission plan information acquired by the status acquisition unit, the current status is determined. The importance of each of the multiple evaluation items is calculated by referring to the parameter profile. The flying object according to claim 1.
8. The calculation unit is Based on the status information and the mission plan information, identify a number of applicable situations. From the parameter profile, weight coefficients corresponding to the multiple situations are obtained, The multiple weight coefficients obtained are summed up to calculate the importance of each of the aforementioned evaluation items. The flying object according to claim 7.
9. In flight control methods for aircraft, A state acquisition step involves acquiring state information including environmental information about the environment in which the aircraft is flying and aircraft information about the aircraft itself. A mission plan information acquisition step, which acquires mission plan information indicating the flight purpose of the aforementioned aircraft, A calculation step that calculates the importance of multiple evaluation items, including time delay, energy consumption, and flight stability, based on the status information and the mission plan information, An evaluation step in which an overall evaluation of the multiple evaluation items is performed based on each of the multiple importance levels calculated above, Based on the aforementioned comprehensive evaluation, a selection step is taken to choose an action, An execution step to carry out the aforementioned action, A flight control method comprising the following: