This video shows how the robot operates acting as a pick and place machine.
In this article we will be making a pick and place machine based on a delta robot, this application a very common use for a delta robot in the industry. This project took me a bit of time to make and was very challenging, it involves:
- Mechanical design and feasibility check
- Prototyping and production of the mechanical structure and various parts
- Electrical design and wiring
- Software and GUI development
- Computer vision implementation for an automated robot (still need some help in this part)
The Mechanical Design :
Before I started making this third iteration of the robot, i designed it on fusion 360 and here’s the 3d Model, Plans and overview:
you can download the plans in PDF :
- 12 mm Rod Support Alu
- Arm With Joints
- Ball Top Attachment
- deltabot metal Drawing v1
- End Effector
- Metal Base
- Pulley 50
- Stepper Motor Mount Drawing
Download the 3d model assembly STEP file and export the needed 3d printable parts.
3D print the rod connection and the end effector. Use wood or steel for the base, I recommend CNC machining the base for the accuracy, the same applies for the arms, I chose to make them from alucobond 3mm thick aluminum sandwich sheets .
Next we have to work on the L shaped steel cuts or the stepper mounts, cut to 100mm length with mounting holes for the steppers(hint: you can make the holes wider to be able to tension the belt )
we need threaded 6mm Ø rods ,for the forearms connection 400mm in length, they should be cut then threaded or fixed to the ball joints I used a small jig to ensure they all have the same length it is crucial for the robot to be parallel.
12 mm Ø rods should be cut to 130mm in length to be used for the pivot axis for the 50mm Ø pulley.
Now that all the parts are ready, we can start assembling everything. Keep in mind you need some sort of support like the pink one I used to mount everything, better than what I did in the part2 video =D.
the pictures above and the video illustrate the electrical wiring of the different components, steppers, drivers, arduino, pneumatics and relays.
The main thing left is setting up GRBL, which we can get from the Github repository I used the 0.9 version but you can update to 1.1 (Link: https://github.com/grbl/grbl). Add the library to arduino IDE libraries folder and flash your arduino.
GRBL is running on our arduino,once you connect the arduino to your pc open the IDE and serial monitor to change the default values to match your robot configuration :
I used 50mm and 25mm pulley => 50/25 =1/2 reduction and 1/16th step resolution so 1° angle is 18 steps/°
when the robot is ready to receive gcode commands:
M3 & M4 ⇒ activate / deactivate Vacuum
X10 ⇒ move stepper X to 10°
X10Y20Z-30.6 ⇒ move stepper X to 10° & Y to 20° and Z to -30.6°
G4P2 ⇒ Wait for two seconds (delay)
At this point with any gcode sender you can make it repeat preconfigured tasks like picking & placing.
download demo gcode demo.txt that you can stream to the robot.
GUI and Image Processing:
my video explains the GUI, and goes through bits of the code & the interface starting from minute 8:30 :
The GUI is made with Visual Studio 2017 free community version, I tweaked the code from http://forums.trossenrobotics.com/tutorials/introduction-129/delta-robot-kinematics-3276/ for the kinematics calculations to determine its position. The EmguCV library for image processing and simple math to move the end effector to the position of bottle caps to pick them and place them is predefined position.
You can download the windows application to test with the robot from my github repository or all of the source code and help me build up on it as it needs more work and debugging.
Visit the repo ,check the issues or give new ideas. I ask for your contribution on the code and support.