Demo 2 – Block Moving Robot
This is Project 2 – Block Moving Robot that I have been working on with my partner, Eadom Dessalene. We are hoping we could make a robot manipulator that could reach a box and move it.
Basically, we are going to make a remote controlled robotic manipulator which can detect a simple plain colored object (red, green, blue) and can lift it up and move it to someplace else. First of all, we are making the servos as the “arm” to reach toward the boxes that are placed on the arena. A camera will be put on the “claw” part of the robot, which is the best place to detect the boxes. The movements of the base servos, which are to rotate the whole body of the robot, are controlled by our laptop, connected to Raspberry Pi using SSH Client-Server.
Here is the link to the source code on GitHub (for the blue-object tracker):
Servo mover on OpenCM:
https://github.com/alfredogotama/Demo2-Block-Moving-Robot/blob/master/videoTrackingopenCM.ino
Video Tracker on Raspberry Pi (using a Logitech Webcam):
https://github.com/alfredogotama/Demo2-Block-Moving-Robot/blob/master/videoTrackingRaspberryPi.py
Here is the final block diagram we have planned:
Here are the pictures of our mechanical design:
Crane’s arm
Claw
In the end, we do not need the color tracker algorithm. We just send the video from Raspberry Pi to our laptop (client) through UDP communication. The codes can be accessed here:
https://github.com/alfredogotama/Demo2-Block-Moving-Robot
For Controlling the Crane, we made the algorithm to command the movements of the servos using keyboard on our laptop, basically in the form of letters “a” through “j”, and we added “r” and “s” for the movement of our base rotator servo. The codes can be accessed here:
https://github.com/alfredogotama/Demo2-Block-Moving-Robot/blob/master/ControllerClient.py
https://github.com/alfredogotama/Demo2-Block-Moving-Robot/blob/master/ControllerServer.py
Here is the final picture of our robot: