Job Description
Job Description & Requirements
We are seeking a talented Software Engineer to drive the development of advanced behavior, planning, and control strategies for our global fleet of autonomous cleaning robots. This role is ideal for an engineer passionate about robotics, algorithm development, and system integration. You will work on planning, real-time decision making and implement features such as multi-floor navigation and docking control systems. You will also work with other engineers to develop robust testing pipelines, aimed at ensuring quality and reliability of our robots. You will own independent deliverables, collaborate closely with SLAM and Perception engineers, and play a critical role in shaping the next generation of autonomous systems.
Key Responsibilities
- Design and implement modular behavior tree architectures for complex and robust robot decision-making.
- Develop and optimize global planning algorithms (A*, D*, RRT*, PRM, etc.) for dynamic environments.
- Design and tune local planners and controllers for smooth and safe robot motion (e.g. MPC, TEB, DWA)
- Optimize planning and control systems to ensure real-time system performance, including timing guarantees for control loops.
- Collaborate with SLAM and Perception engineers to align navigation with perception, mapping.
- Develop comprehensive test cases for validating algorithms and software in both simulated and real-world environments, to ensure reliable performance.
- Maintain comprehensive documentation of all code implementations and test cases
- Explore advanced planning and control methods for real-world deployment (e.g., reinforcement learning-based planning)
Qualifications & Experience
- Bachelors or Masters degree in CS, Robotics, or a related field (or PhD with relevant focus)
- 3+ years of industry experience in developing and deploying behavior, planning and control systems for autonomous robots.
- Proficient in C++ and Python development on Linux.
- Experience working with ROS1 / ROS2.
- Solid foundation in data structures, algorithms, kinematics, dynamics, and control theory
- Strong understanding of robot dynamics, kinematics, and control theory.
- Hands-on experience with behavior planning frameworks (e.g.BehaviorTree.CPP).
- Strong understanding of global and local path planning algorithms.
- Familiarity with sensor modalities (e.g. LiDAR, RGBD cameras, IMUs)