Research Support - Summer Assistant

California, United States
24 Apr 2019
End of advertisement period
24 Jun 2019
Contract Type
Full Time

Caltech is a world-renowned science and engineering institute that marshals some of the world's brightest minds and most innovative tools to address fundamental scientific questions. We thrive on finding and cultivating talented people who are passionate about what they do. Join us and be a part of the diverse Caltech community.

Job Summary

The Caltech Graduate Aerospace Laboratory (GALCIT) and Center for Autonomous Systems and Technologies (CAST) are seeking an individual to work full time over Summer on the computer science and software engineering portions of research projects involving autonomous multirotor drones and specialized "fan array" wind tunnels. The work includes both revising and extending existing code bases as well as designing and developing software from the ground up for new projects which span diverse sub–fields, outlined below. The research assistant is expected to work on-site during regular working hours.

Job Duties

  • Design and develop low–level hardware control and signal processing programs to be executed in micro controllers
  • Design and develop high performance, parallelized, scientific computing scripts
  • Build interactive, "real time," graphical user interfaces for users to operate the software, when applicable
  • Design and implement custom networking protocols for distributed systems that span both micro controllers and personal computers
  • Design and train machine learning algorithms to autonomously operate wind tunnels
  • Revise and maintain existing code base of wind tunnel control software
  • Document all software developed, and changes made to the existing code base; includes the composition of instruction manuals accessible to users without a background in computer programming
  • Other duties as assigned

Basic Qualifications

  • Proficiency in C/C++ and Python
  • Experience developing multi-threaded software and distributed systems that exchange data in real time
  • Experience with socket-level programming and basic networking protocols (UDP and TCP)
  • Experience in micro controller programming (Mbed "Nucleo" boards are used)
  • Experience using version control systems such as Git
  • Knowledge of closed-loop control systems
  • Knowledge of artificial intelligence (emphasis in neural networks and reinforcement learning algorithms)

Preferred Qualifications

  • Exposure to physics --mechanics, electromagnetism and aeronautics
  • Basic electrical circuit analysis and design; some experience with oscilloscope operation is preferred

Required Documents

  • Resume