Software Engineer - Localization & Mapping
Cambridge, MA, USA
Posted on Tuesday, October 24, 2023
About Pickle Robot
Do you want to get in on the ground floor of a fast growing, VC backed, robotic logistics company? Then join Pickle Robot! Founded by an all ages cast of MIT alum, we are teaching off-the-shelf robot arms how to pick up boxes and play tetris with them. At Pickle, our goal is to work alongside people in the very messy world of the loading dock, reducing the backbreaking human effort that goes into getting your online orders to your door.
About the Position
As a Localization & Mapping Software Engineer at Pickle Robot, you will work in a small team of engineers using agile processes to build production level software that runs on parcel handling robots. In this position, you will be responsible for developing and improving our ego-motion estimation algorithms for safe and reliable navigation.
- Applied Research - You will stay current with key literature, leveraging existing filtering and estimation techniques or researching and developing new ones to enhance our robots’ localization capabilities.
- Software Development - You will write, test, and review production software in accordance with best practices.
- Documentation - You will contribute to existing documentation and adapt content based on updates and user feedback.
- Communication and Teamwork - You will communicate and collaborate with other teams to solve technical challenges.
- Debugging and Triaging - You will triage and debug issues by analyzing relevant data sources and implementing fixes.
- A Master’s or Ph.D in Mechanical Engineering, Electrical Engineering, or Computer Science, or equivalent practical experience.
- 2+ years of experience building and solving state estimation and bundle adjustment problems.
- Excellent grasp of linear algebra, probability, and 3D geometry.
- Deep understanding of bundle adjustment, least-squares optimization, and the SO(3) manifold.
- Experience with linear algebra and optimization libraries such as Eigen, NumPy, Ceres Solver, GTSAM, G2O.
- Familiarity with filtering techniques such as Kalman/particle filters.
- Strong foundational knowledge of Computer Science algorithms and data structures.
- Proficiency with C++ and Python.
- Excellent documentation skills and unit testing practices.
- Excitement to work on open problems in robotics, where drag and drop literature might not always work, but sometimes does!
- Familiarity with ROS and other robotics libraries/toolboxes.
- Experience with marginalized visually aided filtering techniques such as MSCKF.
- Familiarity with modern machine learning frameworks such as PyTorch and Tensorflow, and building deep neural networks.