Introduction: Automatic Robotic Arm Bartender Using Evive- Arduino Based Embedded Platform

About: STEMpedia is a place bringing project-making tools at one place- kits, online courses, coding platforms, controller app and tons of free learning resources.

Raise your hands if you love parties! But what if you’re the host? Let’s be honest, as much as we love having people over, taking care that everything is timely served and people have a great time is kind of a big deal. Though we may not be able to help you with most of the things, we can with one; or at least this project can! Come in the robotic arm bartender, your personal drinks serving robot! Just follow the instructions given to make and code it with PictoBlox- an advanced graphical programming software. You can download it from HERE.

So, what are you waiting for? Let’s get started!

Step 1: List of Required Materials

Hardware

  • evive
  • 3mm White Acrylic 200mm x 200mm sheet
  • 5mm White Acrylic 600mm x 250mm sheet
  • Micro Servo Motor with Accessories
  • Metal Servo Motor with Accessories
  • Submersible Water Pump
  • DC Terminal Block
  • Bearing
  • M3 bolts of 8mm, 20mm length
  • M2 bolts
  • M2 nuts
  • M3 nuts
  • M4 Lock Nuts
  • 15mm M3 (Male to Female)
  • 20mm M3(Female to Female)
  • Jumper Cables

Software

You can download the designs for the Acrylic Files.

Step 2: Understanding the Design

Before making the bartender, let’s first know what each acrylic part is. You can take them down the design of the acrylic part from the file given below.

  1. Inner Bearing Disc
  2. Bottom Outer Bearing Disc
  3. Middle Outer Bearing Disc x 2
  4. Top Outer Bearing Disc
  5. Triangular Junction Plate
  6. Left Lower Arm x 2
  7. Left Middle Arm
  8. Right Lower Arm
  9. Right Middle Arm
  10. Right Upper Arm x 2
  11. Left Upper Arm x 2
  12. Right/Left Rotational Servo Plate x 2
  13. Right/Left Side Servo Mounting Plate x 2
  14. Base Servo Motor Plate
  15. End-Effector Rotational Micro Servo Plate
  16. Robotic Arm Base
  17. Spacers
  18. Gripper Part-1
  19. Gripper Plate
  20. Gripper Part-2
  21. Gripper Link
  22. Gripper Claw-2
  23. Gripper Claw-1

Down the designs from the above step.

Step 3: Making of the Inner Bearing Assembly

Fix servo horn onto the inner bearing disc using self-threading M2 screws of 8mm length by aligning the holes on the inner bearing disc and the servo horn together. (Fig 1)

Once you have attached the servo horn, cut the notches of the screws. (Fig 2)

Now, attach four 70mm female-to-female(two 25mm male-to-male and one 20mm female-to-female) standoffs on the rest of the holes of the inner bearing disc using M3 bolts of 8mm length. (Fig 3)

Make sure to attach the standoffs on the other side of the servo horn.

Standoffs are used to provide height to our robotic arm assembly. Change the length as per your needs.

Step 4: Making the Outer Bearing Assembly

Attach the metal servo on the base servo motor plate using M4 nuts and bolts. (Fig 1)

Note: Before using the metal servo, set the angle to 90 degrees using evive’s firmware. Connect the metal servo to any of the servo channel given on evive. Switch ON evive, choose Controls, select Servos, select Servo channel (S1 or S2) and finally, set the servo angle to 90 degrees using the potentiometer.

Place the bearing on top of the bottom outer bearing disc. (Fig 2)

Then, place the two middle outer bearing disc onto the bottom outer bearing disc. (Fig 3,4)

Finally, put the top outer bearing discs onto the middle outer bearing disc. (Fig 5)

Note: Do not forget to align the holes on all the discs.

Next, fix the base servo motor plate on the top outer bearing disc and stack all of the discs together using M3 bolts of 25mm length and M3 nuts. (Fig 6, 7)

Attach the servo head to the servo horn attached to the inner bearing disc using the servo bolt. (Fig 8)

Step 5: Completing the Bearing Assembly

Finally, attach the inner bearing disc on the robotic arm base by attaching the female end of the standoffs in the center of it using M3 bolts of length 8mm. (Fig 1)

Note: Make sure that the servo head should always be close to the read end of the base servo motor plate.

Step 6: Assembly of the Left Lower Arm

Attach the metal servo to the left side servo mounting plate using M4 nuts and bolts. (Fig 1)

