Avidbots is a robotics company with a vision to bring robotic solutions into everyday life to increase organizational productivity and to do that better than any other company in the world. Their groundbreaking product, the Neo autonomous floor scrubbing robot, is deployed around the world and trusted by leading facilities and building service companies. Founded in 2014 and headquartered in Kitchener, ON, Canada, Avidbots is offering comprehensive service and support to customers on 5 continents.
About this role:
Our robots use an advanced sensor suite to identify their location and then plan optimal paths to cover these areas as fast as possible using path planning algorithms developed in-house. We are looking for an experienced, passionate, quality-driven Senior Software Developer to help our team expand and solidify our set of proprietary path planning algorithms to tackle increasingly complex, varied, and dynamic worlds. You will get to prove the robustness of your algorithms both in simulation and in hardware, across thousands of unique real-life environments of our customers.
Ideally, you have exceptional practical and applied expertise in designing and developing task-oriented path-planning algorithms for mobile robot navigation and mission execution. You have worked with computationally-restricted hardware running efficient code. You love that your software is architected well, handles many possible combinations of inputs, produces outputs that work optimally for every situation, and is flexible for future extension. You understand how your algorithms translate to real-life performance in hardware and have developed solutions that address the numerous constraints that apply to mobile robots operating in highly dynamic conditions, all to your customers’ complete satisfaction.
How you will make a difference:
You will become an integral member of our veteran design and development team working on the cutting edge of robotics and will be able to directly see your contributions furthering robotic integration in malls, airports, and other facilities across the world. You will be supporting the maintenance and improvement of existing robot behaviour as well as leading investigations and prototyping of new algorithms to expand our autonomous capabilities. You will be expected to design, code, document, and test your improvements in simulation and hardware and provide technical guidance and insight into a breadth of autonomous solutions.
Key requirements and experience:
Advanced degree in computer science, engineering, or equivalent, with particular emphasis on robotics, algorithm design, and/or software development
5+ years of industry experience in mobile robotic path or task planning algorithm development
Expertise in an object-oriented language such as C++
Driven individual, passionate about robotics, algorithms and algorithm development, self-starter
Comfortable with Linux operating systems (CLI, scripting)
Familiarity with ROS; worked on a full navigation stack before
Experience with industry-standard software development tools and processes (eg. Git, continuous integration, unit testing)
Nice to have:
Software development for personal use - GitHub or open-source contribution references welcomed
Image processing, game and graphics programming
Exposure to other technical robotics concepts (HRI, SLAM, sensor fusion, firmware, hardware)