Senior Algorithms Engineer

Dexterity

Senior Algorithms Engineer

Location: Redwood City, CA

About Dexterity

At Dexterity, we’re building robotic automation systems to perform pick-place-pack tasks in warehouses. Our end-to-end automation systems use intelligent software to enable human-like dexterity in commodity robot arms. Such intelligent robots will deeply impact the logistics industry and help realize a step change in logistics automation and supply chain productivity.

Dexterity is one of the fastest growing and best funded startups in the robot manipulation space. Come join our team of robot-obsessed engineers and help make intelligent robots a reality.

About The Role

At Dexterity, you will be tackling a myriad of challenges related to optimizing robot work schedules and motions across a variety of use cases. While the set of Dexterity’s algorithmic problems is ever expanding as we deploy new robotic applications, work areas are:

Many of our robotics systems solve the logistical task of moving and sorting inventory throughout a warehouse. Robots can move around in a large area, picking items out of source containers and then placing these items in different destination containers to complete orders. Some actions, such as picking up individual items out of a box, can be completed by a single robot while others, such as picking up a whole box of product, require multiple robots to physically come together and collaborate to accomplish the task. The optimal scheduling of robot tasks for this kind of system and other similar systems has an immense impact on throughput. Finding these optimal schedules requires solving difficult real-world optimization problems involving a complex, stochastic, nonlinear system.

Some of our robotics systems are required to pick up a variety of items of different shapes and sizes and pack them together into a specific configuration. A canonical example is palletizing. In this task, a robot must pack smaller cubes side-by-side and on top of each other to assemble a larger cube. This task is complicated by several constraints--the cubes have varying dimensions, heavier cubes should be skewed towards the bottom to improve stability, the robot should maximize the density of the larger cube, and the sequence of input cubes may be random. The problem becomes substantially more difficult when the variety and geometric complexity of the packing items increases. Better packing algorithms allow us to assemble increasingly taller and denser ensemble shapes, thereby increasing the number of instances where our robots can be deployed.

Dexterity is increasingly looking to deploy robots in more unstructured environments. More variable environments necessitate even more adaptive and performant algorithms for motion planning and path planning. Dexterity is looking for motion planning algorithms that are computationally faster, result in smooth trajectories, decrease cycle time, and avoid hitting obstacles in dynamic, unstructured environments.

Almost all of Dexterity’s robotics solutions employ the fusion of multiple information sources. We collect data from a multitude of sources including: RGB and depth sensors/cameras, encoder motion data, system telemetry, and human input. Employing sensor fusion / state estimation techniques to arrive at more accurate estimates of the world is necessary to increase robot performance and accuracy across Dexterity’s solutions.

Day-to-day Responsibilities (does not include all responsibilities)

Make both revolutionary and evolutionary modifications to various algorithms stemming from modern optimal control to chess solvers.

Collaboration with roboticists, machine learning engineers, mechanical engineers, and product managers to find optimal joint system solutions.

Implementation, testing, and maintenance of high quality software.

Develop and maintain accurate models of robotics systems.

Objective testing of algorithm performance.

Integration of algorithms with existing software infrastructure, including development of any necessary auxiliary software.

Deployment of software to remote servers.

Lead efforts to improve the rigor and performance of algorithms within Dexterity.

Desired Experience, Knowledge, Skills and Abilities

MS/Ph.D. in Computer Science, Electrical Engineering, Mathematics or a related discipline, or equivalent experience.

Strong knowledge of Modern C++ and Python (preferred).

Familiarity with Linux and git versioning.

Familiarity with multiple of the following:

Optimization (convex, mip, non-convex)

Artificial Intelligence (deep learning, reinforcement learning)

Search Strategies (mcts, dfs, etc.)

System Modelling

Constraint Satisfaction Problems

Statistics and State Estimation

Operations Research

Motion Planning

Equal Opportunity Employer

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.

Read Full Description
Confirmed 23 minutes ago. Posted 30+ days ago.

Discover Similar Jobs

Suggested Articles