Note: Make sure that you set the servo angle to 90 degrees as done in the previous step using evive’s firmware. And the servo head should always point inwards.

Next, attach the servo horn to the left lower arm using the screws of 8mm length. (Fig 2)

Note: Make sure that the servo horn should be attached in such a way that curve of the left lower arm needs to be outwards.

Once again, cut the notches of the screws.

Next, fix the servo horn on the left metal servo head using the servo screw. (Fig 3)

Then, mount the left side servo mounting plate on the base servo motor plate using M3 bolts of 12mm length and M3 nuts. (Fig 4)

Now, fix the male side of 15mm male-to-female standoffs to the left lower arm using M3 nuts. And, connect the female side of those standoffs to the left lower arm-2 using M3 bolts of 12mm length (Fig 5, 6)

With this, your left lower arm is completed.

Step 7: Making the Right Side of the Robotic Arm

Attach the metal servo to the right side servo mounting plate using M4 nuts and bolts. Don’t forget to set the servo head to using evive’s firmware. (Fig 1)

Note: Make sure that the servo head points inwards.

Attach metal servo horn to the right lower arm using servo screw of 8mm length. (Fig 2)

Once done, cut the notches of the screw using the nose plier.

Finally, fix the servo horn on the servo head using the servo screw. (Fig 3)

Next, attach the right side servo mounting plate to the base servo motor plate using M3 bolts of 12mm length and M3 nuts. (Fig 4)

Now, attach two standoffs of length 50mm(25mm male-to-female + 25mm female-to-female) between the left and right side servo mounting plates using M3 bolts of 12mm length. This will keep both the mounting plates together. (Fig 5)

Step 8: Assembly the Middle Arms

Now, it’s time to fix the middle arms.

Fix the right lower arm to the right middle arm using M4 bolt and lock nut. (Fig 1)

Next, attach the left middle arm and attach it to the left side servo mounting plate using M4 bolt and lock nut. (Fig 2)

Step 9: Completing the Arms Assembly

Now, let’s complete the arms assembly.

Take the right upper arm and attach it to the right middle arm using M4 bolt and M4 lock nut.

Attach two M3 bolts of 20mm to the right upper arm in the holes given. Attach the 3D printed spacers to these bolts.

Note: Make sure to fix the spacers inside.

Next, fix the right upper arm-2 to the right upper arm at the spacers using M3 nuts to the M3 bolts that we have attached already. (Fig 1, 2, 3)

Attach the triangular junction plate to the left middle arm from the left-most hole using M4 bolts and M4 lock nut. (Fig 4)

Then, fix this triangular junction plate to the left lower arm and the right upper arm from the center hole using M4 bolts of 40mm length and nut. (Fig 5)

Finally, attach the left upper arm from the right-most hole on the triangular junction plate using M4 bolt and M4 lock nut. (Fig 6)

The triangular junction plate helps the most in the free movement of the robotic arm.

Step 10: Making the Rotational Servo Assembly

Fix the micro servo to the end-effector rotational micro servo plate using M2 nuts and bolts. (Fig 1)

Note: Before using the micro servo, set the servo angle to 90 degrees.

Simply fix the right rotational servo plate and the left rotational servo plate to the end-effector rotational micro servo plate. (Fig 2)

Finally, attach this sub-assembly of the rotational servo plates to the right upper arms using M4 bolt of length 20mm and M4 lock nut.

Lastly, fix the left upper arm to the left rotational servo plate from the free side on it using M4 bolt and M4 lock nut. (Fig 3)

Phew. Almost done, we just need to make the gripper assembly and fix it on the arm.

Step 11: Assembly of the Gripper

It's time to make the gripper assembly that will hold the ice in our case and drop them into the glasses. You can use the gripper for anything you want like lifting candies too. Let’s begin.

Attach the servo horn to the gripper plate using the servo screws. (Fig 1)

Next, attach the gripper plate on to the rotational micro servo head using the servo screw. (Fig 2)

Step 12: Assembly of the Gripper Claw

Fix the micro servo into the slot given on the gripper part 1 using M2 bolts of 8mm length and M2 nuts. (Fig 1)

Note: Do not forget to set the servo angle to 90 degrees using evive's firmware.

Fasten gripper link to the one-sided micro servo horn using a self-threading screw. Make sure that the protruded end of the servo horn should be facing the servo.

