I am a...

Roboticist, Tinkerer, Software Engineer, Researcher, Vintage Electronics Guru
Hero Image

Learn About Me

A Passion for Knowledge

Image

Professionally, I am an accomplished software engineer and roboticist with over six years of subject matter academic and professional experience. I am extremely flexible in capabilities according to project needs and have a documented willingness to quickly learn new tools, languages and processes on the fly. I am an expert in mixed kinematic systems and robotic simulation, and have built custom full-featured robotics simulation environments which can be used to analyze the activities of theoretical machines, providing useful information on feasibility to a researcher before initiating construction of a prototype.

I have proven experience in both leading low TRL R&D efforts and performing in flight hardware qualification with successful demonstrations and deliveries on time. I am proficient. in the implementation of automated solutions and processes, decreasing man-hour overhead.

I believe robotics lies at the perfect intersection of computer science, mechanical engineering, and electrical engineering. Consequently, I have driven myself to be capable in both disciplines not my own. I can and will use AutoCAD to design parts, use 3d printers and lasers to manufacture them, and then design the circuits and power systems that will bring them to life. Flexibility is the key to low TRL research, and knowledge of skill areas which are not my own primary focus make me an effective cross-disciplinary communicator.

Personally, I am a tinkerer. My desire to learn, and my passion for discovery are insatiable. It is not unusual for me to pick up a hobby simply so I can learn enough about it to consider myself accomplished in the field. I repair and restore classic arcade games with my wife. I enjoy working on my truck and going offroading, camping in the wilderness. I’ve learned how to build server systems and host my own applications. I build drones so I can FPV race, and attractive custom mechanical keyboards so I can feel fancy whilst coding the software which powers it all. There’s nothing which can’t be hacked, taken apart, investigated, and improved upon. It’s relaxing and fulfilling, and that’s what I desire from my workplace also.

What I do

Skills and Capabilities

