Professional Experience
The AI Institute
Software Engineer: February 2024 — Present
- Designed and developed motion planning and execution framework within ROS 2
- Designed and developed kinematics & dynamics solvers, and inverse-dynamics impedance controller within the
ros2_control
framework
NASA Johnson Space Center
Integrated GN&C Analyst: July 2021 — January 2024
- FTE in July 2021; supported Orion’s Launch Abort System GN&C development, analysis, verification
- Integrated flexible structure model with linear and nonlinear simulation frameworks (MATLAB, C++)
- Frequent dynamical studies through large-scale monte-carlo simulations; 150 pages of technical reports written in 2022
- Used linear analysis to analyze vehicle performance, verify stability margins; validates linear models
- Served as backup regression data approver for simulated Orion Launch Abort System performance
- Led development for polarity tests; created novel \(6\)DOF kinematics simulation (Julia, Python); represented Orion GN&C at multiple lab tests in three states: Texas, Colorado, Florida
- Developed LaTeX packages and classes to improve technical writing workflows
- Cooperative internships across avionics, flight operations, and flight dynamics groups: 2017 — 2020
Space Systems Laboratory
Graduate Research Assistant: August 2019 — May 2021
- Led core robot software development (C++, Orocos, ROS, CAN) as Graduate Assistant under Dr. Dave Akin
- Developed novel Julia package to generate symbolic manipulator kinematics models; implemented and merged required changes to
Symbolics.jl
; intermediate Jacobian performance substantially improved over Orocos iterative solvers; implemented improved inverse-kinematics algorithm - Created C++ interfaces (templates) and implementations for control, including force/torque control
- Maintained operator GUI (Python); diver for Neutral Buoyancy Research Facility Maintenance
- Undergraduate research assistant: 2017 — 2019
Harris Corporation
Electrical Engineering Intern: May 2016 — August 2016
- Implemented rain attenuation ITU Propagation Model components; MATLAB functions written to implement model calculations, C# used to gather terrain data
- Developed VBA workflows for automatic data processing procedures
SRI International
Data Annotation Intern: May 2015 — December 2015
- Annotated images and videos for deep learning research applications
- Designed LED Array and circuit layouts for gaze tracking project using Eagle CAD
Education
M.S. Aerospace Engineering
University of Maryland, College Park
- Research assistant under Dr. Akin; space robotics (manipulator) software lead, primary operator
- Halo orbit & invariant-manifold research project with Instructor Barbee; now open source
- Research emphasis in space robotics systems, prioritized dynamics & controls in coursework
B.S. Electrical Engineering
University of Maryland, College Park
- Four control theory courses, four computer science courses; major emphasis in control theory
- Undergraduate Research Assistant under Dr. Akin at SSL; ROS/Orocos software lead in third year
- Implemented inertial and viscous friction compensation for SSL’s MGA Exoskeleton (Galil, UART)
Open Source Software
Nonlinear Dynamics
GeneralAstrodynamics.jl
- Metapackage for three sub-packages; provides general calculations, visualizations, halo orbit solvers, and invariant manifold solvers
- Models are integrated with the SciML Julia ecosystem
- Presented at JuliaCon 2021: Going to Jupiter with Julia
- Hosted in the JuliaAstro GitHub organization
EphemerisSources.jl
- Metapackage for four sub-packages; provides utilities for fetching and parsing ephemeris data from Horizons and JPL’s publicly available Generic Kernels
- Related paper published in the Journal of Open Source Software: EphemerisSources.jl: Idiomatic Ephemeris Sourcing and Parsing in Julia
- Hosted in the JuliaAstro GitHub organization
GalacticPotentials.jl
PolynomialGTM.jl
- Provides approximate polynomial model for longitudinal flight dynamics of a passenger plane
- Model is integrated with the SciML Julia ecosystem
- Model equations are sourced from a nonlinear dynamics publication by Chakraborty, Seiler, and Balas (2011)
Utilities
DocumenterQuarto.jl
- Integrates
Documenter.jl
syntax with Quarto for automatic package documentation
CommonLicenses.jl
- Provides commonly-used licenses within Julia for use in interactive notebooks, and scripts
rich-admonitions
- Extends
rich
(Python) with callout or admonition blocks
module-hygiene
- Provides an
__export__
key for namespace hygiene in Python
block-scopes
- Allows for local or block scoping in Python through the
with
keyword
Publications
Journal of Open Source Software
EphemerisSources.jl: Idiomatic Ephemeris Sourcing and Parsing in Julia
First Author: Published October 10th, 2024
- Describes four independently published Julia packages, and the
EphemerisSources.jl
metapackage - Provides ephemeris sourcing and parsing utilities for interacting with common solar system ephemeris platforms
ArXiv
Advancing The Robotics Software Development Experience: Bridging Julia’s Performance and Python’s Ecosystem
Second Author: Submitted June 6th, 2024
- Describes contributions to the use of Julia for robot teleoperation in The AI Institute
- Accompanying poster presentation at ICRA 2024
References
Chakraborty, Abhijit, Peter Seiler, and Gary J Balas. 2011. “Nonlinear Region of Attraction Analysis for Flight Control Verification and Validation.” Control Engineering Practice 19 (4): 335–45.