IP Library Granted Patent US 10,464,670
Granted Patent B2
US 10,464,670 · App. 15/439,871 · Granted Nov 5, 2019

Variable condition motor controller

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 10,464,670
App. No.
15/439,871
Granted
Nov 5, 2019
Kind
B2
Abstract

A controller system of an aerial vehicle may receive environmental data from one or more sensors of the aerial vehicle and adjusts limits of the aerial vehicle given the environmental conditions. When the aerial vehicle receives an input, such as a flight input from a remote controller or an environmental input such as a gust of wind, the controller system calculates appropriate motor inputs that are provided to the thrust motors of the aerial vehicle such that the adjusted limits of the aerial vehicle are not exceeded. In calculating the appropriate input to the thrust motors, the controller system performs an iterative process. For example, for a given maximum torque that can be applied to the thrust motors, the controller system iteratively allocates the torque such that torque components that are important for the stability of the aerial are first fulfilled, whereas subsequent torque components may be fulfilled or scaled back.

Claims (70)

1. An aerial vehicle, comprising:

a plurality of motors;

one or more sensors configured to detect environmental data;

a control system configured to:

generate desired torque values corresponding to the plurality of motors based on the detected environmental data;

determine, for each desired torque value, two or more sub-torque values, one of the two or more sub-torque values for each desired torque value determined by the control system comprising a core sub-torque that represents a minimum amount of torque to maintain the aerial vehicle at a hover status;

determine a priority order for a plurality of sub-torque values;

generate revised torque values by iteratively validating sub-torque values according to the determined priority order; and

determine a requested motor speed for each motor of the plurality of motors based on the revised torque values.

2. The aerial vehicle of claim 1 , wherein the desired torque values comprise a desired thrust torque value, a desired roll torque value, a desired pitch torque value, and a desired yaw torque value.

3. The aerial vehicle of claim 2 , wherein a core sub-torque value and a remaining sub-torque value are determined for each desired torque value and wherein the priority order for the plurality of sub-torque values comprises:

a core thrust sub-torque value of a plurality of thrust sub-torque values,

a core pitch sub-torque value of a plurality of pitch sub-torque values,

a core roll sub-torque value of a plurality of roll sub-torque values, and

a remaining pitch sub-torque of the plurality of pitch sub-torque values.

4. The aerial vehicle of claim 3 , wherein the priority order for the plurality of sub-torque values further comprises:

a remaining roll sub-torque of the plurality of roll sub-torque values,

a core yaw sub-torque of a plurality of yaw sub-torque values,

a remaining thrust sub-torque of the plurality of thrust sub-torque values, and

a remaining yaw sub-torque of the plurality of yaw sub-torque values.

5. The aerial vehicle of claim 1 , wherein the two or more sub-torque values, when summated, results in the desired torque value.

6. The aerial vehicle of claim 1 , wherein the environmental data comprises at least one of barometric pressure, air humidity, and air temperature.

7. The aerial vehicle of claim 1 , wherein the control system configured to generate desired torque values corresponding to the plurality of motors based on the detected environmental data further comprises configuring the control system to:

receive requested flight parameters for the aerial vehicle;

receive environmental data from the one or more sensors of the aerial vehicle;

determine maximum allowable kinematic changes to the aerial vehicle;

adjust the determined maximum allowable kinematic changes based on the detected environmental data; and

determine whether kinematic changes corresponding to the requested flight parameters exceed the adjusted maximum allowable kinematic changes.

8. The aerial vehicle of claim 7 , wherein the control system configured to generate desired torque values corresponding to the plurality of motors based on the detected environmental data further comprises the control system configured to:

scale back, responsive to the kinematic changes corresponding to the received flight input exceeding the adjusted maximum allowable kinematic changes, the kinematic changes corresponding to the received flight input.

9. The aerial vehicle of claim 1 , wherein the control system configured to generate revised torque values by iteratively validating sub-torque values according to the determined priority order further comprises the control system configured to:

