Skip to content
View JCarroll-OU's full-sized avatar

Block or report JCarroll-OU

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JCarroll-OU/README.md

James Carroll

M.S. Mechanical Engineering — University of Oklahoma

Spacecraft GNC · Nonlinear & Adaptive Control · State Estimation

LinkedIn Email


Research

I work on station-keeping control for spacecraft hovering near small bodies. My thesis studies artificial equilibrium points in the photogravitational circular restricted three-body problem. Points at which solar radiation pressure and gravity are balanced so a spacecraft can hold proximity with minimal effort.

The equilibrium is a saddle and the environment is highly perturbed. I'm running a controlled comparison of three disturbance-rejection architectures against that problem:

Method
DOBC Disturbance-observer-based control
ESO Extended state observer control
ASMC Adaptive-gain sliding mode control

Two of these estimate the disturbance and subtract it while one dominates it with switching gain. Evaluation is based on tracking error, settling time, fuel use, and computational cost across a Monte Carlo campaign that randomizes body geometry, gravity-field irregularity, and disturbance magnitude.

Advisor: Dr. Diogo M. Sanchez · Expected May 2027


Selected Projects

🛰️ Photogravitational CR3BP Simulation Framework Python simulation stack for the thesis: polyhedral gravity modeling over procedurally generated tri-axial ellipsoid asteroids, ray-cast shadow geometry for SRP occlusion, and an interactive 3D plotting layer.

📷 Vision-Based Relative Navigation Testbed Hardware-in-the-loop testbed pairing a 3D-printed analog body with a camera on an actuated stage for ground-truth pose. Landmark-based relative pose estimator fusing feature tracking with an EKF, benchmarked against ground truth for sensitivity to illumination angle and surface feature distribution.

🤖 Biomimetic Robotic Hand 3D-printed hand matching human joint articulation across all fingers and thumb. Custom DC motor controller designed from schematic through PCB layout, integrated potentiometer feedback with PID for position control, with USB/SPI comms and a vision-based pose estimation layer driving actuator setpoints.

🔧 Powder-Fed DED Nozzle — Tinker AFB Capstone Mechanical design lead on a nozzle for an Optomec directed-energy-deposition machine, targeting confined weld-repair access. MATLAB and ANSYS modeling of powder transport and thermal response drove the geometry; final design improved powder capture by 4.5% over the OEM reference in a smaller footprint.

🧗 Pipe-Climbing Robot 3rd of 25 teams in the OU Robotics Club competition. Wrote the embedded control software coordinating the climb and arm subsystems.


Toolbox

Languages Python C C++ C# MATLAB LaTeX

Scientific Computing NumPy SciPy Pandas TensorFlow Simulink

Design & Analysis SolidWorks Fusion 360 Ansys Altium Blender

Embedded & Tooling Arduino Git Unity

Domain Kalman filtering · nonlinear and adaptive control · orbital mechanics · state estimation · embedded systems


Seeking R&D and GNC engineering roles. EIT — FE Mechanical · ITAR eligible (U.S. citizen)

Pinned Loading

  1. Lab-Scale-Vision-Based-Relative-Navigation-Testbed Lab-Scale-Vision-Based-Relative-Navigation-Testbed Public

    Lab-scale hardware-in-the-loop testbed for relative navigation systems. Uses a Raspberry Pi (with camera module) to approximate spacecraft position and orientation relative to a 3D-printed asteroid…

    Python

  2. PyAsteroid PyAsteroid Public

    Procedural asteroid geometry generator using python. Implements the polyhedral gravity model and uses the photo-gravitational CR3BP to approximate the AEP.

    Python

  3. Pipe_Climbing_Robot_Competition Pipe_Climbing_Robot_Competition Public

    Robot created as part of a small interdisplinary team of engineering students for a robotics competition.

    Python

  4. Biomimetic-Human-Hand Biomimetic-Human-Hand Public

    A mostly 3D-printable 21-DOF biologically inspired robotic human hand prototype.

    G-code 3

  5. Procedural_Planet_Generator Procedural_Planet_Generator Public

    A tessellated procedural planet generator for the Unity game engine which utilizes the burst compiler, jobs system, and a quad-tree LOD system for increased efficiency.

    C# 1