IP Library Granted Patent US 11,455,336
Granted Patent B2
US 11,455,336 · App. 16/361,041 · Granted Sep 27, 2022

Quadcopter hardware characterization and simulation

Inventors: Vedran Skarica (Zagreb, HR); Ryan Gury (Mount Vernon, NY); Eduardo Dias da Costa (Porto Alegre, BR)
Assignee: Performance Drone Works LLC
G06F16/9017B64C27/08B64C27/16B64C39/024G06F30/20G08G5/003B64C2201/108B64C2201/12B64C2201/146
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,455,336
App. No.
16/361,041
Granted
Sep 27, 2022
Kind
B2
Abstract

A method of simulating a quadcopter includes testing a plurality of quadcopter components at a plurality of operating conditions to generate one or more lookup tables for characteristics of the quadcopter components. The lookup tables are stored for quadcopter component simulation in a quadcopter simulator. When a simulated input value for a simulated quadcopter component is received in the simulator lookup table, entries corresponding to the simulated input value are read from the lookup table and simulated quadcopter component output is generated. Simulated quadcopter output to a flight controller is generated according to the simulated quadcopter component output from one or more entries of one or more lookup tables.

Claims (37)

1. A method of quadcopter simulation comprising;

testing a plurality of quadcopter components at a plurality of operating conditions across their operating ranges to obtain test data;

generating one or more lookup tables for characteristics of the plurality of quadcopter components at the plurality of operating conditions from the test data;

storing the one or more lookup tables for quadcopter component simulation;

subsequently, in a quadcopter simulator, in response to input from a flight controller, receiving a simulated input value for a simulated quadcopter component;

reading one or more entries corresponding to the simulated input value from the one or more lookup tables;

generating a simulated quadcopter component output from the one or more entries; and

generating a simulated quadcopter output to the flight controller according to the simulated quadcopter component output from the one or more entries.

2. The method of claim 1 wherein the plurality of quadcopter components includes one or more of: quadcopter motors, quadcopter propellers, or quadcopter batteries.

3. The method of claim 1 wherein testing includes bench testing a plurality of quadcopter motors from zero revolutions per minute to a maximum number of revolutions per minute and at ten or more points in between.

4. The method of claim 3 wherein bench testing further includes providing commands to the plurality of quadcopter motors to rapidly change a number of Revolutions Per Minute (RPM), recording observed delay in actual change in RPM, and wherein generating the one or more lookup tables includes generating a delay lookup table from the observed delay.

5. The method of claim 4 wherein generating a simulated quadcopter component output includes generating a simulated quadcopter motor RPM with a time delay obtained from the delay lookup table.

6. The method of claim 1 wherein the simulated quadcopter output to the flight controller is generated according to a plurality of lookup tables representing different characteristics of a plurality of quadcopter components, including at least quadcopter motors and propellers.

7. The method of claim 6 wherein the plurality of lookup tables include a current lookup table with entries indicating current for different command inputs, a power lookup table with entries indicating power for different currents, a torque lookup table with entries indicating torque generated for different powers, and an RPM lookup table with entries indicating RPMs generated for different powers.

8. The method of claim 7 further comprising: reducing a power value obtained from the power lookup table according to battery condition to obtain a reduced power value and using the reduced power value to find corresponding entries in the torque lookup table and the RPM lookup table.

9. The method of claim 8 wherein the plurality of lookup tables further includes a delay lookup table with entries indicating delay in changed RPM, a thrust lookup table with entries indicating thrust for different RPM values, and a propeller lookup table with entries indicating propeller efficiency at different RPM values.

10. The method of claim 9 further comprising:

combining a thrust value from the thrust lookup table with a propeller efficiency value from the propeller lookup table to generate a dynamic thrust value; and

providing the dynamic thrust value and a torque value from the torque lookup table in the simulated quadcopter output to the flight controller.

11. A quadcopter simulator comprising:

a flight controller configured to perform Proportional Integral Derivative (PID) control of quadcopter motors to generate flight controller output signals corresponding to four simulated quadcopter motors of a simulated quadcopter;

a virtual powertrain coupled to receive the flight controller output signals, the virtual powertrain configured to generate thrust and torque values for the four simulated quadcopter motors from the flight controller output signals using a plurality of lookup tables with entries indicating quadcopter component characteristics;

an aerodynamic module coupled to receive the thrust and torque values from the virtual powertrain, the aerodynamic module configured to combine the thrust and torque values for the four simulated quadcopter motors and apply additional factors to obtain velocity, angular velocity, and position of the simulated quadcopter, and to provide simulated sensor data according to the velocity, angular velocity, and position to the flight controller; and

a camera simulator coupled to receive the velocity, angular velocity, and position of the simulated quadcopter from the aerodynamic module and to generate a plurality of simulated camera views of simulated cameras of the simulated quadcopter based on the velocity, angular velocity, and position.

