Me

Here's my resume!

M.S.E. Mechanical Engineering - May 2022
Controls Concentration
University of Michigan - Ann Arbor

M.S. Electrical & Computer Engineering - May 2022
Signal/Image Processing & Machine Learning Emphasis
University of Michigan - Ann Arbor

B.S. Mechanical Engineering - June 2020
Santa Clara University

  I graduated in May 2022 from the University of Michigan at Ann Arbor with a M.S.E. in Mechanical Engineering (Controls) and a M.S. in Electrical and Computer Engineering (Signal and Image Processing & Machine Learning).
  My main skills and coursework have revolved around Machine Learning and Computer Vision as well as advanced Control Theory and Mechatronics. My most comfortable programming languages are Python, MATLAB/Simulink, and C++. Some other languages I'm familiar with are Julia as well as Ladder Logic for PLC and HMI programming on Siemens PLCs.
  Check out some of the places I've worked before here.

Relevant Coursework

Mechatronic Systems Design
  Through this course I'm gaining exposure to mathematical modeling, design, and simulation of electromechanical systems. Main technologies used are MATLAB/Simulink for data analysis and simulations and LabVIEW to implement control systems on a microcontroller. Mechatronic systems include a magnetic levitation of an iron ball and an inverted pendulum.

Linear Feedback Control Systems
  A review of classical controls and loopshaping. Then a deep dive into modern controls such as SISO/MIMO robustness and stability margins, Kalman Filtering, Linear Quadratic Regulator, and Linear Quadratic Gaussian.

Machine Learning
  A first course into Machine Learning including supervised and unsupervised machine learning and basics in deep learning. Topics include Bayes classifier, linear regression, logistic regression, support vector machines, random forests, multilayer perceptron, CNN, PCA, K-means, spectral clustering, and deep learning.
  My final project in this course was an implementation of Sparse Identification of Nonlinear Dynamics (SINDy). The algorithm uses sparse regression to aid in identifying dominant dynamics in complex systems. My implementation in Python was capable of identifying the correct dynamics of a simple pendulum and Lorenz Attractor, even in the presence of noisy data.

Computer Vision
  An introduction to the basics of Computer Vision. Topics included visual invariance, reduction problems (feature extraction, segmentation and grouping), estimation problems (line/curve fitting, pose estimation, camera calibration), and matching problems (stereo correspondence, image stitching, image registration).
  My final project used various computer vision techniques to identify rotten vs fresh oranges, apples and bananas. Firstly, a blob detection method was used to identify patches of rot and the averaged RGB value of the identified rot patch was fed into a multi-layered perceptron. This method yielded a 90% success rate. Secondly, Felzenszwalb segmentation distinguished rotten patches and the segmentation map was ced into a CNN. This method yielded a 80% success rate.

Work

  • Blue Origin - New Grad Rotation Engineer - GNC Track
  • July 2022 - Current
       I joined Blue Origin in July 2022 as a New Grad Rotation Engineer in the GN&C track for my first full-time position. In this program, rotation engineers rotate through 3 of the various business units at Blue Origin over the course of a year. My three rotations are through Advanced Development Programs, New Shepard, and New Glenn.
       In ADP, I worked as a Guidance and Controls engineer, architecting the Attitude Control System via RCS thrusters. Can't say much about this project, but the project was super early in devleopment and this allowed me to learn how to be scrappy and work under pressure as a young engineer.
       In New Shepard, I worked to improve and verify landing performance of the CC via Monte Carlo Simulations. My focus was ensuring landing performance in the presence of terrain changes and vegetation. I used publicicly available USGS data to generate terrain and vegetation models in Simulink.
       For my current rotation through New Glenn, I am working on writing flight code in C++ for stage 2.

  • SpaceX - Starship Automation and Controls Associate Engineer
  • May 2021 to August 2021.
      During my time at SpaceX as an Automation and Controls Engineer, I gained hands-on experience with automation hardware and software. I learned how to use Ladder Logic to program Siemens PLCs to perform automated tests and manufacturing processes. I also learned how to use ePLAN for drawing electrical cabinet schematics to accomodate high power (480V), low power (24V), sensing, and actuating devices.
      One example is an upgrade to the laser cut and weld stations for stainless steel barrels. For this upgrade, I swapped out an electric motor for a hydraulic actuator and applied the necessary changes to the software and hardware in the electrical cabinet. I also began ePLAN and Ladder Logic code work for an automated nose cone load proofing station before being pulled onto another project.
      Another project of mine was a test-bench for closed-loop position control for a hydraulic piston via servo-valve actuation. The goal here was to push the limits of the hydraulic actuator in how fast and accurate it can track dynamic reference points. I stripped down Siemens' Hydraulic Axis control code for hydraulic systems to learn what was going on in the background in an effort to reduce extraneous code. I was successful in doing so and began data cleaning and data analysis using Python. Before I could finish characterizing the dynamics of the system, I was pulled onto managing the cable conduit schedule that I talk about below.
      Other than PLC and Ladder Logic projects, I also helped the Automation and Controls team create simple CAD in Siemens NX for various projects and sent them to the in-house manufacturing team or third party manufacturers. One example was a vibration isolating mount using horizontal bolt-down wire isolators. These mounts were created for the PLCs on the launch tower and were designed and tested to survive a full 29-engine rocket launch and landing. I was successful in reducing the estimated 6 g's of acceleration to 2 g's with my mounts.
      My greatest accomplishment is creating the cable conduit schedule for carriage and catch-arms on the new launch/integration tower. The biggest challenge here was managing the ~200 devices belonging to various teams. I was tasked with finding the connectors, high temperature rated cables, and figuring out the best way to route these cables from the devices back to the PLCs. This was a monumental task as it required superb organizational skills while understanding the technical requirements of each sub-system on the launch tower. From the videos on YouTube, it looks like SpaceX is using my plans for device installation!

  • Agilent - R&D Mechanical Engineering Intern
  • June 2019 to September 2020.
      As a Mechanical Engineering Intern at Agilent, I started off performing typical Mechanical Engineering related tasks. I assembled critical electrospray source hardware for testing on the Liquid Chromatography/Mass Spectrometry devices. I also designed testing fixtures in Siemens NX and sent them to the in-house manufacturing team.
      Towards the middle of my internship, I asked to be put on a project involving PID control of a Silicon Nitride heating element. Prior to this project, I had no experience with any controls, but was excited to learn. The goal of this project was to raise the temperature of the heating element to a set temperature via pulse width modulation to heat stress test the ion source electrospray housing.
      The main challenge was the fact that the heater had the capability of reaching hundreds of degrees Celsius in a matter of seconds. I opted to use a simple PID controller because it was the extent of my controls knowledge and it actually worked out pretty great! I tuned the proportional gain first to generate the transient response I wanted and used the derivative gain to make the minute changes necessary. Then I introduced some integral action for steady-state tracking of my reference point.
      The test bench I created using this PID controller and a WAGO PLC is able to be run 4 heaters in parallel, removing the manufacturing bottleneck they had. Although a simple project, I realized how powerful control algorithms were decided to pursue an advanced degree in Controls Engineering.

  • Lam Research - Engineering Intern
  • June 2018 to September 2018.
      Lam Research was the first company I worked for in an engineering capacity. It was a great overall experience and I learned a lot of hands-on assembly and simple shop manufacturing skills.
      My main project over the summer was constructing a lighting system for a high-speed camera. This high-speed camera is used to observe how water moves and dries as silicon wafers were put through cleaning and spin-drying processes. I researched different capabilities of off the shelf lighting elements, but ended up deciding to build my own lighting system.
      A bulk of the system was created using parts purchased off of Amazon, including a heat-sink, PWM power supply board, and a 10,000 Lumen LED. Other parts such as mounting brackets and frames were first prototyped using stereolithography 3D printing and finally manufactured out of Aluminum using a Tormach CNC. This lighting system enabled a Keyence high-speed camera to track 10-100μm water droplets traveling 10 m/s at 230,000 fps.