Robotics Software

  • Skilled in Programming Languages including Python (NumPy, SciPy, ROS, etc), MATLAB/Simulink/Speedgoat, ASIST/STOL, C, C++, Java, Arduino, Julia
  • Expert regarding robotic kinematics, statics, dynamics, path planning and other concepts
  • Hardware Prototyping

  • Strong with 3D Printing, Laser and waterjet operation
  • Strong with soldering, circuit design, and debugging
  • Familiar with mechanical design and AutoCAD programs
  • Network Administration

  • Strong in server administration including various Linux distributions and BSD
  • Familiar with enterprise grade network configuration and architecture
  • Experienced in cloud software services and communications
  • Software Management

  • Strong in use of VCS such as git.
  • Familiar with Agile, Scrum, and other management methods.
  • Proponent of open source projects and software modularity.
  • Ground Support

  • Experienced in flight hardware qualification.
  • Designed V&V software for flight hardware systems.
  • Created automated result aggregation and support software.
  • Research

  • Multiple existing published works in the fields of space robotics and robotic kinematics and controls.
  • Proven experience in concept-to-demonstration robotic development.
  • My Resume

    Work Experience

    April 2023 - Present

    Software Lead for OSAM-1 Robotics Electronics Unit (REU)

    NASA Goddard Space Flight Center through Blackwatch International

  • Played a major role in the successful delivery of REU FLT #1.
  • Lead development of Comprehensive Performance Testing (CPT) software for REU, with a focus on automation, eliminating need for lengthy manual test plan execution.
  • Served as test director throughout the REU FLT#1 thermal vacuum campaign.
  • Constructed flexible telemetry parsing system and SQL database in support of CPT and post test analysis.
  • Created automated test report generation system capable of analyzing system failures, classifying results, and outputting to the desired acceptance format.
  • Became proficient in the use of NASA Goddard ground support tools such as ASIST/STOL.
  • Supervised and organized REU git repositories, maintained software group resources.
  • Lead weekly Software Status meetings and coordinated with project management.
  • Participated in REU FLT #1 failure review boards in capacity as software lead.
  • Aug 2018 - Dec 2022

    Robotics Researcher and Lab Manager

    FASER Lab at Virginia Tech

  • Designed general purpose robotics python library for serial and parallel mechanisms (Basic-Robotics).
  • Designed kinematic and optimization software for highly parallel and mixed kinematic robotic systems.
  • Led design of electronics and control systems for FASERLab’s FORCE 4m Large Scale Manipulator.
  • Researched collaborative assembly, including conducting assembly trials in simulation.
  • Utilized low-cost hardware to provide a high fidelity metrology system for robotic tracking.
  • Led laboratory fabrication, mentored senior design, and handled visitor presentations.
  • Handled acquisition, inventory, and access control for the laboratory space.
  • May 2021 - Aug 2022

    Robotics Software Contractor

    MAXAR Space Robotics

  • Designed workspace and manipulability analysis tools for generalized robotic manipulators.
  • Worked on hardware-level control software for novel robots.
  • Designed gravity offloading algorithm for support of OSAM-1 Robotic arm testing.
  • Designed safety and control algorithms for critical path space flight robotics.
  • May 2020 - Aug 2020

    PPE Design and Manufacturing

    TREC Lab at Virginia Tech

  • Rapidly designed, prototyped, and deployed 3D printed PPE systems (face shields, aerosol shields, and other PPE) for use in response to the COVID-19 pandemic.
  • Coordinated mass community manufacturing of infection control approved PPE designs.
  • Additionally constructed and managed TREC Lab server/network infrastructure.
  • Jun 2019 - Aug 2019

    Robotic Software Systems Intern

    NASA Langley Research Center

  • Created prototype electronics and software for small scale lunar manipulator systems.
  • Linked existing robotic systems with overarching NASA Langley ROS pipeline.
  • Enabled and worked with a team to perform a demonstration of lunar payload deployment using a pair of robots.
  • Mentored a Summer Residential Governor's School intern in robotics, and taught Python and Electronics.
  • Aug 2017 - Aug 2018

    Robotic Controls and Assembly Intern

    NASA Langley Research Center

  • Lead software development effort on the CIRAS robotic truss assembly project, delivering a successful demo on time.
  • Created a central robotic command and control program, coordinating the actions of a team of robots.
  • Utilized real-time Speedgoat systems and Simulink to implement specialized hexapod kinematics and control hardware.
  • Designed and built hardware concepts for modular genderless robotic connection.
  • Created forward and inverse kinematic software for serialized parallel manipulators.
  • Jun 2016 - Aug 2016

    Stem Takes Flight Student Researcher

    NASA Langley Research Center

  • Tested and evaluated 3D Printing systems for onsite manufacturing
  • Constructed an autonomous rover for GPS system evaluation
  • Worked on a system by which COTS UAS systems could be autonomously flown
  • My Resume

    Education

    Aug 2020 - Current

    Masters of Computer Science

    FASER Lab at Virginia Tech

  • Research focus on optimization of highly overactuated parallel robotic systems.
  • GPA 3.73
  • Aug 2018 - May 2020

    Bachelors of Computer Science

    Virginia Tech College of Engineering

  • Obtained minor in mathematics
  • Graduated Magna Cum Laude
  • GPA 3.65
  • May 2015 - Dec 2017

    Associates of Sciences in Electrical Engineering

    Germanna Community College

  • GPA 3.286
  • My Portfolio

    Hobbies and Projects

    • All
    • Robotics
    • Software
    • Arcade
    • Home Lab
    • Other
    Image

    Toyota FJ Cruiser

    Image

    Basic Robotics

    Image

    Seeburg KD200

    Image

    LSMS

    Image

    CIRAS

    Image

    SP Stacks

    Image

    Home Lab

    Image

    LSMS Gantry

    Image

    Face Shields

    Image

    Drone Fleet

    Image

    OSAM-1

    Image

    Hexapod

    Joanie Jukebox

    Project Details

    Seeburg KD200 "Joanie"

    Joanie is a Seeburg KD200 Jukebox* which was given from my Dad to my Mom as his wedding present to her. Throughout my whole childhood, it had been positioned near the kitchen, where it would play whilst we cooked or ate.

    Over the years, Joanie wore down from constant use, requiring visits from various jukebox repairmen. I learned from watching them the basics of how they would work on the machine, even though they all hated it, due to Joanie's unique* nature.

    Finally in 2018, Joanie shut down for good, no longer able to make record selections, or push music through its amplifer and speakers. It sat in my Mom's kitchen until 2022, when she gave it to me so that I could begin the process of repairing it.

    To replace Joanie's position in her life, her fiance has given her a Seeburg 100G named "Genie" which now sits where Joanie once sat.

    As of now, Joanie is working, and playing again in my and my Fiance's home.

    *Joanie actually only looks like a KD200 on the outside. One of the things that made Joanie such a particularly difficult jukebox to work on is that the internals (selector and amplifier) come from a seeburg 100Q, and the wiring for Joanie was modified to fit these new additions. Why these elements are used can only be guessed at. My guess is that whoever did that conversion wanted to move away from the failure-prone circuit-board based units that existed in a stock KD200. Oh the irony.

    Image

    Seeburg KD200 Mechanism

    The mechanism is the part of the jukebox which loads records and inserts them for play. Joanie's mechanism had not been lubricated in years, and had tarnished and defective contact blocks which needed to be burnished.

    Image

    Seeburg MRA1-L5 Amplifier

    The amplifer takes the signal from the phonograph and plays it through the speakers. The MRA1-L5 amplifier does not have any circuit boards and is entirely tube based. The left image is a cleaned version of the Amp.

    Image

    The Interior of Joanie

    Joanie's status as a 'custom' jukebox means that it also contains custom cables. Figuring out what goes where, and what parts match any given wiring diagram has been an absolute nightmare.

    Image

    Seeburg TUS1 Selector

    The selector unit shown here was the root of many of Joanie's issues, as it needed new capacitors due to some seemingly having exploded (can you spot one?). Additionally, the Tormat memory unit was heavily corroded and needed burnishing.

    SAARTC Multiple

    Project Details

    Basic Robotics

    Basic Robotics is a python package I've developed over my time at Virginia Tech, and through needs and wants encountered in various projects I worked on or supported indirectly. Almost all of my research in robotics has been incorporated in this package or used it in some way.

    Some key features include

    • Powerful transformation library including screw theory derived classes
    • Kinematics and Dynamics for Serial and Parallel Mechanisms
    • Generalized robot definitions and class based structures allowing for mixed systems and collaborative robotics
    • Workspace analysis for serial robots
    • Communictions support over Serial, UDP, TCP, ROS1/2, and OPCUA
    • Metrology functionality such as virtual camera systems
    • Advanced logging capabilities
    • Matplotlib and 3JS based visualizers
    • Collision Detection and Path Planning support

    Basic-Robotics (and the optional) Basic-Robotics-Workspace package can be found on my Github or downloaded directly from pip, with qucikstart examples built in.

    =
    Image

    Trajectory Planning

    A generalized form of RRT* is built into the Basic Robotics package, which allows loading of user-specified robots, obstacles, objective functions, and point generation functions. The setup of the code allows for additional path planning algorithms to be hooked in in the future.

    Image

    Metrology

    What good is robotics without a metrology system? The Basic Robotics system allows for simulating cameras in either single camera or multiple camera modes, outputing calculated position data for known objects.

    Image

    Workspace Analysis

    Making use of algorithms such as Moller-Trumbore and Alpha-Shape generation, Basic Robotics Workspace is able to deliver extremely quick rough estimates of robot manipulability capabilities, sometimes within just seconds.

    Image

    Simple Visualization

    Basic Robotics is equipped with two different visualizers, a matplotlib based wireframe visualizer for quick debugging, and a 3JS server based visualizer for polished simulation video.

    ImageAltText

    Project Details

    2008 Toyota FJ Cruiser "Fred Johnson"

    In the midst of the pandemic, my old toyota RAV4 began to die, so I started looking for a replacement. Living in the mountains of Southwest Virginia, I wanted an offroad capable vehicle. Specifically, one with a manual transmission. Jeeps didn't interest me due to their reliability issues, so the hunt for a Toyota was on.

    I found this FJ at a dealership in New Jersey. It had previously lived its life in Florida, so frame rust was minimal, and it had a sunroof put in, which was an interesting mod that came stock on exactly zero FJs.

    I named the FJ 'Fred Johnson' as a alternate bacronym of the FJ name, and also because I'm a big Fan of the Expanse. In the grille of the FJ, waterjet OPA logos can be seen, and the rear window has a large 'OPAS FRED JOHNSON' sticker.

    Since getting Fred, it's been on numerous adventures, and I continue modifying it and hacking it to turn it into some kind of offroad batmobile.

    =
    Image1

    Underbody Camera System

    Inspired by the Hummer EV's camera system, I decided to build my own, using a monitor attached to the driver's sunvisor and four waterproof cameras. One behind each front wheel, one on the front bumper, and one facing the two rear wheels.

    Image2

    Night Lights

    The other purpose of Fred is to be able to get through any sort of weather and adverse conditions. With front and rear spotlights and floodlights, it can get through heavy rain, snow, and fog, and navigate safely off-road at night.

    Image3

    Thermal Vision!

    Just for fun, my friend and I welded an old thermal camera inside the front grille of the FJ. The thermal system is excellent for spotting wildlife in the dark, or seeing through poor weather.

    snorkel

    Almost Amphibious

    In an effort to beef up Fred's versatility, I used fuel line to route all of Fred's case breathers to the top of the hood, and installed a snorkel for the intake. Along with the suspension lift I added, Fred can traverse very deep water.

    ImageAltText

    Project Details

    CIRAS

    CIRAS, or Commercial Infrastructure for Robotic Assembly and Servicing was a project I worked on at NASA Langley during my longest internship there, in 2017/2018.

    The objective of CIRAS was to design as system wherein a team of robots could assemble a truss structure from base components, of theoretically infinite length. For the purposes of our demonstration, this length was set to be two one meter square bay truss sections.

    The overall system consisted of two robotic subsystems comprised of four independently controlled sub-robots. The LSMS, or Lightweight Surface Manipulation System, served as the LRM (Long reach manipulator). Attached to the end effector of LSMS was SAMURAI, or Strut Assembly, Manufacturing, Utility & Robotic AId, which handled the struts themselves. The second system consisted of NINJAR (NASA Intelligent Jigging and Assembly Robot), a stewart platform type robot, which served as the truss jig. NINJAR sat atop a separately controlled turntable which allowed LSMS to access any face of NINJAR.

    My role in the CIRAS demonstration was to design the software which allowed the robots to interact together. I wrote control software for each robot, the central control software which coordinated them, trained the operations by running them in 'joystick mode,' and oversaw a successful demonstration of truss assembly by the robotic team.

    =
    Image1

    End Result

    The final stage of the assembly demonstration was to lift the completed truss so that NINJAR gripped only the bottom bay of the truss, as if it were going to build additional bays. LSMS accomplished this using a hook underneath SAMURAI.

    Image2

    Strut Insertion

    Placing a strut into the truss required precise coordination between NINJAR and LSMS/SAMURAI. NINJAR needed to be properly aligned with the legs retracted enough to receive the incoming strut, with SAMURAI approaching from a precise angle.

    Image3

    Metrology

    Collaborative autonomy was made possible using a Vicon metrology system which allowed the control computer to know the real states of all joints of all robots, and could compare against training data. Shown are NINJAR's reflective markers.

    Image4

    LSMS

    The original NASA Langley LSMS was an integral part of the CIRAS assembly puzzle. Its capability for long reach made it possible to retrieve struts from a storage location and transport them to NINJAR for integration.

    ImageAltText

    Project Details

    Stewart Platform Stacks

    Stewart platforms (SPs) possess immense strength and stability when compared to serial arms, at the cost of having very limited workspace. In order to overcome this shortfall, stacking stewart platforms can yield a robot with the strength inherited from stewart platforms and the workspace potential of a serial mechanism. The drawback to this paradigm is that the resulting robot is vastly overactuated, and control is therefore complicated. However, this vast overactuation leads to redundancy in the system, which is a major advantage for extraplanetary exploration.

    The first stacked stewart platform robot I'm aware of is the Logobex LX4, but my introduction to the concept came with ASSEMBLERS. ASSEMBLERS... the acronym has been lost to time as the program took on an identity of its own. It describes a system of lower cost, modular robots, which can collaborate together to, well, assemble. Neat.

    ASSEMBLERS was conceptualized and started by Dr. Erik Komendera as an ECI program at NASA Langley Research Center, and was later continued by Jim Neilan when Dr. Komendera left for Virginia Tech. The primary demonstration objective was initially to have a group of these robots work together to construct a habitat for use on the moon. It was also conceptualized that they could link together to form robots with other kinematic topologies, such as a hexapod walker. I wrote software to model this.

    While an intern at NASA Langley, I developed software to better control the prototype robots, allowing for any number to be stacked and controlled as a single unit. I also worked with Samantha Glassner, my future wife, who designed the hardware of the robots, including the original electrical systems. Her expertise in mechanical design made the system possible, and her revisions of the basic design are still used in FASER lab today.

    =
    Image1

    Circuit Evolution

    In an effort to clean up the wiring somewhat, I created a stacked control board which allowed for replacement of socketed components. In hindsight, I should have had these fabricated, but somehow these premaproto boards endure.

    Image2

    Pretzels

    You'd think a SP would have one configuration for each set of leg lengths. Not so. In unfortunate circumstances, a SP can 'pretzel.' This is 'technically' a valid position, but not possible for the platform to self recover.

    Image3

    Load Testing

    To support my masters thesis research, we created a SP variant with load cells built into the legs. Shown is testing it with masses applied to the top plate to determine the accuracy of my software model.

    Image4

    Optimization of Stacked SPs

    Part of my Masters research is to determine configurations for stacked SPs which minimize the maximum stress on any actuator given an end effector payload. Optimized is shown on the left, vesus the system on the right.

    ImageAltText

    Project Details

    LSMS

    LSMS or the Lightweight Surface Manipulation System is an initiative which was developed by NASA Langley Research center to create a tendon-actuated long reach manipulator for use on the lunar or martian surface. The technology that enabled LSMS is closely related to TALISMAN, also developed at NASA Langley.

    When I joined NASA Langley to work on the CIRAS project, LSMS was to serve as the project's long reach manipulator. My role was to enable this. I worked on the original LSMS software to create new capabilities for ease of control, and enabled local control using joint encoders on the system itself, so it wasn't as dependent on the lab metrology system.

    In a later internship, I returned to my LSMS work, and created a more modern, modular variant of the LSMS software which was also compatible with the Robot Operating System (ROS).

    During my time at FASER Lab, we've created a slightly changed version of the LSMS, led by FASER students Jacob Martin and Dominic Bisio. My role again, was software, creating the control software for this new arm, so that it could be hand driven, or driven autonomously.

    That is me on the left, controlling the arm. I also designed the electronics system which controls the arm.

    =
    Image1

    FORCE Modeling

    FORCE is my go-to for testing any new robotic capabilities, especially in Basic-Robotics. Shown is FORCE navigating a complex environment utilizing collision detection and RRT.

    Image2

    Modular Circuitry

    Shown are the new sensor modules I created for FORCE which auto-create an API, along with expandability ports for any type of analogue sensor. These are positioned throughout the arm to get sufficient data coverage.

    ImageAltText

    Project Details

    Home Lab, Or The Quest to Host Everything

    Self Hosting and open source softwares have long fascinated me.

    I got my start in High School with a modifiable open source discord bot named Red. I quickly programmed Red to function as my personal assistant and monitor for an old laptop of mine which I dubbed 'the server.' Creative, I know. My instance of Red was renamed 'Speedwagon' as from JoJo's Bizarre adventure, which started a tradition of all my servers having JoJo related hostnames. Speedwagon's primary function was maintaining game servers for my friends and I. Messaging it could result in game servers being launched, or shut down, and Speedwagon would watch resources and shut things down for inactivity.

    As time went on, my needs and capabilities evolved. I discovered I could get surplus enterprise grade hardware cheap second hand, and created a 10gb fiber network for myself, and expanded to having a full server rack. Some of the services I host there consist of Github, Dokuwiki, Home Assistant, Portainer/Docker, Speedwagon (of course), an inventory management system of my own design, various game servers for my friends, a reverse proxy, photo management solution, etc.

    My current configuration consists of the following servers:

  • Jotaro - The gateway server, also hosts linux applications.
  • Joestar - The game server, running windows, also hosts Speedwagon (discord bot)'s current evolution.
  • Zeppeli - Solely responsible for home automation and home assistant.
  • Diavolo - Rarely used, a power hungry brute computational power server, running ubuntu.
  • Speedwagon (server) - The TrueNAS box which hosts application data for the other machines accessible over fiber.
  • Oh how I would love to install solar panels.

    =
    Image1

    Home Automation

    Home Assistant is at the core of our house. It controls our climate, monitors our power, and is connected to all our services and servers.

    It can control our arcade machines, select which to play, make coffee in the morning, and even provide home security.

    Image2

    Speedwagon!

    Speedwagon, my first server program, persists on, running our group game servers and functioning in a personal assistant capacity.

    I also made a spinoff of Speedwagon for my lab, which assists with filling out procurement forms, lab use monitoring, and other features.

    Image3

    Rack Details

    My current iteration of my server rack is primarily powered by Dell (R series and EMC), HP, and Mikrotik, though I am increasingly switching to unifi solutions. For now, mikrotik provides for backend fiber connectivity, and routing is done by a USG Pro 4

    Image4

    Future Plans

    In the future, I hope to move my rack's hardware to more modern, more power efficient component equivalents. I'd like to move all of my networking equipment to Unifi solutions for convenience, but I have to wait for those to show up on the used market :)

    ImageAltText

    Project Details

    Face Shields

    At the start of the pandemic, we were all banished to our homes, to ride out the quarantine. I, being a maker, had a number of 3D printers in my small apartment, and I knew my lab also had a number of them which were no longer being used.

    In an effort to do something positive for them, I asked that I could borrow the printers in order to manufacture PPE, such as face shields, for the hospitals in the area.

    The effort ultimately morphed from simply providing prusa-designed printing designs from my lab's printers out of my apartment to something much larger. A university effort was formed to produce shields, with help requested from the community. I was at the forefront of the effort, coordinating shield donations, manufacturing the laser cut components, and designing new shield variations. At the peak of production, there were 13 printers in my small 600sqft apartment, most of which owned by the university, all producing shields 24 hours per day.

    As the project went on, I began to design new variants of the shields in keeping with design requests from local hospitals, and worked with Virginia Tech's TREC Lab in designing, manufacturing, and research. The effort included many people at virginia tech, and several departments working in tandem.

    At the close of the project, we, the greater blacksburg community, had manufactured several thousand face shields, which were distributed to various institutions in the local area.

    =
    Image1

    The Prototype Stage

    The first step in the project was building just about every singe open source design I could find, and we took them to various medical professionals to get feedback on useability that we would use in later iterations.

    Image2

    The Basic Shield

    The first design we mas produced was very similar to the PRUSA open source shield, and was based on it. We modified it for enhanced comfort, and for larger shield pieces which we laser cut 40 at a time, in our lab.

    Image3

    Additional Protection

    To provide increased protection to the wearer, we modified the design for the laser-cut front shield so that it could be folded and tabbed in to provide better above-eye protection. The shield headband was cut down and made lighter for longer wearing.

    Image4

    The Final Version

    Design never stopped as the project continued. Toward the end of the project, I created a version of the shield which could be flipped up, and featured size customizability for an individual user. Unfortunately, it never entered mass production by the community as demand for shields fell.

    ImageAltText

    Project Details

    LSMS Gantry

    LSMS Gantry is a system wherein the LSMS would be used as a type of 3D printer, large enough to print whole habitats on an extraterrestial surface.

    I conceptualized the project as an arc polar coordinate 3D printer. The primary problem with arc polar printers is that the further away they get from their axis of rotation, the less accurate their prints get. At the scale of the LSMS, this had the potential to be a major problem.

    My solution to this problem was to undersling a stewart platform to the LSMS's forearm, on a sliding gantry. This stewart platform would have the capability to compensate for the LSMS's loss of accuracy at greater distances from its axis of rotation, and also to perform dextrous manipulation tasks, serving as an end effector.

    Combining the stewart platform with the LSMS yielded a form of a mixed kinematic system, which would normally mean more difficult kinematics, but due to the planar nature of the LSMS and assumptions made about the stewart platform's movement during normal operations, both the forward and inverse kinematics of the 10 DOF system can be described in closed form.

    During the 2020-2021 school year, I had a group of senior design students build a physical prototype of the gantry system, and I've also published a workshop paper on the concept.

    =
    Image1

    Gantry Prototype

    This is the prototype gantry system created by my senior design students, which is slung under the LSMS's forearm link, detached for testing.

    Image2

    Range of Motion

    The presence of the gantry increases the overal range of motion of the LSMS, and decreases the amount of motion required from the LSMS's main motors, when using the gantry to print. Here's a vide of a simulated LSMS printing a habitat.

    ImageAltText

    Project Details

    OSAM-1

    OSAM-1 stands for On-orbit Servicing, Assembly, and Manufacturing 1. I worked on OSAM-1 both at MAXAR in Westminster CO, and at NASA Goddard in Greenbelt MD.

    The primary goal of OSAM-1 is to refuel Landsat 7, a spacecraft which was never designed to be refueled. OSAM-1 was to accomplish this using a large 7DOF robotic arm, which would cut into the spacecraft, allowing access to the fuel tank, and performing the complex action of attaching to and providing fuel.

    The scondary goal of OSAM-1 was to utilize a second robotic arm, known as Spider, to assemble a telecommunications dish while in orbit.

    My work on OSAM has spanned between working on the problems of robotic manipulation itself, to being involved in the flight hardware qualification for the robot electronics unit (REU) whilst at NASA Goddard.

    =

    Robot Electronics Unit (REU)

    The REU is the driver of the robotic arm, the intermediary between spacecraft control and the arm actuators.

    During my time at NASA Goddard, I worked on developing GSE to control the REU, and developing tests to verify its functionality.

    Gravity Offloading

    During my time at MAXAR, I developed a gravity offloading algorith, which provides the tensions of cables which are used to support the arm in a 1G environment. This software mirrors the kinematic state of the real arm and optimizes to minimize forces on the arm.

    Analysis

    Characterizing the performance of a Robot is a heavy task. I developed software which ingests the raw data from the REU and transforms it automatically into reports meeting the required documentation specification.

    Flight Test

    In my capacity as REU Software Lead, I supervised testing on the REU during TVAC, serving as test director. I also participated in FRBs as needed, providing input from a software perspective.

    ImageAltText

    Project Details

    The Drone Fleet

    When I was in high school, I became interested in drones. The first drone I built was a Lynxmotion Hunter V-Tail 500. I figured, go big or go home. I wanted a challenge for my first build. A challenge I did get. I can't say how many times I crashed it while learning to fly it in acro mode, but each time I did, I rebuilt it. I'd like to say 'better than before' but that wasn't always the case.

    From the V-Tail I branched out to racing quadcopters, especially FPV drones, and joined the Virginia Tech drone racing team. I particularly enjoyed freestyle flight, performing various tricks with the more high powered of my quadcopters, such as these. I did eventually get good enough that I could pull those off with my trusty old V-Tail without breaking it. or even with micro sized quadcopters inside a home.

    Going back to 'big' I also built a 7' wingspan RC plane for autonomous operations (shared with some of my drones), and some larger quadcopters which I used in hackathons, such as one pictured below, which I configured as a flying intermittent mesh network with a 'carrier pidgeon' messaging system which earned me a top prize at William and Mary's Cypherhacks hackathon.

    Now, nearly 10 years on from the start of this journey, I'm proud to report that the V-Tail still works, and is better than ever.

    =
    Image1

    The Trusty V-TAIL

    My first drone, it's gone under many upgrades over the years, including adding a thermal camera, GPS autonomy, support for higher voltage batteries, and better lighting. Still chugging along.

    Image2

    The Collection

    At my peak I had 13 drones of varying sizes in working order. The largest quadcopter would be my 650mm reptile, and the smallest my tiny whoop, pictured above. Most of that number are race quads.

    Image3

    Crashed!

    Crashes happen. I smashed this drone from 200 feet straight into pavement. My Vortex 285. Luckily, I have the technology, and I rebuilt it. Flies like new still.

    Image4

    The Flying Server

    This was a hackathon project based on my reptile 650, a raspberry pi served as a webserver, and the drone would move between gps waypoints and loiter, allowing connections and upload and download of data.

    ImageAltText

    Project Details

    The Hexapod

    Another one of my research platforms that had its origins in high school/early community college, I got this Trossen phantom hexapod prototype off of ebay directly from Trossen. It came with the original Arbotix microcontroller with XBEE remote interface. It ran only their existing gait software.

    The first thing I did with it was change the gait software to run a port of Zenta's Phoenix code. This dramatically imroved the gaits available to me to use.

    Next I tried my hand at creating custom PC-based control software in python by creating a version of the Trossen commander application which I could run with an xbox controller. This interface is what I used in all my later projects with the robot.

    I've used the hexapod as a development platform in several hackathons, but my best achievement with it was creating it to be a search/recovery robot, using OpenCV, onboard lighting, and various ultrasonic sensors. The objective was that it was supposed to navigate an environment, exploring exhaustively, until it located a human face, at which point it would report back through the control interface. This won me the wolfram ingenuity prize at Hack Duke.

    =
    Image1

    Search Configuration

    This is the configuration used at Hack Duke, complete with an onboard raspberry pi handling navigation and communicationg back to the home server over radio.

    Image2

    Navigation Stack

    Using two ultrasonic sensors at an angle from one another, and a webcam equipped with OpenCV, the hexapod is able to navigate an environment, and track objects of interest.

    ImageAltText

    Project Details

    PROJECTTITLE

    Text here

    =
    Image1

    Image1Description

    Text Here

    Image2

    Image2Description

    Text Here

    Image3

    Image3Description

    Text Here

    Image4

    Image4Description

    Text Here