The Aerospace Corporation

My 4 years and counting as a robotics engineer at the Aerospace Corporation

ISAM, RPO, and SM&L mission operations all involve close-proximity (1-10 meter) satellite maneuvers, which require high precision and autonomous control because no one wants to break satellites and ground control suffers from telemetry delays. In the space industry, there is currently a large market to apply AI, ML, RL, Computer Vision, and other modern software technologies to these problems. However, the industry is slow to adopt them due to their potentially unpredictable behavior. My work in the CAVE Lab has furthered almost every aspect of our ability to test these software and hardware tools on the ground before sending them into space, which has a plethora of benefits for companies and researchers hoping to fly vehicles in the aforementioned mission areas.

New Skills

As an engineer that never stopped trying to drink out of the firehose, I have gained quite an interesting assortment of new skills since graduating that I would not have envisioned myself ever working with:

  • Linux Server Administration
  • Network Administration and Security
  • Proposal and Technical Report Writing
  • Kubernetes and Docker Development
  • Programming in Rust
  • Project and Lab Management
  • Rapid Prototyping
  • Addiditive Manufacturing

I also got to spend time honing skills that I learned in college:

  • Robotics Simulation Tools
  • Programming in Python
  • Version Control and Collaborative Development
  • The Robotics Operating System
    (ROS, ROS2)
  • Control Algorithms
  • Path Planning
  • AI, ML, RL
  • Sensor Integration

Projects

Working in a controlled information environment doesn't allow me to share many details of my work, but I am able to talk about some of the technologies I've been able to explore during my time at Aerospace.
The following material has been cleared for public release by the Aerospace Corporation.

ARUCO marker on our custom mock satellite design

Fiducial Markers

Fiducial markers - similar to the QR codes you scan at restaurants - are excellent tools for pose estimation. They have gained popularity in the space industry for proximity operations due to their low size, weight, and power (SWaP), as well as their ease of use (all you have to do is slap it on the side of your spacecraft!). There are many different types these markers for computer vision (e.g. ARUCO, AprilTag, STag), and in the CAVE we work on characterizing their performance in different lighting conditions, relative distances and angles. I also have done many demonstrations using them for closed-loop tracking and rendezvous control with astrodynamics simulations governing relative satellite motion.

Bevy Rapier3D Plugin

Real-Time Collision Detection

Using the Rapier3D Rust-based physics engine, and the Bevy Plugin, I was able to design a software tool for our CAVE Lab that works to calculate collisions between our custom robot hardware. I'm currently embedding the code in a ROS2 Rust Client, where I can feed in robot state data real-time to run collision detection and safety procedures in the loop with hardware experiments.

Vicon Motion Capture markers on our satellites

Vicon Motion Capture

In the CAVE, we use motion capture systems to track our mock-satellites' pose as accurately as possible. These shiny spheres on the satellite are highly reflective in the infrared spectrum, which allow our system of Vicon cameras to track them with sub-milimeter precision. This data allows us to validate and verify our controllers, path-planning algorithms, pose-estimation models, etc. I work with Vicon every day in the lab, it is an integral part of our process.

Vicon Motion Capture markers on our satellites

Basilisk Astrodynamics Simulation

The Basilisk Astrodynamics simulation (Courtesy of CU Boulder's AVSLab) is our primary simulation in the loop for emulating 6 degree of freedom satellite motion. We have leveraged this open source software with a ROS software bridge to enable direct communication between the simulation and our robotics capabilities. Basilisk also has high fidelity payload models, its own visualization capabilities in Unity, and the capability to easily integrate custom modules into their simulation framework. My teammates and I are constantly working with and adding to this code base.

Multivariate gaussian

Gaussian Process Modeling

In a patent-pending effort called Betternet, I've been working with the algorithms team to apply Gaussian Process Modeling (GPM) to analyze the expected effectiveness of AI/ML models for a given input. This is particularly useful when trying to use AI-driven autonomous agents in real time control scenarios. I am also leading the effort to test this watchdog in the loop robotics control for an AI model that calculates joint angles for a given end-effector pose. I helped train the model, and I integrated it into our ROS architecture for testing in both simulation and hardware.

Working on Slingshot Satellite payload in the CAVE Lab

Flight hardware in the Aerospace Corporation's CAVE Lab

Working on a wide variety of hardware and software platforms in the lab has been a core part of my experience at Aerospace. A unique experience I gained, depicted on the left, has been closing the loop of robotic motion with flight-like hardware. Using Attitude Control Boards (ACBs) or computer vision payloads from the Aerospace Corporations cubesat missions has been an eye opening experience in understanding the rigorous V&V needed of flight-ready system.

Running CV tests with on-board Jetson SBC

Developing Control Solutions for Overactuated Mobile Manipulator

The robotic platform shown here is the latest hardware aquisition of the CAVE Lab's Neutral Buoyancy Testbed. As demand for our lab increases, so does the size of the workspace in which we need our robots to operate in. I am leading an effort to develop novel control algorithms to enable these mobile manipulators with their mounted custom mock-satellites to emulate multi-vehicle mission scenarios operating up to the 10 meter relative distance range.

Running CV tests with on-board Jetson SBC

Server and Network Administration

In the CAVE Lab, I stood up the core linux server and network capabilities that enable users to develop, test, and simulate robotics software both in-person and remote. Setting up services like VNC, which allow developers to have a GUI of our lab servers as if they were signed in to the machine itself, or NIS/NFS, which serve to make user data shared across all our lab devices for easy deployment and distributed computing, have been a consistent, underlying effort during my time at Aerospace.

Running CV tests with on-board Jetson SBC

Applied Reinforcement Learning

At aerospace, I have used reinforcement learning for all kinds of solutions. Object tracking, rendezvous control, and autonomous mission managers have been some of my favorite applications of RL during my time here. Both the object tracking and rendezvous control agents ended up being deployed to hardware. This involved wrapping pre-trained RL agents into the ROS architecture, using ROS topics to communicate observations to the agent and ROS Action Servers to translate agent commands to robot motion.

More details to come!