Robotics Software Developer (Job Req. #2021-073)
Software Developer – Computer Vision for Robotics
Dept: Ottawa R&D, 550
Reports to: Software Manager
Direct Reports: None Indirect Reports: None
Duties, Responsibilities and Accountability:
- Develop and implement real-time computer vision algorithms for robot perception, guidance, navigation, and control.
- Computer vision algorithms may include object tracking, pose estimation, 3D reconstruction, sensor fusion, feature extraction, etc.
- Work with R&D team members to design, write, edit, and test software as per the specifications or guidelines. This will include writing and reviewing documentation related to the code, including requirements documents, design documents and test documents.
- Contribute significantly to the development of next generation control systems.
- Become an expert in Ross Robotics products. This expertise will be gained through a review of the current documentation and code, direct contact with the product itself and working with the other team members.
- Act as an occasional trainer/field support for existing and potential customers on an as required basis in a professional manner.
- Advise and make recommendations on matters relating to software development, including suggestions around code refactoring.
- Respond to internal issues regarding software as assigned.
- Perform other related duties as required.
- Computer vision and image processing experience
- Exceptional C/C++ coding skills
- Exceptional Python coding skills
- Post-secondary degree in Engineering or Computer Science or in a related area with appropriate experience.
- Working knowledge of Windows and Linux command line environments
Additional desirable skills and knowledge:
- Experience with OpenCV
- Experience with sensor fusion
- Experience with LiDAR, structured light, and/or 3D stereo vision
- Knowledge of machine learning is an asset
- Knowledge of real time systems is an asset
- Knowledge of mechatronics, or control theory and systems
- Knowledge of physics as relates to linear and circular motion
- Knowledge of video production would an asset
- Solid interpersonal and observational skills.
- Organized and detail oriented.
- Self-starter, quick learner and able to work with minimum supervision in meeting schedules and project deadlines.
- Able to work independently or as part of a team.
- Experience in Computer Vision for 3D perception
- Previous experience working in an Agile development group is an asset.
- Experience with event-driven user interface programming