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, creative Intermediate / Senior Software Developer to help push the boundaries of our robots as part of the Advanced Technology group.
Ideally, you have an exceptional, proven capability to internalize complex algorithms and constraints to produce novel approaches to solve complex problems in a theoretically justified and complete manner.
You will work alongside our veteran design and development teams 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, as well as expansion into as-yet unexplored markets. This role reports directly to the ATG team manager.
You will be responsible for leading research and prototyping new algorithms to expand our autonomous capabilities. You will be expected to research, design, code, document, and test your improvements in simulation and hardware and provide technical guidance and insight into a breadth of autonomous solutions.
How you will make a difference:
Research on autonomy related topics, literature reviews and publications.
Develop cutting edge autonomy related algorithms for obstacle detection, depth estimation, localization, mapping, coverage planning, motion planning, and motion control
Expand the solution space and look beyond the usual methods of solving problems to develop better solutions for future products or on-going problems that affect the performance and navigation of the robot.
Guide the development of solutions from prototyping to production and integration, including proving the idea on simulated environments, deploying on real-time robotic platforms, and testing and validating on autonomous robots.
Key requirements and experience:
Minimum of masters degree in computer science, robotics, software engineering, or equivalent, with particular emphasis on robotics, algorithm design, and/or software development
Expertise in at least two of the following areas: Localization and Mapping, Computer Vision, Path Planning, or Machine learning (Deep Learning)
3+ years of industry experience in mobile robotics algorithm development (above fields)
Strong grasp of robotics fundamentals: Linear Algebra, Geometry, Image Processing, and Machine Learning
Comfortable with Linux operating systems (CLI, scripting) as well as with robotics hardware. (not afraid to jump in and play with our robots)
In-depth hands-on experience in C++, Python, Linux, and a track record of translating ideas into research prototypes quickly
Nice to have:
Comfortable with Linux operating systems (CLI, scripting)
Familiarity with ROS
Background in semantic segmentation
Experience with industry-standard software development tools and processes (eg. Git, continuous integration, unit testing)