Job Title:

Programmer/Developer in Machine Learning and Robotics


Ryerson University


Toronto, ON

About the employer

The Robotics, Mechatronics and Manufacturing Automation Laboratory (RMAL) was founded in 1997 and since then has been an active entity of Ryerson University. We are an interdisciplinary laboratory bringing people and projects related to Mechanical, Aerospace, Industrial, Biomedical, Electrical-Computer Engineering, Mechatronics, MEMS, and Computer Science. Our objective is to design and build in synergistic manner systems for advancing robotics and manufacturing automation. We take a broad approach of what constitutes good research and education, all measured by their industrial and social impact. Our research works span from quite applied to basic ones. The output from our research includes everything from ground-breaking papers to ground-breaking prototypes. Our team of industrial partners, faculty, graduates, and students creates unique opportunities for furtherance of our education, research and technology transfer goals. RMAL also welcomes inquiries from companies interested in participating in our research and development works as industrial members.

Job description

The opened position for a programmer/developer in robotics and machine learning is available through NSERC’s I2I program. The project goal is development and commercialization of a visual learning system for robot programming by demonstration. The leaning system employs a vision system for capturing tasks demonstrated by a human expert. The acquired demonstrated motions are processed and transferred into executable robot programs, which are utilized for reproduction of the demonstrated tasks by the robot learner.

Job Duties and Responsibilities

The candidate is expected to contribute to the project for visual robotic learning from human demonstrations. He/she will be expected to improve the existing system for visual learning developed in RMAL. The tasks include: modification of the current GUI for perception of human demonstrated motions and execution by a robot, and implementation of robust methods for trajectories generalization. A Microsoft Kinect sensor will be used for perception of demonstrated actions. The GUI is created in Visual Studio using C#, and uses Kinect libraries and OpenCV libraries. The candidate is expected to have knowledge of image features extraction and tracking, as well as knowledge of machine learning algorithms, which are going to be used for generalization of human motions. The ideal candidate should be highly motivated and dedicated to the project. He/she will be expected to work collaboratively with a postdoctoral fellow, and as a team, they will put efforts into commercialization of the developed software package for robotic visual learning.

Desired skills and experience

Qualifications Required

Minimum Qualifications Required:

  • Bachelor’s degree or a graduate degree in Computer Science
  • Minimum 3 years experience in programming with C++ or C#
  • Strong background in Machine Learning and Computer Vision
  • Ability to work independently, and in a team
  • Knowledge in Robotics will be considered as advantage

Additional Information:

  • The position will be for 8 months with the potential for extension, subject to satisfactory performance and availability of funding.
  • Anticipated starting date is as soon as possible.
  • Salary is competitive and depends on the previous experience of the candidate.
  • Preference will be given to Canadian residents.



Interested individuals please contact Professor Farrokh Sharifi ( by email with the SUBJECT: PROGRAMMER and provide the following documents:

  • Candidate’s CV and contact details
  • Contact information of three references
  • Academic transcripts

Posted 2017-03-02

Return to | Add a Job | Return to Category: Education