Projects

Reinforcement Learning Agent Deployment on AWS

January 2022 - April 2022
For one of my courses at the University of Michigan, I deployed a Reinforcement Learning algorithm that stabilizes a cart-pole system to AWS and Heroku. However, due to cost, I had to take the website down.

On-Orbit Satellite Life Extension & Augmentation
through Autonomous Solar Array Attachment

January 2021 - December 2021

  This student team project is a Northrop Grumman sponsored Multidisciplinary Design Project at the University of Michigan. Over the last few years, Northrop Grumman has proven their ability to send Mission Extension Vehicles (MEVs) into space to dock with existing GEO satellites. After docking, the MEV is able to provide propulsion and attitude control to satellites.

  The student team, Team Orbit, was tasked to take this a step further by researching and implementing a way to augment GEO satellites on-orbit. The team decided to tackle the issue of failed or degrading solar panels by (1) creating a CONOPs of an autonomous on-orbit attachment procedure, (2) prototyping the attachment mechanism, (3) and creating an autonomous vision system capable of localizing a pre-determined attachment location.
  My job on the team is a Software engineer, responsible for creating the autonomous vision system in C++ for localizing a pre-determined attachment point on the satellite yoke. The camera I'm using is the Intel RealSense L515 Lidar camera, capable of simultaneous RGB and Lidar streams. The vision algorithm takes advantage of coordinate transformations and a priori CAD of the satellite we're operating on.
  Given the CAD model of the target satellite, we're able to transfer the 3D information into a point cloud through SolidWorks. The vision algorithm then uses RANSAC and Iterative Closest Points for point cloud registration to find a transformation matrix that best matches the model point cloud of the satellite to the environment point cloud that the camera sees during operation.
  Since we've pre-determined the attachment location in the model coordinate system, we can localize the attachment location with respect to the camera with the transformation matrix.
  In addition to engineering work, I was also responsible for creating the validation and testing plans for the vision system. These testing plans will include verification of the vision algorithm on a full-scale mockup of the satellite yoke under various lighting conditions, such as back-lighting and partial occlusion of the satellite yoke. I've also contributed to the overall development of the CONOPS. Given that I have both hardware and software experience, I'm in a advantageous position to clearly understand the different parts of a project and how they should best interact with each other.

Basil Leaf Automation

September 2019 - June 2020
  Believe it or not, there has been a labor shortage in the agriculture industry in the Central Valley of California. Farmers and food processing faciliites are stretched thin, placing a strain on the supply chain for food products.
  Stanislaus Food Products is a food processing company specializing in canned tomato goods. One particular section of their processing plant requires a human worker to individually pick and place basil leaves from one conveyor belt to sauce cans on another conveyor belt.
  My Senior Capstone project was to automate this step using a 2D cartesian axis robot with a suction cup gripper and autonomous vision. My role on the team was a Mechatronics Engineer, creating a Python library for stepper motor control in our robot and help develop simple classification algorithms for differentiating rotton and fresh leaves. I also ensured that the mechanical design and software system meshes well with each other.
  Due to the COVID-19 Pandemic, we were unable to integrate the vision system with our mechanical design. However, isolated testing showed that the robot was able to quickly reach coordinates repeatably and the vision algorithm was capable of differentiating rotten and fresh leaves at 73% accuracy.

Contact

Send me an email or message me on LinkedIn!

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form