pat@moreproductive.org
908 458 6675
I'm interested in software and robotics.
Specifically:
I'm looking for a job in the San Francisco Bay Area.
I use Github to publish some of my projects.
A real-time Quaternion Kalman Filter (rotational frame estimator) implemented in Haskell
I maintain a port of the Paparazzi autopilot software for a Linux-based flight computer.
I edited the reports for our team's entry into the 2010 UAS competition.
One of my big projects is Paparazzi Autopilot for Linux. It is a port of the microcontroller-based Paparazzi open source autopilot system to a single board linux computer. I selected hardware to replace the microcontroller I/O functionality, and ported much of the bare-metal microcontroller code to use Linux system calls and pthreads.
As part of an independent study under Professor Chung-chieh Shan, I've built an Attitude and Heading Reference Sensor using Haskell. I found that Haskell was a great language for implementing a Quaternion Kalman Filter algorithm, and is capable of soft real-time performance with an actual sensor.
The Haskell source code is on github. You can watch a quick demo. I'm preparing a report on the project.
I wrote an essay on the problem of structure and reality in Vladimir Nabokov's Pnin and Pale Fire for Professor W.C. Dowling's English 220.
The Rutgers Autonomous Aircraft Team is entering the 2010 AUVSI UAS Competiton on June 16-20. I was the primary author of our technical report [pdf]. You can download our fact sheet [pdf] and watch a video [youtube] of our maiden flight.
I just graduated with a degree in Electrical Engineering from at Rutgers University in New Brunswick, NJ.
Aside from other projects I mentioned above, here is my report [pdf] and a demo video [quicktime] from my semester-long project in Robotics and Computer Vision, taught by Professor Kristin Dana.
Electronics Design Team Leader, Rutgers Autonomous Aircraft Team - Septemper 2008 - Present
I've been working on building autonomous aircraft with some friends at Rutgers for the last two years. Last year we didn't make it to the AUVSI UAS Competition because our aircraft crashed, but this year things are looking good. I've been writing software based on the Paparazzi Project for a Linux based autopilot system. Check out the page about that project here.
Undergraduate Research, Prof. Dario Pompili - August 2009 - January 2010
I helped build a network simulator for acoustic wireless networking, such as in autonomous underwater vehicles. It's unique because it uses real underwater modems and audio processing to simulate the underwater medium. I built a module that uses the Bellhop ray-tracing model to determine the arrival time and amplitude of the transmitted signal, and simulate those arrivals using audio processing.
I made heavy use of Ruby and the existing ONR Acoustic Toolbox written in Fortran. I worked with several Python programs as well. The modems each have a Gumstix computer attached that runs OpenEmbedded Linux, which I built packages and images for.
I co-authored a conference proceedings based on this work, which has been accepted to IEEE SECON 2010.
Undergraduate Research, WINLAB - December 2008 - June 2009
At WINLAB, I designed a circuit board that interfaces a Xilinx FPGA module with a custom wideband digital radio. I used Orcad Design Entry and Orcad Layout software. I implemented switching power supply circuits that would meet the stability requirments of the FPGA and wireless circuits, and sourced a BOM of about 300 components.
Junior Engineer, SeaBotix, San Diego CA - June 2007 - August 2008
I completed two summer internships at SeaBotix, and in the year between did contract work on a attitude-heading reference sensor. For both of my internships I worked on test fixtures that were used for research, development, and life cycle testing of underwater thrusters. This involved building power, communication, and measurment circuits. I worked with the low-level circuits on motor controllers, debugged and modified code for PIC microcontrollers, and built software for data aquisition and test automation in Visual Basic. I even did a lot of mechanical design on the test fixtures. Working at SeaBotix was exciting because the team was small and I was given real responsibilities.
One of the first big coding projects I worked on was building an attitude and heading reference sensor (AHRS) that used three-axis accellerometer, magnetometer, and rate gyro sensors. I researched and prototyped a Kalman filtered algorithm in Matlab, and translated the algorithm to C for the PIC24. The computation was floating-point intensive, and I found the PIC wasn't going to perform well enough, so I rebuilt the sensor using an ARM microcontroller.
Languages
Platforms