Method and apparatus for flight control prioritization

Through the integrated vertical limit controller and thrust state determiner, multi-rotor aircraft can prioritize attitude control in emergency situations, solving the problem that multi-rotor aircraft cannot prioritize attitude and vertical control at the same time, ensuring flight safety.

CN112327902BActive Publication Date: 2025-03-18THE BOEING CO
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202010770591.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-08-05
Filing Date
2020-08-04
Publication Date
2025-03-18
Estimated Expiration
2040-08-04

AI Technical Summary

Technical Problem

In an emergency, a multi-rotor aircraft may not be able to prioritize attitude control and vertical control simultaneously, resulting in potential crashes or other undesirable flight events.

Method used

Through the vertical limit controller in the integrated flight control system, the available power limit and thrust state of each rotor of the rotor aircraft are determined, the thrust margin is identified based on the vertical control profile, and attitude control is preferred.

Benefits of technology

Ensure that in emergencies, multi-rotor aircraft have sufficient attitude control capabilities to avoid potential crashes or other undesired flight events while allowing acceptable vertical control power.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112327902B_ABST
    Figure CN112327902B_ABST
Patent Text Reader

Abstract

The present invention relates to a method and apparatus for flight control prioritization, and discloses a method, apparatus, system and article for flight control prioritization. An exemplary apparatus includes a thrust state determiner and a command generator, wherein the thrust state determiner determines a first thrust margin between a first limit of a first available power of a first rotor of a rotorcraft and a first thrust state associated with the first rotor; determines a second thrust margin between a second limit of a second available power of a second rotor of the rotorcraft and a second thrust state associated with the second rotor; and identifies the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft, the command generator determines a first vertical control command based on the selected thrust margin and a second vertical control command, and the second vertical control command is executed by the rotorcraft; and controls the rotorcraft based on the first vertical control command.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to aircraft, and more particularly, to methods and apparatus for flight control prioritization. Background Art

[0002] Unmanned aerial vehicles (UAVs), commonly referred to as drones, are becoming more readily available and increasingly popular in many applications. Unmanned aerial vehicles may be operated under remote control by a human operator and / or autonomously by an onboard computer. Increased interest in unmanned aerial vehicles has led to increased interest in improving the flight control systems of unmanned aircraft. Summary of the invention

[0003] A method and apparatus for flight control prioritization are disclosed herein.

[0004] An example apparatus disclosed herein includes a thrust state determiner that: determines a first thrust margin between a first limit of a first available power for a first rotor of a rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determines a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; and identifies the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft. The example apparatus further includes a command generator that determines a first vertical control command based on the selected thrust margin and a second vertical control command that is executed by the rotorcraft and controls the rotorcraft based on the first vertical control command.

[0005] An exemplary non-transitory computer-readable storage medium is disclosed herein. The exemplary non-transitory computer-readable storage medium includes instructions that, when executed, cause a machine to at least: determine a first thrust margin between a first limit of a first available power for a first rotor of a rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determine a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; identify the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft; determine a first vertical control command based on the selected thrust margin and a second vertical control command, the second vertical control command being executed by the rotorcraft, and control the rotorcraft based on the first vertical control command.

[0006] An example method disclosed herein includes determining a first thrust margin between a first limit of a first available power for a first rotor of a rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determining a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; identifying the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft; determining a first vertical control command based on the selected thrust margin and a second vertical control command, the second vertical control command being executed by the rotorcraft, and controlling the rotorcraft based on the first vertical control command. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1A to Figure 1B An exemplary aircraft is depicted.

[0008] Figure 2 Depicted Figure 1A-1B An exemplary flight control system for an exemplary aircraft of the present invention includes an exemplary controller including an exemplary vertical limit controller.

[0009] Figure 3 Depicted Figure 2 An exemplary implementation of an exemplary controller of an exemplary vertical limit controller.

[0010] Figure 4 Describes the use of Figure 3 An exemplary process for determining an exemplary thrust margin by an exemplary vertical limit controller.

[0011] Figure 5 Describes the use of Figure 3 An example process for an example vertical limit controller to generate an example vertical command.

[0012] Figure 6 It means that it can be executed to implement Figure 2 An exemplary controller thus controls Figure 1A-1B A flow chart of example machine readable instructions for an example aircraft.

[0013] Figure 7 It means that it can be executed to implement Figure 2 A flow chart of example machine readable instructions for an example controller to determine a thrust state based on (one or more) rotor measurements.

[0014] Figure 8 It means that it can be executed to implement Figure 2 The exemplary controller of Figure 1A-1B A flow chart of example machine readable instructions for identifying thrust state margins for a vertical control profile of an example aircraft.

[0015] Fig. 9 is constructed to execute Figure 6-8 Example machine readable instructions to implement Figure 2 A block diagram of an example processing platform of an example controller of FIG.

[0016] The drawings are not drawn to scale. Generally, the same reference numerals will be used throughout the drawings and the accompanying written description to refer to the same or similar components. The connecting lines or connectors shown in the various figures presented are intended to represent exemplary functional relationships and / or physical or logical couplings between the various elements.

[0017] When identifying multiple elements or components that can be referred to individually, the descriptors "first", "second", "third", etc. are used in this article. Unless otherwise specified or understood based on the context of the descriptor, these descriptors are not intended to confer any meaning of priority or chronological order, but are merely labels that refer to multiple elements or components separately for ease of understanding the disclosed examples. In some examples, the descriptor "first" can be used to refer to an element in a specific embodiment, while the same element can be referred to using different descriptors such as "second" or "third" in the claims. In such cases, it should be understood that the use of such descriptors is only for the convenience of referring to multiple elements or components. DETAILED DESCRIPTION

[0018] In recent years, unmanned aerial vehicles (UAVs) or drones have been used to fly considerable distances to transport payloads (e.g., equipment, packages, supplies, etc.) or to collect information. Some unmanned aerial vehicles may be vertical take-off and landing (VTOL) aircraft (e.g., multi-rotor VTOL aircraft, multi-rotor VTOL UAV, etc.) including multiple rotors for ease of attitude and vertical control. A VTOL aircraft may correspond to an aircraft capable of hovering, taking off, and vertical landing. For example, a VTOL aircraft may perform attitude control by adjusting the rotation speed and / or orientation of one or more rotors to control the orientation of the VTOL aircraft relative to an inertial reference frame. In other examples, a VTOL aircraft may perform vertical control by adjusting the rotation speed and / or orientation of one or more rotors to increase or decrease altitude.

[0019] In an emergency situation, a VTOL aircraft may need attitude control to take precedence over vertical control. For example, an electric VTOL aircraft may be operating at reduced power (e.g., one or more batteries are low or in a reduced power state) and may not be able to provide maximum power input to a motor operably coupled to a rotor (e.g., compared to when one or more batteries are fully charged or substantially fully charged) to perform both maximum attitude control and maximum vertical control. In such an example, the electric VTOL aircraft may need to prioritize attitude control to ensure that the electric VTOL aircraft is in an orientation relative to the ground to facilitate landing on the ground using the electric VTOL aircraft's landing gear. Alternatively, by giving vertical control priority over attitude control, the electric VTOL aircraft may be unable to land using the landing gear, thereby causing damage to the electric VTOL aircraft.

[0020] Conventional rotary-wing aircraft (e.g., helicopters or other aircraft with powered rotors) may not need to force attitude control to take precedence over vertical control because rotary-wing aircraft typically use cyclic pitch of the rotor for attitude control, which does not significantly affect the amount of thrust that the rotor of the rotary-wing aircraft can generate. In contrast, a multi-rotor VTOL UAV controls a single rotor thrust to control both the attitude state and the vertical state. For example, a multi-rotor VTOL UAV may use differential rotor thrust for attitude control and symmetric rotor thrust for vertical control. Therefore, the thrust limit at any actuator, motor, etc. of the multi-rotor VTOL UAV may affect the attitude and vertical control response of the multi-rotor VTOL UAV.

[0021] Examples disclosed herein include methods and apparatus for flight control prioritization of a multirotor aircraft. In some disclosed examples, a multirotor aircraft (such as an electric multirotor VTOL UAV) includes a flight control system that integrates the attitude control and power systems of the multirotor aircraft to generate an upper limit of allowable vertical control. Advantageously, by generating an upper limit, the flight control system ensures sufficient attitude control capability of the multirotor aircraft to avoid potential crashes or other undesirable flight events while maximizing allowable vertical control.

[0022] In some disclosed examples, the flight control system includes a vertical limit controller to obtain measurements associated with one or more electrical or power distribution buses of the multi-rotor aircraft. The vertical limit controller can determine a thrust state (e.g., a rotor thrust state) associated with a rotor operably coupled to a motor under current operating conditions (e.g., transient or substantially transient operating conditions). In some disclosed examples, the thrust state corresponds to and / or is additionally based on the current allocation of power to the rotor motor. For example, the thrust state of the rotor can correspond to a current or instantaneous amount of current or voltage, etc., consumed by a motor that controls the rotation of the rotor and / or otherwise applied to the motor. In such an example, the rotor can have a thrust state of 20V, 40V, etc.

[0023] In some disclosed examples, a vertical limit controller determines a thrust margin (e.g., rotor thrust margin, thrust state margin, rotor thrust state margin, etc.) associated with rotors of a multirotor aircraft under current operating conditions. For example, the thrust state margin may correspond to a difference between (1) a maximum (possible) power allocation to the rotor motors and (2) a current power allocation to the rotor motors.

[0024] In some disclosed examples, a vertical limit controller determines a power bus thrust margin associated with one or more rotors having corresponding motors powered by a power bus of interest. For example, a power bus may deliver power to a first motor operably coupled to a first rotor and a second motor operably coupled to a second rotor. The vertical limit controller may determine a first thrust state of the first rotor based on a first voltage applied to the first motor, and a second thrust state of the second rotor based on a second voltage applied to the second motor. The vertical limit controller may determine the power bus thrust state by determining a maximum value, a minimum value, an average value, etc. of the first thrust state and the second thrust state. The vertical limit controller may determine the power bus thrust margin by determining the difference between the power bus thrust state and a voltage associated with one or more power sources delivering power to the power bus.

[0025] In some disclosed examples, the thrust state margin of the rotor is inversely proportional to the thrust state of the rotor. For example, the thrust state margin of the rotor can increase as the thrust state of the rotor decreases. In some examples, because the corresponding motor is consuming the maximum amount of power allocated to the motor to meet, reach and / or otherwise maintain the commanded speed of the rotor, the minimum thrust state margin of the rotor can correspond to the maximum thrust state of the rotor. In such an example, because the corresponding thrust state margin is approximately zero, the rotor with the maximum thrust state does not respond to the command change to increase thrust. Therefore, the rotor with the maximum thrust state can cause degradation of the attitude control associated with the rotor.

[0026] In some disclosed examples, the vertical limit controller selects from a plurality of thrust state margins down to a thrust state margin identified based on a minimum, average, maximum, etc., of the plurality of thrust state margins based on a vertical control profile of the multirotor aircraft. In such disclosed examples, the vertical control profile can correspond to a thrust level that the multirotor aircraft can meet, achieve, and / or otherwise maintain based on power allocation to one or more rotors. For example, the thrust level can correspond to a maximum thrust level that can be achieved and / or otherwise obtained by the rotors of the multirotor aircraft.