Bring together gripper link and one-sided micro servo horn and attach them to the servo head using servo screw.

Then, insert the M3 bolt of 12mm length to gripper claw 1. Hold the “gripper link and servo horn” assembly intact and then fix the gripper link 1 on to this bolt and fasten an M4 nut on the same. Make sure that the links are movable about the bolt but they also shouldn’t be too loose.

Fix the gripper claw 2 in the remaining hole of the gripper part 1 using M4 bolts of 16mm length in both these holes and fasten using M4 lock nuts. Again, make sure that claws aren’t too loose but are free to rotate about these bolts. (Fig 2)

Insert gripper plate into the thin slot provided on the gripper part 1. Note that this part is not symmetric and the small square slots are nearer to one end than to the other. Do insert this in the exact configuration

Fasten 15mm standoffs to the gripper plate using M3 bolts of 8mm length. Slide gripper part 2 (with a thin slit) onto the protrusion on gripper plate. Notice that gripper part 2 has holes 3mm in diameter so that threaded part of standoffs may pass through it. Fasten these parts using M3 nuts. (Fig 3, 4)

Yay! With this the assembly of the robotic arm is completed.

Step 13: Making the Connections

Make the connections as shown in the figure above or the text below:

Servos:

  • Base servo:
    • VCC (Red wire): 5V of evive
    • GND (Brown wire): GND of evive
    • Signal (Orange wire): Digital pin 2 of evive
  • Link 1/ Left servo:
    • VCC (Red wire): 5V of evive
    • GND (Brown wire): GND of evive
    • Signal (Orange wire): Digital pin 3 of evive
  • Link 2/ Right servo:
    • VCC (Red wire): 5V of evive
    • GND (Brown wire): GND of evive
    • Signal (Orange wire): Digital pin 4 of evive
  • Rotational servo:
    • VCC (Red wire): 5V of evive
    • GND(Brown wire): GND of evive
    • Signal (Orange wire): Digital pin 5 of evive
  • Gripper servo:
    • VCC (Red wire): 5V of evive
    • GND (Brown wire): GND of evive
    • Signal (Orange wire): Digital pin 6 of evive

Water Pump: M1 channel of evive

Step 14: Working of the Robotic Arm As Bartender

The arm will first pick the ice cube from the bowl, reach the coordinates of the first glass drop it. Again travels back to pick up the second ice cube, and again drops it into the first glass. Now, the entire process will be repeated for the other glass. You can change the number of ice cubes that the robotic arm will drop in each glass.

We first need to find out the X, Y, Z coordinates of the places where you want to place the glasses and ice bucket. You can find the coordinates with the help of the go to x (), y (), z () in () ms block.

You can try setting the coordinates in real time or stage mode. But before working in the stage mode upload its firmware by uploading the following code to evive.

Once coded, the robotic arm automatically reached the given place.

As we know, our robotic arm will even serve the ices in the glasses using the gripper. Thus, we will set the open and close gripper angle for each time the robotic arm reaches the ice bowl or the glasses. We will drop two ice cubes into each glass.

Once, the ice cubes are dropped, it’s time to serve the drink. We have submerged our submersible pump into a big jar filled with drinks. And have placed the pipe onto the robotic arm whose opening can be placed near the gripper. As soon as the ice cubes are dropped, the robotic arm again reaches to glass 1 and start the pump and offs the pump according to the duration set by us in the code. Now, it will fill the glass-2.

To fill the glasses, we need to find out how much time will the pump take to fill one glass. Once you get the time, turn on and off the pump for that duration (EX: In our case, the pump takes 7sec to fill each glass).

Note: you can change the number of ice cubes, glasses, and the duration to keep your pump ON. Thus, this is how our robotic arm will serve the drinks.

Step 15: Graphical Code

We can either write the code in PictoBlox, the graphical programming language or in Arduino.

The main block will initialize the entire process.

This block initializes all the servos.

This block drops the picked ice cubes into the glasses.

The block below is actually the one that lifts up the ice cube from the bowl.

This block helps the robotic arm travel from glass-2 to glass-1 and back to glass-2 and calls the function to control the submersible pump.

The block below is used to ON and OFF the submersible pump which will pour the liquid into the glasses.

Step 16: Arduino Code

Upload the following Arduino Code to evive:

Step 17: Conclusion

With this, your robotic arm bartender is all set to keep them chilled drinks comin’! ;)