Modern-day technology has revolutionized the way we work. All machines are now becoming autonomous. They are performing every task without the need for human efforts. Robots are used in factories to assemble, manufacture, pick and place parts, replace the components, and many more. In this Project, a robot is built that automatically detects an object around it and then moves towards it and recognizes the object's color. According to the given color the user picks, the robot picks it and brings it back to the user. This bot uses Arduino Uno, a microcontroller board based on the ATmega328P. To detect the object nearby, it uses the hc-sr04 ultrasonic sensor, and when the object is detected, it moves towards it and stops. Then it uses a color sensor TCS 3200, which recognizes the object's color and sends the information to Arduino, which decides whether to pick the object or not. For picking the object, MG995r Servo motor is used. The bot here can do task that generally requires image processing or high cost components; using only a microcontroller and few sensors this bot can be used in factories for assembling where specific colored products are manufactured like toy making companies. The bot's capabilities can be improved in the future by using more advanced components like raspberry pi and camera modules for image processing.
After doing all connections properly power on the robot. Working of the robot is described in following steps:-
Step 1:- Detection of object: When the bot is powered on, it starts to move in clockwise direction or in 360 degrees continuously. When ultrasonic sensor detects an object within the range, the sensor sends the data to Arduino and the robot stops rotating and starts to move towards the object. When the bot reaches close enough to the object it stops.
Step 2:- Detection of color: When the robot is near the object; the color sensor detects the frequency of the color reflected and if the range of the frequency is within the range of red/blue/green color that is specified by the user it will send the message to Arduino. If here the bot doesn't recognizes the specified color than it will go back to its original position. After some delay it will again starts its searching process.
Step 3:- Picking the object: Now if the right color is detected, arduino sends high value (1) data to servo motor pin which is attached to a robotic gripper, the motor rotates 180 degrees and therefore opening the gripper mouth. The bot moves little forward and grasp the object.
Step 4:- Placing the object: After grasping the object the bot moves back to its original location. Arduino again sends instruction to servo motor and gripper opens up. The bot keeps the object and take its position for searching the object again.
To run entire system Arduino IDE is used which can run on windows platform. The program is made on IDE and then it is compiled and burned into the Arduino Uno board. Procedure for writing program:-
Step 1:- First open the IDE and select your board like here, Arduino Uno is selected
Step 2:- Make sure you have selected right port for your Arduino in this case COM4 is selected.
Step 3:- Open a new sketch
Step 4:- Write your program inside sketch and save it.
Step 5:- Compile your program to see if there is any error.
Step 6:- After successful compilation run your program to see if it works on Arduino.
The robot can search objects within the range of the ultrasonic sensor. Hence, its accuracy is less for detecting an object. The color sensor used to detect color can only work if the bot is very close to the object, limiting the color sensing capabilities. Still, in the future, if a microprocessor like raspberry pi is used, then using a camera module, we can enhance the bot capabilities by computer vision or image processing. The bot then will be able to detect a colored object from long distances and also will be able to reach it without using ultrasonic sensors. We can also use computer vision to make robot place objects at a particular spot.