Patrick Hickey

pat@moreproductive.org
908 458 6675

About

I work on robots:

Which has involved work in:

And have real experience in:

Education

I'm finishing my degree in Electrical Engineering at Rutgers University in New Brunswick, NJ.
I expect to graduate in May 2010.

The courses I've gotten the most out of:

Experience

Undergraduate Research, Prof. Dario Pompili - August 2009 - Present

Right now, I'm building a network simulator that will allow us to simulate network protocols for autonomous underwater vehicles. It's unique because it uses real underwater modems and audio processing to simulate the underwater medium. I'm working on 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'm making heavy use of Matlab, Ruby, and the existing Acoustic Toolbox written in Fortran. I'm also using Python programs written by another student in my lab. The modems each have a Gumstix computer attached that runs OpenEmbedded Linux, which I've built packages and images for.

Electronics Design Team Leader, Rutgers Autonomous Aircraft Team - Septemper 2008 - Present

I got involved with a group of Aerospace Engineers who were interested in building model airplanes, and recruited a group of Electrical Engineers to build an autopilot and imaging system. We planned to compete in the AUVSI UAS Competition.

Unfortunately, almost everything failed to go according to plan. We started the year with an ambitious plan to build our own autopilot with custom circuit boards and ARM microcontrollers. I learned a lot about the ARM GCC Toolchain, and built software using message-based state machines, which are a comprimise between a real-time operating system and hand-coded memory-sharing schemes. I learned was how difficult and time consuming it can be to develop software from scratch, and manage a team on a big project.

Ultimately, we scrapped the plans to build from scratch in late Febuary 2009. We switched to the Paparazzi autopilot, an open-source project that has been used by other AUVSI competitors successfully. Although it meant abandoning a lot of work, it was the only way we could meet our schedule to compete in June. Things didn't proceed perfectly from there, either: the aircraft we built for competition crashed on its second flight, leaving us with too little time to rebuild and test before the competition.

I've learned from the mistakes I made last year, and this year we're making steady progress on smaller, more achievable goals. We plan on attending the 2010 UAS competition.

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.

Qualifications

Languages

Platforms