12. The quadcopter simulator of claim 11 wherein the aerodynamic module is configured to send the simulated sensor data to an Artificial Intelligence (AI) controller, the camera simulator is configured to send the plurality of simulated camera views to the AI controller, and the flight controller is configured to receive input signals from the AI controller.

13. The quadcopter simulator of claim 12 wherein the flight controller is configured to receive input signals from the AI controller that specify thrust, pitch, roll, and yaw of the simulated quadcopter, and the flight controller output signals are Electronic Speed Control (ESC) signals.

14. The quadcopter simulator of claim 11 wherein the camera simulator is configured to generate six simulated camera views to form three simulated stereoscopic camera views corresponding to different views of a simulated environment around the simulated quadcopter.

15. The quadcopter simulator of claim 11 wherein the plurality of lookup tables include a current lookup table with entries indicating current for different command inputs, a power lookup table with entries indicating power for different currents, a torque lookup table with entries indicating torque generated for different powers, and an RPM lookup table with entries indicating RPMs generated for different powers.

16. The quadcopter simulator of claim 15 wherein the plurality of lookup tables further include a delay lookup table with entries indicating delay in changed RPM, a thrust lookup table with entries indicating thrust for different RPM values, and a propeller lookup table with entries indicating propeller efficiency at different RPM values.

17. The quadcopter simulator of claim 16 further comprising a battery adjustment unit configured to reduce power value obtained from the power lookup table according to battery condition to obtain a reduced power value and provide the reduced power value to find corresponding entries in the torque lookup table and the RPM lookup table.

18. The quadcopter simulator of claim 11 wherein the additional factors include ground effect from proximity of ground below, gravity, lift and drag from movement through air.

19. A quadcopter simulator comprising:

a flight controller configured to receive commands relating to quadcopter flight, perform Proportional Integral Derivative (PID) control of quadcopter motors to generate four Electronic Speed Control (ESC) signals corresponding to four simulated quadcopter motors of a simulated quadcopter;

a virtual powertrain coupled to receive the four ESC signals, the virtual powertrain configured to generate thrust and torque values for the four simulated quadcopter motors from the four ESC signals using a plurality of lookup tables with entries indicating quadcopter component characteristics, the lookup tables including: a current lookup table with entries indicating current for different command inputs, a power lookup table with entries indicating power for different currents, a torque lookup table with entries indicating torque generated for different powers, an RPM lookup table with entries indicating RPMs generated for different powers, a delay lookup table with entries indicating delay in changed RPM, a thrust lookup table with entries indicating thrust for different RPM values, and a propeller lookup table with entries indicating propeller efficiency at different RPM values;

an aerodynamic module coupled to receive the thrust and torque values from the virtual powertrain, the aerodynamic module configured to combine the thrust and torque values for the four simulated quadcopter motors and apply additional factors including ground effect from proximity of ground below, gravity, lift and drag from movement through air, to obtain velocity, angular velocity, and position of the simulated quadcopter, and to provide simulated sensor data according to the velocity, angular velocity, and position to the flight controller; and

a camera simulator coupled to receive the velocity, angular velocity, and position of the simulated quadcopter from the aerodynamic module and to generate a plurality of simulated stereoscopic camera views of a simulated environment around the simulated quadcopter based on the velocity, angular velocity, and position.

20. The quadcopter simulator of claim 19 wherein the plurality of lookup tables are obtained from bench testing of a plurality of quadcopter components including at least quadcopter motors and propellers under different conditions.

Assignments (6)
SECURITY INTEREST Recorded Oct 9, 2025
From: PDW HOLDINGS, INC.; PERFORMANCE DRONE WORKS, LLC
To: CRESCENT COVE OPPORTUNITY LENDING, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 072524/0793 →
RELEASE OF SECURITY INTEREST Recorded Oct 7, 2025
From: RSE VENTURES, LLC, AS COLLATERAL AGENT
To: PDW HOLDINGS, INC.; PERFORMANCE DRONE WORKS, LLC
Reel/Frame 072496/0680 →
SECURITY INTEREST Recorded Jan 28, 2024
From: PDW HOLDINGS, INC.; PERFORMANCE DRONE WORKS LLC
To: SMR 2023 REVOCABLE TRUST U/A/D 6/15/2023
Reel/Frame 066269/0794 →
SECURITY INTEREST Recorded Aug 27, 2021
From: PDW HOLDINGS, INC.; PERFORMANCE DRONE WORKS LLC
To: RSE VENTURES, LLC
Reel/Frame 057316/0253 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: DRONE RACING LEAGUE, INC.
To: PERFORMANCE DRONE WORKS LLC
Reel/Frame 054008/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: SKARICA, VEDRAN; GURY, RYAN; DA COSTA, EDUARDO DIAS
To: DRONE RACING LEAGUE, INC.
Reel/Frame 048782/0984 →
Continuity (1)
Related Publication 20200301971A1 · Sep 24, 2020
Cited By (1)
US 12,204,348