[0027] In some disclosed examples, the maximum thrust level can be based on whether the thrust state associated with the rotor is minimized, maximized, averaged, etc. to meet a desired, expected, or thrust state margin of interest. For example, a first thrust level for the rotor can correspond to a first thrust margin (e.g., a conservative thrust state margin), a second thrust level for the rotor can correspond to a second thrust margin that is less than the first thrust margin (e.g., an average thrust state margin), and a third thrust level for the rotor can correspond to a third thrust margin that is less than the second thrust margin (e.g., not a conservative thrust state margin, an aggressive thrust state margin, etc.). In some disclosed examples, the vertical limit controller determines a vertical control command for the multirotor aircraft based on the downwardly selected thrust state margin and the current vertical control command to prioritize attitude control over vertical control.

[0028] Figure 1A to Figure 1B An exemplary aircraft 100 is depicted. Figure 1A is a top down isometric view of the aircraft 100, and Figure 1B is a bottom isometric view of aircraft 100. Figure 1A to Figure 1BIn the embodiment, the aircraft 100 is a rotorcraft (such as a multi-rotor UAV). For example, the aircraft 100 may be a multi-rotor VTOL UAV. In such an example, the aircraft 100 may be an electrically actuated multi-rotor VTOL UAV, a chemically fueled multi-rotor VTOL UAV, the like, and / or a combination thereof. Alternatively, the aircraft 100 may be operator-controlled and / or otherwise have one or more users (e.g., a pilot) on board the aircraft 100. Alternatively, the aircraft 100 may be any other type of multi-rotor aircraft.

[0029] Aircraft 100 includes exemplary rotor assemblies 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124 to control and / or otherwise facilitate flight of aircraft 100. Aircraft 100 includes first exemplary rotor assembly 102, second exemplary rotor assembly 104, third exemplary rotor assembly 106, fourth exemplary rotor assembly 108, fifth exemplary rotor assembly 110, and sixth exemplary rotor assembly 112 on a first side of aircraft 100. Aircraft 100 includes seventh exemplary rotor assembly 114, eighth exemplary rotor assembly 116, ninth exemplary rotor assembly 118, tenth exemplary rotor assembly 120, eleventh exemplary rotor assembly 122, and twelfth exemplary rotor assembly 124 on a second side of aircraft 100 opposite the first side. Alternatively, aircraft 100 may include more than one exemplary rotor assembly. Figure 1A to Figure 1B Fewer or more rotor assemblies than depicted in FIG.

[0030] exist Figure 1A In the illustrated example of FIG. 1 , aircraft 100 includes a first exemplary rotor support frame 126 on a first side of aircraft 100 and a second exemplary rotor support frame 128 on a second side of aircraft 100. First rotor assembly 102 and second rotor assembly 104 are coupled to aircraft 100 via first exemplary legs 130 of first rotor support frame 126. Third rotor assembly 106 and fourth rotor assembly 108 are coupled to aircraft 100 via second exemplary legs 132 of first rotor support frame 126. Fifth rotor assembly 110, sixth rotor assembly 112 are coupled to aircraft 100 via third exemplary legs 134 of first rotor support frame 126. Seventh rotor assembly 114 and eighth rotor assembly 116 are coupled to aircraft 100 via first exemplary legs 136 of second rotor support frame 128. Ninth rotor assembly 118 and tenth rotor assembly 120 are coupled to aircraft 100 via second exemplary legs 138 of second rotor support frame 128. Eleventh rotor assembly 122 and twelfth rotor assembly 124 are coupled to aircraft 100 via third exemplary foot 140 of second rotor support frame 128 .

[0031] exist Figure 1AIn the illustrated example, each rotor assembly 102-124 includes two exemplary propellers 142, an exemplary rotor 144, an exemplary motor 146, and an exemplary sensor 148. Alternatively, one or more of the rotor assemblies 102-124 may include more than one exemplary propeller. Figure 1A Fewer or more propellers 142 are depicted. Alternatively, one or more of rotor assemblies 102-124 may include more than Figure 1A The one rotor 144 , motor 146 , and / or sensor 148 depicted may include more rotors, motors, and / or sensors.

[0032] Figure 1A The illustrated example of rotor assemblies 102-124 may be operable to facilitate attitude control and / or vertical control of aircraft 100. For example, the rotational speed of rotors 144 may be increased to increase altitude, the rotational speed of rotors 144 may be decreased to decrease altitude, etc. In other examples, a first group of one or more rotor assemblies 102-124 may increase the rotational speed of corresponding rotors 144, while a different group of one or more rotor assemblies 102-124 may decrease the rotational speed of corresponding rotors 144 to affect attitude control of aircraft 100.

[0033] Figure 1A The illustrated example of rotor assembly 102-124 includes motor 146 to activate, rotate, and / or otherwise facilitate operation of propeller 142 and rotor 144. Figure 1A In the embodiment, the motor 146 is an electric motor. Alternatively, the motor 146 can be replaced by an engine (e.g., an internal combustion engine) or operated in conjunction with the engine. For example, the motor 146 can be powered by one or more alternators associated with the engine.

[0034] exist Figure 1AIn the illustrated example of , aircraft 100 includes an exemplary controller (e.g., a flight controller, a flight control computing device, etc.) 150 to control and / or otherwise facilitate the operation (e.g., flight operation) of aircraft 100. Controller 150 controls the pitch, roll, and / or yaw of aircraft 100 via differential rotor thrust (e.g., a differential rotor thrust flight control method, a flight control method based on differential rotor thrust vectoring, etc.). In other examples, controller 150 may control the pitch, roll, and / or yaw of aircraft 100 via any other flight control method or scheme. For example, controller 150 may direct, instruct, and / or otherwise invoke motor 146 of one or more of rotor assemblies 102-124 to adjust the rotational speed of corresponding rotor 144. In such an example, controller 150 may regulate (e.g., individually regulate) the amount of power delivered to and / or consumed by motor 146 and / or more generally the amount of power delivered to and / or consumed by rotor assemblies 102-124. Alternatively, aircraft 100 may include more than one controller 150 to facilitate operation of aircraft 100.

[0035] Figure 1A Controller 150 may obtain measurements (e.g., sensor measurements) associated with rotor assemblies 102-124 from sensors 148. For example, controller 150 may be coupled (e.g., communicatively coupled, electrically coupled, mechanically coupled, etc.) to sensors 148 of one or more of rotor assemblies 102-124. Figure 1A , the sensor 148 is a voltage sensor. For example, the controller 150 can obtain the voltage supplied to the motor 146. Alternatively, the sensor 148 can be a current sensor, a speed sensor, a temperature sensor, etc. For example, the controller 150 can obtain the current supplied to the motor 146, the rotational speed of the motor 146 (e.g., revolutions per minute (RPM)), the temperature of the motor 146, etc. Alternatively, the controller 150 can obtain a measurement value from the motor 146. For example, the controller 150 can communicate with the motor 146 via an industrial communication protocol bus (e.g., a controller area network (CAN) protocol, an aeronautical radio corporation (ARINC)-based protocol (e.g., ARINC 429, ARINC 629, etc.)) to obtain parameters associated with the motor 146 (such as motor speed, current and / or voltage provided to the motor 146, temperature, etc.).

[0036] Figure 1AThe aircraft 100 includes exemplary power sources 152, 154, including a first exemplary power source 152 and a second exemplary power source 154. For example, the first power source 152 may correspond to a first power bus of the aircraft 100, and the second power source 154 may correspond to a second power bus of the aircraft 100. In other examples, the aircraft 100 may include more than Figure 1A Fewer or more power buses, power sources, etc. than the power sources 152, 154 depicted in FIG. Figure 1A , first power source 152 may provide power to first through sixth rotor assemblies 102-112, and second power source 154 may provide power to seventh through twelfth rotor assemblies 114-124. Alternatively, first power source 152 and second power source 154 may provide power to any other combination of rotor assemblies 102-124. Figure 1A The power sources 152, 154 are batteries, and each of the power sources 152, 154 may include one or more batteries (e.g., lithium-ion batteries, lithium-polymer batteries (e.g., nickel metal hydride (NiMH) batteries, nickel cadmium (NiCd) batteries, etc.), etc.). Alternatively, one or both power sources 152, 154 may be different types of energy storage devices.

[0037] Figure 1A The controller 150 obtains a measurement (e.g., a sensor measurement) associated with the first power source 152 via a first exemplary power source sensor 156, and obtains a measurement associated with the second power source 154 via a second exemplary power source sensor 158. In some examples, the power source sensors 156, 158 are voltage sensors. For example, the controller 150 can determine a first voltage of the first power source 152 based on a first measurement (e.g., a first voltage rail measurement, a first power bus voltage measurement, etc.) from the first power source sensor 156. In other examples, the controller 150 can determine a second voltage of the second power source 154 based on a second measurement (e.g., a second voltage rail measurement, a second power bus voltage measurement, etc.) from the second power source sensor 158. Additionally or alternatively, the first power source sensor 156 and / or the second power source sensor 158 can be a current sensor, a temperature sensor, etc., and / or a combination thereof. For example, the power source sensors 156, 158 can obtain temperature measurements indicating the temperature (e.g., core temperature, surface temperature, etc.) of the power sources 152, 154.

[0038] Figure 1A to Figure 1BThe aircraft 100 includes exemplary landing gears 160, 162, 164, including a first exemplary landing gear 160, a second exemplary landing gear 162, and a third exemplary landing gear 164. In operation, the controller 150 generates and transmits commands to the rotor assemblies 102-124 to prioritize attitude control over vertical control, thereby ensuring that the aircraft 100 lands on the landing gears 160, 162, 164 in the event of an emergency, a condition associated with one or both of the power sources 152, 154 having a low voltage, and the like.

[0039] Figure 2 Depicted Figure 1A to Figure 1B An exemplary flight control system 200 for the aircraft 100 is shown. Figure 2 The flight control system 200 includes Figure 1A The controller 150 includes an exemplary vertical axis controller 202 , an exemplary pitch axis controller 204 , an exemplary roll axis controller 206 , an exemplary yaw axis controller 208 , an exemplary vertical limit controller 210 , and an exemplary actuator hybrid controller 212 . Figure 2 The flight control system 200 includes a first exemplary aircraft feedback sensor(s) 214, a second exemplary aircraft feedback sensor(s) 216, an exemplary power source monitoring sensor(s) 218, and Figure 1A Power sources 152, 154.

