IP Library Granted Patent US 12,282,524
Granted Patent B2
US 12,282,524 · App. 18/161,028 · Granted Apr 22, 2025

Computer-implemented computation of tangent-space jacobian

Inventors: Hayk Martirosyan (San Francisco, CA); Aaron Christopher Miller (San Francisco, CA); Nathan Leo Bucki (San Mateo, CA); Bradley Matthew Solliday (San Francisco, CA); Ryan David Kennedy (San Francisco, CA); Jack Louis Zhu (San Mateo, CA); Teodor Tomic (Redwood City, CA); Yixiao Sun (Stanford, CA); Josiah Timothy VanderMey (Redwood City, CA); Gareth Benoit Cross (San Carlos, CA); Peter Benjamin Henry (San Francisco, CA); Dominic William Pattison (Cupertino, CA); Samuel Shenghung Wang (Mountain View, CA); Kristen Marie Holtz (Menlo Park, CA); Harrison Zheng (Palo Alto, CA)
Assignee: Skydio, Inc.
G06F17/16B64C39/024B64U10/00G05D1/0022G05D1/0038G05D1/0088G05D1/0825G05D1/101G06F9/526G06F17/18G06V10/751B64U2101/30B64U2201/00B64U2201/10B64U2201/20
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 12,282,524
App. No.
18/161,028
Granted
Apr 22, 2025
Kind
B2
Abstract

A computer accesses a first symbolic expression for an output matrix as a function of an input matrix at a computing device comprising processing circuitry and memory. The computer computes a first Jacobian of the input matrix with respect to an input tangent space. The computer computes a second Jacobian of the output matrix with respect to the input matrix. The computer computes a third Jacobian of an output tangent space with respect to the input matrix. The computer applies symbolic matrix multiplication to the first Jacobian, the second Jacobian, and the third Jacobian to obtain a second symbolic expression for the output tangent space with respect to the input tangent space. The computer provides a representation of the second symbolic expression, the second symbolic expression representing a computed tangent-space Jacobian.

Claims (38)

1. A method comprising:

accessing a first symbolic expression for an output matrix as a function of an input matrix at a computing device comprising processing circuitry and memory;

computing, at a first component of the processing circuitry, a first Jacobian of the input matrix with respect to an input tangent space;

computing, at a second component of the processing circuitry, a second Jacobian of the output matrix with respect to the input matrix;

computing, at a third component of the processing circuitry, a third Jacobian of an output tangent space with respect to the input matrix;

applying symbolic matrix multiplication to the first Jacobian, the second Jacobian, and the third Jacobian to obtain a second symbolic expression for the output tangent space with respect to the input tangent space; and

controlling operation of an unmanned aerial vehicle based on the second symbolic expression, wherein the controlling operation controls movement of the unmanned aerial vehicle based on cost functions.

2. The method of claim 1 , wherein the first component comprises a first thread, wherein the second component comprises a second thread, and wherein the third component comprises a third thread.

3. The method of claim 1 , wherein the first component comprises a first processor, wherein the second component comprises a second processor, and wherein the third component comprises a third processor.

4. The method of claim 1 , wherein two or more of the first component, the second component, and the third component operate in parallel.

5. The method of claim 1 , wherein the input tangent space and the output tangent space are defined in a symbolic Lie group definition stored in the memory.

6. The method of claim 1 , wherein accessing the first symbolic expression comprises accessing a cost function of the cost functions for operating an unmanned aerial vehicle, wherein the cost function comprises the first symbolic expression.

7. The method of claim 1 , wherein the computing device comprises a flight control subsystem of the unmanned aerial vehicle, and wherein controlling operation of the unmanned aerial vehicle comprises transmitting instructions to a motor of the unmanned aerial vehicle.

8. A non-transitory computer-readable medium storing instructions which, when executed by a computing device, causes the computing device to perform operations comprising:

accessing a first symbolic expression for an output matrix as a function of an input matrix at the computing device comprising processing circuitry and memory;

computing, at a first component of the processing circuitry, a first Jacobian of the input matrix with respect to an input tangent space;

computing, at a second component of the processing circuitry, a second Jacobian of the output matrix with respect to the input matrix;

computing, at a third component of the processing circuitry, a third Jacobian of an output tangent space with respect to the input matrix;

applying symbolic matrix multiplication to the first Jacobian, the second Jacobian, and the third Jacobian to obtain a second symbolic expression for the output tangent space with respect to the input tangent space; and

