Robotic Arm With Computer Vision
Uses a webcam to track the position of objects
I wanted to learn more about computer vision and how robotic arms function so I decided to incorporate both ideas to make a robotic arm that recognizes objects by their colour with the use of an overhead webcam.
This robotic arm is controlled by an Arduino and a computer. The Arduino manages the motors and the computer takes care of the computer vision programmed in C++ with the OpenCV library. The computer takes snapshots with the webcam every 1.5 seconds and then passes this image matrix through various operations to find the object's position. It then compares subsequent image matrices to make sure the object is not moving (within a certain tolerance) to make sure the object has a fixed position to send to the Arduino. Once the object has a fixed position, I can map this position in the frame with a matching motor position. This information is then sent through Serial communication (USB) from the computer to the Arduino. The Arduino then sends the command to its motors and sends a signal back to let the computer know its action is completed and can proceed with another one.