[0040] exist Figure 2 In the illustrated example, first aircraft feedback sensor(s) 214 may correspond to a first aircraft feedback sensor 214 associated with rotor 144, motor 146, and / or more generally associated with Figure 1A One or more speed sensors associated with the aircraft 100. For example, the first aircraft feedback sensor(s) 214 may correspond to one or more sensors (such as Figure 1A In other examples, the first aircraft feedback sensor(s) 214 may correspond to an acceleration sensor (e.g., an accelerometer), an angle of attack sensor, an angular rate sensor (e.g., a gyroscope sensor), etc. Figure 2 , the second aircraft feedback sensor(s) 216 may correspond to sensors that may measure information related to the rotor 144, the motor 146, and / or more generally Figure 1A One or more sensors of current, voltage, etc. associated with the aircraft 100. For example, the second aircraft feedback sensor(s) 216 may correspond to one or more sensors (such as Figure 1AAlternatively, the second aircraft feedback sensor(s) 216 may correspond to an acceleration sensor (e.g., an accelerometer), an angle of attack sensor, an angular rate sensor (e.g., a gyro sensor), etc. Figure 2 In the embodiment, the power source monitoring sensor(s) 218 ​​may correspond to a power source monitoring sensor that can measure and Figure 1A One or more sensors for current, voltage, etc. associated with the power sources 152, 154. For example, the power source monitoring sensor(s) 218 ​​may correspond to Figure 1A Power source sensors 156, 158.

[0041] exist Figure 2 In the illustrated example, the controller 150 and / or more generally the flight control system 200 includes a vertical axis controller 202 to determine the vertical axis of the aircraft. Figure 1A an RPM value of one or more rotors 144 (e.g., an RPM setpoint value, a commanded RPM value, a desired RPM value, etc.), Figure 1A The first exemplary actuator command 220 may be configured to affect the altitude of the aircraft 100 based on at least one of the RPM values ​​of the one or more motors 146, and / or a combination thereof. For example, the vertical axis controller 202 may determine the first actuator command 220 to affect the altitude of the aircraft 100 based on the measurement value(s) from the first aircraft feedback sensor(s) 214. Figure 1A to Figure 1B For example, vertical axis controller 202 may determine an altitude error based on first aircraft feedback sensor(s) 214 and determine a first actuator command (e.g., a rotor speed command, a rotor angle or pitch command, etc.) 220 to achieve a desired altitude (e.g., to reduce and / or otherwise eliminate the altitude error). In such an example, vertical axis controller 202 may determine first actuator command 220 based on a current or instantaneous rotational speed associated with one or more of rotor assemblies 102-124.

[0042] exist Figure 2 In the illustrated example, the controller 150 and / or more generally the flight control system 200 includes a pitch axis controller 204 to determine the pitch axis relative to the Figure 1A RPM value of one or more rotors 144, Figure 1A The second exemplary actuator command 222 may be configured to adjust and / or otherwise affect the pitch of the aircraft 100 based on at least one of the RPM values ​​of the one or more motors 146, and / or a combination thereof. Figure 1A to Figure 1B2. For example, pitch axis controller 204 may determine a pitch error (e.g., an incorrect forward or aft position) based on first aircraft feedback sensor(s) 214 and determine second actuator command (e.g., a rotor speed command, a rotor angle or tilt command, etc.) 222 to achieve a desired pitch (e.g., to reduce and / or otherwise eliminate the pitch error). In such an example, pitch axis controller 204 may determine second actuator command 222 based on a current rotational speed associated with one or more of rotor assemblies 102-124.

[0043] exist Figure 2 In the illustrated example, the controller 150 and / or more generally the flight control system 200 includes a roll axis controller 206 to determine the roll axis relative to the Figure 1A RPM value of one or more rotors 144, Figure 1A The third exemplary actuator command 224 may be configured to adjust and / or otherwise affect the roll of the aircraft 100 based on at least one of the RPM values ​​of the one or more motors 146 and / or combinations thereof. For example, the roll axis controller 206 may determine the third actuator command 224 to indicate the roll of the aircraft 100 based on the measurement value(s) from the first aircraft feedback sensor(s) 214. Figure 1A to Figure 1B For example, vertical axis controller 202 may determine a roll error (e.g., an incorrect lateral position) based on first aircraft feedback sensor(s) 214 and determine third actuator command (e.g., a rotor speed command, a rotor angle or tilt command, etc.) 224 to achieve a desired roll (e.g., reduce and / or otherwise eliminate the roll error). In such an example, roll axis controller 206 may determine third actuator command 224 based on a current rotational speed associated with one or more of rotor assemblies 102-124.

[0044] exist Figure 2 In the illustrated example, the controller 150 and / or more generally the flight control system 200 includes a yaw axis controller 208 to determine the yaw axis relative to the Figure 1A RPM value of one or more rotors 144, Figure 1A The fourth exemplary actuator command 226 may be determined to control the yaw of the aircraft 100 based on the RPM value of the one or more motors 146, ... Figure 1A to Figure 1B2-124. For example, yaw axis controller 208 may determine a yaw error (e.g., an incorrect heading) based on first aircraft feedback sensor(s) 214 and determine fourth actuator command (e.g., a rotor speed command, a rotor angle or pitch command, etc.) 226 to achieve a desired yaw (e.g., to reduce and / or otherwise eliminate the yaw error). In such an example, yaw axis controller 208 may determine fourth actuator command 226 based on a current rotational speed associated with one or more of rotor assemblies 102-124.

[0045] exist Figure 2 In the illustrated example of , controller 150 and / or more generally flight control system 200 includes vertical limit controller 210 to generate an exemplary vertical command limit 228. Vertical command limit 228 may correspond to an electrical limit value associated with the operation of rotor 144. For example, vertical command limit 228 may correspond to an overvoltage limit value, an overcurrent limit value, etc., and first actuator command 220 generated by vertical axis controller 202 may not exceed vertical command limit 228.

[0046] In some examples, vertical limit controller 210 generates example vertical command 230 based on at least one of first actuator command 220 or vertical command limit 228 . Figure 2 , the vertical limit controller 210 generates the vertical command 230 by executing the exemplary vertical command limit function 231. For example, when the first actuator command 220 does not invoke the vertical command limit 228, the vertical limit controller 210 may generate the vertical command 230 to correspond to the first actuator command 220. For example, if a first voltage associated with the first actuator command 220 is less than or equal to a second voltage associated with the vertical command limit 228, the vertical limit controller 210 may allow the first actuator command 220 to pass or be transmitted to the actuator hybrid controller 212.

[0047] In some examples, the vertical limit controller 210 generates the vertical command 230 based on the vertical command limit 228. For example, when the first actuator command 220 invokes the vertical command limit 228, the vertical limit controller 210 may generate the vertical command 230 to correspond to the vertical command limit 228. For example, if a first voltage associated with the first actuator command 220 is greater than a second voltage associated with the vertical command limit 228, the vertical limit controller 210 may attenuate, reduce, and / or otherwise limit the first actuator command 220 to the vertical command limit 228. In such an example, the vertical limit controller 210 may transmit the vertical command 230 to the actuator hybrid controller 212, where the vertical command 230 is limited to a value associated with the vertical command limit 228.

[0048] exist Figure 2 In the illustrated example of , controller 150 and / or more generally flight control system 200 includes actuator blending controller 212 to synthesize at least one of vertical command 230 (e.g., first actuator command 220, first actuator command 220 limited to vertical command limit 228, etc.), second actuator command 222, third actuator command 224, or fourth actuator command 226 into exemplary aircraft dynamics 232. For example, actuator blending controller 212 may generate and transmit commands to rotor assemblies 102-124 based on a combination, blending, and / or other fusion of one or more of vertical command 230, second actuator command 222, third actuator command 224, and / or fourth actuator command 226. For example, aircraft dynamics 232 may correspond to movement of aircraft 100, such as movement from a first position to a second position, movement from a first altitude to a second altitude, movement from a first orientation to a second orientation, etc., and / or combinations thereof.

[0049] Although the implementation Figure 1A An exemplary embodiment of the controller 150 is as follows Figure 2 As shown in Figure 2 One or more of the elements, processes, and / or devices shown in the drawings may be combined, divided, rearranged, omitted, eliminated, and / or implemented in any other manner. In addition, the exemplary vertical axis controller 202, the exemplary pitch axis controller 204, the exemplary roll axis controller 206, the exemplary yaw axis controller 208, the exemplary vertical limit controller 210, the exemplary actuator hybrid controller 212, and / or more generally Figure 1AThe exemplary controller 150 may be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Thus, for example, the exemplary vertical axis controller 202, the exemplary pitch axis controller 204, the exemplary roll axis controller 206, the exemplary yaw axis controller 208, the exemplary vertical limit controller 210, the exemplary actuator hybrid controller 212, and / or more generally the exemplary controller 150 may be implemented by one or more analog or digital circuits, logic circuits, programmable processors, programmable controllers, graphics processing units (GPUs), digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field programmable logic devices (FPLDs). When any apparatus or system claims of this patent are read to cover pure software and / or firmware implementations, at least one of the exemplary vertical axis controller 202, the exemplary pitch axis controller 204, the exemplary roll axis controller 206, the exemplary yaw axis controller 208, the exemplary vertical limit controller 210, and / or the exemplary actuator hybrid controller 212 is expressly defined herein as comprising a non-transitory computer-readable storage device or storage disk such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc., including the software and / or firmware. Further, Figure 1A An example controller 150 may include in addition to Figure 2 components, processes and / or devices in addition to or in lieu of those shown Figure 2 One or more of the elements, processes and / or devices of those shown, and / or may include more than one of any or all of the illustrated elements, processes and / or devices. As used herein, the phrase "communication" includes variations thereof, encompasses direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or constant communication, but additionally includes selective communication at periodic intervals, scheduled intervals, non-periodic intervals and / or one-time events.

[0050] Figure 3 Depicted Figure 2 An exemplary implementation of a vertical limit controller 210 of an exemplary flight control system of FIG. In some examples, the vertical limit controller 210 is based on Figure 1A to Figure 1B The invention is determined by at least one of a power distribution configuration, a vertical control profile, or (one or more) measurements associated with rotor assemblies 102-124 of aircraft 100. Figure 2 The vertical command limit is 228. Figure 3 In the illustrated example of , vertical limit controller 210 includes an example configuration determiner 310 , an example sensor interface 320 , an example thrust state determiner 330 , an example command generator 340 , and an example database 350 . Figure 3 Further depicted in database 350 are exemplary power allocation configurations 360 and exemplary vertical control profile(s) 370 .

[0051] exist Figure 3 In the illustrated example, the vertical limit controller 210 includes a configuration determiner 310 to determine the Figure 1A to Figure 1B 310 may determine a configuration (such as a power distribution configuration 360) associated with the aircraft 100. For example, the configuration determiner 310 may determine the power distribution configuration 360 of the aircraft 100 by querying the database 350. In such an example, the configuration determiner 310 may determine that the power distribution configuration 360 of the aircraft 100 includes one or more electrical or power buses (e.g., an electrical distribution bus, a power distribution bus, etc.). For example, the configuration determiner 310 may determine that the aircraft 100 has a power distribution configuration or topology corresponding to and / or otherwise including one or more power buses.

[0052] In some examples, configuration determiner 310 identifies and / or otherwise determines that a power distribution bus of aircraft 100 provides and / or otherwise delivers power to, for example, rotors 144, motors 146, sensors 148, and / or more generally, based on power distribution configuration 360. Figure 1A For example, configuration determiner 310 may determine, based on power distribution configuration 360, that a first power distribution bus of aircraft 100 delivers power to one or more components of rotor assemblies 102-124. Figure 1A to Figure 1B 100 . In other examples, configuration determiner 310 may determine that a second power distribution bus of aircraft 100 delivers power to motors 146 of first, second, third, fourth, ninth, and tenth rotor assemblies 102 , 104 , 106 , 108 , 110 , 118 , 120 based on power distribution configuration 360 . Figure 1A to Figure 1B Motor 146 of fifth, sixth, seventh, eighth, eleventh and twelfth rotor assemblies 112 , 114 , 116 , 122 , 124 .

[0053] In some examples, configuration determiner 310 determines that aircraft 100 is using or will use one of vertical control profile(s) 370. For example, configuration determiner 310 may determine that aircraft 100 is using a first vertical control profile in vertical control profile(s) 370. In such an example, configuration determiner 310 may determine that aircraft 100 is using a first vertical control profile in vertical control profile(s) 370. Figure 1AConfiguration determiner 310 may determine that a first vertical control profile in vertical control profiles 370 corresponds to a first thrust level that can be met, achieved, and / or otherwise maintained by aircraft 100 based on power allocation of one or more rotors 144. In other examples, configuration determiner 310 may determine that a second vertical control profile in vertical control profiles 370 corresponds to a second thrust level that is different from the first thrust level. For example, configuration determiner 310 may determine that a first vertical control profile in vertical control profiles 370 corresponds to a conservative vertical control profile (e.g., a conservative power profile), and a second vertical control profile in vertical control profiles 370 corresponds to an aggressive vertical control profile (e.g., a non-conservative power profile, an aggressive power profile, etc.). In such an example, the conservative power profile may correspond to a higher thrust margin for aircraft 100 than the aggressive power profile because the conservative power profile may enable less power to be delivered to rotor assemblies 102 - 124 than the aggressive power profile would have enabled to achieve the maximum allowable amount of power delivered to rotor assemblies 102 - 124 .

[0054] exist Figure 3 In the illustrated example, vertical limit controller 210 includes a sensor interface 320 to collect and / or otherwise obtain measurements associated with aircraft 100. In some examples, sensor interface 320 obtains measurements associated with aircraft 100. Figure 1A to Figure 1B For example, sensor interface 320 may be able to obtain measurements associated with rotor assemblies 102-124. Figure 1A Sensors 148 of the power source 156 may obtain current and / or voltage measurements of the motor 146, speed measurements of the rotor 144, etc. In some examples, sensor interface 320 may obtain measurements associated with the power bus of interest. For example, sensor interface 320 may obtain current and / or voltage measurements of the motor 146, speed measurements of the rotor 144, etc. Figure 1A Additionally or alternatively, sensor interface 320 may obtain measurements from sensors monitoring any other components and / or characteristics associated with aircraft 100. For example, sensor interface 320 may obtain temperatures associated with power sources 152, 154 from power source sensors 156, 158.

[0055] exist Figure 3In the illustrated example of , vertical limit controller 210 includes a thrust state determiner 330 to determine a thrust state (e.g., a rotor thrust state) associated with one or more of rotor assemblies 102-124. In some examples, thrust state determiner 330 determines the thrust state associated with the rotor assembly based on measurements obtained from sensors that monitor the rotor assembly and / or are otherwise associated with the rotor assembly. For example, thrust state determiner 330 may determine the thrust state of rotor 144 based on measurements from sensor 148. In such an example, thrust state determiner 330 may determine the thrust state of rotor 144 by determining a voltage applied to motor 146 (where the voltage is sensed and / or otherwise measured by sensor 148).

[0056] In some examples, thrust state determiner 330 determines a thrust state (e.g., a power bus thrust state) of one or more of rotor assemblies 102-124 powered by a power bus of interest, where the determination may be based on vertical control profile 370 of aircraft 100. For example, a power bus of interest may include Figure 1A to Figure 1B Thrust state determiner 330 may determine a first thrust state of first rotor assembly 102 by determining a first voltage applied to motor 146 of first rotor assembly 102, determine a second thrust state of second rotor assembly 104 by determining a second voltage applied to motor 146 of second rotor assembly 104, and so on.

[0057] In some examples, thrust state determiner 330 determines that vertical control profile 370 for aircraft 100 is a first vertical control profile that corresponds to a first thrust level assigned to rotor assemblies 102-124 that indicates aircraft 100 has a minimum thrust state margin (e.g., an aggressive vertical control profile). For example, the first thrust level may be a thrust level assigned to vertical control of aircraft 100. Based on the first vertical control profile, thrust state determiner 330 may determine a power bus thrust state by determining a minimum value of a first thrust state, a second thrust state, etc. associated with a power bus of interest. In such an example, the value of the thrust state margin may be inversely proportional to the value of the base thrust state.

[0058] In other examples, thrust state determiner 330 may determine that vertical control profile 370 for aircraft 100 is a second vertical control profile that corresponds to a second thrust level assigned to rotor assemblies 102-124 that indicates an average thrust state margin (e.g., an average vertical control profile, a vertical control profile between a conservative vertical control profile and an aggressive vertical control profile, etc.). For example, the second thrust level may be less than a first thrust level associated with the first vertical control profile. Based on the second vertical control profile, thrust state determiner 330 may determine a power bus thrust state by determining an average of the first thrust state, the second thrust state, etc. associated with the power bus of interest.

[0059] In other examples, thrust state determiner 330 may determine that vertical control profile 370 for aircraft 100 is a third vertical control profile that corresponds to a third thrust level that indicates a maximum thrust state margin (e.g., a conservative vertical control profile) assigned to rotor assemblies 102-124. For example, the third thrust level may be less than the first thrust level and the second thrust level. Based on the third vertical control profile, thrust state determiner 330 may determine the power bus thrust state by determining a maximum of the first thrust state, the second thrust state, etc. associated with the power bus of interest.

[0060] In some examples, thrust state determiner 330 determines a thrust state margin based on one or more thrust states associated with one or more of rotor assemblies 102-124. For example, thrust state determiner 330 may determine a thrust state margin based on (1) a power bus thrust state and (2) a reference voltage or a reserve voltage and a rail voltage (e.g., Figure 1A The thrust state margin may be determined by the difference between the instantaneous thrust state (e.g., the power bus thrust state) and the maximum power allocation that can be delivered to the power bus (e.g., the difference between the reference voltage or reserve voltage and the rail voltage).

[0061] exist Figure 3 In the illustrated example, the vertical limit controller 210 includes a command generator 340 to generate Figure 2 The vertical command limit 228 and / or more generally produces Figure 2 For example, command generator 340 can control (e.g., vertically control) aircraft 100 by generating vertical command 230. In some examples, command generator 340 determines vertical command limit 228 by applying one or more transfer functions to a thrust margin of interest (e.g., a power bus thrust margin). In some examples, command generator 340 generates a command (e.g., a vertical command) to be transmitted to Figure 2 For example, the command generator 340 may determine the vertical command limit 228 and the Figure 2 The command generator 340 may generate a command based on a minimum, average, or the like value of the first actuator command 220 generated by the vertical axis controller 202. In such an example, the command generator 340 may generate a command corresponding to the vertical command limit 228 or the minimum value of the first actuator command 220, which corresponds to an unlimited total vertical control limit. Advantageously, by generating commands based on the minimum value, the actuator hybrid controller 212 may generate one or more commands to allow the aircraft 100 to prioritize attitude control by reducing vertical control when necessary.

[0062] exist Figure 3 In the illustrated example of , the vertical limit controller 210 includes a database 350 to record data (e.g., one or more of the power distribution configuration 360, the vertical control profile 370, one or more measurements from one or more sensors of the aircraft 100, etc.). The database 350 may be implemented by a volatile memory (e.g., a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), a RAMBUS dynamic random access memory (RDRAM), etc.) and / or a non-volatile memory (e.g., a flash memory). The database 350 may additionally or alternatively be implemented by one or more double data rate (DDR) memories such as DDR, DDR2, DDR3, DDR4, mobile DDR (mDDR), etc. The database 350 may additionally or alternatively be implemented by one or more mass storage devices such as (one or more) hard disk drives (HDD), (one or more) CD drives, (one or more) DVD drives, (one or more) solid state disk (SSD) drives, etc. Although in the illustrated example, the database 350 is illustrated as a single database, the database 350 may be implemented by any number and / or type of databases. Furthermore, the data stored in the database 350 may have any data format such as binary data, comma-delimited data, tab-delimited data, a structured query language (SQL) structure, and the like.

[0063] Although Figure 3 The implementation is shown in Figure 2 The exemplary manner of the vertical limit controller 210 is Figure 3 One or more of the elements, processes, and / or devices shown in the drawings may be combined, divided, rearranged, omitted, eliminated, and / or implemented in any other manner. In addition, the exemplary configuration determiner 310, the exemplary sensor interface 320, the exemplary thrust state determiner 330, the exemplary command generator 340, and / or more generally Figure 2The exemplary vertical limit controller 210 may be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Thus, for example, any of the exemplary configuration determiner 310, the exemplary sensor interface 320, the exemplary thrust state determiner 330, the exemplary command generator 340, and / or more generally the exemplary vertical limit controller 210 may be implemented by one or more analog or digital circuits, logic circuits, (one or more) programmable processors, (one or more) programmable controllers, (one or more) GPUs, (one or more) DSPs, (one or more) ASICs, (one or more) PLDs, and / or (one or more) FPLDs. When any apparatus or system claim of this patent is read to cover a pure software and / or firmware implementation, at least one of the exemplary configuration determiner 310, the exemplary sensor interface 320, the exemplary thrust state determiner 330, and / or the exemplary command generator 340 is hereby expressly defined to include a non-transitory computer-readable storage device or storage disk such as a memory, DVD, CD, Blu-ray disk, etc. that includes software and / or firmware. Further, Figure 2 An exemplary vertical limit controller 210 may include, in addition to Figure 3 components, processes and / or devices in addition to and / or in place of those shown in Figure 3 The elements, processes and / or devices shown in the figure may include one or more elements, processes and / or devices, and / or may include more than one or all of the elements, processes and devices shown.

[0064] Figure 4 Describes the Figure 3 An exemplary process 400 for determining a thrust margin (eg, a thrust state margin) for the vertical limit controller 210 of FIG. Figure 4 In the process of 400, Figure 3 The configuration determiner 310 may determine Figure 1A to Figure 1B The power distribution configuration of the aircraft 100 includes a first exemplary power bus 402 and a second exemplary power bus 404. Alternatively, the aircraft 100 may have fewer or more power buses than the first and second power buses 402, 404. Figure 4 The process 400 is depicted as being implemented using a first power bus 402 and a second power bus 404, but the process 400 is not limited thereto. Figure 4 The process 400 may, in some examples, be reduced to one power bus (e.g., the first power bus 402), and in other examples may be expanded to more than two power buses (e.g., three or more power buses including at least the first power bus 402 and the second power bus 404).

[0065] exist Figure 4In the process 400, the first power bus 402 includes Figure 1A to Figure 1B The motors 146 of the first, second, third, fourth, ninth and tenth rotor assemblies 102, 104, 106, 108, 110, 118, 120 are shown in FIG. Figure 4 In the example, the second power bus 404 includes a power distribution configuration 360 based on Figure 1A to Figure 1B Motor 146 of fifth, sixth, seventh, eighth, eleventh and twelfth rotor assemblies 112 , 114 , 116 , 122 , 124 .

[0066] exist Figure 4 In the process of 400, Figure 3 The sensor interface 320 can obtain measurements associated with the power buses 402, 404. For example, the sensor interface 320 can obtain measurements associated with Figure 1A For example, the sensor interface 320 can determine a first power source state associated with the first power source 152 and a second power source state associated with the second power source 154. For example, the first power source state can be a value of an electrical parameter associated with the first power source 152, such as a current, a voltage, a power drawn from the first power source, etc. Figure 4 In the first power source state, the first power source state may correspond to Figure 4 The first exemplary power supply voltage 406 labeled as “Vrail1” in FIG. Figure 1A A first voltage measurement value of the first power source 152. Figure 4 In the second power source state, the second power source state may correspond to Figure 4 A second exemplary power source voltage 408 labeled “Vrail2” in FIG. Figure 1A A second voltage measurement value of the second power source 154 is obtained.

[0067] exist Figure 4 In process 400, thrust state determiner 330 determines a first exemplary thrust state 410a-f associated with first power bus 402. For example, sensor interface 320 may obtain Figure 1A to Figure 1B For example, sensor interface 320 may determine a voltage measurement associated with motor 146 of each of first, second, third, fourth, ninth, and tenth rotor assemblies 102, 104, 106, 108, 110, 118, 120. Figure 4 The voltage marked as "Vmotor1" in the figure corresponds to Figure 1A to Figure 1B 4. In such an example, thrust state determiner 330 may determine first thrust state 410a as voltage “Vmotor1”.

[0068] exist Figure 4 In process 400, thrust state determiner 330 determines a second exemplary thrust state 412a-f associated with second power bus 404. For example, sensor interface 320 may obtain Figure 1A to Figure 1B For example, sensor interface 320 may determine a voltage measurement associated with motor 146 of each of fifth, sixth, seventh, eighth, eleventh, and twelfth rotor assemblies 112, 114, 116, 122, 124. Figure 4 The voltage marked as "Vmotor5" in Figure 1A to Figure 1B 5 . In such an example, thrust state determiner 330 may determine fifth thrust state 412a as voltage “Vmotor5”.

[0069] exist Figure 4 In process 400, thrust state determiner 330 determines a first exemplary power bus thrust state 414 by executing a first exemplary function (FN1) 416. Figure 4 , the thrust state determiner 330 determines the second exemplary power bus thrust state 418 by executing the second exemplary function (FN2) 420. Figure 4 , first function 416 and second function 420 are the same. In other examples, first function 416 and second function 420 may be different.

[0070] exist Figure 4 In the process 400, functions 416 and 420 correspond to the functions based on Figure 1A to Figure 1B The functions 416, 420 may be used to determine the maximum value of the first thrust state 410a-f and the second thrust state 412a-f, if the vertical control profile indicates that the aircraft 100 adopts a maximum thrust state margin (e.g., a conservative vertical control profile). In such an example, the first power bus thrust state 414 may correspond to a higher or larger thrust state of the first thrust states 410a-f, and the second power bus thrust state 418 may correspond to the highest thrust state of the second thrust states 412a-f.

[0071] In other examples, if the vertical control profile indicates that the aircraft 100 adopts a minimum thrust state margin (e.g., an aggressive vertical control profile), the functions 416, 420 may determine the minimum of the first thrust states 410a-f and the second thrust states 412a-f. In such an example, the first power bus thrust state 414 may correspond to the lowest thrust state of the first thrust states 410a-f, and the second power bus thrust state 418 may correspond to the lowest thrust state of the second thrust states 412a-f.

[0072] exist Figure 4 In the process 400, the thrust state determiner 330 determines that Figure 4 A first difference 422 between the exemplary reserve voltage 424 labeled “Voltage_Reserve” in FIG. 4 and the first power source voltage 406 may be provided. For example, based on the difference between the first power source state and the reserve voltage 424, the first difference 422 may correspond to a first adjusted power source state. Figure 4 In some examples, reserve voltage 424 is 25V, while in other examples, reserve voltage may be any other value such as 0V, 10V, 20V, etc. In some examples, reserve voltage 424 is a reserve state that may correspond to an amount of energy that may be stored or conserved for a particular flight situation (such as an emergency landing) or when additional thrust is required (e.g., a manual override).

[0073] exist Figure 4 In process 400, thrust state determiner 330 determines a first exemplary power bus thrust state margin 426 by determining a difference between first difference 422 and first power bus thrust state 414. For example, first power bus thrust state margin 426 is a margin or difference between (1) a current or instantaneous thrust state of a motor powered by first power bus 402 and (2) available power that can be delivered from first power bus 402 to a motor electrically coupled to first power bus 402, where the available power is based on a difference between reserve voltage 424 and first power source voltage 406.

[0074] exist Figure 4 During the process, the thrust state determiner 330 determines a second difference 428 between the reserve voltage 424 and the second power source voltage 408. For example, based on the difference between the second power source state and the reserve voltage 424, the second difference 428 may correspond to a second adjusted power source state. Figure 4, thrust state determiner 330 determines a second exemplary power bus thrust state margin 430 by determining a difference between second difference 428 and second power bus thrust state 418. For example, second power bus thrust state margin 430 is a margin or difference between (1) a current or instantaneous thrust state of a motor powered by second power bus 404 and (2) available power that can be delivered from second power bus 404 to a motor electrically coupled to second power bus 404, wherein the available power is based on a difference between reserve voltage 424 and second power source voltage 408.

[0075] exist Figure 4 In the process, because one of the power bus thrust state margins 426, 430 can be selected as the exemplary thrust state margin 432, the thrust state determiner 330 identifies the first power bus thrust state margin 426 and the second power bus thrust state margin 430 as candidate thrust state margins. Figure 4 , the thrust state determiner 330 determines the thrust state margin 432 by executing a third exemplary function (FN3) 434 on the first power bus thrust state margin 426 and the second power bus thrust state margin 430. The third function 434 may correspond to a thrust state margin based on Figure 1A to Figure 1B The third function 434 may be a function that minimizes, maximizes, averages, etc., a vertical control profile of the aircraft 100. For example, if the vertical control profile indicates that the aircraft 100 uses a maximum thrust state margin, the third function 434 may determine a maximum value of the first power thrust state margin 426 and the second power thrust state margin 430. In such an example, the thrust state margin 432 may correspond to a higher or greater thrust state margin of the first power thrust state margin 426 and the second power thrust state margin 430. Figure 4 In the example, functions 416, 420, 434 are the same. In other examples, one or more of functions 416, 420, 434 may be different.

[0076] Figure 5 Describes the use of Figure 3 The vertical limit controller 210 generates Figure 2 500 of the vertical command 230. For example, the process 500 may correspond to hardware logic, machine-readable instructions, a hardware-implemented state machine, and / or any combination thereof. Figure 3 The command generator 340 may perform and / or otherwise implement the process 500 to generate the vertical command 230. Figure 5 In the example, the command generator 340 obtains Figure 3 The thrust state determiner 330 calculates Figure 4 The thrust state margin is 432. Figure 5, command generator 340 obtains an exemplary unrestricted vertical control command 502, which may correspond to one or more actuator commands that, when invoked by aircraft 100, may cause aircraft 100 to execute the unrestricted vertical control command. For example, unrestricted vertical control command 502 may correspond to Figure 2 The vertical axis controller 202 generates a first actuator command 220 .

[0077] exist Figure 5 In the illustrated example of , command generator 340 applies exemplary gain (eg, gain value) 504 to thrust state margin 432 to generate first exemplary control value 506. For example, first control value 506 may be rotor speed in RPM. Figure 5 , gain 504 corresponds to the voltage applied by the motor to the rotor speed factor. For example, gain 504 may convert the voltage represented by thrust state margin 432 into Figure 1A The speed of the rotor 144. Figure 5 , the command generator 340 adds the first control value 506 to the output of the first exemplary transfer function 508. For example, the output of the first transfer function 508 may be based on Figure 2 The feedback value of the vertical command 230.

[0078] exist Figure 5 In the illustrated example of FIG. 5 , command generator 340 applies second exemplary control value 509 to second exemplary transfer function 510. Second control value 509 is based on the addition of first control value 506 and third exemplary control value 511. Third control value 511 is the output of first transfer function 508. For example, second transfer function 510 may convert an input rotor speed (e.g., second control value 509) to fourth exemplary control value 512. Fourth control value 512 may be an overvoltage limit value that is applied to a rotor operatively coupled to Figure 1A When the motor 146 of the rotor 144 is turned on, the fourth control value calls on the motor 146 to produce a reduced rotor speed compared to the input rotor speed. Advantageously, the reduced rotor speed may cause Figure 1A to Figure 1B The aircraft 100 has available power for adequate attitude control by reducing the power allocated to vertical control. The fourth control value 512 may correspond to a threshold value (e.g., a threshold voltage) that the vertical command 230 may not exceed in some examples. For example, the vertical command 230 may correspond to a limited vertical control command to prioritize attitude control over vertical control.

[0079] exist Figure 5 In the example shown in FIG. 5 , the command generator 340 performs the vertical control command 502 by using the fourth control value 512 and the unrestricted vertical control command 502. Figure 2The vertical command limit function 231 of the embodiment of the present invention determines the vertical command 230. For example, if the vertical command limit function 231 is a minimization function, the vertical command limit function 231 may determine the vertical command 230 by determining the minimum or smaller value between the fourth control value 512 and the unrestricted vertical control command 502. In other examples, if the vertical command limit function 231 is a maximization function, the vertical command limit function 231 may determine the vertical command 230 by determining the maximum or larger value between the fourth control value 512 and the unrestricted vertical control command 502. Alternatively, the vertical command limit function 231 may be any other type of function (such as an averaging function).

[0080] exist Figure 5 In the illustrated example of FIG. , command generator 340 determines vertical command 230 based on exemplary feedback value 516 . Figure 5 In the example, the feedback value 516 corresponds to the vertical command 230 transmitted to Figure 2 516 to generate an exemplary delayed feedback value 520. The first transfer function 508 obtains the delayed feedback value 520 to generate an output corresponding to the delayed value of the rotor speed previously transmitted to the actuator hybrid controller 212. Advantageously, the command generator 340 can generate (e.g., iteratively generate) the fourth control value 512 based on the feedback value 516 to ensure stable control of the control loop implemented by the process 500.

[0081] Figures 6 to 8 The diagram shows a method for implementing Figures 2 to 3 The vertical limit controller 210 and / or more generally Figure 1A and / or Figure 2 150 of the controller 150, a flowchart of an exemplary hardware logic, machine readable instructions, a hardware implemented state machine, and / or any combination thereof. The machine readable instructions may be an executable program or a portion of an executable program to be executed by a computer processor (such as, for example, the following in conjunction with Fig. 9 The program may be implemented in software stored in a non-transitory computer-readable storage medium such as a CD-ROM, floppy disk, hard drive, DVD, Blu-ray disk, or memory associated with the processor 912, but the entire program and / or portions thereof may alternatively be executed by a device other than the processor 912 and / or implemented in firmware or dedicated hardware. In addition, although the exemplary program is referenced Figures 6 to 8, but many other methods of implementing the exemplary vertical limit controller 210 and / or the controller 150 more generally may be used alternatively. For example, the order of execution of the blocks may be changed, and / or some of the blocks described may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.) configured to perform the corresponding operations without executing software or firmware.

[0082] As mentioned above, Figures 6 to 8 The exemplary processes of may be implemented using executable instructions (e.g., computer and / or machine readable instructions) stored on a non-transitory computer and / or machine readable medium such as a hard drive, flash memory, read-only memory, compact disk, digital versatile disk, cache, random access memory, and / or any other storage device or storage disk that stores information for any duration (e.g., for an extended period of time, permanently, transiently, for temporary buffering, and / or for caching of information). As used herein, the term "non-transitory computer readable medium" is expressly defined to include any type of computer readable storage device and / or storage disk, and to exclude propagating signals and to exclude transmission media.

[0083] "Include" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim adopts any form of "include" or "comprising" (e.g., including, comprising, containing, having, etc.) as a preamble or in any type of claim narrative, it should be understood that other elements, terms, etc. may be present without exceeding the scope of the corresponding claim or statement. As used herein, when the phrase "at least" is used as a transitional term, such as in the preamble of a claim, it is open-ended in the same manner as the open-ended terms "include" and "comprising". When used, for example, in a form such as A, B, and / or C, the term "and / or" refers to any combination or subset of A, B, C, such as (1) only A, (2) only B, (3) only C, (4) A and B, (5) A and C, (6) B and C, and (7) A and B and C. As used herein in the context of describing structures, components, items, objects, and / or things, the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, items, objects, and / or things, the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. As used herein in the context of describing the execution or operation of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein in the context of describing the execution or operation of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.

[0084] Figure 6 is a flow chart representing example machine readable instructions 600 that may be executed to implement Figure 1A and / or Figure 2 The controller 150 controls Figure 1A to Figure 1B The machine readable instructions 600 begin at block 602 where the controller 150 determines the power allocation for the rotorcraft. For example, the configuration determiner 310 ( Figure 3 ) can be sent to database 350 ( Figure 3 )Query Figure 1A to Figure 1B The power distribution configuration 360 of the aircraft 100 ( Figure 3 In such an example, configuration determiner 310 may determine that aircraft 100 has a configuration that includes Figure 4 A power distribution topology of a first power bus 402 and a second power bus 404 is shown.

[0085] At block 604, controller 150 determines a vertical control profile for the rotorcraft. For example, configuration determiner 310 may request a configuration profile from database 350 ( Figure 3 ) queries the vertical control profile 370 of the aircraft 100. In such an example, the configuration determiner 310 can determine that the vertical control profile 370 indicates minimizing thrust margin, maximizing thrust margin, etc. In such an example, the configuration determiner 310 can determine that the vertical control profile 370 indicates minimizing thrust state margin, which in turn indicates that the functions 416, 420, 434 are minimizing functions.

[0086] At block 606, the controller 150 selects a power bus of interest for processing. For example, the thrust state determiner 330 ( Figure 3 ) can select the first power bus 402 for processing.

[0087] At block 608, the controller 150 obtains a measurement associated with the power bus. For example, the sensor interface 320 may obtain a measurement associated with the power bus from the first power source sensor 156. Figure 4 In such an example, thrust state determiner 330 may determine that the first power source state is first power source voltage 406. Alternatively, thrust state determiner 330 may determine that the first power source state is based on current, power consumption, etc. of first power source 152.

[0088] At block 610, controller 150 obtains measurements associated with the rotor(s) on the power bus. For example, sensor interface 320 may obtain measurements associated with first power bus 402. Figure 1A to Figure 1B In such an example, sensor interface 320 may obtain voltage measurements applied to and / or otherwise consumed by motor 146 of a corresponding one of rotor assemblies 102 - 104 associated with first power bus 402 .

[0089] At block 612, controller 150 determines a thrust state based on the rotor measurement(s). For example, thrust state determiner 330 may determine a thrust state based on the rotor measurement(s). Figure 4 The first function 416 is executed on the thrust states 410a-410f to determine Figure 4 The first power bus thrust state 414, wherein the thrust states 410a-410f are based on the Figure 1A to Figure 1BThe voltage measurements associated with motors 146 of first, second, third, fourth, ninth, and tenth rotor assemblies 102, 104, 106, 108, 110, 118, 120 are shown below. Figure 7 An exemplary process for implementing block 612 is described.

[0090] At block 614, the controller 150 determines a candidate thrust state margin based on the thrust state. For example, the thrust state determiner 330 may be based on Figure 4 The difference between the first power bus thrust state 414 and the first difference 422 is determined Figure 4 In such an example, thrust state determiner 330 may identify first power bus thrust margin 426 as a candidate thrust state margin.

[0091] At block 616, the controller 150 determines whether to select another power bus of interest for processing. For example, the thrust state determiner 330 may select Figure 4 The second power bus 404 is processed.

[0092] If, at block 616, the controller 150 determines to select another power bus of interest for processing, control returns to block 606 to select another power bus of interest for processing. If, at block 616, the controller 150 determines not to select another power bus of interest for processing, at block 618, the controller 150 identifies a thrust state margin based on the candidate thrust state margin(s) and the vertical control profile. For example, the thrust state determiner 330 may determine the thrust state margin by executing Figure 3 The third function 434 determines Figure 4 In such an example, the third function 434 may be based on Figure 1A to Figure 1B The minimization function, maximization function, averaging function, etc. of the vertical control profile 370 of the aircraft 100 are shown in FIG. Figure 8 An exemplary process for implementing block 616 is described.

[0093] At block 620, controller 150 determines a vertical control command based on the identified thrust state margins and the commands being executed by the rotorcraft. For example, command generator 340 ( Figure 3 ) can be based on the thrust state margin 432 and Figure 2 The first actuator command 220 (eg, Figure 5 The unrestricted vertical control command 502) determines the vertical command 230.

[0094] At block 622, controller 150 controls the rotorcraft based on the vertical control command. For example, actuator hybrid controller 212 ( Figure 2 ) can be based on Figure 2 Aircraft dynamics 232 may generate one or more actuator commands to call for aircraft 100 to move, operate, and / or otherwise operate. In such an example, actuator hybrid controller 212 may generate and transmit commands to rotor assemblies 102-124 based on a combination, blending, and / or another fusion of one or more of vertical command 230, second actuator command 222, third actuator command 224, and / or fourth actuator command 226 to call for, direct, and / or otherwise direct aircraft 100 to move from a first position to a second position, from a first altitude to a second altitude, from a first orientation to a second orientation, and / or the like and / or combinations thereof. For example, actuator hybrid controller 212 may generate and transmit commands to rotor assemblies 102-124 to control Figure 1A to Figure 1B 100's of flights of the aircraft.

[0095] At block 624, the controller 150 determines whether to continue monitoring the rotorcraft. If at block 624, the controller 150 determines to continue monitoring the rotorcraft, control returns to block 606 to select the power bus of interest for processing, otherwise Figure 6 The machine readable instructions 600 end.

[0096] Figure 7 Yes means Figure 6 A flow chart of machine readable instructions 612, which may be executed to implement Figure 2 Controller 150 determines the thrust state based on (one or more) rotor measurements. Figure 7 The process can be used to implement Figure 6 Frame 612. Figure 7 The machine readable instructions 612 of begin at block 702 where the controller 150 determines whether the vertical control profile corresponds to a first thrust level assigned to the rotorcraft. For example, the configuration determiner 310 ( Figure 3 ) can be obtained Figure 3 In such an example, the configuration determiner 310 may determine that the vertical control profile 370 corresponds to a vertical control profile that can be assigned to Figure 1A to Figure 1BThe thrust levels may be based on a first thrust level (e.g., a conservative vertical control profile, a conservative power profile, etc.), a second thrust level (e.g., an average vertical control profile, an average power profile, etc.), a third thrust level (e.g., an aggressive vertical control profile, a non-conservative power profile, an aggressive power profile, etc.), etc., for one or more of rotor assemblies 102-124. For example, the thrust levels may be based on desired, expected, or thrust margins of interest. In such an example, the first thrust level may correspond to a first thrust margin, the second thrust level may correspond to a second thrust margin that is less than the first thrust margin, and the third thrust level may correspond to a third thrust margin that is less than the second thrust margin. Thus, the first thrust level may indicate that Figure 4 The functions 416, 420, 434 are maximizing functions, and the second thrust level may indicate Figure 4 The functions 416, 420, 434 are average functions, and the third thrust level may indicate Figure 4 Functions 416, 420, 434 are minimization functions.

[0097] If, at block 702, controller 150 determines that the vertical control profile corresponds to a first thrust level assigned to the rotorcraft, then at block 704, controller 150 determines a maximum value for the thrust state. For example, thrust state determiner 330 ( Figure 3 ) can be called Figure 4 In response to determining the maximum value of the thrust state at block 704, Figure 7 The machine readable instructions 612 return to Figure 6 Block 614 of the machine readable instructions 600 may be used to determine a candidate thrust state margin based on the thrust state.

[0098] If at block 702 , controller 150 determines that the vertical control profile does not correspond to a first thrust level assigned to the rotorcraft, control passes to block 706 to determine if the vertical control profile corresponds to a second thrust level assigned to the rotorcraft.

[0099] If, at block 706, controller 150 determines that the vertical control profile corresponds to a second thrust level assigned to the rotorcraft, then at block 708, controller 150 determines an average value of the thrust state. For example, thrust state determiner 330 may call Figure 4 In response to determining the average value of the thrust state at block 708, Figure 7 The machine readable instructions 612 return to Figure 6 Block 614 of the machine readable instructions 600 may be used to determine a candidate thrust state margin based on the thrust state.

[0100] If at block 706 , controller 150 determines that the vertical control profile does not correspond to the second thrust level assigned to the rotorcraft, control passes to block 710 to determine if the vertical control profile corresponds to a third thrust level assigned to the rotorcraft.

[0101] If, at block 710, controller 150 determines that the vertical control profile corresponds to the third thrust level assigned to the rotorcraft, then at block 712, controller 150 determines a minimum value for the thrust state. For example, thrust state determiner 330 may call Figure 4 In response to determining the minimum value among the thrust states at block 712, Figure 7 The machine readable instructions 612 return to Figure 6 Block 614 of the machine readable instructions 600 of the embodiment of the present invention is to determine a candidate thrust state margin based on the thrust state.

[0102] If, at block 710, controller 150 determines that the vertical control profile does not correspond to the third thrust level assigned to the rotorcraft, control passes to block 714 to determine a default thrust state. For example, thrust state determiner 330 may determine a predetermined value for first power bus thrust state 414. In such an example, the predetermined value may be stored in database 350. In response to determining the default thrust state at block 714, Figure 7 The machine readable instructions 612 return to Figure 6 Block 614 of the machine readable instructions 600 of the embodiment of the present invention is to determine a candidate thrust state margin based on the thrust state.

[0103] Figure 8 Yes means Figure 6 A flow chart of machine readable instructions 618, which may be executed to implement Figure 2 The controller 150 is configured to determine the thrust state margin based on the candidate thrust state margin (s) and Figure 1A to Figure 1B A vertical control profile of the aircraft 100 is used to identify thrust state margins. Figure 8 The process can be used to implement Figure 6 Frame 618. Figure 8 Machine readable instructions 618 begin at block 802 where controller 150 determines whether the vertical control profile corresponds to a first thrust level assigned to the rotorcraft.

[0104] If, at block 802, controller 150 determines that the vertical control profile corresponds to a first thrust level assigned to the rotorcraft, then, at block 804, controller 150 identifies the thrust state margin as the maximum of the candidate thrust state margins. For example, thrust state determiner 330 ( Figure 3 ) can be called Figure 4 The third function 434 is used to determine Figure 4 As the maximum of the first power bus thrust state margin 426 and the second power bus thrust state margin 430. In response to identifying the thrust state margin as the maximum of the candidate thrust state margin(s) at block 804, Figure 8 The machine readable instructions 618 return to Figure 6 Block 620 of machine readable instructions 600 of the system may be configured to determine a vertical control command based on the identified thrust state margin and the command being executed by the rotorcraft.

[0105] If at block 802 , controller 150 determines that the vertical control profile does not correspond to a first thrust level assigned to the rotorcraft, control passes to block 806 to determine if the vertical control profile corresponds to a second thrust level assigned to the rotorcraft.

[0106] If, at block 806, controller 150 determines that the vertical control profile corresponds to the second thrust level assigned to the rotorcraft, then, at block 808, controller 150 identifies the thrust state margin as the average of the candidate thrust state margins. For example, thrust state determiner 330 may call Figure 4 The third function 434 is used to determine Figure 4 The thrust state margin 432 of the candidate power bus thrust state margin 430 is determined as an average of the first power bus thrust state margin 426 and the second power bus thrust state margin 430. In response to identifying the thrust state margin as the average of the candidate thrust state margin(s) at block 808, Figure 8 The machine readable instructions 618 return to Figure 6 Block 620 of machine readable instructions 600 of the system may be configured to determine a vertical control command based on the identified thrust state margin and the command being executed by the rotorcraft.

[0107] If at block 806 , controller 150 determines that the vertical control profile does not correspond to the second thrust level assigned to the rotorcraft, control passes to block 810 to determine if the vertical control profile corresponds to a third thrust level assigned to the rotorcraft.

[0108] If, at block 810, controller 150 determines that the vertical control profile corresponds to the third thrust level assigned to the rotorcraft, then at block 812, controller 150 identifies the thrust state margin as the minimum value of the candidate thrust state margin(s). For example, thrust state determiner 330 may call Figure 4 The third function 434 is used to determine Figure 4As a minimum value of the first power bus thrust state margin 426 and the second power bus thrust state margin 430. In response to identifying the thrust state margin as the minimum value of the candidate thrust state margin(s) at block 812, Figure 8 The machine readable instructions 618 return to Figure 6 Block 620 of machine readable instructions 600 of the system may be configured to determine a vertical control command based on the identified thrust state margin and the command being executed by the rotorcraft.

[0109] If at block 810, controller 150 determines that the vertical control profile does not correspond to the third thrust level assigned to the rotorcraft, control proceeds to block 814 to identify the thrust state margin as the default thrust state margin. For example, thrust state determiner 330 may determine a predetermined value for thrust state margin 432. In such an example, the predetermined value may be stored in database 350 ( Figure 3 In response to identifying the thrust state margin as a default thrust state margin at block 814, Figure 8 The machine readable instructions 618 return to Figure 6 Block 620 of machine readable instructions 600 of the system may be configured to determine a vertical control command based on the identified thrust state margin and the command being executed by the rotorcraft.

[0110] Fig. 9 is constructed to execute Figures 6 to 8 Instructions to implement Figures 2 to 3 The vertical limit controller 210 and / or more generally Figure 1A and / or Figure 2 The processor platform 900 may be, for example, a flight control computer, a server, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a mobile phone, a smart phone, an iPad, etc.). TM tablet), headphones or other wearable device, or any other type of computing device.

[0111] The processor platform 900 of the illustrated example includes a processor 912. The processor 912 of the illustrated example is hardware. For example, the processor 912 can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired family or manufacturer. The hardware processor can be a semiconductor-based (e.g., silicon-based) device. In this example, the processor 912 implements the exemplary vertical axis controller 202, the exemplary pitch axis controller 204, the exemplary roll axis controller 206, the exemplary yaw axis controller 208, the exemplary vertical limit controller 210, and Figure 2 An exemplary actuator hybrid controller 212, and Figure 3An exemplary configuration determiner 310 , an exemplary thrust state determiner 330 , and a command generator 340 are provided.

[0112] The processor 912 of the illustrated example includes a local memory 913 (e.g., a cache). The processor 912 of the illustrated example communicates with a main memory including a volatile memory 914 and a non-volatile memory 916 via a bus 918. The volatile memory 914 may be comprised of a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 916 may be implemented by flash memory and / or any other desired type of memory device. Access to the main memory 914, 916 is controlled by a memory controller.

[0113] The processor platform 900 of the illustrated example also includes an interface circuit 920. The interface circuit 920 may be connected to the processor platform 900 through an Ethernet interface, a universal serial bus (USB), interface, Near Field Communication (NFC) interface, and / or PCI Express interface.

[0114] In the example shown, one or more input devices 922 are connected to the interface circuit 920. The input device(s) 922 allow a user to enter data and / or commands into the processor 912. The input device(s) 922 may be implemented, for example, by an audio sensor, a microphone, a camera (still or video), and / or a voice recognition system.

[0115] One or more output devices 924 are also connected to the interface circuit 920 of the illustrated example. The output device 924 can be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-place switch (IPS) display, a touch screen, etc.), a tactile output device, and / or a speaker. Therefore, the interface circuit 920 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics driver processor.

[0116] The interface circuitry 920 of the illustrated example also includes communication devices such as transmitters, receivers, transceivers, modems, residential gateways, wireless access points, and / or network interfaces to facilitate data exchange with external machines (e.g., any kind of computing device) via the network 926. Communications may be conducted, for example, via a satellite system, a field-wireless system, a cellular telephone system, the like, and / or any other wireless communication method.

[0117] The processor platform 900 of the illustrated example also includes one or more mass storage devices 928 for storing software and / or data. Examples of such mass storage devices 928 include hard drive disks, CD drives, redundant array of independent disks (RAID) systems, and DVD drives. In this example, the one or more mass storage devices 928 implement Figure 3 An exemplary database 350 , an exemplary power allocation configuration 360 , and an exemplary vertical control profile 370 .

[0118] Figures 6 to 8 The machine-executable instructions 932 may be stored on the mass storage device 928, the volatile memory 914, the non-volatile memory 916, and / or a removable, non-transitory computer-readable storage medium such as a CD or DVD.

[0119] In light of the foregoing, it will be appreciated that exemplary methods, apparatus, and articles of manufacture have been disclosed that facilitate flight control prioritization of attitude control. In an example where both attitude control and vertical control cannot be achieved due to electrical state limits in an electric multirotor aircraft, the disclosed methods, apparatus, and articles of manufacture prioritize attitude control by integrating attitude control and the power system to always select an upper limit downward to allowable vertical control. Before selecting the upper limit downward, the disclosed methods, apparatus, and articles of manufacture may calculate thrust margins for all rotors individually and / or otherwise. In response to the thrust margin calculation, the disclosed methods, apparatus, and articles of manufacture may apply a selection scheme (e.g., a maximum thrust margin selection scheme, a minimum thrust margin selection scheme, an average thrust margin selection scheme, the like, and / or a combination thereof) to the calculated thrust margin. By selecting the upper limit downward, the disclosed methods, apparatus, and articles of manufacture may ensure sufficient attitude control capability while allowing acceptable vertical control power. In response to downwardly selecting an upper limit, the disclosed methods, apparatus, and articles of manufacture may convert the downwardly selected upper limit into a vertical control limit value and apply the vertical control limit value to a previous or immediate vertical control command to prioritize attitude control.

[0120] The disclosed methods, apparatus, and articles of manufacture improve the efficiency of a computing device using a multirotor aircraft by determining a thrust state margin by downselecting from a plurality of thrust states to a single thrust state. Because commands can be generated based on a single thrust state margin rather than from a plurality of thrust states, commands can be generated to affect aircraft dynamics of a multirotor aircraft advantageously using less computing power, memory, storage space, etc., and / or combinations thereof. Therefore, the disclosed methods, apparatus, and articles of manufacture are accordingly directed to one or more improvements in computer functionality.

[0121] Exemplary methods, apparatus, systems, and articles for flight control priority are disclosed herein. Other examples and combinations thereof include the following:

[0122] Item 1 includes an apparatus for controlling flight of a rotorcraft, the apparatus including a thrust state determiner and a command generator, the thrust state determiner determining a first thrust margin between a first limit of a first available power for a first rotor of the rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determining a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; and identifying the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft, and the command generator determining a first vertical control command based on the selected thrust margin and a second vertical control command, the second vertical control command being executed by the rotorcraft; and controlling the rotorcraft based on the first vertical control command.

[0123] Clause 2 includes the apparatus of clause 1, wherein the rotorcraft is an unmanned aerial vehicle, the first rotor comprises two or more rotors electrically coupled to a first power source, and the second rotor comprises two or more rotors electrically coupled to a second power source, and further comprises a sensor interface to obtain a first measurement associated with the first two or more rotors and to obtain a second measurement associated with the second two or more rotors.

[0124] Item 3 includes the apparatus of Item 1, wherein at least one of the first power source or the second power source comprises one or more batteries, and at least one of the first measurement or the second measurement is based on at least one of a temperature, a current, or a voltage associated with the one or more batteries, and further comprises a sensor interface to obtain at least one of the temperature, the current, or the voltage.

[0125] Clause 4 includes the apparatus of clause 1, wherein the vertical control profile is a first vertical control profile, the first rotor includes at least a first rotor and a second rotor, the first measurement value includes at least a first measurement value corresponding to the first rotor and a second measurement value corresponding to the second rotor, and the thrust state determiner determines the first thrust state based on the first vertical control profile based on the first measurement value being at least greater than the second measurement value, the first vertical control profile corresponding to a first thrust level assigned to vertical control of the rotorcraft; determines the first thrust state based on the second vertical control profile based on an average of at least the first measurement value and the second measurement value, the second vertical control profile corresponding to a second thrust level assigned to vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and determines the first thrust state based on the third vertical control profile based on the first measurement value being at least less than the second measurement value, the third vertical control profile corresponding to a third thrust level assigned to vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

[0126] Clause 5 includes the apparatus of clause 1, wherein the vertical control profile is a first vertical control profile, and the thrust state determiner identifies the selected thrust margin by: selecting the first thrust margin based on the first thrust margin being at least greater than the second thrust margin when the vertical control profile corresponds to a first thrust level assigned to the vertical control of the rotorcraft; selecting the first thrust margin based on an average of at least the first thrust margin and the second thrust margin when the vertical control profile corresponds to a second thrust level assigned to the vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and selecting the first thrust margin based on the first thrust margin being at least less than the second thrust margin when the vertical control profile corresponds to a third thrust level assigned to the vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

[0127] Clause 6 includes the apparatus of clause 1, wherein the thrust state determiner is to: determine a first difference between the first thrust state and the reserve state; determine a second difference between the second thrust state and the reserve state; and identify a selected thrust margin based on at least the first difference and the second difference.

[0128] Clause 7 includes the apparatus of clause 1, wherein the command generator is used to: determine a first control value by multiplying a selected thrust margin by a gain value; determine a second control value based on a sum of the first control value and a third control value, the third control value corresponding to an output from the first transfer function; determine a fourth control value by multiplying the second control value by a second transfer function different from the first transfer function; and determine the first vertical control command based on a minimum of the fourth control value and the second vertical control command.

[0129] Clause 8 includes a non-transitory computer-readable storage medium comprising instructions that, when executed, cause a machine to at least: determine a first thrust margin between a first limit of a first available power for a first rotor of a rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determine a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; identify the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft; determine a first vertical control command based on the selected thrust margin and a second vertical control command, the second vertical control command being executed by the rotorcraft, and control the rotorcraft based on the first vertical control command.

[0130] Clause 9 includes the non-transitory computer-readable storage medium of clause 8, wherein the rotorcraft is an unmanned aerial vehicle, the first rotor comprises two or more rotors electrically coupled to a first power source, and the second rotor comprises two or more rotors electrically coupled to a second power source, and the instructions, when executed, cause the machine to obtain a first measurement associated with the first two or more rotors and obtain a second measurement associated with the second two or more rotors.

[0131] Item 10 includes the non-transitory computer-readable storage medium of Item 8, wherein at least one of the first power source or the second power source comprises one or more batteries, and at least one of the first measurement value or the second measurement value is based on at least one of a temperature, a current, or a voltage associated with the one or more batteries, and wherein the instructions, when executed, cause the machine to obtain at least one of the temperature, the current, or the voltage.

[0132] Clause 11 includes the non-transitory computer-readable storage medium described in clause 8, wherein the vertical control profile is a first vertical control profile, the first rotor includes at least a first rotor and a second rotor, the first measurement value includes at least a first measurement value corresponding to the first rotor and a second measurement value corresponding to the second rotor, and the instructions, when executed, cause the machine to determine a first thrust state based on the first vertical control profile based on the first measurement value being at least greater than the second measurement value, the first vertical control profile corresponding to a first thrust level assigned to vertical control of the rotorcraft; determine the first thrust state based on the second vertical control profile based on an average of at least the first measurement value and the second measurement value, the second vertical control profile corresponding to a second thrust level assigned to vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and determine the first thrust state based on a third vertical control profile based on the first measurement value being at least less than the second measurement value, the third vertical control profile corresponding to a third thrust level assigned to vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

[0133] Clause 12 includes the non-transitory computer-readable storage medium of clause 8, wherein the vertical control profile is a first vertical control profile, and the instructions, when executed, cause the machine to identify the selected thrust margin in the following manner: when the vertical control profile corresponds to a first thrust level assigned to the vertical control of the rotorcraft, selecting the first thrust margin based on the first thrust margin being at least greater than the second thrust margin; when the vertical control profile corresponds to a second thrust level assigned to the vertical control of the rotorcraft, selecting the first thrust margin based on an average of at least the first thrust margin and the second thrust margin, the second thrust level being less than the first thrust level; and when the vertical control profile corresponds to a third thrust level assigned to the vertical control of the rotorcraft, selecting the first thrust margin based on the first thrust margin being at least less than the second thrust margin, the third thrust level being less than the second thrust level.

[0134] Clause 13 includes the non-transitory computer-readable storage medium of clause 8, wherein the instructions, when executed, cause the machine to determine a first difference between the first thrust state and the reserve state, determine a second difference between the second thrust state and the reserve state, and identify a selected thrust margin based on at least the first difference and the second difference.

[0135] Clause 14 includes the non-transitory computer-readable storage medium of clause 8, wherein the instructions, when executed, cause the machine to determine a first control value by multiplying a selected thrust margin by a gain value; determine a second control value based on a sum of the first control value and a third control value, the third control value corresponding to an output of the first transfer function; determine a fourth control value by multiplying the second control value by a second transfer function different from the first transfer function; and determine the first vertical control command based on a minimum of the fourth control value and the second vertical control command.

[0136] Clause 15 includes a method of controlling flight of a rotorcraft, the method comprising determining a first thrust margin between a first limit of a first available power for a first rotor of the rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determining a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; identifying the first thrust margin or the second thrust margin as a selected thrust margin based on a vertical control profile of the rotorcraft; determining a first vertical control command based on the selected thrust margin and a second vertical control command, the second vertical control command being executed by the rotorcraft, and controlling the rotorcraft based on the first vertical control command.

[0137] Clause 16 includes the method of clause 15, wherein the rotorcraft is an unmanned aerial vehicle, the first rotor comprises two or more rotors electrically coupled to a first power source, and the second rotor comprises two or more rotors electrically coupled to a second power source.

[0138] Clause 17 includes the method of clause 15, wherein at least one of the first power source or the second power source comprises one or more batteries, and at least one of the first measurement or the second measurement is based on at least one of a temperature, a current, or a voltage associated with the one or more batteries.

[0139] Clause 18 includes the method of clause 15, wherein the vertical control profile is a first vertical control profile, the first rotor includes at least a first rotor and a second rotor, the first measurement value includes at least a first measurement value corresponding to the first rotor and a second measurement value corresponding to the second rotor, and further includes determining a first thrust state based on the first vertical control profile based on the first measurement value being at least greater than the second measurement value, the first vertical control profile corresponding to a first thrust level assigned to vertical control of the rotorcraft; determining the first thrust state based on a second vertical control profile based on an average of at least the first measurement value and the second measurement value, the second vertical control profile corresponding to a second thrust level assigned to vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and determining the first thrust state based on a third vertical control profile based on the first measurement value being at least less than the second measurement value, the third vertical control profile corresponding to a third thrust level assigned to vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

[0140] Clause 19 includes the method of clause 15, wherein the vertical control profile is a first vertical control profile, and identifying the selected thrust margin includes selecting the first thrust margin based on the first thrust margin being at least greater than the second thrust margin when the vertical control profile corresponds to a first thrust level assigned to the vertical control of the rotorcraft; selecting the first thrust margin based on an average of at least the first thrust margin and the second thrust margin when the vertical control profile corresponds to a second thrust level assigned to the vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and selecting the first thrust margin based on the first thrust margin being at least less than the second thrust margin when the vertical control profile corresponds to a third thrust level assigned to the vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

[0141] Clause 20 includes the method of clause 15, further comprising determining a first difference between the first thrust state and the reserve state, determining a second difference between the second thrust state and the reserve state, and identifying a selected thrust margin based on at least the first difference and the second difference.

[0142] Clause 21 includes the method described in clause 15, further comprising determining a first control value by multiplying a selected thrust margin by a gain value; determining a second control value based on a sum of the first control value and a third control value, the third control value corresponding to an output of the first transfer function; determining a fourth control value by multiplying the second control value by a second transfer function different from the first transfer function; and determining the first vertical control command based on a minimum of the fourth control value and the second vertical control command.

[0143] Although certain example systems, methods, apparatus, and articles of manufacture have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all systems, methods, apparatus, and articles of manufacture falling within the scope of the claims of this patent.

Claims

1. A device for controlling the flight of a rotorcraft, the device comprising: Thrust state determiner, to: determining a first thrust margin between a first limit of a first available power for a first rotor of the rotorcraft and a first thrust state associated with the first rotor, the first available power being based on a first power source of the rotorcraft, the first thrust state being based on a first measurement associated with the first rotor powered by the first power source; determining a second thrust margin between a second limit of a second available power for a second rotor of the rotorcraft and a second thrust state associated with the second rotor, the second available power being based on a second power source of the rotorcraft, the second thrust state being based on a second measurement associated with the second rotor powered by the second power source; determining a first difference between the first thrust state and a reserve state; determining a second difference between the second thrust state and the reserve state; and identifying the first thrust margin or the second thrust margin as a selected thrust margin based on the first difference, the second difference, or a vertical control profile of the rotorcraft; and Command generator to: determining a first vertical control command based on the selected thrust margin and a second vertical control command, the second vertical control command being executed by the rotorcraft; and The rotorcraft is controlled based on the first vertical control command.

2. The apparatus of claim 1 , wherein the rotorcraft is an unmanned aerial vehicle, the first rotor comprises two or more rotors electrically coupled to the first power source, and the second rotor comprises two or more rotors electrically coupled to the second power source, and further comprising a sensor interface to obtain a first measurement associated with the first two or more rotors and to obtain a second measurement associated with the second two or more rotors.

3. The apparatus of claim 1 , wherein at least one of the first power source or the second power source comprises one or more batteries, and at least one of the first measurement or the second measurement is based on at least one of a temperature, a current, or a voltage associated with the one or more batteries, and further comprising a sensor interface to obtain at least one of the temperature, the current, or the voltage.

4. The apparatus of claim 1 , wherein the vertical control profile is a first vertical control profile, the first rotor includes at least two rotors, the first measurement value includes at least two measurement values ​​corresponding to the at least two rotors, respectively, and the thrust state determiner is configured to: determining the first thrust state based on the first vertical control profile based on the first of the two measurements being at least greater than the second of the two measurements, the first vertical control profile corresponding to a first thrust level assigned to vertical control of the rotorcraft; determining the first thrust state based on a second vertical control profile based on an average of the at least two measurements, the second vertical control profile corresponding to a second thrust level assigned to vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and The first thrust state is determined based on a third vertical control profile based on a first of the two measurements being at least less than a second of the two measurements, the third vertical control profile corresponding to a third thrust level assigned to vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

5. The apparatus of claim 1 , wherein the vertical control profile is a first vertical control profile, and the thrust state determiner is to identify the selected thrust margin by: selecting the first thrust margin based on the first thrust margin being at least greater than the second thrust margin when the vertical control profile corresponds to a first thrust level assigned to vertical control of the rotorcraft; selecting the first thrust margin based on an average of at least the first thrust margin and the second thrust margin when the vertical control profile corresponds to a second thrust level assigned to vertical control of the rotorcraft, the second thrust level being less than the first thrust level; and The first thrust margin is selected based on the first thrust margin being at least less than the second thrust margin when the vertical control profile corresponds to a third thrust level assigned to vertical control of the rotorcraft, the third thrust level being less than the second thrust level.

6. The apparatus according to claim 1, wherein the command generator is configured to: determining a first control value by multiplying the selected thrust margin by a gain value; determining a second control value based on a sum of the first control value and a third control value, the third control value corresponding to an output of the first transfer function; determining a fourth control value by multiplying the second control value by a second transfer function different from the first transfer function; and The first vertical control command is determined based on a minimum value of the fourth control value and the second vertical control command.

Citation Information

Patent Citations

  • Personal Aircraft

    US20130311008A1

  • Independent control for upper and lower rotor of a rotary wing aircraft

    US20170233067A1

  • Vertical takeoff and landing aircraft

    US20180222580A1

  • Anomalous payload detection for multirotor unmanned aerial systems

    US20190152597A1