TurtleBot: Navigation and Image Processing

  • Authors Marija Todosovska, Simon Hermann, Dajana Stojcevska
  • Research fields / Keywords Machine vision, Intelligent navigation, Robot navigation, Face detection, Face recognition
  • Publication year 2018
  • Publication CiiT

The problem of this project was to create a solution which would allow a TurtleBot to explore a bordered space under
specific circumstances. A TurtleBot is a low-cost, personal robot kit with open-source software. The problem was set as a bordered field in which there were a number of faces, rings and cylinders. The robot would explore the field, recognize the faces in it, find the rings and cylinders, and pick up the rings. It would talk with the people in order to infer information and perform specific tasks.

We used ROS and OpenCV for the solution to this problem. The robot scanned the field using the Kinect sensor and stored a map of it. We used the canny edge detector, and the k nearest neighbors algorithm provided by OpenCV, and vector transformations in order to approach objects on the field. We used the ViCos Lab face-detector for face detections. For the cylinder detection we used the Point cloud library and the RANSAC algorithm. We implemented the speech recognition using the Google recognition application. The general logic of our implementation can be split into two main parts: the search for faces, rings and cylinders, and the conversation with the people. We performed the integration of all these parts during runtime by calling specific scripts in a specific order.

The ring and cylinder detection was implemented well and worked correctly. All the faces were detected and recognized correctly, and the logic of the solution worked well and made the correct conclusions. Altogether, the solution performed well to the task, with the minor exception of not always picking up all rings.