validate each sub-torque value by:

determining a bounded range for the sub-torque value; and

ensuring the sub-torque value falls within the determined bounded range; and

combine two or more validated sub-torque values.

10. The aerial vehicle of claim 1 , wherein the control system configured to determine a requested motor speed for each motor of the plurality of motors based on the revised torque values further comprises the control system configured to:

generate a mixer transfer matrix comprising entries of adjusted thrust coefficients and adjusted drag coefficients corresponding to the aerial vehicle; and

combine the generated mixer transfer and the revised torque values.

11. A method of controlling an aerial vehicle comprising:

receiving requested flight parameters for the aerial vehicle;

detecting, by one or more sensors of the aerial vehicle, one or more environmental conditions;

generating desired torque values corresponding to a plurality of motors of the aerial vehicle, the desired torque values derived from the flight parameters based on the detected one or more environmental conditions;

determining, for each desired torque value, two or more sub-torque values, one of the two or more sub-torque values for each desired torque value determined by the control system comprising a core sub-torque that represents a minimum amount of torque to maintain the aerial vehicle at a hover status;

determining a priority order for a plurality of sub-torque values;

generating revised torque values by iteratively validating sub-torque values according to the determined priority order; and

determining a requested motor speed for each motor of the aerial vehicle based on the revised torque values.

12. The method of claim 11 , wherein the desired torque values comprise a desired thrust torque value, a desired roll torque value, a desired pitch torque value, and a desired yaw torque value.

13. The method of claim 12 , wherein a core sub-torque value and a remaining sub-torque value are determined for each desired torque value and wherein the priority order for the plurality of sub-torque values comprises:

a core thrust sub-torque,

a core pitch sub-torque,

a core roll sub-torque, and

a remaining pitch sub-torque.

14. The method of claim 13 , wherein the priority order for the plurality of sub-torque values further comprises:

a remaining roll sub-torque,

a core yaw sub-torque,

a remaining thrust sub-torque, and

a remaining yaw sub-torque.

15. The method of claim 11 , wherein the one or more environmental conditions comprises at least one of barometric pressure, air humidity, and air temperature.

16. The method of claim 11 , generating desired torque values comprises:

determining maximum allowable kinematic changes to the aerial vehicle;

adjusting the determined maximum allowable kinematic changes based on the detected one or more environmental conditions; and

determining whether kinematic changes corresponding to the requested flight parameters exceed the adjusted maximum allowable kinematic changes.

17. The method of claim 11 , wherein generating revised torque values by iteratively validating sub-torque values comprises:

validating each sub-torque value by:

determining a bounded range for the sub-torque value; and

ensuring the sub-torque value falls within the determined bounded range; and

combining two or more validated sub-torque values.

18. The method of claim 11 , wherein determining a requested motor speed for each motor of the aerial vehicle based on the revised torque values comprises:

generating a mixer transfer matrix comprising entries of adjusted thrust coefficients and adjusted drag coefficients corresponding to the aerial vehicle; and

combining the generated mixer transfer and the revised torque values.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2024
From: GOPRO, INC.
To: SKYDIO, INC.
Reel/Frame 069083/0355 →
RELEASE OF PATENT SECURITY INTEREST Recorded Jan 25, 2021
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: GOPRO, INC.
Reel/Frame 055106/0434 →
SECURITY INTEREST Recorded Oct 19, 2020
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 054113/0594 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE TO REMOVE APPLICATION 15387383 AND REPLACE WITH 15385383 PREVIOUSLY RECORDED ON REEL 042665 FRAME 0065. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 23, 2019
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050808/0824 →
SECURITY INTEREST Recorded Jun 1, 2017
From: GOPRO, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 042665/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2017
From: ENKE, JOSEPH ANTHONY; TANKERSLEY, BENJAMIN; BERTEAUX, JEAN-BERNARD; MURGUET, AXEL; BRUNEAU, GARANCE
To: GOPRO, INC.
Reel/Frame 041895/0628 →