B&A
Ghost Robotics
Ingénieur Logiciel Robotique - Manipulation (Senior, Staff, Lead)
Description
Nous sommes une entreprise de robotique qui développe des systèmes autonomes opérant dans des environnements complexes et dynamiques. Nous recrutons un Ingénieur Manipulation pour concevoir, implémenter et déployer des algorithmes de manipulation pour des bras montés sur des robots dynamiques à pattes évoluant dans le monde réel. Vous construirez des pipelines de planification de tâches et de mouvements, de préhension et de contrôle dans un logiciel temps réel, et vous en assurerez la performance jusqu'au matériel. Ce rôle convient aux ingénieurs qui excellent dans la résolution de problèmes à haute vélocité, la prise en charge technique approfondie, ainsi que les tests et la validation pratiques.
Fonctionnement des niveaux
Il s'agit d'un seul poste, ouvert aux niveaux Senior, Staff ou Lead. Les responsabilités ci-dessous reflètent le cœur du rôle à tous les niveaux. Vous n'avez pas besoin de décider quel niveau vous convient avant de postuler. Le candidat sélectionné sera placé au niveau correspondant aux compétences, à la portée et à l'expérience qu'il démontrera tout au long du processus d'entretien, et l'offre sera alignée sur ce niveau.
Les postes de Senior et Staff sont des postes de contributeur individuel.
Le poste de Lead inclut la même portée technique ainsi que des responsabilités de gestion d'équipe, pour les candidats qui le souhaitent.
Vos missions (tous niveaux)
- Architecturer des frameworks de manipulation de bout en bout, de la planification de tâches de haut niveau à la perception et au contrôle des articulations de bas niveau
- Développer la planification de trajectoire, l'évitement d'obstacles et la génération de mouvement en temps réel
- Implémenter des stratégies de préhension utilisant la proprioception et la vision, pour des objets rigides et déformables
- Utiliser des simulateurs basés sur la physique pour développer et valider des politiques de manipulation avec un transfert haute fidélité vers le matériel
- Écrire du code C++ et Python propre et maintenable, et déboguer les performances du système à travers la simulation, les expériences matérielles et les données de flotte
- Collaborer avec les équipes mécaniques, perception, embarquées et systèmes pour assurer la performance et la robustesse de bout en bout
- Contribuer aux décisions architecturales à long terme
Ingénieur Senior Manipulation
- Généralement atteint avec 5+ années d'expérience pertinente, ou 3+ années après un doctorat
- Être responsable d'un domaine technique défini de la pile de manipulation et livrer de manière autonome de bout en bout
- Mentorer les ingénieurs moins expérimentés
- Historique de mise en production de logiciels de manipulation sur du matériel réel
Ingénieur Staff Manipulation
- Généralement atteint avec 8+ années d'expérience pertinente
- Piloter la direction technique et l'architecture dans le domaine de l'équipe
- Définir les standards d'ingénierie et multiplier la production des autres
- Influence démontrée au-delà de ses propres livrables, à travers les équipes ou une pile de manipulation entière
Ingénieur Lead Manipulation
- Généralement atteint avec 10+ années d'expérience pertinente, y compris l'expérience de guidage d'ingénieurs
- Portée technique de niveau Staff plus responsabilités de gestion d'équipe : subordonnés directs, recrutement, performance et planification d'équipe
- Capacité démontrée à développer des ingénieurs et à diriger une équipe saine et productive
Prérequis
Qualifications de base (tous niveaux)
- Une solide expérience en manipulation robotique, avec une expérience pratique sur des bras multi-DOF dans des systèmes réels. Nous accordons plus d'importance à ce que vous avez construit et mis sur le marché qu'à l'origine de votre diplôme. Un diplôme avancé en Robotique, Ingénierie Mécanique, Électrique, Aérospatiale, Informatique, ou un domaine connexe est une voie d'accès. L'expérience industrielle équivalente en est une autre.
- Solides fondations en planification de mouvement, théorie du contrôle, optimisation et systèmes dynamiques
- Compréhension approfondie des transformations de coordonnées, de la cinématique directe/inverse, des Jacobiennes et de la dynamique des robots
- Expérience avec des outils de planification de mouvement (par ex., MoveIt, OMPL, ou planificateurs personnalisés basés sur l'optimisation)
- Expérience avec la dynamique multi-corps, la modélisation et la simulation (par ex., MuJoCo, Gazebo, Isaac, Bullet/PyBullet)
- Expérience avec ROS 2 et les middlewares temps réel
- Maîtrise de C++ moderne (C++17/20) et Python
- Expérience avec les environnements Unix/Linux et les meilleures pratiques d'ingénierie logicielle (contrôle de version, CI/CD)
- Master ou Doctorat en Robotique, Ingénierie Mécanique, Ingénierie Électrique, Ingénierie Aérospatiale, Informatique, ou un domaine connexe.
- 3+ années d'expérience pratique en manipulation robotique, spécifiquement avec des bras multi-DOF (Degré de Liberté).
- Solides fondations en planification de mouvement, théorie du contrôle et optimisation, ainsi qu'une expérience des systèmes dynamiques.
- Compréhension approfondie des transformations de coordonnées, de la cinématique directe/inverse, des Jacobiennes et de la dynamique des robots.
- Expérience avec des outils logiciels de planification de mouvement (par ex., MoveIt, OMPL, ou planificateurs personnalisés basés sur l'optimisation).
- Expérience avec la dynamique multi-corps, la modélisation et la simulation (par ex., MuJoCo, Gazebo, Isaac, Bullet/PyBullet).
- Expérience avec ROS 2 et les middlewares temps réel.
- Maîtrise de C++ (C++17/20) et Python modernes pour le développement et les outils.
- Expérience avec les environnements Unix/Linux et les meilleures pratiques d'ingénierie logicielle (contrôle de version, CI/CD).
Exigences de résidence Résidence permanente requise.
Exigences physiques Périodes prolongées debout, assises à un bureau et travaillant sur un ordinateur.
Doit être capable de soulever 10 livres. Équipement d'assistance disponible.
Qualifications souhaitées
- Expérience avec des robots à pattes ou humanoïdes
- Expérience dans l'application de l'apprentissage par renforcement, des modèles de langage visuel, ou des modèles langage-vision-action à la prise de décision robotique et à la planification de tâches
- Connaissance de la perception 3D, du traitement de nuages de points et du retour visuel dans les boucles de manipulation
- Expérience dans les frameworks de contrôle du corps entier (contrôle en espace opérationnel, MPC et similaires)
- Expérience avec le contrôle par rétroaction de force ou l'étalonnage main-œil
- Publications ou contributions open-source significatives en robotique ou en machine learning
- Capacité démontrée à diriger des efforts techniques et à encadrer des ingénieurs
Ce que nous offrons
- Travailler avec des robots de pointe dans des environnements réels stimulants
- Expérience pratique du matériel associée à une infrastructure logicielle et de simulation solide
- Une culture collaborative et techniquement rigoureuse, axée sur l'apprentissage et la prise en charge
- Accès à des robots réels, des données réelles et un impact réel
Le salaire de base annuel anticipé pour ce poste est de $140,000 à $185,000, déterminé par le niveau tel que décrit ci-dessus
Rémunération Salaire de base compétitif, avantages sociaux complets et package d'actions incitatif très motivant. Politique de congés flexible. Accent mis sur les résultats et la capacité à travailler avec une équipe exceptionnelle de fonctions interdisciplinaires.
Lieu Philadelphie, PA (aucun candidat à distance considéré pour le moment). Possibilités de travailler à domicile avec approbation préalable.
Voyages Aucun voyage requis.
Vérification des antécédents Vérifications standard des antécédents claires, avant l'embauche, après l'embauche et à tout moment pendant l'emploi, selon les besoins.
