As a Robotics Control Systems team member, you will drive innovation and optimization in multi-robot controls. Your work will directly impact developing and maintaining our distributed intelligence system for ASRS and pick-assist robots. You will be responsible for designing, implementing, testing, and maintaining critical components such as:
- Behavior Controllers: Global and local controllers that govern decision-making for a fleet of autonomous robots.
- Path Planning Systems: Planners and executors that manage and dictate robot traffic.
- Task Allocation Strategies: Different strategies and their optimizations to ensure efficient task distribution.
- Distributed Intelligence Framework: Production-grade open-source framework (ALICA) used for coordinating multiple robots.
Responsibilities
Collaborate & Review:
- Perform architecture and code reviews with team members.
- Contribute to a collaborative and continuous improvement environment.
Improve Processes:
- Identify and recommend enhancements to engineering processes.
Solve Customer Challenges:
- Tackle challenging problems as our customer base grows.
User-Focused Development:
- Understand user needs and ensure that the delivered solutions provide tangible value.
Requirements
- Bachelor’s degree or higher in Computer Science, Robotics, or a related technical field.
- Strong fundamentals in algorithm design, problem-solving, and complexity analysis.
- Proficient in object-oriented programming (OOP) and multi-threading.
- Experience with C++ (C++11 or above).
- At least 3 years of corporate or research experience in Software Engineering or Robotics.
Nice to haves
While not specifically required, tell us if you have any of the following.
- Experience with ROS (Robot Operating System) and Python.
- Familiarity with SMACH, Behavior Tree, and RosPlan.
- Background in multiagent systems, constraint programming, or distributed systems.
- Hands-on experience with autonomous or manually operated robots.
- Knowledge of CI/CD systems.
- Startup experience.