controlling operation of an unmanned aerial vehicle based on the second symbolic expression, wherein the controlling operation controls movement of the unmanned aerial vehicle based on cost functions.

9. The computer-readable medium of claim 8 , wherein the first component comprises a first thread, wherein the second component comprises a second thread, and wherein the third component comprises a third thread.

10. The computer-readable medium of claim 8 , wherein the first component comprises a first processor, wherein the second component comprises a second processor, and wherein the third component comprises a third processor.

11. The computer-readable medium of claim 8 , wherein two or more of the first component, the second component, and the third component operate in parallel.

12. The computer-readable medium of claim 8 , wherein the input tangent space and the output tangent space are defined in a symbolic Lie group definition stored in the memory.

13. The computer-readable medium of claim 8 , wherein accessing the first symbolic expression comprises accessing a cost function of the cost functions for operating an unmanned aerial vehicle, wherein the cost function comprises the first symbolic expression.

14. The computer-readable medium of claim 8 , wherein the computing device comprises a flight control subsystem of the unmanned aerial vehicle, and wherein controlling operation of the unmanned aerial vehicle comprises transmitting instructions to a motor of the unmanned aerial vehicle.

15. A computing device comprising:

processing circuitry; and

a memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to:

access a first symbolic expression for an output matrix as a function of an input matrix;

compute, at a first component of the processing circuitry, a first Jacobian of the input matrix with respect to an input tangent space;

compute, at a second component of the processing circuitry, a second Jacobian of the output matrix with respect to the input matrix;

compute, at a third component of the processing circuitry, a third Jacobian of an output tangent space with respect to the input matrix;

apply symbolic matrix multiplication to the first Jacobian, the second Jacobian, and the third Jacobian to obtain a second symbolic expression for the output tangent space with respect to the input tangent space; and

control operation of an unmanned aerial vehicle based on the second symbolic expression, wherein the control operation controls movement of the unmanned aerial vehicle based on cost functions.

16. The computing device of claim 15 , wherein the first component comprises a first thread, wherein the second component comprises a second thread, and wherein the third component comprises a third thread.

17. The computing device of claim 15 , wherein the first component comprises a first processor, wherein the second component comprises a second processor, and wherein the third component comprises a third processor.

18. The computing device of claim 15 , wherein two or more of the first component, the second component, and the third component operate in parallel.

Assignments (2)
SECURITY INTEREST Recorded Dec 5, 2024
From: SKYDIO, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 069516/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2023
From: MARTIROSYAN, HAYK; MILLER, AARON CHRISTOPHER; BUCKI, NATHAN LEO; SOLLIDAY, BRADLEY MATTHEW; KENNEDY, RYAN DAVID; ZHU, JACK LOUIS; TOMIC, TEODOR; SUN, YIXIAO; VANDERMEY, JOSIAH TIMOTHY; CROSS, GARETH BENOIT; HENRY, PETER BENJAMIN; PATTISON, DOMINIC WILLIAM; WANG, SAMUEL SHENGHUNG; HOLTZ, KRISTEN MARIE; ZHENG, HARRISON
To: SKYDIO, INC.
Reel/Frame 063389/0206 →
Continuity (3)
Provisional Application 63344755 · May 23, 2022
Provisional Application 63304537 · Jan 28, 2022
Related Publication 20230244231A1 · Aug 3, 2023
References Cited (14)
US 9352833B2 · Kruglick · 2016 [cited by applicant]
US 20110137506A1 · DeMarco et al. · 2011 [cited by applicant]
US 20150284010A1 · Beardsley et al. · 2015 [cited by applicant]
US 20170291704A1 · Alegria · 2017 [cited by applicant]
US 20170301246A1 · De Prins et al. · 2017 [cited by applicant]
US 20180292830A1 · Kazemi et al. · 2018 [cited by applicant]
US 20190163206A1 · Zhu et al. · 2019 [cited by applicant]
US 20200409395A1 · Hilliges et al. · 2020 [cited by applicant]
US 20210080589A1 · Febbo et al. · 2021 [cited by applicant]
US 20210349469A1 · Houseago et al. · 2021 [cited by applicant]
US 20220277859A1 · Alesiani · 2022 [cited by examiner]
US 20230107622A1 · Loussides et al. · 2023 [cited by applicant]
US 20240010326A1 · Roach et al. · 2024 [cited by applicant]
WO WO2017007527A2 · 2017 [cited by examiner]