IP Library Granted Patent US 11,912,426
Granted Patent B2
US 11,912,426 · App. 17/473,668 · Granted Feb 27, 2024

Thrust allocation using optimization in a distributed flight control system

Inventor: Tim Allan Wheeler (Mountain View, CA)
Assignee: Kitty Hawk Corporation
B64D31/12B60L15/20B64C29/0025B64D27/24B60L2200/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,912,426
App. No.
17/473,668
Granted
Feb 27, 2024
Kind
B2
Abstract

Thrust values for motors in an aircraft are generated where each flight controller in a plurality of flight controllers generates a thrust value for each motor in a plurality of motors using an optimization problem with a single solution. Each flight controller in the plurality of flight controllers passes one of the generated thrust values to a corresponding motor in the plurality of motors, where other generated thrust values for that flight controller terminate at that flight controller. The plurality of motors perform the passed thrust values.

Claims (46)

1. An aircraft, comprising:

a plurality of flight controllers configured to:

generate thrust values for a plurality of motors in the aircraft, wherein each flight controller in the plurality of flight controllers is configured to generate a complete set of thrust values that includes a thrust value for each motor in the plurality of motors using an optimization problem with a single solution, wherein the plurality of flight controllers include a first flight controller and a second flight controller, wherein the plurality of motors includes a first motor and a second motor, and wherein the complete set of thrust values includes a first thrust value and a second thrust value; and

from each flight controller in the plurality of flight controllers, pass only one of the generated thrust values in that flight controller's complete set of thrust values to a corresponding motor in the plurality of motors in the event the one of the generated thrust values for the corresponding motor and the thrust values for the corresponding motor generated by the other flight controllers of the plurality of flight controllers are within a tolerance amount, wherein the first flight controller passes the first thrust value associated with the first flight controller to the first motor and does not pass the second thrust value associated with the first flight controller to the first motor, wherein the second flight controller passes the second thrust value associated with the second flight controller to the second motor and does not pass the first thrust value associated with the second flight controller to the second motor, and wherein other generated thrust values in that flight controller's complete set of thrust values that are not passed to the corresponding motor terminate at that flight controller; and

the plurality of motors is configured to perform the passed thrust values.

2. The aircraft of claim 1 , wherein to generate thrust values, the plurality of flight controllers are configured to constrain the thrust values to be feasible using a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector.

3. The aircraft of claim 1 , wherein:

to generate thrust values, the plurality of flight controllers are configured to constrain the thrust values to be feasible using a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector; and

to constrain the thrust values to be feasible, the plurality of flight controllers are further configured to constrain the thrust values to be greater than or equal to zero.

4. The aircraft of claim 1 , wherein to generate thrust values, the plurality of flight controllers are configured to use active set techniques, including by tracking if any of the thrust values are actively constrained by a corresponding maximum thrust value in a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector.

5. The aircraft of claim 1 , wherein to generate thrust values, the plurality of flight controllers are configured to use active set techniques, including by tracking if any of the thrust values are actively constrained by a corresponding maximum thrust value in a maximum thrust vector, wherein:

any motor outs are reflected in the maximum thrust vector; and

a first set of thrust values generated for a first set of desired forces and moments is used as an initial set of thrust values when generating thrust values for a second, subsequent set of desired forces and moments.

6. The aircraft of claim 1 , wherein:

a portion of the optimization problem is associated with ensuring that there is the single solution to the optimization problem; and

the portion of the optimization problem associated with ensuring that there is the single solution includes a matrix associated with projecting the thrust values onto a null space associated with one or more desired forces and/or moments, such that generating the thrust values is independent of the portion of the optimization problem associated with ensuring that there is the single solution.

7. A method, comprising:

generating thrust values for a plurality of motors in an aircraft, wherein each flight controller in a plurality of flight controllers generates a complete set of thrust values that includes a thrust value for each motor in the plurality of motors using an optimization problem with a single solution, wherein the plurality of flight controllers include a first flight controller and a second flight controller, wherein the plurality of motors includes a first motor and a second motor, and wherein the complete set of thrust values includes a first thrust value and a second thrust value;

from each flight controller in the plurality of flight controllers, passing only one of the generated thrust values in that flight controller's complete set of thrust values to a corresponding motor in the plurality of motors in the event the one of the generated thrust values for the corresponding motor and the thrust values for the corresponding motor generated by the other flight controllers of the plurality of flight controllers are within a tolerance amount, wherein the first flight controller passes the first thrust value associated with the first flight controller to the first motor and does not pass the second thrust value associated with the first flight controller to the first motor, wherein the second flight controller passes the second thrust value associated with the second flight controller to the second motor and does not pass the first thrust value associated with the second flight controller to the second motor, and wherein other generated thrust values in that flight controller's complete set of thrust values that are not passed to the corresponding motor terminate at that flight controller; and

