A possible improvement we can make is to combine the two image processing methods discussed in Software Design section. As mentioned above, we used the findContour() function that computes the dark gray area on an image in the automatic mode and matchTemplate() function that finds a list of locations where the image matches with the template image in the manual mode. However, we can possibly combine these two methods together to make a more robust shape detection function. The end result would be an algorithm that is able to find the correct target from pictures of different gray level as well as of different shapes. For example, if we have an fake target picture that has the same gray level but a different cat than the correct target picture. The improved algorithm would first compute the list of contours of the dark gray on the fake target picture. Since the area of the contour is greater than our threshold, the robot would stop to further exam the fake target. The next step in the improved algorithm would use the matchTemplate() function to get the list of matched locations between the fake target and the template image. But since the fake target has a different cat, the matched locations list would fail to meet the criteria for the matched images. Once the robot learns that the fake target actually does not match with the template image, it will continue moving forward to search for the correct target.

Another improvement we can do is to use Bluetooth speaker instead of the earphones we have used during our project demo. One problem we encountered is that the speaker we have in lab requires a power outlet and has long cord that would interfere with the robot movement. Therefore, we used earphones and turned up the music volume during our project demo. The music was not as clear and loud as we have expected. Therefore, a Bluetooth speaker would serve well for the music playback part of the project.

©2017 Mei Yang, Lisa (Jia Lin) Zhu
Layout ©Cornell University