Мы ищем Senior Control Engineer в нашу команду Controls Team в Ванкувере, с фокусом на разработку программного обеспечения для управления и интеграцию роботизированных актуаторов и датчиков.
Вы будете отвечать за проектирование, реализацию и валидацию контроллеров уровня суставов и актуаторов, обеспечивающих высокую точность, быстродействие и безопасность сложных робототехнических механизмов.
Идеальный кандидат обладает прочной базой в теории управления, сильными навыками программной инженерии на C++ и уверенно работает на всех уровнях стека: от встраиваемого управления реального времени до сетей, кинематики/динамики и браузерных инструментов отладки. Вы будете тесно работать с другими инженерами по управлению и аппаратному обеспечению, чтобы моделировать, настраивать и оптимизировать поведение реальных роботов и их подсистем (например, конечностей и рабочих органов — end-effectors).
Разработка низкоуровневого управления
- Настройка и валидация контуров управления актуаторов и в пространстве суставов (PID, feedforward, impedance/admittance, наблюдатели, обратная связь по состоянию) для систем со многими степенями свободы (multi-DoF) в ROS2.
- Работа с EtherCAT/CAN и сетями Linux (TCP/IP, DDS discovery, синхронизация времени) для обеспечения детерминированной, безопасной работы в реальном времени.
- Реализация механизмов безопасности и обработки сбоев для динамических условий.
Моделирование, кинематика и идентификация систем
- Построение и идентификация моделей актуаторов, трансмиссий и механизмов, включая параллельные механизмы, такие как дифференциальные запястья/лодыжки, для проектирования систем управления и симуляции.
- Применение кинематики/динамики твёрдого тела и численных методов IK/FK; работа с URDF/Xacro и MJCF, интерпретация механических чертежей и геометрии.
Программное обеспечение и интеграция систем
- Написание объектно-ориентированного C++, безопасного для реального времени (lock-free структуры, потокобезопасность), для управления и диагностики.
- Проектирование и отладка многоуровневых архитектур управления.
- Поддержка инструментов сборки и зависимостей на CMake и тестовых окружений на Python; создание лёгких браузерных инструментов (HTML/JS/WebSocket) для отладки оборудования.
Интеграция датчиков и оборудования
- Интеграция и калибровка различных датчиков (F/T-датчики, тактильные датчики, IMU и др.) со сбором и обработкой данных в реальном времени по всему стеку управления.
- Практический запуск (bring-up) и отладка оборудования.
Междисциплинарное взаимодействие
- Замыкание контура с инженерами-механиками и инженерами-электронщиками на разных площадках по требованиям к приводам;
- Поддержка запуска (bring-up) оборудования, калибровки и тестирования производительности.