The AIR lab is part of the Field Robotics Center (FRC) at the Robotics Institute (RI) at Carnegie Mellon University (CMU). The AIR lab focusses on developing perception and planning algorithms for unmanned aerial vehicles of various scales (Full-scale helicopters to small size quadrotors). Our work pushes the state of the art in autonomous flying vehicles and we are looking for individuals that share our vision, are self-motivated, quick learners. We work on several projects for government contractors with fast-paced engineering cycles where we design, build, test, and analyze the results of these new systems. Our work atmosphere enables individuals to collaborate on exciting projects, work with real systems, and test their ideas. We are looking for individuals with a solid background in theory, practical experience, creativity, and motivation.
The AIR lab at the Robotics Institute at CMU is now recruiting candidates for an exciting opportunity to develop cutting edge autonomous flying robots. As Software/Robotics Engineer, you will focus on software engineering for robotic systems. We are looking for someone with superior problem solving abilities, who can work independently, and has the education or training described below. Additionally, you would be expected present your work to our sponsors and other organizations.
We are looking for someone to have a strong software background with experience in C, C++, python, Matlab, ROS, Linux, and several robotics related key libraries (such as opencv, Eigen, CGAL, boost, …).
Additionally, experience in perception or motion planning algorithms (in particular related to aerial vehicles) is strongly desired. There is a need for development of algorithms, code refactoring, software engineering, and testing in our group on several projects.
If you have a perception background, a strong understanding of real-time perception algorithms that take input from sensors such as LIDAR and cameras, understanding of machine learning algorithms, and visual odometry algorithms is desired.
On the other hand, if you have a motion planning background, experience in planning algorithms (RRT*, D* lite, CHOMP), and planning libraries such as OMPL, development of large-scale efficient data structures is desired.
Our software architecture is based on Linux, ROS, and C++ so knowledge in these areas is a plus, as is direct experience debugging real robot systems.
BS in Computer Science (or equivalent such as Electrical Engineering) required
Three or more years of C/C++ programming experience designing large software systems
Prior experience working in a team setting
Significant Linux programming experience
Knowledge and training in perception and/or motion planning algorithm development
Large software systems engineering experience to include module breakdown, documentation, requirements analysis, design reviews, implementation, testing, results analysis
Demonstrable knowledge of build systems and editor such as sublime text, emacs or vi (in Linux)
Ability to work in a field team environment to run organized tests with unmanned air vehicle
Good oral and written communication skills, team awareness, systems performance understanding, test preparation, results analysis, on-the-fly debugging are all required skills for this position
Working knowledge of software debugging and profiling tools
Ability to interact with all levels of the campus community and end users
Excellent organizational, analytical, reasoning and problem solving skills
Experience with software architecture based on Linux, ROS, and C++ is a plus.
Demonstrable experience debugging real robot systems.
Please visit “Why Carnegie Mellon” to learn more about becoming part of an institution inspiring innovations that change the world.
A listing of employee benefits is available at: www.cmu.edu/jobs/benefits-at-a-glance/.
Carnegie Mellon University is an Equal Opportunity Employer/Disability/Veteran.
Job Function: Research Programming
Primary Location: United States-Pennsylvania-Pittsburgh
Time Type: Full Time
Minimum Education Level: Bachelor's Degree or equivalent
Preferred Education Level: Master's Degree or equivalent