[Skip To Content]

Senior Software Engineer (Manipulation)

  • [Location]
    • Mountain View, California
    • Remote
  • 职位类型 Full time
  • 发表
  • Job Requisition JR-202623389

描述

General Motors is reimagining automation at economy scale to make manufacturing more competitive in the USA. 

You are a Senior Software Engineer who has deep experience in building manipulation planning and control libraries. The work covers collision-free motion generation, trajectory optimization, and the execution layer that turns a planned motion into repeatable movement on real arms. 

The target applications are C++, Python, and ROS 2 on FANUC arms and mobile manipulators, under cycle time and reliability requirements. You have the taste to see important problems, the talent to build great solutions and the grit to get it done. 

This role sits in the core robotics team and works alongside controls and perception engineers. 

The Opportunity 

  • Build and own manipulation planning capability: collision-free planning, trajectory optimization, and time parameterization. 
  • Implement and tune planners for the target applications, with cycle time as a first-class requirement. 
  • Build the collision environment representation from perception output and static scene models. 
  • Implement Cartesian and constrained motion planning for approach, grasp, and place phases. 
  • Handle the mobile manipulation cases: planning with base placement, redundancy resolution, and whole-body motion. 
  • Build the execution layer that monitors trajectory tracking and reacts to deviation and contact. 
  • Define the interface between perception, planning, and control, and keep it clean as the system grows. 
  • Diagnose planning failures from field data and turn them into regression cases. 

The Job Requirements 

Experience 

  • 6+ years of professional engineering experience, with 2+ years in motion planning or manipulation. 
  • Experience deploying manipulation planning on physical arms in a production or field setting. 
  • Experience meeting a cycle time requirement, not only a feasibility requirement. 

Education 

  • M.S. degree or higher in Robotics, Computer Science, Mechanical Engineering, or a closely related technical field. 
  • Equivalent industry experience with demonstrated simulation depth can be considered. 

Core technical background 

  • Strong grounding in motion planning: sampling-based methods, optimization-based methods, and their respective failure modes. 
  • Solid kinematics and dynamics: forward and inverse kinematics, redundancy resolution, singularity handling, and Jacobian methods. 
  • Experience with trajectory optimization and time-optimal path parameterization. 
  • Experience with collision checking and distance queries, including performance characteristics. 
  • Hands-on experience with MoveIt, OMPL, TrajOpt, Drake, or comparable frameworks. 
  • Strong C++ plus Python. Hands-on experience with ROS or ROS 2. 

Systems mindset 

  • Ability to judge how much fidelity a given validation question requires. 
  • Comfortable trading simulation speed against accuracy. 

Collaboration 

  • Ability to work effectively with remote teams across multiple time zones. 
  • Treats simulation as a product with internal users. 

Nice to have 

  • Experience with FANUC arms or the FANUC controller interfaces. 
  • Experience with force control, impedance control, or contact-rich manipulation. 
  • Experience with mobile manipulation and whole-body control. 
  • Experience with learned or hybrid planning approaches. 
  • Prior open-source contributions to MoveIt or the ROS manipulation ecosystem. 

Compensation:  The compensation information is a good faith estimate only. It is based on what a successful applicant might be paid in accordance with applicable state laws. The compensation may not be representative for positions located outside of the California Bay Area.


The salary range for this role is $129,400 to $234,100. The actual base salary a successful candidate will be offered within this range will vary based on factors relevant to the position.


Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance.


Benefits:  GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Health Savings Account, Flexible Spending Accounts, retirement savings plan, sickness and accident benefits, life insurance, paid vacation & holidays, tuition assistance programs, employee assistance program, GM vehicle discounts and more.

Renseignements sur la diversité

General Motors est résolue à être un lieu de travail qui est non seulement exempt de discrimination illégale, mais aussi un endroit qui favorise véritablement l'inclusion et l'appartenance. Nous sommes convaincus que la diversité de la main-d'œuvre permet de créer un environnement dans lequel nos employés peuvent s'épanouir et développer de meilleurs produits pour nos clients. Nous encourageons les candidats intéressés à consulter les principales responsabilités et compétences requises pour chaque rôle et à postuler à tout poste qui leur correspond. Dans le cadre du processus de recrutement, les candidats peuvent devoir, le cas échéant, réussir une évaluation liée au poste ou une présélection d'emploi avant d'être embauchés.  Pour en savoir plus, consultez notre processus de recrutement.

Déclaration concernant l'égalité d'accès à l'emploi (É.-U.)

General Motors est fière d'être un employeur souscrivant au principe de l'égalité d'accès à l'emploi.  Tous les candidats qualifiés seront pris en compte, sans égard à la race, à la couleur, à la religion, au sexe, à l'orientation sexuelle, à l'identité de genre, à l'origine ethnique, aux situations de handicap ou au statut protégé d'ancien combattant. 

Aménagements (É.-U. et Canada)

General Motors offre des occasions à tous les chercheurs d'emploi, y compris les personnes handicapées. Si vous avez besoin d'un accommodement raisonnable pour vous aider dans votre recherche d'emploi ou la soumission de votre candidature, envoyez-nous un courriel à l'adresse [email protected] ou appelez-nous au 800 865-7580. Veuillez inclure dans votre courriel une description spécifique du type d'accommodement demandé, ainsi que le titre d'emploi et le numéro de demande du poste auquel vous postulez.