A project log for Chaos Calmer Bot

Pneumatic robot that can mix, shake with ice and serve the world famous cocktail "Chaos Calmer" from openWRT for RoboExotica.

KennyAwesomeKennyAwesome 07/03/2020 at 17:240 Comments

Metric recipe for Chaos Calmer:

4,4cl gin, want to use quality gin like "The Duke" (external link)
0,74cl triple sec, might be replaced with hops-liquor by "Hopfa" (See external link)
2,2 cl lime juice
4,4cl orange juice
0,5cl grenadine

Total 12.24 cl

Is a usual serving at a bar from my experience. It is actually measured in volume but for my project I will need this recipe in grams, which we will do in the future with a syringe and a precision scale. I want to measure the bottles with the liquids constantly to be able to measure out the liquids and not running on empty, which can be a little bit fatal, because I want to pressurize the bottles (not too much) like a kegerator, in that way, I don't need the ugly and slow peristaltic motors.

I have once made a simple robot arm with just a dc motor and at the pivot point a potentiometer. This robot will get ice from a rotatable carrousel with dispensable cups (hopefully paper, since it has a flat bottom and more environmentally friendly) and everything will be controlled via mqtt on a raspberry pi and a 12v simple router (not running openWRT....yeah kinda defeats it's purpose). I chose mqtt because it is flexible and asynchronous and i love ESP8622, and I want to expland my knowledge with ESP32 this time, I hope it does not escalate too much. This approach keeps the option open to have a ESP or even nodeRed server on the raspberry to control the whole thing, which does not involve tiresome debugging. It decouples the application (making cocktail) from the firmware (controlling motors) which is a good practice, since my things are usually hardcoded, which is not a good practice.

I specifically chose one cocktail, because I wanted to focus on the reduction of human interaction, because I don't like babysitting robots. Makes me feel like a bad cog in a machine. I have been at roboexotica many times also as exhibitor, and you have to explain your robot everytime to everyone to sell your cocktail to finance back a little bit, because making robots is usually not cheap and I want to refund my travelling costs.

The idea for the cocktail shaker took me two years to come up: There is a stainless steel container with acrylic lid which is hinged. This hinge will be the middle point for some aluminum profile piece which is connected with a pneumatic cylinder. My hope is, that the pressure of the pneumatic cylinder is great enough to close it airtight but easy to open with the pneumatic cylinder. On the lid, there is a hole for stainless steel quick push. There will be only one hose and it will be connected to a manifold which is connected to the bottle of spirits and water. The bottles has air inlets with seperate electromagnetic valves, and i hope that the low pressure will be enough otherwise i have to put seperate flow regulators on each valve afterwards. Need to test. Currently I am not sure, whether i should open the valves seperately or at the same time.  

This shaker is mounted on the right arm which is pneumatic. It should be removable for cleaning. There will be a load cell on lower arm, not taking the full load like the openDog from Xrobots but mounted in parallel. My hope is, that through the maximal weight, an appropriate acceleration can be calibrated or maybe just a threshold. but definitely a interesting data to look at. Because shaking requires timing, which cannot be hardcoded, otherwise it won't shake well. Since pneumatics cannot be really well position controlled (possible but requires precise pressure difference controlling with some absolute measuring point) i would mount several hall sensors to also trigger the shaking motion. I am currently thinking whether I should use a AS5600 magnetic encoder or something to be able to control the motion more precisely.

It is my vice and virtue to pursuit beauty in motion and my ideal shaking technique is shaking up and down with one arm. You can find it in the link collection under "Shaking technique". I could have made it simpler, but it is a compromise i cannot make. It is the technique i used when I worked at the bar.

There is for me the so called "ice problem" (originally from Iron Man). Ice clumps together and melts and is difficult to dose and requires too much energy to make it on your own. Therefore I came up with the carrousel idea, where few glasses will be prefilled by humans and put it in there and through distance sensor, provides like a revolver the glassed to the robot. I will melt a bit but I hope that enough people will want the cocktail so it won't be a issue. Additionally, i thought about a sieve and the carousel will drop the ice into the cups. But i will let it open for future development, keep it simple stupid. It can notify when you are out of glasses. Will have a stepper motor and hallsensor to controll position. I am thinking about six of these. First prototype will be laser cut i guess.

To take the cup, pour the ice into the shaker and serve the cup to the final destination, a stepper motor controlled arm will be used, which is the left arm. This is where I am currently still thinking about. I would prefer, to have a shoulder motion with pneumatics on both arms, which would look more spectacular, but requires a lot of the left stepper arm. the alternative is keep the upper arms in parallel but raise one shoulder and lower other shoulder like a parallelogram. This is simpler, but doesnt look spectacular and requires wrist rotational movement. which can be tricky for the right arm, since will make the arm more unstable und not ridgit. And I am not sure whether i want a wrist suspended with springs to maximize the shaking effect. The left hand has a pneumatic suction cup to hold on to the cup while pouring the ice into the shaker.

This year I want to have a bank note acceptor. And if i have too much time, a nfc payment device. But first, I guess i will make a universal coin acceptor out of a ammunition case.

Finally, the head will be a pretty loud speaker, explaining and advertising itself, so I don't have to. I will have some kind of mqtt client which notifies me if there is any problem, kinda like a debug terminal. I would add vibraiton, because it will be pretty loud.


So in conclusion, there are the following parts for the project (breaking up a big project in small pieces will help with organizing minds and will be built in the numbered order for priorities.

1) Raspberry Pi with mqtt server (+ultra: node red)

2) Intelligent Compressor: I want to keep the pressure for the system small as possible, because it is my first project with pneumatics. It has a analog pressure sensor and 12v compressor. It will be loud, but yeah, i don't have the options i guess.

3) Shaker: It is kinda difficult so I have to try it first so I have more time to work on solutions.

4) Pneumatic right arm: Shaking motion with hopefully working shaker system

5) Bottle Dispenser: 6 bottles (5 ingredients, 1 Water for cleaning)

6) Carousel

7) Final Destination (it has to put the cup somewhere, where there is some explanation)

8) Explaining Head (with some servo motion and speaker, connected to RPi)

9) Money acceptor

10) MQTT Client Terminal, so i don't have to babysit