ジュニア〜ミッドレベルソフトウェアエンジニア、タスク・モーションプランニング
倉庫ロボット向けの C++ と Python によるプランニングソフトウェアを開発し、把持、衝突判定、タスク順序付けに取り組みます。 ロボティクスアルゴリズムをプロトタイプから信頼性の高い実運用へと移行させます。
仕事内容
- モーションプランニング、把持選択、衝突判定、タスク順序付けを担う、C++ と Python の本番向けプランニングコンポーネントを構築・保守します。
- アルゴリズムを初期プロトタイプからデプロイまで進め、アーキテクチャ、性能、信頼性に責任を持ちます。
- 性能が重要なコードを計測・改善し、ロボットハードウェア上でリアルタイムのサイクルタイム要件を満たします。
- テスト、シミュレーション、ベンチマークのためのインフラを構築します。
- ログやビルドのトリアージツールを使って本番環境の問題を調査し、根本原因を解決します。
- 綿密な設計レビュー、コードレビュー、堅実なエンジニアリング手法によってコード品質を高めます。
- 実体ロボット向けに、高速で信頼性が高く、十分にテストされたプランニングシステムを開発します。
- ロボットの把持や、変化するトレーラー内での安全な移動に関するタスク・モーションプランニングの発展に貢献します。
応募要件
- 2〜4年の本番ソフトウェア出荷経験があり、主にモダンな C++17 以降を使用し、Python も実務で扱えること。
- ソフトウェア設計、データ構造、アルゴリズム、性能最適化に関する確かな基礎知識があること。
- 設計、実装、テスト、デプロイ、継続的なサポートにわたり、ソフトウェアコンポーネントを主体的に担当できること。
- 並行処理、メモリ管理、性能プロファイリングツールを理解していること。
- モーションプランニング、マニピュレーション、把持に強い関心があり、ドメインスペシャリストと協力しながらアルゴリズムの専門性を深める意欲があること。
- ハードウェアに近い領域で作業し、ソフトウェアと物理システムの境界にまたがる問題を診断できること。
- サンプリングベースまたは最適化ベースのプランナー、軌道生成、把持計画など、モーションプランニングまたはマニピュレーションの実務経験があれば尚可。
- CUDA または GPU 性能最適化の経験があれば尚可。
- OMPL、Drake、FCL、Pinocchio などのロボティクスライブラリまたはフレームワークに familiar であれば尚可。
- 3D ジオメトリ、キネマティクス、または Eigen などのライブラリを用いた線形代数の知識があれば尚可。
- ロボティクスやその他の安全性が重要なシステムにおけるシミュレーション環境および大規模回帰テストの経験があれば尚可。
- 実体ロボットへの本番ソフトウェアのデプロイ経験があれば尚可。
福利厚生
- 健康保険、歯科保険、視力保険。
- 無制限の休暇。
- 連邦および州の祝日の有給休暇。
- 給与の 5% に相当する 401(k) 拠出。
- 会社負担の出張費。
- 仕事をより楽しく、快適で、生産的にするためのその他の特典。
