Multifunctional Robotic Arm
This robotic arm is powered by three open-loop stepper motors, which is programmed to rotate to specific degrees for precise movement. The body parts are 3D printed, and the robot is controlled using an ESP32-based development board. The grabber is adjustable and can be customized with either a suction cup or a manipulator, depending on the task requirements. The robot operates in three different modes, which are explained below.
Mode 1: Manual Web app-controlled mode
A web application has been developed using HTML and CSS, hosted on the ESP32 microcontroller. The ESP32, when connected to the internet, allows for the robotic arm to be controlled remotely from anywhere in the world. The web application features eight input forms. The first three forms gather input regarding the angles and speeds for the X, Y, and Z axes. The seventh section specifies the sequence of the robot's movements (e.g., "LRUDBF" for Left, Right, Up, Down, Forward, Back). The final section allows users to input the number of iterations for the specified sequence. This system is particularly beneficial in industries where pick-and-place requirements frequently change, as the robot can be easily reprogrammed without the need for coding
Mode 2: Autonomous mode
A camera is positioned above the robotic arm zone. The camera footage is transmitted to a laptop, where it undergoes processing using OpenCV to precisely determine the location of the colored object within the camera's field of view. Once the laptop identifies the object's location, it sends this data to an Arduino through the serial port. The Arduino receives the information from the laptop and instructs the three stepper motors responsible for movement along the X, Y, and Z axes, as well as the two servo motors controlling the grabber. Consequently, when the colored object is detected, the motors collaborate to move the robotic arm and successfully grasp the object.
Mode 3:
A DS4 console (PlayStation controller) is used to control the robot. Both the DS4 and the ESP32 support Bluetooth 5.0 or higher. This control is necessary because it is not possible to adjust the robot's position when the power is turned on, as the motors remain rigid during this time. Therefore, a manual method is required to adjust the robot's position.