FPV racing drone, 2016
In the summer of 2016, I used broken arrow shafts I had found hiking to build a FPV racing drone. While the fletchings and tips from the arrows were damaged beyond repair, the carbon fiber shafts of the arrows were in great condition. To create a drone out of the arrow shafts, I 3D printed connectors to hold the shafts into an exceptionally strong 'X' configuration that distributes translational and torsional load across the frame.
Stanford Environmental Fluid Mechanics Lab, research mentee, 2016
I worked with the Stanford Environmental Fluid Mechanics Lab to develop machine learning models to infer the water quality of the San Francisco Bay from multispectral satellite images.
Under the mentorship of Joe Adelson, PhD candidate, I used methods usually used to predict sediment concentrations (an indicator for water quality) in the ocean to the water in the SF Bay. We scraped and pre-processed satellite images from the Landsat collection to use as our training data. As labels, we used measurements from the USGS Polaris. I tested several models including ridge regression, huber regression, support vector regression, and neural networks with cross validation. Across validation sets, the huber regression produced the smallest root mean square error.
Pictured below are two selected sediment maps I produced. The redder areas indicate more suspended sediment while the bluer areas indicate less. The top photo, dated August 27 2009, shows a build up of sediment in the concave portions of the north bay.
The figure below is an outtake from our error analysis and shows the average root mean square error of the cross validation (CV) test of the huber model against the number of features used to train the model. The error shrunk as the number of features was increased from 0 to 6, but the error grows once 7 or greater features are included because of overfitting.
Electric Vehicle, 2016
For a Science Olympiad engineering competition I worked with a great partner to build an electric car to race down a track as fast and as accurately as possible. We used a high-power brushless electric motor to drive the vehicle, and a quadrature encoder to provide feedback on the distance travelled. I programmed the control system on a Teensy microcontroller with failsafes and anti-skid processes. We won first place at the regional and state competition.
Electronics: microcontroller, status LEDs, NiMH battery, 4 wire cable for quadrature, ESC connection.
We build an adjustable sighting system to precisely aim the vehicle every time.
Robot Arm, 2016
I designed, built, and operated a master-slave robotic system to manipulate ping pong balls, pencils, dice, egg cartons, and Legos on a playing field. We won first place at regional and state Science Olympiad competitions with perfect scores each time.
This is a close-up of master arm. A Teensy microcontroller reads the link angles on the 'master' device and sends these values over to the 'slave' robot. With method allows very fine and intuitive control of the 'master' robot end effector.
Scrambler, 2014, 2015
My partner and I were tasked with building a purely mechanical vehicle launched by a device with energy originating solely from a falling mass (the rectangular aluminum extrusion). After countless iterations and failed designs, I built a stopping mechanism to brake the car precisely in front of the target wall without breaking the egg that sits at the very front. I also incorporated a mechanism (spring and two screws near the left wheel) to adjust the turning radius of the car so that the vehicle could travel in an arc on the track, garnering bonus points. Won 2nd at the regional competition and 3rd at the state competition.
(notice the rightward-moving sled on the bottom that pushes the car forward)
Built a magnetically levitating vehicle propelled by a propeller to traverse a track at a specified velocity. This device was in fact a failure. It could move quickly, but not slowly, which was a huge problem at competition where score was based on how accurately we can control its velocity. Our failure to adequately test and iterate on this device, sticking to one design type throughout, forced us to reconsider our design strategy. Our later devices above are the result of lessons learned from this initial failure.
2-axis camera gimbal for smooth in-flight video, 2013. Back in 2013 I designed and 3d printed several iterations of the 2 axis gimbal to optimize for balance, weight, and vibration damping. I incidentally sold more 30 of these gimbals on Shapeways, an online 3D printing hub, and the CAD files for the model have been downloaded more than 8000 times on Thingiverse (https://www.thingiverse.com/thing:158854).
Micro quadcopter, 2012. I used Solidworks finite element analysis to reduce frame mass while maintaining rigidity and strength. Frame 3D printed with a Solidoodle 2.
Static testing my procedurally generated propeller. The propeller was procedurally generated by using Ruby scripts that create Solidworks macros. The macros form lofts between airfoil cross-sections that are formed with NACA airfoil geometry. Optimized airfoil geometry for ABS flexibility and FDM 3d printing limitations.
FPV ship with home-brewed 1.3ghz video transmitter antenna
iPad-controllable prototype quadcopter
I configured an iOS app to relay information from on-screen joysticks wirelessly to a laptop, which then relayed the information via wireless Xbee to the quadcopter. I modified open source Arduino drone firmware to use a wireless xbee module as a serial receiver for flight commands.