People Matter

Principal Software Engineer - Motion Planning

Berkshire Grey

Berkshire Grey

Software Engineering
Bedford, MA, USA
Posted on Tuesday, August 8, 2023

Primary Job Function

  • The Engineer in this role will work with a multidisciplinary team to develop motion planning software and algorithms for robotic manipulation applications related to store replenishment and e-commerce order fulfillment.
  • This candidate will be expected to be a primary contributor and leader driving to real-world customer delivery, acceptance, and operation.

Skills/Technical Requirements:

  • Masters or PhD in Computer Vision, Robotics, or closely related field
  • 8+ years experience in software development
  • Experience in designing and implementing motion planning solutions for manipulation related problems on real robotics systems
  • Fundamental understanding of controls for manipulation including trajectory smoothing and timing with constraints
  • Commercial experience in a fast paced, agile environment
  • Ability to work as part of an interdisciplinary team

Demonstrated ability to

  • Apply motion planning algorithms to real-world manipulation problems
  • Ability to synthesize approaches to problems from new or existing techniques
  • Write smoothing or time-parameterizing libraries that assign dynamically feasible velocities and timings to kinematically feasible paths for a robot arm.
  • Provide technical leadership on key projects
  • Architect software solutions
  • Operate autonomously
  • Develop on and debug real robotic systems
  • Determine and communicate justification of technical priorities to management
  • Mentor
  • Manage execution of technical efforts across a small team

Proficient in

  • Motion planning libraries (e.g. OpenRave, OMPL, DART, SBPL, prpy, etc)
  • Controls
  • Python
  • C++
  • System design
  • Design patterns
  • VCS (Git)
  • ROS
  • Issue tracking system (Jira)
  • Design patterns

Preferred Qualifications:

  • Demonstrated abilities in one or more of the following
  • Trajectory generation and execution for 6-DOF manipulators
  • Post processing of trajectories (shortcutting, jerk-limiting, etc.)
  • Formulated optimization problems to time-parameterize paths
  • Robot DSL Familiarity (RAPID, Karel, KRL)
  • API development (RESTful, websockets)
  • Robotics and robotic solutions
  • Parallel/distributed systems
  • Asynchronous/concurrent programming (asyncio)
  • NoSQL databases (MongoDB)
  • Messaging Systems (gRPC, Kafka)
  • CI/CD (Jenkins, automated testing)

Educational Requirements: Master’s degree in Computer Science, Robotics, or closely related field