performing the passed thrust values using the plurality of motors.

8. The method of claim 7 , wherein generating thrust values includes constraining the thrust values to be feasible using a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector.

9. The method of claim 7 , wherein:

generating thrust values includes constraining the thrust values to be feasible using a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector; and

constraining the thrust values to be feasible further includes constraining the thrust values to be greater than or equal to zero.

10. The method of claim 7 , wherein generating thrust values includes using active set techniques, including by tracking if any of the thrust values are actively constrained by a corresponding maximum thrust value in a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector.

11. The method of claim 7 , wherein generating thrust values includes using active set techniques, including by tracking if any of the thrust values are actively constrained by a corresponding maximum thrust value in a maximum thrust vector, wherein:

any motor outs are reflected in the maximum thrust vector; and

a first set of thrust values generated for a first set of desired forces and moments is used as an initial set of thrust values when generating thrust values for a second, subsequent set of desired forces and moments.

12. The method of claim 7 , wherein:

a portion of the optimization problem is associated with ensuring that there is the single solution to the optimization problem; and

the portion of the optimization problem associated with ensuring that there is the single solution includes a matrix associated with projecting the thrust values onto a null space associated with one or more desired forces and/or moments, such that generating the thrust values is independent of the portion of the optimization problem associated with ensuring that there is the single solution.

13. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

generating thrust values for a plurality of motors in an aircraft, wherein each flight controller in a plurality of flight controllers generates a complete set of thrust values that includes a thrust value for each motor in the plurality of motors using an optimization problem with a single solution, wherein the plurality of flight controllers include a first flight controller and a second flight controller, wherein the plurality of motors includes a first motor and a second motor, and wherein the complete set of thrust values includes a first thrust value and a second thrust value;

from each flight controller in the plurality of flight controllers, passing only one of the generated thrust values in that flight controller's complete set of thrust values to a corresponding motor in the plurality of motors in the event the one of the generated thrust values for the corresponding motor and the thrust values for the corresponding motor generated by the other flight controllers of the plurality of flight controllers are within a tolerance amount, wherein the first flight controller passes the first thrust value associated with the first flight controller to the first motor and does not pass the second thrust value associated with the first flight controller to the first motor, wherein the second flight controller passes the second thrust value associated with the second flight controller to the second motor and does not pass the first thrust value associated with the second flight controller to the second motor, and wherein other generated thrust values in that flight controller's complete set of thrust values that are not passed to the corresponding motor terminate at that flight controller; and

performing the passed thrust values using the plurality of motors.

14. The computer program product of claim 13 , wherein the computer instructions for generating thrust values include computer instructions for constraining the thrust values to be feasible using a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector.

15. The computer program product of claim 13 , wherein:

the computer instructions for generating thrust values include computer instructions for constraining the thrust values to be feasible using a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector; and

the computer instructions for constraining the thrust values to be feasible further include computer instructions for constraining the thrust values to be greater than or equal to zero.

16. The computer program product of claim 13 , wherein the computer instructions for generating thrust values include computer instructions for using active set techniques, including by tracking if any of the thrust values are actively constrained by a corresponding maximum thrust value in a maximum thrust vector, wherein any motor outs are reflected in the maximum thrust vector.

17. The computer program product of claim 13 , wherein the computer instructions for generating thrust values include computer instructions for using active set techniques, including by tracking if any of the thrust values are actively constrained by a corresponding maximum thrust value in a maximum thrust vector, wherein:

any motor outs are reflected in the maximum thrust vector; and

a first set of thrust values generated for a first set of desired forces and moments is used as an initial set of thrust values when generating thrust values for a second, subsequent set of desired forces and moments.

18. The computer program product of claim 13 , wherein:

a portion of the optimization problem is associated with ensuring that there is the single solution to the optimization problem; and

the portion of the optimization problem associated with ensuring that there is the single solution includes a matrix associated with projecting the thrust values onto a null space associated with one or more desired forces and/or moments, such that generating the thrust values is independent of the portion of the optimization problem associated with ensuring that there is the single solution.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded May 22, 2023
From: ONE AERO, LLC
To: KITTY HAWK CORPORATION
Reel/Frame 063713/0367 →
SECURITY INTEREST Recorded Mar 25, 2022
From: KITTY HAWK CORPORATION
To: ONE AERO, LLC
Reel/Frame 059503/0382 →
SECURITY INTEREST Recorded Nov 4, 2021
From: KITTY HAWK CORPORATION
To: ONE AERO, LLC
Reel/Frame 058029/0610 →
Continuity (2)
Continuation 16794710 · Feb 19, 2020
Related Publication 20210403171A1 · Dec 30, 2021